/* Shared surfaces inspired by the Cobp study assistant composer. Load last. */
html.fonts-pending body {visibility:hidden;}
.lecture-schedule-fields {display:flex;flex-direction:column;gap:14px;margin:14px 0;}
.lecture-days {display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--border);padding:14px;border-radius:12px;}
.lecture-days label {display:flex;align-items:center;gap:6px;font-size:13px;}
.lecture-days legend {font-size:13px;padding:0 6px;}
.lecture-days input {accent-color:var(--ui-blue);}
.lecture-enable {display:flex;align-items:center;gap:8px;font-size:13px;}
body {
  font-family:var(--sans);
  font-size:14px;line-height:1.75;font-weight:400;
  --bg:#000; --bg2:#080808; --surface:#101010; --surface2:#101010; --surface3:#191919;
  --border:#242424; --border-hi:#404040; --border-bright:#303030;
  --accent:#c8c8c8; --accent2:#e4e4e4; --text:#f5f2ec;
  --text-dim:#a8a8a8; --text-muted:#999; --ui-edge:#7e7e7e;
  --ui-glint:transparent; --ui-button-top:#262626; --ui-button-bottom:#202020;
  --ui-blue:#c5c5c5; --ui-blue-wash:#ffffff08; --ui-blue-edge:#454545;
  --ui-green:#83d5b7; --ui-green-wash:#67c9a419;
  --ui-gold:#e6c38a; --ui-gold-wash:#e8bb7319;
  --ui-action-top:#494949; --ui-action-bottom:#494949;
  background-color:var(--bg);
  background-image:none;
  background-attachment:fixed;
}
body::before,body::after {display:none;}
body [hidden] {display:none!important;}
body #headerAvatar[aria-busy="true"] {color:transparent!important;}
body #headerAvatar[aria-busy="true"] > * {visibility:hidden;}
/* Avoid full-screen blur and background repainting beneath authentication dialogs. */
body.landing-page .modal-backdrop {
  backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(9,9,9,.94);
}
body.landing-page .giant-hero-wrapper::before,
body.landing-page .giant-hero-wrapper::after {filter:none;}
body.landing-page:has(.modal-backdrop[style*="flex"]) :is(.landing-page-view,.floating-navbar-wrapper),
body.landing-page:has(.modal-backdrop[style*="flex"]) :is(.landing-page-view,.floating-navbar-wrapper) *,
body.landing-page:has(.modal-backdrop[style*="flex"]) .landing-page-view *::before,
body.landing-page:has(.modal-backdrop[style*="flex"]) .landing-page-view *::after {
  animation-play-state:paused!important;
}
html[data-theme="light"] body {
  --bg:#d9d9d9; --bg2:#d3d3d3; --surface:#e0e0e0; --surface1:#e0e0e0; --surface2:#dadada; --surface3:#cbcbcb; --surface-hover:#d1d1d1;
  --border:#b8b8b8; --border-hi:#858585; --border-bright:#aaa;
  --accent:#242321; --accent2:#111; --text:#111;
  --text-dim:#333; --text-muted:#505050; --ui-edge:#858585;
  --ui-glint:transparent; --ui-button-top:#e0e0e0; --ui-button-bottom:#cbcbcb;
  --ui-blue:#111; --ui-blue-wash:#11111108; --ui-blue-edge:#858585;
  --ui-green:#27795e; --ui-green-wash:#67c9a418;
  --ui-gold:#8b6025; --ui-gold-wash:#e8bb731c;
  --ui-action-top:#30302e; --ui-action-bottom:#30302e;
  background-image:none;
}
body :is(.card-section,.stat-box,.stat-overview-box,.course-card,.assignment-card,
  .profile-photo-card,.profile-details-card,.auth-card,.modal-card,.modal-content,
  .ms-card,.sso-card,.account-help,.account-dock,.segmented-tabs-track,.bento-card,.step-card) {
  border:1px solid transparent!important;
  border-radius:16px;
  background:
    radial-gradient(ellipse 32px 28px at 0 0,var(--ui-glint),transparent 100%) padding-box,
    radial-gradient(ellipse at 100% 0%,var(--ui-card-tint,transparent),transparent 75%) padding-box,
    linear-gradient(var(--surface),var(--surface)) padding-box,
    linear-gradient(135deg,var(--ui-edge),var(--border) 30%) border-box!important;
  box-shadow:inset 0 1px 0 #ffffff06,0 8px 24px #0000000c!important;
}
body :is(.course-card,.assignment-card,.stat-box):hover {
  border-color:var(--border-hi)!important;
  box-shadow:0 8px 24px #00000018!important;
}
body .stat-box::before {display:none;}
body :is(.course-card,.assignment-card,.stat-box,.bento-card,.step-card) {transition:transform .2s,border-color .2s,box-shadow .2s;}
@media(hover:hover) {
  body :is(.course-card,.assignment-card,.stat-box,.bento-card,.step-card):hover {transform:translateY(-3px);border-color:var(--ui-blue-edge)!important;}
}
body .stat-box {--ui-card-tint:var(--ui-blue-wash);}
body .stat-box.green {--ui-card-tint:var(--ui-green-wash);}
body .stat-box.orange {--ui-card-tint:var(--ui-gold-wash);}
body :is(.stat-number,.stat-value,.stat-overview-value) {color:var(--text)!important;}
body :is(.icon-badge,.stat-icon,.moodle-icon-wrap,.brand-icon,.profile-avatar-large) {
  background:linear-gradient(145deg,var(--surface3),var(--surface))!important;
  color:var(--text-dim)!important;border-color:var(--border-bright)!important;
  box-shadow:inset 0 1px 0 #ffffff15!important;
}
body :is(.btn,.btn-hero-pill) {
  border-radius:10px;box-shadow:none!important;
  transition:background .2s,border-color .2s,transform .2s;
}
body :is(.btn-primary,.btn-secondary,.btn-hero-pill) {
  color:var(--text)!important;border:1px solid var(--border-hi)!important;
  background:linear-gradient(180deg,var(--ui-button-top),var(--ui-button-bottom) 65%)!important;
  box-shadow:inset 0 5px 2px -4px #ffffff80,0 2px 4px #0002!important;
}
body :is(.btn-primary,.btn-secondary,.btn-hero-pill):hover {filter:brightness(1.12);transform:translateY(-1px);}
body :is(.btn,.btn-hero-pill):disabled {filter:none;transform:none;opacity:.5;}
body .btn-ghost {background:transparent!important;color:var(--text-dim);}
body :is(input,select,textarea,button) {font-family:var(--sans);}
body :is(h1,h2,h3,h4,.section-title-white,.step-title,.bento-card-title,.brand-title,.profile-name) {font-family:var(--display);letter-spacing:normal;}
body :is(.form-label,.brand-subtitle,.section-label,.bento-card-tag,.step-num-badge) {letter-spacing:normal;font-size:12px;font-weight:500;}
body :is(.form-input,.profile-form textarea) {font-size:15px;line-height:1.7;font-weight:400;}
body .btn {font-weight:500;line-height:1.5;}
body .study-chat-message {font-size:14px;line-height:1.95;}
body .study-chat textarea {font-size:14px;line-height:1.8;}
body :is(.study-chat-status,.study-chat-footnote) {font-size:11px;line-height:1.75;}
body :is(pre,code,kbd,samp) {font-family:ui-monospace,Consolas,monospace;}
body :is(.form-input,.forecast-select-row select) {
  border:1px solid var(--border-bright);border-radius:12px;
  background:var(--surface2)!important;color:var(--text);
  box-shadow:inset 0 1px 2px #00000010;
  transition:border-color .2s,box-shadow .2s;
}
body :is(.form-input,.forecast-select-row select):focus {
  border-color:var(--ui-edge);box-shadow:0 0 0 3px var(--ui-glint);outline:none;
}
body :is(button,a,input,select,textarea):focus-visible {outline:2px solid var(--ui-edge);outline-offset:3px;}
body .navbar {background:var(--bg);border-bottom:1px solid var(--border);box-shadow:none;}
body .brand-title {font-size:14px;font-weight:600;}
body .security-badge-bar {
  background:var(--surface);border-color:var(--border);border-radius:14px;
  padding:12px 16px;box-shadow:none;color:var(--text-dim);
}
body .security-badge-text strong {color:var(--text);}
body .verified-student-badge {background:var(--surface3);border-color:var(--border-bright);color:var(--text-dim);box-shadow:none;}
body .segmented-tabs-track {padding:5px;gap:4px;}
body .segment-tab-btn {border:1px solid transparent;border-radius:10px;color:var(--text-dim);}
body .segment-tab-btn.active {
  background:linear-gradient(var(--ui-button-top),var(--ui-button-bottom));
  color:var(--text);border-color:var(--border-hi);box-shadow:inset 0 1px 0 #ffffff30;
}
html[data-theme="light"] body .segment-tab-btn.active {color:var(--text);}
body .segment-tab-btn:hover {color:var(--text);}
body .account-dock :is(a,button) {color:var(--text-dim);}
body .account-dock :is([aria-current="page"],[data-active="true"],a:hover,button:hover) {
  background:linear-gradient(var(--ui-button-top),var(--ui-button-bottom));
  border-color:var(--border-hi);color:var(--text);box-shadow:inset 0 1px 0 #ffffff30;
}
body .account-dock:has([data-active="true"]:not([aria-current])) [aria-current="page"]:not([data-active="true"]) {
  color:var(--text-dim);background:transparent;border-color:transparent;box-shadow:none;
}
body .custum-file-upload {
  background:var(--surface3);color:var(--text-dim);border:1.5px dashed var(--border-hi);
  border-radius:14px;box-shadow:none;
}
body .custum-file-upload.is-dragging {border-color:var(--text);background:var(--surface);}
body .custum-file-upload small {color:var(--text-muted);}
html[data-theme="light"] body .custum-file-upload {
  background:var(--surface3);border-color:var(--border-hi);color:var(--text-dim);box-shadow:none;
}
html[data-theme="light"] body .custum-file-upload small {color:var(--text-muted);}
body .icon-badge svg {color:var(--text-dim)!important;}
body .modal-section-bar {background:var(--surface3);border-color:var(--border);}
body .modal-section-bar span,html[data-theme="light"] body .modal-section-bar span {color:var(--text-dim);}
body .theme__toggle,body .theme__toggle:checked {background:var(--surface3);box-shadow:inset 0 0 0 1px var(--border-hi);}
body .theme__toggle::before,body .theme__toggle:checked::before {background:linear-gradient(#777,#444);}
body .cyber-toggle-track-glow {background:linear-gradient(90deg,#aaa,#555);box-shadow:none;}
body .cyber-toggle-checkbox:checked + .cyber-toggle .cyber-toggle-thumb {background:linear-gradient(145deg,#707070,#333);border-color:#999;box-shadow:0 0 10px #ffffff15;}
body .cyber-toggle-checkbox:checked + .cyber-toggle .cyber-toggle-thumb-icon svg {fill:#eee;}
body .cyber-toggle-label-on {color:var(--text);text-shadow:none;}
body .cyber-toggle-checkbox:checked + .cyber-toggle .cyber-toggle-track-dot {background:#ddd;box-shadow:0 0 4px #ffffff40;}
body .cyber-toggle-particle {background:#ddd;box-shadow:none;}
body .cyber-toggle-checkbox:checked ~ .cyber-toggle-labels .cyber-toggle-label-on {color:var(--text);text-shadow:none;}
body .cyber-toggle-checkbox:focus + .cyber-toggle::after {border-color:var(--ui-edge);}
body .study-chat {--chat-bg:var(--surface);--chat-text:var(--text);--chat-muted:var(--text-dim);--chat-border:var(--border-bright);}
body .study-chat-message.user {background:var(--surface3);border-color:var(--border-bright);}
body .study-chat.is-compact .chat {background:var(--surface);}
body .study-chat.is-compact .tags button {background:var(--surface);border-color:var(--border);}
body .study-chat .btn-submit {background:linear-gradient(var(--ui-button-top),var(--ui-button-bottom));border-color:var(--border-hi);}
html[data-theme="light"] body .navbar {background:var(--bg);}
html[data-theme="light"] body .verified-student-badge {background:var(--surface3);border-color:var(--border-bright);color:var(--text-dim);}
html[data-theme="light"] body .study-chat {--chat-bg:var(--surface);--chat-text:var(--text);--chat-muted:var(--text-dim);--chat-border:var(--border-bright);}
html[data-theme="light"] body .study-chat .chat {background:var(--surface);}
html[data-theme="light"] body .study-chat .container-chat-options {background:linear-gradient(135deg,var(--ui-edge),var(--border) 30%);}
html[data-theme="light"] body .study-chat .btn-submit {background:linear-gradient(var(--ui-button-top),var(--ui-button-bottom));border-color:var(--border-hi);}
html[data-theme="light"] body .study-chat.is-compact .tags button {background:var(--surface);border-color:var(--border);}
/* Colour is concentrated in actions and small details, keeping the metallic surfaces. */
body :is(.btn-primary,.btn-hero-pill) {
  background:linear-gradient(var(--ui-action-top),var(--ui-action-bottom))!important;
  color:#fafafa!important;border-color:var(--ui-blue-edge)!important;
}
body .icon-badge,body .icon-badge svg {color:var(--ui-blue)!important;}
body .icon-badge {background:linear-gradient(145deg,var(--ui-blue-wash),var(--surface))!important;border-color:var(--ui-blue-edge)!important;}
body .icon-badge-emerald,body .icon-badge-emerald svg {color:var(--ui-green)!important;}
body .icon-badge-emerald {background:var(--ui-green-wash)!important;border-color:var(--ui-green-wash)!important;}
body .icon-badge-gold,body .icon-badge-gold svg {color:var(--ui-gold)!important;}
body .icon-badge-gold {background:var(--ui-gold-wash)!important;border-color:var(--ui-gold-wash)!important;}
body .segment-tab-btn.active,html[data-theme="light"] body .segment-tab-btn.active,
body .account-dock :is([aria-current="page"],[data-active="true"],a:hover,button:hover) {
  background:linear-gradient(var(--ui-blue-wash),var(--surface3));
  color:var(--ui-blue);border-color:var(--ui-blue-edge);
}
body .verified-student-badge,html[data-theme="light"] body .verified-student-badge {
  color:var(--ui-green);background:var(--ui-green-wash);border-color:var(--ui-green-wash);
}
body :is(.brand-icon,.profile-avatar-large) {color:var(--ui-blue)!important;background:linear-gradient(145deg,var(--ui-blue-wash),var(--surface3))!important;}
body .profile-eyebrow {color:var(--ui-blue);}
body .custum-file-upload:hover,html[data-theme="light"] body .custum-file-upload:hover {background:var(--ui-blue-wash);border-color:var(--ui-blue);}
body :is(.form-input,.forecast-select-row select):focus {border-color:var(--ui-blue);box-shadow:0 0 0 3px var(--ui-blue-wash);}
body :is(button,a,input,select,textarea):focus-visible {outline-color:var(--ui-blue);}
body .study-chat .tags button:hover {color:var(--ui-blue);border-color:var(--ui-blue-edge);background:var(--ui-blue-wash);}
body .study-chat .btn-submit:hover {color:var(--ui-blue);border-color:var(--ui-blue-edge);}
.library-bundle {display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.library-bundle-status {padding:12px 14px;margin:12px 0;border:1px solid var(--border-hi);border-radius:10px;background:var(--surface3);color:var(--text);font-size:14px;line-height:1.8;overflow-wrap:anywhere;}
.library-bundle-status[data-error="true"] {border-color:#fb7185;color:#fda4af;}
.assignment-card .forum-message {min-height:120px;resize:vertical;}
.assignment-card :is(.forum-subject,.forum-message) {display:block;width:100%;margin:6px 0 14px;}
.assignment-card :is(.forum-prepare,.forum-publish) {margin:8px 6px 8px 0;min-height:44px;}
.library-select {display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim);margin-top:6px;}
.library-select input {width:18px;height:18px;accent-color:var(--accent);}
body .theme__toggle,body .theme__toggle:checked {background:#111;box-shadow:inset 0 0 0 1px #454545;}
body .theme__toggle::before,body .theme__toggle:checked::before {background:#444;}
@media(max-width:700px) {
  body .brand-title {font-size:12px;}
  body .security-badge-bar {padding:12px;font-size:11px;}
  body .card-section {padding:18px;}
}
.why-section {max-width:1000px;margin:44px auto 64px;}
.library-status {font-size:12px;color:var(--text-dim);line-height:1.8;margin:8px 0 14px;}
.library-list h3 {font-size:15px;color:var(--ui-blue);margin:22px 0 10px;}
.library-row {border:1px solid var(--border);border-radius:12px;padding:14px;margin:8px 0;display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere;}
.library-row small {color:var(--ui-gold);line-height:1.7;}
.library-actions {display:flex;gap:8px;flex-wrap:wrap;}
.library-actions .btn {font-size:12px;min-height:36px;}
.library-preview {margin:auto;width:min(1000px,calc(100vw - 24px));max-height:90dvh;padding:18px;background:var(--surface);color:var(--text);border:1px solid var(--border-hi);border-radius:16px;}
.library-preview::backdrop {background:#000c;}
.library-preview h3 {margin:12px 0;font-size:15px;}
.library-preview iframe {display:block;width:100%;height:70dvh;border:0;background:white;}
.library-preview img {display:block;max-width:100%;max-height:70dvh;object-fit:contain;margin:auto;}
.why-intro {max-width:700px;margin-bottom:28px;}
.why-intro h1 {font-size:clamp(28px,4vw,44px);line-height:1.45;margin:12px 0;}
.why-intro p,.why-card p,.why-start p {font-size:14px;color:var(--text-dim);line-height:1.9;}
.why-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.why-grid .why-card {margin:0;padding:24px;}
.why-card h2 {font-size:18px;margin:16px 0 10px;}
.why-benefit {display:block;color:var(--ui-blue);font-size:12px;line-height:1.8;padding-top:16px;margin-top:16px;border-top:1px solid var(--border);}
.why-start {margin-top:24px;display:flex;align-items:center;gap:28px;}
.why-start h2 {font-size:20px;margin-bottom:10px;}
.why-actions {display:flex;flex-shrink:0;gap:10px;flex-wrap:wrap;}
@media(max-width:700px) {
  .why-section {margin-top:24px;}
  .why-grid {grid-template-columns:1fr;}
  .why-start {flex-direction:column;align-items:stretch;gap:18px;}
  body.landing-page nav.nav-actions {flex-wrap:wrap;gap:4px;}
  body.landing-page .nav-page-btn {padding:7px 10px;}
}
@media(prefers-reduced-motion:reduce) {
  body :is(.btn,.btn-hero-pill,.form-input,.forecast-select-row select,.course-card,.assignment-card,.stat-box,.bento-card,.step-card) {transition:none;transform:none!important;}
}
.library-search-panel {margin-bottom:24px;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface2);}
.library-search-panel h3 {margin-top:0;}
.library-search-controls {display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.library-search-panel .form-input {flex:1;min-width:180px;max-width:none;}
.library-search-panel details {font-size:12px;color:var(--text-muted);margin:12px 0;}
.library-search-panel summary {cursor:pointer;}
.library-search-snippet {white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;color:var(--text);font-size:14px;}
.chapter-checklist {display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.chapter-checklist label {display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;font-size:12px;cursor:pointer;background:var(--surface2);}
.chapter-checklist label:has(input:checked) {border-color:#35b99b;color:#35b99b;background:rgba(53,185,155,.08);}
.chapter-checklist input {accent-color:#35b99b;width:16px;height:16px;}
.chapter-notes {border-top:1px solid var(--border);padding-top:12px;margin-top:10px;}
.chapter-notes summary {cursor:pointer;font-size:13px;padding:6px 0;color:var(--text);}
.chapter-notes textarea {width:100%;box-sizing:border-box;max-width:none;min-height:110px;resize:vertical;margin:10px 0;}
.chapter-note-actions {display:flex;flex-wrap:wrap;gap:8px;}
.profile-privacy {border:1px solid var(--border);border-radius:14px;padding:16px;margin:18px 0;min-width:0;}
.profile-privacy legend {padding:0 8px;font-weight:700;}
.profile-privacy select {width:100%;box-sizing:border-box;max-width:none;background:var(--surface2);color:var(--text);}
.privacy-check {display:flex;align-items:center;gap:8px;margin:12px 0;font-size:13px;}
.privacy-check input {accent-color:#939393;width:17px;height:17px;}
.profile-privacy .btn {margin-top:8px;}
@media(max-width:600px) {.library-search-panel {padding:14px;}.library-search-panel .form-input {flex-basis:100%;}.chapter-checklist label {flex:1;justify-content:center;}}

/* Quiet black palette: shared across all dark web pages. */
html:not([data-theme="light"]) body :is(.card-section,.stat-box,.stat-overview-box,.course-card,.assignment-card,.profile-photo-card,.profile-details-card,.auth-card,.modal-card,.modal-content,.ms-card,.sso-card,.account-help,.account-dock,.segmented-tabs-track,.bento-card,.step-card) {
  background:var(--surface)!important;border-color:var(--border)!important;box-shadow:none!important;
}
html:not([data-theme="light"]) body :is(.btn-primary,.btn-secondary,.btn-hero-pill) {box-shadow:none!important;}
html:not([data-theme="light"]) body .btn-primary {border-color:#5e5e5e!important;}
html:not([data-theme="light"]) body .study-chat-panel {box-shadow:0 8px 32px #0008;}
html:not([data-theme="light"]) body .study-chat .container-chat-options {background:var(--border-bright);}
html:not([data-theme="light"]) body .study-chat .container-chat-options::after {display:none;}
html:not([data-theme="light"]) body .study-chat .chat {background:var(--surface);}
.feature-help-button {display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;min-width:34px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface2);color:var(--text-secondary);font-family:inherit;font-size:18px;line-height:1;cursor:pointer;vertical-align:middle;}
.feature-help-button:hover {color:var(--text);border-color:var(--accent);}
.feature-help-button:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
.help-feature-row {display:flex;align-items:center;gap:8px;}
.help-feature-row h1 {margin:0;}
.help-feature-row > .btn {flex:1;min-width:0;width:auto!important;}
.feature-help-dialog {width:min(560px,calc(100vw - 24px));max-height:92dvh;margin:auto;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);overflow:auto;box-sizing:border-box;}
.feature-help-dialog::backdrop {background:#000c;}
.feature-help-header {position:sticky;top:-16px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;background:var(--surface);}
.feature-help-header h2 {font-size:23px;line-height:1.5;margin:4px 0;}
.feature-help-header small,.feature-help-hint {color:var(--text-muted);font-size:12px;}
.feature-help-dialog p {font-size:15px;line-height:1.8;}
.feature-help-dialog img {display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:12px;margin:auto;}
.feature-help-controls {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;}
.feature-help-controls .btn {font-size:13px;}
.feature-help-dialog.is-zoomed {width:min(850px,calc(100vw - 24px));}
.feature-help-dialog.is-zoomed img {width:600px;max-width:none;}
@media(max-width:650px) {.feature-help-dialog{padding:12px;}.feature-help-header{top:-12px;}.feature-help-header h2{font-size:19px;}.feature-help-button{min-height:36px;min-width:36px;}}
.onboarding-card[hidden] { display:none; }
.academic-status { border:1px solid var(--border); border-radius:12px; padding:16px; margin:12px 0; overflow-wrap:anywhere; }
.academic-status p,.academic-grade-panel p { margin:8px 0; }
.academic-status .btn,.academic-course .btn { margin:6px 4px; }
.academic-warning { color:var(--ui-gold); font-size:13px; }
.academic-feedback { white-space:pre-wrap; overflow-wrap:anywhere; }
.academic-grade-panel { border:1px solid var(--border); border-radius:12px; padding:16px; margin:12px 0; }
.academic-course { padding:12px 0; border-top:1px solid var(--border); }
.academic-grade-panel summary,.academic-status summary { cursor:pointer; }
.academic-grade-list { list-style:none; padding:0; }
.academic-grade-list li { border:1px solid var(--border); border-radius:10px; padding:12px; margin:10px 0; }
#courseUpdateNotice[hidden] { display:none; }
.course-archive-controls { margin:16px 0; }
.course-archive-controls [aria-pressed="true"] { border-color:var(--text-muted); background:var(--ui-action-top); }
.moodle-changes-card h2 { margin:0 0 12px; font-size:21px; }
.moodle-change-list { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:12px; }
.moodle-change-list li { padding:16px; border:1px solid var(--border); border-radius:12px; min-width:0; overflow-wrap:anywhere; }
.moodle-change-list .btn { margin:4px; font-size:13px; }
.moodle-changes-card details { border-top:1px solid var(--border); padding:12px 0; }
.moodle-changes-card summary { cursor:pointer; color:var(--text-muted); }
.onboarding-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.onboarding-heading h2 { margin:0; font-size:23px; }
.onboarding-heading p { margin:6px 0 0; color:var(--text-muted); }
.onboarding-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.onboarding-steps button { display:flex; flex-direction:column; align-items:flex-start; text-align:start; gap:10px; padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--surface2); color:var(--text); cursor:pointer; font:inherit; }
.onboarding-steps button:hover, .onboarding-steps button:focus-visible { border-color:var(--accent); }
.onboarding-steps span { color:var(--text-muted); font-size:14px; }
.onboarding-steps small { color:var(--accent); }
.onboarding-steps .is-done small { color:var(--success,#34d399); }
@media(max-width:650px) { .onboarding-steps { grid-template-columns:1fr; } .onboarding-heading { align-items:flex-start; } }
/* Quiz proposals and independently verified saved choices. */
.quiz-assistant { display:flex; flex-direction:column; gap:10px; }
.quiz-assistant label { display:flex; gap:8px; align-items:center; }
.quiz-assistant button,.quiz-assistant a { align-self:flex-start; }
.quiz-question { padding:14px 0; border-top:1px solid var(--border); overflow-wrap:anywhere; }
.quiz-question p { white-space:pre-wrap; }
/* Keep the supplied ivory logo on black in both themes; frame its original margins. */
body .site-logo {position:relative;display:inline-block;width:48px;height:36px;flex:0 0 48px;overflow:hidden;background:#000;border-radius:6px;vertical-align:middle;}
body .site-logo img {position:absolute;display:block;width:125%;max-width:none;height:auto;left:-12.5%;top:50%;transform:translateY(-52%);}
body .nav-brand:has(.site-logo) {gap:8px;}
/* Keep the mobile account header compact; less frequent actions live in its menu. */
.dashboard-menu-toggle {display:none;}
.dashboard-menu {display:contents;}
.dashboard-account-copy {min-width:0;}
/* Allow desktop actions to wrap inside the header instead of escaping a fixed height. */
body .dashboard-navbar {display:grid;grid-template-columns:64px minmax(180px,240px) minmax(0,1fr);height:auto;min-height:76px;padding:12px 24px;gap:16px;}
.dashboard-navbar>.site-logo {width:64px;height:48px;}
.dashboard-navbar .nav-brand {min-width:0;}
.dashboard-navbar :is(.brand-title,.brand-subtitle) {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dashboard-navbar .dashboard-actions {min-width:0;justify-content:flex-end;}
@media(max-width:1200px) {
  body .dashboard-navbar {position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;height:auto;min-height:0;gap:12px;padding:14px 16px;}
  body .dashboard-navbar>.site-logo {width:44px;height:36px;flex-basis:44px;}
  .dashboard-navbar .nav-brand {min-width:0;gap:8px;justify-self:stretch;}
  .dashboard-navbar .brand-icon {width:36px;height:36px;flex:0 0 36px;}
  .dashboard-navbar .brand-title {font-size:14px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .dashboard-navbar .brand-subtitle {font-size:11px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .dashboard-navbar .dashboard-menu-toggle {display:flex;width:44px;height:44px;padding:10px;justify-content:center;}
  .dashboard-navbar .dashboard-actions {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;width:100%;min-width:0;}
  .dashboard-actions>#manualSyncBtn {min-width:0;min-height:44px;justify-content:center;font-size:14px;}
  .dashboard-actions>#openSettingsBtn {width:44px;min-height:44px;justify-content:center;padding:10px;}
  .dashboard-actions>#openSettingsBtn>span {display:none;}
  .dashboard-navbar .dashboard-menu {display:none;grid-column:1/-1;}
  .dashboard-navbar.is-menu-open .dashboard-menu {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:4px;align-items:center;}
  .dashboard-menu>.btn {min-height:44px;justify-content:center;font-size:13px;padding:8px;}
  .dashboard-menu>.feature-help-button {width:100%;min-height:44px;border-radius:var(--radius-sm);gap:6px;}
  .dashboard-menu>.feature-help-button::after {content:'شرح البداية';font-size:13px;}
  .dashboard-menu>[data-theme-switch] {min-height:44px;display:flex;align-items:center;justify-content:center;}
}
html[data-theme="light"] body .site-logo {background:transparent;}
html[data-theme="light"] body .site-logo img {filter:invert(1) grayscale(1) contrast(1.2);mix-blend-mode:multiply;}
html[data-theme="light"] body :is(.giant-hero-title-white,.giant-hero-title-glow,.section-heading-gradient,.section-title-glow-inline,.section-title-white strong) {background:none;color:var(--text);-webkit-text-fill-color:var(--text);}
html[data-theme="light"] body :is(.landing-preview,.landing-start,.landing-preview-composer) {background:var(--surface);box-shadow:none;}
@media(max-width:600px) {body .site-logo {width:40px;height:30px;flex-basis:40px;}body .profile-topbar {gap:12px;flex-wrap:wrap;}}


/* Neutral identity for public pages and account forms. */
body:is(.landing-page,.visual-guide) .btn-primary {
  background:#f4f3ef!important;color:#111!important;border-color:#f4f3ef!important;box-shadow:none!important;
}
html[data-theme="light"] body:is(.landing-page,.visual-guide) .btn-primary {
  background:#111!important;color:#f4f3ef!important;border-color:#111!important;
}
body.landing-page .register-university-card {background:var(--surface2);border:1px solid var(--border-bright);}
body.landing-page .register-university-card svg {stroke:var(--text);}
body.landing-page :is(.crypto-demo-heading,#demoCryptoOutput) {color:var(--text)!important;font-weight:700;}
/* Shared monochrome actions, including the dashboard, assistant and administration. */
html:not([data-theme="light"]) body :is(.btn-primary,.btn-hero-pill) {
  background:#f4f3ef!important;color:#111!important;border-color:#f4f3ef!important;box-shadow:none!important;
}
html[data-theme="light"] body :is(.btn-primary,.btn-hero-pill) {
  background:#111!important;color:#f4f3ef!important;border-color:#111!important;box-shadow:none!important;
}
body :is(input,select,textarea,button,a):focus-visible {outline-color:var(--text);}
body input[type="checkbox"],body input[type="radio"] {accent-color:var(--text);}body {--ui-blue:var(--text);}
html[data-theme="light"] body {--ui-blue:var(--text);}
body .account-dock [data-active="true"],body .account-dock [aria-current="page"],body .account-dock a:hover,body .account-dock button:hover {background:var(--surface3);color:var(--text);border-color:var(--border-bright);}
/* Existing tutorial recordings follow the current monochrome presentation. */
#tourGif,#tourZoomImage,img[src*="media/guide/"] {filter:grayscale(1);}
body a {color:var(--text);}

#featureHelpImage {filter:grayscale(1);}

/* Match the dark account panels while keeping the day-mode header light. */
html[data-theme="light"] body .dashboard-navbar :is(.btn,.feature-help-button) {
  background:#101010!important;color:#f5f2ec!important;
  border-color:#505050!important;box-shadow:none!important;
}
html[data-theme="light"] body .dashboard-navbar :is(.btn,.feature-help-button):focus-visible {
  outline-color:#111;
}

/* Day mode keeps the page light and account panels dark. Local tokens also
   cover nested labels, controls and icons without changing the page header. */
html[data-theme="light"] body :is(.card-section,.stat-box,.stat-overview-box,
  .course-card,.assignment-card,.profile-photo-card,.profile-details-card,
  .auth-card,.modal-card,.modal-content,.ms-card,.sso-card,.account-help,
  .account-dock,.segmented-tabs-track,.bento-card,.step-card,.security-badge-bar) {
  --surface:#101010; --surface1:#101010; --surface2:#151515; --surface3:#242424; --surface-hover:#292929;
  --text:#f5f2ec; --text-dim:#c2c2c2; --text-muted:#aaa;
  --accent:#e4e4e4; --accent2:#f5f2ec;
  --border:#353535; --border-hi:#666; --border-bright:#505050; --ui-edge:#505050;
  --ui-button-top:#292929; --ui-button-bottom:#222;
  --ui-blue:var(--text); --ui-blue-wash:#ffffff08; --ui-blue-edge:#666;
  --ui-green:#83d5b7; --ui-gold:#e6c38a;
  --green:#83d5b7; --yellow:#e6c38a; --red:#fda4af;
  color:var(--text);
  background:var(--surface)!important;
  border-color:var(--border)!important;
  box-shadow:none!important;
  color-scheme:dark;
}
html[data-theme="light"] body :is(.card-section,.ms-card,.sso-card,.auth-card,
  .modal-card,.modal-content,.course-card,.assignment-card,.bento-card,.step-card)
  :is(.btn-primary,.btn-hero-pill) {
  background:#f4f3ef!important;color:#111!important;border-color:#f4f3ef!important;
}

