@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#101319;--panel:#191e26;--panel2:#202630;--line:#2b323e;--text:#f3f5f7;--muted:#9ba5b6;--green:#b7ef68;--ink:#17210c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px 'DM Sans',system-ui,sans-serif}body.light{--bg:#f1f3f0;--panel:#fff;--panel2:#e9eee7;--line:#d1d9d0;--text:#18211d;--muted:#5e6c64}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);padding:10px 15px;transition:background .15s,transform .15s}button:hover{border-color:var(--green);transform:translateY(-1px)}button:disabled{opacity:.4;cursor:default}button.primary,.pill.active{background:var(--green);color:var(--ink);border-color:var(--green)}a{color:inherit;text-decoration:none}aside{width:240px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:34px 22px;background:var(--bg);z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}.logo{font-size:40px;color:var(--green)}.brand small{display:block;font-size:9px;letter-spacing:4px;color:var(--muted);margin-top:4px}.navlabel{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:50px 12px 18px}nav a{display:flex;gap:14px;padding:13px 14px;color:var(--muted);border-radius:9px;margin:5px 0}nav a.active{color:var(--green);background:#b7ef6810}nav a.active:after{content:'•';margin-left:auto}.sidefoot{position:absolute;bottom:28px;font-size:11px;color:var(--muted);line-height:2}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}main{margin-left:240px;padding:0 42px}header{height:89px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}header>div{display:flex;gap:18px;align-items:center}#saveState{font-size:11px}#app{max-width:1300px;margin:auto;padding:36px 0 50px}h1,h2,h3,.number{font-family:'Space Grotesk',system-ui,sans-serif}h1{font-size:36px;letter-spacing:-1.3px;margin:10px 0 12px}h2{font-size:23px;margin:0 0 12px}h3{font-size:17px;margin:0 0 10px}p{color:var(--muted);line-height:1.75;margin:10px 0 20px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 50%,#34473166,transparent 60%),var(--panel);padding:36px;border:1px solid var(--line);border-radius:16px;display:grid;grid-template-columns:1.25fr 1fr;min-height:330px}.hero h1{font-size:44px;line-height:1.12;max-width:460px}.hero p{max-width:410px}.hero .scene{height:280px}.tag{display:inline-block;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:10px;padding:5px 8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:22px 0 34px}.stat,.card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:23px}.stat .number{font-size:29px;margin:12px 0 6px}.muted,small{color:var(--muted)}.green{color:var(--green)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.card p{font-size:13px}.cardlink{display:block}.cardlink:hover{border-color:var(--green)}.icon{display:inline-grid;place-items:center;width:40px;height:40px;background:#b7ef6815;border-radius:10px;color:var(--green);font-size:22px;margin-bottom:24px}.sectionhead{margin:32px 0 18px}.progress{height:5px;background:var(--line);border-radius:10px;margin:18px 0}.progress span{display:block;background:var(--green);height:100%;border-radius:10px}.workspace{display:grid;grid-template-columns:minmax(360px,1.3fr) minmax(280px,1fr);gap:22px;margin-top:24px}.cubePanel{border:1px solid var(--line);border-radius:14px;background:radial-gradient(ellipse at center,#35413d44,transparent 65%),var(--panel);overflow:hidden;padding:20px}.scene{height:350px;perspective:850px;position:relative;touch-action:none;cursor:grab;overflow:hidden}.world{position:absolute;left:50%;top:50%;transform-style:preserve-3d;width:0;height:0}.layer{transform-style:preserve-3d;position:absolute;width:0;height:0}.sticker{position:absolute;width:62px;height:62px;left:-31px;top:-31px;border:4px solid #11171c;border-radius:9px;backface-visibility:hidden;box-shadow:inset 0 0 0 1px #ffffff16}.sticker.highlight{box-shadow:0 0 18px #fff;border-color:#e4ffac}.controls{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:12px 0}.controls button{min-width:42px}.alg{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin:18px 0}.alg span{padding:6px 8px;border-radius:6px;background:var(--panel2);font-family:monospace}.alg .current{background:var(--green);color:var(--ink)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pill{padding:8px 13px;border-radius:22px;font-size:12px}.lessonText{line-height:1.8}.lessonText ol{padding-left:22px;color:var(--muted)}.lessonText li{margin-bottom:14px}.callout{border-left:3px solid var(--green);padding:13px 16px;background:#b7ef680a;border-radius:0 8px 8px 0;font-size:13px;line-height:1.7;margin:18px 0}.feedback{min-height:52px;color:var(--green);font-size:13px;line-height:1.7}.field{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}input,select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px;max-width:100%}textarea{width:100%;min-height:70px}.timer{text-align:center;padding:36px 15px}.timer .clock{font:clamp(75px,11vw,150px) 'Space Grotesk',monospace;letter-spacing:-6px;user-select:none;touch-action:manipulation;margin:30px auto;cursor:pointer}.scramble{font:19px/1.8 monospace;max-width:750px;margin:auto;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500}td button{padding:5px 8px;font-size:11px}.chart{display:flex;align-items:end;gap:4px;height:180px;padding-top:15px}.bar{flex:1;background:var(--green);min-width:3px;opacity:.7;border-radius:3px 3px 0 0}footer{border-top:1px solid var(--line);padding:25px 0;font-size:10px;letter-spacing:1.5px;color:var(--muted);display:flex;justify-content:space-between}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 22px;background:var(--green);color:var(--ink);border-radius:10px;display:none;z-index:20}.empty{padding:35px;text-align:center;color:var(--muted)}@media(max-width:1100px){aside{width:200px;padding:25px 15px}main{margin-left:200px;padding:0 24px}.hero h1{font-size:36px}.workspace{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:16px;border-bottom:1px solid var(--line)}.brand{font-size:16px}.logo{font-size:28px}.navlabel,.sidefoot{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav a{white-space:nowrap;font-size:12px;padding:9px;gap:5px}main{margin:0;padding:0 18px}header{height:58px;font-size:10px}#saveState{font-size:9px}.hero{padding:24px;grid-template-columns:1fr}.hero .scene{height:240px}.hero h1{font-size:37px}.stats{grid-template-columns:repeat(2,1fr)}.grid,.grid.two{grid-template-columns:1fr}.workspace{display:block}.workspace>.card{margin-top:18px}.scene{height:300px}h1{font-size:30px}.timer .clock{letter-spacing:-3px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Visual redesign: supplied artwork, local compressed assets, readable working panels. */
:root{--bg:#080e15;--panel:#111b26eb;--panel2:#1b2b3be8;--line:#6f9bb32c;--muted:#a8b9c9;--green:#a8f173;--text:#f0f6fb}body{background-image:linear-gradient(#08101bcc,#08101bea),url('assets/subtle.webp');background-position:center;background-size:cover;background-attachment:fixed}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 0,#21b8ff0f,transparent 50%);z-index:-1}body.ambient:before{animation:ambientGlow 14s ease-in-out infinite alternate}@keyframes ambientGlow{to{opacity:.3;transform:translateY(10%)}}body[data-page="timer"]{background-image:linear-gradient(#080e15f0,#080e15fa),url('assets/subtle.webp')}aside{background:#080e15e8;backdrop-filter:blur(20px);border-color:#6ba8c527}.brand .logo{color:#a8f173;text-shadow:0 0 20px #62efae33}header{background:linear-gradient(#080e15dd,#080e1500)}header>div button{background:#192c3ae6}.card,.stat,.cubePanel{backdrop-filter:blur(16px);box-shadow:0 12px 45px #00000015}.cardlink:hover{background:#172b3ee8;box-shadow:0 0 25px #3aaaf80c}.cinematic{background:linear-gradient(90deg,#07101ce6 0%,#07101c70 56%,#07101c1a),url('assets/dashboard.webp') center/cover;min-height:420px;padding:46px;border:1px solid #66c9f342;box-shadow:inset 0 0 80px #060b1355,0 20px 80px #0003}.cinematic h1{font-size:clamp(38px,4.4vw,64px);line-height:1.06;letter-spacing:-2.4px;margin:22px 0}.cinematic p{font-size:16px;max-width:440px;color:#becfdd}.cinematic .scene{height:270px}.gradientText{background:linear-gradient(100deg,#e0ffab,#5ed8ff);background-clip:text;-webkit-background-clip:text;color:transparent}.heroBadges{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:#b6cbd8;margin-top:30px}.heroCubeWrap{text-align:center;align-self:center}.heroCubeWrap .tag{font-size:8px;background:#0c1d2bcc;border-color:#53c7f847}.heroCubeWrap .world{filter:drop-shadow(0 20px 20px #0008)}.primary{box-shadow:0 0 25px #aeef6c17}.feature{position:relative;overflow:hidden;padding:28px}.feature:before{content:'';width:110px;height:110px;position:absolute;right:-40px;top:-40px;border:1px solid #4fbcff22;transform:rotate(35deg);border-radius:14px}.feature:nth-child(2) .icon{color:#5fd7ff;background:#5fd7ff12}.feature:nth-child(3) .icon{color:#ffbe66;background:#ffbe6612}.feature .eyebrow{display:block;font-size:9px;margin-bottom:17px}.feature h2{font-size:24px}.activity{display:flex;align-items:end;justify-content:space-around;gap:8px;height:145px}.activity>div{display:flex;align-items:center;flex-direction:column;gap:8px;font-size:10px;min-width:22px}.activityBar{width:24px;border-radius:5px;background:linear-gradient(#8debd3,#27b7e369);min-height:5px}.pageBanner{padding:34px;border:1px solid #5faddb24;background:linear-gradient(90deg,#0a1525e0,#0a15255c),url('assets/subtle.webp') center/cover;border-radius:15px;margin-bottom:25px}.pageBanner h1{font-size:42px;line-height:1.16}.pageBanner p{max-width:760px;margin-bottom:8px}.pathway{position:relative;margin:34px 0}.pathway:before{content:'';position:absolute;left:27px;top:35px;bottom:35px;width:1px;background:linear-gradient(var(--green),#43c8ff66,#edb95833)}.pathCard{display:flex;gap:30px;margin:18px 0 18px 0;background:linear-gradient(110deg,#142536ed,#101823eb);position:relative;padding:28px}.pathNumber{background:#122632;border:1px solid #68d6e94d;min-width:53px;height:53px;display:grid;place-items:center;border-radius:15px;font-family:'Space Grotesk';color:#9af5d0;font-size:20px;z-index:1}.pathBody{flex:1;min-width:0}.pathBody h2{font-size:27px;margin:12px 0 0}.pathBody p{margin:5px 0;font-size:12px}.pathBody .progress{margin:16px 0 5px}.pathCard details{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}summary{cursor:pointer;color:var(--muted);font-size:12px;padding:9px 0}.lessonList{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.lessonList a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;border-bottom:1px solid var(--line);padding:10px 0}.lessonList a:hover{color:var(--green)}.lessonList .tag{font-size:9px;white-space:nowrap}.filterPanel{margin-bottom:22px;padding:18px 22px}.algorithmGrid{grid-template-columns:repeat(3,1fr)}.algorithmCard{padding:19px}.algorithmLink{display:flex;align-items:center;gap:17px;margin:12px 0}.caseDiagram{width:116px;height:auto;flex-shrink:0}.algorithmLink .caseDiagram{width:90px}.algorithmLink h3{margin-bottom:5px}.algorithmLink small{font-size:11px}.algorithmCard .notation{font-family:monospace;font-size:12px;line-height:1.6;height:58px;overflow:auto;margin:10px 0 20px;color:#b6c9d7}.algorithmCard .row>a{font-size:11px}.star{border:0;background:transparent;padding:3px 7px;font-size:22px;color:#a3b6c7}.star.selected{color:#ffcc6c}.algorithmCard .eyebrow{font-size:9px}.lessonText>.caseDiagram,.lessonText .caseDiagram{display:block;margin:20px auto;width:160px}.sessionTabs{display:flex;gap:8px;overflow:auto;padding:5px 0 18px;align-items:center}.sessionTabs button{white-space:nowrap}.sessionTabs small{margin-left:8px;color:inherit;opacity:.65}.check{display:inline-flex;gap:9px;align-items:center;font-size:12px;color:var(--muted)}input[type=checkbox]{accent-color:var(--green)}.tableScroll{overflow:auto}.historyScramble{font:12px/1.7 monospace;max-width:460px}.timer{background:#0f1925f5}.timer .clock{font-variant-numeric:tabular-nums}.timer details{max-width:500px;margin:auto}.timer details .scene{height:270px}.cubePanel{background:radial-gradient(ellipse at center,#2d7c9750,transparent 65%),#0d1927ef}body.light{background-image:linear-gradient(#f1f6f1ed,#f1f6f1f7),url('assets/subtle.webp');--panel:#ffffffed;--panel2:#e5eee9;--line:#bdcec7;--muted:#526b60;--text:#172f28}body.light aside{background:#edf4efee}body.light .cinematic{color:#f0f6fb}body.light .cinematic button:not(.primary){color:#f0f6fb;background:#162735}body.light .cinematic .eyebrow{color:#b6ed8b}body.light .pageBanner{background-image:linear-gradient(90deg,#edf4f0ef,#edf4f0d9),url('assets/subtle.webp')}body.light .pathCard{background:#fffffff2}body.light .timer{background:#fffffff2}body.light .cubePanel{background:radial-gradient(ellipse at center,#71afcf40,transparent 65%),#e3ede9}body.light .green,body.light .eyebrow{color:#397329}body.light nav a.active{color:#397329}body.light .algorithmCard .notation{color:#45635b}body.light .pathNumber{background:#e1eee7;color:#285c4a}body.light header{background:transparent}@media(min-width:1600px){.cinematic{min-height:470px}}@media(max-width:1100px){.algorithmGrid{grid-template-columns:repeat(2,1fr)}.cinematic{padding:32px;min-height:370px}.cinematic h1{font-size:44px}.heroCubeWrap .scene{height:240px}.pathCard{gap:20px;padding:22px}.pathBody .row{flex-wrap:wrap}.lessonList{grid-template-columns:1fr}}@media(max-width:700px){aside{background:#080e15ed}.cinematic{padding:27px;background-position:35% center;grid-template-columns:1fr}.cinematic h1{font-size:43px}.heroCubeWrap .scene{height:220px}.heroBadges{font-size:10px;gap:14px}.heroCubeWrap{padding-bottom:5px}.pageBanner{padding:25px}.pageBanner h1{font-size:32px}.pathCard{gap:12px;padding:18px 14px}.pathNumber{min-width:35px;height:35px;border-radius:10px;font-size:14px}.pathBody h2{font-size:22px}.pathway:before{left:31px}.pathBody .field{gap:6px}.pathBody .field button{font-size:10px;padding:9px}.algorithmGrid{grid-template-columns:1fr}.filterPanel .row{flex-wrap:wrap}.filterPanel button{font-size:11px}.algorithmLink .caseDiagram{width:100px}.stat{padding:18px}.stat .number{font-size:23px}.stats{gap:10px}.row{flex-wrap:wrap}.lessonList a{font-size:11px}.timer .scramble{font-size:15px}.timer>.row .tag{font-size:8px}.timer>.row button{font-size:10px}.sessionTabs{margin-top:10px}main{padding:0 14px}.workspace{margin-top:14px}.cubePanel{padding:14px}.scene{height:290px}body.light aside{background:#edf4ef}}@media(prefers-reduced-motion:reduce){body.ambient:before{animation:none}}
.heroCubeWrap .world{filter:none}body[data-page="practice"]{background-image:linear-gradient(#07121bd9,#08101bf5),url('assets/practice.webp')}body[data-page="practice"] .pageBanner{background-image:linear-gradient(90deg,#08121be0,#08121b6b),url('assets/tunnel.webp')}body.light[data-page="practice"]{background-image:linear-gradient(#f1f6f1ed,#f1f6f1f7),url('assets/practice.webp')}
.stat .number{overflow-wrap:anywhere}.bar{max-width:30px}.chart{justify-content:flex-start}nav{scrollbar-width:none}nav::-webkit-scrollbar{display:none}@media(max-width:1000px){.cinematic{grid-template-columns:1fr}.cinematic .scene{height:280px}.heroCubeWrap{margin-top:8px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.heroCubeWrap .scene{height:240px}.heroCubeWrap .world{scale:.82}}
/* Deeper tutor and exact-sequence playback. */
.tutorObjective{max-width:900px;font-size:16px}.tutorLayout{display:grid;grid-template-columns:minmax(400px,1.15fr) minmax(340px,1fr);gap:24px;align-items:start}.tutorWorkspace{min-width:0;position:sticky;top:18px}.tutorReading{min-width:0;padding:27px;line-height:1.8}.tutorReading h2{font-size:23px;line-height:1.3;margin:12px 0 18px}.tutorReading h3{font-size:16px;margin:25px 0 8px;color:var(--text)}.tutorReading p{font-size:14px;line-height:1.85;margin:8px 0 17px}.tutorReading ol,.tutorReading ul{padding-left:22px;color:var(--muted);font-size:14px}.tutorReading li{padding-left:3px;margin:13px 0}.tutorReading details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0;padding:7px 0}.tutorReading summary{font-weight:600;color:var(--text);font-size:13px}.tutorReading .successDefinition p{font-size:13px;margin:8px 0}.exampleToolbar{padding:14px 18px;margin-bottom:14px}.exampleToolbar .field{margin:0}.exampleToolbar label{font-size:12px;color:var(--muted)}.exampleToolbar select{max-width:250px;font-size:12px}.exampleDescription{font-size:11px;line-height:1.65;color:var(--muted);margin-top:10px}.playerHeading{margin-bottom:5px}.playerTitle{max-width:75%;white-space:normal;text-align:left}.playerScene,.tutorPracticeCube{height:300px}.frameGuide{font-size:10px;color:var(--muted);text-align:center;line-height:1.8;margin:5px auto 12px;max-width:480px}.turnCue{display:flex;align-items:center;gap:12px;background:#5ed8ff0b;border:1px solid #5ed8ff29;border-radius:10px;padding:12px 14px;font-size:12px;text-align:left;line-height:1.65;min-height:70px}.turnArrow{font:34px 'Space Grotesk',system-ui;color:#8ce5ff;min-width:35px;text-align:center}.playerTimeline{max-height:104px;overflow:auto;align-content:flex-start;scrollbar-width:thin;margin:12px 0}.playerTimeline button{font:12px monospace;padding:6px 8px;min-width:29px;border-radius:6px}.playerTimeline .current{background:var(--green);color:var(--ink);border-color:var(--green)}.playerTimeline .played{color:#8ca89b;opacity:.75}.playerPreferences{justify-content:center;font-size:11px}.playerPreferences label:first-child{display:flex;align-items:center;gap:7px}.playerPreferences select{font-size:11px;padding:7px}.playerChapterField{font-size:11px}.playerChapterField select{max-width:100%;font-size:11px}.playerNarration{font-size:12px;margin-bottom:6px;text-align:left}.playerNarration[hidden],.playerChapterField[hidden],[hidden]{display:none!important}.focusTools{border-top:1px solid var(--line);padding-top:13px;margin-top:16px;gap:14px;justify-content:center}.focusTools label{font-size:11px;color:var(--muted)}.focusTools select{font-size:11px;max-width:210px;padding:6px}.focusTools .check{font-size:11px}.sticker.targetCorner{border-color:#ffdb70;box-shadow:0 0 13px #ffdb7099}.sticker.targetEdge{border-color:#69dcff;box-shadow:0 0 13px #69dcff99}.sticker.dimPiece{opacity:.18}.liveRecognition{font-size:12px}.tutorFeedback{border-radius:8px;padding:10px 0;line-height:1.8;font-size:12px;min-height:30px}.referenceDisclosure summary{font-size:11px}.referenceNotation{font:12px/1.8 monospace;overflow-wrap:anywhere}.referenceDisclosure small{font-size:10px}.practiceArea details{margin-top:7px}.practiceArea details .controls button{font-size:11px;padding:7px}.practiceArea .faceMoves button{font:13px monospace;min-width:40px;padding:10px}.planningTools{background:#b7ef6808;border-radius:9px;padding:10px;margin:14px 0}.planningTools label,.planningTools select,.planningTools button{font-size:11px}.planningTools .field{margin:0}.inspectionStatus{font-size:11px;line-height:1.7;margin-top:8px}.practiceArea .historyText{font:12px/1.8 monospace;overflow-wrap:anywhere}.guidedTimeline{max-height:100px;overflow:auto}.courseGoals{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;color:var(--muted);font-size:11px;padding-left:17px;margin:15px 0}.courseGoals li{line-height:1.65}.lessonOutline{display:block;margin:4px 0 2px;font-size:10px;line-height:1.6;font-weight:400;max-width:400px}.scrambleViewerDetails{max-width:880px!important;border-top:1px solid var(--line);margin-top:20px!important}.scrambleViewerDetails>summary{padding:15px;font-size:12px;color:var(--text)}.scrambleViewerDetails .scene{height:300px!important}.scrambleViewerDetails .playerTimeline{max-height:100px}.scrambleViewerDetails .controls button{font-size:11px}.scrambleViewerDetails #scrambleCube{padding:15px;background:#0b17229c;border:1px solid var(--line);border-radius:12px}.scrambleReplayModal{position:fixed;inset:0;background:#02070cda;backdrop-filter:blur(12px);z-index:40;display:grid;place-items:center;padding:22px}.replayDialog{max-width:820px;width:100%;max-height:94vh;overflow:auto;box-shadow:0 20px 100px #0008}.replayDialog>p{font-size:12px;line-height:1.7}.replayDialog .notation{font:12px/1.7 monospace}.replayDialog .scene{height:270px}.replayDialog .controls button{font-size:11px}.closeReplay{margin-left:auto}.tutorPracticeSpeed{font-size:11px}.tutorModes{gap:7px}.tutorModes button{font-size:12px}.tutorReading .tableScroll table{font-size:11px}.tutorReading .tableScroll td{max-width:180px;overflow-wrap:anywhere}body.light .turnCue{background:#daf0f4;color:#23434b}body.light .turnArrow{color:#1c7d92}body.light .scrambleViewerDetails #scrambleCube{background:#e2ebe6}body.light .replayDialog{background:#f1f6f2}@media(max-width:1180px){.tutorLayout{grid-template-columns:minmax(330px,1fr) minmax(290px,1fr);gap:16px}.tutorReading{padding:21px}.tutorWorkspace .cubePanel{padding:15px}.tutorWorkspace{position:static}.tutorWorkspace .controls{gap:5px}.tutorWorkspace .controls button{font-size:11px;padding:8px 10px}.playerScene,.tutorPracticeCube{height:285px}}@media(max-width:950px){.tutorLayout{grid-template-columns:1fr}.tutorWorkspace{position:static}.tutorReading{padding:25px}.tutorReading p,.tutorReading li{font-size:14px}.courseGoals{grid-template-columns:1fr}.tutorModes{margin-bottom:18px}.tutorPlayer .playerScene,.tutorPracticeCube{height:300px}}@media(max-width:700px){.tutorReading{padding:22px}.tutorObjective{font-size:14px}.tutorModes .pill{font-size:10px;padding:8px 10px}.exampleToolbar{padding:12px}.exampleToolbar .field{gap:9px}.exampleToolbar select{max-width:225px}.exampleToolbar button{font-size:11px}.playerScene,.tutorPracticeCube{height:280px!important}.turnCue{font-size:11px;padding:10px;gap:8px;min-height:72px}.turnArrow{font-size:29px;min-width:27px}.playerPreferences{justify-content:flex-start}.playerPreferences label:first-child{flex-wrap:wrap}.playerPreferences select{max-width:220px}.playerTitle{font-size:9px}.playerCount{font-size:9px}.tutorWorkspace .controls button{padding:8px;font-size:10px}.playerTimeline button{padding:5px;font-size:11px}.focusTools{justify-content:flex-start;gap:10px}.courseGoals{font-size:11px;gap:5px}.replayDialog{padding:15px;max-height:95vh}.scrambleReplayModal{padding:9px}.replayDialog .scene{height:260px}.scrambleViewerDetails #scrambleCube{padding:10px}.frameGuide{font-size:9px}.tutorPracticeCube .world,.playerScene .world{scale:.9}.tutorLayout .cubePanel{padding:12px}}
.verificationNote{font-size:12px;border-color:#66d8af}.verificationNote strong{color:#8ee3b8}.verificationNote p{font-size:11px;margin:8px 0 0}.algorithmCard .eyebrow{letter-spacing:1.1px}
/* Algorithm workspace: retain the established dark / lime visual language. */
.libraryBanner{padding-bottom:20px}.libraryCategories{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.libraryCategories button{font-size:13px}.libraryProgress{margin-bottom:20px}.librarySearchRow{display:grid;grid-template-columns:minmax(190px,1fr) minmax(160px,210px) minmax(170px,230px);gap:14px;align-items:end}.librarySearchRow input{width:100%;height:46px}.librarySearchRow label,.libraryFilterDetails label{display:flex;flex-direction:column;gap:7px;font-size:12px}.libraryFilterDetails{margin:16px 0}.libraryFilterDetails .field{align-items:end;padding:14px 0}.libraryFilterDetails>label{margin-top:14px;max-width:330px}.libraryActions{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.libraryActions button{font-size:12px}.caseFamily{margin:28px 0}.caseFamily>.row{margin-bottom:16px}.caseFamily h2{margin:0}.playlistChoice{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;font-size:12px}.algorithmCard .notation{min-height:44px;overflow-wrap:anywhere}.algorithmCard{display:flex;flex-direction:column;gap:5px}.algorithmCard .row:last-of-type{margin-top:auto}.variantWorkspace{margin:14px 0 20px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.variantLabel{display:flex;flex-direction:column;gap:8px;font-weight:600}.variantLabel select{width:100%;max-width:100%}.variantWorkspace small{line-height:1.7}.variantWorkspace .tag{font-size:11px}.variantWorkspace .field{justify-content:flex-start}#variantDetails p{margin:12px 0}.caseOverview{display:flex;gap:24px;align-items:center;padding:16px 20px;margin:20px 0;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.caseOverview>.caseDiagram{width:150px;min-width:150px}.caseOverview p{max-width:750px;margin:10px 0}.executionGuide{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.handGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:16px}.handGrid article{border:1px solid var(--line);border-radius:12px;padding:14px}.handGrid p{font-size:12px}.handDiagram{width:100%;max-width:260px;display:block;margin:auto}.executionGuide code{padding:7px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px}.recognitionFilters{margin-bottom:24px}.recognitionFilters label{display:flex;flex-direction:column;gap:8px;font-size:12px}.recognitionFilters .field{align-items:end}.recognitionDiagram{max-width:190px;margin:0 auto 20px}.recognitionAnswers{gap:12px;margin-bottom:20px}.recognitionAnswers button{min-height:58px}.answerCorrect{border-color:var(--green)!important;background:#183a29!important;color:#cbffa7!important}.answerWrong{border-color:#ed5954!important;color:#ed9994!important}.recognitionFeedback{margin:18px 0;line-height:1.7}.recognitionSolution{border-top:1px solid var(--line);padding:16px 0}.recognitionNext{margin-top:14px}.recognitionWorkspace>.card{min-width:0}.tutorRoute{max-width:100%}.light .handGrid article{background:#fff}.light .variantWorkspace{background:#eef3e9}[hidden]{display:none!important}
@media(min-width:1100px){body[data-page="lesson"] .workspace{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}body[data-page="lesson"] .scene{min-height:320px}}
@media(max-width:900px){.librarySearchRow{grid-template-columns:1fr 1fr}.librarySearchRow input{grid-column:1/-1}.caseOverview{align-items:flex-start}.caseOverview>.caseDiagram{width:115px;min-width:115px}.libraryActions{gap:9px}}
@media(max-width:600px){.librarySearchRow{display:flex;flex-direction:column;align-items:stretch}.libraryCategories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.libraryCategories button{text-align:left;padding:12px;font-size:12px}.libraryProgress .row{flex-wrap:wrap}.caseOverview{padding:14px;gap:14px}.caseOverview>.caseDiagram{width:85px;min-width:85px}.caseOverview p{font-size:12px}.caseOverview .tag{white-space:normal}.variantWorkspace{padding:12px}.variantLabel select{font-size:12px;white-space:normal}.handGrid{grid-template-columns:1fr}.recognitionFilters .field{display:flex;flex-direction:column;align-items:stretch}.recognitionWorkspace{grid-template-columns:1fr}.recognitionWorkspace .scene{min-height:280px}.libraryFilterDetails .field{display:flex;align-items:stretch;flex-direction:column}.libraryActions button{flex:1 1 45%}.caseFamily>.row{align-items:baseline;gap:12px}.caseFamily h2{font-size:21px}.libraryBanner h1{font-size:38px}.algorithmCard .notation{min-height:0}}
@media(max-width:600px){.caseOverview>div>p{display:none}.caseOverview{align-items:center}.caseOverview>div{display:flex;flex-direction:column;gap:14px}.variantWorkspace label{font-size:13px}.crossPlanningNotes textarea{max-width:100%;min-height:95px}}
.libraryBanner{padding:24px 30px}.libraryBanner h1{font-size:38px;margin:14px 0}.libraryBanner p{margin-top:10px}.libraryBanner .field{margin-top:16px;margin-bottom:0}@media(max-width:600px){.libraryBanner{padding:22px}.libraryBanner h1{font-size:31px}.libraryBanner p{font-size:14px}.libraryBanner .field{gap:10px}.libraryBanner .eyebrow{font-size:10px}}
