@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/share-tech-mono-latin-400-normal-CCqdbj5z.woff2) format("woff2"),url(/assets/share-tech-mono-latin-400-normal-15MgdvEM.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Geist Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, "SF Mono", Consolas, monospace;--font-digital: "Share Tech Mono", var(--font-mono);--accent: #4f9dff;--accent-soft: color-mix(in srgb, var(--accent) 15%, transparent);--accent-ink: color-mix(in srgb, var(--accent) 75%, var(--text));--timer-size: clamp(76px, 15vw, 210px);--radius: 14px;--radius-sm: 9px;--ease: cubic-bezier(.2, .7, .2, 1);--bg: #000000;--surface: #0e0f11;--surface-2: #17181b;--surface-3: #222328;--line: #1e1f23;--text: #eceef1;--text-2: #a3a8b1;--text-3: #686e78;--good: #34d399;--warn: #f5b33d;--bad: #f2555a;--hold: #f2555a;--ready: #34d399;--record: #f5c84c;--series-1: #3987e5;--series-2: #d95926;--chart-dot: #5d636d;--grid: #1c1d21;--shadow: 0 24px 64px rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{font-family:var(--font-ui);font-size:14px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;background:var(--bg);color:var(--text)}body{background:var(--bg);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}kbd{display:inline-block;min-width:22px;padding:1px 6px;font-family:var(--font-mono);font-size:11.5px;line-height:1.6;text-align:center;border-radius:5px;background:var(--surface-2);color:var(--text-2)}.boot{display:grid;place-items:center;height:100dvh;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}.muted{color:var(--text-3)}.small{font-size:12.5px}.mono{font-family:var(--font-mono)}.spacer{flex:1}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:none;border-radius:var(--radius-sm);background:var(--surface-2);font-size:13px;font-weight:500;white-space:nowrap;transition:background .12s}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.4}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,#fff)}.btn--ghost{background:transparent;color:var(--text-2)}.btn--ghost:hover:not(:disabled){color:var(--text)}.btn--small{height:28px;padding:0 10px;font-size:12.5px}.btn--danger{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 24%,transparent)}.btn--danger-text:hover:not(:disabled){color:var(--bad)}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex-shrink:0;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);transition:background .12s,color .12s,opacity .16s}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.25}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--surface-2)}.segmented button{height:28px;padding:0 12px;border:none;border-radius:7px;background:transparent;color:var(--text-2);font-size:12.5px;font-weight:500}.segmented button:hover{color:var(--text)}.segmented button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000040}.segmented button.is-on.is-warn{color:var(--warn)}.segmented button.is-on.is-bad{color:var(--bad)}.switch{position:relative;width:40px;height:24px;padding:0;border:none;border-radius:999px;background:var(--surface-3);transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-2);transition:transform .16s var(--ease),background .16s}.switch.is-on{background:var(--accent)}.switch.is-on:after{transform:translate(16px);background:#fff}.input{height:34px;width:100%;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text)}textarea.input{height:auto;padding:9px 11px;resize:vertical;line-height:1.5}.input:focus{outline:none;border-color:var(--accent)}input[type=range]{width:180px;accent-color:var(--accent)}.app{display:flex;flex-direction:column;height:100dvh}.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:60px;padding:0 14px;padding-top:env(safe-area-inset-top);flex-shrink:0;transition:opacity .24s var(--ease)}.bar__end{display:flex;justify-content:flex-end}.cube-switch{justify-self:start;display:inline-flex;align-items:center;gap:9px;max-width:100%;height:38px;padding:0 12px 0 10px;border:none;border-radius:11px;background:transparent;font-size:15px;font-weight:600;letter-spacing:-.01em}.cube-switch:hover{background:var(--surface-2)}.cube-switch span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cube-switch .icon{color:var(--text-3);flex-shrink:0}.views{display:inline-flex;padding:3px;border-radius:11px;background:var(--surface-2)}.views button{height:30px;padding:0 18px;border:none;border-radius:8px;background:transparent;color:var(--text-2);font-size:13px;font-weight:500}.views button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000040}.screen{flex:1;min-height:0;display:flex;flex-direction:column}.app.is-solving .bar,.app.is-solving .scramble,.app.is-solving .timer-footer{opacity:0;pointer-events:none}.app.is-solving{cursor:none}@media (max-width: 560px){.bar{padding:0 8px}.views button{padding:0 12px}}.timer-screen{flex:1;min-height:0;display:grid;grid-template-rows:auto 1fr auto;touch-action:none;user-select:none;-webkit-user-select:none}.scramble{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 24px 0;transition:opacity .24s var(--ease)}.scramble__text{max-width:900px;max-height:30vh;overflow-y:auto;font-family:var(--font-mono);font-size:clamp(17px,1.6vw,24px);font-weight:450;line-height:1.7;word-spacing:.3em;text-align:center;white-space:pre-line;overflow-wrap:anywhere;user-select:text;touch-action:pan-y;transition:opacity .16s}.scramble__text.is-loading{opacity:.35}.scramble__text.is-long{font-size:clamp(13px,1.1vw,16px);text-align:left}.scramble__actions{display:flex;gap:2px;opacity:0;transition:opacity .16s}.scramble:hover .scramble__actions,.scramble:focus-within .scramble__actions{opacity:1}@media (hover: none){.scramble__actions{opacity:.7}}.scramble__edit{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(720px,100%)}.timer-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:0 16px}.timer{font-family:var(--font-ui);font-weight:600;line-height:1;letter-spacing:-.015em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text);transition:color 80ms}.timer--mono{font-family:var(--font-mono);font-weight:500;letter-spacing:-.03em}.timer--digital{font-family:var(--font-digital);font-weight:400;letter-spacing:0}.timer--holding{color:var(--hold)}.timer--ready{color:var(--ready)}.timer--inspection{color:var(--warn)}.timer-below{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:76px;padding-top:18px}.hint{font-size:13px;color:var(--text-3)}.record{font-size:13px;font-weight:600;color:var(--record);animation:rise .26s var(--ease)}.solve-actions{display:flex;gap:4px;animation:rise .2s var(--ease)}.solve-actions button{height:30px;padding:0 12px;border:none;border-radius:8px;background:transparent;color:var(--text-3);font-size:13px;font-weight:500}.solve-actions button:hover{background:var(--surface-2);color:var(--text)}.solve-actions button.is-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.solve-actions button.is-bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.timer-footer{display:flex;justify-content:center;padding:0 16px max(18px,env(safe-area-inset-bottom));transition:opacity .24s var(--ease)}.statline{display:flex;align-items:center;gap:6px;padding-bottom:6px}.guide-btn{display:inline-flex;align-items:center;gap:0;height:32px;padding:0 9px;border:none;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:12.5px;font-weight:600;transition:background .2s,color .2s,gap .22s var(--ease),padding .22s var(--ease)}.guide-btn__label{max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width .24s var(--ease),opacity .18s}.guide-btn:hover:not(:disabled),.guide-btn:focus-visible{gap:6px;padding:0 13px 0 11px;background:var(--accent-soft);color:var(--text)}.guide-btn:hover:not(:disabled) .guide-btn__label,.guide-btn:focus-visible .guide-btn__label{max-width:48px;opacity:1}.guide-btn:disabled{opacity:.4}.statline__item{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px;padding:8px 10px;border:none;border-radius:10px;background:transparent}.statline__item:hover:not(:disabled){background:var(--surface-2)}.statline__item span{font-size:11.5px;color:var(--text-3)}.statline__item strong{font-family:var(--font-mono);font-size:17px;font-weight:600}.statline__item:disabled strong{color:var(--text-3)}.typing{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(520px,100%)}.typing__input{width:100%;border:none;border-bottom:2px solid var(--surface-3);background:transparent;color:var(--text);font-family:var(--font-mono);font-size:calc(var(--timer-size) * .55);font-weight:600;text-align:center;outline:none;user-select:text}.typing__input:focus{border-bottom-color:var(--accent)}.typing__input.is-error{border-bottom-color:var(--bad)}.stats-screen{flex:1;min-height:0;overflow-y:auto;padding:8px 24px 40px}.stats-screen>*{max-width:1080px;margin-left:auto;margin-right:auto}.stats-empty{display:grid;place-items:center;gap:8px;padding:18vh 0;text-align:center;color:var(--text-3)}.stats-empty h1{color:var(--text);font-size:22px}.stats-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 0 20px}.stats-head h1{font-size:26px;font-weight:650;letter-spacing:-.02em}.stats-head p{margin-top:4px;font-size:13px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin-bottom:14px}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border-radius:var(--radius);background:var(--surface)}.tile__label{font-size:12px;color:var(--text-3)}.tile__best,.tile__now{padding:0;border:none;background:none;text-align:left}.tile__best{font-family:var(--font-mono);font-size:24px;font-weight:600;letter-spacing:-.02em}.tile__now{font-size:12.5px;color:var(--text-2);font-family:var(--font-mono)}.tile__best:hover:not(:disabled),.tile__now:hover:not(:disabled){color:var(--accent-ink)}.card{margin-bottom:14px;padding:16px;border-radius:var(--radius);background:var(--surface)}.card--flush{padding:0;overflow:hidden}.thead,.trow{display:grid;grid-template-columns:72px 1fr 1fr 1fr;align-items:center;gap:8px;padding:0 18px}.thead{height:40px;font-size:12px;color:var(--text-3);border-bottom:1px solid var(--line)}.tbody{position:relative;height:min(560px,62vh);overflow-y:auto;overscroll-behavior:contain}.trow{position:absolute;top:0;left:0;right:0;height:34px;font-size:13.5px;cursor:pointer}.trow:hover{background:var(--surface-2)}.trow.is-selected{background:var(--accent-soft)}.trow__idx{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.trow__time,.trow__avg{font-family:var(--font-mono)}.trow__time{font-weight:600}.trow__time.is-best{color:var(--good)}.trow__time.is-plus2{color:var(--warn)}.trow__time.is-dnf{color:var(--bad)}.trow__avg{color:var(--text-2)}@media (max-width: 760px){.stats-screen{padding:4px 14px 32px}.thead,.trow{grid-template-columns:48px 1fr 1fr 1fr;padding:0 12px}}.charts__controls{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chart{position:relative}.chart--empty{display:grid;place-items:center;height:160px}.chart svg{display:block;overflow:visible}.chart__legend{display:flex;gap:14px;margin-bottom:6px;font-size:11.5px;color:var(--text-2)}.chart__legend span{display:inline-flex;align-items:center;gap:6px}.key{display:inline-block;flex-shrink:0}.key--dot{width:7px;height:7px;border-radius:50%;background:var(--chart-dot)}.key--line{width:12px;height:2px;border-radius:1px}.key--s1{background:var(--series-1)}.key--s2{background:var(--series-2)}.chart__grid{stroke:var(--grid);stroke-width:1}.chart__tick{fill:var(--text-3);font-size:10.5px;font-family:var(--font-mono)}.chart__value{fill:var(--text-2);font-size:10.5px;font-family:var(--font-mono)}.chart__single{fill:var(--chart-dot);opacity:.7}.chart__single.is-clipped{opacity:.3}.chart__line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart__line--s1{stroke:var(--series-1)}.chart__line--s2{stroke:var(--series-2)}.chart__cursor line{stroke:var(--text-3);stroke-width:1}.chart__marker{fill:var(--text);stroke:var(--surface);stroke-width:2}.chart__bar{fill:var(--series-1)}.chart__bar.is-hover{fill:color-mix(in srgb,var(--series-1) 75%,#fff)}.chart__hit{fill:transparent;outline:none}.chart__tooltip{position:absolute;top:22px;transform:translate(-50%);z-index:2;min-width:120px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--surface-3);box-shadow:var(--shadow);font-size:11.5px;pointer-events:none}.chart__tooltip-title{margin-bottom:3px;color:var(--text-3)}.chart__tooltip-row{display:flex;align-items:center;gap:6px;white-space:nowrap}.chart__tooltip-row strong{font-family:var(--font-mono)}.chart__tooltip-row span{color:var(--text-3)}.chart__note{margin-top:6px}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#00000080;backdrop-filter:blur(4px);animation:fade .14s var(--ease)}.modal{display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - 32px);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);animation:rise .18s var(--ease);outline:none}.modal--sm{max-width:420px}.modal--md{max-width:580px}.modal--lg{max-width:820px}.modal__header{display:flex;align-items:center;gap:8px;padding:16px 14px 8px 22px}.modal__title{flex:1;min-width:0;font-size:16px;font-weight:600}.modal__title-value{margin-left:8px;font-family:var(--font-mono);color:var(--accent-ink)}.modal__body{flex:1;min-height:0;overflow-y:auto;padding:4px 22px 20px}.modal__footer{display:flex;align-items:center;gap:6px;padding:10px 14px 14px 16px}@media (max-width: 560px){.modal-backdrop{padding:0;place-items:end stretch}.modal{max-height:90dvh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}}.nav-title{display:inline-flex;align-items:center;gap:4px}.nav-title .icon-btn{width:28px;height:28px;font-size:18px}.detail{display:flex;flex-direction:column;gap:16px}.detail__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.detail__time{font-family:var(--font-mono);font-size:36px;font-weight:700;letter-spacing:-.03em}.detail__time.is-dnf{color:var(--bad)}.detail__top+.muted{margin-top:-10px}.detail__scramble{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border-radius:var(--radius);background:var(--surface-2)}.detail__scramble p{line-height:1.6;overflow-wrap:anywhere}.phases{display:flex;flex-direction:column;gap:7px}.phase{display:grid;grid-template-columns:90px 1fr 70px;align-items:center;gap:10px;font-size:13px}.phase__name{color:var(--text-2)}.phase__bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.phase__bar span{display:block;height:100%;border-radius:3px;background:var(--accent)}.phase__time{font-family:var(--font-mono);text-align:right;font-weight:600}.avg-list{margin:0;padding:0 0 0 30px;display:flex;flex-direction:column;gap:2px;font-size:13px}.avg-list li::marker{color:var(--text-3);font-size:12px}.avg-list__time{min-width:86px;margin-right:10px;padding:3px 6px;border:none;border-radius:6px;background:transparent;font-family:var(--font-mono);font-weight:600;text-align:left}.avg-list__time:hover{background:var(--surface-2)}.avg-list li.is-trimmed .avg-list__time{color:var(--text-3);font-weight:400}.avg-list__scramble{font-family:var(--font-mono);font-size:11.5px;color:var(--text-3);overflow-wrap:anywhere}.settings-section+.settings-section{margin-top:22px}.settings-section h3{margin-bottom:8px;font-size:12px;font-weight:600;color:var(--text-3)}.settings-card{padding:2px 16px;border-radius:var(--radius);background:var(--surface-2)}.settings-card .segmented{background:var(--surface-3)}.settings-card .segmented button.is-on{background:var(--surface-2)}.settings-card .btn:not(.btn--ghost):not(.btn--primary):not(.btn--danger){background:var(--surface-3)}.import{display:flex;flex-direction:column;gap:10px;padding:4px 0 14px}.import__list{margin:0;padding:0;list-style:none;font-size:13px}.import__list li{display:flex;justify-content:space-between;padding:3px 0}.label{font-size:12px;font-weight:500;color:var(--text-3)}.field--inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.field--inline .input{width:auto;min-width:200px}.guide{display:flex;flex-direction:column;align-items:center;gap:14px}.guide__stage{width:100%;height:min(340px,42vh);border-radius:var(--radius);background:var(--surface-2)}.guide__host,.guide__host .twisty{width:100%;height:100%}.guide__now{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:74px}.guide__move{font-family:var(--font-mono);font-size:34px;font-weight:600;line-height:1.1}.guide__count{font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}.guide__controls{display:flex;align-items:center;gap:6px}.guide__play{display:grid;place-items:center;width:46px;height:46px;margin:0 6px;border:none;border-radius:50%;background:var(--text);color:var(--bg)}.guide__play:disabled{opacity:.3}.guide__play .icon{fill:currentColor}.segmented--small button{height:24px;padding:0 10px;font-size:12px}.menu-layer{position:fixed;inset:0;z-index:100}.menu{position:absolute;top:54px;left:14px;display:flex;flex-direction:column;width:300px;max-height:min(560px,calc(100dvh - 80px));border-radius:16px;background:var(--surface);box-shadow:var(--shadow);outline:none;animation:rise .14s var(--ease);overflow:hidden}.menu__tabs{display:flex;gap:2px;margin:8px;padding:3px;border-radius:10px;background:var(--surface-2)}.menu__tabs button{flex:1;height:28px;border:none;border-radius:7px;background:transparent;color:var(--text-2);font-size:12.5px;font-weight:500}.menu__tabs button.is-on{background:var(--surface);color:var(--text)}.menu__list{overflow-y:auto;padding:0 6px 8px}.menu__item{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;padding:0 12px;border:none;border-radius:9px;background:transparent;font-size:13.5px;text-align:left}.menu__item.is-cursor{background:var(--surface-2)}.menu__item.is-current{color:var(--accent-ink);font-weight:600}.menu__count{font-size:12px;font-weight:400;color:var(--text-3);font-variant-numeric:tabular-nums}@media (max-width: 560px){.menu{left:8px;right:8px;width:auto}}.setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0}.setting+.setting{border-top:1px solid var(--line)}.setting__label{font-weight:500}.setting__hint{margin-top:2px;font-size:12.5px;color:var(--text-3)}.setting__control{flex-shrink:0}@media (max-width: 560px){.setting{flex-direction:column;align-items:stretch}input[type=range]{width:100%}}.shortcuts{display:grid;margin:0}.shortcuts div{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px;padding:7px 0;font-size:13px}.shortcuts dt{display:flex;gap:4px;flex-wrap:wrap}.shortcuts dd{margin:0;color:var(--text-2)}.toasts{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 10px 8px 13px;border-radius:999px;background:var(--surface-3);box-shadow:var(--shadow);font-size:13px;white-space:nowrap;pointer-events:auto;animation:rise .22s var(--ease)}.toast--success .icon{color:var(--good)}.toast--warning .icon{color:var(--warn)}.toast__action{padding:4px 10px;border:none;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-weight:600;font-size:12.5px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
