@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";:root{--color-coral: #e66d73;--color-coral-deep: #d95b63;--color-coral-ink: #d8666d;--color-coral-dark: #b5474f;--color-blush: #f8e2d3;--color-blush-soft: #f8e6da;--color-peach: #f4bd9c;--color-clay: #e2a18a;--color-apricot: #e8a06e;--color-apricot-paper: #f7d8ba;--color-white: #fff;--color-paper: #fffdf9;--color-cream: #fffaf4;--color-linen: #f8efe8;--color-seam: #f0dfd4;--color-field-edge: #e7d9cf;--color-ink: #3c3438;--color-ink-soft: #7a696a;--color-error: #c2535a;--color-veil: #3b293460;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--text-label: .6875rem;--text-small: .8125rem;--text-body-sm: .875rem;--text-body: 1rem;--text-lead: 1.125rem;--text-logo: 1.3125rem;--text-title-sm: 1.125rem;--text-title: 1.5rem;--text-title-lg: clamp(1.75rem, 1.5rem + .8vw, 2rem);--text-headline: clamp(2.25rem, 1.8rem + 1.6vw, 2.75rem);--text-display: clamp(3.0625rem, 2.2rem + 3.2vw, 4.0625rem);--tracking-display: -.025em;--radius-field: 8px;--radius-card: 12px;--radius-panel: 14px;--radius-modal: 18px;--radius-pill: 999px;--shadow-bow: 0 8px 20px #e66d7330;--shadow-bow-soft: 0 12px 26px #e66d731f;--shadow-paper: 0 18px 35px #ad827e29;--shadow-paper-low: 0 4px 12px #ad827e29;--shadow-cutout: 8px 12px 0 #f0c8a4;--shadow-dialog: 0 20px 60px #3b293440;--ring-focus: 0 0 0 3px #e66d7326}:root{font-family:var(--font-body);color:var(--color-ink);background:var(--color-cream);line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0}header{min-height:80px;flex-wrap:wrap;gap:8px 16px;display:flex;align-items:center;justify-content:space-between;padding:10px 7%;border-bottom:1px solid var(--color-seam);background:var(--color-cream)}.logo{color:var(--color-ink);text-decoration:none;font-weight:700;display:flex;align-items:center;gap:10px;font-size:var(--text-logo);letter-spacing:-.5px}.logo-mark{display:grid;place-items:center;background:var(--color-coral);color:var(--color-white);border-radius:50% 50% 46% 46%;width:1.667em;height:1.667em;font-family:var(--font-display);font-style:italic;font-weight:600}nav{display:flex;align-items:center;gap:30px}nav a,.text-button{color:var(--color-ink-soft);text-decoration:none;font-size:var(--text-body-sm)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-pill);padding:12px 20px;font-weight:600;font-size:var(--text-body-sm)}.primary{background:var(--color-coral);color:var(--color-white);box-shadow:var(--shadow-bow)}.primary:hover{background:var(--color-coral-deep)}.ghost{background:transparent;color:var(--color-ink);border:1px solid var(--color-field-edge)}.hero{min-height:590px;display:flex;max-width:1180px;margin:auto;padding:90px 7% 70px;align-items:center;gap:40px}.hero-copy{width:52%}.eyebrow{color:var(--color-coral-dark);text-transform:uppercase;font-weight:700;font-size:var(--text-label);letter-spacing:1.7px;display:flex;align-items:center;gap:7px;margin:0 0 18px}h1,h2{font-family:var(--font-display);font-weight:600;line-height:1.07;margin:0;color:var(--color-ink);letter-spacing:var(--tracking-display)}h1{font-size:var(--text-display)}h1 em,h2 em{color:var(--color-coral);font-weight:600}.lead{font-size:var(--text-lead);color:var(--color-ink-soft);max-width:450px;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:25px}.text-button{background:none}.trust{margin-top:48px;display:flex;align-items:center;gap:13px;color:var(--color-ink-soft);font-size:var(--text-small)}.trust strong{color:var(--color-ink)}.faces{font-size:var(--text-title);color:var(--color-clay)}.hero-art{width:48%;height:390px;position:relative}.blob{position:absolute;top:25px;right:15px;bottom:0;left:15px;background:var(--color-blush);border-radius:48% 52% 48% 45%;transform:rotate(-7deg)}.gift-card{position:absolute;background:var(--color-paper);box-shadow:var(--shadow-paper);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-coral)}.card-a{width:210px;height:245px;left:22%;top:45px;transform:rotate(5deg);font-family:var(--font-display);font-size:var(--text-title-sm);gap:5px}.card-a small{font:var(--text-label) var(--font-body);color:var(--color-ink-soft)}.ribbon{position:absolute;width:20px;height:100%;background:var(--color-clay);opacity:.18}.card-b{width:150px;height:145px;right:3%;bottom:18px;transform:rotate(-10deg);gap:10px;font-family:var(--font-display);font-size:var(--text-title-sm);text-align:center}.doodle{position:absolute;right:8%;top:15px;color:var(--color-apricot);font-size:var(--text-headline)}.how{background:var(--color-linen);padding:90px 7%;text-align:center}.how h2,.invite h2{font-size:var(--text-headline)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:900px;margin:65px auto 0;text-align:left}.step span{color:var(--color-clay);font:italic var(--text-title) var(--font-display)}.step h3{font-family:var(--font-display);font-size:var(--text-title);margin:12px 0 8px}.step p,.invite p:not(.eyebrow){color:var(--color-ink-soft);font-size:var(--text-body);margin:0}.invite{display:flex;justify-content:space-between;align-items:center;max-width:980px;margin:auto;padding:100px 7%}.mini-note{background:var(--color-apricot-paper);width:190px;height:210px;display:grid;place-items:center;text-align:center;transform:rotate(5deg);padding:20px;color:var(--color-coral-dark);font-family:var(--font-display);font-size:var(--text-title);box-shadow:var(--shadow-cutout)}.mini-note strong{font-size:var(--text-title);color:var(--color-ink)}.mini-note button{background:none;color:var(--color-coral-dark);font-size:var(--text-small);font-weight:700}.dashboard{background:var(--color-linen);padding:55px 7%}.dashboard-inner{max-width:980px;margin:auto}.dash-top{display:flex;justify-content:space-between;align-items:center}.dash-top h2{font-size:var(--text-headline)}.dash-top h2 span{color:var(--color-apricot)}.dash-card{background:var(--color-cream);border:1px solid var(--color-seam);border-radius:var(--radius-panel);padding:26px;display:flex;justify-content:space-between;align-items:center;margin-top:28px}.pill{font-size:var(--text-label);letter-spacing:1px;color:var(--color-coral-dark);font-weight:700}.dash-card h3{font-family:var(--font-display);font-size:var(--text-title);margin:7px 0 2px}.dash-card p{margin:0;color:var(--color-ink-soft);font-size:var(--text-small)}.add-form{display:flex;gap:10px;margin-top:14px}.add-form input,.modal input{border:1px solid var(--color-field-edge);border-radius:var(--radius-field);background:var(--color-paper);padding:13px 15px;outline:none;width:100%}.dash-gifts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}.dash-gifts>div{background:var(--color-cream);padding:16px;border-radius:10px;display:flex;align-items:center;gap:10px;color:var(--color-ink)}.dash-gifts small{margin-left:auto;color:var(--color-ink-soft);font-size:var(--text-small)}.avatar{border-radius:50%;background:var(--color-clay);color:var(--color-white);width:34px;height:34px;font-weight:700}.public-page{max-width:1000px;margin:auto;padding:65px 7%}.public-head{text-align:center}.avatar-big{width:1.78em;height:1.78em;border-radius:50%;background:var(--color-peach);color:var(--color-white);font:var(--text-headline) var(--font-display);display:grid;place-items:center;margin:0 auto 20px}.public-head h1{font-size:var(--text-headline)}.public-head>p:not(.eyebrow){color:var(--color-ink-soft);max-width:400px;margin:15px auto 22px}.list-title{display:flex;gap:15px;align-items:center;margin:75px 0 25px}.list-title>span{font-size:var(--text-title-lg);color:var(--color-apricot)}.list-title h2{font-size:var(--text-title-lg)}.list-title p{margin:4px 0;color:var(--color-ink-soft)}.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gift-item{background:var(--color-white);border:1px solid var(--color-seam);border-radius:var(--radius-card);overflow:hidden}.gift-image{height:150px;background:var(--color-blush-soft);display:grid;place-items:center;color:var(--color-clay)}.gift-image img{width:100%;height:100%;object-fit:cover}.gift-info{padding:18px}.gift-info h3{font-family:var(--font-display);margin:0 0 5px}.gift-info p{font-size:var(--text-body-sm);color:var(--color-ink-soft);min-height:36px;margin:0 0 9px}.small{padding:9px 13px;font-size:var(--text-small);width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-veil);display:grid;place-items:center;z-index:5;padding:20px}.modal{position:relative;background:var(--color-cream);border-radius:var(--radius-modal);padding:38px;max-width:420px;width:100%;box-shadow:var(--shadow-dialog)}.modal h2{font-size:var(--text-title-lg);margin-bottom:25px}.modal input{margin-bottom:11px}.close{position:absolute;right:17px;top:17px;background:none;color:var(--color-ink-soft)}.full{width:100%;margin-top:8px}.error{color:var(--color-error);font-size:var(--text-small)}.switch{text-align:center;font-size:var(--text-small);color:var(--color-ink-soft)}.switch button{background:none;color:var(--color-coral-dark);font-weight:700}.toast{position:fixed;bottom:22px;right:22px;background:var(--color-ink);color:var(--color-white);padding:14px 17px;border-radius:9px;display:flex;gap:14px;align-items:center;font-size:var(--text-small);z-index:8}@media(max-width:700px){header{padding:10px 5%;min-height:70px}nav a{display:none}.hero{padding:60px 7%;display:block}.hero-copy{width:100%}.hero-art{width:100%;height:300px;margin-top:25px}.steps,.gift-grid{grid-template-columns:1fr}.how,.invite{padding:70px 7%}.steps{gap:30px;margin-top:40px}.invite{display:block}.mini-note{margin:40px auto 0}.dashboard{padding:40px 5%}.dash-card{display:block}.dash-card .button{margin-top:18px}.dash-gifts{grid-template-columns:1fr}.public-page{padding:45px 5%}}.import-modal{max-width:560px}.import-list{list-style:none;margin:12px 0 18px;padding:0;max-height:50vh;overflow:auto;display:grid;gap:6px}.import-list label{display:grid;grid-template-columns:auto 72px 1fr auto;align-items:center;gap:10px;padding:6px;border-radius:10px;cursor:pointer}.import-list label:hover{background:var(--color-blush-soft)}.import-list input{width:auto;margin:0}.import-list img{width:72px;height:34px;object-fit:cover;border-radius:6px}.import-list small{color:var(--color-ink-soft)}.google-button{display:flex;justify-content:center;min-height:0}.divider{display:flex;align-items:center;gap:12px;color:var(--color-ink-soft);font-size:var(--text-small);margin:4px 0}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--color-seam)}.modal{max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}.close{display:grid;place-items:center;width:44px;height:44px;right:8px;top:8px;border-radius:50%}.close:hover{background:var(--color-linen)}.close:focus-visible{outline:2px solid var(--color-coral);outline-offset:2px}@media(max-width:700px){.modal-backdrop{padding:14px}.modal{padding:30px 22px 26px}.modal h2{margin-bottom:20px;padding-right:28px}.modal input,.add-form input{font-size:var(--text-body)}}::selection{background:var(--color-blush);color:var(--color-ink)}@media(hover:hover){.button{transition:background .15s,border-color .15s,transform .15s cubic-bezier(.2,.8,.2,1)}.button:hover:not(:disabled){transform:translateY(-1px)}}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.button:focus-visible,.text-button:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.modal input:focus-visible,.modal textarea:focus-visible,.add-form input:focus-visible{border-color:var(--color-coral);box-shadow:var(--ring-focus)}.auth-note{font-size:var(--text-body);color:var(--color-ink-soft);margin:-12px 0 20px}.public-page{padding-top:48px}.public-page[aria-busy]{min-height:70vh}img.avatar-big{display:block;object-fit:cover}.public-head .eyebrow{justify-content:center}.public-head .button{margin-top:18px}.list-title{margin:48px 0 22px}ul.gift-grid{list-style:none;margin:0;padding:0}.gift-item{display:flex;flex-direction:column;transition:opacity .2s}.gift-image{position:relative;flex-shrink:0;overflow:hidden}.gift-image img{position:absolute;top:0;right:0;bottom:0;left:0}.gift-info{display:flex;flex-direction:column;flex:1}.gift-info p{min-height:0}.gift-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 14px;font-size:var(--text-small)}.gift-price{color:var(--color-coral-dark);font-weight:600}.gift-meta a{display:inline-flex;align-items:center;gap:4px;color:var(--color-ink-soft);text-decoration:underline;text-decoration-color:var(--color-field-edge);text-underline-offset:3px}.gift-meta a:hover{color:var(--color-coral-deep);text-decoration-color:currentColor}a.button{text-decoration:none}.gift-action{margin-top:auto}.availability{font-size:var(--text-small);color:var(--color-ink-soft);margin:0 0 8px}.is-taken{background:var(--color-cream)}.is-taken .gift-image{opacity:.5;filter:grayscale(.5)}.is-taken h3{color:var(--color-ink-soft)}.is-taken .availability{margin:0;font-weight:600}.is-mine{border-color:color-mix(in srgb,var(--color-coral) 45%,var(--color-white));box-shadow:var(--shadow-bow-soft)}.mine,.cancel-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;font-size:var(--text-small)}.mine{justify-content:space-between}.mine-badge{display:inline-flex;align-items:center;gap:6px;color:var(--color-coral-dark);font-weight:600}.gift-action .text-button{min-height:44px;padding:0 4px;font-size:var(--text-small)}.text-button.danger{color:var(--color-coral-dark);font-weight:600}.owner-note{display:flex;gap:12px;align-items:flex-start;max-width:560px;margin:32px auto 0;padding:14px 18px;background:var(--color-linen);border-radius:var(--radius-panel);color:var(--color-ink);font-size:var(--text-body)}.owner-note svg{flex-shrink:0;margin-top:2px;color:var(--color-coral-ink)}.owner-note strong{color:var(--color-ink)}.dash-card p a{color:var(--color-coral-dark);font-weight:600;text-underline-offset:3px}.list-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:48px 24px;background:var(--color-linen);border-radius:var(--radius-panel);color:var(--color-ink-soft)}.list-empty svg{color:var(--color-clay)}.list-empty p{margin:0;max-width:340px}.list-empty strong{display:block;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-title-sm);font-weight:600;margin-bottom:4px}.list-missing{display:grid;justify-items:center;gap:14px;text-align:center;padding-top:90px;padding-bottom:110px}.list-missing svg{color:var(--color-clay)}.list-missing h1{font-size:var(--text-headline)}.list-missing p{margin:0 0 8px;max-width:380px;color:var(--color-ink-soft)}.reserve-modal h2{margin-bottom:18px}.reserve-gift{display:flex;gap:14px;align-items:center;padding:12px;background:var(--color-paper);border:1px solid var(--color-seam);border-radius:var(--radius-card);margin-bottom:22px}.reserve-thumb{width:56px;height:56px;flex-shrink:0;border-radius:10px;overflow:hidden;background:var(--color-blush-soft);display:grid;place-items:center;color:var(--color-clay)}.reserve-thumb img{width:100%;height:100%;object-fit:cover}.reserve-gift strong{display:block;font-family:var(--font-display);font-size:var(--text-title-sm);line-height:1.25;color:var(--color-ink)}.reserve-gift small{color:var(--color-ink-soft);font-size:var(--text-small)}.identity{border:0;margin:0;padding:0}.identity legend{padding:0;margin-bottom:8px;font-size:var(--text-small);font-weight:600;color:var(--color-ink)}.identity-options{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--color-linen);border-radius:var(--radius-pill)}.identity-options label{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius-pill);font-size:var(--text-body-sm);font-weight:600;color:var(--color-ink-soft);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.identity-options label.on{background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-paper-low)}.identity-options input{position:absolute;opacity:0;pointer-events:none}.identity-options label:has(input:focus-visible){outline:2px solid var(--color-coral);outline-offset:2px}.identity-hint{min-height:20px;margin:10px 4px 16px;font-size:var(--text-small);color:var(--color-ink-soft)}.reserve-extra{margin-bottom:10px}.reserve-extra summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;font-size:var(--text-body-sm);font-weight:600;color:var(--color-ink)}.reserve-extra summary::-webkit-details-marker{display:none}.reserve-extra summary span{font-weight:400;color:var(--color-ink-soft)}.reserve-extra summary svg{margin-left:auto;color:var(--color-ink-soft);transition:transform .2s}.reserve-extra[open] summary svg{transform:rotate(180deg)}.reserve-extra label{display:grid;gap:6px;margin-bottom:12px;font-size:var(--text-small);font-weight:600;color:var(--color-ink)}.modal .reserve-extra input{margin:0}.modal textarea{width:100%;padding:12px 15px;border:1px solid var(--color-field-edge);border-radius:var(--radius-field);background:var(--color-paper);font:inherit;font-weight:400;color:var(--color-ink);resize:vertical;outline:none}@media(max-width:700px){.public-page{padding-top:32px}.avatar-big{margin-bottom:14px}.list-title{margin:36px 0 18px}.gift-grid{gap:12px}.gift-item{display:grid;grid-template-columns:104px minmax(0,1fr)}.gift-image{position:relative;height:auto;min-height:112px}.gift-image img{position:absolute;top:0;right:0;bottom:0;left:0}.gift-info{padding:14px 16px}.toast{left:14px;right:14px;bottom:14px;justify-content:space-between}.modal textarea{font-size:var(--text-body)}}.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;padding:28px 7%;font-size:var(--text-small);border-top:1px solid var(--color-seam)}.legal a{color:var(--color-ink-soft);text-decoration:none}.legal a:hover{color:var(--color-coral)}.modal:focus{outline:none}.gift-info h3{font-size:var(--text-title-sm);line-height:1.25}h3{line-height:1.2}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.how .eyebrow{justify-content:center}.invite h2+p:not(.eyebrow){margin-top:12px}.gift-info{min-width:0}.gift-info h3,.gift-meta a,.reserve-gift strong{overflow-wrap:anywhere}
