@import url('data:text/css,');
:root{--green:#28483b;--green2:#3f6a55;--cream:#f4f0e7;--paper:#fffdf8;--ink:#17231d;--muted:#6c746f;--gold:#d9a94f;--line:#dfe4df;--blue:#dce9ef;--shadow:0 20px 55px rgba(32,55,44,.14)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:800;margin:0 0 12px}.green{color:var(--green2)}.muted{color:var(--muted);line-height:1.6}.error{color:#a33a33;min-height:1.3em;font-size:.88rem}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.brand-panel{background:var(--green);color:white;padding:9vh 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-150px;bottom:-130px;box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.02)}.brand-mark,.logo span{width:58px;height:58px;border:1px solid var(--gold);display:grid;place-items:center;font-family:Georgia,serif;color:var(--gold);font-size:1.25rem}.brand-panel h1{font-family:Georgia,serif;font-size:clamp(3rem,5vw,5.4rem);line-height:.98;font-weight:500;margin:35px 0 24px;max-width:760px}.brand-panel h1 em{color:#e2c47d}.brand-panel>p:not(.eyebrow){max-width:590px;font-size:1.08rem;line-height:1.7;color:#d8e1dc}.level-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.level-tags span{border:1px solid #769183;border-radius:999px;padding:9px 14px;font-size:.78rem}.login-card{background:var(--paper);padding:8vw;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-family:Georgia,serif;font-size:2.7rem;margin:0}.login-card label,#passwordForm label{font-size:.8rem;font-weight:750;letter-spacing:.03em;margin:14px 0 0}.login-card input,#passwordForm input{display:block;width:100%;padding:15px 14px;border:1px solid #ccd3ce;background:white;margin-top:7px;border-radius:3px;outline:none}.login-card input:focus,#passwordForm input:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(63,106,85,.1)}.primary{border:0;background:var(--green);color:white;padding:15px 19px;border-radius:3px;font-weight:750;display:flex;justify-content:space-between;align-items:center}.login-card small{text-align:center;margin-top:20px;color:#919791}.dashboard{min-height:100vh;background:#f7f5ef}header{height:76px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:50px;position:sticky;top:0;z-index:3}.logo{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none}.logo span{width:40px;height:40px;font-size:.85rem}.logo b{font-family:Georgia,serif;font-size:1.25rem}header nav{display:flex;align-self:stretch;gap:25px}header nav button{border:0;background:transparent;color:var(--muted);font-size:.85rem;position:relative}.nav-active{color:var(--green)!important;font-weight:750}.nav-active:after{content:"";position:absolute;height:2px;background:var(--gold);left:0;right:0;bottom:0}.user-zone{margin-left:auto;display:flex;align-items:center;gap:12px}.user-zone span{font-size:.84rem;font-weight:700}.user-zone button{border:1px solid var(--line);background:white;width:35px;height:35px;border-radius:50%}.dash-body{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 76px)}aside{padding:32px 22px;border-right:1px solid var(--line);background:#f0eee7}.aside-title{font-size:.62rem;letter-spacing:.16em;font-weight:800;color:#92978f;margin:10px 10px 12px}.level-btn,.subject-btn{width:100%;border:0;text-align:left;background:transparent;padding:11px 12px;border-radius:5px;color:#57605b;margin:2px 0}.level-btn.active,.subject-btn.active{background:var(--green);color:white;font-weight:700}.subject-btn{display:flex;justify-content:space-between}.subject-btn small{opacity:.65}.ai-status{border-top:1px solid #d6d8d1;margin-top:28px;padding:23px 9px;display:flex;align-items:center;gap:10px}.pulse{width:9px;height:9px;border-radius:50%;background:#a4a9a5}.pulse.on{background:#4aa66d;box-shadow:0 0 0 5px rgba(74,166,109,.12)}.ai-status b,.ai-status small{display:block;font-size:.76rem}.ai-status small{color:var(--muted);margin-top:3px}.content{padding:48px 5vw 70px;min-width:0}.welcome-row{display:flex;justify-content:space-between;align-items:center}.welcome-row h1,.sources-view h1{font-family:Georgia,serif;font-weight:500;font-size:3.1rem;margin:0}.progress-ring{width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--gold) var(--pct,0%),#e4e5e0 0);display:grid;place-content:center;text-align:center;position:relative}.progress-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#f7f5ef}.progress-ring>*{position:relative}.progress-ring b{font-family:Georgia,serif;font-size:1.45rem}.progress-ring small{font-size:.6rem;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border:1px solid var(--line);margin:32px 0 48px}.stats div{padding:22px 25px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats b{font-family:Georgia,serif;font-size:1.8rem;display:block;color:var(--green)}.stats span{font-size:.75rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-heading h2{font-family:Georgia,serif;font-size:2rem;margin:0}.section-heading select{padding:10px 14px;border:1px solid var(--line);background:white}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px}.lesson-card{border:1px solid var(--line);background:var(--paper);padding:22px;text-align:left;min-height:205px;display:flex;flex-direction:column;transition:.2s;border-radius:4px}.lesson-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#b9c6be}.lesson-card .card-top{display:flex;justify-content:space-between;color:var(--green2);font-size:.68rem;font-weight:800;letter-spacing:.08em}.lesson-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.34rem;margin:20px 0 10px}.lesson-card p{font-size:.8rem;color:var(--muted);line-height:1.55;margin:0}.lesson-card .card-bottom{margin-top:auto;padding-top:15px;display:flex;justify-content:space-between;font-size:.7rem;color:#8a908c}.status-dot{color:#4a9665}.sources-view{max-width:850px}.sources-view>p{max-width:720px}.source-card{display:flex;justify-content:space-between;align-items:center;padding:22px;border:1px solid var(--line);background:var(--paper);margin-top:12px}.source-card a{color:var(--green);font-weight:800;text-decoration:none}dialog{border:0;border-radius:8px;padding:0;width:min(820px,94vw);max-height:90vh;box-shadow:0 30px 90px rgba(0,0,0,.3);background:var(--paper)}dialog::backdrop{background:rgba(17,31,25,.72);backdrop-filter:blur(4px)}.close{position:absolute;right:18px;top:16px;border:0;background:#eef0eb;width:35px;height:35px;border-radius:50%;font-size:1.5rem}.lesson-hero{background:var(--green);color:white;padding:42px 48px 32px}.lesson-hero h2{font-family:Georgia,serif;font-size:2.4rem;font-weight:500;margin:8px 0}.lesson-hero p{color:#d7e0db;line-height:1.6}.lesson-body{padding:30px 48px 45px}.lesson-body h3{font-family:Georgia,serif;font-size:1.45rem}.lesson-body li{margin:10px 0;line-height:1.5}.method-box{background:var(--cream);padding:18px 23px;border-left:3px solid var(--gold)}.lesson-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.secondary{border:1px solid var(--green);background:white;color:var(--green);padding:13px 17px;font-weight:750}.exercise{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.question{padding:18px 0;border-bottom:1px solid var(--line)}.question b{display:block;margin-bottom:12px}.choices{display:grid;gap:8px}.choice{border:1px solid var(--line);background:white;text-align:left;padding:11px;border-radius:4px}.choice.good{border-color:#3d8b5b;background:#e8f5ed}.choice.bad{border-color:#b75959;background:#faecec}.explanation{font-size:.8rem;color:var(--muted);margin-top:8px}.chatbox{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.chat-reply{background:var(--blue);padding:15px;line-height:1.6;white-space:pre-wrap;margin:10px 0}.chat-form{display:flex;gap:8px}.chat-form input{flex:1;padding:12px;border:1px solid var(--line)}#passwordDialog{padding:35px;width:min(460px,92vw)}#passwordDialog h2{font-family:Georgia,serif;font-size:2rem;margin:0}.loading{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.brand-panel{min-height:42vh;padding:50px 8vw}.brand-panel h1{font-size:3rem;margin:20px 0}.login-card{padding:55px 9vw}.dash-body{grid-template-columns:1fr}aside{border:0;padding:15px;position:sticky;top:76px;z-index:2;display:flex;overflow:auto;gap:5px}aside .aside-title,.ai-status{display:none}.level-btn,.subject-btn{width:auto;white-space:nowrap;background:white;border:1px solid var(--line)}header{padding:0 15px;gap:15px}header nav{display:none}.content{padding:30px 18px}.welcome-row h1{font-size:2.2rem}.progress-ring{width:88px;height:88px}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--line)}.lesson-body,.lesson-hero{padding-left:25px;padding-right:25px}}
