:root{color-scheme:dark;--accent: #9b5cff;--panel: #0c0f1f;--panel-2: #141833;--line: #232a52;--text: #e6e8f0;--muted: #8b93b8}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(1200px 700px at 30% -10%,#131a3a,#05060f 60%),#05060f;color:var(--text);font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:16px}.os-root{display:flex;gap:16px;align-items:stretch;max-width:1320px;width:100%}.os-stage{position:relative;flex:1 1 auto;min-width:0}canvas{display:block;width:100%;height:auto;aspect-ratio:960 / 600;border:1px solid var(--line);border-radius:12px;box-shadow:0 0 60px #785aff1f,inset 0 0 80px #0006;cursor:crosshair;touch-action:none}.os-panel{flex:0 0 290px;background:linear-gradient(180deg,var(--panel) 0%,#090b16 100%);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.os-panel h1{margin:0;font-size:1.35rem;letter-spacing:.06em;background:linear-gradient(90deg,#9be7ff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.os-sub{margin:0;font-size:.78rem;color:var(--muted);line-height:1.3}.os-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.os-stats>div{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;display:flex;flex-direction:column}.os-stats span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.os-stats b{font-size:1.1rem;font-variant-numeric:tabular-nums}.os-hpwrap{display:flex;flex-direction:column;gap:4px}.os-hplabel{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted)}.os-hplabel b{color:var(--text)}.os-hpbar{height:8px;background:#1a1030;border-radius:6px;overflow:hidden;border:1px solid var(--line)}.os-hpfill{height:100%;width:100%;background:#2ecc71;transition:width .15s linear}.os-phase{text-align:center;font-size:.8rem;color:#cdd3f0;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px;min-height:30px}.os-btn{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:9px 12px;cursor:pointer;transition:border-color .12s,background .12s,transform .05s}.os-btn:hover:not(:disabled){border-color:var(--accent)}.os-btn:active:not(:disabled){transform:translateY(1px)}.os-btn:disabled{opacity:.45;cursor:not-allowed}.os-btn-go{background:linear-gradient(90deg,#5b8bff,var(--accent));border:none;font-weight:600}.os-btn-mini{padding:6px 10px;font-size:.8rem}.os-palette{display:flex;flex-direction:column;gap:4px;max-height:46vh;overflow-y:auto;padding-right:4px}.os-pal-cat{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#6b7799;margin:4px 0 1px}.os-tool{display:grid;grid-template-columns:18px 14px 1fr auto;align-items:center;gap:8px;font:inherit;text-align:left;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:7px 10px;cursor:pointer}.os-tool:hover{border-color:var(--accent)}.os-tool.active{border-color:var(--accent);background:#1d2147;box-shadow:0 0 0 1px var(--accent) inset}.os-tool-key{font-size:.7rem;color:var(--muted);border:1px solid var(--line);border-radius:4px;text-align:center}.os-tool-dot{width:12px;height:12px;border-radius:50%}.os-tool-name{font-size:.86rem}.os-tool-cost{font-size:.8rem;color:#ffd166;font-variant-numeric:tabular-nums}.os-sel{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.os-sel-head{display:flex;align-items:center;gap:8px}.os-lvl{margin-left:auto;font-size:.74rem;color:var(--muted)}.os-sel-hint{margin:0;font-size:.74rem;color:var(--muted);line-height:1.3}.os-sel-btns{display:flex;gap:6px}.os-sel-btns .os-btn{flex:1}.os-foot{display:flex;gap:6px;margin-top:auto}.os-foot .os-btn{flex:1}.os-help{font-size:.74rem;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px;line-height:1.4}.os-help ul{margin:6px 0 0;padding-left:16px}.os-help kbd{background:#05060f;border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:.7rem}.os-help b{color:var(--text)}.hidden{display:none!important}.os-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#05060fc7;backdrop-filter:blur(3px);border-radius:12px}.os-go{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px 34px;box-shadow:0 20px 60px #00000080}.os-go h2{margin:0 0 6px;color:#ff8fab;letter-spacing:.04em}.os-go p{margin:0 0 14px;color:var(--muted)}.os-go-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.os-go-stats>div{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 14px;display:flex;flex-direction:column}.os-go-stats span{font-size:.66rem;color:var(--muted);text-transform:uppercase}.os-go-stats b{font-size:1.2rem;font-variant-numeric:tabular-nums}@media(max-width:880px){.os-root{flex-direction:column-reverse;align-items:stretch}.os-panel{flex-basis:auto}}
