:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d101b;--panel:#171c2c;--void:#101321;--arena:#262849;--edge:#a99cff;--grid:#343a55;--ink:#111421;--text:#f5f3ff;--muted:#abaec7;--border:#34394f;--accent:#c7ff64;--p1:var(--accent);--p2:#ff83b3;--p3:#79dbff;--p4:#ffcf71;--radius:20px;--display:system-ui, sans-serif;--mono:ui-monospace, monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--display);margin:0}button{font:inherit;cursor:pointer;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:9px 13px}button:focus-visible,a:focus-visible{outline:2px solid var(--edge);outline-offset:4px}.shell{width:min(100% - 32px,860px);margin:auto;padding:28px 0 48px}.site-header{border-bottom:1px solid var(--border);padding-bottom:18px;font-weight:700}h1{margin:24px 0 8px;font-size:clamp(32px,6vw,48px)}h2{margin:0}.hint,.card-copy p{color:var(--muted);margin:8px 0;line-height:1.5}.library{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin-top:24px;display:grid}.game-card{color:inherit;border:1px solid var(--border);background:var(--panel);border-radius:14px;text-decoration:none;overflow:hidden}.game-card:hover{border-color:var(--edge)}.card-copy{padding:16px}.card-copy small{color:var(--muted)}.cover{aspect-ratio:1;background:var(--arena)}.back{color:var(--edge)}.setup{max-width:530px}fieldset{border:1px solid var(--border);border-radius:12px;margin:22px 0;padding:14px}legend{padding:0 6px;font-weight:700}.choices{flex-wrap:wrap;gap:8px;display:flex}.choices button[aria-pressed=true],.primary{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:700}.keylist{gap:8px;margin-top:12px;display:grid}.keylist div{justify-content:space-between;align-items:center;display:flex}i{background:var(--player);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}kbd{background:var(--panel);border-radius:5px;padding:4px 8px}:is(html:has(.play-view),body:has(.play-view)){overscroll-behavior:none;overflow:hidden}.play-view{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--void);height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);outline:none;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.play-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:6px 10px;display:grid}.play-bar button:first-child{justify-self:start}.play-bar button:last-child{justify-self:end}.play-space{place-items:center;min-height:0;display:grid;container-type:size}.stage{aspect-ratio:1;width:min(100cqw,100cqh,800px);position:relative;overflow:hidden}canvas{width:100%;height:100%;display:block}.overlay{background:#10132199;place-items:center;display:grid;position:absolute;inset:0}.result{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:12px;padding:18px}.result button{margin-top:12px}.stick{touch-action:none;-webkit-user-select:none;user-select:none;aspect-ratio:1;border:1px solid var(--player);background:var(--panel);border-radius:50%;flex:none;place-items:center;width:clamp(42px,min(16vw,17dvh),72px);display:grid}.stick span{transform:translate(var(--dx,0px), var(--dy,0px));background:var(--player);width:34px;height:34px;color:var(--ink);pointer-events:none;border-radius:50%;place-items:center;font-weight:900;display:grid}.play-body{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.touch-controls{justify-content:space-evenly;align-items:center;gap:6px;padding:8px;display:flex}@media (orientation:landscape){.play-body{grid-template:minmax(0,1fr)/minmax(0,1fr) auto}.touch-controls{flex-direction:column}}
