:root{--ink:#17211e;--green:#113b34;--green2:#1e6659;--gold:#f4c95d;--paper:#f4f1e8;--white:#fffdf7;--line:#d7d5ca;--muted:#69736f;--shadow:0 18px 60px #15342c18;font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% -10%,#f4c95d33,transparent 28%),var(--paper)}button,input,select,textarea{font:inherit}a{color:inherit}.topbar{height:78px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #113b3420;background:#f4f1e8e8;backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:20px;font-weight:800}.brand small{display:block;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.04em}.mark{width:38px;height:38px;border-radius:11px;background:var(--green);color:var(--gold);display:grid;place-items:center;font-family:Georgia,serif;font-size:25px}.topbar nav{display:flex;align-items:center;gap:14px}.topbar form{display:inline}.avatar{width:34px;height:34px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-weight:800}.sync{font-size:13px;color:var(--muted)}.sync i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2f9b73;margin-right:5px}.quiet{border:0;background:transparent;color:var(--muted);cursor:pointer}.primary{border:0;border-radius:10px;background:var(--green);color:white;padding:12px 18px;font-weight:750;cursor:pointer}.primary:hover{background:var(--green2)}main{max-width:1480px;margin:auto;padding:clamp(28px,5vw,70px)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(38px,6vw,72px);line-height:.98;letter-spacing:-.04em}h2{font-size:21px}h3{line-height:1.25}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--green2);margin-bottom:16px}.auth-shell{min-height:calc(100vh - 150px);display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:8vw}.auth-story{max-width:720px}.auth-story p{font-size:20px;max-width:650px;color:var(--muted)}.motif{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}.motif span,.pill{border:1px solid #113b3430;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}.auth-card,.panel,.content-section,.assistant{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-card{padding:28px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs button{flex:1;padding:12px;border:0;background:none;color:var(--muted);font-weight:700;cursor:pointer}.tabs button.active{color:var(--green);border-bottom:3px solid var(--green)}label{display:block;font-weight:700;font-size:14px;margin-bottom:17px}input,select,textarea{display:block;width:100%;border:1px solid #c9cdc8;border-radius:9px;background:white;padding:11px 12px;margin-top:6px;color:var(--ink)}textarea{min-height:100px}.auth-card .primary{width:100%}.hidden{display:none!important}.hint,.muted{font-size:13px;color:var(--muted);margin-top:16px}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.page-head h1{font-size:clamp(38px,5vw,64px);margin-bottom:10px}.page-head p{color:var(--muted)}.dashboard-grid,.course-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:28px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-title h2{margin:0}.section-title span{font-size:13px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course-card{position:relative;overflow:hidden;text-decoration:none;padding:26px;background:var(--green);color:white;min-height:220px;border-radius:17px;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:.2s transform}.course-card:nth-child(2n){background:#705d36}.course-card:hover{transform:translateY(-3px)}.course-card:after{content:'B';position:absolute;right:-5px;bottom:-58px;font:190px Georgia;color:#ffffff0d}.course-code{color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.1em}.course-card h3{font:30px Georgia;margin:16px 0 8px;max-width:85%}.course-card p{color:#ffffffb8;font-size:14px}.course-foot{display:flex;justify-content:space-between;margin-top:auto;font-size:12px}.panel{padding:24px;margin-bottom:20px}.list-row{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.list-row time{width:42px;font-weight:800;color:var(--green2)}.list-row small,.bot small{display:block;color:var(--muted)}.notice{padding:13px 0;border-bottom:1px solid var(--line)}.notice p{font-size:14px;color:var(--muted);margin:5px 0}.empty{padding:30px;border:1px dashed #abb6b0;border-radius:14px;color:var(--muted)}dialog{border:0;border-radius:18px;width:min(680px,92vw);padding:28px;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#061d19a8}.modal-head{display:flex;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.course-hero{background:var(--green);color:white;border-radius:22px;padding:clamp(28px,5vw,64px);margin-bottom:24px;position:relative;overflow:hidden}.course-hero:after{content:'ŋ';position:absolute;right:4%;bottom:-80px;font:260px Georgia;color:#ffffff0b}.course-hero>a{font-size:13px;color:#ffffffb5}.course-hero .eyebrow{color:var(--gold);margin-top:44px}.course-hero h1{font-size:clamp(38px,5vw,68px);margin-bottom:14px}.course-hero h1 span{display:block;font:400 .48em/1.3 system-ui;color:#ffffffc8;letter-spacing:0}.course-hero p{color:#ffffffa8}.subnav{display:flex;gap:8px;overflow:auto;margin:0 0 20px}.subnav a{white-space:nowrap;text-decoration:none;background:#e4e4da;border-radius:99px;padding:8px 13px;font-size:13px;font-weight:700}.content-section{padding:26px;margin-bottom:20px;box-shadow:none}.lecture{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line)}.lecture-no{font:28px Georgia;color:var(--green2)}.lecture time{font-size:12px;color:var(--muted)}.lecture h3{margin:3px 0}.lecture p{color:var(--muted)}details summary{cursor:pointer;font-weight:700}.assignment{display:flex;justify-content:space-between;gap:30px;padding:22px 0;border-top:1px solid var(--line)}.assignment h3{margin:10px 0 5px}.assignment p{color:var(--muted)}.deadline{text-align:right;min-width:150px}.deadline>*{display:block}.deadline small,.deadline span{color:var(--muted)}.inline-form{display:flex;align-items:end;gap:12px}.inline-form label{flex:1;margin:0}.assistant{padding:20px;background:var(--green);color:white;position:sticky;top:100px;margin-bottom:20px}.assistant-head{display:flex;gap:12px}.assistant-head h2{margin-bottom:2px}.assistant-head p{font-size:12px;color:#ffffffa5}.spark{color:var(--gold);font-size:26px}#chat{height:290px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px 0}.bot,.me{max-width:88%;padding:11px 13px;border-radius:12px;font-size:14px}.bot{background:#ffffff13}.me{background:var(--gold);color:var(--ink);align-self:flex-end}#ask-form{display:flex;gap:7px}#ask-form input{margin:0;background:white}#ask-form button{border:0;border-radius:9px;background:var(--gold);font-weight:800}.publish{margin-top:16px}.publish form{margin-top:15px}.toast{position:fixed;top:88px;right:20px;background:var(--green);color:white;padding:12px 18px;border-radius:10px;z-index:50;box-shadow:var(--shadow)}.toast.error{background:#8a2f2f}@media(max-width:900px){.auth-shell,.dashboard-grid,.course-layout{grid-template-columns:1fr}.auth-story{padding-top:20px}.auth-story h1{font-size:48px}.course-grid{grid-template-columns:1fr 1fr}.assistant{position:static}.topbar{padding:0 18px}.sync{display:none}}@media(max-width:600px){main{padding:22px 14px}.course-grid,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.course-card{min-height:190px}.page-head{align-items:start;gap:18px}.page-head .primary{white-space:nowrap}.auth-story p{font-size:17px}.topbar .quiet{font-size:0}.topbar .quiet:after{content:'Exit';font-size:14px}.assignment{display:block}.deadline{text-align:left;margin-top:16px}.inline-form{display:block}.inline-form button{width:100%;margin-top:10px}}
