:root {
  color-scheme: only light;
  --bg: #f3f0e8;
  --surface: #fffdf8;
  --surface-2: #e8eee8;
  --text: #203028;
  --muted: #69756e;
  --primary: #456858;
  --primary-dark: #314d40;
  --accent: #dce8d7;
  --border: #d8ddd7;
  --danger: #984c4c;
  --shadow: 0 14px 40px rgba(40, 61, 50, 0.09);
  --radius: 22px;
  --font-size: 16px;
}

* { box-sizing: border-box; }
html { background: var(--bg); font-size: var(--font-size); }
html[data-noted-theme="dark"] { color-scheme: dark; background:#24251f; }
html[data-noted-theme="dark"] body:not(.dark) { color:#e8e3d7; background:#24251f; }
body:not(.dark) { color-scheme: only light; }
body.dark { color-scheme: dark; }
body { margin: 0; color: var(--text); background: radial-gradient(circle at top, #faf7ef 0, var(--bg) 43%); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button, label.file-label { -webkit-tap-highlight-color: transparent; }

.app-shell { width: min(100%, 760px); min-height: 100vh; margin: 0 auto; padding: 0 18px 110px; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; padding: 18px 0 14px; background: linear-gradient(to bottom, var(--bg) 72%, transparent); backdrop-filter: blur(10px); }
.brand { display: flex; align-items: center; gap: 12px; }

.brand-tagline {
  margin: 2px 0 0;
  color: var(--muted);
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: .86rem;
  font-style: italic;
  letter-spacing: .015em;
}
.brand-mark { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 15px; color: white; background: var(--primary); font-weight: 800; box-shadow: var(--shadow); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: 1.25rem; letter-spacing: -0.02em; }
h2 { margin-bottom: 8px; font-size: clamp(1.65rem, 7vw, 2.35rem); line-height: 1.08; letter-spacing: -0.045em; }
h3 { margin-bottom: 0; font-size: 1.1rem; }
.eyebrow { margin-bottom: 4px; color: var(--primary); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.muted { color: var(--muted); }
.top-actions { display: flex; gap: 8px; }
.icon-button, .close-button { border: 0; background: var(--surface); box-shadow: 0 6px 20px rgba(40, 61, 50, 0.08); cursor: pointer; }
.icon-button { min-width: 40px; height: 40px; padding: 0 10px; border-radius: 13px; font-weight: 800; }

.view { display: none; animation: viewIn .22s ease; }
.view.active { display: block; }
@keyframes viewIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.hero-card, .panel, .progress-card { border: 1px solid rgba(69, 104, 88, 0.11); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.hero-card { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 8px 0 18px; padding: 25px; background: linear-gradient(135deg, #fffdf8, #e6eee6); }
.hero-card p:last-of-type { margin-bottom: 0; }
.panel { margin: 18px 0; padding: 21px; }
.gentle-card { display: flex; align-items: flex-start; gap: 13px; padding: 18px; border-radius: 19px; background: var(--accent); }
.gentle-card p { margin: 4px 0 0; color: var(--muted); line-height: 1.5; }
.quick-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.quick-card { min-height: 116px; padding: 17px; border: 1px solid rgba(69, 104, 88, 0.12); border-radius: 19px; text-align: left; background: var(--surface); box-shadow: 0 8px 22px rgba(40, 61, 50, 0.065); cursor: pointer; transition: transform .15s ease, border-color .15s ease; }
.quick-card:active { transform: scale(.98); }
.quick-card:hover { border-color: rgba(69, 104, 88, .35); }
.quick-card strong, .quick-card small { display: block; }
.quick-card small { margin-top: 5px; color: var(--muted); }
.quick-icon { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 13px; border-radius: 11px; background: var(--accent); color: var(--primary-dark); font-weight: 900; }
.section-heading, .page-heading, .modal-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.section-heading { margin-bottom: 17px; }
.page-heading { margin: 15px 0 18px; }
.page-heading h2 { margin-bottom: 0; }

.primary-button, .secondary-button, .danger-button, .text-button { border: 0; cursor: pointer; font-weight: 800; }
.primary-button, .secondary-button, .danger-button { display: inline-flex; align-items: center; justify-content: center; min-height: 47px; padding: 0 17px; border-radius: 15px; }
.primary-button { color: #fff; background: var(--primary); box-shadow: 0 9px 20px rgba(49, 77, 64, .18); }
.primary-button:hover { background: var(--primary-dark); }
.secondary-button { border: 1px solid var(--border); background: var(--surface); }
.danger-button { color: #fff; background: var(--danger); }
.text-button { padding: 6px; color: var(--primary); background: transparent; }
.small { min-height: 39px; padding: 0 13px; border-radius: 12px; }
.button-stack { display: grid; gap: 10px; }

.stack-form, .modal form { display: grid; gap: 13px; }
label { display: grid; gap: 7px; color: var(--muted); font-size: .86rem; font-weight: 700; }
input, textarea, select { width: 100%; border: 1px solid var(--border); border-radius: 14px; outline: none; color: var(--text); background: var(--surface); }
input, select { height: 47px; padding: 0 13px; }
textarea { padding: 13px; line-height: 1.5; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(69, 104, 88, .12); }
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }

.bottom-nav { position: fixed; z-index: 30; left: 50%; bottom: 0; display: grid; grid-template-columns: repeat(5, 1fr); width: min(100%, 760px); padding: 8px max(12px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); border-top: 1px solid var(--border); background: rgba(255, 253, 248, .94); backdrop-filter: blur(18px); transform: translateX(-50%); }
.nav-item { display: grid; place-items: center; gap: 2px; min-height: 55px; border: 0; border-radius: 15px; color: var(--muted); background: transparent; cursor: pointer; }
.nav-item span { font-size: 1.18rem; }
.nav-item small { font-size: .65rem; font-weight: 800; }
.nav-item.active { color: var(--primary-dark); background: var(--accent); }

.day-tabs { display: flex; gap: 8px; margin-bottom: 16px; overflow-x: auto; scrollbar-width: none; }
.day-tabs::-webkit-scrollbar { display: none; }
.day-tab { flex: 0 0 auto; min-height: 39px; padding: 0 15px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); cursor: pointer; font-weight: 800; }
.day-tab.active { color: #fff; border-color: var(--primary); background: var(--primary); }
.card-list { display: grid; gap: 12px; }
.session-card, .note-card, .person-card { position: relative; padding: 18px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: 0 8px 22px rgba(40, 61, 50, .055); }
.session-card { display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; align-items: start; }
.session-time { padding-top: 2px; color: var(--primary); font-weight: 900; }
.card-copy h3 { margin-bottom: 6px; }
.card-copy p { margin: 4px 0 0; color: var(--muted); line-height: 1.5; white-space: pre-wrap; }
.card-copy .scripture-line { color: var(--primary-dark); font-weight: 700; }
.card-menu { display: flex; gap: 4px; }
.mini-button { width: 34px; height: 34px; border: 0; border-radius: 10px; background: var(--surface-2); cursor: pointer; }
.note-card .note-meta, .person-card .note-meta { margin-bottom: 8px; color: var(--muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.note-card p, .person-card p { margin-bottom: 0; line-height: 1.55; white-space: pre-wrap; }
.note-actions { display: flex; justify-content: flex-end; gap: 6px; margin-top: 13px; }
.empty-state { padding: 27px 18px; border: 1px dashed var(--border); border-radius: 18px; color: var(--muted); text-align: center; background: rgba(255,255,255,.3); }
.empty-state strong { display: block; margin-bottom: 5px; color: var(--text); }
.empty-state p { margin-bottom: 0; }
.empty-state.compact { padding: 21px 16px; }
.filter-row { margin-bottom: 15px; }

.progress-card { margin-bottom: 16px; padding: 20px; }
.progress-copy { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.progress-copy span { color: var(--muted); font-size: .82rem; }
.progress-track { height: 10px; border-radius: 999px; background: var(--surface-2); overflow: hidden; }
.progress-bar { width: 0; height: 100%; border-radius: inherit; background: var(--primary); transition: width .25s ease; }
.checklist-list { display: grid; gap: 9px; }
.checklist-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 15px 16px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.checklist-item input { width: 21px; height: 21px; accent-color: var(--primary); }
.checklist-item.done .item-text { color: var(--muted); text-decoration: line-through; }
.delete-button { border: 0; color: var(--muted); background: transparent; cursor: pointer; font-size: 1.2rem; }
.privacy-note { margin-top: -8px; color: var(--muted); font-size: .84rem; }

.setting-row { display: flex; grid-template-columns: none; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--border); color: var(--text); }
.setting-row:last-child { border-bottom: 0; }
.setting-row span { display: grid; gap: 4px; }
.setting-row small { color: var(--muted); font-weight: 500; }
.setting-row input { width: 44px; height: 24px; accent-color: var(--primary); }
.settings-group h3 { margin-bottom: 8px; }
.storage-status { display: flex; align-items: flex-start; gap: 12px; margin: 13px 0; padding: 14px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-2); }
.storage-status > span:last-child { display: grid; gap: 3px; }
.storage-status strong { color: var(--primary-dark); }
.storage-status small { color: var(--muted); font-weight: 500; line-height: 1.45; }
.storage-icon { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: var(--primary); font-weight: 900; }
.backup-help { margin: 0 0 14px; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.backup-protection-row { margin: 0 0 12px; padding: 13px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.encryption-note { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 14px; padding: 11px 12px; border-radius: 13px; color: var(--muted); background: var(--surface-2); font-size: .78rem; line-height: 1.45; }
.password-description { margin: 0; line-height: 1.5; }
.password-show-row { display: flex; grid-template-columns: none; align-items: center; gap: 9px; color: var(--muted); font-size: .84rem; font-weight: 700; }
.password-show-row input { width: 18px; height: 18px; accent-color: var(--primary); }
.password-hint { margin-top: -6px; color: var(--muted); }
.password-error { min-height: 1.15em; margin: -4px 0 0; color: #a84545; font-size: .82rem; font-weight: 800; }
.password-warning { margin: -2px 0 0; padding: 10px 11px; border-radius: 12px; color: var(--muted); background: var(--accent); font-size: .76rem; line-height: 1.4; }
.storage-warning { margin: 2px 0 0; padding: 11px 12px; border-radius: 13px; color: var(--muted); background: var(--accent); font-size: .78rem; line-height: 1.45; }
.file-label { color: var(--text); }

.modal, .focus-dialog { width: min(calc(100% - 28px), 620px); max-height: 88vh; padding: 0; border: 0; border-radius: 24px; color: var(--text); background: var(--surface); box-shadow: 0 30px 80px rgba(25, 40, 32, .32); }
.modal::backdrop, .focus-dialog::backdrop { background: rgba(26, 36, 31, .56); backdrop-filter: blur(4px); }
.modal form { padding: 22px; overflow-y: auto; }
.modal-heading { margin-bottom: 3px; }
.modal-heading h2 { margin-bottom: 0; font-size: 1.45rem; }
.close-button { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; font-size: 1.4rem; }
.small-modal { width: min(calc(100% - 28px), 460px); }
.focus-dialog { width: min(calc(100% - 20px), 720px); max-height: 96vh; background: #f2f0e8; }
.focus-content { position: relative; display: grid; gap: 14px; padding: 28px; }
.focus-close { position: absolute; top: 15px; right: 15px; }
.focus-content h2 { margin: 4px 45px 0 0; }
.focus-content .muted { margin-bottom: 2px; }
.focus-label { margin-top: 2px; }

.focus-note-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 5px; border: 1px solid var(--border); border-radius: 15px; background: var(--surface-2); }
.note-mode-button { min-height: 40px; border: 0; border-radius: 11px; color: var(--muted); background: transparent; cursor: pointer; font-weight: 800; }
.note-mode-button.active { color: var(--text); background: var(--surface); box-shadow: 0 5px 14px rgba(40, 61, 50, .08); }
.focus-note-panel { display: none; }
.focus-note-panel.active { display: block; }
.focus-note-panel > textarea { min-height: 280px; }

.ink-section { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface-2); }
.ink-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ink-heading > div { display: grid; gap: 3px; }
.ink-heading strong { color: var(--text); font-size: .9rem; }
.ink-heading small { color: var(--muted); font-size: .73rem; font-weight: 500; line-height: 1.35; }
.ink-status { flex: 0 0 auto; padding: 6px 8px; border-radius: 999px; color: var(--primary-dark); background: var(--accent); font-size: .66rem; font-weight: 800; }
.ink-toolbar { display: flex; align-items: center; gap: 6px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.ink-toolbar::-webkit-scrollbar { display: none; }
.ink-tool, .ink-action, .ink-page-nav { flex: 0 0 auto; min-height: 35px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text); cursor: pointer; font-size: .74rem; font-weight: 800; }
.ink-tool.active { color: #fff; border-color: var(--primary); background: var(--primary); }
.ink-page-nav { width: 36px; padding: 0; font-size: 1.2rem; }
.ink-page-nav:disabled { opacity: .35; cursor: default; }
.danger-ink-action { color: #a84545; }
.ink-color-group { display: flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 4px 7px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); }
.ink-color { position: relative; flex: 0 0 auto; width: 23px; height: 23px; padding: 0; border: 2px solid transparent; border-radius: 50%; background: var(--swatch); cursor: pointer; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.ink-color.active { border-color: var(--surface); outline: 2px solid var(--primary); transform: scale(.92); }
.ink-size-label { display: flex; align-items: center; grid-template-columns: none; gap: 6px; flex: 0 0 auto; padding: 0 8px; color: var(--muted); }
.ink-size-label input { width: 75px; height: auto; padding: 0; accent-color: var(--primary); }
.ink-page-controls { display: flex; align-items: center; gap: 7px; overflow-x: auto; padding: 2px 0; scrollbar-width: none; }
.ink-page-controls::-webkit-scrollbar { display: none; }
.ink-page-controls > strong { flex: 0 0 auto; min-width: 82px; color: var(--text); text-align: center; font-size: .77rem; }
.paper-select { display: flex; align-items: center; grid-template-columns: none; gap: 6px; flex: 0 0 auto; color: var(--muted); font-size: .74rem; font-weight: 800; }
.paper-select select { width: auto; min-width: 96px; height: 35px; padding: 0 30px 0 9px; border-radius: 10px; font-size: .74rem; }
.ink-paper { position: relative; height: 360px; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; color-scheme: only light; background-color: #fffdf8; }
.ink-paper[data-paper-template-value="lined"] { background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(69, 104, 88, .14) 32px); }
.ink-paper[data-paper-template-value="lined"]::before { content: ''; position: absolute; z-index: 0; top: 0; bottom: 0; left: 42px; width: 1px; background: rgba(152, 76, 76, .2); pointer-events: none; }
.ink-paper[data-paper-template-value="grid"] { background-image: linear-gradient(rgba(69, 104, 88, .11) 1px, transparent 1px), linear-gradient(90deg, rgba(69, 104, 88, .11) 1px, transparent 1px); background-size: 24px 24px; }
.ink-paper[data-paper-template-value="dot"] { background-image: radial-gradient(circle, rgba(69, 104, 88, .27) 1.2px, transparent 1.4px); background-size: 22px 22px; background-position: 7px 7px; }
.ink-paper[data-paper-template-value="blank"] { background-image: none; }
.ink-canvas { position: relative; z-index: 1; display: block; width: 100%; height: 100%; touch-action: none; user-select: none; -webkit-user-select: none; cursor: crosshair; }
.ink-page-strip { display: flex; gap: 9px; overflow-x: auto; padding: 3px 2px 7px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.ink-page-thumb { position: relative; flex: 0 0 auto; width: 68px; height: 90px; padding: 3px; overflow: hidden; border: 2px solid transparent; border-radius: 10px; background: var(--surface); cursor: pointer; scroll-snap-align: center; box-shadow: 0 3px 10px rgba(40, 61, 50, .08); }
.ink-page-thumb.active { border-color: var(--primary); box-shadow: 0 0 0 2px var(--accent); }
.ink-page-thumb canvas { display: block; width: 100%; height: calc(100% - 16px); border-radius: 5px; background: #fffdf8; pointer-events: none; }
.ink-page-thumb span { display: block; height: 15px; color: var(--muted); font-size: .62rem; font-weight: 800; line-height: 15px; }
.focus-ink-section { padding: 0; border: 0; background: transparent; }
.focus-ink-paper { height: min(57vh, 520px); }
.ink-saved-badge { display: inline-flex; align-items: center; width: fit-content; margin-top: 12px; padding: 7px 10px; border-radius: 999px; color: var(--primary-dark); background: var(--accent); font-size: .75rem; font-weight: 800; }
body.dark .ink-page-thumb { box-shadow: 0 3px 10px rgba(0,0,0,.18); }

.toast { position: fixed; z-index: 60; left: 50%; bottom: 92px; max-width: calc(100% - 36px); padding: 12px 16px; border-radius: 13px; color: #fff; background: #263a30; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translate(-50%, 10px); transition: .2s ease; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

body.dark {
  --bg: #15201b;
  --surface: #1e2c25;
  --surface-2: #283b32;
  --text: #edf2ee;
  --muted: #a8b5ad;
  --primary: #90b7a2;
  --primary-dark: #c1dacb;
  --accent: #2b4035;
  --border: #34483e;
  --shadow: 0 14px 40px rgba(0, 0, 0, .22);
  background: radial-gradient(circle at top, #223229 0, var(--bg) 45%);
}
body.dark .bottom-nav { background: rgba(30, 44, 37, .94); }
body.dark .focus-dialog { background: #17231d; }
body.dark .primary-button { color: #142019; background: #9fc1ad; }
body.dark .hero-card { background: linear-gradient(135deg, #223229, #1e2c25); }

body.large-text { --font-size: 18px; }
body.low-distraction .quick-card small,
body.low-distraction .gentle-card,
body.low-distraction .eyebrow.private-extra { display: none; }
body.low-distraction .quick-card { min-height: 96px; }

@media (min-width: 700px) {
  .quick-grid { grid-template-columns: repeat(4, 1fr); }
  .quick-card { min-height: 128px; }
}
@media (max-width: 520px) {
  .app-shell { padding-inline: 13px; }
  .hero-card { display: grid; padding: 21px; }
  .hero-card .secondary-button { justify-self: start; }
  .session-card { grid-template-columns: 62px 1fr; }
  .session-card .card-menu { grid-column: 2; }
  .two-column { grid-template-columns: 1fr; }
  .progress-copy { display: grid; gap: 5px; }
  .bottom-nav { padding-inline: 6px; }
  .nav-item small { font-size: .61rem; }
}

@media (max-width: 520px) {
  .ink-paper { height: 420px; }
  .focus-ink-paper { height: min(60vh, 560px); }
  .ink-color-group { gap: 4px; padding-inline: 6px; }
  .ink-color { width: 21px; height: 21px; }
}


/* V6 responsive notebook workspace */
@media (min-width: 800px) {
  .app-shell { width: min(100%, 980px); padding-inline: 24px; }
  .bottom-nav { width: min(100%, 980px); }

  .session-dialog {
    width: min(calc(100% - 28px), 1040px);
    max-height: 96vh;
  }
  .session-dialog form { padding: 26px; }

  .focus-dialog {
    width: min(calc(100% - 24px), 1180px);
    max-height: 98vh;
  }
  .focus-content { padding: 26px 30px; }

  .ink-toolbar,
  .ink-page-controls { flex-wrap: wrap; overflow-x: visible; }
  .ink-tool, .ink-action, .ink-page-nav { min-height: 42px; padding-inline: 13px; font-size: .8rem; }
  .ink-page-nav { width: 44px; padding: 0; }
  .ink-color { width: 27px; height: 27px; }
  .ink-size-label input { width: 110px; }
  .ink-paper { height: clamp(520px, 60vh, 760px); }
  .focus-ink-paper { height: clamp(560px, 66vh, 840px); }
  .ink-page-thumb { width: 80px; height: 104px; }
  .focus-note-panel > textarea { min-height: 48vh; }
  .note-mode-button { min-height: 46px; }
}

@media (min-width: 1100px) {
  .app-shell { width: min(100%, 1180px); }
  .bottom-nav { width: min(100%, 1180px); }
  .session-dialog { width: min(calc(100% - 32px), 1240px); }
  .focus-dialog { width: min(calc(100% - 28px), 1440px); }
  .ink-paper { height: clamp(600px, 66vh, 900px); }
  .focus-ink-paper { height: clamp(620px, 70vh, 940px); }
  .ink-page-thumb { width: 88px; height: 114px; }
}

@media (any-pointer: coarse) and (min-width: 700px) {
  .ink-tool, .ink-action, .ink-page-nav { min-height: 46px; }
  .ink-page-nav { width: 46px; }
  .ink-color { width: 30px; height: 30px; }
  .ink-color-group { gap: 7px; padding: 6px 9px; }
  .ink-size-label input { width: 130px; }
  .note-mode-button { min-height: 50px; }
  .mini-button { width: 42px; height: 42px; }
}

/* Focus writing gets more of the display on tablets and laptops. */
@media (min-width: 800px) {
  .focus-dialog.writing-mode .focus-content { gap: 10px; }
  .focus-dialog.writing-mode .focus-ink-paper { height: clamp(600px, 70vh, 960px); }
  .focus-dialog.writing-mode .focus-label { margin-top: 4px; }
}

body.ink-workspace-open { overflow: hidden; }
.ink-section.ink-expanded {
  position: fixed;
  inset: 0;
  z-index: 100;
  width: 100vw;
  height: 100dvh;
  margin: 0;
  padding: 14px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--bg);
  box-shadow: none;
}
.ink-section.ink-expanded .ink-heading { grid-area: heading; }
.ink-section.ink-expanded .ink-toolbar { grid-area: toolbar; flex-wrap: wrap; overflow: visible; }
.ink-section.ink-expanded .ink-page-controls { grid-area: controls; flex-wrap: wrap; overflow: visible; }
.ink-section.ink-expanded .ink-paper {
  grid-area: paper;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(40, 61, 50, .12);
}
.ink-section.ink-expanded .ink-page-strip { grid-area: strip; min-height: 0; }
.ink-section.ink-expanded .ink-expand-action { color: #fff; border-color: var(--primary); background: var(--primary); }

@media (min-width: 800px) and (orientation: landscape) {
  .ink-section.ink-expanded {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    grid-template-rows: auto auto auto minmax(0, 1fr);
    grid-template-areas:
      "heading heading"
      "toolbar toolbar"
      "controls controls"
      "strip paper";
    gap: 10px 12px;
  }
  .ink-section.ink-expanded .ink-page-strip {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 2px 8px 6px 2px;
    scroll-snap-type: y proximity;
  }
  .ink-section.ink-expanded .ink-page-thumb {
    width: 94px;
    height: 122px;
    scroll-snap-align: center;
  }
}

@media (max-width: 799px), (orientation: portrait) {
  .ink-section.ink-expanded {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    grid-template-areas:
      "heading"
      "toolbar"
      "controls"
      "paper"
      "strip";
    gap: 8px;
    overflow-y: auto;
  }
  .ink-section.ink-expanded .ink-paper { min-height: 56vh; }
  .ink-section.ink-expanded .ink-page-strip { overflow-x: auto; overflow-y: hidden; }
}

@media (max-height: 700px) and (min-width: 800px) {
  .focus-content { padding-block: 18px; }
  .focus-dialog.writing-mode .eyebrow,
  .focus-dialog.writing-mode #focusMeta { display: none; }
  .focus-dialog.writing-mode .focus-ink-paper { height: 65vh; }
}

/* V7 Convention Experience */
.today-day-line{margin:.25rem 0 0;font-weight:800;color:var(--accent);text-transform:capitalize}.today-status-card{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.15rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--shadow)}.today-status-card strong{font-size:1.05rem}.today-status-card p{margin:0;color:var(--muted);flex:1}.status-kicker{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.gathering-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.gathering-card.active{outline:2px solid var(--accent)}.gathering-card h3,.gathering-card p{margin:.25rem 0}.event-type-pill{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:800}.card-actions{display:flex;align-items:center;gap:.45rem}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gem-list,.choice-list{display:grid;gap:.65rem}.mini-gem{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem;border-radius:15px;background:var(--surface-2)}.mini-gem p{margin:0}.application-check{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:.7rem;padding:.75rem;border-radius:14px;background:var(--surface-2)}.application-check input{width:20px;height:20px;margin-top:.1rem}.lunch-launch{width:100%;margin-top:1rem}.lunch-countdown{text-align:center;padding:1.2rem;border-radius:18px;background:var(--accent-soft);display:grid;gap:.35rem}.lunch-countdown strong{font-size:1.5rem}.lunch-checks{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0}.lunch-checks label{display:flex;flex-direction:row;gap:.55rem;align-items:center;padding:.75rem;background:var(--surface-2);border-radius:14px}.lunch-checks input{width:20px;height:20px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.experience-grid{grid-template-columns:1fr}.gathering-card{align-items:flex-start;flex-direction:column}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lunch-checks{grid-template-columns:1fr}.today-status-card{align-items:flex-start;flex-direction:column}}

.event-days-box{display:grid;gap:.55rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}.event-days-box small{color:var(--muted)}.event-days-editor{display:grid;gap:.5rem}.day-label-row{display:grid!important;grid-template-columns:minmax(120px,.7fr) 1fr;align-items:center;gap:.75rem}.day-label-row input{margin:0}.wrap-panel{margin-top:1rem}.wrap-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.wrap-stats span{display:grid;gap:.2rem;text-align:center;padding:.85rem .45rem;border-radius:16px;background:var(--surface-2);font-size:.78rem;color:var(--muted)}.wrap-stats strong{font-size:1.35rem;color:var(--text)}@media(max-width:760px){.wrap-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.day-label-row{grid-template-columns:1fr}}


/* V7.1 real Lunch Mode */
.session-meta-grid{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:12px}.session-kind-pill{display:inline-flex;align-items:center;padding:.28rem .58rem;margin-bottom:.45rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:900}.session-kind-lunch{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:linear-gradient(135deg,var(--surface),var(--accent-soft))}.session-kind-break{background:linear-gradient(135deg,var(--surface),var(--surface-2))}.today-status-card.lunch-active{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:linear-gradient(135deg,var(--accent-soft),var(--surface))}.home-lunch-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;margin:-.15rem 0 1rem;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:20px;background:linear-gradient(135deg,var(--accent-soft),var(--surface));box-shadow:var(--shadow)}.home-lunch-card[hidden]{display:none}.lunch-home-copy{display:grid;gap:.22rem}.lunch-home-copy p{margin:0;color:var(--muted)}.lunch-modal{width:min(760px,calc(100vw - 24px));max-width:760px}.lunch-mode-shell{display:grid;gap:1rem;padding:1.35rem}.lunch-modal-heading{margin-bottom:0}.lunch-modal-heading .eyebrow{margin-bottom:.2rem}.lunch-hero{text-align:center;padding:1.5rem;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:24px;background:linear-gradient(145deg,var(--accent-soft),var(--surface));display:grid;gap:.55rem}.lunch-hero>span{color:var(--muted);font-weight:800}.lunch-hero>strong{font-size:clamp(2.4rem,8vw,4.8rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.lunch-progress-track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.lunch-progress-bar{height:100%;width:0;background:var(--accent);border-radius:inherit;transition:width .45s ease}.lunch-parking-note{margin:.35rem 0 0;padding:.7rem .85rem;border-radius:14px;background:var(--surface);color:var(--text);font-weight:750}.lunch-section{padding:1rem;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.lunch-section .section-heading{margin-bottom:.75rem}.lunch-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.lunch-done{width:100%}@media(max-width:760px){.session-meta-grid{grid-template-columns:1fr}.home-lunch-card{align-items:flex-start;flex-direction:column}.lunch-mode-shell{padding:1rem}.lunch-shortcuts{grid-template-columns:1fr}.lunch-hero>strong{font-size:clamp(2.7rem,18vw,4.5rem)}}


/* V7.2 Program Center */
.page-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.program-modal{width:min(820px,calc(100vw - 24px));max-width:820px}.program-preview-modal{width:min(900px,calc(100vw - 24px));max-width:900px}.program-shell{display:grid;gap:1rem;padding:1.35rem;max-height:88vh;overflow-y:auto}.program-shell>.modal-heading{margin:0}.program-privacy{margin:0;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:16px;background:var(--accent-soft);color:var(--text);font-size:.9rem}.program-section{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.program-section .section-heading{margin:0}.program-section h3{margin:0}.program-action-grid,.program-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.program-file-button{display:flex!important;align-items:center;justify-content:center;gap:.4rem;width:100%;cursor:pointer}.program-paste{min-height:190px;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;line-height:1.55}.program-error{min-height:1.2em;margin:0;color:#a23f3f;font-weight:800}.program-preview-summary{display:grid;gap:.25rem;padding:1rem;border-radius:18px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border))}.program-preview-summary strong{font-size:1.2rem}.program-preview-summary span,.program-preview-summary small{color:var(--muted)}.program-preview-list{display:grid;gap:.75rem;max-height:46vh;overflow:auto;padding-right:.15rem}.program-preview-day{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface)}.program-preview-day-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;background:var(--surface-2)}.program-preview-day-heading span{color:var(--muted);font-size:.85rem}.program-preview-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.8rem;padding:.65rem .9rem;border-top:1px solid var(--border);align-items:start}.program-preview-row time{font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums}.program-preview-row span{line-height:1.35}@media(max-width:760px){.page-actions{gap:.4rem}.program-shell{padding:1rem}.program-action-grid,.program-preview-actions{grid-template-columns:1fr}.program-preview-row{grid-template-columns:76px minmax(0,1fr);padding:.65rem .75rem}.program-preview-list{max-height:42vh}}


/* V7.3 local program PDF import */
.pdf-import-section{border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent-soft) 52%,var(--surface)))}
.local-read-badge{display:inline-flex;align-items:center;justify-content:center;padding:.38rem .62rem;border-radius:999px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));color:var(--accent);font-size:.76rem;font-weight:900;white-space:nowrap}
.pdf-import-progress{display:grid;gap:.55rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}
.pdf-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.86rem}.pdf-progress-copy span{color:var(--muted);text-align:right}
.pdf-import-note{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}
.program-detected-scriptures{display:block;margin-top:.3rem;color:var(--muted);font-size:.76rem;line-height:1.35}
@media(max-width:600px){.local-read-badge{display:none}.pdf-progress-copy{align-items:flex-start;flex-direction:column;gap:.2rem}.pdf-progress-copy span{text-align:left}}


/* V7.4 Note Hub ---------------------------------------------------------- */
.notes-welcome-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  margin-bottom: 14px;
  padding: 20px;
  border: 1px solid rgba(69, 104, 88, .18);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(225, 238, 228, .72), rgba(250, 247, 239, .94));
}
.notes-welcome-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(40, 61, 50, .08);
  font-size: 1.55rem;
}
.notes-welcome-copy h3 { margin: 2px 0 6px; }
.notes-welcome-copy p:last-child { margin: 0; color: var(--muted); line-height: 1.55; }
.notes-now-card {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 16px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 21px;
  background: var(--surface);
  box-shadow: 0 10px 28px rgba(40, 61, 50, .07);
}
.notes-now-card.is-current { border-color: rgba(69, 104, 88, .42); box-shadow: 0 12px 30px rgba(69, 104, 88, .12); }
.notes-now-card.is-current .status-kicker { color: var(--primary); }
.notes-now-main { display: grid; gap: 4px; min-width: 0; }
.notes-now-main strong { font-size: 1.12rem; line-height: 1.3; }
.notes-now-main > span:not(.status-kicker), .notes-now-main small { color: var(--muted); }
.notes-empty-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.notes-session-panel, .saved-notes-panel { margin-top: 16px; }
.notes-session-list { display: grid; gap: 18px; }
.note-day-group { display: grid; gap: 8px; }
.note-day-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  padding: 0 3px 4px;
  color: var(--muted);
}
.note-day-heading strong { color: var(--text); }
.note-session-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 15px 16px;
  border: 1px solid var(--border);
  border-radius: 17px;
  background: var(--surface);
  cursor: pointer;
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.note-session-row:hover, .note-session-row:focus-visible {
  border-color: rgba(69, 104, 88, .42);
  box-shadow: 0 8px 22px rgba(40, 61, 50, .07);
  outline: none;
}
.note-session-row:active { transform: scale(.995); }
.note-session-row.has-notes { background: color-mix(in srgb, var(--surface) 92%, var(--primary) 8%); }
.note-session-row time { color: var(--primary); font-weight: 850; font-variant-numeric: tabular-nums; }
.note-session-copy { min-width: 0; }
.note-session-copy strong { display: block; line-height: 1.35; }
.note-status-line { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.note-status-line span {
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: .72rem;
  font-weight: 750;
}
.note-status-line .no-note-status { background: transparent; padding-inline: 0; }
.schedule-notes-button { white-space: nowrap; }
.saved-notes-heading { margin-bottom: 2px; }
body.dark .notes-welcome-card { background: linear-gradient(145deg, rgba(41, 62, 51, .85), rgba(23, 35, 29, .96)); }

@media (min-width: 900px) {
  .notes-session-list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .notes-page-heading { margin-bottom: 16px; }
  .notes-welcome-card { padding: 24px; }
}
@media (max-width: 720px) {
  .notes-welcome-card { grid-template-columns: 1fr; }
  .notes-welcome-icon { width: 50px; height: 50px; }
  .notes-now-card { align-items: stretch; flex-direction: column; }
  .notes-now-card > button { width: 100%; }
  .note-session-row { grid-template-columns: 62px minmax(0, 1fr); }
  .note-session-row > button { grid-column: 1 / -1; width: 100%; }
}

.focus-scripture-hint {
  width: fit-content;
  max-width: 100%;
  padding: 8px 11px;
  border: 1px solid rgba(69, 104, 88, .16);
  border-radius: 12px;
  color: var(--muted);
  background: var(--surface);
  font-size: .84rem;
  line-height: 1.45;
}
.note-mode-help {
  margin: -5px 2px 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.4;
}
.focus-dialog.writing-mode .note-mode-help { display: none; }

/* V7.5 Cozy Notebook Theme --------------------------------------------- */
:root {
  --bg: #eee7d8;
  --surface: #fffdf6;
  --surface-2: #f4eee1;
  --text: #393329;
  --muted: #756d60;
  --primary: #637761;
  --primary-dark: #405342;
  --accent: #788b70;
  --accent-soft: #e7eddf;
  --border: #d8cfbd;
  --danger: #9a5751;
  --shadow: 0 14px 34px rgba(73, 63, 47, .10);
  --radius: 17px;
  --paper-line: rgba(106, 133, 121, .105);
  --paper-margin: rgba(190, 113, 104, .32);
  --sticky: #f8efbf;
  --sticky-border: #e5d995;
  --tape: rgba(235, 222, 183, .78);
  --ink-blue: #667c8b;
}

html { background: var(--bg); }
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 18% -10%, rgba(255, 252, 238, .94) 0 18%, transparent 47%),
    linear-gradient(115deg, rgba(111, 122, 92, .025), transparent 36%),
    var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .34;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(70, 59, 43, .075) .6px, transparent .7px);
  background-size: 9px 9px;
}

h1, h2, h3,
.brand h1,
.page-heading h2,
.modal-heading h2 {
  font-family: Georgia, "Times New Roman", ui-serif, serif;
}
h1 { letter-spacing: -.012em; }
h2 { letter-spacing: -.035em; }
h3 { letter-spacing: -.012em; }
.eyebrow {
  color: var(--primary-dark);
  letter-spacing: .13em;
}

.app-shell { position: relative; }
.topbar {
  padding-top: 16px;
  background: linear-gradient(to bottom, rgba(238, 231, 216, .97) 74%, transparent);
  backdrop-filter: blur(12px);
}
.brand-mark {
  position: relative;
  width: 45px;
  height: 49px;
  border-radius: 8px 13px 13px 8px;
  background: linear-gradient(145deg, #71856d, #526852);
  box-shadow: 0 9px 22px rgba(69, 83, 63, .18);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.16rem;
}
.brand-mark::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: rgba(255,255,255,.35);
}
.brand-mark::after {
  content: "";
  position: absolute;
  left: -3px;
  top: 9px;
  width: 7px;
  height: 3px;
  border-radius: 99px;
  background: #c7bd9e;
  box-shadow: 0 9px #c7bd9e, 0 18px #c7bd9e, 0 27px #c7bd9e;
}
.icon-button, .close-button {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255, 253, 246, .94);
  box-shadow: 0 5px 14px rgba(73, 63, 47, .07);
}

.view { position: relative; }
.page-heading { margin-top: 20px; }
.page-heading h2 {
  position: relative;
  display: inline-block;
  z-index: 0;
}
.page-heading h2::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -3px;
  right: -8px;
  bottom: 1px;
  height: .28em;
  border-radius: 3px 12px 4px 9px;
  background: rgba(165, 185, 146, .28);
  transform: rotate(-1deg);
}

.hero-card, .panel, .progress-card,
.session-card, .note-card, .person-card,
.checklist-item, .gathering-card,
.program-section, .lunch-section {
  border-color: var(--border);
  background-color: var(--surface);
  box-shadow: var(--shadow);
}
.hero-card {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  padding: 29px 27px 26px 43px;
  background-color: var(--surface);
  background-image:
    linear-gradient(90deg, transparent 0 25px, var(--paper-margin) 25px 26px, transparent 26px),
    repeating-linear-gradient(to bottom, transparent 0 31px, var(--paper-line) 31px 32px),
    linear-gradient(135deg, rgba(255,253,246,.98), rgba(243,239,222,.94));
}
.hero-card::after {
  content: "";
  position: absolute;
  top: 11px;
  right: 25px;
  width: 72px;
  height: 16px;
  border-radius: 2px;
  background: var(--tape);
  opacity: .62;
  transform: rotate(2.5deg);
}
.hero-card h2, .hero-card p { position: relative; z-index: 1; }

.panel, .progress-card {
  position: relative;
  border-radius: 14px;
}
.panel::before, .progress-card::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: -1px;
  height: 1px;
  opacity: .48;
  background: repeating-linear-gradient(90deg, var(--border) 0 8px, transparent 8px 14px);
}

.gentle-card {
  position: relative;
  border: 1px solid var(--sticky-border);
  border-radius: 8px 14px 10px 12px;
  background: var(--sticky);
  box-shadow: 0 10px 22px rgba(109, 90, 45, .09);
  transform: rotate(-.25deg);
}
.gentle-card::before,
.notes-welcome-card::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  width: 78px;
  height: 18px;
  border-radius: 2px;
  background: var(--tape);
  transform: translateX(-50%) rotate(-1.5deg);
}
.gentle-card p { color: #71694f; }

.quick-grid { gap: 13px; }
.quick-card {
  position: relative;
  overflow: hidden;
  border-radius: 11px;
  background:
    repeating-linear-gradient(to bottom, transparent 0 28px, rgba(107, 132, 120, .07) 28px 29px),
    var(--surface);
  box-shadow: 0 9px 22px rgba(73, 63, 47, .075);
}
.quick-card::after {
  content: "";
  position: absolute;
  right: -15px;
  bottom: -18px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(113, 132, 105, .12);
}
.quick-card:hover {
  transform: translateY(-2px);
  border-color: rgba(99, 119, 97, .42);
}
.quick-icon {
  border-radius: 8px;
  background: var(--accent-soft);
  box-shadow: inset 0 -1px rgba(64, 83, 66, .08);
}
.quick-card:nth-child(2) .quick-icon { background: #efe4d7; }
.quick-card:nth-child(3) .quick-icon { background: #ece7c9; }
.quick-card:nth-child(4) .quick-icon { background: #e7e2ef; }
.quick-card:nth-child(5) .quick-icon { background: #e4ebef; }
.quick-card:nth-child(6) .quick-icon { background: #eee2d9; }

.primary-button, .secondary-button, .danger-button {
  border-radius: 10px;
}
.primary-button {
  background: linear-gradient(180deg, #6e826c, #5a705a);
  box-shadow: 0 7px 16px rgba(74, 94, 71, .16);
}
.secondary-button,
label.file-label {
  border-color: var(--border);
  background: rgba(255,253,246,.92);
}
.text-button { color: var(--primary-dark); }

input, textarea, select {
  border-radius: 9px;
  border-color: var(--border);
  background-color: rgba(255,253,246,.9);
}
textarea,
.program-paste {
  background-image: repeating-linear-gradient(to bottom, transparent 0 27px, rgba(107, 132, 120, .075) 27px 28px);
  background-attachment: local;
  line-height: 28px;
}
input:focus, textarea:focus, select:focus {
  border-color: #71856d;
  box-shadow: 0 0 0 3px rgba(99, 119, 97, .13);
}

/* Notebook divider tabs */
.bottom-nav {
  gap: 5px;
  padding-top: 9px;
  border-top: 1px solid #cec4b0;
  background: rgba(246, 240, 226, .96);
  box-shadow: 0 -8px 25px rgba(68, 58, 43, .08);
}
.nav-item {
  position: relative;
  min-height: 57px;
  border: 1px solid transparent;
  border-radius: 10px 10px 5px 5px;
}
.nav-item:nth-child(1) { --tab-bg: #dfe8d7; }
.nav-item:nth-child(2) { --tab-bg: #e8e3c8; }
.nav-item:nth-child(3) { --tab-bg: #eaded1; }
.nav-item:nth-child(4) { --tab-bg: #e1e8ec; }
.nav-item:nth-child(5) { --tab-bg: #e7e0eb; }
.nav-item.active {
  color: var(--primary-dark);
  border-color: rgba(91, 103, 80, .14);
  background: var(--tab-bg);
  transform: translateY(-3px);
  box-shadow: 0 -5px 14px rgba(73, 63, 47, .06);
}
.nav-item span { font-size: 1.12rem; }

.day-tabs { align-items: flex-end; gap: 5px; padding: 4px 3px 0; border-bottom: 1px solid var(--border); }
.day-tab {
  margin-bottom: -1px;
  border-radius: 9px 9px 0 0;
  border-bottom-color: var(--border);
  background: #eee7d8;
}
.day-tab.active {
  color: var(--primary-dark);
  border-color: var(--border);
  border-bottom-color: var(--surface);
  background: var(--surface);
  box-shadow: 0 -5px 12px rgba(73, 63, 47, .045);
}

.session-card, .note-card, .person-card,
.note-session-row, .checklist-item, .gathering-card {
  border-radius: 10px;
}
.session-card, .note-card, .person-card {
  background-image: linear-gradient(90deg, transparent 0 12px, rgba(190,113,104,.18) 12px 13px, transparent 13px);
}
.session-time, .note-session-row time { color: var(--ink-blue); }
.mini-button { border-radius: 7px; }
.empty-state {
  border-radius: 10px;
  background: rgba(255,253,246,.48);
}

/* Note Hub becomes the open notebook spread. */
.notes-welcome-card {
  position: relative;
  border: 1px solid var(--sticky-border);
  border-radius: 8px 13px 10px 12px;
  background: var(--sticky);
  box-shadow: 0 10px 22px rgba(109, 90, 45, .09);
}
.notes-welcome-copy p:last-child { color: #71694f; }
.notes-welcome-icon {
  border-radius: 9px;
  background: rgba(255, 253, 238, .76);
  box-shadow: none;
}
.notes-now-card {
  position: relative;
  border-radius: 11px;
  padding-left: 33px;
  background:
    linear-gradient(90deg, transparent 0 19px, var(--paper-margin) 19px 20px, transparent 20px),
    repeating-linear-gradient(to bottom, transparent 0 29px, var(--paper-line) 29px 30px),
    var(--surface);
}
.notes-now-card.is-current {
  border-color: rgba(99,119,97,.4);
  box-shadow: 0 12px 27px rgba(85, 102, 77, .10);
}
.notes-session-panel, .saved-notes-panel {
  overflow: hidden;
  background:
    linear-gradient(90deg, transparent 0 30px, rgba(190,113,104,.17) 30px 31px, transparent 31px),
    repeating-linear-gradient(to bottom, transparent 0 31px, rgba(106,133,121,.06) 31px 32px),
    var(--surface);
}
.notes-session-panel > *, .saved-notes-panel > * { position: relative; z-index: 1; }
.note-day-heading {
  border-bottom: 1px dashed var(--border);
  padding-bottom: 7px;
}
.note-session-row {
  background: rgba(255,253,246,.89);
  box-shadow: 0 5px 13px rgba(73, 63, 47, .045);
}
.note-session-row.has-notes {
  background: color-mix(in srgb, var(--surface) 88%, var(--accent-soft) 12%);
}
.note-status-line span { border-radius: 5px; }
.focus-scripture-hint { border-radius: 7px; }

/* Writing dialogs feel like opening the notebook. */
.modal, .focus-dialog {
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface);
  box-shadow: 0 30px 80px rgba(56, 47, 34, .32);
}
.modal::backdrop, .focus-dialog::backdrop {
  background: rgba(55, 49, 39, .56);
}
.focus-dialog {
  background:
    linear-gradient(90deg, transparent 0 38px, rgba(190,113,104,.13) 38px 39px, transparent 39px),
    repeating-linear-gradient(to bottom, transparent 0 32px, rgba(106,133,121,.055) 32px 33px),
    #f8f3e7;
}
.focus-content { padding-left: max(30px, 4vw); }
.focus-note-switcher {
  border-radius: 10px;
  background: #e9e2d3;
}
.note-mode-button { border-radius: 7px; }
.note-mode-button.active { background: var(--surface); }
.focus-note-panel > textarea {
  border-radius: 8px;
  background-color: rgba(255,253,246,.88);
}
.ink-section {
  border-radius: 11px;
  background: #eee7d8;
}
.ink-tool, .ink-action, .ink-page-nav,
.paper-select select, .ink-color-group {
  border-radius: 7px;
}
.ink-paper, .ink-section.ink-expanded .ink-paper {
  border-radius: 7px;
  box-shadow: 0 8px 22px rgba(67, 58, 44, .10);
}
.ink-page-thumb { border-radius: 6px; }
.ink-section.ink-expanded {
  background:
    radial-gradient(circle at 16% 0%, rgba(255,255,255,.45), transparent 38%),
    #e8e0d0;
}

/* Cozy utility cards */
.progress-card {
  background:
    repeating-linear-gradient(to bottom, transparent 0 30px, rgba(106,133,121,.06) 30px 31px),
    var(--surface);
}
.progress-track { background: #e6dfd1; }
.progress-bar { background: linear-gradient(90deg, #7f9476, #60775e); }
.checklist-item { background: rgba(255,253,246,.92); }
.storage-status, .encryption-note, .mini-gem, .application-check,
.pdf-import-progress, .program-preview-day-heading {
  background: #f2ecdf;
}
.today-status-card {
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(255,253,246,.96), rgba(234,237,220,.9));
}
.home-lunch-card, .today-status-card.lunch-active, .lunch-hero {
  border-color: #e2d594;
  background: linear-gradient(135deg, #faf0bd, #fffaf0);
}
.lunch-section { border-radius: 11px; }
.program-privacy, .program-preview-summary, .local-read-badge {
  background: var(--accent-soft);
}
.program-section, .program-preview-day { border-radius: 10px; }
.program-preview-day { overflow: hidden; }
.program-preview-row { background: rgba(255,253,246,.86); }

/* Dark journal variation */
body.dark {
  --bg: #25251f;
  --surface: #34342c;
  --surface-2: #414037;
  --text: #f0ebdf;
  --muted: #b9b1a3;
  --primary: #a8b89a;
  --primary-dark: #d3dec8;
  --accent: #a3b193;
  --accent-soft: #424b3d;
  --border: #565246;
  --danger: #ba746d;
  --shadow: 0 14px 38px rgba(0,0,0,.24);
  --paper-line: rgba(165, 184, 171, .075);
  --paper-margin: rgba(196, 124, 116, .21);
  --sticky: #574f31;
  --sticky-border: #746b43;
  --tape: rgba(137, 128, 93, .7);
  --ink-blue: #bdcbd2;
  background: radial-gradient(circle at 18% -10%, #36362e 0 16%, transparent 48%), var(--bg);
}
body.dark .topbar { background: linear-gradient(to bottom, rgba(37,37,31,.97) 74%, transparent); }
body.dark .icon-button, body.dark .close-button,
body.dark .secondary-button, body.dark label.file-label { background: rgba(52,52,44,.95); }
body.dark .hero-card {
  background-color: var(--surface);
  background-image:
    linear-gradient(90deg, transparent 0 25px, var(--paper-margin) 25px 26px, transparent 26px),
    repeating-linear-gradient(to bottom, transparent 0 31px, var(--paper-line) 31px 32px),
    linear-gradient(135deg, #37372f, #303129);
}
body.dark .gentle-card,
body.dark .notes-welcome-card { background: var(--sticky); }
body.dark .gentle-card p,
body.dark .notes-welcome-copy p:last-child { color: #d8cfaa; }
body.dark .quick-card,
body.dark .note-session-row,
body.dark .checklist-item,
body.dark .program-preview-row { background-color: rgba(52,52,44,.94); }
body.dark .bottom-nav { background: rgba(43,42,35,.96); border-top-color: #555044; }
body.dark .nav-item:nth-child(1) { --tab-bg: #3d4939; }
body.dark .nav-item:nth-child(2) { --tab-bg: #4b4731; }
body.dark .nav-item:nth-child(3) { --tab-bg: #4d4037; }
body.dark .nav-item:nth-child(4) { --tab-bg: #39454a; }
body.dark .nav-item:nth-child(5) { --tab-bg: #493f4d; }
body.dark .day-tab { background: #2c2c26; }
body.dark .day-tab.active { border-bottom-color: var(--surface); background: var(--surface); }
body.dark input, body.dark textarea, body.dark select { background-color: rgba(52,52,44,.92); }
body.dark .focus-dialog {
  background:
    linear-gradient(90deg, transparent 0 38px, var(--paper-margin) 38px 39px, transparent 39px),
    repeating-linear-gradient(to bottom, transparent 0 32px, var(--paper-line) 32px 33px),
    #2e2e27;
}
body.dark .focus-note-switcher, body.dark .ink-section { background: #282821; }
body.dark .ink-section.ink-expanded { background: #24241f; }
body.dark .storage-status, body.dark .encryption-note,
body.dark .mini-gem, body.dark .application-check,
body.dark .pdf-import-progress, body.dark .program-preview-day-heading { background: #414037; }
body.dark .home-lunch-card,
body.dark .today-status-card.lunch-active,
body.dark .lunch-hero { background: linear-gradient(135deg, #554f31, #39372d); border-color: #706744; }
body.dark .primary-button { color: #22271f; background: linear-gradient(180deg, #b0c0a3, #98ab8f); }

@media (min-width: 800px) {
  .app-shell { padding-inline: 34px; }
  .app-shell::before {
    content: "";
    position: fixed;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: max(calc(50% - 590px), 10px);
    width: 1px;
    background: rgba(187, 117, 108, .17);
    box-shadow: 5px 0 0 rgba(255,255,255,.22);
    pointer-events: none;
  }
  .notes-session-panel, .saved-notes-panel { padding-left: 34px; }
}

@media (max-width: 520px) {
  .hero-card { padding-left: 34px; }
  .hero-card::after { right: 14px; width: 58px; }
  .notes-welcome-card::before { left: 66%; }
  .bottom-nav { gap: 2px; }
  .nav-item { border-radius: 8px 8px 4px 4px; }
}

@media (prefers-reduced-motion: reduce) {
  .quick-card:hover, .nav-item.active, .gentle-card { transform: none; }
}

/* V7.5 dark contrast polish */
body.dark .empty-state {
  color: var(--muted);
  background: rgba(47, 47, 40, .72);
  border-color: #595548;
}
body.dark .empty-state strong { color: var(--text); }
body.dark .note-status-line span { background: #444239; }
body.dark .notes-now-card,
body.dark .notes-session-panel,
body.dark .saved-notes-panel {
  background-color: var(--surface);
}


/* V7.6 People Journal */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.people-page-heading { align-items: flex-end; }
.people-welcome-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 17px;
  margin: 6px 0 16px;
  padding: 22px 24px 21px;
  border: 1px solid var(--sticky-border);
  border-radius: 10px 16px 13px 11px;
  background: var(--sticky);
  box-shadow: 0 12px 28px rgba(73,63,47,.09);
  transform: rotate(-.25deg);
}
.people-welcome-card::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 64%;
  width: 68px;
  height: 17px;
  border-radius: 2px;
  background: var(--tape);
  opacity: .66;
  transform: rotate(2deg);
}
.people-welcome-icon { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(75,94,73,.14); border-radius: 50%; background: rgba(255,253,246,.68); font-size: 1.45rem; }
.people-welcome-card h3 { margin-bottom: 7px; font-family: Georgia, "Times New Roman", serif; font-size: 1.22rem; }
.people-welcome-card p:not(.eyebrow) { margin: 0 0 8px; color: var(--muted); line-height: 1.55; }
.people-welcome-card small { color: var(--muted); }
.people-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 18px; }
.people-stat-card { position: relative; display: grid; gap: 3px; min-height: 112px; padding: 16px; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }
.people-stat-card::after { content: ""; position: absolute; right: -16px; bottom: -20px; width: 65px; height: 65px; border-radius: 50%; background: var(--accent-soft); opacity: .62; }
.people-stat-card > span { font-size: 1.08rem; }
.people-stat-card strong { margin-top: 5px; font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; line-height: 1; }
.people-stat-card small { position: relative; z-index: 1; color: var(--muted); font-weight: 750; }
.people-browser-panel { position: relative; margin: 18px 0; padding: 22px 22px 24px 34px; border: 1px solid var(--border); border-radius: 14px; background-color: var(--surface); background-image: linear-gradient(90deg,transparent 0 20px,var(--paper-margin) 20px 21px,transparent 21px), repeating-linear-gradient(to bottom,transparent 0 31px,var(--paper-line) 31px 32px); box-shadow: var(--shadow); }
.people-browser-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.people-browser-heading h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; }
.people-search-label { width: min(300px,45%); }
.people-search-label input { height: 42px; background: rgba(255,253,246,.9); }
.people-filter-row { display: flex; gap: 8px; margin-bottom: 16px; overflow-x: auto; scrollbar-width: none; }
.people-filter-row::-webkit-scrollbar { display: none; }
.people-filter { flex: 0 0 auto; min-height: 36px; padding: 0 13px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: var(--surface); cursor: pointer; font-weight: 800; }
.people-filter.active { color: #fff; border-color: var(--primary); background: var(--primary); }
.people-journal-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.person-journal-card { position: relative; display: grid; align-content: start; min-width: 0; padding: 17px; border: 1px solid var(--border); border-radius: 12px 15px 11px 14px; background: rgba(255,253,246,.94); box-shadow: 0 8px 20px rgba(73,63,47,.07); }
.person-journal-card:nth-child(4n+2) { transform: rotate(.18deg); }
.person-journal-card:nth-child(4n+3) { transform: rotate(-.16deg); }
.person-journal-card.needs-follow-up { border-top: 4px solid #b1a45f; padding-top: 14px; }
.person-card-top { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 11px; align-items: center; }
.person-avatar { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(83,103,82,.18); border-radius: 50%; color: var(--primary-dark); background: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 800; }
.person-identity { min-width: 0; }
.person-identity h3 { overflow: hidden; margin-bottom: 3px; font-family: Georgia, "Times New Roman", serif; font-size: 1.18rem; text-overflow: ellipsis; white-space: nowrap; }
.person-identity p { overflow: hidden; margin: 0; color: var(--muted); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.person-card-menu { display: flex; gap: 4px; }
.person-memory-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.person-memory-chips span { padding: 5px 8px; border-radius: 999px; color: var(--primary-dark); background: var(--accent-soft); font-size: .68rem; font-weight: 800; }
.person-memory-note { position: relative; margin: 15px 0 3px; padding: 12px 13px 12px 24px; border-left: 2px solid var(--paper-margin); color: var(--text); background: rgba(245,241,224,.48); font-family: Georgia, "Times New Roman", serif; font-size: .94rem; line-height: 1.55; white-space: pre-wrap; }
.person-memory-note > span { position: absolute; top: 1px; left: 6px; color: var(--primary); font-size: 1.6rem; }
.person-follow-up { display: grid; gap: 11px; margin-top: 14px; padding: 12px; border: 1px solid #ded29a; border-radius: 11px; background: linear-gradient(135deg,#faf1c4,#fff9e9); }
.person-follow-up > div { display: flex; gap: 9px; align-items: flex-start; }
.person-follow-up p { display: grid; gap: 3px; margin: 0; line-height: 1.4; }
.person-follow-up small { color: #7d7244; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.person-follow-up strong { font-size: .84rem; }
.person-follow-up.done { border-color: var(--border); background: var(--accent-soft); opacity: .76; }
.person-follow-up.done strong { text-decoration: line-through; }
.person-card-footer { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 14px; padding-top: 10px; border-top: 1px dashed var(--border); color: var(--muted); font-size: .7rem; font-weight: 700; }
.people-empty-state { display: grid; justify-items: center; gap: 8px; padding: 34px 20px; border: 1px dashed var(--border); border-radius: 14px; text-align: center; background: rgba(255,253,246,.7); }
.people-empty-state > span { font-size: 2rem; }
.people-empty-state strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; }
.people-empty-state p { max-width: 400px; margin: 0 0 6px; color: var(--muted); }
.person-dialog { width: min(94vw,760px); max-height: min(92vh,940px); }
.person-dialog form { gap: 15px; }
.person-form-intro { margin: -5px 0 1px; color: var(--muted); line-height: 1.5; }
.person-form-section { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); }
.person-form-section-heading { display: flex; align-items: center; gap: 8px; padding-bottom: 10px; border-bottom: 1px dashed var(--border); color: var(--text); }
.person-memory-section { background-image: repeating-linear-gradient(to bottom,transparent 0 31px,var(--paper-line) 31px 32px); }
.person-save-button { width: 100%; }

body.dark .people-welcome-icon { background: rgba(52,52,44,.72); }
body.dark .people-browser-panel { background-color: var(--surface); }
body.dark .people-search-label input,
body.dark .person-journal-card,
body.dark .people-empty-state { background-color: rgba(52,52,44,.94); }
body.dark .person-memory-note { background: rgba(42,42,35,.54); }
body.dark .person-follow-up { border-color: #716844; background: linear-gradient(135deg,#574f31,#3c392d); }
body.dark .person-follow-up small { color: #d8cf9c; }
body.dark .person-follow-up.done { background: #414037; }
body.dark .people-filter { background: #2c2c26; }
body.dark .people-filter.active { color: #22271f; background: var(--primary); }

@media (min-width: 980px) {
  .people-journal-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .people-page-heading { align-items: flex-start; }
  .people-page-heading .primary-button { max-width: 150px; min-height: 42px; }
  .people-welcome-card { grid-template-columns: 1fr; padding: 22px 20px; }
  .people-welcome-icon { width: 44px; height: 44px; }
  .people-stats { gap: 7px; }
  .people-stat-card { min-height: 98px; padding: 13px 11px; }
  .people-stat-card strong { font-size: 1.55rem; }
  .people-stat-card small { font-size: .67rem; }
  .people-browser-panel { padding: 20px 14px 22px 25px; }
  .people-browser-heading { display: grid; }
  .people-search-label { width: 100%; }
  .people-journal-list { grid-template-columns: 1fr; }
  .person-form-two-column { grid-template-columns: 1fr; }
}

.person-edit-button { min-height: 34px; padding: 0 10px; border: 0; border-radius: 10px; color: var(--primary-dark); background: var(--surface-2); cursor: pointer; font-size: .72rem; font-weight: 850; }
body.dark .person-edit-button { background: #444239; }


/* Gathered V7.8 — Guided Start */
.help-button { font-weight: 900; font-size: 1rem; }
.home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin: 18px 2px 10px; }
.home-section-heading h3 { margin: .1rem 0 0; font-family: var(--heading-font); font-size: 1.2rem; }
.quick-note-help { display:block; margin-top:-4px; color:var(--muted); font-size:.78rem; }

.getting-started-card { position:relative; display:grid; gap:15px; margin: 0 0 18px; padding: 20px; border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border)); border-radius:24px; background:linear-gradient(145deg,#fffdf4,var(--surface)); box-shadow:var(--shadow); overflow:hidden; }
.getting-started-card[hidden] { display:none; }
.getting-started-card::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.36; background:repeating-linear-gradient(to bottom, transparent 0 31px, color-mix(in srgb,var(--accent) 15%,transparent) 31px 32px); }
.setup-card-heading,.setup-steps,.setup-continue-button { position:relative; z-index:1; }
.setup-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.setup-card-heading h3 { margin:.1rem 0 .35rem; font-family:var(--heading-font); font-size:clamp(1.35rem,3vw,1.8rem); }
.setup-card-heading p:last-child { margin:0; color:var(--muted); max-width:620px; }
.setup-progress-pill { flex:0 0 auto; padding:.45rem .7rem; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:.78rem; font-weight:900; }
.setup-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.setup-step { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; min-height:118px; padding:14px; text-align:left; color:var(--text); border:1px solid var(--border); border-radius:18px; background:rgba(255,255,255,.68); cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.setup-step:hover,.setup-step:focus-visible { transform:translateY(-2px); border-color:var(--accent); box-shadow:0 10px 28px rgba(63,78,64,.12); outline:none; }
.setup-step.is-complete { background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface)); }
.setup-step-number { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--accent); color:white; font-weight:900; }
.setup-step.is-complete .setup-step-number { background:var(--accent-soft); color:var(--accent); }
.setup-step-copy { display:grid; gap:5px; }
.setup-step-copy strong { line-height:1.2; }
.setup-step-copy small { color:var(--muted); line-height:1.35; }
.setup-step-state { grid-column:2; justify-self:start; padding:.24rem .5rem; border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.setup-step.is-complete .setup-step-state { background:var(--accent-soft); color:var(--accent); }
.setup-continue-button { justify-self:start; min-width:210px; }

.welcome-dialog { width:min(680px,calc(100vw - 24px)); max-width:680px; }
.language-choice-dialog { width:min(560px,calc(100vw - 24px)); max-width:560px; padding:0; border:0; border-radius:28px; color:var(--text); background:var(--surface); box-shadow:0 28px 90px rgba(38,48,40,.28); }
.language-choice-dialog::backdrop { background:rgba(35,43,37,.48); backdrop-filter:blur(8px); }
.language-choice-shell { display:grid; gap:24px; padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); text-align:center; }
.language-choice-shell>img { width:128px; max-width:44%; height:auto; justify-self:center; }
.language-choice-heading { display:grid; gap:5px; }
.language-choice-heading p { margin:0; font-family:var(--heading-font,Georgia,"Times New Roman",serif); font-size:clamp(1.35rem,5vw,1.85rem); font-weight:800; line-height:1.15; }
.language-choice-heading p+ p { color:var(--primary-dark); }
.language-choice-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.language-choice-actions button { min-width:0; min-height:64px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border)); border-radius:17px; color:var(--text); background:var(--surface-2); font-size:1rem; font-weight:850; cursor:pointer; }
.language-choice-actions button:hover,.language-choice-actions button:focus-visible { border-color:var(--primary); background:var(--accent-soft); }
html[data-noted-language-choice="pending"] .app-shell { display:none; }
.first-run-legal-links,.welcome-legal-links{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.first-run-legal-links{margin-top:1rem}.first-run-legal-links a,.welcome-legal-links a,.inline-legal-link a{color:var(--primary-dark);font-weight:800;text-underline-offset:.18em}.welcome-legal-links{margin-top:.85rem}.inline-legal-link{margin:.35rem 0 0;font-size:.88rem}.settings-help-card[href]{text-decoration:none;color:inherit}
body.dark .first-run-legal-links a,body.dark .welcome-legal-links a,body.dark .inline-legal-link a{color:var(--accent)}
body.language-choice-active { min-height:100dvh; padding:0; overflow:hidden; }
body.dark .language-choice-dialog { color:#f1eee4; background:#2a2b24; }
body.dark .language-choice-dialog::backdrop { background:rgba(15,17,15,.72); }
body.dark .language-choice-heading p+ p { color:#bfd3c3; }
body.dark .language-choice-actions button { color:#f1eee4; border-color:#5a594e; background:#36372f; }
body.dark .language-choice-actions button:hover,body.dark .language-choice-actions button:focus-visible { border-color:#819b85; background:#405044; }
.welcome-shell { display:grid; gap:14px; padding:clamp(22px,4vw,38px); max-height:90vh; overflow-y:auto; text-align:center; }
.welcome-brand-mark { width:58px; height:64px; display:grid; place-items:center; justify-self:center; border-radius:8px 8px 11px 11px; background:var(--accent); color:#fffdf7; font-family:var(--heading-font); font-size:2rem; font-weight:900; box-shadow:inset 8px 0 0 rgba(255,255,255,.14),0 14px 30px rgba(52,70,54,.18); }
.welcome-shell .eyebrow { margin:0; }
.welcome-shell h2 { margin:-3px 0 0; font-family:var(--heading-font); font-size:clamp(2rem,6vw,3rem); }
.welcome-lead { max-width:560px; margin:0 auto; color:var(--muted); line-height:1.55; }
.welcome-steps { display:grid; gap:9px; margin-top:5px; text-align:left; }
.welcome-step { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; padding:13px 15px; border:1px solid var(--border); border-radius:17px; background:var(--surface-2); }
.welcome-step>span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--accent); color:white; font-weight:900; }
.welcome-step div { display:grid; gap:3px; }
.welcome-step small { color:var(--muted); line-height:1.35; }
.welcome-optional-note { margin:0; padding:11px 14px; border-radius:15px; background:#fbefb8; color:#675b2b; font-size:.86rem; line-height:1.45; transform:rotate(-.35deg); }
.welcome-actions { display:grid; grid-template-columns:1.2fr .8fr; gap:10px; }

@media (max-width:420px) {
  .language-choice-dialog { width:calc(100vw - 18px); border-radius:24px; }
  .language-choice-shell { gap:20px; padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }
  .language-choice-shell>img { width:108px; }
  .language-choice-actions { gap:9px; }
  .language-choice-actions button { min-height:60px; padding-inline:8px; }
}

.guide-dialog { width:min(850px,calc(100vw - 24px)); max-width:850px; }
.guide-shell { display:grid; gap:16px; padding:22px; max-height:90vh; overflow-y:auto; }
.guide-shell>.modal-heading { margin:0; }
.guide-lead { margin:0; color:var(--muted); max-width:680px; line-height:1.5; }
.guide-core-path { display:grid; gap:8px; }
.guide-core-step { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; padding:13px 15px; color:var(--text); text-align:left; border:1px solid var(--border); border-radius:17px; background:var(--surface); cursor:pointer; }
.guide-core-step:hover,.guide-core-step:focus-visible { border-color:var(--accent); background:var(--accent-soft); outline:none; }
.guide-core-step>span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--accent); color:white; font-weight:900; }
.guide-core-step div { display:grid; gap:3px; }
.guide-core-step small { color:var(--muted); line-height:1.35; }
.guide-core-step>b { color:var(--accent); font-size:1.4rem; }
.guide-optional-heading h3 { margin:.1rem 0 0; font-family:var(--heading-font); }
.guide-tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.guide-tool-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 10px; align-items:start; padding:14px; text-align:left; color:var(--text); border:1px solid var(--border); border-radius:17px; background:var(--surface-2); cursor:pointer; }
.guide-tool-card:hover,.guide-tool-card:focus-visible { border-color:var(--accent); outline:none; }
.guide-tool-card>span { grid-row:1/3; font-size:1.3rem; }
.guide-tool-card small { color:var(--muted); line-height:1.35; }
.guide-done-button { justify-self:end; min-width:130px; }
.help-settings-group .secondary-button { align-self:flex-start; }

.guided-empty-state { display:grid; justify-items:center; gap:9px; padding:28px 20px; text-align:center; }
.empty-state-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--accent); color:white; font-weight:900; font-size:1.05rem; }
.empty-state-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }

body.dark .getting-started-card { background:linear-gradient(145deg,#343329,var(--surface)); }
body.dark .setup-step { background:rgba(47,47,39,.78); }
body.dark .welcome-optional-note { background:#5c522e; color:#f5e8ad; }

@media (max-width:760px) {
  .home-section-heading { align-items:flex-start; }
  .home-section-heading .text-button { max-width:120px; line-height:1.25; text-align:right; }
  .getting-started-card { padding:16px; }
  .setup-card-heading { align-items:flex-start; }
  .setup-steps { grid-template-columns:1fr; }
  .setup-step { min-height:0; }
  .setup-continue-button { width:100%; min-width:0; }
  .welcome-actions { grid-template-columns:1fr; }
  .guide-tool-grid { grid-template-columns:1fr; }
  .guide-shell { padding:17px; }
  .guide-done-button { width:100%; }
}


/* V7.9 Sticky-note Packing Board */
.checklist-page-heading { align-items:flex-end; }
.checklist-heading-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.checklist-welcome-note {
  position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px; align-items:start;
  margin:5px 0 17px; padding:21px 24px; border:1px solid #e4d38b; border-radius:9px 15px 11px 13px;
  background:linear-gradient(145deg,#fff4b9,#fff9dc); box-shadow:0 13px 28px rgba(75,64,38,.09); transform:rotate(-.18deg);
}
.checklist-welcome-note::before { content:""; position:absolute; top:-8px; left:61%; width:72px; height:17px; border-radius:2px; background:var(--tape); opacity:.72; transform:rotate(1.5deg); }
.checklist-welcome-icon { display:grid; place-items:center; width:52px; height:52px; border:1px solid rgba(105,88,35,.12); border-radius:13px; background:rgba(255,253,242,.62); font-size:1.55rem; }
.checklist-welcome-note h3 { margin-bottom:5px; font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; }
.checklist-welcome-note p:not(.eyebrow) { margin:0; color:#6e6748; line-height:1.5; }

.checklist-progress-card { position:relative; overflow:visible; margin-bottom:20px; padding:18px 20px 17px; border-radius:11px 15px 12px 14px; background:rgba(255,253,246,.94); transform:rotate(.1deg); }
.checklist-progress-card::after { content:""; position:absolute; right:20px; bottom:-7px; width:55px; height:13px; background:var(--tape); opacity:.54; transform:rotate(-2deg); }
.checklist-progress-pin { position:absolute; top:-6px; left:28px; width:12px; height:12px; border-radius:50%; background:#9e6557; box-shadow:0 3px 6px rgba(67,42,36,.25); }
.checklist-progress-card .progress-copy { align-items:center; margin-bottom:12px; }
.checklist-progress-card .progress-copy>div { display:grid; gap:3px; }
.checklist-progress-card .progress-copy strong { font-family:Georgia,"Times New Roman",serif; font-size:1.12rem; }
.checklist-progress-card .progress-copy span:not(.checklist-progress-mark) { color:var(--muted); font-size:.8rem; }
.checklist-progress-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:var(--primary-dark); background:var(--accent-soft); font-size:1.05rem; font-weight:900; }
.checklist-progress-card .progress-track { height:8px; background:#e9e4d8; }

.sticky-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; align-items:start; }
.sticky-lane { min-width:0; padding:15px; border:1px solid var(--border); border-radius:16px; background:rgba(255,253,246,.62); box-shadow:0 8px 20px rgba(73,63,47,.045); }
.sticky-lane-heading { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:9px; align-items:center; margin-bottom:13px; padding-bottom:11px; border-bottom:1px dashed rgba(93,99,82,.22); }
.sticky-lane-heading>div { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; align-items:center; min-width:0; }
.sticky-lane-heading>div>span:last-child { display:grid; gap:2px; min-width:0; }
.sticky-lane-heading strong { font-family:Georgia,"Times New Roman",serif; font-size:1rem; }
.sticky-lane-heading small { color:var(--muted); font-size:.68rem; line-height:1.3; }
.sticky-lane-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--surface); font-size:1.05rem; }
.sticky-lane-count { min-width:34px; padding:5px 7px; border-radius:999px; color:var(--muted); background:var(--surface-2); text-align:center; font-size:.67rem; font-weight:850; }
.sticky-add-button { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--border); border-radius:10px; color:var(--primary); background:var(--surface); cursor:pointer; font-size:1.15rem; font-weight:900; }
.sticky-add-button:hover,.sticky-add-button:focus-visible { border-color:var(--accent); background:var(--accent-soft); outline:none; }
.sticky-notes-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }

.checklist-sticky { --sticky-bg:#fff1a8; --sticky-edge:#e1cc70; position:relative; display:grid; align-content:space-between; min-width:0; min-height:138px; padding:15px 14px 10px; overflow:hidden; border:1px solid var(--sticky-edge); border-radius:4px 7px 6px 5px; background:var(--sticky-bg); box-shadow:0 9px 17px rgba(73,63,47,.1); transform:rotate(-.22deg); transition:transform .16s ease,opacity .16s ease,box-shadow .16s ease; }
.checklist-sticky:nth-child(3n+2) { transform:rotate(.55deg); }
.checklist-sticky:nth-child(3n+3) { transform:rotate(-.48deg); }
.checklist-sticky::before { content:""; position:absolute; inset:auto -18px -22px auto; width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.17); }
.checklist-sticky:hover { transform:translateY(-2px) rotate(0); box-shadow:0 13px 23px rgba(73,63,47,.13); }
.sticky-bring { --sticky-bg:#fff0a8; --sticky-edge:#dfcb72; }
.sticky-before { --sticky-bg:#f7cfb1; --sticky-edge:#ddb394; }
.sticky-during { --sticky-bg:#d8e7c9; --sticky-edge:#b9cda7; }
.sticky-personal { --sticky-bg:#ded5ea; --sticky-edge:#c3b7d5; }
.sticky-note-main { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; align-items:start; min-height:83px; color:#383a2f; cursor:pointer; font-family:Georgia,"Times New Roman",serif; font-size:.94rem; font-weight:700; line-height:1.38; }
.sticky-checkbox { position:absolute; width:1px!important; height:1px!important; opacity:0; pointer-events:none; }
.sticky-check { display:grid; place-items:center; width:23px; height:23px; margin-top:-1px; border:2px solid rgba(68,75,60,.35); border-radius:7px; color:transparent; background:rgba(255,255,255,.26); font-family:Inter,system-ui,sans-serif; font-size:.77rem; transition:.14s ease; }
.sticky-checkbox:focus-visible+.sticky-check { outline:3px solid rgba(69,104,88,.25); outline-offset:2px; }
.sticky-checkbox:checked+.sticky-check { color:white; border-color:var(--primary); background:var(--primary); }
.checklist-sticky.done { opacity:.68; box-shadow:0 5px 12px rgba(73,63,47,.06); }
.checklist-sticky.done .item-text { text-decoration:line-through; text-decoration-thickness:1.5px; color:#6f705f; }
.sticky-note-actions { display:flex; justify-content:flex-end; gap:4px; margin-top:6px; }
.sticky-action { display:grid; place-items:center; width:29px; height:29px; padding:0; border:0; border-radius:8px; color:rgba(55,60,49,.62); background:rgba(255,255,255,.26); cursor:pointer; font-weight:850; }
.sticky-action:hover,.sticky-action:focus-visible { color:var(--primary-dark); background:rgba(255,255,255,.55); outline:none; }
.sticky-action.danger:hover,.sticky-action.danger:focus-visible { color:var(--danger); }
.sticky-empty { display:grid; justify-items:center; gap:5px; min-height:138px; padding:19px 14px; border:1px dashed var(--border); border-radius:10px; color:var(--muted); text-align:center; background:rgba(255,253,246,.46); }
.sticky-empty>span { font-size:1.35rem; }
.sticky-empty strong { color:var(--text); font-family:Georgia,"Times New Roman",serif; font-size:.9rem; }
.sticky-empty small { max-width:170px; font-size:.7rem; line-height:1.4; }
.sticky-form-help { margin:-4px 0 1px; color:var(--muted); line-height:1.5; }
.sticky-note-dialog form { gap:14px; }

body.dark .checklist-welcome-note { border-color:#6d623d; background:linear-gradient(145deg,#5b512e,#403b2c); }
body.dark .checklist-welcome-note p:not(.eyebrow) { color:#ded4a9; }
body.dark .checklist-welcome-icon { background:rgba(44,43,34,.55); }
body.dark .checklist-progress-card,.dark .sticky-lane { background:rgba(47,47,39,.88); }
body.dark .checklist-progress-card .progress-track { background:#48463d; }
body.dark .sticky-lane-icon,body.dark .sticky-add-button { background:#35352d; }
body.dark .checklist-sticky { filter:saturate(.72) brightness(.78); }
body.dark .sticky-note-main { color:#292d25; }
body.dark .sticky-empty { background:rgba(47,47,39,.5); }
body.dark .sticky-action { color:rgba(43,47,39,.68); }

@media (max-width:760px) {
  .checklist-page-heading { align-items:flex-start; }
  .checklist-heading-actions { width:100%; justify-content:stretch; }
  .checklist-heading-actions .primary-button,.checklist-heading-actions .secondary-button { flex:1; }
  .checklist-welcome-note { grid-template-columns:1fr; padding:19px; }
  .checklist-welcome-icon { width:45px; height:45px; }
  .sticky-board { grid-template-columns:1fr; }
  .sticky-lane { padding:13px; }
  .sticky-notes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:430px) {
  .sticky-notes-grid { grid-template-columns:1fr; }
  .checklist-sticky { min-height:116px; }
  .sticky-note-main { min-height:66px; }
  .checklist-heading-actions { display:grid; grid-template-columns:1fr; }
}


/* V8.0 — Convention & Assembly Notebook Library */
.notes-notebook-shelf { display:grid; gap:18px; }
.notebook-library-intro { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:17px; align-items:center; padding:22px; overflow:hidden; border:1px solid var(--sticky-border); border-radius:10px 15px 11px 13px; background:var(--sticky); box-shadow:0 10px 24px rgba(92,78,46,.09); transform:rotate(-.12deg); }
.notebook-library-intro::before { content:""; position:absolute; top:-8px; left:64%; width:82px; height:18px; border-radius:2px; background:var(--tape); transform:rotate(1.3deg); }
.notebook-library-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:12px; background:rgba(255,253,238,.72); font-size:1.7rem; }
.notebook-library-intro h3 { margin:2px 0 6px; font-family:Georgia,"Times New Roman",serif; }
.notebook-library-intro p:last-child { margin:0; color:#71694f; line-height:1.55; }
.notes-notebook-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.notes-notebook-card { --notebook-cover:#dfe8d7; position:relative; display:grid; gap:8px; min-height:235px; padding:24px 22px 20px 48px; overflow:hidden; text-align:left; color:var(--text); border:1px solid rgba(88,84,67,.2); border-radius:9px 16px 14px 8px; background:linear-gradient(115deg,rgba(255,255,255,.28),transparent 32%),var(--notebook-cover); box-shadow:0 13px 28px rgba(73,63,47,.11); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.notes-notebook-card::after { content:""; position:absolute; inset:10px 10px 10px 34px; border:1px solid rgba(79,82,65,.12); border-radius:5px 10px 9px 5px; pointer-events:none; }
.notes-notebook-card:hover,.notes-notebook-card:focus-visible { transform:translateY(-3px) rotate(-.18deg); border-color:rgba(83,103,81,.45); box-shadow:0 18px 34px rgba(73,63,47,.14); outline:none; }
.notebook-sage { --notebook-cover:#dbe5d5; }.notebook-sand { --notebook-cover:#e8dfc5; }.notebook-blue { --notebook-cover:#dce6e9; }.notebook-rose { --notebook-cover:#eadbd7; }.notebook-loose { --notebook-cover:#e8e0ec; }
.notebook-card-binding,.notebook-cover-binding { position:absolute; left:14px; top:12px; bottom:12px; width:12px; border-left:3px double rgba(67,73,57,.28); border-right:1px solid rgba(67,73,57,.16); }
.notebook-card-binding::after,.notebook-cover-binding::after { content:""; position:absolute; inset:4px 1px; background:repeating-linear-gradient(to bottom,rgba(65,70,57,.42) 0 4px,transparent 4px 21px); opacity:.55; }
.notebook-card-type { position:relative; z-index:1; width:max-content; max-width:100%; padding:5px 8px; border-radius:6px; background:rgba(255,253,246,.56); color:var(--primary-dark); font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.notes-notebook-card>strong { position:relative; z-index:1; align-self:end; margin-top:18px; font:700 clamp(1.25rem,2vw,1.65rem)/1.2 Georgia,"Times New Roman",serif; }
.notebook-card-date { position:relative; z-index:1; color:rgba(49,54,45,.7); line-height:1.45; }
.notebook-card-stats { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:5px 7px; align-items:center; color:rgba(49,54,45,.72); font-size:.76rem; }
.notebook-card-stats b { color:var(--text); font-size:.9rem; }.notebook-card-stats i { font-style:normal; opacity:.5; }
.notebook-card-open { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:10px; border-top:1px dashed rgba(68,74,60,.22); color:var(--primary-dark); font-weight:800; }.notebook-card-open b { font-size:1.25rem; }
.notebook-empty-state { grid-column:1/-1; min-height:250px; display:grid; place-items:center; align-content:center; }
.notes-notebook-detail { display:grid; gap:16px; }.notebook-detail-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }.notebook-back-button { min-height:40px; }
.notebook-detail-cover { position:relative; min-height:185px; padding:27px 26px 24px 58px; overflow:hidden; border:1px solid rgba(82,91,72,.22); border-radius:9px 18px 15px 8px; background:linear-gradient(115deg,rgba(255,255,255,.33),transparent 35%),#dce6d7; box-shadow:0 15px 32px rgba(73,63,47,.12); }
.notebook-detail-cover::after { content:""; position:absolute; inset:13px 13px 13px 39px; border:1px solid rgba(79,82,65,.13); border-radius:5px 11px 9px 5px; }.notebook-detail-copy { position:relative; z-index:1; display:grid; gap:6px; }
.notebook-detail-copy h3 { margin:0; font:700 clamp(1.6rem,3vw,2.25rem)/1.15 Georgia,"Times New Roman",serif; }.notebook-detail-copy>p:not(.eyebrow) { margin:0; color:rgba(49,54,45,.72); }
.notebook-detail-stats { display:flex; flex-wrap:wrap; gap:10px; margin-top:13px; }.notebook-detail-stats span { display:grid; min-width:88px; padding:9px 12px; border:1px solid rgba(80,88,70,.14); border-radius:8px; background:rgba(255,253,246,.5); color:rgba(49,54,45,.72); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; }.notebook-detail-stats strong { color:var(--text); font-size:1.12rem; letter-spacing:0; }
.note-day-heading>div { display:flex; align-items:center; gap:9px; }.note-day-number { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--accent-soft); color:var(--primary-dark); font-size:.75rem; font-weight:900; }
body.dark .notebook-library-intro { background:var(--sticky); border-color:#6d623d; }body.dark .notebook-library-intro p:last-child { color:#d8cfaa; }body.dark .notebook-library-icon { background:rgba(44,43,34,.55); }
body.dark .notes-notebook-card { filter:saturate(.72) brightness(.78); color:#292d25; }body.dark .notebook-card-type,body.dark .notebook-card-open,body.dark .notes-notebook-card>strong,body.dark .notebook-card-stats b { color:#292d25; }body.dark .notebook-card-date,body.dark .notebook-card-stats { color:rgba(41,45,37,.72); }
body.dark .notebook-detail-cover { background:linear-gradient(115deg,rgba(255,255,255,.06),transparent 35%),#3e493b; border-color:#596454; }body.dark .notebook-detail-copy>p:not(.eyebrow) { color:#c8c5b8; }body.dark .notebook-detail-stats span { background:rgba(34,38,32,.45); color:#b9b8ad; border-color:#596454; }body.dark .notebook-detail-stats strong { color:var(--text); }
.notes-notebook-shelf[hidden],.notes-notebook-detail[hidden],.notes-notebook-detail [hidden] { display:none !important; }
@media (max-width:760px){.notes-notebook-list{grid-template-columns:1fr}.notebook-library-intro{grid-template-columns:1fr;padding:20px}.notebook-library-icon{width:48px;height:48px}.notes-notebook-card{min-height:205px;padding:21px 19px 18px 44px}.notebook-detail-toolbar{align-items:flex-start;flex-direction:column}.notebook-detail-cover{padding:24px 20px 21px 50px}}
@media (max-width:430px){.notes-page-heading{align-items:flex-start}.notes-page-heading .secondary-button{width:100%}.notebook-detail-stats{display:grid;grid-template-columns:repeat(3,1fr)}.notebook-detail-stats span{min-width:0;padding:8px}}


/* V8.1 Structured typed note editor */
.typed-note-editor { display: grid; gap: 12px; }
.typed-editor-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 2px 2px 0; }
.typed-editor-heading > div { display: grid; gap: 3px; }
.typed-editor-heading strong { font-family: var(--display-font, Georgia, serif); font-size: 1.02rem; }
.typed-editor-heading small { color: var(--muted); line-height: 1.4; }
.typed-save-status { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 29px; padding: 5px 9px; border: 1px solid rgba(91,117,88,.22); border-radius: 999px; color: #52664f; background: rgba(222,232,210,.7); font-size: .72rem; font-weight: 850; }
.typed-save-status::before { content: '✓'; margin-right: 5px; }
.typed-save-status.is-saving { color: var(--muted); background: var(--surface-2); }
.typed-save-status.is-saving::before { content: '…'; }
.typed-note-toolbar { display: flex; flex-wrap: wrap; gap: 7px; padding: 9px; border: 1px solid var(--border); border-radius: 16px; background: rgba(250,247,238,.68); }
.typed-tool { display: inline-flex; align-items: center; gap: 7px; min-height: 39px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: var(--surface); box-shadow: 0 3px 8px rgba(57,52,39,.04); cursor: pointer; font-size: .78rem; font-weight: 800; }
.typed-tool:hover, .typed-tool:focus-visible { border-color: var(--accent); transform: translateY(-1px); }
.typed-tool b { min-width: 18px; font-size: .95rem; text-align: center; }
.typed-tool-key { background: #fff5c9; }
.typed-tool-scripture { background: #edf4e6; }
.typed-tool-question { background: #eeeafb; }
.typed-note-actions-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.typed-starter-button { white-space: nowrap; }
.typed-editor-view-switcher { display: inline-grid; grid-template-columns: 1fr 1fr; min-width: 178px; padding: 4px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.typed-view-button { min-height: 34px; padding: 5px 12px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: .76rem; font-weight: 850; }
.typed-view-button.active { color: var(--text); background: var(--surface); box-shadow: 0 3px 9px rgba(50,55,42,.08); }
.typed-editor-layout { display: grid; gap: 12px; }
.typed-editor-main { min-width: 0; }
#focusNotes { min-height: 350px; padding: 18px 20px 18px 54px; border-radius: 10px; line-height: 1.75; background-color: #fffdf7; background-image: linear-gradient(90deg, transparent 0 35px, rgba(194,100,95,.21) 35px 36px, transparent 36px), repeating-linear-gradient(to bottom, transparent 0 31px, rgba(95,123,151,.13) 31px 32px); background-attachment: local; font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace; font-size: .94rem; tab-size: 2; }
.typed-note-preview { min-height: 350px; padding: 22px 24px; border: 1px solid var(--border); border-radius: 10px; background: #fffdf7; overflow: auto; }
.typed-note-outline { display: grid; align-content: start; gap: 10px; padding: 15px; border: 1px solid var(--border); border-radius: 15px; background: rgba(246,242,230,.86); }
.typed-outline-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 1px dashed var(--border); }
.typed-outline-heading > div { display: grid; gap: 2px; }
.typed-outline-heading small { color: var(--muted); font-size: .72rem; }
.typed-outline-list { display: grid; gap: 6px; }
.typed-outline-list > p { margin: 3px 0; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.typed-outline-list button { display: grid; grid-template-columns: 26px minmax(0,1fr); align-items: center; gap: 7px; width: 100%; padding: 7px 8px; border: 0; border-radius: 9px; color: var(--text); background: transparent; cursor: pointer; text-align: left; }
.typed-outline-list button:hover, .typed-outline-list button:focus-visible { background: var(--surface); }
.typed-outline-list button span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: var(--accent); font-size: .7rem; font-weight: 900; }
.typed-outline-list button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.typed-note-stats { display: grid; gap: 7px; padding-top: 9px; border-top: 1px dashed var(--border); }
.typed-note-stats > small { color: var(--muted); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.typed-note-stats > div { display: flex; flex-wrap: wrap; gap: 5px; }
.typed-note-stats span { padding: 5px 7px; border-radius: 8px; color: var(--muted); background: var(--surface); font-size: .66rem; }
.typed-note-stats b { color: var(--text); }
.typed-note-tip { display: flex; align-items: flex-start; gap: 7px; margin: 0 2px; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.structured-note-render { display: grid; gap: 7px; }
.structured-note-render h4 { margin: 12px 0 2px; padding-bottom: 6px; border-bottom: 1px solid rgba(94,116,87,.2); font-family: var(--display-font, Georgia, serif); font-size: 1.08rem; }
.structured-note-render h4:first-child { margin-top: 0; }
.structured-note-paragraph { margin: 0; line-height: 1.58; white-space: pre-wrap; }
.structured-note-space { height: 5px; }
.structured-note-render hr { width: 100%; margin: 9px 0; border: 0; border-top: 1px dashed var(--border); }
.structured-note-line { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 5px; margin-left: calc(var(--note-indent, 0) * 18px); line-height: 1.52; }
.structured-note-line > span { color: var(--accent); font-weight: 900; text-align: right; }
.structured-note-line p { margin: 0; }
.structured-note-callout { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px; padding: 10px 12px; border-radius: 11px; }
.structured-note-callout > span { font-size: 1rem; }
.structured-note-callout div { display: grid; gap: 2px; }
.structured-note-callout small { color: var(--muted); font-size: .66rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.structured-note-callout p { margin: 0; line-height: 1.5; }
.note-key { background: #fff5c9; }
.note-scripture { background: #edf4e6; }
.note-question { background: #eeeafb; }
.structured-note-empty { display: grid; place-items: center; min-height: 250px; padding: 28px; color: var(--muted); text-align: center; }
.structured-note-empty strong { color: var(--text); }
.note-card > .structured-note-render { margin-top: 9px; padding: 12px 14px; border: 1px solid rgba(94,116,87,.12); border-radius: 12px; background: rgba(255,253,247,.54); }
.note-card > .structured-note-render .structured-note-callout { padding: 8px 10px; }

body.dark .typed-save-status { color: #cbd9bf; border-color: rgba(165,190,151,.25); background: rgba(86,108,75,.35); }
body.dark .typed-note-toolbar, body.dark .typed-note-outline { background: rgba(39,39,31,.88); }
body.dark .typed-tool { background: #34342b; }
body.dark .typed-tool-key { background: #554c2b; }
body.dark .typed-tool-scripture { background: #314637; }
body.dark .typed-tool-question { background: #433b55; }
body.dark #focusNotes, body.dark .typed-note-preview { color: var(--text); background-color: #23231d; background-image: linear-gradient(90deg, transparent 0 35px, rgba(184,101,96,.24) 35px 36px, transparent 36px), repeating-linear-gradient(to bottom, transparent 0 31px, rgba(119,148,172,.14) 31px 32px); }
body.dark .note-key { background: #554c2b; }
body.dark .note-scripture { background: #314637; }
body.dark .note-question { background: #433b55; }
body.dark .note-card > .structured-note-render { background: rgba(32,32,27,.5); }

@media (min-width: 800px) {
  .focus-dialog:not(.writing-mode) { width: min(calc(100% - 28px), 1120px); }
  .typed-editor-layout { grid-template-columns: minmax(0,1fr) 230px; align-items: stretch; }
  .typed-note-outline { min-height: 350px; }
}
@media (min-width: 1100px) {
  #focusNotes, .typed-note-preview { min-height: 49vh; }
  .typed-editor-layout { grid-template-columns: minmax(0,1fr) 260px; }
}
@media (max-width: 620px) {
  .typed-editor-heading { align-items: stretch; }
  .typed-save-status { align-self: flex-start; }
  .typed-note-toolbar { gap: 5px; padding: 7px; }
  .typed-tool { flex: 1 1 calc(33.333% - 5px); justify-content: center; min-width: 88px; padding-inline: 7px; }
  .typed-note-actions-row { align-items: stretch; flex-direction: column; }
  .typed-editor-view-switcher { width: 100%; }
  #focusNotes { min-height: 42vh; padding-left: 42px; background-image: linear-gradient(90deg, transparent 0 27px, rgba(194,100,95,.21) 27px 28px, transparent 28px), repeating-linear-gradient(to bottom, transparent 0 31px, rgba(95,123,151,.13) 31px 32px); }
  .typed-note-outline { padding: 12px; }
}

/* ================================================================
   Gathered V9.0 — Connected Experience
   ================================================================ */

.global-search-button { font-size: 1.05rem; }

/* Things I Kept */
.keep-quick-card .quick-icon { color: #8c712c; background: #fff2b9; }
.kept-page-heading { margin-bottom: 14px; }
.kept-intro-card {
  display: grid; grid-template-columns: auto minmax(0,1fr); gap: 16px; align-items: center;
  margin-bottom: 16px; padding: 20px 22px; border: 1px solid #e4d7a1; border-radius: 18px;
  background: linear-gradient(135deg, #fff8cf, #fffdf0); box-shadow: var(--shadow-soft);
}
.kept-intro-card h3, .kept-intro-card p { margin: 0; }
.kept-intro-card p { margin-top: 5px; color: var(--muted); line-height: 1.55; }
.kept-intro-star { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: rgba(255,255,255,.64); font-size: 1.65rem; transform: rotate(-4deg); }
.kept-filter-row, .global-search-filters { display: flex; gap: 7px; overflow-x: auto; padding: 2px 1px 10px; scrollbar-width: thin; }
.kept-filter, .global-search-filter {
  flex: 0 0 auto; min-height: 36px; padding: 7px 13px; border: 1px solid var(--border); border-radius: 999px;
  color: var(--muted); background: var(--surface); font: inherit; font-size: .76rem; font-weight: 850; cursor: pointer;
}
.kept-filter.active, .global-search-filter.active { color: #fff; border-color: var(--accent); background: var(--accent); }
.kept-list { display: grid; gap: 11px; }
.kept-card {
  display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 13px; align-items: center;
  padding: 16px 17px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); box-shadow: 0 5px 15px rgba(59,58,45,.055);
}
.kept-card-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--surface-2); font-size: 1.2rem; }
.kept-card-copy { display: grid; gap: 3px; min-width: 0; }
.kept-card-copy > strong { font-family: var(--display-font, Georgia, serif); font-size: .98rem; line-height: 1.45; }
.kept-card-copy > small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kept-card-meta { display: flex; flex-wrap: wrap; gap: 5px 9px; color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.kept-card-actions { display: flex; align-items: center; gap: 7px; }
.keep-star-button, .structured-keep-button {
  display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--border); border-radius: 12px;
  color: #9b8b62; background: var(--surface); font-size: 1.15rem; cursor: pointer; transition: transform .16s ease, background .16s ease;
}
.keep-star-button:hover, .structured-keep-button:hover { transform: translateY(-1px) rotate(-3deg); }
.keep-star-button.is-kept, .structured-keep-button.is-kept { color: #7a5e13; border-color: #e1c96f; background: #fff2b9; }
.note-card-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.note-card-title-row h3 { margin: 0; }
.note-session-keep { flex: 0 0 auto; }
.structured-note-callout { grid-template-columns: 28px minmax(0,1fr) auto; align-items: start; }
.structured-keep-button { width: 32px; height: 32px; border-radius: 9px; font-size: 1rem; }

/* Today timeline */
.today-timeline-panel { margin-top: 14px; overflow: hidden; }
.today-timeline-heading { margin-bottom: 8px; }
.today-timeline-summary { display: inline-flex; align-items: center; min-height: 28px; margin-bottom: 10px; padding: 5px 10px; border-radius: 999px; color: var(--accent-strong); background: var(--accent-soft); font-size: .73rem; font-weight: 850; }
.today-timeline-list { display: grid; position: relative; }
.today-timeline-list::before { content: ''; position: absolute; top: 16px; bottom: 16px; left: 17px; width: 1px; background: var(--border); }
.today-timeline-row { position: relative; display: grid; grid-template-columns: 35px 76px minmax(0,1fr) auto; gap: 8px; align-items: center; min-height: 56px; padding: 6px 0; }
.timeline-state-icon { z-index: 1; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); color: var(--muted); font-size: .8rem; }
.today-timeline-row time { color: var(--muted); font-size: .78rem; font-weight: 850; }
.today-timeline-row > div { display: grid; gap: 2px; min-width: 0; }
.today-timeline-row > div strong { font-size: .84rem; line-height: 1.35; }
.today-timeline-row > div small { color: var(--accent); font-size: .65rem; font-weight: 900; letter-spacing: .08em; }
.today-timeline-row.is-past { opacity: .55; }
.today-timeline-row.is-current { margin: 3px -10px; padding: 8px 10px; border-radius: 13px; background: var(--accent-soft); opacity: 1; }
.today-timeline-row.is-current .timeline-state-icon { color: #fff; border-color: var(--accent); background: var(--accent); box-shadow: 0 0 0 5px rgba(99,119,97,.12); }
.today-timeline-row.kind-lunch .timeline-state-icon { background: #fff1c7; }

/* Global Search */
.global-search-dialog { width: min(calc(100% - 24px), 760px); }
.global-search-shell { display: grid; gap: 13px; padding: 22px; }
.global-search-field { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; min-height: 50px; padding: 0 10px; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); }
.global-search-field > span { color: var(--muted); font-size: 1.2rem; text-align: center; }
.global-search-field input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: .98rem; }
.global-search-results { display: grid; gap: 7px; max-height: min(62vh, 620px); overflow-y: auto; }
.global-search-result { display: grid; grid-template-columns: 42px minmax(0,1fr) 20px; align-items: center; gap: 11px; width: 100%; padding: 12px 13px; border: 1px solid transparent; border-radius: 13px; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.global-search-result:hover, .global-search-result:focus-visible { border-color: var(--border); background: var(--surface-2); }
.search-result-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--surface-2); font-size: 1.1rem; }
.search-result-copy { display: grid; gap: 2px; min-width: 0; }
.search-result-copy small { color: var(--accent); font-size: .65rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.search-result-copy strong { font-size: .86rem; }
.search-result-copy span { color: var(--muted); font-size: .76rem; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-empty-state { display: grid; place-items: center; min-height: 250px; padding: 30px; color: var(--muted); text-align: center; }
.search-empty-state > span { margin-bottom: 9px; font-size: 2rem; }
.search-empty-state strong { color: var(--text); font-family: var(--display-font, Georgia, serif); }
.search-empty-state p { margin: 5px 0 0; }

/* Universal Quick Add */
.quick-add-fab { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 40; display: grid; place-items: center; width: 56px; height: 56px; padding: 0; border: 1px solid rgba(255,255,255,.36); border-radius: 18px; color: #fff; background: var(--accent); box-shadow: 0 15px 30px rgba(69,86,67,.3); font: 800 1.75rem/1 var(--body-font, sans-serif); cursor: pointer; transform: rotate(1.5deg); transition: transform .16s ease; }
.quick-add-fab:hover, .quick-add-fab:focus-visible { transform: translateY(-2px) rotate(-2deg); }
.quick-add-dialog { width: min(calc(100% - 24px), 650px); }
.quick-add-shell { display: grid; gap: 14px; padding: 22px; }
.quick-add-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.quick-add-grid button { display: grid; grid-template-columns: 42px minmax(0,1fr); grid-template-rows: auto auto; gap: 2px 10px; align-items: center; min-height: 78px; padding: 13px; border: 1px solid var(--border); border-radius: 15px; color: var(--text); background: var(--surface); text-align: left; cursor: pointer; }
.quick-add-grid button:hover, .quick-add-grid button:focus-visible { background: var(--surface-2); transform: translateY(-1px); }
.quick-add-grid button > span { grid-row: 1 / 3; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--surface-2); font-size: 1.15rem; }
.quick-add-grid button strong { align-self: end; font-size: .83rem; }
.quick-add-grid button small { align-self: start; color: var(--muted); font-size: .69rem; line-height: 1.3; }

/* Typed note templates */
.note-template-dialog { width: min(calc(100% - 24px), 720px); }
.note-template-shell { display: grid; gap: 13px; padding: 22px; }
.note-template-shell > p { margin: -3px 0 2px; }
.note-template-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.note-template-grid button { display: grid; grid-template-columns: 40px minmax(0,1fr); grid-template-rows: auto auto; gap: 2px 10px; align-items: center; min-height: 76px; padding: 13px; border: 1px solid var(--border); border-radius: 14px; color: var(--text); background: var(--surface); text-align: left; cursor: pointer; }
.note-template-grid button > span { grid-row: 1/3; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--surface-2); font-size: 1.08rem; }
.note-template-grid button strong { align-self: end; font-size: .82rem; }
.note-template-grid button small { align-self: start; color: var(--muted); font-size: .68rem; line-height: 1.35; }
.note-template-grid button:hover { background: var(--surface-2); }

/* Notebook personalization */
.notebook-detail-toolbar { flex-wrap: wrap; gap: 10px; }
.notebook-detail-toolbar-right { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.notebook-card-subtitle { display: block; margin-top: -5px; color: rgba(45,52,43,.72); font-family: var(--display-font, Georgia, serif); font-size: .78rem; font-style: italic; }
.notebook-detail-subtitle { margin: -6px 0 5px; color: var(--muted); font-family: var(--display-font, Georgia, serif); font-style: italic; }
.notebook-clay { --notebook-cover: #b97d62; --notebook-cover-dark: #98614b; }
.detail-cover-sage { background: linear-gradient(135deg, #dbe4d5, #f5f2e7); }
.detail-cover-sand { background: linear-gradient(135deg, #eadfbe, #faf5e7); }
.detail-cover-blue { background: linear-gradient(135deg, #d5e1e7, #f3f5ee); }
.detail-cover-rose { background: linear-gradient(135deg, #ead7d8, #faf2e8); }
.detail-cover-clay { background: linear-gradient(135deg, #ddc0b1, #f8eee4); }
.notebook-customize-dialog form, .notebook-export-shell { display: grid; gap: 14px; padding: 22px; }
.notebook-cover-fieldset { margin: 0; padding: 0; border: 0; }
.notebook-cover-fieldset legend { margin-bottom: 7px; font-size: .78rem; font-weight: 850; }
.notebook-cover-choices { display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; }
.cover-choice { position: relative; display: grid; place-items: center; gap: 4px; min-height: 76px; padding: 9px 4px; border: 2px solid transparent; border-radius: 13px; cursor: pointer; }
.cover-choice input { position: absolute; opacity: 0; pointer-events: none; }
.cover-choice:has(input:checked) { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.cover-choice span { font-size: 1.15rem; }
.cover-choice small { font-size: .66rem; font-weight: 850; }
.cover-sage { background: #dbe4d5; }.cover-sand { background: #eadfbe; }.cover-blue { background: #d5e1e7; }.cover-rose { background: #ead7d8; }.cover-clay { background: #ddc0b1; }

/* Review Mode and carry-forward */
.review-notebook-dialog { width: min(calc(100% - 24px), 760px); }
.review-notebook-shell { display: grid; gap: 14px; padding: 22px; }
.review-step-dots { display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; }
.review-step-dots span { display: grid; place-items: center; height: 6px; border-radius: 999px; color: transparent; background: var(--surface-2); overflow: hidden; }
.review-step-dots span.active, .review-step-dots span.done { background: var(--accent); }
.review-notebook-content { min-height: 380px; }
.review-step-card { display: grid; gap: 14px; }
.review-step-heading { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 14px; align-items: center; padding: 16px; border-radius: 16px; background: var(--surface-2); }
.review-step-heading > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--surface); font-size: 1.55rem; }
.review-step-heading h3, .review-step-heading p { margin: 0; }
.review-step-heading p { margin-top: 4px; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.review-step-heading small { display: block; margin-top: 5px; color: var(--accent); font-weight: 850; }
.review-item-list, .review-carry-choices { display: grid; gap: 8px; max-height: min(48vh, 470px); overflow-y: auto; padding-right: 2px; }
.review-item-list article, .review-carry-choice { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; padding: 12px 13px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); }
.review-item-list article > span, .review-carry-choice > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--surface-2); }
.review-item-list article > div, .review-carry-choice > div { display: grid; gap: 2px; }
.review-item-list strong, .review-carry-choice strong { font-size: .82rem; line-height: 1.45; }
.review-item-list small, .review-carry-choice small { color: var(--muted); font-size: .68rem; }
.review-carry-choice { position: relative; grid-template-columns: 24px 38px minmax(0,1fr); cursor: pointer; }
.review-carry-choice input { width: 20px; height: 20px; accent-color: var(--accent); }
.review-carry-choice:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.review-notebook-actions { display: flex; justify-content: space-between; gap: 10px; }
.carry-forward-card { display: grid; gap: 11px; margin: 14px 0; padding: 17px; border: 1px solid #d8d1a5; border-radius: 17px; background: linear-gradient(135deg,#fff8cf,#f5f2df); }
.carry-forward-heading { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 9px; align-items: center; }
.carry-forward-heading > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.62); }
.carry-forward-heading h3, .carry-forward-heading p { margin: 0; }
.carry-forward-list { display: grid; gap: 7px; }
.carry-forward-list article { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 8px; align-items: center; padding: 9px 10px; border-radius: 10px; background: rgba(255,255,255,.58); }
.carry-forward-list article div { display: grid; gap: 1px; }
.carry-forward-list strong { font-size: .79rem; }
.carry-forward-list small { color: var(--muted); font-size: .66rem; }
.review-from-experience { margin-top: 14px; }

/* Notebook export */
.notebook-export-dialog { width: min(calc(100% - 24px), 680px); max-height: min(90dvh, 860px); }
.notebook-export-shell { max-height: calc(90dvh - 2px); overflow-y: auto; overscroll-behavior: contain; }
.notebook-export-formats,
.notebook-export-options { margin: 0; padding: 0; border: 0; display: grid; gap: 10px; min-width: 0; }
.notebook-export-formats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.notebook-export-format { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; min-height: 92px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); cursor: pointer; }
.notebook-export-format:has(input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--accent) 35%, transparent); outline-offset: 2px; }
.notebook-export-format.is-selected { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, var(--surface)); box-shadow: inset 0 0 0 1px var(--accent); }
.notebook-export-format input { position: absolute; opacity: 0; pointer-events: none; }
.notebook-export-format-icon { display: grid; place-items: center; width: 42px; height: 48px; border-radius: 8px; background: #fffdf8; border: 1px solid #d9d2c2; color: #52664f; font: 800 .78rem/1 sans-serif; box-shadow: 0 4px 12px rgba(48,48,35,.08); }
.notebook-export-format strong,
.notebook-export-format small { display: block; overflow-wrap: anywhere; }
.notebook-export-format small { margin-top: 4px; color: var(--muted); font-size: .76rem; line-height: 1.35; }
.notebook-export-options { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--surface) 88%, var(--accent) 12%); }
.notebook-export-options legend { padding: 0 6px; font-weight: 800; }
.notebook-export-options label { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 36px; cursor: pointer; }
.notebook-export-options input { width: 20px; height: 20px; margin: 0; accent-color: var(--accent); }
.notebook-export-options small { grid-column: 2; color: var(--muted); line-height: 1.35; }
.notebook-export-local-note { margin: 0; padding: 11px 13px; border-radius: 12px; background: color-mix(in srgb, var(--accent) 8%, var(--surface)); color: var(--muted); font-size: .88rem; }
.notebook-export-progress,
.notebook-export-ready { padding: 13px; border-radius: 12px; background: color-mix(in srgb, var(--accent) 12%, var(--surface)); }
.notebook-export-progress { display: flex; align-items: center; gap: 10px; }
.notebook-export-progress[hidden],
.notebook-export-ready[hidden] { display: none; }
.notebook-export-spinner { width: 20px; height: 20px; flex: 0 0 auto; border: 3px solid color-mix(in srgb, var(--accent) 25%, transparent); border-top-color: var(--accent); border-radius: 50%; animation: notebook-export-spin .8s linear infinite; }
.notebook-export-ready p { margin: 4px 0 10px; color: var(--muted); }
.notebook-export-error { margin: 0; padding: 12px; color: var(--danger-text, #7a312d); background: color-mix(in srgb, #b84c45 12%, var(--surface)); border-radius: 12px; }
.notebook-export-create { width: 100%; min-height: 48px; }
@keyframes notebook-export-spin { to { transform: rotate(360deg); } }

body.dark .notebook-export-format-icon { background: #fffdf8; color: #52664f; border-color: #d9d2c2; }

@media (max-width: 700px) {
  .notebook-export-dialog { width: min(calc(100% - 16px), 560px); max-height: calc(100dvh - 16px); margin: auto; }
  .notebook-export-shell { max-height: calc(100dvh - 18px); padding: 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
  .notebook-export-formats { grid-template-columns: 1fr; }
  .notebook-export-format { min-height: 72px; grid-template-columns: 40px minmax(0, 1fr); padding: 10px 12px; }
  .notebook-export-format-icon { width: 38px; height: 44px; }
  .notebook-export-options { padding: 12px; }
  .notebook-export-options label { min-height: 44px; }
  .notebook-export-create { position: sticky; bottom: calc(-16px - env(safe-area-inset-bottom)); z-index: 2; margin-top: 2px; border-radius: 12px 12px 0 0; box-shadow: 0 -10px 24px color-mix(in srgb, var(--bg) 88%, transparent); }
}

/* Live Focus */
.live-focus-dialog { width: min(calc(100% - 18px), 900px); max-width: none; max-height: min(94dvh, 940px); padding: 0; border: 0; border-radius: 24px; background: #f8f4e9; box-shadow: 0 30px 90px rgba(28,32,25,.3); }
.live-focus-dialog::backdrop { background: rgba(26,29,24,.72); backdrop-filter: blur(4px); }
.live-focus-shell { position: relative; display: grid; grid-template-rows: auto auto minmax(250px,1fr) auto auto; gap: 15px; min-height: min(84dvh, 780px); padding: clamp(22px,4vw,48px); }
.live-focus-close { position: absolute; top: 17px; right: 17px; z-index: 2; }
.live-focus-header { display: grid; place-items: center; padding: 5px 42px 8px; text-align: center; }
.live-focus-header .eyebrow { margin: 7px 0 0; }
.live-focus-header h2 { max-width: 760px; margin: 6px 0; font: 700 clamp(1.45rem,3.5vw,2.4rem)/1.2 var(--display-font, Georgia, serif); }
.live-focus-header p { margin: 0; }
.live-focus-time { display: inline-grid; place-items: center; min-height: 36px; padding: 6px 12px; border-radius: 999px; color: #fff; background: var(--accent); font-weight: 900; }
.live-focus-mode-row { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; max-width: 420px; width: 100%; margin: 0 auto; padding: 4px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); }
.live-focus-mode { min-height: 40px; border: 0; border-radius: 10px; color: var(--muted); background: transparent; font: inherit; font-size: .78rem; font-weight: 850; cursor: pointer; }
.live-focus-mode.active { color: var(--text); background: var(--surface); box-shadow: 0 4px 12px rgba(40,45,36,.08); }
#liveFocusNotes { width: 100%; min-height: 280px; resize: none; padding: 22px 24px 22px 58px; border: 1px solid var(--border); border-radius: 17px; color: var(--text); background-color: #fffdf7; background-image: linear-gradient(90deg,transparent 0 38px,rgba(194,100,95,.2) 38px 39px,transparent 39px),repeating-linear-gradient(to bottom,transparent 0 34px,rgba(95,123,151,.13) 34px 35px); font: .98rem/2.18 ui-monospace,SFMono-Regular,Consolas,monospace; }
.live-focus-actions { display: flex; justify-content: center; gap: 9px; }
.live-focus-next { display: grid; place-items: center; gap: 2px; padding-top: 12px; border-top: 1px dashed var(--border); color: var(--muted); text-align: center; }
.live-focus-next span { font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.live-focus-next strong { color: var(--text); font-size: .78rem; }
.session-wrap-dialog form { display: grid; gap: 14px; padding: 22px; }
.session-wrap-session-title { margin: -4px 0 2px; padding: 10px 12px; border-radius: 11px; color: var(--muted); background: var(--surface-2); font-size: .8rem; }
.session-wrap-actions { display: flex; justify-content: space-between; gap: 10px; }

body.dark .kept-intro-card, body.dark .carry-forward-card { border-color: #5b5435; background: linear-gradient(135deg,#4f4728,#333329); }
body.dark .keep-quick-card .quick-icon, body.dark .keep-star-button.is-kept, body.dark .structured-keep-button.is-kept { color: #f2d984; border-color: #76662c; background: #504827; }
body.dark .detail-cover-sage { background: linear-gradient(135deg,#3d4738,#2a2b24); }
body.dark .detail-cover-sand { background: linear-gradient(135deg,#514a35,#2c2c25); }
body.dark .detail-cover-blue { background: linear-gradient(135deg,#35464e,#292b26); }
body.dark .detail-cover-rose { background: linear-gradient(135deg,#4c3c42,#2c2926); }
body.dark .detail-cover-clay { background: linear-gradient(135deg,#574137,#2d2925); }
body.dark .today-timeline-row.kind-lunch .timeline-state-icon { background: #4b4326; }
body.dark .cover-choice { color: #26271f; }
body.dark .live-focus-dialog { background: #282820; }
body.dark #liveFocusNotes { color: var(--text); background-color: #23231d; background-image: linear-gradient(90deg,transparent 0 38px,rgba(184,101,96,.24) 38px 39px,transparent 39px),repeating-linear-gradient(to bottom,transparent 0 34px,rgba(119,148,172,.14) 34px 35px); }

@media (min-width: 980px) {
  .kept-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .today-timeline-row { grid-template-columns: 35px 68px minmax(0,1fr); }
  .today-timeline-row > button { grid-column: 2 / -1; justify-self: start; margin-bottom: 5px; }
  .notebook-detail-toolbar-right { width: 100%; justify-content: flex-start; }
  .notebook-detail-toolbar-right .event-type-pill { margin-right: auto; }
  .quick-add-grid, .note-template-grid { grid-template-columns: 1fr; }
  .review-notebook-content { min-height: 330px; }
  .kept-card { grid-template-columns: 40px minmax(0,1fr); }
  .kept-card-actions { grid-column: 2; justify-content: flex-end; }
}
@media (max-width: 520px) {
  .quick-add-fab { width: 52px; height: 52px; right: 14px; bottom: calc(78px + env(safe-area-inset-bottom)); border-radius: 16px; }
  .kept-intro-card { grid-template-columns: 1fr; }
  .kept-intro-star { width: 46px; height: 46px; }
  .today-timeline-row { grid-template-columns: 32px 60px minmax(0,1fr); gap: 6px; }
  .today-timeline-list::before { left: 15px; }
  .timeline-state-icon { width: 32px; height: 32px; }
  .today-timeline-row time { font-size: .7rem; }
  .today-timeline-row > div strong { font-size: .78rem; }
  .notebook-detail-toolbar-right .secondary-button { flex: 1 1 calc(50% - 8px); }
  .notebook-cover-choices { grid-template-columns: repeat(3,1fr); }
  .review-step-heading { grid-template-columns: 44px minmax(0,1fr); padding: 13px; }
  .review-step-heading > span { width: 44px; height: 44px; }
  .review-carry-choice { grid-template-columns: 22px 34px minmax(0,1fr); padding: 10px; }
  .live-focus-shell { min-height: 88dvh; padding: 22px 14px 18px; }
  .live-focus-header { padding-inline: 35px; }
  #liveFocusNotes { padding: 18px 14px 18px 42px; background-image: linear-gradient(90deg,transparent 0 28px,rgba(194,100,95,.2) 28px 29px,transparent 29px),repeating-linear-gradient(to bottom,transparent 0 34px,rgba(95,123,151,.13) 34px 35px); }
  .live-focus-actions { flex-direction: column; }
  .session-wrap-actions { flex-direction: column-reverse; }
}


/* Noted V9.1 — audience clarity */
.brand > div:last-child { min-width: 0; }
.brand-purpose {
  margin: 2px 0 0;
  max-width: 380px;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.25;
}
.jw-purpose-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  max-width: 580px;
  margin: 1px auto 3px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(226,235,217,.78), rgba(255,252,242,.9));
  text-align: left;
}
.jw-purpose-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: rgba(255,255,255,.6);
  font-size: 1.35rem;
}
.jw-purpose-card strong { display: block; margin-bottom: 4px; font-family: var(--heading-font); font-size: 1rem; }
.jw-purpose-card p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.48; }
body.dark .jw-purpose-card { background: linear-gradient(145deg, rgba(57,71,57,.88), rgba(38,42,35,.96)); }
body.dark .jw-purpose-icon { background: rgba(255,255,255,.07); }
@media (max-width: 680px) {
  .brand-purpose { max-width: 210px; font-size: .66rem; }
  .jw-purpose-card { grid-template-columns: 1fr; padding: 14px; text-align: center; }
  .jw-purpose-icon { justify-self: center; }
}
@media (max-width: 470px) {
  .brand-purpose { display: none; }
}

/* V9.3 Settings Studio */
.settings-page-heading { align-items:flex-end; margin-bottom:14px; }
.settings-page-lead { max-width:660px; margin:8px 0 0; color:var(--muted); line-height:1.5; }
.settings-profile-card {
  position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center;
  margin:0 0 18px; padding:22px 24px; border:1px solid var(--border); border-radius:18px;
  background:linear-gradient(135deg,rgba(255,253,246,.98),rgba(226,235,220,.78)); box-shadow:var(--shadow); overflow:hidden;
}
.settings-profile-card::after { content:""; position:absolute; right:-38px; top:-56px; width:170px; height:170px; border-radius:50%; background:rgba(118,145,111,.09); pointer-events:none; }
.settings-profile-mark { position:relative; z-index:1; display:grid; place-items:center; width:62px; height:70px; border-radius:9px 9px 13px 13px; color:#fffdf7; background:var(--primary); font-family:Georgia,"Times New Roman",serif; font-size:2rem; font-weight:900; box-shadow:inset 9px 0 0 rgba(255,255,255,.14),0 13px 26px rgba(50,70,54,.18); }
.settings-profile-copy { position:relative; z-index:1; min-width:0; }
.settings-profile-copy h3 { margin:1px 0 5px; font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; }
.settings-profile-copy>p:last-of-type { margin:0; color:var(--muted); line-height:1.45; }
.settings-status-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.settings-status-chip { display:inline-flex; align-items:center; gap:6px; min-height:30px; padding:0 10px; border:1px solid rgba(69,104,88,.13); border-radius:999px; background:rgba(255,253,248,.72); color:var(--muted); font-size:.72rem; }
.settings-status-chip span { color:var(--primary); }
.settings-status-chip b { color:var(--text); }
.settings-local-pill { position:relative; z-index:1; align-self:start; padding:8px 11px; border-radius:999px; color:var(--primary-dark); background:var(--accent); font-size:.72rem; font-weight:900; white-space:nowrap; }

.settings-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:18px; align-items:start; }
.settings-side-nav { position:sticky; top:96px; display:grid; gap:7px; padding:13px; border:1px solid var(--border); border-radius:16px; background:rgba(255,253,246,.78); box-shadow:0 8px 24px rgba(73,63,47,.05); backdrop-filter:blur(12px); }
.settings-side-label { margin:2px 7px 7px; color:var(--muted); font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.settings-nav-link { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; width:100%; padding:10px; border:1px solid transparent; border-radius:12px; color:var(--text); text-align:left; background:transparent; cursor:pointer; }
.settings-nav-link>span:first-child { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:var(--primary-dark); background:var(--surface-2); font-weight:900; }
.settings-nav-link>span:last-child { display:grid; gap:2px; min-width:0; }
.settings-nav-link strong { font-size:.82rem; line-height:1.2; }
.settings-nav-link small { color:var(--muted); font-size:.67rem; line-height:1.25; }
.settings-nav-link:hover,.settings-nav-link:focus-visible,.settings-nav-link.active { border-color:rgba(69,104,88,.18); background:var(--accent); outline:none; }
.settings-nav-link.active>span:first-child { color:#fff; background:var(--primary); }
.settings-content-column { display:grid; gap:15px; min-width:0; }
.settings-card { scroll-margin-top:100px; padding:22px; border:1px solid var(--border); border-radius:18px; background:rgba(255,253,248,.96); box-shadow:0 10px 28px rgba(73,63,47,.055); }
.settings-card-heading { display:grid; grid-template-columns:auto minmax(0,1fr); gap:13px; align-items:start; margin-bottom:20px; padding-bottom:16px; border-bottom:1px dashed rgba(93,99,82,.22); }
.settings-card-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; color:var(--primary-dark); background:var(--accent); font-size:1.05rem; font-weight:900; }
.settings-card-heading h3 { margin:1px 0 4px; font-family:Georgia,"Times New Roman",serif; font-size:1.3rem; }
.settings-card-heading p:last-child { margin:0; color:var(--muted); line-height:1.45; }
.settings-choice-block { display:grid; gap:11px; padding:3px 0 18px; }
.settings-choice-block+.settings-choice-block { padding-top:17px; border-top:1px solid var(--border); }
.settings-choice-label { display:grid; gap:3px; }
.settings-choice-label small { color:var(--muted); line-height:1.4; }
.settings-choice-grid,.settings-note-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.settings-choice-tile,.settings-note-mode { display:grid; gap:8px; width:100%; padding:13px; color:var(--text); text-align:left; border:1px solid var(--border); border-radius:14px; background:var(--surface); cursor:pointer; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.settings-choice-tile:hover,.settings-note-mode:hover,.settings-choice-tile:focus-visible,.settings-note-mode:focus-visible { transform:translateY(-1px); border-color:rgba(69,104,88,.38); outline:none; }
.settings-choice-tile.active,.settings-note-mode.active { border-color:var(--primary); box-shadow:0 0 0 3px rgba(69,104,88,.10); }
.settings-choice-tile strong,.settings-note-mode strong { font-size:.86rem; }
.settings-choice-tile small,.settings-note-mode small { color:var(--muted); font-size:.72rem; line-height:1.35; }
.theme-preview { display:grid; grid-template-columns:28px 1fr 15px; gap:5px; width:100%; height:52px; padding:8px; border-radius:9px; overflow:hidden; }
.theme-preview i { display:block; border-radius:4px; }
.theme-preview-light { border:1px solid #ddd5c6; background:#f3f0e8; }
.theme-preview-light i:nth-child(1) { background:#758b70; }.theme-preview-light i:nth-child(2) { background:#fffdf8; }.theme-preview-light i:nth-child(3) { background:#e4dac9; }
.theme-preview-dark { border:1px solid #4d4a41; background:#25251f; }
.theme-preview-dark i:nth-child(1) { background:#8fa383; }.theme-preview-dark i:nth-child(2) { background:#34342c; }.theme-preview-dark i:nth-child(3) { background:#4c473a; }
.settings-segmented { display:grid; grid-template-columns:repeat(2,1fr); gap:6px; padding:5px; border:1px solid var(--border); border-radius:14px; background:var(--surface-2); }
.settings-segmented button { min-height:42px; padding:0 12px; border:0; border-radius:10px; color:var(--muted); background:transparent; cursor:pointer; font-weight:900; }
.settings-segmented button span { margin-left:5px; font-weight:700; }
.settings-segmented button.active { color:var(--primary-dark); background:var(--surface); box-shadow:0 4px 12px rgba(73,63,47,.08); }
.settings-toggle-list { display:grid; margin-top:2px; border-top:1px solid var(--border); }
.settings-toggle-row { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:12px; align-items:center; min-height:70px; padding:13px 2px; border-bottom:1px solid var(--border); color:var(--text); cursor:pointer; }
.settings-toggle-row:last-child { border-bottom:0; }
.settings-toggle-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:var(--primary-dark); background:var(--surface-2); font-size:.78rem; font-weight:900; }
.settings-toggle-copy { display:grid; gap:3px; min-width:0; }
.settings-toggle-copy strong { font-size:.88rem; }
.settings-toggle-copy small { color:var(--muted); font-size:.74rem; line-height:1.4; }
.settings-switch { position:relative; display:block; width:46px; height:27px; }
.settings-switch input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.settings-switch>span { display:block; width:100%; height:100%; border:1px solid var(--border); border-radius:999px; background:#dfddd4; transition:background .18s ease,border-color .18s ease; }
.settings-switch>span::after { content:""; position:absolute; top:4px; left:4px; width:19px; height:19px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(42,48,42,.18); transition:transform .18s ease; }
.settings-switch input:checked+span { border-color:var(--primary); background:var(--primary); }
.settings-switch input:checked+span::after { transform:translateX(19px); }
.settings-switch input:focus-visible+span { box-shadow:0 0 0 3px rgba(69,104,88,.16); }
.settings-note-mode { grid-template-columns:40px minmax(0,1fr); gap:2px 10px; align-items:center; }
.settings-note-mode>span { grid-row:1/3; display:grid; place-items:center; width:40px; height:40px; border-radius:11px; background:var(--surface-2); font-size:1.1rem; }
.settings-feature-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start; margin-top:5px; padding:14px 15px; border-radius:14px; background:var(--accent); }
.settings-feature-note>span { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#fff; background:var(--primary); font-weight:900; }
.settings-feature-note strong { display:block; margin-bottom:3px; font-size:.86rem; }
.settings-feature-note p { margin:0; color:var(--muted); font-size:.75rem; line-height:1.4; }
.settings-storage-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:13px; align-items:center; padding:16px; border:1px solid rgba(69,104,88,.13); border-radius:15px; background:var(--surface-2); }
.settings-storage-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#fff; background:var(--primary); }
.settings-storage-card strong { display:block; margin-bottom:3px; }
.settings-storage-card p { margin:0; color:var(--muted); font-size:.74rem; line-height:1.42; }
.settings-data-size { padding:6px 9px; border-radius:999px; color:var(--primary-dark); background:var(--accent); font-size:.7rem; font-weight:900; white-space:nowrap; }
.settings-encryption-row { margin-top:13px; padding-inline:2px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.settings-backup-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:14px; }
.settings-action-card { display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto; gap:2px 9px; align-items:center; min-height:86px; padding:13px; color:var(--text); text-align:left; border:1px solid var(--border); border-radius:14px; background:var(--surface); cursor:pointer; }
.settings-action-card>span { grid-row:1/3; display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:var(--primary-dark); background:var(--surface-2); font-weight:900; }
.settings-action-card strong { font-size:.78rem; line-height:1.25; }
.settings-action-card small { color:var(--muted); font-size:.67rem; line-height:1.3; }
.settings-action-card:hover,.settings-action-card:focus-visible { border-color:var(--primary); outline:none; }
.settings-action-primary { color:#fff; border-color:var(--primary); background:var(--primary); }
.settings-action-primary>span { color:var(--primary-dark); background:#dfe8d8; }
.settings-action-primary small { color:rgba(255,255,255,.78); }
.settings-file-action { margin:0; font-size:inherit; font-weight:inherit; }
.settings-gentle-warning { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; align-items:start; margin:13px 0 0; padding:11px 13px; border-radius:12px; color:#6a633f; background:#fbefb8; font-size:.72rem; line-height:1.45; }
.settings-help-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.settings-help-card { display:grid; grid-template-columns:44px minmax(0,1fr); gap:2px 11px; align-items:center; padding:14px; color:var(--text); text-align:left; border:1px solid var(--border); border-radius:14px; background:var(--surface); cursor:pointer; }
.settings-help-card>span { grid-row:1/3; display:grid; place-items:center; width:44px; height:44px; border-radius:12px; color:var(--primary-dark); background:var(--accent); font-size:.8rem; font-weight:900; }
.settings-help-card strong { font-size:.84rem; }
.settings-help-card small { color:var(--muted); font-size:.7rem; line-height:1.35; }
.settings-help-card:hover,.settings-help-card:focus-visible { border-color:var(--primary); outline:none; }
.settings-about-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:13px; align-items:start; margin-top:14px; padding:15px; border:1px dashed var(--border); border-radius:14px; background:rgba(232,238,232,.5); }
.settings-about-mark { display:grid; place-items:center; width:42px; height:48px; border-radius:7px 7px 10px 10px; color:#fff; background:var(--primary); font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; font-weight:900; box-shadow:inset 6px 0 0 rgba(255,255,255,.14); }
.settings-about-note strong { display:block; margin-bottom:5px; }
.settings-version { margin-left:4px; color:var(--muted); font-size:.7rem; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.settings-about-note p { margin:0; color:var(--muted); font-size:.74rem; line-height:1.48; }
.settings-advanced { border:1px solid var(--border); border-radius:16px; background:rgba(255,253,248,.72); overflow:hidden; }
.settings-advanced summary { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:10px; align-items:center; padding:14px 16px; cursor:pointer; list-style:none; }
.settings-advanced summary::-webkit-details-marker { display:none; }
.settings-advanced summary>span:first-child { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--surface-2); }
.settings-advanced summary>span:nth-child(2) { display:grid; gap:2px; }
.settings-advanced summary small { color:var(--muted); font-size:.7rem; }
.settings-advanced summary>b { color:var(--muted); transition:transform .18s ease; }
.settings-advanced[open] summary>b { transform:rotate(180deg); }
.settings-advanced-body { display:grid; gap:12px; padding:0 16px 16px 62px; }
.settings-advanced-body p { margin:0; color:var(--muted); font-size:.76rem; line-height:1.45; }
.settings-advanced-body .danger-button { justify-self:start; min-width:180px; }

body.dark .settings-profile-card { background:linear-gradient(135deg,#343329,#2c332b); }
body.dark .settings-status-chip,body.dark .settings-side-nav,body.dark .settings-card,body.dark .settings-choice-tile,body.dark .settings-note-mode,body.dark .settings-action-card,body.dark .settings-help-card,body.dark .settings-advanced { background:rgba(47,47,39,.92); }
body.dark .settings-side-nav { background:rgba(39,39,32,.82); }
body.dark .settings-nav-link:hover,body.dark .settings-nav-link:focus-visible,body.dark .settings-nav-link.active { background:#4a503e; }
body.dark .settings-segmented,body.dark .settings-toggle-icon,body.dark .settings-note-mode>span,body.dark .settings-action-card>span,body.dark .settings-advanced summary>span:first-child { background:#414037; }
body.dark .settings-segmented button.active { color:var(--text); background:#59584d; }
body.dark .settings-switch>span { border-color:#615f54; background:#4b4a42; }
body.dark .settings-storage-card { background:#414037; }
body.dark .settings-about-note { background:rgba(52,52,44,.55); }
body.dark .settings-gentle-warning { color:#e8dda6; background:#5c522e; }
body.dark .settings-action-primary { color:#22271f; background:linear-gradient(180deg,#b0c0a3,#98ab8f); }
body.dark .settings-action-primary small { color:rgba(34,39,31,.72); }

@media (max-width:900px) {
  .settings-layout { grid-template-columns:1fr; }
  .settings-side-nav { position:static; display:flex; gap:7px; padding:7px; overflow-x:auto; scrollbar-width:none; }
  .settings-side-nav::-webkit-scrollbar { display:none; }
  .settings-side-label { display:none; }
  .settings-nav-link { flex:0 0 auto; grid-template-columns:31px auto; width:auto; min-width:max-content; padding:8px 10px; }
  .settings-nav-link>span:first-child { width:31px; height:31px; }
  .settings-nav-link small { display:none; }
}
@media (max-width:620px) {
  .settings-profile-card { grid-template-columns:auto minmax(0,1fr); padding:18px; }
  .settings-profile-mark { width:50px; height:58px; font-size:1.6rem; }
  .settings-local-pill { grid-column:1/3; justify-self:start; }
  .settings-card { padding:17px; border-radius:16px; }
  .settings-card-heading { grid-template-columns:38px minmax(0,1fr); gap:11px; }
  .settings-card-icon { width:38px; height:38px; border-radius:11px; }
  .settings-choice-grid,.settings-note-mode-grid,.settings-backup-actions,.settings-help-grid { grid-template-columns:1fr; }
  .settings-storage-card { grid-template-columns:auto minmax(0,1fr); align-items:start; }
  .settings-data-size { grid-column:2; justify-self:start; }
  .settings-action-card { min-height:72px; }
  .settings-advanced-body { padding-left:16px; }
  .settings-advanced-body .danger-button { width:100%; }
}

/* V9.3 contrast polish for settings status cards */
.settings-feature-note { background:var(--accent-soft); }
.settings-feature-note strong { color:var(--text); }
.settings-feature-note p { color:var(--muted); }
body.dark .settings-feature-note { background:#424b3d; }
body.dark .settings-feature-note>span { color:#242a22; background:#a8b89a; }
body.dark .settings-feature-note strong { color:#f0ebdf; }
body.dark .settings-feature-note p { color:#c9c5b8; }




/* V9.5 Feedback & Support */
.settings-card-feedback { position:relative; overflow:hidden; }
.settings-card-feedback::after { content:""; position:absolute; width:150px; height:150px; right:-76px; top:36px; border-radius:50%; background:rgba(118,145,111,.06); pointer-events:none; }
.feedback-destination-note { position:relative; z-index:1; display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start; margin-bottom:18px; padding:14px 15px; border:1px solid rgba(69,104,88,.14); border-radius:14px; background:var(--accent-soft); }
.feedback-destination-note>span { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#fff; background:var(--primary); font-weight:900; }
.feedback-destination-note strong { display:block; margin-bottom:3px; font-size:.86rem; }
.feedback-destination-note p { margin:0; color:var(--muted); font-size:.74rem; line-height:1.42; }
.feedback-form { position:relative; z-index:1; display:grid; gap:16px; }
.feedback-form-block { display:grid; gap:11px; }
.feedback-type-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.feedback-type-option { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:center; min-height:48px; padding:9px 11px; color:var(--text); text-align:left; border:1px solid var(--border); border-radius:13px; background:var(--surface); cursor:pointer; }
.feedback-type-option>span { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--surface-2); }
.feedback-type-option strong { font-size:.78rem; }
.feedback-type-option:hover,.feedback-type-option:focus-visible { border-color:rgba(69,104,88,.42); outline:none; }
.feedback-type-option.active { border-color:var(--primary); background:var(--accent-soft); box-shadow:0 0 0 3px rgba(69,104,88,.09); }
.feedback-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.feedback-form .field { display:grid; gap:7px; margin:0; }
.feedback-form .field>span { color:var(--text); font-size:.79rem; font-weight:900; }
.feedback-form input,.feedback-form textarea { width:100%; border:1px solid var(--border); border-radius:13px; color:var(--text); background:var(--surface); }
.feedback-form input { min-height:46px; padding:0 13px; }
.feedback-form textarea { min-height:160px; padding:13px; resize:vertical; line-height:1.55; }
.feedback-form input:focus,.feedback-form textarea:focus { border-color:var(--primary); outline:none; box-shadow:0 0 0 3px rgba(69,104,88,.10); }
.feedback-details-toggle { min-height:66px; margin-top:-2px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.feedback-honey { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; opacity:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; pointer-events:none!important; }
.feedback-privacy-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; padding:12px 13px; border-radius:13px; color:#6a633f; background:#fbefb8; }
.feedback-privacy-note>span { font-size:1rem; }
.feedback-privacy-note p { margin:0; font-size:.71rem; line-height:1.48; }
.feedback-submit-row { display:flex; gap:14px; align-items:center; justify-content:space-between; }
.feedback-submit-row p { margin:0; color:var(--muted); font-size:.73rem; line-height:1.4; }
.feedback-submit-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:160px; }
.feedback-submit-button:disabled { opacity:.62; cursor:wait; }
.feedback-status { padding:12px 14px; border:1px solid var(--border); border-radius:13px; font-size:.78rem; font-weight:800; line-height:1.4; }
.feedback-status.success { color:#31533e; border-color:rgba(69,104,88,.25); background:#e5efe1; }
.feedback-status.error { color:#7a3c37; border-color:rgba(144,75,65,.24); background:#f8e2dc; }
.feedback-status.sending { color:var(--primary-dark); background:var(--surface-2); }
body.dark .feedback-destination-note { background:#424b3d; }
body.dark .feedback-type-option,body.dark .feedback-form input,body.dark .feedback-form textarea { background:rgba(47,47,39,.92); }
body.dark .feedback-type-option>span { background:#414037; }
body.dark .feedback-type-option.active { background:#4a503e; }
body.dark .feedback-privacy-note { color:#e8dda6; background:#5c522e; }
body.dark .feedback-status.success { color:#d9ead4; border-color:#56694e; background:#344231; }
body.dark .feedback-status.error { color:#f2cbc4; border-color:#75504b; background:#513a36; }
body.dark .feedback-status.sending { color:#e8e3d7; background:#414037; }

@media (max-width:760px) {
  .feedback-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .feedback-fields-grid { grid-template-columns:1fr; }
  .feedback-submit-row { display:grid; }
  .feedback-submit-button { width:100%; }
}

/* V9.4 device-aware Get Noted guidance */
.platform-recommendation-card { margin:18px 0 22px; }
.platform-recommendation { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center; padding:17px 18px; border:1px solid rgba(69,104,88,.18); border-radius:18px; background:linear-gradient(135deg,rgba(255,253,248,.96),rgba(235,241,233,.94)); box-shadow:0 9px 24px rgba(50,61,51,.07); overflow:hidden; }
.platform-recommendation::after { content:""; position:absolute; width:90px; height:90px; right:-32px; bottom:-52px; border-radius:50%; background:rgba(99,119,97,.08); pointer-events:none; }
.platform-recommendation-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:15px; color:var(--primary-dark); background:var(--accent); font-size:1.45rem; box-shadow:inset 0 0 0 1px rgba(69,104,88,.08); }
.platform-recommendation-copy { min-width:0; }
.platform-recommendation-copy strong { display:block; margin:3px 0 4px; font-family:Georgia,"Times New Roman",serif; font-size:1.02rem; line-height:1.2; }
.platform-recommendation-copy p { margin:0; color:var(--muted); font-size:.76rem; line-height:1.48; }
.platform-badge { display:inline-flex; align-items:center; min-height:22px; padding:3px 8px; border-radius:999px; color:var(--primary-dark); background:var(--accent); font-size:.63rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.platform-data-note { display:block; margin-top:8px; color:var(--muted); font-size:.69rem; line-height:1.42; }
.platform-recommendation-actions { position:relative; z-index:1; display:grid; gap:7px; justify-items:end; min-width:190px; }
.platform-recommendation-actions small { max-width:230px; color:var(--muted); font-size:.64rem; line-height:1.35; text-align:right; }
.platform-download-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; text-decoration:none; white-space:nowrap; }
.platform-status-pill { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:8px 11px; border-radius:999px; color:var(--primary-dark); background:var(--accent); font-size:.69rem; font-weight:900; text-align:center; }
.settings-platform-recommendation { margin-top:4px; }
.settings-card-platform .platform-recommendation { box-shadow:none; background:var(--surface-2); }
.platform-web-recommended { border-color:rgba(112,126,155,.2); background:linear-gradient(135deg,rgba(255,253,248,.96),rgba(236,239,246,.92)); }
body.dark .platform-recommendation,body.dark .settings-card-platform .platform-recommendation { border-color:#56584c; background:linear-gradient(135deg,#3c3d34,#333930); box-shadow:none; }
body.dark .platform-recommendation-icon,body.dark .platform-badge,body.dark .platform-status-pill { color:#eef0e7; background:#4b5746; }
body.dark .platform-recommendation-copy p,body.dark .platform-data-note,body.dark .platform-recommendation-actions small { color:#c7c4b9; }
@media (max-width:700px) {
  .platform-recommendation { grid-template-columns:auto minmax(0,1fr); align-items:start; padding:15px; }
  .platform-recommendation-icon { width:45px; height:45px; border-radius:13px; font-size:1.25rem; }
  .platform-recommendation-actions,.platform-recommendation>.platform-status-pill { grid-column:1/3; width:100%; justify-items:stretch; min-width:0; }
  .platform-recommendation-actions small { max-width:none; text-align:left; }
  .platform-download-button,.platform-status-pill { width:100%; }
}


/* V9.6 Web App Install Guide */
.platform-web-install { border-color:rgba(69,104,88,.24); background:linear-gradient(135deg,rgba(239,245,232,.96),rgba(255,251,242,.96)); }
.platform-web-install .platform-recommendation-icon { box-shadow:inset 7px 0 0 rgba(255,255,255,.16),0 10px 18px rgba(64,83,66,.13); }
.platform-install-guide-button { min-width:142px; border:0; }
.platform-web-installed { border-color:rgba(69,104,88,.20); background:linear-gradient(135deg,rgba(229,239,225,.96),rgba(250,247,236,.96)); }
.web-install-dialog { width:min(720px,calc(100vw - 24px)); padding:0; border:0; border-radius:24px; background:transparent; }
.web-install-shell { position:relative; overflow:hidden; padding:24px; border:1px solid var(--border); border-radius:24px; background:var(--surface); box-shadow:0 28px 80px rgba(43,47,39,.24); }
.web-install-shell::before { content:""; position:absolute; right:-72px; top:-84px; width:230px; height:230px; border-radius:50%; background:rgba(118,145,111,.10); pointer-events:none; }
.web-install-heading,.web-install-intro,.web-install-tabs,.web-install-guide-content,.web-install-actions,.web-install-footer-note { position:relative; z-index:1; }
.web-install-intro { display:grid; grid-template-columns:70px minmax(0,1fr); gap:16px; align-items:center; margin:14px 0 18px; padding:16px; border:1px solid rgba(69,104,88,.15); border-radius:18px; background:var(--surface-2); }
.web-install-app-icon { display:grid; place-items:center; width:64px; height:64px; border-radius:17px; color:#fffdf7; background:var(--primary); font-family:Georgia,"Times New Roman",serif; font-size:2rem; font-weight:900; box-shadow:inset 9px 0 0 rgba(255,255,255,.14),0 12px 22px rgba(50,70,54,.18); }
.web-install-intro strong { display:block; margin-bottom:5px; font-family:Georgia,"Times New Roman",serif; font-size:1.08rem; }
.web-install-intro p { margin:0; color:var(--muted); font-size:.79rem; line-height:1.5; }
.web-install-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:14px; padding:5px; border-radius:15px; background:var(--surface-2); }
.web-install-tabs button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:8px 12px; border:1px solid transparent; border-radius:11px; color:var(--muted); background:transparent; cursor:pointer; }
.web-install-tabs button>span { font-size:1.05rem; }
.web-install-tabs button strong { font-size:.78rem; }
.web-install-tabs button.active { color:var(--primary-dark); border-color:rgba(69,104,88,.18); background:var(--surface); box-shadow:0 5px 13px rgba(69,63,47,.06); }
.web-install-guide-content { padding:18px; border:1px solid var(--border); border-radius:18px; background:rgba(255,253,246,.72); }
.web-install-guide-title { display:grid; grid-template-columns:46px minmax(0,1fr); gap:12px; align-items:center; margin-bottom:15px; }
.web-install-guide-title>span { display:grid; place-items:center; width:46px; height:46px; border-radius:13px; color:var(--primary-dark); background:var(--accent); font-size:1.25rem; font-weight:900; }
.web-install-guide-title h3 { margin:2px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:1.1rem; }
.web-install-guide-title small { display:block; margin-top:4px; color:var(--muted); font-size:.68rem; line-height:1.4; }
.web-install-step-list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.web-install-step-list li { display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; align-items:center; min-height:54px; padding:9px 11px; border:1px solid rgba(69,104,88,.10); border-radius:13px; background:var(--surface); }
.web-install-step-number { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; background:var(--primary); font-size:.72rem; font-weight:900; }
.web-install-step-list li>div { display:grid; grid-template-columns:32px minmax(0,1fr); gap:8px; align-items:center; }
.web-install-step-symbol { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:var(--primary-dark); background:var(--surface-2); font-size:.95rem; }
.web-install-step-list p { margin:0; color:var(--text); font-size:.78rem; line-height:1.45; }
.web-install-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:9px; margin-top:16px; }
.web-install-footer-note { margin:11px 0 0; color:var(--muted); text-align:center; font-size:.68rem; line-height:1.4; }
body.dark .platform-web-install,body.dark .platform-web-installed { background:linear-gradient(135deg,rgba(58,68,54,.96),rgba(47,47,39,.96)); }
body.dark .web-install-guide-content { background:rgba(44,44,37,.78); }
body.dark .web-install-tabs { background:#3b3b33; }
body.dark .web-install-tabs button.active,body.dark .web-install-step-list li { background:#34342d; }
@media (max-width:620px) {
  .web-install-dialog { width:min(100% - 14px,560px); }
  .web-install-shell { padding:18px 14px; border-radius:20px; }
  .web-install-intro { grid-template-columns:54px minmax(0,1fr); gap:12px; padding:13px; }
  .web-install-app-icon { width:52px; height:52px; border-radius:14px; font-size:1.65rem; }
  .web-install-intro strong { font-size:.98rem; }
  .web-install-intro p { font-size:.73rem; }
  .web-install-guide-content { padding:13px; }
  .web-install-step-list li { grid-template-columns:30px minmax(0,1fr); gap:8px; padding:8px; }
  .web-install-step-number { width:27px; height:27px; }
  .web-install-step-list li>div { grid-template-columns:29px minmax(0,1fr); gap:7px; }
  .web-install-step-symbol { width:27px; height:27px; }
  .web-install-step-list p { font-size:.73rem; }
  .web-install-actions { display:grid; grid-template-columns:1fr; }
  .web-install-actions button { width:100%; }
}
.web-install-dialog [hidden] { display: none !important; }

/* V9.7 Brand Identity */
.brand-mark-image {
  display: block;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(95, 113, 86, .18);
  border-radius: 14px;
  object-fit: cover;
  background: #fbf7ef;
  box-shadow: 0 8px 20px rgba(69, 83, 63, .14);
}
.brand-mark-image::before,
.brand-mark-image::after { content: none !important; }

.welcome-brand-logo {
  display: block;
  width: min(100%, 470px);
  height: auto;
  margin: 0 auto 2px;
  border: 1px solid rgba(112, 124, 96, .12);
  border-radius: 20px;
  background: #faf6ee;
  box-shadow: 0 14px 34px rgba(73, 63, 47, .09);
}

.settings-profile-mark-image,
.settings-about-mark-image {
  display: block;
  object-fit: cover;
  padding: 0;
  color: transparent;
  background: #fbf7ef;
  border: 1px solid rgba(95, 113, 86, .17);
}
.settings-profile-mark-image {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  box-shadow: 0 12px 25px rgba(50, 70, 54, .15);
}
.settings-about-mark-image {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(50, 70, 54, .12);
}

.web-install-app-icon-image {
  display: block;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 1px solid rgba(95, 113, 86, .16);
  border-radius: 18px;
  object-fit: cover;
  background: #f8f3ef;
  box-shadow: 0 12px 22px rgba(50, 70, 54, .16);
}

body.dark .brand-mark-image,
body.dark .settings-profile-mark-image,
body.dark .settings-about-mark-image,
body.dark .web-install-app-icon-image {
  border-color: rgba(255, 255, 255, .12);
}
body.dark .welcome-brand-logo {
  border-color: rgba(255, 255, 255, .12);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .25);
}

@media (max-width: 620px) {
  .brand-mark-image { width: 44px; height: 44px; border-radius: 13px; }
  .welcome-brand-logo { width: min(100%, 390px); border-radius: 16px; }
  .web-install-app-icon-image { width: 52px; height: 52px; border-radius: 15px; }
}

/* V9.8 — People Journal refresh */
.people-welcome-compact { margin-bottom: 14px; }
.people-quick-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px,.78fr) minmax(0,1.45fr);
  gap: 22px;
  align-items: center;
  margin: 14px 0 18px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(118,132,97,.22);
  border-radius: 20px;
  background: linear-gradient(135deg,rgba(239,238,213,.9),rgba(255,253,246,.96));
  box-shadow: var(--shadow);
}
.people-quick-card::after {
  content: "";
  position: absolute;
  right: -34px;
  top: -46px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(127,144,104,.1);
  pointer-events: none;
}
.people-quick-copy { display: flex; gap: 13px; align-items: flex-start; position: relative; z-index: 1; }
.people-quick-copy h3 { margin: 3px 0 7px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.22rem,2.1vw,1.6rem); }
.people-quick-copy p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.55; }
.people-quick-pin { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 14px; color: var(--primary-dark); background: rgba(255,253,246,.74); font-size: 1.1rem; }
.people-quick-form { display: grid; grid-template-columns: minmax(150px,.8fr) minmax(210px,1.2fr); gap: 12px; align-items: end; position: relative; z-index: 1; }
.people-quick-form textarea { min-height: 74px; resize: vertical; }
.people-quick-actions { grid-column: 1/-1; display: flex; justify-content: flex-end; gap: 9px; }
.people-quick-actions .primary-button,.people-quick-actions .secondary-button { min-height: 42px; }

.people-stat-button { appearance: none; width: 100%; color: inherit; text-align: left; font: inherit; cursor: pointer; transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.people-stat-button:hover { transform: translateY(-2px); border-color: rgba(99,121,87,.34); }
.people-stat-button.active { border-color: rgba(99,121,87,.52); box-shadow: 0 0 0 3px rgba(111,127,96,.1),var(--shadow); }
.people-stat-button.active::before { content: ""; position: absolute; left: 0; top: 15px; bottom: 15px; width: 4px; border-radius: 0 4px 4px 0; background: var(--primary); }

.people-journal-list { display: grid; grid-template-columns: 1fr; gap: 20px; }
.people-memory-group { display: grid; gap: 11px; min-width: 0; }
.people-memory-group-heading { display: flex; align-items: center; gap: 8px; padding: 2px 2px 0; color: var(--text); }
.people-memory-group-heading > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 10px; background: var(--accent-soft); }
.people-memory-group-heading strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.03rem; }
.people-memory-group-heading small { margin-left: auto; min-width: 27px; padding: 3px 7px; border-radius: 999px; color: var(--muted); background: var(--surface-2); text-align: center; font-weight: 800; }
.people-memory-group.follow-group .people-memory-group-heading > span { background: #f4edbd; }
.people-memory-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.person-journal-card { cursor: pointer; transition: transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.person-journal-card:hover,.person-journal-card:focus-visible { transform: translateY(-2px); border-color: rgba(99,121,87,.34); box-shadow: 0 12px 27px rgba(73,63,47,.12); outline: none; }
.person-journal-card:nth-child(4n+2),.person-journal-card:nth-child(4n+3) { transform: none; }
.person-journal-card:nth-child(4n+2):hover,.person-journal-card:nth-child(4n+3):hover { transform: translateY(-2px); }
.person-memory-note { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.person-no-memory { margin: 14px 0 3px; color: var(--muted); font-size: .82rem; font-style: italic; line-height: 1.45; }
.person-card-footer { justify-content: space-between; }
.person-open-hint { color: var(--primary-dark); font-weight: 850; }

.person-essential-section { background-image: repeating-linear-gradient(to bottom,transparent 0 31px,var(--paper-line) 31px 32px); }
.person-duplicate-hint { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid #dfcf92; border-radius: 12px; background: #fff8d9; color: #665a2f; }
.person-duplicate-hint[hidden] { display: none !important; }
.person-duplicate-hint > span { font-size: 1.2rem; }
.person-duplicate-hint div { display: grid; gap: 2px; }
.person-duplicate-hint small { color: #7e7041; }
.person-follow-section { display: grid; gap: 0; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; background: var(--surface); }
.person-follow-toggle { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px; align-items: center; padding: 15px 16px; cursor: pointer; }
.person-follow-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.person-follow-check { display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid var(--border); border-radius: 9px; color: transparent; background: var(--surface-2); font-weight: 900; }
.person-follow-toggle input:checked + .person-follow-check { color: #fff; border-color: var(--primary); background: var(--primary); }
.person-follow-toggle > span:last-child { display: grid; gap: 3px; }
.person-follow-toggle small { color: var(--muted); line-height: 1.4; }
.person-follow-input { padding: 0 16px 16px 56px; }
.person-follow-input[hidden] { display: none !important; }
.person-more-details { border: 1px solid var(--border); border-radius: 14px; background: var(--surface); overflow: hidden; }
.person-more-details summary { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 2px 10px; align-items: center; padding: 15px 16px; cursor: pointer; list-style: none; }
.person-more-details summary::-webkit-details-marker { display: none; }
.person-more-details summary > span { grid-row: 1/3; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: var(--accent-soft); font-size: 1rem; transition: transform .16s ease; }
.person-more-details[open] summary > span { transform: rotate(45deg); }
.person-more-details summary small { color: var(--muted); }
.person-more-details-body { display: grid; gap: 12px; padding: 0 16px 16px; border-top: 1px dashed var(--border); padding-top: 16px; }

body.dark .people-quick-card { border-color: rgba(149,164,127,.2); background: linear-gradient(135deg,rgba(66,68,54,.96),rgba(48,48,41,.98)); }
body.dark .people-quick-pin { background: rgba(38,39,32,.68); }
body.dark .people-memory-group.follow-group .people-memory-group-heading > span { background: #554e2f; }
body.dark .person-duplicate-hint { border-color: #716844; background: #4b452c; color: #eee2a9; }
body.dark .person-duplicate-hint small { color: #d8cf9c; }

@media (min-width: 1180px) {
  .people-memory-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .people-quick-card { grid-template-columns: 1fr; gap: 16px; padding: 19px; }
  .people-quick-form { grid-template-columns: 1fr; }
  .people-quick-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .people-memory-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .people-quick-copy { gap: 10px; }
  .people-quick-pin { width: 38px; height: 38px; border-radius: 12px; }
  .people-quick-actions { grid-template-columns: 1fr; }
  .people-quick-actions .primary-button,.people-quick-actions .secondary-button { width: 100%; }
  .people-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .people-stat-card { min-width: 0; }
  .people-stat-card small { overflow-wrap: anywhere; }
  .person-duplicate-hint { grid-template-columns: auto minmax(0,1fr); }
  .person-duplicate-hint .text-button { grid-column: 2; justify-self: start; }
  .person-follow-input { padding-left: 16px; }
}

/* V9.9 — Dark journal refresh */
body.dark {
  --bg: #161b1f;
  --surface: #242c31;
  --surface-2: #2e383e;
  --text: #eef3ef;
  --muted: #b7c1bc;
  --primary: #96b59f;
  --primary-dark: #e3efe7;
  --accent: #90b09a;
  --accent-soft: #33413b;
  --border: #49564f;
  --danger: #c4867d;
  --shadow: 0 18px 46px rgba(0,0,0,.34);
  --paper-line: rgba(150, 177, 198, .12);
  --paper-margin: rgba(189, 111, 107, .28);
  --sticky: #65562f;
  --sticky-border: #8b7543;
  --tape: rgba(164, 145, 88, .76);
  --ink-blue: #d6e1e6;
  background:
    radial-gradient(circle at 14% -8%, rgba(92, 116, 102, .22) 0 14%, transparent 42%),
    radial-gradient(circle at 106% 8%, rgba(84, 98, 122, .16) 0 13%, transparent 38%),
    linear-gradient(180deg, #171c20 0%, #13181b 100%);
}
body.dark .topbar {
  background: linear-gradient(to bottom, rgba(18, 24, 28, .96) 72%, rgba(18,24,28,0) 100%);
  backdrop-filter: blur(9px);
}
body.dark .hero-card,
body.dark .gentle-card,
body.dark .quick-card,
body.dark .note-session-row,
body.dark .checklist-item,
body.dark .program-preview-row,
body.dark .focus-note-switcher,
body.dark .ink-section,
body.dark .settings-status-chip,
body.dark .settings-side-nav,
body.dark .settings-card,
body.dark .settings-choice-tile,
body.dark .settings-note-mode,
body.dark .settings-action-card,
body.dark .settings-help-card,
body.dark .settings-advanced,
body.dark .typed-note-toolbar,
body.dark .typed-note-outline,
body.dark .person-journal-card,
body.dark .people-search-label input,
body.dark .people-empty-state,
body.dark .feedback-type-option,
body.dark .feedback-form input,
body.dark .feedback-form textarea,
body.dark .web-install-guide-content,
body.dark .web-install-tabs button.active,
body.dark .web-install-step-list li {
  border-color: rgba(126, 145, 136, .17);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
body.dark .hero-card {
  background-color: #242d33;
  background-image:
    linear-gradient(90deg, transparent 0 25px, var(--paper-margin) 25px 26px, transparent 26px),
    repeating-linear-gradient(to bottom, transparent 0 31px, var(--paper-line) 31px 32px),
    linear-gradient(145deg, #2d373d, #232b31 58%, #20272c);
}
body.dark .gentle-card,
body.dark .notes-welcome-card,
body.dark .notebook-library-intro,
body.dark .checklist-welcome-note,
body.dark .jw-purpose-card {
  border-color: rgba(163, 141, 80, .38);
  background: linear-gradient(145deg, #6a5b31, #4f472a);
}
body.dark .gentle-card p,
body.dark .notes-welcome-copy p:last-child,
body.dark .notebook-library-intro p:last-child,
body.dark .checklist-welcome-note p:not(.eyebrow),
body.dark .jw-purpose-card p { color: #efe2ae; }
body.dark .quick-card,
body.dark .note-session-row,
body.dark .checklist-item,
body.dark .program-preview-row,
body.dark .people-browser-panel,
body.dark .typed-note-toolbar,
body.dark .typed-note-outline,
body.dark .settings-card,
body.dark .settings-choice-tile,
body.dark .settings-note-mode,
body.dark .settings-action-card,
body.dark .settings-help-card,
body.dark .settings-advanced,
body.dark .feedback-type-option,
body.dark .feedback-form input,
body.dark .feedback-form textarea,
body.dark .platform-recommendation,
body.dark .platform-web-install,
body.dark .platform-web-installed,
body.dark .web-install-guide-content,
body.dark .web-install-step-list li,
body.dark .person-journal-card,
body.dark .people-empty-state {
  background: linear-gradient(180deg, rgba(42, 50, 56, .96), rgba(33, 40, 45, .98));
}
body.dark .bottom-nav {
  background: rgba(24, 30, 34, .96);
  border-top-color: rgba(103, 118, 111, .34);
  backdrop-filter: blur(9px);
}
body.dark .nav-item:nth-child(1) { --tab-bg: #355247; }
body.dark .nav-item:nth-child(2) { --tab-bg: #625533; }
body.dark .nav-item:nth-child(3) { --tab-bg: #5b453b; }
body.dark .nav-item:nth-child(4) { --tab-bg: #3d5660; }
body.dark .nav-item:nth-child(5) { --tab-bg: #55445e; }
body.dark .day-tab,
body.dark .people-filter,
body.dark .settings-segmented,
body.dark .settings-toggle-icon,
body.dark .settings-note-mode > span,
body.dark .settings-action-card > span,
body.dark .settings-advanced summary > span:first-child,
body.dark .web-install-tabs { background: #313a40; }
body.dark .day-tab.active,
body.dark .settings-segmented button.active { background: #3a444b; }
body.dark input,
body.dark textarea,
body.dark select,
body.dark #focusNotes,
body.dark .typed-note-preview,
body.dark #liveFocusNotes {
  color: var(--text);
  background-color: #1d2429;
  border-color: rgba(126,145,136,.22);
}
body.dark input::placeholder,
body.dark textarea::placeholder { color: #8c9792; }
body.dark .icon-button,
body.dark .close-button,
body.dark .secondary-button,
body.dark label.file-label,
body.dark .typed-tool,
body.dark .sticky-lane-icon,
body.dark .sticky-add-button,
body.dark .person-edit-button {
  background: linear-gradient(180deg, #313a40, #273037);
  border-color: rgba(126,145,136,.18);
}
body.dark .primary-button,
body.dark .settings-action-primary,
body.dark .platform-download-button {
  color: #18211c;
  background: linear-gradient(180deg, #b8ceb7, #96b59f);
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
body.dark .storage-status,
body.dark .encryption-note,
body.dark .mini-gem,
body.dark .application-check,
body.dark .pdf-import-progress,
body.dark .program-preview-day-heading,
body.dark .settings-storage-card,
body.dark .feedback-destination-note,
body.dark .settings-feature-note {
  background: linear-gradient(180deg, #39443d, #303934);
}
body.dark .home-lunch-card,
body.dark .today-status-card.lunch-active,
body.dark .lunch-hero,
body.dark .person-follow-up,
body.dark .keep-quick-card {
  border-color: #86723c;
  background: linear-gradient(135deg, #6d5d30, #4a442a);
}
body.dark .person-follow-up small,
body.dark .settings-gentle-warning,
body.dark .feedback-privacy-note,
body.dark .person-duplicate-hint,
body.dark .keep-quick-card p { color: #f1e2a9; }
body.dark .person-follow-up.done,
body.dark .storage-status.done { background: linear-gradient(180deg, #39443d, #303934); }
body.dark .typed-save-status {
  color: #d9e6da;
  border-color: rgba(150,181,159,.28);
  background: rgba(72, 101, 82, .45);
}
body.dark #focusNotes,
body.dark .typed-note-preview,
body.dark #liveFocusNotes {
  background-image:
    linear-gradient(90deg, transparent 0 35px, rgba(190, 113, 108, .28) 35px 36px, transparent 36px),
    repeating-linear-gradient(to bottom, transparent 0 31px, rgba(141, 174, 194, .16) 31px 32px);
}
body.dark .note-card > .structured-note-render { background: rgba(22, 28, 32, .72); }
body.dark .note-key,
body.dark .typed-tool-key,
body.dark .keep-star-button.is-kept,
body.dark .structured-keep-button.is-kept,
body.dark .today-timeline-row.kind-lunch .timeline-state-icon { background: #665629; color: #f7e08d; }
body.dark .note-scripture,
body.dark .typed-tool-scripture { background: #2f4a3f; }
body.dark .note-question,
body.dark .typed-tool-question { background: #4a3f61; }
body.dark .checklist-progress-card,
body.dark .sticky-lane,
body.dark .people-quick-card,
body.dark .notebook-detail-cover,
body.dark .settings-profile-card,
body.dark .platform-recommendation,
body.dark .platform-web-install,
body.dark .platform-web-installed,
body.dark .web-install-shell,
body.dark .live-focus-dialog {
  border-color: rgba(126,145,136,.19);
  background: linear-gradient(160deg, #2a3238, #22292e 70%);
}
body.dark .checklist-sticky { filter: saturate(.92) brightness(.92); }
body.dark .notes-notebook-card { filter: saturate(.88) brightness(.96); }
body.dark .notebook-card-type,
body.dark .notebook-card-open,
body.dark .notes-notebook-card > strong,
body.dark .notebook-card-stats b,
body.dark .sticky-note-main,
body.dark .cover-choice { color: #1f241f; }
body.dark .notebook-card-date,
body.dark .notebook-card-stats { color: rgba(31,36,31,.76); }
body.dark .settings-nav-link:hover,
body.dark .settings-nav-link:focus-visible,
body.dark .settings-nav-link.active,
body.dark .people-filter.active,
body.dark .feedback-type-option.active {
  background: #445149;
}
body.dark .settings-about-note,
body.dark .empty-state,
body.dark .notes-now-card,
body.dark .notes-session-panel,
body.dark .saved-notes-panel { background: linear-gradient(180deg, rgba(37,45,51,.94), rgba(30,36,41,.98)); }
body.dark .brand-mark-image,
body.dark .settings-profile-mark-image,
body.dark .settings-about-mark-image,
body.dark .web-install-app-icon-image,
body.dark .welcome-brand-logo { filter: drop-shadow(0 10px 18px rgba(0,0,0,.28)); }
body.dark .person-memory-note { background: rgba(24, 30, 34, .56); }
body.dark .platform-recommendation-icon,
body.dark .platform-badge,
body.dark .platform-status-pill,
body.dark .settings-local-pill,
body.dark .settings-data-size,
body.dark .settings-card-icon,
body.dark .settings-help-card > span,
body.dark .web-install-guide-title > span,
body.dark .web-install-step-symbol,
body.dark .web-install-app-icon {
  color: #eef3ef;
  background: linear-gradient(180deg, #4a6456, #3a4f45);
}
body.dark .web-install-step-number { background: linear-gradient(180deg, #9ab6a0, #7da089); color: #18211c; }
body.dark .feedback-status.success { color: #e0f0df; border-color: #5f7967; background: #304238; }
body.dark .feedback-status.error { color: #f4d0c8; border-color: #875651; background: #553732; }
body.dark .feedback-status.sending { color: #e8efe9; background: #35403a; }

/* =========================================================
   V10 — Modern Cozy Notebook + Noted Live
   ========================================================= */
:root {
  --v10-page: #f5f3ed;
  --v10-paper: rgba(255,255,252,.88);
  --v10-paper-solid: #fffefa;
  --v10-sage: #718b78;
  --v10-sage-deep: #4f6959;
  --v10-sage-soft: #e9efe9;
  --v10-ink: #28322d;
  --v10-line: rgba(79,105,89,.13);
  --v10-warm: #c3a879;
  --v10-radius-sm: 14px;
  --v10-radius: 20px;
  --v10-radius-lg: 28px;
  --v10-shadow-soft: 0 10px 32px rgba(70,74,65,.07);
  --v10-shadow-float: 0 18px 50px rgba(62,69,62,.12);
}

body {
  background:
    radial-gradient(circle at 9% -4%, rgba(124,149,128,.14), transparent 28%),
    radial-gradient(circle at 96% 4%, rgba(203,177,127,.13), transparent 26%),
    var(--v10-page);
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  opacity:.24;
  pointer-events:none;
  background-image: radial-gradient(rgba(75,86,75,.12) .6px, transparent .6px);
  background-size: 18px 18px;
  mask-image: linear-gradient(to bottom,rgba(0,0,0,.42),transparent 72%);
}

.app-shell { width:min(100%,1280px); }
.topbar {
  margin-top:8px;
  padding:12px 18px;
  border:1px solid rgba(77,101,87,.11);
  border-radius:22px;
  background:rgba(255,254,250,.78);
  box-shadow:var(--v10-shadow-soft);
  backdrop-filter:blur(16px) saturate(1.15);
}
.brand-mark { box-shadow:none; }
.brand-mark-image { width:44px; height:44px; border-radius:14px; }
.brand-title strong { letter-spacing:-.02em; }
.brand-title span { opacity:.82; }
.icon-button,.close-button,.secondary-button,label.file-label,.mini-button {
  border-color:rgba(76,99,86,.13);
  box-shadow:none;
}
.icon-button,.close-button { border-radius:13px; }
.primary-button,.secondary-button,label.file-label {
  min-height:44px;
  border-radius:14px;
  font-weight:780;
  letter-spacing:-.01em;
}
.primary-button {
  background:linear-gradient(180deg,#76937f,#66836f);
  box-shadow:0 8px 18px rgba(78,107,87,.17);
}
.primary-button:hover { background:linear-gradient(180deg,#688873,#597661); }
.secondary-button,label.file-label { background:rgba(255,255,252,.76); }

.panel,.hero-card,.gentle-card,.quick-card,.today-status-card,.home-lunch-card,
.notes-session-panel,.saved-notes-panel,.people-browser-panel,.settings-card,
.settings-profile-card,.checklist-progress-card,.sticky-lane,.notes-welcome-card,
.notebook-detail-cover,.getting-started-card,.platform-recommendation,
.platform-recommendation-card,.today-timeline-panel {
  border-color:rgba(78,104,89,.12);
  box-shadow:var(--v10-shadow-soft);
}
.panel,.quick-card,.today-status-card,.notes-session-panel,.saved-notes-panel,
.people-browser-panel,.settings-card,.checklist-progress-card,.sticky-lane,
.today-timeline-panel {
  border-radius:var(--v10-radius);
  background:var(--v10-paper);
  backdrop-filter:blur(10px);
}
.hero-card {
  border-radius:var(--v10-radius-lg);
  background:
    linear-gradient(110deg,rgba(255,255,255,.34),transparent 55%),
    linear-gradient(135deg,#edf2eb,#f8f4e9);
}
.hero-card::after { opacity:.28; }
.gentle-card,.notes-welcome-card,.notebook-library-intro,.checklist-welcome-note {
  border-radius:var(--v10-radius);
  transform:none !important;
  background:linear-gradient(135deg,#f1ead1,#f8f3df);
}
.quick-grid { gap:12px; }
.quick-card {
  min-height:134px;
  padding:18px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.quick-card:hover,.quick-card:focus-visible {
  transform:translateY(-3px);
  border-color:rgba(82,112,93,.26);
  box-shadow:var(--v10-shadow-float);
}
.quick-icon {
  width:40px;
  height:40px;
  border-radius:13px;
  background:var(--v10-sage-soft);
}

input,textarea,select {
  border-color:rgba(78,104,89,.17);
  border-radius:14px;
  background:rgba(255,255,252,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
input:focus,textarea:focus,select:focus {
  border-color:rgba(93,127,104,.48);
  box-shadow:0 0 0 4px rgba(113,139,120,.12);
}

.bottom-nav {
  left:50%;
  bottom:10px;
  width:min(calc(100% - 20px),700px);
  transform:translateX(-50%);
  padding:7px;
  border:1px solid rgba(75,99,85,.14);
  border-radius:22px;
  background:rgba(255,254,250,.88);
  box-shadow:0 18px 45px rgba(62,67,61,.14);
  backdrop-filter:blur(18px) saturate(1.12);
}
.nav-item {
  border-radius:15px;
  min-height:54px;
}
.nav-item::before { display:none; }
.nav-item.active {
  color:var(--v10-sage-deep);
  background:#e7eee7;
}
.nav-item span { font-size:1.05rem; }

/* V10 launcher */
.noted-live-launcher {
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:18px 0;
  padding:20px;
  overflow:hidden;
  border:1px solid rgba(74,108,87,.16);
  border-radius:26px;
  background:
    linear-gradient(115deg,rgba(255,255,255,.5),transparent 52%),
    linear-gradient(135deg,#e9f1e9,#f7f3e7 72%);
  box-shadow:var(--v10-shadow-float);
}
.noted-live-launcher::after {
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-110px;
  top:-120px;
  border-radius:50%;
  background:rgba(111,145,119,.12);
}
.live-launch-mark {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(145deg,#688873,#526f5c);
  box-shadow:0 12px 25px rgba(72,101,80,.22);
}
.live-launch-mark span { animation:v10Pulse 2.1s ease-in-out infinite; }
@keyframes v10Pulse { 0%,100%{opacity:.55;transform:scale(.82)} 50%{opacity:1;transform:scale(1)} }
.live-launch-copy { position:relative; z-index:1; min-width:0; }
.live-launch-copy h3 { margin:5px 0 4px; font-size:1.35rem; letter-spacing:-.025em; }
.live-launch-copy p { margin:0; color:var(--muted); }
.live-launch-copy small { display:block; margin-top:7px; color:var(--v10-sage-deep); font-weight:700; }
.live-launch-badge,.v10-live-status {
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.08em;
}
.live-tone-live { color:#fff; background:#617e69; }
.live-tone-before,.live-tone-between { color:#526352; background:#e1ebe2; }
.live-tone-lunch { color:#6e5a23; background:#f1e3ac; }
.live-tone-finished { color:#66517a; background:#ebe2f2; }
.live-tone-preview { color:#52677a; background:#e3ecf3; }
.live-tone-empty { color:#6c6b66; background:#eae8e2; }
.live-launch-button { position:relative; z-index:1; min-width:170px; }
.live-launch-button span { margin-left:6px; }

/* Noted Live shell */
#liveView { padding-bottom:130px; }
.v10-live-header {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:16px;
  padding:18px 20px;
  border:1px solid rgba(78,104,89,.12);
  border-radius:24px;
  background:rgba(255,254,250,.82);
  box-shadow:var(--v10-shadow-soft);
  backdrop-filter:blur(14px);
}
.v10-live-brand { display:flex; gap:14px; align-items:center; min-width:0; }
.v10-live-brand h2 { margin:2px 0 2px; font-size:1.55rem; letter-spacing:-.035em; }
.v10-live-brand p { margin:0; color:var(--muted); font-size:.78rem; }
.v10-live-kicker { color:var(--v10-sage-deep); font-size:.64rem; font-weight:900; letter-spacing:.13em; }
.v10-back-button {
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:44px;
  height:44px;
  border:1px solid rgba(78,104,89,.13);
  border-radius:14px;
  color:var(--text);
  background:rgba(255,255,252,.72);
  cursor:pointer;
  font-size:1.15rem;
}
.v10-live-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.v10-day-picker { display:grid; gap:3px; min-width:120px; }
.v10-day-picker span { color:var(--muted); font-size:.61rem; font-weight:800; }
.v10-day-picker select { min-height:40px; padding-block:7px; }
.v10-live-summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,320px);
  gap:18px;
  align-items:center;
  margin-bottom:16px;
  padding:20px 22px;
  border:1px solid rgba(78,104,89,.12);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(235,242,235,.92),rgba(252,249,241,.92));
}
.v10-summary-copy span { display:block; color:var(--v10-sage-deep); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.v10-summary-copy strong { display:block; margin-top:5px; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; line-height:1.25; }
.v10-summary-copy p { margin:6px 0 0; color:var(--muted); }
.v10-progress-block { display:grid; gap:8px; }
.v10-progress-block>div:first-child { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.v10-progress-block strong { font-size:1.2rem; }
.v10-progress-block small { color:var(--muted); }
.v10-progress-track { height:8px; overflow:hidden; border-radius:999px; background:rgba(78,104,89,.1); }
.v10-progress-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#799680,#9aae92); transition:width .28s ease; }

.v10-live-layout {
  display:grid;
  grid-template-columns:minmax(280px,350px) minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.v10-timeline-panel,.v10-live-workspace {
  border:1px solid rgba(78,104,89,.12);
  border-radius:24px;
  background:rgba(255,254,250,.86);
  box-shadow:var(--v10-shadow-soft);
}
.v10-timeline-panel {
  position:sticky;
  top:96px;
  max-height:calc(100vh - 140px);
  overflow:hidden;
}
.v10-panel-heading { padding:18px 18px 13px; border-bottom:1px solid rgba(78,104,89,.1); }
.v10-panel-heading strong { display:block; margin-top:3px; font-size:1rem; }
.v10-timeline-list { display:grid; gap:3px; max-height:calc(100vh - 240px); overflow:auto; padding:8px; }
.v10-timeline-row {
  display:grid;
  grid-template-columns:28px 64px minmax(0,1fr);
  gap:8px;
  align-items:center;
  width:100%;
  min-height:58px;
  padding:9px 10px;
  border:1px solid transparent;
  border-radius:14px;
  color:var(--text);
  background:transparent;
  cursor:pointer;
  text-align:left;
}
.v10-timeline-row:hover { background:rgba(233,239,233,.68); }
.v10-timeline-row.is-selected { border-color:rgba(85,119,96,.2); background:#eaf0e9; }
.v10-timeline-row.is-current { border-color:rgba(85,119,96,.27); background:linear-gradient(90deg,#e2ede4,#edf3ec); }
.v10-timeline-row.is-past { opacity:.62; }
.v10-timeline-row.kind-lunch,.v10-timeline-row.kind-break { background:rgba(244,235,202,.46); }
.v10-timeline-state { display:grid; place-items:center; width:27px; height:27px; border-radius:9px; background:rgba(101,133,109,.1); font-size:.72rem; }
.v10-timeline-row time { color:var(--muted); font-size:.7rem; font-weight:800; }
.v10-timeline-copy { min-width:0; }
.v10-timeline-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; font-size:.76rem; line-height:1.35; }
.v10-timeline-copy small { display:block; margin-top:3px; color:var(--v10-sage-deep); font-size:.59rem; font-weight:900; letter-spacing:.06em; }
.v10-live-workspace { min-height:620px; overflow:hidden; }
.v10-session-workspace { padding:26px; }
.v10-session-heading { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.v10-session-heading h2 { max-width:760px; margin:5px 0 6px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.55rem,3vw,2.35rem); line-height:1.12; letter-spacing:-.035em; }
.v10-session-heading p { margin:0; color:var(--muted); }
.v10-workspace-eyebrow { color:var(--v10-sage-deep); font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.v10-keep-button {
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:48px;
  height:48px;
  border:1px solid rgba(78,104,89,.13);
  border-radius:16px;
  color:#7e897f;
  background:#f7f6f1;
  cursor:pointer;
  font-size:1.4rem;
}
.v10-keep-button.is-kept { color:#8d752d; border-color:#d7c889; background:#fbf3cf; }
.v10-return-live { margin-top:16px; padding:8px 12px; border:0; border-radius:999px; color:#45634f; background:#e4eee5; cursor:pointer; font-weight:800; }
.v10-note-actions { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 18px; }
.v10-note-preview { overflow:hidden; border:1px solid rgba(78,104,89,.12); border-radius:20px; background:#fffefa; }
.v10-note-preview-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:13px 16px; border-bottom:1px solid rgba(78,104,89,.1); background:#f6f7f2; }
.v10-note-preview-heading span { font-weight:850; }
.v10-note-preview-heading small { color:var(--muted); text-align:right; }
.v10-note-preview>.structured-note-render { min-height:300px; padding:22px 24px 40px; background-image:repeating-linear-gradient(to bottom,transparent 0 35px,rgba(104,133,151,.09) 35px 36px); }
.v10-note-blank { display:grid; place-items:center; min-height:320px; padding:40px; color:var(--muted); text-align:center; }
.v10-note-blank span { display:grid; place-items:center; width:54px; height:54px; margin-bottom:10px; border-radius:18px; color:var(--v10-sage-deep); background:var(--v10-sage-soft); font-size:1.25rem; }
.v10-note-blank p { max-width:360px; margin:0; }
.v10-next-session { display:flex; justify-content:space-between; gap:16px; margin-top:18px; padding:15px 17px; border-radius:16px; background:#edf2ed; }
.v10-next-session span { color:var(--muted); font-size:.72rem; }
.v10-next-session strong { text-align:right; font-size:.78rem; }
.v10-live-empty,.v10-lunch-workspace,.v10-finished-workspace { display:grid; place-items:center; min-height:620px; padding:50px; text-align:center; }
.v10-live-empty>span,.v10-state-orb { display:grid; place-items:center; width:72px; height:72px; margin-bottom:16px; border-radius:24px; background:#e8efe9; font-size:2rem; }
.v10-live-empty h3,.v10-lunch-workspace h2,.v10-finished-workspace h2 { max-width:620px; margin:5px 0 8px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.7rem,4vw,2.7rem); }
.v10-live-empty p,.v10-lunch-workspace p,.v10-finished-workspace p { max-width:540px; margin:0 0 20px; color:var(--muted); }
.v10-lunch-actions,.v10-finished-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:8px; }
.v10-lunch-workspace { background:linear-gradient(145deg,#fbf3d4,#fffdfa); }
.v10-lunch-workspace .v10-state-orb { background:#f2e4ac; }
.v10-finished-workspace { background:linear-gradient(145deg,#f0edf4,#fffefa); }
.v10-finished-workspace .v10-state-orb { background:#e8e0ee; }

.v10-day-capsule-panel {
  margin-top:16px;
  padding:22px;
  border:1px solid rgba(78,104,89,.12);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(244,239,216,.9),rgba(255,253,246,.9));
  box-shadow:var(--v10-shadow-soft);
}
.v10-capsule-heading { display:flex; justify-content:space-between; gap:18px; align-items:center; }
.v10-capsule-heading h3 { margin:4px 0; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; }
.v10-capsule-heading p { margin:0; color:var(--muted); }
.v10-capsule-stats { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.v10-capsule-stats span { display:flex; gap:6px; align-items:center; min-height:38px; padding:7px 11px; border-radius:12px; background:rgba(255,255,252,.64); color:var(--muted); font-size:.7rem; }
.v10-capsule-stats strong { color:var(--text); font-size:.9rem; }
.v10-day-capsule-panel blockquote { margin:18px 0 0; padding:16px 18px; border-left:4px solid #91a991; border-radius:0 15px 15px 0; background:rgba(255,255,252,.62); font-family:Georgia,"Times New Roman",serif; font-size:1.05rem; line-height:1.55; }
.v10-day-capsule-panel>p { margin-bottom:0; }
.v10-capsule-gentle { padding:12px 14px; border-radius:14px; color:#655a37; background:#f4edcf; }

/* Memory Book */
.v10-memory-book-dialog { width:min(960px,calc(100vw - 24px)); padding:0; border:0; background:transparent; }
.v10-memory-book-shell { max-height:min(90vh,900px); overflow:auto; padding:24px; border:1px solid var(--border); border-radius:28px; background:var(--surface); box-shadow:0 30px 90px rgba(45,53,46,.26); }
.v10-memory-book-content { display:grid; gap:16px; }
.v10-memory-overview { padding:28px; border:1px solid rgba(78,104,89,.12); border-radius:24px; background:linear-gradient(140deg,#edf3ed,#faf6ea); text-align:center; }
.v10-memory-logo img { width:72px; height:72px; border-radius:21px; box-shadow:0 12px 26px rgba(68,88,73,.14); }
.v10-memory-overview h3 { margin:6px 0 8px; font-family:Georgia,"Times New Roman",serif; font-size:1.65rem; }
.v10-memory-overview>p:not(.eyebrow) { max-width:620px; margin:0 auto; color:var(--muted); }
.v10-memory-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-top:22px; }
.v10-memory-stats span { display:grid; gap:3px; min-width:0; padding:12px 8px; border-radius:14px; background:rgba(255,255,252,.62); color:var(--muted); font-size:.65rem; }
.v10-memory-stats strong { color:var(--text); font-size:1.1rem; }
.v10-memory-day { padding:24px; border:1px solid rgba(78,104,89,.12); border-radius:22px; background:rgba(255,255,252,.82); }
.v10-memory-day>header { display:flex; justify-content:space-between; gap:14px; align-items:baseline; padding-bottom:14px; border-bottom:1px solid rgba(78,104,89,.1); }
.v10-memory-day>header span { color:var(--v10-sage-deep); font-weight:900; }
.v10-memory-day>header strong { color:var(--muted); font-size:.76rem; }
.v10-memory-day section { margin-top:18px; }
.v10-memory-day h4 { margin:0 0 8px; font-size:.82rem; }
.v10-memory-day blockquote { margin:0; padding:16px 18px; border-left:4px solid #89a18c; border-radius:0 14px 14px 0; background:#f1f5f1; font-family:Georgia,"Times New Roman",serif; line-height:1.55; }
.v10-memory-day ul { margin:0; padding-left:20px; }
.v10-memory-day li { margin:7px 0; }
.v10-memory-people { display:flex; flex-wrap:wrap; gap:7px; }
.v10-memory-people span { padding:7px 10px; border-radius:999px; background:#e9efea; font-size:.72rem; font-weight:750; }
.v10-memory-carry { padding:15px 17px; border-radius:16px; background:#edf2e8; }
.v10-memory-carry p { margin:0; }
.v10-memory-final-carry { display:grid; grid-template-columns:50px minmax(0,1fr); gap:14px; padding:22px; border-radius:22px; background:linear-gradient(135deg,#e8f0e7,#f7f4e6); }
.v10-memory-final-carry>span { display:grid; place-items:center; width:50px; height:50px; border-radius:17px; background:rgba(255,255,252,.68); font-size:1.35rem; }
.v10-memory-final-carry h3 { margin:0 0 8px; }
.v10-memory-final-carry p { margin:6px 0; }
.v10-memory-empty { display:grid; place-items:center; min-height:240px; padding:30px; color:var(--muted); text-align:center; }
.v10-memory-empty span { font-size:2.2rem; }
.v10-memory-empty p { max-width:480px; }
.v10-memory-footer { position:sticky; bottom:-24px; display:flex; justify-content:flex-end; gap:9px; margin:18px -24px -24px; padding:14px 24px; border-top:1px solid var(--border); background:rgba(255,254,250,.92); backdrop-filter:blur(12px); }

/* Modernize legacy notebook surfaces without removing their personality. */
.person-journal-card,.notes-notebook-card,.checklist-sticky { transform:none !important; }
.person-journal-card { border-radius:18px; box-shadow:none; }
.notes-notebook-card { border-radius:20px; box-shadow:0 10px 26px rgba(75,70,56,.09); }
.checklist-sticky { border-radius:16px; box-shadow:0 8px 18px rgba(75,70,56,.08); }
.settings-layout { gap:16px; }
.settings-side-nav { border-radius:20px; }
.settings-nav-link { border-radius:14px; }
.settings-nav-link.active { box-shadow:none; }
.modal,.focus-dialog,.live-focus-dialog { border-radius:26px; }

/* V10 dark version — keep the richer V9.9 contrast, modernize surfaces. */
body.dark {
  --v10-page:#11171b;
  --v10-paper:rgba(35,44,49,.9);
  --v10-paper-solid:#232c31;
  --v10-sage:#95b39f;
  --v10-sage-deep:#bed4c4;
  --v10-sage-soft:#31423a;
  --v10-ink:#eef3ef;
  --v10-line:rgba(156,181,166,.13);
  --v10-shadow-soft:0 12px 34px rgba(0,0,0,.18);
  --v10-shadow-float:0 20px 58px rgba(0,0,0,.3);
}
body.dark::before { opacity:.11; }
body.dark .topbar,
body.dark .v10-live-header,
body.dark .bottom-nav,
body.dark .v10-timeline-panel,
body.dark .v10-live-workspace {
  border-color:rgba(143,168,152,.16);
  background:rgba(30,39,44,.86);
}
body.dark .hero-card {
  background:linear-gradient(135deg,#29362f,#202b30 75%);
}
body.dark .noted-live-launcher {
  border-color:rgba(143,168,152,.17);
  background:linear-gradient(135deg,#263a31,#252e33 72%);
}
body.dark .live-launch-copy small { color:#b8d1bf; }
body.dark .live-tone-live { background:#597a66; }
body.dark .live-tone-before,body.dark .live-tone-between { color:#d8e9dd; background:#35483e; }
body.dark .live-tone-lunch { color:#f0dda0; background:#5b4d28; }
body.dark .live-tone-finished { color:#e5d5ef; background:#4d3e56; }
body.dark .live-tone-preview { color:#d7e5ef; background:#354a58; }
body.dark .live-tone-empty { color:#ced5d0; background:#384146; }
body.dark .v10-back-button,body.dark .secondary-button,body.dark label.file-label {
  color:var(--text);
  border-color:rgba(143,168,152,.16);
  background:linear-gradient(180deg,#303b41,#283238);
}
body.dark .v10-live-summary {
  border-color:rgba(143,168,152,.16);
  background:linear-gradient(135deg,#293a32,#252f34);
}
body.dark .v10-progress-track { background:rgba(159,183,168,.13); }
body.dark .v10-progress-track i { background:linear-gradient(90deg,#86a990,#a3c0aa); }
body.dark .v10-panel-heading { border-color:rgba(143,168,152,.13); }
body.dark .v10-timeline-row:hover { background:rgba(66,82,74,.42); }
body.dark .v10-timeline-row.is-selected { border-color:rgba(149,181,160,.25); background:#33453c; }
body.dark .v10-timeline-row.is-current { border-color:rgba(149,181,160,.32); background:linear-gradient(90deg,#385044,#304039); }
body.dark .v10-timeline-row.kind-lunch,body.dark .v10-timeline-row.kind-break { background:rgba(99,80,41,.38); }
body.dark .v10-timeline-state { background:rgba(143,168,152,.13); }
body.dark .v10-note-preview { border-color:rgba(143,168,152,.15); background:#1b2328; }
body.dark .v10-note-preview-heading { border-color:rgba(143,168,152,.13); background:#283238; }
body.dark .v10-note-preview>.structured-note-render { background-color:#1c2429; background-image:repeating-linear-gradient(to bottom,transparent 0 35px,rgba(137,171,192,.12) 35px 36px); }
body.dark .v10-note-blank>span { color:#d9e8dc; background:#304238; }
body.dark .v10-keep-button { color:#9aa7a0; border-color:rgba(143,168,152,.15); background:#29343a; }
body.dark .v10-keep-button.is-kept { color:#f2dc86; border-color:#6f602d; background:#514727; }
body.dark .v10-return-live { color:#d8e9dd; background:#35483e; }
body.dark .v10-next-session { background:#2b3933; }
body.dark .v10-lunch-workspace { background:linear-gradient(145deg,#4d4226,#252e33); }
body.dark .v10-lunch-workspace .v10-state-orb { background:#5d4e28; }
body.dark .v10-finished-workspace { background:linear-gradient(145deg,#403548,#252e33); }
body.dark .v10-finished-workspace .v10-state-orb { background:#4e4058; }
body.dark .v10-day-capsule-panel {
  border-color:rgba(169,145,77,.27);
  background:linear-gradient(135deg,#4c4329,#283036);
}
body.dark .v10-capsule-stats span,body.dark .v10-day-capsule-panel blockquote { background:rgba(31,40,44,.58); }
body.dark .v10-capsule-gentle { color:#f0dda0; background:#534727; }
body.dark .v10-memory-book-shell { background:#20292e; }
body.dark .v10-memory-overview { border-color:rgba(143,168,152,.16); background:linear-gradient(140deg,#293a32,#2a3035); }
body.dark .v10-memory-stats span { background:rgba(28,37,41,.62); }
body.dark .v10-memory-day { border-color:rgba(143,168,152,.15); background:#283238; }
body.dark .v10-memory-day>header { border-color:rgba(143,168,152,.13); }
body.dark .v10-memory-day blockquote { border-color:#719078; background:#202c27; }
body.dark .v10-memory-people span { background:#35453d; }
body.dark .v10-memory-carry { background:#344236; }
body.dark .v10-memory-final-carry { background:linear-gradient(135deg,#304238,#343829); }
body.dark .v10-memory-final-carry>span { background:rgba(30,39,43,.62); }
body.dark .v10-memory-footer { border-color:rgba(143,168,152,.14); background:rgba(31,40,45,.94); }
body.dark .nav-item.active { color:#e0eee4; background:#33473d; }

@media (max-width:900px) {
  .v10-live-layout { grid-template-columns:1fr; }
  .v10-timeline-panel { position:static; max-height:none; }
  .v10-timeline-list { display:flex; gap:7px; max-height:none; overflow-x:auto; padding:9px; scrollbar-width:none; }
  .v10-timeline-list::-webkit-scrollbar { display:none; }
  .v10-timeline-row { flex:0 0 230px; }
  .v10-live-workspace,.v10-live-empty,.v10-lunch-workspace,.v10-finished-workspace { min-height:520px; }
  .v10-memory-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .topbar { margin-top:4px; border-radius:18px; padding:9px 11px; }
  .brand-mark-image { width:39px; height:39px; border-radius:12px; }
  .bottom-nav { bottom:6px; width:calc(100% - 12px); border-radius:19px; }
  .noted-live-launcher { grid-template-columns:50px minmax(0,1fr); gap:13px; padding:16px; border-radius:21px; }
  .live-launch-mark { width:50px; height:50px; border-radius:16px; }
  .live-launch-button { grid-column:1/3; width:100%; min-width:0; }
  .v10-live-header { align-items:flex-start; padding:14px; border-radius:20px; }
  .v10-live-header,.v10-live-header-actions { flex-direction:column; }
  .v10-live-header-actions { width:100%; align-items:stretch; }
  .v10-day-picker { width:100%; }
  .v10-live-status { align-self:flex-start; }
  .v10-live-summary { grid-template-columns:1fr; padding:17px; border-radius:20px; }
  .v10-timeline-panel,.v10-live-workspace { border-radius:20px; }
  .v10-session-workspace { padding:19px 15px; }
  .v10-session-heading h2 { font-size:1.62rem; }
  .v10-note-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v10-note-actions button:first-child { grid-column:1/3; }
  .v10-note-preview>.structured-note-render { padding:18px 14px 34px; }
  .v10-note-preview-heading { align-items:flex-start; flex-direction:column; }
  .v10-note-preview-heading small { text-align:left; }
  .v10-next-session { flex-direction:column; }
  .v10-next-session strong { text-align:left; }
  .v10-live-empty,.v10-lunch-workspace,.v10-finished-workspace { min-height:450px; padding:34px 18px; }
  .v10-day-capsule-panel { padding:17px; border-radius:20px; }
  .v10-capsule-heading { align-items:flex-start; flex-direction:column; }
  .v10-capsule-heading button { width:100%; }
  .v10-memory-book-dialog { width:calc(100vw - 10px); }
  .v10-memory-book-shell { max-height:94vh; padding:16px 12px; border-radius:21px; }
  .v10-memory-overview,.v10-memory-day { padding:18px 14px; border-radius:18px; }
  .v10-memory-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v10-memory-day>header { align-items:flex-start; flex-direction:column; }
  .v10-memory-footer { bottom:-16px; margin:14px -12px -16px; padding:12px; }
  .v10-memory-footer button { flex:1; }
}

/* V10 Noted Live is intentionally immersive. */
body.noted-live-active .bottom-nav,
body.noted-live-active #quickAddButton { display:none; }
body.noted-live-active #liveView { padding-bottom:42px; }

/* V10.1 — Clear Path usability pass */
.v101-save-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid rgba(88, 110, 92, .14);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(255, 253, 248, .72);
  font-size: .67rem;
  white-space: nowrap;
  transition: background .18s ease, color .18s ease, transform .18s ease;
  cursor: default;
}
.v101-save-chip span { color: var(--primary); font-weight: 900; }
.v101-save-chip b { font-weight: 800; }
.v101-save-chip.saving { color: var(--primary-dark); background: var(--surface-2); }
.v101-save-chip.just-saved { color: var(--primary-dark); background: var(--accent); transform: translateY(-1px); }

@media (min-width: 860px) {
  .top-actions .icon-button[data-v101-label] { width: auto; min-width: 44px; padding-inline: 12px; gap: 7px; }
  .top-actions .icon-button[data-v101-label]::after { content: attr(data-v101-label); font-size: .7rem; font-weight: 800; letter-spacing: 0; }
}

.v101-next-step-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(91, 118, 96, .17);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(245, 248, 240, .97), rgba(255, 252, 245, .96));
  box-shadow: 0 14px 34px rgba(74, 84, 69, .08);
}
.v101-next-step-card[data-tone="program"] { background: linear-gradient(135deg, rgba(244, 244, 235, .98), rgba(255, 250, 238, .96)); }
.v101-next-step-card[data-tone="live"] { border-color: rgba(87, 121, 99, .25); background: linear-gradient(135deg, rgba(231, 241, 232, .98), rgba(250, 248, 237, .96)); }
.v101-next-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 17px;
  color: var(--primary-dark);
  background: var(--accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2rem;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(74, 99, 78, .08);
}
.v101-next-copy { min-width: 0; }
.v101-next-copy .eyebrow { margin: 0 0 3px; }
.v101-next-copy h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.08rem, 2vw, 1.32rem); }
.v101-next-copy > p:not(.eyebrow) { max-width: 660px; margin: 6px 0 0; color: var(--muted); font-size: .79rem; line-height: 1.5; }
.v101-next-copy small { display: block; margin-top: 7px; color: var(--primary-dark); font-size: .72rem; font-weight: 800; }
.v101-next-step-card > .primary-button { min-width: 178px; }

.v101-main-tools-help { margin: 5px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.v101-core-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-bottom: 12px; }
.v101-core-tools .quick-card { min-height: 132px; padding: 20px; }
.v101-core-tools .quick-card strong { font-size: 1rem; }
.v101-more-tools {
  margin-bottom: 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255, 253, 248, .57);
  overflow: hidden;
}
.v101-more-tools > summary,
.v101-program-other > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 66px;
  padding: 13px 16px;
  cursor: pointer;
  list-style: none;
}
.v101-more-tools > summary::-webkit-details-marker,
.v101-program-other > summary::-webkit-details-marker { display: none; }
.v101-more-tools > summary span,
.v101-program-other > summary span { display: grid; gap: 3px; }
.v101-more-tools > summary strong,
.v101-program-other > summary strong { color: var(--text); font-size: .82rem; }
.v101-more-tools > summary small,
.v101-program-other > summary small { color: var(--muted); font-size: .68rem; line-height: 1.4; }
.v101-more-tools > summary b,
.v101-program-other > summary b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: var(--primary-dark); background: var(--surface-2); transition: transform .18s ease; }
.v101-more-tools[open] > summary b,
.v101-program-other[open] > summary b { transform: rotate(45deg); }
.v101-more-tools-grid { padding: 0 13px 13px; }

.v101-screen-guide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -2px 0 18px;
  padding: 12px 14px;
  border: 1px solid rgba(88, 110, 92, .13);
  border-radius: 16px;
  background: rgba(255, 253, 248, .57);
}
.v101-screen-guide > div { min-width: 0; }
.v101-screen-guide strong { display: block; margin-bottom: 3px; font-size: .76rem; }
.v101-screen-guide p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.v101-screen-guide button,
.v101-live-help {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--primary-dark);
  background: var(--surface);
  cursor: pointer;
  font-size: .69rem;
  font-weight: 850;
}
.v101-live-help { min-height: 42px; border-color: rgba(255, 255, 255, .13); background: rgba(255, 255, 255, .08); }

.v101-help-dialog { width: min(620px, calc(100vw - 22px)); padding: 0; border: 0; border-radius: 24px; background: transparent; }
.v101-help-shell { padding: 24px; border: 1px solid var(--border); border-radius: 24px; background: var(--surface); box-shadow: 0 26px 76px rgba(43, 47, 39, .26); }
.v101-help-summary { margin: 0 0 18px; color: var(--muted); font-size: .84rem; line-height: 1.6; }
.v101-help-steps { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.v101-help-steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; align-items: start; padding: 11px; border: 1px solid rgba(88, 110, 92, .12); border-radius: 14px; background: var(--surface-2); }
.v101-help-steps li > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: var(--primary-dark); background: var(--accent); font-weight: 900; }
.v101-help-steps p { margin: 5px 0 0; color: var(--text); font-size: .77rem; line-height: 1.5; }
.v101-help-shell > .primary-button { width: 100%; }

.v101-program-recommended {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 8px 0 15px;
  padding: 15px;
  border: 1px solid rgba(91, 118, 96, .19);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(237, 245, 235, .98), rgba(255, 252, 243, .96));
}
.v101-program-recommended > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--primary-dark); background: var(--accent); font-size: 1rem; font-weight: 900; }
.v101-program-recommended .eyebrow { margin: 0 0 2px; }
.v101-program-recommended strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; }
.v101-program-recommended p:not(.eyebrow) { margin: 5px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.48; }
.v101-program-recommended .primary-button { min-width: 170px; }
.v101-program-other { margin-top: 14px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface-2); overflow: hidden; }
.v101-program-other-body { display: grid; gap: 12px; padding: 0 12px 12px; }
.v101-program-other-body .program-section { margin: 0; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(103, 137, 111, .34);
  outline-offset: 2px;
}

body.dark .v101-save-chip,
body.dark .v101-more-tools,
body.dark .v101-screen-guide { border-color: rgba(126, 145, 136, .17); background: rgba(38, 46, 51, .84); }
body.dark .v101-save-chip.just-saved { color: #e8f2eb; background: #43574b; }
body.dark .v101-next-step-card,
body.dark .v101-next-step-card[data-tone="program"],
body.dark .v101-next-step-card[data-tone="live"] { border-color: rgba(126, 145, 136, .19); background: linear-gradient(155deg, #2d383d, #222a2f 72%); box-shadow: 0 15px 34px rgba(0, 0, 0, .18); }
body.dark .v101-next-icon,
body.dark .v101-help-steps li > span,
body.dark .v101-program-recommended > span { color: #eef3ef; background: linear-gradient(180deg, #4a6456, #3a4f45); }
body.dark .v101-more-tools > summary b,
body.dark .v101-program-other > summary b { background: #344047; }
body.dark .v101-screen-guide button { background: #2c353b; }
body.dark .v101-help-shell { background: #242c31; }
body.dark .v101-help-steps li { border-color: rgba(126,145,136,.16); background: #2d373d; }
body.dark .v101-program-recommended { border-color: rgba(126,145,136,.2); background: linear-gradient(145deg, #314139, #252e33); }
body.dark .v101-program-other { border-color: rgba(126,145,136,.17); background: #2a3339; }

@media (max-width: 760px) {
  .v101-save-chip { display: none; }
  .v101-save-chip.save-failed { display: inline-flex; }
  .v101-next-step-card { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 15px; border-radius: 19px; }
  .v101-next-icon { width: 48px; height: 48px; border-radius: 15px; }
  .v101-next-step-card > .primary-button { grid-column: 1 / 3; width: 100%; min-width: 0; }
  .v101-core-tools { grid-template-columns: 1fr; }
  .v101-core-tools .quick-card { min-height: 104px; }
  .v101-screen-guide { align-items: flex-start; }
  .v101-screen-guide button span { display: none; }
  .v101-screen-guide button { width: 40px; min-height: 40px; padding: 0; border-radius: 12px; font-size: .9rem; }
  .v101-program-recommended { grid-template-columns: 42px minmax(0, 1fr); }
  .v101-program-recommended .primary-button { grid-column: 1 / 3; width: 100%; min-width: 0; }
  .v101-help-shell { padding: 19px 15px; border-radius: 20px; }
  button, .primary-button, .secondary-button, .text-button, .mini-button, .ink-action, .ink-tool { min-height: 44px; }
}

body.low-distraction .v101-screen-guide,
body.low-distraction .v101-main-tools-help { display: none; }

/* V10.1 small usability fixes */
.pdf-import-progress[hidden] { display: none !important; }
@media (min-width: 860px) {
  .top-actions .icon-button[data-v101-label] { display: inline-flex; align-items: center; justify-content: center; }
}
.v101-next-step-card[hidden] { display: none !important; }

/* V10.2 Safety & Trust */
.typed-save-status.is-failed { color: #7b2d2d; background: #fff0ed; }
.typed-save-status.is-failed::before { content: '!'; }
.v101-save-chip.save-failed { color: #7b2d2d; background: #fff0ed; border-color: rgba(160, 70, 60, .28); cursor: pointer; }
.safety-dialog-shell { display: grid; gap: 16px; padding: 24px; border: 1px solid var(--border); border-radius: 24px; background: var(--surface); box-shadow: 0 26px 76px rgba(43, 47, 39, .26); }
.safety-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.safety-choice-list { display: grid; gap: 10px; }
.safety-choice-button { display: grid; gap: 4px; width: 100%; padding: 14px; border: 1px solid var(--border); border-radius: 14px; color: var(--text); background: var(--surface-2); text-align: left; cursor: pointer; }
.safety-choice-button strong { font-family: Georgia, "Times New Roman", serif; font-size: 1rem; }
.safety-choice-button span,
.safety-choice-button small { color: var(--muted); }
.restore-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.restore-summary-card { padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); }
.restore-summary-card h3 { margin: 0 0 10px; font-size: .9rem; }
.restore-summary-card ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: .82rem; }
.restore-summary-card strong { color: var(--text); }
.program-merge-review-list { display: grid; gap: 12px; max-height: min(58vh, 620px); overflow: auto; padding-right: 4px; }
.program-merge-review-card { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 14px; padding: 15px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-2); }
.program-merge-time { color: var(--primary-dark); font-weight: 850; }
.program-merge-copy p { margin: 0 0 7px; line-height: 1.45; }
.program-merge-copy small { display: block; margin: 6px 0 10px; color: var(--muted); }
.program-merge-copy fieldset { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.program-merge-copy label { display: flex; gap: 8px; align-items: flex-start; font-size: .84rem; }
body.dark .typed-save-status.is-failed,
body.dark .v101-save-chip.save-failed { color: #ffd8d2; background: #543230; border-color: rgba(255, 180, 168, .2); }

/* V10.3 — Pocket Notebook */
.v103-program-dialog { width:min(680px,100%); max-width:680px; max-height:min(88dvh,860px); padding:0; border:0; border-radius:26px 26px 0 0; background:var(--surface); color:var(--text); overflow:hidden; }
.v103-program-sheet { display:grid; grid-template-rows:auto minmax(0,1fr); max-height:min(88dvh,860px); }
.v103-program-sheet>header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px 14px; border-bottom:1px solid var(--border); background:var(--surface); }
.v103-program-sheet h2 { margin:3px 0 0; font-family:var(--serif); }
.v103-sheet-close { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--border); border-radius:50%; color:var(--text); background:var(--surface-2); font-size:1.45rem; }
#v103ProgramList { padding:12px 14px calc(18px + env(safe-area-inset-bottom)); overflow:auto; overscroll-behavior:contain; }
.v103-note-dock { display:none; }

@media (max-width:699px) {
  html,body { max-width:100%; overflow-x:hidden; }
  body { padding-bottom:calc(82px + env(safe-area-inset-bottom)); }
  button,.primary-button,.secondary-button,.text-button,.mini-button,.icon-button,.nav-item { min-height:44px; }
  .app-shell { width:100%; padding-inline:12px; }
  .topbar { min-height:62px; padding:8px 2px; gap:8px; }
  .brand-mark { width:38px; height:38px; }
  .brand h1 { font-size:1.12rem; }
  .brand-purpose { display:none; }
  .brand-tagline { max-width:155px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .top-actions { gap:4px; }
  html[lang="es"] .top-actions { gap:3px; }
  html[lang="es"] .top-actions .help-button { display:none; }
  .top-actions .icon-button { width:42px; min-width:42px; padding:0; }
  .v101-save-chip { max-width:154px; min-height:38px; white-space:normal; text-align:left; line-height:1.05; }
  .v101-save-chip.save-failed { position:fixed; z-index:75; top:max(8px,env(safe-area-inset-top)); left:50%; width:max-content; max-width:calc(100vw - 24px); transform:translateX(-50%); box-shadow:0 8px 28px rgba(63,33,28,.22); }

  .page-heading { align-items:flex-start; gap:10px; margin-bottom:12px; }
  .page-heading h2 { font-size:clamp(1.65rem,8vw,2.2rem); }
  .page-actions { width:100%; display:grid; grid-template-columns:1fr auto; }
  .page-actions>* { min-width:0; white-space:normal; }
  .hero-card { min-height:0; padding:16px; border-radius:20px; }
  .hero-card h2 { font-size:clamp(1.55rem,8vw,2rem); }
  .hero-card .muted { margin-bottom:0; }
  #homeView .hero-card .eyebrow,#homeView .hero-card .muted { display:none; }
  #homeView .hero-card { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  #homeView .hero-card>div { min-width:0; }
  #homeView .hero-card h2 { margin:0; }
  #homeView .hero-card button { flex:0 0 auto; max-width:44%; }
  .v101-next-step-card { margin:12px 0; }
  .noted-live-launcher { margin:12px 0; padding:15px; }
  .gentle-card { padding:13px; }
  .quick-grid,.experience-grid,.settings-grid { grid-template-columns:1fr; }
  .panel,.quick-card,.settings-card { padding:14px; border-radius:18px; }
  .bottom-nav { bottom:0; width:100%; gap:0; padding:6px 4px calc(6px + env(safe-area-inset-bottom)); border-radius:18px 18px 0 0; }
  .bottom-nav .nav-item { min-width:0; padding:6px 2px; }
  .bottom-nav .nav-item span:last-child { max-width:64px; overflow:hidden; text-overflow:ellipsis; }

  #liveView { padding:0 0 32px; }
  .v10-live-header { position:sticky; z-index:15; top:0; margin:0 -12px; padding:10px 12px; border-radius:0; background:color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter:blur(16px); }
  .v10-live-brand { align-items:center; }
  .v10-back-button { width:44px; height:44px; }
  .v10-live-kicker { font-size:.63rem; }
  .v10-live-brand h2 { max-width:55vw; margin:1px 0; font-size:1.12rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #v10LiveMeta { max-width:58vw; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .v10-live-header-actions { flex:0 0 auto; }
  .v10-day-picker,#v10MemoryBookButton { display:none; }
  .v10-live-status { max-width:92px; min-height:34px; padding:6px 9px; white-space:normal; text-align:center; }
  #v10LiveSummary,.v10-timeline-panel { display:none; }
  .v10-live-layout { display:block; margin-top:14px; }
  .v10-live-workspace { min-height:0; padding:0; border:0; background:transparent; box-shadow:none; }
  .v103-live-pocket { display:grid; gap:12px; padding:22px 18px; border:1px solid var(--border); border-radius:24px; background:linear-gradient(155deg,var(--surface),var(--surface-2)); box-shadow:var(--shadow); }
  .v103-live-pocket.is-live { border-color:color-mix(in srgb,var(--accent) 62%,var(--border)); background:linear-gradient(155deg,var(--accent-soft),var(--surface)); }
  .v103-live-label { width:max-content; padding:5px 9px; border-radius:999px; color:var(--primary-dark); background:var(--accent); font-size:.7rem; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }
  .v103-live-pocket>time { color:var(--primary); font-size:1.05rem; font-weight:900; }
  .v103-live-pocket>h2 { margin:-4px 0 0; font-family:var(--serif); font-size:clamp(1.85rem,9vw,2.55rem); line-height:1.03; overflow-wrap:anywhere; }
  .v103-live-pocket>p { margin:0; color:var(--muted); line-height:1.45; }
  .v103-start-notes { width:100%; min-height:54px; margin-top:3px; font-size:1rem; }
  .v103-up-next { display:grid; grid-template-columns:auto 1fr; gap:4px 10px; margin-top:4px; padding:14px; border-radius:17px; background:var(--surface); }
  .v103-up-next>span { grid-column:1/3; color:var(--muted); font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
  .v103-up-next time { color:var(--primary); font-weight:900; }
  .v103-up-next strong { min-width:0; overflow-wrap:anywhere; }
  .v103-view-program { width:100%; }
  .v103-break-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .v103-break-actions button { min-width:0; white-space:normal; }
  .v10-day-capsule-panel { margin-top:14px; padding:14px; }
  .v10-capsule-heading { align-items:flex-start; }
  .v10-capsule-heading p { display:none; }

  .v103-program-dialog { width:100%; max-width:none; max-height:92dvh; margin:auto 0 0; border-radius:24px 24px 0 0; }
  .v103-program-sheet { max-height:92dvh; }
  .v10-timeline-row { min-height:58px; grid-template-columns:28px 62px minmax(0,1fr); padding:10px; }
  .v10-timeline-copy strong { overflow-wrap:anywhere; }

  #focusDialog { inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; border-radius:0; background:var(--surface); }
  #focusDialog::backdrop { background:var(--surface); }
  #focusDialog .focus-content { min-height:100dvh; padding:calc(68px + env(safe-area-inset-top)) 14px calc(96px + env(safe-area-inset-bottom)); border-radius:0; overflow-x:hidden; }
  #focusDialog .focus-close { position:fixed; z-index:90; top:calc(10px + env(safe-area-inset-top)); left:12px; right:auto; display:flex; align-items:center; gap:6px; width:auto; min-width:70px; height:44px; padding:0 12px; border:1px solid var(--border); border-radius:999px; color:var(--text); background:var(--surface-2); font-size:.82rem; }
  #focusDialog .focus-close b { font-size:.76rem; }
  #focusDialog>.focus-content>.eyebrow { margin:0; color:var(--muted); }
  #focusTitle { margin:3px 0 0; font-size:clamp(1.55rem,8vw,2.15rem); line-height:1.08; overflow-wrap:anywhere; }
  #focusMeta { margin:5px 0 10px; }
  #focusScriptureHint { margin-block:6px 10px; }
  #focusDialog .focus-note-switcher,#focusDialog .note-mode-help { display:none; }
  #focusDialog.pocket-more-open .focus-note-switcher { display:grid; }
  #focusDialog.pocket-more-open .note-mode-help { display:block; }
  .typed-note-editor { padding:0; border:0; background:transparent; }
  .typed-editor-heading { position:fixed; z-index:90; top:calc(10px + env(safe-area-inset-top)); right:12px; width:auto; min-height:44px; }
  .typed-editor-heading>div { display:none; }
  .typed-save-status { min-height:40px; max-width:150px; white-space:normal; text-align:center; line-height:1.1; }
  .typed-note-toolbar,.typed-note-actions-row,.typed-note-outline,.typed-note-tip { display:none; }
  #focusDialog.pocket-more-open .typed-note-toolbar { display:flex; overflow-x:auto; padding-bottom:4px; scroll-snap-type:x proximity; }
  #focusDialog.pocket-more-open .typed-tool { flex:0 0 auto; min-height:48px; scroll-snap-align:start; }
  .typed-editor-layout { display:block; }
  .typed-editor-main { min-width:0; }
  #focusNotes { min-height:calc(100dvh - 300px); padding:16px; font-size:16px; line-height:1.55; scroll-padding-bottom:120px; }
  .typed-note-preview { min-height:calc(100dvh - 300px); }
  #focusDialog .focus-label { display:none; }
  #focusDialog.pocket-more-open .focus-label { display:grid; }
  #saveFocusButton { display:none; }
  .v103-note-dock { position:fixed; z-index:95; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:7px 7px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid var(--border); background:color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter:blur(18px); }
  .v103-note-dock button { display:grid; place-items:center; gap:2px; min-width:0; min-height:58px; padding:5px 2px; border:0; border-radius:13px; color:var(--text); background:transparent; }
  .v103-note-dock button:active,.v103-note-dock button.is-kept { background:var(--accent-soft); }
  .v103-note-dock button span { font-size:1.08rem; }
  .v103-note-dock button b { max-width:100%; font-size:.72rem; line-height:1.15; white-space:normal; overflow-wrap:normal; }
  body.pocket-note-active { padding-bottom:0; overflow:hidden; }
  body.pocket-note-active>.app-shell,body.pocket-note-active>.bottom-nav,body.pocket-note-active>#quickAddButton { visibility:hidden; }
  body.pocket-note-active #focusDialog { visibility:visible; }
  body.pocket-note-active .bottom-nav { display:none; }
  #focusDialog.writing-mode .focus-ink-paper { min-height:calc(100dvh - 390px); }
  #focusDialog.writing-mode .focus-ink-section { padding-bottom:28px; }

  .people-quick-card { margin-top:10px; padding:14px; }
  .people-quick-card form { gap:10px; }
  .people-quick-actions { position:sticky; bottom:calc(76px + env(safe-area-inset-bottom)); z-index:5; padding-top:8px; background:var(--surface); }
  .people-memory-grid { grid-template-columns:1fr; }
  .checklist-category-grid { grid-template-columns:1fr; }
  .day-tabs,.people-filter-bar,.global-search-filters { overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; }
  .day-tabs>* ,.people-filter-bar>* ,.global-search-filters>* { flex:0 0 auto; min-height:44px; }

  dialog.modal,dialog.safety-dialog,dialog.program-preview-modal,#programCenterDialog,#restoreSummaryDialog,#restoreRecoveryDialog,#programMergeReviewDialog { width:calc(100vw - 16px); max-width:none; max-height:calc(100dvh - 16px); margin:auto; padding:0; border-radius:22px; overflow:hidden; }
  dialog.modal>*,dialog.safety-dialog>*,dialog.program-preview-modal>* { max-height:calc(100dvh - 16px); overflow:auto; overscroll-behavior:contain; padding-bottom:calc(18px + env(safe-area-inset-bottom)); }
  .safety-actions,.program-preview-actions { position:sticky; bottom:0; z-index:4; padding:12px; margin:12px -12px -12px; background:var(--surface); border-top:1px solid var(--border); }
  .safety-actions>* ,.program-preview-actions>* { width:100%; min-height:48px; white-space:normal; }
  .program-preview-row { grid-template-columns:70px minmax(0,1fr); }
  .program-preview-row span,.program-merge-copy { min-width:0; overflow-wrap:anywhere; }
  .program-merge-review-card { grid-template-columns:1fr; }
  .program-merge-review-card fieldset label { min-height:48px; align-items:flex-start; }
  .settings-side-nav { display:flex; overflow-x:auto; position:static; padding:6px; }
  .settings-nav-link { flex:0 0 180px; min-height:52px; }
  .settings-content { min-width:0; }

  html[lang="es"] .v103-live-pocket .primary-button,
  html[lang="es"] .v103-view-program,
  html[lang="es"] .v101-next-step-card .primary-button,
  html[lang="es"] .notebook-export-format,
  html[lang="es"] .safety-actions > button,
  html[lang="es"] .program-preview-actions > button { height:auto; min-width:0; min-height:48px; white-space:normal; }
  html[lang="es"] .v103-live-pocket h2,
  html[lang="es"] .v103-up-next strong,
  html[lang="es"] .v101-next-copy h3,
  html[lang="es"] .program-preview-row span,
  html[lang="es"] .program-merge-copy,
  html[lang="es"] .notebook-export-format strong,
  html[lang="es"] .notebook-export-format small { min-width:0; overflow-wrap:anywhere; }
  html[lang="es"] .v103-note-dock button { min-height:62px; }
  html[lang="es"] .v103-note-dock button b { font-size:.7rem; }
  html[lang="es"] .settings-nav-link { flex-basis:194px; white-space:normal; }
}

@media (max-width:340px) {
  .app-shell { padding-inline:9px; }
  .top-actions .help-button { display:none; }
  .brand-tagline { max-width:112px; }
  .v103-live-pocket { padding:18px 14px; }
  .v103-live-pocket>h2 { font-size:1.75rem; }
  .v103-note-dock { gap:2px; padding-inline:4px; }
  .v103-note-dock button b { font-size:.68rem; }
  html[lang="es"] .v103-note-dock button b { font-size:.67rem; }
  html[lang="es"] .v10-live-header { margin-inline:-9px; padding-inline:9px; }
  #focusDialog .focus-content { padding-inline:10px; }
  .typed-save-status { max-width:126px; font-size:.66rem; }
}

@media (min-width:700px) {
  .v103-program-dialog { margin:auto; border-radius:26px; }
}

body.dark .v103-program-sheet>header,body.dark .v103-note-dock,body.dark .v10-live-header { background:rgba(42,42,35,.96); }
body.dark .v103-live-pocket { border-color:#5d594d; background:linear-gradient(155deg,#34342c,#292a24); }
body.dark .v103-live-pocket.is-live { border-color:#70866f; background:linear-gradient(155deg,#3c493d,#292f29); }
body.dark .v103-up-next { background:#252720; }
body.dark .v103-sheet-close,body.dark #focusDialog .focus-close { color:#f1eee4; background:#36372f; border-color:#5a584d; }
body.dark #focusDialog,body.dark #focusDialog::backdrop { background:#24251f; }
body.dark .v103-note-dock button:active,body.dark .v103-note-dock button.is-kept { background:#405044; }
body.dark .safety-dialog-shell,
body.dark .safety-choice-button,
body.dark .restore-summary-card,
body.dark .program-merge-review-card { border-color: rgba(126,145,136,.17); background: #2a3339; }

@media (max-width: 620px) {
  .restore-summary-grid,
  .program-merge-review-card { grid-template-columns: 1fr; }
  .safety-actions { flex-direction: column-reverse; }
  .safety-actions > button { width: 100%; }
}

/* V10.3 public website front door */
.public-site,.public-language-gate{display:none}
html[data-public-site="active"],html[data-public-site="active"] body{min-width:0;color-scheme:only light;color:#203028;background:#f3f0e8}
html[data-public-site="active"] .app-shell,html[data-public-site="active"] .bottom-nav,html[data-public-site="active"] .quick-add-fab{display:none!important}
html[data-public-site="active"] .public-site{display:block;visibility:hidden}
html[data-public-site="active"][data-public-ready="true"] .public-site{visibility:visible}
html[data-public-site="active"][data-public-language-choice="pending"] .public-site{display:none}
html[data-public-site="active"][data-public-language-choice="pending"] .public-language-gate{display:grid}
.public-language-gate{position:fixed;z-index:1000;inset:0;place-items:center;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:auto;color-scheme:only light;color:#203028;background:radial-gradient(circle at 50% 0,#fffdf8 0,#eef1e9 42%,#e9e5da 100%)}
.public-language-card{display:grid;gap:24px;width:min(100%,540px);padding:clamp(24px,6vw,44px);border:1px solid #d4ddd5;border-radius:28px;color:#203028;background:#fffdf8;box-shadow:0 28px 80px rgba(40,61,50,.16);text-align:center}
.public-language-brand{display:flex;align-items:center;justify-content:center;gap:11px}.public-language-brand img{width:52px;height:52px}.public-language-brand strong{color:#203028;font:800 1.55rem/1 Georgia,"Times New Roman",serif}
.public-language-card h1{display:grid;gap:7px;margin:0;color:#203028;font:800 clamp(1.45rem,6vw,2rem)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.02em}.public-language-card h1 span:last-child{color:#456858}
.public-language-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-language-actions button{min-width:0;min-height:64px;padding:10px 12px;border:1px solid #cbd8cd;border-radius:17px;color:#203028;background:#e8eee8;font:850 1rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer}.public-language-actions button:hover{border-color:#456858;background:#dce8d7}
.public-language-actions button:focus-visible,.public-site button:focus-visible,.public-site a:focus-visible{outline:3px solid #9bb69f;outline-offset:3px}.public-language-legal{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;color:#69756e;font-size:.82rem}.public-language-legal a{color:#314d40;font-weight:800;text-underline-offset:.18em}
.public-site{--public-paper:#f3f0e8;--public-surface:#fffdf8;--public-soft:#e8eee8;--public-ink:#203028;--public-muted:#637067;--public-sage:#456858;--public-sage-dark:#314d40;--public-border:#d4ddd5;width:100%;min-height:100dvh;overflow-x:clip;color-scheme:only light;color:var(--public-ink);background:radial-gradient(circle at 84% 0,#edf2e9 0,transparent 34rem),var(--public-paper)}
.public-site *,.public-site *::before,.public-site *::after{box-sizing:border-box}.public-site button{color:var(--public-ink);background-color:var(--public-surface)}.public-site a{color:var(--public-sage-dark)}
.public-header{position:sticky;z-index:50;top:0;display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(100% - 32px,1120px);margin:0 auto;padding:14px 0;border-bottom:1px solid rgba(69,104,88,.12);background:rgba(243,240,232,.96);backdrop-filter:blur(16px)}
.public-brand{display:flex;align-items:center;gap:10px;min-width:0;color:var(--public-ink);text-decoration:none}.public-brand img{width:44px;height:44px;flex:none}.public-brand span{display:grid;gap:1px}.public-brand strong{color:var(--public-ink);font:800 1.18rem/1 Georgia,"Times New Roman",serif}.public-brand small{color:var(--public-muted);font-size:.66rem;font-weight:750}
.public-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.public-language-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;border:1px solid var(--public-border);border-radius:14px;background:var(--public-surface)}.public-language-switch button{min-width:82px;min-height:44px;padding:0 12px;border:0;border-radius:10px;color:var(--public-muted);background:transparent;font-size:.78rem;font-weight:850;cursor:pointer}.public-language-switch button.active{color:#fff;background:var(--public-sage)}
.public-open-button,.public-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:15px;font-weight:850;text-align:center;cursor:pointer}.public-open-button{border:1px solid var(--public-sage);color:#fff!important;background:var(--public-sage)!important;box-shadow:0 10px 22px rgba(49,77,64,.18)}.public-open-button:hover{background:var(--public-sage-dark)!important}.public-secondary-button{border:1px solid var(--public-border);color:var(--public-sage-dark)!important;background:var(--public-surface)!important}.public-open-button-compact{min-height:42px;padding-inline:15px;font-size:.82rem}
.public-main{width:min(100% - 32px,1120px);margin:0 auto}.public-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(32px,6vw,80px);align-items:center;min-height:min(720px,calc(100dvh - 73px));padding:clamp(54px,8vw,104px) 0}.public-hero-copy{min-width:0}
.public-kicker{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 .8rem;color:var(--public-sage);font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.public-hero h1{max-width:740px;margin:0;color:var(--public-ink);font:800 clamp(2.45rem,7vw,5.1rem)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.052em;text-wrap:balance}.public-tagline{margin:1rem 0 0;color:var(--public-sage-dark);font:italic 700 clamp(1.1rem,2.4vw,1.45rem)/1.35 Georgia,"Times New Roman",serif}.public-lead{max-width:680px;margin:1.25rem 0 0;color:var(--public-muted);font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.65}.public-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:1.65rem}.public-local-note{max-width:600px;margin:1rem 0 0;color:var(--public-muted);font-size:.82rem;line-height:1.55}
.public-pocket-preview{min-width:0;padding:26px;border:1px solid var(--public-border);border-radius:30px;color:var(--public-ink);background:var(--public-surface);box-shadow:0 28px 70px rgba(55,70,59,.13);transform:rotate(1deg)}.public-preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--public-border)}.public-preview-top span{color:var(--public-sage);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.public-preview-top strong{color:var(--public-ink);font-size:1rem}.public-pocket-preview h2{margin:1.5rem 0 .65rem;color:var(--public-ink);font:800 clamp(1.55rem,4vw,2.15rem)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.03em}.public-pocket-preview p{margin:0;color:var(--public-muted);line-height:1.55}.public-preview-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2rem}.public-preview-actions span{display:grid;place-items:center;gap:5px;min-height:66px;padding:8px 4px;border:1px solid var(--public-border);border-radius:14px;color:var(--public-ink);background:var(--public-soft);font-size:1rem;text-align:center}.public-preview-actions b{color:var(--public-ink);font-size:.7rem}
.public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 0 clamp(64px,9vw,110px)}.public-feature-grid article{min-width:0;padding:24px;border:1px solid var(--public-border);border-radius:22px;color:var(--public-ink);background:var(--public-surface)}.public-feature-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--public-sage-dark);background:var(--public-soft);font-size:1.1rem;font-weight:900}.public-feature-grid h2{margin:1rem 0 .55rem;color:var(--public-ink);font:800 1.1rem/1.25 Georgia,"Times New Roman",serif;letter-spacing:-.015em}.public-feature-grid p{margin:0;color:var(--public-muted);line-height:1.58;font-size:.9rem}
.public-install{padding:clamp(32px,6vw,64px);border:1px solid var(--public-border);border-radius:32px;color:var(--public-ink);background:#ecefe7}.public-section-heading{max-width:720px;margin:0 auto 28px;text-align:center}.public-section-heading .public-kicker{justify-content:center}.public-section-heading h2{margin:0;color:var(--public-ink);font:800 clamp(2rem,5vw,3.4rem)/1.05 Georgia,"Times New Roman",serif;letter-spacing:-.035em}.public-section-heading>p:last-child{margin:.9rem 0 0;color:var(--public-muted);line-height:1.6}.public-install-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-install-grid article{min-width:0;padding:23px;border:1px solid var(--public-border);border-radius:21px;color:var(--public-ink);background:var(--public-surface)}.public-install-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;background:var(--public-sage);font-size:1.1rem;font-weight:900}.public-install-grid h3{margin:1rem 0 .85rem;color:var(--public-ink);font:800 1.05rem/1.25 Georgia,"Times New Roman",serif}.public-install-grid ol{display:grid;gap:.65rem;margin:0;padding-left:1.3rem;color:var(--public-muted);font-size:.85rem;line-height:1.5}.public-install-grid li::marker{color:var(--public-sage);font-weight:900}.public-install-action{display:flex;justify-content:center;margin-top:24px}
.public-trust{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr);gap:18px 48px;align-items:center;margin:clamp(64px,9vw,110px) 0;padding:clamp(24px,5vw,44px);border:1px solid var(--public-border);border-radius:28px;color:var(--public-ink);background:var(--public-surface)}.public-trust h2{margin:0;color:var(--public-ink);font:800 clamp(1.6rem,4vw,2.45rem)/1.08 Georgia,"Times New Roman",serif}.public-trust>p{margin:0;color:var(--public-muted);line-height:1.65}.public-trust nav{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}.public-trust nav a{min-height:44px;padding:11px 14px;border:1px solid var(--public-border);border-radius:12px;color:var(--public-sage-dark);background:var(--public-soft);font-size:.82rem;font-weight:850;text-decoration:none}
.public-footer{display:flex;justify-content:space-between;gap:24px;width:min(100% - 32px,1120px);margin:0 auto;padding:28px 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--public-border);color:var(--public-muted)}.public-footer>div{display:grid;gap:4px}.public-footer strong{color:var(--public-ink);font-family:Georgia,"Times New Roman",serif}.public-footer span{font-size:.78rem}.public-footer nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}.public-footer a{color:var(--public-sage-dark);font-size:.8rem;font-weight:800}
@media(max-width:820px){.public-hero{grid-template-columns:1fr;min-height:0;padding-block:56px}.public-pocket-preview{width:min(100%,520px);justify-self:center;transform:none}.public-feature-grid,.public-install-grid{grid-template-columns:1fr}.public-feature-grid{padding-bottom:70px}.public-install-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:13px}.public-install-grid h3{margin:.25rem 0 .7rem}.public-install-grid ol{grid-column:2}}
@media(max-width:620px){.public-header{align-items:flex-start;flex-wrap:wrap;width:min(100% - 24px,1120px);padding-block:10px}.public-brand{min-height:44px}.public-header-actions{flex:1 1 auto;justify-content:flex-end}.public-language-switch button{min-width:70px;padding-inline:9px}.public-main,.public-footer{width:min(100% - 24px,1120px)}.public-hero{gap:34px;padding-block:42px 52px}.public-hero h1{font-size:clamp(2.2rem,12.5vw,3.55rem)}.public-hero-actions{display:grid;grid-template-columns:1fr}.public-hero-actions button{width:100%}.public-pocket-preview{padding:21px;border-radius:24px}.public-feature-grid article{padding:20px}.public-install{padding:28px 16px;border-radius:24px}.public-install-grid article{padding:18px 15px}.public-trust{grid-template-columns:1fr;gap:16px;margin-block:70px;padding:24px 20px}.public-trust nav{grid-column:auto}.public-footer{align-items:flex-start;flex-direction:column}.public-footer nav{justify-content:flex-start}}
@media(max-width:390px){.public-open-button-compact{display:none}.public-header-actions{flex:0 0 auto}.public-language-switch button{min-width:68px}.public-language-card{gap:20px;padding:24px 18px;border-radius:23px}.public-language-actions{gap:9px}.public-language-actions button{min-height:60px;padding-inline:8px}.public-preview-actions b{font-size:.66rem}.public-install-grid article{grid-template-columns:42px minmax(0,1fr);column-gap:10px}.public-install-icon{width:40px;height:40px}}
@media(forced-colors:active){.public-language-card,.public-pocket-preview,.public-feature-grid article,.public-install,.public-install-grid article,.public-trust{border:1px solid CanvasText}.public-site button:focus-visible,.public-site a:focus-visible,.public-language-actions button:focus-visible{outline:3px solid Highlight}}
/* V10.3 symposium groups: timed parent, independently noteable untimed talks. */
.symposium-program-group,.program-preview-symposium,.v10-timeline-symposium{margin:14px 0;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:20px;overflow:hidden;background:var(--surface)}
.symposium-program-parent,.v10-timeline-symposium-parent{display:grid;grid-template-columns:minmax(62px,auto) minmax(0,1fr);gap:14px;align-items:start;padding:18px;background:var(--surface-2)}
.symposium-program-parent h3,.symposium-program-child h4{overflow-wrap:anywhere;margin:4px 0}
.symposium-program-children,.program-preview-children,.v10-timeline-symposium-children{display:grid;gap:0;padding:6px 12px 12px}
.symposium-program-child{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--border)}
.symposium-program-child:last-child{border-bottom:0}.symposium-child-order{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--primary-dark);font-weight:800}
.program-preview-symposium{padding:0}.program-preview-row.symposium-parent{background:var(--surface-2)}.program-preview-row.symposium-parent span{display:grid;gap:3px}.program-preview-row.symposium-child{padding-left:18px}.program-preview-row.symposium-child span{overflow-wrap:anywhere}
.v10-timeline-symposium-parent{grid-template-columns:24px 58px minmax(0,1fr);padding:14px}.v10-timeline-symposium-children{padding-left:28px}.v10-timeline-child{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;min-height:48px;padding:10px;border:0;border-bottom:1px solid var(--border);text-align:left;background:transparent;cursor:pointer}.v10-timeline-child strong,.v10-timeline-child small{grid-column:2;overflow-wrap:anywhere}.v10-timeline-child.is-selected{border-radius:12px;background:var(--accent)}
.v10-symposium-chooser{display:grid;gap:10px}.v10-symposium-chooser>time{color:var(--primary);font-weight:800}.v10-symposium-talks{display:grid;gap:8px}.v10-symposium-talks>button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:56px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;text-align:left;background:var(--surface);cursor:pointer}.v10-symposium-talks>button>span:nth-child(2){display:grid;gap:3px;overflow-wrap:anywhere}.v10-symposium-talks>button small{color:var(--muted)}.v10-symposium-talks>button b{color:var(--primary);font-size:.82rem}.v10-symposium-context,.note-parent-title{display:block;color:var(--muted);overflow-wrap:anywhere}.note-session-row.is-symposium-child{margin-left:18px}.note-session-row.is-symposium-child .note-session-copy>small:first-child{color:var(--muted);overflow-wrap:anywhere}#focusMeta{white-space:pre-line}
@media(max-width:520px){.symposium-program-parent{grid-template-columns:1fr;gap:5px}.symposium-program-child{grid-template-columns:30px minmax(0,1fr)}.symposium-program-child .schedule-notes-button{grid-column:2;width:100%}.v10-symposium-talks>button{grid-template-columns:28px minmax(0,1fr)}.v10-symposium-talks>button b{grid-column:2}.note-session-row.is-symposium-child{margin-left:6px}.program-preview-row.symposium-child{padding-left:8px}}
