:root{--berry: #D62246;--gold: #E8A93B;--evergreen: #1F7A5A;--bg: #FBF6EE;--card: #FFFFFF;--ink: #2B1D1A;--muted: #8A766C;--line: #EEE4D8;--field: #F6EFE5;--p: var(--berry);--p-glow: #E25C77;--p-tint: #FBE9ED;--radius: 24px;--shadow: 0 6px 18px rgba(60, 30, 20, .07);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #17120F;--card: #241D19;--ink: #F6EEE6;--muted: #B4A398;--line: #3A2F29;--field: #2E2520;--shadow: 0 6px 18px rgba(0, 0, 0, .35);color-scheme:dark}}:root[data-theme=dark]{--bg: #17120F;--card: #241D19;--ink: #F6EEE6;--muted: #B4A398;--line: #3A2F29;--field: #2E2520;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:500 16px/1.5 Nunito,ui-rounded,SF Pro Rounded,-apple-system,Segoe UI,system-ui,sans-serif;background-image:radial-gradient(circle at 20% 30%,rgba(232,169,59,.1) 0 2px,transparent 3px),radial-gradient(circle at 70% 70%,rgba(232,169,59,.08) 0 3px,transparent 4px),radial-gradient(circle at 40% 85%,rgba(232,169,59,.07) 0 2px,transparent 3px);background-size:96px 96px,140px 140px,120px 120px;min-height:100vh}a{color:var(--p);font-weight:700}h1,h2,h3{margin:0;font-weight:900;letter-spacing:-.01em}p{margin:0}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:var(--ink);width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--field)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 18%,transparent)}input:disabled,textarea:disabled{opacity:.6}input[type=color]{width:56px;height:40px;padding:3px}textarea{resize:vertical}:focus-visible{outline:3px solid color-mix(in srgb,var(--p) 55%,transparent);outline-offset:2px}hr{border:0;border-top:1px solid var(--line);margin:4px 0}svg{vertical-align:-.15em;flex-shrink:0}.sr-only,.field-group legend.sr-only{position:absolute!important;width:1px!important;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;float:none;margin:0;padding:0}.muted{color:var(--muted)}.small{font-size:13.5px}.block{display:block}.grow{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-text{text-align:center}.row{display:flex;align-items:center;gap:12px}.row-end{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.row-3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:10px}.row-2>*,.row-3>*,.row>*{min-width:0}.stack{display:flex;flex-direction:column;gap:26px}.stack-sm{display:flex;flex-direction:column;gap:12px}.error-text{color:var(--berry);font-weight:700;font-size:14px;display:flex;gap:6px;align-items:center}.ok-text{color:var(--evergreen);font-weight:800;font-size:14px;display:flex;gap:6px;align-items:center;justify-content:center}.hint{color:var(--muted);font-size:13.5px}.page{max-width:760px;margin:0 auto;padding:0 20px 64px}.page.center{min-height:100vh;display:grid;place-items:center}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:12px 0;margin-bottom:8px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-title{text-align:center;font-weight:800;text-decoration:none;color:var(--ink)}.topbar-title.hidden{visibility:hidden}.topbar-actions{display:flex;gap:4px;justify-content:flex-end;position:relative}.back-link{display:inline-flex;align-items:center;gap:4px;text-decoration:none}.site-footer{text-align:center;color:var(--muted);font-size:13px;padding-top:12px}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:var(--card);color:var(--p);cursor:pointer;box-shadow:var(--shadow)}.icon-btn.gold{color:var(--gold)}.icon-btn.small{width:34px;height:34px;box-shadow:none;background:transparent;color:var(--muted)}.icon-btn.small:hover{background:var(--field)}.icon-btn.danger{color:var(--berry)}.icon-btn.filled{background:var(--p);color:#fff}.icon-btn:disabled{opacity:.4;cursor:default}.menu{position:absolute;right:0;top:50px;z-index:20;min-width:230px;background:var(--card);border-radius:16px;padding:6px;box-shadow:0 16px 40px #0000002e}.menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:0;background:none;border-radius:10px;cursor:pointer;font-weight:700}.menu-item:hover{background:var(--field)}.menu-item.danger{color:var(--berry)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:0;border-radius:999px;cursor:pointer;font-weight:800;font-size:16px;text-decoration:none;transition:transform .12s,filter .12s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-block{width:100%;padding:15px 20px}.btn-primary{color:#fff;background:linear-gradient(90deg,var(--p),var(--p-glow));box-shadow:0 8px 18px -8px var(--p)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-soft{color:var(--p);background:color-mix(in srgb,var(--p) 12%,transparent)}.btn-ghost{color:var(--muted);background:transparent}.btn-danger{color:#fff;background:var(--berry)}.btn-white{background:#fff;color:var(--p);box-shadow:0 6px 16px -6px #00000040}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border:0;text-align:left;width:100%}.card.list{padding:0;overflow:hidden}.nav-card{cursor:pointer}.section-header{display:flex;align-items:center;gap:8px}.section-header h2{font-size:21px}.section-icon{color:var(--gold);display:inline-flex}.tile-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;flex-shrink:0}.skeleton{height:120px;border-radius:var(--radius);background:linear-gradient(90deg,var(--card),var(--field),var(--card));background-size:200% 100%;animation:shimmer 1.2s infinite}.skeleton.tall{height:320px}@keyframes shimmer{to{background-position:-200% 0}}.slide-in{animation:slide-in .4s ease-out}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:800;width:fit-content}.pill-on-color{color:#fff;background:#ffffff38}.premium-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:900;color:#fff;background:linear-gradient(90deg,var(--gold),#F09A3E)}.avatar{display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:900;flex-shrink:0}.wordmark{display:inline-flex;align-items:center;gap:.2em;font-weight:900;color:var(--berry)}.wordmark.on-color{color:#fff}.occasion-badge{display:inline-grid;place-items:center;color:#fff}.hero{position:relative;overflow:hidden;color:#fff;border-radius:28px;padding:26px;box-shadow:0 16px 32px -14px var(--p, var(--berry));background-size:110px 110px,cover}.hero-watermark{position:absolute;right:-24px;top:-22px;opacity:.14;transform:rotate(-14deg);pointer-events:none}.hero-content{position:relative;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.hero h1{font-size:clamp(30px,6vw,42px);line-height:1.1}.hero h1.h-compact{font-size:clamp(26px,5vw,32px)}.hero-text{opacity:.92;max-width:560px}.hero-top{display:flex;justify-content:space-between;align-items:center;width:100%}.hero-logo{height:40px;background:#fff;border-radius:10px;padding:5px}.kicker{font-size:12.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#fff3;font-size:14px;font-weight:800}.countdown{font-size:20px;font-weight:900}.hero-note{background:#ffffff2e;border-radius:14px;padding:12px 14px;width:100%}.hero-small{font-size:13px;font-weight:700;opacity:.9;display:flex;gap:6px;align-items:center}.ticket{display:flex;align-items:stretch;min-height:112px;text-decoration:none;color:var(--ink);background:var(--card);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s}.ticket:hover{transform:translateY(-2px)}.ticket-stub{width:84px;flex-shrink:0;display:grid;place-items:center;color:#fff;background-size:50px 50px,cover}.ticket-perf{width:6px;margin-left:-3px;background:radial-gradient(circle,var(--bg) 2.5px,transparent 3px) 0 0 / 6px 12px repeat-y}.ticket-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:14px 10px 14px 12px}.ticket-kicker{font-size:11.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ticket-name{font-weight:900;font-size:18px;line-height:1.25}.ticket-meta{display:flex;gap:12px;color:var(--muted);font-size:13px}.ticket-meta span{display:inline-flex;align-items:center;gap:4px}.ticket-count{align-self:center;margin-right:16px;width:60px;height:60px;border-radius:50%;display:grid;place-content:center;text-align:center;line-height:1;flex-shrink:0}.ticket-count strong{font-size:22px;font-weight:900}.ticket-count small{font-size:11px;font-weight:800}.ticket-chevron{align-self:center;margin-right:16px;color:var(--muted)}.shelf{display:flex;gap:12px;overflow-x:auto;padding:4px 20px 14px;margin:0 -20px;scroll-snap-type:x mandatory;scrollbar-width:none}.shelf::-webkit-scrollbar{display:none}.shelf-tile{flex:0 0 136px;height:148px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:14px;border:0;border-radius:22px;color:#fff;text-align:left;cursor:pointer;background-size:70px 70px,cover;transition:transform .15s}.shelf-tile:hover{transform:translateY(-3px)}.shelf-name{font-weight:900;line-height:1.2;margin-top:auto}.shelf-season{font-size:12px;font-weight:800;opacity:.85}.gift-reveal{width:100%;min-height:230px;border:0;border-radius:26px;color:#fff;cursor:pointer;display:grid;place-items:center;padding:24px;background-size:90px 90px,cover;box-shadow:0 14px 28px -14px var(--p)}.gift-closed,.gift-open{display:flex;flex-direction:column;align-items:center;gap:12px;animation:pop .45s cubic-bezier(.2,1.4,.4,1)}.wrapped-gift{filter:drop-shadow(0 10px 12px rgba(0,0,0,.2));animation:sway 1.8s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes pop{0%{opacity:0;transform:scale(.7)}}.gift-title{font-weight:800;font-size:18px}.gift-cta{background:#fff;border-radius:999px;padding:7px 16px;font-weight:900}.gift-label{opacity:.9;font-weight:700}.gift-name{font-size:clamp(34px,8vw,48px);font-weight:900;line-height:1.1;text-shadow:0 2px 6px rgba(0,0,0,.15);text-align:center}.gift-secret{display:inline-flex;align-items:center;gap:6px;background:#ffffff38;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:800}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:100}@media (prefers-reduced-motion: reduce){.wrapped-gift,.gift-closed,.gift-open,.slide-in{animation:none}}.wish-list{list-style:none;padding:0;margin:0}.wish-list li{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}.wish-list li:last-child{border-bottom:0}.wish-bullet{color:var(--p);margin-top:4px}.good-to-know{background:color-mix(in srgb,var(--gold) 16%,transparent);border-radius:14px;padding:12px 14px;display:flex;gap:8px}.join-card{max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px}.person{display:flex;align-items:center;border-bottom:1px solid var(--line)}.person:last-child{border-bottom:0}.person-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:12px 6px 12px 14px;border:0;background:none;text-align:left;cursor:pointer}.person-main:hover{background:color-mix(in srgb,var(--field) 60%,transparent)}.person-name{display:block;font-weight:800}.you{font-size:10.5px;font-weight:900;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--gold) 22%,transparent);color:#b07a16;margin-left:4px}.person-meta{display:flex;gap:10px;color:var(--muted);font-size:12.5px}.person-meta span{display:inline-flex;align-items:center;gap:3px}.person-actions{display:flex;padding-right:8px}.extra{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;background:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--line)}.extra:last-child{border-bottom:0}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:50px;height:30px;padding:0;border:0;border-radius:999px;background:var(--line);position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch:checked{background:var(--p)}.switch:checked:after{transform:translate(20px)}.switch:focus{box-shadow:none}.modal{padding:0;border:0;background:transparent;overflow:visible;max-width:min(520px,calc(100vw - 24px));width:100%;max-height:calc(100vh - 32px);color:var(--ink)}.modal-wide{max-width:min(640px,calc(100vw - 24px))}.modal::backdrop{background:#1e0f0a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal[open]{animation:modal-in .25s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(16px) scale(.98)}}.modal-inner{background:var(--bg);border-radius:28px;display:flex;flex-direction:column;max-height:calc(100vh - 32px);box-shadow:0 24px 60px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 8px}.modal-header h2{font-size:20px}.modal-header .icon-btn{box-shadow:none;color:var(--muted)}.modal-body{padding:8px 20px 20px;overflow-y:auto;overflow-x:hidden}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--line)}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0;font-weight:800;font-size:14px}.field-group{border:0;margin:0;padding:16px;background:var(--card);border-radius:20px;display:flex;flex-direction:column;gap:12px}.field-group legend{float:left;width:100%;font-weight:900;font-size:15px;padding:0;margin-bottom:2px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}.person-row{gap:10px}.occasion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.occasion-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:8px;border:0;border-radius:16px;cursor:pointer;font-size:12.5px;font-weight:800;text-align:center;line-height:1.2;transition:transform .15s}.occasion-option.selected{color:#fff;transform:scale(1.04)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip-btn{border:0;border-radius:999px;padding:5px 12px;background:var(--field);font-weight:800;font-size:13px;cursor:pointer}.check-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.check-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;cursor:pointer;font-weight:700}.check-item input{width:18px;height:18px;accent-color:var(--berry)}.check-item.on{background:color-mix(in srgb,var(--berry) 9%,transparent)}.wish-edit{gap:8px;position:relative}.wish-title{font-weight:800}.wish-tools{display:flex;justify-content:flex-end;gap:2px}.chat{display:flex;flex-direction:column;gap:10px;min-height:420px}.chat-intro{text-align:center;padding:0 12px}.chat-log{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:50vh;padding:4px}.bubble{max-width:80%;padding:9px 14px;border-radius:18px 18px 18px 6px;background:var(--card);box-shadow:var(--shadow);white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine{align-self:flex-end;border-radius:18px 18px 6px;background:var(--p);color:#fff}.chat-compose{display:flex;gap:8px;align-items:flex-end}.chat-compose textarea{border-radius:20px;resize:none}.brand-preview{border-radius:18px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}.brand-preview-head{color:#fff;font-weight:900;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.brand-preview-head img{height:26px;background:#fff;border-radius:6px;padding:2px}.brand-preview-body{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.brand-preview-name{font-size:26px;font-weight:900}.brand-preview-msg{font-size:13px;padding:8px 10px;border-radius:10px}.paywall{display:flex;flex-direction:column;align-items:center;gap:16px}.paywall-art{width:220px;height:220px;border-radius:36px;box-shadow:0 16px 32px -12px #d6224673}.paywall-title{font-size:30px}.perk{display:flex;gap:14px;align-items:flex-start;padding:6px;border-radius:16px}.perk.highlight{padding:10px}.toast{position:fixed;left:50%;bottom:24px;z-index:200;transform:translate(-50%,140%);background:var(--ink);color:var(--bg);padding:13px 20px;border-radius:999px;font-weight:800;box-shadow:0 10px 28px #00000040;transition:transform .3s ease-out;max-width:calc(100vw - 32px);text-align:center}.toast.show{transform:translate(-50%)}.toast:empty{visibility:hidden}@media (max-width: 520px){.page{padding:0 16px 56px}.shelf{padding-left:16px;padding-right:16px;margin:0 -16px}.row-2{grid-template-columns:1fr}.hero{padding:22px}.modal{max-width:100vw;margin:auto 0 0}.modal-inner{border-radius:28px 28px 0 0}.ticket-stub{width:72px}}.icon-btn.signed-in{background:var(--berry);color:#fff}.code-input{font-size:28px;letter-spacing:.4em;text-align:center;font-weight:900;font-variant-numeric:tabular-nums}.hero-compact{padding:20px 22px}.hero-compact .hero-watermark{transform:rotate(-14deg) scale(.7);right:-40px;top:-40px}.chat-card .chat{min-height:50vh}.chat-card .chat-log{max-height:55vh}
