@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=Archivo:wght@500;600;700;800;900&family=JetBrains+Mono:wght@500;700&display=swap";:root{--bg:#fbf5ea;--ink:#0a0a0a;--paper:#fff;--line:#0a0a0a;--lime:#c8ff3e;--pink:#ff3e91;--yellow:#ffe03e;--blue:#3e8dff;--purple:#7c4dff;--green:#10b981;--red:#ff3b30;--accent:var(--lime);--accent-secondary:var(--pink);--accent-secondary-contrast:var(--paper);--accent-contrast:var(--ink);--cube-w:#fff;--cube-y:#ffd23e;--cube-r:#ff3b30;--cube-o:#ff8c1a;--cube-b:#1e5bff;--cube-g:#22c55e;--cube-x:#9a9a9a;--border:3px;--font-heading:"Archivo Black", system-ui, sans-serif;--font-body:"Archivo", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--text-hero:clamp(48px, 7vw, 96px);--text-section:clamp(36px, 5vw, 64px);--text-h3:36px;--text-h4:24px;--text-lg:18px;--text-base:16px;--text-sm:14px;--text-xs:13px;--text-2xs:12px;--text-3xs:11px;--text-4xs:10px;--sp-0:0;--sp-2:2px;--sp-3:3px;--sp-4:4px;--sp-5:5px;--sp-6:6px;--sp-8:8px;--sp-10:10px;--sp-12:12px;--sp-14:14px;--sp-16:16px;--sp-18:18px;--sp-20:20px;--sp-22:22px;--sp-24:24px;--sp-28:28px;--sp-30:30px;--sp-32:32px;--sp-36:36px;--sp-40:40px;--sp-48:48px;--sp-56:56px;--sp-64:64px;--nav-h:70px;--shadow-xs:2px 2px 0 0 var(--ink);--shadow-sm:3px 3px 0 0 var(--ink);--shadow-md:4px 4px 0 0 var(--ink);--shadow-lg:5px 5px 0 var(--ink);--shadow-xl:6px 6px 0 var(--ink);--shadow-2xl:8px 8px 0 var(--ink);--shadow-hover:10px 10px 0 0 var(--ink)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-weight:600}body{overflow-x:clip}html{scroll-padding-top:var(--nav-h)}.wrap{max-width:1320px;margin:0 auto;padding:0 28px}html{scrollbar-width:thin;scrollbar-color:var(--ink) var(--bg)}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-thumb:active{background:var(--accent-secondary)}::-webkit-scrollbar-corner{background:var(--bg)}nav.top{z-index:50;background:var(--bg);border-bottom:var(--border) solid var(--ink);position:sticky;top:0}nav.top .row{justify-content:space-between;align-items:center;gap:12px;max-width:1320px;margin:0 auto;padding:14px 28px;display:flex}.logo{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.logo .mark{border:3px solid var(--ink);background:var(--accent);gap:2px;width:38px;height:38px;padding:3px;display:grid}.logo .mark span{background:var(--ink)}.logo .mark.mark-3x3{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}.logo .mark.mark-3x3 span:first-child,.logo .mark.mark-3x3 span:nth-child(5),.logo .mark.mark-3x3 span:nth-child(9){background:var(--accent-secondary)}.logo .mark.mark-2x2{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:3px;padding:4px}.logo .mark.mark-2x2 span:first-child,.logo .mark.mark-2x2 span:nth-child(4){background:var(--accent-secondary)}.logo .mark.mark-4x4{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:1.5px}.logo .mark.mark-4x4 span:first-child,.logo .mark.mark-4x4 span:nth-child(6),.logo .mark.mark-4x4 span:nth-child(11),.logo .mark.mark-4x4 span:nth-child(16){background:var(--accent-secondary)}.logo .mark.mark-5x5{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);gap:1px}.logo .mark.mark-5x5 span:first-child,.logo .mark.mark-5x5 span:nth-child(7),.logo .mark.mark-5x5 span:nth-child(13),.logo .mark.mark-5x5 span:nth-child(19),.logo .mark.mark-5x5 span:nth-child(25){background:var(--accent-secondary)}.logo .mark.mark-pyra{justify-content:center;align-items:center;display:flex}.logo .mark.mark-pyra svg{width:24px;height:21px}.logo .mark.mark--svg{background:0 0;border:0;padding:0;display:block}.logo .mark.mark--svg svg{width:100%;height:100%;display:block}.logo .name{font-family:var(--font-heading);letter-spacing:.5px;font-size:22px}nav.top ul{gap:6px;margin:0;padding:0;list-style:none;display:flex}nav.top ul a{color:var(--ink);font-family:var(--font-body);text-transform:uppercase;letter-spacing:1.2px;border:3px solid #0000;padding:10px 14px;font-size:12px;font-weight:800;text-decoration:none}nav.top ul a:hover{border-color:var(--ink);background:var(--paper)}nav.top ul a.active{border-color:var(--ink);background:var(--accent);color:var(--accent-contrast)}.nav-cta{background:var(--accent);color:var(--accent-contrast);border:3px solid var(--ink);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.4px;box-shadow:4px 4px 0 0 var(--ink);align-items:center;gap:8px;padding:10px 16px;font-size:12px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.nav-cta:hover{box-shadow:8px 8px 0 0 var(--ink);transform:translate(-4px,-4px)}.nav-cta:active{box-shadow:2px 2px 0 0 var(--ink);transform:translate(2px,2px)}.nav-cta .cta-ico{flex-shrink:0;width:16px;height:16px}.nav-menu{display:contents}.nav-toggle{background:var(--accent);border:3px solid var(--ink);width:44px;height:44px;box-shadow:3px 3px 0 0 var(--ink);cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:0;display:none}.nav-toggle span{background:var(--ink);width:22px;height:3px;margin:0 auto;transition:transform .2s,opacity .2s;display:block}.nav-toggle.open span:first-child{transform:translateY(8px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}@media (width<=1024px){nav.top .row{gap:8px;padding:12px 18px}nav.top ul{gap:2px}nav.top ul a{letter-spacing:.6px;padding:8px 9px;font-size:11px}.nav-cta{letter-spacing:1px;padding:9px 12px;font-size:11px}.logo .name{font-size:19px}}@media (width<=768px){nav.top .row{flex-wrap:nowrap;padding:10px 16px;position:relative}.nav-toggle{display:flex}.nav-menu{z-index:49;background:var(--bg);border-bottom:var(--border) solid var(--ink);opacity:0;pointer-events:none;flex-direction:column;align-items:stretch;gap:14px;max-height:0;padding:0 16px;transition:max-height .28s,opacity .2s,padding .28s;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden}.nav-menu.open{opacity:1;pointer-events:auto;max-height:75vh;padding:16px;overflow-y:auto}nav.top ul{flex-direction:column;align-items:stretch;gap:6px;width:100%}nav.top ul a{border:3px solid var(--ink);background:var(--paper);display:block}.nav-cta{justify-content:center;width:100%}.logo .name{font-size:18px}}.hero{border-bottom:var(--border) solid var(--ink);padding:56px 0 40px}.hero-grid{grid-template-columns:1.2fr .9fr;align-items:center;gap:48px;display:grid}@media (width<=900px){.hero-grid{grid-template-columns:1fr}}.eyebrow{background:var(--ink);color:var(--bg);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:inline-flex}.eyebrow .dot{background:var(--accent);border-radius:50%;width:8px;height:8px}h1.title{font-family:var(--font-heading);font-size:var(--text-hero);letter-spacing:-1.5px;text-transform:uppercase;margin:18px 0 16px;line-height:.92}h1.title .hl{background:var(--accent);color:var(--accent-contrast);border:3px solid var(--ink);padding:0 .12em;display:inline-block;transform:rotate(-1deg)}h1.title .hl2{background:var(--accent-secondary);border:3px solid var(--ink);color:var(--ink);padding:0 .12em;display:inline-block}.lede{color:#111;max-width:52ch;font-size:18px;font-weight:600;line-height:1.5}.hero-stats{flex-wrap:wrap;gap:14px;margin-top:24px;display:flex}.stat{background:var(--paper);border:3px solid var(--ink);box-shadow:4px 4px 0 0 var(--ink);min-width:120px;padding:10px 14px}.stat b{font-family:var(--font-heading);font-size:24px;line-height:1;display:block}.stat span{text-transform:uppercase;letter-spacing:1.3px;color:#444;font-size:11px}.section{border-bottom:var(--border) solid var(--ink);padding:64px 0}.section.alt{background:var(--lime);color:var(--ink)}.section.alt h2 .hl,.section.alt h2 .num{background:var(--paper);color:var(--ink);border-color:var(--ink)}.section.alt h2 .num{box-shadow:6px 6px 0 var(--accent-secondary)}.section.alt .small,.section.alt .lede{color:#2a2a2a}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}h2.section-title{font-family:var(--font-heading);font-size:var(--text-section);letter-spacing:-1px;text-transform:uppercase;margin:0;line-height:.95}h2.section-title .num{background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--accent-secondary);margin-right:14px;padding:2px 14px;display:inline-block}.small{text-transform:uppercase;letter-spacing:1.6px;color:#555;max-width:46ch;font-size:13px;font-weight:800}.lib{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:24px;display:grid}@media (width<=1000px){.lib{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.lib{grid-template-columns:1fr}}.grid-2{grid-template-columns:repeat(2,1fr);align-items:start;gap:22px;display:grid}@media (width<=760px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(3,1fr);align-items:start;gap:22px;display:grid}@media (width<=900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.grid-3{grid-template-columns:1fr}}.grid-4{grid-template-columns:repeat(4,1fr);align-items:start;gap:22px;display:grid}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.grid-4{grid-template-columns:1fr}}footer{background:var(--ink);color:var(--bg)}.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding:56px 0 40px;display:grid}@media (width<=900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}}@media (width<=560px){.footer-grid{grid-template-columns:1fr}}.footer-logo{align-items:center;gap:12px;display:flex}.footer-mark{flex-shrink:0;width:40px;height:40px;display:block}.footer-name{font-family:var(--font-heading);letter-spacing:.5px;font-size:22px}.footer-desc{color:#9b958c;max-width:40ch;margin:16px 0 0;font-size:14px;font-weight:600;line-height:1.6}.footer-social{color:#9b958c;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}.footer-social svg{flex-shrink:0}.footer-social:hover{color:var(--accent)}.footer-col h4{font-family:var(--font-heading);letter-spacing:1.6px;text-transform:uppercase;color:var(--bg);margin:0 0 16px;font-size:12px}.footer-col ul{gap:11px;margin:0;padding:0;list-style:none;display:grid}.footer-col a,.footer-col .footer-handle{color:#9b958c;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s}.footer-col a:hover{color:var(--accent)}.footer-bottom{font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;color:#7d776e;border-top:2px solid #fbf5ea24;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:20px 0;font-size:11px;display:flex}.card{border:var(--border) solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 0 var(--ink);color:inherit;flex-direction:column;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.card.linkable{cursor:pointer}.card.linkable:hover,.card:hover{box-shadow:10px 10px 0 0 var(--ink);transform:translate(-4px,-4px)}.card.locked{opacity:.78}.single-card{max-width:520px;margin:0 auto}.thumb{aspect-ratio:16/10;border-bottom:var(--border) solid var(--ink);background:linear-gradient(135deg,#1a1a1a 0%,#0a0a0a 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.thumb:before{content:"";background-image:repeating-linear-gradient(45deg,#ffffff0a 0 12px,#0000 12px 24px);position:absolute;inset:0}.thumb-cube{z-index:2;position:relative}.badge-fav{background:var(--paper);border:3px solid var(--ink);z-index:5;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;left:10px}.badge-fav svg{width:16px;height:16px;stroke:var(--ink);stroke-width:2.5px;fill:none}.badge-disc{z-index:5;background:var(--accent-secondary);color:#fff;border:3px solid var(--ink);font-family:var(--font-heading);letter-spacing:.5px;padding:4px 10px;font-size:13px;position:absolute;top:10px;right:10px}.tag-status{z-index:5;border:3px solid var(--ink);font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;padding:6px 10px;font-size:11px;position:absolute;bottom:10px;left:10px}.tag-status.go{background:var(--accent);color:var(--accent-contrast)}.tag-status.soon{background:var(--yellow);color:var(--ink)}.tag-cat{z-index:5;background:var(--paper);border:3px solid var(--ink);font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;padding:6px 10px;font-size:11px;position:absolute;bottom:10px;right:10px}.meta{flex:auto;padding:16px 18px 18px}.meta h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.4px;margin:0 0 12px;font-size:16px;line-height:1.15}.meta .sub{font-family:var(--font-heading);letter-spacing:1.6px;color:#777;text-transform:uppercase;margin-bottom:10px;font-size:11px}.meta p{color:#222;margin:0;font-size:14px;line-height:1.5}.info-row{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.chip{font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;border:2px solid var(--ink);background:var(--bg);color:var(--ink);padding:4px 8px;font-size:10px}.chip.lvl{background:var(--accent);color:var(--accent-contrast)}.chip.alg{background:var(--paper)}.chip.vid{background:var(--yellow)}.play-row{border-top:var(--border) solid var(--ink);color:var(--ink);font-family:var(--font-heading);letter-spacing:1.6px;text-transform:uppercase;background:var(--paper);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;font-size:13px;text-decoration:none;display:flex}.card.linkable:hover .play-row,.play-row:hover{background:var(--accent);color:var(--accent-contrast)}.play-row .arrow{font-size:18px}.play-row.locked{color:#888}.price-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.price-now{background:var(--accent);color:var(--accent-contrast);border:3px solid var(--ink);font-family:var(--font-heading);padding:4px 10px;font-size:18px}.price-now.locked{color:#666;background:#eee}.price-old{font-family:var(--font-heading);color:#9a9a9a;font-size:14px;text-decoration:line-through}.save-line{font-family:var(--font-heading);letter-spacing:.8px;text-transform:uppercase;margin-top:10px;font-size:13px}.save-line .gray{color:#666;font-weight:600;font-family:var(--font-body);text-transform:none;letter-spacing:0;margin-top:4px;font-size:12px;display:block}.yt-slot{color:#fff;width:100%;height:100%;font-family:var(--font-mono);letter-spacing:1px;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:11px;display:flex;position:absolute;inset:0}.yt-slot .ytbtn{background:var(--pink);border:3px solid var(--ink);width:72px;height:50px;box-shadow:4px 4px 0 var(--ink);z-index:3;place-items:center;display:grid;position:relative}.yt-slot .ytbtn:after{content:"";border:14px solid #0000;border-left-color:#fff;width:0;height:0;margin-left:6px}.yt-slot .lbl{background:var(--paper);color:var(--ink);border:3px solid var(--ink);font-family:var(--font-heading);letter-spacing:1.6px;text-transform:uppercase;z-index:3;padding:4px 10px;font-size:11px}.btn{background:var(--accent);color:var(--accent-contrast);border:3px solid var(--ink);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.4px;box-shadow:4px 4px 0 0 var(--ink);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:12px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn.pink{background:var(--pink);color:#fff}.btn:hover{box-shadow:8px 8px 0 0 var(--ink);transform:translate(-4px,-4px)}.btn:active{box-shadow:2px 2px 0 0 var(--ink);transform:translate(2px,2px)}.marquee{background:var(--accent);color:var(--accent-contrast);border-top:var(--border) solid var(--ink);border-bottom:var(--border) solid var(--ink);white-space:nowrap;overflow:hidden}.marquee-track{font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;gap:42px;padding:12px 0;font-size:18px;animation:30s linear infinite marq;display:inline-flex}.marquee-track span{align-items:center;gap:42px;display:inline-flex}.marquee-track i{color:var(--accent-secondary);-webkit-text-stroke:1.5px var(--ink);font-style:normal}@keyframes marq{0%{transform:translate(0)}to{transform:translate(-50%)}}.layer-grid{grid-template-columns:380px 1fr;align-items:start;gap:32px;display:grid}@media (width<=900px){.layer-grid{grid-template-columns:1fr}}.layer-side{position:sticky;top:96px}@media (width<=900px){.layer-side{position:static}}.layer-card{background:var(--paper);border:var(--border) solid var(--ink);box-shadow:8px 8px 0 var(--ink);color:var(--ink);padding:22px}.section.alt .layer-card{color:var(--ink)}.layer-card .tag{background:var(--accent-secondary);color:#fff;border:3px solid var(--ink);font-family:var(--font-heading);letter-spacing:1.6px;text-transform:uppercase;margin-bottom:10px;padding:4px 10px;font-size:11px;display:inline-block}.layer-card h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.5px;margin:4px 0 8px;font-size:30px}.layer-card p{color:#222;margin:0 0 16px;font-size:14px;line-height:1.5}.alg-list{gap:18px;display:grid}.alg{background:var(--paper);border:var(--border) solid var(--ink);box-shadow:6px 6px 0 var(--ink);color:var(--ink);grid-template-columns:1fr auto;gap:0;display:grid}.alg .lhs{padding:18px 20px}.alg .rhs{background:var(--ink);color:var(--bg);border-left:3px solid var(--ink);flex-direction:column;justify-content:center;align-items:flex-start;min-width:240px;padding:18px 20px;display:flex}.alg .label{border:3px solid var(--ink);background:var(--accent);color:var(--accent-contrast);font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:8px;padding:4px 10px;font-size:11px;display:inline-block}.alg .label.alt2{background:var(--yellow);color:var(--ink)}.alg .label.alt3{background:var(--pink);color:#fff}.alg h4{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.3px;margin:0 0 4px;font-size:20px}.alg p{color:#333;max-width:42ch;margin:6px 0 0;font-size:13px;line-height:1.5}.alg .move{font-family:var(--font-mono);letter-spacing:1px;color:#fff;font-size:18px;font-weight:700}.alg .move .sup{color:var(--accent)}.alg .move-small{font-family:var(--font-mono);color:#bbb;margin-top:6px;font-size:13px;display:block}.alg .move-row{flex-direction:column;gap:6px;width:100%;display:flex}.alg .side-label{font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:10px}.mini-cubes{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}@media (width<=600px){.alg{grid-template-columns:1fr}.alg .rhs{border-left:none;border-top:3px solid var(--ink);min-width:0}}.key-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:16px;display:grid}.key{background:var(--paper);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:10px 12px}.key b{font-family:var(--font-mono);margin-bottom:2px;font-size:18px;display:block}.key span{color:#444;font-size:12px}.step-wrap{gap:32px;display:grid}.step{background:var(--paper);border:var(--border) solid var(--ink);box-shadow:8px 8px 0 var(--ink)}.section.alt .step{background:var(--paper);color:var(--ink)}.step-head{border-bottom:3px solid var(--ink);background:var(--bg);flex-wrap:wrap;align-items:center;gap:14px;padding:18px 22px;display:flex}.step-tag{font-family:var(--font-heading);letter-spacing:1.6px;text-transform:uppercase;background:var(--ink);color:var(--bg);padding:6px 10px;font-size:11px}.step-head h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.4px;flex:1;margin:0;font-size:24px}.step-count{font-family:var(--font-heading);letter-spacing:1.4px;background:var(--accent);color:var(--accent-contrast);border:3px solid var(--ink);padding:4px 10px;font-size:12px}.step-body{padding:22px}.step-body p{color:#222;margin:0 0 18px;font-size:14px;line-height:1.55}.case-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.case{border:3px solid var(--ink);background:var(--bg);box-shadow:5px 5px 0 var(--ink);flex-direction:column;display:flex}.case .vis{background:var(--ink);border-bottom:3px solid var(--ink);justify-content:center;align-items:center;gap:8px;min-height:140px;padding:22px;display:flex}.case .name{background:var(--paper);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.5px;border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.case .name .pill{font-family:var(--font-heading);letter-spacing:1.4px;background:var(--accent);color:var(--accent-contrast);border:2px solid var(--ink);padding:2px 6px;font-size:10px}.case .name .pill.pink{background:var(--pink);color:#fff}.case .name .pill.yellow{background:var(--yellow);color:var(--ink)}.case .pdesc{border-bottom:3px solid var(--ink);padding:12px 14px;font-size:13px;line-height:1.55}.case .move{background:var(--ink);color:#fff;font-family:var(--font-mono);letter-spacing:.5px;word-break:break-word;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.5}.case .move .sup{color:var(--accent)}.case .move .alt{color:#888;font-size:12px;font-family:var(--font-body);margin-top:6px;font-weight:600;display:block}.flow{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:22px;display:grid}@media (width<=900px){.flow{grid-template-columns:1fr}}.flow.flow-4{grid-template-columns:repeat(4,1fr);gap:16px}@media (width<=900px){.flow.flow-4{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.flow.flow-4{grid-template-columns:1fr}}.flow-card{background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);flex-direction:column;gap:14px;padding:22px;display:flex;position:relative}.flow-card .step-no{font-family:var(--font-heading);letter-spacing:-2px;font-size:50px;line-height:.9}.flow-card .step-name{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.2px;font-size:20px}.flow-card .step-desc{font-size:14px;line-height:1.5}.flow-card .mini-cube,.flow-card .face-icon{align-self:center;margin:6px 0}a.flow-card{color:inherit;text-decoration:none;transition:transform .12s,box-shadow .12s}a.flow-card:hover{box-shadow:10px 10px 0 var(--ink);transform:translate(-4px,-4px)}a.flow-card:active{box-shadow:3px 3px 0 var(--ink);transform:translate(2px,2px)}.flow-card .step-go{font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;margin-top:auto;font-size:12px}.flow-card.s1 .step-no{color:var(--accent);-webkit-text-stroke:1.5px var(--ink)}.flow-card.s2 .step-no{color:var(--accent-secondary);-webkit-text-stroke:1.5px var(--ink)}.flow-card.s3 .step-no{color:var(--yellow);-webkit-text-stroke:1.5px var(--ink)}.flow-card.s4 .step-no{color:var(--blue);-webkit-text-stroke:1.5px var(--ink)}.concept{grid-template-columns:1fr 1fr;align-items:center;gap:32px;display:grid}@media (width<=900px){.concept{grid-template-columns:1fr}}.concept .box{background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:24px}.concept h3{font-family:var(--font-heading);text-transform:uppercase;margin:0 0 12px;font-size:28px}.concept p{margin:0 0 12px;font-size:15px;line-height:1.55}.pair-vis{background:var(--bg);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);justify-content:center;align-items:center;gap:18px;padding:24px;display:flex}.pair-vis .corner-edge{grid-template-columns:46px 46px;gap:6px;display:grid}.pair-vis .corner-edge .blk{border:3px solid var(--ink);height:46px}.pair-vis .arr{font-family:var(--font-heading);font-size:36px}.pair-vis .slot{border:3px dashed var(--ink);width:96px;height:96px;font-family:var(--font-heading);letter-spacing:1.4px;color:#777;place-items:center;font-size:11px;display:grid}.demo-stage{background:var(--bg);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);justify-content:center;align-items:center;min-height:280px;padding:30px;display:flex;position:relative}.demo-cube{--size:160px;width:var(--size);height:var(--size);transform-style:preserve-3d;position:relative;transform:rotateX(-26deg)rotateY(-32deg)}.demo-cube .face{border:3px solid var(--ink);background:var(--ink);gap:6px;padding:8px;display:grid}.demo-cube .sticker{border:2px solid var(--ink);border-radius:6px}.note{background:var(--bg);border:3px solid var(--ink);align-items:flex-start;gap:14px;margin-top:16px;padding:16px;font-size:13px;line-height:1.5;display:flex}.note b{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:4px;font-size:11px;display:block}.note .ico{background:var(--pink);color:#fff;border:3px solid var(--ink);width:40px;height:40px;font-family:var(--font-heading);flex-shrink:0;place-items:center;font-size:22px;display:grid}.nota-scheme{background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);grid-template-columns:auto 1fr;align-items:center;gap:40px;margin-bottom:40px;padding:32px 36px;display:grid}@media (width<=700px){.nota-scheme{grid-template-columns:1fr;padding:24px 20px}}.cube-net{grid-template-rows:repeat(3,64px);grid-template-columns:repeat(4,64px);gap:4px;display:grid}.cube-net .nf{border:3px solid var(--ink);font-family:var(--font-heading);color:var(--ink);justify-content:center;align-items:center;font-size:18px;display:flex}.cube-net .nf.dark{color:#fff}.cube-net .nf.empty{background:0 0;border:none}@media (width<=700px){.cube-net{grid-template-rows:repeat(3,50px);grid-template-columns:repeat(4,50px)}.cube-net .nf{font-size:14px}}.scheme-legend{gap:8px;display:grid}.scheme-legend .sl{font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:10px;font-size:13px;display:flex}.scheme-legend .sl .dot{border:3px solid var(--ink);flex-shrink:0;width:24px;height:24px}.nota-axes{font-family:var(--font-mono);letter-spacing:.5px;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.nota-axes span{align-items:center;gap:8px;display:flex}.nota-axes .ax{text-align:center;border:2px solid var(--ink);width:22px;height:22px;line-height:22px;font-family:var(--font-heading);font-size:12px;display:inline-block}.scheme-cube-wrap{flex-shrink:0;position:relative}.scheme-cube-wrap .nc{width:200px;margin-left:10em}.scheme-cube-wrap .nc svg{width:100%;height:auto;display:block}@media (width<=700px){.scheme-cube-wrap .nc{width:140px;margin-left:0}}.scheme-lbl{font-family:var(--font-heading);letter-spacing:.5px;white-space:nowrap;color:var(--ink);font-size:14px;position:absolute}.scheme-info{color:#222;font-size:15px;line-height:1.7}.scheme-info .scheme-info-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.2px;color:var(--ink);margin:0 0 14px;font-size:18px}.scheme-info p{margin:0 0 18px}.scheme-info .face-list{grid-template-columns:1fr 1fr;gap:10px 28px;margin:0;padding:0;list-style:none;display:grid}.scheme-info .face-list li{font-family:var(--font-body);align-items:center;gap:12px;font-size:15px;font-weight:700;display:flex}.scheme-info .face-list .fl-key{font-family:var(--font-heading);border:3px solid var(--ink);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}@media (width<=500px){.scheme-info .face-list{grid-template-columns:1fr}}.nota-group{margin-bottom:36px}.nota-group:last-child{margin-bottom:0}.nota-group-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;align-items:center;gap:12px;margin:0 0 16px;font-size:15px;display:flex}.nota-group-title:after{content:"";background:var(--ink);flex:1;height:3px}.nota-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=1000px){.nota-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.nota-grid{grid-template-columns:repeat(2,1fr)}}.parts-grid{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:16px;max-width:560px;margin:0 auto 40px;display:grid}.nota-card{background:var(--paper);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-align:center;padding:10px 10px 14px}.nota-card .nc{max-width:140px;margin:0 auto}.nota-card .nc svg{width:100%;height:auto;display:block}.nc2{height:170px;position:relative}.nc2 svg{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)}.nota-card .nl{font-family:var(--font-heading);letter-spacing:.5px;margin-top:6px;font-size:26px;line-height:1.1}.nota-card .ns{color:#555;letter-spacing:.3px;margin-top:2px;font-size:11px;font-weight:700}.notation-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:14px;display:grid}.notation-grid .item{background:var(--paper);border:2px solid var(--ink);padding:8px 12px;font-size:12px;line-height:1.4}.notation-grid .item b{font-family:var(--font-mono);color:var(--accent);font-size:15px;display:block}.about-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;display:grid}@media (width<=900px){.about-grid{grid-template-columns:1fr}}.about-grid h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.5px;margin:0 0 16px;font-size:36px;line-height:1}.about-grid p{margin:0 0 12px;font-size:16px;line-height:1.55}.principle-list{gap:14px;margin-top:18px;display:grid}.principle{background:var(--paper);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);align-items:flex-start;gap:14px;padding:14px;display:flex}.principle .n{font-family:var(--font-heading);background:var(--accent);color:var(--accent-contrast);border:3px solid var(--ink);text-align:center;min-width:38px;padding:0 10px;font-size:24px}.principle .t{font-family:var(--font-heading);letter-spacing:.4px;text-transform:uppercase;margin-bottom:4px;font-size:14px}.principle .d{color:#333;font-size:13px;line-height:1.5}.contrib{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=900px){.contrib{grid-template-columns:1fr}}.contrib .box{background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:22px}.contrib h4{font-family:var(--font-heading);text-transform:uppercase;margin:0 0 8px;font-size:22px}.contrib p{margin:0 0 14px;font-size:14px;line-height:1.5}.modal-overlay{z-index:999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#0a0a0a8c;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-box{background:var(--bg);border:var(--border) solid var(--ink);box-shadow:6px 6px 0 0 var(--ink);text-align:center;width:90%;max-width:380px;padding:32px 36px;transition:transform .15s;transform:scale(.92)}.modal-overlay.open .modal-box{transform:scale(1)}.modal-icon{margin-bottom:12px;font-size:32px}.modal-title{font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-size:16px}.modal-desc{font-family:var(--font-body);color:#666;margin-bottom:24px;font-size:13px;font-weight:600;line-height:1.5}.modal-actions{justify-content:center;gap:10px;display:flex}.modal-btn{font-family:var(--font-body);letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;border:var(--border) solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);padding:10px 22px;font-size:12px;font-weight:800;transition:transform .1s,box-shadow .1s}.modal-btn:active{box-shadow:1px 1px 0 0 var(--ink);transform:translate(2px,2px)}.modal-btn-cancel{background:var(--paper);color:var(--ink)}.modal-btn-cancel:hover{background:#f0f0f0}.modal-btn-confirm{background:var(--pink);color:#fff}.modal-btn-confirm:hover{background:#e6357f}.tools-box{background:var(--bg);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);width:92%;max-width:560px;padding:22px;transition:transform .15s;transform:scale(.94)}.modal-overlay.open .tools-box{transform:scale(1)}.tools-head{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;display:flex}.tools-head-label{font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;font-size:15px}.tools-close{border:2px solid var(--ink);background:var(--paper);width:32px;height:32px;color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--ink);flex-shrink:0;font-size:15px;line-height:1;transition:transform .1s,box-shadow .1s}.tools-close:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.tools-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.tool-card{text-align:left;border:3px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--ink);flex-direction:column;align-items:flex-start;gap:8px;padding:18px;transition:transform .12s,box-shadow .12s,background .12s;display:flex}.tool-card:hover{box-shadow:7px 7px 0 var(--ink);background:var(--bg);transform:translate(-3px,-3px)}.tool-card:active{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.tool-card-icon{border:3px solid var(--ink);background:var(--accent);width:42px;height:42px;color:var(--accent-contrast);place-items:center;display:grid}.tool-card-icon svg{width:24px;height:24px}.tool-card-title{font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;font-size:15px}.tool-card-desc{font-family:var(--font-body);color:#666;font-size:12.5px;font-weight:600;line-height:1.45}@media (width<=560px){.tools-grid{grid-template-columns:1fr}}.next-step{background:var(--accent);padding:48px 0}.next-step .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.next-step .ns-tag{font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;background:var(--ink);color:var(--accent);margin-bottom:10px;padding:4px 10px;font-size:12px;display:inline-block}.next-step h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.5px;color:var(--ink);margin:0;font-size:36px;line-height:1}.next-step .ns-btn{background:var(--ink);color:var(--accent);border:3px solid var(--ink);font-family:var(--font-heading);letter-spacing:1.6px;text-transform:uppercase;box-shadow:6px 6px 0 var(--accent-secondary);align-items:center;gap:10px;padding:16px 22px;font-size:14px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.next-step .ns-btn:hover{box-shadow:10px 10px 0 var(--accent-secondary);transform:translate(-4px,-4px)}.next-step .ns-btn:active{box-shadow:3px 3px 0 var(--accent-secondary);transform:translate(2px,2px)}.w{background:var(--cube-w)}.y{background:var(--cube-y)}.r{background:var(--cube-r)}.o{background:var(--cube-o)}.b{background:var(--cube-b)}.g{background:var(--cube-g)}.x{background:var(--cube-x)}.cube-stage{justify-content:center;align-items:center;height:380px;display:flex;position:relative}.iso-cube{--size:200px;--cube-tilt:-28deg;width:var(--size);height:var(--size);transform-style:preserve-3d;transform:rotateX(var(--cube-tilt)) rotateY(-38deg);animation:18s linear infinite spin;position:relative}@keyframes spin{0%{transform:rotateX(var(--cube-tilt)) rotateY(-38deg)}50%{transform:rotateX(var(--cube-tilt)) rotateY(-218deg)}to{transform:rotateX(var(--cube-tilt)) rotateY(-398deg)}}.face{border:4px solid var(--ink);background:var(--ink);gap:6px;padding:8px;display:grid;position:absolute;inset:0}.face.face-2x2{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:8px;padding:10px}.face.face-3x3{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}.face.face-4x4{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:4px;padding:6px}.face.face-5x5{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);gap:3px;padding:5px}.sticker{border:2px solid var(--ink);border-radius:6px}.face.face-4x4 .sticker{border-width:1.5px;border-radius:4px}.face.face-5x5 .sticker{border-width:1.5px;border-radius:3px}.face.face-2x2 .sticker{border-radius:8px}.f-front{transform:translateZ(calc(var(--size) / 2))}.f-back{transform:rotateY(180deg) translateZ(calc(var(--size) / 2))}.f-right{transform:rotateY(90deg) translateZ(calc(var(--size) / 2))}.f-left{transform:rotateY(-90deg) translateZ(calc(var(--size) / 2))}.f-top{transform:rotateX(90deg) translateZ(calc(var(--size) / 2))}.f-bot{transform:rotateX(-90deg) translateZ(calc(var(--size) / 2))}.float-badge{z-index:10;font-family:var(--font-heading);border:3px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 0 var(--ink);text-transform:uppercase;letter-spacing:1.2px;padding:6px 10px;font-size:14px;position:absolute}.fb-1{background:var(--accent);color:var(--accent-contrast);top:14px;left:4%;transform:rotate(-6deg)}.fb-2{background:var(--accent-secondary);color:var(--accent-secondary-contrast);bottom:28px;left:0;transform:rotate(4deg)}.fb-3{background:var(--yellow);top:50%;right:0;transform:rotate(8deg)}.algcube-box{border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:0 0;margin-top:16px;padding:20px}.algwatch-btn{border:2px solid var(--ink);background:var(--accent);color:var(--accent-contrast);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);align-items:center;gap:5px;padding:4px 9px;font-size:11px;transition:transform .1s,box-shadow .1s;display:inline-flex}.algwatch-btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.algwatch-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.alg .rhs .algwatch-btn{align-self:flex-start;margin-top:12px}.nota-card .algwatch-btn{margin-top:8px}.algwatch-box{background:var(--bg);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);width:92%;max-width:440px;padding:20px}.algwatch-box .algcube-box{box-shadow:none;border:none;margin-top:14px;padding:0}.algwatch-head{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.algwatch-title-label{font-family:var(--font-heading);letter-spacing:1.6px;color:#777;font-size:12px}.algcube-seq{font-family:var(--font-mono);flex-wrap:wrap;gap:6px;margin:16px 0 4px;font-size:16px;font-weight:700;display:flex}.algcube-seq .tok{color:var(--ink);border:2px solid #0000;border-radius:4px;padding:2px 7px;transition:background .1s,color .1s}.algcube-seq .tok.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--ink)}.algwatch-close{border:2px solid var(--ink);background:var(--paper);width:32px;height:32px;color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--ink);flex-shrink:0;font-size:15px;line-height:1;transition:transform .1s,box-shadow .1s}.algwatch-close:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.algcube-stage{perspective:1100px;justify-content:center;align-items:center;height:260px;display:flex;overflow:hidden}.algcube{--cs:56px;width:0;height:0;transform-style:preserve-3d;position:relative;transform:rotateX(-26deg)rotateY(-34deg)}.cubie{width:var(--cs);height:var(--cs);margin-left:calc(var(--cs) / -2);margin-top:calc(var(--cs) / -2);transform-style:preserve-3d;position:absolute;top:0;left:0}.cface{background:#0b0b0b;border:1px solid #000;position:absolute;inset:0}.cface.F{transform:translateZ(calc(var(--cs) / 2))}.cface.B{transform:rotateY(180deg) translateZ(calc(var(--cs) / 2))}.cface.R{transform:rotateY(90deg) translateZ(calc(var(--cs) / 2))}.cface.L{transform:rotateY(-90deg) translateZ(calc(var(--cs) / 2))}.cface.U{transform:rotateX(90deg) translateZ(calc(var(--cs) / 2))}.cface.D{transform:rotateX(-90deg) translateZ(calc(var(--cs) / 2))}.csticker{border-radius:7px;position:absolute;inset:5px;box-shadow:inset 0 0 0 1.5px #0006}.algcube-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.algcube-input{min-width:180px;font-family:var(--font-mono);letter-spacing:1px;border:3px solid var(--ink);background:var(--bg);color:var(--ink);flex:1;padding:10px 12px;font-size:15px;font-weight:700}.algcube-input:focus{box-shadow:3px 3px 0 var(--accent);outline:none}.algcube-btn{border:3px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.4px;cursor:pointer;box-shadow:4px 4px 0 var(--ink);padding:10px 16px;font-size:12px;transition:transform .12s,box-shadow .12s}.algcube-btn.primary{background:var(--accent);color:var(--accent-contrast)}.algcube-btn:hover:not(:disabled){box-shadow:7px 7px 0 var(--ink);transform:translate(-3px,-3px)}.algcube-btn:active:not(:disabled){box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.algcube-btn:disabled{opacity:.5;cursor:default}.algcube-speed{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.algcube-speed-label{font-family:var(--font-heading);letter-spacing:1.6px;color:#555;margin-right:4px;font-size:12px}.algcube-speed-btn{border:2px solid var(--ink);background:var(--bg);color:var(--ink);font-family:var(--font-mono);cursor:pointer;padding:5px 11px;font-size:13px;font-weight:700;transition:background .12s,color .12s}.algcube-speed-btn:hover{background:var(--ink);color:var(--paper)}.algcube-speed-btn.active{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--accent)}.algcube-presets{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.algcube-chip{border:2px solid var(--ink);background:var(--bg);color:var(--ink);font-family:var(--font-mono);cursor:pointer;padding:6px 10px;font-size:13px;font-weight:700;transition:background .12s,color .12s}.algcube-chip:hover:not(:disabled){background:var(--ink);color:var(--paper)}.algcube-chip:disabled{opacity:.5;cursor:default}.algcube-hint{color:#665;margin:12px 0 0;font-size:12px;line-height:1.5}.face2d{background:var(--ink);border:3px solid var(--ink);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:2px;width:78px;height:78px;padding:4px;display:grid;position:relative}.face2d .s{border:1.5px solid var(--ink);border-radius:3px}.face2d-arrows{pointer-events:none;width:auto;height:auto;position:absolute;inset:0;overflow:visible}.face2d-arrows path{fill:#1ee6fe;stroke:var(--ink);stroke-width:1.4px;stroke-linejoin:round;paint-order:stroke}.triangle{border-left:60px solid #0000;border-right:60px solid #0000;border-bottom:104px solid var(--cube-r);filter:drop-shadow(3px 3px #000);width:0;height:0}.megaminx-svg{filter:drop-shadow(3px 3px #00000080)}.mirror{grid-template-columns:30px 40px 50px;gap:4px;display:grid;transform:rotate(-8deg)}.mirror div{border:3px solid var(--ink);background:silver;box-shadow:3px 3px #000}.mirror div:first-child{height:50px}.mirror div:nth-child(2){height:80px}.mirror div:nth-child(3){height:110px}.face4{background:var(--ink);border:3px solid var(--ink);border-radius:4px;grid-template-rows:repeat(4,18px);grid-template-columns:repeat(4,18px);gap:3px;padding:4px;display:grid}.face4 div{border:1.5px solid var(--ink);background:#444;border-radius:3px}.face4.centers div:nth-child(6),.face4.centers div:nth-child(7),.face4.centers div:nth-child(10),.face4.centers div:nth-child(11),.face4.edges div:nth-child(6),.face4.edges div:nth-child(7),.face4.edges div:nth-child(10),.face4.edges div:nth-child(11){background:var(--cube-y)}.face4.edges div:nth-child(2),.face4.edges div:nth-child(3),.face4.edges div:nth-child(14),.face4.edges div:nth-child(15){background:var(--cube-r)}.face4.edges div:nth-child(5),.face4.edges div:nth-child(9){background:var(--cube-g)}.face4.edges div:nth-child(8),.face4.edges div:nth-child(12){background:var(--cube-b)}.face4.full div{background:var(--cube-y)}.face4big{background:var(--ink);border:3px solid var(--ink);border-radius:4px;grid-template-rows:repeat(4,24px);grid-template-columns:repeat(4,24px);gap:4px;padding:5px;display:grid;position:relative}.face4big div{background:var(--cube-y);border:2px solid var(--ink);border-radius:3px}.face4big.oll div:nth-child(2),.face4big.oll div:nth-child(3){background:var(--cube-r);position:relative}.face4big.oll div:nth-child(2):after,.face4big.oll div:nth-child(3):after{content:"↻";color:var(--cube-y);font-family:var(--font-heading);text-shadow:0 0 3px var(--ink);place-items:center;font-size:18px;display:grid;position:absolute;inset:0}.face4big.pll div:nth-child(2),.face4big.pll div:nth-child(3){background:var(--cube-r)}.face4big.pll div:nth-child(14),.face4big.pll div:nth-child(15){background:var(--cube-o)}.face5{background:var(--ink);border:3px solid var(--ink);border-radius:4px;grid-template-rows:repeat(5,16px);grid-template-columns:repeat(5,16px);gap:2px;padding:4px;display:grid}.face5 div{border:1.5px solid var(--ink);background:#444;border-radius:2px}.face5.centers div:nth-child(7),.face5.centers div:nth-child(8),.face5.centers div:nth-child(9),.face5.centers div:nth-child(12),.face5.centers div:nth-child(13),.face5.centers div:nth-child(14),.face5.centers div:nth-child(17),.face5.centers div:nth-child(18),.face5.centers div:nth-child(19),.face5.edges div:nth-child(7),.face5.edges div:nth-child(8),.face5.edges div:nth-child(9),.face5.edges div:nth-child(12),.face5.edges div:nth-child(13),.face5.edges div:nth-child(14),.face5.edges div:nth-child(17),.face5.edges div:nth-child(18),.face5.edges div:nth-child(19){background:var(--cube-y)}.face5.edges div:nth-child(2),.face5.edges div:nth-child(3),.face5.edges div:nth-child(4),.face5.edges div:nth-child(22),.face5.edges div:nth-child(23),.face5.edges div:nth-child(24){background:var(--cube-r)}.face5.edges div:nth-child(6),.face5.edges div:nth-child(11),.face5.edges div:nth-child(16){background:var(--cube-g)}.face5.edges div:nth-child(10),.face5.edges div:nth-child(15),.face5.edges div:nth-child(20){background:var(--cube-b)}.face5.full div{background:var(--cube-y)}.face5big{background:var(--ink);border:3px solid var(--ink);border-radius:4px;grid-template-rows:repeat(5,22px);grid-template-columns:repeat(5,22px);gap:3px;padding:5px;display:grid;position:relative}.face5big div{background:var(--cube-y);border:1.5px solid var(--ink);border-radius:3px}.face5big.oll div:nth-child(2),.face5big.oll div:nth-child(3),.face5big.oll div:nth-child(4){background:var(--cube-r);position:relative}.face5big.oll div:nth-child(2):after,.face5big.oll div:nth-child(3):after,.face5big.oll div:nth-child(4):after{content:"↻";color:var(--cube-y);font-family:var(--font-heading);text-shadow:0 0 3px var(--ink);place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.mc{background:var(--ink);border:3px solid var(--ink);border-radius:4px;grid-template-rows:repeat(2,32px);grid-template-columns:repeat(2,32px);gap:4px;padding:5px;display:grid}.mc div{background:var(--cube-y);border:2px solid var(--ink);border-radius:4px}.oll{background:0 0;grid-template-rows:18px repeat(3,28px) 18px;grid-template-columns:18px repeat(3,28px) 18px;gap:2px;display:grid}.oll .ts{background:var(--cube-y);border:2px solid var(--ink);border-radius:3px}.oll .ns{border:2px solid var(--ink);background:#444;border-radius:3px}.oll .yside{background:var(--cube-y);border:2px solid var(--ink);border-radius:3px}.oll .nside{border:2px solid var(--ink);background:#444;border-radius:3px}.oll2{background:0 0;grid-template-rows:20px repeat(2,30px) 20px;grid-template-columns:20px repeat(2,30px) 20px;gap:3px;display:grid}.oll2 .ts{background:var(--cube-y);border:2px solid var(--ink);border-radius:4px}.oll2 .ns{border:2px solid var(--ink);background:#444;border-radius:4px}.oll2 .yside{background:var(--cube-y);border:2px solid var(--ink);border-radius:4px}.oll2 .nside{border:2px solid var(--ink);background:#444;border-radius:4px}.oll2 .blank{background:0 0;border:none}.pll{background:var(--ink);border:3px solid var(--ink);grid-template-rows:repeat(3,32px);grid-template-columns:repeat(3,32px);gap:3px;padding:4px;display:grid;position:relative}.pll div{background:var(--cube-y);border:2px solid var(--ink);border-radius:3px;position:relative}.pll-overlay{pointer-events:none;position:absolute;inset:0}.pll-overlay svg{width:100%;height:100%;overflow:visible}.pbl-vis{justify-content:center;align-items:center;gap:14px;display:flex}.face2{background:var(--ink);border:3px solid var(--ink);border-radius:4px;grid-template-rows:repeat(2,30px);grid-template-columns:repeat(2,30px);gap:4px;padding:5px;display:grid;position:relative}.face2 div{background:var(--cube-y);border:2px solid var(--ink);border-radius:4px}.lbl{flex-direction:column;align-items:center;gap:6px;display:flex}.lbl .tag{font-family:var(--font-heading);letter-spacing:1.4px;color:#fff;background:var(--ink);border:2px solid var(--bg);text-transform:uppercase;padding:2px 8px;font-size:10px}.pbl-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tetra{--size:320px;--h:277.128px;--H:261.279px;--d:92.376px;--R:184.752px;--tetra-tilt:-18deg;width:var(--size);height:var(--size);transform-style:preserve-3d;transform:rotateX(var(--tetra-tilt)) rotateY(0deg);animation:14s linear infinite tspin;position:relative}@keyframes tspin{0%{transform:rotateX(var(--tetra-tilt)) rotateY(0deg)}to{transform:rotateX(var(--tetra-tilt)) rotateY(360deg)}}.tetra .tface polygon{stroke:var(--ink);stroke-width:.06px;stroke-linejoin:round}.tetra .tface{width:var(--size);height:var(--h);transform-origin:50% 0;backface-visibility:visible;position:absolute;top:0;left:0}.tetra .tface svg{width:100%;height:100%;display:block;overflow:visible}.tetra .tface.f1{transform:rotateY(0)rotateX(19.471deg)}.tetra .tface.f2{transform:rotateY(120deg)rotateX(19.471deg)}.tetra .tface.f3{transform:rotateY(240deg)rotateX(19.471deg)}.tetra .tface.f4{transform:translate3d(0, var(--H), calc(var(--d) * -2)) rotateX(90deg)}.pyr{width:120px;height:104px;display:block}.pyr polygon{stroke:#0a0a0a;stroke-width:.06px;stroke-linejoin:miter}.arrow-cw,.arrow-ccw{font-family:var(--font-heading);color:var(--accent);font-size:30px;position:absolute}.timer-page{height:calc(100vh - var(--nav-h));-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;padding:20px 28px;display:flex;position:relative;overflow:hidden}.timer-page~html,.timer-page~body{height:100%;overflow:hidden}.timer-hint{font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;color:#888;text-align:center;margin-bottom:16px;font-size:13px;font-weight:800;transition:color .2s}.timer-hint.ready{color:var(--green)}.timer-hint.running{color:var(--pink)}.key-indicator{justify-content:center;align-items:center;gap:12px;margin-bottom:20px;display:flex}.key-box{font-family:var(--font-mono);letter-spacing:1px;border:2px solid var(--pink);color:var(--pink);text-transform:uppercase;padding:6px 14px;font-size:11px;font-weight:700;transition:all .1s}.key-box.active{border-color:var(--green);color:var(--green);background:#22c55e14}.key-plus{font-family:var(--font-heading);color:#ccc;font-size:14px}.timer-display{font-family:var(--font-mono);letter-spacing:-2px;color:var(--ink);text-align:center;padding:20px 0;font-size:clamp(64px,15vw,140px);font-weight:700;line-height:1;transition:color .15s}.timer-display.ready{color:var(--green)}.timer-display.running{color:var(--ink)}.timer-display.stopped{color:var(--pink)}.timer-state{font-family:var(--font-heading);letter-spacing:3px;text-transform:uppercase;border:var(--border) solid var(--ink);background:var(--paper);margin-top:8px;padding:6px 20px;font-size:14px}.timer-state.ready{background:var(--lime);color:var(--ink)}.timer-state.running{background:var(--green);color:#fff}.timer-state.stopped{background:var(--pink);color:#fff}.touch-pad{z-index:40;cursor:pointer;background:#0a0a0a0a;border:none;justify-content:center;align-items:center;width:160px;height:100vh;transition:background .15s,border-color .15s;display:flex;position:fixed;top:0}.touch-pad:active,.touch-pad.pressed{background:#c8ff3e59}.touch-pad-left{border-right:2px solid #0a0a0a14;left:0}.touch-pad-right{border-left:2px solid #0a0a0a14;right:0}.touch-pad svg{opacity:.18;pointer-events:none;width:40px;height:40px;transition:opacity .15s}.touch-pad:hover svg{opacity:.35}.touch-pad.pressed svg{opacity:.5}.stats-bar{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:32px;margin-bottom:24px;display:flex}.stat-box{background:var(--paper);border:var(--border) solid var(--ink);text-align:center;min-width:100px;box-shadow:3px 3px 0 0 var(--ink);padding:12px 20px}.stat-box .stat-label{letter-spacing:2px;text-transform:uppercase;font-size:10px;font-family:var(--font-body);color:#888;margin-bottom:4px;font-weight:800}.stat-box .stat-value{font-family:var(--font-mono);font-size:20px;font-weight:700}.history-section{flex-direction:column;flex-shrink:1;width:100%;max-width:600px;min-height:0;padding:0;display:flex}.history-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.history-title{font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;font-size:16px}.history-list{flex:1;min-height:0;max-height:100%;margin:0;padding:0;list-style:none;overflow-y:auto}.history-item{background:var(--paper);border:var(--border) solid var(--ink);justify-content:space-between;align-items:center;margin-bottom:-3px;padding:12px 16px;display:flex}.history-item .hi-num{font-family:var(--font-body);color:#aaa;min-width:32px;font-size:12px;font-weight:800}.history-item .hi-time{font-family:var(--font-mono);flex:1;font-size:18px;font-weight:700}.history-item .hi-date{font-family:var(--font-body);color:#aaa;margin-right:12px;font-size:11px;font-weight:600}.hi-best .hi-time{color:var(--green)}.hi-worst .hi-time{color:var(--pink)}.history-empty{text-align:center;color:#aaa;font-family:var(--font-body);letter-spacing:1.5px;text-transform:uppercase;border:var(--border) dashed #ddd;padding:40px 20px;font-size:13px;font-weight:700}.btn-clear{font-family:var(--font-body);letter-spacing:1.2px;text-transform:uppercase;background:var(--paper);border:var(--border) solid var(--ink);cursor:pointer;box-shadow:2px 2px 0 0 var(--ink);color:var(--ink);padding:8px 14px;font-size:11px;font-weight:800}.btn-clear:active{box-shadow:1px 1px 0 0 var(--ink);transform:translate(1px,1px)}.btn-clear:hover{background:var(--pink);color:#fff}.btn-del{cursor:pointer;color:#ccc;background:0 0;border:none;padding:4px 8px;font-size:16px;transition:color .15s}.btn-del:hover{color:var(--red)}.touch-pad-right svg{transform:scaleX(-1)}@media (pointer:coarse){.key-indicator{display:none}}@media (width<=900px){.key-indicator{display:none}.timer-page{height:auto;min-height:calc(100vh - var(--nav-h));justify-content:flex-start;padding:16px 16px 168px;overflow:visible}.timer-hint{margin-bottom:10px}.timer-display{padding:10px 0;font-size:clamp(52px,16vw,96px)}.stats-bar{gap:8px;margin-top:18px;margin-bottom:16px}.stat-box{flex:84px;min-width:0;padding:10px 8px}.stat-box .stat-value{font-size:16px}.history-section{flex:none}.history-list{max-height:none;overflow:visible}.touch-pad{border-top:var(--border) solid var(--ink);background:#0a0a0a0d;width:50%;height:140px;top:auto;bottom:0}.touch-pad svg{opacity:.3;width:44px;height:44px}}.parity-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.parity{border:3px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--ink);flex-direction:column;display:flex}.parity .top{background:var(--ink);border-bottom:3px solid var(--ink);justify-content:center;align-items:center;gap:18px;min-height:180px;padding:24px;display:flex}.parity .name{background:var(--bg);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.5px;border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.parity .name .pill{font-family:var(--font-heading);letter-spacing:1.4px;background:var(--accent);color:var(--accent-contrast);border:2px solid var(--ink);padding:3px 8px;font-size:10px}.parity .pdesc{border-bottom:3px solid var(--ink);padding:14px 16px;font-size:13px;line-height:1.55}.parity .move{background:var(--ink);color:#fff;font-family:var(--font-mono);letter-spacing:.5px;word-break:break-word;padding:14px 16px;font-size:13px;font-weight:700;line-height:1.6}.parity .move .sup{color:var(--accent)}.centers-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px;display:grid}@media (width<=760px){.centers-grid{grid-template-columns:1fr}}.panel{background:var(--bg);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:18px}.panel h4{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.2px;margin:0 0 12px;font-size:14px}.colormap{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;display:grid}.colormap .cm{background:var(--paper);border:2px solid var(--ink);flex-direction:column;align-items:center;gap:6px;padding:10px 6px;display:flex}.colormap .cm .face4{transform-origin:50%;transform:scale(.78)}.colormap .cm .lbl{font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;font-size:10px}.colormap .cm .pair{font-family:var(--font-mono);color:#555;font-size:11px;font-weight:700}.center-cube{background:var(--bg);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);justify-content:center;align-items:center;min-height:240px;padding:20px;display:flex}.center-cube .demo{--size:160px;width:var(--size);height:var(--size);transform-style:preserve-3d;position:relative;transform:rotateX(-26deg)rotateY(-32deg)}.center-cube .demo .face{border:3px solid var(--ink);background:var(--ink);gap:3px;padding:5px;display:grid}.center-cube .demo .sticker{border:1.5px solid var(--ink);border-radius:3px}.edges-flow{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:18px;display:grid}@media (width<=760px){.edges-flow{grid-template-columns:1fr}}.edge-state{background:var(--bg);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);text-align:center;padding:18px}.edge-state .pair{justify-content:center;align-items:center;gap:0;margin-bottom:12px;display:flex}.edge-state .sq{border:2px solid var(--ink);border-radius:4px;width:36px;height:36px}.edge-state .gap{width:18px}.edge-state .lbl{font-family:var(--font-heading);letter-spacing:1.4px;text-transform:uppercase;color:#555;font-size:11px}.arrow-mega{font-family:var(--font-heading);font-size:42px}.solver-page{max-width:900px;margin:0 auto;padding:40px 20px 64px}.solver-head{text-align:center;margin-bottom:22px}.solver-title{font-family:var(--font-heading);letter-spacing:1.5px;margin:0 0 8px;font-size:clamp(26px,6vw,40px)}.solver-sub{font-family:var(--font-body);color:#666;margin:0;font-size:13px;font-weight:600;line-height:1.5}.solver-panel{border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:var(--paper);text-align:center;margin-bottom:22px;padding:18px}.solver-hint{font-family:var(--font-heading);letter-spacing:1.6px;text-transform:uppercase;color:#888;margin-bottom:8px;font-size:12px}.solver-hint.ready{color:var(--accent-contrast)}.solver-hint.running{color:#2e7d32}.solver-hint.done{color:var(--ink)}.solver-time{font-family:var(--font-mono);letter-spacing:1px;font-size:clamp(40px,12vw,64px);font-weight:700;line-height:1}.solver-time-mil{font-size:.45em}.solver-scramble{border-top:2px dashed var(--ink);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px;margin-top:12px;padding-top:12px;display:flex}.solver-scramble-label{font-family:var(--font-heading);letter-spacing:1.6px;color:#999;font-size:11px}.solver-scramble-alg{font-family:var(--font-mono);letter-spacing:1px;word-spacing:3px;color:var(--ink);font-size:15px;font-weight:700}.solver-stage{perspective:1200px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:clamp(280px,46vw,420px);display:flex;overflow:hidden}.solver-stage:active{cursor:grabbing}.solver-stage .algcube{--cs:56px}@media (width<=560px){.solver-stage .algcube{--cs:44px}}@media (width<=380px){.solver-stage .algcube{--cs:38px}}.solver-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px;display:flex}.solver-btn{border:3px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.6px;cursor:pointer;box-shadow:4px 4px 0 var(--ink);padding:12px 26px;font-size:13px;transition:transform .12s,box-shadow .12s}.solver-btn.primary{background:var(--accent);color:var(--accent-contrast)}.solver-btn:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-3px,-3px)}.solver-btn:active{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}[data-page=fridrich]{--accent:var(--pink);--accent-secondary:var(--lime);--accent-secondary-contrast:var(--ink);--accent-contrast:var(--paper)}[data-page=ortega]{--accent:var(--yellow);--accent-secondary:var(--lime);--accent-secondary-contrast:var(--ink);--accent-contrast:var(--ink)}[data-page="4x4"]{--accent:var(--blue);--accent-secondary:var(--lime);--accent-secondary-contrast:var(--ink);--accent-contrast:var(--paper)}[data-page="5x5"]{--accent:#7c4dff;--accent-secondary:var(--yellow);--accent-secondary-contrast:var(--ink);--accent-contrast:var(--paper)}[data-page=pyraminx]{--accent:#10b981;--accent-secondary:var(--yellow);--accent-secondary-contrast:var(--ink);--accent-contrast:var(--paper)}
