:root{--ink:#183e37;--muted:#64766f;--green:#246451;--pale:#eaf1e9;--paper:#f6f7f2;--line:#dbe3da;--white:#fff;--accent:#e8b768}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,input,textarea,select{font:inherit}button,.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:16px;min-height:46px;padding:11px 20px;font-weight:600;text-decoration:none;display:inline-flex}button:disabled{opacity:.6;cursor:wait}button.secondary,.button.secondary{background:var(--pale);color:var(--ink)}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #b8c9be;border-radius:8px;padding:12px}textarea{resize:vertical;min-height:160px}label{margin-bottom:8px;font-weight:600;display:block}form{gap:12px;display:grid}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.2px;font-size:clamp(2rem,5vw,3.3rem);font-weight:600;line-height:1.12}h2{font-size:1.5rem;line-height:1.3}h3{font-size:1.1rem}p{margin-bottom:18px}.muted{color:var(--muted);font-size:.9rem}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--green);margin-bottom:14px;font-size:.72rem;font-weight:700}.brand{letter-spacing:-.5px;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:9px;padding:0 10px;font-family:Georgia,serif;font-size:1.7rem}.landing{max-width:1100px;margin:auto;padding:45px 24px}.landing .eyebrow{margin-top:100px}.landing h1{max-width:900px;font-family:Georgia,serif;font-size:clamp(3rem,7vw,5.5rem)}.landing em{color:var(--green);font-weight:400}.lede{max-width:520px;color:var(--muted);margin:28px 0;font-size:1.2rem}.landing-note{color:var(--muted);margin-top:60px;font-size:.85rem}.auth-page{max-width:550px;margin:50px auto;padding:20px}.auth-page .brand{margin-bottom:36px}.card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:20px;padding:28px}.auth-page h1{font-size:2rem}.workspace-link{text-decoration:none;display:block}.skip{z-index:100;background:#fff;padding:12px;position:absolute;top:-80px;left:15px}.skip:focus{top:10px}:focus-visible{outline-offset:3px;outline:3px solid #b27b22}.shell-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{flex-wrap:wrap;align-items:center;gap:24px;max-width:1240px;margin:auto;padding:18px 24px;display:flex}.header-inner nav{align-items:center;gap:22px;margin-left:auto;font-size:.9rem;display:flex}.header-inner nav a{text-decoration:none}.workspace-name{border-left:1px solid var(--line);color:var(--muted);padding-left:24px}.page{max-width:1200px;margin:auto;padding:36px 24px 80px}.page-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:28px;display:flex}.page-heading h1{font-size:2.5rem}.badge{background:var(--pale);border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge.online{color:#22663e;background:#d8efde}.learning-grid{grid-template-columns:250px minmax(0,1fr);gap:32px;display:grid}.stage-nav{align-self:start;position:sticky;top:20px}.stage-nav a{border-left:3px solid var(--green);background:var(--pale);border-radius:0 7px 7px 0;margin-top:10px;padding:12px;text-decoration:none;display:block}.stage-nav h3{margin-bottom:6px}.progress-track{background:var(--line);border-radius:9px;height:6px;margin:12px 0;overflow:hidden}.progress-track span{background:var(--green);height:100%;display:block}.article-head{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:22px}.article-head h2{font-family:Georgia,serif;font-size:2rem;line-height:1.2}.reading-section p{color:#425951;line-height:1.85}.reading-section{scroll-margin-top:24px}.question-card{background:#f2f6ef;border:1px solid #d5e1ce;border-radius:12px;margin:28px 0;padding:24px}.context{color:var(--muted);border-left:2px solid var(--accent);margin-bottom:16px;padding-left:10px;font-size:.8rem}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.save-status{color:var(--muted);min-height:24px;font-size:.85rem}.error{color:#a32c24}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.stat{margin:0;padding:20px}.stat strong{font-size:2rem;display:block}.dashboard-grid{grid-template-columns:1.1fr 1fr;gap:24px;display:grid}.list-row{border-bottom:1px solid var(--line);padding:16px 0}.list-row:last-child{border:0}.list-row p{margin:5px 0}.row-top{justify-content:space-between;gap:12px;display:flex}.conversation-button{text-align:left;width:100%;color:var(--ink);border:1px solid var(--line);background:0 0;margin:8px 0;display:block}.conversation-button.selected{background:var(--pale);border-color:var(--green)}.message{background:var(--paper);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:12px 0;padding:14px 16px}.message.mine{background:var(--pale);margin-left:24px}.message small{color:var(--muted);margin-bottom:6px;font-size:.75rem;display:block}.message-log{max-height:460px;padding-right:5px;overflow:auto}.resource-list a{padding:12px 0;display:block}.empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:10px;padding:24px}.text-button{color:var(--muted);background:0 0;min-height:36px;padding:0;font-size:.85rem}.footer-note{color:var(--muted);margin-top:28px;font-size:.8rem}.response-text{white-space:pre-wrap;overflow-wrap:anywhere}.split{grid-template-columns:300px minmax(0,1fr);gap:24px;display:grid}@media (max-width:760px){.header-inner{gap:12px;padding:14px 18px}.workspace-name{padding-left:12px}.header-inner nav{justify-content:space-between;width:100%;margin:0}.page{padding:26px 16px 60px}.page-heading h1{font-size:2rem}.learning-grid,.dashboard-grid,.split{grid-template-columns:1fr;gap:16px}.stage-nav{position:static}.card{padding:20px}.stats{gap:8px}.stat{padding:12px;font-size:.78rem}.stat strong{font-size:1.5rem}.landing .eyebrow{margin-top:70px}.page-heading{flex-wrap:wrap}.article-head h2{font-size:1.7rem}.question-card{padding:18px}.actions button{flex:1}.message.mine{margin-left:12px}}
