:root{--navy:#152a3c;--ivory:#f9f6ee;--cream:#efe8da;--clay:#97684f;--muted:#77736e;--line:#152a3c18;--serif:"Iowan Old Style",Palatino,Georgia,serif;--sans:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--navy);font-family:var(--sans);font-size:15px}a{color:inherit}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h1{font-size:clamp(32px,4vw,46px);margin:9px 0}h2{font-size:27px}h3{font-size:16px}p{line-height:1.6}small,.small{font-size:13px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:600;color:var(--clay)}.shell{display:flex;min-height:100dvh}.sidebar{width:245px;flex-shrink:0;background:var(--navy);color:white;padding:32px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{font-family:var(--serif);font-size:36px;text-decoration:none;display:block}.brand span{display:block;font:10px var(--sans);letter-spacing:.4em;margin-top:6px}.sidebar nav{display:grid;gap:8px;margin-top:40px}.sidebar nav a{padding:14px 16px;border-radius:12px;color:#dfdfdf;text-decoration:none}.sidebar nav .active{background:var(--clay);color:white}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff25;padding-top:20px}.sidebar-bottom small{color:#c5c5c5}.logout{background:transparent;border:0;color:#ddd;padding:20px 0 0}main{padding:24px 40px 50px;flex:1;min-width:0;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;font-size:10px;letter-spacing:.2em;color:var(--muted)}.avatar{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--clay);color:white;flex-shrink:0;letter-spacing:0}.card{border:1px solid var(--line);background:white;border-radius:20px;padding:24px;box-shadow:0 4px 16px #152a3c04}.section-title{margin:28px 0 16px}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.course-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.course-card .button{margin-top:auto}.course-mark{background:var(--cream);color:var(--clay);font-family:var(--serif);font-size:38px;width:64px;height:64px;border-radius:16px;display:grid;place-items:center}.primary,.secondary,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:30px;padding:12px 22px;font-size:12px;font-weight:600;text-decoration:none;letter-spacing:.05em;border:1px solid var(--navy);background:white;color:var(--navy)}.primary{background:var(--navy);color:white}.secondary{border-color:#152a3c40}.button:hover,button:hover{filter:brightness(.95)}:focus-visible{outline:2px solid var(--clay);outline-offset:3px}.progress-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:25px}.pill{background:#eaf3ed;color:#28654a;padding:7px 12px;border-radius:20px;font-size:12px}.empty{grid-column:1/-1;padding:35px}.editor,.editors,.completion{margin-top:24px}summary{font-weight:600;padding:4px 0}form{display:grid;gap:14px;margin-top:18px}form button{justify-self:start}label{display:grid;gap:7px;font-size:13px}input,select,textarea{width:100%;min-width:0;min-height:44px;border:1px solid #152a3c30;border-radius:9px;padding:10px 12px;background:white;color:var(--navy)}textarea{resize:vertical}.check{display:flex;align-items:center}.check input{width:18px;min-height:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.team-list{display:grid;gap:14px;margin-top:24px}.identity{display:flex;align-items:center;gap:14px}.member details{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.assignment-list{padding:0;list-style:none}.assignment-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.assignment-list form{margin:0}.lesson{white-space:pre-wrap;line-height:1.9;margin-top:24px;overflow-wrap:anywhere}.back{font-size:13px;text-decoration:none;color:var(--clay)}header{margin-top:18px}.notice{background:#edf5ef;padding:14px;border-radius:12px;margin-bottom:16px;line-height:1.5}.error{background:#fff0ed;color:#a12c20}.completion p{margin:12px 0}.login-shell{display:grid;place-items:center;min-height:100dvh;max-width:none;padding:25px}.login{max-width:460px;width:100%;padding:36px}.login .brand{margin-bottom:30px}.login .small{margin-top:20px}.login h1{font-size:34px}.login button{width:100%}@media(max-width:850px){.sidebar{width:180px;padding:25px 15px}.brand{font-size:28px}main{padding:22px}.form-grid{grid-template-columns:1fr}}@media(max-width:600px){.shell{display:block}.sidebar{height:auto;position:static;width:100%;padding:18px 20px}.sidebar .brand{font-size:27px}.sidebar nav{margin-top:20px;display:flex;flex-wrap:wrap}.sidebar nav a{padding:10px 14px;font-size:13px}.sidebar-bottom{margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px}.logout{padding:0}.sidebar-bottom form{margin:0;margin-left:auto}.sidebar-bottom small{display:none}main{padding:20px 16px 35px}.topbar{margin-bottom:20px}.card{padding:20px}.progress-summary{align-items:flex-start;flex-direction:column}.assignment-list li{align-items:flex-start;flex-direction:column}.login{padding:25px}}
