/* Student course desk and staff messages */
.course-experience-copy,.course-experience-status{font-size:13px}
.online-quiz-run .btn-accent:disabled{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);box-shadow:none;cursor:not-allowed;opacity:1}
.online-availability{display:flex;align-items:center;gap:7px;margin:.55rem 0;color:var(--text-secondary);font-size:13px}
.student-desk{margin:22px 0;border:1px solid var(--border);background:var(--surface-1);border-radius:8px;overflow:hidden}
.student-desk-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.student-desk-head h2{font-size:20px;margin:2px 0 0}.student-desk-head>.ti{font-size:25px;color:var(--accent)}
.desk-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}
.desk-unread{display:inline-flex;align-items:center;gap:7px;color:var(--accent-text);font-size:13px}.desk-unread b{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff}
.student-desk-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0}.student-desk-grid>div{padding:18px 20px}.student-desk-grid>div+div{border-left:1px solid var(--border)}
.student-desk-grid h3{font-size:15px;margin:0 0 12px;display:flex;align-items:center;gap:7px}
.desk-quiz{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px;align-items:start;padding:12px 0;border-top:1px solid var(--border)}.desk-quiz:first-of-type{border-top:0}
.desk-week{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--accent-text);padding-top:2px}.desk-item-main{display:flex;flex-direction:column;gap:2px}.desk-item-main>span,.desk-item-main>small{color:var(--text-secondary);font-size:12px}.desk-status{font-size:11px;font-weight:700;padding:3px 7px;border-radius:999px;background:var(--surface-2);white-space:nowrap}.desk-quiz.open .desk-status,.desk-quiz.active .desk-status{background:var(--accent-bg);color:var(--accent-text)}
.desk-action{grid-column:2/4;justify-self:start;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--accent-text);text-decoration:none}.desk-action.quiet{color:var(--text-secondary);font-weight:600}.desk-feedback{font-size:12px;margin:5px 0 0;padding:6px 8px;background:var(--surface-2);border-radius:6px}
.desk-message{padding:11px 0;border-top:1px solid var(--border)}.desk-message:first-of-type{border-top:0}.desk-message.unread{border-left:3px solid var(--accent);padding-left:10px}.desk-message-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.desk-message-top span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--accent-text)}.desk-message p{font-size:13px;line-height:1.45;margin:6px 0}.desk-message small{color:var(--text-muted)}.desk-message button{display:block;margin-top:8px;border:0;background:transparent;color:var(--accent-text);padding:0;cursor:pointer;font-weight:700;font-size:12px}.desk-empty{font-size:13px;color:var(--text-muted)}
.message-admin-grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);gap:16px;align-items:start}.message-compose>label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;margin:12px 0}.message-compose>label input,.message-compose>label textarea,.message-search input{width:100%;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);padding:9px 10px;font:inherit}.message-audience{display:flex;gap:18px;border:0;padding:5px 0;margin:4px 0}.message-audience legend{font-size:13px;font-weight:700;margin-bottom:7px}.message-audience label{display:flex;align-items:center;gap:6px;font-size:13px}.message-audience input{width:16px;height:16px;flex:0 0 auto}
.message-student-chooser{border:1px solid var(--border);border-radius:8px;padding:10px;margin:8px 0}.message-search{position:relative;margin-bottom:9px}.message-search .ti{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:17px;color:var(--text-muted);pointer-events:none}.message-search input{padding-left:36px;height:42px}.message-student-chooser #messageStudentList{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:3px;max-height:280px;overflow:auto;padding-right:3px}.message-student{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 9px;border-radius:6px;cursor:pointer}.message-student:hover{background:var(--surface-2)}.message-student input{width:17px;height:17px;flex:0 0 auto;margin:0}.message-student span{display:flex;flex-direction:column;min-width:0;line-height:1.3}.message-student strong,.message-student small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-student small{color:var(--text-muted);font-size:11.5px}
.sent-message{padding:13px 0;border-top:1px solid var(--border)}.sent-message:first-child{border-top:0}.sent-message>div{display:flex;justify-content:space-between;gap:12px}.sent-message>div span,.sent-message small{font-size:11px;color:var(--text-muted)}.sent-message p{font-size:13px;line-height:1.45;margin:7px 0}
.student-message-inbox{margin-top:16px}.message-count{margin-left:auto;padding:3px 7px;border-radius:999px;background:var(--danger-bg);color:var(--danger-text);font-size:10px;font-weight:800;text-transform:uppercase}.student-inbox-message{padding:14px 2px;border-top:1px solid var(--border)}.student-inbox-message:first-child{border-top:0}.student-inbox-message.unread{border-left:3px solid var(--accent);padding-left:12px}.student-inbox-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.student-inbox-meta>div{display:flex;flex-direction:column;gap:2px}.student-inbox-meta span,.student-inbox-meta time{color:var(--text-muted);font-size:11px}.student-inbox-message p{font-size:13px;line-height:1.5;margin:8px 0}.student-inbox-actions{display:flex;align-items:center;gap:8px;min-height:32px}.student-inbox-message .btn-ghost{min-height:32px;padding:5px 9px;font-size:12px}.student-inbox-actions small{margin-right:auto}
.desk-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.desk-section-head h3{margin:0}.desk-message-instructor{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--accent-border);border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font:700 11px var(--font);cursor:pointer;white-space:nowrap}.desk-message-instructor:hover{background:var(--surface-2)}.desk-message-instructor:disabled{opacity:.5;cursor:not-allowed}.desk-quota{margin:12px 0 0;color:var(--text-muted);font-size:11px;text-align:right}
.student-career-home{--career-gold:#A06A00;border-top:1px solid var(--border);padding:18px 20px;background-color:color-mix(in srgb,var(--career-gold) 5%,var(--surface-1));background-image:linear-gradient(90deg,color-mix(in srgb,var(--career-gold) 4%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--career-gold) 4%,transparent) 1px,transparent 1px);background-size:22px 22px}
.student-career-home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.student-career-home-head .desk-kicker{display:flex;align-items:center;gap:5px;color:var(--career-gold)}.student-career-home-head h3{margin:3px 0 0;font-size:18px}.student-career-private{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 8px;border:1px solid color-mix(in srgb,var(--career-gold) 34%,var(--border));border-radius:999px;background:var(--surface-1);color:var(--career-gold);font-size:10.5px;font-weight:800}
.student-career-home-body{display:block}.student-career-summary{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:14px;align-items:stretch}.student-career-code{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-height:78px;column-gap:14px;padding:12px 14px;border-left:4px solid var(--career-gold);background:var(--surface-1)}.student-career-code>span{grid-column:2;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.student-career-code>b{grid-row:1/3;color:var(--career-gold);font-size:34px;line-height:1}.student-career-code>small{grid-column:2;color:var(--text-secondary);font-size:11.5px}
.student-career-progress{display:flex;align-items:center;min-width:0;min-height:78px;gap:16px;padding:12px 14px;background:var(--surface-1)}.student-career-progress>div:first-child{display:flex;align-items:baseline;gap:5px;flex:0 0 auto;color:var(--text-secondary);font-size:11px}.student-career-progress>div:first-child b{color:var(--text-primary);font-size:18px}.student-career-mini-bars{display:flex;min-width:180px;gap:7px;flex:1}.student-career-mini-bars>span{position:relative;display:block;flex:1;height:18px;overflow:hidden;border:1px solid var(--border);border-radius:4px;background:var(--surface-1)}.student-career-mini-bars i{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--career-gold) 38%,transparent)}.student-career-mini-bars b{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-primary);font-size:9px}
.student-career-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.student-career-actions a{display:flex;align-items:center;min-width:0;min-height:60px;gap:11px;padding:11px 13px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-primary);text-decoration:none}.student-career-actions a:hover{border-color:color-mix(in srgb,var(--career-gold) 42%,var(--border));background:color-mix(in srgb,var(--career-gold) 7%,var(--surface-1))}.student-career-actions>a>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:7px;background:color-mix(in srgb,var(--career-gold) 11%,var(--surface-1));color:var(--career-gold);font-size:19px}.student-career-actions span{display:flex;min-width:0;flex-direction:column;gap:2px}.student-career-actions b{font-size:13px}.student-career-actions small{color:var(--text-muted);font-size:10.5px;line-height:1.3;white-space:normal}
.student-career-start{display:flex;align-items:center;gap:11px;padding:11px 13px;border-left:4px solid var(--career-gold);background:var(--surface-1)}.student-career-start>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--career-gold) 11%,var(--surface-1));color:var(--career-gold);font-size:20px}.student-career-start>div{min-width:0;flex:1}.student-career-start b{font-size:13px}.student-career-start p{margin:2px 0 0;color:var(--text-muted);font-size:10.5px;line-height:1.4}.student-career-start>a{flex:0 0 auto;color:var(--career-gold);font-size:11px;font-weight:800;text-decoration:none}.student-career-loading{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:12px}.student-career-loading i{animation:career-spin 1s linear infinite}
.student-message-form{max-width:720px}.student-message-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-message-modal-head h2{margin-top:4px}.student-message-quota{display:flex;align-items:center;gap:4px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-secondary);font-size:12px;white-space:nowrap}.student-message-quota b{font-size:16px;color:var(--accent-text)}.student-message-form .ed-field{margin:13px 0}.student-message-form textarea{resize:vertical}.student-sent-history{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.student-sent-history h3{font-size:14px;margin:0 0 8px}.student-sent-note{padding:9px 0;border-top:1px solid var(--border)}.student-sent-note:first-of-type{border-top:0}.student-sent-note>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-sent-note time,.student-sent-note small{font-size:11px;color:var(--text-muted)}.student-sent-note p{font-size:12px;line-height:1.45;margin:5px 0}
@media(max-width:850px){.student-desk-grid,.message-admin-grid,.student-career-summary{grid-template-columns:1fr}.student-desk-grid>div+div{border-left:0;border-top:1px solid var(--border)}.message-admin-grid{display:block}.message-history{margin-top:14px}.student-desk-head{padding:15px}.student-desk-grid>div{padding:15px}.student-career-home{padding:15px}.desk-quiz{grid-template-columns:auto minmax(0,1fr)}.desk-status{grid-column:2}.desk-action{grid-column:2}.message-audience{flex-direction:column;gap:8px}}
@media(max-width:620px){.student-career-actions{grid-template-columns:1fr}.student-career-progress{align-items:flex-start;flex-direction:column}.student-career-mini-bars{width:100%}}
@media(max-width:520px){.desk-section-head,.student-message-modal-head,.student-inbox-meta,.student-career-home-head{align-items:stretch;flex-direction:column}.desk-message-instructor{align-self:flex-start}.student-message-quota,.student-career-private{align-self:flex-start}.student-career-start{align-items:flex-start;flex-wrap:wrap}.student-career-start>a{margin-left:47px}}

/* Student Week Dashboard */
.week-dashboard{display:grid;gap:20px}.week-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:8px;background:var(--surface-1)}
.week-dashboard-head h2{margin:4px 0 5px;font-size:25px}.week-dashboard-head p{margin:0;color:var(--text-secondary);font-size:14px}.week-dashboard-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--accent-text);font-size:11px;font-weight:800;text-transform:uppercase}
.week-dashboard-head-actions{display:flex;align-items:flex-end;flex:0 0 auto;flex-direction:column;gap:9px}.week-study-enter{display:grid;grid-template-columns:22px minmax(0,1fr) 17px;align-items:center;gap:9px;min-width:210px;padding:10px 11px;border:1px solid var(--accent)!important;border-radius:7px;background:var(--accent)!important;color:#fff!important;opacity:1!important;font:inherit;text-align:left;cursor:pointer;box-shadow:0 5px 13px color-mix(in srgb,var(--accent) 22%,transparent)}.week-study-enter:hover,.week-study-enter:focus-visible,.week-study-enter:active{border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important;opacity:1!important;-webkit-text-fill-color:#fff}.week-study-enter:hover{filter:brightness(.92);transform:translateY(-1px)}.week-study-enter>i:first-child{font-size:20px}.week-study-enter>i:last-child{font-size:16px}.week-study-enter>span{display:flex;min-width:0;flex-direction:column}.week-study-enter b{font-size:12px}.week-study-enter small{color:rgba(255,255,255,.88)!important;-webkit-text-fill-color:rgba(255,255,255,.88);font-size:9px}.week-study-enter i,.week-study-enter b{color:inherit!important;-webkit-text-fill-color:#fff}
.week-dashboard-manual{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:11px;font-weight:800}.week-dashboard-manual.done{border-color:#9DD0AE;background:#E9F6ED;color:#176B3A}
.week-dashboard-live{display:grid;gap:16px}.week-dashboard-loading,.week-dashboard-author{display:flex;align-items:center;gap:13px;min-height:100px;padding:20px;border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-secondary)}.week-dashboard-loading i{font-size:24px;animation:career-spin 1s linear infinite}.week-dashboard-author>i{font-size:28px;color:var(--accent-text)}.week-dashboard-author p{margin:4px 0 0;font-size:13px}
.week-progress-overview{display:grid;grid-template-columns:140px minmax(260px,1fr) minmax(210px,.62fr);gap:22px;align-items:center;padding:22px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--accent) 4%,var(--surface-1));box-shadow:0 8px 24px rgba(20,35,50,.05)}
.week-progress-ring{--week-progress:0%;display:grid;place-items:center;width:124px;height:124px;margin:auto;border-radius:50%;background:conic-gradient(var(--accent) var(--week-progress),var(--surface-3) 0);position:relative}.week-progress-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--surface-1);border:1px solid var(--border)}.week-progress-ring>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.week-progress-ring b{font-size:27px;color:var(--accent-text)}.week-progress-ring span{color:var(--text-muted);font-size:11px}
.week-progress-label,.week-dashboard-section-head span{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.week-progress-summary h3{margin:4px 0 7px;font-size:21px}.week-progress-summary p{margin:0 0 13px;color:var(--text-secondary);font-size:13px;line-height:1.5}.week-progress-summary .btn-accent,.week-progress-summary .btn-ghost{min-height:38px;padding:8px 11px;font-size:12px}
.week-progress-pulse{display:grid;gap:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.week-progress-pulse>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:9px 12px}.week-progress-pulse>div+div{border-top:1px solid var(--border)}.week-progress-pulse span{color:var(--text-muted);font-size:10px;font-weight:700}.week-progress-pulse b{color:var(--accent-text);font-size:15px}
.week-summary-section{padding:18px 20px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.week-dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:13px}.week-dashboard-section-head h3{margin:3px 0 0;font-size:18px}.week-dashboard-section-head>span{padding:5px 8px;border-radius:999px;background:var(--surface-2)}
.week-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:10px}.week-summary-card{--summary-tone:#2369AE;--summary-soft:#E8F2FB;position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:minmax(78px,1fr) auto;gap:10px 12px;min-width:0;min-height:140px;padding:16px 16px 13px;border:1px solid var(--border);border-top:4px solid var(--summary-tone);border-radius:8px;background:var(--surface-1);color:var(--text-primary);text-decoration:none;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.week-summary-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--summary-tone) 55%,var(--border));box-shadow:0 8px 18px rgba(20,35,50,.09)}.week-summary-card:focus-visible{outline:3px solid color-mix(in srgb,var(--summary-tone) 34%,transparent);outline-offset:2px}.week-summary-card.tone-check{--summary-tone:#6B4CB5;--summary-soft:#F0EBFA}.week-summary-card.tone-lab{--summary-tone:#087889;--summary-soft:#E5F4F6}.week-summary-card.tone-practice{--summary-tone:#A86600;--summary-soft:#FBF0D6}.week-summary-card.tone-assessment{--summary-tone:#A33A55;--summary-soft:#FAE9EE}.week-summary-card.tone-reflection{--summary-tone:#187647;--summary-soft:#E8F5EC}
.week-summary-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:var(--summary-soft);color:var(--summary-tone);font-size:22px}.week-summary-card-copy{display:flex;min-width:0;flex-direction:column}.week-summary-card-copy small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.week-summary-card-copy b{margin-top:4px;font-size:20px;line-height:1.15}.week-summary-card-copy span{margin-top:5px;color:var(--text-secondary);font-size:11px;line-height:1.35}.week-summary-card-state{grid-column:1/3;display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--summary-tone);font-size:10px;font-weight:800}.week-summary-card.done .week-summary-card-state{color:#187647}.week-summary-card.attention .week-summary-card-state{color:#9A5C00}.week-summary-card-progress{position:absolute;inset:auto 0 0;height:4px;background:var(--surface-3)}.week-summary-card-progress i{display:block;height:100%;background:var(--summary-tone);transition:width .35s ease}
.week-feedback-spotlight{display:grid;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:13px;width:100%;padding:14px 17px;border:1px solid #9BCDB9;border-left:5px solid #187647;border-radius:8px;background:#EAF6F0;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.week-feedback-spotlight:hover{background:#E2F2E9}.week-feedback-spotlight>span{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:var(--surface-1);color:#187647;font-size:22px}.week-feedback-spotlight>div{display:flex;min-width:0;flex-direction:column}.week-feedback-spotlight small{color:#187647;font-size:10px;font-weight:800;text-transform:uppercase}.week-feedback-spotlight b{font-size:14px}.week-feedback-spotlight p{margin:2px 0 0;color:var(--text-secondary);font-size:11px}.week-feedback-spotlight>i{color:#187647;font-size:19px}
.week-dashboard-detail{border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.week-dashboard-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:14px 18px;cursor:pointer;list-style:none}.week-dashboard-detail>summary::-webkit-details-marker{display:none}.week-dashboard-detail>summary>span{display:flex;align-items:center;gap:12px}.week-dashboard-detail>summary>span>i{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--accent-bg);color:var(--accent-text);font-size:20px}.week-dashboard-detail>summary>span>span{display:flex;flex-direction:column}.week-dashboard-detail>summary small{color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.week-dashboard-detail>summary b{font-size:13px}.week-dashboard-detail>summary em{display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:10px;font-style:normal;font-weight:800}.week-dashboard-detail>summary em i{transition:transform .18s ease}.week-dashboard-detail[open]>summary{border-bottom:1px solid var(--border)}.week-dashboard-detail[open]>summary em i{transform:rotate(180deg)}.week-dashboard-detail>.week-task-list,.week-dashboard-detail>.week-feedback-list,.week-dashboard-detail>.week-feedback-empty{margin:0;padding:16px 18px}
.week-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.week-task{display:grid;grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text);text-decoration:none}.week-task:hover{border-color:var(--accent-border);background:var(--accent-bg)}.week-task-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:var(--surface-2);color:var(--text-secondary);font-size:19px}.week-task-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.week-task-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.week-task-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:10.5px}.week-task-state{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--text-muted);font-size:10.5px;font-weight:800}.week-task.done .week-task-icon,.week-task.done .week-task-state{color:#176B3A}.week-task.required:not(.done){border-left:4px solid #D17A00}.week-task.required:not(.done) .week-task-state{color:#925500}.week-task-go{color:var(--text-muted)}
.week-feedback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.week-feedback-list article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px;border-left:3px solid var(--accent);background:var(--accent-bg)}.week-feedback-list article>i{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--surface-1);color:var(--accent-text)}.week-feedback-list b{font-size:12px}.week-feedback-list p{margin:4px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.45}.week-feedback-empty{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}
.week-orientation{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.week-orientation-main{width:100%;padding:20px 22px;border-top:4px solid var(--accent);background:var(--surface-2)}.week-resource-label{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);font-size:11px;font-weight:800;text-transform:uppercase}.week-orientation-main h3{margin:6px 0 12px;font-size:18px}.week-orientation-main ul{margin:0;padding-left:20px}.week-orientation-main li{margin:7px 0;color:var(--text-secondary);line-height:1.5}.week-resource-fold{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.week-resource-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:14px 20px;cursor:pointer;list-style:none}.week-resource-fold>summary::-webkit-details-marker{display:none}.week-resource-fold>summary span{display:flex;align-items:center;gap:7px;font-weight:800;font-size:13px}.week-resource-fold>summary b{display:grid;place-items:center;min-width:26px;height:24px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:10px}.week-resource-fold[open]>summary{border-bottom:1px solid var(--border)}.week-resource-fold>dl,.week-resource-fold>.card,.week-resource-fold>.ss-list{margin:0;padding:14px 20px}.week-resource-fold>.card{border:0;background:transparent}.week-resource-term{padding:7px 0;border-top:1px solid var(--border)}.week-resource-term:first-child{border-top:0}.week-resource-term dt{font-size:12px;font-weight:800}.week-resource-term dd{margin:2px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.4}
@media(max-width:1050px){.week-progress-overview{grid-template-columns:130px minmax(0,1fr)}.week-progress-pulse{grid-column:1/3;grid-template-columns:repeat(3,minmax(0,1fr))}.week-progress-pulse>div+div{border-top:0;border-left:1px solid var(--border)}.week-task-list,.week-feedback-list{grid-template-columns:1fr}}
@media(max-width:760px){.week-dashboard-head{align-items:stretch;flex-direction:column}.week-dashboard-head-actions{align-items:stretch}.week-dashboard-manual{align-self:flex-start}.week-study-enter{width:100%}.week-progress-overview{grid-template-columns:1fr}.week-progress-pulse{grid-column:auto}.week-task{grid-template-columns:38px minmax(0,1fr) 18px}.week-task-state{grid-column:2;justify-self:start}.week-task-go{grid-column:3;grid-row:1/3}.week-progress-summary{text-align:center}.week-progress-summary .btn-accent,.week-progress-summary .btn-ghost{justify-content:center}.week-dashboard-section-head{align-items:flex-start;flex-direction:column}.week-dashboard-detail>summary{align-items:flex-start}.week-dashboard-detail>summary em{padding-top:4px}.week-feedback-spotlight{grid-template-columns:42px minmax(0,1fr) 20px}}
@media(max-width:460px){.week-progress-pulse{grid-template-columns:1fr}.week-progress-pulse>div+div{border-left:0;border-top:1px solid var(--border)}.week-summary-section,.week-orientation-main{padding:15px}.week-summary-grid{grid-template-columns:1fr}.week-task-copy b,.week-task-copy small{white-space:normal}.week-dashboard-detail>summary{align-items:stretch;flex-direction:column}.week-dashboard-detail>summary em{justify-content:space-between;width:100%;padding-left:52px}.week-feedback-spotlight{padding:13px}.week-feedback-spotlight>span{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.week-summary-card,.week-summary-card-progress i,.week-dashboard-detail>summary em i{transition:none}.week-summary-card:hover{transform:none}}

/* Student-facing syllabus */
.syllabus-page{display:grid;gap:20px}.syllabus-page-loading{display:flex;align-items:center;gap:10px;min-height:180px;color:var(--text-muted)}.syllabus-page-loading i{font-size:24px;animation:career-spin 1s linear infinite}.syllabus-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 26px;border-left:5px solid var(--accent);background:var(--surface-2)}.syllabus-hero h1{margin:4px 0 6px;font-size:31px}.syllabus-hero p:not(.syllabus-eyebrow){max-width:720px;margin:0;color:var(--text-secondary);line-height:1.5}.syllabus-eyebrow{margin:16px 0 0;color:var(--accent-text);font-size:11px;font-weight:800;text-transform:uppercase}.syllabus-hero-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px;flex-direction:column}.syllabus-hero-actions .btn-accent{width:100%;white-space:nowrap}.syllabus-hero-mark{display:grid;place-items:center;flex:0 0 82px;width:82px;height:82px;border:1px solid var(--accent-border);border-radius:8px;background:var(--surface-1);color:var(--accent-text);font-size:39px}
.syllabus-unpublished{display:grid;max-width:760px;grid-template-columns:82px minmax(0,1fr);gap:20px;align-items:center;margin:28px auto;padding:28px;border-left:5px solid var(--accent);background:var(--surface-2)}.syllabus-unpublished .syllabus-hero-mark{grid-row:1/3}.syllabus-unpublished h2{align-self:end;margin:0;font-size:25px}.syllabus-unpublished p{align-self:start;margin:0;line-height:1.55}
.course-syllabus-editor-intro{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg)}.course-syllabus-editor-intro>i{flex:0 0 auto;color:var(--accent-text);font-size:26px}.course-syllabus-editor-intro b,.course-syllabus-editor-intro span{display:block}.course-syllabus-editor-intro span{margin-top:3px;color:var(--text-secondary);line-height:1.5}.course-syllabus-setup .syllabus-setup-tabs,.course-syllabus-setup .syllabus-setup-pane{max-width:none}.course-syllabus-privacy-editor{margin-top:24px;padding-top:22px;border-top:2px solid var(--border-strong)}.course-syllabus-editor-divider{max-width:760px;margin-bottom:12px}.course-syllabus-editor-divider .eyebrow{display:block;margin:0 0 5px}.course-syllabus-editor-divider h3{margin:0 0 5px;font-size:22px}.course-syllabus-editor-divider p{margin:0;color:var(--text-secondary);line-height:1.5}.course-syllabus-setup .setup-grp{max-width:none}
.syllabus-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.syllabus-nav-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:9px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font:700 13px var(--font);cursor:pointer}.syllabus-nav-tab i{color:var(--accent-text);font-size:18px}.syllabus-nav-tab:hover{background:var(--surface-1);color:var(--text)}.syllabus-nav-tab.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 11px color-mix(in srgb,var(--accent) 20%,transparent)}.syllabus-nav-tab.active i{color:#fff}.syllabus-view{display:none}.syllabus-view.active{display:block}.syllabus-section-head>span{color:var(--accent-text);font-size:10px;font-weight:800;text-transform:uppercase}.syllabus-section-head h2{margin:3px 0 5px;font-size:22px}.syllabus-section-head>p{max-width:740px;margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}
.syllabus-outline{margin-top:14px;padding:18px 22px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.syllabus-outline ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:0;padding-left:23px}.syllabus-outline li{padding:8px 4px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;line-height:1.45}.syllabus-outline li::marker{color:var(--accent-text);font-weight:800}.syllabus-outline strong{color:var(--text)}
.syllabus-learning-grid,.syllabus-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.syllabus-learning-grid>section,.syllabus-rules-grid>section{padding:20px 22px;border-top:4px solid var(--accent);background:var(--surface-2)}.syllabus-learning-grid .rich-content,.syllabus-rules-grid .rich-content{color:var(--text-secondary);font-size:13px;line-height:1.6}.syllabus-learning-grid li,.syllabus-rules-grid li{margin:7px 0}.syllabus-reference-band{margin-top:16px;padding:20px 22px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.syllabus-reference-band .rich-content{font-size:13px;color:var(--text-secondary)}
.syllabus-grade-chart{display:grid;gap:8px;margin-top:14px;padding:18px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.syllabus-grade-row{display:grid;grid-template-columns:36px minmax(140px,.8fr) minmax(180px,2fr) 54px;align-items:center;gap:10px;min-height:40px}.syllabus-grade-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:17px}.syllabus-grade-icon.violet{background:#EEE9F7;color:#6941A5}.syllabus-grade-icon.green{background:#E8F5EC;color:#187647}.syllabus-grade-icon.cyan{background:#E5F4F6;color:#087889}.syllabus-grade-icon.rose{background:#FAE9EE;color:#A33A55}.syllabus-grade-icon.amber{background:#FBF0D6;color:#976200}.syllabus-grade-label{font-size:12px;font-weight:700}.syllabus-grade-track{height:12px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}.syllabus-grade-track>span{display:block;height:100%;min-width:2px;background:var(--accent)}.syllabus-grade-row>strong{text-align:right;color:var(--text-secondary);font-size:12px}.syllabus-selflearn{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(400px,1.25fr);gap:22px;margin-top:16px;padding:22px;border:1px solid var(--border);border-left:5px solid #976200;border-radius:8px;background:var(--surface-2)}.syllabus-selflearn-share{display:inline-block;color:#976200;font-size:34px;font-weight:800}.syllabus-selflearn h3{margin:5px 0 6px;font-size:18px}.syllabus-selflearn p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.55}.syllabus-selflearn-bars{display:grid;gap:4px}.syllabus-selflearn-bars .syllabus-grade-row{grid-template-columns:32px minmax(120px,.9fr) minmax(120px,1.5fr) 48px;min-height:36px}.syllabus-selflearn-bars .syllabus-grade-icon{width:30px;height:30px;font-size:15px}
.syllabus-privacy{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;margin-top:16px;padding:22px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg)}.syllabus-privacy-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:8px;background:var(--surface-1);color:var(--accent-text);font-size:28px}.syllabus-privacy .rich-content,.syllabus-career-disclaimer .rich-content{color:var(--text-secondary);font-size:13px;line-height:1.6}.syllabus-career-disclaimer{display:flex;align-items:flex-start;gap:14px;margin-top:16px;padding:18px 20px;border-left:4px solid #976200;background:#FBF5E8}.syllabus-career-disclaimer>i{color:#976200;font-size:25px}.syllabus-career-disclaimer h3{margin:0 0 4px;font-size:16px}.syllabus-career-disclaimer p{margin:0}
[data-composed-syllabus] .syllabus-overview-grid{align-items:stretch}
.syllabus-identity-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}
.syllabus-identity-facts>div{min-width:0;padding:9px 0;border-bottom:1px solid var(--border)}
.syllabus-identity-facts>div:nth-child(odd){padding-right:14px}
.syllabus-identity-facts>div:nth-child(even){padding-left:14px;border-left:1px solid var(--border)}
.syllabus-identity-facts dt{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}
.syllabus-identity-facts dd{margin:3px 0 0;overflow-wrap:anywhere;color:var(--text-primary);font-weight:700}
[data-composed-syllabus] .syllabus-teaching-team{display:grid;gap:8px;margin:0;padding:0;list-style:none}
[data-composed-syllabus] .syllabus-teaching-team li{display:flex;min-width:0;flex-direction:column;gap:2px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
[data-composed-syllabus] .syllabus-teaching-team strong,[data-composed-syllabus] .syllabus-teaching-team span{overflow-wrap:anywhere}
[data-composed-syllabus] .syllabus-teaching-team span{color:var(--text-muted);font-size:11px}
.syllabus-lead-profile{display:flex;min-width:0;flex-direction:column;gap:5px}.syllabus-lead-profile>strong{color:var(--text-primary);font-size:18px}.syllabus-lead-profile>small{overflow-wrap:anywhere;color:var(--accent-text);font-weight:700}.syllabus-lead-profile>p{margin:6px 0 0}.syllabus-lead-profile>h3{margin:14px 0 0;color:var(--text-primary);font-size:14px}
.syllabus-structured-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.syllabus-structured-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0!important;padding:11px 12px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:7px;background:var(--surface-1)}
.syllabus-structured-item>span{grid-row:1/3;align-self:start;padding:3px 7px;border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:10px;font-weight:800}
.syllabus-structured-item>strong{color:var(--text-primary);font-size:13px}
.syllabus-structured-item>p{grid-column:2;margin:2px 0 0;color:var(--text-secondary)}
.syllabus-outline>.syllabus-weekly-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.syllabus-weekly-plan>li{display:flex;min-width:0;flex-direction:column;gap:5px;margin:0;padding:14px 15px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:7px;background:var(--surface-2)}
.syllabus-weekly-plan>li strong{font-size:14px}
.syllabus-weekly-plan>li small{color:var(--text-muted);font-size:10px;font-weight:700}
.syllabus-weekly-plan>li p{margin:0;color:var(--text-secondary);line-height:1.5}
.syllabus-policy-card{min-width:0}
.syllabus-policy-card .rich-content{overflow-wrap:anywhere}
@media(max-width:1050px){.syllabus-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.syllabus-identity-facts{grid-template-columns:1fr}.syllabus-identity-facts>div:nth-child(odd),.syllabus-identity-facts>div:nth-child(even){padding-right:0;padding-left:0;border-left:0}.syllabus-outline>.syllabus-weekly-plan{grid-template-columns:1fr}.syllabus-learning-grid,.syllabus-rules-grid{grid-template-columns:1fr}}
@media(max-width:560px){.syllabus-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.syllabus-nav-tab{justify-content:flex-start}}
@media(max-width:480px){.syllabus-structured-item{grid-template-columns:1fr}.syllabus-structured-item>span{grid-row:auto;justify-self:start}.syllabus-structured-item>p{grid-column:auto}}
@media(max-width:480px){.syllabus-unpublished{grid-template-columns:1fr;padding:20px}.syllabus-unpublished .syllabus-hero-mark{grid-row:auto;width:62px;height:62px;flex-basis:62px;font-size:30px}}

/* Shared authored-content blocks and topic-card tones */
.rich-content-block,
.rich-block-surface{
  --rich-block-accent:var(--accent);
  --rich-block-bg:color-mix(in srgb,var(--rich-block-accent) 8%,var(--surface-2));
  --rich-card-width:100%;
  --rich-card-border-width:1px;
  --rich-card-accent-width:5px;
  --rich-card-accent-left-width:var(--rich-card-accent-width);
  --rich-card-accent-top-width:0px;
  --rich-card-line-style:solid;
  --rich-card-border-color:color-mix(in srgb,var(--rich-block-accent) 36%,var(--border));
  --rich-card-left-border-color:var(--rich-block-accent);
  --rich-card-top-border-color:var(--rich-card-border-color);
  --rich-card-radius:10px;
  --rich-card-shadow:0 5px 16px rgba(20,35,50,.045);
  --rich-card-pad-y:15px;
  --rich-card-pad-x:17px;
  --rich-card-surface-color:var(--rich-block-bg);
  --rich-card-surface-image:none;
  --rich-card-surface-size:auto;
  --rich-card-icon-content:none;
  --rich-card-icon-space:0px;
  --rich-card-icon-left-space:0px;
  --rich-card-icon-right-space:var(--rich-card-icon-space);
  --rich-card-icon-bottom-space:0px;
  --rich-card-marker-left-space:0px;
  --rich-card-marker-right-space:0px;
  --rich-card-marker-bottom-space:0px;
  position:relative;
  display:block;
  box-sizing:border-box;
  width:var(--rich-card-width);
  max-width:100%;
  margin:1rem 0;
  padding:
    var(--rich-card-pad-y)
    calc(var(--rich-card-pad-x) + var(--rich-card-icon-right-space) + var(--rich-card-marker-right-space))
    calc(var(--rich-card-pad-y) + var(--rich-card-icon-bottom-space) + var(--rich-card-marker-bottom-space))
    calc(var(--rich-card-pad-x) + var(--rich-card-icon-left-space) + var(--rich-card-marker-left-space));
  overflow-wrap:anywhere;
  border-color:var(--rich-card-border-color);
  border-style:var(--rich-card-line-style);
  border-width:var(--rich-card-border-width);
  border-left-color:var(--rich-card-left-border-color);
  border-left-width:max(var(--rich-card-border-width),var(--rich-card-accent-left-width));
  border-top-color:var(--rich-card-top-border-color);
  border-top-width:max(var(--rich-card-border-width),var(--rich-card-accent-top-width));
  border-radius:var(--rich-card-radius);
  background-color:var(--rich-card-surface-color);
  background-image:var(--rich-card-surface-image);
  background-repeat:repeat;
  background-size:var(--rich-card-surface-size);
  color:var(--text-primary);
  line-height:1.6;
  box-shadow:var(--rich-card-shadow);
  break-inside:avoid;
}
.rich-content-block::before,
.rich-block-surface::before{
  content:var(--rich-card-icon-content);
  position:absolute;
  top:12px;
  right:12px;
  z-index:1;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:color-mix(in srgb,var(--rich-block-accent) 12%,var(--surface-2));
  color:var(--rich-block-accent);
  font-family:"tabler-icons";
  font-size:21px;
  font-style:normal;
  font-weight:400;
  font-variant:normal;
  line-height:1;
  speak:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  pointer-events:none;
}
.rich-content-block>strong:first-of-type{
  display:block;
  margin:0 0 4px;
  color:color-mix(in srgb,var(--rich-block-accent) 78%,var(--text-primary));
  font-size:var(--rich-card-title-size,.9em);
  font-weight:800;
  letter-spacing:.01em;
}
.rich-content-block>p{
  margin:.25rem 0 0;
  color:var(--text-secondary);
}
.rich-content-block>p:first-of-type{
  margin-top:.25rem;
}
.rich-content-block-note{
  --rich-block-accent:#2f75c8;
  --rich-block-bg:color-mix(in srgb,#2f75c8 8%,var(--surface-2));
}
.rich-content-block-idea{
  --rich-block-accent:#6654c7;
  --rich-block-bg:color-mix(in srgb,#6654c7 8%,var(--surface-2));
}
.rich-content-block-example{
  --rich-block-accent:#168f72;
  --rich-block-bg:color-mix(in srgb,#168f72 8%,var(--surface-2));
}
.rich-content-block-warning{
  --rich-block-accent:#bd7507;
  --rich-block-bg:color-mix(in srgb,#bd7507 9%,var(--surface-2));
}
.rich-content-block-definition{
  --rich-block-accent:#087889;
  --rich-block-bg:color-mix(in srgb,#087889 8%,var(--surface-2));
}
.rich-content-block-task{
  --rich-block-accent:#a33a55;
  --rich-block-bg:color-mix(in srgb,#a33a55 8%,var(--surface-2));
}
.rich-block-tone-neutral{
  --rich-block-accent:#68727d;
  --rich-block-bg:color-mix(in srgb,#68727d 8%,var(--surface-2));
}
.rich-block-tone-blue{
  --rich-block-accent:#2f75c8;
  --rich-block-bg:color-mix(in srgb,#2f75c8 8%,var(--surface-2));
}
.rich-block-tone-green{
  --rich-block-accent:#168f72;
  --rich-block-bg:color-mix(in srgb,#168f72 8%,var(--surface-2));
}
.rich-block-tone-violet{
  --rich-block-accent:#6654c7;
  --rich-block-bg:color-mix(in srgb,#6654c7 8%,var(--surface-2));
}
.rich-block-tone-amber{
  --rich-block-accent:#bd7507;
  --rich-block-bg:color-mix(in srgb,#bd7507 9%,var(--surface-2));
}

/* Governed academic-card layout and appearance */
.rich-card-width-full{--rich-card-width:100%}
.rich-card-width-compact{--rich-card-width:320px}
.rich-card-width-medium{--rich-card-width:520px}
.rich-card-width-wide{--rich-card-width:760px}

.rich-card-place-left{margin-left:0;margin-right:auto}
.rich-card-place-center{margin-left:auto;margin-right:auto}
.rich-card-place-right{margin-left:auto;margin-right:0}

.rich-card-style-side{
  --rich-card-accent-left-width:var(--rich-card-accent-width);
  --rich-card-accent-top-width:0px;
  --rich-card-left-border-color:var(--rich-block-accent);
  --rich-card-top-border-color:var(--rich-card-border-color);
}
.rich-card-style-top{
  --rich-card-accent-left-width:0px;
  --rich-card-accent-top-width:var(--rich-card-accent-width);
  --rich-card-left-border-color:var(--rich-card-border-color);
  --rich-card-top-border-color:var(--rich-block-accent);
}
.rich-card-style-outline{
  --rich-card-accent-left-width:0px;
  --rich-card-accent-top-width:0px;
  --rich-card-border-color:var(--rich-block-accent);
  --rich-card-left-border-color:var(--rich-block-accent);
  --rich-card-top-border-color:var(--rich-block-accent);
}
.rich-card-style-simple{
  --rich-card-accent-left-width:0px;
  --rich-card-accent-top-width:0px;
  --rich-card-border-color:var(--border);
  --rich-card-left-border-color:var(--border);
  --rich-card-top-border-color:var(--border);
}

.rich-card-border-none{--rich-card-border-width:0px}
.rich-card-border-thin{--rich-card-border-width:1px}
.rich-card-border-medium{--rich-card-border-width:2px}
.rich-card-border-thick{--rich-card-border-width:3px}

.rich-card-line-solid{--rich-card-line-style:solid}
.rich-card-line-dashed{--rich-card-line-style:dashed}
.rich-card-line-dotted{--rich-card-line-style:dotted}

.rich-card-corners-square{--rich-card-radius:0px}
.rich-card-corners-soft{--rich-card-radius:10px}
.rich-card-corners-rounded{--rich-card-radius:22px}

.rich-card-shadow-none{--rich-card-shadow:none}
.rich-card-shadow-soft{--rich-card-shadow:0 5px 16px rgba(20,35,50,.075)}
.rich-card-shadow-raised{--rich-card-shadow:0 14px 30px rgba(20,35,50,.16)}

.rich-card-surface-clean{
  --rich-card-surface-color:var(--surface-2);
  --rich-card-surface-image:none;
  --rich-card-surface-size:auto;
}
.rich-card-surface-soft{
  --rich-card-surface-color:var(--rich-block-bg);
  --rich-card-surface-image:none;
  --rich-card-surface-size:auto;
}
.rich-card-surface-corner{
  --rich-card-surface-color:var(--rich-block-bg);
  --rich-card-surface-image:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--rich-block-accent) 19%,transparent) 0,transparent 118px);
  --rich-card-surface-size:auto;
}
.rich-card-surface-diagonal{
  --rich-card-surface-color:var(--rich-block-bg);
  --rich-card-surface-image:repeating-linear-gradient(135deg,transparent 0 18px,color-mix(in srgb,var(--rich-block-accent) 7%,transparent) 18px 21px);
  --rich-card-surface-size:auto;
}
.rich-card-surface-dots{
  --rich-card-surface-color:var(--rich-block-bg);
  --rich-card-surface-image:radial-gradient(circle,color-mix(in srgb,var(--rich-block-accent) 19%,transparent) 1.2px,transparent 1.5px);
  --rich-card-surface-size:16px 16px;
}

.rich-card-icon-none{--rich-card-icon-content:none;--rich-card-icon-space:0px}
.rich-card-icon-info{--rich-card-icon-content:"\eac5";--rich-card-icon-space:44px}
.rich-card-icon-idea{--rich-card-icon-content:"\ea51";--rich-card-icon-space:44px}
.rich-card-icon-star{--rich-card-icon-content:"\eb2e";--rich-card-icon-space:44px}
.rich-card-icon-warning{--rich-card-icon-content:"\ea06";--rich-card-icon-space:44px}
.rich-card-icon-check{--rich-card-icon-content:"\ea5e";--rich-card-icon-space:44px}
.rich-card-icon-plane{--rich-card-icon-content:"\eb6f";--rich-card-icon-space:44px}
.rich-card-icon-wind{--rich-card-icon-content:"\ec34";--rich-card-icon-space:44px}
.rich-card-icon-rotate{--rich-card-icon-content:"\eb16";--rich-card-icon-space:44px}
.rich-card-icon-gauge{--rich-card-icon-content:"\eab1";--rich-card-icon-space:44px}
.rich-card-icon-target{--rich-card-icon-content:"\eb35";--rich-card-icon-space:44px}
.rich-card-icon-book{--rich-card-icon-content:"\ea39";--rich-card-icon-space:44px}
.rich-card-icon-clock{--rich-card-icon-content:"\ea70";--rich-card-icon-space:44px}
.rich-card-icon-question{--rich-card-icon-content:"\ec9d";--rich-card-icon-space:44px}
.rich-card-icon-sparkles{--rich-card-icon-content:"\f6d7";--rich-card-icon-space:44px}

.rich-card-icon-position-right{
  --rich-card-icon-left-space:0px;
  --rich-card-icon-right-space:var(--rich-card-icon-space);
  --rich-card-icon-bottom-space:0px;
}
.rich-card-icon-position-right::before{
  top:12px;
  right:12px;
  bottom:auto;
  left:auto;
}
.rich-card-icon-position-left{
  --rich-card-icon-left-space:var(--rich-card-icon-space);
  --rich-card-icon-right-space:0px;
  --rich-card-icon-bottom-space:0px;
}
.rich-card-icon-position-left::before{
  top:12px;
  right:auto;
  bottom:auto;
  left:12px;
}
.rich-card-icon-position-bottom-right,
.rich-card-icon-position-bottom-left{
  --rich-card-icon-left-space:0px;
  --rich-card-icon-right-space:0px;
  --rich-card-icon-bottom-space:var(--rich-card-icon-space);
}
.rich-card-icon-position-bottom-right::before{
  top:auto;
  right:12px;
  bottom:12px;
  left:auto;
}
.rich-card-icon-position-bottom-left::before{
  top:auto;
  right:auto;
  bottom:12px;
  left:12px;
}
.rich-card-icon-position-watermark{
  --rich-card-icon-left-space:0px;
  --rich-card-icon-right-space:0px;
  --rich-card-icon-bottom-space:0px;
}
.rich-card-icon-position-watermark::before{
  top:auto;
  right:12px;
  bottom:5px;
  z-index:0;
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  font-size:68px;
  opacity:.11;
}

.rich-card-align-left{text-align:left}
.rich-card-align-center{text-align:center}

.rich-card-density-compact{--rich-card-pad-y:10px;--rich-card-pad-x:12px}
.rich-card-density-comfortable{--rich-card-pad-y:15px;--rich-card-pad-x:17px}
.rich-card-density-spacious{--rich-card-pad-y:21px;--rich-card-pad-x:23px}

.rich-card-title-small{--rich-card-title-size:.78em}
.rich-card-title-standard{--rich-card-title-size:.9em}
.rich-card-title-large{--rich-card-title-size:1.08em}

.rich-card-content-top,
.rich-card-content-middle,
.rich-card-content-bottom{display:flex;flex-direction:column}
.rich-card-content-top{justify-content:flex-start}
.rich-card-content-middle{justify-content:center}
.rich-card-content-bottom{justify-content:flex-end}

/* Adjacent academic cards: the row owns layout, the cards keep their content styling. */
.rich-card-row{
  --rich-card-row-columns:2;
  --rich-card-row-gap:14px;
  --rich-card-sequence-size:32px;
  position:relative;
  display:grid;
  min-width:0;
  max-width:100%;
  grid-template-columns:repeat(var(--rich-card-row-columns),minmax(0,1fr));
  align-items:stretch;
  gap:var(--rich-card-row-gap);
  margin:1rem 0;
  counter-reset:rich-card-sequence;
}
.rich-card-row-cols-2{--rich-card-row-columns:2}
.rich-card-row-cols-3{--rich-card-row-columns:3}
.rich-card-row-cols-4{--rich-card-row-columns:4}
.rich-card-row-cols-5{--rich-card-row-columns:5}

.rich-card-row-gap-tight{--rich-card-row-gap:8px}
.rich-card-row-gap-normal{--rich-card-row-gap:14px}
.rich-card-row-gap-roomy{--rich-card-row-gap:22px}

.rich-card-row>:is(.rich-content-block,.rich-block-surface){
  --rich-card-width:100%;
  width:100%;
  min-width:0;
  max-width:none;
  height:100%;
  margin:0;
  justify-self:stretch;
  counter-increment:rich-card-sequence;
}

.rich-card-sequence{
  position:absolute;
  top:12px;
  left:12px;
  z-index:3;
  display:grid;
  box-sizing:border-box;
  width:var(--rich-card-sequence-size);
  min-width:var(--rich-card-sequence-size);
  height:var(--rich-card-sequence-size);
  place-items:center;
  border:2px solid var(--surface-2);
  border-radius:999px;
  background:var(--rich-card-marker-bg,var(--rich-block-accent));
  color:var(--rich-card-marker-text,#fff);
  font-size:0;
  font-weight:850;
  line-height:1;
  text-align:center;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--rich-card-marker-bg,var(--rich-block-accent)) 32%,transparent),0 5px 12px rgba(20,35,50,.13);
  isolation:isolate;
  user-select:none;
  pointer-events:none;
}
.rich-card-sequence::before{
  content:counter(rich-card-sequence);
  color:var(--rich-card-marker-text,#fff);
  font-size:13px;
  -webkit-text-fill-color:var(--rich-card-marker-text,#fff);
}
.rich-card-row-sequence-none .rich-card-sequence{display:none}
.rich-card-row-sequence-numbers .rich-card-sequence::before{content:counter(rich-card-sequence)}
.rich-card-row-sequence-letters .rich-card-sequence::before{content:counter(rich-card-sequence,upper-alpha)}

.rich-card-row-marker-top-left:not(.rich-card-row-sequence-none)>:is(.rich-content-block,.rich-block-surface){
  --rich-card-marker-left-space:42px;
}
.rich-card-row-marker-top-right:not(.rich-card-row-sequence-none)>:is(.rich-content-block,.rich-block-surface){
  --rich-card-marker-right-space:42px;
}
.rich-card-row-marker-bottom-left:not(.rich-card-row-sequence-none)>:is(.rich-content-block,.rich-block-surface),
.rich-card-row-marker-bottom-right:not(.rich-card-row-sequence-none)>:is(.rich-content-block,.rich-block-surface){
  --rich-card-marker-bottom-space:42px;
}
.rich-card-row-marker-top-left .rich-card-sequence{top:12px;right:auto;bottom:auto;left:12px}
.rich-card-row-marker-top-right .rich-card-sequence{top:12px;right:12px;bottom:auto;left:auto}
.rich-card-row-marker-bottom-left .rich-card-sequence{top:auto;right:auto;bottom:12px;left:12px}
.rich-card-row-marker-bottom-right .rich-card-sequence{top:auto;right:12px;bottom:12px;left:auto}

.rich-card-row-marker-circle .rich-card-sequence{
  border-radius:999px;
  -webkit-clip-path:none;
  clip-path:none;
  filter:none;
}
.rich-card-row-marker-square .rich-card-sequence{
  border-radius:8px;
  -webkit-clip-path:none;
  clip-path:none;
  filter:none;
}
.rich-card-row-marker-diamond .rich-card-sequence,
.rich-card-row-marker-triangle .rich-card-sequence,
.rich-card-row-marker-hexagon .rich-card-sequence,
.rich-card-row-marker-star .rich-card-sequence,
.rich-card-row-marker-shield .rich-card-sequence{
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 2px 2px rgba(20,35,50,.2));
}
.rich-card-row-marker-diamond .rich-card-sequence{
  -webkit-clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.rich-card-row-marker-triangle .rich-card-sequence{
  -webkit-clip-path:polygon(50% 0,100% 100%,0 100%);
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
.rich-card-row-marker-triangle .rich-card-sequence::before{
  transform:translateY(4px);
}
.rich-card-row-marker-hexagon .rich-card-sequence{
  -webkit-clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
}
.rich-card-row-marker-star .rich-card-sequence{
  -webkit-clip-path:polygon(50% 0,61% 34%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 34%);
  clip-path:polygon(50% 0,61% 34%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 34%);
}
.rich-card-row-marker-star .rich-card-sequence::before{
  font-size:10px;
  text-shadow:0 1px 1px rgba(20,35,50,.3);
}
.rich-card-row-marker-shield .rich-card-sequence{
  -webkit-clip-path:polygon(50% 0,92% 14%,86% 65%,50% 100%,14% 65%,8% 14%);
  clip-path:polygon(50% 0,92% 14%,86% 65%,50% 100%,14% 65%,8% 14%);
}
.rich-card-row-marker-shield .rich-card-sequence::before{
  transform:translateY(-2px);
}
.rich-card-row-marker-plain .rich-card-sequence{
  width:auto;
  min-width:0;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--rich-card-marker-text,var(--rich-block-accent));
  text-shadow:0 1px 0 var(--surface-2);
  box-shadow:none;
  -webkit-clip-path:none;
  clip-path:none;
  filter:none;
}
.rich-card-row-marker-plain .rich-card-sequence::before{
  color:var(--rich-card-marker-text,var(--rich-block-accent));
  font-size:15px;
  -webkit-text-fill-color:var(--rich-card-marker-text,var(--rich-block-accent));
}

/* Keep an icon and a sequence marker legible when both use the same corner. */
.rich-card-row-marker-top-left:not(.rich-card-row-sequence-none)>.rich-card-icon-position-left::before{
  left:54px;
}
.rich-card-row-marker-top-right:not(.rich-card-row-sequence-none)>.rich-card-icon-position-right::before{
  right:54px;
}
.rich-card-row-marker-bottom-left:not(.rich-card-row-sequence-none)>.rich-card-icon-position-bottom-left::before,
.rich-card-row-marker-bottom-right:not(.rich-card-row-sequence-none)>.rich-card-icon-position-bottom-right::before{
  bottom:54px;
}

.ed-rich-input .rich-block-selected{
  outline:3px solid color-mix(in srgb,var(--rich-block-accent,var(--accent)) 40%,transparent);
  outline-offset:3px;
  box-shadow:0 0 0 6px color-mix(in srgb,var(--rich-block-accent,var(--accent)) 10%,transparent);
}
.topic-flow-managed{
  --topic-auto-span:3;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:stretch;
}
.topic-flow-managed.topic-flow-count-1{
  --topic-auto-span:12;
}
.topic-flow-managed.topic-flow-count-2{
  --topic-auto-span:6;
}
.topic-flow-managed.topic-flow-count-3{
  --topic-auto-span:4;
}
.topic-flow-managed .topic-step{
  height:100%;
  grid-column:span var(--topic-auto-span);
}
.topic-flow-managed .topic-step-size-standard{
  grid-column:span 3;
}
.topic-flow-managed .topic-step-size-wide{
  grid-column:span 6;
}
.topic-flow-managed .topic-step-size-full{
  grid-column:1/-1;
}
.topic-step{
  --step-tone-bg:color-mix(in srgb,var(--step-color,var(--accent)) 8%,var(--surface-2));
}
.topic-step-style-accent{
  background:var(--surface-2);
}
.topic-step-style-soft{
  border-color:color-mix(in srgb,var(--step-color,var(--accent)) 42%,var(--border));
  background:var(--step-tone-bg);
}
.topic-step-style-soft::after{
  background:color-mix(in srgb,var(--step-color,var(--accent)) 22%,transparent);
}
.topic-step-style-outline{
  border:2px solid color-mix(in srgb,var(--step-color,var(--accent)) 72%,var(--border));
  background:var(--surface-2);
  box-shadow:none;
}
.topic-step-style-outline::after{
  opacity:.5;
}
.topic-step-border-thin{
  border-width:1px;
  border-style:solid;
}
.topic-step-border-thick{
  border-width:3px;
  border-style:solid;
}
.topic-step-border-dashed{
  border-width:2px;
  border-style:dashed;
}
.topic-step-border-dotted{
  border-width:2px;
  border-style:dotted;
}
.topic-step-radius-soft{
  border-radius:12px;
}
.topic-step-radius-rounded{
  border-radius:22px;
}
.topic-step-radius-square{
  border-radius:3px;
}
.topic-step-elevation-flat{
  box-shadow:inset 0 4px 0 var(--step-color,var(--accent));
}
.topic-step-elevation-raised{
  box-shadow:inset 0 4px 0 var(--step-color,var(--accent)),0 12px 25px rgba(20,35,50,.13);
}
.topic-step-icon-left .topic-step-top{
  flex-direction:row-reverse;
}
.topic-step-icon-bottom-right{
  padding-bottom:2.8rem;
}
.topic-step-icon-bottom-right .topic-step-top,
.topic-step-icon-watermark .topic-step-top{
  position:static;
}
.topic-step-icon-bottom-right .topic-step-num,
.topic-step-icon-watermark .topic-step-num{
  position:relative;
  z-index:2;
}
.topic-step-icon-bottom-right .topic-step-top>i{
  position:absolute;
  right:14px;
  bottom:12px;
  z-index:2;
}
.topic-step-icon-watermark .topic-step-top>i{
  position:absolute;
  right:12px;
  bottom:5px;
  z-index:0;
  color:var(--step-color,var(--accent));
  font-size:68px;
  opacity:.11;
}
.topic-step-icon-hidden .topic-step-top>i{
  display:none;
}
.topic-step-align-center .topic-step-title,
.topic-step-align-center .topic-step-desc{
  text-align:center;
}
.topic-step-tone-blue{
  --step-color:#2f75c8;
  --step-tone-bg:color-mix(in srgb,#2f75c8 8%,var(--surface-2));
}
.topic-step-tone-green{
  --step-color:#168f72;
  --step-tone-bg:color-mix(in srgb,#168f72 8%,var(--surface-2));
}
.topic-step-tone-violet{
  --step-color:#6654c7;
  --step-tone-bg:color-mix(in srgb,#6654c7 8%,var(--surface-2));
}
.topic-step-tone-amber{
  --step-color:#bd7507;
  --step-tone-bg:color-mix(in srgb,#bd7507 9%,var(--surface-2));
}
.topic-step-tone-neutral{
  --step-color:#68727d;
  --step-tone-bg:color-mix(in srgb,#68727d 8%,var(--surface-2));
}

@media(max-width:900px){
  .topic-flow-managed{
    --topic-auto-span:6;
  }
  .topic-flow-managed.topic-flow-count-1{
    --topic-auto-span:12;
  }
  .topic-flow-managed.topic-flow-count-2,
  .topic-flow-managed.topic-flow-count-3{
    --topic-auto-span:6;
  }
  .topic-flow-managed .topic-step-size-standard{
    grid-column:span 6;
  }
  .topic-flow-managed .topic-step-size-wide,
  .topic-flow-managed .topic-step-size-full{
    grid-column:1/-1;
  }
}
@media(max-width:1000px){
  .rich-card-row-cols-3,
  .rich-card-row-cols-4,
  .rich-card-row-cols-5{
    --rich-card-row-columns:2;
  }
  .rich-card-row-cols-3>:is(.rich-content-block,.rich-block-surface):last-child,
  .rich-card-row-cols-5>:is(.rich-content-block,.rich-block-surface):last-child{
    grid-column:1/-1;
  }
}
@media(max-width:640px){
  .rich-card-row,
  .rich-card-row-cols-2,
  .rich-card-row-cols-3,
  .rich-card-row-cols-4,
  .rich-card-row-cols-5{
    --rich-card-row-columns:1;
  }
  .rich-card-row{
    --rich-card-sequence-size:29px;
  }
  .rich-card-row>:is(.rich-content-block,.rich-block-surface){
    grid-column:auto;
  }
  .rich-card-row-gap-tight{--rich-card-row-gap:7px}
  .rich-card-row-gap-normal{--rich-card-row-gap:12px}
  .rich-card-row-gap-roomy{--rich-card-row-gap:17px}
  .rich-card-row-marker-top-left:not(.rich-card-row-sequence-none)>:is(.rich-content-block,.rich-block-surface){
    --rich-card-marker-left-space:38px;
  }
  .rich-card-row-marker-top-right:not(.rich-card-row-sequence-none)>:is(.rich-content-block,.rich-block-surface){
    --rich-card-marker-right-space:38px;
  }
  .rich-card-row-marker-bottom-left:not(.rich-card-row-sequence-none)>:is(.rich-content-block,.rich-block-surface),
  .rich-card-row-marker-bottom-right:not(.rich-card-row-sequence-none)>:is(.rich-content-block,.rich-block-surface){
    --rich-card-marker-bottom-space:38px;
  }
}
@media(max-width:600px){
  .topic-flow-managed .topic-step,
  .topic-flow-managed .topic-step-size-standard,
  .topic-flow-managed .topic-step-size-wide,
  .topic-flow-managed .topic-step-size-full{
    grid-column:1/-1;
  }
  .rich-content-block,
  .rich-block-surface{
    --rich-card-accent-width:4px;
    --rich-card-pad-y:13px;
    --rich-card-pad-x:14px;
    margin:.8rem 0;
  }
}
/* The student front door: the current week, then only what is waiting. The
   queue reuses the professor landing's row grammar so both sides of the desk
   read the same way. */
.student-this-week{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin:22px 0 0;
  padding:16px 20px;
  border:1px solid var(--border);
  border-left:3px solid var(--accent);
  border-radius:8px;
  background:var(--surface-1);
}
.student-this-week h2{margin:4px 0 0;font-size:19px}
.student-work-queue{margin:14px 0 0;padding:16px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}
.student-work-queue .course-week-queue-count{font-size:16px}
.student-queue-all{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--accent-text);font-size:13px;font-weight:650;text-decoration:none}
.student-queue-all:hover{text-decoration:underline}
/* My work: one list, the open work first. */
.student-work-summary{margin:4px 0 0;color:var(--text-secondary);font-size:13px}
.student-work-list{display:grid;gap:10px;margin-top:16px}
.student-work-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:14px;
  padding:12px 16px;
  border:1px solid var(--border);
  border-left:3px solid transparent;
  border-radius:10px;
  background:var(--surface-1);
  color:inherit;
  text-decoration:none;
}
.student-work-row:hover{border-color:var(--border-strong)}
.student-work-row[data-work-state="todo"]{border-left-color:var(--accent)}
.student-work-row[data-work-state="waiting"]{border-left-color:var(--warning-text,#8a6508)}
.student-work-row[data-work-state="done"]{border-left-color:var(--good-text,#1f7a45)}
.student-work-row[data-work-state="closed"]{opacity:.72}
.student-work-icon{display:inline-flex;color:var(--text-muted);font-size:18px}
.student-work-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.student-work-text b{font-size:14px}
.student-work-text small{color:var(--text-muted);font-size:12px}
.student-work-status{color:var(--text-secondary);font-size:13px;white-space:nowrap}
.student-work-go{display:inline-flex;align-items:center;gap:5px;color:var(--accent-text);font-size:13px;font-weight:650;white-space:nowrap}
@media (max-width:680px){
  .student-work-row{grid-template-columns:auto minmax(0,1fr)}
  .student-work-status,.student-work-go{grid-column:2;justify-self:start}
}
/* Week navigator: tabs that carry state, sections that read as a path. */
.tab-waiting-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:17px;
  height:17px;
  margin-left:6px;
  padding:0 5px;
  border-radius:999px;
  background:var(--tab-color,var(--accent));
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
}
.week-section-foot{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:26px;
  padding-top:14px;
  border-top:1px solid var(--border);
}
.week-section-foot a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 13px;
  border:1px solid var(--border);
  border-radius:9px;
  color:var(--text-secondary);
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}
.week-section-foot a:hover{border-color:var(--border-strong);color:var(--text-primary)}
.week-continue-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  padding:8px 14px;
  border:1px solid var(--accent-border);
  border-radius:999px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:13px;
  font-weight:650;
  text-decoration:none;
}
.week-continue-chip:hover{filter:brightness(1.03)}
/* Sidebar week rows say their state without changing shape: a tick, a lock, a
   waiting dot. */
#sidebar .week-state-done .nav-num{color:var(--good-text,#1f7a45)}
#sidebar .week-state-done .nav-num::after{content:"✓";margin-left:3px;font-size:10px}
#sidebar .week-state-locked{opacity:.55}
#sidebar .week-state-locked .nav-title::after{content:"\2009🔒";font-size:10px}
#sidebar .week-state-due .nav-title::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:7px;
  border-radius:50%;
  background:var(--accent);
  vertical-align:middle;
}
/* My work in three strokes: to do, with the instructor, finished folded away. */
.student-work-group{display:flex;align-items:center;gap:8px;margin:22px 0 0;font-size:15px}
.student-work-group span{padding:1px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:700}
.student-work-finished{margin-top:26px}
.student-work-finished summary{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;font-weight:650;cursor:pointer}
.student-work-finished summary span{padding:1px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12px}
.student-work-finished[open] summary{margin-bottom:4px}
.student-work-clear{display:flex;align-items:center;gap:8px;margin:18px 0 0;color:var(--good-text,#1f7a45);font-weight:650}
/* Deadline scope: this course first, the whole load one click away. */
.deadline-scope{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}
.deadline-scope button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 14px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--text-secondary);
  font:inherit;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
}
.deadline-scope button span{padding:0 7px;border-radius:999px;background:var(--surface-1);border:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}
.deadline-scope button:hover{color:var(--text-primary)}
.deadline-scope button.active{background:var(--accent);color:#fff}
.deadline-scope button.active span{background:rgba(255,255,255,.22);border-color:transparent;color:#fff}
.student-deadlines-page .platform-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* Cross-course learner starting point and agenda. The course desk stays
   offering-local; these surfaces make the next useful action legible when a
   student has several courses in flight. */
.student-today-page{max-width:1120px}.student-today-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.student-today-head h1{margin:3px 0 5px;font-size:clamp(28px,3vw,38px)}.student-today-head p{max-width:620px;margin:0;color:var(--text-secondary);font-size:14px;line-height:1.5}.student-today-nav{display:inline-flex;flex:0 0 auto;gap:4px;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}.student-today-nav a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 11px;border-radius:999px;color:var(--text-secondary);font-size:12px;font-weight:800;text-decoration:none}.student-today-nav a:hover{background:var(--surface-1);color:var(--text-primary)}.student-today-nav a[aria-current="page"]{background:var(--accent);color:#fff;box-shadow:0 3px 8px color-mix(in srgb,var(--accent) 25%,transparent)}
.student-today-priority{margin:0 0 20px}.student-today-continue{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:94px;padding:18px 20px;border:1px solid var(--accent-border);border-left:5px solid var(--accent);border-radius:9px;background:linear-gradient(105deg,var(--accent-bg),var(--surface-1) 54%);color:var(--text-primary);text-decoration:none;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 8%,transparent)}.student-today-continue:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 12px 26px color-mix(in srgb,var(--accent) 15%,transparent)}.student-today-continue-icon,.student-today-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--surface-1);color:var(--accent-text);font-size:23px}.student-today-continue>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:3px}.student-today-continue small,.student-today-continue em{overflow:hidden;color:var(--text-secondary);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.student-today-continue small{color:var(--accent-text);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.student-today-continue b{overflow:hidden;font-size:19px;text-overflow:ellipsis;white-space:nowrap}.student-today-continue>i{color:var(--accent-text);font-size:23px}.student-today-clear{display:flex;align-items:flex-start;gap:13px;min-height:82px;padding:18px 20px;border:1px solid #A7D7B6;border-left:5px solid #25834A;border-radius:9px;background:#F0F9F2}.student-today-clear>i{color:#25834A;font-size:27px}.student-today-clear b{font-size:16px}.student-today-clear p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}
.student-today-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:20px;align-items:start}.student-today-section{min-width:0;padding:20px;border:1px solid var(--border);border-radius:9px;background:var(--surface-1)}.student-today-section:first-child{grid-row:span 2}.student-today-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 13px}.student-today-section-head h2{margin:3px 0 0;font-size:19px}.student-today-section-head>a{display:inline-flex;align-items:center;gap:4px;color:var(--accent-text);font-size:12px;font-weight:800;text-decoration:none}.student-today-section-head>a:hover{text-decoration:underline}.student-today-message-list,.student-today-feedback-list{display:grid;gap:0}.student-today-announcement,.student-today-feedback{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 0;border-top:1px solid var(--border);color:var(--text-primary);text-decoration:none}.student-today-announcement:first-child,.student-today-feedback:first-child{padding-top:0;border-top:0}.student-today-announcement:last-child,.student-today-feedback:last-child{padding-bottom:0}.student-today-announcement>span:nth-child(2),.student-today-feedback>span{display:flex;min-width:0;flex-direction:column;gap:3px}.student-today-announcement b,.student-today-feedback b{font-size:13px}.student-today-announcement small,.student-today-feedback small,.student-today-feedback em{overflow:hidden;color:var(--text-muted);font-size:10.5px;font-style:normal;line-height:1.4;text-overflow:ellipsis}.student-today-announcement p{display:-webkit-box;overflow:hidden;margin:3px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-today-announcement>i,.student-today-feedback>i:last-child{align-self:center;color:var(--text-muted);font-size:17px}.student-today-feedback>i:first-child{display:grid;place-items:center;width:33px;height:33px;border-radius:7px;background:var(--accent-bg);color:var(--accent-text);font-size:17px}.student-today-feedback em{color:var(--text-secondary)}.student-today-announcement:hover b,.student-today-feedback:hover b{color:var(--accent-text)}
.student-today-calendar{display:grid;gap:18px}.student-today-calendar-day{padding:20px;border:1px solid var(--border);border-radius:9px;background:var(--surface-1)}.student-today-calendar-day h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:18px}.student-today-calendar-day h2 span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:850px){.student-today-head{align-items:flex-start;flex-direction:column}.student-today-grid{grid-template-columns:1fr}.student-today-section:first-child{grid-row:auto}.student-today-section{padding:17px}.student-today-calendar-day{padding:17px}}
@media(max-width:520px){.student-today-nav{width:100%;justify-content:space-between}.student-today-nav a{justify-content:center;flex:1;padding:0 8px}.student-today-nav a span{font-size:11px}.student-today-continue{grid-template-columns:42px minmax(0,1fr);gap:11px;min-height:0;padding:15px}.student-today-continue-icon{width:42px;height:42px;font-size:20px}.student-today-continue b{font-size:16px}.student-today-continue>i{display:none}.student-today-section,.student-today-calendar-day{padding:15px}.student-today-section-head{align-items:flex-start;flex-direction:column}.student-today-clear{padding:15px}}
.atmosphere-profile-units{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:end;margin:0 0 16px}
.atmosphere-profile-units label{display:grid;gap:5px;min-width:0;max-width:100%;font-size:13px;color:var(--text-secondary)}
.atmosphere-profile-units select{max-width:100%;min-height:38px}
