:root{--bg:#fff;--fg:#0b0b0b;--mut:#5c5c5c;--line:#0b0b0b;--soft:#f3f3f3;--hair:#d4d4d4;--sticker-off:#d6d6d6;--sel:#00000014;--mono:ui-monospace, "JetBrains Mono", "Cascadia Code", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--r:0px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0b0b;--fg:#e9e9e9;--mut:#9b9b9b;--line:#e9e9e9;--soft:#151515;--hair:#333;--sticker-off:#3b3b3b;--sel:#ffffff1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0b0b;--fg:#e9e9e9;--mut:#9b9b9b;--line:#e9e9e9;--soft:#151515;--hair:#333;--sticker-off:#3b3b3b;--sel:#ffffff1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font:17px/1.6 var(--mono);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;display:flex;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:200;background:repeating-linear-gradient(to bottom, transparent 0 2px, var(--sel) 2px 3px);opacity:.18;mix-blend-mode:multiply;position:fixed;inset:0}:root[data-theme=dark] body:before{mix-blend-mode:normal;opacity:.25}::selection{background:var(--fg);color:var(--bg)}a{color:inherit;text-underline-offset:3px}h1,h2,h3,h4{letter-spacing:.5px;margin:0;font-weight:700}p{margin:0}button,input,select{font:inherit;color:inherit}kbd{border:1px solid var(--line);border-bottom-width:2px;padding:0 5px;font-size:.85em}code{font-family:var(--mono)}:focus-visible{outline:2px dashed var(--fg);outline-offset:2px}.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 18px}.dim{color:var(--mut)}.grow{flex:1}.center{text-align:center}.skip{background:var(--fg);color:var(--bg);z-index:300;padding:6px 10px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.prompt{color:var(--mut)}.hash{color:var(--mut);font-weight:400}.blink,.caret{animation:1.05s step-end infinite blink}@keyframes blink{50%{opacity:0}}.top{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.top-row{align-items:center;gap:18px;height:62px;display:flex}.logo{letter-spacing:3px;font-size:21px;font-weight:800;text-decoration:none}.nav{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.nav a{color:var(--mut);white-space:nowrap;letter-spacing:1px;padding:6px 8px;font-size:15px;text-decoration:none}.nav a:before,.nav a:after{content:" "}.nav a:hover{color:var(--fg)}.nav a.on{color:var(--fg);font-weight:700}.nav a.on:before{content:"["}.nav a.on:after{content:"]"}.top-tools{gap:6px;margin-left:auto;display:flex}@media (max-width:720px){.top-row{flex-wrap:wrap;gap:0 8px;height:auto;padding-top:10px}.nav{order:3;justify-content:space-between;width:100%;padding:4px 0 6px}.hide-sm{display:none}.nav a{padding:6px 2px}.secnav{top:88px}.sec{scroll-margin-top:140px}.card{scroll-margin-top:150px}}main{flex:1;padding-top:28px;padding-bottom:72px}.page{animation:.35s both enter}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}.foot{border-top:1px solid var(--hair);color:var(--mut);flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding-top:14px;padding-bottom:28px;font-size:13px;display:flex}.btn{border:1px solid var(--line);background:var(--bg);letter-spacing:.6px;cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:10px 16px;font-size:15px;text-decoration:none;transition:background .12s,color .12s,transform 80ms;display:inline-flex}.btn:hover{background:var(--fg);color:var(--bg)}.btn:active{transform:translateY(1px)}.btn.solid{background:var(--fg);color:var(--bg)}.btn.solid:hover{background:var(--bg);color:var(--fg)}.btn.ghost{border-color:#0000}.btn.ghost:hover{border-color:var(--line)}.btn.xs{padding:6px 11px;font-size:13.5px}.btn.danger,.chip.danger{border-style:dashed}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{background:var(--bg);color:var(--fg)}.btn.file{position:relative;overflow:hidden}.btn.file input{opacity:0;cursor:pointer;position:absolute;inset:0}.chip{border:1px solid var(--hair);background:var(--bg);cursor:pointer;padding:7px 13px;font-size:14px;transition:background .12s,color .12s,border-color .12s}.chip:hover{border-color:var(--line)}.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.chips{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.linkish{cursor:pointer;color:var(--mut);background:0 0;border:0;padding:0;font-size:14px}.linkish:hover{color:var(--fg)}.select,.input{border:1px solid var(--line);background:var(--bg);border-radius:0;padding:11px 13px;font-size:16px}.select{min-width:200px}.input{width:100%}.input:focus,.select:focus{box-shadow:0 0 0 1px var(--fg);outline:none}.input.bad{border-style:dashed}.lbl{letter-spacing:2px;color:var(--mut);text-transform:uppercase;margin:16px 0 8px;font-size:12.5px;display:block}.toggle{flex-wrap:wrap;align-items:flex-start;gap:10px;margin:12px 0;font-size:15px;display:flex}.toggle input{accent-color:var(--fg);flex:none;margin-top:4px}.toggle>span{flex:1;min-width:0}.toggle small{color:var(--mut)}.note{border:1px dashed var(--line);margin:12px 0;padding:10px 14px;font-size:15px}.hint{color:var(--mut);margin-top:14px;font-size:14.5px}.prose{max-width:70ch;margin:10px 0;font-size:16.5px}.callout{border-left:3px solid var(--fg);padding-left:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hero{border-bottom:1px solid var(--hair);grid-template-columns:1.1fr 1fr;align-items:center;gap:24px;padding:8px 0 28px;display:grid}.kicker{color:var(--mut);font-size:14.5px}.kicker .prompt{color:var(--fg)}.hero-title{letter-spacing:8px;margin:10px 0 6px;font-size:clamp(56px,11vw,104px);line-height:1}.hero-sub{min-height:1.6em;font-size:21px}.typer .caret{margin-left:1px}.hero-actions{flex-wrap:wrap;gap:8px;margin:18px 0 8px;display:flex}.pb-line{margin-top:10px;font-size:13px}.ascii-cube{contain:strict;white-space:pre;font-variant-ligatures:none;-webkit-user-select:none;user-select:none;width:64ch;height:33.6em;color:var(--fg);justify-self:center;margin:0;font-size:clamp(7px,1.25vw,12px);line-height:1.05;overflow:hidden}@media (max-width:760px){.hero{grid-template-columns:1fr}.ascii-cube{order:-1;font-size:clamp(6px,2.2vw,11px)}}.tools{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:26px 0 8px;display:grid}.tool{border:1px solid var(--line);flex-direction:column;gap:6px;padding:16px;text-decoration:none;transition:background .12s,color .12s;display:flex}.tool span{color:var(--mut);font-size:15px}.tool:hover{background:var(--fg);color:var(--bg)}.tool:hover span{color:inherit;opacity:.8}.cat{letter-spacing:2px;text-transform:uppercase;align-items:center;gap:10px;margin:30px 0 10px;font-size:16px;display:flex}.cat:after{content:"";background:var(--hair);flex:1;height:1px}.grid-pz{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.pz{border:1px solid var(--line);min-height:86px;animation:.4s both enter;animation-delay:calc(min(var(--i,0), 14) * 25ms);flex-direction:column;gap:2px;padding:14px 12px;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.pz small{color:var(--mut);font-size:13px}.pz-count{color:var(--mut);letter-spacing:1px;margin-top:auto;font-size:12.5px}.pz:hover{background:var(--fg);color:var(--bg)}.pz:hover small,.pz:hover .pz-count{color:inherit;opacity:.75}.pz:hover b:before{content:"> "}.crumbs{color:var(--mut);margin-bottom:8px;font-size:12px}.crumbs a{text-decoration:none}.crumbs b{color:var(--fg)}.pz-head h1{letter-spacing:3px;font-size:clamp(34px,6vw,54px)}.tagline{color:var(--mut);margin:4px 0 14px;font-size:18px}.pz-actions{flex-wrap:wrap;gap:8px;display:flex}.glitch{display:inline-block;position:relative}.glitch:before,.glitch:after{content:attr(data-text);opacity:0;pointer-events:none;position:absolute;inset:0}.glitch:hover:before{opacity:.6;clip-path:inset(0 0 55%);animation:.3s steps(2,end) 2 glitch;transform:translate(-2px,1px)}.glitch:hover:after{opacity:.6;clip-path:inset(50% 0 0);animation:.3s steps(2,end) 2 reverse glitch;transform:translate(2px,-1px)}@keyframes glitch{0%{transform:translate(-3px,1px)}50%{transform:translate(3px,-1px)}to{transform:translate(0)}}.secnav{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);scrollbar-width:none;gap:16px;margin:22px 0 8px;padding:10px 0;display:flex;position:sticky;top:62px;overflow-x:auto}.secnav a{letter-spacing:1px;color:var(--mut);white-space:nowrap;border-bottom:2px solid #0000;font-size:14.5px;text-decoration:none}.secnav a:hover{color:var(--fg);border-bottom-color:var(--fg)}.sec{padding-top:26px;scroll-margin-top:110px}.sec h2{letter-spacing:1px;border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:8px;font-size:20px}.steps{counter-reset:s;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.steps li{border-left:1px solid var(--line);padding:2px 0 2px 14px;font-size:15.5px}.steps li p{color:var(--mut);max-width:76ch;margin-top:2px}.notation{border-collapse:collapse;width:100%;font-size:15.5px}.notation td{border-bottom:1px solid var(--hair);vertical-align:top;padding:8px 10px}.notation td.mv{white-space:nowrap;width:1%;font-weight:700}.set-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 4px;font-size:14.5px;display:flex}.progress{color:var(--mut);white-space:pre}.grid-algs{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin-top:14px;display:grid}.card{border:1px solid var(--line);background:var(--bg);animation:.35s both enter;animation-delay:calc(min(var(--i,0), 20) * 18ms);scroll-margin-top:120px}.card:target{box-shadow:0 0 0 3px var(--fg)}.alg{flex-direction:column;gap:10px;padding:12px;display:flex}.alg.learned{border-style:dashed}.alg-top{align-items:flex-start;gap:12px;display:flex}.alg-dg{cursor:pointer;background:0 0;border:0;flex:none;padding:0;transition:transform .15s}.alg-dg:hover{transform:scale(1.06)rotate(-2deg)}.alg-meta{flex:1;min-width:0}.alg-name{font-size:17px}.alg-note{color:var(--mut);margin-top:4px;font-size:13.5px}.learn-btn{border:1px solid var(--hair);cursor:pointer;background:0 0;flex:none;width:28px;height:28px;font-size:13px}.learn-btn:hover{border-color:var(--line)}.learn-btn.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.alg-seq{word-break:break-word;-webkit-user-select:all;user-select:all;font-size:19px;line-height:1.7}.alg-seq:before{content:"› ";color:var(--mut)}.alts{font-size:14px}.alt{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.alg-actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.alg-actions .btn{flex:auto;justify-content:center}.dg{display:block}.dg-oll .on{fill:var(--fg)}.dg-oll .off{fill:none;stroke:var(--hair);stroke-width:.8px}.dg-pll .top,.dg-pll .sd{stroke:#000;stroke-width:.5px}.dg .arrows line{stroke:#111;stroke-width:1.3px;stroke-linecap:round}.dg .arrowhead{fill:#111}.dg-f2l .st{stroke:#000;stroke-width:.05px;stroke-linejoin:round}.dg-pbl{gap:4px;display:flex}.dg-pbl>div{color:var(--mut);flex-direction:column;align-items:center;font-size:9px;display:flex}.player{width:100%;position:relative}.player-host twisty-player{display:grid}.player-loading,.player-err{color:var(--mut);text-align:center;justify-content:center;align-items:center;padding:16px;font-size:12.5px;display:flex;position:absolute;inset:0}.dots:after{content:"";animation:1.2s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.drawer-backdrop,.palette-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:flex-end;animation:.18s both fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.drawer{background:var(--bg);border:1px solid var(--line);border-bottom:0;width:min(760px,100%);max-height:92vh;padding:12px 14px 16px;animation:.24s cubic-bezier(.2,.8,.2,1) both up;overflow:auto}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.drawer-head{align-items:center;gap:8px;display:flex}.drawer-head .btn{margin-left:auto}.drawer-viewer{min-height:1.6em;margin:10px 0 4px;font-size:15px}.drawer-viewer twisty-alg-viewer{font-family:var(--mono)}.legend{color:var(--mut);margin:6px 0 0;font-size:13.5px}.drawer-tools{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.drawer-tools .lbl{margin:0 4px 0 0}body.drawer-open,body.palette-open{overflow:hidden}.palette-backdrop{align-items:flex-start;padding-top:12vh}.palette{background:var(--bg);border:1px solid var(--line);width:min(640px,100% - 24px);box-shadow:6px 6px 0 var(--fg);animation:.18s both up}.palette-input{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 14px;display:flex}.palette-input input{background:0 0;border:0;outline:none;flex:1;font-size:15px}.palette ul{max-height:56vh;margin:0;padding:6px 0;list-style:none;overflow:auto}.palette li{cursor:pointer;justify-content:space-between;gap:12px;padding:7px 14px;font-size:13.5px;display:flex}.palette li small{color:var(--mut);white-space:nowrap}.palette li.on{background:var(--fg);color:var(--bg)}.palette li.on small{color:inherit;opacity:.75}.palette li.on span:before{content:"› "}.palette .empty{color:var(--mut)}.practice h1,.timer h1,.trainer h1,.solve h1,.learn-page h1{letter-spacing:1px;margin-bottom:6px;font-size:28px}.practice-grid{grid-template-columns:1.2fr 1fr;gap:18px;margin-top:12px;display:grid}@media (max-width:820px){.practice-grid{grid-template-columns:1fr}}.practice-view{border:1px solid var(--line);position:relative}.solved-banner{background:var(--fg);color:var(--bg);letter-spacing:3px;padding:8px 16px;font-weight:800;animation:.5s cubic-bezier(.2,1.6,.4,1) both pop,1s step-end .5s 3 blink;position:absolute;top:14px;left:50%;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.4)}}.msg{min-height:1.5em;color:var(--mut);word-break:break-word;margin-top:6px;font-size:14px}.msg.bad{color:var(--fg);font-weight:700}.msg.bad:before{content:"⚠ "}.tools-row{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.moves{flex-wrap:wrap;gap:5px;display:flex}.mv{border:1px solid var(--line);background:var(--bg);cursor:pointer;min-width:44px;min-height:44px;padding:8px 10px;font-size:15.5px;transition:background 80ms,color 80ms,transform 60ms}.mv:hover{background:var(--fg);color:var(--bg)}.mv:active{transform:scale(.94)}.timer-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.scramble-box{border:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:8px 16px;margin-top:14px;padding:12px 14px;display:grid}.scramble-txt{word-break:break-word;grid-column:1;font-size:20px;line-height:1.8}.scramble-meta{flex-wrap:wrap;grid-column:1;align-items:center;gap:8px;font-size:11.5px;display:flex}.scramble-preview{grid-area:1/2/span 2;width:200px}@media (max-width:640px){.scramble-box{grid-template-columns:1fr}.scramble-preview{grid-area:auto/1;width:100%}}.pad{border:1px solid var(--line);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:250px;margin-top:14px;transition:background .15s,color .15s,border-width .1s;display:flex}.pad .time{letter-spacing:2px;font-variant-numeric:tabular-nums;font-size:clamp(64px,16vw,150px);font-weight:800;line-height:1}.pad-hint{letter-spacing:2px;color:var(--mut);text-transform:uppercase;font-size:14px}.phase-holding .pad{border-style:dashed;border-width:3px}.phase-ready .pad{background:var(--fg);color:var(--bg)}.phase-ready .pad .pad-hint,.phase-running .pad .pad-hint{color:inherit;opacity:.7}.phase-inspect .pad .time{animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}body.timing .top,body.timing .foot,body.timing .timer>:not(.pad){visibility:hidden}body.timing .pad{z-index:90;border:0;margin:0;position:fixed;inset:0}body.timing.drawer-open .pad{position:static}.record{text-align:center;letter-spacing:3px;margin-top:12px;font-weight:800}.record span{background:var(--fg);color:var(--bg);padding:8px 14px;animation:.45s cubic-bezier(.2,1.6,.4,1) both pop,.9s step-end .45s 4 blink;display:inline-block;transform:none}.last-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:12.5px;display:flex}.stats{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0;margin-top:22px;display:grid}.stat{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;padding:10px 12px;display:flex}.stat span{letter-spacing:2px;color:var(--mut);text-transform:uppercase;font-size:12.5px}.stat b{font-variant-numeric:tabular-nums;font-size:24px}.stat small{color:var(--mut);font-size:10.5px}.stat.big{background:var(--fg);color:var(--bg)}.stat.big span{color:inherit;opacity:.7}.chart{border:1px solid var(--hair);margin:18px 0 0;padding:10px}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:var(--hair);stroke-dasharray:3 4}.chart .pt{fill:var(--fg)}.chart .ao5{fill:none;stroke:var(--fg);stroke-width:1.8px}.chart .ao12{fill:none;stroke:var(--mut);stroke-width:1.4px;stroke-dasharray:5 4}.chart .dnf{fill:var(--mut);font-size:10px}.chart figcaption{flex-wrap:wrap;gap:16px;margin-top:6px;font-size:11px;display:flex}.lg{border-top:2px solid var(--fg);vertical-align:middle;width:14px;height:0;margin-right:4px;display:inline-block}.lg.pt{background:var(--fg);border:0;width:5px;height:5px}.lg.ao12{border-top:2px dashed var(--mut)}.solves{margin-top:26px}.solves-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;padding-bottom:8px;display:flex}.solves-head h2{font-size:14px}.confirm{font-size:12px}.tt{border-collapse:collapse;width:100%;font-size:15px}.tt th{text-align:left;letter-spacing:2px;color:var(--mut);text-transform:uppercase;padding:6px 8px;font-size:10.5px;font-weight:400}.tt td{border-top:1px solid var(--hair);padding:7px 8px}.tt .num{font-variant-numeric:tabular-nums}.tt .n{color:var(--mut);width:1%}.tt tr.row{cursor:pointer}.tt tr.row:hover,.tt tr.row.open{background:var(--soft)}.tt tr.detail td{background:var(--soft);border-top:0;font-size:12.5px}.row-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.settings{border:1px solid var(--hair);margin-top:26px;padding:10px 14px}.settings summary{cursor:pointer;letter-spacing:1px;font-size:13px}@media (max-width:640px){.hide-sm{display:none}}.trainer-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 6px;display:flex}.seg{gap:0;display:flex}.seg .chip{border-color:var(--line)}.seg .chip+.chip{border-left:0}.trainer-stage{border:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:14px;min-height:300px;margin-top:12px;padding:20px 16px;display:flex}.stage-dg{transition:transform .3s}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(520px,100%);display:grid}.opt{border:1px solid var(--line);background:var(--bg);cursor:pointer;text-align:left;padding:14px;font-size:17px;transition:background .12s,color .12s}.opt .k{color:var(--mut);margin-right:6px}.opt:hover:not(:disabled),.opt.right{background:var(--fg);color:var(--bg)}.opt.right:after{content:"  ✓"}.opt.wrong{border-style:dashed;text-decoration:line-through}.opt:disabled{opacity:.45}.verdict{flex-direction:column;align-items:center;gap:8px;animation:.25s both enter;display:flex}.verdict code{font-size:16px}.verdict.bad b{animation:.35s shake;display:inline-block}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.exec-scr{max-width:60ch;font-size:17px;line-height:1.8}.pad.small{width:min(520px,100%);min-height:160px}.pad.small.run{background:var(--fg);color:var(--bg)}.pad.small.run .pad-hint{color:inherit;opacity:.7}.pad.small .time{font-size:clamp(44px,10vw,80px)}.case-picker{margin-top:26px}.picker-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:8px;display:flex}.picker-head h2{margin-right:8px;font-size:14px}.case-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;margin-bottom:12px;display:grid}.case{border:1px dashed var(--hair);background:var(--bg);cursor:pointer;opacity:.5;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;transition:opacity .12s,border-color .12s;display:flex}.case.on{opacity:1;border:1px solid var(--line)}.case-name{font-size:14px}.case small{color:var(--mut);font-size:10px}.ascii{font-size:clamp(10px,2.5vw,16px);line-height:1.1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.blink,.caret{animation:none!important}}.player-host{position:relative}.face-labels{pointer-events:none;z-index:2;position:absolute}.fl{background:var(--bg);border:1px solid var(--line);flex-direction:column;align-items:center;padding:3px 5px 2px;line-height:1;transition:left 80ms linear,top 80ms linear,opacity .2s;display:flex;position:absolute;transform:translate(-50%,-50%)}.fl b{font-size:15px}.fl small{letter-spacing:.5px;color:var(--mut);font-size:10px}.fl.back{opacity:.35;border-style:dashed}.notation-viewer{border:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;margin-top:14px;padding:12px;display:grid}@media (max-width:760px){.notation-viewer{grid-template-columns:1fr}}.nv-caption{border-left:3px solid var(--fg);min-height:3.2em;padding-left:10px;font-size:16px}.nv-group .lbl{margin-top:12px}.mv.on{background:var(--fg);color:var(--bg)}.subtabs{gap:0;margin:8px 0 6px;display:flex}.subtabs a{border:1px solid var(--line);padding:6px 12px;font-size:12.5px;text-decoration:none}.subtabs a+a{border-left:0}.subtabs a.on{background:var(--fg);color:var(--bg)}.purpose{color:var(--mut);max-width:80ch;margin:6px 0 10px;font-size:15.5px}.purpose b{color:var(--fg)}#cubos{scroll-margin-top:70px}.guide-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.guide-card{border:1px solid var(--line);animation:.35s both enter;animation-delay:calc(min(var(--i,0), 10) * 30ms);flex-direction:column;gap:6px;padding:14px;text-decoration:none;transition:background .12s,color .12s;display:flex}.guide-card span{color:var(--mut);font-size:15px}.guide-card small{color:var(--mut);margin-top:auto;font-size:11px}.guide-card:hover{background:var(--fg);color:var(--bg)}.guide-card:hover span,.guide-card:hover small{color:inherit;opacity:.8}.badge{letter-spacing:1.5px;text-transform:uppercase;border:1px solid;align-self:flex-start;padding:1px 6px;font-size:10px}.badge.lv-avanzado{background:var(--fg);color:var(--bg)}.badge.lv-variante{border-style:dashed}.guide-card:hover .badge.lv-avanzado{background:var(--bg);color:var(--fg)}.small{font-size:12px}.example{border:1px solid var(--line);margin-top:16px;padding:12px 14px}.example .exec-scr{margin:6px 0 10px;font-size:15px;display:block}.step-example{border-left:3px solid var(--fg);margin:12px 0;padding:8px 0 8px 12px}.parts{gap:4px;margin:8px 0 0;padding-left:22px;font-size:15px;display:grid}.parts li code{color:var(--mut);margin-left:8px}.guide-links{flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;display:flex}.guide-links .lbl{margin:0 6px 0 0}.guide-links .chip{text-decoration:none}:root{--sticker-blank:#c9c9c9}.solve-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;margin-top:10px;display:grid}@media (max-width:860px){.solve-grid{grid-template-columns:1fr}}.net{border:1px solid var(--line);background:var(--bg);cursor:crosshair;padding:10px}.net svg{width:100%;height:auto;max-height:460px;display:block}.net .locked{cursor:not-allowed}.net .bad{stroke-dasharray:.12 .08;animation:.8s step-end infinite blink;stroke:var(--fg)!important;stroke-width:.12px!important}.palette-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.swatch{border:1px solid var(--line);cursor:pointer;color:#000;flex-direction:column;justify-content:center;align-items:center;width:64px;height:54px;font-size:11px;line-height:1.1;display:flex}.swatch small{font-size:10px}.swatch.on{outline:3px solid var(--fg);outline-offset:2px}.scr-row{flex-wrap:nowrap;margin-top:8px}.btn.big{justify-content:center;width:100%;padding:14px;font-size:15px}.results h2{margin-top:16px;font-size:14px}.solve-steps{gap:14px;padding-left:22px;font-size:15px;display:grid}.scanner{z-index:110;background:var(--bg);padding:12px 16px 24px;animation:.2s both fade;position:fixed;inset:0;overflow:auto}.scan-head{justify-content:space-between;align-items:center;display:flex}.scan-view{background:#000;width:100%;max-width:760px;height:min(62vh,520px);margin:8px auto;position:relative;overflow:hidden}.scan-view video{object-fit:contain;width:100%;height:100%;display:block}.scan-view.flash:after{content:"";opacity:.6;background:#fff;position:absolute;inset:0}.scan-grid{border:3px solid #fff;display:grid;position:absolute;box-shadow:0 0 0 9999px #00000059}.scan-grid span{border:1px solid #fffc;justify-content:flex-end;align-items:flex-end;padding:3px;display:flex}.scan-grid i{border:1px solid #fff;width:30%;height:30%}.scanner .btn.big{max-width:760px;margin:0 auto}.scan-progress{justify-content:center;margin-top:10px}.chip.done{border-color:var(--line)}.theme-dot{border:2px solid var(--fg);background:linear-gradient(90deg, var(--fg) 50%, transparent 50%);vertical-align:-1px;border-radius:50%;width:12px;height:12px;display:inline-block}.cubecss{width:calc(var(--s) * 1.75);height:calc(var(--s) * 1.75);perspective:calc(var(--s) * 6);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;display:flex}.cubecss:active{cursor:grabbing}.cube3d{width:var(--s);height:var(--s);transform-style:preserve-3d;transition:transform 80ms linear;position:relative}.cubecss.spin .cube3d{animation:14s linear infinite cubespin}@keyframes cubespin{0%{transform:rotateX(-28deg)rotateY(0)}to{transform:rotateX(-28deg)rotateY(360deg)}}.cface{backface-visibility:hidden;background:#0b0b0b;transition:opacity .2s,filter .2s;display:grid;position:absolute;inset:0}.cface i{border-radius:2px;display:block}.cface.dim{filter:saturate(.15)brightness(.55)}@media (prefers-reduced-motion:reduce){.cubecss.spin .cube3d{animation:none;transform:rotateX(-28deg)rotateY(-38deg)}}.alg-visual{border:1px solid var(--hair);background:var(--soft);align-items:center;gap:10px;display:flex}.alg-visual .alg-dg{flex:none;padding:8px}.alg-3d{cursor:pointer;flex:1;min-width:0;position:relative}.play-hint{letter-spacing:1px;text-transform:uppercase;background:var(--fg);color:var(--bg);opacity:0;pointer-events:none;padding:3px 8px;font-size:12px;transition:opacity .15s;position:absolute;bottom:6px;right:6px}.alg-3d:hover .play-hint,.play-hint.go{opacity:1}.lazy-ph{color:var(--mut);justify-content:center;align-items:center;display:flex}.learn-btn:after{content:"";opacity:.25;border-bottom:2px solid;border-left:2px solid;width:10px;height:6px;margin:auto;display:block;transform:rotate(-45deg)translate(1px,-1px)}.learn-btn.on:after{opacity:1}.learn-btn{justify-content:center;align-items:center;display:flex;width:34px!important;height:34px!important}.pz-head.with-3d,.guide-head{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:24px;display:grid}.guide-head h1{margin:8px 0 6px;font-size:clamp(30px,4.5vw,46px);line-height:1.1}.turntable{border:1px solid var(--hair);background:var(--soft)}.guide-sec.with-3d{border-bottom:1px solid var(--hair);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:22px;padding-bottom:22px;display:grid}.guide-sec .gs-algs{grid-column:1/-1}.gs-3d{border:1px solid var(--hair);background:var(--soft);padding:6px;position:sticky;top:80px}.gs-3d .legend{padding:0 6px 4px}.guide-sec h2{border-bottom:0;align-items:center;gap:12px;font-size:22px;display:flex}.step-n{background:var(--fg);min-width:38px;height:38px;color:var(--bg);justify-content:center;align-items:center;font-size:19px;display:inline-flex}@media (max-width:820px){.pz-head.with-3d,.guide-head,.guide-sec.with-3d{grid-template-columns:1fr}.gs-3d{position:static}}.guide-card{align-items:center;flex-direction:row!important;gap:12px!important}.gc-text{flex-direction:column;gap:6px;min-width:0;display:flex}.pz{text-align:center;align-items:center;gap:4px!important;min-height:170px!important}.pz .cubecss,.pz .net-thumb{margin:0 auto 4px}.pz:hover .cface{filter:none}.grid-pz{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important}.net-thumb{flex:none;justify-content:center;align-items:center;display:flex}.net-thumb svg{width:100%;height:100%}.net-thumb span{color:var(--mut);font-size:13px}.tool{align-items:center;flex-direction:row!important;gap:14px!important}.tool b{font-size:17px}.tools{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important}.tool>.cubecss+b{display:block}.tool{grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;column-gap:14px;display:grid!important}.tool .cubecss{grid-row:1/span 2}details.more{margin-top:12px}details.more summary{cursor:pointer;color:var(--mut);font-size:14.5px}.pg-thumb{pointer-events:none;flex:none;margin:0 auto 4px}.scan-body{gap:12px;max-width:820px;margin:0 auto;display:grid}.scan-instr{align-items:center;gap:18px;display:flex}.scan-say{font-size:22px;line-height:1.5}.scan-say.small{font-size:17px}.sw{border:1px solid var(--line);vertical-align:-3px;width:20px;height:20px;display:inline-block}.scan-progress .chip{align-items:center;gap:6px;display:inline-flex}.scan-progress .sw{width:14px;height:14px}.scan-count{font-size:18px}.scan-mirror{position:absolute;inset:0}.scan-mirror.on{transform:scaleX(-1)}.scanner.light{color:#000;background:#fff}.scanner.light .btn{color:#000;background:#fff;border-color:#000}.scanner.light .btn.solid{color:#fff;background:#000}.scanner.light .scan-view{max-width:520px;height:min(46vh,380px)}.scanner.light .hint,.scanner.light .dim{color:#444}.paint-3d{border:1px solid var(--hair);background:var(--soft);flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;padding:18px 0 8px;display:flex}.paint-3d .cubecss{margin:30px 0 34px}.scan-wait{text-align:center;color:#bbb;justify-content:center;align-items:center;padding:20px;font-size:17px;display:flex;position:absolute;inset:0}.scan-mirror.on .scan-wait{transform:scaleX(-1)}.scan-head{max-width:820px;margin:0 auto}.scan-instr .cubecss{flex:none;margin:24px 30px}.scan-say{font-size:24px}@media (max-width:600px){.scan-instr{gap:6px}.scan-instr .cubecss{margin:14px 18px;--s:100px!important;--h:50px!important}.scan-say{font-size:19px}}.scan-view{height:min(50vh,470px)}.scan-instr .cubecss{margin:16px 30px}.guide-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.guide-card b{font-size:18px}.guide-card .badge{font-size:11px}.guide-card small{font-size:12.5px}@media (max-width:720px){.nav{gap:0}.nav a{letter-spacing:0;padding:6px 1px;font-size:13px}.nav a:before,.nav a:after{content:""}.nav a.on:before{content:"["}.nav a.on:after{content:"]"}}
