:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#030405;--panel:#0c151a;--panel-2:#132028;--line:#22343d;--text:#d3e4ea;--dim:#7e97a2;--signal:#62d2e3;--warn:#e23b3b;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-text-size-adjust:100%;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid var(--signal);outline-offset:2px}[hidden]{display:none!important}.mono{font-family:var(--mono)}#app{position:fixed;inset:0}#stage{width:100%;height:100%;position:fixed;top:0;left:0}#stage canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:block}.text-input{z-index:5;resize:none;color:#0000;caret-color:#0000;opacity:.01;background:0 0;border:0;outline:none;margin:0;padding:0;font-size:16px;position:fixed}.pan-btn{z-index:6;border:1px solid var(--line);width:40px;height:88px;color:var(--text);background:#0c151ab8;border-radius:4px;padding:0;font-size:40px;line-height:1;position:fixed;top:50%;transform:translateY(-50%)}.pan-btn.left{left:max(4px, env(safe-area-inset-left))}.pan-btn.right{right:max(4px, env(safe-area-inset-right))}.pan-btn.alert{color:var(--warn);border-color:var(--warn);animation:.6s steps(2,start) infinite blink}@keyframes blink{to{opacity:.35}}@media (prefers-reduced-motion:reduce){.pan-btn.alert{animation:none}}.overlay{z-index:10;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));background:#030405d1;align-content:start;justify-items:center;gap:12px;display:grid;position:fixed;inset:0;overflow:auto}.doc-line{width:min(720px,100%);font-family:var(--mono);letter-spacing:.08em;color:var(--dim);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 16px;padding-bottom:6px;font-size:12px;display:flex}.doc-line b{color:var(--text);font-weight:500}.card{background:var(--panel);border:1px solid var(--line);gap:14px;width:min(720px,100%);padding:20px;display:grid}.card.wide{width:min(1080px,100%)}.card h1{font-family:var(--mono);letter-spacing:.12em;margin:0;font-size:28px}.card h2{margin:0;font-size:20px}.lead{margin:0}.rules{color:var(--dim);gap:2px;margin:0;padding-left:1.2em;font-size:14px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.named{flex-wrap:wrap;gap:8px;display:flex}.named input{background:var(--bg);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:3px;width:min(300px,70vw);padding:9px 10px;font-size:16px}.primary{background:var(--signal);color:#04161a;border:0;border-radius:3px;padding:10px 20px;font-weight:700}.primary:disabled{background:var(--panel-2);color:var(--dim);cursor:default}.primary[aria-pressed=true]{background:var(--panel-2);color:var(--signal);outline:1px solid var(--signal)}.secondary{color:var(--signal);border:1px solid var(--signal);background:0 0;border-radius:3px;padding:9px 16px}.secondary:disabled{opacity:.4;cursor:default}.msg{color:var(--dim);min-height:1.2em;margin:0;font-size:14px}.msg.err{color:var(--warn)}.hint{color:var(--dim);margin:0;font-size:12px}.slots{gap:6px;margin:0;padding:0;list-style:none;display:grid}.slots li{border:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 12px;font-size:15px;display:flex}.slots li.empty{color:var(--dim);border-style:dashed}.slots li.ready{border-color:var(--signal)}.slots li span{font-family:var(--mono);color:var(--dim);font-size:13px}.slots li.ready span{color:var(--signal)}.verdict{margin:0;font-size:18px;font-weight:700}.verdict.ok{color:var(--signal)}.verdict.ng{color:var(--warn)}.cells{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.cells figure{align-content:start;gap:4px;margin:0;display:grid}.cells figcaption{font-family:var(--mono);color:var(--dim);font-size:12px}.cells canvas{aspect-ratio:1;border:1px solid var(--line);background:#fff;width:100%;height:auto}.cells p{aspect-ratio:1;background:var(--bg);border:1px solid var(--line);overflow-wrap:anywhere;margin:0;padding:8px;font-size:13px;line-height:1.5;overflow:auto}@media (max-width:700px){.cells{grid-template-columns:repeat(3,minmax(0,1fr))}}#toast{z-index:20;background:var(--panel);border:1px solid var(--warn);max-width:min(640px,90vw);color:var(--text);padding:10px 16px;font-size:14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}#rotate{display:none}@media (orientation:portrait) and (pointer:coarse){#rotate{z-index:100;background:var(--bg);text-align:center;place-items:center;padding:24px;font-size:20px;display:grid;position:fixed;inset:0}#rotate small{color:var(--dim);margin-top:8px;font-size:13px;display:block}}
