/* Monochrome product theme. Legacy color names are mapped for style.css. */
:root {
  color-scheme: light;
  --bg: #f5f5f3;
  --surface: #ffffff;
  --raised: #f9f9f8;
  --ink: #18181a;
  --muted: #626268;
  --line: #dddddb;
  --accent: #674399;
  --accent-soft: #f1edf7;
  --accent-mid: #ded4ed;
  --strong: #18181a;
  --on-strong: #ffffff;
  --hero-bg: #1a1a1c;
  --hero-ink: #ffffff;
  --hero-muted: #d0d0d4;
  --hero-accent: #d4b9ff;
  --hero-button-bg: #ffffff;
  --hero-button-ink: #1a1a1c;
  --progress-track: #e4e4e2;
  --green: var(--ink);
  --green2: #bdbdc0;
  --mint: var(--raised);
  --lavender: var(--raised);
  --focus: #8f64c4;
  --shadow: 0 12px 30px rgba(16, 16, 18, .055);
  --motion-quick: 140ms;
  --motion-medium: 230ms;
  --motion-ease: cubic-bezier(.2, .8, .2, 1);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #111113;
  --surface: #1c1c1f;
  --raised: #252529;
  --ink: #f4f4f3;
  --muted: #b9b9c0;
  --line: #3a3a40;
  --accent: #c6a5ef;
  --accent-soft: #2b2534;
  --accent-mid: #51415f;
  --strong: #f4f4f3;
  --on-strong: #171719;
  --hero-bg: #f0f0ef;
  --hero-ink: #19191b;
  --hero-muted: #55555b;
  --hero-accent: #674399;
  --hero-button-bg: #19191b;
  --hero-button-ink: #ffffff;
  --progress-track: #39393e;
  --green: var(--ink);
  --green2: #57575e;
  --mint: var(--raised);
  --lavender: var(--raised);
  --focus: #c6a5ef;
  --shadow: 0 12px 30px rgba(0, 0, 0, .2);
}

body, .app-shell { transition: background-color var(--motion-medium) ease, color var(--motion-medium) ease; }
.app-shell { box-shadow: none; }
.brand-mark span { background: var(--accent); }
.brand-name { font-weight: 760; }
.mode-pill { background: var(--surface); color: var(--muted); }
.eyebrow { color: var(--accent); }
.text-button { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent-mid); text-underline-offset: 4px; }

.hero {
  background: var(--hero-bg);
  color: var(--hero-ink);
  border: 1px solid var(--hero-bg);
  border-radius: 24px;
  box-shadow: none;
}
.hero:after { border-color: color-mix(in srgb, var(--hero-ink) 9%, transparent); }
.hero-kicker { color: var(--hero-accent); }
.hero p { color: var(--hero-muted); }

