:root{--ink:#202337;--muted:#74778b;--purple:#6d4aff;--purple-2:#8c6cff;--purple-soft:#eeeaff;--blue:#377cf6;--green:#2fbf88;--amber:#f4a940;--red:#ef5c5c;--cream:#f5f4ef;--surface:#fff;--line:#e7e5df;--shadow:0 20px 60px rgba(38,33,78,.12);--radius:22px;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font);background:var(--cream)}button,a,input,textarea,select{font:inherit}button{color:inherit}.hidden{display:none!important}.btn{border:0;border-radius:12px;padding:11px 18px;font-weight:700;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--purple);color:#fff;box-shadow:0 8px 18px rgba(109,74,255,.24)}.btn-primary:hover{background:#5d3beb}.btn-secondary{background:#fff;border:1px solid var(--line)}.btn-ghost{background:transparent}.btn-large{padding:15px 22px;border-radius:14px}.brand{display:flex;align-items:center;gap:10px;font:800 21px var(--display);text-decoration:none}.brand-dark{color:var(--ink)}.brand-mark{width:36px;height:36px;border-radius:11px;background:var(--purple);display:grid;place-items:center;color:#fff;font:800 19px var(--display);transform:rotate(-4deg);box-shadow:inset -4px -5px 0 rgba(0,0,0,.08)}
.landing{background:#fbfaf7;min-height:100vh;overflow:hidden}.landing-nav{height:76px;max-width:1200px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.landing-links{display:flex;gap:32px}.landing-links a{color:#5d6071;text-decoration:none;font-weight:600;font-size:14px}.hero{max-width:1200px;min-height:660px;margin:auto;padding:80px 28px 50px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--purple);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.eyebrow span{width:23px;height:2px;background:var(--purple)}.hero h1{font:800 clamp(48px,6vw,76px)/.99 var(--display);letter-spacing:-.055em;margin:23px 0;color:#232438}.hero h1 em{color:var(--purple);font-style:normal}.hero-copy>p{font-size:19px;line-height:1.7;color:#6c6f80;max-width:570px}.hero-actions{display:flex;gap:12px;margin:31px 0}.play{width:24px;height:24px;border:1px solid #c8c7c2;border-radius:50%;display:grid;place-items:center;font-size:8px}.trust-line{display:flex;align-items:center;gap:12px;color:#77798a;font-size:13px}.avatars{display:flex}.avatars i{width:30px;height:30px;margin-left:-5px;border:2px solid #fff;border-radius:50%;font-style:normal;font-size:9px;font-weight:800;display:grid;place-items:center;color:#fff;background:#4a80cb}.avatars i:first-child{margin-left:0;background:#e18f6c}.avatars i:last-child{background:#789a76}.hero-visual{height:510px;position:relative;display:grid;place-items:center}.hero-visual:before{content:"";position:absolute;inset:30px;border-radius:50%;background:radial-gradient(circle,#ece7ff 0,rgba(236,231,255,.66) 45%,transparent 70%)}.orbit{position:absolute;border:1px solid rgba(109,74,255,.14);border-radius:50%;transform:rotate(-14deg)}.orbit-one{width:520px;height:360px}.orbit-two{width:430px;height:500px}.chat-preview{width:360px;background:#fff;border-radius:24px;box-shadow:0 35px 80px rgba(58,44,116,.18);position:relative;z-index:2;overflow:hidden;transform:rotate(1deg)}.preview-head{display:flex;align-items:center;gap:11px;padding:17px 20px;border-bottom:1px solid #efedf3}.avatar{display:grid;place-items:center;border-radius:12px}.ai-avatar{width:39px;height:39px;background:var(--purple);color:#fff;font-weight:800}.preview-head>span:nth-child(2){display:flex;flex-direction:column;flex:1}.preview-head small{font-size:11px;color:var(--muted);margin-top:2px}.online-dot{width:9px;height:9px;border-radius:50%;background:#32c68d;box-shadow:0 0 0 5px #e4f8f1}.preview-body{padding:18px;background:#faf9fd}.mini-progress{font-size:10px;display:grid;grid-template-columns:1fr auto;gap:8px;color:#6d6d80}.mini-progress i{grid-column:1/-1;height:4px;border-radius:4px;background:#e5e2ee}.mini-progress u{display:block;width:63%;height:100%;background:var(--purple);border-radius:4px}.bubble{font-size:12px;line-height:1.5;padding:12px 14px;margin:15px 0;border-radius:15px;max-width:85%}.bubble.ai{background:#fff;border:1px solid #ece9f1;border-bottom-left-radius:4px}.bubble.user{background:var(--purple);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.typing{width:48px;padding:9px 11px;border-radius:13px;background:#fff;display:flex;gap:3px}.typing i{width:5px;height:5px;border-radius:50%;background:#b5b0c2}.float-card{position:absolute;z-index:3;background:#fff;border:1px solid #eeeaf4;border-radius:15px;box-shadow:0 15px 35px rgba(51,39,99,.14);display:flex;align-items:center;gap:11px;padding:12px 15px}.float-card>span{font-size:24px}.float-card div{display:flex;flex-direction:column}.float-card small{font-size:9px;color:var(--muted)}.float-streak{top:70px;left:3px;transform:rotate(-5deg)}.float-score{right:-7px;bottom:95px;transform:rotate(5deg)}.ring-mini{width:36px;height:36px;border:4px solid #a3e1c7;border-top-color:var(--green);border-radius:50%;font-size:9px;display:grid!important;place-items:center}.float-badge{position:absolute;z-index:4;bottom:30px;left:60px;background:#25253b;color:#fff;padding:12px 16px;border-radius:12px;font-size:11px;box-shadow:0 14px 30px rgba(20,20,35,.2)}.float-badge span{color:#ffcb6e;margin-left:5px}.proof{padding:30px 28px 48px;max-width:1200px;margin:auto;text-align:center}.proof>p{font-size:12px;color:#9a9aa1;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.proof>div{display:flex;justify-content:space-around;gap:30px;padding-top:18px}.proof span{display:flex;flex-direction:column;color:#898a95;font-size:12px}.proof b{color:#333548;font:800 23px var(--display);margin-bottom:5px}.feature-section,.pricing-section{padding:110px 28px;max-width:1200px;margin:auto}.section-intro{text-align:center;max-width:720px;margin:0 auto 55px}.kicker{color:var(--purple);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.section-intro h2,.roles-section h2{font:800 clamp(34px,4vw,52px)/1.12 var(--display);letter-spacing:-.04em;margin:15px 0}.section-intro p{color:var(--muted);font-size:17px;line-height:1.6}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feature-card{background:#fff;padding:30px;border-radius:25px;border:1px solid #ebe9e4;min-height:280px;overflow:hidden;position:relative}.feature-card h3{font:800 22px var(--display);margin:17px 0 10px}.feature-card p{color:var(--muted);line-height:1.6;max-width:440px}.feature-icon{width:43px;height:43px;border-radius:13px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:20px}.feature-icon.mint{background:#e5faf2;color:var(--green)}.feature-icon.amber{background:#fff2dc;color:#d88b1d}.feature-icon.blue{background:#e8f0ff;color:var(--blue)}.purple-card{background:linear-gradient(135deg,#7150ed,#8262f0);color:#fff}.purple-card p{color:#e7e1ff}.conversation-sample{margin-top:25px;display:flex;flex-direction:column;gap:8px}.conversation-sample span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);padding:10px 12px;border-radius:12px;font-size:11px;max-width:75%}.conversation-sample span:last-child{align-self:flex-end;background:#fff;color:#4b4267}.bars{position:absolute;bottom:30px;left:30px;right:30px;display:flex;flex-direction:column;gap:12px}.bars i{height:10px;background:#eeedf1;border-radius:8px;position:relative}.bars i:after{content:"";position:absolute;inset:0;width:var(--w);background:linear-gradient(90deg,#45c896,#8be0bd);border-radius:8px}.boss-chip{position:absolute;bottom:32px;left:30px;right:30px;padding:16px;border-radius:14px;background:#fff7e9;border:1px solid #f7dfb9}.boss-chip b{float:right}.feature-wide{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.format-cloud{width:46%;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.format-cloud span{padding:12px 15px;border-radius:12px;background:#f5f3fe;color:#5b43ba;font-weight:700;font-size:13px}.roles-section{background:#24243a;color:#fff;padding:100px max(28px,calc((100vw - 1144px)/2));display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}.role-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.role-cards article{background:#303047;border:1px solid #414159;border-radius:20px;padding:25px}.role-cards article>span{font-size:26px}.role-cards h3{font:700 18px var(--display)}.role-cards p{font-size:13px;color:#b8b8c7;line-height:1.55}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:center}.pricing-grid article{background:#fff;border:1px solid #e6e3dd;border-radius:23px;padding:30px;position:relative}.pricing-grid article.recommended{border:2px solid var(--purple);transform:scale(1.04);box-shadow:var(--shadow)}.plan-tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--purple);color:#fff;padding:6px 12px;border-radius:15px;font-size:10px;text-transform:uppercase;white-space:nowrap}.pricing-grid article>small{font-weight:800;color:var(--purple)}.pricing-grid h3{font:800 35px var(--display);margin:12px 0}.pricing-grid h3 em{font:500 12px var(--font);color:var(--muted)}.pricing-grid p{color:var(--muted);font-size:13px}.pricing-grid ul{list-style:none;padding:12px 0;margin:0;min-height:150px}.pricing-grid li{padding:7px 0;font-size:13px}.pricing-grid li:before{content:'✓';color:var(--green);font-weight:900;margin-right:9px}.pricing-grid .btn{width:100%}footer{max-width:1200px;margin:auto;padding:35px 28px 60px;border-top:1px solid #e6e3df;display:flex;justify-content:space-between;align-items:center;color:#888993;font-size:12px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr;background:#f5f5f2}.sidebar{background:#25253a;color:#ddddea;position:fixed;inset:0 auto 0 0;width:245px;padding:22px 16px;display:flex;flex-direction:column;z-index:50}.side-top{display:flex;align-items:center;justify-content:space-between;padding:0 8px 23px}.brand-button{background:none;border:0;color:#fff;cursor:pointer}.sidebar .brand-mark{width:33px;height:33px}.mobile-close{display:none;background:none;border:0;color:#fff;font-size:25px}.main-nav,.side-section{display:flex;flex-direction:column;gap:4px}.main-nav button,.side-section button,.side-footer button{border:0;background:transparent;color:#b8b8c8;padding:11px 12px;border-radius:10px;text-align:left;font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:12px}.main-nav button span,.side-section button span,.side-footer button span{width:20px;text-align:center;font-size:17px}.main-nav button.active,.main-nav button:hover,.side-section button:hover,.side-footer button:hover{background:#36364e;color:#fff}.nav-live,.nav-count{font-style:normal;margin-left:auto;font-size:8px;border-radius:6px;padding:3px 5px;background:rgba(62,204,148,.17);color:#62d9aa}.nav-count{background:#6d4aff;color:#fff;min-width:19px;text-align:center}.side-section{margin-top:26px}.side-section>small{font-size:9px;letter-spacing:.12em;color:#76768d;padding:0 12px 8px}.side-card{margin-top:auto;background:linear-gradient(145deg,#383754,#302f49);border:1px solid #494862;border-radius:15px;padding:15px;display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.side-card>span{grid-row:1/3}.side-card b{font-size:11px}.side-card small{font-size:9px;color:#aaa9ba;line-height:1.4}.side-card div{grid-column:1/-1;background:#202034;height:4px;border-radius:4px;margin-top:8px}.side-card i{display:block;height:100%;border-radius:4px;background:#856eff}.side-footer{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.side-footer button{font-size:10px;gap:5px;padding:8px 5px}.app-main{grid-column:2;min-width:0}.topbar{height:82px;background:rgba(255,255,255,.88);border-bottom:1px solid #e6e5e1;backdrop-filter:blur(14px);position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.top-context{display:flex;flex-direction:column}.top-context span{font-size:9px;letter-spacing:.12em;color:#a0a0aa;font-weight:800}.top-context b{font:700 19px var(--display);margin-top:4px}.top-actions{display:flex;align-items:center;gap:10px}.icon-button{width:38px;height:38px;border:1px solid #e5e3df;background:#fff;border-radius:11px;position:relative;cursor:pointer}.icon-button i{position:absolute;width:6px;height:6px;background:var(--red);border-radius:50%;top:7px;right:8px}.streak-pill,.profile-pill{height:40px;border-radius:12px;border:1px solid #e5e3df;background:#fff;display:flex;align-items:center}.streak-pill{padding:0 10px;gap:4px}.streak-pill small{font-size:9px;color:var(--muted)}.profile-pill{padding:3px 9px 3px 4px;gap:8px;cursor:pointer}.profile-pill>span{width:32px;height:32px;border-radius:9px;background:#eae5ff;color:var(--purple);display:grid;place-items:center;font-size:10px;font-weight:800}.profile-pill div{display:flex;flex-direction:column;min-width:80px;text-align:left}.profile-pill b{font-size:11px}.profile-pill small{font-size:8px;color:var(--muted)}.profile-pill>i{font-style:normal;color:#999}.menu-button{display:none;border:0;background:none;font-size:22px}.page-container{padding:28px 32px 55px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.page-head h1{font:800 28px var(--display);margin:0}.page-head p{color:var(--muted);margin:6px 0 0;font-size:13px}.page-actions{display:flex;gap:9px}.grid{display:grid;gap:16px}.dashboard-grid{grid-template-columns:1.35fr .8fr}.card{background:var(--surface);border:1px solid #e5e4df;border-radius:18px;padding:22px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card-head h2{font:700 16px var(--display);margin:0}.card-head a,.text-button{border:0;background:none;color:var(--purple);font-size:11px;font-weight:800;cursor:pointer;text-decoration:none}.continue-card{background:linear-gradient(125deg,#6b49e9,#8165ef);color:#fff;min-height:230px;position:relative;overflow:hidden;padding:27px}.continue-card:after{content:'π';position:absolute;right:28px;bottom:-39px;font:800 190px var(--display);color:rgba(255,255,255,.08);transform:rotate(-8deg)}.continue-card .tag{font-size:9px;text-transform:uppercase;letter-spacing:.1em;background:rgba(255,255,255,.15);padding:6px 9px;border-radius:6px}.continue-card h2{font:800 25px var(--display);margin:25px 0 8px}.continue-card>p{font-size:12px;color:#e7e1ff}.lesson-meta{display:flex;gap:16px;color:#e5e0ff;font-size:10px;margin:20px 0}.continue-card .btn{position:relative;z-index:2;background:#fff;color:#5c42c2;padding:10px 15px}.progress-card{min-height:230px}.subject-row{display:grid;grid-template-columns:28px 1fr auto;gap:11px;align-items:center;margin:16px 0}.subject-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:12px;background:#eeeaff}.subject-row>div{display:grid;grid-template-columns:1fr auto;gap:5px}.subject-row span{font-size:11px;font-weight:700}.subject-row small{font-size:9px;color:var(--green)}.progress-track{grid-column:1/-1;height:5px;background:#eeedf0;border-radius:5px;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:5px;background:var(--purple)}.subject-row>b{font-size:11px}.quick-grid{grid-template-columns:repeat(4,1fr);grid-column:1/-1}.quick-card{min-height:135px;cursor:pointer;transition:.2s}.quick-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(40,35,74,.08)}.quick-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eeeaff;color:var(--purple);font-size:18px}.quick-card h3{font:700 14px var(--display);margin:15px 0 5px}.quick-card p{font-size:10px;color:var(--muted);margin:0}.insight-card{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#fffaf0;border-color:#f5e5c5}.insight-icon{width:45px;height:45px;border-radius:12px;background:#fff0d4;display:grid;place-items:center}.insight-card h3{font:700 13px var(--display);margin:0 0 5px}.insight-card p{font-size:11px;color:#706f76;margin:0}.bottom-grid{grid-template-columns:1.2fr .8fr;grid-column:1/-1}.activity-chart{height:155px;display:flex;align-items:flex-end;justify-content:space-around;padding-top:20px}.chart-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.chart-col i{width:24px;height:var(--h);border-radius:5px 5px 2px 2px;background:#dcd6f8}.chart-col.active i{background:var(--purple)}.chart-col small{font-size:8px;color:#999}.badge-row{display:flex;gap:12px}.badge-item{flex:1;text-align:center}.badge-medal{height:54px;margin-bottom:8px;border-radius:15px;background:#f4f1ff;display:grid;place-items:center;font-size:24px}.badge-item b{display:block;font-size:9px}.badge-item small{font-size:7px;color:var(--muted)}
.tutor-layout{display:grid;grid-template-columns:1fr 280px;gap:16px;height:calc(100vh - 145px);min-height:600px}.chat-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.chat-toolbar{padding:15px 19px;border-bottom:1px solid #eceae6;display:flex;align-items:center;justify-content:space-between}.chat-person{display:flex;align-items:center;gap:10px}.chat-person .ai-avatar{width:36px;height:36px;border-radius:10px}.chat-person div{display:flex;flex-direction:column}.chat-person b{font-size:12px}.chat-person small{font-size:9px;color:var(--green)}.toggle-group{display:flex;gap:6px}.toggle{border:1px solid #e3e1dc;background:#fff;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:700;cursor:pointer}.toggle.active{background:#eeeaff;color:var(--purple);border-color:#dcd3ff}.messages{flex:1;overflow:auto;padding:22px;background:#fbfafc}.message{display:flex;gap:10px;max-width:78%;margin-bottom:18px}.message.student{margin-left:auto;flex-direction:row-reverse}.message-avatar{width:29px;height:29px;flex:0 0 auto;border-radius:9px;background:var(--purple);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:800}.message.student .message-avatar{background:#e8e5dd;color:#5e5c62}.message-content{background:#fff;border:1px solid #eae7ee;border-radius:14px;border-top-left-radius:4px;padding:12px 14px;font-size:12px;line-height:1.55;box-shadow:0 4px 12px rgba(35,31,60,.035)}.message.student .message-content{background:var(--purple);color:#fff;border:0;border-radius:14px;border-top-right-radius:4px}.message-actions{display:flex;gap:8px;margin-top:9px}.message-actions button{border:0;background:none;color:#8877cc;padding:0;font-size:9px;font-weight:700;cursor:pointer}.chat-compose{padding:14px 17px;background:#fff;border-top:1px solid #e9e7e3}.suggestion-row{display:flex;gap:7px;overflow:auto;padding-bottom:9px}.suggestion-row button{white-space:nowrap;border:1px solid #e5e2dc;background:#faf9f7;border-radius:8px;padding:6px 9px;font-size:9px;cursor:pointer}.input-wrap{display:flex;align-items:flex-end;border:1px solid #dedbe5;border-radius:13px;padding:7px 7px 7px 13px;box-shadow:0 0 0 3px rgba(109,74,255,.03)}.input-wrap textarea{border:0;outline:0;resize:none;flex:1;height:38px;padding:9px 0;background:transparent;font-size:12px}.send-button{width:37px;height:37px;border:0;background:var(--purple);color:#fff;border-radius:10px;cursor:pointer}.tutor-side{display:flex;flex-direction:column;gap:13px}.session-card h3{font:700 13px var(--display);margin:0 0 16px}.mastery-ring{width:95px;height:95px;border-radius:50%;margin:auto;background:conic-gradient(var(--green) 0 78%,#ecebea 78%);display:grid;place-items:center}.mastery-ring:after{content:'78%';width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;font:800 18px var(--display)}.session-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:17px}.session-stats span{text-align:center;font-size:9px;color:var(--muted)}.session-stats b{display:block;color:var(--ink);font-size:13px}.concept-list{display:flex;flex-direction:column;gap:10px}.concept-list span{display:flex;justify-content:space-between;font-size:10px;padding-bottom:9px;border-bottom:1px solid #eceae6}.concept-list i{font-style:normal;color:var(--green)}.emotion-card{background:#effbf6;border-color:#d8f2e6}.emotion-card>span{font-size:9px;color:var(--green);font-weight:800}.emotion-card p{font-size:10px;line-height:1.5;margin:8px 0 0}
.filter-row{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.filter-chip{border:1px solid #e2e0db;background:#fff;border-radius:10px;padding:8px 12px;font-size:10px;font-weight:700;cursor:pointer}.filter-chip.active{color:#fff;background:var(--purple);border-color:var(--purple)}.exercise-layout{grid-template-columns:1fr 310px}.exercise-main{min-height:470px}.exercise-label{font-size:9px;color:var(--purple);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.difficulty-dots{float:right;color:#d4d1da;letter-spacing:3px}.difficulty-dots b{color:var(--amber)}.question{font:700 21px/1.5 var(--display);margin:35px 0}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-option{border:1px solid #e2e0dd;border-radius:13px;background:#fff;padding:14px;text-align:left;font-size:12px;cursor:pointer;transition:.15s}.answer-option:hover,.answer-option.selected{border-color:var(--purple);background:#f5f2ff}.answer-option.correct{border-color:var(--green);background:#effbf6}.answer-option.wrong{border-color:var(--red);background:#fff1f1}.answer-option b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f0eef4;margin-right:9px}.exercise-footer{display:flex;justify-content:space-between;align-items:center;margin-top:35px}.feedback-box{margin-top:20px;border-radius:13px;padding:14px;background:#effbf6;color:#267d5b;font-size:11px;display:none}.feedback-box.visible{display:block}.goal-list{display:flex;flex-direction:column;gap:14px}.goal-item{display:grid;grid-template-columns:32px 1fr;gap:9px}.goal-item>span{width:32px;height:32px;border-radius:9px;background:#f0edff;display:grid;place-items:center}.goal-item b{font-size:10px}.goal-item small{display:block;font-size:8px;color:var(--muted);margin:3px 0 6px}.goal-item i{display:block;height:4px;background:#eceaec;border-radius:4px}.goal-item i:after{content:"";display:block;width:var(--w);height:100%;background:var(--purple);border-radius:4px}.stat-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stat-tile{padding:12px;background:#f7f6f2;border-radius:11px}.stat-tile b{display:block;font:800 18px var(--display)}.stat-tile small{font-size:8px;color:var(--muted)}
.revision-tabs{display:flex;border-bottom:1px solid #dfddd8;margin-bottom:20px}.revision-tabs button{border:0;background:none;padding:10px 16px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.revision-tabs button.active{color:var(--purple);border-color:var(--purple)}.revision-layout{grid-template-columns:1fr 1fr}.flashcard-stage{height:300px;perspective:1000px;cursor:pointer}.flashcard-inner{width:100%;height:100%;position:relative;transition:transform .5s;transform-style:preserve-3d}.flashcard-stage.flipped .flashcard-inner{transform:rotateY(180deg)}.flash-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:20px;background:linear-gradient(140deg,#6d4aff,#8b72f0);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:45px;font:700 24px/1.45 var(--display);box-shadow:0 18px 40px rgba(79,59,163,.18)}.flash-face small{position:absolute;top:22px;font:700 9px var(--font);text-transform:uppercase;letter-spacing:.1em;opacity:.65}.flash-face.back{transform:rotateY(180deg);background:#27273d}.flash-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px}.flash-controls button{border:1px solid #e0ddd8;background:#fff;border-radius:10px;padding:9px 13px;cursor:pointer;font-size:11px}.mindmap{height:380px;position:relative;display:grid;place-items:center;overflow:hidden}.mindmap:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#d8d6df 1px,transparent 1px);background-size:18px 18px}.mind-center,.mind-node{position:absolute;z-index:2;padding:10px 14px;border-radius:12px;font-size:10px;font-weight:800;box-shadow:0 7px 20px rgba(50,43,86,.11)}.mind-center{background:var(--purple);color:#fff}.mind-node{background:#fff;border:1px solid #dedbe5}.mind-node:after{content:"";position:absolute;height:1px;width:80px;background:#cfc9e5;top:50%;z-index:-1}.mind-node.n1{top:50px;left:45px}.mind-node.n1:after{width:160px;transform:rotate(25deg);transform-origin:left;left:100%}.mind-node.n2{top:50px;right:45px}.mind-node.n2:after{width:160px;transform:rotate(-25deg);transform-origin:right;right:100%}.mind-node.n3{bottom:55px;left:55px}.mind-node.n3:after{width:150px;transform:rotate(-22deg);transform-origin:left;left:100%}.mind-node.n4{bottom:55px;right:55px}.mind-node.n4:after{width:150px;transform:rotate(22deg);transform-origin:right;right:100%}
.metric-grid{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.metric-card{display:flex;align-items:center;gap:13px}.metric-card>span{width:42px;height:42px;border-radius:12px;background:#eeeaff;color:var(--purple);display:grid;place-items:center}.metric-card b{display:block;font:800 21px var(--display)}.metric-card small{font-size:8px;color:var(--muted)}.progress-layout{grid-template-columns:1.4fr .6fr}.line-chart{height:260px;position:relative;padding:20px 10px 25px}.chart-grid{position:absolute;inset:15px 10px 30px;display:flex;flex-direction:column;justify-content:space-between}.chart-grid i{height:1px;background:#eceae7}.chart-svg{position:absolute;inset:20px 10px 25px;width:calc(100% - 20px);height:calc(100% - 45px)}.chart-labels{position:absolute;bottom:0;left:10px;right:10px;display:flex;justify-content:space-between;font-size:8px;color:#999}.twin-list{display:flex;flex-direction:column;gap:12px}.twin-item{padding:12px;background:#f7f6fa;border-radius:10px}.twin-item small{font-size:8px;color:var(--muted)}.twin-item b{display:block;font-size:11px;margin-top:4px}.subject-table{width:100%;border-collapse:collapse}.subject-table th,.subject-table td{text-align:left;padding:12px;border-bottom:1px solid #eceae7;font-size:10px}.subject-table th{color:var(--muted);font-size:8px;text-transform:uppercase}.trend-up{color:var(--green);font-weight:800}.trend-down{color:var(--red);font-weight:800}
.quest-grid{grid-template-columns:repeat(3,1fr)}.quest-card{position:relative;overflow:hidden}.quest-card:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:var(--glow);right:-40px;top:-35px;filter:blur(2px)}.quest-monster{font-size:40px;position:relative}.quest-card h3{font:700 16px var(--display);margin:13px 0 5px}.quest-card p{font-size:10px;color:var(--muted)}.hp-line{display:flex;justify-content:space-between;font-size:8px;font-weight:800;margin:18px 0 5px}.hp-track{height:7px;background:#eceaec;border-radius:7px}.hp-track i{display:block;width:var(--w);height:100%;background:var(--color);border-radius:7px}.quest-meta{display:flex;gap:15px;color:var(--muted);font-size:8px;margin:14px 0}.quest-card .btn{width:100%;padding:9px;font-size:10px}.quest-card.defeated{opacity:.75}.quest-card.defeated .btn{background:#ecebea;color:#777;box-shadow:none}
.parent-hero,.teacher-hero{background:linear-gradient(130deg,#292940,#3b3958);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:26px}.parent-hero h2,.teacher-hero h2{font:700 22px var(--display);margin:5px 0}.parent-hero p,.teacher-hero p{color:#bcbccc;font-size:11px}.child-switch{display:flex;align-items:center;gap:10px;background:#3c3c55;border:1px solid #505069;padding:8px 12px;border-radius:12px}.child-switch span{width:34px;height:34px;background:#e5ddff;color:#573ab9;border-radius:9px;display:grid;place-items:center;font-size:10px;font-weight:800}.child-switch b,.child-switch small{display:block}.child-switch b{font-size:10px}.child-switch small{font-size:8px;color:#aaaabc}.parent-grid,.teacher-grid{grid-template-columns:1.35fr .65fr;margin-top:16px}.weekly-bars{display:flex;flex-direction:column;gap:15px}.weekly-row{display:grid;grid-template-columns:70px 1fr 35px 46px;align-items:center;gap:8px;font-size:10px}.weekly-row>i{height:7px;border-radius:7px;background:#ecebec;overflow:hidden}.weekly-row>i:after{content:"";display:block;width:var(--w);height:100%;background:var(--color);border-radius:7px}.ai-advice{background:#f4f1ff;border-color:#e4ddff}.ai-advice .advice-mark{width:40px;height:40px;border-radius:12px;background:var(--purple);color:#fff;display:grid;place-items:center;font-weight:800}.ai-advice p{font-size:11px;line-height:1.65}.alert-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #ebe9e6}.alert-item>span{width:30px;height:30px;border-radius:9px;background:#fff1dd;display:grid;place-items:center}.alert-item b{font-size:10px}.alert-item small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.class-stats{grid-template-columns:repeat(4,1fr);margin-top:16px}.class-stat b{display:block;font:800 22px var(--display)}.class-stat small{font-size:8px;color:var(--muted)}.gap-item{padding:14px;border:1px solid #ece9e4;border-radius:12px;margin:9px 0;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center}.gap-dot{width:9px;height:9px;border-radius:50%;background:var(--red)}.gap-item b{font-size:10px}.gap-item small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.student-table{width:100%;border-collapse:collapse}.student-table th,.student-table td{padding:11px 8px;text-align:left;border-bottom:1px solid #eceae7;font-size:9px}.student-table th{font-size:8px;color:var(--muted);text-transform:uppercase}.student-name{display:flex;align-items:center;gap:8px;font-weight:700}.student-name span{width:27px;height:27px;border-radius:8px;background:#ebe7ff;color:var(--purple);display:grid;place-items:center;font-size:8px}.status{padding:4px 7px;border-radius:7px;background:#ebf9f3;color:#26936b;font-size:8px;font-weight:800}.status.warn{background:#fff3df;color:#b77820}
.modal-backdrop{position:fixed;inset:0;background:rgba(25,24,39,.55);backdrop-filter:blur(7px);display:grid;place-items:center;z-index:200;padding:20px}.modal{background:#fff;border-radius:24px;padding:35px;box-shadow:var(--shadow);position:relative;max-width:580px;width:100%}.modal-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:22px;color:#8b8b94;cursor:pointer}.demo-modal{text-align:center}.modal-mark{width:48px;height:48px;border-radius:14px;background:var(--purple);color:#fff;display:grid;place-items:center;margin:auto;font:800 23px var(--display)}.demo-modal h2{font:800 25px var(--display);margin:18px 0 7px}.demo-modal>p{font-size:12px;color:var(--muted)}.demo-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 16px}.demo-roles button{border:1px solid #e6e3dd;background:#fff;border-radius:15px;padding:18px 10px;cursor:pointer;display:flex;flex-direction:column;gap:7px;align-items:center}.demo-roles button:hover{border-color:var(--purple);background:#f7f5ff}.demo-roles button>span{font-size:25px}.demo-roles b{font-size:11px}.demo-roles small,.modal-note{font-size:8px;color:var(--muted)}.toast-root{position:fixed;right:22px;bottom:22px;z-index:300;display:flex;flex-direction:column;gap:8px}.toast{background:#26263b;color:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 12px 30px rgba(20,20,35,.25);font-size:11px;animation:toastIn .25s ease}.toast b{color:#a895ff;margin-right:6px}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.dark{--surface:#2c2c42;--ink:#f3f2f7;--muted:#aaaabd;--cream:#202033;--line:#414158;background:#202033}.dark .app-shell{background:#222235}.dark .topbar{background:rgba(42,42,62,.9);border-color:#414158}.dark .card,.dark .profile-pill,.dark .streak-pill,.dark .icon-button,.dark .filter-chip,.dark .answer-option,.dark .flash-controls button{background:#2c2c42;border-color:#414158}.dark .page-container{color:#f5f4f8}.dark .progress-track,.dark .hp-track{background:#414158}.dark .chat-card,.dark .chat-toolbar,.dark .chat-compose{background:#2c2c42;border-color:#414158}.dark .messages{background:#252538}.dark .message-content{background:#33334b;border-color:#45455d}.dark .input-wrap{border-color:#505068}.dark .input-wrap textarea{color:#fff}.dark .quick-card p,.dark .card p{color:#aaaabd}.dark .insight-card{background:#393326}.dark .emotion-card{background:#263a34}.dark .ai-advice{background:#34304b}.dark .subject-table td,.dark .subject-table th,.dark .student-table td,.dark .student-table th{border-color:#414158}
@media(max-width:1050px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.eyebrow,.hero-actions,.trust-line{justify-content:center}.hero-visual{margin-top:10px}.roles-section{grid-template-columns:1fr}.dashboard-grid,.bottom-grid,.parent-grid,.teacher-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.metric-grid,.class-stats{grid-template-columns:repeat(2,1fr)}.tutor-layout{grid-template-columns:1fr}.tutor-side{display:none}.exercise-layout{grid-template-columns:1fr}.quest-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.landing-links{display:none}.landing-nav{height:64px;padding:0 18px}.landing-nav>.btn{font-size:11px;padding:9px 12px}.hero{padding:50px 20px 30px}.hero h1{font-size:47px}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column}.hero-visual{height:450px;transform:scale(.88);margin:-15px -40px}.proof>div{display:grid;grid-template-columns:1fr 1fr}.feature-section,.pricing-section{padding:70px 20px}.feature-grid,.pricing-grid,.revision-layout{grid-template-columns:1fr}.feature-wide{grid-column:auto;display:block}.format-cloud{width:100%;justify-content:flex-start;margin-top:20px}.role-cards{grid-template-columns:1fr}.roles-section{padding:70px 20px}.pricing-grid article.recommended{transform:none}.pricing-grid ul{min-height:auto}.pricing-grid article{margin-bottom:8px}footer{flex-direction:column;gap:18px;text-align:center}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.mobile-close{display:block}.app-main{grid-column:1}.topbar{height:70px;padding:0 14px}.menu-button{display:block}.top-context{display:none}.top-actions{margin-left:auto}.profile-pill div,.profile-pill>i{display:none}.profile-pill{padding-right:4px}.page-container{padding:18px 14px 40px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.page-head .btn span.hide-mobile{display:none}.dashboard-grid,.bottom-grid,.quick-grid{grid-template-columns:1fr}.quick-grid{grid-column:auto}.insight-card{grid-template-columns:auto 1fr}.insight-card .btn{grid-column:1/-1}.answer-grid{grid-template-columns:1fr}.metric-grid,.class-stats,.quest-grid{grid-template-columns:1fr 1fr}.progress-layout{grid-template-columns:1fr}.demo-roles{grid-template-columns:1fr}.demo-roles button{flex-direction:row;text-align:left;padding:12px 15px}.demo-modal{max-height:90vh;overflow:auto}.tutor-layout{height:calc(100vh - 110px);min-height:560px}.message{max-width:92%}.toggle-group .toggle:nth-child(2){display:none}.parent-hero,.teacher-hero{align-items:flex-start;gap:15px;flex-direction:column}.weekly-row{grid-template-columns:56px 1fr 30px}.weekly-row>span:last-child{display:none}.student-table th:nth-child(3),.student-table td:nth-child(3){display:none}.feature-card{min-height:250px}.float-score{right:15px}.float-streak{left:15px}}

/* Référentiel officiel */
.official-badge{display:flex;align-items:center;gap:10px;background:#edf9f3;border:1px solid #d5efe2;border-radius:12px;padding:9px 13px}.official-badge>span{width:28px;height:28px;border-radius:8px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800}.official-badge b,.official-badge small{display:block}.official-badge b{font-size:10px}.official-badge small{font-size:8px;color:var(--muted);margin-top:2px}.curriculum-toolbar{display:flex;align-items:flex-end;gap:14px;margin-bottom:16px}.curriculum-toolbar>label,.agent-settings label,.account-form label{display:flex;flex-direction:column;gap:6px;font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.curriculum-toolbar select,.agent-settings select,.account-form input,.account-form select{min-width:180px;border:1px solid #dedcd7;background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px;outline:none;font-size:11px;font-weight:700;text-transform:none;letter-spacing:0}.curriculum-toolbar select:focus,.agent-settings select:focus,.account-form input:focus,.account-form select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(109,74,255,.1)}.curriculum-summary{margin-left:auto;display:flex;align-items:center;gap:10px;padding:7px 0}.curriculum-summary>span{width:38px;height:38px;border-radius:10px;background:#eeeaff;color:var(--purple);display:grid;place-items:center}.curriculum-summary b,.curriculum-summary small{display:block}.curriculum-summary b{font-size:11px}.curriculum-summary small{font-size:8px;color:var(--muted);margin-top:3px;max-width:360px}.curriculum-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.curriculum-block{padding:24px}.curriculum-block.specialty-block,.source-card{grid-column:1/-1}.block-kicker{color:var(--purple);font-size:8px;letter-spacing:.1em;font-weight:800}.curriculum-block h2{font:700 17px var(--display);margin:5px 0 0}.block-count{width:33px;height:33px;border-radius:10px;background:#f0edff;color:var(--purple);display:grid;place-items:center;font-weight:800;font-size:11px}.block-note{font-size:10px;color:var(--muted);margin:-7px 0 16px}.discipline-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.discipline-list.compact{grid-template-columns:repeat(2,1fr)}.discipline-chip{border:1px solid #e6e3de;background:#faf9f7;border-radius:11px;padding:11px;text-align:left;display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;cursor:pointer;transition:.15s}.discipline-chip:hover{border-color:var(--purple);background:#f4f1ff;transform:translateY(-1px)}.discipline-chip>span{color:var(--purple)}.discipline-chip>i{font-style:normal;margin-left:auto;color:#aaa}.discipline-chip.specialty{background:#f6f3ff;border-color:#e4dcff}.discipline-chip.option{background:#f4faf7}.subsection-title{font:700 12px var(--display);margin:21px 0 10px}.source-card{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#292940;color:#fff}.source-card>div:first-child{display:flex;align-items:center;gap:14px}.official-seal{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#1b4b94,#ef4c5d);display:grid;place-items:center;font-weight:800}.source-card h3{font:700 13px var(--display);margin:0}.source-card p{font-size:9px;color:#bdbdcb;max-width:460px;margin:5px 0 0}.source-links{display:flex;flex-direction:column;gap:5px}.source-links a{color:#c9bfff;font-size:8px;text-decoration:none}.agent-on{color:var(--green)!important}.agent-off{color:var(--red)!important}.agent-disabled-note{padding:16px;border:1px solid #f0d8d8;background:#fff4f4;border-radius:12px;display:flex;flex-direction:column;gap:4px}.agent-disabled-note b{font-size:11px;color:#b84a4a}.agent-disabled-note span{font-size:9px;color:#8d6767}

/* Administration */
.admin-hero{background:linear-gradient(130deg,#292940,#3b3958);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:26px}.admin-hero h2{font:700 22px var(--display);margin:5px 0}.admin-hero p{color:#bcbccc;font-size:11px;margin:0}.admin-health{display:flex;align-items:center;gap:10px;background:#373750;border:1px solid #4d4d66;padding:10px 14px;border-radius:12px}.admin-health>i{width:9px;height:9px;border-radius:50%;background:#42d399;box-shadow:0 0 0 5px rgba(66,211,153,.12)}.admin-health b,.admin-health small{display:block}.admin-health b{font-size:9px}.admin-health small{font-size:8px;color:#aaaabd;margin-top:2px}.admin-metrics{margin:16px 0}.admin-grid{grid-template-columns:1fr 270px;margin-bottom:16px}.agent-admin-card{padding:0;overflow:hidden}.agent-admin-head{padding:22px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #eceae6}.agent-identity{display:flex;gap:13px}.agent-identity>span{width:46px;height:46px;border-radius:13px;background:var(--purple);color:#fff;display:grid;place-items:center;font:800 21px var(--display);box-shadow:0 8px 18px rgba(109,74,255,.2)}.agent-identity small{font-size:8px;color:var(--purple);font-weight:800;letter-spacing:.1em}.agent-identity h2{font:700 17px var(--display);margin:4px 0}.agent-identity p{font-size:9px;color:var(--muted);margin:0}.agent-switch{border:1px solid #dedbd6;background:#f3f1ee;border-radius:20px;padding:5px 9px 5px 5px;display:flex;align-items:center;gap:7px;font-size:8px;font-weight:800;cursor:pointer}.agent-switch i{width:25px;height:25px;border-radius:50%;background:#aaa;transition:.2s}.agent-switch.on{background:#ebf9f3;color:#258562;border-color:#ccebdd}.agent-switch.on i{background:var(--green)}.agent-principles{padding:14px 22px;background:#faf9f7;display:flex;flex-wrap:wrap;gap:8px 17px}.agent-principles span{font-size:8px;color:#5e6070}.agent-principles span::first-letter{color:var(--green)}.agent-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 22px}.agent-settings select{width:100%;min-width:0}.security-note{margin:0 22px 22px;padding:13px;background:#f1f7ff;border:1px solid #dce9f8;border-radius:12px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.security-note>span{font-size:20px}.security-note b,.security-note small{display:block}.security-note b{font-size:9px}.security-note small{font-size:8px;color:var(--muted);margin-top:3px;line-height:1.4}.security-note .btn{font-size:9px;padding:8px 10px}.reference-admin{display:flex;flex-direction:column}.reference-version{background:#f2efff;border-radius:13px;padding:14px}.reference-version b{display:block;font:800 25px var(--display);color:var(--purple)}.reference-version small{font-size:8px;color:var(--muted)}.reference-admin p{font-size:9px;color:var(--muted);line-height:1.5;flex:1}.reference-admin .btn{font-size:9px}.account-card{padding:0;overflow:hidden}.account-toolbar{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eae8e4}.account-toolbar h2{font:700 16px var(--display);margin:0}.account-toolbar p{font-size:9px;color:var(--muted);margin:4px 0 0}.account-toolbar>div:last-child{display:flex;gap:8px}.search-control{border:1px solid #dedbd6;background:var(--surface);border-radius:10px;padding:0 10px;display:flex;align-items:center;gap:6px;color:#999}.search-control input{border:0;outline:0;background:transparent;color:var(--ink);font-size:9px;width:170px}.account-toolbar .btn{font-size:9px}.account-table-wrap{overflow:auto}.account-table{min-width:780px}.account-table .student-name div{display:flex;flex-direction:column}.account-table .student-name small{font-size:7px;color:var(--muted);font-weight:400;margin-top:2px}.role-badge{padding:4px 7px;border-radius:7px;font-size:8px;font-weight:800;background:#eeeaff;color:var(--purple)}.role-badge.parent{background:#eaf8f2;color:#278563}.role-badge.enseignant{background:#eaf2ff;color:#3470c8}.role-badge.admin{background:#fff0de;color:#ad6d1c}.row-actions{white-space:nowrap}.row-actions button{width:27px;height:27px;border:1px solid #e4e1dc;background:var(--surface);border-radius:8px;margin-right:4px;cursor:pointer}.account-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.account-form input,.account-form select{width:100%;min-width:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.demo-roles.admin-ready{grid-template-columns:repeat(4,1fr)}

.dark .curriculum-toolbar select,.dark .agent-settings select,.dark .account-form input,.dark .account-form select,.dark .discipline-chip,.dark .search-control{border-color:#46465e;background:#333348}.dark .agent-principles{background:#29293d}.dark .security-note{background:#283342;border-color:#36495e}.dark .agent-disabled-note{background:#3d2c35;border-color:#67404a}.dark .official-badge{background:#263a34;border-color:#335448}.dark .reference-version{background:#37324f}.dark .curriculum-block,.dark .account-card,.dark .agent-admin-card{border-color:#414158}

@media(max-width:1050px){.curriculum-grid{grid-template-columns:1fr}.curriculum-block.specialty-block,.source-card{grid-column:auto}.discipline-list{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.reference-admin{min-height:220px}.demo-roles.admin-ready{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.curriculum-toolbar{align-items:stretch;flex-direction:column}.curriculum-toolbar select{width:100%}.curriculum-summary{margin-left:0}.discipline-list,.discipline-list.compact{grid-template-columns:1fr}.source-card{align-items:flex-start;flex-direction:column}.admin-hero{align-items:flex-start;flex-direction:column;gap:15px}.agent-admin-head{gap:15px;flex-direction:column}.agent-settings{grid-template-columns:1fr}.security-note{grid-template-columns:auto 1fr}.security-note .btn{grid-column:1/-1}.account-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.account-toolbar>div:last-child{width:100%;flex-direction:column}.search-control{height:38px}.search-control input{width:100%}.account-form{grid-template-columns:1fr}.demo-roles.admin-ready{grid-template-columns:1fr}.demo-roles.admin-ready button{flex-direction:row}.official-badge{display:none}}

/* Auth */
.auth-tabs{display:flex;gap:0;margin:16px 0 4px;border-bottom:2px solid #e8e5e0}
.auth-tab{border:0;background:none;padding:10px 18px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:.15s}
.auth-tab.active{color:var(--purple);border-color:var(--purple)}
.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.auth-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.auth-form input,.auth-form select{border:1px solid #dedcd7;background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px;outline:none;font-size:12px;font-weight:600}
.auth-form input:focus,.auth-form select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(109,74,255,.1)}
.auth-error{color:var(--red);font-size:10px;margin:0;text-align:center;padding:6px;background:#fff1f1;border-radius:8px}
.auth-demo-link{text-align:center;margin-top:14px}
.auth-demo-link button{color:var(--muted);font-size:10px}
.dark .auth-tabs{border-color:#414158}
.dark .auth-form input,.dark .auth-form select{border-color:#46465e;background:#333348}
