:root{--ink:#20302e;--muted:#84918e;--line:#e8ece8;--canvas:#f6f7f4;--white:#fff;--green:#47796e;--green-dark:#355e55;--mint:#e5f1eb;--lav:#f0edfb;--peach:#fff0e7;--gold:#bc8b45;--shadow:0 8px 30px #253a3010}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 17px 16px;z-index:3}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 22px Manrope,sans-serif;letter-spacing:-1px;padding:0 9px}.brand-icon{height:30px;width:30px;border-radius:10px 10px 10px 3px;background:var(--green);color:#fff;display:grid;place-items:center;font:800 19px Manrope}.brand-period{color:#d79c57}.course-switch{margin:34px 0 25px;padding:12px 10px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:10px}.course-icon{width:34px;height:34px;background:#e8f2ea;border-radius:10px;display:grid;place-items:center;color:#416d5a;font-weight:700}.course-switch>span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.course-switch small,.nav-label{font-size:9px;letter-spacing:1px;color:#9ba5a1;font-weight:700}.course-switch strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{color:#aab2af}.nav{display:grid;gap:4px}.nav-label{padding:0 11px;margin:1px 0 6px}.second-label{margin-top:24px}.nav-link{position:relative;border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:9px;color:#727f7b;font-size:13px}.nav-link>span{font-size:17px;width:17px;text-align:center;color:#87938f}.nav-link:hover{background:#f5f7f5}.nav-link.active{background:#eaf2ed;color:#315c51;font-weight:700}.nav-link.active>span{color:var(--green)}.nav-link>b{margin-left:auto;background:white;border-radius:10px;padding:2px 7px;font-size:10px;color:#78908a}.live-dot{width:6px;height:6px;background:#76b497;border-radius:100%;margin-left:auto}.sidebar-bottom{margin-top:auto}.streak-card{display:flex;align-items:center;gap:10px;border:1px solid #f0eadf;background:#fffdf9;border-radius:11px;padding:12px 10px;margin:0 2px 18px}.streak-flame{width:31px;height:31px;border-radius:10px;background:#fff0d8;display:grid;place-items:center;color:#d99d53}.streak-card div{display:grid;gap:3px;flex:1}.streak-card strong{font-size:11px}.streak-card small,.user-row small{color:#99a39f;font-size:10px}.streak-arrow{color:#c89b5b}.user-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:15px 4px 1px}.user-avatar,.mini-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f5e8d9;color:#8f6b4e;font-size:10px;font-weight:700}.user-row>span:nth-child(2){display:grid;gap:3px;flex:1}.user-row strong{font-size:11px}.user-row button{border:0;background:none;color:#89948f}.main-content{margin-left:248px;min-height:100vh;padding:0 44px;max-width:1700px}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#899490;font-size:12px}.breadcrumbs strong{color:#354541;font-weight:600}.crumb-divider{color:#c0c9c4}.top-actions{display:flex;align-items:center;gap:14px}.privacy-pill{display:flex;gap:7px;align-items:center;border:1px solid #e3eae4;background:#fbfdfb;border-radius:30px;padding:7px 11px;color:#668075;font-size:10px}.privacy-pill i{width:6px;height:6px;border-radius:50%;background:#70ae88}.round-button{width:27px;height:27px;border-radius:50%;border:1px solid #e0e6e1;background:#fff;color:#74817c}.mini-avatar{width:29px;height:29px}.mobile-brand{display:none}.page{display:none;max-width:1260px;margin:0 auto;padding:33px 0 14px;animation:fade .18s ease}.page.active{display:block}@keyframes fade{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,"DM Sans",sans-serif;letter-spacing:-.7px}h1{font-size:30px;line-height:1.22;margin:0 0 8px;font-weight:700}h2{font-size:19px;margin:0 0 7px}h3{font-size:15px;margin-bottom:8px}.eyebrow{font-size:9px;letter-spacing:1.25px;font-weight:700;color:#98a39d;margin:0 0 9px}.muted{color:#899590}.intro{font-size:13px;margin:0}.welcome-row,.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.wave{display:inline-grid;place-items:center;font-size:18px;color:#d7a558;vertical-align:middle}.button{border:0;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:9px;transition:.15s}.button:hover{transform:translateY(-1px)}.button.primary{color:white;background:var(--green);box-shadow:0 3px 8px #47796e24}.button.primary:hover{background:var(--green-dark)}.button.white{background:#fff;color:#42685e}.hero-card{height:220px;overflow:hidden;position:relative;border-radius:16px;background:#315f55;color:white;padding:26px 30px;display:flex;align-items:center;box-shadow:0 8px 25px #284e4424}.hero-text{position:relative;z-index:1;max-width:410px}.hero-kicker{font-size:9px;letter-spacing:1px;color:#c7ded2;display:flex;align-items:center;gap:7px;font-weight:700}.hero-kicker i{width:6px;height:6px;background:#b3dbbe;border-radius:50%}.hero-card h2{font-size:24px;line-height:1.3;margin:12px 0 7px}.hero-card h2 em{font-style:normal;color:#dceebe}.hero-card p{font-size:12px;color:#d3e2dc;margin-bottom:15px;max-width:395px}.hero-card .button{font-size:11px;padding:9px 13px}.hero-reason{display:block;color:#c0d4cb;font-size:9px;margin-top:9px}.hero-art{position:absolute;right:6%;top:-70px;width:400px;height:370px;opacity:.95}.orbit{position:absolute;border:1px solid #a2c5b433;border-radius:50%;inset:20px 10px}.orbit-two{inset:48px 40px;transform:rotate(52deg)}.cell-shape{position:absolute;left:148px;top:131px;width:116px;height:116px;border-radius:51% 47% 56% 44%;background:radial-gradient(circle at 35% 35%,#f5dba0,#deae6c 35%,#c58a64 70%,#866355);box-shadow:inset 0 0 0 9px #f5e2b55c,0 10px 34px #152f2a5c;display:grid;place-items:center;transform:rotate(-16deg)}.cell-shape:before,.cell-shape:after{content:"";position:absolute;border:1px solid #fcf2ce8a;border-radius:50%;inset:15px 7px}.cell-shape:after{inset:31px 23px;background:#fff3c54d}.cell-shape span{z-index:1;color:#4b695a;font:bold 15px Manrope}.art-dot{position:absolute;border-radius:50%;background:#a3c4a8;box-shadow:0 0 12px #cee1bb}.dot-a{height:8px;width:8px;left:111px;top:90px}.dot-b{height:5px;width:5px;right:47px;top:139px}.dot-c{height:7px;width:7px;left:284px;bottom:69px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.stat-card,.panel{background:white;border:1px solid #ebefeb;border-radius:13px;box-shadow:var(--shadow)}.stat-card{padding:16px 17px 13px;position:relative;min-height:139px}.stat-icon{position:absolute;right:15px;top:14px;width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-size:16px}.lavender{background:var(--lav);color:#8372bd}.mint{background:var(--mint);color:#60927c}.peach{background:var(--peach);color:#d48c58}.stat-caption{font-size:9px;letter-spacing:.8px;font-weight:700;color:#99a49f;margin:2px 0 10px}.stat-value{font:700 27px Manrope;letter-spacing:-1px;display:flex;align-items:center;gap:3px}.stat-value small{font:500 13px "DM Sans";color:#7e8b86;letter-spacing:0}.stat-trend{font:700 9px "DM Sans";color:#5a9a7c;background:#eef7ef;padding:4px 6px;border-radius:10px;margin-left:7px;letter-spacing:0}.progress-track{height:5px;background:#eef1ee;border-radius:6px;overflow:hidden}.progress-track span{height:100%;display:block;border-radius:6px;background:#78a991}.stat-card .progress-track{margin-top:9px}.stat-foot{display:block;font-size:9px;color:#a0a9a5;margin-top:8px}.stat-foot b{color:#718079}.mini-bars{height:29px;display:flex;align-items:end;gap:4px;margin:1px 0 0}.mini-bars i{width:12px;max-width:9%;background:#d9e9de;border-radius:3px 3px 1px 1px}.mini-bars i.today-bar{background:#78a991}.stat-footline{font-size:10px;color:#788580;margin-top:14px}.tiny-check{color:#5a9a7c;background:#edf6ef;border-radius:50%;padding:2px 4px;margin-right:4px}.overview-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:15px}.panel{padding:19px 20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.panel-heading h2{font-size:17px;margin:0}.text-link{border:0;background:none;color:#548273;font-size:10px;font-weight:700;padding:5px}.text-link span{font-size:14px;margin-left:4px}.icon-quiet{border:0;background:none;color:#84918c;font-size:18px}.focus-list{display:grid;gap:2px}.focus-row{display:grid;grid-template-columns:31px minmax(120px,1fr) 80px 34px;align-items:center;gap:9px;padding:9px 1px;border-bottom:1px solid #f0f2f0}.focus-row:last-child{border-bottom:0}.topic-symbol{height:29px;width:29px;border-radius:9px;background:#f1f4f1;display:grid;place-items:center;color:#789084;font-size:12px}.topic-details strong{display:block;font-size:11px;margin-bottom:4px}.topic-details small{font-size:9px;color:#a0aaa5}.topic-meter .progress-track{height:4px}.topic-value{text-align:right;font-size:10px;font-weight:700;color:#697770}.status-chip{font-size:8px;display:inline-block;background:#fff4e6;color:#b77d42;border-radius:10px;padding:4px 6px;white-space:nowrap;margin-top:4px}.status-chip.strong{color:#578369;background:#edf5ef}.status-chip.ready{color:#77847d;background:#f0f2f0}.panel-footer{border:0;border-top:1px solid #eef0ee;background:white;color:#588375;width:100%;text-align:left;font-size:10px;font-weight:700;padding:13px 2px 0;margin-top:7px}.panel-footer span{float:right;font-size:14px}.activity-list{min-height:150px}.activity-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f2f0}.activity-icon{width:30px;height:30px;border-radius:9px;background:#eff5f0;color:#608c78;display:grid;place-items:center}.activity-item div:nth-child(2){flex:1}.activity-item strong{font-size:10px;display:block;margin-bottom:3px}.activity-item small{color:#9ba5a0;font-size:9px}.activity-score{color:#54856f;font-weight:700;font-size:10px}.page-heading{margin-bottom:22px}.page-heading .muted{font-size:12px;margin:0}.grounded-badge{border:1px solid #dcece1;color:#5a9072;background:#f4faf5;border-radius:20px;padding:8px 11px;font-size:10px}.grounded-badge span{font-size:8px;margin-right:5px}.tutor-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.7fr);gap:16px;align-items:start}.chat-panel{padding:0;min-height:600px;display:flex;flex-direction:column}.chat-header{height:70px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:0 18px}.tutor-avatar{width:35px;height:35px;border-radius:12px;background:#eaf3ee;color:#4a816d;display:grid;place-items:center;font-size:17px}.chat-header>div:nth-child(2){display:grid;gap:4px;flex:1}.chat-header strong{font-size:12px}.chat-header small{font-size:9px;color:#9aa5a0}.chat-header small i{display:inline-block;height:5px;width:5px;border-radius:50%;background:#70ae88;margin-right:4px}.chat-messages{padding:18px 18px 8px;flex:1;max-height:410px;overflow:auto;display:flex;flex-direction:column;gap:16px}.message{display:flex;gap:9px;max-width:88%;align-items:flex-start}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:25px;height:25px;flex:0 0 25px;border-radius:9px;background:#eaf3ee;color:#54836f;display:grid;place-items:center;font-size:12px}.message.user .message-avatar{background:#f2e9df;color:#907154;font-size:9px}.message-body{background:#f7f9f7;padding:11px 13px;border-radius:3px 12px 12px 12px;font-size:11px;line-height:1.65;color:#485650}.message.user .message-body{background:#eaf3ed;border-radius:12px 3px 12px 12px}.message-body p{margin:0 0 8px}.message-body p:last-child{margin-bottom:0}.citation-chip{border:1px solid #dce8de;background:#fbfdfb;color:#54816e;border-radius:6px;padding:5px 7px;font-size:9px;margin:8px 5px 0 0}.citation-chip:hover{background:#eaf4ed}.unsupported-note{color:#a06d41;border-left:2px solid #e8bb81;padding:6px 9px;margin-top:8px;background:#fffaf3}.suggestion-row{display:flex;gap:7px;padding:8px 17px;overflow:auto}.suggestion{white-space:nowrap;border:1px solid #e3ebe4;background:white;border-radius:16px;padding:6px 9px;color:#6a8478;font-size:9px}.suggestion:hover{background:#f3f8f3}.chat-input-wrap{margin:4px 16px 14px;position:relative;border:1px solid #e1e9e2;border-radius:11px;padding:9px 43px 24px 11px}.chat-input-wrap textarea{resize:none;width:100%;border:0;outline:0;background:transparent;font-size:11px;color:#34443f;min-height:30px}.chat-input-wrap textarea::placeholder{color:#a8b1ad}.chat-input-wrap small{position:absolute;left:11px;bottom:7px;font-size:8px;color:#a2aba7}.send-button{position:absolute;right:9px;top:8px;width:27px;height:27px;background:var(--green);color:white;border:0;border-radius:8px;font-size:17px}.tutor-side{padding:19px}.tutor-side h3{margin-bottom:7px}.small-copy{font-size:10px;line-height:1.55}.source-mini-list{margin:15px 0}.source-mini{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid #f0f2f0}.file-icon{height:27px;width:25px;display:grid;place-items:center;border-radius:7px;background:#edf3ef;color:#698c7a;font-size:9px;font-weight:700}.source-mini>div:last-child{min-width:0}.source-mini strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-size:9px}.source-mini small{color:#a1aaa6;font-size:8px}.outline-button{border:1px solid #dfe8e0;color:#598473;border-radius:7px;background:#fff;padding:8px 9px;width:100%;text-align:left;font-size:9px;font-weight:700}.tutor-tip{display:flex;gap:9px;background:#f8f7f0;border-radius:9px;padding:11px;margin-top:17px}.tutor-tip>span{color:#d3a352}.tutor-tip strong{font-size:9px}.tutor-tip p{font-size:9px;color:#8f968c;line-height:1.4;margin:5px 0 0}.practice-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.65fr);gap:16px;align-items:stretch}.quiz-builder h2{font-size:18px;margin-bottom:20px}.field-label{display:block;font-size:10px;font-weight:700;margin-bottom:9px}.topic-checks{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.topic-check{position:relative}.topic-check input{position:absolute;opacity:0}.topic-check span{display:block;border:1px solid #e4eae4;border-radius:7px;padding:7px 10px;font-size:10px;color:#6f7c76;cursor:pointer}.topic-check input:checked+span{background:#edf5ef;border-color:#aecdb8;color:#416e5b;font-weight:700}.quiz-options{display:grid;gap:10px}.quiz-options label{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#66736d}.quiz-options select,.library-sources select{min-width:185px;border:1px solid #e5eae5;border-radius:7px;padding:8px;color:#53625b;background:white;font-size:10px}.quiz-note{margin:18px 0;padding:11px;border-radius:8px;background:#f6f8f4;color:#758079;font-size:9px;line-height:1.5}.quiz-note span{color:#c49a5c;margin-right:5px}.full{width:100%;justify-content:center}.quiz-aside{background:#edf4ef;display:flex;flex-direction:column;align-items:flex-start;padding:23px}.aside-illustration{width:60px;height:60px;border-radius:18px;background:#d7e8dc;color:#5f9479;display:grid;place-items:center;font-size:28px;margin-bottom:18px}.quiz-aside p{font-size:10px;line-height:1.6;color:#718078}.quiz-stat-row{width:100%;display:flex;justify-content:space-between;border-top:1px solid #dae6dc;padding:11px 0;color:#75817a;font-size:9px}.quiz-stat-row strong{color:#4d7662}.quiz-aside .text-link{margin-top:auto;padding-left:0}.hidden{display:none!important}.quiz-active,.quiz-report{margin-top:16px}.quiz-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.quiz-topline .eyebrow{margin:0}.quiz-progress{font-size:10px;color:#84918a}.quiz-active h2{font-size:20px;line-height:1.5;margin:12px 0 19px}.question-meta{display:flex;gap:6px;margin-top:12px}.question-meta span{border-radius:12px;background:#f0f4f0;padding:5px 8px;color:#6f8176;font-size:8px}.answer-options{display:grid;gap:8px}.answer-option{padding:11px;border:1px solid #e4eae5;background:white;border-radius:8px;text-align:left;font-size:11px}.answer-option.selected{border-color:#76a78a;background:#f0f7f1}.answer-option.correct{border-color:#79ad8e;background:#eff8f0}.answer-option.incorrect{border-color:#daa18c;background:#fff4ef}.answer-input{width:100%;border:1px solid #e2e9e3;border-radius:8px;padding:11px;font-size:11px;outline-color:#8fb99d}.feedback-box{margin:14px 0;padding:11px;background:#f2f8f2;border-left:3px solid #76a98c;border-radius:4px;font-size:10px;line-height:1.5}.feedback-box.wrong{background:#fff6f0;border-color:#d8a078}.quiz-controls{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.quiz-report h2{font-size:21px}.report-score{font:700 32px Manrope;color:#4d826b}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.report-tile{background:#f6f8f6;padding:12px;border-radius:8px}.report-tile strong{display:block;font-size:16px}.report-tile small{font-size:9px;color:#8b9690}.report-topics{display:flex;gap:7px;flex-wrap:wrap}.weak-tag{font-size:9px;border:1px solid #f0dfcc;background:#fff9f0;color:#a57743;padding:6px 9px;border-radius:12px}.strong-tag{background:#eff7f0;border-color:#d6e8da;color:#598268}.library-banner{display:flex;justify-content:space-between;align-items:center;background:#eaf2ec;border-radius:10px;padding:13px 16px;margin-bottom:15px}.library-banner strong{font-size:11px}.library-banner p{font-size:9px;color:#789087;margin:4px 0 0}.library-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:15px}.library-sources{min-height:260px}.library-sources .panel-heading select{min-width:115px}.source-list{display:grid}.source-row{display:flex;align-items:center;gap:11px;border-top:1px solid #f0f2f0;padding:12px 1px}.source-badge{height:36px;width:34px;border-radius:9px;background:#eef3ef;color:#648675;display:grid;place-items:center;font-size:9px;font-weight:700}.source-info{min-width:0;flex:1}.source-info strong{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-info small{font-size:9px;color:#9ba59f;display:block;margin-top:4px}.source-topics{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.source-topics span{font-size:7px;color:#789183;background:#f2f6f2;padding:3px 5px;border-radius:8px}.source-actions{display:flex;gap:5px}.source-actions button{border:0;background:none;color:#84918a;font-size:11px;padding:5px}.source-actions button:hover{color:#ad5b4a}.topic-tag-list{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 21px}.topic-tag{background:#f3f6f3;border:1px solid #edf0ed;border-radius:7px;padding:7px 9px;font-size:9px;color:#708078}.topic-tag b{font-size:8px;color:#9aa49f;margin-left:4px}.source-quality{border-top:1px solid #edf0ed;padding-top:15px;display:flex;gap:9px}.quality-icon{width:28px;height:28px;border-radius:8px;background:#eef6ed;display:grid;place-items:center;color:#79a27c}.source-quality strong{font-size:10px}.source-quality p{font-size:9px;color:#89958f;margin:4px 0 9px}.source-quality .progress-track{width:155px;height:4px}.empty-state{text-align:center;padding:30px 10px;color:#8c9892}.empty-state>span{font-size:25px;color:#9ab2a2}.empty-state h3{margin:7px 0}.empty-state p{font-size:10px}.source-method{display:flex;gap:12px;margin-top:15px;box-shadow:none;background:#fbfcfb}.method-icon{color:#8da99a}.source-method p{font-size:9px;color:#829089;line-height:1.65;margin:0}.source-method strong{font-size:10px;color:#53655c}.path-panel{padding:18px 23px}.path-legend{display:flex;gap:18px;justify-content:center;padding:5px 0 25px;font-size:9px;color:#87928c}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.legend-dot.mastered{background:#72a68a}.legend-dot.learning{background:#d8a45b}.legend-dot.next{background:#bdc9c1}.concept-map{max-width:810px;margin:0 auto 17px;display:flex;flex-direction:column;align-items:center;gap:19px;position:relative}.path-level{width:100%;display:flex;justify-content:center;gap:20px;position:relative}.path-level:not(:last-child):after{content:"";position:absolute;top:51px;height:19px;border-left:1px dashed #cdd8d0;left:50%;z-index:0}.concept-node{z-index:1;min-width:180px;max-width:220px;border:1px solid #e5ebe5;background:white;border-radius:10px;padding:11px 13px;box-shadow:0 2px 10px #233c2e0b}.concept-node strong{font-size:10px;display:block}.concept-node small{font-size:8px;color:#99a49e}.concept-node .progress-track{margin-top:8px;height:4px}.concept-node.mastered{border-color:#c9e1d1}.concept-node.mastered strong:after{content:"✓";float:right;color:#6a9d7f}.concept-node.learning{border-color:#edddc6}.concept-node.next{background:#fafbfa}.path-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;background:#f6f8f4;box-shadow:none}.path-note>span{color:#c9a15d}.path-note strong{font-size:10px}.path-note p{font-size:9px;color:#87928c;margin:4px 0 0;line-height:1.5}.progress-summary{display:grid;grid-template-columns:1.15fr .85fr;gap:15px;margin-bottom:15px}.progress-total .big-percent{font:700 42px Manrope;letter-spacing:-2px;margin:4px 0 10px}.big-percent small{font-size:17px;color:#7f8d86}.progress-total .progress-track{max-width:340px;margin-bottom:10px}.progress-total .muted{font-size:9px;margin-bottom:13px}.model-label{font-size:8px;color:#9aa59e;background:#f5f7f5;border-radius:5px;padding:6px 8px}.learner-insight{background:#f4f5fb}.insight-icon{float:right;color:#a092cc;font-size:20px}.learner-insight h3{font-size:14px;margin:8px 0}.learner-insight p:not(.eyebrow){font-size:10px;color:#818493;line-height:1.55}.mastery-list{display:grid}.mastery-row{display:grid;grid-template-columns:1.3fr 1fr 45px 78px;align-items:center;gap:12px;border-top:1px solid #eff1ef;padding:12px 2px}.mastery-row>strong{font-size:10px}.mastery-row .progress-track{height:5px}.mastery-number{text-align:right;font-weight:700;font-size:10px}.mastery-state{font-size:8px;color:#9a8a68;text-align:right}.mastery-state.strong{color:#63876e}.misconception-item{display:flex;gap:10px;padding:10px;background:#fffaf3;border-radius:8px;margin:7px 0}.misconception-item>span{color:#cd9a59}.misconception-item strong{font-size:10px}.misconception-item p{font-size:9px;color:#8b918b;margin:4px 0 0}.eval-notice{display:flex;gap:10px;background:#f2f5fb;border:1px solid #e6eaf3;border-radius:9px;padding:12px 14px;color:#748098;font-size:10px;line-height:1.55;margin-bottom:16px}.eval-notice>span{color:#8899c2}.eval-notice p{margin:0}.eval-notice strong{color:#556583}.eval-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:15px}.metric-card{background:white;border:1px solid #ebefeb;border-radius:11px;padding:15px}.metric-card small{color:#949f99;font-size:8px;letter-spacing:.6px;text-transform:uppercase}.metric-card strong{display:block;font:700 24px Manrope;margin:6px 0 3px;color:#426e5d}.metric-card span{font-size:8px;color:#a0aaa5}.eval-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sample-badge{background:#f3f5f3;border-radius:12px;color:#87938c;font-size:8px;padding:5px 8px}.eval-case{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid #f0f2f0}.eval-case>span:first-child{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:9px}.eval-case.pass>span:first-child{background:#edf6ef;color:#59856a}.eval-case.fail>span:first-child{background:#fff0ea;color:#bd775c}.eval-case div{min-width:0;flex:1}.eval-case strong{font-size:9px;display:block}.eval-case small{color:#9aa49f;font-size:8px}.eval-case em{font-style:normal;color:#71907e;font-size:8px}.sim-row{display:grid;grid-template-columns:1fr 75px 80px;gap:7px;padding:12px 0;border-top:1px solid #f0f2f0;align-items:center}.sim-row strong{font-size:9px}.sim-row span{font-size:8px;color:#819087}.sim-row b{font-size:9px;color:#548168}.eval-caveat{font-size:8px;line-height:1.5;margin:13px 0 0}.eval-method{margin-top:14px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.method-grid p{padding:10px;background:#f7f9f7;border-radius:7px;font-size:9px;line-height:1.55;color:#87938c;margin:0}.method-grid strong{color:#52665b;font-size:9px}.app-footer{display:flex;justify-content:space-between;color:#a0aaa5;font-size:8px;padding:22px 0 17px}.modal{border:0;border-radius:16px;padding:26px;width:min(470px,calc(100vw - 30px));box-shadow:0 20px 80px #20352e40;color:var(--ink)}.modal::backdrop{background:#1d302c70;backdrop-filter:blur(2px)}.modal form{position:relative}.modal-close{position:absolute;right:-10px;top:-14px;border:0;background:none;font-size:23px;color:#83908a}.modal h2{font-size:21px}.modal>form>p:not(.eyebrow){font-size:11px;line-height:1.6}.modal-icon{height:40px;width:40px;border-radius:12px;background:#eaf3ed;color:#5c9278;display:grid;place-items:center;font-size:18px;margin-bottom:17px}.drop-zone{border:1.5px dashed #b8cdc0;background:#f7faf7;border-radius:11px;text-align:center;padding:25px 10px;display:grid;justify-items:center;gap:6px;margin:18px 0;cursor:pointer}.drop-zone>span{width:28px;height:28px;border-radius:9px;background:#e6f0e8;display:grid;place-items:center;color:#5d9274;font-size:18px}.drop-zone strong{font-size:10px}.drop-zone strong u{color:#56816c}.drop-zone small{font-size:8px;color:#a0aaa5}.drop-zone.dragover{border-color:#5c9a77;background:#eef7f0}.modal-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0ed;padding-top:14px;color:#87928c;font-size:9px}.upload-item{padding:8px 0;border-top:1px solid #eef1ee;font-size:9px;color:#69776f}.upload-item.error{color:#b46f53}.citation-modal blockquote{border-left:3px solid #82a88f;background:#f5f8f5;padding:12px;margin:14px 0;color:#52625a;font-size:11px;line-height:1.65}.citation-location{font-size:9px;color:#70907d}.citation-open{margin-top:5px}@media(max-width:1050px){.main-content{padding:0 27px}.sidebar{width:220px}.main-content{margin-left:220px}.hero-art{right:-2%;opacity:.65}.tutor-layout,.library-content{grid-template-columns:1fr minmax(210px,.56fr)}}@media(max-width:800px){.sidebar{width:66px;padding:22px 8px}.brand{justify-content:center;padding:0}.brand>span:last-child,.course-switch,.nav-label,.nav-link:not(.active){display:none}.nav{margin-top:37px}.nav-link{justify-content:center;padding:12px 0;font-size:0}.nav-link>span{font-size:18px}.nav-link.active{font-size:0}.live-dot,.nav-link>b{display:none}.sidebar-bottom .streak-card{justify-content:center;padding:8px 0}.streak-card div,.streak-arrow,.user-row>span:nth-child(2),.user-row button{display:none}.user-row{justify-content:center}.main-content{margin-left:66px;padding:0 22px}.topbar{height:64px}.tutor-layout,.library-content,.practice-grid{grid-template-columns:1fr}.tutor-side{display:none}.hero-art{right:-22%;opacity:.45}.stats-grid{gap:8px}.stat-card{padding:13px;min-height:135px}.overview-grid{gap:10px}.eval-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:570px){.main-content{padding:0 15px}.topbar{height:56px}.breadcrumbs,.privacy-pill,.top-actions .round-button{display:none}.mobile-brand{display:flex;align-items:center;gap:6px;font:800 15px Manrope}.mobile-brand .brand-icon{width:24px;height:24px;font-size:15px;border-radius:8px 8px 8px 3px}.top-actions{margin-left:auto}.page{padding-top:23px}.welcome-row,.page-heading{align-items:flex-start;gap:12px}.welcome-row{flex-direction:column}.welcome-row .button{align-self:flex-start}.page-heading h1,.welcome-row h1{font-size:25px}.hero-card{height:auto;min-height:218px;padding:22px}.hero-card h2{font-size:21px}.hero-text{max-width:88%}.hero-art{right:-55%;opacity:.32}.stats-grid{grid-template-columns:1fr;gap:8px}.stat-card{min-height:119px}.overview-grid,.progress-summary,.eval-grid{grid-template-columns:1fr}.focus-row{grid-template-columns:30px 1fr 63px 32px;gap:6px}.focus-row .status-chip{font-size:7px}.panel{padding:15px}.chat-panel{min-height:590px}.chat-messages{padding:14px 12px}.message{max-width:95%}.suggestion-row{padding-left:12px}.chat-input-wrap{margin-left:11px;margin-right:11px}.grounded-badge{font-size:8px;padding:7px}.library-banner{gap:10px;align-items:flex-start;flex-direction:column}.library-banner .privacy-pill{display:flex}.source-actions{flex-direction:column}.mastery-row{grid-template-columns:1.1fr 1fr 36px}.mastery-state{display:none}.app-footer{flex-direction:column;gap:6px}.method-grid{grid-template-columns:1fr}.eval-metrics{gap:7px}.metric-card{padding:11px}.metric-card strong{font-size:20px}.concept-node{min-width:135px;padding:9px}.path-level{gap:8px}}
.review-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 14px}.review-summary{min-height:113px;padding:15px 17px;position:relative}.review-summary-icon{position:absolute;right:15px;top:14px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eaf3eb;color:#629071;font-size:16px}.review-summary-icon.gold{background:#faf0df;color:#c0914f}.review-summary-icon.lilac{background:#f0edfa;color:#8979ba}.review-summary .eyebrow{margin:1px 0 8px}.review-summary>strong{font:700 25px Manrope;display:block;letter-spacing:-.6px}.review-summary>small{display:block;color:#97a29b;font-size:9px;margin-top:3px}.review-today{display:flex;align-items:center;gap:6px;color:#688775;background:#f3f8f2;border:1px solid #e3ede1;border-radius:20px;padding:7px 10px;font-size:9px}.review-today i{width:6px;height:6px;background:#77a987;border-radius:50%}.review-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.72fr);gap:14px;align-items:start}.review-session{min-height:411px}.review-progress{font-size:9px;color:#89968e}.review-ready{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px}.ready-orbit{width:59px;height:59px;border-radius:19px;background:#edf5ee;color:#6d9b79;display:grid;place-items:center;font:24px Manrope;margin-bottom:17px}.review-ready h3{font-size:15px;margin:0 0 7px}.review-ready p{max-width:370px;color:#87938c;font-size:10px;line-height:1.6;margin-bottom:16px}.review-ready .button{font-size:10px}.plan-settings h2{font-size:16px;margin-bottom:17px}.plan-settings>label{display:block;font-weight:700;color:#69776f;font-size:9px;margin:12px 0 6px}.plan-settings input,.plan-settings select{width:100%;border:1px solid #e2e9e3;border-radius:7px;padding:9px 10px;background:#fff;color:#617168;font-size:10px}.plan-note{display:flex;gap:8px;background:#f7f8f2;border-radius:8px;padding:9px;margin-top:13px}.plan-note>span{color:#c49b5d}.plan-note p{color:#88938b;font-size:8px;line-height:1.5;margin:0}.plan-divider{height:1px;background:#edf0ed;margin:15px 0 12px}.weekly-plan{display:grid}.week-plan-row{display:grid;grid-template-columns:50px 1fr 20px;align-items:center;gap:7px;border-top:1px solid #f0f2f0;padding:8px 0}.week-date{font-size:8px;color:#88948c}.week-plan-row strong{font-size:8px;display:block}.week-plan-row small{font-size:7px;color:#a0aaa4;display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-count{text-align:right;font-size:8px;color:#6e9178}.review-evidence-note{display:flex;gap:10px;padding:12px 14px;background:#f4f6f2;border:1px solid #ebefea;border-radius:9px;margin-top:14px}.review-evidence-note>span{color:#8da391}.review-evidence-note p{font-size:9px;line-height:1.6;color:#849087;margin:0}.review-evidence-note b{color:#56695e}.flashcard{padding:4px 3px}.flashcard-meta{display:flex;justify-content:space-between;align-items:center}.flashcard-meta span:first-child{font-size:8px;font-weight:700;color:#58806a;background:#eff5ef;padding:5px 8px;border-radius:12px}.flashcard-meta span:last-child{font-size:8px;color:#9ba69f}.flashcard-prompt{font:600 20px/1.5 Manrope;color:#354b40;letter-spacing:-.35px;max-width:630px;margin:22px 0 9px}.flashcard-hint{font-size:9px;color:#94a097}.reveal-button{margin-top:20px}.flashcard-answer{background:#f7faf6;border:1px solid #e8efe6;border-radius:9px;padding:12px;margin:17px 0 10px}.flashcard-answer .eyebrow{margin:0 0 7px}.flashcard-answer>strong{display:block;color:#426a55;font-size:12px}.flashcard-answer>p:not(.eyebrow){font-size:9px;line-height:1.55;color:#829087;margin:7px 0}.flashcard-answer .citation-chip{margin-top:4px}.rating-prompt{font-size:9px;color:#79877e;margin:12px 0 7px}.rating-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.rating-buttons button{border:1px solid #e6ebe5;background:#fff;border-radius:7px;padding:8px 5px;color:#637168}.rating-buttons button:hover{border-color:#98baa0;background:#f4f8f3}.rating-buttons b,.rating-buttons small{display:block}.rating-buttons b{font-size:9px}.rating-buttons small{font-size:7px;color:#9aa49d;margin-top:4px}@media(max-width:800px){.review-layout{grid-template-columns:1fr}.review-summary-grid{gap:8px}.review-summary{padding:12px}.plan-settings{display:block}}@media(max-width:570px){.review-summary-grid{grid-template-columns:1fr}.review-summary{min-height:93px}.review-today{font-size:8px;padding:6px}.review-layout{gap:9px}.review-session{min-height:350px}.review-ready{min-height:260px;padding:10px}.flashcard-prompt{font-size:17px}.rating-buttons{grid-template-columns:repeat(2,1fr)}}
.evidence-panel{margin-top:14px}.evidence-explainer{font-size:9px;line-height:1.5;margin:-2px 0 10px}.evidence-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #eff1ef}.evidence-result{height:23px;width:23px;flex:0 0 23px;border-radius:8px;display:grid;place-items:center;font-size:10px}.evidence-result.success{background:#edf6ef;color:#5b906f}.evidence-result.retry{background:#fff4e9;color:#b98449}.evidence-detail{min-width:0;flex:1}.evidence-detail strong{display:block;font-size:9px}.evidence-detail small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#97a29b;font-size:8px;margin-top:4px}.evidence-outcome{font-size:8px;font-weight:700;white-space:nowrap}.evidence-outcome.success{color:#5d8c6d}.evidence-outcome.retry{color:#b27e48}.evidence-row .citation-chip{margin:0}@media(max-width:570px){.evidence-row{flex-wrap:wrap}.evidence-detail{min-width:calc(100% - 40px)}.evidence-outcome{margin-left:32px}.evidence-row .citation-chip{margin-left:auto}}

/* ---- Enhancements (Phase 1+) ---- */
.sidebar-tools{margin-top:14px;padding:10px 11px;border-top:1px solid var(--line);display:grid;gap:8px}
.tool-toggle{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#4b5a55;cursor:pointer}
.tool-toggle input{accent-color:var(--green)}
.tool-toggle small{display:block;font-weight:400;color:#9ba5a1;font-size:9px}
#llm-key{width:100%;border:1px solid #e2e9e3;border-radius:7px;padding:7px 9px;font-size:11px;background:#fff;color:#4b5a55}
.tool-row{display:flex;align-items:center;gap:8px}
.tool-row label{font-size:10px;font-weight:700;color:#69776f}
.tool-row select{flex:1;border:1px solid #e2e9e3;border-radius:7px;padding:6px 8px;font-size:11px;background:#fff;color:#4b5a55}
.tool-btn{border:1px solid #e2e9e3;background:#fff;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:600;color:#4b5a55;cursor:pointer;text-align:left}
.tool-btn:hover{background:#f5f7f5;border-color:#c8d2cc}
.tool-note{font-size:9px;color:#a7b0ab;line-height:1.5}
.mastery-chart-wrap{margin-top:14px}
.mastery-chart-wrap .eyebrow{margin-bottom:8px}
#mastery-chart{width:100%;background:#fbfcfb;border:1px solid #eef1ee;border-radius:10px}
#concept-canvas{width:100%;background:#fbfcfb;border:1px solid #eef1ee;border-radius:10px;cursor:pointer}
.llm-answer{line-height:1.7;font-size:12px}
.llm-answer+.citation-chip,.llm-answer+div .citation-chip{margin-top:8px}
.testset-editor{display:grid;gap:8px;margin:12px 0}
.testset-row{display:flex;gap:8px;align-items:center}
.testset-row .ts-q{flex:1;border:1px solid #e2e9e3;border-radius:7px;padding:8px 10px;font-size:11px;background:#fff;color:#4b5a55;min-width:0}
.testset-row .ts-src{border:1px solid #e2e9e3;border-radius:7px;padding:8px;font-size:11px;background:#fff;color:#4b5a55;max-width:200px}
.testset-row .ts-del{border:0;background:#f3f5f3;color:#a33;border-radius:6px;width:28px;height:28px;font-size:16px;cursor:pointer}
.testset-row .ts-del:hover{background:#fbe9e7}
.llm-eval-results{margin-top:12px}
.llm-eval-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px}
.llm-eval-grid>div{background:#fbfcfb;border:1px solid #eef1ee;border-radius:10px;padding:12px;text-align:center}
.llm-eval-grid small{display:block;font-size:9px;color:#97a29b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.llm-eval-grid strong{font:800 22px Manrope;color:var(--green-dark)}
.review-export-row{display:flex;gap:10px;margin:0 0 14px}
.sim-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #eff1ef;font-size:11px}
.sim-row span{flex:1;color:#87938c}
.sim-row b{color:var(--green-dark);white-space:nowrap}
@media(max-width:570px){.llm-eval-grid{grid-template-columns:repeat(2,1fr)}.testset-row{flex-wrap:wrap}.testset-row .ts-src{max-width:none;flex:1}}
#diagnose-btn{margin-top:8px}
.diagnosis-card{background:#fbfcfb;border:1px solid #eef1ee;border-radius:10px;padding:14px;margin-top:10px}
.diagnosis-card h4{margin:0 0 6px;font-size:12px;color:var(--green-dark)}
.diagnosis-card p{margin:0 0 8px;font-size:11px;line-height:1.6;color:#5a6a64}
.diagnosis-card .repair{background:#f0f7f2;border-left:3px solid var(--green);padding:10px 12px;border-radius:0 8px 8px 0;font-size:11px;line-height:1.6}
.diagnosis-card .diag-type{display:inline-block;background:#e8f2ea;color:#416d5a;font-size:9px;font-weight:700;padding:2px 8px;border-radius:10px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}

/* ---- Cross-source disagreement panel ---- */
.disagreement-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.disagreement-item{display:flex;gap:10px;align-items:flex-start;background:#fdf6ee;border:1px solid #f0e2d0;border-radius:10px;padding:10px 12px}
.disagreement-item p{margin:4px 0 2px;font-size:13px;color:#5c5347}
.disagreement-item small{color:#8a7f70;font-size:11px}
.disagreement-severity{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#fff}
.disagreement-severity.high{background:#d9534f}
.disagreement-severity.low{background:#f0ad4e}

/* ---- Flashcard mode (Leitner) ---- */
.flashcard-mode{position:relative;background:#fff;border:1px solid #e4e7e1;border-radius:16px;padding:26px 22px 20px;box-shadow:0 10px 30px rgba(31,45,38,.07);text-align:center;max-width:620px;margin:0 auto}
.flashcard-box{position:absolute;top:-11px;left:50%;transform:translateX(-50%);color:#fff;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:4px 12px;border-radius:999px}
.flashcard-inner{min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.flashcard-front h3{font-size:20px;line-height:1.4;margin:6px 0}
.flashcard-hint{color:#9aa39b;font-size:12px}
.flashcard-back{background:#f4f7f3;border-radius:12px;padding:14px;text-align:left;display:flex;flex-direction:column;gap:6px}
.flashcard-back strong{font-size:16px;color:#1f2d26}
.flashcard-back p{font-size:13px;color:#5d6a62;margin:0}
.flashcard-rating{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.flashcard-rating button{border:1px solid #dfe4dd;background:#fafbf9;border-radius:10px;padding:9px 4px;cursor:pointer;display:flex;flex-direction:column;gap:2px;align-items:center;transition:.15s}
.flashcard-rating button:hover{border-color:#416d5a;background:#eef5f0;transform:translateY(-1px)}
.flashcard-rating button b{font-size:13px;color:#1f2d26}
.flashcard-rating button small{font-size:10px;color:#8a938c}
.flashcard-rating button[data-frate="again"]:hover{border-color:#d9534f;background:#fdf0ef}
.flashcard-rating button[data-frate="easy"]:hover{border-color:#3498db;background:#eef6fc}

/* ---- Study plan ---- */
.study-plan-output{margin-top:10px}
.study-plan-summary{display:flex;gap:14px;margin-bottom:10px;flex-wrap:wrap}
.study-plan-summary span{background:#eef5f0;color:#416d5a;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}
.study-plan-list{display:flex;flex-direction:column;gap:6px}
.study-plan-day{display:flex;align-items:center;gap:12px;background:#fafbf9;border:1px solid #e8ebe5;border-radius:10px;padding:9px 12px}
.study-plan-day.exam-day{border-color:#d9534f;background:#fdf3f2}
.study-plan-date{flex:0 0 110px;font-size:12px;font-weight:700;color:#3a463f}
.study-plan-topics{flex:1;display:flex;gap:6px;flex-wrap:wrap}
.study-plan-topic{background:#eef2ec;color:#4a5a51;font-size:11px;padding:3px 9px;border-radius:999px}
.study-plan-min{font-size:12px;font-weight:700;color:#416d5a}