.button, .settings-link, .back-button, .stepper button, .theme-choice, .rating-grid button {
  transition: background-color var(--motion-quick) ease, border-color var(--motion-quick) ease,
    color var(--motion-quick) ease, transform var(--motion-quick) var(--motion-ease),
    box-shadow var(--motion-medium) ease;
}
.button {
  border-radius: 13px;
  font-weight: 720;
  letter-spacing: -.01em;
}
.button-primary { background: var(--strong); color: var(--on-strong); }
.button-primary:hover { background: var(--accent); color: #ffffff; }
.button-light { background: var(--hero-button-bg); color: var(--hero-button-ink); }
.button-light:hover { background: var(--hero-accent); color: var(--hero-bg); }
.button-soft { background: var(--raised); color: var(--ink); border: 1px solid var(--line); }
.button-soft:hover, .button-outline:hover { background: var(--accent-soft); border-color: var(--accent-mid); }
.button-outline { border-color: var(--line); }
.button:disabled { box-shadow: none; }
.button:active, .settings-link:active, .back-button:active, .stepper button:active,
.theme-choice:active, .rating-grid button:active { transform: scale(.975); }

.stat-card, .panel, .topic-card, .tile, .plan-card, .exercise-card, .chapter {
  border-color: var(--line);
  box-shadow: none;
}
.stat-card, .panel { border-radius: 19px; }
.stat-card { background: var(--surface); }
.stat-icon, .stat-card:nth-child(2) .stat-icon {
  background: var(--raised);
  color: var(--ink);
  border: 1px solid var(--line);
}
.stat-card:first-child .stat-icon { color: var(--accent); }
.bar-track { background: var(--raised); }
.bar { background: var(--green2); }
.bar.today { background: var(--accent); }
.ring { background: conic-gradient(var(--ink) var(--progress), var(--progress-track) 0); }
.ring:after { background: var(--bg); }

.topic-card, .tile, .plan-card, .exercise-card {
  border-radius: 17px;
  transition: border-color var(--motion-quick) ease, background-color var(--motion-quick) ease,
    transform var(--motion-quick) var(--motion-ease), box-shadow var(--motion-medium) ease;
}
.topic-glyph, .topic-card:nth-child(even) .topic-glyph, .plan-marker,
.plan-marker.skill-marker, .skill-glyph, .exercise-num {
  background: var(--raised);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 12px;
}
.topic-card:nth-child(even) .topic-glyph, .skill-glyph { color: var(--accent); }
.topic-next, .phase-check { color: var(--accent); }
.due-dot { background: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.tile:nth-child(n) { background: var(--surface); }
.tile .icon { color: var(--ink); }
.tile:nth-child(2) .icon { color: var(--accent); }
.tile .badge { background: var(--accent-soft); color: var(--accent); }
.add-card { border-color: var(--line); color: var(--ink); border-radius: 17px; transition: background-color var(--motion-quick), border-color var(--motion-quick), transform var(--motion-quick); }
.add-card:hover { background: var(--raised); border-color: var(--accent-mid); }
.back-button { border: 1px solid var(--line); }
.phase-number, .map-center, .flash-card, .slide-card, .recall-prompt {
  background: var(--hero-bg);
  color: var(--hero-ink);
  box-shadow: none;
}
.slide-number, .recall-prompt span, .recall-prompt small { color: var(--hero-accent); }
.slide-example { background: color-mix(in srgb, var(--hero-ink) 10%, transparent); }
.flash-card.revealed { background: var(--raised); color: var(--ink); border: 1px solid var(--line); }
.flash-card.revealed span { color: var(--muted); }
.map-list, .map-node:before { border-color: var(--line); }
.chapter summary span, .chapter-body li::marker { color: var(--accent); }
.example, .draft-note, .notice, .plan-banner { background: var(--raised); color: var(--ink); border: 1px solid var(--line); }
.plan-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  margin: 2px 0 21px;
  padding: 13px 15px;
  border-radius: 15px;
  line-height: 1.45;
}
.plan-banner span { font-size: 13px; }
.plan-banner strong, .subscription-heading strong { color: var(--accent); }

.option { color: var(--ink); transition: background-color var(--motion-quick), border-color var(--motion-quick), transform var(--motion-quick); }
.option:hover:not(:disabled), .option.selected { border-color: var(--accent); background: var(--accent-soft); }
.option.correct { border-color: var(--accent); background: var(--accent-soft); }
.option.wrong, .feedback.error { border-color: var(--line); background: var(--raised); color: var(--ink); }
.feedback { background: var(--accent-soft); color: var(--ink); }
.rating-grid button:first-child, .rating-grid button:last-child { background: var(--surface); color: var(--ink); }
.rating-grid button:hover { border-color: var(--accent); background: var(--accent-soft); }
.photo-picker, .input { border-color: var(--line); color: var(--ink); }
.input { background: var(--surface); }
.input::placeholder { color: var(--muted); }
.form-error { color: var(--accent); }
.source-list a { color: var(--ink); }
.source-list a:hover { color: var(--accent); }

.toggle { width: 58px; height: 44px; padding: 0 6px; background: transparent; position: relative; }
.toggle::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 6.5px;
  width: 52px;
  height: 31px;
  border-radius: 30px;
  background: var(--line);
  transition: background-color var(--motion-quick) ease;
}
.toggle.on { background: transparent; }
.toggle.on::before { background: var(--accent); }
.toggle span { position: relative; background: #ffffff; }
.stepper button { color: var(--ink); }
.stepper button:hover, .back-button:hover { border-color: var(--accent-mid); background: var(--accent-soft); }
.settings-link { background: var(--raised); color: var(--ink); border: 1px solid var(--line); }
.settings-link:hover { background: var(--accent-soft); border-color: var(--accent-mid); }
.settings-link.danger { background: var(--surface); color: var(--ink); }
.settings-link.danger:hover { background: var(--raised); }
.delete-action { margin-top: 10px; background: var(--surface); border: 1px solid var(--line); color: var(--ink); }
.delete-action:hover { background: var(--raised); }
.archive-action { margin-top: 20px; }

.bottom-nav { background: color-mix(in srgb, var(--surface) 96%, transparent); border-top-color: var(--line); backdrop-filter: blur(14px); }
.nav-item { color: var(--muted); transition: background-color var(--motion-quick), color var(--motion-quick), transform var(--motion-quick); }
.nav-item.active { background: var(--strong); color: var(--on-strong); }
.nav-item:not(.active):hover { background: var(--raised); color: var(--ink); }
.toast { background: var(--strong); color: var(--on-strong); }

.theme-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px; }
.theme-choice { min-height: 102px; padding: 9px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); color: var(--ink); text-align: left; }
.theme-choice.selected { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.theme-choice strong { display: block; margin: 7px 3px 1px; font-size: 13px; }
.theme-swatch { height: 47px; border-radius: 9px; padding: 7px; display: flex; gap: 6px; align-items: flex-end; }
.theme-swatch span { display: block; width: 34%; height: 100%; border-radius: 5px; }
.theme-swatch i { display: block; flex: 1; height: 72%; border-radius: 5px; }
.theme-swatch-light { background: #f5f5f3; }
.theme-swatch-light span { background: #1a1a1c; }
.theme-swatch-light i { background: #ffffff; border: 1px solid #dddddb; }
.theme-swatch-dark { background: #111113; }
.theme-swatch-dark span { background: #f0f0ef; }
.theme-swatch-dark i { background: #1c1c1f; border: 1px solid #3a3a40; }
.topic-card-locked { border-style: dashed; }
.topic-card-locked .topic-next { color: var(--muted); }
.access-panel p, .subscription-panel p { margin: 0 0 14px; line-height: 1.55; }
.subscription-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.subscription-heading strong { font-size: 19px; }
.subscription-heading span { font-size: 13px; color: var(--muted); white-space: nowrap; }
.subscription-panel small { display: block; color: var(--muted); line-height: 1.5; }

/* Override the older dark-theme declarations in style.css. */
:root[data-theme="dark"] .hero,
:root[data-theme="dark"] .map-center,
:root[data-theme="dark"] .flash-card,
:root[data-theme="dark"] .phase-number,
:root[data-theme="dark"] .slide-card,
:root[data-theme="dark"] .recall-prompt { background: var(--hero-bg); color: var(--hero-ink); }
:root[data-theme="dark"] .button-primary { background: var(--strong); color: var(--on-strong); }
:root[data-theme="dark"] .button-primary:hover { background: var(--accent); color: #19191b; }
:root[data-theme="dark"] .button-light { background: var(--hero-button-bg); color: var(--hero-button-ink); }
:root[data-theme="dark"] .tile:nth-child(n) { background: var(--surface); }
:root[data-theme="dark"] .bottom-nav { background: color-mix(in srgb, var(--surface) 96%, transparent); }
:root[data-theme="dark"] .input { background: var(--surface); border-color: var(--line); }
:root[data-theme="dark"] .option.correct { background: var(--accent-soft); }
:root[data-theme="dark"] .option.wrong,
:root[data-theme="dark"] .feedback.error { background: var(--raised); color: var(--ink); }
:root[data-theme="dark"] .feedback { background: var(--accent-soft); color: var(--ink); }
:root[data-theme="dark"] .notice { background: var(--raised); color: var(--ink); }
:root[data-theme="dark"] .rating-grid button:first-child,
:root[data-theme="dark"] .rating-grid button:last-child { background: var(--surface); color: var(--ink); }
:root[data-theme="dark"] .settings-link.danger { background: var(--surface); color: var(--ink); }
:root[data-theme="dark"] .ring { background: conic-gradient(var(--ink) var(--progress), var(--progress-track) 0); }

@media (hover: hover) {
  .button:not(:disabled):hover, .topic-card:hover, .tile:hover,
  .plan-card:hover, .exercise-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
  .topic-card:hover, .tile:hover, .plan-card:hover, .exercise-card:hover { border-color: var(--accent-mid); }
}
@media (prefers-reduced-motion: reduce) {
  body, .app-shell, .button, .settings-link, .back-button, .stepper button,
  .theme-choice, .rating-grid button, .topic-card, .tile, .plan-card,
  .exercise-card, .add-card, .option, .nav-item { transition: none !important; }
}

/* Learning notebook: one daily focal surface, with quiet lists beneath it. */
@font-face {
  font-family: Onest;
  src: url('/fonts/Onest.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  font-family: Onest, Arial, sans-serif;
  --bg: #ffffff;
  --surface: #ffffff;
  --raised: #f5f5f6;
  --ink: #111113;
  --muted: #606066;
  --line: #e5e5e8;
  --accent: #684299;
  --accent-soft: #f2ecf9;
  --accent-mid: #d9c9ea;
  --hero-bg: #121214;
  --hero-ink: #ffffff;
  --hero-muted: #bdbdc4;
  --hero-accent: #cdb2ee;
  --hero-button-bg: #ffffff;
  --hero-button-ink: #111113;
}
:root[data-theme="dark"] {
  --bg: #111113;
  --surface: #111113;
  --raised: #1f1f23;
  --ink: #f7f7f8;
  --muted: #b9b9bf;
  --line: #36363b;
  --accent: #c9a9ee;
  --accent-soft: #2d2438;
  --accent-mid: #5d4b71;
  --hero-bg: #f2f2f4;
  --hero-ink: #171719;
  --hero-muted: #5c5c65;
  --hero-accent: #654099;
  --hero-button-bg: #171719;
  --hero-button-ink: #ffffff;
}
body { font-family: Onest, Arial, sans-serif; }
.topbar { height: calc(74px + env(safe-area-inset-top)); padding-inline: 24px; }
.brand-name { font-size: 15px; letter-spacing: -.055em; font-weight: 800; }
.mode-pill { font-size: 10px; letter-spacing: .02em; font-weight: 700; }
main { padding: 18px 24px 40px; }
.page-title { font-size: clamp(34px, 9vw, 46px); line-height: 1.05; letter-spacing: -.075em; margin: 8px 0 13px; text-wrap: balance; }
.lead { font-size: 14px; line-height: 1.55; margin-bottom: 30px; max-width: 43ch; }
.section-head { margin: 34px 0 15px; align-items: center; }
.section-title { font-size: 21px; line-height: 1.15; letter-spacing: -.055em; }
.section-count { font-size: 13px; font-weight: 700; color: var(--muted); }

.home-focus {
  background: var(--hero-bg);
  color: var(--hero-ink);
  padding: 23px 24px 18px;
  border-radius: 22px;
  overflow: hidden;
}
.focus-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.focus-date { color: var(--hero-accent); font-size: 12px; font-weight: 700; }
.focus-edit {
  color: var(--hero-muted);
  background: none;
  border: 0;
  border-bottom: 1px solid currentColor;
  padding: 7px 0;
  min-height: 44px;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}
.focus-edit:hover { color: var(--hero-ink); }
.focus-title { font-size: clamp(35px, 10vw, 53px); letter-spacing: -.075em; line-height: 1.02; margin: 26px 0 10px; font-weight: 780; text-wrap: balance; }
.focus-title span { display: block; color: var(--hero-ink); }
.focus-description { color: var(--hero-muted); font-size: 13px; line-height: 1.45; margin: 0 0 28px; }
.focus-progress { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.focus-progress strong { font-size: 27px; line-height: 1; letter-spacing: -.07em; font-variant-numeric: tabular-nums; }
.focus-progress strong span { font-size: 15px; color: var(--hero-muted); }
.focus-progress > span { color: var(--hero-muted); font-size: 12px; text-align: right; }
.focus-track { height: 4px; background: color-mix(in srgb, var(--hero-ink) 20%, transparent); border-radius: 10px; margin: 13px 0 24px; overflow: hidden; }
.focus-track span { display: block; height: 100%; background: var(--hero-accent); border-radius: inherit; transition: width 360ms ease-out; }
.focus-action {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; min-height: 58px; padding: 8px 9px 8px 17px;
  border: 0; border-radius: 12px;
  background: var(--hero-button-bg); color: var(--hero-button-ink);
  text-align: left; font-weight: 730; font-size: 13px;
  transition: background-color var(--motion-quick), transform var(--motion-quick);
}
.focus-action > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.focus-arrow { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 9px; flex: none; background: color-mix(in srgb, var(--hero-button-ink) 9%, transparent); transition: transform var(--motion-quick); }
.focus-arrow .icon { width: 18px; height: 18px; }
.focus-action:hover .focus-arrow { transform: translateX(3px); }
.focus-action:active { transform: scale(.985); }

.home-metrics { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); margin-top: 24px; }
.home-metrics > div { display: flex; flex-direction: column; gap: 1px; padding: 0 12px 22px 2px; }
.home-metrics > div + div { border-left: 1px solid var(--line); padding-left: 22px; }
.home-metrics strong { font-size: 33px; letter-spacing: -.07em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.home-metrics span { color: var(--muted); font-size: 12px; line-height: 1.3; }
.home-week { border-bottom: 1px solid var(--line); padding: 7px 0 23px; }
.home-week .week { height: 88px; gap: 8px; }
.home-week .bar-track { height: 62px; border-radius: 4px; background: var(--raised); }
.home-week .bar { border-radius: 4px; }
.home-week .bar.today { background: var(--accent); }
.home-week .bar-group { font-size: 11px; }
.plan-list, .topic-list, .exercise-list { gap: 0; border-top: 1px solid var(--line); }
.plan-card, .topic-card, .exercise-card {
  min-height: 79px;
  padding: 14px 1px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.plan-card:hover, .topic-card:hover, .exercise-card:hover { background: var(--raised); }
.plan-marker, .topic-glyph, .topic-card:nth-child(even) .topic-glyph,
.plan-marker.skill-marker, .skill-glyph, .exercise-num {
  width: 43px; height: 43px; border: 0; border-radius: 10px;
  background: var(--raised); color: var(--ink);
}
.topic-card:nth-child(even) .topic-glyph, .skill-glyph { color: var(--accent); }
.plan-card > .icon, .topic-card > .icon, .exercise-card > .icon { width: 18px; color: var(--muted); }
.topic-card { gap: 13px; }
.topic-info strong { font-size: 15px; }
.topic-info small { margin-top: 4px; }
.topic-next { margin-top: 6px; font-size: 11px; }
.due-dot { width: 7px; height: 7px; box-shadow: none; }
.plan-banner {
  background: transparent; border: 0; border-left: 3px solid var(--accent);
  border-radius: 0; padding: 5px 0 5px 13px; margin: 0 0 28px;
}
.plan-banner strong { color: var(--ink); font-size: 13px; }
.plan-banner span { color: var(--muted); font-size: 12px; }
.add-card {
  min-height: 55px; justify-content: flex-start; padding: 0 3px;
  border: 0; border-radius: 0; font-size: 13px;
}
.add-card .icon { width: 19px; }
.add-card:hover { background: transparent; color: var(--accent); }
.empty { border-color: var(--line); border-radius: 12px; }

.detail-header { align-items: center; }
.detail-header h1 { font-size: clamp(27px, 8vw, 36px); letter-spacing: -.07em; }
.detail-header .topic-glyph { width: 52px; height: 52px; font-size: 24px; }
.intro { line-height: 1.55; font-size: 14px; margin-top: 22px; }
.phase-head { margin-top: 34px; margin-bottom: 8px; }
.phase-head h2 { font-size: 19px; }
.phase-head p { font-size: 11px; line-height: 1.4; }
.phase-number { width: 37px; height: 37px; border-radius: 10px; font-size: 12px; }
.tile-grid { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 10px; border-top: 1px solid var(--line); }
.tile, .tile:nth-child(n), :root[data-theme="dark"] .tile:nth-child(n) {
  display: flex; flex-direction: row; align-items: center; justify-content: flex-start;
  gap: 16px; min-height: 76px; width: 100%; padding: 13px 2px;
  border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
  background: transparent; box-shadow: none;
}
.tile .icon { width: 24px; height: 24px; color: var(--ink); }
.tile:nth-child(2) .icon { color: var(--accent); }
.tile span { min-width: 0; }
.tile strong { font-size: 15px; margin-bottom: 2px; }
.tile small { font-size: 11px; }
.tile:hover { background: var(--raised); }
.tile .badge { background: transparent; color: var(--accent); border: 1px solid var(--accent-mid); }

.panel { background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 19px 0; }
.subscription-panel { border-top: 2px solid var(--ink); }
.subscription-heading strong { color: var(--ink); }
.separator { margin: 20px 0; }
.setting-row { min-height: 48px; }
.setting-row span { line-height: 1.35; }
.input { border-radius: 10px; background: var(--raised); }
.theme-choice { border-radius: 12px; }
.button { border-radius: 10px; }
.button-primary, :root[data-theme="dark"] .button-primary { background: var(--ink); color: var(--bg); }
.button-primary:hover, :root[data-theme="dark"] .button-primary:hover { background: color-mix(in srgb, var(--ink) 86%, var(--bg)); color: var(--bg); }
.bottom-nav { border-top: 1px solid var(--line); }
.nav-item { border-radius: 10px; }
.nav-item.active { border-radius: 10px; }
.bottom-nav { gap: 4px; padding-inline: 8px; }
.nav-item { min-width: 0; font-size: 10px; }
@media (hover: hover) {
  .button:not(:disabled):hover, .topic-card:hover, .tile:hover,
  .plan-card:hover, .exercise-card:hover { transform: none; box-shadow: none; }
}
@media (max-width: 370px) {
  main { padding-inline: 19px; }
  .topbar { padding-inline: 19px; }
  .home-focus { padding-inline: 20px; }
  .focus-title { font-size: 33px; }
}
@media (prefers-reduced-motion: reduce) {
  .focus-track span, .focus-action, .focus-arrow { transition: none !important; }
}

.confirm-dialog {
  position: fixed;
  inset: 0;
  width: min(420px, calc(100vw - 36px));
  max-width: none;
  margin: auto;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .2);
}
.confirm-dialog::backdrop { background: rgba(8, 8, 10, .62); }
.confirm-dialog[open] { animation: confirm-enter 180ms var(--motion-ease) both; }
.confirm-dialog .confirm-eyebrow {
  margin: 0 0 12px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.confirm-dialog h2 { margin: 0; font-size: 23px; line-height: 1.2; letter-spacing: -.04em; }
.confirm-dialog p:not(.confirm-eyebrow) { margin: 10px 0 24px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.confirm-actions { display: flex; gap: 10px; }
.confirm-actions .button { flex: 1; }
@keyframes confirm-enter { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .confirm-dialog[open] { animation: none; } }
