:root{color-scheme:light;--surface:#fcfcfb;--panel:#fff;--border:#e3e2dc;--text:#0b0b0b;--text-secondary:#52514e;--text-muted:#77766f;--accent:#2a78d6;--armed:#c0392b;--ready:#1f8a4c;--danger:#c0392b;--grid:#ecebe6;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface:#1a1a19;--panel:#222220;--border:#34342f;--text:#fff;--text-secondary:#c3c2b7;--text-muted:#9a9990;--accent:#3987e5;--armed:#e66767;--ready:#3fbf7a;--danger:#e66767;--grid:#2c2c29;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70}}:root[data-theme=dark]{color-scheme:dark;--surface:#1a1a19;--panel:#222220;--border:#34342f;--text:#fff;--text-secondary:#c3c2b7;--text-muted:#9a9990;--accent:#3987e5;--armed:#e66767;--ready:#3fbf7a;--danger:#e66767;--grid:#2c2c29;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70}*{box-sizing:border-box}body{background:var(--surface);color:var(--text);margin:0}h1{margin:0;font-size:17px}h2{margin:0 0 10px;font-size:13px;font-weight:600}.loading{color:var(--text-muted);padding:40px}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:12px 16px;display:flex}.tabs{gap:4px;display:flex}.session-bar{margin-left:auto}main{max-width:1280px;margin:0 auto;padding:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.spread{justify-content:space-between}.muted{color:var(--text-muted);font-weight:400}.error{color:var(--danger);margin:6px 0 0}button,select,input{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 10px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--text-muted)}button:disabled{opacity:.45;cursor:default}button.selected{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger);border-color:var(--danger)}input[type=number]{width:76px}input[type=checkbox]{padding:0}label{align-items:center;gap:6px;display:inline-flex}.timer-layout{grid-template-columns:minmax(0,1fr) 380px;gap:16px;display:grid}@media (width<=900px){.timer-layout{grid-template-columns:1fr}}.scramble{align-items:center;gap:12px;display:flex}.scramble-main{flex-direction:column;flex:1;gap:6px;display:flex}.scramble-text{word-spacing:4px;flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:20px;line-height:1.5}.timer-display{user-select:none;touch-action:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-height:260px;margin-bottom:12px;display:flex}.timer-display .time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(64px,12vw,132px);font-weight:600}.timer-display .hint{color:var(--text-muted)}.timer-display.phase-armed .time{color:var(--armed)}.timer-display.phase-ready .time{color:var(--ready)}.timer-display.phase-inspecting .time{color:var(--accent)}.last-solve .row+.row{margin-top:8px}.badge{background:var(--ready);color:#fff;border-radius:999px;padding:2px 10px;font-size:12px}.stats{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;display:grid}.stats dt{color:var(--text-muted);font-size:12px}.stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0}.stats strong{font-size:18px}.cube-view{height:280px}.move-pad{gap:8px;margin-top:8px;display:grid}.move-grid{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.move-grid button{padding:6px 0;font-family:ui-monospace,Menlo,monospace}.move-pad input{flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace}.history-top{grid-template-columns:320px minmax(0,1fr);gap:16px;display:grid}@media (width<=900px){.history-top{grid-template-columns:1fr}}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px}th{color:var(--text-muted);font-size:12px;font-weight:500}.scramble-cell{white-space:normal;min-width:240px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.chart{position:relative}.chart svg{display:block;overflow:visible}.legend{color:var(--text-secondary);gap:16px;margin-bottom:6px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.key{border-radius:1px;width:14px;height:2px;display:inline-block}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .axis{fill:var(--text-muted);font-size:11px}.chart .end-label{fill:var(--text-secondary);font-size:11px}.chart .crosshair{stroke:var(--text-muted);stroke-width:1px}.tooltip{pointer-events:none;background:var(--panel);border:1px solid var(--border);border-radius:8px;min-width:130px;padding:8px 10px;font-size:12px;position:absolute;box-shadow:0 4px 16px #0000001f}.tooltip-row{font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-top:4px;display:flex}.level-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.level-card{text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;display:flex}.level-card.selected-card{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.progress{background:var(--grid);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress>div{background:var(--accent);border-radius:3px;height:100%}.notice{border-left:3px solid var(--accent);color:var(--text-secondary);padding:6px 10px}.item p{margin:4px 0}.tag{color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:400}.ok-text{color:var(--ready)}.algs{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.alg-name{min-width:140px;color:var(--text-secondary)}.algs code{flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.alg-preview .cube-view{max-width:420px;height:300px}.sources a{color:var(--accent)}.analysis textarea{width:100%;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;margin:8px 0;padding:8px;font:13px ui-monospace,SF Mono,Menlo,monospace}.analysis code{font-family:ui-monospace,SF Mono,Menlo,monospace}.tips{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.tip{border-left:3px solid var(--text-muted);background:var(--surface);border-radius:8px;gap:2px;padding:8px 12px;display:grid}.tip-warn{border-left-color:var(--armed)}.tip-good{border-left-color:var(--ready)}.row.nowrap{flex-wrap:nowrap}.insights h3{color:var(--text-secondary);margin:14px 0 6px;font-size:12px}.set-option{margin:4px 0;display:flex}.alg-code{font:15px ui-monospace,SF Mono,Menlo,monospace}.current-row td{background:var(--grid)}.stage{aspect-ratio:16/9;background:#000;border-radius:10px;position:relative;overflow:hidden}.stage video,.stage canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.mirror{transform:scaleX(-1)}.stage-cover{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.net{grid-template-columns:repeat(4,max-content);gap:4px;margin-top:12px;display:grid}.net-face{grid-template-columns:repeat(3,18px);gap:2px;display:grid}.net-sticker{border:1px solid var(--border);border-radius:3px;width:18px;height:18px;padding:0}.net-sticker:disabled{opacity:1;cursor:default}.moves-line{word-spacing:4px;min-height:24px;font:16px ui-monospace,SF Mono,Menlo,monospace}.timer-display.compact{min-height:0;margin:8px 0 0}.timer-display.compact .time{font-size:48px}.runs{gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.icon-button{justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 8px;font-size:20px;line-height:1;display:inline-flex}.solo-dialog{width:min(760px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:0}.solo-dialog::backdrop{background:#00000073}.solo-dialog-body{flex-direction:column;gap:12px;padding:16px;display:flex}.solo-dialog h2{margin:0;font-size:16px}.solo-dialog p{margin:0}.preview-scramble{word-spacing:4px;font-family:ui-monospace,SF Mono,Menlo,monospace}.preview-net{justify-content:center;display:flex}.preview-net .net{gap:6px;margin:0}.preview-net .net-face{grid-template-columns:repeat(3,22px);gap:3px}.preview-net .net-sticker{border-radius:4px;width:22px;height:22px}.preview-views{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:16px;display:grid}.preview-views figure{flex-direction:column;align-items:center;gap:8px;margin:0;display:flex}.preview-views figcaption{text-align:center;font-size:12px}.preview-cube{width:100%;height:300px}.preview-cube .cube-view{height:100%}.start-position{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:inline-flex}.color-chip{color:var(--text);align-items:center;gap:4px;font-weight:600;display:inline-flex}.color-chip .swatch{border:1px solid var(--border);border-radius:3px;width:12px;height:12px}.nav-link{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:6px;align-items:center;padding:6px 10px;text-decoration:none;display:inline-flex}.nav-link:hover{border-color:var(--text-muted)}
