:root{--skin: #f3d2c4;--blush: #e8a0a8;--rose: #c45a6a;--wine: #6b1f35;--velvet: #2a1218;--ink: #fff4ee;--muted: #e8c4bc;--accent: #ff8a9a;--accent-deep: #d44862;--line: rgba(255, 214, 205, .18);--glow: rgba(232, 120, 130, .45);--font-display: "Bodoni Moda", "Times New Roman", serif;--font-body: "Syne", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background-color:var(--velvet);overflow-x:hidden}body:before,body:after{content:"";position:fixed;inset:-20%;pointer-events:none;z-index:0}body:before{background:radial-gradient(ellipse 70% 55% at 20% 15%,rgba(196,70,90,.55),transparent 55%),radial-gradient(ellipse 60% 50% at 85% 20%,rgba(255,140,120,.28),transparent 50%),radial-gradient(ellipse 80% 60% at 50% 100%,rgba(80,20,40,.9),transparent 55%),linear-gradient(165deg,#3a1520,#1c0c12 45%,#2a1018);animation:haze 14s ease-in-out infinite alternate}body:after{background:radial-gradient(circle at 30% 70%,rgba(255,100,120,.2),transparent 35%),radial-gradient(circle at 70% 40%,rgba(255,180,160,.12),transparent 40%);animation:pulse-glow 7s ease-in-out infinite alternate;mix-blend-mode:screen}@keyframes haze{0%{transform:scale(1) translate(0);filter:hue-rotate(0deg)}to{transform:scale(1.08) translate(-2%,1%);filter:hue-rotate(8deg)}}@keyframes pulse-glow{0%{opacity:.55;transform:scale(1)}to{opacity:1;transform:scale(1.12)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes heartbeat{0%,to{transform:scale(1);box-shadow:0 12px 40px #d4486259}40%{transform:scale(1.035);box-shadow:0 16px 48px #ff788c8c}60%{transform:scale(1.01)}}@keyframes shimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes float-y{0%{transform:translateY(0)}to{transform:translateY(-6px)}}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;border-radius:999px;padding:.9rem 1.4rem;background:linear-gradient(120deg,var(--accent),var(--accent-deep),#ff6b8a,var(--accent));background-size:220% 220%;animation:shimmer 5s linear infinite;color:#2a0a12;font-weight:700;letter-spacing:.02em;transition:transform .2s ease,filter .2s ease}button:hover:not(:disabled){transform:translateY(-1px) scale(1.02);filter:brightness(1.08)}button.secondary{background:#ffdcd20f;color:var(--skin);border:1px solid var(--line);animation:none;font-weight:500}button.primary-pulse{animation:heartbeat 2.4s ease-in-out infinite,shimmer 5s linear infinite}button:disabled{opacity:.4;cursor:not-allowed;animation:none;filter:grayscale(.3)}input,textarea,select{width:100%;border-radius:18px;border:1px solid var(--line);background:#ffc8be0f;padding:.95rem 1.1rem;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--blush);background:#ffb4aa1a;box-shadow:0 0 0 3px #e8a0a833}.app{position:relative;z-index:1;max-width:440px;margin:0 auto;padding:1.4rem 1.15rem 5.5rem;min-height:100dvh;display:flex;flex-direction:column;gap:1.15rem;animation:rise .7s ease-out both}.app.landing{justify-content:flex-start;padding-top:12vh}.hero{text-align:center;margin-bottom:.5rem}.brand{font-family:var(--font-display);font-size:clamp(3.2rem,14vw,4.4rem);font-weight:600;font-style:italic;letter-spacing:-.04em;line-height:.92;margin:.5rem 0 .75rem;background:linear-gradient(125deg,#fff8f4 10%,var(--blush) 45%,#ffd0c8 70%,var(--accent) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 8s ease-in-out infinite alternate,float-y 4s ease-in-out infinite alternate;filter:drop-shadow(0 8px 28px rgba(255,100,120,.25))}.tagline{color:var(--muted);margin:0 auto;max-width:22rem;line-height:1.5;font-size:1.08rem;font-weight:500}.whisper{display:block;margin-top:.65rem;font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:var(--blush);opacity:.9}.panel{border:1px solid var(--line);border-radius:28px;padding:1.25rem;background:linear-gradient(160deg,#ffb4aa1a,#3c0f1e59),#1e0a1259;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px #ffdcd21f,0 20px 50px #14000a59;animation:rise .8s ease-out .12s both}.panel.challenge{border-color:#ff8c9647;background:linear-gradient(165deg,#ff788c29,#280a1466),#19080e66;margin:0;min-height:220px}.table{position:relative;perspective:1200px;margin-top:.35rem}.deck{position:absolute;right:.4rem;top:-.35rem;width:52px;height:72px;z-index:0;pointer-events:none}.deck-card{position:absolute;inset:0;border-radius:10px;background:linear-gradient(145deg,#5a2030,#2a1018),radial-gradient(circle at 30% 30%,rgba(255,160,170,.25),transparent 50%);border:1px solid rgba(255,180,170,.25);box-shadow:0 6px 16px #00000059}.deck-card:nth-child(1){transform:rotate(-8deg) translate(-4px,2px)}.deck-card:nth-child(2){transform:rotate(-3deg) translate(1px,-1px)}.deck-card:nth-child(3){transform:rotate(4deg) translate(5px,3px);animation:deck-wiggle 3.5s ease-in-out infinite}@keyframes deck-wiggle{0%,to{transform:rotate(4deg) translate(5px,3px)}50%{transform:rotate(7deg) translate(6px,1px)}}.card-stage{position:relative;z-index:1}.card-stage.deal-flip{animation:deal-flip .7s cubic-bezier(.2,.85,.25,1) both}.card-stage.drawing{animation:shuffle-in .35s ease-out both,shuffle-pulse .45s ease-in-out infinite}@keyframes deal-flip{0%{opacity:0;transform:translate(80px,-60px) rotate(22deg) rotateY(-40deg) scale(.65);filter:blur(2px)}45%{opacity:1;transform:translate(-6px,4px) rotate(-3deg) rotateY(12deg) scale(1.02);filter:blur(0)}70%{transform:translate(3px,-2px) rotate(1.5deg) rotateY(-4deg) scale(1)}to{opacity:1;transform:translate(0) rotate(0) rotateY(0) scale(1)}}@keyframes shuffle-in{0%{opacity:.4;transform:translate(40px,-30px) rotate(12deg) scale(.85)}to{opacity:1;transform:translate(0) rotate(-2deg) scale(1)}}@keyframes shuffle-pulse{0%,to{filter:brightness(1);transform:rotate(-2deg) scale(1)}50%{filter:brightness(1.2);transform:rotate(3deg) scale(1.03)}}.card-face{min-height:200px}.card-back{display:grid;place-content:center;text-align:center;gap:.4rem;min-height:220px;background:radial-gradient(circle at 50% 30%,rgba(255,140,150,.35),transparent 55%),linear-gradient(160deg,#4a1828,#1a0a10)!important;border:1px solid rgba(255,160,170,.3);box-shadow:0 20px 50px #14000a66}.card-back-mark{font-family:var(--font-display);font-style:italic;font-size:2rem;background:linear-gradient(120deg,#fff4ee,var(--blush));-webkit-background-clip:text;background-clip:text;color:transparent}.card-back-sub{margin:0;color:var(--muted);font-size:.9rem}.draw-status{text-align:center;font-family:var(--font-display);font-style:italic;color:var(--accent);margin:.75rem 0 0;animation:float-y .8s ease-in-out infinite alternate}.watch-hint{text-align:center;margin:.5rem 0 0}.timer.urgent{color:#ff6b7a;animation:heartbeat .9s ease-in-out infinite}.timer.done{opacity:.55}.actions-bar{margin-top:.35rem;justify-content:center}.actions-bar button{min-width:6.5rem}.stack{display:flex;flex-direction:column;gap:.85rem}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blush);margin-bottom:.35rem;font-weight:600}.check{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem;color:var(--skin)}.check input{width:auto;margin-top:.2rem;accent-color:var(--accent-deep)}.code{font-family:var(--font-display);font-size:2.6rem;font-style:italic;letter-spacing:.32em;text-align:center;margin:.5rem 0;color:var(--skin);text-indent:.32em}.pill{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.3rem .75rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#ffc8be0f}.pill.hot{color:#2a0a12;border:none;background:linear-gradient(120deg,var(--accent),var(--accent-deep));font-weight:700}.challenge-title{font-family:var(--font-display);font-size:clamp(1.85rem,7vw,2.25rem);font-style:italic;font-weight:600;margin:.35rem 0 .55rem;line-height:1.15;color:var(--skin)}.challenge-body{margin:0;line-height:1.55;font-size:1.12rem;color:var(--ink);opacity:.95}.muted{color:var(--muted);font-size:.9rem;line-height:1.45}.error{color:#ff9a9a;font-size:.92rem}.fab{position:fixed;right:1rem;bottom:1.1rem;z-index:20;animation:heartbeat 2.6s ease-in-out infinite,shimmer 5s linear infinite}.viewer{position:fixed;inset:0;z-index:40;background:radial-gradient(ellipse at center,#3a1520,#000 70%);display:grid;place-items:center;animation:rise .25s ease-out}.viewer img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}.viewer.blurred img{filter:blur(28px) brightness(.4)}.viewer-bar{position:absolute;left:0;right:0;top:0;padding:1rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,rgba(40,10,20,.85),transparent)}.viewer-bar button{background:#ffffff1f;color:#fff;animation:none}.choice-grid{display:grid;gap:.7rem}.choice-grid button{border-radius:18px;text-align:left;padding:1rem 1.15rem;animation:none;background:linear-gradient(120deg,#ff8c96e6,#b43250f2)}.timer{font-variant-numeric:tabular-nums;font-family:var(--font-display);font-style:italic;font-size:1.35rem;color:var(--accent);font-weight:600}.players{display:flex;gap:.55rem}.player-chip{flex:1;text-align:center;padding:.7rem;border-radius:18px;border:1px solid var(--line);background:#ffb4aa14;font-weight:600;color:var(--skin)}.player-chip.empty{color:var(--muted);border-style:dashed;font-weight:400;opacity:.7}.lang-toggle{margin-left:auto}.answer-box{border-radius:18px;padding:.9rem 1rem;background:#ffa0aa1a;border:1px solid var(--line)}.hint-line{text-align:center;font-family:var(--font-display);font-style:italic;color:var(--blush);opacity:.85}.privacy-seal{border-radius:22px;padding:1rem 1.1rem;border:1px dashed rgba(255,190,180,.45);background:#0a040873;text-align:left;animation:rise .75s ease-out .05s both}.privacy-seal .pill{margin-bottom:.55rem}.privacy-seal strong{display:block;font-family:var(--font-display);font-style:italic;font-size:1.35rem;color:var(--skin);margin-bottom:.35rem}.privacy-seal p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.privacy-seal.compact{padding:.75rem .9rem;background:#00000040}.privacy-seal.compact strong{font-size:1.1rem}.privacy-seal.compact p{font-size:.85rem}.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.5rem 0 .25rem}.qr-img{border-radius:18px;border:3px solid rgba(255,200,190,.35);box-shadow:0 12px 36px #00000059;background:#fff4ee}.qr-placeholder{border-radius:18px;background:#ffc8be14;border:1px dashed var(--line)}.panel.challenge.surprise{border-color:#ffb4648c;background:linear-gradient(165deg,#ffa05038,#78143273),#1e080e73;box-shadow:inset 0 1px #ffdcb433,0 0 40px #ff785040}.card-stage.surprise-reveal{animation:deal-flip .7s cubic-bezier(.2,.85,.25,1) both,surprise-pop .9s ease-out}.card-stage.surprise-draw .card-back{border-color:#ffb46480}@keyframes surprise-pop{0%,to{filter:brightness(1)}30%{filter:brightness(1.25) saturate(1.2)}50%{transform:scale(1.03)}}.surprise-table .deck-card{border-color:#ffb46473}.surprise-banner{margin:0;font-family:var(--font-display);font-style:italic;color:#ffc090;font-size:.95rem}.photo-sheet-title{margin:0;font-family:var(--font-display);font-style:italic;font-size:1.4rem;color:var(--skin)}.photo-steps{margin:0;padding-left:1.2rem;color:var(--muted);font-size:.9rem;line-height:1.55}.photo-steps li{margin-bottom:.25rem}.photo-preview{width:100%;max-height:52vh;object-fit:contain;border-radius:18px;border:1px solid var(--line);background:#000}.photo-sent{text-align:center;padding:1rem .5rem}.photo-sent strong{display:block;font-family:var(--font-display);font-style:italic;font-size:1.6rem;color:var(--accent);margin-bottom:.35rem}.photo-status{text-align:center;padding:.75rem 1rem;border-radius:16px;background:#ff8c9626;border:1px solid rgba(255,160,170,.35);color:var(--skin);font-weight:600}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
