:root{color-scheme:dark;--ink:#f4ecda;--gold:#e6bf75;--teal:#75d4bd}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101b21;color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #e7d9b442;background:#152b33ae;border-radius:3px;padding:11px 18px;touch-action:none}button:hover{background:#395052}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:active,button.pressed{background:#58716e;transform:translateY(1px)}[hidden]{display:none!important}#stage{position:relative;width:100%;height:100%;isolation:isolate}#world{display:block;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0c1d2b99 0%,transparent 58%),linear-gradient(0deg,#0d222cac,transparent 25%,transparent 75%,#10212b66)}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px 35px;z-index:6}#hub{color:#eee2c7;text-decoration:none;font-size:12px;letter-spacing:.05em}.wordmark{font-size:10px;letter-spacing:.28em;color:#f0e6ceb3}header button{font-size:11px;padding:8px 12px}.title{position:absolute;left:7%;top:25%;max-width:560px;pointer-events:none}.title button{pointer-events:auto}.eyebrow{font-size:9px;letter-spacing:.27em;color:var(--gold);margin-bottom:23px}h1{font-family:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:400;font-size:clamp(44px,6.3vw,85px);letter-spacing:.14em;line-height:1.1;margin:0 0 10px;text-shadow:0 2px 40px #132934}.english{letter-spacing:.4em;font-size:12px;margin:0;color:#e3d8bf}.rule{width:47px;height:1px;background:var(--gold);margin:27px 0}.intro{font-size:14px;line-height:2;letter-spacing:.11em;color:#e5e7df}.primary{background:var(--gold);color:#172c32;border:0;font-weight:700;min-width:210px;padding:15px 25px;margin-top:20px;letter-spacing:.1em}.primary:hover{background:#f7db9f}.primary span{float:right;margin-left:25px}.start-hint{font-size:9px;letter-spacing:.1em;opacity:.65;margin-top:12px}.title-controls{font-size:10px;line-height:2;color:#c1d7d5;margin-top:30px}#demo-caption{position:absolute;bottom:10%;right:5%;text-align:right;font-size:12px;letter-spacing:.1em;max-width:45%}#demo-caption span{display:block;font-size:8px;letter-spacing:.35em;color:var(--gold);margin-bottom:13px}#demo-caption b{font-weight:400}footer{position:absolute;bottom:22px;left:35px;right:35px;font-size:8px;letter-spacing:.17em;color:#bccbc4;display:flex;justify-content:space-between;pointer-events:none}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#132934;z-index:5;font-size:19px;letter-spacing:.15em}#loading small{font-size:10px;opacity:.6;margin-top:15px}.mission{position:absolute;top:105px;left:35px}.mission small{font-size:9px;letter-spacing:.18em;color:var(--gold)}#seal-count{font-family:Georgia,'Yu Mincho',serif;font-size:24px;margin:10px 0}#seal-dots{display:flex;gap:8px}#seal-dots i{width:32px;height:4px;background:#73cbb1}#seal-dots i.done{background:#f0c578}.vitals{position:absolute;left:35px;bottom:78px;width:210px}label{font-size:10px;display:flex;justify-content:space-between;margin:10px 0 6px;letter-spacing:.1em}label b{font-weight:400}.meter{height:5px;background:#16292cbc;border-radius:5px;overflow:hidden}.meter i{height:100%;display:block;background:var(--gold);transition:width .1s linear}.health i{background:var(--teal)}#altitude{font-size:10px;letter-spacing:.1em;color:#c8dcd5;margin-top:12px}#hint{position:absolute;bottom:75px;left:32%;right:25%;text-align:center;font-size:12px;line-height:1.7;text-shadow:0 2px 5px #000}#warning{position:absolute;top:20%;left:50%;transform:translateX(-50%);background:#783e2ee8;border:1px solid #f4b29288;padding:12px 22px;color:#fff1d4;text-align:center;white-space:nowrap;font-size:18px}#warning small{display:block;font-size:11px;margin-top:6px}#charge{position:absolute;bottom:130px;left:50%;transform:translateX(-50%);width:210px;text-align:center}#charge small{display:block;font-size:10px;margin-bottom:8px}.overlay{position:absolute;inset:0;background:#10252caa;backdrop-filter:blur(7px);z-index:8;display:flex;align-items:center;justify-content:center;text-align:center}.overlay>div{max-width:530px;padding:30px}.overlay small{color:var(--gold);letter-spacing:.3em;font-size:10px}.overlay h2{font-family:Georgia,'Yu Mincho',serif;font-size:44px;font-weight:400;letter-spacing:.12em;margin:18px 0}.overlay p{font-size:13px;line-height:2;white-space:pre-line}.overlay button{display:block;margin:15px auto 0;min-width:210px}#touch{position:absolute;bottom:30px;left:25px;right:25px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;z-index:4}#touch button{pointer-events:auto;user-select:none;-webkit-user-select:none;border-color:#e5dfc53b;background:#112c36a6}#touch button.pressed{background:#8faaa277}#dpad{width:150px;height:140px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px}#dpad button{padding:0;font-size:17px}.up{grid-area:1/2}.left{grid-area:2/1}.down{grid-area:3/2}.right{grid-area:2/3}.actions{display:flex;gap:10px;align-items:flex-end}.actions button{border-radius:50%;padding:0;width:70px;height:70px;font-size:14px}.actions .attack{width:90px;height:90px;border-color:#e6bf7588}.actions .drop{width:46px;height:46px;font-size:10px}.actions small{display:block;font-size:7px;margin-top:4px}.playing .vignette{background:linear-gradient(0deg,#10252ca6,transparent 35%,transparent 65%,#10252c66)}@media(pointer:coarse){.playing .vitals{bottom:190px;left:25px;width:150px}.playing #hint{bottom:200px;left:25%;right:20%;font-size:11px}.playing #charge{bottom:240px}.playing footer{display:none}}@media(max-width:700px){header{padding:17px}.wordmark{display:none}.title{left:7%;top:25%;max-width:75%}.eyebrow{font-size:7px;letter-spacing:.15em}h1{font-size:49px}.intro{font-size:12px}.title-controls{margin-top:15px;font-size:9px}#demo-caption{bottom:11%;font-size:10px;max-width:55%}footer{left:17px;right:17px;font-size:6px}footer span{display:none}.mission{top:75px;left:20px}.mission small{font-size:7px}#seal-count{font-size:20px}.vitals{left:20px;width:140px}.overlay h2{font-size:34px}#touch{left:14px;right:14px;bottom:20px}#dpad{width:126px;height:126px}.actions{gap:5px}.actions button{width:58px;height:58px}.actions .attack{width:75px;height:75px}}@media(max-height:520px){header{padding:12px 20px}.title{top:18%;left:6%}.eyebrow{margin-bottom:12px}h1{font-size:43px}.english{font-size:9px}.rule{margin:14px 0}.intro{font-size:11px;line-height:1.7}.primary{margin-top:8px;padding:11px 20px}.title-controls{display:none}.start-hint{font-size:8px}footer{bottom:12px}.mission{top:65px}.vitals{bottom:35px}.playing .vitals{bottom:165px;width:120px}.playing #hint{bottom:30px;left:29%;right:29%;font-size:10px}.playing #charge{bottom:83px}#touch{bottom:15px}#dpad{width:120px;height:120px}.actions .attack{width:76px;height:76px}#warning{top:19%;font-size:13px}}

.touch-mode.playing .vitals{bottom:190px;left:25px;width:150px}.touch-mode.playing #hint{bottom:200px;left:25%;right:20%;font-size:11px}.touch-mode.playing #charge{bottom:240px}.touch-mode.playing footer{display:none}@media(max-height:520px){.touch-mode.playing .vitals{bottom:165px;width:120px}.touch-mode.playing #hint{bottom:30px;left:29%;right:29%;font-size:10px}.touch-mode.playing #charge{bottom:83px}}

.mission,.vitals{background:#112a35a6;border-left:2px solid #d9b67275;padding:12px 15px;backdrop-filter:blur(3px)}.vitals{width:235px}#hint{background:#132c3375;padding:7px 12px;border-radius:3px}.touch-mode.playing .vitals{width:170px}@media(max-width:700px){.mission{padding:9px 12px}.vitals{width:160px}.touch-mode.playing .vitals{width:150px}}
@media(max-height:520px){.mission{top:54px;left:20px;padding:8px 12px}.mission small{font-size:8px}#seal-count{font-size:18px;margin:4px 0}#seal-dots{display:none}.vitals,.touch-mode.playing .vitals{top:126px;bottom:auto;width:150px;padding:8px 12px}.vitals label{margin:5px 0}.vitals #altitude{margin:8px 0 0;font-size:9px}}
