@import url('https://fonts.googleapis.com/css2?family=DotGothic16&family=Noto+Sans+SC:wght@400;600;700;900&display=swap');
:root{--ink:#30252f;--paper:#fff9ef;--pink:#f29aaa;--pink2:#ffd5dc;--mint:#99dcc5;--cream:#ffe7a5;--blue:#4f7ba0;--line:#433641;--pixel:'DotGothic16','Noto Sans SC',sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);font-family:'Noto Sans SC',sans-serif;color:var(--line);touch-action:none}button,a,input,select,textarea{font:inherit}button{color:inherit}#app,#game{position:absolute;inset:0;width:100%;height:100%}#game{display:block;background:#30252f}.screen-noise{position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:100% 4px}.hidden{display:none!important}
#hud{position:absolute;z-index:10;left:0;right:0;top:0;display:grid;grid-template-columns:1fr minmax(120px,360px) 1fr;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top) + 10px) 14px 10px;pointer-events:none}.hud-group{display:flex;gap:8px}.hud-group.right{justify-content:flex-end}.hud-chip,#panic{border:2px solid var(--line);background:var(--paper);box-shadow:3px 3px 0 var(--line);padding:6px 9px;font-family:var(--pixel);font-size:.76rem;white-space:nowrap}.xp-wrap{height:14px;border:2px solid var(--line);background:var(--paper);padding:2px}.xp-wrap div{height:100%;width:0;background:var(--pink)}#panic{pointer-events:auto;background:var(--cream);font-weight:700;cursor:pointer}.boss-hud{position:absolute;z-index:9;top:calc(env(safe-area-inset-top) + 62px);left:50%;width:min(360px,70vw);transform:translateX(-50%);text-align:center;color:var(--paper);font-family:var(--pixel);font-size:.72rem}.boss-hud div{height:14px;border:2px solid var(--line);background:var(--paper);margin-top:5px}.boss-hud i{display:block;width:100%;height:100%;background:var(--pink)}
#touchControls{position:absolute;z-index:12;inset:0;pointer-events:none}#joystick{position:absolute;left:22px;bottom:calc(env(safe-area-inset-bottom) + 25px);width:128px;height:128px;border:3px solid rgba(67,54,65,.75);background:rgba(255,249,239,.25);box-shadow:5px 5px 0 rgba(67,54,65,.55);pointer-events:auto;touch-action:none}#stick{position:absolute;left:37px;top:37px;width:50px;height:50px;border:3px solid var(--line);background:var(--mint);box-shadow:3px 3px 0 var(--line)}#dash{position:absolute;right:25px;bottom:calc(env(safe-area-inset-bottom) + 38px);width:92px;height:92px;border:3px solid var(--line);border-radius:0;background:var(--pink);box-shadow:5px 5px 0 var(--line);font-family:var(--pixel);font-weight:700;pointer-events:auto;touch-action:manipulation}#dash span,#dash small{display:block}#dash small{font-size:.58rem;margin-top:4px}#dash.cooling{filter:grayscale(.5);opacity:.7}
.overlay{position:absolute;z-index:30;inset:0;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(48,37,47,.78);backdrop-filter:blur(7px);overflow:auto;touch-action:auto}.overlay.show{display:flex}.panel{position:relative;width:min(470px,100%);border:3px solid var(--line);background:var(--paper);box-shadow:10px 10px 0 var(--line);padding:clamp(24px,5vw,40px);text-align:center}.wide-panel{width:min(850px,100%)}.menu-panel{text-align:left}.back-link,.text-link{font-family:var(--pixel);font-size:.75rem}.kicker{margin:18px 0 4px;color:#cf6e81;font-family:var(--pixel);font-size:.72rem;letter-spacing:.16em}.panel h1{margin:4px 0 18px;font-family:var(--pixel);font-size:clamp(3.2rem,10vw,5.8rem);line-height:.88;text-shadow:4px 4px 0 var(--pink2)}.panel h1 span{color:#cf6e81}.panel h2{margin:6px 0 20px;font-size:clamp(1.8rem,5vw,2.8rem)}.intro{color:#6e626d;line-height:1.8}.menu-stats,.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0}.menu-stats span,.result-grid span{border:2px solid var(--line);background:var(--pink2);padding:10px;font-size:.8rem}.menu-stats b,.result-grid b{display:block;font-family:var(--pixel);font-size:1.2rem}.menu-actions{display:flex;gap:12px;margin-top:20px}.pixel-btn{flex:1;min-height:50px;border:2px solid var(--line);background:var(--mint);box-shadow:4px 4px 0 var(--line);font-family:var(--pixel);font-weight:700;cursor:pointer}.pixel-btn.primary{background:var(--pink)}.pixel-btn:hover,.pixel-btn:focus-visible,.choice:hover,.shop-item button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--line);outline:0}.controls-note{text-align:center;color:#857984;font-size:.7rem;margin:20px 0 0}.result-grid{grid-template-columns:repeat(3,1fr)}.result-grid span{background:var(--cream)}.text-link{display:inline-block;margin-top:22px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.choice{min-height:180px;border:2px solid var(--line);background:var(--pink2);box-shadow:5px 5px 0 var(--line);padding:20px;cursor:pointer;text-align:left;transition:.12s}.choice:nth-child(2){background:#d0eee3}.choice:nth-child(3){background:#fff0c4}.choice i{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--line);background:var(--paper);font-style:normal;font-size:1.4rem}.choice h3{margin:14px 0 6px}.choice p{margin:0;color:#6f636d;font-size:.84rem}.shop-panel>p{color:#726672}.close-btn{position:absolute;right:12px;top:12px;width:38px;height:38px;border:2px solid var(--line);background:var(--pink2);font-size:1.4rem;cursor:pointer}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.shop-item{border:2px solid var(--line);background:#fff6dc;padding:16px;text-align:left}.shop-item header{display:flex;gap:12px;align-items:center}.shop-item i{font-style:normal;font-size:1.5rem}.shop-item h3{margin:0}.shop-item p{font-size:.78rem;color:#716671}.shop-item button{width:100%;border:2px solid var(--line);background:var(--mint);box-shadow:3px 3px 0 var(--line);padding:8px;font-family:var(--pixel);cursor:pointer}.shop-item button:disabled{filter:grayscale(1);opacity:.55;cursor:not-allowed}
.work-screen{position:absolute;z-index:100;inset:0;display:none;overflow:auto;background:#eef2f6;color:#202630;padding:calc(env(safe-area-inset-top) + 18px) 16px calc(env(safe-area-inset-bottom) + 20px);touch-action:auto}.work-screen.show{display:block}.work-card{max-width:700px;margin:auto;background:white;border:1px solid #d6dce5;border-radius:12px;padding:22px;box-shadow:0 16px 50px rgba(25,34,48,.12)}.work-head{display:flex;justify-content:space-between;border-bottom:1px solid #e2e7ee;margin-bottom:18px}.work-head h2{margin:0}.work-head p{color:#6a7483}.work-head span{color:#18875c;font-size:.72rem}.work-card label{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px;margin:12px 0}.work-card input,.work-card select,.work-card textarea{width:100%;border:1px solid #cfd6e0;border-radius:7px;padding:10px;background:#fff}.work-card textarea{height:120px;resize:vertical}.work-card button{width:100%;border:0;border-radius:7px;background:#2964d7;color:#fff;padding:12px;font-weight:700}
@media(pointer:fine){#touchControls{display:none!important}}@media(max-width:700px){#hud{grid-template-columns:1fr 1fr}.xp-wrap{position:absolute;left:15px;right:15px;top:calc(env(safe-area-inset-top) + 51px)}.hud-group.right .hud-chip{display:none}.boss-hud{top:calc(env(safe-area-inset-top) + 73px)}.panel{padding:24px;box-shadow:6px 6px 0 var(--line)}.choice-grid,.shop-grid{grid-template-columns:1fr}.choice{min-height:130px}.result-grid{grid-template-columns:1fr 1fr}.menu-actions{flex-direction:column}.work-card label{grid-template-columns:1fr;gap:4px}}
@media(max-height:620px) and (orientation:landscape){.menu-panel{width:min(760px,95%);display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.menu-panel .back-link,.menu-panel .kicker,.menu-panel h1{grid-column:1}.menu-panel .intro,.menu-panel .menu-stats,.menu-panel .menu-actions,.menu-panel .controls-note{grid-column:2}.menu-panel .intro{grid-row:1/3;margin-top:25px}.menu-panel h1{font-size:3.5rem}.controls-note{display:none}#joystick{width:100px;height:100px}#stick{left:28px;top:28px;width:42px;height:42px}#dash{width:75px;height:75px}}
@media(prefers-reduced-motion:reduce){.screen-noise{display:none}}
