:root{--bg: #f2e8d8;--bg-elevated: #e8dcc3;--text: #2b2118;--text-muted: #6b5a45;--border: #c9b896;--accent: #7a4a2a;--accent-text: #fdf6ec;--danger: #9c3b2e}@media(prefers-color-scheme:dark){:root{--bg: #3a2a1e;--bg-elevated: #4a3a2c;--text: #f5f0e8;--text-muted: #c2a888;--border: #5c4632;--accent: #c68a4a;--accent-text: #2b1e12;--danger: #d97a6a}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4}button{font-family:inherit;font-size:1rem;cursor:pointer;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);padding:.5rem 1rem}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{background:var(--danger);color:var(--accent-text);border-color:var(--danger)}input,select,textarea{font-family:inherit;font-size:1rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.5rem}a{color:var(--accent)}input[type=date],input[type=time]{color-scheme:light}@media(prefers-color-scheme:dark){input[type=date],input[type=time]{color-scheme:dark}}.signed-out{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;max-width:24rem;padding:1.5rem 2rem}.privacy-link{color:var(--text-muted);font-size:.85rem}.app{width:100%;padding:1.5rem 2rem}.app header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.app section{margin-bottom:1.5rem}.app section h2{margin-bottom:.75rem}.reminder-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);padding:1rem;margin-bottom:.75rem}.reminder-actions{display:flex;align-items:center;gap:.5rem}.header-toggle[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.header-toggle[aria-pressed=true]:before{content:"✓ ";content:"✓ " / ""}.vacation-banner{margin-bottom:1.25rem;padding:.75rem 1rem;border:1px solid var(--accent);border-left-width:4px;border-radius:6px;background:var(--bg-elevated);color:var(--text);font-weight:600}.reminder-title{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.badge{border:1px solid var(--border);border-radius:999px;padding:.05rem .55rem;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.reminder-card.paused{border-style:dashed;background:var(--bg)}.reminder-card.paused>div:first-child{color:var(--text-muted)}.reminder-set-for{color:var(--text-muted);font-size:.85rem}.reminder-recurrence{margin-top:.375rem;color:var(--text-muted);font-size:.85rem}form{max-width:100%}form>label{display:block;font-weight:500;margin-top:1rem;margin-bottom:.375rem}form>label:first-of-type{margin-top:0}form>input,form>select,form>textarea{width:100%}form>textarea{min-height:4.5rem;resize:vertical}.form-hint{margin-top:.375rem;color:var(--text-muted);font-size:.85rem}form fieldset{margin-top:1rem;border:1px solid var(--border);border-radius:6px;padding:.75rem}form fieldset legend{font-weight:500;padding:0 .25rem}form fieldset label{display:inline-flex;align-items:center;gap:.25rem;margin-right:1rem}form [role=alert]{display:block;color:var(--danger);margin:0 0 1rem}form>button:first-of-type{margin-top:1.5rem}form>button{margin-right:.5rem}.app{max-width:64rem;margin:0 auto}.signed-out{max-width:32rem;margin:10vh auto}.signed-out h1{margin-bottom:0;font-size:2.75rem}.signed-out p{color:var(--text-muted)}.header-actions{display:flex;gap:.75rem;flex-wrap:wrap}button{min-height:44px}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.reminder-card>div:first-child{min-width:0;overflow-wrap:anywhere}.reminder-card p{white-space:pre-wrap}.reminder-actions{flex-wrap:wrap;flex-shrink:0}form{max-width:42rem}form h2{margin-top:0}[role=alert]{color:var(--danger)}@media(max-width:600px){.app,.signed-out{padding:1.25rem}.app header{align-items:flex-start;flex-direction:column}.reminder-card{flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1}form fieldset label{min-height:44px}}
