:root{--color-bg: #0c0c0d;--color-fg: #f3f1ec;--color-muted: #8a8782;--color-accent: #c9a96a;--color-surface: #16161a;--color-border: #26262b;--color-event-feed: #d49b5e;--font-display: ui-serif, "Iowan Old Style", Georgia, serif;--font-body: ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--radius-card: 20px;--shadow-card: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.25)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}html{font-size:16px}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-size:1rem;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}html.kiosk{scrollbar-width:none}html.kiosk::-webkit-scrollbar{display:none}html.kiosk,html.kiosk body{overscroll-behavior-y:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-3) var(--space-4)}.card__title{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:0 0 var(--space-3) 0}.card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.card__header .card__title{margin:0}.card__row-actions{display:inline-flex;gap:0;opacity:.65}.todos__item .btn--icon,.groceries__item .btn--icon{border:none;width:2.75rem;height:2.75rem}.btn{background:transparent;border:1px solid rgba(201,169,106,.4);color:var(--color-muted);font-family:var(--font-body);font-size:.85rem;border-radius:999px;padding:0;cursor:pointer;line-height:1}.btn:hover{color:var(--color-fg);border-color:var(--color-accent)}.btn--add{width:3rem;height:3rem;font-size:1.4rem}.btn--icon{width:3rem;height:3rem;font-size:1rem}.btn--text{background:transparent;border:none;color:var(--color-muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:0;cursor:pointer;min-height:2.75rem;display:inline-flex;align-items:center}.btn--text:hover{color:var(--color-fg)}.card__header-actions{display:inline-flex;align-items:center;gap:var(--space-3)}.muted{color:var(--color-muted)}.briefing{min-height:100vh;padding:var(--space-3);display:grid;gap:var(--space-3);max-width:1080px;margin:0 auto;position:relative;z-index:1}.briefing__topbox,.briefing__duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.briefing__stack{display:grid;gap:var(--space-3);align-content:start}.briefing>*,.briefing__topbox>*,.briefing__duo>*,.briefing__stack>*{min-width:0}.card--slim{padding:var(--space-2) var(--space-4)}.card__divider{border:0;border-top:1px solid var(--color-border);margin:var(--space-3) 0}.action-bar{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.action-btn{width:4.4rem;height:4.4rem;border-radius:999px;background:transparent;border:1px solid rgba(201,169,106,.4);color:var(--color-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.action-btn svg{width:1.8rem;height:1.8rem}.action-btn:hover{color:var(--color-fg);border-color:var(--color-accent);background:#ffffff05}.photo-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.photo-bg__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2s ease-in-out;filter:blur(2px)}.photo-bg__img--current{opacity:.22}html.has-overlay,html.has-overlay body{overflow:hidden}.overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:home-fade .18s ease-out}.overlay__panel{width:min(94vw,42rem);max-height:88vh;max-height:88dvh;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);animation:home-rise .2s ease-out}.overlay__header{display:flex;align-items:center;justify-content:space-between}.overlay__title{font-family:var(--font-display);font-size:1.9rem;margin:0;letter-spacing:-.01em}.overlay__close{width:3rem;height:3rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;color:var(--color-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.overlay__close:hover{color:var(--color-fg);border-color:var(--color-accent)}.spotify-ticker{position:fixed;z-index:40;left:50%;bottom:var(--space-3);width:min(calc(100vw - 2 * var(--space-3)),65rem);min-height:5rem;transform:translate(-50%);overflow:hidden;border:1px solid color-mix(in srgb,var(--color-accent) 42%,var(--color-border));border-radius:calc(var(--radius-card) + 2px);background:color-mix(in srgb,var(--color-surface) 94%,transparent);box-shadow:0 14px 45px #00000042;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:spotify-ticker-in .28s ease-out}.spotify-ticker[hidden]{display:none}@keyframes spotify-ticker-in{0%{transform:translate(-50%,1rem);opacity:0}}.spotify-ticker__progress{height:3px;background:color-mix(in srgb,var(--color-border) 70%,transparent)}.spotify-ticker__progress span{display:block;height:100%;background:var(--color-accent);transition:width .9s linear}.spotify-ticker__inner{min-height:calc(5rem - 3px);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.spotify-ticker__art,.spotify-art{width:3.55rem;height:3.55rem;border-radius:10px;object-fit:cover;flex-shrink:0;box-shadow:0 5px 15px #0003}.spotify-ticker__art--empty,.spotify-art--empty{display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-accent) 22%,var(--color-bg));color:var(--color-accent);font-size:1.3rem}.spotify-ticker__meta{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;align-self:stretch;border:0;background:none;color:var(--color-fg);text-align:left;cursor:pointer}.spotify-ticker__title,.spotify-ticker__artist{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-ticker__title{font-weight:650;font-size:1rem}.spotify-ticker__artist{color:var(--color-muted);font-size:.82rem;margin-top:2px}.spotify-ticker__control{width:3rem;height:3rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:var(--color-fg);cursor:pointer}.spotify-ticker__control[data-spotify-action=toggle]{background:var(--color-fg);color:var(--color-bg)}.spotify-ticker__control svg{width:1.25rem;height:1.25rem}.has-spotify-ticker .briefing{padding-bottom:6.5rem}.spotify-overlay{align-items:stretch;justify-content:flex-end;padding:0}.spotify-drawer{width:min(94vw,52rem);max-height:100vh;height:100%;border-radius:var(--radius-card) 0 0 var(--radius-card);padding:var(--space-5);gap:var(--space-3);overflow:hidden;animation:spotify-drawer-in .28s cubic-bezier(.22,.8,.3,1)}@keyframes spotify-drawer-in{0%{transform:translate(2rem);opacity:0}}.spotify-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.spotify-drawer__eyebrow{display:block;color:var(--color-accent);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--space-1)}.spotify-drawer__nav{min-height:3rem;display:flex;align-items:center;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.spotify-drawer__tab{min-height:3rem;padding:0 var(--space-3);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-muted);font-family:var(--font-body);cursor:pointer}.spotify-drawer__tab.is-active{color:var(--color-fg);border-bottom-color:var(--color-accent)}.spotify-drawer__device{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;color:var(--color-muted);font-size:.72rem;white-space:nowrap}.spotify-drawer__device i{width:.48rem;height:.48rem;border-radius:50%;background:var(--color-muted)}.spotify-drawer__device.is-ready i{background:#67b88a;box-shadow:0 0 0 4px #67b88a1f}.spotify-drawer__notice{border-radius:10px;padding:var(--space-2) var(--space-3);color:var(--color-muted);background:color-mix(in srgb,var(--color-accent) 9%,var(--color-bg));font-size:.82rem}.spotify-drawer__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.spotify-drawer__body::-webkit-scrollbar{display:none}.spotify-playlists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);padding:var(--space-1)}.spotify-playlist{position:relative;min-width:0;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);text-align:left;border:1px solid transparent;border-radius:14px;background:color-mix(in srgb,var(--color-bg) 80%,transparent);color:var(--color-fg);cursor:pointer}.spotify-playlist:hover{border-color:var(--color-border);transform:translateY(-1px)}.spotify-playlist .spotify-art{width:100%;height:auto;aspect-ratio:1;border-radius:10px}.spotify-playlist__copy{min-width:0;display:flex;flex-direction:column}.spotify-playlist__copy strong,.spotify-playlist__copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-playlist__copy strong{font-size:.9rem}.spotify-playlist__copy small{color:var(--color-muted);font-size:.7rem;margin-top:2px}.spotify-playlist__play{position:absolute;right:var(--space-3);bottom:3.1rem;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-accent);color:#171717;box-shadow:0 8px 20px #00000047;opacity:.92}.spotify-playlist__play svg{width:1.05rem}.spotify-search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);padding:var(--space-1);margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg)}.spotify-search>span{display:flex;color:var(--color-muted);margin-left:var(--space-2)}.spotify-search input{min-width:0;height:3rem;border:0;outline:0;background:transparent;color:var(--color-fg);font:1rem var(--font-body)}.spotify-search button,.spotify-drawer__unavailable button{min-height:2.75rem;border:0;border-radius:999px;padding:0 var(--space-4);background:var(--color-accent);color:#171717;font-weight:700;cursor:pointer}.spotify-results{display:flex;flex-direction:column}.spotify-track{display:flex;align-items:center;gap:var(--space-3);min-height:4.6rem;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.spotify-track .spotify-art{width:3.1rem;height:3.1rem}.spotify-track__copy{min-width:0;flex:1;min-height:2.75rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:0;background:none;color:var(--color-fg);text-align:left;cursor:pointer}.spotify-track__copy strong,.spotify-track__copy small{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-track__copy small{color:var(--color-muted);font-size:.76rem;margin-top:2px}.spotify-track__action{width:2.75rem;height:2.75rem;flex-shrink:0;border:0;border-radius:50%;background:transparent;color:var(--color-muted);font-size:1.35rem;cursor:pointer}.spotify-track__action:hover{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.spotify-drawer__loading,.spotify-drawer__empty{padding:var(--space-5);text-align:center;color:var(--color-muted)}.spotify-drawer__loading span{display:block;color:var(--color-accent);letter-spacing:.35em;animation:spotify-breathe 1.2s infinite alternate}@keyframes spotify-breathe{to{opacity:.25}}.spotify-add__back{min-height:2.75rem;border:0;background:none;color:var(--color-muted);cursor:pointer}.spotify-add__label{font-size:1.05rem}.spotify-add__list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.spotify-add__list button{min-height:4rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-fg);text-align:left;cursor:pointer}.spotify-add__list small{color:var(--color-muted)}.spotify-drawer__unavailable{max-width:28rem;margin:8vh auto 0;text-align:center}.spotify-drawer__unavailable-icon{width:5rem;height:5rem;margin:0 auto var(--space-3);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:50%;color:var(--color-accent);font-size:2.5rem}.spotify-drawer__unavailable h3{font-family:var(--font-display);font-size:1.6rem;margin:0}.spotify-drawer__unavailable p{color:var(--color-muted);line-height:1.6}.spotify-now{display:grid;grid-template-columns:auto minmax(8rem,1fr) repeat(4,3rem) minmax(6rem,.6fr);align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.spotify-now__copy{min-width:0;display:flex;flex-direction:column}.spotify-now__copy strong,.spotify-now__copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-now__copy small{color:var(--color-muted);font-size:.76rem}.spotify-now__copy>span{height:2px;margin-top:var(--space-2);background:var(--color-border)}.spotify-now__copy>span i{display:block;height:100%;background:var(--color-accent)}.spotify-now button{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--color-fg);font-size:1.8rem;cursor:pointer}.spotify-now button svg{width:1.2rem}.spotify-now .spotify-now__primary{background:var(--color-fg);color:var(--color-bg)}.spotify-now .spotify-now__shuffle.is-active{color:var(--color-accent)}.spotify-now__volume{min-width:0;height:3rem;display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted)}.spotify-now__volume svg{width:1.15rem;flex-shrink:0}.spotify-now__volume input{min-width:0;width:100%;min-height:2.75rem;accent-color:var(--color-accent)}.spotify-drawer__quiet{padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.78rem;text-align:center}@media(max-width:600px){.spotify-drawer{width:100vw;border-radius:0;padding:var(--space-3)}.spotify-playlists{grid-template-columns:repeat(2,minmax(0,1fr))}.spotify-drawer__device{display:none}.spotify-now{grid-template-columns:auto minmax(0,1fr) repeat(3,3rem)}.spotify-now__shuffle,.spotify-now__volume{display:none!important}}.voice-overlay-host{background:#070709ad}.voice-overlay{width:min(94vw,38rem);min-height:min(75vh,38rem);overflow:hidden;padding:var(--space-5)}.voice-overlay__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.voice-overlay__eyebrow{display:block;color:var(--color-accent);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--space-1)}.voice-overlay__body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:var(--space-4)}.voice-recording{flex:1;min-height:24rem;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);border:0;border-radius:22px;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--color-accent) 13%,transparent),transparent 48%);color:var(--color-fg);font-family:var(--font-body);cursor:pointer}.voice-recording__orb{position:relative;width:7.5rem;height:7.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#1a1815;background:var(--color-accent);box-shadow:0 0 0 1rem color-mix(in srgb,var(--color-accent) 9%,transparent),0 18px 50px #00000040}.voice-recording__orb i{position:absolute;inset:-.75rem;border:1px solid color-mix(in srgb,var(--color-accent) 60%,transparent);border-radius:inherit;animation:voice-pulse 1.7s ease-out infinite}.voice-recording__orb svg{width:2.5rem;height:2.5rem}@keyframes voice-pulse{75%,to{transform:scale(1.25);opacity:0}}.voice-recording strong{font-family:var(--font-display);font-size:1.65rem;font-weight:500}.voice-recording small{color:var(--color-muted);font-size:.85rem}.voice-recording__time{margin-top:var(--space-2);color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.voice-recording__time b{color:#c96f61;padding:0 .3rem}.voice-levels{height:3.2rem;display:flex;align-items:center;gap:.32rem}.voice-levels i{width:.3rem;height:var(--voice-level);min-height:12%;max-height:100%;border-radius:999px;background:var(--color-accent);transition:height .09s ease-out}.voice-waiting{min-height:20rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.voice-waiting__mark{position:relative;width:6rem;height:6rem;display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.voice-waiting__mark svg{width:3.25rem;height:3.25rem;animation:voice-turn 3s linear infinite}.voice-waiting__mark i{position:absolute;bottom:-.4rem;width:.4rem;height:.4rem;border-radius:50%;background:var(--color-accent);animation:voice-dots 1s infinite alternate}.voice-waiting__mark i:nth-of-type(1){left:2.05rem;animation-delay:0s}.voice-waiting__mark i:nth-of-type(2){left:2.8rem;animation-delay:.2s}.voice-waiting__mark i:nth-of-type(3){left:3.55rem;animation-delay:.4s}@keyframes voice-turn{to{transform:rotate(360deg)}}@keyframes voice-dots{to{opacity:.25;transform:translateY(-.2rem)}}.voice-waiting h3,.voice-error h3,.voice-sent h3{margin:var(--space-4) 0 var(--space-1);font-family:var(--font-display);font-size:1.6rem;font-weight:500}.voice-waiting p,.voice-error p,.voice-sent p{margin:0;color:var(--color-muted);line-height:1.6}.voice-transcript{width:100%;min-height:17rem;padding:var(--space-5);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:20px;background:color-mix(in srgb,var(--color-bg) 74%,transparent);color:var(--color-fg);text-align:left;cursor:pointer}.voice-transcript>span{color:var(--color-accent);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.voice-transcript q{font-family:var(--font-display);font-size:clamp(1.55rem,4vw,2.15rem);line-height:1.25;quotes:none}.voice-transcript small{color:var(--color-muted)}.voice-transcript.is-paused{border-color:color-mix(in srgb,var(--color-accent) 50%,var(--color-border))}.voice-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.voice-actions--confirm{display:grid;grid-template-columns:1fr 1fr 1.35fr}.voice-btn{min-height:3.25rem;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-muted);font:.88rem var(--font-body);cursor:pointer}.voice-btn:hover{color:var(--color-fg);border-color:var(--color-accent)}.voice-btn--primary{border-color:var(--color-accent);background:var(--color-accent);color:#191714;font-weight:700}.voice-btn--quiet{align-self:center;border:0}.voice-btn--send{position:relative;overflow:hidden;border-color:var(--color-accent);color:var(--color-fg)}.voice-btn--send:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--color-accent) 25%,transparent);transform-origin:left;transform:scaleX(var(--countdown));transition:transform .8s linear}.voice-btn--send span{position:relative}.voice-btn:disabled{opacity:.42;cursor:default}.voice-exchange{display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto}.voice-exchange__you{align-self:flex-end;max-width:82%;padding:var(--space-3) var(--space-4);border-radius:18px 18px 4px;background:color-mix(in srgb,var(--color-accent) 16%,var(--color-bg))}.voice-exchange__you span,.voice-reply>span{display:block;margin-bottom:var(--space-1);color:var(--color-muted);font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.voice-reply{align-self:flex-start;max-width:92%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:18px 18px 18px 4px;background:var(--color-bg)}.voice-reply>span{display:flex;align-items:center;gap:.4rem;color:var(--color-accent)}.voice-reply>span svg{width:1rem;height:1rem}.voice-reply p{margin:0;font-size:1.05rem;line-height:1.6;-webkit-user-select:text;user-select:text}.voice-sent,.voice-error{min-height:20rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.voice-sent>span,.voice-error>span{width:5.25rem;height:5.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,#67b88a 16%,transparent);color:#67b88a;font-family:var(--font-display);font-size:2.4rem}.voice-error>span{background:color-mix(in srgb,#c96f61 16%,transparent);color:#c96f61}.voice-error p,.voice-sent p{max-width:28rem}@media(max-width:540px){.voice-overlay{width:100vw;min-height:100vh;max-height:100vh;border-radius:0}.voice-actions--confirm{grid-template-columns:1fr 1fr}.voice-btn--send{grid-column:1 / -1;grid-row:1}}@media(prefers-reduced-motion:reduce){.voice-recording__orb i,.voice-waiting__mark svg,.voice-waiting__mark i,.spotify-drawer__loading span{animation:none}}.cal-day+.cal-day{margin-top:var(--space-3)}.cal-day__label{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-2) 0;padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.cal-day__list{list-style:none;padding:0;margin:0}.cal-event{display:grid;grid-template-columns:5rem 1fr auto;gap:var(--space-3);align-items:baseline;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);min-height:2.75rem;align-content:center}.cal-event:last-child{border-bottom:none}.cal-event__time{font-family:var(--font-display);font-size:1rem;white-space:nowrap}.cal-event__time--allday{font-family:var(--font-body);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.cal-person+.cal-person,.cal-coming{margin-top:var(--space-4)}.cal-person__head{position:sticky;top:0;z-index:1;display:flex;align-items:baseline;gap:var(--space-2);margin:0;padding:var(--space-2) 0 var(--space-1);background:var(--color-surface);font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid currentColor}.cal-person__count{color:var(--color-muted);font-weight:600;font-size:.75rem}.cal-person--tim .cal-person__head{color:var(--color-accent)}.cal-person--family .cal-person__head{color:#6dac8e}.cal-person--caroline .cal-person__head{color:#6e8faf}.cal-overlay__unlinked{font-style:italic;opacity:.6}.cal-overlay__unlinked,.cal-overlay__quiet{margin:var(--space-2) 0 0}.cal-overlay__subtitle{margin:2px 0 0;color:var(--color-muted);font-size:.8rem;letter-spacing:.04em}.cal-overlay__heading{min-width:0}.cal-event--dated{grid-template-columns:6.5rem 5rem 1fr auto}.cal-event__day{color:var(--color-muted);font-size:.85rem;white-space:nowrap}.cal-event__main{display:flex;flex-direction:column;gap:1px;min-width:0}.cal-event__title{font-size:1rem}.cal-event__sub{color:var(--color-muted);font-size:.85rem}.cal-chip{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);white-space:nowrap}.cal-chip--tim{color:var(--color-accent)}.cal-chip--family{color:#6dac8e}.cal-chip--caroline{color:#6e8faf}.cal-overlay__empty{text-align:center;padding:var(--space-4) 0}.cal-overlay{overflow:hidden}.cal-overlay__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none}.cal-overlay__body::-webkit-scrollbar{display:none}.cal-event[data-event]{cursor:pointer}.cal-event[data-event]:hover .cal-event__title{color:var(--color-accent)}.month-cal{width:min(96vw,64rem);height:94vh;height:94dvh;overflow:hidden}.month-cal__nav{display:inline-flex;gap:var(--space-2)}.month-cal__nav .overlay__close{font-size:1.5rem;font-family:var(--font-body)}.month-cal__dow{display:grid;grid-template-columns:repeat(7,1fr);color:var(--color-muted);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center}.month-cal__grid{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(9rem,auto);gap:3px}.month-cal__grid::-webkit-scrollbar{display:none}.month-cal__day{min-width:0;display:flex;flex-direction:column;gap:2px;padding:var(--space-1);border:1px solid var(--color-border);border-radius:10px;background:color-mix(in srgb,var(--color-bg) 55%,transparent)}.month-cal__day.is-outside{opacity:.35}.month-cal__num{font-family:var(--font-display);font-size:.9rem;align-self:flex-start;padding:2px 4px}.month-cal__day.is-today .month-cal__num{width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px;background:var(--color-accent);color:var(--color-bg)}.month-cal__chip{min-height:2.75rem;min-width:0;border:0;border-left:3px solid;border-radius:6px;padding:2px var(--space-1);text-align:left;font:.72rem/1.2 var(--font-body);color:var(--color-fg);cursor:pointer;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.month-cal__chip-time{color:var(--color-muted);font-weight:600}.month-cal__chip--family{border-color:#6dac8e;background:color-mix(in srgb,#6dac8e 14%,transparent)}.month-cal__chip--tim{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.month-cal__chip--caroline{border-color:#6e8faf;background:color-mix(in srgb,#6e8faf 14%,transparent)}.month-cal__chip--other{border-color:var(--color-muted);background:color-mix(in srgb,var(--color-muted) 12%,transparent)}.month-cal__more{min-height:2.75rem;border:0;background:transparent;color:var(--color-muted);font-size:.7rem;text-align:left;cursor:pointer}.overlay--day-detail{z-index:55}.day-detail{width:min(92vw,32rem)}.day-detail__title{font-size:1.4rem}.article-overlay{width:min(96vw,64rem);height:94vh;height:94dvh;padding:0;gap:0;overflow:hidden}.article-overlay__bar{display:flex;align-items:center;gap:var(--space-3);min-height:3.5rem;padding:0 var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0}.article-overlay__back{min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-fg);font:.9rem var(--font-body);cursor:pointer;white-space:nowrap}.article-overlay__back:hover{border-color:var(--color-accent)}.article-overlay__source{flex:1;min-width:0;color:var(--color-muted);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.article-overlay__external{min-height:2.75rem;display:inline-flex;align-items:center;padding:0 var(--space-3);color:var(--color-accent);font-size:.8rem;text-decoration:none;white-space:nowrap}.article-overlay__body{position:relative;flex:1;min-height:0}.article-overlay__hint{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;padding:var(--space-5);margin:0;text-align:center;color:var(--color-muted)}.article-overlay__frame{position:relative;z-index:1;width:100%;height:100%;border:0;display:block}.overlay--event-detail{z-index:60}.event-detail{width:min(92vw,28rem)}.event-detail__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.event-detail__row{display:flex;align-items:flex-start;gap:var(--space-3)}.event-detail__icon{flex-shrink:0;color:var(--color-muted);margin-top:2px;display:flex;align-items:center}.event-detail__icon--chip{margin-top:0}.event-detail__text{font-size:.95rem;line-height:1.5}.event-detail__description{color:var(--color-muted);white-space:pre-wrap}.home-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:home-fade .18s ease-out}@keyframes home-fade{0%{opacity:0}to{opacity:1}}.home-panel{width:min(94vw,30rem);max-height:92vh;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);animation:home-rise .2s ease-out}@keyframes home-rise{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.home__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.home__title{font-family:var(--font-display);font-size:1.9rem;margin:0;letter-spacing:-.01em}.home__close{width:3rem;height:3rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;color:var(--color-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.home__close:hover{color:var(--color-fg);border-color:var(--color-accent)}.home-tile{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:var(--space-3) var(--space-4)}.home-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:color-mix(in srgb,var(--color-muted) 14%,transparent);color:var(--color-muted);flex-shrink:0}.home-tile__name{font-size:1.05rem;font-weight:600}.home-tile__state{display:block;font-size:.8rem;color:var(--color-muted);margin-top:2px}.home-tile__battery--low{color:#d08770}.home-tile--lock{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4)}.home-tile--lock .home-tile__lead{display:flex;align-items:center;gap:var(--space-3);min-width:0}.home-tile--lock.is-unlocked .home-tile__icon{background:color-mix(in srgb,var(--color-accent) 20%,transparent);color:var(--color-accent)}.home-tile--lock.is-jammed .home-tile__icon{background:#d0817038;color:#d08770}.home-tile__control{flex-shrink:0}.home-btn{min-height:3.4rem;padding:0 var(--space-4);border-radius:999px;font-size:1rem;font-weight:600;cursor:pointer;border:1px solid var(--color-border);background:transparent;color:var(--color-fg)}.home-btn:disabled{opacity:.5;cursor:default}.home-btn--unlock{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.home-btn--lock{color:var(--color-muted)}.home-btn--lock:hover{color:var(--color-fg);border-color:var(--color-accent)}.home__plugs{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.home-tile--plug{display:flex;align-items:center;gap:var(--space-3);min-height:4rem;text-align:left;cursor:pointer;color:var(--color-fg);font-family:var(--font-body)}.home-tile--plug .home-tile__name{flex:1}.home-tile--plug.is-on{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border))}.home-tile--plug.is-on .home-tile__icon{background:color-mix(in srgb,var(--color-accent) 20%,transparent);color:var(--color-accent)}.home-tile__switch{width:3.25rem;height:1.9rem;border-radius:999px;background:var(--color-border);flex-shrink:0;padding:3px;transition:background .18s}.home-tile--plug.is-on .home-tile__switch{background:var(--color-accent)}.home-tile__knob{display:block;width:1.5rem;height:1.5rem;border-radius:999px;background:#fff;transform:translate(0);transition:transform .18s;box-shadow:0 1px 3px #0000004d}.home-tile--plug.is-on .home-tile__knob{transform:translate(1.35rem)}.pinpad{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.pinpad__prompt{font-size:.9rem;color:var(--color-muted)}.pinpad.has-error .pinpad__prompt{color:#d08770}.pinpad__dots{display:flex;gap:var(--space-2)}.pinpad__dot{width:.75rem;height:.75rem;border-radius:999px;border:1.5px solid var(--color-muted)}.pinpad__dot.is-filled{background:var(--color-accent);border-color:var(--color-accent)}.pinpad__keys{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);width:100%}.pinpad__key{min-height:3.75rem;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-fg);font-size:1.4rem;font-family:var(--font-body);cursor:pointer}.pinpad__key:active{background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.pinpad__key--text{font-size:.95rem;color:var(--color-muted)}.pinpad__submit{width:100%;margin-top:var(--space-1)}.clock{font-family:var(--font-display)}.clock__time{font-size:4rem;line-height:1;letter-spacing:-.03em;font-weight:400}.clock__date{color:var(--color-muted);font-size:1rem;margin-top:var(--space-2);font-family:var(--font-body);letter-spacing:.02em}.weather__main{display:flex;align-items:flex-start;gap:var(--space-3)}.weather__current{flex:0 0 auto}.weather__now{display:flex;align-items:center;gap:var(--space-2)}.weather__temp{font-family:var(--font-display);font-size:4rem;line-height:1;font-weight:400}.weather__meta{display:flex;flex-direction:column;gap:var(--space-1)}.weather__condition{color:var(--color-muted);font-size:1rem}.weather__hilo{color:var(--color-muted);font-size:.9rem}.weather__stats{margin-left:auto;align-self:center;display:grid;grid-template-columns:auto auto;gap:var(--space-2) var(--space-4)}.weather__stat{display:flex;flex-direction:column;gap:1px;min-width:0}.weather__stat-label{color:var(--color-muted);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.weather__stat-value{font-family:var(--font-display);font-size:.95rem;white-space:nowrap}.weather__outlook{min-width:0;margin-top:var(--space-2)}.weather__strip{display:grid;grid-template-columns:4.5rem 1fr;align-items:center;min-width:0}.weather__strip+.weather__strip{border-top:1px solid var(--color-border)}.weather__strip-label{color:var(--color-muted);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.2}.weather__hourly,.weather__forecast{display:flex;gap:var(--space-1);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.weather__hourly::-webkit-scrollbar,.weather__forecast::-webkit-scrollbar{display:none}.weather__hourly,.weather__forecast{padding:var(--space-1) 0}.weather__hour,.weather__day{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:2.35rem}.weather__hour-label,.weather__day-label{color:var(--color-muted);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase}.weather__hour-temp,.weather__day-temp{font-family:var(--font-display);font-size:.85rem}.weather__hour-emoji,.weather__day-emoji{font-size:.9rem;line-height:1;margin-top:2px}.weather__rain{color:#6e9fc4;font-size:.58rem;line-height:1}.traffic__row{display:flex;align-items:baseline;gap:var(--space-3)}.traffic__duration{font-family:var(--font-display);font-size:2.5rem;line-height:1}.traffic__duration--clear{color:var(--color-fg)}.traffic__duration--slow{color:var(--color-event-feed)}.traffic__duration--heavy{color:#c66}.traffic__via{color:var(--color-muted);font-size:.95rem}.traffic__delta{margin-top:var(--space-2);color:var(--color-muted);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.briefing__duo--updates{height:21rem;min-height:0}.briefing__duo--updates>.card{height:100%;min-height:0;overflow:hidden}.countdown{height:100%;display:flex;flex-direction:column}.countdown__list{list-style:none;padding:0;margin:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none}.countdown__list::-webkit-scrollbar{display:none}.countdown__item{display:grid;grid-template-columns:2.75rem 1fr;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);min-height:2.75rem;transition:transform .15s,opacity .15s}.countdown__item:last-child{border-bottom:none}.countdown__check{width:2.75rem;height:2.75rem;padding:0;border:none;background:transparent;display:grid;place-items:center;cursor:pointer}.countdown__check:before{content:"✓";width:1.5rem;height:1.5rem;border:2px solid var(--color-muted);border-radius:999px;display:grid;place-items:center;color:transparent;font-size:.85rem;font-weight:700;line-height:1;transition:background .15s,border-color .15s}.countdown__check:active:before{border-color:var(--color-accent)}.countdown__item--done .countdown__check:before{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.countdown__item--done .countdown__name{text-decoration:line-through;color:var(--color-muted)}.countdown__item--done .countdown__days{opacity:.5}.countdown__body{min-width:0}.countdown__when{display:flex;align-items:baseline;gap:var(--space-2)}.countdown__days{font-family:var(--font-display);color:var(--color-accent);font-size:1rem;white-space:nowrap}.countdown__date{color:var(--color-muted);font-size:.75rem;letter-spacing:.04em;white-space:nowrap}.countdown__name{font-size:1rem;color:var(--color-fg);margin-top:2px}.countdown__sub{color:var(--color-muted);font-size:.85rem}.calendar__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-2)}.calendar__column+.calendar__column{border-left:1px solid var(--color-border);padding-left:var(--space-2)}.calendar__column-label{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-1) 0;padding-bottom:var(--space-1);border-bottom:2px solid currentColor;opacity:.85}.calendar__empty{margin:0;font-size:.9rem;font-style:italic}.calendar__empty--unlinked{opacity:.6}.calendar__list{list-style:none;padding:0;margin:0;max-height:14.25rem;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none}.calendar__list::-webkit-scrollbar{display:none}.calendar__event{display:grid;grid-template-columns:5.5rem 1fr;gap:var(--space-3);padding:0;border-bottom:1px solid var(--color-border);min-height:2.75rem;align-content:center}.calendar__when{display:flex;flex-direction:column;min-width:0;line-height:1.15}.calendar__date{color:var(--color-muted);font-size:.72rem;white-space:nowrap}.calendar__details{min-width:0;line-height:1.2}.calendar__event:last-child{border-bottom:none}.calendar__event--next{border-left:3px solid var(--color-accent);padding-left:var(--space-3);margin-left:calc(-1 * var(--space-3))}.calendar__column--tim .calendar__column-label{color:var(--color-accent)}.calendar__column--family .calendar__column-label{color:#6dac8e}.calendar__column--caroline .calendar__column-label{color:#6e8faf}.calendar__event[data-event]{cursor:pointer}.calendar__event[data-event]:hover .calendar__title{color:var(--color-accent)}.calendar__time{font-family:var(--font-display);color:var(--color-fg);font-size:.95rem;white-space:nowrap}.calendar__title{font-size:.95rem;color:var(--color-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar__sub{color:var(--color-muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo{position:relative;overflow:hidden;padding:0;aspect-ratio:4 / 3}.photo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease-in-out}.photo__img--current{opacity:1}.photo__caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-4);background:linear-gradient(to top,#0009,#0000);color:var(--color-fg);font-size:.95rem}.chores__group+.chores__group{margin-top:var(--space-3)}.chores__owner-label{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-2) 0}.chores__empty{margin:0}.chores__list{list-style:none;padding:0;margin:0}.chores__item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);cursor:pointer}.chores__item:last-child{border-bottom:none}.chores__check{width:1.5rem;height:1.5rem;border:2px solid var(--color-muted);border-radius:6px;cursor:pointer;flex-shrink:0}.chores__check--done{background:var(--color-accent);border-color:var(--color-accent)}.chores__text{font-size:1rem}.chores__text--done{text-decoration:line-through;color:var(--color-muted)}.drag-handle{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;color:var(--color-muted);opacity:.7;font-size:1.1rem;letter-spacing:-2px;line-height:1;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.drag-handle:active{cursor:grabbing}.sortable-ghost{opacity:.4}.sortable-chosen{background:#c9a96a0f}.todos__list{list-style:none;padding:0;margin:0}.todos__more{display:flex;justify-content:center;gap:var(--space-3);padding-top:var(--space-3)}.todos__item{display:grid;grid-template-columns:auto auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);cursor:pointer}.todos__meta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.todos__item:last-child{border-bottom:none}.todos__check{position:relative;width:1.5rem;height:1.5rem;border:2px solid var(--color-muted);border-radius:6px;cursor:pointer;flex-shrink:0}.todos__check--done{background:var(--color-accent);border-color:var(--color-accent)}.todos__check--done:after,.groceries__check--done:after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-bg);font-size:.95rem;font-weight:700;line-height:1}.todos__body{display:flex;flex-direction:column;gap:2px;min-width:0}.todos__text{font-size:1rem;overflow-wrap:anywhere}.todos__text--done{text-decoration:line-through;color:var(--color-muted)}.todos__due{color:var(--color-muted);font-size:.75rem;letter-spacing:.05em}.todos__due--today{color:var(--color-accent)}.todos__due--overdue{color:#c66}.todos__owner{color:var(--color-muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.groceries__list{list-style:none;padding:0;margin:0}.groceries__item{display:grid;grid-template-columns:auto auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);cursor:pointer}.groceries__item:last-child{border-bottom:none}.groceries__check{position:relative;width:1.5rem;height:1.5rem;border:2px solid var(--color-muted);border-radius:6px;cursor:pointer;flex-shrink:0}.groceries__check--done{background:var(--color-accent);border-color:var(--color-accent)}.groceries__text{font-size:1rem;overflow-wrap:anywhere}.groceries__text--done{text-decoration:line-through;color:var(--color-muted)}.groceries__qty{color:var(--color-muted);font-size:.85rem}.home-card__lock{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:3.25rem;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:14px;color:var(--color-fg);font-family:var(--font-body);font-size:1rem;cursor:pointer;text-align:left}.home-card__lock-icon{display:inline-flex;color:var(--color-muted);flex-shrink:0}.home-card__lock.is-unlocked .home-card__lock-icon{color:var(--color-accent)}.home-card__lock.is-jammed .home-card__lock-icon{color:#d08770}.home-card__lock-name{flex:1;min-width:0;font-weight:600}.home-card__lock-state{color:var(--color-muted);font-size:.85rem;white-space:nowrap}.home-card__lock.is-unlocked .home-card__lock-state{color:var(--color-accent)}.home-card__list{list-style:none;padding:0;margin:0}.home-card__row{display:flex;align-items:center;border-bottom:1px solid var(--color-border)}.home-card__row:last-child{border-bottom:none}.home-card__toggle{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:3.25rem;padding:var(--space-1) 0;background:transparent;border:none;color:var(--color-fg);font-family:var(--font-body);font-size:1rem;cursor:pointer;text-align:left}.home-card__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-card__row.is-on .home-tile__switch{background:var(--color-accent)}.home-card__row.is-on .home-tile__knob{transform:translate(1.35rem)}.home-card__remove{border:none;flex-shrink:0}.home-card__add{border-bottom:none}.home-card__add-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.home-card__add-fields .list-input__field{width:100%}.list-input__field--mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.list-input{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);list-style:none}.list-input__field{flex:1;min-width:0;min-height:3rem;padding:0 var(--space-3);font-family:var(--font-body);font-size:1rem;color:var(--color-fg);background:color-mix(in srgb,var(--color-fg) 4%,transparent);border:1px solid var(--color-border);border-radius:12px;outline:none}.list-input__field:focus{border-color:var(--color-accent)}.list-input__field::placeholder{color:var(--color-muted);font-style:italic}.list-input__actions{opacity:1}.list-input__ok{color:var(--color-accent);border-color:#c9a96a66}.list-more{display:flex;justify-content:center;gap:var(--space-3);padding-top:var(--space-3)}.list-more .btn--text{min-height:2.75rem}.toast{position:fixed;left:50%;bottom:var(--space-4);transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:var(--space-3);max-width:min(92vw,34rem);padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;box-shadow:var(--shadow-card);animation:toast-rise .2s ease-out}@keyframes toast-rise{0%{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%);opacity:1}}.toast__msg{font-size:.95rem;color:var(--color-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast__action{min-height:2.75rem;padding:0 var(--space-3);border:none;background:transparent;color:var(--color-accent);font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;flex-shrink:0}.message{display:flex;flex-direction:column}.message__quote{font-family:var(--font-display);font-size:1.25rem;line-height:1.5;font-style:italic;color:var(--color-fg);margin:0}.message__from{margin-top:var(--space-3);color:var(--color-muted);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.greeting{padding:var(--space-3) var(--space-4)}.greeting__headline{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:-.01em;margin:0;line-height:1.15}.greeting__subline{margin:var(--space-2) 0 0 0;color:var(--color-muted);font-size:1rem;letter-spacing:.02em}.bible{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.bible__text{font-family:var(--font-display);font-size:.95rem;line-height:1.4;font-style:italic;color:var(--color-fg);margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bible__ref{color:var(--color-muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.time-card .action-bar{margin-top:var(--space-4)}.onthisday__fact{margin:0;font-size:.95rem;line-height:1.4;color:var(--color-fg)}.aimessage{margin-top:var(--space-3)}.aimessage__text{margin:0;font-size:.95rem;line-height:1.5;color:var(--color-fg);font-style:italic}.card--photo-fill{display:flex;flex-direction:column}.card--photo-fill .card__photo{flex:1;min-height:0}.card__photo{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:16 / 9}.card--photo-fill .card__photo{aspect-ratio:unset}.card__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease-in-out}.card__photo img.is-current{opacity:1}.card__photo-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-3) var(--space-4);background:linear-gradient(to top,#0000008c,#0000);color:var(--color-fg);font-size:.95rem}.headlines__list{list-style:none;padding:0;margin:0;overflow:hidden}.headlines__item{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);align-items:baseline}.headlines__item:last-child{border-bottom:none}.headlines__source{color:var(--color-muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.headlines__title{font-size:.95rem;color:var(--color-fg);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.pick{height:100%;display:flex;flex-direction:column}.pick__list{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none}.pick__list::-webkit-scrollbar{display:none}.pick__item{display:grid;grid-template-columns:5rem 1fr;grid-template-rows:auto auto;column-gap:var(--space-2);row-gap:2px;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);color:inherit;text-decoration:none}.pick__item:last-child{border-bottom:none}.pick__source{color:var(--color-muted);grid-row:1 / span 2;align-self:center;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;white-space:normal;line-height:1.2}.pick__title{font-size:1rem;line-height:1.3;color:var(--color-fg);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}a.pick__item .pick__title{color:var(--color-accent, var(--color-fg))}.pick__note{margin:0;font-size:.8rem;color:var(--color-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.briefing__lists>[data-slot=todos]{height:34rem;overflow:hidden}.briefing__lists .todos,.briefing__lists .groceries{height:100%;display:flex;flex-direction:column}.briefing__lists .todos__list,.briefing__lists .groceries__list{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none}.briefing__lists .todos__list::-webkit-scrollbar,.briefing__lists .groceries__list::-webkit-scrollbar{display:none}.briefing__lists [data-slot=groceries]{height:18rem;overflow:hidden}:root[data-theme=fun]{--color-bg: #fdf6ee;--color-fg: #2a2520;--color-muted: #8c7a68;--color-accent: #ff7a59;--color-surface: #ffffff;--color-border: #f0e6d8;--color-event-feed: #f4a261;--font-display: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, sans-serif;--radius-card: 24px;--shadow-card: 0 2px 8px rgba(120, 90, 60, .06), 0 12px 32px rgba(120, 90, 60, .06)}[data-theme=fun] .photo-bg{display:none}[data-theme=fun] .btn,[data-theme=fun] .action-btn{background:#ff7a591a;border-color:transparent;color:var(--color-accent)}[data-theme=fun] .btn:hover,[data-theme=fun] .action-btn:hover{background:#ff7a592e;color:var(--color-accent)}[data-theme=fun] .card__title{color:var(--color-muted);font-weight:700}[data-theme=fun] .calendar__section-label,[data-theme=fun] .chores__owner-label{color:var(--color-accent)}[data-theme=fun] .clock__time,[data-theme=fun] .weather__temp,[data-theme=fun] .traffic__duration{font-weight:600}[data-theme=fun] .countdown__days{color:var(--color-accent);font-weight:700}[data-theme=fun] .bible{color:var(--color-fg)}[data-theme=fun] .card.card--slim{background:var(--color-surface)}[data-theme=fun] .todos__check--done,[data-theme=fun] .chores__check--done,[data-theme=fun] .groceries__check--done{background:var(--color-accent);border-color:var(--color-accent)}[data-theme=fun] .todos__due--today{color:var(--color-accent)}[data-theme=fun] .traffic .card__title:before{content:"🚗 "}[data-theme=fun] .weather .card__title:before{content:"☀️ "}[data-theme=fun] .calendar .card__title:before{content:"📅 "}[data-theme=fun] .countdown .card__title:before{content:"🎉 "}[data-theme=fun] .todos .card__title:before{content:"✅ "}[data-theme=fun] .groceries .card__title:before{content:"🛒 "}[data-theme=fun] .pick .card__title:before{content:"🎟️ "}[data-theme=fun] .calendar__section:nth-of-type(1) .calendar__section-label:before{content:"👨‍👩‍👧 "}[data-theme=fun] .calendar__section:nth-of-type(2) .calendar__section-label:before{content:"💼 "}[data-theme=fun] .calendar__section:nth-of-type(3) .calendar__section-label:before{content:"💼 "}[data-theme=fun] .bible__text:before{content:"✨ "}:root[data-theme=light]{--color-bg: #fdf6ee;--color-fg: #2a2520;--color-muted: #8c7a68;--color-accent: #ff7a59;--color-surface: #ffffff;--color-border: #f0e6d8;--color-event-feed: #f4a261;--font-display: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, sans-serif;--radius-card: 24px;--shadow-card: 0 2px 8px rgba(120, 90, 60, .06), 0 12px 32px rgba(120, 90, 60, .06)}[data-theme=light] .photo-bg{display:none}[data-theme=light] .btn,[data-theme=light] .action-btn{background:#ff7a591a;border-color:transparent;color:var(--color-accent)}[data-theme=light] .btn:hover,[data-theme=light] .action-btn:hover{background:#ff7a592e;color:var(--color-accent)}[data-theme=light] .btn--text{background:transparent;color:var(--color-accent)}[data-theme=light] .btn--text:hover{background:transparent;color:var(--color-fg)}[data-theme=light] .card__title{color:var(--color-muted);font-weight:700}[data-theme=light] .calendar__section-label,[data-theme=light] .chores__owner-label{color:var(--color-accent)}[data-theme=light] .clock__time,[data-theme=light] .weather__temp,[data-theme=light] .traffic__duration{font-weight:600}[data-theme=light] .countdown__days{color:var(--color-accent);font-weight:700}[data-theme=light] .card.card--slim{background:var(--color-surface)}[data-theme=light] .todos__check--done,[data-theme=light] .chores__check--done,[data-theme=light] .groceries__check--done{background:var(--color-accent);border-color:var(--color-accent)}[data-theme=light] .todos__due--today{color:var(--color-accent)}[data-theme=light] .traffic .card__title:before{content:"🚗 "}[data-theme=light] .weather .card__title:before{content:"☀️ "}[data-theme=light] .calendar .card__title:before{content:"📅 "}[data-theme=light] .countdown .card__title:before{content:"🎉 "}[data-theme=light] .todos .card__title:before{content:"✅ "}[data-theme=light] .groceries .card__title:before{content:"🛒 "}[data-theme=light] .pick .card__title:before{content:"🎟️ "}[data-theme=light] .calendar__section:nth-of-type(1) .calendar__section-label:before{content:"👨‍👩‍👧 "}[data-theme=light] .calendar__section:nth-of-type(2) .calendar__section-label:before{content:"💼 "}[data-theme=light] .calendar__section:nth-of-type(3) .calendar__section-label:before{content:"💼 "}[data-theme=light] .bible__text:before{content:"✨ "}[data-theme=light] .action-btn[data-launch=phone]{display:none}[data-theme=light] .action-btn[data-launch=money]{display:inline-flex}[data-theme=light] .countdown .card__title:before{content:"👨‍👩‍👧 "}:root[data-theme=cosy]{--color-bg: #0c0c0d;--color-fg: #f5ede0;--color-muted: #a89a86;--color-accent: #e8a87c;--color-surface: #1a1612;--color-border: #2c2620;--color-event-feed: #d49b5e;--font-display: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, sans-serif}[data-theme=cosy] .card__title{color:var(--color-muted);font-weight:700}[data-theme=cosy] .calendar__section-label,[data-theme=cosy] .chores__owner-label{color:var(--color-accent)}[data-theme=cosy] .clock__time,[data-theme=cosy] .weather__temp,[data-theme=cosy] .traffic__duration{font-weight:600}[data-theme=cosy] .countdown__days{color:var(--color-accent);font-weight:700}[data-theme=cosy] .card.card--slim{background:var(--color-surface)}[data-theme=cosy] .todos__check--done,[data-theme=cosy] .chores__check--done,[data-theme=cosy] .groceries__check--done{background:var(--color-accent);border-color:var(--color-accent)}[data-theme=cosy] .todos__due--today{color:var(--color-accent)}[data-theme=cosy] .traffic .card__title:before{content:"🚗 "}[data-theme=cosy] .weather .card__title:before{content:"☀️ "}[data-theme=cosy] .calendar .card__title:before{content:"📅 "}[data-theme=cosy] .countdown .card__title:before{content:"🎉 "}[data-theme=cosy] .todos .card__title:before{content:"✅ "}[data-theme=cosy] .groceries .card__title:before{content:"🛒 "}[data-theme=cosy] .pick .card__title:before{content:"🎟️ "}[data-theme=cosy] .calendar__section:nth-of-type(1) .calendar__section-label:before{content:"👨‍👩‍👧 "}[data-theme=cosy] .calendar__section:nth-of-type(2) .calendar__section-label:before{content:"💼 "}[data-theme=cosy] .calendar__section:nth-of-type(3) .calendar__section-label:before{content:"💼 "}[data-theme=cosy] .bible__text:before{content:"✨ "}
