*{box-sizing:border-box}:root{--bg: #fffaf5;--bg-soft: #fff2e8;--surface: rgba(255, 255, 255, .82);--surface-strong: #ffffff;--surface-tint: #fff8f2;--text: #2f2235;--muted: #76667a;--border: rgba(108, 75, 85, .12);--shadow: 0 22px 60px rgba(167, 117, 84, .14);--accent: #e56b6f;--accent-strong: #d9485d;--accent-soft: rgba(229, 107, 111, .12);--secondary: #4cb5ae;--secondary-soft: rgba(76, 181, 174, .14);--gold: #f4b860;--gold-soft: rgba(244, 184, 96, .18);--success: #3f9f74;--success-soft: rgba(63, 159, 116, .12);--danger: #d85757;--danger-soft: rgba(216, 87, 87, .12);font-family:Plus Jakarta Sans,Segoe UI,sans-serif}:root[data-theme=dark]{--bg: #17131c;--bg-soft: #241b2c;--surface: rgba(37, 28, 44, .88);--surface-strong: #2b2133;--surface-tint: #35283f;--text: #f8edf8;--muted: #baaac3;--border: rgba(255, 228, 238, .12);--shadow: 0 24px 60px rgba(0, 0, 0, .34);--accent-soft: rgba(229, 107, 111, .18);--secondary-soft: rgba(76, 181, 174, .2);--gold-soft: rgba(244, 184, 96, .2);--success-soft: rgba(63, 159, 116, .2);--danger-soft: rgba(216, 87, 87, .18)}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top left,rgba(244,184,96,.32),transparent 24%),radial-gradient(circle at right 20%,rgba(76,181,174,.18),transparent 26%),linear-gradient(180deg,#fffaf5,#fff4ec 42%,#fff8f3);color:var(--text);transition:background .25s ease,color .25s ease}body{line-height:1.5}:root[data-theme=dark] body,:root[data-theme=dark] html{background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 18%,transparent),transparent 24%),radial-gradient(circle at right 20%,rgba(76,181,174,.16),transparent 26%),linear-gradient(180deg,#17131c,#1d1725 42%,#151019)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}select{color-scheme:light}button:disabled{cursor:not-allowed;opacity:.62}h1,h2,h3{font-family:Fraunces,Georgia,serif;letter-spacing:-.03em}.shell{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 88px)}.page-content{padding:30px}.page-stack{display:grid;gap:22px}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff8f2d6}:root[data-theme=dark] .topbar{background:#17121ddb}.topbar nav,.auth-actions,.actions,.inline-actions,.filters-row,.calendar-legend,.bulk-toolbar,.timing-chips,.planner-meta,.reminder-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.brand{font-size:1.5rem;font-weight:800;letter-spacing:-.04em}.brand-lockup,.hero-brand,.sidebar-brand,.reminder-person,.birthday-card-profile,.profile-preview{display:flex;align-items:center;gap:14px}.hero-brand{align-items:flex-start;margin-bottom:16px}.sidebar-brand{align-items:flex-start}.brand span{color:var(--accent-strong)}.brand-mark{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(180deg,#ffffffe6,#fff6eecc);border:1px solid var(--border);box-shadow:var(--shadow)}.brand-mark.compact{width:42px;height:42px;border-radius:14px}.brand-mark svg{width:84%;height:84%}.theme-toggle{display:inline-flex;align-items:center;gap:12px;min-width:160px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffffc7,#fff7f1e0);color:var(--text);cursor:pointer;box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.theme-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent-strong) 18%,transparent);box-shadow:0 18px 34px #5b35251f}.theme-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-strong) 35%,transparent);outline-offset:3px}.theme-toggle-track{position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:74px;height:38px;padding:0 8px;border-radius:999px;background:linear-gradient(135deg,#f4b8603d,#4cb5ae38);border:1px solid color-mix(in srgb,var(--accent-strong) 12%,transparent);flex-shrink:0}.theme-toggle-thumb{position:absolute;top:4px;left:4px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,#fff8f3,#fff);box-shadow:0 10px 22px #442b382e;transition:transform .2s ease,background .2s ease}.theme-toggle-icon,.theme-toggle-thumb-icon{display:inline-flex;width:16px;height:16px}.theme-toggle-icon svg,.theme-toggle-thumb-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.theme-toggle-icon-sun{color:#b76a19}.theme-toggle-icon-moon{color:#5a5373}.theme-toggle-thumb-icon{color:#cc7a23}.theme-toggle-label{display:block;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.theme-toggle-copy{display:grid;gap:2px;text-align:left}.theme-toggle-state{font-weight:700;letter-spacing:-.01em}.search-shell{display:flex;align-items:center;gap:10px;min-width:min(360px,100%);padding:8px 10px 8px 12px;border-radius:18px;border:1px solid var(--border);background:#ffffffb8;box-shadow:var(--shadow)}.search-icon{width:14px;height:14px;border:2px solid var(--muted);border-radius:999px;position:relative;flex-shrink:0;opacity:.8}.search-icon:after{content:"";position:absolute;right:-5px;bottom:-4px;width:7px;height:2px;border-radius:999px;background:var(--muted);transform:rotate(45deg)}.search-clear{padding-inline:12px}.topbar nav a,.ghost,.btn,.danger-btn,.filter-chip,.timing-chip,.calendar-add{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:16px;border:1px solid var(--border);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.topbar nav a:hover,.ghost:hover,.filter-chip:hover,.timing-chip:hover,.calendar-cell:hover{transform:translateY(-1px)}.topbar .active,.filter-chip.active,.timing-chip.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent-strong) 28%,transparent);color:var(--accent-strong)}.ghost,.filter-chip,.timing-chip{background:#ffffff9e;color:var(--text);cursor:pointer}:root[data-theme=dark] .ghost,:root[data-theme=dark] .filter-chip,:root[data-theme=dark] .timing-chip,:root[data-theme=dark] .calendar-add,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .field input,:root[data-theme=dark] .field textarea,:root[data-theme=dark] .field select,:root[data-theme=dark] .search-input{background:#ffffff0d}.btn,.danger-btn{cursor:pointer;color:#fff;border:none;box-shadow:0 16px 32px color-mix(in srgb,var(--accent) 22%,transparent)}.btn{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 82%,white),var(--accent-strong))}.danger-btn{background:linear-gradient(135deg,#ea6c5d,#d85757)}.sidebar{padding:26px 22px;border-right:1px solid var(--border);background:#fff6}:root[data-theme=dark] .sidebar{background:#ffffff05}.sidebar .panel,.card,.hero-panel,.feature-panel,.planner-card,.reminder-card,.journey-step,.stat-card,.stat,.calendar-cell,.detail-box,.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow)}.panel,.card,.feature-panel{padding:24px}.panel{margin-bottom:18px}.hero-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);gap:22px;padding:30px;overflow:hidden;position:relative}.hero-panel:after{content:"";position:absolute;inset:auto -10% -35% auto;width:320px;height:320px;border-radius:999px;background:radial-gradient(circle,rgba(76,181,174,.18),transparent 66%);pointer-events:none}.hero-copy h1,.section-head h1,.section-head h2{margin:0}.hero-copy h1{font-size:clamp(2.4rem,4.8vw,4rem);line-height:.98;margin-bottom:14px}.hero-copy p,.feature-panel p,.card p{margin:0}.hero-aside,.about-summary,.stat-strip,.journey-grid,.feature-grid,.planner-list,.list,.grid{display:grid;gap:16px}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.stat-card,.stat{padding:18px}.stat-card strong,.stat h3{display:block;font-size:1.6rem;margin-top:8px}.stat-card.accent{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 16%,transparent),#f4b86033)}.stat-label,.muted,.section-kicker{color:var(--muted)}.muted{font-size:.96rem}.section-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700}.eyebrow{display:inline-flex;padding:8px 12px;margin-bottom:16px;border-radius:999px;background:#f4b8602e;border:1px solid rgba(244,184,96,.28);color:#8f6120;font-size:.84rem;font-weight:700}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.story-panel{padding:28px}.journey-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.journey-step{padding:22px;background:linear-gradient(180deg,#ffffffe6,#fff7f2e6)}.journey-index{display:inline-flex;margin-bottom:14px;color:var(--accent-strong);font-weight:800}.birthdays-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.birthday-card{display:grid;gap:16px;min-height:100%}.birthday-card-profile{align-items:flex-start}.birthday-avatar,.detail-photo{width:64px;height:64px;border-radius:22px;object-fit:cover;flex-shrink:0;border:1px solid var(--border);box-shadow:0 12px 28px #5b35251f}.detail-photo{width:168px;height:168px;border-radius:28px}.birthday-avatar-placeholder,.detail-photo-placeholder,.profile-photo-placeholder{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 18%,transparent),#4cb5ae2e);color:var(--accent-strong);font-weight:800;letter-spacing:.06em}.profile-photo-placeholder .brand-mark{background:transparent;border:0;box-shadow:none}.birthday-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.pill,.status-badge,.calendar-chip,.calendar-more{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid transparent;font-size:.84rem;font-weight:600}.pill,.calendar-chip{background:var(--secondary-soft);color:#236f69;border-color:#4cb5ae33}.status-badge{background:var(--success-soft);color:#2d7a59;border-color:#3f9f742e}.status-badge.is-off{background:#76667a1a;color:var(--muted);border-color:#76667a2e}.calendar-chip.has-reminder{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-strong)}.calendar-more{background:#76667a14;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.birthday-form-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.3fr);gap:22px;align-items:start}.birthday-form-card,.form-preview-card{display:grid;gap:18px}.form-section-card,.photo-upload-box{display:grid;gap:14px;padding:18px;border-radius:22px;border:1px solid var(--border);background:#ffffff80}.form-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.form-section-grid-rich{grid-template-columns:1fr}.form-section-heading h3,.photo-upload-box h3,.profile-preview-copy h3,.agenda-card h3{margin:0}.field{display:grid;gap:8px;align-content:start}.field.full{grid-column:1 / -1}.field label{font-size:.94rem;color:var(--muted);font-weight:600}.field-help{color:var(--muted);font-size:.82rem;line-height:1.45}.field input,.field textarea,.field select,.search-input{width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--border);background:#ffffffd1;color:var(--text);outline:none}.field input,.field select{min-height:50px}.field select{appearance:auto;-webkit-appearance:auto;-moz-appearance:auto;padding-right:14px;background-color:#ffffffd1;color:var(--text);cursor:pointer;line-height:1.35;font-weight:600}.field select option{background:#fffaf6;color:#2f2235}.field select option:hover,.field select option:focus{background:#f7ded7;color:#2f2235}.field select option:checked{background:#cf6f66 linear-gradient(0deg,#cf6f66 0% 100%);color:#fffaf6}.field select:hover{border-color:color-mix(in srgb,var(--accent-strong) 22%,transparent)}.field select:focus{border-color:color-mix(in srgb,var(--accent-strong) 28%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.search-input{min-width:180px;padding:8px 4px;border:0;background:transparent;box-shadow:none}.search-input:focus{outline:none}.field textarea{min-height:130px;resize:vertical}.toggle-row,.select-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--text)}.reminder-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 18px;border-radius:20px;border:1px solid var(--border);background:#ffffff85;color:var(--text);cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.reminder-toggle.is-active{border-color:#3f9f7447;box-shadow:0 14px 28px #3f9f741f;background:linear-gradient(180deg,#eefbf5f5,#f8fffaeb)}.reminder-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent-strong) 20%,transparent)}.reminder-toggle-copy{display:grid;gap:4px;text-align:left}.reminder-toggle-copy strong,.reminder-toggle-copy small{display:block}.reminder-toggle-copy small{color:var(--muted);font-size:.84rem}.reminder-toggle-switch{position:relative;width:58px;height:32px;border-radius:999px;background:#76667a2e;flex-shrink:0;transition:background .18s ease}.reminder-toggle-switch:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:999px;background:#fff;transition:transform .18s ease}.reminder-toggle.is-active .reminder-toggle-switch{background:#3f9f747a}.reminder-toggle.is-active .reminder-toggle-switch:after{transform:translate(26px)}.preview-metadata{display:flex;gap:10px;flex-wrap:wrap}.file-trigger{cursor:pointer}.profile-preview{align-items:flex-start}.profile-preview-art{flex-shrink:0}.profile-photo{width:128px;height:128px;object-fit:cover;border-radius:28px;border:1px solid var(--border);box-shadow:0 18px 36px #5b35251f}.profile-photo-placeholder{width:128px;height:128px;border-radius:28px}.notice,.error{padding:12px 14px;border-radius:16px;border:1px solid transparent;font-size:.95rem}.notice{background:var(--success-soft);border-color:#3f9f7429;color:#2d7a59}.error{background:var(--danger-soft);border-color:#d857572e;color:#a13d3d}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.narrow-card{max-width:840px;margin:0 auto}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.list-row{display:grid;grid-template-columns:1.2fr auto auto;gap:12px;align-items:center;padding:16px;border-radius:20px;border:1px solid var(--border);background:#ffffffa8}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:22px;align-items:start}.calendar-shell{padding:24px}.birthday-calendar-shell{background:radial-gradient(circle at top left,rgba(255,223,188,.4),transparent 28%),linear-gradient(180deg,#fffffff5,#fff7f2f0);overflow-x:auto}.calendar-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.calendar-subtoolbar{align-items:center}.calendar-heading{display:grid;gap:8px}.calendar-toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.calendar-legend{margin-bottom:18px;display:flex;flex-wrap:wrap;gap:12px 18px}.legend-item{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem}.legend-swatch{width:12px;height:12px;border-radius:999px;display:inline-block}.legend-swatch.today{background:var(--gold)}.legend-swatch.birthday{background:var(--secondary)}.legend-swatch.selected{background:var(--accent-strong)}.legend-swatch.upcoming{background:var(--accent)}.legend-swatch.reminder{background:var(--success)}.legend-swatch.multiple{background:linear-gradient(135deg,var(--accent),var(--secondary))}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:12px;padding-inline:4px;color:var(--muted);font-size:.84rem;text-transform:uppercase;letter-spacing:.12em}.calendar-grid-rich{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.birthday-calendar-grid{align-items:stretch}.calendar-cell{min-height:182px;padding:15px;cursor:pointer;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;outline:none;border-radius:24px;border:1px solid rgba(214,201,194,.7);background:linear-gradient(180deg,#fffffff2,#fff8f3e6);transition:box-shadow .18s ease,border-color .18s ease,background .18s ease;overflow:hidden}.birthday-calendar-cell:hover,.birthday-calendar-cell:focus-visible{box-shadow:0 20px 42px #5b35251a;border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.calendar-cell.is-selected{border-color:color-mix(in srgb,var(--accent-strong) 42%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-strong) 14%,transparent),0 24px 46px color-mix(in srgb,var(--accent-strong) 16%,transparent)}.calendar-cell.is-outside-month{background:#ffffff80;box-shadow:none;opacity:.76}.calendar-cell.is-today{background:linear-gradient(180deg,#fff3dcfa,#fffbf5f0);border-color:#f4b86070}.calendar-cell.has-birthday{border-color:#4cb5ae5c}.calendar-cell.has-upcoming{box-shadow:0 22px 46px color-mix(in srgb,var(--accent) 12%,transparent)}.calendar-cell-top{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:28px}.calendar-day-meta{display:flex;gap:8px;align-items:center}.calendar-date-number{font-size:1.2rem;font-weight:800}.calendar-month-chip{padding:4px 8px;border-radius:999px;background:#5b352514;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.calendar-count{min-width:30px;padding:4px 9px;border-radius:999px;background:var(--gold-soft);color:#8f6120;text-align:center;font-weight:700;box-shadow:inset 0 0 0 1px #8f612014}.calendar-status-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;min-height:28px}.calendar-cell-middle{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0}.calendar-flag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.02em}.calendar-flag-today{background:#f9ba3f2e;color:#8f6120}.calendar-flag-reminder{background:#2fa37824;color:#256446}.calendar-flag-upcoming{background:color-mix(in srgb,var(--accent-strong) 12%,transparent);color:var(--accent-strong)}.calendar-preview{display:grid;gap:6px;align-content:start;min-height:62px;overflow:hidden;padding-top:2px}.calendar-empty-preview{display:grid;align-content:start;min-height:62px;color:var(--muted);font-size:.88rem}.calendar-empty-preview p{margin:0}.calendar-chip,.calendar-more{display:inline-flex;align-items:center;gap:8px}.calendar-chip{width:100%;max-width:100%;min-width:0;padding:7px 10px;border-radius:14px;border:1px solid rgba(76,181,174,.18);background:#4cb5ae14;color:#215b57;font-size:.82rem;font-weight:700;justify-content:space-between}.calendar-chip.has-reminder{border-color:#2fa37842;background:#2fa3781a}.calendar-chip-name{min-width:0;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-chip-dot{width:8px;height:8px;border-radius:999px;background:var(--success);flex-shrink:0}.calendar-more{width:fit-content;padding:6px 10px;border:0;border-radius:12px;background:#5b352514;color:var(--muted);font-size:.78rem;font-weight:700}.calendar-cell-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid rgba(108,75,85,.08)}.calendar-cell-caption{min-width:0;color:var(--muted);font-size:.77rem;font-weight:600;line-height:1.35}.calendar-add{width:34px;height:34px;min-width:34px;padding:0;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);background:linear-gradient(180deg,#fffffff5,#fff6f1e6);color:var(--accent-strong);font-size:1.1rem;font-weight:800;line-height:1;box-shadow:0 10px 20px #5b35251a;flex-shrink:0}.calendar-sidebar{display:grid;gap:22px}.detail-panel,.composer-panel{padding:24px}.calendar-detail-actions{margin-bottom:16px}.planner-card,.reminder-card,.detail-box{padding:18px}.planner-card{display:grid;gap:12px}.birthday-day-card{border:1px solid rgba(214,201,194,.7);border-radius:22px;background:linear-gradient(180deg,#ffffffeb,#fff8f4eb)}.birthday-detail-hero .hero-aside{align-content:start}.birthday-photo-panel{display:flex;justify-content:center;margin-bottom:10px}.calendar-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px;background:#1e142580;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.calendar-day-modal{width:min(760px,100%);max-height:min(88vh,920px);overflow:auto;padding:24px;border-radius:30px;border:1px solid var(--border);background:radial-gradient(circle at top right,rgba(76,181,174,.12),transparent 28%),var(--surface-strong);box-shadow:0 36px 90px #00000038}.calendar-modal-card{transition:transform .18s ease}.calendar-modal-card:hover{transform:translateY(-1px)}.planner-card-top,.reminder-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.planner-card h3,.reminder-title h3{margin:0 0 6px}.planner-note,.reminder-copy{margin:0;color:var(--muted)}.empty-state{padding:28px;text-align:center}.empty-state.compact{text-align:left}.filters-row,.bulk-toolbar{margin-bottom:18px}.bulk-toolbar{justify-content:space-between}.reminder-grid,.reminder-grid-polished,.reminder-setup-grid,.agenda-list{display:grid;gap:16px}.reminder-setup-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.reminder-section{display:grid;gap:16px;margin-bottom:22px}.reminder-card{display:grid;gap:16px}.reminder-workspace-card,.reminder-polished-card,.reminder-spotlight-card,.agenda-card{background:radial-gradient(circle at top right,rgba(244,184,96,.12),transparent 30%),var(--surface)}.reminder-card.is-disabled{opacity:.88}.reminder-card-setup{background:linear-gradient(180deg,#fff7f2f0,#fffbf8f0);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}.reminder-actions{display:grid;gap:14px}.reminder-person,.reminder-title,.profile-preview-copy{min-width:0}.reminder-title h3,.profile-preview-copy h3{margin:0 0 4px}.reminder-select-toggle input{position:absolute;opacity:0;pointer-events:none}.reminder-select-toggle span{width:18px;height:18px;border-radius:6px;border:1px solid var(--border);background:#ffffff94;display:inline-block}.reminder-select-toggle input:checked+span{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 82%,white),var(--accent-strong));border-color:transparent;box-shadow:0 10px 22px color-mix(in srgb,var(--accent-strong) 20%,transparent)}.reminder-select-toggle input:checked+span:after{content:"";display:block;width:6px;height:10px;margin:2px 0 0 5px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.agenda-card,.reminder-spotlight-card{padding:18px;border-radius:22px;border:1px solid var(--border);box-shadow:var(--shadow)}.agenda-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.agenda-people{display:grid;gap:12px}.agenda-person{display:flex;gap:12px;align-items:center}.planner-list.compact{gap:10px}.add-birthday-hero-btn{box-shadow:0 18px 36px color-mix(in srgb,var(--accent-strong) 28%,transparent)}:root[data-theme=dark] .feature-panel,:root[data-theme=dark] .detail-box,:root[data-theme=dark] .story-panel,:root[data-theme=dark] .journey-step,:root[data-theme=dark] .about-summary .feature-panel{background:linear-gradient(180deg,#34283feb,#1e1725eb)}:root[data-theme=dark] .birthday-calendar-shell,:root[data-theme=dark] .calendar-day-modal,:root[data-theme=dark] .birthday-day-card,:root[data-theme=dark] .agenda-card,:root[data-theme=dark] .reminder-spotlight-card,:root[data-theme=dark] .reminder-polished-card,:root[data-theme=dark] .reminder-workspace-card,:root[data-theme=dark] .birthday-form-card,:root[data-theme=dark] .form-preview-card,:root[data-theme=dark] .form-section-card,:root[data-theme=dark] .photo-upload-box{background:radial-gradient(circle at top right,rgba(76,181,174,.08),transparent 30%),linear-gradient(180deg,#2e2338f5,#1a1420f5)}:root[data-theme=dark] .calendar-cell{border-color:#ffe4ee1a;background:linear-gradient(180deg,#34283ffa,#1d1725f2)}:root[data-theme=dark] .field select{color-scheme:dark;color:#f7eefb;background-color:#2c2236;border-color:#ffe4ee24}:root[data-theme=dark] .field select option{background:#2b2133;color:#f7eefb}:root[data-theme=dark] .field select option:hover,:root[data-theme=dark] .field select option:focus{background:#3a2c45;color:#fff7fb}:root[data-theme=dark] .field select option:checked{background:#cf6f66 linear-gradient(0deg,#cf6f66 0% 100%);color:#fff8f4}:root[data-theme=dark] .field select:hover{border-color:#f4b8603d}:root[data-theme=dark] .field select:focus{border-color:#f4b86047;box-shadow:0 0 0 3px #f4b86024}:root[data-theme=dark] .field select:disabled{color:#b9aabf;opacity:1}:root[data-theme=dark] .calendar-cell.is-outside-month{background:#ffffff05;opacity:.88}:root[data-theme=dark] .calendar-cell.is-selected{border-color:#f4b86075;box-shadow:0 0 0 1px #f4b86029,0 22px 44px #f4b86029}:root[data-theme=dark] .calendar-cell.is-today{background:linear-gradient(180deg,#543f1df5,#211b14f0)}:root[data-theme=dark] .calendar-count,:root[data-theme=dark] .calendar-flag-today{color:#ffe7b0}:root[data-theme=dark] .calendar-chip{background:#4cb5ae29;color:#dff9f7;border-color:#4cb5ae33}:root[data-theme=dark] .calendar-chip.has-reminder{background:#3f9f742e;color:#dff8ea;border-color:#76e0ac2e}:root[data-theme=dark] .calendar-more,:root[data-theme=dark] .calendar-month-chip{background:#ffffff0f}:root[data-theme=dark] .calendar-add,:root[data-theme=dark] .add-birthday-hero-btn{box-shadow:0 18px 34px #00000052}:root[data-theme=dark] .calendar-cell-bottom{border-top-color:#ffffff14}:root[data-theme=dark] .calendar-cell-caption{color:#cfc0d7}:root[data-theme=dark] .calendar-count{background:#f4b86024}:root[data-theme=dark] .calendar-flag-reminder{background:#3f9f7433;color:#dff8ea}:root[data-theme=dark] .calendar-flag-upcoming{background:color-mix(in srgb,var(--accent) 18%,transparent);color:#ffe5ea}:root[data-theme=dark] .calendar-add{background:#ffffff14;border-color:#ffffff14;color:#ffe5ea}:root[data-theme=dark] .birthday-calendar-cell:hover,:root[data-theme=dark] .birthday-calendar-cell:focus-visible{border-color:#f4b8602e;box-shadow:0 18px 34px #0000003d}:root[data-theme=dark] .search-shell{background:#ffffff08;border-color:#ffffff14}:root[data-theme=dark] .theme-toggle{border-color:#ffffff14;background:linear-gradient(180deg,#2d2236f0,#1c1623f5)}:root[data-theme=dark] .theme-toggle-track{background:linear-gradient(135deg,#58416ea3,#1f465385);border-color:#ffffff0f}:root[data-theme=dark] .theme-toggle:hover{border-color:#f4b86038;box-shadow:0 18px 34px #00000047}:root[data-theme=dark] .theme-toggle-thumb{transform:translate(36px);background:linear-gradient(135deg,#45314f,#2a2033)}:root[data-theme=dark] .theme-toggle-thumb-icon{color:#f6e8ff}:root[data-theme=dark] .theme-toggle-icon-sun{color:#bea97f}:root[data-theme=dark] .theme-toggle-icon-moon{color:#f2e5ff}:root[data-theme=dark] .theme-toggle-label{color:#bba9c5}:root[data-theme=dark] .theme-toggle-state{color:#f7eefb}:root[data-theme=dark] .reminder-toggle{background:linear-gradient(180deg,#3a2c46e6,#231b2bf5);border-color:#ffe4ee1f;box-shadow:inset 0 1px #ffffff08}:root[data-theme=dark] .reminder-toggle:hover{border-color:#f4b8604d;box-shadow:0 18px 34px #0000003d}:root[data-theme=dark] .reminder-toggle.is-active{background:linear-gradient(180deg,#1f4a3cf0,#183229f5);border-color:#76e0ac47;box-shadow:0 18px 34px #00000038}:root[data-theme=dark] .reminder-toggle-copy strong{color:#f7eefb}:root[data-theme=dark] .reminder-toggle-copy small,:root[data-theme=dark] .field-help{color:#cfc0d7}:root[data-theme=dark] .reminder-toggle.is-active .reminder-toggle-copy small{color:#daf6e8}:root[data-theme=dark] .reminder-toggle-switch{background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff0a}:root[data-theme=dark] .reminder-toggle-switch:after{background:linear-gradient(135deg,#fff9f6,#f4e7ff)}:root[data-theme=dark] .reminder-toggle.is-active .reminder-toggle-switch{background:#76e0ac57}:root[data-theme=dark] .status-badge{color:#daf6e8;border-color:#76e0ac38}:root[data-theme=dark] .status-badge.is-off{color:#d6c8df;background:#ffffff0f;border-color:#ffffff14}:root[data-theme=dark] .timing-chip{color:#f5ebf6;border-color:#ffffff14}:root[data-theme=dark] .timing-chip:hover{background:#ffffff14;border-color:#f4b86038}:root[data-theme=dark] .timing-chip.active{color:#ffe8ef;background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}:root[data-theme=dark] .search-result-item:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}:root[data-theme=dark] .brand-mark{background:linear-gradient(180deg,#ffffff0f,#ffffff05)}hr.sep{border:none;border-top:1px solid var(--border);margin:18px 0}@media(max-width:1200px){.calendar-layout,.hero-panel,.birthday-form-layout{grid-template-columns:1fr}}@media(max-width:1100px){.shell{grid-template-columns:1fr}.sidebar{display:none}}@media(max-width:820px){.page-content,.topbar{padding:18px}.topbar{flex-direction:column;align-items:stretch}.topbar nav,.auth-actions,.bulk-toolbar,.section-head,.calendar-toolbar,.profile-preview,.hero-brand,.brand-lockup,.planner-card-top,.reminder-card-head,.birthday-meta{flex-direction:column;align-items:stretch}.form-grid,.form-section-grid,.stat-grid,.stat-strip,.list-row{grid-template-columns:1fr}.weekday-row,.calendar-grid-rich{grid-template-columns:repeat(7,minmax(92px,1fr));min-width:720px}.calendar-cell{min-height:auto}.search-shell,.theme-toggle{width:100%}.detail-photo,.profile-photo{width:104px;height:104px}.calendar-day-modal{padding:18px}}.user-management-table{display:grid;gap:10px;overflow-x:auto}.user-management-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.9fr) minmax(210px,1.2fr) minmax(90px,.55fr) auto;gap:14px;align-items:center;min-width:820px;padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:#ffffff94}.user-management-head{color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:transparent;border-color:transparent;box-shadow:none}:root[data-theme=dark] .user-management-row{background:#ffffff09}@media(max-width:820px){.user-management-table{overflow:visible}.user-management-head{display:none}.user-management-row{grid-template-columns:1fr;min-width:0;gap:10px}.user-management-row>span{display:grid;grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:12px;align-items:center}.user-management-row>span:before{content:attr(data-label);color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}}:where(a,button,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--accent-strong) 38%,transparent);outline-offset:3px}.public-page-content{min-height:calc(100vh - 79px)}.topbar-brand-row,.sidebar-footer,.profile-link,.dashboard-next-person,.dashboard-person-row,.quick-action-list a,.landing-trust-row,.slider-controls,.preview-greeting,.preview-person{display:flex;align-items:center}.public-topbar{padding-inline:clamp(18px,5vw,72px)}.public-topbar .public-nav{margin-inline:auto}.public-actions{flex-wrap:nowrap}.private-topbar{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:auto minmax(320px,680px) auto;align-items:center;gap:clamp(14px,2vw,28px);width:100%;min-height:76px;height:76px;padding:10px clamp(16px,2.4vw,34px);overflow:visible;background:color-mix(in srgb,var(--surface-strong) 92%,transparent);box-shadow:0 10px 30px color-mix(in srgb,var(--text) 7%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}:root[data-theme=dark] .private-topbar{background:color-mix(in srgb,var(--surface-strong) 94%,transparent);box-shadow:0 12px 32px #0000003d}.topbar-brand-row{min-width:0;gap:10px}.private-brand{gap:10px;min-width:0;white-space:nowrap}.private-brand .brand-mark.compact{width:42px;height:42px;flex:0 0 42px}.private-search-region{min-width:0;display:flex;justify-content:center}.navbar-search{position:relative;width:100%;min-width:0}.navbar-search .search-shell{width:100%;min-width:0;min-height:48px;padding:7px 9px 7px 14px;border-radius:17px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 8px 22px color-mix(in srgb,var(--text) 7%,transparent);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.navbar-search .search-shell:focus-within,.navbar-search.is-open .search-shell{border-color:color-mix(in srgb,var(--accent-strong) 32%,var(--border));background:var(--surface-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-strong) 10%,transparent),var(--shadow)}.navbar-search .search-input{min-width:0;height:32px;padding:4px 2px;font-size:.94rem}.navbar-search .search-input::-webkit-search-cancel-button{display:none}:root[data-theme=dark] .navbar-search .search-input{background:transparent}.search-clear-button,.search-close-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.search-clear-button{width:32px;height:32px;border-radius:11px;font-size:1.28rem;line-height:1}.search-clear-button:hover,.search-close-button:hover{color:var(--accent-strong);border-color:var(--border);background:var(--accent-soft)}.search-shortcut{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border:1px solid var(--border);border-radius:9px;color:var(--muted);background:var(--surface-tint);font-size:.82rem}.search-dropdown{position:absolute;top:calc(100% + 10px);right:0;left:0;z-index:90;display:grid;max-height:min(520px,calc(100vh - 104px));overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-strong) 14%,var(--border));border-radius:22px;background:color-mix(in srgb,var(--surface-strong) 97%,transparent);box-shadow:0 26px 70px color-mix(in srgb,var(--text) 18%,transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}:root[data-theme=dark] .search-dropdown{background:color-mix(in srgb,var(--surface-strong) 98%,transparent);box-shadow:0 28px 72px #00000070}.search-dropdown-heading,.search-dropdown-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.search-dropdown-heading{padding:16px 16px 13px 18px;border-bottom:1px solid var(--border)}.search-dropdown-heading>div{min-width:0;display:grid;gap:3px}.search-dropdown-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem}.search-dropdown-eyebrow{color:var(--accent-strong);font-size:.68rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.search-close-button{width:34px;height:34px;border-radius:11px;font-size:1.35rem}.search-dropdown-body{min-height:0;max-height:410px;overflow-y:auto;overscroll-behavior:contain;padding:8px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent-strong) 24%,transparent) transparent}.search-result-list{display:grid;gap:5px}.search-result-item{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:74px;padding:10px;border:1px solid transparent;border-radius:16px;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.search-result-item:hover,.search-result-item.is-highlighted{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent-strong) 18%,var(--border));background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface))}.search-result-item:disabled{cursor:default;opacity:.72}.search-result-avatar-wrap{display:inline-flex}.search-result-avatar{width:48px;height:48px;border-radius:15px;box-shadow:0 9px 20px color-mix(in srgb,var(--text) 10%,transparent)}.search-result-copy{min-width:0;display:grid;gap:5px}.search-result-title-row,.search-result-details{display:flex;align-items:center;min-width:0}.search-result-title-row{gap:8px}.search-result-title-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-relationship{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;border-radius:999px;background:var(--surface-tint);color:var(--muted);font-size:.68rem;font-weight:800}.search-result-details{gap:6px;color:var(--muted);font-size:.78rem}.search-countdown-badge{justify-self:end;padding:6px 9px;border:1px solid color-mix(in srgb,var(--secondary) 24%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--secondary) 10%,var(--surface));color:color-mix(in srgb,var(--secondary) 76%,var(--text));font-size:.7rem;font-weight:850;white-space:nowrap}.search-countdown-badge.is-urgent{border-color:color-mix(in srgb,var(--accent-strong) 26%,var(--border));background:var(--accent-soft);color:var(--accent-strong)}.search-state{min-height:122px;display:flex;align-items:center;justify-content:center;gap:13px;padding:24px 18px;text-align:left}.search-state>div{display:grid;gap:4px}.search-state span:not(.search-state-icon):not(.search-spinner){color:var(--muted);font-size:.82rem;line-height:1.45}.search-state-icon,.search-spinner{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:14px;background:var(--accent-soft);color:var(--accent-strong);font-weight:900}.search-spinner{width:32px;height:32px;flex-basis:32px;border:3px solid color-mix(in srgb,var(--accent-strong) 18%,transparent);border-top-color:var(--accent-strong);border-radius:50%;background:transparent;animation:search-spinner-rotate .8s linear infinite}@keyframes search-spinner-rotate{to{transform:rotate(360deg)}}.search-error-state .search-state-icon{background:color-mix(in srgb,var(--danger, #d85757) 12%,var(--surface));color:var(--danger, #d85757)}.search-state-action{justify-self:start;margin-top:6px;color:var(--accent-strong);font-size:.82rem;font-weight:850}.search-dropdown-footer{min-height:45px;padding:10px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:.76rem}.search-dropdown-footer a{color:var(--accent-strong);font-weight:850}.private-actions{justify-content:flex-end;flex-wrap:nowrap;min-width:0}.compact-theme-toggle{min-width:44px;width:44px;height:44px;padding:0;justify-content:center;box-shadow:none;flex-shrink:0}.profile-link{gap:9px;max-width:180px;padding:6px 9px;border-radius:15px;border:1px solid transparent;font-weight:700}.profile-link:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent-strong) 22%,transparent)}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--secondary));color:#fff;font-weight:800}.private-logout-button{min-height:42px;padding-inline:13px}.mobile-menu-button{display:none;width:44px;height:44px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}.mobile-menu-button span{display:block;width:100%;height:2px;margin-block:4px;border-radius:999px;background:var(--text)}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:calc(100vh - 76px)}.app-sidebar{position:sticky;top:76px;z-index:24;display:flex;flex-direction:column;height:calc(100vh - 76px);padding:16px 14px 14px;overflow:hidden;background:color-mix(in srgb,var(--surface-strong) 80%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-header{padding:3px 8px 15px;border-bottom:1px solid var(--border)}.sidebar-header h2,.sidebar-header p{margin:0}.sidebar-header h2{font-size:1.18rem}.sidebar-header p{margin-top:2px;font-size:.75rem}.sidebar-header .brand-mark{width:43px;height:43px;flex:0 0 43px}.sidebar-nav{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:10px;padding-block:10px}.sidebar-nav-group{display:grid;gap:4px}.sidebar-account-group{margin-top:auto}.sidebar-label{margin:9px 10px 4px;color:var(--muted);font-size:.66rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.sidebar-nav a{position:relative;display:flex;align-items:center;gap:10px;min-height:43px;padding:8px 10px;border:1px solid transparent;border-radius:14px;color:var(--muted);font-size:.9rem;font-weight:750;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease}.sidebar-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex:0 0 31px;border-radius:10px;background:color-mix(in srgb,var(--surface-tint) 82%,transparent);color:currentColor}.sidebar-nav-icon svg,.sidebar-logout svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-nav-icon-fill svg{fill:currentColor;stroke:none}.sidebar-nav a:hover{transform:translate(2px);color:var(--text);background:var(--surface);border-color:var(--border)}.sidebar-nav a.active{color:var(--accent-strong);background:linear-gradient(100deg,var(--accent-soft),color-mix(in srgb,var(--gold) 9%,var(--surface)));border-color:color-mix(in srgb,var(--accent-strong) 24%,transparent);box-shadow:inset 3px 0 0 var(--accent-strong),0 8px 20px color-mix(in srgb,var(--accent-strong) 8%,transparent)}.sidebar-nav a.active .sidebar-nav-icon{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 8px 16px color-mix(in srgb,var(--accent-strong) 20%,transparent)}.sidebar-add-link{margin-top:5px;color:var(--text)!important;border-color:color-mix(in srgb,var(--accent-strong) 18%,var(--border))!important;background:color-mix(in srgb,var(--accent-soft) 62%,var(--surface))!important}.sidebar-add-link .sidebar-nav-icon{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong))}.sidebar-add-hint{margin-left:auto;padding:3px 7px;border-radius:999px;background:var(--surface-strong);color:var(--accent-strong);font-size:.62rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.sidebar-footer{gap:10px;margin-top:4px;padding:12px 7px 0;border-top:1px solid var(--border)}.sidebar-footer div{min-width:0;display:grid}.sidebar-footer strong,.sidebar-footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer div span{color:var(--muted);font-size:.74rem}.sidebar-logout{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-left:auto;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);cursor:pointer}.sidebar-logout:hover{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent-strong) 26%,var(--border));background:var(--accent-soft)}.sidebar-backdrop{display:none}@media(max-height:720px)and (min-width:1101px){.app-sidebar{overflow-y:auto;scrollbar-width:thin}.sidebar-account-group{margin-top:0}}.landing-page{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:clamp(36px,6vw,86px) 0 28px}.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(32px,6vw,84px);align-items:center;min-height:580px}.landing-hero-copy h1{max-width:720px;margin:0 0 20px;font-size:clamp(3.2rem,7vw,6.4rem);line-height:.92}.landing-hero-copy>p{max-width:620px;margin:0;color:var(--muted);font-size:clamp(1.05rem,1.8vw,1.3rem)}.compact-hero-brand{align-items:center;margin-bottom:24px}.compact-hero-brand .eyebrow{margin:0}.landing-actions{margin-top:30px}.landing-trust-row{gap:18px;flex-wrap:wrap;margin-top:28px;color:var(--muted);font-size:.9rem;font-weight:700}.landing-trust-row span:before{content:"\2713";margin-right:7px;color:var(--success)}.landing-preview{position:relative;padding:18px}.landing-preview:before,.landing-preview:after{content:"";position:absolute;z-index:-1;border-radius:999px;filter:blur(2px)}.landing-preview:before{inset:-20px 18% auto auto;width:170px;height:170px;background:var(--gold-soft)}.landing-preview:after{inset:auto auto -35px -20px;width:210px;height:210px;background:var(--secondary-soft)}.preview-window{display:grid;gap:18px;padding:22px;border:1px solid var(--border);border-radius:32px;background:color-mix(in srgb,var(--surface-strong) 90%,transparent);box-shadow:0 34px 90px color-mix(in srgb,var(--accent-strong) 14%,transparent);transform:rotate(1.5deg)}.preview-window-bar{display:flex;gap:6px}.preview-window-bar span{width:8px;height:8px;border-radius:999px;background:var(--border)}.preview-window-bar span:first-child{background:var(--accent)}.preview-window-bar span:nth-child(2){background:var(--gold)}.preview-window-bar span:last-child{background:var(--secondary)}.preview-greeting,.preview-person{justify-content:space-between;gap:14px}.preview-greeting div:first-child,.preview-person div{display:grid}.preview-greeting small,.preview-person small,.preview-stats small{color:var(--muted)}.preview-mini-avatar,.preview-person-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:15px;background:var(--accent-soft);color:var(--accent-strong);font-weight:800}.preview-mini-avatar{width:44px;height:44px}.preview-person-avatar{width:50px;height:50px}.preview-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-stats div,.preview-person{padding:15px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.preview-stats div{display:grid}.preview-stats strong{font-size:1.35rem}.preview-calendar-row{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.preview-calendar-row span{display:grid;place-items:center;aspect-ratio:1;border-radius:11px;background:var(--surface);color:var(--muted);font-size:.8rem}.preview-calendar-row .preview-active-day{background:var(--accent-strong);color:#fff;box-shadow:0 10px 20px var(--accent-soft)}.landing-slider{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(28px,6vw,72px);align-items:center;margin-block:clamp(70px,10vw,130px);padding:clamp(28px,5vw,64px);border:1px solid var(--border);border-radius:36px;background:var(--surface);box-shadow:var(--shadow)}.slider-copy h2{margin:0 0 14px;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.slider-copy>p:last-of-type{max-width:520px;font-size:1.02rem}.slider-controls{gap:14px;margin-top:28px}.slider-arrow{width:46px;height:46px;border:1px solid var(--border);border-radius:15px;background:var(--surface-strong);color:var(--text);cursor:pointer;font-size:1.2rem}.slider-dots{display:flex;gap:8px}.slider-dot{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 28%,transparent);cursor:pointer;transition:width .18s ease,background .18s ease}.slider-dot.active{width:28px;background:var(--accent-strong)}.slider-visual{min-height:320px;display:grid;place-items:center;padding:34px;overflow:hidden;border-radius:28px;background:radial-gradient(circle at top right,var(--gold-soft),transparent 35%),radial-gradient(circle at bottom left,var(--secondary-soft),transparent 38%),var(--surface-tint)}.visual-stack,.notes-visual{width:min(390px,100%);display:grid;gap:15px}.visual-card,.notes-visual>div,.reminder-visual{border:1px solid var(--border);border-radius:22px;background:var(--surface-strong);box-shadow:var(--shadow)}.birthday-visual-card{display:flex;align-items:center;gap:15px;padding:18px}.birthday-visual-card>span,.notes-visual>div>span{font-size:1.8rem}.birthday-visual-card div,.notes-visual>div{display:grid}.birthday-visual-card small,.notes-visual small,.reminder-visual small{color:var(--muted)}.visual-stack .visual-card:last-child{margin-left:44px}.reminder-visual{width:min(360px,100%);display:grid;justify-items:center;gap:7px;padding:38px 24px;text-align:center}.reminder-bell{display:grid;place-items:center;width:74px;height:74px;margin-bottom:8px;border-radius:24px;background:var(--accent-soft);font-size:2rem}.calendar-visual{width:min(390px,100%);display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:18px;border:1px solid var(--border);border-radius:24px;background:var(--surface-strong);box-shadow:var(--shadow)}.calendar-visual span{display:grid;place-items:center;aspect-ratio:1;border-radius:11px;color:var(--muted)}.calendar-visual span.has-event{background:var(--secondary-soft);color:var(--text);font-weight:800;box-shadow:inset 0 -3px 0 var(--secondary)}.notes-visual>div{grid-template-columns:auto 1fr;column-gap:14px;padding:19px}.notes-visual>div>span{grid-row:1 / 3}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,44px);background:linear-gradient(135deg,var(--accent-soft),var(--secondary-soft))}.landing-cta h2{margin:0 0 8px}.landing-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:34px 0 8px;color:var(--muted);font-size:.9rem}.landing-footer>a:last-child{justify-self:end;color:var(--text);font-weight:700}.auth-layout{width:min(1400px,calc(100% - 48px));min-height:clamp(620px,72svh,740px);display:grid;margin:clamp(24px,3.2vw,48px) auto;overflow:hidden;border:1px solid var(--border);border-radius:clamp(28px,3vw,42px);background:var(--surface-strong);box-shadow:0 30px 90px color-mix(in srgb,var(--text) 10%,transparent)}.auth-layout--login{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);grid-template-areas:"visual form"}.auth-layout--register{grid-template-columns:minmax(560px,1.12fr) minmax(360px,.88fr);grid-template-areas:"form visual"}.auth-visual-panel{position:relative;isolation:isolate;grid-area:visual;display:flex;min-width:0;flex-direction:column;padding:clamp(34px,4vw,62px);overflow:hidden;background:radial-gradient(circle at 82% 16%,var(--gold-soft),transparent 28%),radial-gradient(circle at 15% 88%,var(--secondary-soft),transparent 34%),linear-gradient(145deg,var(--accent-soft),var(--surface-tint))}.auth-visual-panel--register{background:radial-gradient(circle at 20% 16%,var(--secondary-soft),transparent 30%),radial-gradient(circle at 82% 88%,var(--gold-soft),transparent 34%),linear-gradient(145deg,var(--surface-tint),var(--accent-soft))}.auth-visual-panel:before,.auth-visual-panel:after{position:absolute;z-index:-1;content:"";pointer-events:none}.auth-visual-panel:before{top:clamp(90px,14vw,180px);right:clamp(-100px,-6vw,-45px);width:clamp(190px,22vw,330px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--accent-soft) 55%,transparent),0 0 0 48px color-mix(in srgb,var(--secondary-soft) 38%,transparent)}.auth-visual-panel:after{right:12%;bottom:18%;width:72px;height:72px;border:13px solid color-mix(in srgb,var(--gold) 48%,transparent);border-radius:24px;transform:rotate(18deg)}.auth-visual-panel>*{position:relative;z-index:1}.auth-brand{width:fit-content}.auth-brand .brand-mark{width:52px;height:52px}.auth-visual-copy{max-width:650px;margin-block:auto;padding-block:clamp(42px,7vh,76px)}.auth-visual-copy h2{max-width:680px;margin:10px 0 20px;font-size:clamp(2.65rem,4.2vw,4.65rem);line-height:1.02;text-wrap:balance}.auth-visual-copy p{max-width:570px;margin:0;color:var(--muted);font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.75}.auth-benefit-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.auth-benefit-chips span{padding:8px 12px;border:1px solid color-mix(in srgb,var(--border) 84%,var(--accent));border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 72%,transparent);color:var(--text);font-size:.82rem;font-weight:800;box-shadow:0 9px 24px color-mix(in srgb,var(--text) 6%,transparent)}.auth-mini-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:590px}.auth-preview-card{display:grid;min-width:0;gap:3px;padding:17px 18px;border:1px solid var(--border);border-radius:20px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent);box-shadow:0 18px 38px color-mix(in srgb,var(--text) 8%,transparent)}.auth-preview-card>span{margin-bottom:4px;font-size:1.45rem}.auth-preview-card strong,.auth-preview-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-preview-card small{color:var(--muted)}.auth-preview-card--accent{border-top:3px solid var(--accent)}.auth-preview-card--secondary{border-top:3px solid var(--secondary)}.auth-preview-card--gold{border-top:3px solid var(--gold)}.auth-form-panel{grid-area:form;align-self:center;justify-self:center;width:100%;max-width:660px;padding:clamp(38px,4.5vw,72px)}.auth-form-panel--register{max-width:760px}.auth-form-heading{margin-bottom:clamp(26px,3vw,38px)}.auth-form-heading h1{margin:3px 0 10px;font-size:clamp(2.35rem,3.5vw,3.65rem);line-height:1.05;text-wrap:balance}.auth-form-heading .muted{max-width:560px;margin:0;font-size:1rem;line-height:1.7}.auth-form{display:grid;gap:19px}.auth-form--register{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.auth-form .field{gap:9px}.auth-form .field label{color:var(--text);font-size:.91rem;font-weight:800}.auth-form .field input{min-height:58px;padding:15px 16px;border-radius:18px;background:color-mix(in srgb,var(--surface-strong) 88%,var(--bg-soft));box-shadow:inset 0 1px color-mix(in srgb,white 48%,transparent);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-form .field input:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.auth-form .field input:focus{border-color:color-mix(in srgb,var(--accent) 58%,transparent);background:var(--surface-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-soft) 80%,transparent)}.auth-form .field input[aria-invalid=true]{border-color:color-mix(in srgb,var(--danger) 68%,transparent);background:color-mix(in srgb,var(--danger-soft) 46%,var(--surface-strong))}.password-field{position:relative}.password-field input{padding-right:84px!important}.password-toggle{position:absolute;top:50%;right:9px;transform:translateY(-50%);min-width:62px;padding:8px 10px;border:0;border-radius:11px;background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;font-size:.8rem;font-weight:800;transition:transform .18s ease,background .18s ease}.password-toggle:hover{background:color-mix(in srgb,var(--accent-soft) 72%,var(--accent))}.password-toggle:active{transform:translateY(-50%) scale(.97)}.field-error{color:var(--danger);font-size:.82rem;font-weight:750;line-height:1.4}.auth-submit{width:100%;min-height:58px;margin-top:3px;border-radius:18px;font-weight:800;box-shadow:0 18px 38px color-mix(in srgb,var(--accent-strong) 28%,transparent)}.auth-submit:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 22px 46px color-mix(in srgb,var(--accent-strong) 34%,transparent)}.auth-secondary-actions{display:flex;justify-content:center;gap:6px;margin-top:25px;color:var(--muted);font-size:.92rem;text-align:center}.auth-secondary-actions a,.back-home-link{color:var(--accent-strong);font-weight:800}.auth-secondary-actions a:hover,.back-home-link:hover{text-decoration:underline;text-underline-offset:4px}.forgot-password-link{width:fit-content;margin-left:auto;color:var(--accent-strong);font-size:.86rem;font-weight:800}.forgot-password-link:hover{text-decoration:underline;text-underline-offset:4px}.back-home-link{display:block;width:fit-content;margin:21px auto 0;font-size:.88rem}:root[data-theme=dark] .auth-form .field input{background:color-mix(in srgb,var(--surface-strong) 82%,black);box-shadow:inset 0 1px #ffffff0a}:root[data-theme=dark] .auth-preview-card,:root[data-theme=dark] .auth-benefit-chips span{background:color-mix(in srgb,var(--surface-strong) 86%,transparent)}@media(max-width:1100px){.auth-layout{width:min(100% - 32px,1040px)}.auth-layout--login,.auth-layout--register{grid-template-columns:minmax(350px,.86fr) minmax(500px,1.14fr)}.auth-layout--register{grid-template-columns:minmax(520px,1.14fr) minmax(330px,.86fr)}.auth-visual-panel,.auth-form-panel{padding:clamp(32px,3.7vw,48px)}.auth-visual-copy h2{font-size:clamp(2.45rem,4.5vw,3.8rem)}}@media(max-width:920px){.auth-layout,.auth-layout--login,.auth-layout--register{width:min(100% - 28px,720px);min-height:auto;grid-template-columns:1fr;grid-template-areas:"form" "visual";margin-block:24px}.auth-form-panel,.auth-form-panel--register{max-width:none;padding:clamp(34px,7vw,58px)}.auth-visual-panel{min-height:360px;padding:clamp(30px,7vw,52px)}.auth-visual-copy{padding-block:44px}.auth-visual-copy h2{max-width:600px;font-size:clamp(2.4rem,7vw,3.7rem)}}@media(max-width:600px){.auth-layout,.auth-layout--login,.auth-layout--register{width:min(100% - 20px,560px);margin-block:14px 20px;border-radius:25px}.auth-form-panel,.auth-form-panel--register{padding:31px 22px 34px}.auth-form--register{grid-template-columns:1fr}.auth-form--register .full{grid-column:auto}.auth-form-heading h1{font-size:clamp(2.15rem,11vw,3rem)}.auth-secondary-actions{flex-wrap:wrap}.auth-visual-panel{min-height:300px;padding:28px 22px}.auth-visual-copy{padding-block:32px}.auth-visual-copy h2{font-size:clamp(2.1rem,10vw,3rem)}.auth-benefit-chips{margin-top:20px}.auth-mini-preview{display:none}.auth-visual-panel:before{opacity:.58}.auth-visual-panel:after{display:none}}.dashboard-page{width:100%;max-width:1500px;margin:0 auto}.dashboard-welcome{position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:22px;padding:clamp(24px,4vw,42px);overflow:hidden;border:1px solid var(--border);border-radius:32px;background:radial-gradient(circle at 88% 16%,rgba(244,184,96,.28),transparent 24%),linear-gradient(135deg,color-mix(in srgb,var(--surface-strong) 94%,var(--accent-soft)),var(--surface));box-shadow:var(--shadow)}.dashboard-welcome:before{content:"";position:absolute;inset:auto auto -120px -80px;width:280px;height:280px;border-radius:999px;background:radial-gradient(circle,var(--secondary-soft),transparent 68%);pointer-events:none}.dashboard-welcome-copy,.dashboard-hero-next{position:relative;z-index:1}.dashboard-welcome h1{max-width:760px;margin:0 0 10px;font-size:clamp(2.35rem,5vw,4.5rem);line-height:.98}.dashboard-welcome-copy>.muted{max-width:690px;font-size:1rem}.dashboard-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.dashboard-action-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;min-height:104px;padding:16px 44px 16px 15px;border:1px solid var(--border);border-radius:22px;background:color-mix(in srgb,var(--surface-strong) 88%,transparent);box-shadow:0 12px 32px #53374814;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.dashboard-action-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 36%,var(--border));background:var(--surface-strong);box-shadow:0 18px 38px #5337481f}.dashboard-action-card--primary{border-color:color-mix(in srgb,var(--accent) 24%,var(--border));background:linear-gradient(145deg,var(--accent-soft),color-mix(in srgb,var(--surface-strong) 90%,transparent))}.dashboard-action-card>span:nth-child(2){min-width:0;display:grid;align-content:center;gap:4px}.dashboard-action-card strong,.dashboard-action-card small{display:block;min-width:0;overflow:visible;text-overflow:clip;white-space:normal}.dashboard-action-card strong{font-size:.98rem;line-height:1.22;overflow-wrap:break-word}.dashboard-action-card small{color:var(--muted);font-size:.78rem;line-height:1.35;overflow-wrap:break-word}.dashboard-action-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:var(--accent-soft);color:var(--accent-strong);font-size:1.2rem;font-weight:800}.dashboard-action-icon--calendar{background:var(--gold-soft);color:#99661f}.dashboard-action-icon--reminder{background:var(--secondary-soft);color:var(--secondary)}.dashboard-action-arrow{position:absolute;top:50%;right:15px;color:var(--muted);font-size:1.05rem;transform:translateY(-50%);transition:transform .18s ease,color .18s ease}.dashboard-action-card:hover .dashboard-action-arrow{color:var(--accent-strong);transform:translate(3px,-50%)}.dashboard-hero-next{display:grid;align-content:space-between;min-height:248px;padding:22px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:27px;background:linear-gradient(145deg,#5b2d49f0,#342441fa),var(--surface-strong);color:#fff8fb;box-shadow:0 24px 54px #492a4338}.dashboard-hero-next--empty{background:linear-gradient(145deg,#3e7b77f5,#2a4550fa)}.dashboard-hero-orbit{position:absolute;top:-70px;right:-55px;width:190px;height:190px;border:34px solid rgba(255,255,255,.06);border-radius:999px}.dashboard-hero-next-head,.dashboard-hero-person,.dashboard-next-person,.dashboard-next-card-head,.dashboard-error-panel,.dashboard-person-title,.dashboard-person-tags{display:flex;align-items:center}.dashboard-hero-next-head{position:relative;z-index:1;gap:9px;color:#ffffffb8;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dashboard-hero-icon{color:var(--gold)}.dashboard-hero-person{position:relative;z-index:1;gap:13px;margin-block:18px}.dashboard-hero-avatar{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;border:2px solid rgba(255,255,255,.24);border-radius:19px;object-fit:cover;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 34%,transparent),#f4b8603d);color:#fff;font-weight:800}.dashboard-hero-person>div{min-width:0;display:grid}.dashboard-hero-person strong{overflow:hidden;font-family:Fraunces,Georgia,serif;font-size:1.35rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-hero-person span,.dashboard-hero-countdown span,.dashboard-hero-empty span{color:#ffffffad}.dashboard-hero-countdown{position:relative;z-index:1;display:grid;gap:2px;padding-top:15px;border-top:1px solid rgba(255,255,255,.13)}.dashboard-hero-countdown strong{font-size:clamp(1.7rem,3vw,2.5rem)}.dashboard-hero-empty{position:relative;z-index:1;display:grid;gap:8px;align-content:end}.dashboard-hero-empty strong{max-width:280px;font-family:Fraunces,Georgia,serif;font-size:1.55rem;line-height:1.05}.dashboard-hero-empty a{width:fit-content;margin-top:7px;color:#fff;font-weight:800}.dashboard-hero-loading{display:grid;gap:12px;align-content:center}.dashboard-hero-loading span,.dashboard-hero-loading strong,.dashboard-hero-loading small{display:block;border-radius:999px;background:#ffffff21}.dashboard-hero-loading span{width:58px;height:58px;border-radius:19px}.dashboard-hero-loading strong{width:70%;height:28px}.dashboard-hero-loading small{width:88%;height:14px}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-stat-card{position:relative;display:grid;min-height:180px;gap:14px;padding:20px;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.dashboard-stat-card:after{content:"";position:absolute;right:-34px;bottom:-52px;width:128px;height:128px;border-radius:999px;background:var(--accent-soft);opacity:.7;pointer-events:none}.dashboard-stat-card--reminders:after{background:var(--secondary-soft)}.dashboard-stat-card--soon:after{background:var(--gold-soft)}.dashboard-stat-card--next{background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 72%,var(--surface)),var(--surface))}.dashboard-stat-topline{position:relative;z-index:1;display:flex;gap:10px;align-items:center;justify-content:space-between}.dashboard-stat-context{overflow:hidden;color:var(--muted);font-size:.72rem;font-weight:700;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dashboard-stat-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:14px;background:var(--accent-soft);font-size:1.05rem}.dashboard-stat-icon.secondary{background:var(--secondary-soft)}.dashboard-stat-icon.gold{background:var(--gold-soft)}.dashboard-stat-card>strong{position:relative;z-index:1;align-self:end;font-size:clamp(2rem,4vw,3rem);line-height:.95}.dashboard-stat-card .next-birthday-name{overflow:hidden;font-size:clamp(1.45rem,2.4vw,2.1rem);text-overflow:ellipsis;white-space:nowrap}.dashboard-stat-card>div:last-child{position:relative;z-index:1;display:grid;gap:2px}.dashboard-stat-card small{font-weight:800}.dashboard-stat-card>div:last-child>span{color:var(--muted);font-size:.79rem}.dashboard-insights-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:18px;align-items:stretch}.dashboard-insight-stack{display:grid;gap:18px}.dashboard-chart-card,.dashboard-upcoming-card,.dashboard-next-card{padding:clamp(20px,2.4vw,28px)}.dashboard-chart-card h2,.dashboard-upcoming-card h2,.dashboard-next-card h2,.dashboard-next-card h3{margin:0}.dashboard-section-head{align-items:flex-start;gap:16px}.dashboard-section-head>div>.muted{margin-top:4px}.dashboard-chart-total{flex:0 0 auto;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-tint);color:var(--muted);font-size:.76rem;font-weight:800}.dashboard-month-chart-card{min-height:460px;display:grid;grid-template-rows:auto 1fr}.dashboard-month-chart{display:grid;grid-template-columns:repeat(12,minmax(18px,1fr));gap:clamp(5px,1vw,11px);min-height:300px;align-items:end;padding-top:30px}.dashboard-month-column{display:grid;min-width:0;gap:7px;justify-items:center}.dashboard-month-value{color:var(--muted);font-size:.72rem;font-weight:800}.dashboard-month-track{position:relative;display:flex;width:min(34px,100%);height:220px;align-items:flex-end;overflow:hidden;border:1px solid var(--border);border-radius:13px 13px 8px 8px;background:linear-gradient(to top,transparent 24%,var(--border) 25%,transparent 26%,transparent 49%,var(--border) 50%,transparent 51%,transparent 74%,var(--border) 75%,transparent 76%),var(--surface-tint)}.dashboard-month-bar{width:100%;min-height:0;border-radius:11px 11px 6px 6px;background:linear-gradient(180deg,color-mix(in srgb,var(--muted) 38%,transparent),color-mix(in srgb,var(--muted) 20%,transparent));transition:height .28s ease}.dashboard-month-bar--active{background:linear-gradient(180deg,var(--gold),var(--accent));box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 18%,transparent)}.dashboard-month-label{overflow:hidden;max-width:100%;color:var(--muted);font-size:.72rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.dashboard-coverage-card{min-height:220px;display:grid;gap:18px}.dashboard-coverage-content{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}.dashboard-coverage-ring{--dashboard-coverage: 0%;position:relative;display:grid;width:126px;height:126px;place-items:center;border-radius:999px;background:conic-gradient(var(--secondary) var(--dashboard-coverage),var(--surface-tint) 0);box-shadow:inset 0 0 0 1px var(--border)}.dashboard-coverage-ring:before{content:"";position:absolute;inset:13px;border:1px solid var(--border);border-radius:inherit;background:var(--surface-strong)}.dashboard-coverage-ring>span{position:relative;display:grid;justify-items:center}.dashboard-coverage-ring strong{font-size:1.65rem;line-height:1}.dashboard-coverage-ring small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.dashboard-coverage-copy{display:grid;gap:8px}.dashboard-coverage-copy p{color:var(--muted);font-size:.85rem}.dashboard-coverage-copy p strong{color:var(--text)}.dashboard-relationship-card{min-height:220px}.dashboard-relationship-list{display:grid;gap:11px;margin-top:16px}.dashboard-relationship-row{display:grid;gap:6px}.dashboard-relationship-row>div:first-child{display:flex;gap:12px;justify-content:space-between}.dashboard-relationship-row strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-relationship-row>div:first-child span{color:var(--muted);font-size:.78rem;font-weight:800}.dashboard-relationship-track{height:8px;overflow:hidden;border-radius:999px;background:var(--surface-tint);box-shadow:inset 0 0 0 1px var(--border)}.dashboard-relationship-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--secondary),var(--gold))}.dashboard-zero-state{display:flex;gap:14px;align-items:center;align-self:center;justify-self:center;max-width:420px;padding:20px;border:1px dashed var(--border);border-radius:20px;background:var(--surface-tint)}.dashboard-zero-state>span{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:14px;background:var(--accent-soft);color:var(--accent-strong);font-size:1.25rem}.dashboard-zero-state p{color:var(--muted);font-size:.84rem}.dashboard-zero-state--compact{margin-top:18px;padding:15px}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);gap:18px;align-items:start}.dashboard-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 18px}.dashboard-list,.dashboard-side-stack{display:grid;gap:12px}.dashboard-person-row{position:relative;display:grid;grid-template-columns:12px 52px minmax(0,1fr) auto;gap:13px;align-items:center;min-width:0;padding:14px 15px 14px 10px;border:1px solid transparent;border-radius:19px;background:color-mix(in srgb,var(--surface-tint) 58%,transparent);transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.dashboard-person-row:hover{transform:translateY(-1px);border-color:var(--border);background:var(--surface-tint);box-shadow:0 12px 28px #53374814}.dashboard-person-row--today,.dashboard-person-row--tomorrow{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:linear-gradient(90deg,var(--accent-soft),color-mix(in srgb,var(--surface-tint) 80%,transparent))}.dashboard-person-row--soon:not(.dashboard-person-row--today):not(.dashboard-person-row--tomorrow){border-color:color-mix(in srgb,var(--gold) 30%,var(--border))}.dashboard-timeline-dot{width:9px;height:9px;border:2px solid var(--surface-strong);border-radius:999px;background:var(--secondary);box-shadow:0 0 0 3px var(--secondary-soft)}.dashboard-person-row--today .dashboard-timeline-dot,.dashboard-person-row--tomorrow .dashboard-timeline-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dashboard-avatar,.dashboard-large-avatar{display:grid;place-items:center;flex-shrink:0;object-fit:cover;border:1px solid var(--border);background:linear-gradient(135deg,var(--accent-soft),var(--secondary-soft));color:var(--accent-strong);font-weight:800}.dashboard-avatar{width:52px;height:52px;border-radius:16px}.dashboard-large-avatar{width:76px;height:76px;border-radius:23px;font-size:1.15rem}.dashboard-person-copy{min-width:0;display:grid;gap:4px}.dashboard-person-title{min-width:0;gap:8px}.dashboard-person-title>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-urgency-label{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.dashboard-person-copy>span{overflow:hidden;color:var(--muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-person-tags{gap:7px;flex-wrap:wrap;margin-top:2px}.dashboard-person-tags>span{padding:3px 7px;border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.68rem;font-weight:800}.dashboard-person-tags .status-badge{background:var(--success-soft);color:var(--success)}.dashboard-status-off{background:var(--surface-tint)!important;color:var(--muted)!important;box-shadow:inset 0 0 0 1px var(--border)}.dashboard-row-meta{display:grid;gap:5px;justify-items:end;margin-left:auto;text-align:right}.dashboard-row-meta strong{font-size:.86rem;white-space:nowrap}.dashboard-row-meta span{color:var(--muted)}.dashboard-upcoming-empty,.dashboard-next-empty{display:grid;justify-items:center;gap:9px;padding:30px;text-align:center}.dashboard-upcoming-empty>span:first-child{font-size:1.8rem}.dashboard-upcoming-empty .ghost,.dashboard-next-empty .btn{margin-top:6px}.dashboard-next-card{position:sticky;top:101px;overflow:hidden;background:radial-gradient(circle at 100% 0,var(--gold-soft),transparent 31%),var(--surface)}.dashboard-next-card-head{justify-content:space-between;gap:14px}.dashboard-next-spark{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:15px;background:var(--gold-soft);color:#a56d1e}.dashboard-next-person{gap:15px;margin:24px 0 18px}.dashboard-next-person>div{min-width:0;display:grid;gap:2px}.dashboard-next-person h3{overflow:hidden;font-size:1.5rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-next-person>div>span{color:var(--muted);font-size:.82rem}.dashboard-next-details{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.dashboard-next-details>span{display:grid;gap:4px;min-width:0;padding:13px;border:1px solid var(--border);border-radius:16px;background:var(--surface-tint)}.dashboard-next-details small{color:var(--muted)}.dashboard-next-reminder-detail{grid-column:1 / -1}.dashboard-full-action{width:100%}.dashboard-error-panel{gap:14px;padding:20px}.dashboard-error-panel>div{min-width:0;display:grid}.dashboard-error-panel button{margin-left:auto}.dashboard-error-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:14px;background:var(--danger-soft);color:var(--danger);font-size:1.2rem;font-weight:900}.dashboard-loading-panels{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:18px}.dashboard-panel-skeleton{min-height:420px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(90deg,var(--surface),var(--surface-tint),var(--surface));background-size:200% 100%;box-shadow:var(--shadow);animation:dashboard-shimmer 1.2s linear infinite}.dashboard-panel-skeleton--compact{min-height:420px}.loading-card>span,.loading-card strong,.loading-card small,.loading-row>span:not(.dashboard-timeline-dot),.loading-row>div,.loading-row>strong{display:block;border-radius:999px;background:linear-gradient(90deg,var(--surface-tint),var(--accent-soft),var(--surface-tint));background-size:200% 100%;animation:dashboard-shimmer 1.2s linear infinite}.loading-card>span{width:42px;height:42px;border-radius:14px}.loading-card>div{display:grid;gap:12px;align-content:end}.loading-card strong{width:54%;height:30px}.loading-card small{width:72%;height:13px}.loading-row>span{width:52px;height:52px;border-radius:16px}.loading-row>div{width:55%;height:38px}.loading-row>strong{width:82px;height:18px;margin-left:auto}@keyframes dashboard-shimmer{to{background-position:-200% 0}}@media(max-width:1320px){.private-topbar{grid-template-columns:auto minmax(280px,1fr) auto}.private-actions{min-width:0}.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.mobile-menu-button{display:block}.app-sidebar{position:fixed;top:0;left:0;z-index:80;display:flex;width:min(300px,86vw);height:100vh;overflow-y:auto;transform:translate(-105%);transition:transform .2s ease;box-shadow:28px 0 70px #0000002e}.app-sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:70;display:block;border:0;background:#19121c6b;cursor:pointer}.dashboard-main-grid,.landing-hero,.landing-slider{grid-template-columns:1fr}.landing-hero{min-height:auto}.landing-preview{width:min(620px,100%);margin:0 auto}}@media(max-width:820px){.topbar{flex-direction:row;align-items:center}.public-topbar{display:flex;padding:12px 16px}.private-topbar{grid-template-columns:auto minmax(220px,1fr) auto;gap:12px;padding:10px 14px}.public-topbar .public-nav{display:none}.public-actions{margin-left:auto;width:auto}.private-actions .profile-link,.private-actions>.ghost{display:none}.brand-lockup{flex-direction:row;align-items:center}.brand-lockup .brand-mark.compact{width:38px;height:38px}.landing-page{width:min(100% - 28px,1220px);padding-top:42px}.landing-hero-copy h1{font-size:clamp(3rem,15vw,4.8rem)}.landing-slider{padding:24px;margin-block:68px}.slider-visual{min-height:260px;padding:22px}.landing-cta,.landing-footer,.dashboard-welcome{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.landing-footer{display:grid;text-align:left}.landing-footer>a:last-child{justify-self:start}.auth-layout,.auth-layout--login,.auth-layout--register{width:min(100% - 24px,720px);min-height:auto;grid-template-columns:1fr;grid-template-areas:"form" "visual";margin-block:20px}.auth-visual-panel{min-height:340px}.auth-visual-copy{padding-block:38px}.auth-form-panel,.auth-form-panel--register{max-width:none;padding:36px 28px 40px}.dashboard-stat-grid{grid-template-columns:1fr}.dashboard-person-row{display:grid;grid-template-columns:auto minmax(0,1fr)}.dashboard-row-meta{grid-column:2;justify-items:start;margin-left:0;text-align:left}}@media(max-width:520px){.public-actions .compact-theme-toggle{display:none}.public-topbar .btn{padding-inline:13px}.landing-actions,.landing-cta .btn{width:100%}.landing-actions>*{flex:1}.preview-window{padding:16px}.preview-person .pill{display:none}.slider-controls{justify-content:space-between}.auth-form-panel,.auth-form-panel--register{padding:31px 22px 34px}.auth-form--register{grid-template-columns:1fr}.auth-form--register .full{grid-column:auto}.auth-visual-panel{min-height:300px;padding:28px 22px}.auth-visual-copy h2{font-size:clamp(2.1rem,10vw,3rem)}.auth-mini-preview{display:none}.dashboard-filters .filter-chip{flex:1 1 calc(50% - 8px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:820px){.public-topbar .public-nav{display:flex;margin-left:auto}.public-topbar .public-nav a:first-child{display:none}.private-actions .search-shell{display:flex;min-width:180px}.private-actions .profile-link,.private-actions>.ghost{display:none}}@media(max-width:560px){.private-topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:48px 52px;gap:8px 12px;height:126px;min-height:126px;padding:9px 12px}.private-topbar .topbar-brand-row{min-width:0}.private-search-region{grid-column:1 / -1;grid-row:2}.app-shell{min-height:calc(100vh - 126px)}.private-actions{grid-column:2;grid-row:1;justify-self:end;width:auto}.navbar-search .search-shell{min-height:48px}.search-dropdown{max-height:calc(100vh - 144px)}.search-result-item{grid-template-columns:auto minmax(0,1fr)}.search-countdown-badge{grid-column:2;justify-self:start}.search-relationship{max-width:100px}.public-topbar .public-nav a{padding-inline:10px}}@media(max-width:820px){.public-actions,.private-actions{flex-direction:row;align-items:center;flex-wrap:nowrap}.compact-hero-brand{flex-direction:row;align-items:center}}.about-page{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:clamp(42px,6vw,82px) 0 72px}.about-page>section+section{margin-top:clamp(64px,8vw,104px)}.about-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(34px,6vw,82px);align-items:center;min-height:640px}.about-hero-copy,.about-slider-copy,.about-planning-copy{min-width:0}.about-hero-copy h1{max-width:760px;margin:0;font-size:clamp(3.4rem,7vw,6.6rem);line-height:.93}.about-hero-copy>p{max-width:620px;margin:24px 0 0;color:var(--muted);font-size:clamp(1.02rem,1.5vw,1.18rem)}.about-hero-actions{margin-top:28px}.about-hero-actions>*{min-width:150px;justify-content:center}.about-quick-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.about-quick-points span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.84rem;box-shadow:0 10px 24px #5b35250f}.about-quick-points b{font-size:1rem}.about-hero-visual{position:relative;min-height:620px}.about-hero-visual:before,.about-hero-visual:after{content:"";position:absolute;z-index:-1;border-radius:999px;pointer-events:none}.about-hero-visual:before{top:-34px;right:-18px;width:240px;height:240px;background:radial-gradient(circle,var(--gold-soft),transparent 70%)}.about-hero-visual:after{bottom:-24px;left:-54px;width:280px;height:280px;background:radial-gradient(circle,var(--secondary-soft),transparent 70%)}.about-photo-card{position:absolute;inset:0 0 72px 72px;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:38px;background:var(--surface-strong);box-shadow:var(--shadow)}.about-photo-card:after,.about-planning-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,rgba(35,24,34,.22))}.about-photo-card img,.about-planning-photo img{display:block;width:100%;height:100%;object-fit:cover}.about-app-preview{position:absolute;left:0;bottom:0;width:min(430px,82%);padding:20px;border:1px solid var(--border);border-radius:28px;background:#fffffff0;box-shadow:0 28px 70px #4a302d38;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}:root[data-theme=dark] .about-app-preview{background:#2b2133f0}.about-window-bar{display:flex;gap:6px;margin-bottom:18px}.about-window-bar span{width:8px;height:8px;border-radius:50%;background:var(--border)}.about-window-bar span:first-child{background:var(--accent)}.about-window-bar span:nth-child(2){background:var(--gold)}.about-window-bar span:last-child{background:var(--secondary)}.about-preview-heading,.about-person-row,.about-preview-notes span,.about-preview-toolbar,.about-mini-person,.about-reminder-title,.about-toggle-row,.about-calendar-head,.about-notes-preview article{display:flex;align-items:center;gap:12px}.about-preview-heading{justify-content:space-between}.about-preview-heading div,.about-person-row div,.about-mini-person div,.about-reminder-title div,.about-notes-preview article div{display:grid;min-width:0;gap:2px}.about-preview-heading small,.about-person-row small,.about-mini-person small,.about-reminder-title small,.about-notes-preview small,.about-detail-stack small{color:var(--muted);font-size:.76rem}.about-preview-badge{padding:7px 10px;border-radius:10px;background:var(--gold-soft);color:#8f6120;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.about-person-row{margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface-tint)}.about-person-row .pill{margin-left:auto;white-space:nowrap}.about-person-avatar,.about-mini-person>span:first-child{display:inline-flex;width:46px;height:46px;flex:0 0 46px;align-items:center;justify-content:center;border-radius:15px;background:linear-gradient(145deg,var(--accent-soft),var(--gold-soft));color:var(--accent-strong);font-size:.76rem;font-weight:800}.about-preview-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.about-preview-notes span{padding:10px;border-radius:14px;background:var(--secondary-soft);color:var(--text);font-size:.76rem}.about-workflow{scroll-margin-top:110px;padding:clamp(26px,4vw,46px);border:1px solid var(--border);border-radius:36px;background:radial-gradient(circle at top right,var(--gold-soft),transparent 24%),linear-gradient(145deg,var(--surface-strong),var(--surface-tint));box-shadow:var(--shadow)}.about-workflow:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-strong) 35%,transparent);outline-offset:5px}.about-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.about-section-heading h2{max-width:720px;margin:0;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.02}.about-step-count{color:var(--accent-strong);font-weight:800;letter-spacing:.12em}.about-slider-panel{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(400px,1.18fr);gap:clamp(24px,5vw,62px);align-items:stretch}.about-slider-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(8px,2vw,24px)}.about-slide-icon{display:inline-flex;width:58px;height:58px;align-items:center;justify-content:center;margin-bottom:22px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 14px 34px #5b35251a;font-size:1.65rem}.about-slider-copy h3{max-width:520px;margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04}.about-slider-copy>.muted{max-width:500px;margin:16px 0 0;font-size:1rem}.about-slider-controls{margin-top:30px}.about-slider-visual{display:grid;min-width:0;min-height:420px;place-items:center;padding:clamp(22px,4vw,42px);overflow:hidden;border:1px solid var(--border);border-radius:30px;background:radial-gradient(circle at 18% 18%,var(--accent-soft),transparent 28%),radial-gradient(circle at 82% 84%,var(--secondary-soft),transparent 30%),var(--surface)}.about-list-preview,.about-reminder-preview,.about-calendar-preview,.about-upcoming-preview{width:min(100%,520px);padding:22px;border:1px solid var(--border);border-radius:24px;background:var(--surface-strong);box-shadow:0 22px 50px #5b352521}.about-preview-toolbar{justify-content:space-between;margin-bottom:14px}.about-preview-toolbar span{padding:7px 10px;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-size:.76rem;font-weight:700}.about-mini-person{padding:13px 0;border-top:1px solid var(--border)}.about-mini-person>b:last-child{margin-left:auto;color:var(--muted);font-size:.78rem;white-space:nowrap}.about-mini-person .avatar-teal{background:var(--secondary-soft);color:var(--secondary)}.about-reminder-preview{display:grid;gap:18px}.about-reminder-title>span{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:18px;background:var(--gold-soft);font-size:1.4rem}.about-toggle-row{justify-content:space-between;padding:14px 0;border-block:1px solid var(--border)}.about-toggle{display:inline-flex;width:46px;height:26px;align-items:center;padding:3px;border-radius:999px;background:var(--border)}.about-toggle i{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #2f22352e}.about-toggle.active{justify-content:flex-end;background:var(--secondary)}.about-timing-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.about-timing-options span{padding:10px 8px;border:1px solid var(--border);border-radius:12px;color:var(--muted);text-align:center;font-size:.76rem}.about-timing-options .active{border-color:color-mix(in srgb,var(--accent-strong) 28%,transparent);background:var(--accent-soft);color:var(--accent-strong);font-weight:800}.about-calendar-head{justify-content:space-between;margin-bottom:16px}.about-calendar-head button{width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text)}.about-weekdays,.about-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.about-weekdays{margin-bottom:7px;color:var(--muted);font-size:.65rem;text-align:center}.about-calendar-grid span{display:grid;aspect-ratio:1;place-items:center;border-radius:10px;color:var(--muted);font-size:.73rem}.about-calendar-grid .has-birthday{background:var(--accent-soft);color:var(--accent-strong);font-weight:800}.about-calendar-grid .today{outline:2px solid var(--secondary);outline-offset:-2px}.about-notes-preview{display:grid;width:min(100%,520px);gap:12px}.about-notes-preview article{padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong);box-shadow:0 14px 32px #5b352514}.about-notes-preview article:nth-child(2){transform:translate(20px)}.about-notes-preview article:nth-child(3){transform:translate(8px)}.about-notes-preview article>span{display:inline-flex;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;border-radius:15px;background:var(--gold-soft);font-size:1.25rem}.about-notes-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.about-upcoming-preview>div:first-child{display:grid;gap:4px}.about-upcoming-preview>div:first-child small{color:var(--muted)}.about-upcoming-preview>div:first-child strong{font-size:1.35rem}.about-progress-line{height:9px;margin:22px 0;overflow:hidden;border-radius:999px;background:var(--border)}.about-progress-line span{display:block;width:72%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--secondary),var(--accent))}.about-upcoming-preview ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.about-upcoming-preview li{display:flex;gap:10px;align-items:center;color:var(--muted)}.about-upcoming-preview li span{color:var(--secondary);font-weight:800}.about-guide-heading{align-items:flex-end}.about-guide-heading .muted{margin:12px 0 0}.about-filter-chips{display:flex;max-width:560px;flex-wrap:wrap;justify-content:flex-end;gap:9px}.about-filter-chips .filter-chip{padding:9px 13px}.about-filter-chips .filter-chip:focus-visible,.about-page .slider-arrow:focus-visible,.about-page .slider-dot:focus-visible,.about-page a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-strong) 35%,transparent);outline-offset:3px}.about-doc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.about-doc-card{display:grid;min-width:0;gap:18px;padding:22px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 16px 40px #5b352514}.about-doc-icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(145deg,var(--accent-soft),var(--gold-soft));font-size:1.3rem}.about-doc-card h3{margin:0 0 8px;font-size:1.28rem}.about-doc-card p{margin:0;color:var(--muted);font-size:.91rem}.about-planning-story{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(320px,.92fr);gap:clamp(34px,6vw,74px);align-items:center}.about-planning-photo{position:relative;min-height:540px;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:34px;background:var(--surface);box-shadow:var(--shadow)}.about-planning-photo figcaption{position:absolute;z-index:1;right:20px;bottom:20px;left:20px;padding:14px 16px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:#221823b8;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.86rem}.about-planning-copy h2{margin:0;font-size:clamp(2.3rem,4vw,4rem);line-height:1.02}.about-planning-copy>.muted{margin:20px 0 0;font-size:1rem}.about-detail-stack{display:grid;gap:10px;margin-top:24px}.about-detail-stack>span{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.about-detail-stack>span>b{display:inline-flex;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;border-radius:13px;background:var(--accent-soft)}.about-detail-stack>span>span{display:grid}.about-photo-credit{display:block;margin-top:16px;color:var(--muted);font-size:.72rem}.about-closing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:clamp(28px,5vw,48px);overflow:hidden;background:radial-gradient(circle at 88% 20%,var(--secondary-soft),transparent 28%),linear-gradient(145deg,var(--surface-strong),var(--surface-tint))}.about-closing h2{max-width:760px;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.04}.about-closing .muted{margin:14px 0 0}.about-closing .actions{justify-content:flex-end}@media(max-width:1100px){.about-hero,.about-slider-panel,.about-planning-story{grid-template-columns:1fr}.about-hero{min-height:auto}.about-hero-copy{max-width:760px}.about-hero-visual{width:min(760px,100%);min-height:620px;margin:0 auto}.about-slider-copy{padding:0}.about-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-planning-photo{min-height:500px}}@media(max-width:760px){.about-page{width:min(100% - 28px,1220px);padding-top:40px}.about-page>section+section{margin-top:64px}.about-hero-copy h1{font-size:clamp(3.05rem,14vw,4.6rem)}.about-hero-visual{min-height:520px}.about-photo-card{inset:0 0 96px 24px;border-radius:28px}.about-app-preview{width:min(94%,430px);padding:16px;border-radius:22px}.about-section-heading,.about-guide-heading,.about-closing{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.about-section-heading{display:flex}.about-step-count{align-self:flex-start}.about-workflow{padding:22px;border-radius:28px}.about-slider-visual{min-height:350px;padding:18px}.about-filter-chips{max-width:none;justify-content:flex-start}.about-doc-grid{grid-template-columns:1fr}.about-planning-photo{min-height:430px}.about-closing{display:grid}.about-closing .actions{justify-content:flex-start}}@media(max-width:480px){.about-hero-actions,.about-closing .actions{width:100%}.about-hero-actions>*,.about-closing .actions>*{width:100%;flex:1 1 100%;text-align:center}.about-quick-points{display:grid;grid-template-columns:1fr}.about-hero-visual{min-height:480px}.about-photo-card{inset:0 0 112px 12px}.about-app-preview{right:0;width:96%}.about-person-row{display:grid;grid-template-columns:auto minmax(0,1fr)}.about-person-row .pill{grid-column:2;width:fit-content;margin-left:0}.about-preview-notes{grid-template-columns:1fr}.about-slider-visual{min-height:320px;padding:12px}.about-list-preview,.about-reminder-preview,.about-calendar-preview,.about-upcoming-preview{padding:16px;border-radius:19px}.about-mini-person{display:grid;grid-template-columns:auto minmax(0,1fr)}.about-mini-person>b:last-child{grid-column:2;margin-left:0}.about-notes-preview article:nth-child(2),.about-notes-preview article:nth-child(3){transform:none}.about-timing-options{grid-template-columns:1fr}.about-filter-chips .filter-chip{flex:1 1 calc(50% - 9px)}.about-planning-photo{min-height:360px}}.brand-mark{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 94%,transparent),color-mix(in srgb,var(--surface-tint) 84%,transparent));box-shadow:0 12px 30px color-mix(in srgb,var(--accent-strong) 16%,transparent)}.brand-mark:after{content:"";position:absolute;inset:4px;z-index:-1;border-radius:inherit;border:1px solid color-mix(in srgb,white 32%,transparent);pointer-events:none}.brand-mark svg{overflow:visible}.brand-calendar-cap{fill:var(--accent)}.brand-calendar-tabs,.brand-date-line{fill:none;stroke:#fff8f2;stroke-linecap:round}.brand-calendar-tabs{stroke-width:4}.brand-vault-door{fill:#fff8f2;stroke:color-mix(in srgb,var(--accent-strong) 28%,transparent);stroke-width:1.4}.brand-date-line{stroke:var(--gold);stroke-width:2.6}.brand-date-dot{fill:var(--accent-strong)}.brand-date-dot.secondary{fill:var(--gold)}.brand-vault-dial{transform-box:fill-box;transform-origin:center;transition:transform .35s ease}.brand-vault-dial>circle:first-child{fill:var(--secondary);stroke:#2f2235;stroke-width:2}.brand-vault-dial-center{fill:#fff8f2}.brand-vault-dial path{fill:none;stroke:#fff8f2;stroke-width:2.1;stroke-linecap:round}.brand-lock-keyhole{fill:#2f2235}.brand-spark{fill:var(--gold)}.brand:hover .brand-vault-dial,.footer-brand:hover .brand-vault-dial{transform:rotate(14deg)}.public-topbar{padding:10px clamp(12px,3vw,34px);border-bottom:1px solid color-mix(in srgb,var(--accent-strong) 12%,var(--border));background:color-mix(in srgb,var(--bg) 86%,transparent);box-shadow:0 8px 28px color-mix(in srgb,var(--text) 7%,transparent)}:root[data-theme=dark] .public-topbar{background:color-mix(in srgb,var(--bg) 88%,transparent)}.public-header-shell{width:min(1220px,100%);min-height:64px;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(320px,1fr);align-items:center;gap:clamp(14px,2vw,26px);margin:0 auto;padding:8px 10px 8px 14px;border:1px solid color-mix(in srgb,var(--accent-strong) 14%,var(--border));border-radius:22px;background:linear-gradient(115deg,color-mix(in srgb,var(--surface-strong) 92%,transparent),color-mix(in srgb,var(--surface-tint) 78%,transparent));box-shadow:0 16px 34px color-mix(in srgb,var(--text) 8%,transparent),inset 0 1px color-mix(in srgb,white 72%,transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}:root[data-theme=dark] .public-header-shell{background:linear-gradient(115deg,color-mix(in srgb,var(--surface-strong) 92%,transparent),color-mix(in srgb,var(--surface-tint) 76%,transparent));box-shadow:0 18px 38px #0000003d,inset 0 1px #ffffff14}.public-brand{min-width:0;gap:11px}.public-brand-copy,.footer-brand-copy{min-width:0;display:grid;gap:1px;color:var(--text);line-height:1.08}.public-wordmark,.footer-wordmark{color:var(--text)!important;font-size:1.12rem;font-weight:850;letter-spacing:-.045em}.public-wordmark>span,.footer-wordmark>span{color:var(--accent-strong)!important}.public-brand-copy small,.footer-brand-copy small{color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.025em;white-space:nowrap}.public-topbar .public-nav{display:flex;flex-wrap:nowrap;gap:3px;margin:0;padding:4px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-tint) 84%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 55%,transparent)}.public-topbar .public-nav a{min-height:38px;padding:8px 13px;border:0;border-radius:12px;color:var(--muted);font-size:.86rem;font-weight:750;white-space:nowrap}.public-topbar .public-nav a:hover{transform:none;color:var(--text);background:color-mix(in srgb,var(--surface-strong) 72%,transparent)}.public-topbar .public-nav a.active{color:var(--accent-strong);background:var(--surface-strong);box-shadow:0 7px 16px color-mix(in srgb,var(--text) 9%,transparent)}.public-actions{justify-self:end;justify-content:flex-end;gap:8px;margin:0}.public-actions .compact-theme-toggle{width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent)}.public-login-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 11px;border-radius:13px;color:var(--muted);font-size:.88rem;font-weight:800;transition:color .18s ease,background .18s ease,transform .18s ease}.public-login-link:hover{transform:translateY(-1px);color:var(--text);background:var(--accent-soft)}.public-register-link{min-height:42px;padding:9px 15px;border-radius:14px;white-space:nowrap;box-shadow:0 10px 22px color-mix(in srgb,var(--accent-strong) 22%,transparent)}#features{scroll-margin-top:112px}.landing-cta.card{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:clamp(34px,6vw,76px);min-height:480px;padding:clamp(34px,6vw,70px);overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-strong) 24%,var(--border));border-radius:40px;background:radial-gradient(circle at 14% 14%,color-mix(in srgb,var(--gold) 24%,transparent),transparent 27%),radial-gradient(circle at 86% 86%,color-mix(in srgb,var(--secondary) 24%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--surface-strong) 94%,var(--accent-soft)),color-mix(in srgb,var(--surface-tint) 82%,var(--secondary-soft)));box-shadow:0 34px 88px color-mix(in srgb,var(--accent-strong) 17%,transparent),inset 0 1px color-mix(in srgb,white 70%,transparent)}.landing-cta.card:before{content:"";position:absolute;inset:12px;z-index:-1;border:1px solid color-mix(in srgb,var(--accent-strong) 10%,transparent);border-radius:30px;pointer-events:none}.landing-cta-glow{position:absolute;top:-160px;left:32%;z-index:-1;width:360px;height:360px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);filter:blur(34px);pointer-events:none}.landing-cta-content{position:relative;z-index:2;max-width:650px}.landing-cta h2{max-width:650px;margin:0 0 18px;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.96}.landing-cta-content>p:not(.section-kicker){max-width:590px;margin:0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.16rem)}.landing-cta-actions{position:relative;z-index:3;margin-top:28px}.landing-cta-actions .btn,.landing-cta-actions .ghost{min-height:48px;border-radius:15px}.landing-cta-actions .btn:hover,.landing-footer-actions .btn:hover,.public-register-link:hover{transform:translateY(-2px)}.landing-cta-secondary{background:color-mix(in srgb,var(--surface-strong) 72%,transparent)}.landing-cta-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.landing-cta-benefits span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 68%,transparent);color:var(--muted);font-size:.78rem;font-weight:750}.landing-cta-benefits span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--secondary);box-shadow:0 0 0 4px var(--secondary-soft)}.cta-vault-visual{position:relative;z-index:1;width:min(430px,100%);min-height:390px;display:grid;place-items:center;justify-self:center;pointer-events:none}.cta-vault-body{position:relative;width:min(290px,76vw);aspect-ratio:.9;padding:55px 22px 22px;border:1px solid color-mix(in srgb,var(--accent-strong) 56%,transparent);border-radius:52px 52px 42px 42px;background:linear-gradient(145deg,var(--accent),var(--accent-strong));box-shadow:0 38px 65px color-mix(in srgb,var(--accent-strong) 34%,transparent),inset 0 2px #ffffff52,inset 0 -10px 20px #4614221f;animation:cta-vault-float 6s ease-in-out infinite}.cta-calendar-tabs{position:absolute;top:-15px;left:0;right:0;display:flex;justify-content:space-around;padding-inline:42px}.cta-calendar-tabs span{width:23px;height:42px;border:6px solid #fff8f2;border-bottom:0;border-radius:13px 13px 0 0;box-shadow:0 -5px 16px #2f223524}.cta-vault-header{position:absolute;top:19px;left:29px;right:29px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff8f2}.cta-vault-header span{display:grid;place-items:center;width:38px;height:34px;border-radius:12px;background:#fff8f22e;font-weight:900}.cta-vault-header small{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cta-vault-door{position:relative;width:100%;height:100%;display:grid;place-items:center;border:2px solid rgba(47,34,53,.18);border-radius:32px;background:radial-gradient(circle at 50% 38%,rgba(76,181,174,.14),transparent 34%),#fff8f2;box-shadow:inset 0 0 0 7px color-mix(in srgb,var(--accent) 8%,transparent),inset 0 0 0 9px #2f223514}.cta-vault-dial{position:relative;width:112px;height:112px;display:grid;place-items:center;border:9px solid var(--secondary);border-radius:50%;background:#2f2235;box-shadow:0 13px 26px #2f223538,inset 0 0 0 3px #fff8f2}.cta-vault-dial:before,.cta-vault-dial:after,.cta-vault-dial span,.cta-vault-dial i{content:"";position:absolute;width:4px;height:25px;border-radius:999px;background:#fff8f2}.cta-vault-dial:after{transform:rotate(90deg)}.cta-vault-dial span{transform:rotate(45deg)}.cta-vault-dial i{transform:rotate(-45deg)}.cta-vault-dial b{position:relative;z-index:2;width:26px;height:26px;border:6px solid var(--gold);border-radius:50%;background:#fff8f2}.cta-vault-handle{position:absolute;right:18px;width:10px;height:58px;border-radius:999px;background:var(--gold);box-shadow:inset 0 0 0 2px #2f22351a}.cta-date-card{position:absolute;z-index:3;display:grid;gap:2px;min-width:130px;padding:13px 15px;border:1px solid var(--border);border-radius:17px;background:color-mix(in srgb,var(--surface-strong) 94%,transparent);box-shadow:0 20px 38px color-mix(in srgb,var(--text) 14%,transparent)}.cta-date-card small{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cta-date-card strong{color:var(--text);font-size:.9rem}.cta-date-card-left{left:-3px;bottom:54px;transform:rotate(-5deg)}.cta-date-card-right{top:48px;right:-8px;transform:rotate(5deg)}.cta-orbit-dot{position:absolute;z-index:0;border-radius:50%}.cta-orbit-dot.dot-one{top:30px;left:40px;width:15px;height:15px;background:var(--gold);box-shadow:0 0 0 8px var(--gold-soft)}.cta-orbit-dot.dot-two{right:35px;bottom:40px;width:12px;height:12px;background:var(--secondary);box-shadow:0 0 0 8px var(--secondary-soft)}.cta-orbit-dot.dot-three{top:96px;left:4px;width:8px;height:8px;background:var(--accent-strong)}@keyframes cta-vault-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}.landing-footer{position:relative;display:block;margin-top:28px;padding:clamp(32px,5vw,58px) clamp(24px,5vw,58px) 22px;overflow:hidden;border:1px solid rgba(255,248,242,.1);border-radius:40px 40px 24px 24px;background:radial-gradient(circle at 8% 12%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 28%),radial-gradient(circle at 90% 24%,rgba(76,181,174,.18),transparent 26%),linear-gradient(145deg,#2f2235,#251a2b 72%);color:#fff8f2;box-shadow:0 34px 80px #2f223533}.landing-footer:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--accent),var(--gold),var(--secondary))}.landing-footer-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.9fr) minmax(150px,.55fr);gap:clamp(28px,5vw,64px);align-items:start}.landing-footer-intro,.landing-footer-cta,.landing-footer-nav{position:relative;z-index:1}.footer-brand{width:fit-content;gap:13px}.footer-brand .brand-mark{width:52px;height:52px;border-color:#ffffff1f;background:#ffffff14;box-shadow:none}.footer-wordmark{color:#fff8f2!important;font-size:1.28rem}.footer-brand-copy small,.landing-footer-intro p,.landing-footer-bottom,.landing-footer-nav a,.footer-text-link{color:#fff8f2ad}.landing-footer-intro p{max-width:390px;margin:20px 0 0;font-size:.96rem}.landing-footer-cta{display:grid;gap:8px;padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:#ffffff0e;box-shadow:inset 0 1px #ffffff0f}.landing-footer-cta .section-kicker{margin:0;color:#f6c77d}.landing-footer-cta strong{font-family:Fraunces,Georgia,serif;font-size:1.25rem;line-height:1.15}.landing-footer-actions{display:flex;align-items:center;gap:16px;margin-top:12px}.landing-footer-actions .btn{min-height:43px;padding:9px 14px;border-radius:14px;white-space:nowrap}.footer-text-link{font-weight:800;transition:color .18s ease}.footer-text-link:hover,.landing-footer-nav a:hover{color:#fff8f2}.landing-footer-nav{display:grid;gap:8px}.landing-footer-nav>span{margin-bottom:4px;color:#f6c77d;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.landing-footer-nav a{width:fit-content;padding-block:2px;font-size:.9rem;font-weight:700}.landing-footer-rail{position:relative;z-index:1;margin:38px clamp(-58px,-5vw,-24px) 0;overflow:hidden;border-block:1px solid rgba(255,255,255,.08);background:#ffffff0a}.landing-footer-track{width:max-content;display:flex;gap:24px;padding:15px 0;animation:footer-feature-ticker 38s linear infinite;will-change:transform}.landing-footer-rail:hover .landing-footer-track{animation-play-state:paused}.landing-footer-feature-list{display:flex;align-items:center;gap:24px;flex-shrink:0;padding-left:24px}.landing-footer-feature-list span{display:inline-flex;align-items:center;gap:10px;color:#fff8f2c7;font-size:.82rem;font-weight:750;white-space:nowrap}.landing-footer-feature-list i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #f4b8601f}.landing-footer-feature-list span:nth-child(3n+2) i{background:var(--secondary);box-shadow:0 0 0 5px #4cb5ae1f}.landing-footer-feature-list span:nth-child(3n) i{background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}@keyframes footer-feature-ticker{to{transform:translate(calc(-50% - 12px))}}.landing-footer-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;font-size:.78rem}@media(max-width:1080px){.public-header-shell{grid-template-columns:auto 1fr auto}.public-brand-copy small{display:none}.landing-footer-main{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}.landing-footer-nav{grid-column:1 / -1;grid-template-columns:repeat(6,auto);align-items:center;justify-content:start}.landing-footer-nav>span{margin:0 10px 0 0}}@media(max-width:900px){.public-topbar{padding:9px 12px}.public-header-shell{min-height:60px;gap:10px;padding:7px 8px 7px 10px;border-radius:19px}.public-topbar .public-nav a{padding-inline:10px}.public-login-link{display:none}.landing-cta.card{grid-template-columns:1fr;min-height:0}.cta-vault-visual{min-height:360px}}@media(max-width:820px){.public-topbar{display:block;padding:9px 12px}.public-header-shell{display:grid}.public-topbar .public-nav{display:flex;margin:0}.public-topbar .public-nav a:first-child{display:none}.public-actions{width:auto;margin-left:0;flex-direction:row;align-items:center;flex-wrap:nowrap}.landing-cta,.landing-footer{align-items:initial;grid-template-columns:initial;flex-direction:initial}.landing-footer{display:block;text-align:left}.landing-footer-main{grid-template-columns:1fr 1fr}.landing-footer-nav{grid-column:1 / -1}}@media(max-width:660px){.public-topbar .public-nav{display:none}.public-header-shell{grid-template-columns:minmax(0,1fr) auto}.public-actions{grid-column:2}.landing-cta.card{padding:32px 24px;border-radius:30px}.landing-cta.card:before{inset:8px;border-radius:23px}.landing-cta h2{font-size:clamp(2.35rem,12vw,3.5rem)}.landing-cta-actions,.landing-cta-benefits{display:grid;grid-template-columns:1fr}.landing-cta-actions>*{width:100%}.cta-vault-visual{min-height:330px}.cta-vault-body{width:min(250px,74vw)}.cta-date-card{min-width:112px;padding:10px 12px}.cta-date-card-left{left:0}.cta-date-card-right{right:0}.landing-footer{padding:34px 22px 20px;border-radius:30px 30px 20px 20px}.landing-footer-main{grid-template-columns:1fr}.landing-footer-nav{grid-column:auto;grid-template-columns:1fr 1fr;gap:10px 18px}.landing-footer-nav>span{grid-column:1 / -1}.landing-footer-rail{margin-inline:-22px}.landing-footer-bottom{align-items:flex-start;flex-direction:column;gap:6px}}@media(max-width:520px){.public-actions .compact-theme-toggle{display:none}.public-register-link{min-height:40px;padding-inline:12px;font-size:.8rem}.public-wordmark{font-size:1rem}.public-brand .brand-mark.compact{width:38px;height:38px}.cta-vault-visual{min-height:305px;margin-inline:-8px}.cta-vault-body{width:min(220px,68vw);padding:49px 17px 17px;border-radius:42px 42px 34px 34px}.cta-vault-dial{width:92px;height:92px}.cta-date-card-right{top:36px}.cta-date-card-left{bottom:42px}}@media(max-width:390px){.public-header-shell{padding-left:8px}.public-brand{gap:7px}.public-register-link{padding-inline:10px}.landing-cta.card{padding-inline:20px}.cta-date-card{min-width:102px;font-size:.76rem}}@media(prefers-reduced-motion:reduce){.landing-footer-track{width:100%;animation:none}.landing-footer-feature-list{width:100%;flex-wrap:wrap;padding:14px 20px}.landing-footer-feature-list[aria-hidden=true]{display:none}.cta-vault-body{animation:none}}app-root{min-height:100vh;display:flex;flex-direction:column}app-navbar,app-footer{display:block;flex:0 0 auto}app-navbar{position:sticky;top:0;z-index:60}.public-page-content,.app-shell{flex:1 0 auto}.brand-mark,.brand-mark.compact{overflow:visible;border:0;background:transparent;box-shadow:none}.brand-mark:after{display:none}.brand-mark svg{width:100%;height:100%;filter:drop-shadow(0 9px 14px color-mix(in srgb,var(--accent-strong) 22%,transparent))}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 14px color-mix(in srgb,var(--accent-strong) 22%,transparent));-webkit-user-select:none;user-select:none}.brand-vault-shell{fill:var(--accent-strong)}.brand-calendar-cap{fill:var(--gold)}.brand-calendar-tabs{fill:none;stroke:#fff8f2;stroke-width:4;stroke-linecap:round}.brand-vault-door{fill:#fff8f2;stroke:color-mix(in srgb,var(--accent-strong) 72%,#2f2235);stroke-width:1.4}.brand-door-shine{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round}.brand-vault-dial{transform-box:fill-box;transform-origin:center;transition:transform .3s ease}.brand-dial-ring{fill:var(--secondary);stroke:#2f2235;stroke-width:2.2}.brand-dial-spokes{fill:none;stroke:#fff8f2;stroke-width:2.4;stroke-linecap:round}.brand-dial-center,.brand-celebration-spark{fill:#fff8f2}.brand:hover .brand-vault-dial,.footer-brand:hover .brand-vault-dial{transform:rotate(18deg)}.public-topbar{position:sticky;display:block;min-height:94px;padding:0;border-bottom:1px solid color-mix(in srgb,var(--accent-strong) 18%,var(--border));background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 26%),radial-gradient(circle at 86% 0%,color-mix(in srgb,var(--secondary) 11%,transparent),transparent 25%),color-mix(in srgb,var(--surface-strong) 91%,transparent);box-shadow:0 12px 36px color-mix(in srgb,var(--text) 8%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.public-topbar:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--accent),var(--gold),var(--secondary))}:root[data-theme=dark] .public-topbar{background:radial-gradient(circle at 12% 0%,rgba(244,184,96,.11),transparent 26%),radial-gradient(circle at 86% 0%,rgba(76,181,174,.1),transparent 25%),color-mix(in srgb,var(--surface-strong) 94%,transparent);box-shadow:0 14px 38px #00000047}.public-header-shell,:root[data-theme=dark] .public-header-shell{width:min(1440px,calc(100% - clamp(36px,7vw,112px)));min-height:94px;display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(360px,1fr);align-items:center;gap:clamp(24px,4vw,64px);margin:0 auto;padding:16px 0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.public-brand{gap:14px}.public-brand .brand-mark{width:58px;height:58px;flex:0 0 58px}.public-brand-copy{gap:3px}.public-wordmark{font-size:1.42rem;letter-spacing:-.05em}.public-brand-copy small{font-size:.76rem;letter-spacing:.045em}.public-topbar .public-nav{display:flex;flex-wrap:nowrap;gap:7px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.public-topbar .public-nav a{position:relative;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:15px;color:var(--muted);font-size:.96rem;font-weight:800}.public-topbar .public-nav a:hover{transform:translateY(-1px);color:var(--text);border-color:var(--border);background:color-mix(in srgb,var(--surface-tint) 82%,transparent)}.public-topbar .public-nav a.active{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent-strong) 24%,var(--border));background:var(--accent-soft);box-shadow:inset 0 -3px color-mix(in srgb,var(--accent-strong) 58%,transparent)}.public-actions{justify-self:end;gap:10px}.public-actions .compact-theme-toggle{width:48px;height:48px;border-radius:16px;background:color-mix(in srgb,var(--surface-tint) 86%,transparent)}.public-login-link{min-height:48px;padding:10px 15px;border-radius:15px;font-size:.94rem}.public-register-link{min-height:50px;padding:11px 20px;border-radius:16px;font-size:.92rem;box-shadow:0 13px 28px color-mix(in srgb,var(--accent-strong) 24%,transparent)}.site-footer{position:relative;isolation:isolate;width:100%;margin-top:clamp(56px,7vw,100px);overflow:hidden;border-top:1px solid rgba(255,248,242,.12);background:radial-gradient(circle at 7% 12%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 27%),radial-gradient(circle at 90% 18%,rgba(76,181,174,.2),transparent 25%),linear-gradient(145deg,#2f2235,#211725 76%);color:#fff8f2;box-shadow:0 -24px 70px #2f223524}.site-footer:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--accent),var(--gold),var(--secondary))}.site-footer-private{margin-top:0}.site-footer-shell{width:min(1440px,calc(100% - clamp(36px,7vw,112px)));margin:0 auto}.site-footer .landing-footer-main{grid-template-columns:minmax(0,1.25fr) minmax(290px,.85fr) minmax(180px,.5fr);gap:clamp(36px,6vw,88px);padding:clamp(54px,7vw,82px) 0 48px}.site-footer .footer-brand{gap:16px}.site-footer .footer-brand .brand-mark{width:66px;height:66px;flex:0 0 66px;border:0;background:transparent}.site-footer .footer-wordmark{font-size:1.55rem}.site-footer .footer-brand-copy small{font-size:.76rem;letter-spacing:.055em}.site-footer .landing-footer-intro p{max-width:460px;margin-top:24px;font-size:1rem;line-height:1.75}.site-footer .landing-footer-cta{gap:10px;padding:26px;border-radius:26px;background:#fff1}.site-footer .landing-footer-cta strong{font-size:1.45rem}.site-footer .landing-footer-actions{margin-top:15px}.site-footer .landing-footer-actions .btn{min-height:48px;padding:11px 17px;border-radius:15px}.site-footer .landing-footer-nav{gap:10px}.site-footer .landing-footer-nav>span{margin-bottom:7px;font-size:.76rem}.site-footer .landing-footer-nav a{padding-block:3px;font-size:.96rem}.site-footer .landing-footer-rail{margin:0;border-block:1px solid rgba(255,255,255,.1);background:#ffffff0b}.site-footer .landing-footer-track{padding:17px 0}.site-footer .landing-footer-feature-list span{font-size:.88rem}.site-footer .landing-footer-bottom{padding:24px 0 30px;font-size:.82rem}@media(max-width:1120px){.public-header-shell,:root[data-theme=dark] .public-header-shell{grid-template-columns:minmax(220px,1fr) auto minmax(270px,1fr);gap:20px}.public-brand-copy small{display:none}.site-footer .landing-footer-main{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.site-footer .landing-footer-nav{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px}.site-footer .landing-footer-nav>span{margin:0 8px 0 0}}@media(max-width:860px){.public-topbar{min-height:82px}.public-header-shell,:root[data-theme=dark] .public-header-shell{width:min(100% - 28px,1440px);min-height:82px;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:12px 0}.public-topbar .public-nav{display:none}.public-actions{grid-column:2}.public-brand .brand-mark{width:52px;height:52px;flex-basis:52px}.site-footer-shell{width:min(100% - 40px,1440px)}.site-footer .landing-footer-main{grid-template-columns:1fr 1fr;gap:34px}.site-footer .landing-footer-nav{grid-column:1 / -1}}@media(max-width:620px){.public-header-shell,:root[data-theme=dark] .public-header-shell{width:min(100% - 24px,1440px)}.public-brand{gap:9px}.public-brand .brand-mark{width:46px;height:46px;flex-basis:46px}.public-wordmark{font-size:1.14rem}.public-actions .compact-theme-toggle,.public-login-link{display:none}.public-register-link{min-height:44px;padding:9px 14px;font-size:.82rem}.site-footer{margin-top:56px}.site-footer-private{margin-top:0}.site-footer-shell{width:min(100% - 32px,1440px)}.site-footer .landing-footer-main{grid-template-columns:1fr;padding:46px 0 38px}.site-footer .landing-footer-nav{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:11px 20px}.site-footer .landing-footer-nav>span{grid-column:1 / -1;margin:0 0 4px}.site-footer .landing-footer-bottom{align-items:flex-start;flex-direction:column;gap:6px}}@media(max-width:390px){.public-header-shell,:root[data-theme=dark] .public-header-shell{width:min(100% - 20px,1440px)}.public-brand .brand-mark{width:42px;height:42px;flex-basis:42px}.public-wordmark{font-size:1.05rem}.public-register-link{padding-inline:11px;font-size:.77rem}}.reset-link-state{margin-bottom:18px;line-height:1.6}.reset-primary-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}:root[data-theme=dark] .dashboard-action-icon--calendar,:root[data-theme=dark] .dashboard-next-spark{color:var(--gold)}:root[data-theme=dark] .dashboard-action-card,:root[data-theme=dark] .dashboard-stat-card,:root[data-theme=dark] .dashboard-chart-card,:root[data-theme=dark] .dashboard-upcoming-card,:root[data-theme=dark] .dashboard-next-card{box-shadow:0 22px 52px #00000040}@media(max-width:1180px){.dashboard-welcome{grid-template-columns:minmax(0,1.2fr) minmax(285px,.8fr)}.dashboard-quick-actions{grid-template-columns:1fr}.dashboard-action-card{min-height:82px}.dashboard-insights-grid,.dashboard-loading-panels{grid-template-columns:1fr}.dashboard-insight-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.dashboard-next-card{position:static}}@media(max-width:820px){.dashboard-welcome{grid-template-columns:1fr;padding:24px}.dashboard-hero-next{min-height:220px}.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-insight-stack{grid-template-columns:1fr}.dashboard-month-chart-card{min-height:410px}.dashboard-month-track{height:185px}.dashboard-person-row{grid-template-columns:10px 52px minmax(0,1fr)!important}.dashboard-row-meta{grid-column:3!important;justify-items:start;margin-left:0;text-align:left}.dashboard-row-meta span{display:none}.dashboard-error-panel{align-items:flex-start;flex-wrap:wrap}.dashboard-error-panel button{margin-left:56px}}@media(max-width:620px){.dashboard-welcome{border-radius:25px}.dashboard-welcome h1{font-size:clamp(2.35rem,12vw,3.45rem)}.dashboard-stat-grid{grid-template-columns:1fr}.dashboard-stat-card{min-height:154px}.dashboard-section-head{display:grid}.dashboard-section-head .ghost,.dashboard-section-head .dashboard-chart-total{width:fit-content}.dashboard-coverage-content{grid-template-columns:1fr;justify-items:center;text-align:center}.dashboard-month-chart{gap:4px;min-height:255px;padding-top:18px}.dashboard-month-track{width:100%;height:160px;border-radius:9px 9px 5px 5px}.dashboard-month-bar{border-radius:8px 8px 4px 4px}.dashboard-month-value,.dashboard-month-label{font-size:.64rem}.dashboard-person-row{grid-template-columns:8px 44px minmax(0,1fr)!important;gap:10px;padding:12px 10px 12px 8px}.dashboard-avatar{width:44px;height:44px;border-radius:14px}.dashboard-person-title{align-items:flex-start;flex-direction:column;gap:3px}.dashboard-person-copy>span{white-space:normal}.dashboard-next-details{grid-template-columns:1fr}.dashboard-next-reminder-detail{grid-column:auto}}@media(max-width:390px){.dashboard-welcome,.dashboard-chart-card,.dashboard-upcoming-card,.dashboard-next-card{padding:18px}.dashboard-action-card{grid-template-columns:46px minmax(0,1fr);min-height:88px;padding-right:15px}.dashboard-action-arrow{display:none}.dashboard-filters .filter-chip{flex:1 1 100%}.dashboard-month-label{font-size:.58rem}.dashboard-person-tags{display:grid;justify-items:start}}.birthday-directory-page,.reminders-page,.calendar-page{width:min(100%,1540px);margin-inline:auto}.birthday-directory-hero,.reminders-hero,.calendar-page-hero{border-radius:34px;background:radial-gradient(circle at 86% 14%,rgba(76,181,174,.2),transparent 26%),radial-gradient(circle at 14% 92%,rgba(244,184,96,.2),transparent 27%),linear-gradient(135deg,#fffffffa,#fff4edf0)}.birthday-directory-hero .hero-copy,.reminders-hero .hero-copy,.calendar-page-hero .hero-copy{max-width:760px}.birthday-directory-hero .hero-copy h1,.reminders-hero .hero-copy h1,.calendar-page-hero .hero-copy h1{max-width:13ch;font-size:clamp(2.6rem,4.5vw,4.45rem);line-height:.96}.birthday-hero-actions,.reminder-hero-actions,.calendar-hero-actions{margin-top:24px}.birthday-summary-grid,.reminder-summary-grid,.calendar-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch}.birthday-summary-card,.reminder-summary-card,.calendar-summary-card{min-height:132px;display:grid;align-content:space-between;gap:4px;border-radius:24px;background:#ffffffb3;box-shadow:0 16px 34px #5b352514}.birthday-summary-card small,.reminder-summary-card small,.calendar-summary-card small{color:var(--muted);font-size:.78rem}.birthday-summary-date{font-size:1.3rem!important;line-height:1.15}.birthday-directory-surface,.reminder-workspace-surface{padding:clamp(22px,3vw,34px);border-radius:32px;background:radial-gradient(circle at top right,rgba(76,181,174,.08),transparent 22%),var(--surface)}.birthday-directory-head,.reminder-workspace-head{padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:26px}.birthday-directory-head h2,.reminder-workspace-head h2{font-size:clamp(1.8rem,3vw,2.45rem)}.directory-count,.selection-count{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border-radius:999px;border:1px solid rgba(76,181,174,.2);background:var(--secondary-soft);color:#236f69;font-weight:800;white-space:nowrap}.birthday-directory-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:22px}.birthday-directory-card{position:relative;gap:20px;min-width:0;padding:22px;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 100% 0%,rgba(244,184,96,.12),transparent 28%),linear-gradient(180deg,#fffffff5,#fff9f5f0);box-shadow:0 20px 46px #5b35251a;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.birthday-directory-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--secondary),rgba(76,181,174,.08))}.birthday-directory-card:hover{transform:translateY(-3px);border-color:#4cb5ae47;box-shadow:0 28px 56px #5b352524}.birthday-directory-card.is-soon:before{background:linear-gradient(180deg,var(--gold),rgba(244,184,96,.12))}.birthday-directory-card.is-tomorrow:before,.birthday-directory-card.is-today:before{background:linear-gradient(180deg,var(--accent-strong),var(--gold))}.birthday-directory-card.is-today{border-color:color-mix(in srgb,var(--accent-strong) 28%,transparent);box-shadow:0 24px 52px color-mix(in srgb,var(--accent-strong) 16%,transparent)}.birthday-card-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.birthday-occasion-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;border:1px solid rgba(76,181,174,.2);background:var(--secondary-soft);color:#236f69;font-size:.8rem;font-weight:800}.birthday-occasion-chip.is-urgent{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent-strong) 20%,transparent);color:var(--accent-strong)}.birthday-card-identity{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px}.birthday-avatar-frame{position:relative;width:92px;height:92px;flex-shrink:0}.birthday-directory-avatar{width:92px;height:92px;border-radius:28px;border:3px solid rgba(255,255,255,.84);box-shadow:0 16px 34px #5b352529}.birthday-avatar-accent{position:absolute;right:-4px;bottom:-3px;display:grid;width:30px;height:30px;place-items:center;border:3px solid var(--surface-strong);border-radius:999px;background:linear-gradient(135deg,var(--gold),#ffda8a);color:#7d4e0a;font-size:.72rem;box-shadow:0 8px 18px #5b35252e}.birthday-card-heading{min-width:0}.birthday-card-heading h3{margin:2px 0 6px;font-size:clamp(1.55rem,2.6vw,2.1rem);line-height:1.05;overflow-wrap:anywhere}.birthday-card-date,.reminder-kicker{margin:0;color:var(--accent-strong);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.birthday-relationship{overflow-wrap:anywhere}.birthday-fact-grid,.reminder-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.birthday-fact,.reminder-fact{min-width:0;display:grid;gap:5px;padding:13px;border:1px solid var(--border);border-radius:18px;background:#ffffff94}.birthday-fact span,.reminder-fact span,.reminder-control-label,.birthday-note-label,.reminder-planning-note>span{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.birthday-fact strong,.reminder-fact strong{font-size:.94rem;line-height:1.25;overflow-wrap:anywhere}.reminder-fact small{color:var(--muted);font-size:.75rem}.birthday-planning-note,.reminder-planning-note{display:grid;gap:7px;padding:15px 16px;border-radius:18px;background:#f4b8601a;border:1px solid rgba(244,184,96,.16)}.birthday-planning-note p,.reminder-planning-note p{display:-webkit-box;margin:0;overflow:hidden;color:var(--text);font-size:.9rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.birthday-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--border)}.birthday-card-footer-copy{min-width:0;display:grid;gap:3px}.birthday-card-footer-copy strong{font-size:.92rem}.birthday-card-footer-copy span{color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}.birthday-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.birthday-card-actions .btn,.birthday-card-actions .ghost{min-height:40px;padding:9px 13px}.birthday-state-panel{display:grid;justify-items:center;gap:12px;min-height:280px;align-content:center;background:radial-gradient(circle at center top,rgba(76,181,174,.12),transparent 36%),var(--surface)}.state-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--accent-soft),var(--gold-soft));color:var(--accent-strong);font-size:1.35rem;font-weight:900}.birthday-card-skeleton,.reminder-card-skeleton{pointer-events:none}.skeleton-profile{display:flex;align-items:center;gap:16px}.skeleton-avatar{width:76px;height:76px;flex:0 0 76px;border-radius:24px;background:linear-gradient(90deg,var(--bg-soft),rgba(255,255,255,.68),var(--bg-soft));background-size:220% 100%;animation:dayvault-skeleton 1.4s ease-in-out infinite}.skeleton-copy{width:100%;display:grid;gap:10px}.skeleton-line,.skeleton-block,.calendar-loading-cell{border-radius:12px;background:linear-gradient(90deg,var(--bg-soft),rgba(255,255,255,.68),var(--bg-soft));background-size:220% 100%;animation:dayvault-skeleton 1.4s ease-in-out infinite}.skeleton-line{width:100%;height:14px}.skeleton-line-short{width:34%}.skeleton-line-title{width:68%;height:22px}.skeleton-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.skeleton-block{min-height:70px}@keyframes dayvault-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.reminder-filter-bar{padding:8px;margin-bottom:20px;border:1px solid var(--border);border-radius:22px;background:#ffffff7a}.reminder-filters{margin:0;gap:8px}.reminder-filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px 8px 14px}.reminder-filter-chip strong{display:inline-grid;min-width:25px;min-height:25px;place-items:center;padding-inline:6px;border-radius:999px;background:#76667a1a;color:var(--muted);font-size:.75rem}.reminder-filter-chip.active strong{background:#ffffffb8;color:var(--accent-strong)}.reminder-bulk-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:16px;padding:16px;margin-bottom:22px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#4cb5ae14,#f4b86014)}.reminder-bulk-copy{display:grid;gap:2px}.reminder-bulk-copy span{color:var(--muted);font-size:.8rem}.reminder-bulk-selection,.reminder-bulk-actions{justify-content:flex-end}.reminder-subsection-head{margin-bottom:2px}.reminder-subsection-head h2{font-size:clamp(1.45rem,2.6vw,2rem)}.reminder-setup-section{padding:20px;border:1px solid rgba(244,184,96,.22);border-radius:26px;background:#f4b86012}.reminder-setup-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}.reminder-spotlight-card{display:grid;gap:16px;padding:18px;min-width:0;box-shadow:0 14px 32px #5b352514}.reminder-avatar{width:68px;height:68px;border-radius:22px}.reminder-spotlight-date{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:17px;background:var(--surface-tint);border:1px solid var(--border)}.reminder-spotlight-date span{color:var(--muted);font-size:.78rem}.reminder-spotlight-date strong{font-size:1.15rem}.reminder-setup-actions .btn,.reminder-setup-actions .ghost{flex:1 1 120px;text-align:center}.reminder-list-section{margin-bottom:0}.reminder-grid-polished{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:20px}.reminder-polished-card{position:relative;min-width:0;gap:20px;padding:22px;border-radius:28px;overflow:hidden;background:radial-gradient(circle at top right,rgba(76,181,174,.1),transparent 26%),linear-gradient(180deg,#fffffff5,#fff9f5f0);box-shadow:0 20px 46px #5b35251a}.reminder-polished-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--success)}.reminder-polished-card.is-disabled:before{background:var(--muted)}.reminder-polished-card.is-today:before,.reminder-polished-card.is-tomorrow:before{background:linear-gradient(180deg,var(--accent-strong),var(--gold))}.reminder-polished-card.is-disabled{opacity:1;background:radial-gradient(circle at top right,rgba(118,102,122,.08),transparent 26%),linear-gradient(180deg,#ffffffe6,#f9f6f7eb)}.reminder-person-main{flex:1 1 280px;align-items:center}.reminder-select-toggle{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:12px;cursor:pointer}.reminder-select-toggle:focus-within{outline:3px solid color-mix(in srgb,var(--accent-strong) 34%,transparent);outline-offset:2px}.reminder-select-toggle span{width:21px;height:21px;border-radius:7px}.reminder-title h3{max-width:24ch;font-size:clamp(1.45rem,2.5vw,1.95rem);line-height:1.05;overflow-wrap:anywhere}.reminder-status{max-width:190px;white-space:normal;text-align:center;justify-content:center}.reminder-control-panel{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(0,1.1fr);gap:14px;align-items:stretch;padding:15px;border:1px solid var(--border);border-radius:22px;background:#ffffff6b}.reminder-control-panel .reminder-toggle{height:100%;min-height:88px}.reminder-timing-group{display:grid;align-content:center;gap:10px;min-width:0}.reminder-timing-group .timing-chips{gap:7px}.reminder-timing-group .timing-chip{min-height:38px;padding:8px 11px}.reminder-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--border)}.reminder-save-state{color:var(--muted);font-size:.76rem}.reminder-save-state.is-saving{color:var(--accent-strong);font-weight:700}.reminder-card-footer .btn,.reminder-card-footer .ghost{min-height:40px;padding:9px 13px}.birthday-calendar-layout{grid-template-columns:minmax(0,1fr)}.birthday-calendar-shell{padding:clamp(18px,2.5vw,30px);border-radius:32px;overflow:visible;background:radial-gradient(circle at top left,rgba(255,223,188,.32),transparent 24%),linear-gradient(180deg,#fffffff7,#fff8f3f2)}.calendar-main-toolbar{align-items:center;padding-bottom:20px;border-bottom:1px solid var(--border)}.calendar-heading h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1}.calendar-navigation{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.calendar-nav-button,.calendar-today-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:15px;background:var(--surface-strong);color:var(--text);cursor:pointer;font-weight:750;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.calendar-today-button{border-color:color-mix(in srgb,var(--accent-strong) 18%,transparent);background:var(--accent-soft);color:var(--accent-strong)}.calendar-nav-button:hover,.calendar-today-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent-strong) 26%,transparent);box-shadow:0 12px 24px #5b35251a}.calendar-subtoolbar{margin:0 0 18px;align-items:center}.calendar-subtoolbar .calendar-legend,.calendar-subtoolbar .filters-row{margin-bottom:0}.calendar-view-switch{justify-content:flex-end}.calendar-desktop-month{overflow-x:auto;padding:2px 2px 12px;scrollbar-width:thin}.calendar-desktop-month .weekday-row,.calendar-desktop-month .birthday-calendar-grid{min-width:980px}.calendar-desktop-month .weekday-row{gap:10px;padding:0 8px}.calendar-desktop-month .birthday-calendar-grid{gap:10px}.birthday-calendar-cell{min-height:190px;padding:13px;border-radius:21px;box-shadow:0 12px 28px #5b35250f}.calendar-cell.is-outside-month .calendar-cell-bottom{opacity:.7}.calendar-person-chip{min-height:42px;padding:6px 8px;justify-content:flex-start}.calendar-event-avatar{width:26px;height:26px;flex:0 0 26px;border-radius:9px;object-fit:cover;border:1px solid rgba(255,255,255,.7)}.calendar-event-initials{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent-soft),var(--secondary-soft));color:var(--accent-strong);font-size:.57rem;font-weight:900}.calendar-chip-copy{display:grid;min-width:0;flex:1;gap:1px}.calendar-chip-copy small{color:color-mix(in srgb,currentColor 72%,transparent);font-size:.64rem;font-weight:650}.calendar-chip-name{max-width:100%}.calendar-cell-caption{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-mobile-month{display:none}.calendar-detail-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:22px}.calendar-selected-panel,.calendar-composer-panel{min-width:0;border-radius:30px;background:radial-gradient(circle at top right,rgba(76,181,174,.1),transparent 28%),var(--surface)}.calendar-selected-date{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--border)}.calendar-selected-date h2{margin:0 0 8px;font-size:clamp(1.7rem,3vw,2.35rem)}.calendar-selected-count{display:grid;width:50px;height:50px;flex:0 0 50px;place-items:center;border-radius:17px;background:var(--gold-soft);color:#8f6120;font-size:1.15rem;font-weight:900}.calendar-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.calendar-selected-list{gap:12px}.calendar-selected-card{gap:14px;padding:16px;box-shadow:0 12px 26px #5b352512}.calendar-selected-card .reminder-person{align-items:center}.calendar-selected-person-copy,.calendar-modal-person-copy,.agenda-person-copy{min-width:0;flex:1}.calendar-selected-person-copy h3,.calendar-modal-person-copy h3{margin:0 0 4px;overflow-wrap:anywhere}.calendar-selected-card .status-badge{padding:6px 9px;font-size:.72rem}.calendar-selected-meta{display:flex;gap:8px;flex-wrap:wrap}.calendar-selected-meta span{padding:6px 9px;border-radius:10px;background:var(--surface-tint);color:var(--muted);font-size:.74rem;font-weight:700}.calendar-detail-link{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--border);color:var(--accent-strong);font-size:.86rem;font-weight:800}.calendar-view-all{width:100%;margin-top:12px}.calendar-selected-empty{min-height:180px;display:grid;align-content:center}.calendar-quick-form{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-quick-form .reminder-toggle,.calendar-quick-form .full{grid-column:1 / -1}.calendar-agenda-list{gap:18px}.calendar-agenda-card{display:grid;gap:18px;padding:20px;box-shadow:0 16px 34px #5b352514}.calendar-agenda-card .agenda-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.agenda-date-block{display:grid;width:60px;min-height:68px;place-items:center;align-content:center;border-radius:18px;background:linear-gradient(135deg,var(--accent-soft),var(--gold-soft))}.agenda-date-block span{color:var(--accent-strong);font-size:.68rem;font-weight:850;text-transform:uppercase}.agenda-date-block strong{font-size:1.5rem;line-height:1}.agenda-heading-copy h3{margin:0 0 4px;font-size:1.35rem}.calendar-agenda-people{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.calendar-agenda-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-width:0;padding:13px;border:1px solid var(--border);border-radius:18px;background:#ffffff7a;transition:transform .18s ease,border-color .18s ease}.calendar-agenda-person:hover{transform:translateY(-1px);border-color:#4cb5ae47}.agenda-person-copy{display:grid;gap:2px}.agenda-person-copy strong{overflow-wrap:anywhere}.agenda-person-copy span{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.agenda-person-meta{display:grid;justify-items:end;gap:6px;color:var(--muted);font-size:.74rem}.calendar-modal-head{padding-bottom:18px;border-bottom:1px solid var(--border)}.calendar-day-modal{width:min(880px,100%)}.calendar-modal-list{gap:14px}.calendar-modal-card{padding:18px;box-shadow:0 12px 28px #5b352514}.calendar-modal-avatar{width:72px;height:72px;border-radius:23px}.calendar-modal-meta{gap:8px}.calendar-modal-meta span{padding:7px 10px;border-radius:12px;background:var(--surface-tint);font-size:.76rem}.calendar-modal-actions,.calendar-modal-footer{margin-top:4px}.calendar-modal-footer{padding-top:18px;border-top:1px solid var(--border)}.calendar-loading-panel{padding:clamp(20px,3vw,32px);border-radius:32px}.calendar-loading-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.calendar-loading-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-loading-cell{min-height:150px;border-radius:20px}:root[data-theme=dark] .birthday-directory-hero,:root[data-theme=dark] .reminders-hero,:root[data-theme=dark] .calendar-page-hero{background:radial-gradient(circle at 86% 14%,rgba(76,181,174,.14),transparent 26%),radial-gradient(circle at 14% 92%,rgba(244,184,96,.12),transparent 27%),linear-gradient(135deg,#31253bfa,#1b1522f5)}:root[data-theme=dark] .birthday-summary-card,:root[data-theme=dark] .reminder-summary-card,:root[data-theme=dark] .calendar-summary-card,:root[data-theme=dark] .birthday-fact,:root[data-theme=dark] .reminder-fact,:root[data-theme=dark] .reminder-filter-bar,:root[data-theme=dark] .reminder-control-panel,:root[data-theme=dark] .calendar-agenda-person{background:#ffffff0b}:root[data-theme=dark] .birthday-directory-card,:root[data-theme=dark] .reminder-polished-card,:root[data-theme=dark] .birthday-calendar-shell,:root[data-theme=dark] .calendar-selected-panel,:root[data-theme=dark] .calendar-composer-panel{background:radial-gradient(circle at top right,rgba(76,181,174,.08),transparent 26%),linear-gradient(180deg,#2e2338fa,#1b1522f5)}:root[data-theme=dark] .reminder-polished-card.is-disabled{background:radial-gradient(circle at top right,rgba(118,102,122,.08),transparent 26%),linear-gradient(180deg,#292031f5,#1a1520f5)}:root[data-theme=dark] .birthday-planning-note,:root[data-theme=dark] .reminder-planning-note,:root[data-theme=dark] .reminder-setup-section,:root[data-theme=dark] .reminder-bulk-toolbar{background:#f4b86014}:root[data-theme=dark] .birthday-planning-note p,:root[data-theme=dark] .reminder-planning-note p{color:var(--text)}:root[data-theme=dark] .directory-count,:root[data-theme=dark] .selection-count,:root[data-theme=dark] .birthday-occasion-chip{color:#dff9f7}:root[data-theme=dark] .calendar-nav-button{background:#ffffff0d}:root[data-theme=dark] .calendar-today-button{background:color-mix(in srgb,var(--accent) 16%,transparent);color:#ffe5ea}:root[data-theme=dark] .calendar-selected-count,:root[data-theme=dark] .agenda-date-block{color:#ffe7b0}:root[data-theme=dark] .calendar-selected-meta span,:root[data-theme=dark] .calendar-modal-meta span,:root[data-theme=dark] .reminder-spotlight-date{background:#ffffff0d}:root[data-theme=dark] .skeleton-avatar,:root[data-theme=dark] .skeleton-line,:root[data-theme=dark] .skeleton-block,:root[data-theme=dark] .calendar-loading-cell{background:linear-gradient(90deg,#ffffff0a,#ffffff17,#ffffff0a);background-size:220% 100%}@media(max-width:1500px){.birthday-directory-hero,.reminders-hero,.calendar-page-hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}}@media(max-width:1180px){.birthday-directory-hero,.reminders-hero,.calendar-page-hero{grid-template-columns:1fr}.birthday-summary-grid,.reminder-summary-grid,.calendar-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.birthday-summary-card,.reminder-summary-card,.calendar-summary-card{min-height:118px}.reminder-bulk-toolbar{grid-template-columns:1fr;align-items:start}.reminder-bulk-selection,.reminder-bulk-actions{justify-content:flex-start}}@media(max-width:920px){.birthday-summary-grid,.reminder-summary-grid,.calendar-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-fact-grid,.reminder-fact-grid{grid-template-columns:repeat(3,minmax(120px,1fr));overflow-x:auto;padding-bottom:4px}.reminder-control-panel{grid-template-columns:1fr}.calendar-agenda-card .agenda-card-head{grid-template-columns:auto minmax(0,1fr)}.calendar-agenda-card .agenda-card-head>.ghost{grid-column:1 / -1;justify-self:start}}@media(max-width:820px){.birthday-directory-page,.reminders-page,.calendar-page{width:100%}.birthday-directory-hero,.reminders-hero,.calendar-page-hero,.birthday-directory-surface,.reminder-workspace-surface,.birthday-calendar-shell,.calendar-selected-panel,.calendar-composer-panel{border-radius:26px}.birthday-directory-hero .hero-copy h1,.reminders-hero .hero-copy h1,.calendar-page-hero .hero-copy h1{max-width:none;font-size:clamp(2.35rem,10vw,3.35rem)}.birthday-directory-head,.reminder-workspace-head,.birthday-card-footer,.reminder-card-footer,.calendar-main-toolbar,.calendar-subtoolbar,.calendar-selected-date,.calendar-modal-head{flex-direction:column;align-items:stretch}.directory-count,.selection-count{width:fit-content}.birthday-directory-grid,.reminder-grid-polished{grid-template-columns:minmax(0,1fr)}.birthday-directory-card,.reminder-polished-card{padding:19px;border-radius:24px}.birthday-card-footer{align-items:stretch}.birthday-card-actions{justify-content:flex-start}.birthday-card-actions .btn,.birthday-card-actions .ghost{flex:1 1 130px;text-align:center}.reminder-card-head{gap:18px}.reminder-status{align-self:flex-start;max-width:none}.reminder-card-footer .inline-actions{width:100%}.reminder-card-footer .btn,.reminder-card-footer .ghost{flex:1 1 140px;text-align:center}.calendar-desktop-month{display:none}.calendar-mobile-month{display:grid;gap:10px}.calendar-mobile-weekdays,.calendar-mobile-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-mobile-weekdays span{padding:5px 0;color:var(--muted);text-align:center;font-size:.7rem;font-weight:850;text-transform:uppercase}.calendar-mobile-day{position:relative;display:grid;min-width:0;min-height:74px;align-content:space-between;justify-items:center;gap:4px;padding:7px 3px;border:1px solid var(--border);border-radius:15px;background:var(--surface-strong);color:var(--text);cursor:pointer}.calendar-mobile-day.is-outside-month{opacity:.48;background:transparent}.calendar-mobile-day.has-birthday{border-color:#4cb5ae57;background:var(--secondary-soft)}.calendar-mobile-day.is-today{border-color:#f4b8608a;box-shadow:inset 0 0 0 1px #f4b86029}.calendar-mobile-day.is-selected{border-color:var(--accent-strong);box-shadow:0 0 0 2px var(--accent-soft)}.calendar-mobile-number{font-size:.82rem;font-weight:900}.calendar-mobile-people{display:flex;justify-content:center}.calendar-mobile-people span{display:grid;width:22px;height:22px;place-items:center;margin-left:-4px;border:2px solid var(--surface-strong);border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--secondary));color:#fff;font-size:.58rem;font-weight:900}.calendar-mobile-people span:first-child{margin-left:0}.calendar-mobile-day small{color:var(--muted);font-size:.63rem;font-weight:800}.calendar-mobile-dot{width:4px;height:4px;border-radius:999px;background:var(--border)}.calendar-navigation{justify-content:stretch;display:grid;grid-template-columns:1fr auto 1fr}.calendar-nav-button{min-width:0;padding-inline:10px}.calendar-nav-button span:not([aria-hidden=true]){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-view-switch,.calendar-view-switch .filter-chip{width:100%}.calendar-view-switch .filter-chip{flex:1}.calendar-detail-column,.calendar-quick-form{grid-template-columns:1fr}.calendar-quick-form .reminder-toggle,.calendar-quick-form .full{grid-column:auto}.calendar-loading-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-loading-cell{min-height:90px}}@media(max-width:620px){.birthday-summary-grid,.reminder-summary-grid,.calendar-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-summary-card,.reminder-summary-card,.calendar-summary-card{min-height:108px;padding:15px}.birthday-card-identity{grid-template-columns:72px minmax(0,1fr);gap:14px}.birthday-avatar-frame,.birthday-directory-avatar{width:72px;height:72px}.birthday-directory-avatar{border-radius:23px}.birthday-avatar-accent{width:26px;height:26px}.birthday-fact-grid,.reminder-fact-grid{grid-template-columns:1fr;overflow:visible}.reminder-filter-chip{flex:1 1 calc(50% - 8px);justify-content:space-between}.reminder-person-main{display:grid;grid-template-columns:34px 58px minmax(0,1fr);gap:10px}.reminder-person-main .reminder-avatar{width:58px;height:58px;border-radius:19px}.reminder-title h3{font-size:1.38rem}.reminder-control-panel{padding:12px}.reminder-timing-group .timing-chip{flex:1 1 calc(33.333% - 7px)}.calendar-main-toolbar{gap:18px}.calendar-navigation{grid-template-columns:1fr 78px 1fr}.calendar-nav-button span:not([aria-hidden=true]){display:none}.calendar-mobile-weekdays,.calendar-mobile-grid{gap:4px}.calendar-mobile-day{min-height:66px;border-radius:13px}.calendar-agenda-card .agenda-card-head,.calendar-agenda-person{grid-template-columns:auto minmax(0,1fr)}.agenda-person-meta{grid-column:2;justify-items:start;grid-auto-flow:column;justify-content:start;align-items:center}.calendar-modal-card .planner-card-top{display:grid}.calendar-modal-card .status-badge{justify-self:start}.calendar-modal-footer .btn,.calendar-modal-footer .ghost,.calendar-composer-actions .btn,.calendar-composer-actions .ghost{flex:1 1 100%;text-align:center}}@media(max-width:390px){.birthday-summary-grid,.reminder-summary-grid,.calendar-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.birthday-summary-card strong,.reminder-summary-card strong,.calendar-summary-card strong{font-size:1.35rem}.birthday-directory-card,.reminder-polished-card{padding:17px}.birthday-card-status-row{align-items:flex-start}.birthday-card-status-row .status-badge{max-width:150px;white-space:normal}.reminder-filter-chip{flex-basis:100%}.reminder-person-main{grid-template-columns:30px 52px minmax(0,1fr)}.reminder-person-main .reminder-avatar{width:52px;height:52px}.calendar-mobile-day{min-height:60px;padding-inline:1px}.calendar-mobile-people span{width:19px;height:19px;font-size:.52rem}.calendar-selected-card .reminder-person{display:grid;grid-template-columns:auto minmax(0,1fr)}.calendar-selected-card .status-badge{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){.birthday-directory-card,.calendar-nav-button,.calendar-today-button,.calendar-agenda-person,.skeleton-avatar,.skeleton-line,.skeleton-block,.calendar-loading-cell{animation:none;transition:none}}body.modal-open{overflow:hidden}.date-parts-grid{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(180px,1.4fr) minmax(120px,.9fr);gap:12px}.date-part-field{display:grid;gap:7px}.date-part-field>span{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.date-part-field input,.date-part-field select,.nested-field-input{width:100%;min-height:50px;padding:13px 14px;border:1px solid var(--border);border-radius:16px;background:#ffffffd1;color:var(--text);outline:none}.nested-field-input{margin-top:2px}.field-error{color:var(--danger, #b63f4b);font-size:.82rem;font-weight:700;line-height:1.45}.compact-error{padding:10px 12px}.tag-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tag-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid rgba(76,181,174,.2);border-radius:999px;background:#4cb5ae1a;color:var(--accent-strong);font-size:.84rem;font-weight:750}.profile-page{width:100%}.profile-hero{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)}.profile-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-form-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.profile-section-card{display:grid;gap:18px;min-width:0}.profile-section-card textarea{min-height:120px}.profile-loading-card,.profile-form-notice,.profile-save-bar{grid-column:1 / -1}.profile-save-bar{position:sticky;bottom:18px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--border);border-radius:22px;background:color-mix(in srgb,var(--surface-strong) 92%,transparent);box-shadow:0 18px 44px #26192f24;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.profile-save-bar p{margin:0}.birthday-composer-backdrop{z-index:100}.birthday-composer-modal{width:min(900px,100%);max-height:min(92vh,980px);overscroll-behavior:contain}.birthday-composer-form{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:20px}.composer-reminder-toggle{min-height:100%}.composer-more-details{overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--surface-tint)}.composer-more-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;color:var(--text);font-weight:850;list-style:none}.composer-more-details summary::-webkit-details-marker{display:none}.composer-more-details summary:after{content:"+";display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong)}.composer-more-details[open] summary:after{content:"\2212"}.composer-more-details summary span{margin-left:auto;color:var(--muted);font-size:.78rem;font-weight:650}.composer-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 18px 18px}.composer-photo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.composer-photo-preview{width:92px;height:92px;flex:0 0 92px;border-radius:24px;object-fit:cover;border:1px solid var(--border);box-shadow:0 12px 28px #26192f1f}.composer-photo-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent-soft),var(--gold-soft));color:var(--accent-strong);font-weight:900}.composer-modal-actions{position:sticky;bottom:-24px;margin:2px -24px -24px;padding:16px 24px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}:root[data-theme=dark] .date-part-field input,:root[data-theme=dark] .date-part-field select,:root[data-theme=dark] .nested-field-input,:root[data-theme=dark] .profile-save-bar,:root[data-theme=dark] .composer-modal-actions{background:#231b2bf0}:root[data-theme=dark] .profile-section-card,:root[data-theme=dark] .birthday-composer-modal{background:radial-gradient(circle at top right,rgba(76,181,174,.08),transparent 28%),linear-gradient(180deg,#2e2338fa,#1b1522fa)}:root[data-theme=dark] .composer-more-details{background:#ffffff0a}@media(max-width:980px){.profile-hero,.profile-form-layout{grid-template-columns:1fr}}@media(max-width:720px){.date-parts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-part-month{grid-column:1 / -1;grid-row:1}.birthday-composer-backdrop{padding:10px;align-items:end}.birthday-composer-modal{width:100%;max-height:94vh;padding:19px;border-radius:26px 26px 18px 18px}.birthday-composer-form,.composer-more-grid,.profile-summary-grid{grid-template-columns:1fr}.composer-reminder-toggle,.birthday-composer-form>.field,.birthday-composer-form>.full{grid-column:1 / -1}.composer-more-details summary span{display:none}.composer-modal-actions{bottom:-19px;margin:2px -19px -19px;padding:14px 19px}.profile-save-bar{align-items:stretch;flex-direction:column;bottom:10px}.profile-save-bar .btn{width:100%}}.profile-editor-page,.birthday-editor-page{width:min(1180px,100%);margin-inline:auto}.profile-editor-header,.birthday-editor-header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:6px 4px 2px}.profile-editor-header>div,.birthday-editor-header>div{max-width:760px}.profile-editor-header h1,.birthday-editor-header h1{max-width:720px;margin:5px 0 8px;font-size:clamp(2rem,4vw,3.15rem);line-height:1.04}.profile-editor-header p,.birthday-editor-header p{margin:0;font-size:1rem}.profile-editor-form,.birthday-editor-form{display:grid;gap:0;padding:clamp(22px,3vw,34px);overflow:hidden}.profile-editor-section,.birthday-editor-section{display:grid;grid-template-columns:minmax(190px,.32fr) minmax(0,1fr);gap:clamp(24px,4vw,52px);padding:28px 0}.profile-editor-section:first-child,.birthday-editor-section:first-child{padding-top:0}.profile-editor-section+.profile-editor-section,.birthday-editor-section+.birthday-editor-section{border-top:1px solid var(--border)}.profile-section-heading,.birthday-section-heading{display:flex;align-items:flex-start;gap:13px}.profile-section-heading h2,.birthday-section-heading h2{margin:2px 0 0;font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.15}.profile-section-icon,.birthday-section-number{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:14px;background:linear-gradient(135deg,var(--accent-soft),var(--gold-soft));color:var(--accent-strong);font-size:.76rem;font-weight:900;letter-spacing:.05em}.profile-editor-grid,.birthday-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}.profile-editor-grid>*,.birthday-editor-grid>*{min-width:0}.profile-editor-form .field input,.profile-editor-form .field select,.birthday-editor-form .field input,.birthday-editor-form .field select{min-height:54px}.profile-editor-form .field input,.profile-editor-form .field textarea,.profile-editor-form .field select,.birthday-editor-form .field input,.birthday-editor-form .field textarea,.birthday-editor-form .field select{border-radius:17px;background:color-mix(in srgb,var(--surface-strong) 90%,transparent)}.profile-editor-form .field input:focus,.profile-editor-form .field textarea:focus,.profile-editor-form .field select:focus,.birthday-editor-form .field input:focus,.birthday-editor-form .field textarea:focus,.birthday-editor-form .field select:focus{border-color:color-mix(in srgb,var(--accent-strong) 38%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.profile-editor-form textarea,.birthday-editor-form textarea{min-height:118px}.native-date-control{position:relative;min-width:0}.native-date-control input[type=date]{width:100%;padding-right:16px;cursor:pointer;color-scheme:light}.native-date-control input[type=date]::-webkit-calendar-picker-indicator{width:20px;height:20px;padding:7px;border-radius:11px;background-color:var(--accent-soft);cursor:pointer;opacity:.88}.profile-date-field{grid-column:1 / -1;max-width:420px}.profile-editor-actions,.birthday-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid var(--border)}.profile-editor-actions .btn,.birthday-editor-actions .btn{min-width:154px;min-height:50px}.profile-form-notice,.birthday-form-notice{margin:8px 0 20px}.birthday-photo-field{margin-top:2px}.birthday-photo-uploader{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;padding:17px;border:1px dashed color-mix(in srgb,var(--accent) 30%,transparent);border-radius:22px;background:radial-gradient(circle at right top,rgba(76,181,174,.1),transparent 34%),color-mix(in srgb,var(--surface-tint) 82%,transparent)}.birthday-photo-preview,.birthday-photo-preview img,.birthday-photo-placeholder{width:96px;height:96px;border-radius:24px}.birthday-photo-preview{flex:0 0 96px}.birthday-photo-preview img{display:block;object-fit:cover;border:1px solid var(--border);box-shadow:0 12px 28px #26192f1f}.birthday-photo-placeholder{display:grid;place-items:center;overflow:hidden;border:1px solid var(--border);background:linear-gradient(135deg,var(--accent-soft),var(--secondary-soft))}.birthday-photo-placeholder .brand-mark{width:70px;height:70px;border:0;background:transparent;box-shadow:none}.birthday-photo-copy{display:grid;gap:5px;min-width:0}.birthday-photo-copy strong{font-size:1rem}.birthday-photo-copy>span{color:var(--muted);font-size:.84rem}.birthday-photo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:7px}.birthday-photo-actions .ghost{min-height:42px}.birthday-reminder-toggle{min-height:76px}.birthday-context-grid .field.full textarea{min-height:104px}:root[data-theme=dark] .profile-editor-form,:root[data-theme=dark] .birthday-editor-form{background:radial-gradient(circle at top right,rgba(76,181,174,.07),transparent 28%),linear-gradient(180deg,#2e2338fa,#1b1522fa)}:root[data-theme=dark] .profile-editor-form .field input,:root[data-theme=dark] .profile-editor-form .field textarea,:root[data-theme=dark] .profile-editor-form .field select,:root[data-theme=dark] .birthday-editor-form .field input,:root[data-theme=dark] .birthday-editor-form .field textarea,:root[data-theme=dark] .birthday-editor-form .field select{background:#231b2bf0}:root[data-theme=dark] .native-date-control input[type=date]{color-scheme:dark}:root[data-theme=dark] .native-date-control input[type=date]::-webkit-calendar-picker-indicator{background-color:color-mix(in srgb,var(--accent) 20%,transparent);filter:invert(1)}:root[data-theme=dark] .birthday-photo-uploader{background:radial-gradient(circle at right top,rgba(76,181,174,.12),transparent 34%),#ffffff09;border-color:color-mix(in srgb,var(--accent) 24%,transparent)}@media(max-width:900px){.profile-editor-section,.birthday-editor-section{grid-template-columns:1fr;gap:20px}.profile-section-heading,.birthday-section-heading{align-items:center}}@media(max-width:680px){.profile-editor-header,.birthday-editor-header{padding-inline:0}.profile-editor-form,.birthday-editor-form{padding:20px;border-radius:24px}.profile-editor-grid,.birthday-editor-grid{grid-template-columns:1fr}.profile-date-field{max-width:none}.birthday-photo-uploader{grid-template-columns:1fr}.birthday-photo-preview{justify-self:start}.profile-editor-actions,.birthday-editor-actions{align-items:stretch;flex-direction:column-reverse}.profile-editor-actions .btn,.birthday-editor-actions .btn,.birthday-editor-actions .ghost{width:100%}}@media(prefers-reduced-motion:reduce){.profile-editor-form .field input,.profile-editor-form .field textarea,.profile-editor-form .field select,.birthday-editor-form .field input,.birthday-editor-form .field textarea,.birthday-editor-form .field select,.birthday-editor-actions .btn,.birthday-editor-actions .ghost{transition:none}}.social-page{max-width:1480px;margin:0 auto}.social-page-header,.group-workspace-hero-main,.group-hero-meta,.section-heading-row,.friend-search-result,.social-list-item,.friend-card-top,.group-target-line,.group-card-heading,.group-invitation-card,.member-management-row,.gift-candidate-row,.chat-message,.dashboard-suggestion-row{display:flex;align-items:center;gap:14px}.social-page-header,.section-heading-row,.group-workspace-hero-main,.group-hero-meta{justify-content:space-between}.social-page-header{align-items:flex-start;padding:8px 2px}.social-page-header h1,.group-workspace-hero h1{margin:3px 0 8px}.friend-identifier-card{display:grid;grid-template-columns:1fr auto;gap:4px 14px;min-width:min(390px,100%);padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,var(--surface-strong),var(--secondary-soft));box-shadow:var(--shadow)}.friend-identifier-card>span{grid-column:1 / -1;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.friend-identifier-card strong{align-self:center;overflow-wrap:anywhere;font-size:1.02rem}.btn-compact{min-height:36px;padding:8px 13px;font-size:.86rem}.btn-secondary{color:var(--text);border:1px solid var(--border);background:var(--surface-strong);box-shadow:none}.btn-secondary:hover{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft)}.privacy-chip,.live-refresh-chip,.count-badge,.countdown-bubble,.priority-label{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 11px;border-radius:999px;font-size:.76rem;font-weight:800}.privacy-chip,.live-refresh-chip{color:var(--secondary);background:var(--secondary-soft)}.count-badge{min-width:30px;color:var(--accent-strong);background:var(--accent-soft)}.status-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:5px 10px;border-radius:999px;color:var(--accent-strong);background:var(--accent-soft);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:capitalize}.status-pill.success{color:var(--success);background:var(--success-soft)}.status-pill.warning{color:#a86c10;background:var(--gold-soft)}.status-pill.neutral{color:var(--muted);background:var(--bg-soft)}.social-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:14px;color:var(--accent-strong);background:linear-gradient(135deg,var(--accent-soft),var(--gold-soft));font-size:.82rem;font-weight:900}.social-avatar-large{width:54px;height:54px;border-radius:18px;font-size:1rem}.social-avatar-xl{width:72px;height:72px;border-radius:23px;font-size:1.25rem}.social-search-card,.social-list-card,.group-create-card,.profile-wishlist-section,.group-workspace-hero,.group-tab-panel .card{padding:24px}.section-heading-row{align-items:flex-start;margin-bottom:18px}.section-heading-row h2,.section-heading-row h3{margin:2px 0 0}.social-search-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:14px}.friend-search-result{margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-tint)}.friend-search-result>div:nth-child(2),.friend-card-top>div,.group-target-line>div,.group-card-heading>div,.group-invitation-card>div,.member-management-row>div:nth-child(2),.dashboard-suggestion-row>div,.dashboard-social-friend-list>div>div{display:grid;min-width:0}.friend-search-result span,.friend-card-top span,.group-target-line span,.group-card-heading span,.group-invitation-card span,.group-invitation-card small,.member-management-row span,.dashboard-suggestion-row span,.dashboard-social-friend-list span{color:var(--muted);font-size:.82rem}.friend-result-action,.member-management-row .inline-actions{margin-left:auto}.social-two-column{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);align-items:start;gap:20px}.social-column-stack,.social-list,.member-management-list,.gift-candidate-list,.poll-list,.contribution-list,.dashboard-social-friend-list{display:grid;gap:12px}.social-list-item,.member-management-row,.group-invitation-card{padding:12px 0;border-bottom:1px solid var(--border)}.social-list-item:last-child,.member-management-row:last-child,.group-invitation-card:last-child{border-bottom:0}.social-list-copy{display:grid;flex:1}.social-list-copy span,.empty-copy,.form-footnote{color:var(--muted);font-size:.88rem}.friend-card-grid,.suggestion-grid,.group-card-grid,.wishlist-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.friend-card,.wishlist-management-card{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-tint)}.birthday-countdown-strip{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:13px;background:var(--secondary-soft)}.birthday-countdown-strip span{color:var(--muted);font-size:.82rem}.friend-private-copy{min-height:42px;margin:0}.friend-card-actions,.wishlist-form-actions{display:flex;align-items:center;gap:10px;justify-content:space-between}.text-danger-button{padding:6px;border:0;color:var(--danger);background:transparent;cursor:pointer;font-size:.82rem;font-weight:800}.text-danger-button:hover{text-decoration:underline}.social-empty-state,.social-empty-row{display:flex;align-items:center;justify-content:center;gap:16px;min-height:150px;padding:28px;border:1px dashed var(--border);border-radius:18px;text-align:center}.social-empty-state{flex-direction:column}.social-empty-state>span,.social-empty-row>span{color:var(--accent);font-size:2rem}.social-empty-state h3,.social-empty-row p{margin:0}.social-loading{min-height:110px;display:grid;place-items:center}.friend-profile-heading,.group-target-identity{display:flex;align-items:center;gap:14px}.friend-profile-grid,.group-card-stats,.progress-stat-grid,.budget-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.friend-profile-grid>div,.group-card-stats>div,.progress-stat-grid>div,.budget-metric-grid>div{display:grid;gap:3px;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--surface-tint)}.friend-profile-grid span,.group-card-stats span,.progress-stat-grid span,.budget-metric-grid span{color:var(--muted);font-size:.75rem}.friend-profile-bio{margin:18px 0;padding:14px;border-left:3px solid var(--secondary);background:var(--secondary-soft)}.profile-wishlist-preview{margin-top:18px}.wishlist-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wishlist-compact-item{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-tint)}.wishlist-compact-item span{color:var(--muted);font-size:.78rem}.wishlist-compact-item.with-action{grid-template-columns:1fr auto;align-items:center}.profile-identifier-card{box-shadow:none}.privacy-setting-stack{display:grid;gap:14px}.setting-toggle-row{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface-tint);cursor:pointer}.setting-toggle-row.compact{padding:11px 13px}.setting-toggle-row.disabled{opacity:.62}.setting-toggle-row input{width:19px;height:19px;margin-top:2px;accent-color:var(--accent)}.setting-toggle-row>span{display:grid;gap:3px}.setting-toggle-row small,.suggestion-window-field small,.compact-stack-form small,.chat-composer small{color:var(--muted)}.suggestion-window-field{max-width:420px}.wishlist-editor-form{display:grid;grid-template-columns:1.4fr .75fr .42fr .65fr;gap:14px}.wishlist-editor-form .full{grid-column:1 / -1}.wishlist-management-card.archived{opacity:.72}.wishlist-card-heading,.wishlist-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.wishlist-card-heading>div{display:grid;gap:8px}.wishlist-management-card p{margin:0;color:var(--muted)}.wishlist-card-meta{color:var(--muted);font-size:.82rem}.wishlist-card-meta a{color:var(--accent-strong);font-weight:800}.priority-label{min-height:25px;background:var(--gold-soft);color:#9b6516;text-transform:capitalize}.group-create-form{display:grid;grid-template-columns:1.25fr 1fr .55fr .35fr auto;align-items:end;gap:12px}.group-currency-field,.wishlist-currency-field{min-width:90px}.group-suggestion-section,.group-invitation-section,.group-library-section{display:grid;gap:2px}.group-suggestion-card,.group-card{display:grid;gap:15px;padding:18px;transition:transform .18s ease,border-color .18s ease}.group-suggestion-card:hover,.group-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.countdown-bubble{margin-left:auto;color:var(--accent-strong);background:var(--accent-soft)}.suggestion-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.8rem}.group-invitation-list{display:grid;gap:10px}.group-invitation-card>div:nth-child(2){flex:1}.group-card{color:inherit}.group-card-heading>div{flex:1}.group-card-stats{grid-template-columns:repeat(3,1fr)}.group-card-open{color:var(--accent-strong);font-size:.82rem;font-weight:800}.group-card.archived{opacity:.76}.group-card-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.group-workspace-hero{display:grid;gap:18px;border:1px solid var(--border);border-radius:24px;background:radial-gradient(circle at 90% 10%,var(--secondary-soft),transparent 28%),linear-gradient(145deg,var(--surface-strong),var(--surface-tint));box-shadow:var(--shadow)}.back-link{width:fit-content;color:var(--muted);font-size:.86rem;font-weight:800}.group-target-identity p{margin:0;color:var(--muted)}.group-hero-countdown{display:grid;min-width:125px;padding:16px 20px;border-radius:20px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));text-align:center}.group-hero-countdown strong{font-family:Fraunces,Georgia,serif;font-size:2.2rem;line-height:1}.group-hero-countdown span{font-size:.76rem;font-weight:800}.group-hero-meta{justify-content:flex-start;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem}.group-hero-meta button{margin-left:auto}.surprise-privacy-note{padding:5px 9px;border-radius:999px;color:var(--success);background:var(--success-soft);font-weight:800}.group-tabs{display:flex;gap:8px;overflow-x:auto;padding:7px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.group-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;padding:10px 14px;border:0;border-radius:12px;color:var(--muted);background:transparent;cursor:pointer;font-weight:800}.group-tabs button.active{color:#fff;background:var(--accent-strong)}.group-tab-panel{min-height:420px}.workspace-overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.workspace-members-preview{grid-column:1 / -1}.progress-stat-grid,.budget-metric-grid{margin:18px 0}.progress-stat-grid strong,.budget-metric-grid strong{font-size:1.05rem}.planning-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.planning-checklist span{padding:10px 12px;border-radius:12px;color:var(--muted);background:var(--bg-soft);font-size:.82rem;font-weight:750}.planning-checklist span:before{content:"\25cb";margin-right:7px}.planning-checklist span.done{color:var(--success);background:var(--success-soft)}.planning-checklist span.done:before{content:"\2713"}.member-avatar-row{display:flex;flex-wrap:wrap;gap:8px}.workspace-section-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.78fr);align-items:start;gap:18px}.member-management-row{align-items:flex-start}.member-management-row>div:nth-child(2){flex:1}.member-management-row .inline-actions{justify-content:flex-end}.leave-group-button{margin-top:18px}.candidate-check-list{display:grid;gap:8px;margin:16px 0}.candidate-check-list label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:13px;cursor:pointer}.candidate-check-list label>span:last-child{display:grid}.candidate-check-list small{color:var(--muted)}.gift-workspace-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.72fr)}.spin-wheel-card{grid-column:2}.gift-candidate-row{align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--surface-tint)}.gift-candidate-row.final-gift{border-color:#3f9f7459;background:var(--success-soft)}.gift-candidate-main{display:flex;flex:1;gap:10px}.gift-candidate-main>div{display:grid;gap:3px}.gift-candidate-main span,.gift-candidate-main p{margin:0;color:var(--muted);font-size:.8rem}.gift-status-dot{flex:0 0 auto;width:10px;height:10px;margin-top:7px;border-radius:999px;background:var(--gold)}.gift-status-dot[data-status=selected],.gift-status-dot[data-status=purchased]{background:var(--success)}.gift-status-dot[data-status=rejected]{background:var(--danger)}.compact-stack-form{display:grid;gap:12px}.spin-wheel-shell{position:relative;display:grid;place-items:center;width:min(260px,100%);aspect-ratio:1;margin:14px auto 18px}.spin-wheel{position:relative;width:100%;height:100%;overflow:hidden;border:8px solid var(--surface-strong);border-radius:50%;background:conic-gradient(var(--accent-soft) 0 25%,var(--secondary-soft) 25% 50%,var(--gold-soft) 50% 75%,var(--success-soft) 75% 100%);box-shadow:0 12px 35px #00000021,inset 0 0 0 1px var(--border);transition:transform 1.8s cubic-bezier(.18,.82,.18,1)}.spin-wheel:after{content:"DV";position:absolute;inset:50% auto auto 50%;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;transform:translate(-50%,-50%);color:#fff;background:var(--accent-strong);font-weight:900}.spin-wheel>span{--angle: calc(360deg / var(--wheel-total) * var(--wheel-index));position:absolute;top:50%;left:50%;width:42%;overflow:hidden;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-88px) rotate(calc(-1 * var(--angle)));color:var(--text);font-size:.68rem;font-weight:850;text-align:center;text-overflow:ellipsis;white-space:nowrap}.spin-wheel-pointer{position:absolute;z-index:3;top:-4px;width:0;height:0;border-right:12px solid transparent;border-left:12px solid transparent;border-top:22px solid var(--accent-strong)}.spin-wheel-shell.reduced-motion .spin-wheel{transition:none}.wheel-result{display:grid;gap:5px;margin-top:14px;padding:14px;border-radius:14px;background:var(--secondary-soft);text-align:center}.wheel-result p{margin:0 0 7px;color:var(--muted);font-size:.8rem}.poll-workspace-grid,.budget-workspace-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr)}.poll-card{display:grid;gap:13px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface-tint)}.poll-card .section-heading-row{margin-bottom:0}.poll-card .section-heading-row>div{display:grid}.poll-card .section-heading-row span{color:var(--muted);font-size:.78rem}.poll-options{display:grid;gap:8px}.poll-options button{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:var(--surface-strong);cursor:pointer;text-align:left}.poll-options button.selected{border-color:var(--accent);background:var(--accent-soft)}.budget-summary-card{grid-column:1 / -1}.budget-disclaimer{margin:0;padding:12px;border-radius:12px;color:var(--muted);background:var(--gold-soft);font-size:.82rem}.inline-pledge-form{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:10px}.contribution-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.chat-workspace-card{max-width:980px;margin:0 auto}.chat-message-list{display:grid;gap:10px;min-height:260px;max-height:520px;overflow-y:auto;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-tint)}.chat-message{align-items:flex-start}.chat-message>div{flex:1;min-width:0;padding:10px 12px;border-radius:0 14px 14px;background:var(--surface-strong)}.chat-message>div>div{display:flex;justify-content:space-between;gap:12px}.chat-message time{color:var(--muted);font-size:.72rem}.chat-message p{margin:5px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.chat-composer{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;margin-top:14px}.chat-composer textarea{min-height:88px}.dashboard-social-section{display:grid;gap:14px;margin-top:8px}.dashboard-social-grid{display:grid;grid-template-columns:.68fr 1.12fr 1.35fr;gap:16px}.dashboard-social-grid>.card{padding:20px}.dashboard-social-alert-list{display:grid;gap:9px;margin-top:14px}.dashboard-social-alert-list a{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:12px;background:var(--surface-tint)}.dashboard-social-alert-list strong{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;color:#fff;background:var(--accent-strong)}.dashboard-social-friend-list>div,.dashboard-suggestion-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.dashboard-social-friend-list>div:last-child,.dashboard-suggestion-row:last-child{border-bottom:0}.dashboard-social-friend-list>div>div,.dashboard-suggestion-row>div{flex:1}.dashboard-social-friend-list b{color:var(--accent-strong);font-size:.8rem}@media(max-width:1180px){.social-two-column,.workspace-section-grid,.gift-workspace-grid,.poll-workspace-grid,.budget-workspace-grid,.workspace-overview-grid{grid-template-columns:1fr}.spin-wheel-card,.workspace-members-preview,.budget-summary-card{grid-column:auto}.group-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.group-create-form .btn{width:fit-content}.dashboard-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-group-suggestions{grid-column:1 / -1}}@media(max-width:820px){.social-page-header,.group-workspace-hero-main,.group-hero-meta,.friend-search-result,.group-invitation-card,.member-management-row,.gift-candidate-row{align-items:stretch;flex-direction:column}.friend-identifier-card{width:100%;min-width:0}.social-search-form,.wishlist-editor-form,.group-create-form,.chat-composer,.inline-pledge-form,.friend-card-grid,.suggestion-grid,.group-card-grid,.group-card-grid.compact,.wishlist-management-grid,.wishlist-compact-grid,.friend-profile-grid,.progress-stat-grid,.budget-metric-grid,.dashboard-social-grid{grid-template-columns:1fr}.dashboard-group-suggestions{grid-column:auto}.friend-result-action,.member-management-row .inline-actions,.group-hero-meta button{margin-left:0}.group-hero-countdown{width:100%}.planning-checklist,.group-card-stats{grid-template-columns:1fr}.wishlist-editor-form .full{grid-column:auto}}@media(prefers-reduced-motion:reduce){.group-suggestion-card,.group-card,.spin-wheel{transition:none}}.private-actions,.account-menu{position:relative}.account-menu-trigger{display:inline-flex;align-items:center;gap:9px;min-height:46px;max-width:210px;padding:5px 9px 5px 6px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);font:inherit;font-weight:750;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb,var(--text) 6%,transparent);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.account-menu-trigger:hover,.account-menu.is-open .account-menu-trigger{border-color:color-mix(in srgb,var(--accent-strong) 28%,var(--border));background:var(--surface-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-strong) 8%,transparent)}.account-menu-username{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-chevron,.account-menu-panel svg,.sidebar-group-chevron{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.account-menu-chevron{flex:0 0 18px;color:var(--muted);transition:transform .18s ease}.account-menu.is-open .account-menu-chevron{transform:rotate(180deg)}.account-menu-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:95;display:grid;width:min(286px,calc(100vw - 24px));padding:8px;border:1px solid color-mix(in srgb,var(--accent-strong) 14%,var(--border));border-radius:20px;background:color-mix(in srgb,var(--surface-strong) 98%,transparent);box-shadow:0 24px 64px color-mix(in srgb,var(--text) 18%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.account-menu-summary{display:flex;align-items:center;gap:11px;margin:2px 2px 7px;padding:8px 9px 12px;border-bottom:1px solid var(--border)}.account-menu-summary>div{min-width:0;display:grid;gap:2px}.account-menu-summary strong,.account-menu-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-summary>div span{color:var(--muted);font-size:.75rem}.account-menu-panel>a,.account-menu-panel>button{display:flex;align-items:center;gap:11px;width:100%;min-height:42px;padding:9px 11px;border:0;border-radius:13px;background:transparent;color:var(--text);font:inherit;font-weight:700;text-align:left;cursor:pointer}.account-menu-panel>a:hover,.account-menu-panel>button:hover,.account-menu-panel>a:focus-visible,.account-menu-panel>button:focus-visible{background:var(--accent-soft);color:var(--accent-strong)}.account-menu-panel>a svg,.account-menu-panel>button svg{flex:0 0 18px}.account-menu-panel>.account-menu-logout{color:var(--danger, #d85757)}.app-sidebar{padding:12px}.sidebar-header{padding:2px 7px 10px}.sidebar-header .sidebar-brand{align-items:center;gap:10px;min-height:43px}.sidebar-header .sidebar-brand h2{color:var(--text);font-size:1.08rem}.sidebar-header .brand-mark.compact{width:38px;height:38px;flex:0 0 38px}.sidebar-nav{gap:5px;padding-block:9px}.sidebar-nav>a,.sidebar-group-toggle{min-height:41px}.sidebar-add-link{margin-top:0}.sidebar-collapsible-group{display:grid;gap:3px}.sidebar-group-toggle{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--muted);font:inherit;font-size:.9rem;font-weight:750;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.sidebar-group-toggle:hover,.sidebar-group-toggle.active{color:var(--text);border-color:var(--border);background:var(--surface)}.sidebar-group-toggle.active{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent-strong) 20%,var(--border));background:color-mix(in srgb,var(--accent-soft) 70%,var(--surface))}.sidebar-group-toggle>span:nth-child(2){min-width:0;flex:1}.sidebar-group-chevron{flex:0 0 17px;color:var(--muted);transition:transform .18s ease}.sidebar-group-toggle[aria-expanded=true] .sidebar-group-chevron{transform:rotate(90deg)}.sidebar-subnav{display:grid;gap:2px;padding:1px 0 2px 42px}.sidebar-nav a.sidebar-sub-link{min-height:32px;padding:5px 10px 5px 15px;border-radius:10px;font-size:.82rem;font-weight:700}.sidebar-nav a.sidebar-sub-link:before{content:"";width:5px;height:5px;margin-left:-4px;border-radius:50%;background:color-mix(in srgb,var(--muted) 60%,transparent)}.sidebar-nav a.sidebar-sub-link:hover{transform:none}.sidebar-nav a.sidebar-sub-link.active{color:var(--accent-strong);border-color:transparent;background:var(--accent-soft);box-shadow:none}.sidebar-nav a.sidebar-sub-link.active:before{background:var(--accent-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-strong) 10%,transparent)}.sidebar-footer{margin-top:auto;padding-top:10px}.social-identifier-form{grid-template-columns:minmax(0,1fr) auto;align-items:start}.social-identifier-field{min-width:0}.social-find-friend-button{min-height:46px;margin-top:25px;white-space:nowrap}@media(min-width:1101px){.app-sidebar{overflow:hidden}}@media(max-width:820px){.social-identifier-form{grid-template-columns:1fr}.social-find-friend-button{width:100%;margin-top:0}}@media(max-width:560px){.account-menu-trigger{width:46px;padding:5px;justify-content:center}.account-menu-username,.account-menu-trigger .account-menu-chevron{display:none}.account-menu-panel{position:fixed;top:118px;right:12px}}@media(max-width:700px)and (min-width:561px){.account-menu-trigger{width:46px;padding:5px;justify-content:center}.account-menu-username,.account-menu-trigger .account-menu-chevron{display:none}}.friend-search-autocomplete{position:relative}.friend-suggestion-panel{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:min(720px,calc(100% - 150px));overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong);box-shadow:var(--shadow)}.friend-suggestion-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:11px 13px;border:0;border-bottom:1px solid var(--border);color:var(--text);background:transparent;cursor:pointer;text-align:left}.friend-suggestion-option:last-child{border-bottom:0}.friend-suggestion-option:hover,.friend-suggestion-option.active{background:var(--surface-tint)}.friend-suggestion-copy{display:grid;min-width:0}.friend-suggestion-copy small{overflow:hidden;color:var(--muted);text-overflow:ellipsis}.friend-suggestion-state{margin:0;padding:14px;color:var(--muted);font-size:.86rem}.friend-suggestion-state.error-copy{color:var(--danger)}.group-create-invite-fieldset{grid-column:1 / -1;min-width:0;margin:4px 0 0;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-tint)}.group-create-invite-fieldset legend{padding:0 6px;color:var(--text);font-weight:800}.group-create-invite-fieldset legend span{margin-left:6px;color:var(--muted);font-size:.76rem;font-weight:700}.group-create-invite-fieldset>p{margin:0}.group-create-candidate-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.group-create-submit{grid-column:1 / -1;justify-self:end}.budget-settings-form{grid-template-columns:minmax(0,1fr) minmax(130px,.45fr) minmax(130px,.45fr) auto}@media(max-width:820px){.friend-suggestion-panel{width:100%}.friend-suggestion-option{grid-template-columns:auto minmax(0,1fr)}.friend-suggestion-option .status-pill{grid-column:2}.group-create-submit{width:100%;justify-self:stretch}.budget-settings-form{grid-template-columns:1fr}}.private-theme-toggle{width:46px;height:46px;border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.private-theme-toggle:hover{border-color:color-mix(in srgb,var(--accent-strong) 28%,var(--border))}.account-menu-panel{width:min(310px,calc(100vw - 24px))}.account-appearance-panel{display:grid;gap:3px;margin:3px 0;padding:5px 0;border-block:1px solid var(--border)}.account-appearance-panel>button{display:flex;align-items:center;gap:11px;width:100%;min-height:40px;padding:8px 11px;border:0;border-radius:13px;background:transparent;color:var(--text);font:inherit;font-weight:700;text-align:left;cursor:pointer}.account-appearance-panel>button:hover,.account-appearance-panel>button:focus-visible{background:var(--accent-soft);color:var(--accent-strong);outline:none}.account-appearance-panel>button svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.account-appearance-panel>button small{margin-left:auto;color:var(--muted);font-size:.72rem;font-weight:800}.account-accent-control{display:grid;gap:7px;padding:8px 11px 10px}.account-accent-control>span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.account-accent-control>div{display:flex;align-items:center;gap:8px}.account-accent-swatch{width:28px;height:28px;padding:0;border:2px solid var(--surface-strong);border-radius:10px;cursor:pointer;box-shadow:0 0 0 1px var(--border);transition:transform .16s ease,box-shadow .16s ease}.account-accent-swatch:hover,.account-accent-swatch:focus-visible{transform:translateY(-1px);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-strong) 22%,transparent)}.account-accent-swatch.selected{box-shadow:0 0 0 3px var(--surface-strong),0 0 0 5px var(--accent-strong)}.settings-page{max-width:1080px;margin:0 auto}.settings-header h1{margin:4px 0 8px}.settings-header p{max-width:680px;margin:0}.settings-card{padding:clamp(22px,4vw,34px)}.settings-card-heading{align-items:center;padding-bottom:20px;border-bottom:1px solid var(--border)}.settings-current-accent{width:46px;height:46px;flex:0 0 46px;border:4px solid var(--surface-strong);border-radius:16px;box-shadow:0 0 0 1px var(--border),0 12px 28px color-mix(in srgb,var(--accent) 22%,transparent)}.appearance-setting-group{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:24px 0;border-bottom:1px solid var(--border)}.appearance-setting-group:last-child{padding-bottom:0;border-bottom:0}.appearance-setting-copy h3{margin:0 0 5px;font-size:1.08rem}.appearance-setting-copy p{max-width:620px;margin:0}.segmented-setting{display:inline-grid;grid-auto-flow:column;gap:4px;padding:4px;border:1px solid var(--border);border-radius:15px;background:var(--surface-tint)}.segmented-setting button{min-width:92px;min-height:40px;padding:8px 15px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.segmented-setting button:hover,.segmented-setting button:focus-visible{color:var(--text);outline:2px solid color-mix(in srgb,var(--accent-strong) 30%,transparent);outline-offset:1px}.segmented-setting button.selected{background:var(--surface-strong);color:var(--accent-strong);box-shadow:0 6px 18px color-mix(in srgb,var(--text) 8%,transparent)}.appearance-color-setting{grid-template-columns:1fr;align-items:start}.accent-choice-stack{display:grid;gap:18px}.accent-preset-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.accent-choice{display:flex;align-items:center;gap:9px;min-height:50px;padding:9px 11px;border:1px solid var(--border);border-radius:14px;background:var(--surface-tint);color:var(--text);text-align:left;cursor:pointer}.accent-choice>span{width:27px;height:27px;flex:0 0 27px;border:3px solid var(--surface-strong);border-radius:9px;box-shadow:0 0 0 1px var(--border)}.accent-choice strong{font-size:.78rem}.accent-choice:hover,.accent-choice:focus-visible,.accent-choice.selected{border-color:color-mix(in srgb,var(--accent-strong) 36%,var(--border));background:var(--accent-soft);outline:none}.accent-choice.selected{box-shadow:inset 0 0 0 1px var(--accent-strong)}.custom-accent-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.custom-color-field{min-width:150px}.custom-color-field input[type=color]{width:100%;min-height:44px;padding:4px;cursor:pointer}.settings-reset-button{min-height:44px}.cursor-follower{position:fixed;top:0;left:0;z-index:24;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--accent-strong) 82%,white);border-radius:50%;background:color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent);opacity:0;pointer-events:none;will-change:transform;transition:opacity .14s ease}.cursor-follower.is-visible{opacity:1}@media(max-width:820px){.appearance-setting-group{grid-template-columns:1fr;gap:15px}.segmented-setting,.segmented-setting button{width:100%}.accent-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.private-theme-toggle{width:44px;height:44px}.private-actions{gap:7px}.account-menu-panel{max-height:calc(100dvh - 132px);overflow-y:auto;overscroll-behavior:contain}.accent-preset-grid{grid-template-columns:1fr}.custom-accent-row>*{width:100%}}@media(pointer:coarse),(prefers-reduced-motion:reduce),print{.cursor-follower{display:none!important}}.platform-versions-page{max-width:1120px}.platform-version-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.platform-current-version{flex:0 0 auto;min-width:160px;padding:18px 20px;border:1px solid var(--border);border-radius:18px;background:var(--surface-tint);text-align:right}.platform-current-version span{display:block;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.platform-current-version strong{display:block;margin-top:4px;font-size:1.45rem}.platform-version-notice{margin-bottom:16px}.platform-version-list{display:grid;gap:14px}.platform-version-entry{padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface-tint)}.platform-version-entry.platform-version-current{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:inset 3px 0 0 var(--accent)}.platform-version-entry-head,.platform-version-title-row,.platform-version-meta,.platform-version-actions{display:flex;align-items:center;gap:10px}.platform-version-entry-head{justify-content:space-between;margin-bottom:10px}.platform-version-entry-head time,.platform-version-meta{color:var(--muted);font-size:.82rem}.platform-version-number{font-weight:800;color:var(--accent)}.platform-version-entry h3{margin:0 0 8px}.platform-version-notes{margin:0;white-space:pre-wrap;line-height:1.65}.platform-version-meta{flex-wrap:wrap;margin-top:14px}.platform-version-actions{margin-top:14px}.platform-version-form-card{width:100%}.danger-text{color:var(--danger, #b42318)}@media(max-width:720px){.platform-version-hero,.platform-version-entry-head{align-items:flex-start;flex-direction:column}.platform-current-version{width:100%;text-align:left}}
