:root{--bg:#fff9f6;--surface:#fff;--ink:#292735;--muted:#706d7c;--primary:#6958a6;--primary2:#8d7ac4;--pink:#f7dce8;--mint:#d9eee3;--yellow:#f9edc6;--line:#e8e2e2;--shadow:0 12px 35px #4a375012;color-scheme:light}html[data-theme=dark]{--bg:#1d1b25;--surface:#292633;--ink:#f8f2f4;--muted:#bbb3c0;--primary:#b9a8ef;--primary2:#d2c6fa;--pink:#513847;--mint:#29483d;--yellow:#4c432c;--line:#403b49;--shadow:0 12px 35px #0004;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 ui-rounded,"SF Pro Rounded",system-ui,sans-serif}a{color:inherit}header,footer,main{max-width:1120px;margin:auto;padding:22px 28px}header{display:flex;align-items:center;justify-content:space-between}header nav{display:flex;gap:18px;align-items:center}header nav>a{text-decoration:none}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:1.2rem;font-weight:800}.brand span{font-size:1.65rem}.lang{margin:0}.lang select,.icon{border:0;background:transparent;color:var(--ink)}.icon{font-size:1.2rem;cursor:pointer}main{min-height:calc(100vh - 180px)}footer{display:flex;justify-content:space-between;color:var(--muted);border-top:1px solid var(--line);margin-top:50px}h1,h2{line-height:1.1}h1{font-size:clamp(2.1rem,5vw,4rem);letter-spacing:-.045em;margin:.3em 0}h2{letter-spacing:-.025em}em{color:var(--primary);font-style:normal}.hero{min-height:580px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:30px}.hero p{font-size:1.25rem;max-width:530px;color:var(--muted)}.gift-art{display:grid;place-items:center;aspect-ratio:1;font-size:clamp(7rem,18vw,13rem);background:var(--pink);border-radius:48% 52% 58% 42%/45% 42% 58% 55%;transform:rotate(3deg);box-shadow:var(--shadow)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:800;color:var(--primary)}.button,button{display:inline-block;border:0;border-radius:999px;padding:12px 19px;background:var(--primary);color:white;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.button:hover,button:hover{background:var(--primary2)}.button.secondary,.quiet{background:var(--surface);color:var(--ink);border:1px solid var(--line)}button.danger{background:#a5394d}.steps,.grid,.two-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps article{padding:24px;border-radius:30px}.steps article:nth-child(1){background:var(--pink)}.steps article:nth-child(2){background:var(--mint)}.steps article:nth-child(3){background:var(--yellow)}.steps b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface)}.card{background:var(--surface);padding:25px;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.narrow{max-width:650px;margin:45px auto}.center{text-align:center}.big-icon{font-size:3rem}.form-stack{display:grid;gap:18px}.form-stack>div,.form-stack label{display:grid;gap:6px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 13px;background:var(--bg);color:var(--ink);font:inherit}input[type=checkbox]{width:auto}textarea{resize:vertical}.helptext,.muted,.tiny{color:var(--muted)}.helptext,.tiny{font-size:.82rem}.errorlist{color:#b63450;margin:0}.page-head{display:flex;justify-content:space-between;align-items:end;margin:30px 0}.page-head h1{margin-bottom:0}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.event-card{text-decoration:none}.status{float:right;border-radius:99px;background:var(--yellow);padding:3px 9px;font-size:.75rem}.status.sent{background:var(--mint)}.empty{text-align:center;grid-column:1/-1;padding:60px}.empty span{font-size:4rem}.rule-list{display:grid;gap:12px;margin:30px 0}.rule-list summary{cursor:pointer}.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.chips label{background:var(--bg);border-radius:99px;padding:8px 12px}.notice{padding:13px 18px;background:var(--mint);border-radius:16px;margin:10px 0}.notice.error,.notice.warning{background:var(--yellow)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--muted);margin-right:5px}.dot.sent{background:#d79521}.dot.opened{background:#369465}.actions{display:flex;gap:10px;margin-top:22px}.participant-head{text-align:center;margin:35px}.recipient{text-align:center;background:var(--pink);max-width:650px;margin:0 auto 40px}.recipient h2{font-size:2.2rem}.two-col{grid-template-columns:1fr 1fr;align-items:start}.wishlist{min-height:120px}.search{display:grid;gap:10px}.search .tiny{display:block}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.product{display:grid;gap:5px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px}.product img,.product-blank{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:var(--bg)}.product-blank{display:grid;place-items:center;font-size:2.5rem}.thread{padding:16px}.messages{display:grid;gap:8px;max-height:360px;overflow:auto}.bubble{max-width:85%;background:var(--bg);border-radius:15px 15px 15px 3px;padding:8px 12px}.bubble.mine{justify-self:end;background:var(--mint);border-radius:15px 15px 3px}.bubble small{display:block;color:var(--muted)}.message-form{display:grid;gap:7px;margin-top:12px}.link-button{background:none;color:var(--muted);padding:8px 0;font-size:.8rem}.inline-form{display:flex;gap:7px;margin-top:10px}.inline-form input:first-of-type{flex:1}.personal{margin-top:45px}.prose{max-width:760px;margin:40px auto}.prose h1{font-size:3rem}.prose h2{margin-top:2em}.danger-zone{margin-top:25px}.delete-event{margin-top:45px}.danger-text{color:#b63450}blockquote{border-left:4px solid var(--primary);margin:18px 0;padding:5px 16px}.error{color:#a52d46}@media(max-width:720px){header,footer,main{padding:17px}header nav>a{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:45px 0}.gift-art{max-width:280px;margin:auto}.steps,.two-col{grid-template-columns:1fr}.steps{margin-top:55px}.page-head{align-items:start;gap:20px}.page-head h1{font-size:2.2rem}.table-wrap{padding:8px}.product-grid{grid-template-columns:1fr 1fr}footer{font-size:.85rem}.personal{margin-top:35px}}