:root{--ink: #e8e3d8;--ink-dim: #9a9488;--ground: #14181c;--surface: #1c2126;--rule: #2b3238;--ok: #7fb069;--missing: #d08a6a;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--ground);color:var(--ink)}#app{position:relative;width:100%;height:100%}.stage,.overlay{position:absolute;inset:0}.anno-canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.overlay{display:grid;place-items:center;padding:2rem;overflow:auto;pointer-events:none}.screen{pointer-events:auto;max-width:46rem;display:grid;gap:1rem;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:1.75rem 2rem}.title{margin:0;font-size:1.9rem;font-weight:600;letter-spacing:-.01em}.lede{margin:0;color:var(--ink-dim)}.hint{margin:0;font-size:.875rem;color:var(--ink-dim)}.hint-origin{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.hint-ways{margin:0;padding-left:1.1rem;font-size:.875rem;color:var(--ink-dim);display:grid;gap:.3rem}.hint-ways code{font-size:.85rem}.caps{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}.cap{display:grid;grid-template-columns:1.25rem 1fr;gap:.75rem;align-items:baseline;font-size:.925rem}.cap-mark{font-weight:700}.cap-ok .cap-mark{color:var(--ok)}.cap-missing .cap-mark{color:var(--missing)}.cap-text{display:grid;gap:.15rem}.cap-reason{color:var(--ink-dim);font-size:.85rem}.error-message{margin:0;font-family:ui-monospace,Consolas,monospace;font-size:.925rem;background:var(--ground);border:1px solid var(--rule);border-left:2px solid var(--missing);padding:.75rem 1rem;overflow-x:auto}.stack pre{margin:.5rem 0 0;font-size:.8rem;color:var(--ink-dim);overflow-x:auto}.stack summary{cursor:pointer;font-size:.875rem;color:var(--ink-dim)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.button{display:inline-block;font:inherit;font-size:.925rem;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:3px;padding:.5rem 1rem;cursor:pointer}.button:hover{border-color:var(--ink-dim)}.button:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.button-primary{background:var(--ok);border-color:var(--ok);color:#10140f;font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.notice{margin:0;font-size:.925rem;background:var(--ground);border:1px solid var(--rule);border-left:2px solid var(--missing);padding:.6rem .9rem}.progress{height:6px;background:var(--ground);border:1px solid var(--rule);overflow:hidden}.progress i{display:block;height:100%;background:var(--ok);transition:width .12s linear}.progress-detail{margin:0;font-family:ui-monospace,Consolas,monospace;font-size:.8rem;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facts{display:grid;gap:.6rem}.fact{display:grid;grid-template-columns:11rem 1fr;gap:1rem;align-items:baseline;font-size:.925rem}.fact-label{color:var(--ink-dim)}.fact-value{display:grid;gap:.15rem}.screen-ready .fact:last-of-type .fact-value,.fact-value:has(+*){font-variant-numeric:tabular-nums}.fact-hint{color:var(--ink-dim);font-size:.825rem}.screen-island{position:absolute;inset:0;padding:0;background:none;pointer-events:none;display:block}.debug-panel{position:absolute;top:1rem;left:1rem;pointer-events:auto;display:grid;gap:.3rem;padding:.7rem .9rem;border-radius:.5rem;background:#0c0e12d1;border:1px solid rgb(255 255 255 / .12);font-size:.8rem;font-variant-numeric:tabular-nums;max-width:min(42rem,calc(100vw - 2rem))}.debug-title{font-weight:600;letter-spacing:.01em}.debug-line{color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-probe{color:var(--ink)}.debug-actions{display:flex;gap:.4rem;margin-top:.35rem}.button-small{padding:.25rem .6rem;font-size:.78rem}.button-active{border-color:#ffffff73;color:var(--ink)}.original-panel{position:absolute;left:0;bottom:0;height:min(100%,402px);width:auto;image-rendering:pixelated;z-index:2}.form-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:1rem 0}.form-row label{font-size:.85rem;color:var(--ink-dim)}.input{padding:.35rem .5rem;font:inherit;font-size:.9rem;color:var(--ink);background:#00000040;border:1px solid rgb(255 255 255 / .2);border-radius:4px}.input:disabled{opacity:.55}.subtitle{margin:1.2rem 0 .4rem;font-size:1rem;font-weight:600}.lobby-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.lobby-list li{padding:.4rem .6rem;background:#ffffff0d;border-radius:4px;font-size:.9rem}.lobby-list .muted{color:var(--ink-dim);background:none}
