@charset "UTF-8";
:root{--ink:#212333;--muted:#707181;--purple:#5b45e0;--purple-dark:#4934c2;--line:#e6e7ee;--page:#f7f8fc;--white:#fff;--radius:16px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}h1,h2,h3,p{margin:0}button,input,summary{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;border:0;background:none}a{color:inherit}svg{width:20px;height:20px;display:block;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #8876f3;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:20px;background:var(--purple);color:white;padding:12px 20px;z-index:10;border-radius:8px}.skip-link:focus{top:15px}
.app-shell{display:flex;min-height:100vh}.sidebar{width:224px;flex:0 0 224px;background:#fff;border-right:1px solid var(--line);padding:31px 19px 24px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:29px;font-weight:750;letter-spacing:-1.5px;margin:0 7px 36px;line-height:1.3}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--purple);border-radius:10px;color:#fff;font-size:28px;line-height:1;letter-spacing:-1px;font-weight:600}.brand-period{color:var(--purple);margin-left:-9px}.space{display:flex;align-items:center;gap:11px;padding:13px 10px;border:1px solid var(--line);border-radius:12px;margin-bottom:33px;background:#fbfbfe}.space-icon{width:34px;height:34px;display:grid;place-items:center;background:#ebecf4;color:#4e5167;border-radius:9px;font-weight:650;font-size:15px}.space strong{font-size:14px;display:block}.space div>span{font-size:12px;color:var(--muted);display:block;margin-top:1px}.nav-heading{display:flex;justify-content:space-between;align-items:center;margin:0 10px 13px}.group-label,.tiny-label,.edition{font-size:12px;letter-spacing:1px;font-weight:600;color:var(--muted)}.nav-heading .tiny-label{letter-spacing:0;font-weight:400}#subject-nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;min-height:45px;border-radius:9px;font-size:14px;color:#626477;transition:background .15s,color .15s}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#f4f3fc;color:var(--purple)}.nav-item.active{background:#eeebff;color:var(--purple);font-weight:650}.nav-count{margin-left:auto;font-size:12px;min-width:22px;text-align:center;color:#878998}.active .nav-count{color:var(--purple);background:white;border-radius:5px}.sidebar-foot{margin-top:auto;padding:44px 10px 0}.draft-label{display:inline-flex;padding:4px 7px;border:1px solid var(--line);border-radius:5px;font-size:12px;letter-spacing:1px;color:#676979;font-weight:600}.sidebar-foot p{margin-top:13px;color:var(--muted);font-size:14px;line-height:1.7}.edition{display:block;border-top:1px solid var(--line);padding-top:20px;margin-top:23px;letter-spacing:.6px;font-weight:400}
.workspace{flex:1;min-width:0}.topbar{height:77px;padding:0 38px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.breadcrumb{display:flex;align-items:center;gap:12px;color:#77798b}.breadcrumb svg{width:17px;height:17px}.breadcrumb .slash{color:#c2c3ce;margin:0 5px}.breadcrumb strong{font-weight:500;color:#343649}.student-label{font-size:12px;color:var(--muted)}main{padding:34px 38px 0;max-width:1510px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.eyebrow{color:var(--muted);font-size:12px;letter-spacing:1.5px;font-weight:600;margin-bottom:7px}h1{font-size:clamp(30px,3vw,40px);font-weight:700;letter-spacing:-1.6px;line-height:1.2}h1>span{color:var(--purple)}.page-heading p{font-size:16px;color:var(--muted);margin-top:9px}.date-stamp{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:11px 16px;background:white;border:1px solid var(--line);border-radius:10px}.date-stamp>span{color:var(--purple)}.date-stamp strong{font-size:14px;display:block;font-weight:600}.date-stamp div>span{font-size:12px;color:var(--muted);display:block}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0 30px;border:1px solid var(--line);border-radius:12px;background:white;padding:17px 0}.overview>div{display:flex;align-items:center;gap:14px;padding:0 22px}.overview>div+div{border-left:1px solid var(--line)}.overview-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;flex-shrink:0}.overview-icon.purple{background:#efecff;color:#6853df}.overview-icon.amber{background:#fff5e3;color:#ac7521}.overview-icon.blue{background:#eaf3ff;color:#3f78bc}.overview p{display:flex;gap:11px;align-items:center}.overview strong{font-size:28px;font-weight:650;letter-spacing:-1px;line-height:1.2}.overview p>span{font-size:14px;color:var(--muted);max-width:126px;line-height:1.4}
.board-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:start}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.section-heading h2{font-size:19px;font-weight:650;letter-spacing:-.4px}.section-heading>span{font-size:12px;color:var(--muted);padding:3px 8px;background:#eceef4;border-radius:5px}.search-box{display:flex;align-items:center;gap:10px;background:white;border:1px solid #dfe1eb;border-radius:10px;padding:11px 14px;color:#858698;min-height:47px}.search-box input{width:100%;border:0;outline:none;background:none;color:var(--ink);font-size:16px;min-width:0}.search-box input::placeholder{color:#838595;font-size:14px}.search-box input:focus-visible{outline:0}.search-box:focus-within{border-color:#9384ed;box-shadow:0 0 0 3px #eeeaff}.search-box svg{width:18px;height:18px}.search-box kbd{font-family:inherit;font-size:12px;padding:1px 6px;line-height:1.5;border:1px solid var(--line);border-radius:4px;color:#9798a4}.view-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:15px 0 20px}.view-tabs button{display:flex;align-items:center;gap:8px;padding:10px 0 13px;min-height:45px;font-size:14px;color:#77798a;position:relative}.view-tabs button[aria-selected=true]{color:var(--purple);font-weight:650}.view-tabs button[aria-selected=true]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--purple)}.view-tabs button>span{font-size:12px;background:#ebedf3;color:#707284;padding:1px 7px;border-radius:5px}.view-tabs button[aria-selected=true]>span{background:#ebe6ff;color:var(--purple)}.card-list{display:grid;gap:16px}.class-card{border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden;box-shadow:0 2px 3px #25244302;transition:border-color .2s}.class-card:hover{border-color:#d1cbea}.card-header{display:flex;align-items:center;gap:12px;padding:19px 20px 14px}.subject-icon{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;background:var(--subject-bg);color:var(--subject-color);flex-shrink:0}.subject-icon svg{width:19px;height:19px}.class-heading{min-width:0;flex:1}.class-heading h3{font-size:16px;font-weight:650;letter-spacing:-.2px;line-height:1.4}.class-heading p{font-size:13px;color:var(--muted);margin-top:3px}.class-heading p span{margin:0 3px;color:#b5b6c4}.badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap;font-size:12px;font-weight:500;padding:3px 7px;border-radius:5px;line-height:1.6}.badge.subtle{background:#f1f1f7;color:#707184}.badge.complete{background:#e6f5ef;color:#277452}.tasks{padding:0 20px 11px}.task{display:flex;align-items:flex-start;gap:10px;min-height:43px;padding:8px 0;cursor:pointer;font-size:16px;line-height:1.55}.task input{appearance:none;-webkit-appearance:none;width:19px;height:19px;flex:0 0 19px;border:1.5px solid #c9cad7;border-radius:5px;background:white;margin:3px 0 0;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s}.task input:hover{border-color:var(--purple)}.task input:checked{background:var(--purple);border-color:var(--purple)}.task input:checked:after{content:"";width:8px;height:4px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translateY(-1px)}.task>span{transition:color .15s}.task.done>span{color:#888a9d;text-decoration:line-through;text-decoration-color:#b7b5ce}.assignment-note{font-size:13px;color:#7a7b8c;line-height:1.6;margin:0 20px 15px 49px}.class-notes{padding:0 20px;border-top:1px solid #efeff5;background:#fcfcff}.class-notes summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;min-height:45px;padding:10px 0;font-size:14px;color:#77768c}.class-notes summary::-webkit-details-marker{display:none}.class-notes summary svg{width:15px;height:15px}.class-notes summary .chevron{margin-left:auto;transition:transform .2s}.class-notes[open] .chevron{transform:rotate(180deg)}.class-notes>div{padding:0 0 16px 21px;font-size:15px;color:#606176;line-height:1.7}.class-notes ul{margin:0;padding-left:17px}.flagged{border-color:#ead8b3;scroll-margin-top:24px}.flagged:hover{border-color:#d8b575}.badge.warning{color:#8a5d19;background:#fff2d8}.flag-content{padding:0 20px 20px;font-size:16px;color:#795f33}.flag-content>p{margin-bottom:13px}.source-entry{display:grid;gap:6px;background:#fff9eb;border:1px solid #f1e4c9;border-radius:9px;padding:12px 14px;font-size:14px;line-height:1.65;color:#775b2b}.source-entry strong{font-weight:600}.flag-content small{display:block;margin-top:10px;font-size:12px;color:#8c7957}.event-content{padding:0 20px 20px;font-size:16px}.event-content small{display:block;margin-top:7px;font-size:13px;color:var(--muted)}.missing-row .card-header{padding:18px 20px}.missing-row .badge{background:#f0f1f6;color:#727589}.missing-explanation{grid-column:1/-1;font-size:14px;color:#777989;line-height:1.7;padding:0 2px 2px}.empty-state{grid-column:1/-1;text-align:center;padding:40px 24px;border:1px dashed #d6d3e5;border-radius:14px}.empty-state>span{display:inline-flex;background:#eeebff;padding:14px;border-radius:50%;color:var(--purple);margin-bottom:14px}.empty-state h3{font-size:18px;font-weight:600;margin-bottom:8px}.empty-state p{font-size:15px;color:var(--muted);max-width:360px;margin:auto}.empty-state button{background:var(--purple);color:white;font-size:14px;padding:11px 17px;border-radius:8px;margin-top:20px}.board-footnote{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.7;color:var(--muted);margin-top:19px}.board-footnote svg{width:15px;height:15px;margin-top:2px}
.right-rail{display:grid;gap:20px}.progress-card,.community-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.rail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.rail-heading h2{font-size:16px;font-weight:650;letter-spacing:-.2px}.rail-heading>span{color:#7c70bb}.rail-heading svg{width:18px;height:18px}.progress-subtitle{color:var(--muted);font-size:12px;margin-top:5px}.progress-visual{width:180px;height:180px;position:relative;margin:22px auto 17px}.progress-ring{width:180px;height:180px;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:10}.ring-track{stroke:#eeebfa}#progress-ring-fill{stroke:var(--purple);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .35s}.progress-number{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-number strong{font-size:48px;letter-spacing:-2px;line-height:1.1;font-weight:650}.progress-number>span{font-size:13px;color:var(--muted);margin-top:7px}#progress-message{font-size:14px;color:#74738d;text-align:center;line-height:1.6;min-height:23px}.device-note{display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid var(--line);padding-top:16px;margin-top:19px;font-size:12px;color:#828393}.device-note svg{width:13px;height:13px}.notes-card{background:#fffbf2;border:1px solid #f0e2c4;border-radius:var(--radius);padding:21px}.rail-kicker{display:flex;align-items:center;gap:8px;color:#a37323;font-size:12px;letter-spacing:.8px;font-weight:600}.rail-kicker svg{width:15px;height:15px}.notes-card h3{font-size:16px;font-weight:650;line-height:1.5;margin-top:13px;letter-spacing:-.2px}.notes-card p{font-size:14px;color:#877252;line-height:1.75;margin-top:8px}.text-button{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#886128;font-size:14px;font-weight:600;width:100%;padding:12px 0 0;min-height:44px;margin-top:3px}.text-button:hover{text-decoration:underline}.text-button>span{font-size:19px}.community-card{padding-bottom:20px}.community-card>.rail-heading{margin-bottom:16px}.community-item{border-top:1px solid var(--line);padding:18px 0}.community-item>.tiny-label{font-size:12px;letter-spacing:.8px}.community-item>p{font-size:16px;margin-top:9px;line-height:1.65}.joke summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--purple);font-size:14px;padding:11px 0 0;min-height:44px}.joke summary::-webkit-details-marker{display:none}.joke summary span{font-size:21px;line-height:1;transition:transform .2s}.joke[open] summary span{transform:rotate(45deg)}.joke p{color:#574990;font-size:15px;margin-top:8px;font-weight:500}.shoutout{padding-bottom:0}.shoutout>div{display:flex;align-items:center;gap:10px;margin-top:13px}.avatar{width:36px;height:36px;display:grid;place-items:center;background:#eeebff;color:#7762c7;border-radius:50%;font-size:12px;font-weight:600;flex-shrink:0}.shoutout p strong{display:block;font-size:14px;font-weight:600}.shoutout p span{display:block;font-size:12px;color:var(--muted);margin-top:2px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:22px 0 25px;margin-top:35px;font-size:12px;color:#9293a0}.footer-brand{font-size:17px;font-weight:650;letter-spacing:-.5px;color:#77768d}
@media(min-width:1420px){.card-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.flagged{grid-column:1/-1}.class-card:not(.flagged) .card-header{flex-wrap:wrap}.class-card:not(.flagged) .card-header>.badge{margin-left:51px;margin-top:-7px}.class-card:not(.flagged) .class-heading{flex-basis:calc(100% - 51px)}.board-layout{grid-template-columns:minmax(0,1fr) 275px;gap:30px}}
@media(min-width:1800px){.sidebar{width:250px;flex-basis:250px;padding-left:25px;padding-right:25px}.overview>div{padding:0 30px}.board-layout{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:1190px){.sidebar{width:204px;flex-basis:204px;padding-left:13px;padding-right:13px}.brand{font-size:27px;gap:9px}.topbar{padding:0 27px}main{padding:30px 27px 0}.board-layout{grid-template-columns:minmax(0,1fr) 238px;gap:20px}.overview>div{padding:0 16px;gap:10px}.overview p{display:block}.overview p>span{display:block;font-size:12px;max-width:120px;margin-top:3px}.overview strong{font-size:26px}.overview-icon{width:37px;height:37px}.date-stamp{display:none}.progress-card,.community-card,.notes-card{padding:18px}.card-header{padding-left:18px;padding-right:18px;gap:10px}.badge{white-space:normal;text-align:center}.student-label{display:none}}
@media(max-width:1000px){.board-layout{grid-template-columns:minmax(0,1fr)}.right-rail{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;margin-top:5px}.progress-card{grid-row:span 2}.progress-visual{margin-top:17px;margin-bottom:14px}.community-card{grid-column:2}.overview{margin-top:24px}.overview-icon{display:none}.overview>div{justify-content:center}.overview p{text-align:center}.section-heading{justify-content:space-between}}
@media(max-width:720px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:static;display:block;border-right:0;border-bottom:1px solid var(--line);padding:18px 20px 0;overflow:visible}.brand{display:inline-flex;font-size:26px;margin:0 0 20px;gap:9px}.brand-mark{width:32px;height:32px;font-size:25px;border-radius:9px}.space{float:right;margin:1px 0 0;padding:0;border:0;background:none;gap:8px}.space-icon{width:30px;height:30px;font-size:13px}.space strong{font-size:12px}.space div>span{font-size:12px}.nav-heading,.sidebar-foot{display:none}#subject-nav{flex-direction:row;gap:8px;overflow-x:auto;padding:0 0 15px;scrollbar-width:thin;scrollbar-color:#d6d0f4 transparent;clear:both}.nav-item{flex-shrink:0;border:1px solid var(--line);white-space:nowrap;min-height:41px;padding:9px 12px;font-size:14px;gap:8px}.nav-item.active{border-color:#ddd5ff}.nav-item svg{width:16px;height:16px}.nav-count{font-size:12px;min-width:16px}.topbar{display:none}main{padding:25px 20px 0}.page-heading{display:block}.eyebrow{font-size:12px;letter-spacing:1.1px;margin-bottom:8px}h1{font-size:32px;letter-spacing:-1.2px}.page-heading p{font-size:15px;margin-top:8px}.overview{margin:22px 0 26px;padding:16px 0}.overview>div{padding:0 8px}.overview strong{font-size:25px}.overview p>span{font-size:12px;max-width:100px;margin-top:5px}.section-heading h2{font-size:18px}.search-box{padding:11px 12px}.search-box input::placeholder{font-size:13px}.search-box kbd{display:none}.view-tabs{margin-top:13px;gap:24px}.card-header{padding:17px 17px 12px;flex-wrap:wrap}.class-heading{flex:1}.class-heading p{font-size:12px}.badge{font-size:12px;max-width:110px}.tasks{padding:0 17px 9px}.task{font-size:16px;min-height:46px;padding:9px 0}.class-notes{padding:0 17px}.assignment-note{margin-left:46px;margin-right:17px;font-size:13px}.flag-content,.event-content{padding:0 17px 18px}.source-entry{font-size:14px;padding:11px}.missing-row .card-header{padding:16px}.board-footnote{margin-bottom:3px}.right-rail{gap:15px}.progress-card,.notes-card,.community-card{padding:20px}.progress-card{grid-row:span 2}.progress-visual{width:150px;height:150px}.progress-ring{width:150px;height:150px}.progress-number strong{font-size:40px}.device-note{align-items:flex-start;text-align:center}.device-note>span:first-child{margin-top:2px}.progress-number>span{font-size:12px}footer{margin-top:27px;align-items:baseline}.footer-brand{font-size:16px}}
@media(max-width:430px){.sidebar{padding-left:16px;padding-right:16px}.space-icon{display:none}.brand{font-size:25px}main{padding-left:16px;padding-right:16px}.right-rail{grid-template-columns:1fr}.progress-card{grid-row:auto;display:grid;grid-template-columns:140px minmax(0,1fr);column-gap:14px}.progress-card>.rail-heading,.progress-subtitle,.device-note{grid-column:1/-1}.progress-visual{grid-column:1;width:130px;height:130px;margin:15px 0 0}.progress-ring{width:130px;height:130px}.progress-number strong{font-size:34px}#progress-message{grid-column:2;align-self:center;text-align:left;padding-top:12px}.device-note{margin-top:15px}.community-card{grid-column:auto}.class-heading{flex-basis:calc(100% - 50px)}.card-header>.badge{margin-left:49px;margin-top:-6px;max-width:none}.missing-row .card-header{gap:9px}.missing-row .badge{margin-left:48px}.flag-content{font-size:15px}.overview strong{font-size:24px}.search-box input::placeholder{font-size:12px}footer{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
