*{box-sizing:border-box} :root{color-scheme:dark;--surface:#172128;--line:#34424b;--text:#eef2f4;--muted:#a4b2bb;--accent:#edbd72}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#10171d;color:var(--text);font:13px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}body{display:flex;flex-direction:column}button,input{font:inherit}button{border:1px solid #41505b;border-radius:6px;background:#24333d;color:var(--text);padding:7px 11px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#34454f;border-color:#788a94}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button[hidden],[hidden]{display:none!important}.host-toolbar{flex:none;display:flex;align-items:center;gap:18px;padding:8px 14px;min-height:55px;border-bottom:1px solid #34424b;background:var(--surface);z-index:3}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;white-space:nowrap}.brand strong{font-size:15px;letter-spacing:.035em}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border:1px solid #947848;border-radius:6px;color:var(--accent);font-size:11px;font-weight:800}.edition{font-size:9px;letter-spacing:.1em;color:var(--muted);border-left:1px solid var(--line);padding-left:8px}.session-status{display:flex;align-items:center;gap:7px;flex:1;min-width:0;color:var(--muted);font-size:11px}.session-status #status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none}body.is-ready .status-dot{background:#90c9a3}.storage-state{padding-left:9px;border-left:1px solid var(--line);white-space:nowrap;color:#90c9a3}.storage-state.is-warning{color:var(--accent)}.host-actions{display:flex;gap:6px;align-items:center}.help-button{width:32px;padding:7px 0;color:var(--muted)}#game-stage{position:relative;flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;background:#111820}canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}#game-stage:fullscreen{width:100vw;height:100vh}#game-stage:fullscreen canvas{width:100%;height:100%}.loading-layer{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 35%,#243642 0%,#111820 65%);padding:24px;z-index:2}.loading-card{width:min(440px,100%);padding:30px 32px;border:1px solid #3d4b53;background:#18242de8;border-radius:12px;box-shadow:0 18px 70px #0004}.loading-eyebrow{font-size:10px;font-weight:650;letter-spacing:.17em;color:var(--accent)}h1{font-size:23px;letter-spacing:-.035em;margin:13px 0 10px;font-weight:650}#loading-detail{color:#cad3d9;font-size:13px;margin:0 0 24px;min-height:20px}.progress-track{height:4px;background:#34434e;border-radius:8px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}.progress-track.is-indeterminate span{width:30%;animation:loading-slide 1.6s ease-in-out infinite}.progress-caption{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.loading-note{border-top:1px solid #35434d;color:#98a8b3;font-size:11px;line-height:1.8;padding-top:17px;margin:23px 0 0}.primary-button{border-color:var(--accent);background:var(--accent);color:#1d252a;font-weight:700;padding:9px 16px}.primary-button:hover:not(:disabled){background:#f6cf90;border-color:#f6cf90}#retry{margin-top:20px}.toast{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(560px,90%);padding:11px 16px;border:1px solid #586a76;border-radius:8px;background:#15222df5;box-shadow:0 5px 25px #0005;text-align:center;z-index:5;font-size:12px}.toast.is-error{border-color:#ca8d70;color:#ffd3c2}dialog{max-width:min(490px,calc(100vw - 28px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #52616d;border-radius:10px;background:#1b2832;color:var(--text);box-shadow:0 20px 80px #0008}dialog::backdrop{background:#060d16b8;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:16px 20px;border-bottom:1px solid var(--line)}h2{font-size:16px;margin:0;letter-spacing:-.02em}.icon-button{font-size:22px;padding:0;width:28px;height:28px;line-height:1;border:0;background:none;color:var(--muted)}.dialog-body{padding:8px 22px 22px}.dialog-body p{margin:14px 0;color:#c5d0d8}.dialog-body strong,.dialog-body b{color:#f3f4f6;font-weight:650}.capability-note{padding:14px 15px;border-radius:6px;background:#24343f;margin-top:20px;color:var(--muted);font-size:12px}.capability-note p{margin:5px 0 0}.text-button{border:0;background:none;padding:8px 0 0;color:var(--accent);font-size:12px}.text-button:hover:not(:disabled){background:none;color:#ffe1b0}.filename-field{display:flex;align-items:center;gap:10px;margin:7px 0 15px}.filename-field input{min-width:0;flex:1;padding:10px 12px;border:1px solid #566570;border-radius:5px;color:var(--text);background:#111b23}.filename-field span{color:var(--muted)}.field-error{color:#ffc7ae!important;font-size:12px}#logs-dialog{width:min(800px,calc(100vw - 28px));max-width:none}#output{margin:0;padding:16px 20px;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:60dvh}.noscript{position:absolute;top:40%;left:15%;width:70%;background:#172128;padding:25px;z-index:10}@keyframes loading-slide{0%{transform:translateX(-110%)}100%{transform:translateX(440%)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.progress-track.is-indeterminate span{animation:none;width:40%}}@media(max-width:1050px){.session-status #status{max-width:180px}.storage-state{font-size:10px}.host-toolbar{gap:12px;padding:8px 10px}}@media(max-width:830px){.session-status{display:none}.host-actions{margin-left:auto}.edition{display:none}}@media(max-width:510px){.host-toolbar{gap:5px;padding:7px}.brand{gap:5px}.brand strong{font-size:12px}.brand-mark{display:none}.host-actions{gap:4px}.host-actions button{font-size:11px;padding:6px}.host-actions .help-button{width:23px}.loading-card{padding:24px}.loading-layer{padding:16px}}
