@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#302f38;background:#fafaf9;font-synthesis:none;font-size:14px;--purple:#7d65ce;--muted:#99969f;--border:#eae9ec}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b7a5ef;outline-offset:4px}button{border:0;background:none}a{text-decoration:none;color:inherit}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}#app{display:flex;min-height:100vh}.sidebar{width:235px;flex-shrink:0;border-right:1px solid var(--border);background:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:35px 20px 0}.brand{display:flex;align-items:center;font-family:Manrope,sans-serif;font-size:31px;font-weight:800;letter-spacing:-1.5px;padding:0 12px;gap:10px}.brand-icon{color:var(--purple);display:grid;place-items:center}.brand-icon .icon{width:34px;height:34px;stroke-width:1.6}.brand-dot{color:var(--purple);margin-left:-10px}.workspace-label{font-size:9px;letter-spacing:1.6px;color:#a7a3ad;margin:47px 12px 18px;font-weight:600}nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;text-align:left;gap:12px;width:100%;padding:13px 14px;border-radius:8px;color:#77747e;font-size:12px;font-weight:500}.nav-item .icon{width:18px;height:18px}.nav-item.active{color:var(--purple);background:#f1edf9;font-weight:600}.nav-item:hover{background:#f6f3fa}.nav-indicator{margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--purple)}.sidebar-bottom{margin:auto 13px 32px;background:linear-gradient(135deg,#faf8fe,#f5f3fa);border:1px solid #efecf5;border-radius:12px;padding:20px 19px 18px;position:relative;overflow:hidden}.little-cube{color:#9a86cf;transform:rotate(-12deg);margin-bottom:14px}.little-cube .icon{width:31px;height:31px;stroke-width:1.2}.sidebar-bottom h3{font-family:Manrope,sans-serif;font-size:17px;line-height:1.6;letter-spacing:-.4px;margin:0 0 8px;font-weight:700}.sidebar-bottom p{font-size:11px;line-height:1.9;color:#96909e;margin:0}.sidebar-dots{display:flex;gap:5px;margin-top:18px}.sidebar-dots i{width:6px;height:6px;border-radius:50%;background:#d7c9ef}.sidebar-dots i:nth-child(2){background:#bad7c7}.sidebar-dots i:nth-child(3){background:#edc7b3}.sidebar-dots i:nth-child(4){background:#f0dfa4}.help-button{display:flex;align-items:center;color:#918b99;font-size:11px;gap:9px;margin:0 10px 23px}.help-button .icon{width:16px;height:16px}.help-button .icon:last-child{margin-left:auto;width:13px}.profile{margin:0 -20px;border-top:1px solid var(--border);padding:20px;display:flex;align-items:center;gap:9px}.avatar,.small-avatar{border:4px solid #fff;box-shadow:0 0 0 1px #e9e4ee;background:#f0e9f6;color:#8e77a6;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:12px}.profile strong{display:block;font-size:10px;font-weight:600}.profile div>span{display:block;font-size:9px;color:#a09ba5;margin-top:4px}.online-dot{width:5px;height:5px;background:#a9c6ab;border-radius:50%;margin-left:auto}main{margin-left:235px;flex:1;min-width:0}.topbar{height:78px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 44px;font-size:11px;background:#ffffff80}.breadcrumb{color:#a49fa8}.slash{color:#c5c0c9;margin:0 13px}.topbar-right{display:flex;align-items:center;gap:23px}.streak{display:flex;align-items:center;gap:5px;color:#8b8492;font-size:11px}.streak .icon{color:#cf9e75;width:17px;margin-right:3px}.streak strong{color:#62576b}.header-divider{height:22px;width:1px;background:var(--border)}.small-avatar{width:30px;height:30px;font-size:10px}.content{max-width:1350px;margin:auto;padding:39px 44px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;color:#a49aa9;margin-bottom:11px}h1{font-family:Manrope,sans-serif;font-size:32px;letter-spacing:-1.25px;line-height:1.35;margin:0 0 9px;font-weight:750}.page-heading p{color:#92909a;font-size:12px;margin:0;line-height:1.8}.daily-pill{border:1px solid #eae5f2;background:#f7f4fb;color:#9c8bb3;display:flex;align-items:center;gap:7px;border-radius:20px;padding:9px 12px;font-size:9px;white-space:nowrap}.daily-pill .icon{width:13px;height:13px}.practice-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:24px}.cube-panel{background:#fff;border:1px solid var(--border);border-radius:13px;overflow:hidden;display:flex;flex-direction:column}.panel-toolbar{padding:19px 21px;display:flex;align-items:center;justify-content:space-between}.segmented{padding:4px;background:#f6f5f7;border-radius:7px;display:flex;gap:3px}.segmented button{font-size:10px;color:#a09aa7;padding:8px 14px;border-radius:5px}.segmented .selected{background:#fff;color:#75618e;box-shadow:0 1px 4px #3a21440b;font-weight:500}.icon-button{display:grid;place-items:center;color:#a59faa;border-radius:5px;padding:5px}.icon-button:hover{background:#f3eff8;color:var(--purple)}.icon-button .icon{width:16px;height:16px}.cube-stage{height:291px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 53%,#f4f0f9 0,#fff 67%);touch-action:none;cursor:grab}.cube-stage:active{cursor:grabbing}.cube-orbit{position:absolute;width:304px;height:304px;border:1px solid #f0ecf5;border-radius:50%;top:-5px}.cube-orbit:after{content:"";position:absolute;top:27px;right:27px;bottom:27px;left:27px;border:1px dashed #ebe6f1;border-radius:50%}.cube-scene{width:190px;height:190px;perspective:900px;position:relative;z-index:2;margin-top:-24px}.cube{position:absolute;top:50%;left:50%;transform-style:preserve-3d;width:0;height:0}.sticker{position:absolute;width:60px;height:60px;left:-30px;top:-30px;background:var(--sticker);border:3px solid #34383b;border-radius:7px;backface-visibility:hidden;box-shadow:inset 0 1px 1px #ffffff36}.cube-shadow{position:absolute;bottom:35px;width:170px;height:22px;border-radius:50%;background:#44404c14;filter:blur(10px)}.face-label{position:absolute;color:#bbb4c6;font-size:10px;font-weight:600}.face-u{top:23px;left:50%}.face-f{top:173px;left:calc(50% - 142px)}.face-r{top:173px;left:calc(50% + 136px)}.drag-hint{position:absolute;bottom:1px;display:flex;gap:6px;align-items:center;font-size:9px;color:#aca4b6}.drag-hint .icon{width:12px;height:12px}.cube-controls{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 19px;gap:8px}.control-text{display:flex;align-items:center;gap:6px;font-size:9px;color:#928a9e;padding:0}.control-text .icon{width:13px;height:13px}.orientation{font-size:8px;color:#a49da9;display:flex;align-items:center;gap:5px}.orientation i{width:4px;height:4px;border-radius:50%;background:#b7c9b4}.move-keyboard{border-top:1px solid #efedf2;background:#fdfcfe;display:flex;flex-direction:column;align-items:center;padding:17px 0 16px}.move-keyboard>span{font-size:8px;font-weight:500;letter-spacing:1.5px;color:#a59cad;margin-bottom:11px}.move-keyboard>div{display:flex;gap:9px}.move-keyboard button{height:36px;width:38px;border:1px solid #e6e1ed;background:#fff;border-radius:6px;box-shadow:0 2px #eeeaf3;font-family:Manrope,sans-serif;font-size:12px;font-weight:600;color:#766a87}.move-keyboard button:hover{background:#f0e9fc;border-color:#c0acdf;transform:translateY(-2px)}.move-keyboard small{font-size:8px;color:#aca5b5;margin-top:12px}kbd{font-family:inherit;font-size:.9em;border:1px solid #e5e0ec;border-radius:3px;padding:1px 4px;background:#fff;color:#9a90a7}.lesson-panel{background:#fff;border:1px solid var(--border);border-radius:13px;padding:24px 25px 19px}.lesson-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.tag{display:inline-flex;border-radius:5px;font-size:9px;padding:5px 8px;font-weight:500}.mint{background:#eaf4ee;color:#699b80}.lavender{background:#f0eafb;color:#8f75bd}.lesson-panel h2{font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-.85px;font-weight:750;display:flex;align-items:center;gap:10px;margin:0 0 9px}.level-dot{width:6px;height:6px;background:#a5c7ac;border-radius:50%}.lesson-description{font-size:11px;line-height:1.85;color:#96909e;margin:0;max-width:310px}.lesson-meta{display:flex;gap:9px;align-items:center;font-size:9px;color:#a69dae;margin-top:16px}.lesson-meta span{display:flex;gap:5px;align-items:center}.lesson-meta .icon{width:12px;height:12px}.lesson-meta i{width:2px;height:2px;background:#bfb6c8;border-radius:50%}.lesson-divider{height:1px;background:#eeebf1;margin:21px 0}.sequence-heading{display:flex;align-items:center;justify-content:space-between;color:#aca2b6}.sequence-heading>span{font-size:8px;letter-spacing:1.5px}.sequence-heading button{display:flex;align-items:center;font-size:8px;gap:4px;color:#a79bb3;padding:0}.sequence-heading .icon{width:11px;height:11px}.sequence{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 19px}.move-token{font-family:Manrope,sans-serif;background:#f8f6fa;border:1px solid #ebe6f1;border-radius:6px;font-size:19px;font-weight:600;min-width:46px;height:44px;color:#9788ac}.move-token.current{background:#eee8fa;border-color:#bbaadc;color:#7d60b7;box-shadow:0 0 0 2px #f6f1fe}.move-token.done{background:#e9f4ee;color:#79a48b;border-color:#cce2d5}.step-card{border:1px solid #ece7f5;background:#f8f6fc;border-radius:8px;padding:15px 16px;margin-bottom:16px;min-height:127px}.step-card-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.2px;color:#a696ba}.step-card-top .icon{width:14px;height:14px;color:#b7a6ce}.step-card h3{font-size:12px;letter-spacing:-.2px;margin:9px 0 6px;font-weight:600}.step-card p{font-size:9px;color:#a195ae;line-height:1.8;margin:0}.step-progress{display:flex;gap:4px;margin-top:12px}.step-progress i{height:3px;background:#e9e3f2;flex:1;border-radius:5px}.step-progress i.current{background:#ac95d5}.step-progress i.complete{background:#9fc6b0}.primary-button{width:100%;border:1px solid #7b5fca;border-radius:7px;color:#fff;background:#8066ce;display:flex;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:11px;font-weight:500;box-shadow:0 3px 6px #7e62cb15}.primary-button:hover{background:#7156bc}.primary-button .icon{width:15px;height:15px}.primary-button kbd{color:#d3c5ed;border-color:#a18ad8;background:#9279d3;margin-left:auto;font-size:10px}.primary-button>.icon:first-child{margin-left:auto}.watch-button{display:flex;align-items:center;gap:7px;justify-content:center;font-size:9px;color:#9b8cae;width:100%;margin:13px 0 10px}.watch-button .icon{height:12px;width:12px}.keyboard-tip{text-align:center;font-size:8px;color:#b9afc1}.keyboard-tip kbd{margin:0 2px}.next-section{margin-top:31px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading h2{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.55px;font-weight:700;margin:0 0 6px}.section-heading p{font-size:10px;color:#a099a7;margin:0}.text-button{display:flex;align-items:center;gap:7px;color:#9e8cb6;font-size:9px;padding:0}.text-button .icon{width:12px;height:12px}.algorithm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.algorithm-card{border:1px solid var(--border);border-radius:9px;background:#fff;padding:19px 16px;display:flex;gap:13px;text-align:left;position:relative;align-items:center;transition:transform .2s,box-shadow .2s}.algorithm-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #43325309;border-color:#d9cde9}.mini-pattern{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:48px;height:48px;flex-shrink:0;background:none!important;transform:rotate(-7deg);padding:3px}.mini-pattern i{background:#e9eeeb;border-radius:2px}.mini-pattern.mint i:nth-child(3n+1){background:#a8cbb7}.mini-pattern.mint i:nth-child(5){background:#90bba4}.mini-pattern.peach i{background:#f3e7dc}.mini-pattern.peach i:nth-child(3n+1),.mini-pattern.peach i:nth-child(5){background:#e7ba95}.mini-pattern.lavender i{background:#e9e1f5}.mini-pattern.lavender i:nth-child(3n+2),.mini-pattern.lavender i:nth-child(3){background:#b9a6d6}.mini-pattern.blue i{background:#e3edf7}.mini-pattern.blue i:nth-child(2n){background:#96b9df}.card-category{font-size:8px;color:#a39ba9}.card-info h3{font-size:12px;font-weight:600;letter-spacing:-.3px;margin:5px 0}.card-info p{font-size:8px;color:#a49cae;margin:0;line-height:1.6}.card-meta{display:flex;align-items:center;gap:5px;color:#a49bad;font-size:8px;margin-top:12px}.tiny-dot{width:4px;height:4px;border-radius:50%;display:inline-block}.green{background:#a3c7ad}.purple{background:#c0acd7}.card-meta>span:nth-child(2){margin:0 2px}.card-arrow{position:absolute;top:17px;right:12px;color:#bbb0c8}.card-arrow .icon{height:12px;width:12px}.daily-banner{display:flex;align-items:center;gap:13px;border:1px solid #e9e6ef;border-radius:8px;background:#f5f3f9;padding:17px 20px;margin-top:23px}.banner-icon{color:#b4a4cb;background:#ede8f5;width:31px;height:31px;border-radius:8px;display:grid;place-items:center}.banner-icon .icon{width:15px;height:15px}.daily-banner strong{display:block;font-size:10px;font-weight:500;color:#877996;margin-bottom:4px}.daily-banner div>span{font-size:9px;color:#a69ab3}.daily-goal{margin-left:auto;min-width:100px;text-align:right}.daily-goal>span{font-size:8px!important}.daily-goal>div{display:flex;gap:4px;margin-top:7px}.daily-goal i{height:4px;width:21px;border-radius:4px;background:#e4ddef}.daily-goal i.filled{background:#ac93d1}footer{display:flex;justify-content:space-between;align-items:center;color:#b7b0be;font-size:8px;padding:24px 0 21px}footer>span{display:flex;gap:6px;align-items:center}footer .icon{width:12px;height:12px;color:#b2a7c1}.footer-dot{width:4px;height:4px;background:#b2c8b5;border-radius:50%}.library-toolbar{display:flex;justify-content:space-between;align-items:center;margin:15px 0 25px}.library-toolbar label{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;padding:10px 14px;background:#fff;gap:10px;color:#b0a3bf}.library-toolbar input{border:0;outline:none;padding:5px;background:none;width:240px;color:#62596b;font-size:12px}.library-toolbar>span{font-size:11px;color:#a49aad}.library-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.library-grid .algorithm-card{min-height:140px}.library-grid .mini-pattern{width:65px;height:65px}.library-grid .card-info h3{font-size:17px}.library-grid .card-info p{font-size:11px}.library-note{padding:24px;margin-top:25px;border:1px solid #e9e2f3;background:#f7f3fc;border-radius:9px;color:#9d8bad;font-size:12px;display:flex;gap:12px;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:25px;display:flex;flex-direction:column;gap:14px}.stat-card>.icon{color:#aa95c9}.stat-card strong{font-family:Manrope;font-size:35px;font-weight:600}.stat-card span{color:#9e93a8;font-size:11px}.history-panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:25px;margin-top:25px}.history-panel h2{font-family:Manrope;font-size:18px}.empty-progress{text-align:center;padding:60px 10px;color:#9e93a8}.empty-progress>.icon{width:45px;height:45px;color:#b6a3d2}.empty-progress p{font-size:12px}.empty-progress .primary-button{width:220px;margin:25px auto}.history-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #f0edf4}.history-check{padding:8px;background:#ecf6ef;border-radius:50%;color:#90b99c}.history-row strong{display:block;font-size:12px}.history-row div>span{display:block;font-size:10px;margin-top:5px;color:#a397ae}.history-row time{margin-left:auto;color:#a99db3;font-size:11px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2f243f55;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:20;padding:20px}.modal{max-width:480px;background:#fff;border:1px solid #e9e3f0;border-radius:16px;padding:32px;box-shadow:0 25px 90px #271a3f25;position:relative;max-height:90vh;overflow:auto}.modal>.icon-button{position:absolute;right:16px;top:16px}.modal h2{font-family:Manrope;font-size:25px;letter-spacing:-1px}.modal p{font-size:12px;color:#978b9f;line-height:1.8}.notation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.notation-grid>div{display:flex;align-items:center;gap:8px;color:#9e91a9;font-size:11px}.notation-grid kbd{padding:7px 10px;color:#8a6eaf;background:#f8f4fc}.notation-explanation{padding:5px 15px;background:#faf7fe;border-radius:8px}.modal .primary-button{margin-top:24px}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%,20px);padding:13px 20px;border:1px solid #e4dbef;box-shadow:0 5px 25px #44315215;border-radius:10px;background:#fff;color:#8b72a6;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:30;max-width:90vw}#toast.show{transform:translate(-50%);opacity:1}.enabled{color:var(--purple)}[hidden]{display:none!important}.focus-mode{position:fixed;top:15px;right:15px;bottom:15px;left:250px;z-index:10;background:#fafaf9;align-content:center;padding:25px;box-shadow:0 0 0 100vmax #fafaf9}.focus-mode .cube-stage{height:370px}@media(min-width:1450px){.content{padding-top:48px}.cube-stage{height:340px}.cube-orbit{top:18px}.cube-shadow{bottom:56px}.drag-hint{bottom:14px}.face-u{top:45px}.face-f,.face-r{top:195px}.lesson-panel{padding:28px 30px}.lesson-panel h2{font-size:28px}.lesson-description{font-size:12px}.step-card{margin-top:25px}.algorithm-card{padding:24px 20px}.card-info h3{font-size:14px}.card-info p{font-size:10px}.mini-pattern{width:56px;height:56px}}@media(max-width:1150px){.sidebar{width:200px;padding-left:14px;padding-right:14px}.profile{margin:0 -14px;padding:16px 12px}.brand{font-size:29px}.sidebar-bottom{margin-left:3px;margin-right:3px}.nav-item{font-size:11px;padding:12px 9px}main{margin-left:200px}.topbar{padding:0 28px}.content{padding:30px 28px 0}.daily-pill{display:none}.practice-layout{gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr)}.lesson-panel{padding:21px 20px}.cube-controls{padding-left:15px;padding-right:15px}.orientation{font-size:7px}.algorithm-card{padding:18px 10px;gap:8px}.mini-pattern{width:38px;height:38px;gap:2px}.card-info h3{font-size:11px}.card-info p{font-size:7px}.card-arrow{right:7px;top:12px}.card-category{font-size:7px}.focus-mode{left:215px}}@media(max-width:900px){.sidebar{width:76px;padding:26px 10px}.brand{padding:0;justify-content:center;font-size:0;gap:0}.brand-dot,.workspace-label,.nav-item span,.sidebar-bottom,.help-button,.profile{display:none}.brand .icon{width:33px;height:33px}nav{margin-top:45px;gap:14px}.nav-item{justify-content:center;padding:14px 8px}.nav-item .icon{width:21px;height:21px}main{margin-left:76px}.content{padding:28px 24px 0}.topbar{height:67px;padding:0 24px}.practice-layout{gap:16px;grid-template-columns:minmax(0,1fr) minmax(270px,1fr)}h1{font-size:29px}.page-heading p{font-size:11px}.lesson-panel h2{font-size:23px}.panel-toolbar{padding:16px 12px}.segmented button{padding:7px 8px;font-size:9px}.cube-scene{transform:scale(.9)}.cube-orbit{width:260px;height:260px;top:16px}.face-f{left:calc(50% - 120px)}.face-r{left:calc(50% + 118px)}.orientation{display:none}.cube-controls{padding:18px}.algorithm-cards{gap:9px}.algorithm-card{flex-wrap:wrap;padding:15px}.mini-pattern{margin-bottom:5px}.card-info{width:100%}.card-info h3{font-size:12px}.card-info p,.card-category{font-size:8px}.daily-banner div>span{font-size:8px}.focus-mode{left:90px;padding:15px}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:660px){#app{display:block}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:66px;z-index:12;padding:0;border-top:1px solid var(--border);border-right:0;box-shadow:0 -3px 16px #39224e05}.brand{display:none}nav{margin:0;display:flex;height:100%;justify-content:space-around;align-items:center;gap:0}.nav-item{flex-direction:column;gap:5px;border-radius:8px;padding:9px 18px;font-size:9px;width:auto;min-width:90px}.nav-item span{display:block}.nav-item .nav-indicator{display:none}.nav-item .icon{width:19px;height:19px}.nav-item.active{background:#f4effb}main{margin:0;padding-bottom:66px}.topbar{height:58px;padding:0 21px}.topbar>div:first-child{font-size:10px}.topbar-right{gap:14px}.streak{font-size:9px}.header-divider{display:none}.small-avatar{height:27px;width:27px}.content{padding:26px 18px 0}.eyebrow{font-size:7px;letter-spacing:1.55px}h1{font-size:28px;letter-spacing:-1px}.page-heading{margin-bottom:23px}.page-heading p{font-size:10px}.practice-layout{grid-template-columns:1fr;gap:16px}.panel-toolbar{padding:15px 17px}.segmented button{padding:7px 13px;font-size:10px}.cube-stage{height:262px}.cube-orbit{top:-2px;width:266px;height:266px}.cube-scene{transform:scale(.9);margin-top:-15px}.cube-shadow{bottom:26px}.face-u{top:14px}.face-f,.face-r{top:158px}.drag-hint{bottom:0}.cube-controls{padding:16px 20px}.orientation{display:flex;font-size:7px}.move-keyboard{padding:13px 0}.move-keyboard button{height:34px;width:39px}.move-keyboard small{margin-top:10px}.lesson-panel{padding:22px}.lesson-panel h2{font-size:26px}.lesson-description{font-size:12px;max-width:none}.lesson-meta{font-size:10px}.lesson-divider{margin:20px 0}.sequence-heading>span{font-size:9px}.sequence-heading button{font-size:9px}.sequence{margin:17px 0 20px}.move-token{min-width:51px;height:47px}.step-card{padding:17px 18px;min-height:133px}.step-card h3{font-size:13px}.step-card p{font-size:10px}.step-progress{margin-top:15px}.primary-button{font-size:12px;padding:14px}.watch-button{font-size:10px;margin-top:16px}.keyboard-tip{font-size:8px}.next-section{margin-top:28px}.section-heading{align-items:flex-start;gap:10px}.section-heading h2{font-size:15px}.section-heading p{font-size:9px}.text-button{font-size:8px;max-width:90px;line-height:1.6;text-align:right;padding-top:2px;gap:2px}.text-button .icon{width:14px}.algorithm-cards{grid-template-columns:1fr;gap:10px}.algorithm-card{flex-wrap:nowrap;padding:17px;gap:16px}.mini-pattern{width:48px;height:48px;margin:0;gap:3px}.card-info{width:auto}.card-info h3{font-size:14px}.card-info p{font-size:9px}.card-meta{font-size:8px;margin-top:9px}.card-arrow{top:calc(50% - 7px);right:14px}.daily-banner{padding:15px 12px;gap:10px;margin-top:19px;flex-wrap:wrap}.daily-banner strong{font-size:10px}.daily-banner div>span{font-size:8px}.daily-goal{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 4px 0;border-top:1px solid #e8e1ef;margin-top:2px}.daily-goal>div{margin:0}.daily-goal i{width:30px}footer{font-size:7px;padding:21px 0}footer>span{gap:4px}footer>span:last-child{font-size:6px}.library-toolbar{flex-direction:column;align-items:stretch;gap:15px}.library-toolbar label{padding:10px}.library-toolbar input{width:100%}.library-toolbar>span{font-size:10px}.library-grid{grid-template-columns:1fr;gap:13px}.library-grid .algorithm-card{min-height:125px}.library-note{font-size:10px;line-height:1.8;padding:18px}.stat-grid{gap:12px}.stat-card{padding:20px}.stat-card span{font-size:10px}.history-panel{padding:20px}.history-row{gap:8px}.history-row time{font-size:9px}.empty-progress{padding:30px 0}.modal{padding:26px}.modal h2{font-size:23px}.modal p{font-size:11px}.notation-grid{gap:12px 5px}.notation-grid>div{gap:4px;font-size:10px}#toast{left:50%;bottom:83px;min-width:260px;font-size:11px;text-align:center}.focus-mode{top:0;right:0;bottom:66px;left:0;overflow:auto;padding:18px;display:block}.focus-mode .cube-panel{margin-bottom:18px}.focus-mode .cube-stage{height:285px}}.move-keyboard small{display:flex;align-items:center;gap:8px}.move-keyboard .prime-toggle{font:inherit;height:auto;width:auto;padding:4px 7px;border:1px solid #e7e0ee;box-shadow:none;border-radius:4px;color:#a195ad;background:#fff}.move-keyboard .prime-toggle.is-prime{color:#8563b5;background:#f0e8fa;border-color:#beabda}.shift-hint{font-size:8px}@media(max-width:660px){.shift-hint{display:none}.move-keyboard .prime-toggle{padding:6px 12px;font-size:9px}}.touch-instructions{border-top:1px solid #efedf2;background:#fdfcfe;display:flex;align-items:center;gap:12px;padding:20px 22px;margin-top:auto}.touch-icon{font-size:24px;background:#f0eafa;color:#a18abf;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.touch-instructions strong{font-size:10px;font-weight:600;color:#8a779f}.touch-instructions p{font-size:9px;line-height:1.8;color:#a69ab2;margin:5px 0 0;max-width:260px}.touch-instructions .control-text{margin-left:auto;white-space:nowrap;font-size:8px}.sticker{cursor:grab;user-select:none;-webkit-user-select:none}.sticker.touched{filter:brightness(1.12);box-shadow:inset 0 0 0 2px #fff9}.turning-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:0;height:0;transform-style:preserve-3d}.cube-stage{user-select:none;-webkit-user-select:none}.face-label,.drag-hint,.cube-shadow,.cube-orbit{pointer-events:none}.cube-stage .drag-hint{font-size:8px;white-space:nowrap}.cube-panel{min-height:540px}@media(max-width:660px){.cube-stage{height:300px}.cube-orbit{top:15px}.cube-shadow{bottom:38px}.face-u{top:35px}.face-f,.face-r{top:175px}.touch-instructions{padding:17px 16px}.touch-instructions .control-text{font-size:0}.touch-instructions .control-text .icon{width:17px;height:17px}.touch-instructions p{font-size:9px}.cube-panel{min-height:0}.cube-scene{transform:scale(1.05)}}
