:root{color:#eceee7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--heading:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;background:#101210;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#101210;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:2px solid #a8c38c}::selection{color:#f0f5e9;background:#344432}#root{min-height:100vh}.app-shell{--ink:#20231f;--muted:#777c74;--line:#e6e4dd;--paper:#fffefa;--accent:#6f8f70;width:min(1180px,100% - 64px);min-height:100vh;color:var(--ink);margin:0 auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:82px;display:flex}.brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{color:#57745a;background:#edf1e8;border:1px solid #d9ded4;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.brand-copy{gap:0;line-height:1.1;display:grid}.brand-copy strong{font-family:var(--heading);letter-spacing:-.45px;font-size:15px;font-weight:750}.brand-copy small{color:#858980;font-family:var(--mono);letter-spacing:1.05px;text-transform:uppercase;margin-top:4px;font-size:9px}.topbar-right{align-items:center;gap:18px;display:flex}.connection-pill,.device-status{color:#81857d;letter-spacing:.1px;align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.status-dot,.live-indicator{background:#b9bdb5;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.connection-pill.connecting .status-dot,.device-status.connecting .status-dot{background:#d6a94a;animation:1s ease-in-out infinite pulse;box-shadow:0 0 0 3px #f7f0df}.connect-button,.scramble-button{color:#3d5c41;cursor:pointer;background:#ecf1e9;border:1px solid #dce2d7;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:700;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.connect-button{min-height:39px;padding:0 14px}.connect-button:hover,.scramble-button:hover{background:#e4ecdf;border-color:#b9cab6;transform:translateY(-1px)}.connect-button:disabled,.device-connect-link:disabled{cursor:wait;opacity:.7}.page-heading{justify-content:space-between;align-items:center;padding:38px 0 28px;display:flex}.eyebrow,.section-kicker,.card-label,.small-tag,.app-footer,.estimate-label{font-family:var(--mono);letter-spacing:1.15px;font-size:9px;font-weight:650}.eyebrow{color:#83887e;align-items:center;gap:8px;display:flex}.eyebrow-line{background:#92a68e;width:18px;height:1px}.page-heading h1{color:#272a25;font-family:var(--heading);letter-spacing:-2px;margin:9px 0 6px;font-size:clamp(34px,4vw,46px);font-weight:650;line-height:1.08}.page-heading h1 span{color:#6c8c6c}.page-heading p{color:#777b73;letter-spacing:0;font-size:13px}.heading-badge{color:#99a097;font-family:var(--mono);text-align:left;align-items:center;gap:7px;margin-right:5px;font-size:10px;line-height:1.1;display:flex}.badge-number{color:#628363;font-family:var(--heading);letter-spacing:-3px;font-size:42px;font-weight:550}.workspace{grid-template-columns:minmax(0,1.56fr) minmax(285px,.84fr);align-items:start;gap:20px;display:grid}.main-column,.side-column{gap:16px;min-width:0;display:grid}.cube-card,.controls-card,.device-card,.battery-card,.gesture-card,.recent-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden;box-shadow:0 2px 4px #312e2505}.card-topline{border-bottom:1px solid #eeece6;justify-content:space-between;align-items:center;min-height:48px;padding:0 19px;display:flex}.card-label{color:#74796f;align-items:center;gap:8px;display:flex}.live-indicator{background:#83a780;width:6px;height:6px;box-shadow:0 0 0 3px #eef4eb}.cube-state-label{color:#82867e;font-size:10px}.cube-stage{isolation:isolate;background:radial-gradient(at 50% 54%,#e3e7dbb8 0%,#f2f1ea66 42%,#0000 72%),#f2f1eb;place-items:center;height:clamp(300px,39vw,410px);min-height:300px;display:grid;position:relative;overflow:hidden}.stage-grain{z-index:-2;opacity:.26;background-image:radial-gradient(#a3a99b .55px,#0000 .55px);background-size:15px 15px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 78%,#0000);mask-image:linear-gradient(#0000,#000 18% 78%,#0000)}.stage-orbit{aspect-ratio:1;pointer-events:none;border:1px solid #949d8933;border-radius:50%;width:min(68%,340px);position:absolute}.orbit-one{transform:scaleY(.38)rotate(-12deg)}.orbit-two{opacity:.48;width:min(79%,400px);transform:scaleY(.4)rotate(11deg)}.cube-shadow{filter:blur(17px);background:#2c302733;border-radius:50%;width:130px;height:26px;position:absolute;bottom:24%;transform:translateY(15px)rotate(-8deg)}.cube-scene{z-index:1;touch-action:none;cursor:grab;width:min(82%,370px);height:100%;min-height:280px;position:relative}.scene-loading{color:#8d9387;place-items:center;width:min(82%,370px);height:100%;font-size:11px;display:grid}.cube-scene:active{cursor:grabbing}.cube-canvas{width:100%;height:100%;display:block}.drag-hint{color:#989d91;font-family:var(--mono);letter-spacing:.9px;pointer-events:none;align-items:center;gap:7px;font-size:8px;display:flex;position:absolute;bottom:18px;left:19px}.drag-cursor{color:#76836f;width:21px;height:21px;font-family:var(--sans);border:1px solid #dcdfd5;border-radius:50%;place-items:center;font-size:13px;display:grid}.view-reset{color:#687762;cursor:pointer;background:#fffefacc;border:1px solid #dfe1d8;border-radius:9px;place-items:center;width:34px;height:34px;transition:background .14s,transform .14s;display:grid;position:absolute;bottom:15px;right:15px}.view-reset:hover{background:#fffefa;transform:rotate(-24deg)}.stage-corner-label{color:#8d9387;font-family:var(--mono);text-align:right;font-size:9px;line-height:1.45;position:absolute;top:17px;right:18px}.stage-corner-label span{letter-spacing:1px;font-size:7px}.cube-card-footer{border-top:1px solid #eeece6;align-items:center;min-height:72px;padding:0 20px;display:flex}.move-count{border-right:1px solid #e9e7e0;align-content:center;gap:0;min-width:60px;display:grid}.move-count strong{color:#3e4740;font-family:var(--mono);font-size:21px;font-weight:600;line-height:1.15}.move-count span{color:#959990;font-size:9px}.cube-status-copy{gap:3px;padding-left:15px;display:grid}.cube-status-copy strong{color:#53584f;font-size:11px;font-weight:650}.cube-status-copy span{color:#92968e;text-overflow:ellipsis;white-space:nowrap;max-width:340px;font-size:10px;overflow:hidden}.solved-mark{color:#a0a49a;border:1px solid #e3e4dc;border-radius:50%;place-items:center;width:27px;height:27px;margin-left:auto;transition:all .18s;display:grid}.controls-card{padding:19px 20px 14px}.section-heading,.recent-heading{justify-content:space-between;align-items:center;display:flex}.section-kicker{color:#959a8f;letter-spacing:1.05px;font-size:8px}.section-heading h2,.recent-heading h2{color:#3d423a;font-family:var(--heading);letter-spacing:-.45px;margin:3px 0 0;font-size:16px;font-weight:650}.keyboard-hint{color:#a0a39b;align-items:center;gap:4px;font-size:9px;display:inline-flex}kbd,.keycap{color:#74786f;min-width:18px;height:18px;font-family:var(--mono);background:#faf9f5;border:1px solid #e5e4dc;border-bottom-width:2px;border-radius:4px;place-items:center;padding:0 4px;font-size:9px;display:inline-grid}.move-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.move-pair{grid-template-columns:1fr 1fr;gap:4px;display:grid}.move-button{color:#777b72;cursor:pointer;background:#fffefa;border:1px solid #e7e6df;border-radius:8px;place-content:center;gap:2px;min-width:0;min-height:53px;padding:4px 2px;transition:border-color .13s,background .13s,transform .13s;display:grid}.move-button:hover{background:#f4f7f0;border-color:#bfceb9;transform:translateY(-1px)}.move-face{color:#888d83;font-family:var(--mono);font-size:8px}.move-name{color:#31372f;font-family:var(--mono);font-size:14px;font-weight:700}.controls-footer{color:#969a92;border-top:1px solid #efeee8;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;padding-top:11px;font-size:9px;display:flex}.keycap{min-width:auto;height:17px;margin-right:4px;font-size:8px;display:inline-grid}.control-actions{align-items:center;gap:13px;display:flex}.text-action{color:#7f847a;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:10px}.text-action:hover{color:#4e6950}.scramble-button{border-radius:7px;min-height:30px;padding:0 10px;font-size:10px}.device-card,.gesture-card,.recent-card{padding:18px 18px 16px}.side-card-heading{justify-content:space-between;align-items:center;display:flex}.device-icon,.battery-icon{color:#678367;background:#eff3ec;border:1px solid #dce4d9;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.small-tag{color:#9ba095;letter-spacing:.9px;font-size:8px}.device-card h2{color:#383d35;font-family:var(--heading);letter-spacing:-.25px;margin:14px 0 4px;font-size:15px;font-weight:700}.device-card>p{color:#888d83;margin:0;font-size:10px;line-height:1.55}.device-status{margin-top:15px;font-size:10px}.device-status.connected{color:#557c59}.device-connect-link{color:#58785b;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #efeee8;justify-content:space-between;align-items:center;width:100%;margin-top:15px;padding:11px 0 0;font-size:10px;font-weight:700;display:flex}.support-note,.inline-error,.inline-notice{background:#f6f4ef;border-radius:6px;padding:8px 9px;color:#81847c!important;margin:10px 0 0!important;font-size:9px!important}.inline-notice{background:#f3f1e7;color:#887640!important}.battery-card{position:relative}.battery-main{width:100%;color:inherit;text-align:left;cursor:default;background:0 0;border:0;align-items:center;gap:11px;padding:16px 17px;display:flex}.battery-icon{color:#a38c50;background:#f7f4e9;border-color:#e6e1cb;flex:none;width:35px;height:35px}.battery-copy{gap:2px;display:grid}.battery-copy strong{color:#3b4038;font-family:var(--mono);font-size:19px;line-height:1.1}.battery-copy small{color:#969a90;font-size:9px}.battery-chevron{color:#898e83;border:1px solid #e9e7de;border-radius:50%;place-items:center;width:23px;height:23px;margin-left:auto;font-size:15px;display:grid}.battery-meter{background:#eeece3;border-radius:3px;height:3px;margin:0 17px;overflow:hidden}.battery-meter span{border-radius:inherit;background:linear-gradient(90deg,#8ca47a,#c1bd6f);height:100%;transition:width .25s;display:block}.battery-details{border-top:1px solid #efeee8;margin:12px 17px 15px;padding-top:13px}.estimate-label{color:#9a9d91;font-size:8px}.estimate-time{color:#4e674e;font-family:var(--heading);letter-spacing:-.6px;margin:5px 0 4px;font-size:19px;font-weight:700}.battery-details p{color:#888d83;margin:0 0 12px;font-size:9px;line-height:1.5}.battery-stats{color:#888d83;border-top:1px solid #f0efe9;justify-content:space-between;padding:7px 0;font-size:9px;display:flex}.battery-stats strong{color:#4a5047;font-family:var(--mono);font-size:9px}.battery-history{border-top:1px solid #f0efe9;gap:7px;margin-top:10px;padding-top:9px;display:grid}.battery-history-row{color:#979b92;justify-content:space-between;gap:8px;font-size:8px;display:flex}.battery-history-row strong{color:#697164;font-family:var(--mono);font-size:8px;font-weight:550}.compact-heading h2{font-size:15px}.gesture-spark{color:#a3a878;font-size:20px}.gesture-row{grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:14px;display:grid}.gesture-face{color:#a08743;width:28px;height:28px;font-family:var(--mono);background:#f6f3e7;border:1px solid #e7e2ce;border-radius:7px;place-items:center;font-size:12px;font-weight:700;display:grid}.gesture-row>span:nth-child(2){gap:2px;display:grid}.gesture-row strong{color:#5b6057;font-size:10px;font-weight:650}.gesture-row small{color:#999c93;font-size:8px}.gesture-result{color:#7d8573;border:1px solid #e7e9df;border-radius:5px;padding:4px 7px;font-size:8px}.gesture-footnote{color:#9a9e94;border-top:1px solid #efeee8;margin-top:13px;padding-top:10px;font-size:8px;line-height:1.4}.recent-card{min-height:105px}.recent-heading h2{font-size:15px}.recent-count{color:#a0a39b;font-size:9px}.recent-moves{flex-wrap:wrap;gap:5px;margin-top:12px;display:flex}.recent-move{color:#5d6658;min-width:25px;height:25px;font-family:var(--mono);background:#faf9f5;border:1px solid #e8e7df;border-radius:6px;place-items:center;padding:0 5px;font-size:10px;display:grid}.empty-moves{color:#9a9e94;margin:11px 0 0;font-size:9px}.scramble-details{color:#777d72;border-top:1px solid #efeee8;margin-top:11px;padding-top:9px;font-size:9px}.scramble-details summary{cursor:pointer}.scramble-details p{color:#969a91;font-family:var(--mono);margin:7px 0 0;font-size:8px;line-height:1.6}.app-footer{border-top:1px solid var(--line);color:#9b9f96;letter-spacing:.8px;justify-content:space-between;margin:24px 0 20px;padding-top:12px;font-size:8px;display:flex}.app-footer b{color:#b2b9a6;margin:0 3px}.toast{z-index:5;color:#596b57;background:#fffefa;border:1px solid #dce3d7;border-radius:10px;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:11px 15px 11px 11px;font-size:11px;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 35px #1e261d1f}.toast-check{color:#628462;background:#edf3e9;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.browser-note{display:none}@keyframes pulse{50%{opacity:.5}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.app-shell{width:min(100% - 40px,760px)}.workspace{grid-template-columns:minmax(0,1.35fr) minmax(255px,.85fr);gap:14px}.move-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.move-button{min-height:43px}.controls-footer{flex-wrap:wrap}}@media (width<=680px){.app-shell{width:calc(100% - 28px)}.topbar{min-height:68px}.brand-mark{width:34px;height:34px}.topbar-right{gap:9px}.connection-pill{max-width:120px;font-size:9px}.connect-button{gap:6px;min-height:35px;padding:0 10px;font-size:10px}.connect-button svg{width:15px;height:15px}.page-heading{padding:29px 0 21px}.page-heading h1{letter-spacing:-1.6px;font-size:clamp(32px,9vw,40px)}.page-heading p{max-width:270px;font-size:11px;line-height:1.5}.heading-badge{gap:4px;margin-left:8px}.badge-number{font-size:33px}.workspace{grid-template-columns:minmax(0,1fr);gap:13px}.main-column,.side-column{gap:13px}.cube-stage{height:clamp(270px,82vw,360px);min-height:270px}.cube-scene{width:min(94%,360px);min-height:250px}.scene-loading{width:94%}.stage-orbit{width:min(78%,310px)}.orbit-two{width:min(90%,360px)}.cube-shadow{width:110px;bottom:23%}.cube-card-footer{min-height:64px;padding:0 14px}.move-count{min-width:49px}.move-count strong{font-size:18px}.cube-status-copy{padding-left:11px}.cube-status-copy strong{font-size:10px}.cube-status-copy span{max-width:calc(100vw - 150px);font-size:9px}.solved-mark{width:24px;height:24px}.controls-card{padding:16px 14px 12px}.move-grid{gap:8px;margin-top:13px}.move-pair{gap:5px}.move-button{min-height:48px}.controls-footer{font-size:8px}.control-actions{gap:10px}.device-card,.gesture-card,.recent-card{padding:16px}.side-column{grid-template-columns:minmax(0,1fr)}.device-card{order:1}.battery-card{order:2}.gesture-card{order:3}.recent-card{order:4}.app-footer{gap:12px;font-size:7px;line-height:1.4}.app-footer span:last-child{text-align:right}.toast{right:14px;bottom:max(14px, env(safe-area-inset-bottom))}}@media (width<=370px){.app-shell{width:calc(100% - 20px)}.connection-pill{display:none}.keyboard-hint{font-size:8px}.keyboard-hint kbd:nth-of-type(n+3){display:none}.controls-footer{align-items:flex-start}}@media (width<=440px){.connection-pill{display:none}.topbar-right{gap:7px}.control-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}}:root,html,body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#101210}.app-shell{--ink:#eef0e9;--muted:#a0a79c;--line:#2c322d;--paper:#191c19;--accent:#a8c38c;color:#e8ebe3}.topbar,.app-footer{border-color:#2c322d}.brand-mark,.device-icon{color:#a9c695;background:#222b22;border-color:#39443a}.brand-copy strong,.page-heading h1,.section-heading h2,.recent-heading h2,.device-card h2,.battery-copy strong,.move-count strong{color:#edf0e8}.brand-copy small,.connection-pill,.page-heading p,.eyebrow,.section-kicker,.small-tag,.heading-badge,.cube-state-label,.move-count span,.cube-status-copy span,.keyboard-hint,.controls-footer,.device-card>p,.battery-copy small,.gesture-row small,.gesture-footnote,.empty-moves,.recent-count,.app-footer,.scramble-details,.scramble-details p{color:#9ba296}.page-heading h1 span,.badge-number{color:#a8c38c}.eyebrow-line{background:#78936e}.cube-card,.controls-card,.device-card,.battery-card,.gesture-card,.recent-card{background:#191c19;border-color:#2c322d;box-shadow:0 8px 24px #0000001f}.card-topline,.cube-card-footer,.controls-footer,.device-connect-link,.battery-details,.battery-stats,.battery-history,.gesture-footnote,.scramble-details{border-color:#2b312c}.card-label,.stage-corner-label,.drag-hint,.recent-count{color:#a0a79b}.live-indicator{background:#a1c08a;box-shadow:0 0 0 3px #263226}.cube-stage{background:radial-gradient(at 50% 52%,#43534059 0%,#232a2233 42%,#0000 72%),#151815}.stage-grain{opacity:.22;background-image:radial-gradient(#596353 .55px,#0000 .55px)}.stage-orbit{border-color:#83957830}.cube-shadow{background:#0000007a}.drag-cursor,.view-reset{color:#b2c6a0;background:#1c201ce0;border-color:#3a4239}.view-reset:hover{background:#292f29}.cube-status-copy strong,.move-button:hover .move-name,.gesture-row strong{color:#e1e7dc}.solved-mark{color:#91998d;border-color:#41483e}.solved-mark.active{color:#b3d39b;background:#263326;border-color:#435b43}.connect-button,.scramble-button{color:#c1d8ac;background:#263326;border-color:#3b4a3b}.connect-button:hover,.scramble-button:hover{background:#303f2f;border-color:#657c5d}.connect-button.is-connected{color:#ddb6a6;background:#302522;border-color:#58433d}.status-dot{background:#687166}.connection-pill.connected .status-dot,.device-status.connected .status-dot{background:#8bc27d;box-shadow:0 0 0 3px #263326}.connection-pill.connecting .status-dot,.device-status.connecting .status-dot{background:#e4bd65;box-shadow:0 0 0 3px #39321e}kbd,.keycap{color:#c2c8bc;background:#242824;border-color:#414840}.move-button{color:#d0d5cb;background:#202320;border-color:#343a34}.move-button:hover{background:#293329;border-color:#617658}.move-face,.text-action{color:#a7ada1}.move-name{color:#f0f2ec}.text-action:hover,.device-connect-link{color:#b8d4a0}.device-status{color:#a2a99e}.support-note,.inline-notice{background:#29271e;color:#c6b987!important}.inline-error{background:#362522;color:#e2a99b!important}.battery-icon{color:#dbc575;background:#302d21;border-color:#51492e}.battery-copy small,.estimate-label{color:#9ea497}.estimate-time{color:#c0dda6}.battery-details p,.battery-stats,.battery-history-row{color:#a6ada1}.battery-stats strong,.battery-history-row strong{color:#e0e5da}.battery-meter{background:#343a32}.battery-meter span{background:linear-gradient(90deg,#82a86f,#d4bd68)}.gesture-face{color:#e2c779;background:#302c20;border-color:#554b31}.gesture-face.top-face{color:#b5d19c;background:#242f24;border-color:#3a4b39}.gesture-result{color:#b2bba9;border-color:#3c4439}.gesture-spark{color:#c3c783}.recent-move{color:#d3dfc8;background:#242824;border-color:#3a4038}.toast{color:#c8ddb8;background:#1d221d;border-color:#3b4b39;box-shadow:0 10px 35px #00000073}.toast-check{color:#b7d79f;background:#293829}.browser-note,.scene-loading{color:#aab1a4}.analyze-button{color:#c2d4b4;cursor:pointer;background:#232a23;border:1px solid #3a4438;border-radius:7px;align-items:center;gap:7px;min-height:30px;padding:0 9px;font-size:10px;font-weight:650;transition:background .15s,border-color .15s;display:inline-flex}.analyze-button:hover{background:#2b352a;border-color:#687c5f}.analyze-button kbd{background:#1a1e1a;border-color:#454e43;border-bottom-width:1px;min-width:34px;height:17px;font-size:8px}.case-overlay{z-index:20;pointer-events:none;width:min(390px,100vw - 24px);position:fixed;bottom:18px;right:18px}.case-dialog{color:#e8ebe3;pointer-events:auto;background:#191c19;border:1px solid #394139;border-radius:17px;width:100%;max-height:min(460px,52dvh);padding:18px;position:relative;overflow:auto;box-shadow:0 24px 90px #00000094}.case-close{color:#bfc7b9;cursor:pointer;background:#232823;border:1px solid #3b433a;border-radius:50%;place-items:center;width:30px;height:30px;font-size:20px;line-height:1;display:grid;position:absolute;top:14px;right:15px}.case-dialog-kicker,.case-alg-label{color:#9ba894;font-family:var(--mono);letter-spacing:1px;font-size:9px;font-weight:650}.case-dialog h2{color:#edf0e8;font-family:var(--heading);letter-spacing:-.8px;margin:8px 40px 20px 0;font-size:25px;font-weight:700}.case-dialog-content{grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr);align-items:center;gap:22px;display:grid}.case-image-wrap{background:#141714;border:1px solid #303830;border-radius:12px;justify-items:center;gap:8px;padding:12px;display:grid}.case-image-wrap img{width:min(100%,210px);height:auto;display:block}.case-image-wrap span{color:#8d9788;font-family:var(--mono);letter-spacing:.8px;font-size:7px}.case-dialog-copy{align-content:center;gap:10px;min-width:0;display:grid}.case-algorithm{color:#d7e8c6;font-family:var(--mono);overflow-wrap:anywhere;background:#222920;border:1px solid #394438;border-radius:9px;padding:12px;font-size:13px;line-height:1.7;display:block}.case-dialog-copy p{color:#a5ada0;margin:0;font-size:11px;line-height:1.55}.case-dialog-copy a{color:#b9d69f;align-items:center;gap:6px;font-size:10px;font-weight:650;text-decoration:none;display:inline-flex}.case-dialog-copy a:hover{color:#d0e8bd;text-decoration:underline}.case-dialog-footer{color:#858e81;border-top:1px solid #2d342d;margin-top:19px;padding-top:12px;font-size:9px}@media (width<=560px){.case-overlay{right:10px;bottom:max(10px, env(safe-area-inset-bottom));width:calc(100vw - 20px)}.case-dialog{max-height:min(280px,34dvh);padding:14px 12px 10px}.case-dialog-content{grid-template-columns:minmax(85px,.72fr) minmax(0,1.28fr);gap:10px}.case-dialog h2{margin-bottom:12px;font-size:18px}.case-image-wrap{gap:5px;padding:6px}.case-image-wrap img{width:100%}.case-image-wrap span{font-size:6px}.case-dialog-copy{gap:6px}.case-algorithm{padding:7px;font-size:11px;line-height:1.5}.case-dialog-copy p,.case-dialog-copy a{font-size:9px}.case-dialog-footer{margin-top:9px;padding-top:7px;font-size:8px}}.case-lab-button{color:#c3d9ad;cursor:pointer;background:#293329;border:1px solid #445343;border-radius:7px;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-size:10px;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.case-lab-button:hover{background:#334130;border-color:#718568}.case-lab-button:disabled{opacity:.45;cursor:not-allowed}.case-lab-overlay{z-index:40;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#040604c2;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.case-lab-dialog{background:#191c19;border:1px solid #3a4439;border-radius:17px;width:min(560px,100%);max-height:min(760px,100dvh - 28px);padding:24px;position:relative;overflow:auto;box-shadow:0 24px 90px #00000094}.case-lab-dialog>h2{color:#eef1e9;font-family:var(--heading);letter-spacing:-1px;margin:7px 40px 18px 0;font-size:28px}.drill-mode-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:17px;display:grid}.drill-mode-tabs button{color:#a8b0a2;text-align:left;cursor:pointer;background:#202420;border:1px solid #343c34;border-radius:9px;gap:3px;padding:10px 12px;display:grid}.drill-mode-tabs button.active{color:#d6e8c6;background:#293629;border-color:#728763;box-shadow:inset 0 0 0 1px #97b87e24}.drill-mode-tabs strong{font-family:var(--mono);font-size:13px}.drill-mode-tabs small{color:#9aa393;font-size:9px}.drill-case-picker-label{color:#a3ab9d;font-family:var(--mono);letter-spacing:1px;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:8px;display:flex}.drill-case-picker-label button,.drill-panel-footer button{color:#b8d49f;font:inherit;cursor:pointer;background:0 0;border:0}.drill-case-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.drill-case-chip{color:#aeb5a8;text-align:left;cursor:pointer;background:#202420;border:1px solid #333a33;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:9px 10px;font-size:10px;display:flex}.drill-case-chip.selected{color:#e0e9d8;background:#273126;border-color:#53654b}.drill-case-number{color:#8ea27e;font-family:var(--mono);font-size:8px}.drill-config-footer{background:#151815;border:1px solid #303830;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:12px;display:flex}.repeat-stepper,.color-neutral-note{align-items:center;gap:10px;display:flex}.repeat-stepper>span{gap:3px;display:grid}.repeat-stepper small{color:#939c8d;font-family:var(--mono);letter-spacing:.8px;font-size:7px}.repeat-stepper strong{color:#eef1e9;font-family:var(--mono);font-size:17px}.repeat-stepper>div{gap:5px;display:flex}.repeat-stepper button{color:#d6e5c9;cursor:pointer;background:#252b24;border:1px solid #414a3f;border-radius:7px;width:27px;height:27px;font-size:15px}.color-neutral-note{color:#bdc7b5;font-size:9px;line-height:1.4}.color-neutral-note small{color:#8f9988;font-size:8px}.color-neutral-icon{color:#c2d9aa;border:1px solid #4b5d43;border-radius:8px;place-items:center;width:28px;height:28px;font-size:17px;display:grid}.case-lab-error{color:#e6aa98;margin:12px 0 0;font-size:10px}.drill-start-button,.drill-action-button{color:#e0edd3;cursor:pointer;background:linear-gradient(135deg,#354431,#293629);border:1px solid #667d59;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;margin-top:14px;font-size:11px;font-weight:700;display:flex;box-shadow:0 5px 18px #0003}.drill-start-button:hover,.drill-action-button:hover{background:linear-gradient(135deg,#40533b,#30402e);border-color:#8ca578}.drill-start-button:disabled,.drill-action-button:disabled{opacity:.48;cursor:not-allowed}.drill-panel{z-index:16;background:#191c19;border:1px solid #3d493b;border-radius:15px;gap:12px;width:min(390px,100vw - 24px);max-height:min(580px,72dvh);padding:16px;display:grid;position:fixed;bottom:18px;right:18px;overflow:auto;box-shadow:0 16px 60px #0000007a}.drill-panel-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.drill-panel-header h2{color:#eef1e9;letter-spacing:-.45px;margin:4px 0 0;font-size:17px}.drill-panel-meta{color:#9ca696;font-family:var(--mono);letter-spacing:.8px;justify-content:space-between;font-size:8px;display:flex}.drill-panel-preview{background:#141714;border:1px solid #303830;border-radius:11px;grid-template-columns:minmax(120px,.9fr) minmax(0,1.1fr);align-items:center;gap:13px;padding:9px;display:grid}.drill-panel-preview img{width:100%;height:auto;display:block}.drill-orientation-sign{gap:5px;display:grid}.drill-orientation-sign span{color:#8f9c87;font-family:var(--mono);letter-spacing:1px;font-size:8px}.drill-orientation-sign strong{color:#e5eddd;text-transform:uppercase;font-size:18px}.drill-orientation-sign small{color:#dfc86f;font-family:var(--mono);letter-spacing:.8px;font-size:8px}.drill-step-block{gap:9px;display:grid}.drill-step-title{color:#a8b19f;font-family:var(--mono);letter-spacing:.7px;align-items:center;gap:8px;font-size:8px;display:flex}.drill-step-title strong{color:#dbe6d1;margin-left:auto;font-size:9px}.drill-step-index{color:#bcd4a5;background:#242d23;border:1px solid #46543f;border-radius:6px;place-items:center;width:21px;height:21px;display:grid}.drill-algorithm{color:#d9e8ca;max-height:76px;font-family:var(--mono);overflow-wrap:anywhere;background:#222920;border:1px solid #384235;border-radius:8px;padding:8px 10px;font-size:10px;line-height:1.65;display:block;overflow:auto}.drill-message{color:#a5aea0;margin:0;font-size:9px;line-height:1.45}.drill-message.drill-warning{color:#e2bd76}.drill-action-button{min-height:35px;margin-top:2px;font-size:10px}.drill-action-button kbd{margin-left:auto}.drill-result-time{color:#e7f3dc;font-family:var(--mono);letter-spacing:-1.5px;font-size:28px;font-weight:700}.drill-result-time.live-timer{color:#c6e5aa}.drill-best-time{color:#acb69f;font-family:var(--mono);letter-spacing:.7px;font-size:8px}.drill-best-time span{color:#66725f;padding:0 5px}.drill-next-move{background:#20261e;border:1px solid #303a2d;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.drill-next-move span{color:#91a286;font-family:var(--mono);letter-spacing:.9px;font-size:8px}.drill-next-move strong{color:#e5f1d9;font-family:var(--mono);font-size:16px}.drill-feedback{color:#bfe2b3;background:#1d2b1e;border:1px solid #38553a;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 9px;padding:8px 9px;display:grid}.drill-feedback.same-face{color:#e6ce82;background:#302b1c;border-color:#625334}.drill-feedback.incorrect{color:#e7a697;background:#30211f;border-color:#67403a}.drill-feedback.recovered{color:#b1d2e5;background:#202a31;border-color:#3b4d5d}.drill-feedback-move{min-width:26px;height:25px;font-family:var(--mono);border:1px solid;border-radius:6px;place-items:center;font-size:11px;font-weight:700;display:grid}.drill-feedback-copy{font-size:9px;line-height:1.35}.drill-correction{color:inherit;font-family:var(--mono);letter-spacing:.5px;grid-column:2;font-size:11px}.drill-move-marks{flex-wrap:wrap;gap:5px;display:flex}.drill-move-mark{color:#bfe2b3;min-width:26px;height:25px;font-family:var(--mono);background:#1d2b1e;border:1px solid #38553a;border-radius:6px;place-items:center;padding:0 5px;font-size:10px;display:grid}.drill-move-mark.same-face{color:#e6ce82;background:#302b1c;border-color:#625334}.drill-move-mark.incorrect{color:#e7a697;background:#30211f;border-color:#67403a}.drill-move-mark.recovered{color:#b1d2e5;background:#202a31;border-color:#3b4d5d}.drill-panel-footer{color:#7f8a7b;font-family:var(--mono);border-top:1px solid #2d342d;justify-content:space-between;align-items:center;padding-top:8px;font-size:7px;display:flex}.drill-panel-footer button{color:#b8c8ad;font-family:var(--sans);font-size:9px}.heading-actions{align-items:center;gap:22px;display:flex}.mode-switch{background:#171a17;border:1px solid #303731;border-radius:9px;align-items:center;gap:3px;padding:3px;display:flex}.mode-switch button{color:#9da69a;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;min-height:31px;padding:0 10px;font-size:9px;font-weight:650}.mode-switch button.active{color:#d9e8ce;background:#293429;border-color:#465540}.mode-switch button:disabled{cursor:not-allowed;opacity:.5}.timed-card{background:linear-gradient(135deg,#1b211b,#171a17);border:1px solid #303831;border-radius:14px;gap:13px;padding:17px 20px;display:grid;box-shadow:inset 0 1px #bdd9a50a}.timed-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.timed-card-header>div:first-child{gap:4px;display:grid}.timed-status{color:#98a292;font-family:var(--mono);letter-spacing:1px;font-size:8px}.timed-status.running{color:#b8d99e}.timed-status.solved{color:#9dd595}.timed-status.dnf{color:#e49c8d}.timed-display{color:#edf4e6;font-family:var(--mono);letter-spacing:-1.7px;font-variant-numeric:tabular-nums;font-size:clamp(27px,5vw,37px);font-weight:650;line-height:1}.timed-action-row{align-items:center;gap:8px;display:flex}.timed-scramble-button,.timed-dnf-button{color:#d7e9c6;cursor:pointer;background:#2b3828;border:1px solid #536649;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 11px;font-size:10px;font-weight:700;display:inline-flex}.timed-scramble-button:disabled{cursor:not-allowed;opacity:.45}.timed-dnf-button{color:#e5b0a2;background:#342521;border-color:#65423c}.timed-scramble-line,.timed-live-moves{border-top:1px solid #2d342d;gap:5px;padding-top:10px;display:grid}.timed-scramble-line>span,.timed-live-moves>span{color:#8f9b88;font-family:var(--mono);letter-spacing:1px;font-size:7px}.timed-scramble-line code{color:#c6d4bc;font-family:var(--mono);overflow-wrap:anywhere;font-size:10px;line-height:1.55}.timed-live-moves>div{flex-wrap:wrap;gap:4px;display:flex}.timed-live-moves>div span{color:#d6e4cc;min-width:22px;height:22px;font-family:var(--mono);background:#222722;border:1px solid #3b4438;border-radius:5px;place-items:center;font-size:9px;display:grid}.timed-averages{border-top:1px solid #2d342d;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;padding-top:10px;display:grid}.timed-averages>div{align-items:baseline;gap:7px;display:flex}.timed-averages span,.timed-averages small{color:#929d8b;font-family:var(--mono);letter-spacing:.5px;font-size:8px}.timed-averages strong{color:#e1ebd8;font-family:var(--mono);font-size:12px}.timed-averages small{text-align:right}.timed-history{color:#b2bcae;border-top:1px solid #2d342d;padding-top:8px;font-size:9px}.timed-history summary{cursor:pointer}.timed-history>p{color:#8e9889;margin:9px 0 0;font-size:9px}.timed-history-list{gap:5px;margin-top:8px;display:grid}.timed-history-item{background:#1c201c;border:1px solid #303830;border-radius:7px;padding:7px 8px}.timed-history-item>summary{justify-content:space-between;list-style:none;display:flex}.timed-history-item>summary::-webkit-details-marker{display:none}.timed-history-item strong{color:#dce8d2;font-family:var(--mono);font-size:10px}.timed-history-item span,.timed-history-item div small{color:#90998c;font-size:8px}.timed-history-item div{gap:3px;margin-top:7px;display:grid}.timed-history-item code{color:#b9c7af;font-family:var(--mono);overflow-wrap:anywhere;font-size:8px;line-height:1.45}.timed-controls-note{color:#95a08f;font-size:9px}.move-button:disabled{cursor:not-allowed;opacity:.4}@media (width<=680px){.heading-actions{gap:10px}.mode-switch button{padding:0 8px;font-size:8px}.heading-badge{display:none}}@media (width<=440px){.timed-card{padding:14px}.timed-averages{grid-template-columns:1fr 1fr}.timed-averages small{text-align:left;grid-column:1/-1}}@media (width<=560px){.case-lab-overlay{padding:10px}.case-lab-dialog{padding:18px 14px 14px}.drill-case-picker{gap:6px}.drill-case-chip{padding:8px 7px;font-size:9px}.drill-config-footer{flex-wrap:wrap;padding:9px}.drill-panel{right:10px;bottom:max(10px, env(safe-area-inset-bottom));gap:9px;width:calc(100vw - 20px);max-height:min(440px,58dvh);padding:12px}.drill-panel-preview{grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);gap:8px;padding:7px}.drill-orientation-sign strong{font-size:15px}.drill-result-time{font-size:23px}}
