.eyebrow{color:var(--on-scene);background:var(--glass);backdrop-filter:blur(10px);border:1px solid var(--glass-line);border-radius:999px;margin:0 0 14px;padding:6px 14px;font-size:12.5px;font-weight:700;display:inline-block}h1{font-family:var(--display);color:var(--on-scene);text-wrap:balance;text-shadow:0 2px 18px rgba(var(--shadow-rgb), .55);margin:0 0 12px;font-size:clamp(34px,9.6vw,46px);font-weight:400;line-height:1.32}h1 em{color:var(--warm);font-style:normal}.sub{color:var(--on-scene-dim);margin:0 0 26px;font-size:15px;line-height:1.95}.intro-lead{color:var(--on-scene);text-wrap:pretty;text-shadow:0 2px 14px rgba(var(--shadow-rgb), .7);margin:0 0 18px;font-size:15.5px;line-height:2.05}.intro-gets{flex-direction:column;gap:8px;margin:0 0 24px;padding:0;list-style:none;display:flex}.intro-gets li{color:var(--on-scene-dim);text-shadow:0 2px 12px rgba(var(--shadow-rgb), .7);align-items:baseline;gap:9px;font-size:14.5px;line-height:1.9;display:flex}.intro-gets li span{flex:none;font-size:15px;line-height:1}.hero-motif{margin:4px 0 14px;font-size:52px;line-height:1}.name-label{color:var(--on-scene-dim);margin:0 0 8px;font-size:13.5px;font-weight:500;display:block}input[type=text],.country-select{box-sizing:border-box;background:var(--glass);border:1.5px solid var(--glass-line);backdrop-filter:blur(12px);border-radius:var(--radius);width:100%;color:var(--on-scene);font-family:var(--body);margin-bottom:14px;padding:14px 16px;font-size:16px;display:block}input[type=text]::placeholder{color:rgba(var(--on-scene-rgb), .5)}input[type=text]:focus{border-color:var(--brand);background:var(--glass-hover);outline:none}.country-select{-webkit-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:20px,25px;background-repeat:no-repeat;background-size:5px 5px;padding-left:40px}.country-select:focus{border-color:var(--brand);outline:none}.country-select option{color:#1c1109;background:#fff8ec}.progress{gap:5px;margin:4px 0 12px;display:flex}.seg{background:rgba(var(--on-scene-rgb), .22);border-radius:99px;flex:1;height:4px;transition:background .25s,box-shadow .25s}.seg.done{background:var(--brand)}.seg.now{background:var(--warm);box-shadow:0 0 12px rgba(var(--warm-rgb), .8)}.qhint{color:var(--warm);min-height:1.3em;text-shadow:0 1px 10px rgba(var(--shadow-rgb), .8);margin:0 0 10px;font-size:12.5px;font-weight:700}.question{color:var(--on-scene);text-wrap:balance;text-shadow:0 2px 16px rgba(var(--shadow-rgb), .6);margin:0 0 16px;font-size:clamp(20px,5.6vw,25px);font-weight:800;line-height:1.62}.question:focus{outline:none}.question:focus-visible{outline:3px solid var(--warm);outline-offset:6px;border-radius:var(--radius-sm)}.opts{flex-direction:column;gap:9px;display:flex}.opt{text-align:right;color:var(--on-scene);background:var(--glass);backdrop-filter:blur(14px)saturate(1.1);border:1.5px solid var(--glass-line);border-radius:var(--radius);font-family:var(--body);cursor:pointer;box-shadow:0 2px 14px rgba(var(--shadow-rgb), .28);animation:.42s cubic-bezier(.2,.7,.2,1) both opt-in;animation-delay:calc(var(--i,0) * 45ms);padding:13px 16px;font-size:15px;font-weight:500;line-height:1.8;transition:border-color .15s,background .15s,transform .12s}@keyframes opt-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.opt:hover{border-color:var(--brand);background:var(--glass-hover)}.opt:active{transform:scale(.985)}.opt:focus-visible{outline:3px solid var(--warm);outline-offset:2px}.opt.is-picked{background:rgba(var(--warm-rgb), .34);border-color:var(--warm);color:#fff;box-shadow:0 0 0 3px rgba(var(--warm-rgb), .2), 0 6px 22px rgba(var(--warm-rgb), .28);animation:none;transform:scale(.985)}.opt-none.is-picked{opacity:1;color:var(--warm);text-decoration-color:var(--warm);animation:none}.opt-none{cursor:pointer;font-family:var(--body);color:var(--on-scene-dim);opacity:.75;text-underline-offset:3px;text-decoration:underline;text-decoration-color:rgba(var(--on-scene-rgb), .28);background:0 0;border:0;margin:4px auto 0;padding:9px 12px;font-size:13px;animation:.42s cubic-bezier(.2,.7,.2,1) .2s both opt-in;display:block}.opt-none:hover{opacity:1;color:var(--on-scene);text-decoration-color:currentColor}.opt-none:focus-visible{outline:3px solid var(--warm);outline-offset:2px;border-radius:8px}.back-link{cursor:pointer;font-family:var(--body);color:var(--on-scene-dim);background:0 0;border:0;margin:14px auto 0;padding:6px 10px;font-size:13.5px;display:block}.back-link:hover{color:var(--on-scene)}.back-link:focus-visible{outline:3px solid var(--warm);outline-offset:2px;border-radius:8px}#result{--card-w:min(100%, calc((100dvh - 120px) * 9 / 16))}.card{max-width:var(--card-w,100%);aspect-ratio:9/16;border-radius:var(--radius-lg);background:var(--card-b);box-shadow:0 22px 60px rgba(var(--deep-rgb), .55);flex-direction:column;justify-content:flex-end;margin-inline:auto;display:flex;position:relative;overflow:hidden;container-type:inline-size}.card-photo{place-items:center;height:64%;display:grid;position:absolute;inset:0 0 auto;overflow:hidden}.card-photo img{object-fit:cover;width:100%;height:100%;display:block}.card-photo.is-emoji{font-size:88px;line-height:1}.card-logo{z-index:2;aspect-ratio:1;width:9%;box-shadow:0 4px 16px rgba(var(--deep-rgb), .28);background:#fff;border-radius:22%;place-items:center;display:grid;position:absolute;top:3.4%;left:4.4%}.card-logo img{object-fit:contain;width:68%;height:68%;display:block}.card-veil{pointer-events:none;background:linear-gradient(to top, var(--card-b) 0%, var(--card-b) 37%, rgba(var(--scrim-rgb), .94) 43%, rgba(var(--scrim-rgb), .72) 49%, rgba(var(--scrim-rgb), .28) 61%, rgba(var(--scrim-rgb), 0) 76%);position:absolute;inset:0}.card-body{z-index:1;text-align:right;padding:0 7.22cqw 6.11cqw;position:relative}.card-eyebrow{letter-spacing:.02em;color:var(--on-card-dim);opacity:.8;margin:0 0 .19cqw;font-size:2.41cqw;font-weight:700;line-height:1.46}.card-name{color:var(--on-card);margin:0 0 .37cqw;font-size:3.33cqw;font-weight:700;line-height:1.39}.card-title{font-family:var(--display);color:#fff;text-wrap:balance;text-shadow:0 2px 20px rgba(var(--deep-rgb), .6);margin:0 0 .37cqw;font-size:9.63cqw;font-weight:400;line-height:1.23}.card-en{text-align:right;color:var(--on-card-dim);margin:0 0 .56cqw;font-size:2.78cqw;font-weight:500;line-height:1.47}.card-sub{color:var(--warm);margin:0 0 1.85cqw;font-size:2.78cqw;font-weight:500;line-height:1.67}.chips{flex-wrap:wrap;justify-content:flex-start;gap:1.2cqw;margin:0 0 2.22cqw;display:flex}.chip{color:var(--on-card);background:rgba(var(--on-scene-rgb), .1);border:1px solid rgba(var(--on-scene-rgb), .3);border-radius:999px;padding:1.25cqw 2.41cqw;font-size:2.5cqw;font-weight:700;line-height:1}.card-rule{background:linear-gradient(to left, var(--warm), transparent);opacity:.75;height:.185cqw;margin:0 0 1.85cqw}.card-desc{color:var(--on-card-dim);text-align:justify;text-align-last:right;margin:0 0 2.41cqw;font-size:2.78cqw;line-height:1.72}.card-foot{justify-content:space-between;align-items:baseline;gap:1.85cqw;line-height:1.4;display:flex}.card-city{color:var(--on-card-dim);opacity:.9;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:2.41cqw;font-weight:500;overflow:hidden}.card-flag{vertical-align:-.35cqw;object-fit:cover;border-radius:.37cqw;width:3.21cqw;height:2.41cqw;margin-inline-start:1.11cqw;display:inline-block}.card-tag{color:var(--warm);white-space:nowrap;flex:none;font-size:2.59cqw;font-weight:700}#export-img{border-radius:var(--radius-lg);width:100%;box-shadow:0 22px 60px rgba(var(--deep-rgb), .55);display:block}.shot-hint{color:var(--on-scene-dim);text-align:center;margin:18px 0 16px;font-size:13.5px;line-height:1.9}.shot-hint b{color:var(--warm);font-weight:700}.actions{flex-direction:column;gap:10px;display:flex}.copy-box{background:var(--glass);border:1.5px solid var(--glass-line);backdrop-filter:blur(12px);border-radius:var(--radius);margin-top:14px;padding:14px}.copy-box p{color:var(--on-scene-dim);margin:0 0 8px;font-size:13.5px}.copy-box textarea{box-sizing:border-box;width:100%;font-family:var(--body);color:var(--on-scene);background:rgba(var(--shadow-rgb), .45);border:1.5px solid var(--glass-line);border-radius:var(--radius-sm);resize:vertical;padding:10px;font-size:14px;line-height:1.9}.gift{background:var(--glass);border:1.5px solid rgba(var(--warm-rgb), .45);backdrop-filter:blur(12px);text-align:center;box-shadow:0 10px 34px rgba(var(--deep-rgb), .4);border-radius:18px;margin-top:24px;position:relative;overflow:hidden}.gift-shut{box-sizing:border-box;cursor:pointer;width:100%;font-family:var(--body);background:0 0;border:0;padding:22px 18px 20px;display:block}.gift-shut:focus-visible{outline:3px solid var(--warm);outline-offset:-4px;border-radius:18px}.gift-box{width:112px;height:112px;margin:0 auto 12px;display:block;position:relative}.gift-art{z-index:1;object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 10px 20px rgba(var(--deep-rgb), .55));display:block;position:relative}.gift-drawn{position:absolute;inset:22px 18px}.gift-drawn .gift-lid,.gift-drawn .gift-base{background:linear-gradient(160deg,#c9601f,#9a3f12);border:1px solid #ffd69680;position:absolute;left:0;right:0}.gift-lid{height:20px;box-shadow:0 3px 10px rgba(var(--deep-rgb), .45);border-radius:5px;transition:transform .5s cubic-bezier(.3,-.4,.5,1.4),opacity .5s;top:0}.gift-base{background:linear-gradient(160deg,#b4551b,#7e320d);border-radius:3px 3px 6px 6px;top:22px;bottom:0}.gift-ribbon{background:linear-gradient(to bottom, var(--warm), #c97a10);width:11px;box-shadow:0 0 12px rgba(var(--warm-rgb), .5);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.gift-shut:hover .gift-art{transform:translateY(-3px)scale(1.03)}.gift-art{transition:transform .25s cubic-bezier(.2,.7,.2,1)}.gift-shut:hover .gift-drawn .gift-lid{transform:translateY(-4px)rotate(-3deg)}.gift-box{animation:4s ease-in-out infinite nudge}@keyframes nudge{0%,88%,to{transform:none}91%{transform:rotate(-4deg)}94%{transform:rotate(4deg)}97%{transform:rotate(-2deg)}}.gift-teaser{font-family:var(--display);color:var(--on-scene);font-size:21px;font-weight:400;line-height:1.5;display:block}.gift-cue{color:var(--warm);border-bottom:1.5px dashed rgba(var(--warm-rgb), .6);margin-top:10px;padding-bottom:2px;font-size:13px;font-weight:700;display:inline-block}.gift-open{padding:24px 18px 20px;position:relative}.gift-glow{pointer-events:none;background:radial-gradient(ellipse at 50% 0%, rgba(var(--warm-rgb), .38), transparent 70%);width:260px;height:190px;animation:.8s ease-out both spill;position:absolute;top:-30px;left:50%;transform:translate(-50%)}@keyframes spill{0%{opacity:0;transform:translate(-50%)scale(.6)}to{opacity:1;transform:translate(-50%)scale(1)}}.gift-open>:not(.gift-glow){animation:.5s cubic-bezier(.2,.7,.2,1) both rise;position:relative}.gift-open>:nth-child(2){animation-delay:60ms}.gift-open>:nth-child(3),.gift-open>:nth-child(4){animation-delay:.12s}.gift-open>:nth-child(5),.gift-open>:nth-child(6){animation-delay:.18s}.gift-amount{font-family:var(--display);color:#fff;text-shadow:0 2px 18px rgba(var(--warm-rgb), .45);margin:0 0 10px;font-size:clamp(26px,7.4vw,32px);font-weight:400;line-height:1.35}.gift-line{color:var(--on-scene);max-width:34ch;margin:0 auto 16px;font-size:14.5px;line-height:1.95}.gift-line em{color:var(--warm);font-style:normal;font-weight:700}.gift-terms{color:var(--on-scene-dim);opacity:.8;margin:0 0 16px;font-size:12px}.gift-how{color:var(--on-scene);background:rgba(var(--warm-rgb), .12);border:1px solid rgba(var(--warm-rgb), .4);border-radius:var(--radius);max-width:32ch;margin:0 auto 14px;padding:12px 14px;font-size:15px;line-height:2}.gift-how b{color:var(--warm);font-weight:800}.gift-at{color:var(--warm);text-underline-offset:3px;text-decoration:underline;text-decoration-color:rgba(var(--warm-rgb), .5);direction:ltr;unicode-bidi:isolate;font-weight:800}.gift-at:hover{text-decoration-color:currentColor}.gift-at:focus-visible{outline:2px solid var(--warm);outline-offset:2px;border-radius:4px}.gift-alt{margin:12px auto 0;display:block}.gift-dm{color:var(--on-scene-dim);opacity:.8;margin:14px auto 0;font-size:12.5px;display:block}canvas#confetti{pointer-events:none;z-index:50;width:100%;height:100%;position:fixed;inset:0}#hero{margin-bottom:18px}#hero .eyebrow{margin-bottom:10px}#hero h1{margin-bottom:12px;font-size:clamp(30px,8.4vw,42px);line-height:1.3}.hero-note{color:var(--on-scene-dim);text-align:center;margin:10px 0 0;font-size:13px}.preview{background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:10px;padding:9px 16px;display:flex}.preview-dot{background:var(--warm);width:7px;height:7px;box-shadow:0 0 10px var(--warm);border-radius:50%;flex:none}.preview-title{color:var(--on-scene);text-wrap:balance;margin:0;font-size:15px;font-weight:700;line-height:1.6}.preview-title.is-in{animation:.5s cubic-bezier(.2,.7,.2,1) both swap}@keyframes swap{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.calc{text-align:center;padding:70px 0}.calc-text{font-family:var(--display);color:var(--on-scene);text-shadow:0 2px 16px rgba(var(--shadow-rgb), .6);margin:20px 0 0;font-size:21px;font-weight:400}.calc-dots{justify-content:center;gap:9px;display:flex}.calc-dots span{background:var(--warm);border-radius:50%;width:11px;height:11px;animation:1.1s ease-in-out infinite pulse}.calc-dots span:nth-child(2){animation-delay:.16s}.calc-dots span:nth-child(3){animation-delay:.32s}@keyframes pulse{0%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.naming-title{font-family:var(--display);color:var(--on-scene);text-wrap:balance;text-shadow:0 2px 16px rgba(var(--shadow-rgb), .6);margin:0 0 22px;font-size:clamp(25px,6.8vw,31px);font-weight:400;line-height:1.44}.naming-title:focus{outline:none}.naming-title:focus-visible{outline:3px solid var(--warm);outline-offset:6px;border-radius:var(--radius-sm)}.optional{color:var(--on-scene-dim);opacity:.8;font-weight:400}.text-link{cursor:pointer;font-family:var(--body);color:var(--on-scene-dim);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--glass-line);background:0 0;border:0;padding:8px 6px;font-size:14px}.text-link:hover{color:var(--on-scene);text-decoration-color:currentColor}.text-link:focus-visible{outline:3px solid var(--warm);outline-offset:2px;border-radius:6px}#skip-name{margin:4px auto 0;display:block}.minor-actions{justify-content:center;align-items:center;gap:4px;margin-top:12px;display:flex}.minor-actions .dot{color:var(--on-scene-dim);opacity:.6}.modal{z-index:100;box-sizing:border-box;background:rgba(var(--deep-rgb), .86);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{text-align:center;width:100%;max-width:360px;margin:auto}.modal-panel-wide{max-width:560px}.modal-title{color:var(--on-scene);margin:0 0 14px;font-size:14.5px;font-weight:700;line-height:1.9}.modal img{border-radius:var(--radius-lg);width:100%;height:auto;margin-bottom:16px;display:block;box-shadow:0 18px 44px #00000080}.modal .btn-ghost{color:var(--on-scene);border-color:var(--glass-line);background:var(--glass)}.modal .btn-ghost:hover:not([disabled]){color:#fff;border-color:var(--on-scene)}.share-sub{color:var(--on-scene-dim);margin:-8px 0 14px;font-size:13px;line-height:1.9}.share-text{box-sizing:border-box;width:100%;font-family:var(--body);color:var(--on-scene);background:rgba(var(--shadow-rgb), .55);border:1.5px solid var(--glass-line);border-radius:var(--radius);resize:none;text-align:right;direction:rtl;margin-bottom:14px;padding:12px;font-size:13.5px;line-height:1.95;display:block}.share-text:focus-visible{outline:2px solid var(--brand);outline-offset:2px}#share-modal .btn{margin-bottom:10px}#share-modal .text-link{margin:4px auto 0;display:block}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;display:grid}@media (width<=380px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.gallery-cell{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--radius);padding:10px 6px}.gallery-cell.is-mine{border-color:var(--warm);background:rgba(var(--warm-rgb), .18)}.gallery-art{aspect-ratio:1;place-items:center;width:100%;margin-bottom:4px;font-size:30px;line-height:1;display:grid}.gallery-art img{object-fit:cover;border-radius:10px;width:100%;height:100%;display:block}.gallery-label{color:var(--on-card);text-wrap:balance;margin:0;font-size:11.5px;font-weight:700;line-height:1.5}.modal .gallery-grid+.btn-ghost{margin-top:4px}.gender{margin:4px 0 18px}.gender-label{color:var(--on-scene-dim);margin:0 0 8px;font-size:13.5px;display:block}.gender-opts{gap:8px;display:flex}.gender-opt{cursor:pointer;font-family:var(--body);color:var(--on-scene-dim);background:var(--glass);backdrop-filter:blur(12px);border:1.5px solid var(--glass-line);border-radius:var(--radius);flex:1;padding:11px 8px;font-size:14.5px;font-weight:700;transition:border-color .15s,background .15s,color .15s}.gender-opt:hover{border-color:var(--brand);color:var(--on-scene)}.gender-opt[aria-checked=true]{border-color:var(--brand);background:var(--glass-hover);color:var(--on-scene)}.gender-opt:focus-visible{outline:3px solid var(--warm);outline-offset:2px}.next-up{border-top:1px solid rgba(var(--on-scene-rgb), .14);margin-top:26px;padding-top:22px}.next-up-line{color:var(--on-scene);text-align:center;text-shadow:0 2px 14px rgba(var(--shadow-rgb), .7);margin:0 0 12px;font-size:14.5px;line-height:1.9}.my-room{background:var(--glass);border:1.5px solid var(--glass-line);backdrop-filter:blur(12px);border-radius:18px;margin-top:18px;padding:16px;animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.my-room-line{color:var(--on-scene);text-align:center;margin:0 0 10px;font-size:14px;line-height:1.85}.my-room-url{box-sizing:border-box;text-align:left;width:100%;font-family:var(--body);color:var(--on-scene-dim);background:rgba(var(--shadow-rgb), .45);border:1.5px solid var(--glass-line);border-radius:var(--radius-sm);text-overflow:ellipsis;direction:ltr;margin-bottom:10px;padding:9px 10px;font-size:12.5px;line-height:1.7}.my-room-row{justify-content:center;align-items:center;gap:14px;display:flex}.my-room-row .btn{flex:auto;margin:0}.my-room-note{color:var(--on-scene-dim);opacity:.82;text-align:center;margin:10px 0 0;font-size:12px;line-height:1.8}.intro-back{text-align:center;margin:16px auto 0;text-decoration:none;display:block}.card-actions{max-width:var(--card-w,100%);gap:10px;margin:14px auto 0;display:flex}.card-actions .btn{white-space:nowrap;flex:1 1 0;min-width:0;margin:0;padding:13px 10px;font-size:14px}@media (width<=340px){.card-actions{flex-direction:column}}.invite{text-align:center;max-width:34rem;margin:30px auto 0}.invite-line{font-family:var(--body);color:var(--on-scene);text-shadow:0 2px 14px rgba(var(--shadow-rgb), .7);margin:0 0 12px;font-size:14.5px;line-height:1.9}.invite-btn{width:100%;margin:0;display:block}.curtain{z-index:90;background:var(--curtain);place-items:center;transition:opacity .5s,visibility .5s;display:grid;position:fixed;inset:0}.curtain.is-up{opacity:0;visibility:hidden;pointer-events:none}.curtain-mark{font-family:var(--display);color:var(--on-scene);opacity:.5;font-size:30px;font-weight:400;animation:2.1s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.28}50%{opacity:.75}}.card-tag b,.shot-hint b{direction:ltr;unicode-bidi:isolate}@media (width>=1024px){body.has-scene .wrap{grid-template-columns:470px minmax(0,1fr);align-items:end;max-width:none;margin:0;padding:0 clamp(40px,5vw,96px) 0 0;display:grid}body.has-scene .wrap>.screen{grid-column:1;padding-bottom:clamp(48px,7vh,92px)}body.has-scene.is-result .wrap{align-items:start}body.has-scene.is-result .wrap>.screen{padding:clamp(36px,6vh,72px) 0}.scene-scrim{background:linear-gradient(to left, rgba(var(--shadow-rgb), .92) 0%, rgba(var(--shadow-rgb), .82) 26%, rgba(var(--shadow-rgb), .34) 52%, rgba(var(--shadow-rgb), .06) 74%, transparent 88%), linear-gradient(to top, rgba(var(--shadow-rgb), .55) 0%, rgba(var(--shadow-rgb), .18) 32%, transparent 62%)}.scene-img{filter:blur(2px)brightness(.9)saturate(1.06)}#hero h1{font-size:52px}.question{font-size:27px}}
