/* Daymark editorial system. This stays last in the cascade so legacy screens
   inherit one consistent visual language without changing their behavior. */
:root { color-scheme: light dark; }
[hidden] { display:none!important; }
html[data-appearance="light"] { --ink:#F7F7F4; --panel:#FFFFFF; --panel-hi:#FCFCFA; --line:#E5E6E2; --text:#121315; --muted:#5F6369; --faint:#787D84; --warn:#8A5B13; --shadow-surface:0 14px 34px rgba(18,19,21,.055); }
body { background:var(--ink); color:var(--text); font-family:var(--font-ui); } button,input,select,textarea { font-family:inherit; }
::selection { background:var(--accent-muted); color:var(--text); }
button,a { transition:color var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) ease; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--ring)!important; outline-offset:3px!important; box-shadow:0 0 0 5px var(--accent-muted)!important; }
.app-shell,.main-content { background:var(--ink)!important; }.sidebar { border-right:1px solid var(--line)!important; background:var(--panel)!important; }.brand,.auth-gate-brand,.marketing-brand { letter-spacing:-.065em; }.nav-label,.eyebrow,.marketing-eyebrow { color:var(--faint)!important; font:650 10px/1.2 var(--font-data)!important; letter-spacing:.1em!important; }
.nav-item { min-height:42px; border-radius:9px!important; color:var(--muted)!important; }.nav-item:hover { background:var(--panel-hi)!important; color:var(--text)!important; }.nav-item.active { color:var(--text)!important; background:var(--accent-muted)!important; box-shadow:inset 2px 0 0 var(--accent)!important; }
.page { max-width:1500px; margin-inline:auto; padding:clamp(28px,4vw,64px)!important; }.page .topbar,.page .page-header,#overview .topbar { padding-bottom:clamp(20px,3vw,36px); border-bottom:1px solid var(--line); }.topbar h1,.page-header h1 { max-width:820px; font-weight:620!important; letter-spacing:-.065em!important; line-height:.98!important; }.page-header .subcopy { max-width:620px; color:var(--muted)!important; line-height:1.6; }
.quick-add,.dark-button { min-height:44px; border-radius:9px!important; background:var(--action)!important; border-color:var(--action)!important; color:var(--accent-foreground)!important; box-shadow:none!important; }.quick-add:hover,.dark-button:hover { transform:translateY(-1px); background:var(--accent-hover)!important; border-color:var(--accent-hover)!important; }.outline-button,.today-button { min-height:42px; border-radius:9px!important; background:transparent!important; border-color:var(--line)!important; color:var(--text)!important; }.outline-button:hover,.today-button:hover { background:var(--panel-hi)!important; border-color:var(--faint)!important; }
.card,.course-card,.note-card,.study-tool,.goal-hero,.review-card,.owner-stats article,.owner-table-card,.grade-table,.reminder-settings,.telegram-card,.calendar-card,.agenda-panel,.syllabus-strip { border-color:var(--line)!important; border-radius:var(--radius-surface)!important; background:var(--panel)!important; box-shadow:var(--shadow-surface); }.card:hover,.course-card:hover,.note-card:hover,.study-tool:hover,.long-goal:hover { background:var(--panel-hi)!important; border-color:color-mix(in srgb,var(--line) 60%,var(--accent))!important; }
.section-heading h2,.overview-goals h2,.tasks-section h2 { letter-spacing:-.045em!important; }
.owner-plan,.owner-status { border:1px solid var(--line); background:var(--panel-hi); color:var(--text); }
.owner-plan.pro { border-color:color-mix(in srgb,var(--accent) 48%,var(--line)); background:var(--accent-muted); color:var(--text); }
.owner-plan.owner { border-color:var(--accent); background:var(--accent); color:var(--accent-foreground); }
.owner-status.active { border-color:rgba(78,138,104,.5); background:rgba(78,138,104,.18); color:var(--text); }
.owner-status.trialing { border-color:rgba(164,108,30,.58); background:rgba(164,108,30,.18); color:var(--text); }
.owner-status.canceled { border-color:rgba(184,94,85,.58); background:rgba(184,94,85,.18); color:var(--text); }
.right-now { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; margin:0 0 var(--space-7); padding:clamp(22px,3vw,34px); border:1px solid color-mix(in srgb,var(--line) 70%,var(--accent)); border-radius:var(--radius-surface); background:var(--panel); box-shadow:var(--shadow-surface); }.right-now-copy { min-width:0; }.right-now-copy h2 { max-width:720px; margin:8px 0 9px; color:var(--text); font-size:clamp(25px,3.2vw,42px); font-weight:620; letter-spacing:-.06em; line-height:1.03; }.right-now-copy p:not(.eyebrow) { max-width:650px; margin:0; color:var(--muted); font-size:14px; line-height:1.55; }.right-now-actions { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-end; }.right-now .text-button { min-height:42px; padding-inline:10px; }.right-now-empty { grid-template-columns:1fr; background:var(--panel-hi); }.right-now-empty h2 { font-size:28px; }
.overview-timeline,.overview-workspace { gap:var(--space-5)!important; }.today-section .section-heading,.tasks-section,.overview-goals { border:1px solid var(--line); border-radius:var(--radius-surface); background:var(--panel); box-shadow:var(--shadow-surface); }.today-section .section-heading { padding:var(--space-5) var(--space-5) 0; border-bottom:0; border-radius:var(--radius-surface) var(--radius-surface) 0 0; }.today-section .bearing-strip { border:0!important; border-radius:0 0 var(--radius-surface) var(--radius-surface)!important; background:transparent!important; }.tasks-section,.overview-goals { padding:var(--space-5)!important; }.task-list { padding:0!important; }.radar-row { border-color:var(--line)!important; }.urgency.urgent { color:var(--text)!important; background:color-mix(in srgb,var(--warn) 14%,var(--panel))!important; }.urgency.due-soon { color:var(--text)!important; background:var(--accent-muted)!important; }.daily-checkin { border:1px solid var(--line)!important; border-radius:var(--radius-surface)!important; background:var(--panel-hi)!important; }
.google-bearing-block { border-left-color:var(--faint)!important; background:var(--panel-hi)!important; }
.calendar-toolbar,.calendar-course-rail { border-color:var(--line)!important; background:var(--panel)!important; }.calendar-day { border-color:var(--line)!important; background:var(--panel)!important; }.calendar-day:hover { background:var(--panel-hi)!important; }.calendar-day.selected-day,.calendar-day.today .date-num { background:var(--action)!important; color:var(--accent-foreground)!important; }.modal { border-color:var(--line)!important; border-radius:var(--radius-surface)!important; background:var(--panel)!important; box-shadow:0 28px 80px rgba(8,9,11,.22)!important; }.modal-backdrop { background:rgba(8,9,11,.48)!important; }.mobile-nav { border-color:var(--line)!important; background:var(--panel)!important; backdrop-filter:none!important; box-shadow:0 -10px 28px rgba(8,9,11,.08)!important; }.mobile-nav .nav-item.active { box-shadow:none!important; }
.auth-gate,.auth-gate-layout { background:var(--ink)!important; }.auth-gate-header { left:clamp(26px,4vw,72px)!important; }.auth-gate-brand { color:var(--text)!important; }.auth-gate-brand .brand-mark { filter:none!important; }.auth-gate-layout { grid-template-columns:minmax(390px,38%) minmax(0,62%)!important; }.auth-gate-intro { background:var(--panel-hi)!important; }.auth-gate-intro::after { border-color:var(--line)!important; box-shadow:none!important; }.feature-copy h1 { color:var(--text)!important; }.feature-copy p:not(.eyebrow) { color:var(--muted)!important; }.feature-preview { border-color:var(--line)!important; background:var(--panel)!important; color:var(--text)!important; box-shadow:var(--shadow-surface)!important; backdrop-filter:none!important; }.preview-header,.radar-head,.study-preview-top,.preview-grid i { color:var(--faint)!important; }.preview-header b,.radar-head b,.study-preview-top b { color:var(--text)!important; }.preview-event,.radar-item,.study-preview,.study-tool-row span { background:var(--panel-hi)!important; color:var(--text)!important; }.auth-gate-card { background:var(--panel)!important; }.auth-gate-card h2,.auth-gate-form > label { color:var(--text)!important; }.auth-gate-card > p:not(.auth-card-kicker):not(.auth-gate-note),.remember-option,.auth-gate-note { color:var(--muted)!important; }.auth-gate-form input[type="email"],.auth-gate-form input[type="password"] { background:var(--panel-hi)!important; border-color:var(--line)!important; color:var(--text)!important; }.auth-gate-form .quick-add { background:var(--action)!important; box-shadow:none!important; }.gate-google-button { background:var(--panel)!important; border-color:var(--line)!important; color:var(--text)!important; }
body.route-marketing { --ink:#F7F7F4; --panel:#FFFFFF; --panel-hi:#FCFCFA; --line:#E5E6E2; --text:#121315; --muted:#5F6369; --faint:#787D84; --action:#62C5F6; --accent:#62C5F6; --accent-hover:#38A9E6; --accent-muted:rgba(98,197,246,.15); --accent-foreground:#08090B; --ring:#62C5F6; --shadow-surface:0 14px 34px rgba(18,19,21,.055); background:var(--ink)!important; }.marketing-nav { border-color:var(--line)!important; background:color-mix(in srgb,var(--ink) 94%,transparent)!important; backdrop-filter:blur(10px); }.marketing-brand,.marketing-nav a { color:var(--text)!important; }.marketing-nav nav a { color:var(--muted)!important; }.marketing-nav nav a:hover { color:var(--text)!important; }.hero-story-intro,.page-hero { padding-top:clamp(70px,10vw,150px)!important; }.hero h1,.page-hero h1 { color:var(--text)!important; font-weight:620!important; letter-spacing:-.075em!important; }.hero h1 em { color:var(--accent)!important; }.hero-lede,.page-hero > p:not(.marketing-eyebrow) { color:var(--muted)!important; }.marketing-button { min-height:46px; border-radius:9px!important; background:var(--action)!important; border-color:var(--action)!important; color:var(--accent-foreground)!important; box-shadow:none!important; }.marketing-button.secondary { background:transparent!important; border-color:var(--line)!important; color:var(--text)!important; }.marketing-button:hover { transform:translateY(-1px); background:var(--accent-hover)!important; }.marketing-button.secondary:hover { background:var(--panel-hi)!important; }.product-visual,.story-interface,.feature-art,.marketing-panel,.price-card,.studio-tool-card,.support-grid article,.telegram-demo { border-color:var(--line)!important; border-radius:var(--radius-surface)!important; background:var(--panel)!important; box-shadow:var(--shadow-surface)!important; }.feature-story,.marketing-footer,.workflow-grid li,.legal-content article { border-color:var(--line)!important; }.story-interface::before { opacity:.08!important; }.story-copy h2,.section-intro h2,.final-cta h2,.compact-cta h2,.legal-content h2,.support-grid h2,.studio-tool-card h2 { color:var(--text)!important; }.story-copy > p:not(.marketing-eyebrow),.section-intro > p:not(.marketing-eyebrow),.support-grid p,.studio-tool-card p,.legal-content p { color:var(--muted)!important; }.final-cta { border-color:var(--line)!important; background:var(--panel-hi)!important; }.legal-status { border-color:var(--line)!important; background:var(--panel-hi)!important; color:var(--muted)!important; }
@media (max-width:700px) { .page { padding:24px 16px calc(100px + env(safe-area-inset-bottom))!important; }.right-now { grid-template-columns:1fr; gap:18px; padding:22px; }.right-now-actions { justify-content:flex-start; }.right-now-actions .quick-add,.right-now-actions .outline-button { flex:1; }.auth-gate-layout { grid-template-columns:1fr!important; }.auth-gate-intro { min-height:300px!important; }.auth-gate-card { min-height:auto!important; }.feature-preview { display:none!important; }.marketing-nav { width:calc(100% - 32px)!important; }.marketing-main,.marketing-footer { width:calc(100% - 32px)!important; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }

/* Complete Daymark art direction: warm, quiet, tactile, and unmistakably academic. */
body.route-marketing { --ink:#f5f2eb; --panel:#fffdf8; --panel-hi:#f0ece3; --line:#dfd8cb; --text:#182021; --muted:#495450; --faint:#59635d; --action:#225d78; --accent:#58b8e9; --accent-hover:#348fc0; --accent-muted:rgba(88,184,233,.16); --accent-foreground:#ffffff; background:#f5f2eb!important; }
body.route-marketing .marketing-site { min-height:100dvh; background:transparent!important; color:var(--text)!important; }
body.route-marketing::before { position:fixed; inset:0; z-index:-1; content:''; pointer-events:none; opacity:.36; background-image:radial-gradient(circle at 18% 8%,rgba(241,205,131,.35),transparent 24%),radial-gradient(circle at 88% 32%,rgba(88,184,233,.14),transparent 28%),linear-gradient(rgba(24,32,33,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(24,32,33,.025) 1px,transparent 1px); background-size:auto,auto,46px 46px,46px 46px; }
.marketing-nav { top:18px!important; min-height:64px!important; border:1px solid rgba(223,216,203,.9)!important; border-radius:16px!important; box-shadow:0 10px 30px rgba(56,47,32,.07); }.marketing-nav nav { gap:28px!important; }.marketing-nav nav a { font-size:12px!important; font-weight:650!important; }.marketing-brand { font-size:21px!important; }.marketing-button { padding-inline:19px!important; background:#225d78!important; border-color:#225d78!important; color:#fff!important; }.marketing-button:hover { background:#183f52!important; border-color:#183f52!important; }.marketing-text-link { color:#225d78!important; font-weight:750!important; }
.hero-story-intro { position:relative; grid-template-columns:minmax(300px,.8fr) minmax(520px,1.2fr)!important; gap:clamp(42px,7vw,120px)!important; min-height:780px!important; padding-top:150px!important; }.hero-copy { position:relative; z-index:2; }.hero-copy::before { display:block; width:46px; height:2px; margin-bottom:20px; content:''; background:#225d78; }.hero h1 { max-width:640px!important; font-size:clamp(62px,7.3vw,118px)!important; line-height:.84!important; letter-spacing:-.095em!important; }.hero h1 em { color:#225d78!important; font-style:normal!important; }.hero-lede { max-width:470px!important; margin-top:32px!important; font-size:18px!important; line-height:1.65!important; }.hero-note { display:none!important; }.hero-proof { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:28px; color:#4f5b58; font-size:12px; font-weight:650; }.hero-proof i { display:inline-grid; width:17px; height:17px; margin-right:6px; place-items:center; border-radius:50%; background:#dfeee6; color:#275c46; font-size:10px; font-style:normal; }
.daymark-window { position:relative; overflow:visible!important; min-height:560px!important; padding:26px!important; border:1px solid #d7d1c5!important; border-radius:28px!important; background:#fcfaf5!important; box-shadow:20px 26px 0 #e8dfd0,0 28px 65px rgba(52,48,39,.15)!important; transform:rotate(1.5deg); animation:daymarkFloat 7s ease-in-out infinite; }.daymark-window::before { position:absolute; inset:0; z-index:0; border-radius:inherit; content:''; pointer-events:none; background:linear-gradient(135deg,rgba(255,255,255,.8),transparent 34%),repeating-linear-gradient(0deg,transparent,transparent 32px,rgba(24,32,33,.025) 33px); }.daymark-window > * { position:relative; z-index:1; }.visual-top { padding-bottom:18px!important; border-bottom:1px solid #e4ded3!important; color:#68716d!important; }.visual-top button { border:1px solid #b7d4e0!important; border-radius:999px!important; background:#e6f5fb!important; color:#225d78!important; font-weight:750!important; }.visual-title { margin-top:46px!important; }.visual-title strong { color:#182021!important; font-size:clamp(30px,3vw,50px)!important; letter-spacing:-.07em!important; }.visual-title p { margin:11px 0 0; color:#71807b; font-size:12px; }.visual-timeline { margin-top:34px!important; border-color:#e1dbcf!important; background:#f7f3ec!important; }.visual-timeline i { color:#90958d!important; border-color:#e1dbcf!important; }.visual-class { border-left-color:#58b8e9!important; border-radius:8px!important; background:#d9eef7!important; color:#17394a!important; box-shadow:0 8px 18px rgba(33,93,120,.08); }.visual-class.class-two { border-left-color:#d5a55d!important; background:#f4e8d4!important; color:#5d421e!important; }.visual-timeline em { background:#225d78!important; box-shadow:0 0 0 4px rgba(88,184,233,.14); }.visual-bottom section { border:1px solid #e1dbcf!important; border-radius:12px!important; background:#fffdf8!important; }.visual-bottom b { color:#182021!important; }.visual-bottom small,.visual-bottom span { color:#71807b!important; }.visual-bottom section button { display:block; margin-top:13px; padding:0; border:0; background:transparent; color:#225d78; font:700 11px var(--font-ui); cursor:pointer; }.visual-bottom section strong { display:inline-block; margin-top:12px; color:#357457; font:700 10px var(--font-data); }.window-sticker { position:absolute; z-index:3; padding:9px 12px; border:1px solid rgba(24,32,33,.15); color:#355967; font:700 9px var(--font-data); letter-spacing:.08em; box-shadow:0 7px 15px rgba(40,34,22,.1); }.sticker-one { top:-18px; right:20px; transform:rotate(4deg); background:#f4d887; }.sticker-two { bottom:-19px; left:9%; transform:rotate(-4deg); background:#bfe5d2; }
.home-manifesto { display:grid; grid-template-columns:.8fr 1.2fr; gap:22px; align-items:end; margin:52px 0 0; padding:33px 0; border-block:1px solid #d9d2c5; color:#6b736e; }.home-manifesto p { margin:0; font:650 11px/1.5 var(--font-data); letter-spacing:.08em; }.home-manifesto strong { color:#1b292a; font-size:clamp(21px,2.4vw,36px); letter-spacing:-.055em; line-height:1.02; }.home-manifesto span { grid-column:1 / -1; color:#8b918b; font:600 9px var(--font-data); letter-spacing:.12em; }
.feature-story { margin-top:70px; border-top:0!important; }.story-stage::before { opacity:1!important; background:radial-gradient(circle at 76% 50%,rgba(231,205,154,.32),transparent 28%)!important; }.story-copy h2 { color:#182021!important; }.story-copy > p:not(.marketing-eyebrow) { color:#66706d!important; }.story-interface { border-color:#d7d1c5!important; border-radius:24px!important; background:#fffdf8!important; box-shadow:0 22px 55px rgba(52,48,39,.12)!important; }.story-interface-top,.story-board-heading span,.story-day-summary b,.story-course-note span,.story-study-tools span,.story-focus > span { color:#7a827c!important; }.story-brand,.story-board-heading strong,.story-day-summary span,.story-course-list b,.story-study-tools b,.story-focus b { color:#182021!important; }.story-board { background:#fffdf8!important; }.story-day-timeline,.story-course-list>div,.story-study-tools>div { border-color:#e1dbcf!important; background:#f7f3ec!important; }.story-class { background:#d9eef7!important; color:#17394a!important; }.story-class-two { background:#f4e8d4!important; }.story-status,.story-course-note,.story-focus,.story-recovery-footer { border-color:#b8d9e5!important; background:#e6f5fb!important; color:#225d78!important; }.story-progress li { background:#d9d2c5!important; }.story-progress li[data-active] { background:#225d78!important; }
.integrations,.pricing-preview { padding-block:130px!important; }.section-intro h2 { color:#182021!important; font-size:clamp(42px,5vw,76px)!important; letter-spacing:-.075em!important; }.integration-grid article { min-height:170px; padding:24px!important; border:1px solid #ddd5c7!important; border-radius:16px!important; background:rgba(255,253,248,.72)!important; }.integration-grid article:nth-child(2n) { transform:translateY(22px); }.integration-grid article b { color:#203436!important; font-size:17px!important; }.integration-grid article p { color:#6d756f!important; }.price-card { border-color:#ddd5c7!important; border-radius:20px!important; background:#fffdf8!important; }.price-card.featured { border-color:#8ccce5!important; box-shadow:0 16px 38px rgba(33,93,120,.11)!important; }.price-card h3,.price-card li { color:#182021!important; }.price-copy { color:#6d756f!important; }.final-cta { border:1px solid #c9dfe8!important; border-radius:28px!important; background:linear-gradient(135deg,#dceff6,#f7efe0)!important; }.final-cta h2 { color:#183a4b!important; }
html[data-appearance="light"] .sidebar { background:#fffdf8!important; } html[data-appearance="light"] .page { background:transparent!important; } html[data-appearance="light"] .right-now { background:linear-gradient(120deg,#fffdf8,#edf7fa)!important; border-color:#cfe2e8!important; } html[data-appearance="light"] .right-now-copy h2 { color:#17323a!important; } html[data-appearance="light"] .overview-timeline .bearing-strip { background:#fffdf8!important; } html[data-appearance="light"] .tasks-section,html[data-appearance="light"] .overview-goals { background:#fffdf8!important; } html[data-appearance="light"] .topbar h1,html[data-appearance="light"] .page-header h1 { color:#192426!important; }
@keyframes daymarkFloat { 0%,100% { transform:rotate(1.5deg) translateY(0); } 50% { transform:rotate(1.5deg) translateY(-9px); } }
@media (max-width:900px) { .hero-story-intro { grid-template-columns:1fr!important; min-height:0!important; }.hero h1 { font-size:clamp(62px,12vw,100px)!important; }.hero-visual-wrap { margin-top:30px; }.daymark-window { max-width:720px; margin-inline:auto; }.home-manifesto { grid-template-columns:1fr; }.integration-grid article:nth-child(2n) { transform:none; } }
@media (max-width:600px) { .marketing-nav { top:10px!important; }.hero-story-intro { padding-top:105px!important; }.hero h1 { font-size:clamp(55px,17vw,78px)!important; }.daymark-window { min-height:420px!important; padding:16px!important; transform:none!important; animation:none!important; box-shadow:10px 12px 0 #e8dfd0,0 20px 44px rgba(52,48,39,.12)!important; }.visual-title { margin-top:28px!important; }.visual-title strong { font-size:29px!important; }.visual-bottom { grid-template-columns:1fr!important; }.visual-bottom section:nth-child(2) { display:none; }.window-sticker { display:none; }.home-manifesto { margin-top:32px; }.feature-story { margin-top:26px; }.story-interface { margin-top:32px!important; }.integrations,.pricing-preview { padding-block:78px!important; } }

/* Planner refinement: a personal academic notebook, not an admin dashboard. */
html[data-appearance="light"] .main-content { background:radial-gradient(circle at 94% 5%,rgba(88,184,233,.08),transparent 24%),var(--ink)!important; }
html[data-appearance="light"] .sidebar { box-shadow:10px 0 28px rgba(30,35,30,.025); } html[data-appearance="light"] .brand { color:#182426!important; } html[data-appearance="light"] .term-switcher { border-color:#e2dbcf!important; background:#f6f2eb!important; color:#5b655f!important; }
html[data-appearance="light"] .focus-card { border-color:#d5e3e1!important; background:#edf7f5!important; } html[data-appearance="light"] .focus-card strong { color:#214142!important; } html[data-appearance="light"] .nav-item.active { background:#e4f4f8!important; color:#19465b!important; box-shadow:inset 3px 0 0 #4fb1dc!important; }
html[data-appearance="light"] .page .topbar,html[data-appearance="light"] .page .page-header { border-bottom-color:#ded8cd!important; } html[data-appearance="light"] .page-header .subcopy { color:#66706d!important; }
html[data-appearance="light"] .right-now { position:relative; overflow:hidden; padding:clamp(26px,3.6vw,44px)!important; } html[data-appearance="light"] .right-now::after { position:absolute; top:-80px; right:-55px; width:200px; height:200px; border:1px solid rgba(88,184,233,.25); border-radius:50%; content:''; box-shadow:0 0 0 24px rgba(88,184,233,.06),0 0 0 48px rgba(88,184,233,.035); } html[data-appearance="light"] .right-now-copy { position:relative; z-index:1; } html[data-appearance="light"] .right-now-copy h2 { max-width:650px; font-size:clamp(30px,3.5vw,50px)!important; } html[data-appearance="light"] .right-now-actions { position:relative; z-index:1; }
html[data-appearance="light"] .today-section .section-heading,html[data-appearance="light"] .tasks-section,html[data-appearance="light"] .overview-goals,html[data-appearance="light"] .daily-checkin { border-color:#e0d9cd!important; box-shadow:0 14px 32px rgba(42,43,35,.045)!important; } html[data-appearance="light"] .bearing-strip { background:#fffdf8!important; } html[data-appearance="light"] .bearing-track { background:#f8f4ed!important; } html[data-appearance="light"] .bearing-block { border-radius:8px!important; box-shadow:0 8px 15px rgba(38,91,110,.1); }
html[data-appearance="light"] .task-row { padding-block:15px!important; } html[data-appearance="light"] .radar-row:hover { background:#faf7f1!important; } html[data-appearance="light"] .overview-goal-row { border-radius:9px; } html[data-appearance="light"] .overview-goal-row:hover { background:#f7f3ec; }
html[data-appearance="light"] .quick-add,html[data-appearance="light"] .dark-button { background:#225d78!important; border-color:#225d78!important; color:#fff!important; } html[data-appearance="light"] .quick-add:hover,html[data-appearance="light"] .dark-button:hover { background:#183f52!important; border-color:#183f52!important; } html[data-appearance="light"] .outline-button { border-color:#d9d2c5!important; background:#fffdf8!important; } html[data-appearance="light"] .outline-button:hover { border-color:#9ac8d8!important; background:#edf7fa!important; }
html[data-appearance="light"] .calendar-card,html[data-appearance="light"] .agenda-panel,html[data-appearance="light"] .course-card,html[data-appearance="light"] .note-card,html[data-appearance="light"] .study-tool,html[data-appearance="light"] .review-card,html[data-appearance="light"] .grade-table,html[data-appearance="light"] .owner-table-card { background:#fffdf8!important; border-color:#e0d9cd!important; } html[data-appearance="light"] .course-card:hover,html[data-appearance="light"] .note-card:hover,html[data-appearance="light"] .study-tool:hover { transform:translateY(-2px)!important; box-shadow:0 15px 28px rgba(38,45,38,.08)!important; }

/* Daybreak entrance — inspired by editorial motion, built without dependencies. */
.hero-visual-wrap { position:relative; min-width:0; padding:52px 18px 26px; }.hero-visual-wrap .daymark-window { position:relative; z-index:2; }
.dawn-fragments { position:absolute; inset:0; z-index:3; pointer-events:none; }.dawn-fragment { position:absolute; display:block; padding:9px 12px; border:1px solid rgba(39,47,42,.16); color:#314b55; background:#fff9ee; box-shadow:0 12px 25px rgba(60,45,25,.12); font:700 9px/1.2 var(--font-data); letter-spacing:.055em; animation:dawnFragmentIn 900ms both cubic-bezier(.2,.8,.2,1),dawnDrift 7s 1s ease-in-out infinite; }.dawn-fragment b { color:#a94d38; }.fragment-class { top:0; left:4%; transform:rotate(-5deg); animation-delay:120ms,1s; }.fragment-task { top:8%; right:0; border-color:#efc4ad; color:#90422f; background:#fff0e7; transform:rotate(5deg); animation-delay:230ms,1.8s; }.fragment-task i { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#d95b3f; }.fragment-note { bottom:10%; left:-3%; color:#405445; background:#e6efe4; transform:rotate(4deg); animation-delay:340ms,2.3s; }.fragment-goal { right:5%; bottom:-2%; color:#244d66; background:#def0f7; transform:rotate(-4deg); animation-delay:450ms,1.4s; }.dawn-sun { position:absolute; top:5%; right:20%; width:135px; height:135px; border-radius:50%; opacity:.6; background:radial-gradient(circle,#f3a450 0 16%,#f6c873 17% 39%,rgba(246,200,115,.25) 40% 57%,transparent 58%); filter:blur(.2px); animation:dawnPulse 5s ease-in-out infinite; }
.hero-copy > * { animation:heroRise .8s both cubic-bezier(.2,.8,.2,1); }.hero-copy .marketing-eyebrow { animation-delay:.04s; }.hero-copy h1 { animation-delay:.12s; }.hero-copy .hero-lede { animation-delay:.2s; }.hero-copy .marketing-actions { animation-delay:.28s; }.hero-copy .hero-note { animation-delay:.36s; }
@keyframes dawnFragmentIn { from { opacity:0; transform:translate3d(0,32px,0) rotate(0deg) scale(.9); } to { opacity:1; } } @keyframes dawnDrift { 0%,100% { margin-top:0; } 50% { margin-top:-7px; } } @keyframes dawnPulse { 0%,100% { transform:scale(.92); opacity:.45; } 50% { transform:scale(1.08); opacity:.72; } } @keyframes heroRise { from { opacity:0; transform:translate3d(0,18px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@media (max-width:900px) { .dawn-fragment { font-size:8px; }.fragment-class { left:8%; }.fragment-task { right:5%; }.fragment-note { left:3%; }.fragment-goal { right:8%; } }
@media (max-width:600px) { .hero-visual-wrap { padding:35px 0 14px; }.dawn-fragment { padding:7px 8px; }.fragment-note,.fragment-goal { display:none; }.dawn-sun { width:92px; height:92px; } }
@media (prefers-reduced-motion:reduce) { .dawn-fragment,.dawn-sun,.hero-copy > * { animation:none!important; } }

/* Marketing audit corrections — token-driven contrast, mobile navigation, and safer mockups. */
.section--dark { --section-surface:#11151a; --section-raised:#183847; --section-text:#fffdf8; --section-muted:#d8e4df; --section-subtle:#b9ddea; --section-line:rgba(232,240,235,.23); padding:clamp(34px,5vw,72px); border-radius:var(--radius-surface); background:var(--section-surface)!important; color:var(--section-text)!important; }
.section--dark :is(h1,h2,h3,h4,b,strong) { color:var(--section-text)!important; }.section--dark :is(p,li,small,span:not(.panel-arrow)) { color:var(--section-muted)!important; }.section--dark .marketing-eyebrow { color:var(--section-subtle)!important; }.section--dark .workflow-grid,.section--dark .workflow-grid li,.section--dark .telegram-demo { border-color:var(--section-line)!important; }.section--dark .marketing-panel,.section--dark .telegram-demo { background:var(--section-raised)!important; border-color:var(--section-line)!important; box-shadow:none!important; }.section--dark .panel-arrow,.section--dark .workflow-grid b { color:var(--action)!important; }.section--dark .telegram-demo span { color:var(--section-subtle)!important; }.section--dark .telegram-demo strong { color:var(--section-text)!important; }
.page-hero--single { display:block!important; min-height:0!important; }
.marketing-eyebrow,.marketing-footer p,.marketing-footer a,.hero-note,.quiet-band span { color:var(--faint)!important; }.marketing-footer a:hover,.marketing-nav nav a:hover { color:var(--text)!important; }
.hero h1,.page-hero h1,.story-copy h2,.section-intro h2,.final-cta h2,.compact-cta h2 { letter-spacing:-.042em!important; word-spacing:.04em; }.hero-story-intro { padding-block:clamp(38px,5vh,72px)!important; }.marketing-button { box-sizing:border-box; max-width:100%; }
.marketing-menu-toggle,.marketing-mobile-menu { display:none; }.marketing-fallback { padding-block:120px; }.marketing-fallback h1,.not-found-page h1 { max-width:650px; font-size:clamp(48px,7vw,84px); letter-spacing:-.042em; }.marketing-fallback p,.not-found-page p { max-width:620px; color:var(--muted); font-size:18px; line-height:1.6; }.not-found-page { min-height:55vh; padding-block:140px; }
.product-visual { background:#183847!important; border-color:#285369!important; }.product-visual::before { opacity:.18!important; }.visual-top .visual-logo { color:#fff!important; }.visual-top,.visual-bottom,.visual-timeline > i { color:#d8e8ec!important; }.visual-class small { color:#d8edf4!important; font-size:11px!important; }.visual-bottom span { color:#d9edf3!important; font-size:11px!important; }.visual-title span,.visual-bottom small { color:#c8e7f0!important; font-size:10px!important; }
.price-card.recommended { position:relative; border:2px solid var(--action)!important; box-shadow:0 16px 30px rgba(34,93,120,.12)!important; }.price-badge { align-self:flex-start; margin:0 0 14px; padding:6px 8px; border-radius:999px; background:var(--action); color:#fff; font:700 10px var(--font-data); letter-spacing:.08em; }
@media (max-width:940px) { .marketing-nav { position:relative; z-index:100; }.marketing-nav nav,.marketing-login { display:none!important; }.marketing-menu-toggle { display:inline-grid; place-content:center; gap:5px; width:44px; min-height:44px; padding:0; border:1px solid var(--line); border-radius:9px; background:var(--panel); color:var(--text); cursor:pointer; }.marketing-menu-toggle span { display:block; width:18px; height:2px; background:currentColor; }.marketing-mobile-menu { position:absolute; top:calc(100% + 10px); right:0; left:0; z-index:20; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--panel); box-shadow:var(--shadow-surface); }.marketing-mobile-menu:not([hidden]) { display:grid; }.marketing-mobile-menu a { min-height:44px; display:flex; align-items:center; color:var(--text)!important; }.marketing-brand,.marketing-text-link,.marketing-footer a { display:inline-flex; align-items:center; min-height:44px; } }
@media (max-width:640px) { .marketing-nav,.marketing-main,.marketing-footer { width:calc(100% - 32px)!important; }.marketing-nav-actions .marketing-button { display:none; }.marketing-mobile-menu { grid-template-columns:1fr; gap:4px; padding:14px; }.marketing-mobile-menu .marketing-button { justify-content:center; color:#fff!important; }.hero-story-intro { padding-top:38px!important; }.marketing-actions .marketing-button { width:100%; }.dawn-fragments { display:none; } }

/* Contrast contracts for the daybreak marketing surfaces. Keep foreground and
   background decisions together so later theme refinements cannot split them. */
body.route-marketing .marketing-button,
body.route-marketing .marketing-button * { color:#fff!important; }
body.route-marketing .marketing-button.secondary,
body.route-marketing .marketing-button.secondary * { color:#182021!important; }
body.route-marketing .product-visual .visual-title strong { color:#fffdf8!important; }
body.route-marketing .product-visual .visual-title p { color:#d8e4df!important; }
body.route-marketing .product-visual .visual-timeline > i { color:#66736f!important; }
body.route-marketing .product-visual .visual-class b { color:#17394a!important; }
body.route-marketing .product-visual .visual-class small { color:#315e70!important; }
body.route-marketing .product-visual .visual-class.class-two b { color:#5d421e!important; }
body.route-marketing .product-visual .visual-class.class-two small { color:#76582e!important; }
body.route-marketing .product-visual .visual-bottom b { color:#182021!important; }
body.route-marketing .product-visual .visual-bottom :is(small,span) { color:#5f6e69!important; }
body.route-marketing .product-visual .visual-bottom section strong { color:#357457!important; }
body.route-marketing .studio-tool-card > span { color:#626d76!important; }
body.route-marketing .price-card h3 small,
body.route-marketing .pricing-note { color:#626b73!important; }
body.route-marketing .support-grid li { color:#4e5a5c!important; }
body.route-marketing .section--dark .workflow-grid b { color:var(--section-subtle)!important; }
body.route-marketing .section--dark .panel-arrow { color:var(--section-subtle)!important; }
body.route-marketing .section--dark .window-sticker { color:#355967!important; }
body.route-marketing .story-class b { color:#17394a!important; }
body.route-marketing .story-class small { color:#315e70!important; }
body.route-marketing .story-class-two b { color:#5d421e!important; }
body.route-marketing .story-class-two small { color:#76582e!important; }
body.route-marketing .story-day-summary span { background:#f7f3ec!important; color:#182021!important; }
body.route-marketing .story-day-summary :is(b,small) { color:#586763!important; }
body.route-marketing .story-course-list small,
body.route-marketing .story-study-tools small { color:#59666a!important; }
body.route-marketing .story-course-list em { color:#225d78!important; }
body.route-marketing :is(.story-course-note,.story-focus,.story-recovery-footer) { background:#e6f5fb!important; }
body.route-marketing :is(.story-course-note,.story-focus,.story-recovery-footer) b { color:#182021!important; }
body.route-marketing :is(.story-course-note,.story-focus) :is(span,small,em),
body.route-marketing .story-recovery-footer span { color:#365d6e!important; }
body.route-marketing .story-recovery-message,
body.route-marketing .story-recovery-list :is(span,small) { color:#5f686c!important; }
body.route-marketing .story-recovery-list b { color:#182021!important; }
body.route-marketing .final-cta > p:not(.marketing-eyebrow) { color:#4f6165!important; }

/* Modal surfaces and mobile controls must inherit the active theme as a complete
   foreground/background pair. This also neutralizes the legacy dark-modal rules. */
.modal { color:var(--text)!important; }
.modal h2,.modal h3,.modal strong { color:var(--text)!important; }

/* Study Studio's guided workflow stays deliberately quiet: course, assessment,
   then one useful next action. It inherits the active Daymark theme tokens. */
.study-workflow { margin:0 0 28px; padding:clamp(18px,3vw,30px); border:1px solid var(--line); border-radius:var(--radius-surface); background:var(--panel); box-shadow:var(--shadow-surface); }
.study-workflow--loading { min-height:272px; }.study-loading-lines { display:grid; gap:10px; margin-top:26px; max-width:680px; }.study-loading-lines i { display:block; height:12px; width:100%; border-radius:999px; background:linear-gradient(90deg,var(--panel-hi),var(--line),var(--panel-hi)); background-size:200% 100%; animation:study-loading 1.4s ease-in-out infinite; }.study-loading-lines i:nth-child(2) { width:76%; animation-delay:.1s; }.study-loading-lines i:nth-child(3) { width:48%; animation-delay:.2s; }
.study-workflow-heading,.study-assessment-summary,.study-selector-grid,.study-assessment-actions { display:flex; align-items:flex-start; gap:18px; justify-content:space-between; }.study-workflow h2 { margin:0; color:var(--text); }.study-workflow h3 { margin:3px 0 8px; color:var(--text); }.study-workflow-heading p:not(.eyebrow),.study-assessment-summary p,.study-workflow-empty span { color:var(--muted); }.study-workflow-status { flex:0 0 auto; padding:7px 10px; border-radius:999px; background:var(--accent-muted); color:var(--text); font:650 11px var(--font-data); }
.study-stepper { display:flex; gap:16px; margin:22px 0; padding:0; list-style:none; color:var(--faint); font:600 12px var(--font-data); }.study-stepper li { display:flex; align-items:center; gap:7px; }.study-stepper span { display:grid; place-items:center; width:24px; height:24px; border:1px solid var(--line); border-radius:50%; }.study-stepper .is-current { color:var(--text); }.study-stepper .is-current span { border-color:var(--action); background:var(--action); color:var(--accent-foreground); }
.study-selector-grid { align-items:end; }.study-selector-grid .form-field { flex:1 1 0; margin:0; }.study-assessment-summary { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }.study-assessment-actions { flex:0 0 auto; align-items:center; }.study-scope-chips { display:flex; flex-wrap:wrap; gap:7px; }.study-scope-chips span { padding:5px 8px; border:1px solid var(--line); border-radius:999px; background:var(--panel-hi); color:var(--muted); font:600 11px var(--font-data); }.study-workflow-empty { display:grid; gap:8px; padding:20px; border:1px dashed var(--line); border-radius:12px; background:var(--panel-hi); }.study-workflow-empty .outline-button { justify-self:start; margin-top:4px; }.study-empty-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }.study-utility-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }.study-utility-row div { display:grid; gap:3px; min-width:0; }.study-utility-row strong { color:var(--text); }.study-utility-row span { color:var(--muted); overflow-wrap:anywhere; }
.study-set-preview section,.generated-study-set section { margin-top:20px; }.study-plan-preview { display:grid; gap:8px; margin-top:14px; }.study-plan-preview > div { display:flex; gap:12px; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line); }.study-plan-preview span,.practice-quiz span { color:var(--muted); }.practice-quiz { display:grid; gap:14px; padding-left:20px; }.practice-quiz li { display:grid; gap:7px; color:var(--text); }.practice-quiz details { color:var(--muted); }.candidate-row { display:grid; gap:10px; }.candidate-scope { display:grid; gap:5px; padding-left:28px; color:var(--muted); font-size:12px; }.candidate-scope input { min-height:40px; }
@keyframes study-loading { to { background-position:-200% 0; } }
@media (prefers-reduced-motion: reduce) { .study-loading-lines i { animation:none; } }
@media (max-width:700px) { .study-workflow-heading,.study-assessment-summary,.study-selector-grid,.study-assessment-actions,.study-utility-row { display:grid; grid-template-columns:1fr; }.study-workflow-status { justify-self:start; }.study-stepper { gap:10px; font-size:10px; }.study-plan-preview > div { display:grid; gap:3px; }.study-assessment-actions > button,.study-utility-row > button { width:100%; min-height:44px; } }
.modal p,.modal small { color:var(--muted)!important; }
.modal .eyebrow { color:var(--faint)!important; }
.modal .form-field span { color:var(--text)!important; }
.modal .form-field input,.modal .form-field select,.modal .form-field textarea,.modal .study-result { border-color:var(--line)!important; background:var(--panel-hi)!important; color:var(--text)!important; }
.modal .mobile-menu-link > span { color:var(--action)!important; }
.empty-state { padding:28px!important; color:var(--text)!important; text-align:left!important; }
.empty-state .empty-state-icon { margin:0 0 var(--space-3)!important; color:var(--accent-text)!important; }
.empty-state h3,.schedule-empty strong { color:var(--text)!important; }
.empty-state p { max-width:520px; margin:0 0 18px!important; color:var(--muted)!important; }
.calendar-month button { color:var(--text)!important; }
.icon-button,.more-task,.round-check,.goal-progress-button { min-width:44px!important; min-height:44px!important; }
.text-button,.feedback-trigger,.profile,.segmented button,.calendar-month button,.calendar-course-chip,.course-card > button:last-child { min-height:44px!important; }
.text-button,.course-card > button:last-child { display:inline-flex; align-items:center; }
.marketing-button { display:inline-flex!important; align-items:center; justify-content:center; min-height:44px!important; }
.marketing-brand,.marketing-nav nav a,.marketing-login,.marketing-text-link,.marketing-footer a { display:inline-flex; align-items:center; min-height:44px; }
.skip-link,.modal-close { min-width:44px!important; min-height:44px!important; }
.remember-option,.signup-consent { min-height:44px; }
.auth-showcase-controls { gap:2px!important; }
.auth-showcase-controls button { display:grid!important; place-items:center; width:44px!important; min-width:44px!important; height:44px!important; min-height:44px!important; background:transparent!important; }
.auth-showcase-controls button::after { content:""; display:block; width:42px; height:3px; border-radius:999px; background:var(--faint); transform:scaleX(.62); transform-origin:center; transition:transform .2s ease,background-color .2s ease; }
.auth-showcase-controls button.is-active { width:52px!important; }
.auth-showcase-controls button.is-active::after { background:var(--text); transform:scaleX(1); }
.auth-gate .preview-task span,.auth-gate .study-preview p,.auth-gate .study-progress span,.auth-gate .radar-item span { color:var(--muted)!important; }
.auth-gate .preview-task b,.auth-gate .study-preview h3,.auth-gate .radar-item b { color:var(--text)!important; }
.focus-icon,.feedback-trigger > span,.modal .mobile-menu-link > span { color:var(--accent-text)!important; }
.course-card[data-course-token] .course-code { color:var(--text)!important; }
.course-pill { color:var(--text)!important; }
.more-task { color:var(--muted)!important; }
.goal-row h3,.long-goal h3,.grade-row strong,.setting-row strong,.telegram-card h2 { color:var(--text)!important; }
.goal-row p,.long-goal p,.setting-row p,.telegram-card p { color:var(--muted)!important; }
.calendar-day .task-event,.calendar-day .exam-event { border-left-color:var(--warn)!important; background:color-mix(in srgb,var(--warn) 12%,var(--panel))!important; color:var(--text)!important; }
.profile,.profile > span,.upcoming-item,.upcoming-item b { color:var(--text)!important; }
.upcoming-item small { color:var(--muted)!important; }
.dynamic-agenda .agenda-task { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; padding:10px 0; border-bottom:1px solid var(--line); }
.dynamic-agenda .agenda-task:last-child { border-bottom:0; }
.dynamic-agenda .agenda-task b { overflow-wrap:anywhere; line-height:1.35; }

@media (min-width:901px) and (max-width:1100px) {
  .auth-feature-slide { grid-template-columns:1fr!important; }
  .auth-feature-slide .feature-copy { display:none!important; }
  .auth-showcase { min-height:390px!important; }
  .feature-preview { min-height:320px!important; }
}
@media (max-width:900px) {
  .auth-gate-layout { display:grid!important; grid-template-columns:1fr!important; }
  .auth-gate-card { grid-column:1!important; grid-row:1!important; }
  .auth-gate-intro { display:none!important; }
}
@media (max-width:940px) {
  .marketing-brand,.marketing-text-link,.marketing-footer a { min-width:44px; }
  .skip-link { display:inline-flex; align-items:center; min-height:44px; }
  .calendar-month button,.segmented button,.round-check,.goal-progress-button { min-width:44px!important; min-height:44px!important; }
  .overview-empty-goal { min-height:44px!important; }
}
@media (max-width:700px) {
  .mobile-nav-item { min-height:50px!important; }
}

/* Daymark operating system — the final shared layer for the student workspace.
   Surfaces stay quiet so course context and the student’s next move do the work. */
:root {
  --dm-canvas: var(--ink);
  --dm-surface: var(--panel);
  --dm-surface-subtle: var(--panel-hi);
  --dm-divider: var(--line);
  --dm-text: var(--text);
  --dm-muted: var(--muted);
  --dm-accent: var(--accent);
  --dm-radius: 12px;
  --dm-radius-control: 8px;
  --dm-shadow: 0 14px 32px rgba(8, 9, 11, .10);
  --dm-ease: cubic-bezier(.2, .7, .2, 1);
}

html { background: var(--dm-canvas); color-scheme: dark; }
html[data-appearance="light"] { color-scheme: light; }
body { background: var(--dm-canvas) !important; color: var(--dm-text) !important; }
::selection { background: var(--accent); color: var(--accent-foreground); }
* { scrollbar-color: var(--faint) var(--dm-canvas); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { border: 3px solid var(--dm-canvas); border-radius: 999px; background: var(--faint); }
*::-webkit-scrollbar-track { background: var(--dm-canvas); }

/* A single control grammar: solid action, quiet secondary, and an unambiguous focus state. */
:is(.quick-add, .dark-button, .outline-button, .text-button, .icon-button, .feedback-trigger) {
  min-height: 44px;
  border-radius: var(--dm-radius-control) !important;
  transition: border-color var(--motion-fast) var(--dm-ease), background-color var(--motion-fast) var(--dm-ease), color var(--motion-fast) var(--dm-ease), transform var(--motion-fast) var(--dm-ease) !important;
}
.quick-add, .dark-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-color: var(--dm-accent) !important;
  background: var(--dm-accent) !important;
  color: var(--accent-foreground) !important;
  box-shadow: none !important;
}
.quick-add:hover, .dark-button:hover { border-color: var(--accent-hover) !important; background: var(--accent-hover) !important; transform: translateY(-1px); }
.quick-add:active, .dark-button:active { transform: translateY(0); }
.outline-button, .icon-button {
  border-color: var(--dm-divider) !important;
  background: transparent !important;
  color: var(--dm-text) !important;
  box-shadow: none !important;
}
.outline-button:hover, .icon-button:hover { border-color: var(--accent) !important; background: var(--accent-muted) !important; color: var(--dm-text) !important; }
.text-button { color: var(--accent-text, var(--dm-text)) !important; text-underline-offset: 3px; }
.text-button:hover { color: var(--dm-text) !important; text-decoration: underline; }
:is(button, a, input, select, textarea):focus-visible { outline: 3px solid var(--ring) !important; outline-offset: 3px !important; box-shadow: 0 0 0 4px var(--accent-muted) !important; }
:is(button, input, select, textarea):disabled { cursor: not-allowed; opacity: .52; }
.quick-add svg, .outline-button svg, .icon-button svg, .feedback-trigger svg, .focus-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

/* App shell and page rhythm. */
.sidebar { background: var(--dm-surface) !important; border-right-color: var(--dm-divider) !important; backdrop-filter: none !important; }
.nav-item { min-height: 44px; border-radius: var(--dm-radius-control) !important; }
.nav-item:hover { background: var(--dm-surface-subtle) !important; border-color: transparent !important; }
.nav-item.active, .nav-more.active { background: var(--accent-muted) !important; box-shadow: inset 2px 0 0 var(--dm-accent) !important; }
.focus-card { border: 1px solid var(--dm-divider) !important; background: transparent !important; }
.focus-icon { display: grid; place-items: center; background: var(--accent-muted) !important; color: var(--accent-text, var(--dm-text)) !important; }
.feedback-trigger { display: inline-flex; align-items: center; gap: 8px; color: var(--dm-muted) !important; }
.feedback-trigger:hover { color: var(--dm-text) !important; }
.page { max-width: 1560px !important; padding: clamp(26px, 4vw, 62px) !important; }
.page .page-header, .page .topbar { gap: 22px; padding-bottom: 28px !important; margin-bottom: 32px !important; }
.page-header > div > .eyebrow { display: none; }
.page-header h1, .topbar h1 { max-width: 760px; font-weight: 600 !important; letter-spacing: -.038em !important; line-height: 1.02 !important; }
.page-header .subcopy { max-width: 58ch; margin-top: 10px; color: var(--dm-muted) !important; font-size: 15px; }
.section-heading > div > .eyebrow { display: none; }
.section-heading h2 { margin-top: 0 !important; letter-spacing: -.028em !important; }
.section-heading p { max-width: 62ch; color: var(--dm-muted) !important; }

/* Group only what belongs together. Lists and planning data stay open and scannable. */
:is(.calendar-card, .agenda-panel, .course-card, .note-card, .study-workflow, .reminder-settings, .message-preview, .grade-table, .review-card, .integration-card) {
  border-color: var(--dm-divider) !important;
  border-radius: var(--dm-radius) !important;
  background: var(--dm-surface) !important;
  box-shadow: none !important;
}
:is(.course-card, .note-card, .integration-card):hover { border-color: color-mix(in srgb, var(--dm-divider) 48%, var(--dm-accent)) !important; background: var(--dm-surface-subtle) !important; box-shadow: none !important; transform: none !important; }
.goal-list, .long-goal, .mini-stat, .grade-summary article { border-color: var(--dm-divider) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.goal-list { border-top: 1px solid var(--dm-divider); }
.goal-row, .long-goal, .grade-row, .setting-row, .note-row { border-color: var(--dm-divider) !important; }
.goal-tag, .study-scope-chips span, .study-workflow-status { border-radius: 6px !important; }
.mini-progress, .grade-row i { background: var(--dm-surface-subtle) !important; }
.mini-progress em, .grade-row i em { background: var(--dm-accent) !important; }

/* Dense tools read as workspaces, not a field of unrelated containers. */
.calendar-toolbar, .calendar-course-rail { border-color: var(--dm-divider) !important; background: transparent !important; box-shadow: none !important; }
.calendar-course-rail { border-radius: var(--dm-radius) !important; }
.calendar-day { background: transparent !important; border-color: var(--dm-divider) !important; }
.calendar-day:hover { background: var(--dm-surface-subtle) !important; }
.calendar-day.today .date-num, .calendar-day.selected-day { border-color: var(--dm-accent) !important; background: var(--accent-muted) !important; color: var(--dm-text) !important; }
.agenda-panel, .calendar-upcoming { padding: 22px !important; }
.notes-layout { align-items: start; }
.folder-panel { border: 1px solid var(--dm-divider); border-radius: var(--dm-radius); background: var(--dm-surface); }
.folder { min-height: 40px; border-radius: 6px !important; }
.folder.active, .folder:hover { background: var(--accent-muted) !important; color: var(--dm-text) !important; }
.note-card { min-height: 0 !important; }
.note-row { min-height: 76px !important; }
.study-workflow, .smart-plan { border-radius: var(--dm-radius) !important; box-shadow: none !important; }
.study-workflow { border-color: var(--dm-divider) !important; }
.study-workflow-empty, .smart-plan-empty { border-color: var(--dm-divider) !important; background: var(--dm-surface-subtle) !important; }
.study-loading-lines i { border-radius: 3px; background: var(--dm-surface-subtle); animation: none; }
.study-loading-lines i:nth-child(2) { opacity: .72; }
.study-loading-lines i:nth-child(3) { opacity: .48; }

/* Forms state the field and recovery clearly without visual noise. */
.form-field input, .form-field select, .form-field textarea, .auth-gate-form input[type="email"], .auth-gate-form input[type="password"] {
  border-color: var(--dm-divider) !important;
  border-radius: var(--dm-radius-control) !important;
  background: var(--dm-surface-subtle) !important;
  color: var(--dm-text) !important;
}
.form-field input::placeholder, .form-field textarea::placeholder, .auth-gate-form input::placeholder { color: #62676b !important; opacity: 1; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus, .auth-gate-form input:focus { border-color: var(--ring) !important; background: var(--dm-surface) !important; }
.auth-form-error { padding: 10px 12px; border-left: 1px solid var(--danger); background: color-mix(in srgb, var(--danger) 10%, var(--dm-surface)); color: var(--dm-text); }
.toast { border-color: var(--dm-divider) !important; border-radius: var(--dm-radius-control) !important; background: var(--dm-surface) !important; color: var(--dm-text) !important; box-shadow: var(--dm-shadow) !important; }

/* Sign-in is one calm, readable decision instead of a split-brand visual effect. */
.auth-gate { background: var(--dm-canvas) !important; }
.auth-gate::before, .auth-gate-intro::after { display: none !important; }
.auth-gate-layout { grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr) !important; background: var(--dm-canvas) !important; }
.auth-gate-card { background: var(--dm-surface) !important; }
.auth-gate-intro { background: var(--dm-canvas) !important; }
.feature-preview { border-color: var(--dm-divider) !important; border-radius: var(--dm-radius) !important; background: var(--dm-surface) !important; box-shadow: var(--dm-shadow) !important; backdrop-filter: none !important; }
.auth-gate-brand { color: var(--dm-text) !important; }
.auth-gate-brand .brand-mark { filter: none !important; }
.feature-copy h1, .feature-copy p:not(.eyebrow), .feature-copy .eyebrow { color: var(--dm-text) !important; }
.feature-copy p:not(.eyebrow) { color: var(--dm-muted) !important; }
.auth-gate-card h2, .auth-gate-card > p, .auth-gate-form > label { color: var(--dm-text) !important; }
.auth-gate-card > p:not(.auth-card-kicker):not(.auth-gate-note), .remember-option, .auth-gate-note { color: var(--dm-muted) !important; }
.auth-card-kicker { color: var(--faint) !important; }
.auth-gate-form .quick-add { box-shadow: none !important; }
.gate-google-button { border-color: var(--dm-divider) !important; border-radius: var(--dm-radius-control) !important; background: transparent !important; color: var(--dm-text) !important; }

@media (max-width: 980px) {
  .page { padding: 30px 28px 96px !important; }
  .auth-gate-layout { grid-template-columns: 1fr !important; }
  .auth-gate-card { grid-column: 1 !important; grid-row: 1 !important; max-width: none !important; }
  .auth-gate-intro { display: none !important; }
}
@media (max-width: 700px) {
  .page { padding: 24px 18px 104px !important; }
  .page .page-header, .page .topbar { gap: 16px; padding-bottom: 22px !important; margin-bottom: 24px !important; }
  .page-header h1, .topbar h1 { font-size: clamp(30px, 10vw, 40px) !important; letter-spacing: -.034em !important; }
  .page-header .subcopy { font-size: 14px; }
  .header-actions { width: 100%; flex-wrap: wrap; }
  .header-actions .quick-add { flex: 1 1 auto; }
  .notes-layout { grid-template-columns: 1fr !important; }
  .folder-panel { display: flex !important; gap: 4px; overflow-x: auto; padding: 4px; }
  .folder-panel .eyebrow, .folder-empty { display: none; }
  .folder { flex: 0 0 auto; }
  .calendar-course-rail { overflow-x: auto; }
  .goal-row, .long-goal { align-items: start; }
  .auth-gate-card { min-height: 100svh; padding: 112px 24px 42px !important; }
}
@media (prefers-reduced-motion:no-preference) { .story-copy { transition:opacity .26s ease,transform .32s cubic-bezier(.2,.7,.2,1)!important; }.feature-story[data-story-step='0'] .story-copy[data-story-copy='0'],.feature-story[data-story-step='1'] .story-copy[data-story-copy='1'],.feature-story[data-story-step='2'] .story-copy[data-story-copy='2'],.feature-story[data-story-step='3'] .story-copy[data-story-copy='3'] { transition-delay:.12s; } }

/* Today: final composition overrides. Keep the user-selected theme as the source of accent color. */
#overview .today-header { padding:0 0 26px!important; background:transparent!important; border-bottom:1px solid var(--line)!important; }
#overview .right-now { display:block!important; margin:0 0 42px!important; padding:0 0 26px!important; overflow:visible!important; border:0!important; border-bottom:1px solid var(--line)!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
html[data-appearance="light"] #overview .right-now { background:transparent!important; border-color:var(--line)!important; }
#overview .right-now::after { display:none!important; }
#overview .right-now-copy { max-width:760px; padding-left:0; }
#overview .right-now-copy h2 { max-width:760px!important; margin:7px 0 10px!important; color:var(--text)!important; font-size:clamp(25px,3vw,34px)!important; line-height:1.12!important; }
#overview .recommendation-meta { display:flex; flex-wrap:wrap; gap:0; margin:0!important; color:var(--muted); font:500 11px/1.5 var(--font-data); }
#overview .recommendation-meta span + span::before { display:inline-block; margin:0 8px; color:var(--faint); content:'·'; }
#overview .right-now-actions { position:static!important; justify-content:flex-start!important; gap:10px; margin-top:17px; }
#overview .recommendation-why { align-items:baseline; gap:12px; margin-top:18px!important; padding-top:14px; border-top:1px solid var(--line); }
#overview .recommendation-why span:last-child { color:var(--muted); font:500 12px/1.45 var(--font-ui); letter-spacing:normal; }
#overview .today-section .section-heading,#overview .tasks-section,#overview .overview-goals { border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
#overview .overview-workspace { display:block!important; }
#overview .overview-radar { margin:0; padding:0!important; }
#overview .task-list { padding:0!important; border-top:1px solid var(--line)!important; border-radius:0!important; background:transparent!important; }
#overview .task-row { min-height:64px; }
html[data-appearance="light"] #overview .tasks-section,html[data-appearance="light"] #overview .overview-goals { background:transparent!important; }
#overview .overview-goals { margin-top:38px; padding:24px 0 0!important; border-top:1px solid var(--line)!important; border-left:0!important; }
#overview .overview-goal-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); }
#overview .overview-goal-group { min-width:0; padding:14px 16px 12px 0; border:0!important; border-right:1px solid var(--line)!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
#overview .overview-goal-group + .overview-goal-group { padding-left:16px; }
#overview .overview-goal-group:last-child { border-right:0!important; }
#overview .overview-goal-group-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; color:var(--faint); font:600 10px/1 var(--font-data); letter-spacing:.08em; text-transform:uppercase; }
#overview .overview-goal-group-heading b { color:var(--muted); font:600 10px/1 var(--font-data); }
#overview .overview-goal-row { min-height:32px; padding:5px 0!important; }
#overview .overview-goal-row strong { font-size:12px; }
#overview .overview-goal-row small { font-size:10px; }
#overview .overview-goal-group.is-empty { opacity:.72; }
#overview .overview-empty-goal { width:auto; min-height:30px!important; padding:0; color:var(--muted); font-size:11px; text-align:left; }
#overview .overview-empty-goal span { color:var(--accent); }
#overview .daily-checkin { display:flex!important; align-items:center; justify-content:space-between; gap:18px; min-height:0!important; margin-top:32px!important; padding:16px 0!important; border:0!important; border-top:1px solid var(--line)!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
html[data-appearance="light"] #overview .daily-checkin { background:transparent!important; border-color:var(--line)!important; box-shadow:none!important; }
#overview .daily-checkin div { min-width:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
#overview .daily-checkin p,#overview .daily-checkin span { margin:0!important; }
#overview .daily-checkin p { color:var(--text); font:600 12px/1.45 var(--font-ui); }
#overview .daily-checkin div > span { color:var(--muted); font-size:12px; line-height:1.45; }
#overview .daily-checkin .text-button { flex:none; min-height:44px; }
@media (min-width:1081px) {
  #overview { display:grid; grid-template-columns:minmax(0,1fr) clamp(280px,25vw,336px); column-gap:clamp(32px,5vw,58px); align-items:start; width:min(1280px,100%); }
  #overview .today-header { grid-column:1 / -1; }
  #overview .right-now { grid-column:1; grid-row:2; }
  #overview .overview-timeline { position:sticky; top:28px; grid-column:2; grid-row:2 / span 3; align-self:start; margin:0; padding-left:24px; border-left:1px solid var(--line); }
  #overview .overview-timeline .section-heading { display:block; margin-bottom:16px; padding:0!important; }
  #overview .overview-timeline .section-heading .text-button { margin-top:12px; }
  #overview .overview-timeline .section-heading h2 { margin-top:7px; font-size:20px; }
  #overview .overview-workspace { grid-column:1; grid-row:3; }
  #overview .daily-checkin { grid-column:1; grid-row:4; }
  #overview .daymark-time-rail { min-height:280px; }
  #overview .daymark-time-rail-empty { display:grid; min-height:280px; align-content:start; gap:12px; padding:8px 0 0; }
  #overview .daymark-time-rail-empty strong { color:var(--text); font-size:14px; }
  #overview .daymark-time-rail-empty p { margin:0; color:var(--muted); font-size:12px; }
  #overview .daymark-time-rail-empty .daymark-time-rail-now { margin-top:12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  #overview .daymark-time-rail-empty .text-button { justify-self:start; margin-top:4px; }
}
@media (max-width:1080px) { #overview { display:block; } #overview .overview-timeline { margin:0 0 42px; } }
@media (max-width:700px) {
  #overview .today-header { padding-bottom:20px!important; }
  #overview .today-header #nextAction { display:none!important; }
  #overview .right-now { margin-bottom:34px!important; }
  #overview .right-now-copy { padding-left:0; }
  #overview .right-now-copy h2 { font-size:26px!important; }
  #overview .overview-goal-list { grid-template-columns:1fr; }
  #overview .overview-goal-group,#overview .overview-goal-group + .overview-goal-group { padding:14px 0; border-right:0!important; border-bottom:1px solid var(--line)!important; }
  #overview .overview-goal-group:last-child { border-bottom:0!important; }
  #overview .daily-checkin { align-items:flex-start; }
  #overview .daily-checkin div { display:block; }
  #overview .daily-checkin div > span { display:block; margin-top:3px!important; }
}

/* Today repair: wide work canvas, compact empty states, and one coherent SVG rail. */
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.nav-icon,.mobile-nav-item svg,.workspace-menu-icon { display:block; flex:none; width:20px; height:20px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.desktop-secondary-nav { display:none; }
.nav-more { font:inherit; text-align:left; cursor:pointer; }
.nav-more.active { background:var(--accent-muted)!important; color:var(--text)!important; box-shadow:inset 2px 0 0 var(--accent)!important; }
#overview .overview-radar-empty { display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); min-height:76px; padding:14px 0; border-top:1px solid var(--line); }
#overview .overview-radar-empty > div { display:grid; gap:3px; min-width:0; }
#overview .overview-radar-empty strong { color:var(--text); font-size:14px; }
#overview .overview-radar-empty span { color:var(--muted); font-size:12px; line-height:1.45; }
#overview .overview-radar-empty .text-button { flex:none; }
#overview .overview-goal-list { display:block; border-top:1px solid var(--line); }
#overview .overview-goal-strip { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:58px; margin:0; padding:10px 0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
#overview .overview-goal-strip.is-empty { grid-template-columns:minmax(0,1fr) auto; }
#overview .overview-goal-strip > span { min-width:0; }
#overview .overview-goal-strip strong,#overview .overview-goal-strip small { display:block; }
#overview .overview-goal-strip strong { color:var(--text); font-size:13px; }
#overview .overview-goal-strip small { margin-top:3px; color:var(--muted); font-size:11px; }
#overview .overview-goal-strip .text-button { justify-self:end; }
#overview .overview-goal-strip input { position:absolute; opacity:0; }
#overview .overview-goal-strip .check { width:18px; height:18px; }
#overview .daymark-time-rail { min-height:0!important; }
#overview .daymark-time-rail-empty { min-height:0!important; }
#overview .daymark-time-rail-empty > p { color:var(--muted)!important; }
#overview .daily-checkin { margin-top:24px!important; }
#overview .daily-checkin p { max-width:680px; }
/* Let the rail orient the page without forcing an empty second column. */
#overview .right-now { margin-bottom:24px!important; border-radius:0!important; box-shadow:none!important; }
#overview .overview-workspace { margin-top:0!important; }

@media (min-width:1081px) {
  #overview { width:min(1560px,100%); grid-template-columns:minmax(0,1fr) clamp(320px,24vw,380px); column-gap:clamp(32px,3vw,48px); }
  #overview .overview-timeline { padding-left:28px; }
}
@media (min-width:1440px) {
  .sidebar { width:208px!important; align-items:stretch; padding:20px 12px!important; }
  .brand { justify-content:flex-start; padding-inline:10px!important; }
  .brand > span:last-child,.term-switcher > span:not(.term-dot),.nav-item:not(.mobile-nav-item) { font-size:12px!important; }
  .main-content { margin-left:208px!important; width:calc(100% - 208px)!important; }
  .term-switcher { width:auto; justify-content:flex-start; padding:0 10px!important; }
  .main-nav { gap:4px; }
  .nav-label { display:block!important; margin:10px 10px 5px!important; font-size:10px!important; }
  .nav-item:not(.mobile-nav-item) { width:100%; min-height:44px; justify-content:flex-start; gap:11px; padding:0 11px!important; border-radius:8px!important; }
  .nav-item:not(.mobile-nav-item)::after { display:none!important; }
  /* Even with labels visible, keep the daily rail to its five core places.
     Secondary and team destinations remain available through More. */
  .desktop-secondary-nav,
  #ownerNavigation:not([hidden]) { display:none!important; }
}
@media (max-width:700px) {
  .mobile-nav-item svg { width:18px; height:18px; margin-inline:auto; }
  #overview .overview-radar-empty { align-items:flex-start; flex-direction:column; gap:8px; min-height:0; }
  #overview .overview-radar-empty .text-button { min-height:44px; }
  #overview .overview-goal-strip { grid-template-columns:18px minmax(0,1fr); align-items:start; }
  #overview .overview-goal-strip .text-button { grid-column:2; justify-self:start; margin-top:-5px; }
  #overview .overview-goal-strip.is-empty { grid-template-columns:1fr; }
  #overview .overview-goal-strip.is-empty .text-button { grid-column:auto; margin-top:0; }
}
