.save-status { min-height: 20px; margin: 8px 4px 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
.save-status.error { color: #a33b2e; }
.save-status.success { color: var(--accent); }
.question-card h1 { animation: none; }
.question-word { display: inline; opacity: 0; filter: blur(3px); animation: word-reveal .62s cubic-bezier(.22, 1, .36, 1) var(--word-delay) forwards; }
@keyframes word-reveal { to { opacity: 1; filter: blur(0); } }
body.keyboard-open .bottom-nav { display: none; }
body.keyboard-open .app-content { padding-bottom: 28px; }
body.keyboard-open .question-card { padding-bottom: 18px; }
body.keyboard-open .question-card h1 { min-height: auto; margin-bottom: 14px; }
body.keyboard-open .quick-actions { display: none; }
#answer { scroll-margin-block: 24px; }
.secondary-button, .danger-button { min-height: 44px; width: 100%; border-radius: 14px; padding: 10px 14px; font-weight: 700; cursor: pointer; }
.secondary-button { border: 1px solid var(--line); background: var(--surface); color: var(--ink); }
.share-actions { display: grid; gap: 9px; }
.share-actions .secondary-button { min-height: 50px; }
.danger-button { border: 1px solid #b34a3d66; background: #b34a3d14; color: #a73b30; }
.question-card > .secondary-button { margin-top: 9px; }
.answer-entry { display: grid; gap: 10px; }
.answer-entry h2, .answer-entry p { margin: 0; }
.answer-entry .reflection { border-left: 3px solid var(--accent); padding-left: 12px; color: var(--ink); font-family: var(--font-lora), Georgia, serif; font-size: 14px; line-height: 1.5; }
.answer-entry .entry-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.answer-entry .entry-actions button { width: auto; min-height: 40px; padding: 8px 13px; border-radius: 12px; }
.answer-entry .answer-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.data-settings { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 18px; display: grid; gap: 10px; }
.data-settings h3 { margin: 0; font-size: 16px; }
.data-settings p { margin: 0 0 4px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.edit-field { display: grid; gap: 8px; margin: 18px 0 4px; font-size: 12px; font-weight: 700; }
.edit-field textarea { resize: vertical; min-height: 130px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); padding: 14px; font: inherit; font-weight: 400; line-height: 1.5; }
.confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.modal-backdrop:not([hidden]) { display: flex; }
.modal-sheet { max-height: min(88vh, 720px); overflow-y: auto; }
.modal-sheet:focus { outline: none; }
.bottom-nav button[aria-current="page"] { color: var(--accent); font-weight: 700; }
.bottom-nav.three { gap: 8px; padding-left: max(12px, calc((100vw - 430px) / 2 + 12px)); padding-right: max(12px, calc((100vw - 430px) / 2 + 12px)); }
.bottom-nav button { align-self: center; min-height: 48px; border: 1px solid var(--line); border-radius: 16px; background: color-mix(in srgb, var(--surface) 82%, transparent); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .15s ease; }
.bottom-nav button:active { transform: scale(.97); }
.bottom-nav button[aria-current="page"] { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); background: var(--pill); box-shadow: 0 5px 14px color-mix(in srgb, var(--accent) 13%, transparent); }
.progress-label { position: relative; z-index: 2; }
.progress-block { position: relative; }
.question-position { display: flex; align-items: baseline; justify-content: space-between; margin: 0 3px 20px; color: var(--muted); font-size: 12px; }
.question-position strong { color: var(--accent); font-family: var(--font-lora), Georgia, serif; font-size: 28px; font-weight: 500; line-height: 1; }
.sun-glow { top: 1.5rem; right: -6rem; opacity: .45; }
.theme-night .sun-glow { top: 1.7rem; right: 1.4rem; }
.quick-actions { grid-template-columns: 1fr; }
.share-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 16px 0 10px; }
.share-choices button { min-height: 42px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); font-size: 12px; font-weight: 700; }
.share-choices button.active { border-color: var(--accent); background: var(--pill); color: var(--accent); }
.share-launch { width: 100%; }
body[data-time-theme="morning"] { background: #fff4d8; }
body[data-time-theme="day"] { background: #edf4e9; }
body[data-time-theme="evening"] { background: #f7dbc5; }
body[data-time-theme="night"] { background: #091622; }
.app-shell.theme-morning { --bg: #fff4d8; --ink: #282318; --muted: #746c59; --card: #fffaf0e8; --accent: #8a6b28; --accent-2: #b69648; --pill: #f5e8bd; --line: #917b4933; --surface: #fffaf080; background: radial-gradient(circle at 82% 13%, #ffd97870, transparent 15rem), linear-gradient(155deg, #fffdf4, transparent 52%), var(--bg); }
.app-shell.theme-night { color-scheme: dark; background: radial-gradient(circle at 65% 8%, #90b8d32e, transparent 15rem), radial-gradient(circle at 14% 42%, #47788f35, transparent 21rem), #091622; }
.app-shell.theme-night .question-card { background: #142838f2; border-color: #b9d6df35; box-shadow: 0 20px 48px #0008; }
.app-shell.theme-night .quick-actions button { background: #122433ed; border-color: #c1d3de30; }
.answer-button:focus-visible, .secondary-button:focus-visible, .danger-button:focus-visible, .bottom-nav button:focus-visible, .modal-close:focus-visible, a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
@media (max-width: 360px) {
  .app-content { padding-left: 12px; padding-right: 12px; }
  .question-card { border-radius: 22px; padding-left: 15px; padding-right: 15px; }
  .question-card h1 { min-height: auto; margin-bottom: 18px; }
  .bottom-nav button { font-size: 13px; }
  .modal-sheet { padding-left: 18px; padding-right: 18px; }
  .confirm-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .question-word { opacity: 1; filter: none; animation: none; }
}

/* Isolated local mechanics preview */
.preview-day-control { display:flex; justify-content:flex-end; margin:0 0 12px; }
.preview-day-control button { width:auto; min-height:36px; padding:0 14px; font-size:12px; }
.previous-question-actions { display:grid; gap:8px; }
.previous-question-actions button { min-height:44px; padding:10px 13px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); font:inherit; font-size:13px; font-weight:650; line-height:1.3; }
.previous-question-actions #answer-previous { border-color:transparent; background:linear-gradient(110deg,var(--accent),var(--accent-2)); color:#fff; box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 18%,transparent); }
.previous-question-panel { margin:0 0 12px; padding:13px 14px 14px; border:1px solid var(--line); border-left:3px solid var(--accent-2); border-radius:17px; background:color-mix(in srgb,var(--surface) 72%,var(--pill)); }
.previous-question-panel .eyebrow { margin:0 0 7px; color:var(--accent); font-size:10px; letter-spacing:.08em; }
.previous-question-panel p:not(.eyebrow) { margin:0 0 12px; color:var(--muted); font-size:13px; line-height:1.5; }
.question-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 2px 14px; }
.question-actions .secondary-button { min-height:46px; font-size:12px; }
.question-actions #question-action-status { grid-column:1/-1; min-height:18px; margin:0 4px; color:var(--muted); font-size:11px; }
.back-to-today { margin:0 0 10px; }
.saved-questions-section { margin:0 0 22px; }
.saved-questions-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.saved-questions-heading h2 { margin:0; font:500 19px/1.3 var(--font-lora),Georgia,serif; }
.saved-questions-heading span { color:var(--muted); font-size:12px; }
.saved-question-entry { display:grid; gap:10px; margin:10px 0; padding:15px; border:1px solid #cad7db; border-radius:16px; background:#e8f0f1; }
.saved-question-entry h2 { margin:0; font:500 18px/1.35 var(--font-lora),Georgia,serif; }
.saved-question-entry time,.answer-comment time { color:var(--muted); font-size:11px; }
.saved-question-entry .entry-actions { display:flex; gap:8px; }
.saved-question-entry .entry-actions button { width:auto; }
.answer-comments { display:grid; gap:8px; padding-top:12px; border-top:1px solid var(--line); }
.answer-comments h3 { margin:0; color:var(--muted); font-size:13px; font-weight:700; }
.answer-comment { position:relative; padding:12px 13px 10px 16px; border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb, var(--surface) 82%, var(--pill)); box-shadow:0 2px 7px color-mix(in srgb, var(--ink) 5%, transparent); }
.answer-comment::before { position:absolute; top:10px; bottom:10px; left:7px; width:2px; border-radius:2px; background:var(--accent-2); content:""; }
.answer-comment p { margin:0 0 6px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.5; }
.comment-form { display:grid; gap:8px; }
.comment-form textarea { width:100%; min-height:54px; resize:vertical; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); padding:10px 12px; font:inherit; font-size:13px; }
.comment-form button { width:max-content; min-height:38px; }
.question-actions button:disabled { opacity:.55; cursor:not-allowed; }
.notification-settings { display:grid; gap:10px; margin:18px 0 12px; }
.notification-settings .time-field { display:grid; gap:7px; margin:0; font-size:12px; font-weight:700; }
.notification-time-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.notification-settings select { width:100%; min-height:46px; box-sizing:border-box; border:1px solid var(--line); border-radius:13px; background:var(--surface); color:var(--ink); padding:10px 12px; font:500 14px var(--font-manrope),system-ui,sans-serif; }
.time-wheel-picker { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:3px; width:100%; height:142px; margin:0 auto; padding:0 5px; box-sizing:border-box; border:1px solid var(--line); border-radius:16px; background:color-mix(in srgb,var(--surface) 88%,var(--pill)); }
.time-wheel-column { position:relative; height:134px; min-width:0; overflow-y:auto; box-sizing:border-box; padding:47px 0; overscroll-behavior:contain; scroll-snap-type:y mandatory; scrollbar-width:none; mask-image:linear-gradient(to bottom,transparent 0%,#000 25%,#000 75%,transparent 100%); -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 25%,#000 75%,transparent 100%); }
.time-wheel-column::-webkit-scrollbar { display:none; }
.time-wheel-option { display:block; width:100%; height:40px; box-sizing:border-box; scroll-snap-align:center; border:0; border-radius:10px; background:transparent; color:var(--muted); font:500 22px/40px var(--font-manrope),system-ui,sans-serif; text-align:center; }
.time-wheel-option[aria-selected="true"] { background:var(--pill); color:var(--ink); font-weight:700; }
.time-wheel-colon { align-self:center; color:var(--muted); font:500 22px var(--font-manrope),system-ui,sans-serif; }
.time-wheel-column:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; border-radius:12px; }
.reminder-schedule { min-height:18px; margin:0 2px; color:var(--muted); font-size:11px; line-height:1.45; }
.reminder-schedule.error { color:#a33b2e; }
.answer-saved-sheet { display:grid; gap:10px; }
.answer-saved-sheet > .eyebrow { margin:0; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.answer-saved-sheet > h2 { padding-right:26px; }
.answer-saved-note { margin:0 !important; }
.answer-saved-card { width:min(100%, 260px); aspect-ratio:4/5; padding:18px; }
.answer-saved-card small { margin-top:18px; }
.answer-saved-card p { max-height:150px; overflow:hidden; font-size:17px; }
.answer-saved-sheet > .secondary-button { min-height:48px; }
@media(max-width:390px){.notification-time-options{grid-template-columns:1fr;gap:10px}.time-wheel-picker{max-width:220px;height:130px}.time-wheel-column{height:122px;padding:41px 0}}
@media(max-width:380px){.question-actions{grid-template-columns:1fr}.question-actions #question-action-status{grid-column:1}.saved-question-entry .entry-actions{flex-wrap:wrap}}
