/* The personal workspace shares the public site's Apple-inspired language. */
:root {
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bg: #f5f5f7; --bg-elevated: #fff;
  --text: #1d1d1f; --text-secondary: #626269; --text-tertiary: #6e6e73;
  --accent: #0071e3; --accent-strong: #0071e3; --accent-text: #0066cc; --accent-soft: #eaf3ff;
  --material: rgba(250,250,252,.86); --material-thick: rgba(255,255,255,.96);
  --separator: #e5e5e9; --separator-strong: #b9bbc2;
  --radius-sm: 10px; --radius: 14px; --radius-lg: 22px; --radius-xl: 28px;
  --shadow-sm: 0 2px 8px #1d1d1f05;
  --sidebar-w: 238px;
}
:root[data-theme=dark] {
  --bg: #161618; --bg-elevated: #242427;
  --text: #f5f5f7; --text-secondary: #b5b5bd; --text-tertiary: #a3a3ae;
  --separator: #38383e; --separator-strong: #62626c;
  --accent: #0a84ff; --accent-strong: #0071e3; --accent-text: #8fc3ff; --accent-soft: #20344e;
  --material: rgba(30,30,33,.88); --material-thick: rgba(36,36,39,.96);
}
@media (prefers-color-scheme:dark) {
  :root:not([data-theme=light]) {
    --bg: #161618; --bg-elevated: #242427;
    --text: #f5f5f7; --text-secondary: #b5b5bd; --text-tertiary: #a3a3ae;
    --separator: #38383e; --separator-strong: #62626c;
    --accent: #0a84ff; --accent-strong: #0071e3; --accent-text: #8fc3ff; --accent-soft: #20344e;
    --material: rgba(30,30,33,.88); --material-thick: rgba(36,36,39,.96);
  }
}
.sidebar {
  background: var(--material); color: var(--text); border-right: 1px solid var(--separator);
  backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%);
  --text: inherit; --text-secondary: inherit; --text-tertiary: inherit;
  --separator: inherit; --accent-text: inherit; --accent-soft: inherit;
}
.brand { padding: .2rem .75rem .5rem; }
.brand__name { font-size: 1.5rem; letter-spacing: -.06em; font-weight: 650; }
.brand__mark { border-radius: 9px; }
.sidebar .tabs button { color: var(--text-secondary); border-radius: 12px; font-size: .875rem; }
.sidebar .tabs button:hover { background: var(--separator); color: var(--text); }
.sidebar .tabs button[aria-selected=true] { background: var(--accent-soft); color: var(--accent-text); box-shadow: none; }
.sidebar .section-label,.sidebar-subjects summary { color: var(--text-secondary); }
.sidebar .tag-row { font-size: .8125rem; }
.sidebar__foot { border-color: var(--separator); }
.sidebar .ask-btn { background: var(--bg-elevated); color: var(--text); border-color: var(--separator); border-radius: 12px; }
.sidebar .ask-btn__kbd,.sidebar .sign-out { color: var(--text-secondary); }
.topbar { background: var(--material); backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%); border-bottom-color: var(--separator); }
.topbar__title { font-size: 1.2rem; letter-spacing: -.035em; }
.card { border-radius: 22px; border-color: var(--separator); }
.section-heading { flex-direction: row; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.section-heading .h-sec { margin: 0; font: 600 1.05rem/1.4 var(--font); letter-spacing: -.02em; color: var(--text); }
.btn { border-radius: 999px; min-height: 44px; padding: .65rem 1.15rem; font-weight: 500; }
.btn--primary { background: var(--accent-strong); border-color: var(--accent-strong); }
.btn--primary:hover { background: #0068d1; }
.icon-btn { border-radius: 12px; }
.brief__head { font-size: clamp(2rem,4vw,3.25rem); letter-spacing: -.055em; line-height: 1.12; }
.brief__row { gap: 1rem; }
.stat { background: var(--bg-elevated); border: 1px solid var(--separator); border-radius: 20px; padding: 1.35rem; }
.stat__n { font-size: 2rem; letter-spacing: -.055em; }
.workspace-eyebrow,.uni-eyebrow { letter-spacing: .06em; }
.lesson,.sub { border-radius: 16px; }
.lesson__p { color: hsl(var(--hue) 48% 32%); }
:root[data-theme=dark] .lesson__p { color: hsl(var(--hue) 60% 72%); }
@media (prefers-color-scheme:dark) { :root:not([data-theme=light]) .lesson__p { color: hsl(var(--hue) 60% 72%); } }
.uni-heading h2 { font-size: clamp(2rem,4vw,3rem); letter-spacing: -.06em; font-weight: 600; }
.uni-stats { gap: 1rem; border: 0; overflow: visible; background: transparent; }
.uni-stats > div { border: 1px solid var(--separator); border-radius: 20px; }
.uni-plan-intro { border-radius: 24px; background: var(--accent-soft); }
.uni-plan-intro h3 { letter-spacing: -.045em; }
.uni-nav { padding: .4rem; gap: .3rem; border-radius: 16px; background: var(--separator); width: fit-content; max-width: 100%; }
.uni-nav .btn { border-radius: 12px; background: transparent; padding: .65rem 1rem; }
.uni-nav .btn[aria-current=page] { background: var(--bg-elevated); color: var(--accent-text); box-shadow: var(--shadow-sm); }
.uni-card { padding: 1.5rem; }
.finance-summary .finance-total { font: 600 3rem/1.1 var(--font) !important; letter-spacing: -.055em; }
.finance-summary { top: 100px; }
.finance-verdict { border-radius: 16px; }
.directory-card { border-radius: 20px; background: var(--bg-elevated); padding: 1.5rem; }
.directory-monogram { border-radius: 12px; background: var(--accent-soft); color: var(--accent-text); font: 600 1rem var(--font); }
.uni-field input,.uni-field textarea,.uni-search input,.uni-search select { border-radius: 12px; min-height: 48px; }
.sheet { border-radius: 28px; }
.sheet__head { padding-top: 1.5rem; }
.sheet__title { font-size: 1.3rem; letter-spacing: -.04em; }
.auth__copy h1 { letter-spacing: -.06em; line-height: 1.04; }
.auth__submit,.auth__form input { border-radius: 14px; }
.auth__preview { background: linear-gradient(140deg,#eef5ff,#dfeafd); }
.auth__day { border-radius: 24px; }
@media (max-width:750px) {
  .uni-nav { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
  .uni-nav .btn { white-space: nowrap; }
  .brief__head { font-size: 2rem; }
  .stat { padding: 1rem; }
  .stat__n { font-size: 1.55rem; }
}
@media (prefers-reduced-transparency:reduce) {
  .sidebar,.topbar { background: var(--bg-elevated); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-contrast:more) { .card,.stat,.uni-stats > div { border-color: var(--text-secondary); } }
