:root{--bg:#0f1218;--surface:#181c25;--surface-2:#222836;--border:#2c3344;--text:#e9ecf2;--muted:#9aa3b5;--accent:#4f8cff;--accent-text:#fff;--good:#2fbf71;--warn:#ffb020;--bad:#ff5c6c;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f3f5f9;--surface:#fff;--surface-2:#eef1f6;--border:#d9dee8;--text:#151a24;--muted:#5d6779;--accent:#2563eb;--good:#18975a;--warn:#b7791f;--bad:#d93a4c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f3f5f9;--surface:#fff;--surface-2:#eef1f6;--border:#d9dee8;--text:#151a24;--muted:#5d6779;--accent:#2563eb;--good:#18975a;--warn:#b7791f;--bad:#d93a4c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}[hidden]{display:none!important}h2{margin:0 0 .4rem;font-size:1.1rem}h3{margin:0;font-size:.95rem}p{margin:.3rem 0}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:11;background:var(--bg);position:fixed;inset:0 0 auto}header.top{top:env(safe-area-inset-top,0px);z-index:10;padding-block:10px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky}.brand{white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:flex}.tabs{gap:4px;margin-left:auto;display:flex}.tabs a{color:var(--muted);border-radius:999px;padding:6px 12px;font-weight:600;text-decoration:none}.tabs a.active{background:var(--surface-2);color:var(--text)}.lang{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:4px 8px;font-weight:700}main{max-width:1200px;padding-block:16px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}footer{text-align:center;padding:24px 16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.big{width:100%;padding:12px 18px;font-size:1.05rem}.btn.small{padding:5px 10px;font-size:.85rem}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.icon{min-width:42px;padding:8px 10px}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;display:flex}.btn-col{flex-direction:column;gap:8px;display:flex}button.link{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-weight:600}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000040}.solver-page{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.viewer-col{flex-direction:column;gap:8px;display:flex;position:sticky;top:70px}.panel-col{flex-direction:column;gap:12px;min-width:0;display:flex}.viewer{aspect-ratio:1;background:radial-gradient(circle at 50% 40%, var(--surface-2), var(--surface) 70%);border:1px solid var(--border);border-radius:var(--radius);touch-action:none;width:100%;max-height:70vh;overflow:hidden}.viewer canvas{cursor:grab;width:100%;height:100%;display:block}.viewer.small{aspect-ratio:4/3;max-height:45vh}.viewer-hint{text-align:center;color:var(--muted);margin:0;font-size:.85rem}.net-wrap{justify-content:center;display:flex}.net{width:100%;max-width:260px;height:auto}.net-wrap.small .net{max-width:200px}.palette{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.swatch{border:2px solid var(--border);background:var(--c);cursor:pointer;border-radius:10px;width:42px;height:42px}.swatch.active{outline:3px solid var(--accent);outline-offset:2px}details.more{margin-top:10px}details.more summary{cursor:pointer;color:var(--muted);font-size:.9rem}.inline-form{gap:8px;margin-top:8px;display:flex}.moves-input{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:10px;flex:1;padding:8px 10px}.methodCard .segmented{width:100%}.message{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:12px 14px}.message.error{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, var(--surface))}.message.info{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.solution-head{justify-content:space-between;align-items:center;display:flex}.badge{background:var(--surface-2);border-radius:999px;padding:3px 10px;font-size:.85rem;font-weight:700}.now{background:var(--surface-2);border-radius:12px;align-items:center;gap:14px;margin:8px 0;padding:12px;display:flex}.now-move{text-align:center;min-width:84px;color:var(--accent);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:2.6rem;font-weight:800}.now-move.done{color:var(--good)}.now-desc{font-weight:600}.controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.speed{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.speed input{width:110px}.steps{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.step{border:1px solid var(--border);border-radius:10px;padding:8px 10px}.step.active{border-color:var(--accent)}.step-head{justify-content:space-between;gap:8px;font-weight:600;display:flex}.chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:6px;padding:2px 7px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem;font-weight:700}.chip.done{opacity:.45}.chip.current{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:min(640px,100vw - 16px);max-height:calc(100dvh - 16px);padding:16px}dialog::backdrop{background:#0009}.scan-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.segmented.full{width:100%;display:flex}.segmented.full button{flex:1}.scan-head h2{margin:0 auto 0 0}.scan-instr{align-items:center;gap:12px;margin:6px 0 10px;display:flex}.center-dot{background:var(--c);border:2px solid #0000004d;border-radius:8px;flex:none;width:34px;height:34px}.scan-stage{background:#000;border-radius:12px;justify-content:center;min-height:200px;display:flex;overflow:hidden}.scan-stage.photo{touch-action:none}.scan-canvas{max-width:100%;max-height:55dvh;display:block}.scan-thumbs{grid-template-columns:repeat(6,1fr);gap:6px;margin-top:12px;display:grid}.scan-thumb{aspect-ratio:1;border:2px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;padding:2px;display:grid}.scan-thumb.current{border-color:var(--accent)}.scan-thumb span{border-radius:2px}.timer-page{flex-direction:column;gap:12px;max-width:760px;margin:0 auto;display:flex}.scramble{word-spacing:.2em;margin:8px 0;font-size:1.15rem;font-weight:600}.scramble-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.timer-surface{text-align:center;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;padding:36px 16px}.timer-surface.compact{margin-top:10px;padding:16px}.timer-display{font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(3rem,14vw,6rem);font-weight:800}.timer-surface.compact .timer-display{font-size:clamp(2.4rem,10vw,3.6rem)}.timer-surface[data-state=holding] .timer-display{color:var(--bad)}.timer-surface[data-state=ready] .timer-display{color:var(--good)}.stats{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.stat{background:var(--surface-2);border-radius:10px;flex-direction:column;padding:8px;display:flex}.times{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin:12px 0;padding-left:0;list-style-position:inside;display:grid}.times li{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.trainer-page{flex-direction:column;gap:12px;display:flex}.case-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.group-title{color:var(--muted);grid-column:1/-1;margin-top:8px}.case-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:10px;padding:10px;display:flex}.case-pic{background:var(--surface-2);cursor:pointer;border:none;border-radius:10px;flex:none;padding:6px}.case-pic svg{width:84px;height:84px;display:block}.case-info{flex-direction:column;gap:4px;min-width:0;display:flex}.case-name{align-items:baseline;gap:8px;display:flex}.status{font:inherit;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:.8rem;font-weight:700}.status.new{background:var(--surface-2);color:var(--muted)}.status.learning{background:color-mix(in srgb, var(--warn) 25%, transparent);color:var(--warn)}.status.learned{background:color-mix(in srgb, var(--good) 25%, transparent);color:var(--good)}.training{scroll-margin-top:80px}.training-main{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.training-pic svg{width:150px;height:150px}.alg-big{font-size:1.15rem;font-weight:700}.reveal{margin-top:6px}@media (width<=860px){.solver-page{grid-template-columns:1fr}.viewer-col{position:static}.viewer{max-height:55vh}.solver-page.solving .viewer-col{top:var(--header-h,56px);z-index:5;background:var(--bg);padding-bottom:6px;position:sticky}.solver-page.solving .viewer{aspect-ratio:auto;height:36vh}.solver-page.solving .net-wrap{display:none}.stats{grid-template-columns:repeat(3,1fr)}}@media (width<=520px){header.top{flex-wrap:wrap;gap:8px}.brand span{font-size:.95rem}.tabs{order:3;justify-content:space-between;width:100%;margin:0}.tabs a{text-align:center;flex:1}.lang{margin-left:auto}.speed{width:100%;margin-left:0}.speed input{flex:1}.now-move{min-width:64px;font-size:2.1rem}}
