:root{--ink:#fff6ef;--muted:rgba(255,246,239,0.8);--card:rgba(30,14,24,0.54);--border:rgba(255,255,255,0.18);--gold:#f0cb95;--rose:#ff7eb6;--shadow:rgba(9,4,7,0.55)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--ink);background:#120710;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif}.scene{position:relative;min-height:100dvh;overflow-x:hidden;overflow-y:auto}.photoLayer{position:absolute;inset:0}.backgroundPhoto{object-fit:cover;object-position:center center;filter:saturate(1.05) contrast(1.05)}.loadingBackground{object-position:center 18%}.overlayBlur{position:absolute;inset:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:rgba(5,2,4,.18)}.overlayTint{position:absolute;inset:0;background:radial-gradient(80% 70% at 14% 18%,rgba(255,110,170,.24),transparent 55%),radial-gradient(64% 66% at 86% 18%,rgba(236,209,148,.2),transparent 52%),linear-gradient(160deg,rgba(17,7,11,.84),rgba(33,10,21,.68),rgba(18,7,11,.87))}.loadingMode .overlayBlur{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:rgba(5,2,4,.08)}.loadingMode .overlayTint{background:radial-gradient(75% 60% at 16% 20%,rgba(255,131,189,.14),transparent 54%),radial-gradient(70% 62% at 84% 18%,rgba(240,203,149,.12),transparent 55%),linear-gradient(160deg,rgba(17,7,11,.42),rgba(33,10,21,.28),rgba(18,7,11,.48))}.overlayGlow{position:absolute;inset:-25%;background:radial-gradient(33rem 22rem at 20% 20%,rgba(255,126,182,.22),transparent 60%),radial-gradient(45rem 29rem at 80% 24%,rgba(240,203,149,.2),transparent 64%),radial-gradient(34rem 24rem at 50% 90%,rgba(255,255,255,.08),transparent 70%);filter:blur(34px)}.ambient{pointer-events:none;position:absolute;inset:0}.ambientEmoji{position:absolute;top:110%;font-size:20px;line-height:1;opacity:0;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));animation-name:floatUp;animation-timing-function:linear;animation-iteration-count:infinite}.container{position:relative;z-index:10;margin:0 auto;min-height:100dvh;max-width:760px;padding:calc(18px + env(safe-area-inset-top)) 20px calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center}.card{width:100%;border:1px solid var(--border);border-radius:28px;padding:22px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--card);box-shadow:0 28px 70px var(--shadow)}.badge{display:inline-flex;margin:0 0 14px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.stepPanel{animation:stepIn .42s ease both}.title{margin:0;line-height:1.22;letter-spacing:.01em;font-family:Baskerville,Times New Roman,serif;font-size:clamp(1.7rem,5vw,2.25rem);text-wrap:balance}.copy,.title{overflow-wrap:anywhere}.copy{margin:12px 0 0;color:var(--muted);line-height:1.56}.stack{margin-top:20px;display:grid;grid-gap:12px;gap:12px}.yesButton{width:100%;border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:14px 16px;color:var(--ink);background:rgba(255,255,255,.06);font-size:16px;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.yesButton span:first-child{min-width:0}.yesButton:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1)}.introCard{margin-top:18px;display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:12px;background:rgba(0,0,0,.26)}.introImageWrap{position:relative;width:min(100%,420px);aspect-ratio:3/4;min-height:0;margin:0 auto;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.32)}.introImage{object-fit:contain;object-position:center top;filter:saturate(1.06) contrast(1.04)}.introMeta{display:flex;flex-direction:column;justify-content:center}.introTag{margin:0;font-size:14px}.loaderTrack{margin-top:10px;height:7px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden}.loaderBar{width:42%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--rose));animation:loaderMove 1.65s ease-in-out infinite}.hint{margin:10px 0 0;color:rgba(255,246,239,.66);font-size:12px}.choiceGrid{margin-top:18px;display:grid;grid-gap:12px;gap:12px}.choiceCard{border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px;text-align:left;background:rgba(255,255,255,.06);color:var(--ink);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.choiceCard strong{display:block;font-size:1rem}.choiceCard small{display:block;margin-top:4px;color:var(--muted);font-size:.82rem}.choiceCard:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.44)}.choiceCard.active{border-color:rgba(255,192,214,.85);background:linear-gradient(130deg,rgba(255,152,200,.25),rgba(240,203,149,.25))}.primaryButton,.primaryLink,.secondaryButton{margin-top:18px;width:100%;border:0;border-radius:16px;padding:13px 14px;font-size:15px;text-align:center;cursor:pointer;text-decoration:none}.primaryButton,.primaryLink{color:#2a0d1f;font-weight:700;background:linear-gradient(140deg,var(--gold),var(--rose));box-shadow:0 10px 24px rgba(247,170,198,.34)}.primaryButton[disabled]{cursor:not-allowed;opacity:.45;box-shadow:none}.secondaryButton{margin-top:10px;color:var(--ink);border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08)}.summaryRow{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--muted)}.messagePreview{margin:14px 0 0;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px;white-space:pre-wrap;background:rgba(0,0,0,.3);color:rgba(255,246,239,.86);font-size:12px;line-height:1.5;overflow-x:auto;max-height:34vh}.actions,.restart{margin-top:10px}.restart{border:0;background:transparent;color:rgba(255,246,239,.72);cursor:pointer;text-decoration:underline}.signature{margin:16px 0 0;text-align:center;color:rgba(255,246,239,.68);font-size:12px}.caret{display:inline-block;margin-left:2px;opacity:.75;animation:blink .9s steps(2,start) infinite}.burstLayer{pointer-events:none;position:absolute;inset:0;z-index:20}.burstParticle{position:absolute;transform:translate(-50%,-50%);animation:burst var(--duration) ease-out forwards;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:0}12%{opacity:.22}to{transform:translateY(-130vh) scale(1.25);opacity:0}}@keyframes stepIn{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loaderMove{0%{transform:translateX(-60%)}to{transform:translateX(230%)}}@keyframes blink{to{visibility:hidden}}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%) translate(0) rotate(0deg) scale(.9)}10%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1.08)}}@media (min-width:680px){.introImageWrap{width:min(100%,460px)}.actions,.choiceGrid,.drinkGrid{grid-template-columns:1fr 1fr}.actions{display:grid;grid-gap:10px;gap:10px}.secondaryButton{margin-top:18px}}@media (max-width:520px){.container{min-height:100dvh;align-items:center;justify-content:center;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}.card{padding:14px;border-radius:18px}.badge{font-size:10px;letter-spacing:.03em;margin-bottom:10px;padding:6px 9px}.title{font-size:clamp(1.45rem,7.2vw,1.85rem);line-height:1.2}.copy{font-size:15px;line-height:1.45}.yesButton{padding:12px 13px;font-size:15px;gap:10px}.introCard{grid-template-columns:1fr;padding:10px;gap:10px}.introImageWrap{width:100%;max-width:360px;aspect-ratio:4/5}.introTag{font-size:13px}.hint{font-size:11px}.choiceCard{padding:12px}.choiceCard strong{font-size:.96rem}.choiceCard small{font-size:.8rem}.primaryButton,.primaryLink,.secondaryButton{padding:12px;font-size:14px;border-radius:14px}.messagePreview{font-size:11px;max-height:30vh}.signature{margin-top:12px;font-size:11px}}