@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";:root{font-synthesis:none;--bg-app:#090d16;--bg-sidebar:#0e1526;--bg-topbar:#0e1526d1;--bg-card:#131c31;--bg-card-hover:#18243e;--bg-card-selected:#1b2947;--bg-input:#1a2642;--bg-badge:#1e2e50;--border-color:#ffffff14;--border-highlight:#3b82f666;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dim:#64748b;--primary:#3b82f6;--primary-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--accent-cyan:#06b6d4;--accent-purple:#8b5cf6;--accent-emerald:#10b981;--accent-gold:#f59e0b;--accent-rose:#f43f5e;font-family:Manrope,system-ui,-apple-system,sans-serif}[data-theme=light]{--bg-app:#f1f5f9;--bg-sidebar:#0f172a;--bg-topbar:#ffffffd9;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-card-selected:#eff6ff;--bg-input:#f1f5f9;--bg-badge:#e2e8f0;--border-color:#e2e8f0;--border-highlight:#93c5fd;--text-main:#0f172a;--text-muted:#475569;--text-dim:#64748b;--primary:#2563eb;--primary-gradient:linear-gradient(135deg, #2563eb, #4f46e5)}*{box-sizing:border-box}body{background-color:var(--bg-app);min-width:320px;min-height:100vh;color:var(--text-main);margin:0;transition:background-color .3s,color .3s}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background-color:var(--bg-app);min-height:100vh;display:flex}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);color:#e2e8f0;z-index:20;flex-direction:column;flex:0 0 260px;width:260px;height:100vh;min-height:100vh;padding:24px 16px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px 24px;display:flex}.brand-mark{background:var(--primary-gradient);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;display:grid;box-shadow:0 8px 20px #3b82f659}.brand strong{color:#fff;letter-spacing:-.5px;font-size:18px;display:block}.brand span{color:var(--text-muted);margin-top:2px;font-size:10px;display:block}.sidebar nav{gap:6px;display:grid}.sidebar nav button{color:#94a3b8;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:11px 14px;font-weight:700;transition:all .2s;display:flex}.sidebar nav button:hover,.sidebar nav button.nav-active{color:#fff;background:#3b82f626}.sidebar nav button.nav-active{box-shadow:inset 3px 0 0 var(--primary);color:#60a5fa;background:#3b82f633}.grade-rail{border-top:1px solid var(--border-color);margin:20px 4px 0;padding-top:16px}.grade-rail>span{color:var(--text-dim);text-transform:uppercase;letter-spacing:1.2px;font-size:10px;font-weight:800}.grade-rail>div{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;display:grid}.grade-rail button{border:1px solid var(--border-color);color:var(--text-muted);background:#ffffff0a;border-radius:8px;height:30px;font-size:11px;font-weight:700;transition:all .2s}.grade-rail button:hover,.grade-rail button.active-grade{background:var(--primary);color:#fff;border-color:var(--primary)}.sidebar-foot{color:var(--text-muted);align-items:center;gap:8px;margin-top:auto;padding:14px 10px 0;font-size:12px;display:flex}.sidebar-foot svg{color:var(--accent-rose)}.app-main{flex-direction:column;width:min(100%,100vw - 260px);min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border-color);background:var(--bg-topbar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:15;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-actions{align-items:center;gap:16px;display:flex}.breadcrumb{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.breadcrumb strong{color:var(--text-main)}.grade-badge-chip{color:#60a5fa;background:#3b82f633;border-radius:6px;padding:3px 8px;font-size:11px}.theme-toggle-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.theme-toggle-btn:hover{border-color:var(--primary);color:var(--primary)}.topbar-status{color:var(--accent-emerald);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.status-dot{background:var(--accent-emerald);width:8px;height:8px;box-shadow:0 0 10px var(--accent-emerald);border-radius:50%}.mobile-menu{color:var(--text-main);background:0 0;border:0;display:none}.page-layout{grid-template-columns:minmax(0,1fr) 380px;gap:24px;padding:32px;display:grid}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-heading h1{color:var(--text-main);letter-spacing:-1px;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(24px,2.2vw,34px);line-height:1.15}.page-heading p{color:var(--text-muted);max-width:620px;margin:8px 0 0;font-size:14px;line-height:1.6}.count-chip{color:#60a5fa;white-space:nowrap;background:#3b82f626;border:1px solid #3b82f64d;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800}.filters{grid-template-columns:minmax(200px,1fr) 160px 180px;gap:10px;margin:20px 0;display:grid}.filters select,.search-box{border:1px solid var(--border-color);background:var(--bg-card);height:44px;color:var(--text-main);border-radius:12px;outline:none;font-size:13px;font-weight:700}.filters select{padding:0 12px}.search-box{align-items:center;gap:10px;padding:0 14px;display:flex}.search-box svg{color:var(--primary)}.search-box input{width:100%;min-width:0;color:var(--text-main);background:0 0;border:0;outline:0}.search-box button{color:var(--text-dim);background:0 0;border:0}.formula-grid,.theorem-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-bottom:24px;display:grid}.formula-tile,.theorem-card{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;border-radius:16px;min-height:180px;padding:18px;transition:all .2s;position:relative;overflow:hidden}.formula-tile:hover,.theorem-card:hover{border-color:var(--border-highlight);background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 12px 30px #0003}.formula-tile.selected,.theorem-card.selected{border-color:var(--primary);background:var(--bg-card-selected);box-shadow:0 0 0 1px var(--primary)}.tile-topline,.theorem-top{justify-content:space-between;align-items:center;display:flex}.grade-tag{background:var(--bg-badge);color:#60a5fa;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:800}.topic-tag{color:var(--text-dim);font-size:11px;font-weight:700}.favourite-button{color:var(--accent-rose);background:0 0;border:0;padding:4px}.topic-dot{border-radius:50%;width:8px;height:8px;margin-top:14px;display:block}.formula-tile h2,.theorem-card h2{color:var(--text-main);letter-spacing:-.3px;margin:8px 0 6px;font-size:16px}.math-expression,.theorem-formula-snippet{color:#60a5fa;margin:4px 0;font-family:Space Grotesk,monospace;font-size:17px;font-weight:700}.tile-note,.theorem-statement-short{color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.5}.tile-action{color:var(--primary);align-items:center;gap:4px;font-size:11px;font-weight:800;display:flex;position:absolute;bottom:14px;right:16px}.detail-panel{min-width:0}.detail-scroll{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;position:sticky;top:88px;box-shadow:0 16px 36px #00000040}.detail-title-row{justify-content:space-between;align-items:center;display:flex}.topic-pill{text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:800}.detail-scroll h2{color:var(--text-main);letter-spacing:-.8px;margin:12px 0;font-family:Space Grotesk,sans-serif;font-size:24px}.big-formula{color:#60a5fa;text-align:center;letter-spacing:-.5px;background:#3b82f61a;border:1px solid #3b82f640;border-radius:14px;padding:18px;font-family:Space Grotesk,monospace;font-size:20px;font-weight:700}.explanation-block,.example-block,.proof-block{border-bottom:1px solid var(--border-color);padding:16px 0}.explanation-block h3,.example-block h3,.proof-block h3{color:var(--text-main);align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.explanation-block p,.example-block p,.proof-block p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.geogebra-suite-bar{margin-bottom:16px}.geogebra-embed-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:8px;overflow:hidden;box-shadow:0 16px 36px #0000004d}.geogebra-iframe-wrapper{background:#fff;border-radius:14px;width:100%;height:650px;overflow:hidden}.geogebra-iframe{border:0;width:100%;height:100%}.clean-stage{border:1px solid var(--border-highlight);background:radial-gradient(circle,#0f172a 0%,#090d16 100%);border-radius:20px;flex-direction:column;min-height:380px;padding:20px;display:flex;box-shadow:inset 0 0 40px #00000080}.stage-svg-wrapper{flex:1;justify-content:center;align-items:center;min-height:250px;padding:10px 0;display:flex}.shape-svg-clean{width:100%;max-height:260px}.encyclopedia-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.enc-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:10px;padding:20px;display:flex}.enc-visual-card{overflow:hidden}.enc-card-header{flex-direction:column;gap:4px;display:flex}.enc-card h2{color:var(--text-main);margin:0;font-family:Space Grotesk,sans-serif;font-size:18px}.enc-diagram-container{border:1px solid var(--border-color);background:radial-gradient(circle,#1e293b 0%,#0f172a 100%);border-radius:12px;justify-content:center;align-items:center;padding:10px;display:flex}.enc-svg{width:100%;max-height:140px}.enc-def{color:#60a5fa;margin:0;font-size:13px;font-weight:600;line-height:1.5}.enc-details{color:var(--text-muted);white-space:pre-line;font-size:12px;line-height:1.6}.enc-example{color:var(--accent-gold);background:#ffffff08;border-radius:8px;padding:10px;font-size:12px}.number-card{position:relative}.num-symbol-badge{color:#a855f7;font-family:Space Grotesk,monospace;font-size:28px;font-weight:800}.symbols-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.symbol-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:14px;padding:16px;transition:transform .2s}.symbol-card:hover{border-color:var(--primary);transform:translateY(-2px)}.big-symbol{color:#38bdf8;margin-bottom:6px;font-family:Space Grotesk,monospace;font-size:32px;font-weight:800}.symbol-card h3{color:var(--text-main);margin:0 0 6px;font-size:13px}.symbol-meaning{color:var(--text-muted);font-size:11px;line-height:1.4}.symbol-ex code{color:#fcd34d;background:#ffffff0d;border-radius:4px;padding:2px 6px;font-size:11px}.clean-mission-card{border:1px solid var(--border-highlight);color:#fff;text-align:center;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:24px;max-width:800px;margin:0 auto;padding:36px;box-shadow:0 16px 40px #00000059}.mission-question{color:#f8fafc;margin:20px 0 16px;font-family:Space Grotesk,sans-serif;font-size:clamp(22px,3.2vw,34px);line-height:1.25}.mission-answer-row{justify-content:center;align-items:center;gap:12px;margin-top:24px;display:flex}.mission-input,input.mission-input,section.clean-mission-card input.mission-input{color:#60a5fa!important;text-align:center!important;background:#0e172a!important;border:2px solid #3b82f6!important;border-radius:14px!important;outline:none!important;width:260px!important;max-width:100%!important;padding:12px 20px!important;font-family:Space Grotesk,monospace!important;font-size:18px!important;font-weight:700!important;transition:all .2s!important;box-shadow:0 0 15px #3b82f640!important}.mission-input::placeholder{color:#64748b!important;font-size:14px!important;font-weight:500!important}.mission-input:focus,input.mission-input:focus{background:#1e293b!important;border-color:#60a5fa!important;box-shadow:0 0 0 4px #60a5fa59,0 0 20px #3b82f666!important}.feedback-alert{border-radius:14px;margin-top:20px;padding:16px;font-size:13px}.feedback-alert.success{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.feedback-alert.error{color:#fb7185;background:#f43f5e26;border:1px solid #f43f5e4d}.feedback-title{margin:0 0 6px;font-size:14px;font-weight:800}.task-explanation{opacity:.9;margin:0;font-size:12px}.hint-container{margin-top:20px}.hint-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:12px;display:inline-flex}.hint-box{border:1px stroke #ffffff1a;color:#fde047;background:#ffffff0d;border-radius:10px;margin-top:8px;padding:12px 16px;font-size:12px;display:inline-block}.practice-stats{gap:10px;display:flex}.stat-chip{color:#60a5fa;background:#3b82f626;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:800;display:flex}.stat-chip.streak{color:#fcd34d;background:#f59e0b26}.calculator-card{border:1px solid var(--border-color);background:#ffffff05;border-radius:14px;margin-top:20px;padding:16px}.card-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.card-label svg{color:var(--primary)}.formula-inputs{grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0;display:grid}.input-field span{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.input-field input,.quick-calc input{border:1px solid var(--border-color);background:var(--bg-input);width:100%;color:var(--text-main);border-radius:8px;outline:none;padding:10px;font-size:13px;font-weight:700;transition:border-color .2s}.primary-button{background:var(--primary-gradient);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:13px;font-weight:800;transition:filter .2s;display:inline-flex;box-shadow:0 8px 20px #3b82f64d}.primary-button:hover{filter:brightness(1.1)}.result-box{color:#34d399;background:#10b9811f;border:1px solid #10b9814d;border-radius:12px;justify-content:space-between;align-items:center;margin-top:14px;padding:14px;font-size:12px;font-weight:700;display:flex}.result-box strong{font-family:Space Grotesk,monospace;font-size:19px}.error-text{color:var(--accent-rose);margin:10px 0 0;font-size:12px;line-height:1.4}.wide-tool{grid-column:1/-1}.quick-calc{border:1px solid var(--border-color);color:#fff;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:18px;grid-template-columns:1fr minmax(240px,.8fr);align-items:center;gap:20px;padding:20px;display:grid}.quick-calc .card-label{color:#93c5fd}.quick-calc p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.quick-calc-controls{gap:8px;display:flex}.icon-button{background:var(--accent-gold);color:#0f172a;border:0;border-radius:10px;place-items:center;width:44px;display:grid}.quick-answer{color:#fde047;grid-column:2;margin-top:6px;font-family:Space Grotesk,monospace;font-size:18px}.lab-page{padding:32px}.lab-heading{margin-bottom:24px}.shape-selector-bar{gap:8px;margin-bottom:20px;padding-bottom:8px;display:flex;overflow-x:auto}.shape-select-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.shape-select-btn:hover,.shape-select-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.three-d-grid{grid-template-columns:1.2fr .8fr;gap:20px;display:grid}.viewport-card,.controls-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px}.cube-toolbar{justify-content:space-between;align-items:center;display:flex}.toolbar-controls{gap:8px;display:flex}.small-toggle{border:1px solid var(--border-color);background:var(--bg-badge);color:var(--text-main);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:800;display:flex}.small-toggle.on{color:#60a5fa;border-color:var(--primary)}.canvas-wrapper{border:1px solid var(--border-color);background:radial-gradient(circle,#1e293b 0%,#0f172a 100%);border-radius:16px;margin:16px 0;position:relative;overflow:hidden}.canvas-hint{text-align:center;color:var(--text-dim);font-size:11px;position:absolute;bottom:12px;left:0;right:0}@media (width<=1120px){.page-layout{grid-template-columns:minmax(0,1fr) 340px;padding:24px}.formula-grid,.theorem-grid,.encyclopedia-grid{grid-template-columns:1fr}.symbols-grid{grid-template-columns:repeat(2,1fr)}.three-d-grid{grid-template-columns:1fr}.geogebra-iframe-wrapper{height:520px}}@media (width<=840px){.sidebar{transition:transform .25s;position:fixed;transform:translate(-105%);box-shadow:12px 0 35px #00000080}.sidebar.open{transform:translate(0)}.backdrop{z-index:19;background:#0009;border:0;position:fixed;inset:0}.app-main{width:100%}.mobile-menu{place-items:center;display:grid}.topbar{padding:0 16px}.page-layout,.symbols-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.search-box{grid-column:1/-1}.geogebra-iframe-wrapper{height:440px}.mission-answer-row{flex-direction:column;align-items:center}.mission-input{width:100%!important}}
