:root{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",system-ui,sans-serif;color:#f2fff4;background:#092e39;font-synthesis:none;--mint:#baffb0;--ink:#133e41;--sun:#ffdc75}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,canvas:focus-visible{outline:3px solid #ffdf80;outline-offset:4px}button{border:0}button:disabled{cursor:default}button:hover{filter:brightness(1.09)}[hidden]{display:none!important}#game-shell{width:min(1480px,100%);padding:20px 30px 0;margin:auto;min-height:100svh;display:flex;flex-direction:column;justify-content:center}.topbar{height:55px;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-size:18px;font-weight:900;letter-spacing:.05em;display:flex;align-items:center;gap:10px}.brand-mark{color:#8be5b1;font-size:24px}.edition{font-size:12px;font-weight:500;letter-spacing:.15em;color:#98c6c4;border-left:1px solid #507577;padding-left:13px;margin-left:5px}.top-actions{display:flex;gap:7px}.icon-btn{background:#ffffff0b;border:1px solid #ffffff16;border-radius:12px;color:#dcfff2;height:38px;min-width:42px;font-size:21px;display:inline-flex;align-items:center;justify-content:center;gap:5px}.icon-btn span{font-size:10px}#stage{position:relative;isolation:isolate;aspect-ratio:16/9;max-height:calc(100svh - 132px);width:100%;align-self:center;background:#19605c;border-radius:21px;overflow:hidden;border:1px solid #ffffff22;box-shadow:0 20px 55px #001e2866}canvas{width:100%;height:100%;display:block;outline:none;touch-action:none;object-fit:contain}.hud{position:absolute;inset:26px 28px auto;display:flex;justify-content:space-between;pointer-events:none;text-shadow:0 2px 8px #194a59}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;color:#d2f6d7}.room-title{font-size:25px;font-weight:900;letter-spacing:.03em;margin-top:4px}.vitals{text-align:right}#hearts{font-size:24px;color:#ffefc9;letter-spacing:3px}.collection{font-size:14px;margin-top:4px;display:flex;gap:10px;align-items:center;justify-content:end}.seed-symbol{color:#ffdf78;font-size:19px}.divider{opacity:.4}.objective{position:absolute;left:28px;top:107px;padding:10px 14px;border:1px solid #e6ffc027;background:#163d4669;backdrop-filter:blur(8px);border-radius:100px;font-size:13px;display:flex;align-items:center;gap:8px;max-width:65%}.objective-dot{width:6px;height:6px;border-radius:50%;background:#e5fa98}.screen{position:absolute;inset:0;z-index:5}.start-screen{display:flex;align-items:center;background:linear-gradient(90deg,#0d3d50e6 0%,#114854ca 35%,#1456570c 78%)}.start-copy{padding:30px 6%;max-width:57%}.chapter-tag{font-size:12px;font-weight:800;letter-spacing:.19em;color:#c8f7c2}h1{font-size:clamp(40px,6.3vw,87px);font-weight:950;line-height:1.13;letter-spacing:.03em;margin:19px 0 16px;text-shadow:0 5px 0 #10384430}h1 span{color:#dbffb6}p{line-height:1.9}.start-copy p{font-size:16px;color:#def5e6;line-height:1.9;margin-bottom:24px}.primary-btn{background:#ffe086;color:#173f40;border-radius:14px;padding:16px 23px;font-weight:900;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:35px;box-shadow:0 5px 0 #ae803f66}.primary-btn:active{transform:translateY(2px);box-shadow:0 3px 0 #ae803f66}.primary-btn span{font-size:13px}.text-btn{display:block;background:none;color:#cae7dc;padding:14px 4px;text-decoration:underline;text-underline-offset:5px;font-size:14px}.start-note{font-size:12px;color:#b1d8ce;line-height:1.8;margin-top:19px}.title-stamp{position:absolute;right:38px;bottom:105px;text-align:right;font-size:12px;letter-spacing:.24em;color:#e3f8dd99}.title-stamp b{display:block;font-size:17px}.title-stamp span{display:block;font-size:33px;color:#e6eea4;margin-top:8px}.ability-bar{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);display:flex;gap:7px;background:#0a3545bf;padding:7px;border:1px solid #c5efd629;backdrop-filter:blur(15px);border-radius:18px;z-index:2}.ability{display:flex;gap:8px;align-items:center;justify-content:center;background:transparent;color:#bee4d8;min-width:107px;padding:8px 10px;border-radius:11px;border:1px solid transparent;transition:background .15s}.ability.active{background:#d4ffc7;color:#193d3d;box-shadow:0 1px 8px #c2ffc535}.ability.locked{opacity:.35}.form-icon{font-size:25px;line-height:1}.ability>span:last-child{font-size:12px;font-weight:800;white-space:nowrap}.ability small{display:block;font-size:10px;margin-top:2px;opacity:.65}.help-strip{min-height:49px;display:flex;gap:21px;align-items:center;color:#96bbb9;font-size:12px;flex-wrap:wrap;padding:10px 3px}kbd{font-family:inherit;border:1px solid #698d8a59;background:#ffffff05;color:#bfdacf;border-radius:4px;padding:2px 5px;margin-right:3px;font-size:11px}.save-status{margin-left:auto;color:#739e9d;font-size:11px}.toast{position:absolute;left:50%;top:26%;transform:translate(-50%,-10px);background:#f8ffeb;color:#173d3c;box-shadow:0 6px 30px #08333538;padding:17px 23px;max-width:80%;width:max-content;border-radius:18px;font-size:16px;font-weight:800;opacity:0;pointer-events:none;transition:.2s;z-index:8;text-align:center;line-height:1.7}.toast.show{opacity:1;transform:translate(-50%,0)}.context-hint{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);background:#0b3845c9;padding:9px 18px;border-radius:12px;font-size:14px;text-align:center;pointer-events:none;max-width:90%;white-space:pre-line}.context-hint:empty{display:none}.touch-controls{display:none;justify-content:space-between;padding:9px 15px;gap:15px}.touch-move,.touch-act{display:flex;align-items:center;gap:9px}.touch-controls button{touch-action:none;user-select:none;background:#ffffff14;border:1px solid #bce9d62b;color:#e1ffee;border-radius:20px;width:62px;height:57px;font-weight:800;font-size:18px}.touch-controls .touch-jump{width:82px;background:#d4ffc7;color:#153f41;font-size:14px}.touch-controls [data-hold=action]{width:78px;font-size:12px}.touch-controls button.pressed{background:#fbe98b;color:#123939}.finish-screen{display:grid;place-items:center;background:#0d3b4299;backdrop-filter:blur(7px)}.finish-card{text-align:center;background:#163f46ee;border:1px solid #d1f6bf4d;padding:35px;border-radius:25px;max-width:85%;box-shadow:0 15px 80px #002e4266}.finish-card h2{font-size:38px;color:#dbffb6;margin:13px 0}.finish-card p{font-size:15px}.finish-card #finish-stats{color:#ffe496;margin:22px 0;font-size:17px}.finish-card .primary-btn{gap:15px}dialog{background:#123e48;color:#ecffee;border:1px solid #7dcbb86b;border-radius:22px;width:min(620px,92vw);padding:28px;box-shadow:0 30px 100px #00151cc9;max-height:90svh}dialog::backdrop{background:#052934b3;backdrop-filter:blur(7px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-heading h2{margin:5px 0 0;font-size:26px}.dialog-heading .icon-btn{font-size:28px}.muted{font-size:13px;color:#9dbfba;line-height:1.8}.setting{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff12;padding:20px 0;font-size:15px;gap:15px}.setting small{display:block;font-size:12px;color:#9dc1b9;margin-top:6px}.setting input{accent-color:#b6ed9d;width:21px;height:21px}.secondary-btn{background:#ffffff0b;border:1px solid #a1d3bf55;color:#e6ffde;border-radius:12px;padding:13px 18px;font-size:15px;margin-top:17px}.dialog-buttons{display:flex;justify-content:flex-end;gap:13px;align-items:center}.dialog-buttons button{margin:0}.map-legend{font-size:13px}.current-dot{display:inline-block;width:8px;height:8px;background:#ffdc75;border-radius:50%}#map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 20px}.map-room{padding:15px 7px;background:#ffffff08;border:1px solid #8cc0ab33;border-radius:10px;min-height:68px;font-size:12px;color:#a6c7c0;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:5px}.map-room.current{background:#cfffba;color:#153a3b;border-color:#efffb4}.map-room.unvisited{color:#597f7d;background:#001f2a33}.map-room b{font-size:15px}body.title-open .hud,body.title-open .objective,body.title-open .ability-bar{visibility:hidden}@media(max-width:1000px){#game-shell{padding:8px 14px 0}.help-strip{gap:12px}.edition{display:none}.hud{inset:18px 20px auto}.room-title{font-size:21px}.objective{left:20px;top:84px;font-size:12px}.ability{min-width:85px}.ability-bar{bottom:12px}.context-hint{bottom:88px}.start-copy{padding:20px 5%}.start-copy p{margin:13px 0;font-size:14px}.start-note{margin-top:13px}.title-stamp{bottom:85px}}@media(pointer:coarse),(max-height:600px){.touch-controls{display:flex}.help-strip{display:none}#stage{max-height:calc(100svh - 134px)}#game-shell{padding:0 12px;min-height:100svh}.topbar{height:43px}.icon-btn{height:32px;min-width:36px;font-size:18px}.brand{font-size:15px}.touch-controls{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.touch-controls button{height:48px;width:58px}.start-note{display:none}.ability{min-width:70px;padding:5px 7px;gap:5px}.ability-bar{padding:4px;gap:3px;bottom:8px}.ability>span:last-child{font-size:11px}.ability small{display:none}.form-icon{font-size:20px}.hud{inset:13px 17px auto}.room-title{font-size:18px}.eyebrow{font-size:10px}#hearts{font-size:18px}.collection{font-size:11px}.objective{top:64px;font-size:11px;padding:6px 10px}.context-hint{bottom:58px;font-size:12px;padding:7px 12px}.start-copy h1{font-size:clamp(30px,5vw,55px);margin:10px 0}.start-copy p{font-size:12px}.chapter-tag{font-size:10px}.primary-btn{padding:12px 18px;font-size:14px}.title-stamp{font-size:10px;right:25px;bottom:50px}.title-stamp b{font-size:13px}.toast{font-size:13px;padding:12px 16px}.finish-card{padding:18px}.finish-card h2{font-size:27px}.finish-card p{font-size:13px}}@media(max-width:600px) and (orientation:portrait){#game-shell{justify-content:center;padding:8px}.topbar{margin-bottom:12px}.brand{font-size:15px}#stage{aspect-ratio:16/10;max-height:none;border-radius:14px}.touch-controls{display:flex;padding:22px 8px}.touch-controls button{height:62px;width:57px}.touch-controls .touch-jump{height:72px;width:78px}.hud{inset:9px 11px auto}.room-title{font-size:14px}.objective{top:52px;max-width:78%;font-size:10px}.collection{font-size:10px;gap:5px}#hearts{font-size:14px;letter-spacing:1px}.ability-bar{bottom:6px;gap:0;max-width:95%}.ability{min-width:58px;padding:5px}.ability>span:last-child{font-size:9px}.form-icon{font-size:17px}.start-copy{max-width:75%;padding:15px 6%}.start-copy h1{font-size:34px;margin:9px 0}.start-copy p{font-size:11px;line-height:1.6;margin:7px 0 11px}.chapter-tag{font-size:8px}.start-copy .primary-btn{font-size:12px;padding:10px 15px;gap:13px}.title-stamp{right:18px;bottom:27px;font-size:8px}.title-stamp b{font-size:10px}.title-stamp span{font-size:20px}.context-hint{bottom:45px;font-size:11px}.toast{font-size:12px;max-width:92%;top:22%}.finish-card h2{font-size:23px}.finish-card p{font-size:12px}.finish-card #finish-stats{font-size:14px;margin:12px 0}.finish-card .chapter-tag{font-size:10px}.finish-card .primary-btn{font-size:12px}dialog{padding:20px}.help-strip{display:none}}
