@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142236;--muted:#78879a;--paper:#f4f7fb;--card:#fff;--line:#e6ebf1;--navy:#0b1724;--navy2:#12253a;--teal:#40cdb4;--teal-soft:#e1f8f3;--violet:#7d83f6;--amber:#f3b85b;--rose:#f08391;--shadow:0 12px 36px rgba(23,43,67,.07);--radius:20px;--sidebar:248px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:var(--navy);color:#d8e4ef;padding:22px 16px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:4px 10px 28px;color:white}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#1b3349;color:var(--teal)}.brand-mark svg{width:34px;height:34px}.brand strong{display:block;letter-spacing:2.6px;font-size:13px}.brand small{display:block;color:#94aabd;letter-spacing:2.5px;font-size:8px;margin-top:3px}.sidebar-label{font-family:'DM Mono',monospace;letter-spacing:1.6px;font-size:9px;color:#7790a6;padding:0 12px 10px}.sidebar-label.spaced{margin-top:28px}.side-nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#a9bac9;padding:11px 12px;border-radius:12px;display:flex;align-items:center;gap:12px;text-align:left;font-size:12px;font-weight:700;transition:.2s}.nav-item:hover{background:#172b3f;color:white}.nav-item.active{background:linear-gradient(100deg,rgba(64,205,180,.17),rgba(125,131,246,.12));color:#fff;box-shadow:inset 3px 0 var(--teal)}.nav-icon{display:inline-grid;place-items:center;width:21px;height:21px;color:var(--teal);font-size:17px}.sidebar-bottom{margin-top:auto}.offline-badge{display:flex;gap:10px;align-items:center;background:#13273a;border:1px solid #243a50;border-radius:13px;padding:11px;margin:0 2px 12px}.offline-badge b,.profile-mini b{display:block;color:#eaf2f8;font-size:11px}.offline-badge small,.profile-mini small{display:block;color:#8096a9;font-size:9px;margin-top:3px}.pulse-dot{width:8px;height:8px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 5px rgba(64,205,180,.12);flex:none}.profile-mini{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;background:transparent;text-align:left;border-radius:12px}.profile-mini:hover{background:#172b3f}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#6b72e9,#40cdb4);color:#071521;font-weight:800}.profile-mini .more{margin-left:auto;color:#8ea1b3;font-size:21px}.main-area{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.82);backdrop-filter:blur(16px);position:sticky;top:0;z-index:15}.breadcrumb{display:flex;align-items:center;gap:10px;color:#8a98a8;font-size:11px}.breadcrumb i{font-style:normal;color:#c2cbd5}.breadcrumb b{color:#34465b}.top-actions{display:flex;align-items:center;gap:11px}.search-box{height:38px;width:min(310px,36vw);display:flex;align-items:center;gap:9px;background:#f6f8fb;border:1px solid var(--line);border-radius:11px;padding:0 12px;color:#95a2b0}.search-box input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:11px;color:var(--ink)}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:white;border-radius:11px;color:#52657a;font-size:17px}.install-btn{height:36px;border:0;background:var(--navy);color:white;border-radius:10px;padding:0 13px;font-size:10px;font-weight:800}.mobile-menu{display:none;border:0;background:transparent;font-size:20px;color:var(--ink)}.content{width:min(1440px,100%);margin:0 auto;padding:29px 34px 48px;flex:1}.footer{padding:14px 34px 20px;display:flex;justify-content:space-between;color:#9aa7b5;font:9px 'DM Mono',monospace;letter-spacing:.5px;border-top:1px solid var(--line)}
.eyebrow{font:10px 'DM Mono',monospace;letter-spacing:1.7px;text-transform:uppercase;color:#7f8fa2}.page-title{font-size:25px;letter-spacing:-.8px;margin:7px 0 5px;font-weight:800}.page-subtitle{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:28px 0 14px}.section-head h2{font-size:16px;margin:0 0 4px;letter-spacing:-.3px}.section-head p{margin:0;color:var(--muted);font-size:11px}.text-link{border:0;background:transparent;color:#289f8d;font-size:10px;font-weight:800;padding:7px 0}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.pad{padding:19px}.muted{color:var(--muted)}.mono{font-family:'DM Mono',monospace}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:6px 9px;font-size:9px;font-weight:800;background:#eef3f8;color:#60748a}.pill.teal{background:var(--teal-soft);color:#188e7b}.pill.violet{background:#ededff;color:#6568d5}.pill.amber{background:#fff5e3;color:#b37b25}.pill.rose{background:#fff0f2;color:#bf6372}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--navy);color:#fff;padding:11px 15px;border-radius:11px;font-size:10px;font-weight:800;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(11,23,36,.16)}.btn.secondary{background:#eff4f7;color:#40546a}.btn.outline{background:white;color:#435a71;border:1px solid var(--line)}.btn.teal{background:var(--teal);color:#08221f}.btn.small{padding:8px 11px;font-size:9px}.hero{min-height:270px;background:linear-gradient(116deg,#0b1724 0%,#142e45 53%,#263863 100%);border-radius:25px;color:#fff;padding:30px 34px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:20px;box-shadow:0 20px 45px rgba(13,33,55,.18)}.hero:before{content:"";position:absolute;width:390px;height:390px;right:9%;top:-59%;border-radius:50%;border:1px solid rgba(119,220,211,.16);box-shadow:0 0 0 34px rgba(119,220,211,.035),0 0 0 70px rgba(119,220,211,.025)}.hero-copy{position:relative;z-index:2;align-self:center}.hero .eyebrow{color:#85dacc}.hero h1{font-size:31px;line-height:1.16;letter-spacing:-1.2px;margin:13px 0 10px;max-width:470px}.hero p{font-size:11px;color:#b8cbdc;line-height:1.8;max-width:450px;margin:0 0 19px}.hero .btn{background:var(--teal);color:#09211f}.hero-art{position:relative;min-height:200px;display:grid;place-items:center}.hero-art svg{width:min(100%,360px);height:auto;overflow:visible}.orbit-spin{transform-origin:180px 112px;animation:orbitSpin 24s linear infinite}.atom-pulse{animation:atomPulse 2.8s ease-in-out infinite}.float-dot{animation:float 4s ease-in-out infinite}.float-dot:nth-child(2){animation-delay:-1s}.float-dot:nth-child(3){animation-delay:-2s}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes atomPulse{50%{transform:scale(1.12);opacity:.7}}@keyframes float{50%{transform:translateY(-9px)}}.hero-stats{display:flex;gap:20px;align-items:center;margin-top:20px}.hero-stat{display:flex;gap:8px;align-items:center}.hero-stat b{font-size:16px}.hero-stat small{display:block;color:#93aabd;font-size:9px}.hero-divider{height:28px;width:1px;background:rgba(255,255,255,.15)}
.stat-card{padding:16px 17px;min-height:103px;position:relative;overflow:hidden}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#8090a2;font-size:10px}.stat-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#e8f8f5;color:#209d8a;font-size:16px}.stat-num{font-size:25px;font-weight:800;letter-spacing:-1px;margin-top:9px}.stat-foot{font-size:9px;color:#95a2b0;margin-top:1px}.stat-card:after{content:"";position:absolute;width:66px;height:66px;border:1px solid #edf2f6;border-radius:50%;right:-18px;bottom:-30px}.lesson-continue{padding:0;display:grid;grid-template-columns:148px 1fr;overflow:hidden}.lesson-art{background:linear-gradient(135deg,#dceff1,#d9e0fa);display:grid;place-items:center;min-height:148px;position:relative;overflow:hidden}.lesson-art svg{width:125px;height:125px}.lesson-body{padding:18px 19px}.lesson-body h3{font-size:14px;margin:9px 0 5px}.lesson-body p{font-size:10px;line-height:1.7;color:var(--muted);margin:0 0 13px}.progress-track{height:7px;border-radius:99px;background:#edf1f4;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal),#6d8af1);transition:width .4s}.progress-label{display:flex;justify-content:space-between;font-size:9px;color:#8b99a8;margin:7px 0}.mini-course{padding:16px;transition:.2s;cursor:pointer}.mini-course:hover,.chapter-card:hover,.resource-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(23,43,67,.1)}.mini-course h3{font-size:12px;margin:11px 0 5px}.mini-course p{font-size:10px;color:var(--muted);line-height:1.6;margin:0}.course-band{height:5px;border-radius:6px;margin:-16px -16px 14px}.course-band.teal{background:linear-gradient(90deg,#42c9b3,#95e2d8)}.course-band.violet{background:linear-gradient(90deg,#777bf2,#b4a8ff)}.course-band.amber{background:linear-gradient(90deg,#efa947,#ffd48c)}.course-band.rose{background:linear-gradient(90deg,#ed7f95,#f6b7c2)}.recommend{padding:16px;display:flex;align-items:center;gap:13px}.recommend-icon{width:42px;height:42px;flex:none;border-radius:13px;background:#e7f8f5;color:#1c9b88;display:grid;place-items:center;font-size:20px}.recommend b{font-size:11px}.recommend p{font-size:9px;color:var(--muted);margin:4px 0 0;line-height:1.5}.recommend .arrow{margin-left:auto;color:#99a7b5;font-size:17px}
.stage-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.stage-card{padding:14px;border:1px solid var(--line);background:white;border-radius:15px;min-height:104px;cursor:pointer;transition:.2s}.stage-card:hover{border-color:#9ddfd5;transform:translateY(-2px)}.stage-card.active{background:#e9faf6;border-color:#91ded3}.stage-num{font:10px 'DM Mono',monospace;color:#239e8d}.stage-card b{display:block;font-size:11px;margin:7px 0 4px}.stage-card small{display:block;font-size:9px;color:var(--muted);line-height:1.5}.semester-card{padding:17px;cursor:pointer;transition:.2s}.semester-card:hover{transform:translateY(-3px);border-color:#a6ded6}.semester-card h3{font-size:13px;margin:9px 0 6px}.semester-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 12px}.semester-foot{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8998a9}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.chapter-card{background:white;border:1px solid var(--line);border-radius:15px;padding:14px;cursor:pointer;transition:.2s;min-height:144px;display:flex;flex-direction:column}.chapter-top{display:flex;align-items:center;justify-content:space-between}.chapter-number{font:10px 'DM Mono',monospace;color:#95a5b5}.chapter-card h3{font-size:11px;line-height:1.5;margin:10px 0 6px}.chapter-card p{font-size:9px;color:var(--muted);line-height:1.55;margin:0}.chapter-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;color:#93a1b0;font-size:9px}.book-card{padding:18px;display:flex;gap:14px;align-items:flex-start}.book-number{width:43px;height:43px;flex:none;border-radius:13px;background:#eff4f7;display:grid;place-items:center;font:700 15px 'DM Mono',monospace;color:#4b637a}.book-card h3{font-size:12px;margin:1px 0 5px}.book-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 8px}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px;align-items:start}.lesson-main{padding:23px}.lesson-main h1{font-size:24px;line-height:1.25;margin:8px 0}.lesson-main .lead{font-size:12px;color:#61758a;line-height:1.8}.lesson-section{padding:16px 0;border-top:1px solid var(--line)}.lesson-section h3{font-size:12px;margin:0 0 8px}.lesson-section p{font-size:11px;line-height:1.8;color:#64778b;margin:0}.formula-box{padding:16px 18px;border-radius:13px;background:#0f2335;color:#b6f0e4;font:13px 'DM Mono',monospace;white-space:pre-line;line-height:1.9;margin:10px 0}.lesson-aside{display:grid;gap:12px}.aside-card{padding:16px}.aside-card h3{margin:0 0 11px;font-size:11px}.aside-link{font-size:10px;color:#289e8d;display:block;margin:9px 0;line-height:1.55}.lesson-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.source-note{font-size:9px;color:#9aa7b4;line-height:1.5;margin-top:12px}.video-card{padding:0;overflow:hidden}.video-thumb{height:130px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#10283e,#334b70);color:white}.video-thumb:before,.video-thumb:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.19);border-radius:50%;width:210px;height:100px;transform:rotate(-28deg)}.video-thumb:after{transform:rotate(35deg);width:250px;height:120px}.play-button{z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(8px);font-size:18px}.video-info{padding:15px}.video-info h3{font-size:12px;margin:8px 0 5px}.video-info p{font-size:9px;line-height:1.65;color:var(--muted);margin:0 0 10px}.resource-card{padding:15px;transition:.2s}.resource-card h3{font-size:11px;margin:9px 0 5px}.resource-card p{font-size:9px;color:var(--muted);line-height:1.6;margin:0 0 10px}.resource-type{font:9px 'DM Mono',monospace;color:#239b8b}.sim-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.sim-stage{padding:18px;min-height:335px;overflow:hidden;position:relative;background:linear-gradient(145deg,#0e2030,#1e3852);color:#eaf4fa}.sim-stage h3{font-size:12px;margin:0 0 6px}.sim-stage p{font-size:9px;color:#9fb4c6;margin:0}.sim-canvas-wrap{height:235px;margin-top:12px;position:relative}.sim-canvas-wrap canvas{width:100%;height:100%;display:block}.sim-controls{padding:18px}.control-row{margin-bottom:18px}.control-row label{display:flex;justify-content:space-between;color:#51677c;font-size:10px;margin-bottom:8px}.control-row output{font:11px 'DM Mono',monospace;color:#1a9a88}.control-row input[type=range]{width:100%;accent-color:#29bba5}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.metric{padding:10px;border:1px solid #e8eef3;border-radius:11px}.metric small{display:block;color:#91a0ae;font-size:8px}.metric b{display:block;font:13px 'DM Mono',monospace;margin-top:5px}.sim-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.sim-tab{border:1px solid var(--line);background:white;color:#63758a;border-radius:9px;padding:8px 12px;font-size:9px;font-weight:800}.sim-tab.active{background:#e4f8f4;color:#178d7a;border-color:#b7e9e0}.quiz-card{padding:19px}.quiz-q{font-size:13px;line-height:1.65;margin:10px 0 15px}.answer-option{display:flex;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:11px;margin:7px 0;cursor:pointer;font-size:10px}.answer-option:hover{border-color:#9cded5}.answer-option input{accent-color:#26af9c}.feedback{padding:11px 13px;border-radius:11px;font-size:10px;line-height:1.6;margin-top:12px}.feedback.good{background:#e4f8f0;color:#19856e}.feedback.bad{background:#fff0ed;color:#b75e4b}.chat-panel{padding:18px}.chat-log{display:grid;gap:10px;max-height:340px;overflow:auto;padding:3px 1px 13px}.chat-bubble{max-width:88%;padding:12px 14px;border-radius:14px;font-size:10px;line-height:1.7}.chat-bubble.assistant{background:#f0f5f8;color:#516579;border-top-left-radius:4px}.chat-bubble.user{margin-left:auto;background:#0f293e;color:white;border-top-right-radius:4px}.chat-form{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:13px}.chat-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:11px;font-size:10px;outline:0}.notice{border:1px solid #f1dfb7;background:#fff9eb;color:#8f6b2d;border-radius:13px;padding:12px 14px;font-size:10px;line-height:1.65}.check-list{display:grid;gap:9px}.check-row{display:flex;gap:10px;align-items:flex-start;font-size:10px;color:#60758a;line-height:1.5}.check-row input{accent-color:#2ab49f;margin-top:2px}.search-results{display:grid;gap:8px}.empty{padding:35px;text-align:center;color:#95a3b0;font-size:11px}.toast{position:fixed;bottom:24px;right:24px;max-width:min(340px,calc(100vw - 32px));padding:12px 16px;background:#10263a;color:white;border-radius:11px;font-size:10px;box-shadow:0 12px 30px rgba(0,0,0,.2);opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none;z-index:60}.toast.show{opacity:1;transform:translateY(0)}.mobile-nav{display:none}
body.dark{--paper:#0b1420;--card:#111f2d;--ink:#e6eef5;--muted:#8ea2b6;--line:#223447;--shadow:0 10px 30px rgba(0,0,0,.18)}body.dark .topbar{background:rgba(13,25,38,.9)}body.dark .search-box,body.dark .icon-btn,body.dark .stage-card,body.dark .semester-card,body.dark .chapter-card,body.dark .sim-tab,body.dark .answer-option,body.dark .resource-card,body.dark .book-card{background:#132437;color:#dce8f2;border-color:var(--line)}body.dark .breadcrumb b,body.dark .stat-num{color:#eaf2f8}body.dark .lesson-art{background:linear-gradient(135deg,#1b3947,#2a3457)}body.dark .recommend-icon{background:#143b3b}body.dark .aside-card,body.dark .lesson-main{background:#111f2d}body.dark .feedback.good{background:#15362f}body.dark .feedback.bad{background:#412a2b}body.dark .formula-box{background:#07111b}body.dark .footer{border-color:var(--line)}body.dark .stat-card:after{border-color:#1d3042}
@media(max-width:1150px){:root{--sidebar:220px}.content{padding:25px 25px 42px}.topbar{padding:0 25px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:850px){:root{--sidebar:0px}.sidebar{width:260px;transform:translateX(-100%);transition:transform .25s;box-shadow:16px 0 38px rgba(3,18,32,.17)}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.mobile-menu{display:block}.topbar{height:64px;padding:0 17px}.breadcrumb{margin-right:auto;margin-left:12px}.search-box{width:38px;padding:0 10px;justify-content:center}.search-box input{display:none}.search-box:focus-within{width:180px}.search-box:focus-within input{display:block}.install-btn{display:none!important}.content{padding:20px 17px 90px}.footer{display:none}.mobile-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.mobile-nav button{width:20%;border:0;background:transparent;color:#8899a9;display:grid;justify-items:center;gap:3px;padding:3px}.mobile-nav button span{font-size:18px}.mobile-nav button small{font-size:8px;font-weight:800}.mobile-nav button.active{color:#179c89}.hero{grid-template-columns:1fr;min-height:255px;padding:24px}.hero h1{font-size:27px}.hero-art{position:absolute;right:-30px;bottom:-8px;width:190px;opacity:.62}.hero-copy{max-width:76%}.stage-list{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-layout{grid-template-columns:1fr}.lesson-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-layout{grid-template-columns:1fr}.sim-stage{min-height:310px}.sim-canvas-wrap{height:210px}}
@media(max-width:560px){.page-title{font-size:22px}.content{padding-left:13px;padding-right:13px}.topbar{padding:0 12px}.top-actions{gap:7px}.hero{padding:21px;min-height:260px}.hero h1{font-size:24px}.hero-copy{max-width:100%}.hero p{max-width:290px}.hero-art{right:-45px;bottom:-20px;width:150px;opacity:.24}.hero-stats{gap:12px}.hero-stat b{font-size:14px}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{min-height:96px;padding:13px}.stat-num{font-size:22px}.lesson-continue{grid-template-columns:1fr}.lesson-art{min-height:110px}.lesson-art svg{width:92px;height:92px}.lesson-body{padding:15px}.stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-card{min-height:96px;padding:12px}.chapter-grid{grid-template-columns:1fr}.chapter-card{min-height:120px}.section-head{margin-top:23px}.lesson-aside{grid-template-columns:1fr}.lesson-main{padding:17px}.lesson-main h1{font-size:21px}.formula-box{font-size:11px;overflow:auto}.metric-grid{grid-template-columns:repeat(3,1fr)}.search-box:focus-within{width:145px}.breadcrumb span{display:none}.breadcrumb{font-size:10px}.footer{display:none}}

/* PHYSICS LEARNING HUB · EXPERIENCE UPGRADE */
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.feature-card{position:relative;overflow:hidden;min-height:210px;border-radius:19px;padding:20px;color:#eaf6f7;cursor:pointer;box-shadow:0 16px 35px rgba(16,39,61,.12);transition:transform .25s,box-shadow .25s}.feature-card:hover,.studio-tool:hover,.native-sim-card:hover,.provider-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(16,39,61,.14)}.feature-ai{background:linear-gradient(135deg,#172c49,#4a4e8e)}.feature-lab{background:linear-gradient(135deg,#0c3845,#167b79)}.feature-class{background:linear-gradient(135deg,#402f64,#77529b)}.feature-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.13);font-size:20px;margin-bottom:14px}.feature-kicker{font:8px 'DM Mono',monospace;letter-spacing:1.2px;color:#a8e7dd}.feature-card h3{font-size:17px;margin:7px 0}.feature-card p{font-size:10px;line-height:1.7;color:rgba(240,248,250,.72);max-width:260px}.feature-link{display:inline-block;margin-top:8px;font-size:9px;font-weight:800;color:#c5f3e9}.feature-orbit,.feature-wave,.feature-spark{position:absolute;right:-20px;bottom:-70px;width:190px;height:190px;border:1px solid rgba(255,255,255,.22);border-radius:50%;pointer-events:none}.feature-orbit:before,.feature-orbit:after{content:'';position:absolute;inset:24px;border:1px solid rgba(255,255,255,.18);border-radius:50%;transform:rotate(45deg) scaleX(.5)}.feature-orbit:after{transform:rotate(-45deg) scaleX(.5)}.feature-wave{border-radius:45%;transform:rotate(-30deg);box-shadow:0 0 0 15px rgba(255,255,255,.04),0 0 0 30px rgba(255,255,255,.03)}.feature-spark:before{content:'✦';position:absolute;inset:30px;display:grid;place-items:center;font-size:70px;color:rgba(255,255,255,.16)}
.ai-banner,.studio-hero,.classroom-hero,.simhub-hero,.lab-intro{position:relative;overflow:hidden;border-radius:22px;padding:25px 28px;min-height:220px;display:flex;align-items:center;justify-content:space-between;color:#edf8fa;background:linear-gradient(110deg,#0d2338 0%,#173c50 55%,#425b7e 100%);box-shadow:0 16px 36px rgba(12,35,57,.13)}.ai-banner h2,.studio-hero h2,.classroom-hero h2,.simhub-hero h2,.lab-intro h2{font-size:27px;letter-spacing:-1.2px;line-height:1.17;margin:13px 0 9px}.ai-banner h2 em,.studio-hero h2 em,.classroom-hero h2 em,.simhub-hero h2 em{font-style:normal;color:#72e3d0}.ai-banner p,.studio-hero p,.classroom-hero p,.simhub-hero p,.lab-intro p{max-width:470px;color:rgba(235,246,250,.72);font-size:10px;line-height:1.8}.ai-sphere{position:relative;width:175px;height:175px;margin:0 35px;flex:none;border:1px solid rgba(116,227,212,.36);border-radius:50%;box-shadow:0 0 55px rgba(77,221,202,.12),inset 0 0 35px rgba(115,130,255,.1);animation:slowfloat 5s ease-in-out infinite}.ai-sphere:before,.ai-sphere:after{content:'';position:absolute;inset:22px;border:1px solid rgba(125,143,255,.45);border-radius:50%;transform:rotate(48deg) scaleX(.48)}.ai-sphere:after{transform:rotate(-48deg) scaleX(.48)}.ai-sphere span,.ai-sphere i,.ai-sphere b{position:absolute;width:12px;height:12px;border-radius:50%;background:#6de2d0;box-shadow:0 0 20px #6de2d0;left:50%;top:50%;transform:translate(-50%,-50%)}.ai-sphere i{width:7px;height:7px;background:#a9b0ff;left:17%;top:31%}.ai-sphere b{width:6px;height:6px;background:#ffc66e;left:79%;top:70%}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.mode-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:11px;text-align:left;display:grid;gap:5px;transition:.2s}.mode-card.active{border-color:#6bcbbd;background:#e8faf6;box-shadow:inset 0 0 0 1px rgba(38,172,151,.14)}.mode-card>span{font-size:18px;color:#1ba18f}.mode-card b{font-size:10px}.mode-card small{font-size:8px;line-height:1.55;color:var(--muted)}.field-label{display:block;font-size:9px;font-weight:800;color:var(--muted);margin:12px 0 7px}.field-select,.field-textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);padding:11px 12px;font-size:10px;outline:none}.field-select:focus,.field-textarea:focus{border-color:#5cc9b8;box-shadow:0 0 0 3px rgba(64,205,180,.12)}.prompt-chip{border:0;background:transparent;color:#259d8c;display:block;text-align:left;font-size:9px;margin:8px 0;line-height:1.55}.chat-top,.control-actions,.tutor-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.chat-top h3{font-size:13px;margin:4px 0}.tutor-chat .chat-log{min-height:185px}.tutor-foot{margin-top:11px}.studio-hero{background:linear-gradient(105deg,#152948 0%,#403e77 54%,#23776f 100%);min-height:250px}.studio-hero>div:first-child{position:relative;z-index:2}.studio-visual{width:250px;height:205px;position:relative;flex:none;margin-right:20px}.studio-orbit{position:absolute;border:1px solid rgba(140,239,222,.55);border-radius:50%;width:205px;height:90px;left:20px;top:56px;transform:rotate(-28deg)}.studio-orbit.orbit-b{transform:rotate(48deg)}.studio-core{position:absolute;left:101px;top:78px;width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#8af1dc,#7d8aff);display:grid;place-items:center;color:#14273f;font-size:24px;font-weight:900;box-shadow:0 0 42px rgba(118,231,210,.4)}.orbit-tag{position:absolute;font:8px 'DM Mono',monospace;letter-spacing:1px;color:#d6f9f2;padding:6px 9px;border-radius:30px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15)}.tag-one{left:0;top:25px}.tag-two{right:0;top:102px}.tag-three{left:70px;bottom:1px}.studio-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.studio-tool{border:1px solid var(--line);border-radius:15px;background:var(--card);padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;min-height:145px;transition:.2s}.studio-tool.active{border-color:#58c9b7;box-shadow:inset 0 0 0 1px rgba(44,185,163,.12);background:linear-gradient(145deg,var(--card),#effbf8)}.studio-tool-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e8f7f5;color:#188f7e;font-size:18px}.studio-tool b{font-size:10px}.studio-tool small{font-size:8px;line-height:1.55;color:var(--muted)}.studio-tool i{font-style:normal;font-size:8px;font-weight:800;color:#1a9a88;margin-top:auto}.studio-mode-panel{padding:18px 2px 4px;border-top:1px solid var(--line);margin-top:17px}.studio-current{display:grid;gap:4px;padding:10px 13px;background:var(--paper);border-radius:11px}.studio-current b{font-size:10px}.studio-current small{font-size:8px;color:var(--muted)}.lesson-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center}.lesson-grid h3{font-size:16px;margin:10px 0}.lesson-grid p{font-size:10px;line-height:1.8;color:var(--muted)}.mini-animate{height:175px;border-radius:18px;background:linear-gradient(145deg,#102b42,#215c67);display:grid;place-items:center;position:relative;overflow:hidden}.mini-animate small{position:absolute;bottom:11px;color:#b5d4d9;font-size:8px}.mini-orbit{width:120px;height:120px;border:1px solid rgba(120,236,216,.6);border-radius:50%;position:relative;animation:spin 11s linear infinite}.mini-orbit:before,.mini-orbit:after{content:'';position:absolute;inset:17px;border:1px solid rgba(157,168,255,.6);border-radius:50%;transform:rotate(60deg) scaleX(.38)}.mini-orbit:after{transform:rotate(-60deg) scaleX(.38)}.mini-orbit span{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:#ffe1a2;box-shadow:0 0 25px #ffca70;transform:translate(-50%,-50%)}.mini-orbit i{position:absolute;top:8px;left:80px;width:8px;height:8px;background:#70ead4;border-radius:50%;box-shadow:0 0 15px #70ead4}.studio-prompt-box,.teachback-box,.oral-exam-box,.podcast-box{background:var(--paper);border:1px solid var(--line);padding:17px;border-radius:15px}.studio-prompt-box h3,.teachback-box h3,.oral-exam-box h3,.podcast-box h3{font-size:14px;margin:9px 0}.studio-prompt-box p,.teachback-box p,.oral-exam-box p,.podcast-box p{font-size:10px;line-height:1.7;color:var(--muted)}.flash-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flash-preview>div{border-radius:15px;padding:18px;background:var(--paper);border:1px solid var(--line)}.flash-preview h3{font-size:15px}.flash-preview p,.flash-back b{font-size:10px;line-height:1.7;color:var(--muted)}.flash-back{background:linear-gradient(145deg,#142c43,#24665e)!important;color:#eaf9f7!important}.flash-back span{display:block;font:8px 'DM Mono',monospace;color:#83e3d2;margin-bottom:13px}.flash-back b{color:#eaf9f7}.podcast-script{border-left:3px solid #52c7b5;padding:9px 14px;margin:13px 0;background:var(--card);border-radius:0 12px 12px 0}.podcast-script b{font-size:9px;color:#279c8d}.mindmap-wrap{padding:15px;background:var(--paper);border-radius:15px;overflow:hidden}.mindmap-root{margin:auto;background:#16364c;color:#eaf8f5;padding:14px 20px;border-radius:14px;text-align:center;width:max-content;max-width:100%;font-size:11px;font-weight:800;box-shadow:0 8px 22px rgba(19,57,76,.15)}.mindmap-branches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:27px;position:relative}.mindmap-branches:before{content:'';position:absolute;left:12%;right:12%;top:-14px;border-top:1px solid #8dcfc5}.mindmap-branches>div{position:relative;background:var(--card);padding:12px;border:1px solid var(--line);border-radius:11px}.mindmap-branches>div:before{content:'';position:absolute;top:-14px;left:50%;height:14px;border-left:1px solid #8dcfc5}.mindmap-branches b{display:block;font-size:9px;margin-bottom:5px}.mindmap-branches small{font-size:8px;line-height:1.6;color:var(--muted)}.gap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gap-card{padding:13px;background:var(--card);border:1px solid var(--line);border-radius:13px;display:grid;gap:7px}.gap-card span{font:9px 'DM Mono',monospace;color:#23a28f}.gap-card b{font-size:11px}.gap-card small{font-size:8px;line-height:1.6;color:var(--muted)}
.classroom-hero{background:linear-gradient(110deg,#23234e,#574b88 58%,#298d83);min-height:205px}.classroom-illustration{position:relative;width:200px;height:160px;flex:none}.classroom-planet{position:absolute;width:88px;height:88px;left:60px;top:30px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#dbfff4,#68cbbb 38%,#397e91 72%,#253c6d);box-shadow:0 0 45px rgba(119,237,211,.35)}.classroom-line{position:absolute;width:180px;height:65px;border:1px solid rgba(192,238,232,.6);border-radius:50%;left:16px;top:40px;transform:rotate(-25deg)}.classroom-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:#ffd37f;left:29px;top:54px;box-shadow:0 0 15px #ffd37f}.class-meta{display:grid;gap:5px;padding:11px 14px;background:var(--paper);border-radius:12px}.class-meta span{font-size:8px;color:#229c8c}.class-meta b{font-size:11px}.class-meta small{font-size:8px;color:var(--muted)}.class-stepper{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:22px 0}.class-stepper span{font:10px 'DM Mono',monospace;color:#25a18f;white-space:nowrap}.class-stepper span small{display:block;font:7px Manrope;color:var(--muted);margin-top:3px}.class-stepper span:not(.active){color:#9aa9b4}.class-stepper i{height:1px;background:var(--line);flex:1}.class-lesson-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:15px 0}.class-lesson-grid h2{font-size:18px;margin:10px 0}.class-lesson-grid .lead{font-size:11px;line-height:1.8;color:var(--muted)}.class-concept{padding:14px;border-radius:13px;background:var(--paper);margin-top:12px}.class-concept>b{font-size:9px;color:#209887}.class-concept p{font-size:10px;line-height:1.75;color:var(--muted)}.class-visual{display:grid;place-items:center;align-content:center;gap:12px;background:linear-gradient(145deg,#10293f,#235b60);border-radius:15px;min-height:200px;padding:15px}.class-visual small{font-size:8px;color:#a6c9cb}.lesson-visual-atom{width:105px;height:105px;border:1px solid rgba(117,234,213,.6);border-radius:50%;position:relative;animation:spin 13s linear infinite}.lesson-visual-atom:before,.lesson-visual-atom:after{content:'';position:absolute;inset:16px;border:1px solid rgba(162,176,255,.6);border-radius:50%;transform:rotate(60deg) scaleX(.4)}.lesson-visual-atom:after{transform:rotate(-60deg) scaleX(.4)}.lesson-visual-atom span{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:#ffd486;transform:translate(-50%,-50%)}.lesson-visual-atom i{position:absolute;left:72px;top:20px;width:7px;height:7px;border-radius:50%;background:#70e7d2}.class-lesson-grid+.lesson-section,.class-lesson-grid~.lesson-section{padding:17px 0}.simhub-hero{background:linear-gradient(110deg,#102941,#15586b 56%,#357c77);min-height:250px}.simhub-art{width:240px;height:190px;position:relative;flex:none}.simhub-ring{position:absolute;width:190px;height:80px;left:20px;top:54px;border:1px solid rgba(133,241,218,.55);border-radius:50%;transform:rotate(30deg)}.simhub-ring.r2{transform:rotate(-42deg)}.simhub-ball{position:absolute;left:105px;top:78px;width:35px;height:35px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff5be,#f0b75f 50%,#ad5a38);box-shadow:0 0 30px rgba(244,181,96,.4)}.simhub-label{position:absolute;font:9px 'DM Mono',monospace;background:rgba(255,255,255,.13);padding:6px 9px;border-radius:20px;color:#d4fff5}.sl1{left:0;top:20px}.sl2{right:0;top:85px}.sl3{left:90px;bottom:5px}.sim-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sim-category-card{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:13px;display:grid;gap:7px;text-align:left;min-height:145px}.sim-category-card>span{font-size:22px;color:#26a18f}.sim-category-card b{font-size:10px}.sim-category-card small{font-size:8px;line-height:1.55;color:var(--muted)}.sim-category-card i{font-style:normal;font-size:8px;color:#219a8a;font-weight:800}.native-sim-card{border:1px solid var(--line);background:var(--card);border-radius:15px;padding:12px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:7px;transition:.2s}.native-sim-visual{width:100%;height:92px;border-radius:11px;display:grid;place-items:center;font-size:34px;color:#baf2e8;background:linear-gradient(135deg,#102b42,#277a77)}.ns2{background:linear-gradient(135deg,#2b315f,#686bc2)}.ns3{background:linear-gradient(135deg,#143c51,#298d9b)}.ns4{background:linear-gradient(135deg,#24505b,#5daea1)}.ns5{background:linear-gradient(135deg,#3f365a,#a46e88)}.ns6{background:linear-gradient(135deg,#342a56,#647fba)}.native-sim-card b{font-size:10px}.native-sim-card small{font-size:8px;line-height:1.55;color:var(--muted)}.native-sim-card i{font-style:normal;font-size:8px;font-weight:800;color:#249b8d;margin-top:auto}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.provider-card{border:1px solid var(--line);background:var(--card);border-radius:15px;padding:15px;display:flex;flex-direction:column;align-items:flex-start;transition:.2s}.provider-top{width:100%;display:flex;justify-content:space-between;align-items:center}.provider-index{font:10px 'DM Mono',monospace;color:#2da996}.provider-tag{font:7px 'DM Mono',monospace;padding:5px 7px;background:var(--paper);border-radius:20px;color:var(--muted)}.provider-card h3{font-size:12px;margin:12px 0 5px}.provider-card p{font-size:9px;line-height:1.7;color:var(--muted);margin:0 0 10px}.provider-card>small{font-size:8px;color:#2ba08f;margin-top:auto;margin-bottom:12px}.lab-intro{min-height:150px;margin-top:14px;background:linear-gradient(110deg,#142e47,#1e6a70)}.lab-intro h2{font-size:21px}.lab-intro p{margin-bottom:0}.lab-atom{width:115px;height:115px;border:1px solid rgba(112,226,211,.55);border-radius:50%;position:relative;animation:slowfloat 5s ease-in-out infinite;flex:none;margin-right:25px}.lab-atom:before,.lab-atom:after{content:'';position:absolute;inset:18px;border:1px solid rgba(255,255,255,.4);border-radius:50%;transform:rotate(55deg) scaleX(.42)}.lab-atom:after{transform:rotate(-55deg) scaleX(.42)}.lab-atom span{position:absolute;inset:44px;border-radius:50%;background:#ffd27c;box-shadow:0 0 20px #ffd27c}.lab-atom i{position:absolute;width:7px;height:7px;left:79px;top:24px;border-radius:50%;background:#74ebd5}.sim-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.sim-select{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px;text-align:left;display:grid;gap:5px;transition:.2s}.sim-select.active{border-color:#55c9b5;background:#edfbf8;box-shadow:inset 0 0 0 1px rgba(43,175,154,.1)}.sim-select-num{font:8px 'DM Mono',monospace;color:#2aa391}.sim-select b{font-size:10px}.sim-select small{font-size:8px;line-height:1.5;color:var(--muted)}.sim-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.live-pill{background:rgba(255,255,255,.13);color:#bff2e8;border:1px solid rgba(255,255,255,.12)}.live-pill i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5fe1c8;box-shadow:0 0 9px #5fe1c8;margin-right:5px;animation:pulse 1.5s infinite}.mini-heading{display:block;font-size:10px;margin:10px 0 5px}.sim-category-card:hover,.native-sim-card:hover{border-color:#74cfc1}.sim-stage .metric{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}.sim-stage .metric small{color:#a8bfcb}.sim-stage .metric b{color:#f1fbfa}.control-actions{margin-top:12px}.control-actions .btn{white-space:nowrap}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes slowfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{50%{opacity:.45;box-shadow:0 0 2px #5fe1c8}}
body.dark .mode-card,body.dark .studio-tool,body.dark .sim-select,body.dark .sim-category-card,body.dark .native-sim-card,body.dark .provider-card,body.dark .gap-card{background:#132437;color:#e1edf4;border-color:var(--line)}body.dark .mode-card.active,body.dark .studio-tool.active,body.dark .sim-select.active{background:#143b3a;border-color:#287d74}body.dark .field-select,body.dark .field-textarea{background:#0e1d2c;color:#e4eef5;border-color:#2a4054}body.dark .studio-current,body.dark .mindmap-wrap,body.dark .mindmap-branches>div,body.dark .studio-prompt-box,body.dark .teachback-box,body.dark .oral-exam-box,body.dark .podcast-box,body.dark .flash-preview>div:first-child,body.dark .class-meta,body.dark .class-concept{background:#0e1d2c;border-color:var(--line)}body.dark .class-stepper i,body.dark .mindmap-branches:before{border-color:#31566b}
@media(max-width:1000px){.studio-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.sim-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.mobile-nav button{width:16.66%}.feature-grid{grid-template-columns:1fr 1fr}.feature-card:last-child{grid-column:span 2}.studio-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.gap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-banner,.studio-hero,.classroom-hero,.simhub-hero{min-height:225px}.ai-sphere{margin:0 12px;width:135px;height:135px}.studio-visual,.simhub-art{transform:scale(.85);transform-origin:center right;margin-right:-15px}.classroom-illustration{transform:scale(.85);margin-right:-15px}.lesson-grid,.class-lesson-grid{grid-template-columns:1fr 1fr}.sim-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.feature-grid{grid-template-columns:1fr}.feature-card,.feature-card:last-child{grid-column:auto;min-height:175px}.ai-banner,.studio-hero,.classroom-hero,.simhub-hero{padding:20px;min-height:unset}.ai-banner h2,.studio-hero h2,.classroom-hero h2,.simhub-hero h2{font-size:23px}.ai-sphere{width:83px;height:83px;margin:0 0 0 8px}.ai-sphere:before,.ai-sphere:after{inset:12px}.ai-sphere span{width:8px;height:8px}.studio-visual,.simhub-art{width:110px;height:125px;transform:scale(.55);transform-origin:center right;margin-left:-25px;margin-right:-35px}.studio-core{left:101px;top:78px}.classroom-illustration{width:100px;transform:scale(.58);transform-origin:center right;margin-right:-35px;margin-left:-20px}.lab-atom{width:74px;height:74px;margin-right:0}.lab-atom:before,.lab-atom:after{inset:12px}.lab-atom span{inset:28px}.studio-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.studio-tool{min-height:132px;padding:11px}.gap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-grid,.class-lesson-grid,.flash-preview{grid-template-columns:1fr}.mini-animate{height:150px}.mindmap-branches{grid-template-columns:repeat(2,minmax(0,1fr))}.mindmap-branches:before{display:none}.mindmap-branches>div:before{display:none}.sim-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-grid{grid-template-columns:1fr}.sim-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-select{padding:9px}.sim-select b{font-size:9px}.sim-select small{font-size:7px}.class-stepper{gap:4px}.class-stepper span{font-size:8px}.class-stepper span small{font-size:6px}.class-visual{min-height:165px}.native-sim-visual{height:75px}.simhub-hero .btn,.studio-hero .btn,.classroom-hero .btn{font-size:9px}.lab-intro{padding:18px}.lab-intro h2{font-size:18px}}

.sidebar{overflow-y:auto;scrollbar-width:thin}.sidebar-bottom{padding-top:10px;background:var(--navy)}.sim-category-card.active{border-color:#58c9b7;background:linear-gradient(145deg,var(--card),#edfbf8);box-shadow:inset 0 0 0 1px rgba(43,175,154,.1)}body.dark .sim-category-card.active{background:#143b3a;border-color:#287d74}

/* Expanded native lab models */
.ns7{background:linear-gradient(135deg,#183b54,#257c91)}.ns8{background:linear-gradient(135deg,#382f5d,#8c76b8)}.ns9{background:linear-gradient(135deg,#244a59,#8b9b6a)}.ns10{background:linear-gradient(135deg,#2a394f,#c18a50)}.sim-selector-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.native-sim-card{min-height:185px}.native-sim-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(24,66,86,.1)}.sim-select:hover{transform:translateY(-2px)}@media(max-width:850px){.sim-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.sim-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.native-sim-card{min-height:165px}}

/* Guided assignment workspace */
.assignment-bank{overflow:hidden}.assignment-detail{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.assignment-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.assignment-heading h3{font-size:16px;margin:11px 0 4px}.assignment-heading p{font-size:10px;color:var(--muted)}.assignment-status{font-size:9px;font-weight:800;color:#198d7d;background:rgba(43,175,154,.1);padding:8px 10px;border-radius:999px;white-space:nowrap}.assignment-instruction{padding:15px;border-radius:13px;background:var(--paper);margin:14px 0}.assignment-instruction b{font-size:10px;color:#188b7d}.assignment-instruction p{font-size:12px;line-height:1.8;margin-top:7px}.assignment-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.rubric-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.rubric-grid b{display:block;font-size:10px}.rubric-grid small{display:block;color:var(--muted);font-size:8px;line-height:1.6;margin-top:5px}.rubric-grid ul{margin:0;padding-left:18px;font-size:9px;line-height:2;color:var(--muted)}body.dark .assignment-instruction{background:#0e1d2c}@media(max-width:560px){.assignment-heading{display:block}.assignment-status{display:inline-block;margin-top:8px}.rubric-grid{grid-template-columns:1fr}}

/* Weekly study planner */
.planner-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding:26px 30px;border-radius:19px;background:linear-gradient(112deg,#132d46,#17636d 62%,#3a8b7d);color:#f4fffd;overflow:hidden}.planner-hero h2{font-size:25px;line-height:1.12;margin:12px 0}.planner-hero h2 em{font-family:Georgia,serif;font-weight:400;color:#9bf0dc}.planner-hero p{font-size:10px;line-height:1.7;color:#c8e1e7;max-width:560px}.planner-ring{width:116px;height:116px;border:1px solid rgba(138,239,221,.55);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;box-shadow:0 0 0 10px rgba(123,227,208,.07),0 0 0 22px rgba(123,227,208,.04);background:radial-gradient(circle,rgba(123,227,208,.18),transparent 72%)}.planner-ring strong{font-size:26px}.planner-ring small{font-size:9px;color:#bde8df}.planner-target{display:flex;align-items:baseline;gap:8px;margin:10px 0}.planner-target strong{font-size:35px;letter-spacing:-1px}.planner-target span{font-size:10px;color:var(--muted)}.planner-slider{width:100%;accent-color:#2aa994;margin:8px 0 14px}.planner-week{display:grid;gap:9px}.planner-day{display:flex;align-items:flex-start;gap:14px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:14px;transition:.2s}.planner-day.done{border-color:#4bbda9;background:linear-gradient(90deg,rgba(54,183,161,.09),var(--card))}.planner-check{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:#268d7e;font-weight:900;flex:none;cursor:pointer}.planner-day.done .planner-check{background:#2da993;color:white;border-color:#2da993}.planner-day-main{flex:1;min-width:0}.planner-day-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.planner-day-top span{font:9px 'DM Mono',monospace;color:#239b8d}.planner-day-top b{font-size:11px}.planner-day-top small{margin-left:auto;color:var(--muted);font-size:8px}.planner-day p{font-size:9px;line-height:1.7;color:var(--muted);margin:7px 0}.planner-output{font-size:8px;color:var(--muted)}.planner-output b{color:#259988}@media(max-width:560px){.planner-hero{padding:19px;align-items:flex-start}.planner-hero h2{font-size:20px}.planner-ring{width:82px;height:82px}.planner-ring strong{font-size:20px}.planner-day{padding:11px;gap:9px}}

/* Interactive active-recall cards */
.flash-interactive{display:grid;gap:12px}.flash-meta{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted)}.flash-card-live{min-height:200px;border:1px solid rgba(75,190,174,.38);border-radius:18px;background:radial-gradient(circle at 80% 15%,rgba(99,231,209,.19),transparent 40%),linear-gradient(135deg,#102b42,#1b5962);color:#f5fffd;padding:25px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:16px;cursor:pointer;box-shadow:0 18px 35px rgba(16,53,73,.16);transition:transform .22s,background .22s}.flash-card-live:hover{transform:translateY(-2px)}.flash-card-live.flipped{background:radial-gradient(circle at 15% 20%,rgba(244,185,96,.17),transparent 38%),linear-gradient(135deg,#273052,#3d6172)}.flash-card-live strong{font-size:19px;line-height:1.5;max-width:800px}.flash-card-live small{font-size:9px;color:#bdd7df}.flash-side-label{font:8px 'DM Mono',monospace;letter-spacing:1px;color:#8ce6d8}.flash-nav,.flash-rating{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.flash-stats{display:flex;justify-content:center;gap:16px;font-size:9px;color:var(--muted)}body.dark .flash-card-live{border-color:#326e70}@media(max-width:560px){.flash-card-live{min-height:175px;padding:19px}.flash-card-live strong{font-size:16px}}


/* v0.4 — full website, mobile-first learning missions, AI tutor and accessible controls */
.streak-pill{border:1px solid rgba(44,173,154,.28);background:linear-gradient(135deg,#e6faf5,#fff7e8);color:#167e73;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}.streak-pill span{margin-left:4px}
.daily-quest-card{margin-top:18px;padding:22px;border-radius:22px;background:radial-gradient(circle at 90% 5%,rgba(100,225,207,.16),transparent 27%),linear-gradient(120deg,#102a42,#174e60 57%,#397c72);color:#f4fffc;box-shadow:0 16px 42px rgba(20,60,80,.13);overflow:hidden}.daily-quest-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.daily-quest-head h2{font-size:21px;line-height:1.2;margin:8px 0;color:#fff}.daily-quest-head h2 em{font-family:Georgia,serif;font-weight:400;color:#9debdc}.daily-quest-head p{max-width:650px;color:#c8e0e8;font-size:10px;line-height:1.7;margin:0}.daily-kicker{font:8px 'DM Mono',monospace;letter-spacing:1.5px;color:#8ce7d9}.quest-mascot{width:90px;height:90px;border:1px solid rgba(164,245,227,.5);border-radius:50%;display:grid;place-items:center;position:relative;flex:none;box-shadow:0 0 0 10px rgba(117,234,213,.06),0 0 0 22px rgba(117,234,213,.035);animation:questFloat 4s ease-in-out infinite}.quest-mascot span{font-size:35px;color:#a7f0df;text-shadow:0 0 22px rgba(118,255,223,.6)}.quest-mascot i,.quest-mascot b{position:absolute;width:12px;height:12px;border-radius:50%;background:#f1bd69;right:4px;top:12px;box-shadow:0 0 16px #f1bd69}.quest-mascot b{width:6px;height:6px;right:auto;left:7px;top:auto;bottom:11px;background:#9da8ff;box-shadow:0 0 14px #9da8ff}.quest-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:19px 0 12px}.quest-stats>div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1)}.quest-stats b{display:block;font-size:15px}.quest-stats small{display:block;color:#bdd9df;font-size:8px;margin-top:2px}.quest-progress{height:7px;border-radius:99px;background:rgba(255,255,255,.15);overflow:hidden}.quest-progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#72e5d3,#f3c373);transition:width .4s}.quest-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.quest-row{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);border-radius:13px;min-width:0}.quest-row.complete{background:rgba(93,216,180,.16);border-color:rgba(125,238,208,.4)}.quest-icon{font-size:19px}.quest-main{flex:1;min-width:0}.quest-main b{display:block;font-size:10px}.quest-main small{display:block;font-size:8px;line-height:1.5;color:#c1d6df;margin-top:4px}.quest-mini-track{height:5px;border-radius:99px;background:rgba(130,150,168,.2);overflow:hidden;margin-top:8px}.quest-mini-track i{display:block;height:100%;background:linear-gradient(90deg,#57ceb9,#f0bd70);border-radius:99px}.quest-reward{text-align:right;flex:none}.quest-reward b{display:block;font-size:10px;color:#9af0d9}.quest-reward small{display:block;font-size:7px;color:#bdd9df}.quest-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;font-size:9px;color:#bde6de}.mission-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:25px 28px;margin-top:16px;border-radius:20px;background:radial-gradient(circle at 80% 20%,rgba(240,184,95,.2),transparent 26%),linear-gradient(110deg,#142c45,#1d5968 60%,#427d70);color:#f4fffc}.mission-hero h2{font-size:23px;margin:12px 0 6px}.mission-hero p{font-size:10px;line-height:1.7;color:#c7dce4;max-width:500px}.mission-xp{flex:none;width:116px;height:116px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.09);box-shadow:0 0 0 9px rgba(255,255,255,.04)}.mission-xp strong{font-size:24px}.mission-xp small,.mission-xp b{font-size:8px;letter-spacing:1px;color:#c2e7df}.mission-xp b{margin-top:7px;color:#f3c776}.streak-week{margin-top:15px}.streak-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.streak-day{display:grid;justify-items:center;gap:7px;padding:11px 5px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.streak-day span{font-size:8px;color:var(--muted)}.streak-day b{font-size:19px;color:#a5b1bd}.streak-day.active{background:#e7f8f2;border-color:#a5ded1}.streak-day.active b{color:#159681}.streak-day.today{outline:2px solid rgba(37,170,148,.35)}.mission-list{display:grid;gap:10px}.mission-card{display:flex;align-items:center;gap:14px;padding:15px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.mission-card.complete{border-color:#91d8c8;background:linear-gradient(110deg,rgba(60,190,160,.08),var(--card))}.mission-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--paper);font-size:23px;flex:none}.mission-copy{flex:1;min-width:0}.mission-copy b{font-size:12px}.mission-copy p{font-size:9px;color:var(--muted);line-height:1.6;margin:4px 0}.mission-copy>small{font-size:8px;color:var(--muted)}.mission-copy .quest-mini-track{max-width:320px;margin:7px 0 4px}.mission-side{display:grid;justify-items:end;gap:8px;flex:none}.mission-side>b{color:#169582;font-size:10px}.reminder-card{display:flex;gap:14px;align-items:center;padding:17px}.reminder-art{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#fff2dc;font-size:24px;flex:none}.reminder-main{flex:1;min-width:0}.reminder-main>b{display:block;font-size:12px}.reminder-main>small{display:block;font-size:9px;color:var(--muted);line-height:1.6;margin-top:4px}.reminder-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 4px}.reminder-controls input[type=time]{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.reminder-toggle{font-size:9px;display:flex;align-items:center;gap:5px;color:var(--muted)}.reminder-toggle input{accent-color:#2aa994}.reminder-main #notificationStatus{font-size:8px;color:var(--muted)}
.ai-status-line{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}.ai-status-line b{font-size:9px;color:#e2fff7}.ai-status-line small{font-size:8px;color:#b4d5dc;overflow-wrap:anywhere}.ai-status-dot{width:8px;height:8px;border-radius:50%;background:#e4b060;box-shadow:0 0 10px rgba(228,176,96,.5)}.ai-status-dot.connected{background:#61e1b9;box-shadow:0 0 10px #61e1b9}.ai-connection-box{margin-top:15px;padding:14px;border-radius:13px;background:var(--paper);border:1px solid var(--line)}.ai-connection-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-connection-head b{font-size:10px}.ai-connection-box>p{font-size:8px;line-height:1.7;color:var(--muted);margin:8px 0}.ai-config-form{display:grid;gap:7px}.field-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:var(--card);color:var(--ink);font-size:10px;outline:0}.field-input:focus,.ai-message-row textarea:focus{border-color:#65cabb;box-shadow:0 0 0 3px rgba(55,184,164,.1)}.ai-setup-details{border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:9px;color:var(--muted)}.ai-setup-details summary{cursor:pointer;font-weight:800;color:#1c9684}.ai-setup-details ol{padding-left:18px;line-height:1.8}.ai-setup-details a{color:#1b9a88}.ai-chat-shell .chat-log{max-height:440px;min-height:210px}.chat-bubble{font-size:11px;max-width:92%;white-space:normal}.chat-bubble.assistant{white-space:normal}.chat-bubble.assistant br{content:"";display:block;margin:5px 0}.ai-chat-form{display:block}.ai-input-tools{display:flex;align-items:center;gap:9px;margin-bottom:8px}.attach-btn{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:9px;color:#1b9586;background:var(--paper)}.attachment-name{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-message-row{display:flex;align-items:flex-end;gap:9px}.ai-message-row textarea{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font:10px Manrope,sans-serif;color:var(--ink);background:var(--card);resize:vertical;outline:0}.ai-message-row button{min-height:41px}.ai-input-hint{font-size:8px;color:var(--muted);margin-top:6px}.typing-dots{display:inline-flex;gap:3px;vertical-align:middle}.typing-dots i{width:5px;height:5px;border-radius:50%;background:#2aa994;animation:typing 1s infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.attachment-tag{display:block;margin-top:6px;color:#b7d7df}.source-note{overflow-wrap:anywhere}@keyframes questFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-7px) rotate(4deg)}}@keyframes typing{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
body.dark .ai-connection-box{background:#0e1d2c;border-color:var(--line)}body.dark .daily-quest-card,body.dark .mission-hero{color:#f4fffc}body.dark .streak-day{background:#132437;border-color:var(--line)}body.dark .streak-day.active{background:#143b36;border-color:#287d74}body.dark .reminder-art{background:#493a25}
@media(max-width:850px){.streak-pill span{display:none}.streak-pill{padding:8px 10px}.quest-list{grid-template-columns:1fr}.mission-hero{padding:21px}.mission-xp{width:95px;height:95px}}
@media(max-width:560px){.daily-quest-card{padding:17px;border-radius:18px}.daily-quest-head h2{font-size:17px;max-width:290px}.daily-quest-head p{font-size:9px}.quest-mascot{width:58px;height:58px}.quest-mascot span{font-size:24px}.quest-mascot i{width:8px;height:8px}.quest-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.quest-stats>div{padding:8px 10px}.quest-footer{align-items:flex-start;flex-direction:column}.mission-hero{padding:18px;gap:8px}.mission-hero h2{font-size:18px}.mission-xp{width:76px;height:76px}.mission-xp strong{font-size:18px}.mission-xp small,.mission-xp b{font-size:6px}.streak-strip{gap:4px}.streak-day{padding:8px 2px}.streak-day span{font-size:7px}.streak-day b{font-size:16px}.mission-card{gap:9px;padding:11px}.mission-icon{width:38px;height:38px;font-size:19px}.mission-copy b{font-size:10px}.mission-copy p{font-size:8px}.mission-side .btn{padding:7px 9px;font-size:8px}.reminder-card{align-items:flex-start;padding:13px}.reminder-controls{gap:6px}.reminder-controls .btn{padding:8px 9px;font-size:8px}.ai-message-row{align-items:stretch}.ai-message-row button{font-size:9px;padding:9px}.ai-input-hint{line-height:1.5}.ai-banner{min-height:auto}.streak-pill{font-size:9px}}

/* v0.6 visual polish: accessible, tactile, and mobile-first */
:root{scroll-padding-top:86px}
button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(49,184,164,.42);outline-offset:3px}
.card,.chapter-card,.resource-card,.semester-card,.stage-card,.mode-card,.sim-tab,.mission-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.card:hover{border-color:rgba(56,184,164,.27)}
.hero{isolation:isolate}
.hero:after{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:20%;bottom:-170px;border-radius:50%;background:rgba(66,207,184,.14);filter:blur(30px);pointer-events:none}
.hero-art{filter:drop-shadow(0 8px 24px rgba(62,203,184,.12))}
.btn:active,.icon-btn:active,.nav-item:active{transform:scale(.98)}
.mode-card:hover,.sim-tab:hover,.resource-card:hover{border-color:rgba(58,190,170,.55)}
.chat-bubble.assistant{line-height:1.8;overflow-wrap:anywhere}
.chat-bubble.assistant br{margin:7px 0}
.field-input,textarea,select{max-width:100%}
.daily-quest-card,.mission-hero,.focus-room{position:relative;isolation:isolate}
.quest-progress span,.quest-mini-track i,.focus-progress span{will-change:width}
.mobile-nav{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
@media(max-width:560px){
  .hero{grid-template-columns:1fr;min-height:0;padding:23px 20px;border-radius:20px;gap:4px}
  .hero h1{font-size:25px;max-width:100%}
  .hero-art{min-height:140px;max-height:150px}
  .hero-art svg{max-width:235px;max-height:150px}
  .hero-stats{gap:12px;flex-wrap:wrap}
  .page-title{font-size:22px}
  .section-head{align-items:flex-start;flex-direction:column;gap:8px;margin:22px 0 12px}
  .card.pad{padding:15px}
  .chapter-grid{grid-template-columns:1fr}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .lesson-continue{grid-template-columns:100px minmax(0,1fr)}
  .lesson-body{padding:13px}
  .top-actions{gap:6px}
  .breadcrumb{font-size:9px;gap:6px}
  .mobile-nav button{min-width:0}
  .mobile-nav button small{font-size:8px}
}
@media(max-width:380px){
  .content{padding-left:12px;padding-right:12px}
  .topbar{padding-left:11px;padding-right:11px}
  .breadcrumb span,.breadcrumb i{display:none}
  .mobile-nav{padding-left:3px;padding-right:3px}
  .mobile-nav button span{font-size:16px}
  .mobile-nav button small{font-size:7px}
  .mission-card{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(max-width:850px){.mobile-nav button{width:auto;flex:1;min-width:0}}


/* v0.7 — graphite physics laboratory theme, inspired by the user's horizontal-spring reference */
:root{--ink:#e9edf0;--muted:#9ba5ad;--paper:#111315;--card:#202326;--line:#3a4046;--navy:#07090b;--navy2:#171b1f;--teal:#438ff0;--teal-soft:#142e49;--violet:#6f88c8;--amber:#ddb36b;--rose:#e56b63;--shadow:0 18px 45px rgba(0,0,0,.28);--radius:18px}
body{background:radial-gradient(ellipse at 76% -12%,rgba(255,255,255,.07),transparent 31%),linear-gradient(135deg,#111315,#080a0c 72%);color:#e9edf0}
body.dark{--paper:#111315;--card:#202326;--ink:#e9edf0;--muted:#9ba5ad;--line:#3a4046;--shadow:0 18px 45px rgba(0,0,0,.28)}
body.dark .topbar{background:rgba(10,12,14,.91);border-color:#343a40}
.sidebar{background:linear-gradient(180deg,#080a0c,#15191d 60%,#080a0c);border-right:1px solid #333a40}
.brand-mark{background:linear-gradient(145deg,#2f3439,#121619);border:1px solid #50575e;color:#65aaff}
.nav-item.active{background:linear-gradient(100deg,rgba(65,145,242,.2),rgba(255,255,255,.035));box-shadow:inset 3px 0 #438ff0}
.nav-icon{color:#6daeff}
.topbar{background:rgba(10,12,14,.92);border-color:#343a40;color:#e9edf0}
.breadcrumb b{color:#e9edf0}.breadcrumb{color:#909ba3}
.search-box,body.dark .search-box,body.dark .icon-btn{background:linear-gradient(145deg,#262b2f,#181b1e);border-color:#495158;color:#c1c9cf}
.search-box input{color:#eaf0f3}.icon-btn{background:#202428;color:#eaf0f3;border-color:#515960}
.card,.chapter-card,.resource-card,.semester-card,.stage-card,.mode-card,.sim-tab,.mission-card{background:linear-gradient(145deg,#25292d,#191c1f);border-color:#41484e;box-shadow:0 12px 28px rgba(0,0,0,.24)}
body.dark .stage-card,body.dark .semester-card,body.dark .chapter-card,body.dark .resource-card,body.dark .sim-tab,body.dark .answer-option,body.dark .book-card{background:linear-gradient(145deg,#252a2e,#181b1e);color:#e7edf1;border-color:#41484e}
.card:hover,.resource-card:hover{border-color:#5787b7;box-shadow:0 16px 34px rgba(0,0,0,.32)}
.page-title{color:#f1f4f6;letter-spacing:-.04em}.page-subtitle{color:#aab4bc}
.hero{background:radial-gradient(circle at 75% 8%,rgba(167,182,194,.21),transparent 30%),linear-gradient(115deg,#252a2e 0%,#111518 58%,#080a0c 100%);border:1px solid #4b535a;box-shadow:inset 0 1px rgba(255,255,255,.09),0 24px 60px rgba(0,0,0,.32)}
.hero h1{color:#f2f5f7}.hero p{color:#bdc6cd}.hero-stats{color:#e5ebef}.hero-art{filter:drop-shadow(0 14px 30px rgba(45,126,230,.22))}
.hero:after{background:rgba(73,144,235,.13)}
.btn{background:linear-gradient(180deg,#4a96f4,#246fca);border:1px solid #70b0fb;color:#fff;box-shadow:0 8px 18px rgba(23,97,186,.25)}
.btn:hover{filter:brightness(1.08)}.btn.secondary{background:linear-gradient(145deg,#3c4248,#24292e);border-color:#59636c;color:#f0f4f6;box-shadow:none}.btn.outline{background:transparent;border:1px solid #68737b;color:#c9d1d7;box-shadow:none}.btn.teal{background:linear-gradient(180deg,#4b99f4,#216fcf);border-color:#70b1fa}
.pill.teal,.library-tag.free{background:rgba(66,145,237,.16);color:#8fc3ff;border-color:rgba(92,160,244,.28)}
.progress-track{background:#343b41}.progress-track>span{background:linear-gradient(90deg,#3988ec,#75b4ff)}
.metric{background:linear-gradient(145deg,#252a2e,#15191c);border:1px solid #454d54;color:#e8edf0}.metric small{color:#a6b1b9}.metric b{color:#e8eef3}
.field-input,textarea,select,.field-select,.field-textarea{background:#121619!important;color:#e8edf0!important;border:1px solid #4a535a!important}
body.dark .assignment-instruction,body.dark .studio-current,body.dark .mindmap-wrap,body.dark .mindmap-branches>div,body.dark .studio-prompt-box,body.dark .teachback-box,body.dark .oral-exam-box,body.dark .podcast-box,body.dark .flash-preview>div:first-child,body.dark .class-meta,body.dark .class-concept{background:#151a1e;border-color:#3c444a}
body.dark .formula-box{background:#080b0d;border:1px solid #3f474e}
body.dark .streak-day{background:linear-gradient(145deg,#282d31,#191d20);border-color:#434b51}body.dark .streak-day.active{background:rgba(55,141,226,.18);border-color:#477eae}body.dark .streak-day.active b{color:#a4ceff}
.daily-quest-card,.mission-hero,.planner-hero,.focus-room{background:radial-gradient(circle at 83% 12%,rgba(90,159,239,.22),transparent 28%),linear-gradient(110deg,#292e33,#151a1e 58%,#090c0f)!important;border:1px solid #515a62;box-shadow:inset 0 1px rgba(255,255,255,.08),0 20px 40px rgba(0,0,0,.3)}
.footer{color:#8e9aa3;border-color:#30373d}
.lesson-art,.feature-card,.lab-intro{background:linear-gradient(145deg,#2a3035,#121619)!important;border:1px solid #46515a}
.sim-canvas-wrap{background:linear-gradient(180deg,#15191c,#090b0d);border:1px solid #505960;border-radius:14px;overflow:hidden}
.sim-stage,.sim-controls{background:linear-gradient(145deg,#282d31,#161a1d)!important;border:1px solid #485057}
.control-row output{color:#a7cfff}.control-row input[type=range]{accent-color:#478fed}
.library-hero{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:20px;min-height:280px;padding:clamp(22px,4vw,42px);overflow:hidden;border-radius:22px;border:1px solid #59636b;background:radial-gradient(circle at 70% 18%,rgba(255,255,255,.19),transparent 27%),linear-gradient(125deg,#32383d,#151a1e 53%,#080b0d);box-shadow:inset 0 1px rgba(255,255,255,.12),0 22px 48px rgba(0,0,0,.32)}
.library-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.03;letter-spacing:-.06em;margin:14px 0;color:#f1f5f7}.library-hero h1 span{color:#6caeff}.library-hero p{max-width:650px;color:#c1c9cf;line-height:1.8;font-size:12px}.library-hero-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:22px}.library-hero-meta{font-size:9px;color:#aeb8c0}.library-hero-art{position:relative;min-height:200px;display:grid;place-items:center;perspective:700px}.book-orbit{position:absolute;border:1px solid rgba(160,194,226,.22);border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:300px;height:125px}.orbit-two{width:240px;height:190px;transform:rotate(42deg)}.book-stack{position:relative;width:148px;height:185px;transform:rotateY(-20deg) rotateZ(-7deg);transform-style:preserve-3d;background:linear-gradient(130deg,#2675c6,#123a66 70%,#0e2c4f);border:1px solid #82b9ed;border-radius:5px 10px 10px 5px;box-shadow:20px 23px 35px rgba(0,0,0,.55),inset 8px 0 rgba(255,255,255,.13),inset -5px 0 rgba(0,0,0,.2);display:flex;flex-direction:column;justify-content:space-between;padding:18px;color:#edf6ff}.book-stack:before{content:'';position:absolute;left:-11px;top:4px;width:12px;height:calc(100% - 8px);background:linear-gradient(90deg,#d5dce1,#6a737a);transform:skewY(-4deg);border-radius:4px 0 0 4px}.book-stack i{position:absolute;left:13px;right:11px;height:1px;background:rgba(255,255,255,.3)}.book-stack i:nth-child(1){top:29px}.book-stack i:nth-child(2){bottom:36px}.book-stack b{font-size:22px;line-height:1.05;letter-spacing:1px;text-shadow:0 3px 7px rgba(0,0,0,.4)}.book-stack:after{content:'∑  ∇  ∫  ℏ';font:12px 'DM Mono',monospace;color:#9bcbff;letter-spacing:2px}.book-spark{position:absolute;color:#a6d2ff;font-size:26px;animation:bookFloat 4s ease-in-out infinite}.spark-one{top:12%;right:10%}.spark-two{bottom:13%;left:12%;animation-delay:1.5s}@keyframes bookFloat{50%{transform:translateY(-8px) rotate(12deg);opacity:.65}}
.library-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 8px}.library-stats>div{padding:14px;border:1px solid #454d53;border-radius:13px;background:linear-gradient(145deg,#282d31,#191d20)}.library-stats b{display:block;font-size:22px;color:#f0f4f7}.library-stats small{display:block;margin-top:4px;font:8px 'DM Mono',monospace;letter-spacing:1px;color:#9aa6af}
.library-tools{display:grid;gap:11px;margin-bottom:16px}.library-search{display:flex;align-items:center;gap:10px;max-width:460px;padding:0 13px;height:43px;border:1px solid #535d65;border-radius:11px;background:linear-gradient(145deg,#252a2e,#13171a);color:#9ba8b2}.library-search input{width:100%;background:transparent;border:0;outline:0;color:#eaf0f4;font:11px Manrope}.library-filters{display:flex;gap:7px;flex-wrap:wrap}.library-filter,.translation-tab{padding:8px 12px;border:1px solid #4a535a;border-radius:999px;background:#1c2125;color:#b7c1c8;font-size:9px;font-weight:800}.library-filter.active,.translation-tab.active{background:linear-gradient(180deg,#347dc9,#1c5590);color:white;border-color:#7bb7f3}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.library-book{overflow:hidden;min-width:0;border:1px solid #444d54;border-radius:16px;background:linear-gradient(145deg,#252a2e,#171b1e);box-shadow:0 12px 24px rgba(0,0,0,.2);transition:transform .22s,border-color .22s}.library-book:hover{transform:translateY(-3px);border-color:#568dc3}.book-cover{height:142px;position:relative;overflow:hidden;margin:12px 12px 0;padding:15px;border-radius:7px;color:white;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 5px 0 rgba(255,255,255,.11),0 8px 16px rgba(0,0,0,.28)}.book-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.14) 28.5%,transparent 29.5%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.16),transparent 34%);pointer-events:none}.cover-blue{background:linear-gradient(130deg,#2e7ecc,#0c2a4c)}.cover-steel{background:linear-gradient(135deg,#75818a,#29323a 62%,#0d1216)}.cover-violet{background:linear-gradient(130deg,#686fb4,#252c58)}.cover-amber{background:linear-gradient(130deg,#9b7848,#382d20)}.book-cover span,.book-cover small,.book-cover i,.book-cover strong{position:relative;z-index:1}.book-cover span{font:7px 'DM Mono',monospace;letter-spacing:1.6px;opacity:.8}.book-cover strong{font-size:17px;line-height:1.05;max-width:230px;letter-spacing:.6px;overflow-wrap:anywhere}.book-cover small{font-size:7px;opacity:.85}.book-cover i{font:7px 'DM Mono',monospace;font-style:normal;letter-spacing:1.4px;opacity:.65}.cover-line{position:absolute;top:0;bottom:0;left:9px;width:1px;background:rgba(255,255,255,.3)}.library-book-info{padding:14px}.library-tags{display:flex;gap:6px;flex-wrap:wrap}.library-tag{font:7px 'DM Mono',monospace;letter-spacing:.7px;padding:5px 7px;border-radius:5px;background:#30383e;color:#bbc5cc;border:1px solid #4a545c}.library-tag.paid{background:rgba(220,178,103,.1);color:#e5c88f;border-color:rgba(220,178,103,.28)}.library-book h3{font-size:13px;line-height:1.45;margin:12px 0 3px;color:#eff3f6}.book-title-id{font-size:9px!important;color:#7eb5f3!important;font-weight:800}.library-book-info>p{font-size:9px;color:#aab4bc;line-height:1.7;margin:6px 0}.book-map{padding:9px 10px;margin-top:11px;border-radius:9px;background:#14191d;border:1px solid #353e45}.book-map b{display:block;font-size:8px;color:#e2e8ec}.book-map small{display:block;margin-top:4px;font-size:8px;color:#9daab3;line-height:1.6}.book-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:11px;padding-top:10px;border-top:1px solid #394148}.book-bottom span{font-size:7px;color:#aab5bd}.book-bottom a{font-size:8px;font-weight:800;color:#86bdff;white-space:nowrap}.translation-panel{border:1px solid #49535b;border-radius:16px;background:linear-gradient(145deg,#242a2e,#151a1e);padding:16px}.translation-tabs{display:flex;gap:8px;margin-bottom:14px}.translation-volume-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.translation-volume-head h3{font-size:15px;margin:7px 0}.translation-volume-head p{font-size:10px;line-height:1.8;color:#b6c0c7;max-width:750px}.translation-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:15px}.translation-chapters>div{display:grid;grid-template-columns:28px 1fr;gap:4px 8px;padding:9px;border-radius:9px;background:#171c20;border:1px solid #343c42}.translation-chapters span{grid-row:span 2;font:9px 'DM Mono',monospace;color:#7fb5f2}.translation-chapters b{font-size:9px;color:#e8edf0}.translation-chapters small{font-size:7px;color:#8f9ba4}.translation-license{padding:11px 13px;margin-top:15px;border-left:3px solid #579ae5;background:rgba(67,143,240,.08);font-size:8px;line-height:1.8;color:#aebbc4}.translation-license b{color:#b5d8ff}.glossary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.glossary-item{padding:11px;border:1px solid #414a51;border-radius:10px;background:linear-gradient(145deg,#24292d,#181c20)}.glossary-item span{display:block;font:8px 'DM Mono',monospace;color:#9aa7b0}.glossary-item b{display:block;font-size:10px;color:#9ac8ff;margin:4px 0}.glossary-item small{display:block;color:#a5b0b8;font-size:8px;line-height:1.6}.library-note{padding:14px 16px;margin-top:20px;border:1px solid #675a3e;border-radius:13px;background:rgba(218,172,92,.07)}.library-note b{font-size:10px;color:#e2c58e}.library-note p{font-size:9px;color:#adb7bf;line-height:1.8;margin:6px 0 0}
body.dark .empty{background:#191e22;border-color:#414a50;color:#aab4bc}
@media(max-width:980px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.library-hero{grid-template-columns:1fr;min-height:auto;padding:20px}.library-hero-art{min-height:150px;max-height:160px}.book-stack{width:105px;height:135px}.book-stack b{font-size:16px}.library-stats{grid-template-columns:repeat(2,1fr)}.library-grid{grid-template-columns:1fr}.book-cover{height:160px}.translation-volume-head{display:block}.translation-volume-head .btn{margin-top:5px}.translation-chapters{grid-template-columns:1fr}.glossary-grid{grid-template-columns:1fr}.library-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.library-filter{white-space:nowrap}.library-search{max-width:none}}


/* v0.8 — dark steel laboratory finish, sampled from the user's spring-lab reference */
:root{--teal:#4a96f2;--teal-soft:#162b42;--violet:#8098bf;--amber:#d8b16f;--rose:#e46b63;--paper:#101214;--card:#202428;--ink:#eef2f5;--line:#3c444b;--navy:#07090b}
body.dark{background:radial-gradient(ellipse at 78% -12%,rgba(185,198,208,.09),transparent 29%),linear-gradient(130deg,#111416 0%,#090b0d 72%);color:#edf1f4}
body.dark .sidebar{background:linear-gradient(180deg,#07090b,#171b1f 58%,#080a0c);border-right:1px solid #3a4249}
body.dark .brand-mark{color:#70adf2;background:linear-gradient(145deg,#343a40,#121619);border-color:#5b646c}
body.dark .nav-item.active{background:linear-gradient(100deg,rgba(70,147,235,.21),rgba(255,255,255,.035));box-shadow:inset 3px 0 #529cf3}
body.dark .nav-icon,body.dark .text-link,body.dark .aside-link{color:#8fc0f4}
body.dark .btn,body.dark .btn.teal{background:linear-gradient(180deg,#4b9af5,#236fc8);border:1px solid #79b8fa;color:#fff;box-shadow:0 7px 17px rgba(25,94,173,.23)}
body.dark .btn.secondary{background:linear-gradient(145deg,#454c52,#252a2e);border:1px solid #646e76;color:#f0f4f7;box-shadow:none}
body.dark .btn.outline{background:transparent;border:1px solid #69747d;color:#d1d9df;box-shadow:none}
body.dark .pill.teal{background:rgba(67,146,238,.15);color:#9ccaff;border:1px solid rgba(98,166,245,.25)}
body.dark .eyebrow,body.dark .resource-type{color:#8ebbf0}
body.dark .hero{background:radial-gradient(circle at 78% 10%,rgba(205,216,223,.18),transparent 29%),linear-gradient(120deg,#30363b 0%,#151a1e 55%,#090c0f 100%);border:1px solid #59636b;box-shadow:inset 0 1px rgba(255,255,255,.12),0 24px 58px rgba(0,0,0,.4)}
body.dark .hero .eyebrow{color:#9dc7f5}body.dark .hero .btn{background:linear-gradient(180deg,#4b9af5,#236fc8);color:#fff}
body.dark .progress-track>span{background:linear-gradient(90deg,#2f78cc,#84bcff)}
body.dark .card,body.dark .chapter-card,body.dark .resource-card,body.dark .semester-card,body.dark .stage-card,body.dark .mode-card,body.dark .sim-tab,body.dark .mission-card{background:linear-gradient(145deg,#282d32,#171b1f);border-color:#454e56;box-shadow:0 12px 28px rgba(0,0,0,.28)}
body.dark .sim-stage{background:linear-gradient(155deg,#2c3237,#171b1f 62%,#0c0f12);border:1px solid #606a72;box-shadow:inset 0 1px rgba(255,255,255,.12),0 20px 44px rgba(0,0,0,.35)}
body.dark .sim-controls{background:linear-gradient(145deg,#2b3035,#171b1f)!important;border:1px solid #59636b!important}
body.dark .sim-canvas-wrap{height:300px;background:linear-gradient(180deg,#25292d,#080a0c);border-color:#5d666d;box-shadow:inset 0 1px rgba(255,255,255,.12),0 12px 28px rgba(0,0,0,.35)}
body.dark .control-row label{color:#c5cdd3}body.dark .control-row output{color:#a8cefb}body.dark .control-row input[type=range]{accent-color:#5ca3f4}
body.dark .metric{background:linear-gradient(145deg,#252a2e,#13171a);border-color:#4a535a}body.dark .metric small{color:#9da9b2}body.dark .metric b{color:#e9eff4}
body.dark .sim-playbar span{color:#9faab2}
body.dark .daily-quest-card,body.dark .mission-hero,body.dark .planner-hero,body.dark .focus-room{background:radial-gradient(circle at 80% 10%,rgba(79,154,241,.2),transparent 28%),linear-gradient(110deg,#30363b,#161b20 58%,#090c0f)!important;border-color:#59636b}
body.dark .streak-day.active{background:rgba(72,148,231,.18);border-color:#4e8dc9}
body.dark .quest-progress span,body.dark .quest-mini-track i,body.dark .focus-progress span{background:linear-gradient(90deg,#317bd1,#83bdff)}
body.dark .book-guide{margin-top:10px;border:1px solid #414b53;border-radius:10px;background:#151a1e;padding:10px 11px}
body.dark .book-guide summary{cursor:pointer;list-style:none;font-size:8px;font-weight:800;color:#9cc9ff;display:flex;gap:7px;align-items:center}
body.dark .book-guide summary::-webkit-details-marker{display:none}
body.dark .book-guide summary:after{content:'＋';margin-left:auto;color:#a9cfff;font-size:13px}
body.dark .book-guide[open] summary:after{content:'−'}
body.dark .book-guide p{font-size:9px;line-height:1.8;color:#c0c9d0;margin:9px 0 5px}
body.dark .book-guide small{display:block;color:#87949d;font-size:7px;line-height:1.6}
body.dark .translation-chapters>div em{grid-column:2;font-style:normal;font-size:7px;color:#91a2af;line-height:1.6;margin-top:2px}
body.dark .library-note{border-color:#5d5545;background:rgba(211,171,105,.08)}
body.dark .footer{border-color:#333b42;color:#89959e}
body.dark .notice{background:rgba(214,173,94,.08);border-color:rgba(214,173,94,.28);color:#d1bc91}
body.dark .field-input,body.dark textarea,body.dark select{background:#151a1e;border-color:#4b555d;color:#eaf0f3}
body.dark .mobile-nav{background:rgba(8,10,12,.95);border-color:#343c43;backdrop-filter:blur(18px)}
body.dark .mobile-nav button{color:#929da6}body.dark .mobile-nav button.active{color:#8fc0f4}
body.dark .toast{background:#2b343b;border:1px solid #66717a;color:#f4f7f9}
body.dark button:focus-visible,body.dark a:focus-visible,body.dark input:focus-visible,body.dark textarea:focus-visible,body.dark select:focus-visible{outline:3px solid rgba(93,165,247,.55)}
@media(max-width:850px){body.dark .sim-canvas-wrap{height:240px}.sim-stage{padding:14px}.sim-layout{gap:12px}}
@media(max-width:560px){body.dark .content{padding-left:13px;padding-right:13px}.library-hero{border-radius:17px}.sim-canvas-wrap{height:225px}.sim-stage-head{gap:10px}.sim-stage-head h3{font-size:14px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:9px}.metric b{font-size:11px}.sim-controls{padding:15px}.control-row{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.book-stack,.book-spark{animation:none!important}}


/* v1.0 — precision steel / electric-blue laboratory finish, matching the uploaded spring simulator */
body.dark .ai-banner{background:radial-gradient(circle at 78% 12%,rgba(104,168,234,.19),transparent 30%),linear-gradient(112deg,#343a40 0%,#171c20 54%,#080b0e 100%);border:1px solid #5a646d;box-shadow:inset 0 1px rgba(255,255,255,.15),0 22px 46px rgba(0,0,0,.38)}
body.dark .ai-banner h2{color:#f5f7f9}body.dark .ai-banner h2 em{color:#8fc2ff}body.dark .ai-banner p{color:#c0c9d0}
body.dark .ai-sphere{filter:drop-shadow(0 0 28px rgba(79,151,229,.27))}
body.dark .ai-connection-box{background:linear-gradient(145deg,#252d34,#151a1f);border-color:#505c66}
body.dark .ai-data-consent{display:flex;gap:10px;align-items:flex-start;padding:12px;background:#11171c;border:1px solid #414d57;border-radius:11px;margin:12px 0}
body.dark .ai-data-consent input{margin-top:3px;accent-color:#4d9af2}
body.dark .ai-data-consent b{display:block;color:#e7edf2;font-size:10px}
body.dark .ai-data-consent small{display:block;color:#9daab4;font-size:8px;line-height:1.65;margin-top:4px}
body.dark .sim-canvas-wrap{position:relative;background:linear-gradient(180deg,#262b30 0%,#0b0e11 100%);border:1px solid #626c74;box-shadow:inset 0 1px rgba(255,255,255,.16),inset 0 -18px 34px rgba(0,0,0,.36),0 14px 30px rgba(0,0,0,.38)}
body.dark .sim-stage{background:linear-gradient(145deg,#30363b 0%,#1b2024 56%,#0c1013 100%);border-color:#626c74}
body.dark .sim-stage-head h3{color:#f3f6f8;letter-spacing:-.025em}
body.dark .sim-controls{background:linear-gradient(145deg,#30363b,#171c20)!important;border-color:#5b656d!important}
body.dark .sim-check{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #4d5961;background:#151a1e;border-radius:9px;color:#d1d9df;font-size:10px}
body.dark .sim-check input{accent-color:#4a97ee}
body.dark .book-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
body.dark .book-bottom a{font-size:8px;color:#9acaff}
body.dark .book-bottom a:hover{text-decoration:underline;color:#d2e7ff}
body.dark .library-book{background:linear-gradient(145deg,#2a3035,#171b1f);border-color:#4a535b}
body.dark .library-book:hover{border-color:#6da9e9;box-shadow:0 16px 34px rgba(0,0,0,.38),0 0 0 1px rgba(90,154,224,.12)}
body.dark .translation-panel{background:linear-gradient(145deg,#272d32,#151a1e);border-color:#4c5861}
body.dark .translation-chapters>div:hover{border-color:#6398d0;background:#1b2732}
@media(max-width:560px){body.dark .book-bottom{align-items:flex-start;flex-direction:column}.book-links{justify-content:flex-start}.ai-config-form .control-actions{display:grid;grid-template-columns:1fr 1fr}.ai-config-form .control-actions .btn:first-child{grid-column:span 2}.sim-canvas-wrap{height:240px}}

body.dark .translation-attribution{margin-top:12px;padding:10px 12px;border:1px solid #49545d;border-radius:9px;background:#11171c;color:#aab6bf;font-size:8px;line-height:1.7;overflow-wrap:anywhere}body.dark .translation-attribution a{color:#9dcaff}

/* KNOWLEDGE LIBRARY v1.2 — unified source discovery, graphite visual system */
.knowledge-hero{position:relative;isolation:isolate;background:radial-gradient(circle at 78% 20%,rgba(129,153,169,.28),transparent 30%),linear-gradient(118deg,#080b0e 0%,#20272d 52%,#10161c 100%);border:1px solid #414b54;box-shadow:0 22px 54px rgba(0,0,0,.38)}
.knowledge-hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.27;background:linear-gradient(115deg,transparent 48%,rgba(219,231,238,.11) 49%,transparent 50%),radial-gradient(ellipse at 80% 10%,rgba(255,255,255,.19),transparent 30%);pointer-events:none}
.knowledge-hero .library-hero-copy h1{letter-spacing:-1.6px}.knowledge-hero .library-hero-copy h1 span{color:#8fc4ff;text-shadow:0 0 28px rgba(100,167,230,.23)}
.library-integration-banner{margin:16px 0;padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #43515d;border-radius:17px;background:linear-gradient(120deg,#171e24,#252e35 55%,#111a21);box-shadow:inset 0 1px rgba(255,255,255,.07),0 16px 35px rgba(0,0,0,.18);overflow:hidden;position:relative}
.library-integration-banner:after{content:"";position:absolute;width:240px;height:240px;right:2%;top:-145px;border:1px solid rgba(137,190,237,.2);border-radius:50%;box-shadow:0 0 0 26px rgba(137,190,237,.035),0 0 0 54px rgba(137,190,237,.025)}
.library-integration-banner h2{font-size:19px;color:#f2f6f8;margin:7px 0}.library-integration-banner p{font-size:10px;line-height:1.8;color:#b4c1ca;max-width:760px;margin:0}.library-ai-mark{z-index:1;flex:none;width:70px;height:70px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#263f55,#10283d);border:1px solid #5e8bb4;color:#b9ddff;font:900 24px 'DM Mono',monospace;box-shadow:0 0 28px rgba(96,163,224,.15)}.library-ai-mark span{font-size:12px;color:#70d9cb}
.library-result-count{font:9px 'DM Mono',monospace;letter-spacing:.7px;color:#8ca4b4;margin:-5px 0 12px}.knowledge-grid{align-items:stretch}.knowledge-card{min-width:0}.research-source-card{display:flex;flex-direction:column;gap:8px;background:linear-gradient(145deg,#252c31,#14191e);border:1px solid #424d56;border-radius:15px;padding:15px;box-shadow:0 12px 24px rgba(0,0,0,.2);transition:transform .2s,border-color .2s,box-shadow .2s}.research-source-card:hover{transform:translateY(-3px);border-color:#79aee0;box-shadow:0 18px 36px rgba(0,0,0,.3)}.research-source-card h3{font-size:13px;line-height:1.45;color:#eef4f8;margin:3px 0}.research-source-card>p{font-size:9px;line-height:1.7;color:#aebbc4;margin:0}.research-source-card .book-map{margin-top:2px}.research-source-card .book-bottom{margin-top:auto}.research-source-card .book-bottom a{font-size:8px}.source-searches{display:flex;flex-wrap:wrap;gap:7px}.source-searches .text-link{padding:6px 8px;border:1px solid #445362;border-radius:8px;background:#1b242c;font-size:8px}.ask-library-btn{width:100%;margin-top:9px;justify-content:center}.library-license{margin-top:10px;padding:9px 10px;border:1px solid #3f4a53;border-radius:9px;background:rgba(8,13,17,.42)}.library-license b{display:block;font-size:8px;color:#b7d7f4;letter-spacing:.45px}.library-license small{display:block;margin-top:4px;font-size:7px;line-height:1.65;color:#9baab5}.library-ai-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 16px;padding:14px 16px;border:1px solid #56738d;border-radius:13px;background:linear-gradient(110deg,#192a38,#202b32)}.library-ai-context>div{display:grid;gap:4px;min-width:0}.library-ai-context b{font-size:12px;color:#e8f3fc}.library-ai-context small{font-size:8px;color:#aabac7;line-height:1.65}.library-ai-context a{font-size:8px;color:#9dccff}.writing-guide-card{display:flex;flex-direction:column;gap:8px}.writing-guide-card p{flex:1}.writing-guide-card .btn{justify-content:center}
.knowledge-filter.active{background:linear-gradient(180deg,#3f87ca,#1a5587)!important;border-color:#7eb9ef!important;color:white!important}
body:not(.dark) .knowledge-hero{background:linear-gradient(120deg,#151c22,#303c45 55%,#19222a);color:#f5f8fa}.library-result-count{color:var(--muted)}
@media(max-width:650px){.library-integration-banner{padding:16px;align-items:flex-start}.library-integration-banner h2{font-size:16px}.library-ai-mark{width:48px;height:48px;border-radius:14px;font-size:17px}.library-ai-context{align-items:flex-start;flex-direction:column}.library-ai-context .btn{width:100%}.research-source-card{padding:13px}}


/* v1.2 · Graphite Knowledge Archive refinements, inspired by the uploaded horizontal-spring lab UI. */
.knowledge-hero{min-height:260px;border-radius:18px;background:radial-gradient(ellipse at 76% 5%,rgba(221,232,240,.18),transparent 34%),linear-gradient(115deg,#060809 0%,#252b30 48%,#101519 100%);border-color:#59636b;box-shadow:0 20px 46px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.08)}
.knowledge-hero .library-hero-copy h1{font-size:clamp(32px,4vw,50px);line-height:.98;letter-spacing:-2px}
.knowledge-hero .library-hero-copy p{max-width:680px;color:#c5cdd2;font-size:11px;line-height:1.85}
.knowledge-hero .library-hero-meta{color:#a8b4bd}
.library-book{border-color:#3f494f;background:linear-gradient(155deg,#2a3034 0%,#171b1e 60%,#101315 100%);box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.035)}
.library-book:hover{border-color:#78b9f4;box-shadow:0 17px 38px rgba(0,0,0,.36),0 0 24px rgba(78,153,222,.12)}
.library-book .book-cover{border:1px solid rgba(255,255,255,.18);box-shadow:inset 6px 0 rgba(255,255,255,.10),inset 0 -24px 50px rgba(0,0,0,.18),0 8px 18px rgba(0,0,0,.34)}
.library-biblio{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 8px}.library-biblio span{font:7px 'DM Mono',monospace;color:#aebbc4;padding:4px 6px;border:1px solid #46515a;border-radius:5px;background:rgba(9,13,16,.48)}
.library-integration-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #4d5a63;border-radius:14px;background:linear-gradient(110deg,rgba(116,135,148,.17),rgba(37,73,105,.15)),linear-gradient(145deg,#20262a,#111619);box-shadow:inset 0 1px rgba(255,255,255,.05)}
.library-integration-strip b{display:block;font-size:14px;color:#eef4f7;margin:5px 0}.library-integration-strip p{margin:0;color:#aebac2;font-size:9px;line-height:1.8;max-width:780px}.library-integration-actions{display:flex;flex-wrap:wrap;gap:7px;flex-shrink:0}
.library-book-info .book-guide{border-color:#3d4850;background:#171c20}.library-book-info .book-guide summary{color:#9dcaff}.library-book-info .book-guide p{font-size:9px;line-height:1.8;color:#c0cad1}.library-license{background:rgba(8,12,15,.48);border:1px solid #39434a;border-radius:8px;padding:9px}.library-license b{color:#d8e1e7}.library-license small{color:#9facb5}
.research-source-card{background:linear-gradient(145deg,#262d32,#14191d);border-color:#414c54}.research-source-card:hover{border-color:#76b8f3;transform:translateY(-2px)}
.writing-guide-card{background:linear-gradient(145deg,#272e33,#151a1e);border:1px solid #424d55;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.writing-guide-card .btn{margin:5px 5px 0 0}
.knowledge-filter{border-color:#47535c;background:#1b2125;color:#b8c4cb}.knowledge-filter.active{background:#263f56;border-color:#79b9f2;color:#dceeff;box-shadow:0 0 0 1px rgba(103,173,236,.13)}
.library-stats>div{background:linear-gradient(145deg,#252c31,#14191c);border:1px solid #414c53;border-radius:10px;padding:12px;box-shadow:inset 0 1px rgba(255,255,255,.04)}
@media(max-width:650px){.library-integration-strip{display:block;padding:14px}.library-integration-actions{margin-top:12px}.library-integration-actions .btn{flex:1;justify-content:center}.knowledge-hero{border-radius:13px}.library-stats{gap:7px}.library-stats>div{padding:10px}}


/* v1.3 · Knowledge Library detail and license clarity */
.library-ai-restriction{display:flex;align-items:center;gap:7px;margin:8px 0;padding:8px 9px;border:1px solid rgba(210,158,76,.48);border-radius:8px;background:linear-gradient(105deg,rgba(104,75,31,.28),rgba(24,27,29,.7));color:#e5bf7d;font:700 7px 'DM Mono',monospace;letter-spacing:.48px;line-height:1.55}
.library-ai-restriction:before{content:'⚑';font-size:11px;color:#e7bb69}
.library-book{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.library-book:hover{transform:translateY(-3px)}
.library-book .book-cover strong{overflow-wrap:anywhere}
.library-integration-banner{backdrop-filter:blur(12px)}
.library-biblio span{overflow-wrap:anywhere}
.library-license small{overflow-wrap:anywhere}
.translation-license{border-color:rgba(214,170,99,.42)!important;background:rgba(76,55,28,.2)!important;color:#dbc69f!important}
@media(max-width:560px){.library-ai-restriction{font-size:7px}.library-book:hover{transform:none}}

/* v1.4 — Master Book adaptive curriculum + game-like practice */
.curriculum-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:18px;padding:26px 28px;margin:12px 0 22px;border:1px solid #3d4852;border-radius:22px;overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(71,143,210,.24),transparent 38%),linear-gradient(135deg,#252b30,#12171c 70%);color:#edf5fb;box-shadow:0 18px 42px rgba(0,0,0,.25)}
.curriculum-hero .page-title{color:#f4f8fb;margin:10px 0 8px;font-size:clamp(24px,3vw,34px)}.curriculum-hero .page-subtitle{max-width:720px;color:#aebdca;line-height:1.75}.curriculum-orbit{max-width:220px;opacity:.9}.curriculum-orbit svg{width:100%;filter:drop-shadow(0 0 18px rgba(81,159,230,.18))}.curriculum-hero-stats{display:flex;gap:24px;margin-top:18px}.curriculum-hero-stats div{display:grid;gap:3px}.curriculum-hero-stats b{font:700 20px 'DM Mono',monospace;color:#91c5ff}.curriculum-hero-stats small{font-size:9px;color:#9aabba}.curriculum-stage-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0 26px}.curriculum-stage-row .stage-card{min-width:0;cursor:pointer;text-align:left}.curriculum-stage-row .stage-card.active{border-color:#75b8f4;box-shadow:0 0 0 1px rgba(117,184,244,.18),0 12px 25px rgba(31,106,175,.12)}
.semester-tabs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:14px 0 22px}.semester-tab{border:1px solid #3c454d;border-radius:13px;padding:11px 8px;background:linear-gradient(145deg,#252a2e,#181b1e);color:#cad5de;display:grid;gap:3px;text-align:left;cursor:pointer;min-width:0;transition:.2s}.semester-tab small{font:8px 'DM Mono',monospace;color:#8295a5}.semester-tab b{font:700 19px 'DM Mono',monospace;color:#89bbf1}.semester-tab span{font-size:8px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a9b4be}.semester-tab.active{border-color:#78baf4;background:linear-gradient(145deg,#18334a,#17232c);box-shadow:0 0 0 1px rgba(113,179,237,.15)}
.curriculum-semester-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;margin:5px 0 15px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(110deg,rgba(74,145,209,.09),rgba(48,204,181,.035))}.curriculum-semester-head h2{margin:5px 0;font-size:19px}.curriculum-semester-head p{font-size:10px;line-height:1.6;color:var(--muted);margin:0;max-width:700px}.semester-progress-ring{--progress:0deg;width:76px;height:76px;flex:none;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(#65b5ef var(--progress),#343d45 0);position:relative}.semester-progress-ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#1c2329}.semester-progress-ring strong,.semester-progress-ring small{position:relative;z-index:1}.semester-progress-ring strong{font:700 17px 'DM Mono',monospace;color:#a5d2ff}.semester-progress-ring small{font-size:7px;color:#9faebb}
.curriculum-two-col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px}.curriculum-path-panel{padding:16px;border:1px solid #3a444d;border-radius:18px;background:linear-gradient(145deg,#23292e,#15191d);min-width:0}.path-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.path-panel-head b{display:block;font-size:12px;color:#edf3f8}.path-panel-head small{display:block;font-size:9px;color:#96a5b1;margin-top:4px}.curriculum-path{display:grid;gap:8px;position:relative}.curriculum-node{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;border:1px solid #39434b;border-radius:14px;background:linear-gradient(135deg,#20262b,#181c20);color:#dce5ec;cursor:pointer;transition:transform .18s,border-color .18s,background .18s}.curriculum-node:hover{transform:translateY(-2px);border-color:#6e9cc5}.node-marker{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#303941;color:#9fb2c2;font:700 10px 'DM Mono',monospace}.curriculum-node.is-current{border-color:#72b8f5;background:linear-gradient(110deg,rgba(64,137,203,.18),#1d252b)}.curriculum-node.is-current .node-marker{background:#2e6087;color:#e2f2ff}.curriculum-node.is-done .node-marker{background:#174f49;color:#8de5d5}.node-copy{display:grid;gap:4px;min-width:0}.node-copy small{font:8px 'DM Mono',monospace;color:#80a7c7;text-transform:uppercase;letter-spacing:.04em}.node-copy b{font-size:10px;line-height:1.45;color:#edf3f8}.node-copy em{font-style:normal;font-size:9px;line-height:1.5;color:#a0afbb}.node-copy .node-meta{font-size:8px;color:#7f909d}.node-status{font-size:8px;font-weight:800;white-space:nowrap;color:#90bfe8}.curriculum-node.is-done .node-status{color:#83d8c8}.curriculum-side-panels{display:grid;align-content:start;gap:12px}.curriculum-side-panels .card{background:linear-gradient(145deg,#252b30,#191e22);border-color:#3b454d;color:#e1eaf0}.curriculum-side-panels h3{font-size:12px;color:#edf4f8}.curriculum-side-panels p{font-size:9px;line-height:1.7;color:#aab7c2}.curriculum-side-panels .lesson-section{border-color:#3c454d}.curriculum-side-panels .notice{background:rgba(218,171,90,.09);border-color:rgba(218,171,90,.24);color:#d8be8d}.competency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:17px;border:1px solid #3b454d;background:linear-gradient(145deg,#242a2f,#181c20);border-radius:18px}.skill-meter{display:grid;gap:7px}.skill-meter>div{display:flex;justify-content:space-between;gap:10px}.skill-meter b{font-size:9px;color:#e5edf4}.skill-meter small{font-size:8px;color:#8fa0ae}.skill-meter>span{height:7px;background:#343d44;border-radius:99px;overflow:hidden}.skill-meter i{height:100%;display:block;border-radius:99px;background:linear-gradient(90deg,#448dd0,#64d7c7)}
.duo-launch-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 21px;margin:16px 0 20px;border:1px solid #3c4a55;border-radius:18px;background:radial-gradient(circle at 90% 0,rgba(66,146,219,.19),transparent 40%),linear-gradient(135deg,#252b30,#161b1f);color:#eaf2f8}.duo-launch-card h2{font-size:17px;margin:6px 0;color:#f1f6fb}.duo-launch-card p{font-size:9px;line-height:1.6;color:#9eafbd;margin:0;max-width:640px}.duo-launch-card .btn{flex:none}.duo-session-wrap{max-width:760px;margin:0 auto;padding:12px 0 35px}.duo-topline{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:14px;align-items:center}.duo-exit{width:34px;height:34px;border:1px solid #3b454d;border-radius:50%;background:#22282d;color:#b3c1cc;font-size:16px;cursor:pointer}.duo-progress{height:10px;border-radius:99px;background:#303a42;overflow:hidden}.duo-progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5ca9eb,#61d8c6);transition:width .25s}.duo-hearts{font-size:15px;white-space:nowrap;color:#ee7a85}.duo-hearts i{font-style:normal;color:#66727d}.duo-session-meta{display:flex;justify-content:space-between;gap:10px;margin:29px 0 13px;font:9px 'DM Mono',monospace;color:#8ba0b0}.duo-session-meta b{color:#9bc9f5}.duo-question-card{padding:22px;border:1px solid #3b4853;border-radius:20px;background:linear-gradient(145deg,#252b30,#171c20);box-shadow:0 18px 40px rgba(0,0,0,.22)}.duo-question-card h2{font-size:18px;line-height:1.55;margin:14px 0 20px;color:#f0f5f8}.duo-options{display:grid;gap:9px}.duo-option{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:12px;border:1px solid #46515a;border-radius:13px;background:#1a2025;color:#dbe5eb;text-align:left;cursor:pointer;transition:.18s}.duo-option:hover,.duo-option.selected{border-color:#79b9ee;background:#203346}.duo-option>span{width:27px;height:27px;border-radius:8px;background:#303b43;color:#a8c4dc;display:grid;place-items:center;font:700 10px 'DM Mono',monospace}.duo-option b{font-size:10px;line-height:1.55;overflow-wrap:anywhere}.duo-option em{font-style:normal;color:#83e0ca}.duo-option.correct{border-color:#55c9a9;background:rgba(43,151,127,.16)}.duo-option.incorrect{border-color:#d97878;background:rgba(180,70,70,.14)}.duo-option:disabled{cursor:default;opacity:1}.duo-feedback{display:flex;align-items:flex-start;gap:12px;margin-top:13px;padding:14px 16px;border:1px solid;border-radius:15px}.duo-feedback.good{border-color:rgba(83,203,171,.42);background:rgba(50,151,127,.15);color:#a6ead7}.duo-feedback.bad{border-color:rgba(218,139,108,.42);background:rgba(164,91,65,.15);color:#f1c3a8}.duo-feedback-icon{font-size:22px;font-weight:900}.duo-feedback b{font-size:11px}.duo-feedback p{margin:5px 0 0;font-size:9px;line-height:1.7;color:#c1cbd1}.duo-bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0}.duo-bottom-actions>span{font-size:9px;color:#9aa9b6}.duo-source-note{text-align:center;color:#738595;font-size:8px;margin-top:24px}.duo-result{max-width:650px;margin:35px auto;padding:30px 22px;text-align:center;border:1px solid #3c4851;border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(80,164,225,.18),transparent 45%),linear-gradient(145deg,#242a2f,#171c20);color:#eaf2f7}.duo-result-orbit{width:90px;height:90px;margin:0 auto 15px;display:grid;place-items:center;border:1px solid #4b7895;border-radius:50%;background:#1a3142;font-size:42px;box-shadow:0 0 35px rgba(73,157,215,.15)}.duo-result h1{font-size:28px;margin:8px 0}.duo-result p{font-size:10px;color:#9eafbd}.duo-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.duo-result-stats div{padding:13px 6px;border:1px solid #3c4851;border-radius:13px;background:#1b2228}.duo-result-stats b{display:block;font:700 18px 'DM Mono',monospace;color:#9cccf4}.duo-result-stats small{font-size:8px;color:#91a2af}.duo-result-list{display:grid;gap:7px;text-align:left}.duo-result-list div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #39434c;border-radius:10px}.duo-result-list span{font-weight:900}.duo-result-list .ok{color:#69d8bd}.duo-result-list .no{color:#eb9b87}.duo-result-list b{font-size:9px;color:#dbe5ed}.duo-result-list small{font-size:8px;color:#90a0ad}.duo-result-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:20px}
@media(max-width:900px){.curriculum-two-col{grid-template-columns:1fr}.curriculum-side-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.semester-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.curriculum-stage-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.curriculum-hero{grid-template-columns:1fr;padding:19px}.curriculum-orbit{position:absolute;width:110px;right:-18px;bottom:-18px;opacity:.18}.curriculum-hero .page-subtitle{max-width:90%}.curriculum-hero-stats{gap:16px}.curriculum-hero-stats b{font-size:17px}.curriculum-stage-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.curriculum-stage-row .stage-card{min-height:92px}.semester-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.semester-tab{padding:8px 6px}.semester-tab span{font-size:7px}.curriculum-semester-head{padding:15px}.curriculum-semester-head h2{font-size:16px}.semester-progress-ring{width:64px;height:64px}.curriculum-path-panel{padding:10px}.curriculum-node{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;padding:10px}.node-marker{width:30px;height:30px}.node-copy em{font-size:8px}.node-status{font-size:7px}.curriculum-side-panels{grid-template-columns:1fr}.competency-grid{grid-template-columns:1fr;padding:13px}.duo-launch-card{display:grid;padding:16px}.duo-launch-card .btn{width:100%}.duo-question-card{padding:16px}.duo-question-card h2{font-size:15px}.duo-option{padding:10px;grid-template-columns:27px minmax(0,1fr) 16px}.duo-option b{font-size:9px}.duo-session-meta{margin:20px 0 10px}.duo-result{padding:23px 14px}.duo-result h1{font-size:23px}.duo-result-stats b{font-size:15px}.duo-bottom-actions{align-items:stretch;flex-direction:column}.duo-bottom-actions .btn{width:100%}}
.mastery-card{background:linear-gradient(145deg,#252b30,#191e22)!important;border-color:#3e4952!important;color:#e7eff5}.mastery-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mastery-head h3{margin:0;color:#edf4f8}.mastery-head>span{font:700 10px 'DM Mono',monospace;color:#91c7f5}.mastery-track{height:6px;border-radius:99px;background:#343e46;margin:12px 0 15px;overflow:hidden}.mastery-track i{display:block;height:100%;background:linear-gradient(90deg,#4b91d1,#62d8c4);border-radius:99px}.mastery-ladder{display:grid;gap:10px}.mastery-ladder label{display:grid;grid-template-columns:17px minmax(0,1fr);align-items:start;gap:9px;padding:9px 10px;border:1px solid #3c474f;border-radius:11px;background:#1c2227;cursor:pointer}.mastery-ladder input{margin:3px 0 0;accent-color:#59cdbb}.mastery-ladder b{display:block;font-size:9px;color:#dce8f0}.mastery-ladder small{display:block;margin-top:3px;font-size:8px;line-height:1.5;color:#98a8b4}.mastery-hint{display:block;margin-top:12px;font-size:8px;line-height:1.55;color:#8da0ae}

/* v1.5 · Curriculum mastery and game-loop polish */
.progress-semester-list{display:grid;gap:16px}.progress-semester-row{padding:12px 13px;border:1px solid #3d4851;border-radius:12px;background:linear-gradient(145deg,#242b30,#171c20)}.progress-semester-top,.progress-semester-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress-semester-top b{font-size:10px;color:#e6eef4}.progress-semester-top span,.progress-semester-meta{font-size:8px;color:#91a2af}.progress-semester-row .progress-track{margin:9px 0 7px}.progress-semester-meta{color:#9db1c0}.mastery-card .eyebrow{font-size:7px;color:#80a9cc;letter-spacing:.12em;margin-bottom:9px}.btn:disabled,.btn[disabled]{opacity:.43;filter:grayscale(.35);cursor:not-allowed;box-shadow:none;transform:none}.curriculum-stage-row .stage-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.curriculum-stage-row .stage-card.active{border-color:#75b7ef!important;box-shadow:0 0 0 1px rgba(117,183,239,.15),0 12px 26px rgba(0,0,0,.22)}.curriculum-semester-head .btn{margin-top:12px}.curriculum-node .node-meta{line-height:1.6}.progress-semester-row:hover{border-color:#668baa}
@media(max-width:560px){.progress-semester-top{align-items:flex-start;flex-direction:column;gap:4px}.progress-semester-meta{align-items:flex-start;flex-direction:column;gap:3px}.curriculum-semester-head>div:first-child{min-width:0}.curriculum-semester-head .btn{width:100%;justify-content:center}.duo-option b{overflow-wrap:anywhere}}
.lesson-curriculum-context{margin:16px 0;padding:15px;border:1px solid #4a5965;border-radius:14px;background:linear-gradient(135deg,rgba(78,133,180,.14),rgba(22,29,35,.96));box-shadow:inset 0 1px rgba(255,255,255,.05)}.curriculum-context-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);gap:13px}.curriculum-context-grid>div{display:grid;align-content:start;gap:6px;min-width:0}.curriculum-context-grid .eyebrow{font-size:7px;color:#8dbde4;letter-spacing:.12em}.curriculum-context-grid b{font-size:11px;color:#edf5fb;line-height:1.5}.curriculum-context-grid small{font-size:8px;color:#8f9faa}.curriculum-context-grid p,.curriculum-why p{font-size:9px;line-height:1.75;color:#b7c5cf;margin:0}.curriculum-why{margin-top:12px;padding-top:11px;border-top:1px solid #3e4a54}.curriculum-why b{font-size:9px;color:#a9d3f8}.curriculum-why p{margin-top:5px}@media(max-width:560px){.curriculum-context-grid{grid-template-columns:1fr}.curriculum-context-grid>div{padding:8px 9px;border:1px solid #3b4650;border-radius:9px;background:rgba(8,12,15,.25)}}

/* v1.6 — curriculum-first learning path, semester readiness and focused review */
.path-unit{position:relative;margin:0 0 16px;padding:12px 12px 10px 15px;border:1px solid #3e4b55;border-radius:15px;background:linear-gradient(145deg,rgba(55,65,73,.45),rgba(16,21,25,.72));overflow:hidden}
.path-unit:before{content:"";position:absolute;left:29px;top:58px;bottom:20px;width:2px;background:linear-gradient(180deg,rgba(104,166,220,.58),rgba(91,214,196,.12));pointer-events:none}
.path-unit-head{display:grid;grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:14px;margin-bottom:10px;padding:2px 2px 9px;border-bottom:1px solid rgba(151,174,190,.12)}
.path-unit-head>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;min-width:0}
.path-unit-head small{grid-row:span 2;font:8px 'DM Mono',monospace;color:#80b7e9;letter-spacing:1px}
.path-unit-head b{font-size:10px;color:#e8f1f7;overflow-wrap:anywhere}
.path-unit-head em{font-style:normal;font-size:8px;color:#8fa0ad}
.path-unit-progress{height:6px;border-radius:99px;background:#343e45;overflow:hidden}
.path-unit-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#4d9ce3,#62d8c4)}
.path-unit-nodes{display:grid;gap:8px;position:relative}
.path-unit .curriculum-node{background:linear-gradient(125deg,rgba(43,51,57,.96),rgba(20,25,29,.98));border-color:#414d56;position:relative;z-index:1}
.path-unit .curriculum-node:nth-child(even){margin-left:18px;width:calc(100% - 18px)}
.path-unit .curriculum-node.is-current{box-shadow:0 0 0 1px rgba(111,181,238,.2),0 8px 22px rgba(32,105,164,.12)}
.exercise-mode-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:12px;margin:16px 0 20px}
.exercise-mode-grid .duo-launch-card{margin:0;min-height:135px}
.review-launch-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:17px;border:1px solid #45545e;border-radius:17px;background:radial-gradient(circle at 90% 8%,rgba(96,170,230,.12),transparent 43%),linear-gradient(145deg,#283035,#161c20);color:#e6eff5}
.review-launch-card h3{font-size:14px;margin:7px 0;color:#eff6fb}
.review-launch-card p{font-size:9px;line-height:1.75;color:#aab8c2;margin:0}
.review-launch-card .btn{align-self:flex-start}
.readiness-report{margin:15px 0;padding:17px;text-align:left;border:1px solid #455563;border-radius:16px;background:linear-gradient(145deg,#242e35,#171d22)}
.readiness-report h3{margin:10px 0 6px;font-size:14px;color:#ecf4f9}
.readiness-report p{font-size:10px;line-height:1.75;color:#bfccd5}
.readiness-report>small{font-size:8px;line-height:1.7;color:#8e9eaa}
.readiness-review{display:grid;gap:6px;margin-top:12px}
.readiness-review>b{font-size:9px;color:#efc58a}
.readiness-review button{padding:9px 10px;text-align:left;border:1px solid #48545d;border-radius:9px;background:#1d252b;color:#abd1f4;font-size:9px;cursor:pointer}
.readiness-success{margin-top:12px;padding:10px;border:1px solid rgba(84,194,159,.35);border-radius:9px;background:rgba(48,143,114,.12);color:#a7e5d1;font-size:9px;line-height:1.7}
.readiness-lives{font-size:10px!important;letter-spacing:-1px}
.readiness-lives b,.readiness-lives i{max-width:160px;overflow:hidden;display:block;white-space:nowrap}
body:not(.dark) .path-unit{background:linear-gradient(145deg,#f4f8fb,#e8eef3);border-color:#d0dbe3}
body:not(.dark) .path-unit-head b{color:#1b2a36}body:not(.dark) .path-unit-head em{color:#687b8a}
body:not(.dark) .path-unit .curriculum-node{background:linear-gradient(125deg,#fff,#f4f7fa);border-color:#d7e0e7;color:#1d2a34}
body:not(.dark) .review-launch-card{background:linear-gradient(145deg,#edf4f9,#e1eaf1);border-color:#cbd9e3;color:#1b2a36}
body:not(.dark) .review-launch-card h3{color:#1b2a36}body:not(.dark) .review-launch-card p{color:#596e7e}
body:not(.dark) .readiness-report{background:linear-gradient(145deg,#eef4f8,#e1eaf0);border-color:#c8d7e2}
body:not(.dark) .readiness-report h3{color:#1d2e3b}body:not(.dark) .readiness-report p{color:#405665}
@media(max-width:650px){.path-unit{padding:10px 8px 8px}.path-unit-head{grid-template-columns:minmax(0,1fr) 78px;gap:8px}.path-unit .curriculum-node:nth-child(even){margin-left:8px;width:calc(100% - 8px)}.path-unit:before{left:24px;top:53px}.path-unit .curriculum-node{grid-template-columns:30px minmax(0,1fr) auto;padding:9px 8px;gap:7px}.path-unit .node-copy b{font-size:9px}.path-unit .node-copy em{font-size:7px}.path-unit .node-meta{font-size:7px}.exercise-mode-grid{grid-template-columns:1fr}.review-launch-card .btn{width:100%}.readiness-report{padding:13px}}


/* v1.7 — curriculum-first semester map and reflective assignment rubric */
.semester-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 24px}
.semester-overview-card{display:grid;gap:9px;min-width:0;padding:14px;text-align:left;border:1px solid #3b454d;border-radius:15px;background:linear-gradient(145deg,#242b30,#171c20);color:#e6eef4;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}
.semester-overview-card:hover{transform:translateY(-2px);border-color:#79baf0}
.semester-overview-card.active{border-color:#79baf0;box-shadow:0 0 0 1px rgba(121,186,240,.2),0 12px 25px rgba(0,0,0,.2)}
.semester-overview-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.semester-overview-top small{font:8px 'DM Mono',monospace;letter-spacing:.08em;color:#8da7bb}.semester-overview-top b{font:700 14px 'DM Mono',monospace;color:#a8d3fa}
.semester-overview-card strong{font-size:11px;line-height:1.45;color:#f2f6fa}.semester-overview-meta{font-size:8px;line-height:1.5;color:#9fadb8}.semester-overview-card>i{display:block;height:6px;overflow:hidden;border-radius:99px;background:#343e46}.semester-overview-card>i em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5296d0,#6cd9c8)}.semester-overview-cta{font-size:8px;font-weight:700;color:#93c9f5}
.self-rubric-panel{margin-top:16px;padding:16px;border:1px solid #3b4852;border-radius:16px;background:linear-gradient(145deg,#202a32,#151b20);color:#e6edf4}.self-rubric-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.self-rubric-head>div{display:grid;gap:5px}.self-rubric-head .eyebrow{color:#8fc2ed}.self-rubric-head b{font-size:12px}.self-rubric-head small{font-size:8px;line-height:1.5;color:#9baab6}.self-rubric-head>strong{font:700 23px 'DM Mono',monospace;color:#8ec6fa}.self-rubric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.self-rubric-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border:1px solid #3b4650;border-radius:11px;background:rgba(255,255,255,.025)}.self-rubric-row>span{display:grid;gap:4px;min-width:0}.self-rubric-row b{font-size:9px}.self-rubric-row small{font-size:8px;line-height:1.5;color:#9caab5}.self-rubric-row .field-select{width:82px;flex:none;padding:8px;background:#222c34;border-color:#4a5863;color:#e3edf5}.self-rubric-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid #39444d}.self-rubric-footer>span{font-size:8px;line-height:1.5;color:#9baab6}
@media(max-width:1000px){.semester-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.semester-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.semester-overview-card{padding:11px}.self-rubric-list{grid-template-columns:1fr}.self-rubric-footer{align-items:flex-start;flex-direction:column}.self-rubric-footer .btn{width:100%;justify-content:center}}
