:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink:#26344b;--color-ink-soft:#657086;--color-paper:#fbfaf7;--color-surface:#fff;--color-surface-soft:#f7f4ef;--color-border:#ebe6dc;--color-border-strong:#d8d1c5;--color-berry:#b65379;--color-berry-dark:#91405f;--color-gold:#e2bb6d;--color-success:#247255;--color-danger:#a13a3a;--color-focus:#2e6bd1;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Georgia, "Times New Roman", serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.75rem;--radius-md:1.125rem;--radius-lg:1.75rem;--shadow-card:0 .75rem 2.5rem #18233814;--transition-fast:.16s ease;--content-max:72rem}*{box-sizing:border-box}html{background:var(--color-paper);min-width:20rem;color:var(--color-ink);font-family:var(--font-sans);text-rendering:optimizelegibility}body{background:radial-gradient(circle at 95% 0%, #fff3dc 0, transparent 28rem), radial-gradient(circle at 0% 58%, #fceef3 0, transparent 25rem), var(--color-paper);min-width:20rem;min-height:100vh;margin:0}button,a,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;top:var(--space-3);left:var(--space-3);border-radius:var(--radius-sm);background:var(--color-ink);color:#fff;transition:transform var(--transition-fast);padding:.75rem 1rem;font-weight:750;text-decoration:none;position:fixed;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}h1,h2,p{margin-top:0}h1,h2{color:var(--color-ink);font-family:var(--font-display);font-weight:600;line-height:1.08}h1{margin-bottom:var(--space-3);letter-spacing:-.045em;font-size:clamp(2.25rem,7vw,4.5rem)}h2{margin-bottom:var(--space-3);font-size:clamp(1.35rem,3vw,1.75rem)}.brand,.eyebrow{margin-bottom:var(--space-2);color:var(--color-berry);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:750}.button{border-radius:var(--radius-sm);min-height:2.875rem;transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button--primary{background:var(--color-ink);color:#fff}.button--primary:not(:disabled):hover{background:#34435d}.button--secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-ink)}.button--secondary:not(:disabled):hover,.button--ghost:not(:disabled):hover{background:var(--color-surface-soft)}.button--ghost{color:var(--color-ink);background:0 0}.button--full{width:100%}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.login-page{background:var(--color-surface);grid-template-columns:minmax(20rem,.9fr) minmax(24rem,1.1fr);min-height:100vh;display:grid}.login-panel{flex-direction:column;justify-content:center;width:min(100%,34rem);margin-inline:auto;padding:clamp(2rem,7vw,6rem);display:flex}.login-panel h1{max-width:9ch}.login-panel__lead{max-width:30rem;margin-bottom:var(--space-8);color:var(--color-ink-soft);font-size:1.05rem;line-height:1.6}.login-panel__note{margin:var(--space-6) 0 0;color:var(--color-ink-soft);font-size:.8125rem}.login-art{min-height:100%;padding:var(--space-12);background:#f8e9ee;place-items:center;display:grid;position:relative;overflow:hidden}.login-art:before,.login-art:after{content:"";border-radius:50%;position:absolute}.login-art:before{background:#f5d8e2;width:34rem;height:34rem}.login-art:after{background:#f6d88f;width:24rem;height:24rem;bottom:-8rem;right:-8rem}.login-art__sun{background:var(--color-gold);border-radius:50%;width:5rem;height:5rem;position:absolute;top:10%;right:13%}.login-art__house{z-index:1;background:var(--color-ink);color:#fff;width:10rem;height:10rem;font-family:var(--font-display);border-radius:45% 45% 30% 30%;place-items:center;font-size:2.25rem;display:grid;position:relative}.login-art p{z-index:1;max-width:22rem;color:var(--color-ink);font-family:var(--font-display);text-align:center;margin:0;font-size:1.5rem;line-height:1.3;position:absolute;bottom:10%}.setup-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);background:var(--color-surface-soft)}.setup-card h2{font-size:1.3rem}.setup-card p{color:var(--color-ink-soft);line-height:1.55}.setup-card code{color:var(--color-berry-dark);font-size:.9em}.login-form{gap:var(--space-4);display:grid}.field{gap:var(--space-2);min-width:0;color:var(--color-ink);font-size:.875rem;font-weight:700;display:grid}.field input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;max-width:100%;min-height:3rem;color:var(--color-ink);padding:.7rem .875rem;font-size:1rem}.field input[aria-invalid=true]{border-color:var(--color-danger)}.field small,.form-error{color:var(--color-danger);font-size:.8125rem;font-weight:500}.form-error{margin-bottom:0}.loading-page{min-height:100vh;color:var(--color-ink-soft);place-content:center;justify-items:center;display:grid}.fatal-error{align-content:center;justify-items:start;width:min(100% - 2rem,40rem);min-height:100vh;margin-inline:auto;display:grid}.fatal-error p:not(.eyebrow){color:var(--color-ink-soft);line-height:1.6}.loading-mark{border:.1875rem solid var(--color-border);border-top-color:var(--color-berry);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.topbar{width:min(100% - 2rem, var(--content-max));justify-content:space-between;align-items:center;min-height:4.75rem;margin-inline:auto;display:flex}.topbar__brand,.profile-link{color:var(--color-ink);align-items:center;text-decoration:none;display:inline-flex}.topbar__brand{gap:var(--space-3)}.topbar__brand>span{background:var(--color-ink);color:#fff;width:2.4rem;height:2.4rem;font-family:var(--font-display);border-radius:.8rem;place-items:center;font-size:.875rem;display:grid}.topbar__brand strong{font-family:var(--font-display);font-size:1.125rem}.profile-link{gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:999px}.profile-link:hover{background:#ffffffa6}.profile-link__name{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;font-size:.875rem;font-weight:700;overflow:hidden}.avatar{width:2.25rem;height:2.25rem;color:var(--color-berry-dark);background:#fae8ef;border:1px solid #edcbd8;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.avatar--large{width:4rem;height:4rem;font-size:1.25rem}.preview-banner{padding:var(--space-2) var(--space-4);color:#6e5522;text-align:center;background:#fff7e5;border-block:1px solid #f0dcae;font-size:.75rem;font-weight:700}.app-content{width:min(100% - 2rem, var(--content-max));margin-inline:auto;padding-block:clamp(1.75rem,5vw,4.5rem)}.app-content>*{animation:.22s ease-out page-enter}.app-content:focus{outline:none}.network-banner{padding:var(--space-2) var(--space-4);color:#773a35;text-align:center;background:#fff1ef;border-block:1px solid #e8c5c0;font-size:.75rem;font-weight:750}@keyframes page-enter{0%{opacity:0}}.bottom-nav{z-index:10;border-top:1px solid var(--color-border);padding:.45rem max(.5rem, env(safe-area-inset-right)) max(.45rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#ffffffeb;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.5rem 2rem #26344b12}.nav-item{border-radius:var(--radius-sm);min-height:3.25rem;color:var(--color-ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:.6875rem;font-weight:700;text-decoration:none;display:flex}.nav-item:hover{background:var(--color-surface-soft)}.nav-item.is-active{color:var(--color-berry-dark);background:#fae8ef}.nav-item__icon{font-size:1.35rem;line-height:1}.home-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.home-hero h1{max-width:13ch}.home-hero>div>p:last-child{max-width:38rem;color:var(--color-ink-soft);margin-bottom:0;font-size:1.05rem;line-height:1.6}.quick-actions{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.quick-action{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:3.75rem;padding:var(--space-3) var(--space-4);color:var(--color-ink);align-items:center;gap:var(--space-3);transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:#ffffffb8;font-size:.875rem;font-weight:750;text-decoration:none;display:flex}.quick-action:hover{background:#fff;border-color:#dfc6cf;transform:translateY(-1px)}.quick-action>span{width:2rem;height:2rem;color:var(--color-berry-dark);background:#fae8ef;border-radius:50%;place-items:center;font-size:1.1rem;display:grid}.dashboard-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-card{flex-direction:column;align-items:flex-start;min-height:15rem;padding:clamp(1.35rem,3vw,2rem);display:flex}.dashboard-card--wide{grid-column:1/-1;min-height:16rem}.dashboard-card--accent{background:#fff6f9}.card-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);width:100%;display:flex}.soft-icon{color:#87661f;background:#fff3d9;border-radius:50%;flex:none;place-items:center;width:3rem;height:3rem;font-size:1.25rem;display:grid}.card-copy{max-width:34rem;margin-bottom:var(--space-6);color:var(--color-ink-soft);line-height:1.55}.text-link{color:var(--color-berry-dark);margin-top:auto;font-size:.875rem;font-weight:750;text-decoration:none}.text-link:hover{text-underline-offset:.2em;text-decoration:underline}.page-intro{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.page-intro h1{max-width:13ch}.page-intro__description{max-width:40rem;color:var(--color-ink-soft);margin-bottom:0;line-height:1.55}.page-intro__action{flex:none}.empty-state{min-height:23rem;padding:var(--space-8);text-align:center;place-content:center;justify-items:center;display:grid}.empty-state__mark{width:4rem;height:4rem;margin-bottom:var(--space-4);color:var(--color-berry-dark);background:#fae8ef;border-radius:50%;place-items:center;font-size:1.75rem;display:grid}.empty-state p{max-width:34rem;color:var(--color-ink-soft);margin-bottom:0;line-height:1.6}.filter-row{gap:var(--space-2);margin:calc(var(--space-4) * -1) 0 var(--space-6);padding:var(--space-1);scrollbar-width:none;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-chip{border:1px solid var(--color-border);background:var(--color-surface);min-height:2.5rem;color:var(--color-ink-soft);border-radius:999px;flex:none;padding:.5rem .875rem;font-size:.8125rem;font-weight:700}.filter-chip.is-selected{border-color:var(--color-ink);background:var(--color-ink);color:#fff}.settings-card{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-6);display:flex}.settings-card+.settings-card{margin-top:var(--space-4)}.settings-card--data{align-items:flex-end}.settings-card--data>div{max-width:42rem}.settings-card--data p:not(.eyebrow,.inline-feedback){color:var(--color-ink-soft);margin-bottom:0;line-height:1.55}.settings-card--data .inline-feedback{flex-basis:100%;margin-bottom:0}.dashboard-card--skeleton{overflow:hidden}.dashboard-card--skeleton span{height:.9rem;margin-bottom:var(--space-4);background:linear-gradient(100deg, var(--color-surface-soft) 20%, #fff 45%, var(--color-surface-soft) 70%);background-size:220% 100%;border-radius:999px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.dashboard-card--skeleton span:first-child{width:35%}.dashboard-card--skeleton span:nth-child(2){width:72%;height:1.7rem}.dashboard-card--skeleton span:last-child{width:88%}@keyframes skeleton-shimmer{to{background-position:-220% 0}}@media (hover:hover){.quick-action,.dashboard-card,.activity-card,.wishlist-card,.plan-card{transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.quick-action:hover,.dashboard-card:hover,.activity-card:hover,.wishlist-card:hover,.plan-card:hover{transform:translateY(-.125rem)}}@media (hover:none){.quick-action:active,.nav-item:active,.filter-chip:active,.view-tabs button:active{transform:scale(.98)}}.profile-summary{align-items:center;gap:var(--space-4);min-width:0;display:flex}.profile-summary h2{margin-bottom:var(--space-1)}.profile-summary p{color:var(--color-ink-soft);text-overflow:ellipsis;margin-bottom:0;overflow:hidden}.view-tabs{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1);margin-bottom:var(--space-6);background:#ffffffb8;display:inline-flex}.view-tabs button{min-height:2.5rem;color:var(--color-ink-soft);background:0 0;border:0;border-radius:.55rem;padding:.5rem .875rem;font-size:.875rem;font-weight:750}.view-tabs button.is-active{background:var(--color-surface);color:var(--color-ink);box-shadow:0 .2rem .8rem #26344b17}.view-tabs button span{min-width:1.4rem;height:1.4rem;margin-left:var(--space-1);background:var(--color-surface-soft);color:var(--color-ink-soft);border-radius:999px;place-items:center;font-size:.7rem;display:inline-grid}.inline-feedback{border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);color:#664f1d;background:#fff8e8;border:1px solid #ead7a7;font-size:.875rem;font-weight:650;animation:.24s ease-out both feedback-enter}@keyframes feedback-enter{0%{opacity:0;transform:translateY(-.25rem)}}.toast-notice{z-index:100;top:max(var(--space-4), env(safe-area-inset-top));align-items:center;gap:var(--space-3);border-radius:var(--radius-md);color:#315a3d;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#eff8f1f5;border:1px solid #b9d8c2;width:min(100% - 2rem,32rem);min-height:3.5rem;margin:0;padding:.8rem 1rem;font-size:.875rem;font-weight:750;line-height:1.35;animation:3s both toast-lifecycle;display:flex;position:fixed;left:50%;box-shadow:0 .8rem 2.5rem #26344b2e}.toast-notice__icon{color:#285236;background:#cfe6d5;border-radius:50%;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-size:.875rem;display:grid}@keyframes toast-lifecycle{0%{opacity:0;transform:translate(-50%,-.75rem)scale(.98)}8%,86%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-.5rem)scale(.98)}}.activity-filters{align-items:end;gap:var(--space-3);border-block:1px solid var(--color-border);padding-block:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,minmax(0,1fr)) auto;display:grid}.activity-filters label{gap:var(--space-2);min-width:0;display:grid}.activity-filters label>span{color:var(--color-ink-soft);font-size:.75rem;font-weight:750}.activity-filters select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:2.75rem;color:var(--color-ink);padding:.55rem 2rem .55rem .75rem;font-size:.875rem}.reset-filters{min-height:2.75rem;padding-inline:var(--space-3);color:var(--color-berry-dark);background:0 0;border:0;font-size:.8125rem;font-weight:750}.picker-result:empty{display:none}.picker-result>div{border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-8);background:#f8e9ef;animation:.26s ease-out settle-in}.picker-result>div>.eyebrow{padding-inline:var(--space-2)}@keyframes settle-in{0%{opacity:.6;transform:translateY(.35rem)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.catalog-count{margin-bottom:var(--space-3);color:var(--color-ink-soft);font-size:.8125rem}.activity-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.activity-card{flex-direction:column;min-width:0;min-height:25rem;padding:clamp(1.25rem,3vw,1.75rem);display:flex}.activity-card--featured{border-color:#e4b8c9;min-height:auto;box-shadow:0 1rem 3rem #91405f1f}.activity-card__topline{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-ink-soft);font-size:.75rem;font-weight:700;display:flex}.activity-kind{color:var(--color-berry-dark);background:#fae8ef;border-radius:999px;padding:.35rem .55rem}.activity-card__description{margin-bottom:var(--space-4);color:var(--color-ink-soft);line-height:1.55}.activity-meta{gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);color:var(--color-ink);flex-wrap:wrap;font-size:.8125rem;font-weight:700;display:flex}.tag-list{gap:var(--space-2);margin:0 0 var(--space-6);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-ink-soft);border-radius:999px;padding:.3rem .55rem;font-size:.75rem}.activity-card__actions{gap:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.activity-card__actions .button{flex:9rem}.catalog-status{min-height:16rem;padding:var(--space-8);color:var(--color-ink-soft);text-align:center}.catalog-status h2{color:var(--color-ink)}.history-list{gap:var(--space-3);display:grid}.history-item{gap:var(--space-4);padding:var(--space-6);grid-template-columns:auto 1fr;display:grid}.history-item__check{width:2.75rem;height:2.75rem;color:var(--color-success);background:#e5f4ed;border-radius:50%;place-items:center;font-weight:900;display:grid}.history-item h2{margin-bottom:var(--space-2);font-size:1.3rem}.history-item p:last-child{color:var(--color-ink-soft);margin-bottom:0;line-height:1.5}.calendar-toolbar{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.calendar-toolbar .view-tabs,.calendar-filters{margin-bottom:0}.calendar-filters{justify-content:flex-end}.calendar-section,.compact-calendar{margin-bottom:var(--space-10)}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading>span{min-width:2rem;height:2rem;color:var(--color-berry-dark);background:#fae8ef;border-radius:999px;place-items:center;font-size:.8125rem;font-weight:800;display:grid}.week-controls{align-items:center;gap:var(--space-1);display:flex}.week-controls button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:2.5rem;min-height:2.5rem;padding-inline:var(--space-3);background:var(--color-surface);color:var(--color-ink);font-size:.8125rem;font-weight:750}.week-controls button:hover{background:var(--color-surface-soft)}.plan-list,.family-date-list{gap:var(--space-3);display:grid}.plan-card{column-gap:var(--space-6);grid-template-columns:minmax(0,1fr) auto;padding:clamp(1.25rem,3vw,1.75rem);display:grid}.plan-card--completed,.plan-card--cancelled{background:#ffffffb8}.plan-card--cancelled h2{text-decoration:line-through;-webkit-text-decoration-color:var(--color-ink-soft);text-decoration-color:var(--color-ink-soft)}.plan-card__topline,.plan-card__date,.plan-card h2,.plan-card__participants,.plan-card__detail,.plan-card__note{grid-column:1}.plan-card__topline{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--color-ink-soft);font-size:.75rem;font-weight:700;display:flex}.status-badge{background:var(--color-surface-soft);border-radius:999px;padding:.35rem .55rem}.status-badge--scheduled{color:#72561b;background:#fff2d5}.status-badge--completed{color:var(--color-success);background:#e5f4ed}.status-badge--cancelled{color:var(--color-ink-soft);background:#f0f1f4}.status-badge--draft{color:var(--color-berry-dark);background:#fae8ef}.plan-card__date{margin-bottom:var(--space-2);color:var(--color-berry-dark);text-transform:capitalize;font-size:.8125rem;font-weight:800}.plan-card h2{margin-bottom:var(--space-2)}.plan-card__participants,.plan-card__detail,.plan-card__note{margin-bottom:var(--space-2);color:var(--color-ink-soft);font-size:.875rem;line-height:1.5}.plan-card__note{max-width:48rem;margin-bottom:0}.plan-card__actions{justify-content:center;align-items:flex-end;gap:var(--space-2);flex-direction:column;grid-area:1/2/span 6;min-width:10rem;display:flex}.plan-card__actions .button{width:100%}.plan-card__cancel{padding:var(--space-2);color:var(--color-ink-soft);background:0 0;border:0;font-size:.8125rem;font-weight:700}.plan-card__cancel:hover{color:var(--color-danger)}.calendar-empty{min-height:16rem}.date-strip{gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-5);margin-bottom:var(--space-4);scrollbar-width:none;grid-template-columns:repeat(7,minmax(4.25rem,1fr));display:grid;overflow-x:auto}.date-strip::-webkit-scrollbar{display:none}.date-strip button{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:5.5rem;padding:var(--space-2);color:var(--color-ink-soft);place-items:center;gap:var(--space-1);background:#ffffffb8;display:grid;position:relative}.date-strip button.is-selected{border-color:var(--color-ink);background:var(--color-ink);box-shadow:var(--shadow-card);color:#fff}.date-strip span{text-transform:uppercase;font-size:.7rem;font-weight:750}.date-strip strong{font-family:var(--font-display);font-size:1.35rem}.date-strip i{background:var(--color-berry);border-radius:50%;width:.35rem;height:.35rem}.date-strip button.is-selected i{background:var(--color-gold)}.date-strip i.is-family-date{background:var(--color-gold);width:.5rem;height:.5rem;box-shadow:0 0 0 .2rem #f6d88f47}.family-date-list--calendar{margin-bottom:var(--space-3)}.family-date-card{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.family-date-card__icon{color:#87661f;background:#fff3d9;border-radius:50%;place-items:center;width:3rem;height:3rem;display:grid}.family-date-card h2,.family-date-card p{margin-bottom:var(--space-1)}.family-date-card>div>p:not(.eyebrow){color:var(--color-ink-soft);font-size:.875rem}.family-date-card__note{padding-top:var(--space-2);line-height:1.5}.modal-backdrop{z-index:50;padding:var(--space-6);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#1b24347a;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.form-modal{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,44rem);max-height:calc(100vh - 3rem);padding:clamp(1.25rem,4vw,2rem);overflow-y:auto;box-shadow:0 2rem 6rem #1b243447}.form-modal--small{width:min(100%,36rem)}.form-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.form-modal__header h2,.form-modal__header p{margin-bottom:0}.modal-close{background:var(--color-surface-soft);width:2.5rem;height:2.5rem;color:var(--color-ink);border:0;border-radius:50%;flex:none;place-items:center;font-size:1.4rem;display:grid}.calendar-form{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.calendar-form>*{min-width:0}.calendar-form input[type=date],.calendar-form input[type=time]{min-width:0;max-width:100%;display:block}.field--wide{grid-column:1/-1}.field select,.field textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-ink);padding:.7rem .875rem;font-size:1rem}.field select{min-height:3rem}.field textarea{resize:vertical}.check-field{color:var(--color-ink);align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:700;display:flex}.check-field--aligned{align-self:end;min-height:3rem}.check-field input,.participant-option input{width:1.1rem;height:1.1rem;accent-color:var(--color-berry)}.participant-fieldset{border:0;margin:0;padding:0}.participant-fieldset legend{margin-bottom:var(--space-2);color:var(--color-ink);font-size:.875rem;font-weight:700}.participant-fieldset>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.participant-option{border:1px solid var(--color-border);min-height:2.75rem;padding:var(--space-2) var(--space-3);background:var(--color-surface-soft);align-items:center;gap:var(--space-2);border-radius:999px;font-size:.875rem;font-weight:700;display:flex}.participant-fieldset small{padding-top:var(--space-2);color:var(--color-danger);font-size:.8125rem;display:block}.form-modal__actions{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);display:flex}.wishlist-toolbar{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.wishlist-toolbar .view-tabs{margin-bottom:0}.wishlist-filters{gap:var(--space-3);display:flex}.wishlist-filters label{gap:var(--space-1);display:grid}.wishlist-filters label>span{color:var(--color-ink-soft);font-size:.7rem;font-weight:750}.wishlist-filters select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:2.75rem;color:var(--color-ink);padding:.5rem 2rem .5rem .75rem;font-size:.875rem}.wishlist-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wishlist-card{flex-direction:column;min-width:0;min-height:23rem;padding:clamp(1.25rem,3vw,1.75rem);display:flex;position:relative}.wishlist-card--completed{background:#ffffffb8}.wishlist-card__completed-mark{align-self:flex-start;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:#42644d;font-size:.8125rem;font-weight:800;display:inline-flex}.wishlist-card__completed-mark span{background:#e4f0e7;border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;font-size:1rem;animation:.32s cubic-bezier(.2,.8,.3,1.25) both completion-pop;display:grid}@keyframes completion-pop{0%{opacity:0;transform:scale(.65)}}.wishlist-card__topline,.wishlist-card__meta,.wishlist-card__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.wishlist-card__topline{margin-bottom:var(--space-4);color:var(--color-ink-soft);justify-content:space-between;font-size:.75rem;font-weight:750}.wishlist-card__image{aspect-ratio:16/10;width:100%;margin-bottom:var(--space-4);border-radius:var(--radius-md);object-fit:cover}.wishlist-card--completed .wishlist-card__image{opacity:.82}.priority-badge{background:var(--color-surface-soft);border-radius:999px;padding:.35rem .55rem}.priority-badge--high{color:var(--color-berry-dark);background:#fae8ef}.priority-badge--medium{color:#72561b;background:#fff2d5}.wishlist-card__description{color:var(--color-ink-soft);line-height:1.55}.wishlist-card__meta{margin-bottom:var(--space-3);color:var(--color-ink);font-size:.8125rem;font-weight:750}.wishlist-card__meta span{background:var(--color-surface-soft);border-radius:999px;padding:.35rem .6rem}.wishlist-card__link{margin-bottom:var(--space-5);color:var(--color-berry-dark);overflow-wrap:anywhere;font-size:.875rem;font-weight:750}.wishlist-card__actions{margin-top:auto}.wishlist-card__actions .button{flex:8rem}.wishlist-card__archive{padding:var(--space-2);color:var(--color-ink-soft);background:0 0;border:0;flex:1 0 100%;font-size:.8125rem;font-weight:700}.wishlist-image-field{align-items:flex-start}.wishlist-image-preview{border-radius:var(--radius-md);background:var(--color-surface-soft);width:100%;position:relative;overflow:hidden}.wishlist-image-preview img{object-fit:cover;width:100%;max-height:18rem;display:block}.wishlist-image-preview button{right:var(--space-3);bottom:var(--space-3);color:#fff;font:inherit;background:#242f45db;border:1px solid #ffffffb3;border-radius:999px;padding:.5rem .75rem;font-size:.75rem;font-weight:750;position:absolute}.wishlist-image-picker{border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-soft);min-height:2.75rem;color:var(--color-ink);cursor:pointer;justify-content:center;align-items:center;padding:.65rem .9rem;font-size:.875rem;font-weight:750;display:inline-flex}.wishlist-image-picker input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wishlist-image-picker:has(input:focus-visible){outline-offset:2px;outline:3px solid #af4f7438}@media (width>=56rem){.app-shell{padding-bottom:0;padding-left:6rem}.bottom-nav{border-top:0;border-right:1px solid var(--color-border);width:6rem;padding:var(--space-4) var(--space-2);align-content:center;gap:var(--space-2);grid-template-rows:repeat(4,min-content);grid-template-columns:1fr;top:0;right:auto;box-shadow:.5rem 0 2rem #26344b0d}.nav-item{min-height:4.5rem}}@media (width<=50rem){.login-page{grid-template-columns:1fr}.login-panel{width:min(100%,38rem)}.login-art{display:none}.activity-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.reset-filters{justify-self:start}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar .view-tabs{display:flex;overflow-x:auto}.calendar-toolbar .view-tabs button{flex:none}.calendar-filters{justify-content:flex-start}.wishlist-toolbar{flex-direction:column;align-items:stretch}.wishlist-filters{overflow-x:auto}}@media (width<=40rem){.profile-link__name{display:none}.app-content{padding-top:var(--space-6)}.calendar-toolbar .view-tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid;overflow:hidden}.calendar-toolbar .view-tabs button{min-width:0;padding-inline:var(--space-2);font-size:0}.calendar-toolbar .view-tabs button:after{content:attr(data-short-label);font-size:.75rem}.home-hero,.page-intro{margin-bottom:var(--space-6);display:grid}.page-intro__action,.page-intro__action .button{width:100%}.quick-actions{grid-template-columns:1fr}.quick-action{min-height:3.5rem}.dashboard-grid{grid-template-columns:1fr}.dashboard-card--wide{grid-column:auto}.dashboard-card{min-height:13.5rem}.empty-state{min-height:20rem;padding:var(--space-6)}.settings-card{flex-direction:column;align-items:stretch}.activity-filters,.activity-grid,.wishlist-grid{grid-template-columns:1fr}.activity-filters{gap:var(--space-3)}.activity-card,.wishlist-card{min-height:auto}.history-item{padding:var(--space-4)}.plan-card{grid-template-columns:1fr}.plan-card__actions{width:100%;padding-top:var(--space-4);grid-area:auto/1;align-items:stretch}.family-date-card{padding:var(--space-4);grid-template-columns:auto minmax(0,1fr)}.family-date-card .button{grid-column:1/-1}.section-heading--action,.compact-calendar .section-heading{flex-direction:column;align-items:stretch}.week-controls{justify-content:space-between}.modal-backdrop{overscroll-behavior:none;align-items:end;height:100dvh;padding:0;overflow:hidden}.form-modal{width:100%;min-height:0;max-height:94vh;max-height:calc(100dvh - max(.75rem, env(safe-area-inset-top)));border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-inline:max(var(--space-6), env(safe-area-inset-left)) max(var(--space-6), env(safe-area-inset-right));padding-bottom:max(var(--space-8), env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow:hidden auto}.calendar-form{grid-template-columns:1fr}.calendar-form input[type=date],.calendar-form input[type=time]{width:calc(100vw - 3rem - env(safe-area-inset-left) - env(safe-area-inset-right) - 2px);min-width:calc(100vw - 3rem - env(safe-area-inset-left) - env(safe-area-inset-right) - 2px);max-width:calc(100vw - 3rem - env(safe-area-inset-left) - env(safe-area-inset-right) - 2px)}.field--wide{grid-column:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.toast-notice{transform:translate(-50%);animation:none!important}}
