:root{--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--font-display:"Fraunces", Georgia, serif;--color-bg:#fff8f3;--color-bg-accent:#ffe8d6;--color-surface:#fff;--color-surface-muted:#fff1e8;--color-text:#292524;--color-text-muted:#78716c;--color-text-soft:#a8a29e;--color-border:#f5e6dc;--color-border-strong:#e7d5c8;--color-accent:#ea580c;--color-accent-hover:#c2410c;--color-accent-soft:#ffedd5;--color-success:#15803d;--color-error:#b91c1c;--color-error-bg:#fef2f2;--shadow-sm:0 1px 2px #2925240d;--shadow-md:0 8px 24px #ea580c14, 0 2px 8px #2925240a;--shadow-lg:0 20px 50px #ea580c1f, 0 4px 16px #2925240f;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-full:999px;font-family:var(--font-body);color:var(--color-text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);min-height:100vh;margin:0}#root{min-height:100vh}button{font:inherit}a{color:inherit}.page{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.page__blobs{pointer-events:none;z-index:0;position:fixed;inset:0}.blob{filter:blur(60px);opacity:.55;border-radius:50%;position:absolute}.blob--1{background:#fdba74;width:280px;height:280px;top:-60px;right:-80px}.blob--2{background:#fcd34d;width:220px;height:220px;bottom:10%;left:-60px}.blob--3{background:#fda4af;width:180px;height:180px;bottom:-40px;right:20%}.site-header{z-index:10;position:relative}.site-main,.site-footer{z-index:1;position:relative}.site-header{width:100%;max-width:42rem;margin:0 auto;padding:1.5rem 1.25rem 0}.brand{align-items:center;gap:.625rem;display:inline-flex}.brand__mark{background:var(--color-accent-soft);border-radius:var(--radius-md);justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.25rem;display:flex}.brand__name{letter-spacing:-.02em;font-size:1rem;font-weight:700}.site-main{flex:1;width:100%;max-width:42rem;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.intro{margin-bottom:1.75rem}.intro__eyebrow{color:var(--color-accent);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.intro__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(1.75rem,5vw,2.375rem);font-weight:700;line-height:1.15}.intro__lede{color:var(--color-text-muted);max-width:36ch;margin:0;font-size:1.0625rem;line-height:1.65}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.75rem}.panel--centered{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.panel--sign-in,.panel--account{animation:.45s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel__heading{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.panel__subheading{color:var(--color-text-muted);margin:0 0 1.5rem}.panel__hint{color:var(--color-text-soft);margin:0}.panel__fine-print{color:var(--color-text-soft);text-align:center;margin:1.25rem 0 0;font-size:.8125rem;line-height:1.5}.main-hero{margin-bottom:1.5rem}.main-hero--compact{margin-bottom:1rem}.panel--account-compact{margin-bottom:1.5rem}.panel--account-compact .profile{margin-bottom:0}.panel--form{margin-bottom:1.25rem;animation:.45s ease-out rise}.dashboard__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.dashboard__title{font-family:var(--font-display);margin:0 0 .25rem;font-size:1.375rem;font-weight:700}.dashboard__subtitle{color:var(--color-text-muted);max-width:32ch;margin:0;font-size:.9375rem}.btn--primary{background:var(--color-accent);color:#fff;border:none;width:auto;padding:.75rem 1.25rem}.btn--primary:hover{background:var(--color-accent-hover)}.btn--inline{white-space:nowrap;flex-shrink:0}.field-group{grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.field__label{font-size:.875rem;font-weight:600}.field__input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font:inherit;padding:.75rem .875rem}.field__input:focus{border-color:var(--color-accent);outline:2px solid var(--color-accent-soft);outline-offset:0}.field__input--error{border-color:var(--color-error)}.field__input--error:focus{border-color:var(--color-error);outline-color:#fecaca}.field__error{color:var(--color-error);margin:.25rem 0 0;font-size:.875rem}.field__error--group{margin-top:-.75rem;margin-bottom:1rem}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.form-error{color:var(--color-error);margin:0 0 .75rem;font-size:.875rem}.countdown-list{flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}.countdown-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;transition:box-shadow .15s;display:flex;position:relative}.countdown-card:hover{box-shadow:var(--shadow-md)}.countdown-card__actions{opacity:0;gap:.5rem;transition:opacity .15s;display:flex;position:absolute;top:.75rem;right:.75rem}.countdown-card:hover .countdown-card__actions{opacity:1}.countdown-card__action{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:all .15s;display:flex}.countdown-card__action:hover{color:var(--color-accent-hover);border-color:var(--color-accent-soft)}.countdown-card__action:last-child:hover{color:var(--color-error);border-color:var(--color-error)}.countdown-card--past{opacity:.75}.countdown-card__time{border-bottom:1px solid var(--color-border);padding-bottom:.75rem}.countdown-card__primary{color:var(--color-accent);font-family:var(--font-display);margin:0;font-size:1.75rem;font-weight:700;line-height:1.1}.countdown-card--past .countdown-card__primary{color:var(--color-text-muted)}.countdown-card__secondary{color:var(--color-text-muted);margin:.375rem 0 0;font-size:.875rem;line-height:1.5}.countdown-card__title{margin:0;padding-right:1.5rem;font-size:1.0625rem;font-weight:600}.countdown-card__recurring-indicator{color:var(--color-text-soft);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:1.25rem;right:1.5rem}.empty-state .btn--primary{width:auto;margin-top:1rem}.main-hero__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700;line-height:1.15}.main-hero__lede{color:var(--color-text-muted);max-width:40ch;margin:0;font-size:1.0625rem;line-height:1.6}.panel--account .profile{margin-bottom:1.25rem}.profile{align-items:center;gap:1rem;display:flex}.profile__avatar{border:3px solid var(--color-accent-soft);border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;width:5rem;height:5rem}.profile__avatar--fallback{background:linear-gradient(135deg, var(--color-accent-soft), var(--color-bg-accent));color:var(--color-accent-hover);justify-content:center;align-items:center;font-size:1.75rem;font-weight:700;display:flex}.profile__name{margin:0 0 .25rem;font-weight:600}.profile__email{color:var(--color-text-muted);margin:0;font-size:.9375rem}.feature-list{flex-direction:column;gap:.75rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.feature-list__item{background:var(--color-surface-muted);border-radius:var(--radius-md);color:var(--color-text);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9375rem;display:flex}.feature-list__icon{flex-shrink:0;font-size:1.125rem}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.625rem;width:100%;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.99)}.btn--google{background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-sm);color:var(--color-text);padding:.875rem 1.25rem;font-size:1rem}.btn--google:hover{box-shadow:var(--shadow-md);background:#fafaf9;border-color:#d6d3d1}.btn--google:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--ghost{border:1px solid var(--color-border-strong);color:var(--color-text-muted);background:0 0;width:auto;padding:.625rem 1rem}.btn--ghost:hover{background:var(--color-surface-muted);color:var(--color-text)}.google-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{background:var(--color-surface-muted);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);text-align:center;padding:2rem 1.5rem}.empty-state__icon{margin:0 0 .75rem;font-size:2rem}.empty-state__title{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.empty-state__text{color:var(--color-text-muted);max-width:28ch;margin:0 auto;line-height:1.6}.alert{border-radius:var(--radius-md);align-items:flex-start;gap:.625rem;padding:.875rem 1rem;font-size:.9375rem;display:flex}.alert p{margin:0}.alert--error{background:var(--color-error-bg);color:var(--color-error);border:1px solid #fecaca}.site-footer{text-align:center;width:100%;max-width:42rem;margin:0 auto;padding:0 1.25rem 2rem}.site-footer p{color:var(--color-text-soft);margin:0;font-size:.875rem}@media (width>=540px){.site-header,.site-main,.site-footer{padding-left:2rem;padding-right:2rem}.panel{padding:2rem}}.dialog-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#0000004d;justify-content:center;align-items:center;animation:.2s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:25rem;max-width:90vw;padding:1.5rem;animation:.25s ease-out rise}.dialog__title{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.dialog__message{color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.6}.dialog__actions{justify-content:flex-end;gap:.75rem;display:flex}.profile-actions{align-items:center;gap:1rem;margin-left:auto;display:flex}@media (width<=600px){.profile-actions{flex-direction:column;align-items:stretch;width:100%;margin-top:1rem;margin-left:0}}.layout-picker{align-items:center;gap:.5rem;display:flex}.layout-picker__label{color:var(--color-text-muted);font-size:.875rem;font-weight:600}.layout-picker__select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2378716c' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem;padding:.375rem 1.75rem .375rem .75rem;font-size:.875rem}.layout-picker__select:focus{border-color:var(--color-accent);outline:2px solid var(--color-accent-soft);outline-offset:0}.site-main:has(.countdown-grid){max-width:72rem}.site-header--navbar{width:100%;max-width:60rem!important;margin:0 auto!important;padding:1.25rem 1.25rem 0!important}.site-header--full{max-width:100%!important;padding:1rem 2rem 0!important}.site-header--full .navbar-container{max-width:72rem;margin:0 auto}.section-heading{align-items:center;gap:.75rem;margin-top:.5rem;margin-bottom:1.5rem;display:flex}.section-heading__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.btn--add{background:var(--color-accent);border-radius:var(--radius-full);color:#fff;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn--add:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:scale(1.05)}.btn--add:active{transform:scale(.95)}.dialog--form{width:28rem;max-width:92vw}.dialog--form .panel--form{box-shadow:none;border:none;margin-bottom:0;padding:0;animation:none}.navbar-container{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;width:100%;padding-bottom:.875rem;display:flex}.navbar-user{position:relative}.navbar-avatar-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:.625rem;padding:.375rem .75rem;transition:all .15s;display:flex}.navbar-avatar-btn:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.navbar-avatar-btn .profile__avatar{border-width:1px;width:2rem;height:2rem;font-size:.875rem}.navbar-user__name{color:var(--color-text);font-size:.875rem;font-weight:600}.chevron-icon{color:var(--color-text-soft);margin-left:.125rem;font-size:.625rem}.avatar-dropdown{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:20;background:#ffffffd9;border:1px solid #f5e6dcb3;flex-direction:column;gap:.75rem;width:15rem;padding:1rem;animation:.2s ease-out rise;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.dropdown-user-info{flex-direction:column;display:flex}.dropdown-user-info__name{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:700}.dropdown-user-info__email{color:var(--color-text-muted);word-break:break-all;margin:.125rem 0 0;font-size:.8125rem}.dropdown-divider{border:0;border-top:1px solid var(--color-border-strong);opacity:.5;margin:0}.dropdown-layout-section{flex-direction:column;gap:.375rem;display:flex}.dropdown-layout-section__label{color:var(--color-text-soft);font-size:.8125rem;font-weight:600}.dropdown-layout-section select{width:100%}.dropdown-logout-btn{width:100%;padding:.5rem;font-size:.875rem}.countdown-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.countdown-grid .countdown-card{height:100%}@media (width<=768px){.site-header--navbar{padding-top:1rem!important}}
