/* Year Reset — app-only styles (batch B, 2026-10-07): auto-unlock status, "Where is my key?" expander, wizard goal controls,
   day-1 hint, Settings goal list + editor. Tokens come from yr.css (light/dark via :root variables); nothing here redefines them. */

/* unlock: lookup status while the key is fetched from the Polar purchase */
/* Optional feedback e-mail follows the existing text-field sizing and theme. */
#early-feedback input[type="email"], #fb-form input[type="email"] { display: block; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); color: var(--ink); font: 16px var(--font); }
.app-feedback-open { position: fixed; z-index: 40; right: max(12px, env(safe-area-inset-right)); bottom: calc(66px + env(safe-area-inset-bottom)); box-shadow: 0 3px 16px #0003; }
.contact-dialog { width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); box-sizing: border-box; overflow: auto; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--bg-2); color: var(--ink); }
.contact-dialog::backdrop { background: #0009; }
.contact-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.contact-heading h2 { margin: 0; font-size: 24px; }
.contact-dialog .fine { margin-bottom: 0; }
#fb-form [hidden] { display: none !important; }
@media (min-width: 760px) { .app-feedback-open { bottom: 20px; } }
.auto-status { display: flex; align-items: center; gap: 10px; background: var(--mint-soft); color: var(--mint); border-radius: 10px; padding: 10px 12px; margin: 0 0 14px; font-weight: 600; font-size: 15px; }
.auto-status::before { content: ""; flex: none; width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: yr-spin 0.9s linear infinite; }
@keyframes yr-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .auto-status::before { animation: none; border-right-color: currentColor; opacity: 0.6; } }
.key-shown { font-size: 19px; }

/* unlock: "Where is my key?" expander (same look as the landing FAQ) */
.whereis { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 2px; }
.whereis summary { cursor: pointer; font-weight: 600; padding: 10px 0; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--ink); }
.whereis summary::-webkit-details-marker { display: none; }
.whereis summary::after { content: "+"; color: var(--ink-3); font-weight: 400; font-size: 20px; line-height: 1; }
.whereis[open] summary::after { content: "–"; }
.whereis ol { margin: 4px 0 12px; padding-left: 22px; color: var(--ink-2); }
.whereis li { margin: 0 0 6px; }
.whereis li b { color: var(--ink); }
.whereis p { color: var(--ink-2); margin: 0 0 10px; font-size: 15px; }
.whereis a { color: var(--accent); }

/* wizard: optional goal label, remove control */
.goal-card h2 small { font-weight: 400; font-size: 13px; color: var(--ink-3); }
.goal-card .goal-tools { margin-top: 2px; }

/* today: one-time day-1 hint and the "Add another goal" line */
.hint-day1 { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: var(--accent-soft); border-radius: 10px; padding: 9px 12px; margin: 0 0 14px; font-size: 14px; color: var(--ink); }
.hint-day1 .linklike { flex: none; }
.goal-add { display: flex; align-items: baseline; gap: 10px; margin: 14px 0 0; }

/* settings: goal list */
.goal-summary { margin: 0 0 4px; padding-left: 22px; }
.goal-summary li { margin: 0 0 6px; }
