body[data-theme] { background-color:var(--pilot-page) !important; background-image:radial-gradient(ellipse at 0% 0%,rgba(185,211,200,.28),transparent 38%),radial-gradient(ellipse at 100% 25%,rgba(226,216,191,.2),transparent 34%) !important; background-attachment:fixed !important; color:var(--pilot-ink) !important; }
body[data-theme] .top, body[data-theme] .bottom { background:color-mix(in srgb, var(--pilot-card) 76%, transparent) !important; border-color:color-mix(in srgb, var(--pilot-line) 72%, transparent) !important; backdrop-filter:blur(24px) saturate(175%) !important; -webkit-backdrop-filter:blur(24px) saturate(175%) !important; box-shadow:0 10px 32px rgba(35,48,44,.12),inset 0 1px 0 rgba(255,255,255,.72) !important; }
body[data-theme] .card, body[data-theme] .stat, body[data-theme] .task,
body[data-theme] .subject-chip, body[data-theme] .day,
body[data-theme] .pilot-personalise { background:color-mix(in srgb, var(--pilot-card) 84%, transparent) !important; border-color:color-mix(in srgb, var(--pilot-line) 76%, white) !important; color:var(--pilot-ink) !important; backdrop-filter:blur(13px) saturate(145%); -webkit-backdrop-filter:blur(13px) saturate(145%); box-shadow:0 9px 25px rgba(35,48,44,.07),inset 0 1px 0 rgba(255,255,255,.82) !important; }
body[data-theme] .crest, body[data-theme] .sync, body[data-theme] .btn.primary,
body[data-theme] .day.selected { background:var(--pilot-accent) !important; border-color:var(--pilot-accent) !important; color:var(--pilot-accent-ink) !important; }
body[data-theme] .nav-btn.selected { color:inherit !important; background:transparent !important; }
body[data-theme] .point, body[data-theme] .lesson-summary, body[data-theme] .lesson { background:color-mix(in srgb, var(--pilot-card) 72%, transparent) !important; border-color:color-mix(in srgb, var(--pilot-line) 78%, white) !important; backdrop-filter:blur(12px) saturate(145%); -webkit-backdrop-filter:blur(12px) saturate(145%); box-shadow:0 6px 18px rgba(35,48,44,.055),inset 0 1px 0 rgba(255,255,255,.78) !important; }
body[data-theme] .pilot-theme-choice { background:color-mix(in srgb, var(--pilot-card) 78%, transparent) !important; border-color:color-mix(in srgb, var(--pilot-line) 76%, white) !important; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
@media(prefers-reduced-transparency:reduce){body[data-theme] .top,body[data-theme] .bottom,body[data-theme] .card,body[data-theme] .stat,body[data-theme] .task,body[data-theme] .subject-chip,body[data-theme] .day,body[data-theme] .pilot-personalise,body[data-theme] .point,body[data-theme] .lesson-summary,body[data-theme] .lesson{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--pilot-card)!important}}
body[data-theme="dark"] .brand-sub, body[data-theme="dark"] .eyebrow,
body[data-theme="dark"] .subtle, body[data-theme="dark"] .lede,
body[data-theme="dark"] .task-meta, body[data-theme="dark"] .section-head p { color:var(--pilot-muted) !important; }
body[data-theme="dark"] .input, body[data-theme="dark"] textarea { background:#171a1d !important; color:var(--pilot-ink) !important; border-color:var(--pilot-line) !important; }
body[data-theme="dark"] .btn, body[data-theme="dark"] .outline { background:#29343b !important; color:var(--pilot-ink) !important; border-color:var(--pilot-line) !important; }
body[data-theme="campus"] .card, body[data-theme="campus"] .stat { border-radius:11px !important; border-top:3px solid var(--pilot-accent) !important; box-shadow:0 7px 16px rgba(43,93,60,.08) !important; }
body[data-theme="campus"] .task { border-radius:10px !important; border-left:5px solid var(--pilot-accent) !important; }
body[data-theme="minimal"] .card, body[data-theme="minimal"] .task, body[data-theme="minimal"] .stat { border-radius:8px !important; box-shadow:none !important; }
body[data-theme="minimal"] .bottom { border-top-width:2px !important; }

/* Mobile theme treatments stay distinct while preserving the glass navigation. */
body[data-theme="ocean"] { background-image:radial-gradient(ellipse at 0% 0%,rgba(80,176,196,.2),transparent 42%),radial-gradient(ellipse at 100% 45%,rgba(70,139,181,.13),transparent 40%) !important; }
body[data-theme="ocean"] .card, body[data-theme="ocean"] .stat, body[data-theme="ocean"] .task { border-radius:20px !important; box-shadow:0 10px 25px rgba(23,91,115,.09),inset 0 1px 0 rgba(255,255,255,.88) !important; }
body[data-theme="ocean"] .task { border-left:3px solid var(--pilot-accent); }
body[data-theme="lavender"] { background-image:radial-gradient(ellipse at 0% 0%,rgba(178,151,211,.22),transparent 40%),radial-gradient(ellipse at 100% 45%,rgba(226,190,219,.17),transparent 40%) !important; }
body[data-theme="lavender"] .card, body[data-theme="lavender"] .stat, body[data-theme="lavender"] .task { border-radius:22px !important; box-shadow:0 11px 26px rgba(89,67,120,.09),inset 0 1px 0 rgba(255,255,255,.92) !important; }
body[data-theme="lavender"] .btn, body[data-theme="lavender"] .outline { border-radius:999px !important; }
body[data-theme="sunrise"] { background-image:radial-gradient(ellipse at 0% 0%,rgba(226,157,112,.19),transparent 40%),radial-gradient(ellipse at 100% 100%,rgba(237,205,157,.2),transparent 42%) !important; }
body[data-theme="sunrise"] .card, body[data-theme="sunrise"] .stat, body[data-theme="sunrise"] .task { border-radius:17px !important; box-shadow:0 9px 22px rgba(128,76,48,.08),inset 0 1px 0 rgba(255,255,255,.92) !important; }
body[data-theme="sunrise"] .title, body[data-theme="sunrise"] .section-head h2, body[data-theme="sunrise"] .sheet h2 { font-family:Georgia,"Times New Roman",serif !important; }
body[data-theme="dark"] { background-image:radial-gradient(ellipse at 12% 0%,rgba(76,133,189,.18),transparent 42%),radial-gradient(ellipse at 100% 100%,rgba(70,95,130,.18),transparent 42%) !important; }
body[data-theme="dark"] .card, body[data-theme="dark"] .stat, body[data-theme="dark"] .task, body[data-theme="dark"] .lesson, body[data-theme="dark"] .point { border-color:#3b4a52 !important; box-shadow:0 13px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035) !important; }
body[data-theme="dark"] .task-title, body[data-theme="dark"] .section-head h2, body[data-theme="dark"] .stat b, body[data-theme="dark"] .lesson-summary b { color:var(--pilot-ink) !important; }
body[data-theme="dark"] .tag { background:#29413f !important; color:#b9e4d8 !important; border-color:#45645e !important; }
body[data-theme="campus"] { background-image:linear-gradient(rgba(52,111,76,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(52,111,76,.04) 1px,transparent 1px),radial-gradient(ellipse at 100% 0%,rgba(127,171,124,.17),transparent 42%) !important; background-size:28px 28px,28px 28px,auto !important; }
body[data-theme="campus"] .card, body[data-theme="campus"] .stat { border-radius:13px !important; border-top:3px solid var(--pilot-accent) !important; box-shadow:0 7px 17px rgba(43,93,60,.08) !important; }
body[data-theme="campus"] .task { border-radius:11px !important; border-left:4px solid var(--pilot-accent) !important; }
body[data-theme="minimal"] { background-image:none !important; }
body[data-theme="minimal"] .card, body[data-theme="minimal"] .stat, body[data-theme="minimal"] .task, body[data-theme="minimal"] .lesson, body[data-theme="minimal"] .point { border-radius:10px !important; box-shadow:none !important; }
body[data-theme="minimal"] .task { border-left:2px solid var(--pilot-line) !important; }
body[data-theme="minimal"] .bottom { box-shadow:0 6px 20px rgba(35,48,44,.08),inset 0 1px 0 rgba(255,255,255,.9) !important; }

body[data-theme="dark"] .bottom::before { background:radial-gradient(ellipse at 28% 0%,rgba(76,92,110,.98),rgba(47,58,70,.92) 48%,rgba(35,44,54,.96) 100%) !important; border-color:rgba(171,194,216,.52) !important; box-shadow:0 7px 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(226,238,250,.36),inset 0 -2px 4px rgba(0,0,0,.2) !important; }
body[data-theme="dark"] .nav-btn { color:#b6c0ca !important; }
body[data-theme="dark"] .nav-btn.selected { color:#ffffff !important; }
body[data-theme="dark"] .bottom { border-color:rgba(117,137,157,.5) !important; }
body[data-theme="dark"] .input, body[data-theme="dark"] input, body[data-theme="dark"] select, body[data-theme="dark"] textarea { background:#171a1d !important; color:var(--pilot-ink) !important; border-color:var(--pilot-line) !important; color-scheme:dark; }
body[data-theme="dark"] .btn:not(.primary), body[data-theme="dark"] .outline, body[data-theme="dark"] .filters button { background:#292e34 !important; color:var(--pilot-ink) !important; border-color:#454d56 !important; }
body[data-theme="dark"] .task-title, body[data-theme="dark"] .section-head h2, body[data-theme="dark"] .stat b, body[data-theme="dark"] .lesson-summary b { color:var(--pilot-ink) !important; }
body[data-theme="dark"] .tag { background:#293d53 !important; color:#c7e1ff !important; border-color:#47617c !important; }

/* Deeper glass layers across the touch-first dashboard and its floating dock. */
body[data-theme] .top { background:linear-gradient(115deg,color-mix(in srgb,var(--pilot-card) 92%,white 8%),color-mix(in srgb,var(--pilot-card) 72%,transparent 28%)) !important; border-bottom-color:color-mix(in srgb,var(--pilot-line) 62%,white 38%) !important; box-shadow:0 2px 0 rgba(255,255,255,.55),0 12px 30px rgba(35,48,44,.12),inset 0 1px 0 rgba(255,255,255,.92) !important; }
body[data-theme] .bottom { background:linear-gradient(145deg,color-mix(in srgb,var(--pilot-card) 72%,white 28%),color-mix(in srgb,var(--pilot-card) 66%,transparent 34%)) !important; border-color:color-mix(in srgb,var(--pilot-line) 58%,white 42%) !important; box-shadow:0 22px 50px rgba(31,50,47,.22),0 5px 14px rgba(31,50,47,.11),inset 0 2px 0 rgba(255,255,255,.98),inset 0 -2px 0 rgba(100,130,118,.12) !important; }
body[data-theme] .card,body[data-theme] .stat,body[data-theme] .task,body[data-theme] .subject-chip,body[data-theme] .day,body[data-theme] .point,body[data-theme] .lesson-summary,body[data-theme] .lesson,body[data-theme] .pilot-personalise { background:linear-gradient(145deg,color-mix(in srgb,var(--pilot-card) 94%,white 6%),color-mix(in srgb,var(--pilot-card) 78%,transparent 22%)) !important; border-color:color-mix(in srgb,var(--pilot-line) 62%,white 38%) !important; box-shadow:0 16px 34px rgba(35,48,44,.10),0 4px 12px rgba(35,48,44,.055),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -1px 0 rgba(95,122,111,.1) !important; backdrop-filter:blur(22px) saturate(175%) !important; -webkit-backdrop-filter:blur(22px) saturate(175%) !important; }
body[data-theme] .btn,body[data-theme] .outline,body[data-theme] .sync { box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 16px rgba(35,48,44,.12) !important; }
body[data-theme="dark"] .top { background:linear-gradient(115deg,rgba(36,42,49,.94),rgba(25,29,34,.82)) !important; border-color:rgba(181,199,217,.22) !important; box-shadow:0 14px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1) !important; }
body[data-theme="dark"] .bottom { background:linear-gradient(145deg,rgba(51,61,72,.9),rgba(28,34,41,.82)) !important; border-color:rgba(181,199,217,.34) !important; box-shadow:0 22px 48px rgba(0,0,0,.42),inset 0 2px 0 rgba(255,255,255,.18),inset 0 -2px 0 rgba(0,0,0,.3) !important; }
body[data-theme="dark"] .card,body[data-theme="dark"] .stat,body[data-theme="dark"] .task,body[data-theme="dark"] .subject-chip,body[data-theme="dark"] .day,body[data-theme="dark"] .point,body[data-theme="dark"] .lesson-summary,body[data-theme="dark"] .lesson,body[data-theme="dark"] .pilot-personalise { background:linear-gradient(145deg,rgba(39,44,50,.96),rgba(25,29,33,.92)) !important; border-color:rgba(181,199,217,.25) !important; box-shadow:0 18px 38px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(0,0,0,.28) !important; }
@media(prefers-reduced-transparency:reduce){body[data-theme] .top,body[data-theme] .bottom,body[data-theme] .card,body[data-theme] .stat,body[data-theme] .task,body[data-theme] .subject-chip,body[data-theme] .day,body[data-theme] .pilot-personalise,body[data-theme] .point,body[data-theme] .lesson-summary,body[data-theme] .lesson{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--pilot-card)!important}}

body[data-theme] .task.due-soon,body[data-theme] .homework-task.due-soon { background:linear-gradient(140deg,rgba(255,238,235,.96),rgba(255,255,255,.82)) !important; border-color:rgba(209,93,83,.38) !important; }
body[data-theme] .task.overdue,body[data-theme] .homework-task.overdue { background:linear-gradient(140deg,rgba(255,226,224,.98),rgba(255,244,242,.84)) !important; border-color:rgba(183,60,55,.52) !important; }
body[data-theme] .task.completed,body[data-theme] .homework-task.completed { background:linear-gradient(140deg,rgba(230,246,235,.96),rgba(255,255,255,.82)) !important; border-color:rgba(64,139,93,.4) !important; }
body[data-theme="dark"] .task.due-soon,body[data-theme="dark"] .homework-task.due-soon { background:linear-gradient(140deg,#3a292b,#272326) !important; border-color:#785052 !important; }
body[data-theme="dark"] .task.overdue,body[data-theme="dark"] .homework-task.overdue { background:linear-gradient(140deg,#48292a,#302326) !important; border-color:#965052 !important; }
body[data-theme="dark"] .task.completed,body[data-theme="dark"] .homework-task.completed { background:linear-gradient(140deg,#24392f,#202a26) !important; border-color:#476d58 !important; }

/* Match the reference: simple timetable rows, with glass reserved for surrounding panels. */
body[data-theme] .task { border-radius:14px !important; }
body[data-theme] .task-top { cursor:pointer; }
body[data-theme] .task-actions .btn { border-radius:10px !important; }
body[data-theme] #tomorrowLessons .agenda-row { display:grid !important; grid-template-columns:82px minmax(0,1fr) !important; gap:10px !important; align-items:start !important; padding:8px 2px !important; margin:0 !important; border:0 !important; border-bottom:1px solid color-mix(in srgb,var(--pilot-line) 76%,white 24%) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
body[data-theme] #tomorrowLessons .agenda-time { padding:0 !important; border-radius:0 !important; background:transparent !important; font-size:11px !important; line-height:1.4 !important; font-weight:750 !important; color:var(--pilot-accent) !important; text-align:left !important; white-space:nowrap; }
body[data-theme] #tomorrowLessons .agenda-event { min-width:0; padding:0 !important; border:0 !important; }
body[data-theme] #tomorrowLessons .agenda-event b { display:block; font-size:14px !important; line-height:1.35 !important; font-weight:680 !important; color:var(--pilot-ink) !important; }
body[data-theme] #tomorrowLessons .agenda-event small { display:block; font-size:11px !important; line-height:1.4 !important; color:var(--pilot-muted) !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body[data-theme] #lessons .lesson { border-radius:12px !important; padding:13px 14px !important; margin:9px 0 !important; }
body[data-theme] .calendar-card { border-radius:16px !important; }
body[data-theme] .day { border-radius:12px !important; }
body[data-theme] .input,body[data-theme] input.input,body[data-theme] select.input,body[data-theme] textarea.input { border-radius:10px !important; }
body[data-theme] .bottom { padding-top:6px !important; padding-bottom:6px !important; }
body[data-theme] .nav-btn { min-height:66px !important; }
body[data-theme] :is(.card,.stat,.task,.lesson-summary,.subject-chip,.point,.lesson,.calendar-card,.pilot-personalise,.sheet) { border-radius:14px !important; }
body[data-theme] .btn,body[data-theme] .outline,body[data-theme] .settings-shortcut { border-radius:10px !important; }
body[data-theme="dark"] #tomorrowLessons .agenda-row { border-bottom-color:rgba(181,199,217,.24) !important; }
body[data-theme="dark"] #tomorrowLessons .agenda-time { color:#b9d9ff !important; }

/* Final phone spacing pass: align section actions, preserve readable event rows, and clear the dock. */
@media(max-width:620px), (max-height:500px) and (pointer:coarse) {
  body { padding-bottom:calc(112px + env(safe-area-inset-bottom)) !important; }
  .wrap { padding-top:16px; padding-bottom:26px; }
  .top-inner { gap:10px; }
  .top-actions { gap:8px; }
  .section-head { align-items:center !important; gap:10px; margin:20px 2px 10px; }
  .section-head h2 { line-height:1.12; }
  .section-head p { line-height:1.35; }
  .stat-grid { gap:9px; margin-top:16px; }
  #tomorrowLessons { max-height:190px; padding-right:0; }
  body[data-theme] #tomorrowLessons .agenda-row { grid-template-columns:82px minmax(0,1fr) !important; gap:9px !important; padding:7px 2px !important; }
  body[data-theme] #tomorrowLessons .agenda-event b { line-height:1.3 !important; }
  body[data-theme] #tomorrowLessons .agenda-event small { line-height:1.3 !important; }
  #homeSummaryTasks .lesson-summary { gap:11px; padding:12px 13px; margin:9px 0; }
  #homeSummaryTasks .lesson-summary-time { min-width:54px; line-height:1.35; }
  body[data-theme] .task { padding:14px; margin:9px 0; }
  .task-actions { gap:8px; margin-top:12px; }
  body[data-theme] .bottom { bottom:calc(8px + env(safe-area-inset-bottom)); }
  .toast { bottom:calc(90px + env(safe-area-inset-bottom)); max-width:calc(100vw - 32px); }
}
@media(max-width:390px) {
  .top-inner { padding-left:12px; padding-right:12px; }
  .wrap { padding-left:12px; padding-right:12px; }
  .stat-grid { gap:7px; }
  .section-head { margin-left:1px; margin-right:1px; }
  body[data-theme] #tomorrowLessons .agenda-row { grid-template-columns:78px minmax(0,1fr) !important; gap:8px !important; }
  .toast { max-width:calc(100vw - 24px); }
}

/* Compact phone scale: reduce visual bulk without making controls hard to tap. */
@media(max-width:620px), (max-height:500px) and (pointer:coarse) {
  body { font-size:14px !important; line-height:1.45 !important; padding-bottom:calc(104px + env(safe-area-inset-bottom)) !important; }
  .top-inner { min-height:58px !important; padding-top:7px !important; padding-bottom:7px !important; }
  .crest { width:36px !important; height:36px !important; }
  .brand { gap:8px !important; }
  .brand-title { font-size:15px !important; }
  .brand-sub { font-size:10px !important; margin-top:2px !important; }
  .settings-shortcut { width:38px !important; height:38px !important; }
  .top-actions .sync { min-height:38px !important; padding:7px 11px !important; }
  .wrap { padding:14px 12px 22px !important; }
  .title { font-size:25px !important; line-height:1.12 !important; }
  .lede { margin-top:6px !important; font-size:13px !important; line-height:1.4 !important; }
  .eyebrow { font-size:9px !important; }
  .section-head { margin:17px 1px 8px !important; gap:8px !important; }
  .section-head h2 { font-size:19px !important; }
  .section-head p { font-size:11px !important; }
  .action-link { min-height:38px !important; font-size:12px !important; }
  .stat-grid { gap:7px !important; margin-top:13px !important; }
  body[data-theme] .stat { padding:10px 8px !important; }
  body[data-theme] .stat b { font-size:20px !important; }
  body[data-theme] .stat span { margin-top:5px !important; font-size:10px !important; line-height:1.25 !important; }
  body[data-theme] .card { padding:12px !important; margin-top:12px !important; }
  body[data-theme] .task { padding:12px !important; margin:8px 0 !important; }
  .task-title { font-size:14px !important; line-height:1.3 !important; }
  .task-meta { margin-top:4px !important; font-size:11px !important; }
  .tag { padding:4px 7px !important; font-size:9px !important; }
  .task-actions { margin-top:9px !important; gap:7px !important; }
  body[data-theme] .task-actions .btn { min-height:38px !important; padding:7px 10px !important; font-size:12px !important; }
  #tomorrowLessons { max-height:170px !important; }
  body[data-theme] #tomorrowLessons .agenda-row { grid-template-columns:76px minmax(0,1fr) !important; gap:8px !important; padding:6px 2px !important; }
  body[data-theme] #tomorrowLessons .agenda-time { font-size:10px !important; }
  body[data-theme] #tomorrowLessons .agenda-event b { font-size:12px !important; }
  body[data-theme] #tomorrowLessons .agenda-event small { font-size:10px !important; }
  #homeSummaryTasks .lesson-summary { padding:10px 11px !important; margin:7px 0 !important; gap:9px !important; }
  #homeSummaryTasks .lesson-summary-time { min-width:48px !important; font-size:11px !important; }
  #homeSummaryTasks .lesson-summary-main b { font-size:12px !important; }
  #homeSummaryTasks .lesson-summary-main small { font-size:10px !important; }
  .calendar-card { padding:12px 10px !important; }
  .week-head { margin-bottom:9px !important; }
  .week-strip { gap:3px !important; }
  body[data-theme] .day { min-height:56px !important; padding:7px 1px !important; }
  body[data-theme] .day span { font-size:9px !important; }
  body[data-theme] .day b { margin-top:2px !important; font-size:14px !important; }
  body[data-theme] #lessons .lesson { padding:10px 11px !important; margin:7px 0 !important; font-size:13px !important; }
  body[data-theme] .bottom { padding-top:5px !important; padding-bottom:5px !important; }
  body[data-theme] .nav-btn { min-height:60px !important; gap:2px !important; font-size:9px !important; }
  .nav-btn .icon { height:19px !important; font-size:17px !important; }
  .nav-btn .icon svg { width:18px !important; height:18px !important; }
  body[data-theme] .bottom::before { top:4px !important; bottom:4px !important; }
  .toast { bottom:calc(78px + env(safe-area-inset-bottom)) !important; padding:9px 13px !important; font-size:12px !important; }
}
@media(max-width:390px) {
  .top-inner { padding-left:11px !important; padding-right:11px !important; }
  .wrap { padding-left:11px !important; padding-right:11px !important; }
  .stat-grid { gap:6px !important; }
  body[data-theme] .stat { padding:9px 6px !important; }
  body[data-theme] .stat span { font-size:9px !important; }
  body[data-theme] #tomorrowLessons .agenda-row { grid-template-columns:72px minmax(0,1fr) !important; gap:7px !important; }
}

/* Make the phone viewport itself part of the themed app shell, even on short pages. */
html,body { min-height:100vh; min-height:100dvh; }
html { background-color:var(--pilot-page-root,var(--ground,#f5f3ee)) !important; }
body[data-theme] { min-height:100vh; min-height:100dvh; background-repeat:no-repeat !important; background-size:cover !important; }
#dashboardContent { display:flex; flex:1 0 auto; flex-direction:column; min-height:100vh; min-height:100dvh; }
#dashboardContent > .wrap { flex:1 0 auto; }

/* Carry the active theme through the iPhone status-bar safe area above the header. */
@media(max-width:620px), (max-height:500px) and (pointer:coarse) {
  body[data-theme] .top { position:sticky; isolation:isolate; }
  body[data-theme] .top::before { content:""; position:absolute; z-index:0; top:calc(-1 * env(safe-area-inset-top)); left:0; right:0; height:env(safe-area-inset-top); background:var(--pilot-page); pointer-events:none; }
  body[data-theme] .top-inner { position:relative; z-index:1; }
}

.daily-brief { margin-top:16px !important; padding:15px !important; }
.daily-brief-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.daily-brief-head h2 { margin:2px 0 0; font-size:20px; line-height:1.2; }
.daily-brief-head .btn { flex:none; min-height:38px; padding:7px 10px; font-size:12px; }
.daily-brief-text { margin:12px 0 0; font:500 16px/1.5 Georgia,"Times New Roman",serif; color:var(--pilot-ink); }
.daily-brief-updated { margin:8px 0 0; font-size:11px; color:var(--pilot-muted); }
.daily-brief-ai-consent { margin-top:12px; padding:12px; border:1px solid color-mix(in srgb,var(--pilot-accent) 28%,transparent); border-radius:12px; background:color-mix(in srgb,var(--pilot-card) 88%,var(--pilot-accent) 12%); }
.daily-brief-ai-consent p { margin:0; color:var(--pilot-ink); font-size:12px; line-height:1.5; }
.daily-brief-ai-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.daily-brief-ai-actions .btn { min-height:38px; }
@media(max-width:620px) { .daily-brief { margin-top:13px !important; padding:13px !important; } .daily-brief-head h2 { font-size:18px; } .daily-brief-text { margin-top:9px; font-size:14px; line-height:1.45; } .daily-brief-updated { margin-top:7px; font-size:10px; } }

/* Optional AI companion for accounts with owner grant and student consent. */
.ai-assistant-fab{position:fixed;z-index:12;right:max(16px,calc((100vw - 620px)/2 + 18px));bottom:calc(100px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid rgba(255,255,255,.88);border-radius:999px;background:linear-gradient(145deg,color-mix(in srgb,var(--pilot-card) 76%,white 24%),color-mix(in srgb,var(--pilot-card) 82%,transparent 18%));color:var(--pilot-ink);font-size:12px;font-weight:700;box-shadow:0 9px 24px rgba(30,50,47,.2),inset 0 1px 0 rgba(255,255,255,.94);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%)}
.ai-assistant-fab span:first-child{font-size:17px;color:var(--pilot-accent)}
.ai-assistant-panel{position:fixed;z-index:25;right:max(12px,calc((100vw - 620px)/2 + 12px));bottom:calc(154px + env(safe-area-inset-bottom));width:min(390px,calc(100vw - 24px));max-height:min(66dvh,560px);display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--pilot-line) 62%,white 38%);border-radius:18px;background:color-mix(in srgb,var(--pilot-card) 84%,transparent 16%);color:var(--pilot-ink);box-shadow:0 24px 70px rgba(28,45,42,.28),inset 0 1px 0 rgba(255,255,255,.92);backdrop-filter:blur(28px) saturate(185%);-webkit-backdrop-filter:blur(28px) saturate(185%)}
.ai-assistant-panel[hidden],.ai-assistant-fab[hidden]{display:none!important}
.ai-assistant-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--pilot-line) 72%,transparent)}
.ai-assistant-head b,.ai-assistant-head small{display:block}.ai-assistant-head small{font-size:10px;color:var(--pilot-muted);margin-top:2px}
.ai-close{width:32px;height:32px;border:0;border-radius:50%;background:color-mix(in srgb,var(--pilot-card) 72%,transparent);color:var(--pilot-ink);font-size:22px}
.ai-assistant-messages{padding:12px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:120px}
.ai-message{max-width:90%;padding:9px 11px;margin:0 0 8px;border:1px solid color-mix(in srgb,var(--pilot-line) 62%,white 38%);border-radius:12px;background:color-mix(in srgb,var(--pilot-card) 85%,transparent);font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-message.user{margin-left:auto;background:color-mix(in srgb,var(--pilot-accent) 14%,var(--pilot-card));}
.ai-assistant-form{display:flex;align-items:end;gap:8px;padding:10px 12px;border-top:1px solid color-mix(in srgb,var(--pilot-line) 72%,transparent)}
.ai-assistant-form textarea{min-height:42px;max-height:110px;resize:vertical;font-size:14px!important;padding:9px 10px!important}
.ai-assistant-form button{flex:none;min-height:40px!important}
.ai-assistant-footnote{margin:0;padding:0 12px 10px;font-size:10px;color:var(--pilot-muted)}
@media(max-width:620px){.ai-assistant-fab{right:14px;bottom:calc(96px + env(safe-area-inset-bottom));padding:9px 12px}.ai-assistant-panel{right:10px;bottom:calc(146px + env(safe-area-inset-bottom));width:calc(100vw - 20px);max-height:min(62dvh,520px)}}
body[data-theme="dark"] .ai-assistant-panel,body[data-theme="dark"] .ai-assistant-fab{border-color:rgba(181,199,217,.3);background:linear-gradient(145deg,rgba(48,57,67,.94),rgba(26,31,37,.9));color:var(--pilot-ink)}
