:root{color-scheme:dark;--ink:#26182c;--paper:#fff6e4;--yellow:#ffd652;--line:#584061;--muted:#beacc8}
*{box-sizing:border-box}body{margin:0;background:#1c1222;color:var(--paper);font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
main{max-width:1200px;margin:auto;padding:12px 20px 20px}header{display:flex;align-items:center;gap:24px;min-height:54px;margin-bottom:10px}a{color:var(--muted);text-underline-offset:4px}a:hover{color:var(--yellow)}.back{text-decoration:none}.wordmark{font-weight:900;letter-spacing:3px;font-size:20px}.wordmark span{color:var(--yellow)}.tools{margin-left:auto;display:flex;gap:8px}
button{font:700 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--paper);border:2px solid var(--line);border-bottom-width:4px;background:#392440;border-radius:5px;padding:9px 13px;cursor:pointer;touch-action:none;user-select:none}button:hover{border-color:var(--yellow)}button:active,button.held{transform:translateY(2px);border-bottom-width:2px;background:#594063}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
#game{width:100%;max-width:calc((100svh - 180px)*16/9);margin:auto}#stage{position:relative;width:100%;aspect-ratio:16/9;background:#26182c;box-shadow:0 0 0 3px #584061,0 9px 0 #100a14;border-radius:2px;overflow:hidden}canvas{display:block;width:100%!important;height:100%!important;image-rendering:pixelated;touch-action:none;outline:none}canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--yellow)}canvas.running{cursor:none}#loading,#start-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;background:#26182ce8;padding:16px}#loading[hidden],#start-screen[hidden]{display:none}.bolt{font-size:70px;color:var(--yellow)}#load-detail{font-size:12px;color:var(--muted)}#start-screen{background:#26182c80;backdrop-filter:blur(2px)}#start{font-size:18px;background:var(--yellow);color:var(--ink);border-color:#b68b2d;padding:16px 27px}#start-screen p{margin:0;color:var(--paper);font-size:12px}
.hint{color:var(--muted);text-align:center;font-size:11px;margin:23px 0 13px}details{max-width:840px;margin:auto;color:var(--muted);font-size:12px}summary{cursor:pointer;padding:8px 0;color:var(--paper)}.help-body{padding:0 14px}kbd{color:var(--yellow);font:inherit}footer{text-align:center;font-size:10px;color:#987fa4;margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#touch{display:none;gap:14px;align-items:center;justify-content:space-between;margin-top:20px}.dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,40px);gap:3px}.dpad button{padding:0}.up{grid-column:2}.left{grid-column:1;grid-row:2}.right{grid-column:3;grid-row:2}.down{grid-column:2;grid-row:3}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions .zap{grid-column:1/-1;background:var(--yellow);color:var(--ink);border-color:#b68b2d;padding:16px 14px}.choices{display:none;grid-template-columns:1fr 1fr;gap:8px}.touch-mode #touch{display:flex}.touch-mode .hint{font-size:11px}.touch-mode[data-state="3"] .dpad,.touch-mode[data-state="3"] .actions,.touch-mode[data-state="4"] .dpad,.touch-mode[data-state="4"] .actions,.touch-mode[data-state="5"] .dpad,.touch-mode[data-state="5"] .actions{display:none}.touch-mode[data-state="3"] .choices,.touch-mode[data-state="4"] .choices,.touch-mode[data-state="5"] .choices{display:grid;width:100%}
#game:fullscreen{display:flex;align-items:center;justify-content:center;flex-direction:column;max-width:none;background:#1c1222;padding:12px}#game:fullscreen #stage{max-width:calc((100svh - 30px)*16/9);max-height:calc(100svh - 30px)}.touch-mode #game:fullscreen #stage{max-width:calc((100svh - 180px)*16/9)}
@media(max-width:700px){main{padding:8px 10px 20px}header{gap:12px;flex-wrap:wrap;margin-bottom:14px}.wordmark{font-size:17px}.tools{gap:5px}button{font-size:11px;padding:8px}.back{font-size:12px}#fullscreen{display:none}#game{max-width:none}.hint{font-size:10px}footer{font-size:9px}}
@media(pointer:coarse){#touch{display:flex}#game{max-width:min(100%,calc((100svh - 290px)*16/9))}}
@media(pointer:coarse) and (orientation:portrait){#game{max-width:none}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){
  main{padding-top:4px}header{min-height:36px;margin-bottom:10px}#game{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:16px;align-items:center}#stage{max-width:calc((100svh - 78px)*16/9);justify-self:center}#touch{margin-top:0;flex-wrap:wrap;justify-content:center;gap:8px}.dpad{grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,30px)}.actions{gap:5px}.actions .zap{padding:9px}.hint{display:none}
}
