@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";html{background:var(--bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100dvh}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:2px}::selection{background:var(--coral-soft)}:root{--bg:#f8f7f4;--surface:#fff;--surface-2:#f1f0ec;--ink:#171915;--muted:#6f746d;--line:#e3e3dc;--coral:#ff6c57;--coral-soft:#ffe3dc;--blue:#5271ff;--blue-soft:#e3e8ff;--mint:#3ebd91;--mint-soft:#dbf5ec;--shadow:0 16px 50px #282a2514;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#121412;--surface:#1b1e1a;--surface-2:#252923;--ink:#f4f5f0;--muted:#a4aba2;--line:#343a32;--coral-soft:#402520;--blue-soft:#222a4d;--mint-soft:#17372d;--shadow:0 20px 60px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=oled]{--bg:#000;--surface:#090a09;--surface-2:#121412;--ink:#fff;--muted:#a6aba5;--line:#242724;--coral-soft:#351813;--blue-soft:#161b40;--mint-soft:#102d24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{min-height:100dvh}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:20;justify-content:space-between;align-items:center;height:74px;padding:0 4vw;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:11px;font:800 20px Manrope;text-decoration:none;display:flex}.brand-mark{aspect-ratio:1;color:#fff;background:linear-gradient(145deg,var(--coral),#ff9d69);border-radius:12px 12px 12px 5px;place-items:center;width:35px;display:grid;box-shadow:0 7px 20px #ff6c5747}.top-actions{align-items:center;gap:8px;display:flex}.icon-button,.avatar{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;place-items:center;width:40px;height:40px;display:grid}.icon-button svg{width:18px}.avatar{background:var(--ink);color:var(--bg);border-radius:50%;font-weight:700}.layout{grid-template-columns:210px minmax(0,1fr);max-width:1240px;margin:auto;display:grid}.sidebar{border-right:1px solid var(--line);flex-direction:column;gap:8px;height:calc(100dvh - 74px);padding:35px 24px;display:flex;position:sticky;top:74px}.sidebar a,.ask-side{height:46px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:0 14px;font-weight:600;text-decoration:none;display:flex}.sidebar a svg,.ask-side svg{width:19px}.sidebar a.active{background:var(--surface);color:var(--ink);box-shadow:0 5px 18px #1416140d}.sidebar a.active svg{color:var(--coral)}.ask-side{color:var(--blue);background:var(--blue-soft);margin-top:auto}.main-content{min-width:0;padding:52px clamp(28px,5vw,72px) 100px}.page{max-width:920px;margin:auto}.hero{background:var(--ink);min-height:220px;color:var(--bg);border-radius:34px;justify-content:space-between;padding:44px 50px;display:flex;position:relative;overflow:hidden}.hero h1{letter-spacing:-2px;margin:5px 0 14px;font:800 clamp(36px,5vw,60px)/1.05 Manrope}.hero h1 span{color:var(--coral)}.hero p:last-child{color:color-mix(in srgb,var(--bg) 70%,transparent);font-size:17px}.eyebrow{letter-spacing:.17em;color:var(--coral);margin:0 0 7px;font:700 11px Manrope}.orbit{border:1px solid color-mix(in srgb,var(--bg) 20%,transparent);border-radius:50%;place-items:center;width:180px;height:180px;margin:-23px -5px -20px 20px;display:grid;position:relative}.orbit:before{content:"";border:1px solid color-mix(in srgb,var(--bg) 12%,transparent);border-radius:50%;position:absolute;inset:22px}.orbit span{filter:drop-shadow(0 12px 18px #00000059);font-size:54px;animation:4s ease-in-out infinite float}.orbit i{background:var(--coral);border-radius:50%;width:10px;height:10px;position:absolute;top:12px;left:50%}.orbit i:last-child{background:var(--mint);top:auto;bottom:20px;left:15px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 50px;display:grid}.stat{border-radius:24px;flex-direction:column;justify-content:space-between;min-height:120px;padding:23px 25px;display:flex}.stat.coral{background:var(--coral-soft)}.stat.blue{background:var(--blue-soft)}.stat.mint{background:var(--mint-soft)}.stat strong{font:800 38px Manrope}.stat span{color:var(--muted);font-weight:600}.section-head,.page-title{justify-content:space-between;align-items:end;margin:0 0 22px;display:flex}.section-head h2,.page-title h1{letter-spacing:-.8px;margin:0;font:800 28px Manrope}.section-head a{color:var(--ink);border-bottom:2px solid var(--coral);font-weight:700;text-decoration:none}.page-title button{background:var(--ink);color:var(--bg);border:0;border-radius:14px;align-items:center;gap:8px;padding:12px 16px;font-weight:700;display:flex}.page-title button svg{width:17px}.timeline{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;overflow:hidden}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:72px 44px 1fr 40px;align-items:center;gap:12px;min-height:82px;padding:10px 22px;display:grid}.timeline article:last-child{border-bottom:0}.timeline time{color:var(--muted);font-size:13px;font-weight:600}.person-dot{background:var(--coral-soft);width:40px;height:40px;color:var(--coral);border-radius:14px;place-items:center;font-weight:800;display:grid}.timeline article div{flex-direction:column;gap:3px;display:flex}.timeline small,.person-card small,.setting-row small{color:var(--muted)}.timeline article button{background:var(--surface-2);border:0;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.timeline article button svg{width:17px}.notice{text-align:center;min-height:220px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.notice svg{color:var(--coral);margin-bottom:14px}.notice strong{color:var(--ink);font:700 18px Manrope}.notice p{max-width:380px}.skeleton{background:linear-gradient(90deg,var(--surface) 20%,var(--surface-2) 50%,var(--surface) 80%);background-size:300% 100%;height:80px;margin:1px;animation:1.4s infinite shine}.card-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.person-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;align-items:center;gap:14px;padding:18px;display:flex}.person-card div{flex-direction:column;gap:4px;display:flex}.calendar-card,.settings-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:28px;padding:28px}.calendar-card header{justify-content:space-between;align-items:center;font:700 18px Manrope;display:flex}.calendar-card header button{background:var(--surface-2);border:0;border-radius:10px;width:36px;height:36px}.weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:7px;margin-top:20px;display:grid}.weekdays span{text-align:center;color:var(--muted);font-size:12px}.calendar-grid button{aspect-ratio:1;background:0 0;border:0;border-radius:14px}.calendar-grid button:hover{background:var(--surface-2)}.calendar-grid .selected{background:var(--coral);color:#fff;font-weight:800}.calendar-grid .muted{color:var(--line)}.settings-card h3{margin-bottom:5px;font:700 18px Manrope}.settings-card>p{color:var(--muted)}.settings-card hr{border:0;border-top:1px solid var(--line);margin:30px 0}.segmented{background:var(--surface-2);border-radius:14px;width:max-content;padding:4px;display:flex}.segmented button{text-transform:capitalize;background:0 0;border:0;border-radius:11px;padding:9px 17px}.segmented button.active{background:var(--surface);box-shadow:0 3px 10px #00000014}.setting-row{justify-content:space-between;align-items:center;padding:16px 0;display:flex}.setting-row span{flex-direction:column;gap:3px;display:flex}.setting-row input{width:20px;height:20px;accent-color:var(--coral)}.bottom-nav,.fab{display:none}.palette-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0507058f;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.palette{border:1px solid var(--line);background:var(--surface);border-radius:24px;width:min(620px,100vw - 30px);overflow:hidden;box-shadow:0 30px 100px #0000004d}.palette header{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr 40px;align-items:center;gap:10px;height:70px;padding:0 18px;display:grid}.palette header>svg{color:var(--coral)}.palette input{color:var(--ink);background:0 0;border:0;outline:0;font-size:17px}.palette header button{background:0 0;border:0}.palette-tips{gap:5px;padding:12px;display:grid}.palette-tips button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:12px;padding:13px;display:flex}.palette-tips button:hover{background:var(--surface-2);color:var(--ink)}.palette-tips svg{width:18px}.palette>small{color:var(--muted);padding:0 25px 20px;display:block}@keyframes float{50%{transform:translateY(-9px)rotate(4deg)}}@keyframes shine{to{background-position:-300% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){.topbar{height:62px;padding:0 17px}.brand{font-size:18px}.top-actions .icon-button:first-child{display:none}.layout{display:block}.sidebar{display:none}.main-content{padding:24px 15px 112px}.hero{border-radius:28px;min-height:205px;padding:30px 26px}.hero h1{letter-spacing:-1.5px;font-size:37px}.orbit{opacity:.72;width:135px;height:135px;position:absolute;bottom:-31px;right:-32px}.orbit span{font-size:38px}.stat-grid{gap:8px;margin:11px 0 38px}.stat{border-radius:19px;min-height:94px;padding:16px}.stat strong{font-size:28px}.stat span{font-size:12px}.timeline article{grid-template-columns:50px 40px 1fr;padding:9px 13px}.timeline article button{display:none}.bottom-nav{z-index:30;height:76px;padding:8px 6px max(8px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;font-weight:600;text-decoration:none;display:flex}.bottom-nav a svg{width:20px}.bottom-nav a.active{color:var(--coral)}.fab{z-index:31;background:var(--coral);color:#fff;border:0;border-radius:18px 18px 18px 7px;place-items:center;width:52px;height:52px;display:grid;position:fixed;bottom:89px;right:18px;box-shadow:0 14px 28px #ff6c5754}.card-grid{grid-template-columns:1fr}.page-title{margin-bottom:20px}.page-title h1{font-size:30px}.page-title button{place-items:center;width:44px;height:44px;padding:0;font-size:0;display:grid}.calendar-card,.settings-card{border-radius:23px;padding:20px 15px}.calendar-grid{gap:2px}.palette-backdrop{padding-top:8vh}}.access-gate{text-align:center;background:radial-gradient(circle at 50% 35%,var(--coral-soft),var(--bg) 42%);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:30px;display:flex}.access-gate .brand-mark{width:64px;margin-bottom:24px;font-size:30px}.access-gate h1{margin:4px 0 12px;font:800 clamp(32px,6vw,54px) Manrope}.access-gate p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:17px}.access-gate a,.primary{background:var(--ink);color:var(--bg);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:750;text-decoration:none;display:inline-flex}.access-gate small{color:var(--muted);margin-top:18px}.search-field{border:1px solid var(--line);background:var(--surface);border-radius:15px;align-items:center;gap:10px;height:48px;margin-bottom:20px;padding:0 15px;display:flex}.search-field svg{width:18px;color:var(--muted)}.search-field input{color:var(--ink);background:0 0;border:0;outline:0;width:100%}.timeline article>a{background:var(--surface-2);width:38px;height:38px;color:var(--ink);border-radius:12px;place-items:center;display:grid}.timeline article>a svg{width:17px}.spaced{margin-top:16px}.tall{border-radius:24px;height:240px}.month-list{gap:18px;display:grid}.month-list>article{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:20px}.month-list h2{text-transform:capitalize;margin:0 0 12px;font:750 20px Manrope}.calendar-person{border-top:1px solid var(--line);grid-template-columns:36px 42px 1fr;align-items:center;gap:12px;min-height:62px;display:grid}.calendar-person>strong{color:var(--coral);text-align:center;font:800 18px Manrope}.calendar-person>div{flex-direction:column;display:flex}.calendar-person small{color:var(--muted)}.inline-form{grid-template-columns:minmax(150px,.8fr) minmax(180px,1.5fr) auto;gap:10px;display:grid}.inline-form input,.inline-form select,.form-stack input,.upload-zone input{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);border-radius:12px;padding:12px}.inline-form .primary svg,.settings-links svg,.primary svg{width:17px}.form-stack{gap:16px;display:grid}.form-stack label{color:var(--muted);gap:6px;font-size:13px;font-weight:650;display:grid}.form-row{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.modal{background:var(--surface);border:1px solid var(--line);border-radius:26px;width:min(560px,100vw - 28px);padding:22px;box-shadow:0 30px 100px #00000059}.modal>header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal h2{margin:0;font:800 24px Manrope}.modal header button{color:var(--ink);background:0 0;border:0}.inline-error{color:#d63b35;background:#d63b351a;border-radius:12px;margin:10px 0;padding:11px 13px}.upload-zone{border:1px dashed var(--muted);text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:24px;display:flex}.upload-zone>svg{width:34px;height:34px;color:var(--coral);margin-bottom:12px}.upload-zone p{color:var(--muted)}.upload-zone input{max-width:420px;margin:8px 0 14px}.preview-list{gap:7px;margin:18px 0;display:grid}.preview-list>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.preview-list small{color:var(--muted)}.secondary{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:13px;padding:11px 15px;font-weight:700}.secret-result{grid-template-columns:1fr auto;gap:8px;margin-top:12px;display:grid}.secret-result code{background:var(--surface-2);color:var(--muted);border-radius:10px;padding:12px;overflow:auto}.secret-result button{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:0 14px}.settings-links{grid-template-columns:1fr 1fr;gap:10px;display:grid}.settings-links a{background:var(--surface-2);color:var(--ink);border-radius:14px;align-items:center;gap:10px;padding:14px;font-weight:700;text-decoration:none;display:flex}.assistant-result{gap:12px;max-height:55vh;padding:20px;display:grid;overflow:auto}.assistant-result article{background:var(--surface-2);border-radius:14px;gap:7px;padding:14px;display:grid}.assistant-result small{color:var(--muted);display:block}.segmented.wrap{flex-wrap:wrap}.primary:disabled,.secondary:disabled{opacity:.55;cursor:wait}@media (width<=720px){.inline-form{grid-template-columns:1fr}.form-row{grid-template-columns:1fr 1fr}.settings-links{grid-template-columns:1fr}.modal{max-height:85dvh;overflow:auto}.month-list>article{padding:16px}.secret-result{grid-template-columns:1fr}.secret-result button{padding:10px}.palette{max-height:82dvh;overflow:auto}.top-actions .icon-button:first-child{display:grid}}a.person-card,a.calendar-person{color:inherit;text-decoration:none}.interactive{transition:transform .18s,border-color .18s,box-shadow .18s}.interactive:hover{border-color:color-mix(in srgb,var(--coral) 45%,var(--line));box-shadow:var(--shadow);transform:translateY(-2px)}.filter-bar{grid-template-columns:minmax(220px,1fr) 170px 160px;gap:10px;margin-bottom:24px;display:grid}.filter-bar select,.gift-form select,.gift-form input,.select-row select,.select-row input,.delete-row input{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink);border-radius:15px;padding:0 14px}.filter-bar .search-field{margin:0}.insight-card{border:1px solid color-mix(in srgb,var(--blue) 30%,var(--line));background:linear-gradient(135deg,var(--blue-soft),var(--surface));max-width:84%;box-shadow:var(--shadow);border-radius:20px;align-items:flex-start;gap:14px;margin:-28px auto 44px;padding:18px 20px;display:flex;position:relative}.insight-card svg{color:var(--blue);flex:none}.insight-card p{color:var(--muted);margin:5px 0 0}.profile-hero{border:1px solid var(--line);background:linear-gradient(145deg,var(--surface),var(--coral-soft));border-radius:30px;align-items:center;gap:22px;margin-bottom:22px;padding:28px;display:flex}.profile-hero h1{margin:0;font:800 clamp(30px,5vw,48px) Manrope}.profile-hero p{color:var(--muted);margin:4px 0}.profile-hero .secondary{margin-left:auto}.profile-avatar{background:var(--ink);width:86px;height:86px;color:var(--bg);border-radius:28px;place-items:center;font:800 30px Manrope;display:grid;box-shadow:0 14px 30px #00000029}.profile-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.profile-grid .settings-card{margin:0}.info-row{border-bottom:1px solid var(--line);gap:4px;padding:13px 0;display:grid}.info-row small{color:var(--muted)}.danger-card{border-color:color-mix(in srgb,#e64747 35%,var(--line))}.gift-form{grid-template-columns:1.1fr 1.4fr .7fr 1fr auto;gap:10px;display:grid}.gift-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.gift-board>section{background:var(--surface-2);border-radius:22px;min-height:150px;padding:12px}.gift-board h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;padding:0 6px;font:700 13px Manrope;display:flex}.gift-board h3 span{background:var(--surface);border-radius:10px;padding:2px 7px}.gift-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:7px;margin-top:9px;padding:14px;display:grid}.gift-card small{color:var(--muted)}.gift-card>div{gap:6px;display:flex}.gift-card select{background:var(--surface-2);border:0;border-radius:9px;flex:1;min-width:0;padding:7px}.gift-card button{color:#dc5555;background:0 0;border:0}.gift-card svg{width:16px}.settings-grid .settings-card{margin:0}.premium-card>header{gap:13px;margin-bottom:18px;display:flex}.premium-card>header>span{background:var(--coral-soft);width:40px;height:40px;color:var(--coral);border-radius:14px;place-items:center;display:grid}.premium-card>header svg{width:19px}.premium-card>header h3{margin:0}.premium-card>header p{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.45}.language-grid{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.language-grid button{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:9px}.language-grid button.active{background:var(--ink);color:var(--bg)}.select-row{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.select-row select,.select-row input{min-height:40px}.connection-actions{flex-wrap:wrap;gap:8px;display:flex}.connection-actions button,.link-button{width:auto}.success-note{color:var(--mint);font-size:13px;font-weight:600}.provider-note{color:var(--muted);font-size:12px}.identity-row{color:var(--muted);align-items:flex-start;gap:10px;font-size:13px;display:flex}.identity-row svg{width:18px;color:var(--mint);flex:none}.delete-row{grid-template-columns:1fr auto;gap:8px;margin-top:14px;display:grid}.operation-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.operation-grid span{background:var(--surface-2);color:var(--muted);border-radius:14px;gap:5px;padding:14px;font-size:12px;display:grid}.operation-grid b{color:var(--ink);font:800 26px Manrope}.access-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.access-actions a{justify-content:center;align-items:center;gap:8px;display:flex}.access-actions svg{width:18px}.google-login{border:1px solid var(--line);background:var(--surface)!important;color:var(--ink)!important}.pulse{animation:1.8s ease-in-out infinite pulse}.date-chip{color:var(--coral);background:var(--coral-soft);border-radius:12px;padding:8px;font-weight:800}.view-switch{width:max-content;margin-bottom:22px}.link-button{align-items:center;gap:8px;text-decoration:none;display:inline-flex!important}.danger{color:#fff;background:#b92f37;border:0;border-radius:13px;align-items:center;gap:7px;padding:11px 14px;font-weight:700;display:flex}.danger:disabled{opacity:.45}.danger svg{width:17px}.form-stack textarea{resize:vertical;min-height:100px}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root[data-density=compact] .person-card,:root[data-density=compact] .timeline article{min-height:62px}:root[data-density=compact] .settings-card{padding:18px}@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 10px 30px #ff6c5766}}@media (width<=1050px){.gift-form{grid-template-columns:1fr 1fr}.gift-form button{grid-column:span 2}.gift-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar .search-field{grid-column:span 2}.profile-grid,.settings-grid,.gift-board{grid-template-columns:1fr}.profile-hero{flex-wrap:wrap;align-items:flex-start}.profile-hero .secondary{margin-left:0}.language-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=520px){.gift-form{grid-template-columns:1fr}.gift-form button{grid-column:auto}.filter-bar{grid-template-columns:1fr}.filter-bar .search-field{grid-column:auto}.profile-avatar{border-radius:22px;width:66px;height:66px}.delete-row{grid-template-columns:1fr}.insight-card{max-width:94%}}
