@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;transition:background .18s,transform .18s}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #6aad94}button:hover:not(:disabled){transform:translateY(-1px)}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}svg{flex-shrink:0}::selection{color:#164b7d;background:#c6e4ff}.game-library{grid-template-columns:1fr 1fr;gap:24px;display:grid}.library-game{border:1px solid var(--line);background:var(--panel);border-radius:16px;overflow:hidden}.game-preview{color:#6699d0;background:#edf3fc;justify-content:center;align-items:center;height:190px;display:flex;position:relative;overflow:hidden}.game-preview>span{z-index:1;font-family:system-ui;font-size:100px;line-height:1}.game-sorting .game-preview{color:#daa650;background:#fcf4e9}.game-courier .game-preview{color:#9986c2;background:#eeedf9}.game-buffer .game-preview{color:#68a8b0;background:#edf6f6}.game-enzyme .game-preview{color:#a88ace;background:#f2eff9}.dark .game-preview{background:#273340}.dark .game-sorting .game-preview{background:#3b3326}.dark .game-courier .game-preview,.dark .game-enzyme .game-preview{background:#302d43}.dark .game-buffer .game-preview{background:#25383b}.preview-bins{gap:25px;display:flex;position:absolute;bottom:22px}.preview-bins i{opacity:.6;border:2px solid;border-top:0;border-radius:0 0 7px 7px;width:30px;height:20px}.preview-path{opacity:.5;border:1px dashed;border-radius:15px;position:absolute;inset:25px 35px;rotate:-10deg}.preview-meter{background:linear-gradient(90deg,#de9fba,#8ac7c7,#a1a7de);border-radius:5px;width:65%;height:6px;position:absolute;bottom:20px}.preview-pieces{gap:95px;display:flex;position:absolute;rotate:15deg}.preview-pieces i{border:1px dashed;width:30px;height:30px;rotate:30deg}.library-game-body{padding:24px}.game-topic{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:10px;font-weight:700}.library-game h1{letter-spacing:-.5px;margin:10px 0;font-size:22px}.library-game p{color:var(--muted);min-height:48px;font-size:13px;line-height:1.8}.library-game-bottom{justify-content:space-between;align-items:center;gap:10px;margin-top:22px;display:flex}.library-game-bottom small{color:var(--muted);font-size:10px}.library-game-bottom .primary{min-height:42px;padding:11px 17px;font-size:11px}.game-header{align-items:center;gap:25px;margin-bottom:25px;display:flex}.game-header>div{flex:1}.game-header span{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:700}.game-header h1{margin-top:5px;font-size:25px}.game-pause{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:10px 13px;font-size:11px}.game-hud{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin-bottom:20px;display:flex;overflow:hidden}.game-hud>div{text-align:center;border-right:1px solid var(--line);flex:1;padding:15px 10px}.game-hud>div:last-child{border:0}.game-hud small{color:var(--muted);margin-bottom:6px;font-size:10px;display:block}.game-hud strong{font-variant-numeric:tabular-nums;font-size:19px}.sorting-arena,.courier-game,.buffer-game,.enzyme-game{border:1px solid var(--line);background:var(--panel);border-radius:15px;min-height:410px;padding:25px;position:relative;overflow:hidden}.game-overlay{z-index:10;background:color-mix(in srgb,var(--bg),transparent 9%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);justify-content:center;align-items:center;padding:25px;display:flex;position:absolute;inset:0}.game-overlay>div{text-align:center;border:1px solid var(--line);background:var(--panel);border-radius:15px;max-width:420px;padding:30px 24px;box-shadow:0 10px 30px #00000008}.game-overlay h2{letter-spacing:-.7px;font-size:24px}.game-overlay p{color:var(--muted);margin:14px 0 25px;font-size:13px;line-height:1.8}.game-overlay .primary{min-width:170px}.game-instructions{color:var(--muted);margin-top:17px;font-size:11px;line-height:1.8}.game-feedback{text-align:center;min-height:40px;color:var(--muted);margin-top:17px;font-size:12px;line-height:1.7}.conveyor-label{color:var(--muted);margin-bottom:18px;font-size:11px}.conveyor{background:var(--soft);border:1px solid var(--line);border-radius:13px;height:170px;margin:0 0 44px;position:relative;overflow:visible}.conveyor-lines{background:repeating-linear-gradient(90deg,transparent 0px,transparent 28px,var(--line) 28px,var(--line) 30px);opacity:.7;border-radius:13px;position:absolute;inset:0}.conveyor:after{content:"";background:repeating-linear-gradient(90deg,var(--muted) 0,var(--muted) 7px,transparent 7px,transparent 32px);opacity:.25;border-radius:9px;height:14px;position:absolute;bottom:-8px;left:15px;right:15px}.molecule-parcel{color:#8b703e;z-index:3;touch-action:none;cursor:grab;background:#fff3ce;border:2px solid #d3b672;border-bottom-width:5px;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:94px;height:105px;padding:9px;transition:none;display:flex;position:absolute;top:28px;transform:translate(-50%)}.molecule-parcel:hover{transform:translate(-50%)!important}.molecule-parcel.dragging{cursor:grabbing;z-index:15;transform:translate(-50%,-50%)}.molecule-parcel.dragging:hover{transform:translate(-50%,-50%)!important}.parcel-symbol{font-size:25px;font-weight:800}.molecule-parcel strong{font-size:11px}.sorting-bins{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.sorting-bin{border:2px solid var(--line);background:var(--soft);border-bottom-width:5px;border-radius:0 0 13px 13px;flex-direction:column;justify-content:center;align-items:center;gap:11px;height:96px;display:flex}.sorting-bin strong{font-size:12px}.sorting-bin>span{opacity:.6;font-size:25px}.bin-0{color:#b38d45}.bin-1{color:#498ac6}.bin-2{color:#b5657e}.bin-3{color:#8c6cb6}.sorting-bin.focused{border-color:var(--accent);background:var(--accent-soft)}.sorting-bin:disabled{opacity:.6}.cargo-label{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;font-size:12px;display:flex}.vesicle-icon{color:#9781ce;font-size:24px}.cargo-route{color:var(--muted);margin-left:auto;font-size:10px}.cargo-route .passed{color:#749a80}.cargo-route .next{color:var(--accent);font-weight:700}.cell-maze{background:var(--soft);border:1px solid var(--line);border-radius:18px;gap:3px;max-width:570px;margin:auto;padding:10px;display:grid}.maze-cell{aspect-ratio:1;border-radius:5px;place-items:center;display:grid;position:relative}.maze-cell.wall{background:#e6e5f0;box-shadow:inset 0 -3px #d6d3e4}.dark .maze-cell.wall{background:#393649;box-shadow:inset 0 -3px #2b2838}.maze-cell.floor{background:var(--panel)}.maze-cell.station{background:#f1edf9;border:1px solid #b5a7d8}.dark .maze-cell.station{background:#302942}.maze-cell.station>span:not(.courier-player){text-align:center;color:#9983bf;z-index:1;font-size:8px;font-weight:700;line-height:1.2}.maze-cell.target{outline-offset:0;outline:2px solid #9b85c8;animation:1.8s ease-in-out infinite target-pulse}.courier-player{z-index:2;color:#fff;background:#8972be;border-radius:9px;place-items:center;font-size:23px;display:grid;position:absolute;inset:3px;box-shadow:0 3px #695393}.direction-pad{justify-content:center;gap:9px;margin-top:23px;display:flex}.direction-pad button{border:1px solid var(--line);background:var(--soft);border-bottom-width:4px;border-radius:9px;width:49px;height:45px;font-size:21px}.buffer-game{text-align:center;min-height:490px}.buffer-target{letter-spacing:.5px;font-size:12px;font-weight:700}.buffer-target span{letter-spacing:0;color:var(--muted);margin-top:8px;font-size:10px;font-weight:400;display:block}.buffer-vessel{background:#79b4c20c;border:4px solid #96b8c0;border-top:0;border-radius:0 0 28px 28px;width:180px;height:195px;margin:30px auto 24px;position:relative;overflow:hidden}.buffer-vessel:before,.buffer-vessel:after{content:"";z-index:3;background:#96b8c0;width:19px;height:2px;position:absolute;top:50px;right:0;box-shadow:0 30px #96b8c0,0 60px #96b8c0,0 90px #96b8c0}.buffer-liquid{background:#9cced2;transition:background .4s;position:absolute;inset:38px 0 0;overflow:hidden}.buffer-liquid:before{content:"";background:#c8e3e788;border-radius:44%;width:260px;height:250px;animation:7s linear infinite liquid-wave;position:absolute;top:-210px;left:-50px}.buffer-vessel.unstable .buffer-liquid{background:#dba3b6}.buffer-liquid i{border:1px solid #ffffff65;border-radius:50%;width:12px;height:12px;animation:4s ease-out infinite bubble-rise;position:absolute;bottom:20px;left:20px}.buffer-liquid i:nth-child(2){width:8px;height:8px;animation-delay:1.3s;left:125px}.buffer-liquid i:nth-child(3){width:6px;height:6px;animation-delay:2.6s;left:80px}.ph-display{z-index:1;color:#345c64;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ph-display small{font-size:11px}.ph-display strong{font-variant-numeric:tabular-nums;font-size:38px}.ph-meter{background:linear-gradient(90deg,#dfb0c0,#dfb0c0 37%,#95c5c8 42% 58%,#a6aed4 63%,#a6aed4);border-radius:8px;max-width:440px;height:12px;margin:0 auto 37px;position:relative}.ph-meter i{background:var(--text);border:1px solid var(--bg);border-radius:2px;width:4px;height:24px;transition:left .2s;position:absolute;top:-6px}.safe-zone{border:1px solid #67999e;border-radius:3px;width:15%;position:absolute;top:-3px;bottom:-3px;left:42.5%}.ph-labels{color:var(--muted);justify-content:space-between;font-size:10px;display:flex;position:absolute;top:21px;left:0;right:0}.buffer-reserves{color:var(--muted);justify-content:center;gap:40px;margin-bottom:20px;font-size:11px;display:flex}.buffer-reserves b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:5px}.drop-controls{justify-content:center;gap:17px;display:flex}.drop-controls button{color:#a46179;background:#f9edf0;border:1px solid #d3a9b5;border-bottom-width:4px;border-radius:10px;min-width:125px;padding:13px;font-size:12px;font-weight:700}.drop-controls .base-drop{color:#7a83ab;background:#edf0f9;border-color:#a4aecd}.dark .drop-controls button{background:#3b2c34}.dark .drop-controls .base-drop{background:#2b3145}.drop-controls button:disabled{opacity:.5}.enzyme-board{aspect-ratio:1.55;background:radial-gradient(var(--line) 1px,transparent 1px);border:1px solid var(--line);background-size:18px 18px;border-radius:12px;position:relative;overflow:hidden}.enzyme-dock,.substrate-piece{flex-direction:column;justify-content:center;align-items:center;width:20%;display:flex;position:absolute;transform:translate(-50%,-50%)}.enzyme-dock{background:var(--soft);border-radius:18px;height:33%}.substrate-shape{width:75%;max-height:110px;transition:transform .2s;overflow:visible}.enzyme-dock strong{color:var(--muted);font-size:12px;position:absolute;bottom:-25px}.substrate-piece{touch-action:none;cursor:grab;background:0 0;border:1px solid #0000;border-radius:12px;gap:10px;height:27%;transition:none}.substrate-piece:hover{transform:translate(-50%,-50%)!important}.substrate-piece.selected:not(:disabled){background:#86b5ed0a;border-color:#a6caec}.substrate-piece span{background:var(--panel);white-space:nowrap;border-radius:4px;padding:3px 5px;font-size:10px;font-weight:700}.substrate-piece.placed{opacity:.9;cursor:default}.substrate-piece.placed span{color:var(--accent);background:0 0;font-size:20px;position:absolute;bottom:-10px;right:-1px}.puzzle-controls{justify-content:center;align-items:center;gap:18px;margin-top:22px;display:flex}.puzzle-controls button{border:1px solid var(--line);background:var(--soft);border-bottom-width:3px;border-radius:9px;padding:12px 18px;font-size:11px;font-weight:700}.puzzle-controls span{color:var(--muted);font-size:11px}@keyframes target-pulse{50%{outline-color:#bfb2de}}@keyframes liquid-wave{to{rotate:360deg}}@keyframes bubble-rise{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(-100px)}}@media (width<=900px){.game-library{gap:18px}.library-game-body{padding:21px}.library-game-bottom{flex-direction:column;align-items:flex-start}.library-game-bottom .primary{width:100%}.game-preview{height:165px}.game-header{gap:18px}.game-header h1{font-size:22px}.game-header>.text-button{font-size:11px}.sorting-bin strong{font-size:10px}.sorting-bins{gap:9px}.sorting-arena,.courier-game,.buffer-game,.enzyme-game{padding:20px}}@media (width<=700px){.game-library{grid-template-columns:1fr;gap:22px}.game-preview{height:170px}.library-game-bottom{flex-direction:row;align-items:center}.library-game-bottom .primary{width:auto}.game-header{flex-wrap:wrap;gap:12px}.game-header>div{min-width:160px}.game-header h1{font-size:22px}.game-header>.text-button{text-align:left;width:100%}.game-pause{padding:8px 10px}.game-hud>div{padding:12px 7px}.game-hud strong{font-size:16px}.game-hud small{font-size:9px}.sorting-arena,.courier-game,.buffer-game,.enzyme-game{border-radius:11px;padding:15px}.sorting-arena{min-height:390px}.conveyor{height:155px;margin-bottom:32px}.molecule-parcel{gap:7px;width:72px;height:93px;top:24px}.parcel-symbol{font-size:22px}.molecule-parcel strong{font-size:9px}.sorting-bins{gap:6px}.sorting-bin{height:80px}.sorting-bin strong{font-size:9px}.sorting-bin>span{font-size:20px}.game-overlay{padding:17px}.game-overlay>div{padding:24px 18px}.game-overlay h2{font-size:22px}.game-overlay p{font-size:12px}.cargo-label{gap:8px}.cargo-route{width:100%;margin:0;font-size:10px}.cell-maze{border-radius:12px;gap:2px;padding:6px}.maze-cell{border-radius:3px}.maze-cell.station>span:not(.courier-player){font-size:6px}.courier-player{border-radius:5px;font-size:15px;inset:1px}.direction-pad button{width:45px;height:44px}.buffer-vessel{width:160px;height:170px;margin:28px auto}.buffer-game{min-height:480px}.buffer-target{font-size:11px}.buffer-target span{font-size:9px}.enzyme-board{aspect-ratio:1.1}.enzyme-dock strong{font-size:9px;bottom:-20px}.substrate-piece span{white-space:normal;text-align:center;padding:3px;font-size:8px}.enzyme-dock{height:25%}.substrate-piece{gap:6px;width:24%;height:23%}.enzyme-dock{width:24%}.puzzle-controls{gap:12px}.puzzle-controls button{padding:11px 12px;font-size:10px}.puzzle-controls span,.game-instructions{font-size:10px}.game-feedback{font-size:11px}}@media (prefers-reduced-motion:reduce){.game-library *,.interactive-game *{transition:none!important;animation:none!important}}.molecule-parcel:not(.dragging){transition:left .1s linear}@media (prefers-reduced-motion:reduce){.molecule-parcel:not(.dragging){transition:none}}.app{--bg:#fff;--panel:#fff;--text:#3c3c3c;--muted:#777;--line:#e5e5e5;--soft:#f7f7f7;--accent:#2585d8;--accent-soft:#eaf5ff;--accent-edge:#146ab4;background:var(--bg);min-height:100vh;color:var(--text);display:flex}.app.dark{--bg:#13161b;--panel:#1b1f25;--text:#e5e7eb;--muted:#a0a7b2;--line:#333941;--soft:#232830;--accent:#54a7f0;--accent-soft:#1c3248;--accent-edge:#287cbd;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.sidebar{border-right:2px solid var(--line);background:var(--bg);z-index:20;flex-direction:column;width:235px;padding:35px 17px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.5px;color:var(--accent);margin-bottom:43px;padding:0 13px;font-family:Manrope,sans-serif;font-size:32px;font-weight:800}.brand span{margin-left:2px;font-weight:500}.nav-item{text-align:left;width:100%;color:var(--muted);background:0 0;border:2px solid #0000;border-radius:13px;align-items:center;gap:19px;margin-bottom:8px;padding:16px 19px;display:flex}.nav-item strong{letter-spacing:.8px;font-size:14px;font-weight:700}.nav-item svg{stroke-width:2.2px}.nav-item.active{background:var(--accent-soft);color:var(--accent);border-color:#a8d6f8}.dark .nav-item.active{border-color:#365c80}.theme-switch{color:var(--muted);background:0 0;border:0;align-items:center;gap:15px;margin-top:auto;padding:20px 15px;font-size:13px;display:flex}.main-shell{width:calc(100% - 235px);margin-left:235px}.topbar{border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;max-width:1160px;height:86px;margin:auto;padding:0 43px;display:flex}.topbar>strong{font-size:17px}.top-stats{align-items:center;gap:36px;display:flex}.top-stats>span{align-items:center;gap:9px;font-size:17px;font-weight:700;display:flex}.top-stats small{font-size:11px}.streak{color:#e89538}.xp{color:#458cc2}.mobile-theme{display:none}main{max-width:1160px;margin:auto;padding:30px 43px 45px}.course-picker{align-items:center;gap:14px;margin-bottom:24px;display:flex}.course-picker label{color:var(--muted);font-size:13px;font-weight:600}.course-picker select{background:var(--panel);color:var(--text);border:2px solid var(--line);border-radius:10px;min-width:210px;padding:12px 40px 12px 15px;font-size:14px;font-weight:700}.path-layout{grid-template-columns:minmax(0,1fr) 285px;gap:42px;display:grid}.learning-path{min-width:0}.unit-heading{background:var(--accent);color:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;min-height:102px;padding:22px 24px;display:flex}.unit-heading span{letter-spacing:.5px;color:#fff9;font-size:12px;font-weight:700}.unit-heading h1{margin-top:6px;font-size:19px;font-weight:800;line-height:1.5}.path-nodes{flex-direction:column;align-items:center;gap:32px;padding:60px 0 30px;display:flex;position:relative}.path-step{transform:translateX(var(--offset));flex-direction:column;align-items:center;gap:14px;width:190px;min-height:115px;display:flex;position:relative}.path-node{color:#fff;background:var(--accent);width:78px;height:70px;box-shadow:0 8px 0 var(--accent-edge);z-index:1;border:0;border-radius:50%;place-items:center;transition:box-shadow .12s,transform .12s;display:grid;position:relative}.path-node svg{stroke-width:2.6px}.path-node:hover:not(:disabled){box-shadow:0 5px 0 var(--accent-edge);transform:translateY(3px)}.path-node:active:not(:disabled){box-shadow:none;transform:translateY(8px)}.path-node.locked{background:var(--line);color:#a5a5a5;box-shadow:0 8px #cecece}.dark .path-node.locked{color:#686f7a;box-shadow:0 8px #252a32}.path-node.done{background:#8599af;box-shadow:0 8px #61798f}.path-step.current:before{content:"";border:5px solid var(--line);border-radius:50%;width:94px;height:92px;position:absolute;top:-7px;left:48px}.node-label{text-align:center;max-width:180px;margin-top:6px;line-height:1.45}.node-label strong{font-size:12px;font-weight:700;display:block}.node-label small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.start-label{border:2px solid var(--line);background:var(--panel);color:var(--accent);letter-spacing:.5px;z-index:2;box-shadow:0 2px 0 var(--line);border-radius:10px;padding:9px 16px;font-size:13px;font-weight:800;position:absolute;bottom:calc(100% + 13px);left:50%;transform:translate(-50%)}.start-label:after{content:"";border-right:2px solid var(--line);border-bottom:2px solid var(--line);background:var(--panel);width:10px;height:10px;position:absolute;bottom:-7px;left:calc(50% - 6px);transform:rotate(45deg)}.path-end{background:var(--soft);color:#acb3bb;border:2px solid var(--line);border-radius:18px;place-items:center;width:65px;height:57px;margin-top:6px;display:grid}.course-rail{flex-direction:column;gap:24px;display:flex}.course-rail>section{border:2px solid var(--line);background:var(--panel);border-radius:15px;padding:23px 20px}.course-rail h2{margin-bottom:17px;font-size:19px;font-weight:800}.course-rail button{text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;padding:13px 8px;font-size:13px;font-weight:700;display:flex}.course-rail button.selected{background:var(--accent-soft);color:var(--accent)}.course-rail button>svg:last-child{margin-left:auto}.progress-count{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.progress-count b{color:var(--text);font-size:13px}.tiny-progress{background:var(--line);border-radius:20px;height:12px;margin-top:16px;overflow:hidden}.tiny-progress i{background:var(--accent);border-radius:20px;height:100%;transition:width .2s;display:block}.presentation-list{gap:22px;display:grid}.presentation-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden}.presentation-card>header{background:var(--soft);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:25px;display:flex}.presentation-card h2{font-size:19px;font-weight:700}.presentation-card header small{color:var(--muted);margin-top:7px;font-size:12px;display:block}.presentation-row{background:var(--panel);border:0;border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:17px;width:100%;padding:19px 25px;display:flex}.presentation-row:last-child{border-bottom:0}.presentation-row:disabled{color:var(--muted)}.presentation-row>svg{margin-left:auto}.presentation-row strong{font-size:14px;font-weight:600;display:block}.presentation-row small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.part-number{background:var(--soft);border:1px solid var(--line);width:35px;height:35px;color:var(--muted);border-radius:7px;place-items:center;font-size:13px;display:grid}.primary{border:0;border-bottom:4px solid var(--accent-edge);background:var(--accent);color:#fff;letter-spacing:.6px;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:13px 25px;font-size:13px;font-weight:800;display:inline-flex}.primary:hover:not(:disabled){filter:brightness(1.06);transform:translateY(1px)}.primary:active:not(:disabled){border-bottom-color:#0000;transform:translateY(4px)}.primary:disabled{background:var(--line);border-color:var(--line);color:var(--muted)}.text-button{color:var(--accent);background:0 0;border:0;padding:10px 0;font-size:12px;font-weight:700}.text-button:disabled{opacity:.35}.lesson-main{padding-top:20px}.lesson-header{align-items:center;gap:22px;display:flex}.close-lesson{color:#a9afb8;background:0 0;border:0;padding:0 6px;font:34px/1 sans-serif}.lesson-progress{background:var(--line);border-radius:20px;flex:1;height:16px;overflow:hidden}.lesson-progress i{background:var(--accent);border-radius:20px;height:100%;transition:width .25s;display:block;position:relative}.lesson-progress i:after{content:"";background:#ffffff35;border-radius:20px;height:4px;position:absolute;top:3px;left:6px;right:6px}.lesson-part{color:var(--muted);font-size:12px;font-weight:700}.lesson-caption{color:var(--muted);margin:15px 0 0 56px;font-size:11px}.guided-content{max-width:620px;min-height:340px;margin:70px auto 160px}.lesson-kicker{letter-spacing:1px;color:var(--muted);font-size:11px;font-weight:700}.guided-content h1{letter-spacing:-.4px;margin:17px 0 27px;font-size:27px;font-weight:800;line-height:1.5}.explanation-text{color:var(--text);font-size:19px;line-height:1.9}.takeaway{background:var(--soft);border:2px solid var(--line);border-radius:14px;margin-top:25px;padding:22px;font-size:16px;line-height:1.8}.answers{gap:11px;display:grid}.answers button{text-align:left;background:var(--panel);border:2px solid var(--line);border-bottom-width:4px;border-radius:13px;align-items:center;gap:16px;min-height:62px;padding:12px 17px;font-size:16px;display:flex}.answers button>span{border:2px solid var(--line);width:30px;height:30px;color:var(--muted);border-radius:7px;flex-shrink:0;place-items:center;font-size:12px;display:grid}.answers button.selected{background:var(--accent-soft);color:var(--accent);border-color:#85c3f3}.answers button.selected>span{color:var(--accent);border-color:#85c3f3}.answers button.correct{color:#226ac2;background:#e9f0ff;border-color:#83afe9}.answers button.wrong{color:#d14848;background:#fff0f0;border-color:#eea0a0}.dark .answers button.correct{color:#9cc5ff;background:#20354c;border-color:#4d78a6}.dark .answers button.wrong{color:#ffa9a9;background:#42262d;border-color:#9a545e}.answers svg{margin-left:auto}.answer-explanation{color:var(--muted);margin-top:22px;font-size:14px;line-height:1.8}.lesson-controls{border-top:2px solid var(--line);background:var(--bg);z-index:25;min-height:110px;padding:25px 43px;position:fixed;bottom:0;left:235px;right:0}.controls-inner{justify-content:space-between;align-items:center;gap:25px;max-width:920px;margin:auto;display:flex}.controls-inner>.primary{flex-shrink:0;min-width:180px}.control-status{align-items:center;gap:14px;display:flex}.control-status strong{font-size:17px}.correct-feedback{color:#226ac2;background:#edf3fc;border-color:#d2e0f2}.wrong-feedback{color:#cc4747;background:#fff0f0;border-color:#f1d5d5}.dark .correct-feedback{color:#a4caff;background:#1f3147;border-color:#3a5575}.dark .wrong-feedback{color:#ffa5a5;background:#3d252b;border-color:#63404b}.wrong-feedback .primary{background:#dd5656;border-color:#b73f3f}.completed-content{text-align:center}.completed-symbol{background:var(--accent-soft);border:4px solid var(--accent);width:95px;height:95px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 25px;display:grid}.result-details{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.result-details span{border:2px solid var(--line);border-radius:13px;padding:15px 20px;font-size:13px}.slide-editor{margin:28px 0 145px}.drawing-toolbar{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;padding:10px;display:flex}.drawing-toolbar button{background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;min-height:34px;padding:7px 9px;font-size:11px;display:flex}.drawing-toolbar button.selected{background:var(--accent-soft);color:var(--accent);border-color:#9ac5ec}.drawing-toolbar button:disabled{opacity:.4}.drawing-toolbar input{background:0 0;border:0;width:29px;height:29px;padding:1px}.drawing-toolbar small{color:var(--muted);margin-left:auto;padding:0 5px;font-size:10px}.drawing-toolbar .zoom-button{border-color:var(--line);margin-left:auto}.slide-scroll{border:1px solid var(--line);background:var(--soft);border-radius:8px;overflow:auto}.slide-stage{aspect-ratio:960/620;background:var(--panel);isolation:isolate;width:100%;position:relative;overflow:hidden}.slide-stage.actual-size{width:960px}.slide-content{transform-origin:0 0;width:960px;height:620px;color:var(--text);padding:45px 50px}.slide-kicker{letter-spacing:1.5px;color:var(--muted);font-size:13px;font-weight:600}.slide-content h1{letter-spacing:-.7px;margin:15px 0 25px;font-size:34px;line-height:1.3}.slide-explanation{font-size:21px;line-height:1.65}.slide-points{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;display:grid}.slide-points>div{border-top:2px solid var(--line);padding-top:17px}.slide-points b{color:var(--muted);font-size:14px}.slide-points p{margin-top:8px;font-size:18px;line-height:1.6}.slide-takeaway{border-top:1px solid var(--line);color:var(--muted);padding-top:15px;font-size:15px;position:absolute;bottom:30px;left:50px;right:50px}.slide-overlay{z-index:2;touch-action:none;background:0 0;width:100%;height:100%;position:absolute;inset:0}.slide-overlay.tool-view{pointer-events:none;touch-action:auto}.slide-overlay.tool-pen{cursor:crosshair}.slide-overlay.tool-text{cursor:text}.slide-note{z-index:3;pointer-events:none;color:#3a3a3a;background:#fff4c9e8;border:1px solid #0000;border-radius:3px;width:28%;height:17%;position:absolute;box-shadow:0 3px 8px #0001}.slide-note.selected{border-color:#e0b64c}.slide-note textarea{resize:none;width:100%;height:100%;font:inherit;color:inherit;pointer-events:auto;background:0 0;border:0;outline:none;padding:8px;line-height:1.4}.slide-note textarea[readonly]{pointer-events:none}.note-handle{z-index:4;pointer-events:auto;touch-action:none;cursor:move;background:#fff4c9;border:1px solid #d4c285;border-radius:4px 4px 0 0;width:30px;height:22px;font-size:15px;position:absolute;top:-22px;right:0}.game-card{border:2px solid var(--line);border-radius:15px;align-items:center;gap:22px;padding:30px;display:flex}.game-card>svg{color:var(--accent)}.game-card h1{font-size:20px}.game-card p{color:var(--muted);margin-top:9px;font-size:13px}.game-card .primary{margin-left:auto}.game-play{border:2px solid var(--line);text-align:center;border-radius:15px;margin:20px 0;padding:40px}.game-play .eyebrow{color:var(--muted);letter-spacing:1px;font-size:11px;font-weight:700}.game-play h2{margin:30px 0 15px;font-size:36px}.game-play p{color:var(--muted);margin:15px 0;line-height:1.8}.game-options{grid-template-columns:1fr 1fr;gap:12px;max-width:520px;margin:30px auto;display:grid}.game-options button{background:var(--panel);border:2px solid var(--line);border-bottom-width:4px;border-radius:12px;padding:20px;font-weight:700}.storage-warning{background:#dcaa6215;border:1px solid #dcaa62;border-radius:8px;margin-bottom:20px;padding:15px;font-size:12px}@media (width>=1500px){.path-layout{grid-template-columns:minmax(0,1fr) 310px;gap:60px}.unit-heading{padding:25px 30px}.unit-heading h1{font-size:21px}}@media (width<=1100px){.sidebar{width:200px;padding:30px 13px}.main-shell{width:calc(100% - 200px);margin-left:200px}.nav-item{gap:15px;padding:15px}.topbar{padding:0 28px}main{padding:26px 28px 40px}.path-layout{grid-template-columns:minmax(0,1fr) 235px;gap:25px}.unit-heading{padding:18px}.unit-heading h1{font-size:17px}.course-rail>section{padding:20px 15px}.course-rail h2{font-size:17px}.path-step{transform:translateX(calc(var(--offset)*.65))}.lesson-controls{padding:25px 28px;left:200px}.drawing-toolbar button span{display:none}}@media (width<=900px){.course-rail{display:none}.path-layout{max-width:530px;margin:auto;display:block}.course-picker{max-width:530px;margin:0 auto 24px}.guided-content{margin-top:48px}.guided-content h1{font-size:24px}.explanation-text{font-size:17px}.game-card{flex-wrap:wrap}.game-card .primary{width:100%;margin:0}}@media (width<=700px){.sidebar{border-right:0;border-top:2px solid var(--line);background:var(--bg);width:100%;height:74px;padding:7px 12px;top:auto;bottom:0}.brand,.theme-switch{display:none}.sidebar nav{gap:10px;width:100%;display:flex}.nav-item{border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:33.333%;margin:0;padding:5px}.nav-item strong{letter-spacing:.6px;font-size:10px}.nav-item svg{width:22px;height:22px}.main-shell{width:100%;margin:0;padding-bottom:74px}.topbar{height:65px;padding:0 21px}.topbar>strong{font-size:16px}.top-stats{gap:22px}.top-stats>span{gap:5px;font-size:14px}.top-stats svg{width:21px;height:21px}.mobile-theme{color:var(--muted);background:0 0;border:0;align-items:center;padding:5px;display:flex}main{padding:22px 20px 30px}.course-picker select{flex:1;min-width:0}.unit-heading{min-height:99px;padding:21px 20px}.unit-heading span{font-size:11px}.unit-heading h1{font-size:18px}.path-nodes{gap:35px;padding-top:58px}.path-step{transform:translateX(calc(var(--offset)*.7))}.path-node{width:76px;height:68px}.path-step.current:before{width:92px;height:90px;left:49px}.node-label strong{font-size:12px}.lesson-header{gap:13px}.lesson-caption{margin-left:44px;font-size:10px;line-height:1.6}.lesson-progress{height:14px}.guided-content{min-height:320px;margin:35px auto 215px}.guided-content h1{margin-top:13px;font-size:23px}.explanation-text{font-size:17px}.answers button{gap:12px;min-height:58px;padding:11px 14px;font-size:14px}.lesson-controls{min-height:100px;padding:18px 20px;bottom:74px;left:0}.controls-inner{gap:12px}.controls-inner>.primary{min-width:142px;padding:13px 18px;font-size:11px}.control-status{gap:8px}.control-status strong{font-size:13px}.control-status svg{width:21px;height:21px}.primary{min-height:48px}.answer-explanation{font-size:13px;line-height:1.8}.presentation-card>header{padding:20px}.presentation-card h2{font-size:17px;line-height:1.5}.presentation-row{gap:12px;padding:18px}.presentation-row strong{font-size:12px}.slide-editor{margin:23px 0 165px}.drawing-toolbar{gap:3px;padding:7px}.drawing-toolbar button{padding:7px}.drawing-toolbar small{width:100%;margin:3px 0 0;font-size:9px}.slide-scroll{border-radius:5px}.note-handle{width:24px;height:16px;font-size:12px;top:-16px}.slide-note textarea{padding:3px}.game-card{gap:16px;padding:24px}.game-card h1{font-size:18px}.game-play{padding:30px 18px}.game-play h2{font-size:28px}.game-options button{padding:17px 10px;font-size:12px}.completed-content{margin-top:55px}.completed-content h1{font-size:25px}}@media (width<=360px){main{padding-left:15px;padding-right:15px}.topbar{padding:0 15px}.top-stats{gap:15px}.unit-heading h1{font-size:16px}.unit-heading span{font-size:10px}.path-step{transform:translateX(calc(var(--offset)*.55))}.control-status strong{font-size:12px}.controls-inner>.primary{min-width:130px;font-size:10px}.lesson-controls{padding:17px 15px}}@media (prefers-reduced-motion:reduce){button,.lesson-progress i,.tiny-progress i{transition:none}button:hover:not(:disabled){transform:none}}.all-learning-paths>.learning-path+.learning-path,.path-unit+.path-unit{margin-top:28px}.all-learning-paths>.learning-path:nth-child(2n){--accent:#8d69da;--accent-edge:#6c4db6}.dark .all-learning-paths>.learning-path:nth-child(2n){--accent:#a588ee;--accent-edge:#7e5dcc}.all-presentations{gap:38px;display:grid}.library-course-title{margin:0 0 1px;font-size:21px;font-weight:800}.course-rail{align-self:start;position:sticky;top:25px}.sound-toggle{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:5px;display:flex}.sound-toggle:hover{background:var(--soft)}.brush-size{color:var(--muted);align-items:center;gap:7px;padding:0 5px;font-size:10px;display:flex}.brush-size input[type=range]{width:70px;height:25px;accent-color:var(--accent)}.brush-size>span{font-variant-numeric:tabular-nums;min-width:18px}.slide-overlay.tool-highlight{cursor:crosshair}.slide-overlay.tool-erase{cursor:none}.eraser-cursor{z-index:5;pointer-events:none;background:#7f9ab516;border:1.5px solid #57738e;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffffb0,inset 0 0 0 1px #ffffffb0}.dark .eraser-cursor{border-color:#bcd9f6}.drawing-toolbar b{min-width:19px}.path-unit{animation:.45s ease-out both unit-enter}.all-learning-paths>.learning-path:nth-child(2n) .path-unit{animation-delay:.1s}.path-node.ready{background:linear-gradient(145deg,color-mix(in srgb,var(--accent),white 12%),var(--accent));box-shadow:0 8px 0 var(--accent-edge),0 11px 18px color-mix(in srgb,var(--accent),transparent 85%)}.path-node.ready svg{filter:drop-shadow(0 2px #00000016)}.path-node:hover:not(:disabled) svg{animation:.4s ease-in-out star-wiggle}.path-step.current:before{animation:3.5s ease-in-out infinite ready-ring}.start-label{animation:3.5s ease-in-out infinite start-float}.path-node.done{animation:.35s cubic-bezier(.2,1.5,.5,1) both node-arrive}.guided-lesson .guided-content{animation:.28s ease-out both lesson-enter}.guided-lesson .answers button{transition:border-color .15s,background .15s,transform .15s;animation:.25s ease-out both option-enter}.guided-lesson .answers button:nth-child(2){animation-delay:35ms}.guided-lesson .answers button:nth-child(3){animation-delay:70ms}.guided-lesson .answers button:nth-child(4){animation-delay:.105s}.guided-lesson .answers button:nth-child(5){animation-delay:.14s}.guided-lesson .answers button.selected:not(.wrong):not(.correct){box-shadow:0 2px #b6d9f455}.guided-lesson .answer-success .answers button.correct{animation:.3s ease-out both correct-pop}.guided-lesson .answer-error .answers button.wrong{animation:.3s ease-out both wrong-shake}.guided-lesson .correct-feedback .control-status svg{animation:.3s ease-out correct-pop}.guided-lesson .completed-symbol{animation:.5s cubic-bezier(.2,1.4,.5,1) both completion-pop}.completed-content{position:relative}.celebration{pointer-events:none;height:140px;position:absolute;inset:-25px 0 auto;overflow:visible}.celebration i{--angle:calc(var(--i)*30deg);width:7px;height:11px;animation:.8s ease-out both confetti-burst;animation-delay:calc(var(--i)*18ms);background:#60a5fa;border-radius:2px;position:absolute;top:60px;left:50%}.celebration i:nth-child(3n){background:#b197eb}.celebration i:nth-child(3n+1){background:#f3bd56}.celebration i:nth-child(2n){border-radius:50%;width:6px;height:6px}@keyframes unit-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes node-arrive{0%{opacity:.7;scale:.92}to{opacity:1;scale:1}}@keyframes star-wiggle{0%,to{rotate:0deg}35%{rotate:-12deg}70%{rotate:10deg}}@keyframes ready-ring{0%,to{border-color:var(--line)}50%{border-color:color-mix(in srgb,var(--accent),transparent 70%)}}@keyframes start-float{0%,to{translate:0}50%{translate:0 -4px}}@keyframes lesson-enter{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@keyframes option-enter{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0}}@keyframes correct-pop{0%{scale:1}45%{scale:1.025}to{scale:1}}@keyframes wrong-shake{0%,to{translate:0}25%{translate:-5px}50%{translate:5px}75%{translate:-3px}}@keyframes completion-pop{0%{opacity:0;rotate:-10deg;scale:.75}to{opacity:1;rotate:0deg;scale:1}}@keyframes confetti-burst{0%{opacity:0;transform:rotate(var(--angle)) translateY(-25px)}15%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-145px) rotate(120deg)}}@media (width<=700px){.top-stats{gap:14px}.top-stats .sound-toggle{width:29px;height:29px}.brush-size input[type=range]{width:62px}.all-learning-paths>.learning-path+.learning-path{margin-top:20px}.all-presentations{gap:30px}.library-course-title{font-size:19px}.sound-toggle svg{width:19px;height:19px}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{transition:none!important;animation:none!important}.celebration{display:none}}.page-navigation{color:var(--muted);justify-content:center;align-items:center;gap:20px;margin:22px 0 0;font-size:12px;display:flex}.page-navigation button{border:1px solid var(--line);background:var(--panel);border-radius:7px;width:33px;height:31px;font-size:17px}.page-navigation button:disabled{opacity:.3}.guided-points{color:var(--text);margin:22px 0;padding:0 0 0 21px;font-size:16px;line-height:1.8}.guided-points li{margin:10px 0;padding-left:6px}.slide-content.dense-slide{padding:34px 42px}.dense-slide h1{margin:12px 0 17px;font-size:30px}.dense-slide .slide-explanation{font-size:18px;line-height:1.6}.dense-slide .slide-points{gap:17px;margin-top:24px}.dense-slide .slide-points p{font-size:16px;line-height:1.55}.dense-slide .slide-takeaway{font-size:13px;bottom:23px;left:42px;right:42px}.node-label{max-width:190px}.path-step{min-height:140px}.node-label strong{font-size:12px}.unit-heading h1{overflow-wrap:anywhere}.progress-panel .tiny-progress{min-width:50px}.question-content h1,.answer-explanation{white-space:pre-line}@media (width<=700px){.guided-points{font-size:14px}.page-navigation{margin-top:18px}.presentation-row small{line-height:1.7}.node-label strong{font-size:11px}.presentation-card h2{overflow-wrap:anywhere}}.slide-points.four-points{grid-template-columns:repeat(4,1fr);gap:15px}.slide-points.four-points p{font-size:16px}.dense-slide .slide-points.four-points p{font-size:14px;line-height:1.5}.slide-takeaway{background:var(--panel)}
