
  :root {
    --bg:#080208;
    --panel:rgba(25,5,22,.86);
    --panel-2:rgba(53,15,50,.72);
    --pink:#ff197f;
    --hot:#ff005f;
    --rose:#ff75b5;
    --lav:#9a68ff;
    --cream:#fff9fc;
    --muted:#d9bfd1;
    --line:rgba(255,255,255,.14);
    --shadow:0 26px 70px rgba(0,0,0,.42);
    --radius:26px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;min-height:100%;background:var(--bg);color:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
  body{min-height:100vh;overflow-x:hidden;background:
    radial-gradient(circle at 15% 0%,rgba(255,79,163,.25),transparent 34%),
    radial-gradient(circle at 92% 18%,rgba(185,156,255,.22),transparent 32%),
    linear-gradient(160deg,#0e030d 0%,#1c0719 48%,#10030d 100%)}
  button,input,select{font:inherit}
  button{cursor:pointer}
  .bg-orb{position:fixed;border-radius:50%;filter:blur(14px);opacity:.5;pointer-events:none;animation:float 11s ease-in-out infinite}
  .orb1{width:260px;height:260px;background:#ff006a;left:-120px;top:13%}
  .orb2{width:220px;height:220px;background:#681cff;right:-90px;top:48%;animation-delay:-4s}
  .orb3{width:150px;height:150px;background:#ff5b1f;left:42%;bottom:-90px;animation-delay:-7s}
  @keyframes float{50%{transform:translateY(-18px) translateX(12px) scale(1.04)}}
  .sparkles{position:fixed;inset:0;pointer-events:none;overflow:hidden}
  .sparkles i{position:absolute;width:4px;height:4px;border-radius:50%;background:white;box-shadow:0 0 10px white;animation:twinkle 3s infinite}
  @keyframes twinkle{0%,100%{opacity:.15;transform:scale(.65)}50%{opacity:.95;transform:scale(1.35)}}
  .app{position:relative;z-index:2;width:min(1080px,100%);margin:0 auto;padding:18px clamp(14px,3vw,34px) 32px;min-height:100vh}
  .topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 2px 18px}
  .brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:.02em}
  .brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--pink),var(--lav));display:grid;place-items:center;box-shadow:0 8px 28px rgba(255,79,163,.35);font-size:20px}
  .brand small{display:block;color:var(--rose);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
  .icon-btn{border:1px solid var(--line);background:rgba(255,255,255,.07);color:white;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;transition:.2s}
  .icon-btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.12)}
  .screen{display:none}
  .screen.active{display:block;animation:fade .35s ease}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}
  .hero-copy,.setup-card,.game-shell,.end-card{border:1px solid var(--line);background:linear-gradient(160deg,rgba(71,18,61,.78),rgba(21,5,19,.82));backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:var(--radius)}
  .hero-copy{padding:clamp(26px,5vw,54px);position:relative;overflow:hidden;min-height:650px;display:flex;flex-direction:column;justify-content:center}
  .hero-copy:before{content:"";position:absolute;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.24),rgba(255,79,163,.08) 48%,transparent 70%);right:-130px;top:-140px}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);border-radius:99px;padding:8px 12px;width:max-content;color:#ffd7eb;font-weight:800;font-size:13px}
  h1{font-size:clamp(42px,7vw,82px);line-height:.92;margin:22px 0 20px;letter-spacing:-.065em;max-width:700px}
  h1 .gradient{background:linear-gradient(90deg,#fff,#ff81bc 48%,#c0a9ff);-webkit-background-clip:text;background-clip:text;color:transparent}
  .lead{font-size:clamp(17px,2.2vw,22px);line-height:1.5;color:#edd9e7;max-width:640px}
  .feature-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
  .feature{padding:10px 13px;border-radius:14px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10);font-weight:750;font-size:14px}
  .rules-note{margin-top:auto;padding-top:28px;color:var(--muted);font-size:13px;line-height:1.55}
  .setup-card{padding:clamp(20px,3vw,30px)}
  .setup-card h2{font-size:25px;margin:0 0 7px}
  .subtle{color:var(--muted);line-height:1.5}
  .section-label{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#ffadd4;font-weight:900;margin:23px 0 10px}
  .players{display:grid;gap:9px}
  .player-row{display:grid;grid-template-columns:1fr 42px;gap:9px}
  .text-input,.select{width:100%;background:rgba(7,2,7,.42);border:1px solid var(--line);color:white;border-radius:14px;padding:13px 14px;outline:none;transition:.2s}
  .text-input:focus,.select:focus{border-color:rgba(255,79,163,.75);box-shadow:0 0 0 4px rgba(255,79,163,.12)}
  .remove-btn{border:1px solid var(--line);background:rgba(255,255,255,.06);color:#ffd6e9;border-radius:14px}
  .add-btn{margin-top:10px;border:1px dashed rgba(255,255,255,.26);background:transparent;color:#ffcae2;border-radius:14px;padding:11px 14px;width:100%;font-weight:800}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
  .chips{display:flex;flex-wrap:wrap;gap:8px}
  .chip{position:relative}
  .chip input{position:absolute;opacity:0;pointer-events:none}
  .chip span{display:block;padding:9px 11px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.055);color:#ead6e4;font-size:13px;font-weight:800;transition:.2s}
  .chip input:checked+span{background:linear-gradient(135deg,rgba(255,79,163,.31),rgba(185,156,255,.25));border-color:rgba(255,128,188,.7);color:white;box-shadow:0 6px 16px rgba(255,44,139,.13)}
  .confirm{display:flex;gap:10px;align-items:flex-start;margin:18px 0 14px;color:#ead4e3;font-size:13px;line-height:1.45}
  .confirm input{margin-top:3px;accent-color:var(--pink)}
  .primary{border:0;color:#210315;background:linear-gradient(135deg,#ff5aa8,#ff9bd1 56%,#c0a5ff);font-weight:950;border-radius:17px;padding:15px 18px;box-shadow:0 14px 34px rgba(255,48,142,.27);transition:.2s;width:100%}
  .primary:hover{transform:translateY(-2px);filter:brightness(1.05)}
  .primary:active{transform:translateY(0)}
  .primary:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
  .setup-error{min-height:20px;color:#ffb3ca;font-size:13px;margin:8px 0 0}

  .game-shell{padding:clamp(14px,2.5vw,24px);min-height:690px;display:grid;grid-template-rows:auto 1fr auto}
  .game-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
  .turn-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:850}
  .turn-name{font-size:clamp(21px,3vw,30px);font-weight:950;margin-top:2px}
  .progress-wrap{text-align:center}
  .progress-text{font-weight:900;font-size:13px}
  .progress-bar{width:min(250px,28vw);height:7px;border-radius:99px;background:rgba(255,255,255,.10);overflow:hidden;margin-top:7px}
  .progress-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--lav));border-radius:inherit;transition:width .35s}
  .score-top{justify-self:end;text-align:right}
  .score-value{font-size:26px;font-weight:950}
  .score-value span{font-size:17px}
  .card-stage{display:grid;place-items:center;padding:30px 8px;perspective:1200px}
  .card{width:min(620px,92vw);min-height:390px;border-radius:34px;position:relative;padding:clamp(26px,5vw,52px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.28);transform-style:preserve-3d}
  .card.animate{animation:deal .46s cubic-bezier(.2,.8,.2,1)}
  @keyframes deal{0%{opacity:0;transform:translateY(35px) rotateX(-10deg) scale(.96)}100%{opacity:1;transform:none}}
  .card:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.17),transparent 18%,transparent 70%,rgba(255,255,255,.12),transparent);animation:shine 8s linear infinite}
  @keyframes shine{to{transform:rotate(360deg)}}
  .card:after{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 15% 12%,rgba(255,255,255,.7) 0 2px,transparent 3px),
    radial-gradient(circle at 84% 22%,rgba(255,255,255,.48) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 74% 78%,rgba(255,255,255,.42) 0 2px,transparent 3px);
    background-size:110px 110px,150px 150px,180px 180px;opacity:.35}
  .card-inner{position:relative;z-index:2}
  .category{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:99px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.33);font-weight:950;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
  .prompt{font-size:clamp(25px,4.4vw,43px);line-height:1.12;font-weight:950;letter-spacing:-.035em;margin:32px 0 16px;text-wrap:balance}
  .card-foot{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:16px;color:rgba(255,255,255,.84);font-size:13px;font-weight:750}
  .pass-note{max-width:340px;line-height:1.45}
  .card-num{font-size:13px;white-space:nowrap}
  .cat-warm{background:linear-gradient(145deg,#e94b92,#8b4fd8)}
  .cat-bride{background:linear-gradient(145deg,#ff8fb8,#a27cf0)}
  .cat-secret{background:linear-gradient(145deg,#7f4ad4,#d84290)}
  .cat-story{background:linear-gradient(145deg,#d54477,#f58f62)}
  .cat-compliment{background:linear-gradient(145deg,#df6bb0,#7c6bd8)}
  .cat-action{background:linear-gradient(145deg,#f0408f,#f4a647)}
  .cat-adult{background:linear-gradient(145deg,#35000f,#ff004f)}
  .cat-vote{background:linear-gradient(145deg,#2c0b52,#ff3b7d)}

  .controls{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
  .secondary,.success{border-radius:17px;padding:14px 17px;font-weight:900;border:1px solid var(--line);color:white;transition:.2s}
  .secondary{background:rgba(255,255,255,.07)}
  .success{background:linear-gradient(135deg,#ff4f9f,#b985ff);border:0;box-shadow:0 12px 28px rgba(255,79,159,.22)}
  .secondary:hover,.success:hover{transform:translateY(-2px)}
  .timer{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:17px;padding:10px 13px}
  .timer button{border:0;background:transparent;color:white;font-weight:900}
  .timer-time{min-width:42px;text-align:center;font-variant-numeric:tabular-nums;font-weight:950}
  .game-tools{display:flex;gap:8px;margin-top:14px;justify-content:center;flex-wrap:wrap}
  .tool-btn{border:0;background:transparent;color:#d9becf;font-weight:750;padding:8px 10px}
  .tool-btn:hover{color:white}

  .end-card{max-width:720px;margin:50px auto 0;padding:clamp(28px,6vw,58px);text-align:center}
  .end-emoji{font-size:60px}
  .end-card h2{font-size:clamp(34px,6vw,62px);letter-spacing:-.05em;margin:12px 0}
  .podium{display:grid;gap:10px;margin:24px auto;max-width:520px;text-align:left}
  .podium-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:15px;padding:12px 14px}
  .rank{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--pink),var(--lav));display:grid;place-items:center;color:#280519;font-weight:950}
  .end-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:20px}

  .modal{position:fixed;inset:0;z-index:30;background:rgba(4,0,4,.7);backdrop-filter:blur(12px);display:none;place-items:center;padding:20px}
  .modal.open{display:grid}
  .modal-card{width:min(620px,100%);max-height:min(760px,90vh);overflow:auto;background:linear-gradient(155deg,#35102f,#160513);border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow);padding:24px}
  .modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
  .modal-head h3{margin:0;font-size:24px}
  .score-list{display:grid;gap:9px;margin-top:18px}
  .score-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px 14px;background:rgba(255,255,255,.065);border-radius:14px;border:1px solid var(--line)}
  .score-row strong{font-size:18px}
  .score-row span{font-weight:950;color:#ffb9d8}
  .history-list{display:grid;gap:10px;margin-top:16px}
  .history-item{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.05)}
  .history-item small{color:#ffadd2;font-weight:900}
  .history-item div{margin-top:5px;line-height:1.4}
  .empty{text-align:center;color:var(--muted);padding:30px 10px}
  .toast{position:fixed;left:50%;bottom:24px;z-index:60;transform:translate(-50%,30px);opacity:0;background:#fff;color:#30051d;border-radius:14px;padding:12px 16px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:.3s;pointer-events:none}
  .toast.show{opacity:1;transform:translate(-50%,0)}
  #confetti{position:fixed;inset:0;pointer-events:none;z-index:50}

  @media (max-width:820px){
    .hero{grid-template-columns:1fr}
    .hero-copy{min-height:auto}
    .game-head{grid-template-columns:1fr 1fr}
    .progress-wrap{grid-column:1/-1;grid-row:2}
    .progress-bar{width:100%}
    .controls{grid-template-columns:1fr 1fr}
    .timer{grid-column:1/-1;grid-row:2;justify-self:center}
  }
  @media (max-width:520px){
    .app{padding:10px 10px 22px}
    .brand div:last-child{font-size:14px}
    .brand small{font-size:9px}
    .hero-copy,.setup-card,.game-shell{border-radius:20px}
    .grid2{grid-template-columns:1fr}
    .card-stage{padding:20px 0}
    .card{min-height:420px;border-radius:26px}
    .prompt{font-size:29px}
    .controls{gap:8px}
    .secondary,.success{padding:13px 10px}
    .end-actions{grid-template-columns:1fr}
  }
  @media (prefers-reduced-motion:reduce){
    *,*:before,*:after{animation:none!important;transition:none!important}
  }
/* Preserve the original stage; dossier styling is confined to the new surfaces. */
[hidden]{display:none!important}.c-icon{width:28px;height:28px;flex-shrink:0;vertical-align:middle}.c-icon.c-large{width:82px;height:82px;margin:20px 0;color:#e6b4cd}
.score-top,#scoreBtn{display:none}.game-head{grid-template-columns:1fr auto}.c-tv-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:12px;font-size:13px}.c-choices{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.c-choice{color:#ffedf6;border:1px solid #d8a2bd70;background:#ffffff09;border-radius:14px;padding:13px 18px;font-weight:650;min-height:48px;overflow-wrap:anywhere}.c-choice:hover{background:#bb5c8540;border-color:#ff93c1}.c-hint{font-size:13px;line-height:1.55;color:#d4afc2;margin:10px 0 0}.c-choices .c-choice{flex:1 1 160px}.c-setup-note{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0}
button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #ffb1d6;outline-offset:4px}.c-overline{text-transform:uppercase;letter-spacing:.18em;font-size:11px;line-height:1.6;color:#d3a3bd}.c-dossier{background:radial-gradient(ellipse at 100% 0,#7d305740,transparent 65%),linear-gradient(150deg,#2e1026,#140b18 65%,#2c1124);border:1px solid #d7a3c040;border-radius:28px;padding:clamp(22px,5vw,60px);margin:18px 0 35px;color:#fff1f4;box-shadow:0 24px 90px #0005}.c-dossier h2{font-size:clamp(34px,5vw,64px);letter-spacing:-.045em;line-height:1.07;margin:20px 0;overflow-wrap:anywhere}.c-dossier h2 em{font-family:Georgia,serif;font-weight:400;color:#edc3d7}.c-dossier-header{text-align:center;margin-bottom:38px}.c-dossier-header>p{font-family:Georgia,serif;color:#d9b3c9;font-size:20px}.c-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.c-person{min-width:0;border-top:1px solid #d7a3c055;padding:25px 18px;background:linear-gradient(145deg,#ffffff06,transparent)}.c-person-top{display:flex;gap:14px;align-items:center;color:#cc9eb7}.c-person-top span{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.c-person h3{font-size:clamp(26px,3.5vw,40px);margin:22px 0 12px;overflow-wrap:anywhere}.c-person h4{font-family:Georgia,serif;font-weight:400;color:#e8bad3;font-size:26px;line-height:1.17;margin:0}.c-person>p{font-size:14px;line-height:1.6;color:#d4b2c7}.c-evidence{font-size:12px;color:#bd9aad;line-height:1.65;overflow-wrap:anywhere}.c-evidence p{margin:8px 0}.c-person .tool-btn{padding-left:0;color:#efbfda}.c-facts{border-top:1px solid #d7a3c050;margin-top:25px;padding-top:25px}.c-facts p{font-size:14px;line-height:1.6;color:#dbbcd0}.c-verdict{text-align:center;font-family:Georgia,serif;font-size:clamp(26px,4vw,41px);line-height:1.3;max-width:760px;margin:35px auto}.c-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.c-actions .primary{grid-column:1/-1;background:linear-gradient(125deg,#f1c7da,#c586a8);color:#2b1023;box-shadow:none}.c-links{text-align:center;margin-top:16px}.c-ceremony{min-height:65vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.c-ceremony>div{width:100%}.c-ceremony h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(28px,4vw,42px);color:#ebc2d7;margin:10px auto;max-width:650px}.c-ceremony p{line-height:1.7;color:#d6b2c8;max-width:650px;margin:14px auto}.c-ceremony .c-evidence p{font-family:inherit;font-size:13px}.c-ceremony .primary{margin:20px 0 10px;width:min(100%,480px)}.c-ceremony .c-overline{margin:15px 0}.c-orbit{display:grid;place-items:center;margin:32px auto;width:110px;height:110px;border:1px solid #d8a0bd66;border-radius:50%;animation:c-pulse 1.6s ease infinite}.c-orbit .c-icon{width:50px;height:50px}.c-reveal{animation:c-reveal .55s ease both}.c-method{font-size:12px;color:#b795ac;line-height:1.65;margin-top:25px}.c-method summary{cursor:pointer}.c-method p{max-width:700px}.c-tv-header{text-align:center;padding:20px 0}.c-tv-header h3{font-size:clamp(25px,4vw,36px);line-height:1.1}.c-tv-diagram{display:flex;align-items:center;justify-content:center;gap:28px;color:#efb8d2;margin:25px 0}.c-tv-diagram .c-icon{width:55px;height:55px}.c-tv-option{padding:20px 0;border-top:1px solid #d8a0bd40}.c-tv-option h4{display:flex;gap:12px;align-items:center;font-size:16px;margin:0 0 13px}.c-tv-option p{color:#e7cadd;font-size:14px;line-height:1.7;margin:9px 0}.c-tv-option small{font-size:12px;color:#b798ad;line-height:1.65;display:block}.c-tv-option a{color:#d6afc8}.c-tv-rule{text-align:center;color:#dcaec8;line-height:1.6;font-family:Georgia,serif;font-size:22px}.c-poster-preview{display:block;width:min(100%,330px);height:auto;margin:20px auto;border:1px solid #d7a3c050;border-radius:8px}.c-poster-actions{display:grid;gap:10px}.c-poster-actions a{text-align:center;text-decoration:none}.c-poster-status{font-size:13px;line-height:1.6;color:#d6b2c8}.c-promo{margin-top:25px;border-top:1px solid #d7a3c040;padding-top:20px;color:#d5b3c5;font-size:14px;line-height:1.6}.c-tv-wide .game-shell{width:100%}.c-tv-wide .prompt{font-size:clamp(32px,4vw,62px)}.c-tv-wide .card{min-height:300px}.c-tv-wide .card-stage{padding:8px 0}.c-tv-wide .card-inner{padding:25px 40px}.c-tv-wide .game-shell{gap:14px}.c-tv-wide .game-tools{margin:5px 0}.c-tv-wide .card-foot{padding:10px 25px}
@keyframes c-pulse{50%{opacity:.5;transform:scale(.94)}}@keyframes c-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(min-width:1100px) and (min-aspect-ratio:16/10){.app.c-tv-wide{width:min(1560px,100%)}.c-tv-wide .controls{grid-template-columns:1fr auto 1fr}}
@media(max-width:600px){.c-grid{grid-template-columns:1fr}.c-person{padding:22px 4px}.c-dossier{padding:26px 19px;border-radius:22px}.c-actions{grid-template-columns:1fr}.c-dossier-header{margin-bottom:25px}.c-choices{gap:7px}.c-choices .c-choice{flex-basis:130px;font-size:13px;padding:12px}.modal{padding:10px}.modal-card{padding:20px;max-height:94vh;max-height:94dvh}.c-ceremony{min-height:75vh}.c-ceremony h2{font-size:40px}.c-tv-option h4{font-size:15px}.c-tv-header{padding:5px 0}.c-tv-diagram{margin:15px 0}.c-tv-wide .card-inner{padding:20px}.c-tv-wide .prompt{font-size:29px}}
@media(prefers-reduced-motion:reduce){.c-reveal,.c-orbit{animation:none}}

.c-tv-wide .card{width:min(1100px,100%);padding:clamp(22px,3vw,42px)}.c-tv-wide .card-inner{padding:0}.c-tv-wide .game-shell{min-height:calc(100dvh - 125px)}

/* Larger, readable result typography and pearl bridal balloons. */
.c-dossier-header{position:relative}.c-dossier-header.has-bride{padding-right:200px;min-height:225px;display:flex;flex-direction:column;justify-content:center}.c-bride-balloons{position:absolute;width:200px;height:235px;right:0;top:-15px;pointer-events:none}.c-person h3{font-size:clamp(32px,4vw,48px)}.c-person h4{font-size:clamp(28px,3vw,35px);line-height:1.25}.c-person>p{font-size:19px;line-height:1.6;color:#e4c8d9}.c-evidence{font-size:15px;line-height:1.65}.c-facts p{font-size:18px}.c-person{padding:28px 20px}.c-ceremony>div.c-reveal p,.c-reveal>p{font-size:21px}.c-ceremony .c-evidence p{font-size:16px}.c-overline{font-size:12px}.c-poster-preview{width:min(100%,430px)}
@media(max-width:600px){.c-dossier-header.has-bride{padding-right:0;padding-top:175px;min-height:0}.c-bride-balloons{width:165px;height:180px;top:-12px;right:calc(50% - 82px)}.c-person{padding:26px 3px}.c-person>p{font-size:18px}.c-evidence{font-size:14px}.c-facts p{font-size:17px}}
.c-role-group{flex:1 1 290px;min-width:0;border:1px solid #f0adcd44;border-radius:18px;padding:16px;background:#ffffff06}.c-role-group h3{font-size:18px;margin:0 0 13px;color:#f4d9e8}.c-role-options{display:flex;flex-wrap:wrap;gap:8px}.c-role-options .c-choice{flex:1 1 100px}.c-choice[aria-pressed=true]{background:#f1bad4;color:#310f26;border-color:#ffdbed}.c-choice:disabled{opacity:.32;cursor:not-allowed}.c-portrait{margin:22px 0;padding:18px;border-left:2px solid #cc93b3;background:#d5a9c109}.c-portrait h5{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#d8a7c1;margin:0 0 9px}.c-portrait p{font-size:17px;line-height:1.6;color:#e1c0d3;margin:0}.c-moment{margin-top:22px;border:1px solid #df9fbd44;border-radius:18px;padding:22px}.c-moment h3{font-family:Georgia,serif;color:#edc2d7;font-size:27px;margin:0 0 12px}.c-moment p{font-size:18px;line-height:1.6;margin:0}.c-ceremony .c-portrait{text-align:left;max-width:650px;margin:20px auto}.success:disabled{opacity:.5;cursor:not-allowed}
/* Celestial accents remain offline and scale to television displays. */
.z-select-label{grid-column:1/-1;display:grid;gap:7px;color:#d8b7d3;font-size:13px}.z-select-label select{width:100%;min-height:46px;font-size:16px}.player-row{padding:15px;border:1px solid #ffffff16;border-radius:20px;background:#ffffff05}.z-row-preview:empty{display:none}.z-row-preview{grid-column:1/-1}.z-emblem{width:68px;height:68px;color:#edc5ef;flex-shrink:0}.z-badge{display:inline-flex;align-items:center;gap:10px;color:#f6dbed;font-size:18px;font-weight:750}.z-badge small{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#be9abd;margin-top:3px}.z-row-preview .z-emblem{width:42px;height:42px}.z-row-preview .z-badge{font-size:15px}#turnZodiac:empty{display:none}#turnZodiac{margin-top:12px}.z-card-art{position:absolute;right:22px;top:18px;pointer-events:none;opacity:.25}.z-card-art .z-emblem{width:100px;height:100px}.z-verdict{position:relative;overflow:hidden;margin-top:24px;padding:24px;border:1px solid #d5abe83d;border-radius:24px;background:radial-gradient(ellipse at top right,#a96be32b,transparent 65%),#170e24}.z-verdict::after{content:'✧';position:absolute;right:18px;top:22px;font-size:76px;color:#d7b1ef22;pointer-events:none}.z-verdict>.z-badge{display:flex;margin-bottom:22px}.z-verdict>small{display:block;letter-spacing:1.5px;font-size:11px;color:#ba9cbc}.z-verdict h5{font-size:24px;margin:22px 0 10px;color:#f3d7f5}.z-verdict p{font-size:18px!important;line-height:1.55!important;margin:8px 0 16px!important}.z-verdict blockquote{margin:12px 0;padding:12px 15px;border-left:2px solid #d988d9;background:#ffffff06;font-size:15px;line-height:1.5;color:#ddc6dd}.c-reveal .z-verdict{text-align:left;max-width:760px;margin:24px auto}.c-reveal .z-verdict .z-emblem{width:68px;height:68px}@media(max-width:600px){.z-card-art{top:12px;right:12px}.z-card-art .z-emblem{width:65px;height:65px}.z-verdict{padding:19px}.z-verdict h5{font-size:22px}#turnZodiac .z-emblem{width:44px;height:44px}}

:root{--pink:#e8a0b1;--lav:#d5b5a3;--rose:#efb5c3;--muted:#c5b6b2;--line:#caa99252;--radius:25px;--shadow:0 22px 60px #0007}
body{background:#090909;color:#f6ece5;font-family:Arial,Helvetica,sans-serif}.orb{display:none}body:before{content:'';position:fixed;inset:0;background:linear-gradient(#0004,#0005),var(--party-art) center/cover no-repeat;z-index:0;pointer-events:none}.sparkles{opacity:.45}.app{width:min(1560px,100%);padding:24px clamp(16px,4vw,64px) 90px}.topbar{padding-bottom:28px}.brand{font-family:Georgia,serif;font-weight:400;font-size:23px;letter-spacing:.03em}.brand small{font:9px Arial,sans-serif;letter-spacing:.23em;color:#d8b6b2}.brand-mark{background:none;box-shadow:none;color:#d9b7a6;font-size:32px;border-radius:0}.icon-btn{border-radius:50%;background:#111a;border-color:#b9928159}.hero{grid-template-columns:1fr 1fr;gap:36px;align-items:start}.hero-copy,.setup-card,.game-shell{background:linear-gradient(135deg,#141111e8,#080809e8);border:1px solid var(--line);backdrop-filter:blur(7px);border-radius:25px}.hero-copy{position:sticky;top:24px;min-height:680px;background:linear-gradient(#0909092b,#090909da),var(--party-art) center/cover;justify-content:center;text-align:center;align-items:center}.hero-copy:before{display:none}.eyebrow{font-weight:400;font-size:10px;letter-spacing:.12em;background:#0007;border-color:#ccab9270;color:#e9d1bf}.hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,5.5vw,86px);font-weight:400;letter-spacing:-.045em;line-height:1.04}.hero-copy h1 .gradient{background:none;color:#f7ebe3}.lead{font-size:17px;color:#e2c8c8}.feature-row{justify-content:center}.feature{background:#09090999;font-size:11px;font-weight:400;border-radius:99px;border-color:#ac8a7263}.rules-note{font-size:12px;color:#d1bfc0}.setup-card h2{font:34px Georgia,serif;letter-spacing:-.04em}.subtle{font-size:14px}.section-label{font-size:10px;color:#d6acb4;font-weight:500}.primary{background:linear-gradient(125deg,#f4b9c6,#dd8c9c);box-shadow:0 9px 32px #a958632c;border:1px solid #ffcbd96b;color:#201314;border-radius:99px;font-weight:700;letter-spacing:.025em}.secondary{border:1px solid #c4a08b8c!important;background:#100e0eed!important;color:#f5e3df;border-radius:99px!important}.tool-btn{color:#d2b5b5!important;font-weight:500!important}.player-row{background:#ffffff03;border-color:#b58e7452;border-radius:19px;padding:16px}.text-input,.select{border-radius:10px;background:#121011d9;font-size:15px}.player-name{font-family:Georgia,serif;font-size:21px}.remove-btn{border-radius:50%;width:36px;height:36px;align-self:center}.chip span{font-weight:400;font-size:12px}.chip input:checked+span{background:#cc879333;border-color:#e2a6b3;box-shadow:none}.z-emblem{color:#edb8c4}.z-select-label{font-size:11px}.z-row-preview{display:none}.photo-editor{grid-column:1/-1;display:grid;grid-template-columns:100px 1fr;gap:14px;align-items:start;margin-top:4px}.photo-preview{height:145px;border:1px solid #bf99866b;border-radius:14px;background:radial-gradient(ellipse at bottom,#9d6c7255,transparent 80%),#090909;overflow:hidden;display:grid;place-items:center}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-empty{font:32px Georgia,serif;text-align:center;color:#bc9296}.photo-empty small{display:block;font:10px/1.5 Arial,sans-serif;margin-top:10px;color:#d0baba}.photo-upload{display:block;position:relative;width:100%;border:1px solid #d1a3ad66;background:#eeb3be12;border-radius:99px;padding:11px 10px;text-align:center;font-size:12px;cursor:pointer;overflow:hidden}.photo-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-upload:focus-within{outline:2px solid #f4bcc8;outline-offset:3px}.photo-status{font-size:11px;line-height:1.5;color:#c5b3b5;margin:9px 0}.photo-edit-buttons{display:flex;flex-wrap:wrap;gap:6px}.photo-edit-buttons button{font-size:10px;color:#f0cbd1;padding:6px 9px;border:1px solid #ad7c874d;background:#fff1;border-radius:20px;min-height:32px}.photo-edit-buttons button:disabled{opacity:.4}.photo-position{font-size:10px;color:#cbb8bc;display:grid;gap:4px;margin-top:9px}.photo-y{width:100%;accent-color:#eeb5c2}.photo-privacy{margin:14px 0;font-size:12px;line-height:1.6;color:#d1babe}.photo-privacy label{display:flex;align-items:flex-start;gap:9px}.photo-privacy input{accent-color:#e8a0b1;margin-top:3px}.photo-privacy p{margin:5px 0 0 24px;font-size:11px;color:#ac999f}
.game-shell{padding:clamp(20px,3vw,40px)}.turn-name{font-family:Georgia,serif;font-weight:400;font-size:38px}.turn-label{font-size:10px;font-weight:400;letter-spacing:.2em}.progress-text{font-weight:400}.progress-bar i{background:#e6a8b7}.card{background:linear-gradient(150deg,#181215f5,#100f10f5)!important;border:1px solid #e2b6a66b;border-radius:18px!important;box-shadow:0 25px 70px #0009!important}.card::after{opacity:.10!important}.category{background:#dbb3b017!important;border:1px solid #dcaaa14d!important;color:#e4b8bf;font-size:11px;font-weight:500;letter-spacing:.12em}.prompt{font-family:Georgia,'Times New Roman',serif;font-weight:400!important;font-size:clamp(30px,4vw,51px)!important;line-height:1.18!important;letter-spacing:-.025em;color:#faede8}.card-foot{color:#baa5aa;font-size:11px}.c-choice{border-radius:14px;background:#151112d9;border-color:#c293856e;color:#f2dfdd;font-weight:400}.c-choice:hover{background:#d898aa26;border-color:#eeb7c6}.c-hint{color:#d4bcbf}.c-role-group{background:#0c0b0bbb!important}.c-role-group h3{font:20px Georgia,serif}.portrait-turn{width:64px;height:82px!important;float:left;margin-right:15px;border-radius:12px!important}.portrait-turn .portrait-monogram{font-size:34px}.portrait-turn small{display:none}.timer{background:#181314!important;border-color:#d3a59b55!important}
.c-dossier{padding:20px 0 30px;margin-top:0;background:transparent;border:0;box-shadow:none}.c-dossier-header{text-align:center;position:relative;min-height:270px;padding:30px 100px 30px!important;margin:0 auto 35px}.c-dossier-header h2{font:clamp(30px,5vw,70px)/1 Georgia,serif;text-transform:uppercase;letter-spacing:-.035em;margin:24px 0 2px!important}.result-script{font:italic clamp(36px,5vw,66px)/1.1 'Snell Roundhand','URW Chancery L',Georgia,serif;color:#eaa4b6;transform:rotate(-5deg);margin:0 0 30px}.result-caption{font-size:12px!important;font-family:Arial,sans-serif!important;text-transform:uppercase;line-height:1.65;color:#e9d9d4!important}.c-dossier-header>p{font-size:12px}.c-bride-balloons{width:120px!important;right:0!important;top:30px!important;opacity:.85}.c-overline{font-size:10px;color:#c8a5a3;font-weight:400}.c-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:start}.c-person{padding:0;border:1px solid #d4ae947d;border-radius:21px;background:linear-gradient(#151314d9,#090909f5);overflow:hidden;min-width:0;box-shadow:0 18px 40px #0005}.portrait-frame{position:relative;isolation:isolate;width:100%;height:320px;overflow:hidden;background:radial-gradient(ellipse at 20% 80%,#c6999b72,transparent 55%),radial-gradient(ellipse at 90% 60%,#b9929270,transparent 65%),#111014}.portrait-image{width:100%;height:100%;object-fit:cover;object-position:50% var(--photo-y,30%);filter:saturate(.82) contrast(1.04)}.portrait-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(#0006,transparent 35%,transparent 58%,#100f10);pointer-events:none}.portrait-monogram{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:120px Georgia,serif;color:#cfabb19c;text-shadow:0 0 50px #d38b9d22}.portrait-monogram small{font:9px Arial,sans-serif;letter-spacing:.25em;margin-top:20px}.person-heading{position:absolute;z-index:3;inset:18px 16px auto;display:flex;align-items:start;justify-content:space-between;gap:8px}.person-heading h3{font:24px Georgia,serif;margin:0!important;color:#fff1e6;text-transform:uppercase;max-width:70%;overflow-wrap:anywhere}.person-heading .z-emblem{width:43px;height:43px}.person-heading small{font-size:9px;display:block;color:#e0c5c9;margin-top:5px}.person-copy{padding:0 18px 22px;position:relative;z-index:4;margin-top:-15px;text-align:center}.person-sigil .c-icon{width:29px;height:29px;color:#e5afbc}.c-person h4{font:23px/1.12 Georgia,serif;color:#e6bdba;text-transform:uppercase;margin:12px 0 15px;overflow-wrap:anywhere}.c-person .person-comment{font-size:13px;line-height:1.55;color:#d9cdcb;margin:0 0 18px}.person-metrics{border-top:1px solid #d5afa139;text-align:left;padding:10px 0}.person-metrics p{display:flex;justify-content:space-between;gap:8px;margin:0;font-size:10px;color:#c7b4b4;line-height:1.5}.person-metrics b{font-size:15px;font-weight:400;color:#f2d4d6}.person-details{text-align:left;border-top:1px solid #d5afa139;padding-top:12px}.person-details summary{font-size:11px;color:#e4bcc7;cursor:pointer;line-height:1.5}.person-details .c-portrait{padding:12px 0;background:none;border:0;margin:0}.person-details .c-portrait h5{font-size:15px}.person-details .c-portrait p,.person-details .c-evidence p{font-size:12px!important}.c-person .tool-btn{font-size:11px;margin-top:14px;padding:9px 0}.person-details .z-verdict{padding:13px;margin-top:10px}.person-details .z-verdict h5{font-size:18px}.person-details .z-verdict p{font-size:12px!important}.person-details .z-verdict .z-badge{font-size:14px}.person-details .z-verdict blockquote{font-size:11px}.c-facts{margin-top:28px;border:1px solid #d5afa177;border-radius:23px;background:#0b0a0be8;padding:23px 28px}.c-facts h3{font:26px Georgia,serif;text-align:center;color:#f4e6de;text-transform:uppercase;margin:0 0 18px}#nightFacts{display:flex;justify-content:center;gap:24px}#nightFacts p{font-size:13px;line-height:1.6;flex:1;margin:0;padding:3px 14px;border-left:1px solid #d5afa13b}#nightFacts p:first-child{border:0}.c-verdict{font:italic clamp(22px,3vw,34px)/1.4 Georgia,serif;background:#100d0ded;border:1px solid #ccaa8973;border-radius:22px;padding:28px;max-width:none;color:#ead0c9}.c-actions{grid-template-columns:1fr 1fr 1fr;gap:15px}.c-actions button{font-size:13px;min-height:65px}.c-method{background:#0b090abf;padding:15px;border-radius:12px;font-size:12px}.c-links{margin:18px 0}.c-ceremony{background:#0e0b0bdc;border:1px solid #c99d8866;border-radius:24px;padding:35px}.c-ceremony h2{font-family:Georgia,serif;font-weight:400}.portrait-reveal{max-width:300px;height:360px;margin:20px auto;border-radius:18px;border:1px solid #cba89970}.c-reveal h3{color:#e5b9be}.modal-card{background:#100e10!important;border:1px solid #d0a39077!important}.z-verdict{background:radial-gradient(ellipse at top right,#b48c8529,transparent 65%),#110e10;border-color:#cda39045}.z-verdict:after{color:#e5bba222}.c-moment{background:#110d0de8;border-color:#cfa48b66}.app:after{content:'СУЧИЙ СОВЕТ  ♛  БОЛЬШЕ, ЧЕМ ПРОСТО ИГРА';display:block;text-align:center;color:#d5b3ae;font-size:10px;letter-spacing:.2em;margin:65px 0 0}.photo-editor [hidden]{display:none!important}
@media(min-width:1400px){.c-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.c-grid:has(.c-person:nth-child(6)){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-copy{position:relative;top:auto;min-height:470px}.c-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app{padding-left:22px;padding-right:22px}}
@media(max-width:760px){.c-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.c-dossier-header{padding:20px 35px!important}.c-bride-balloons{width:65px!important;top:0!important;opacity:.6}.c-actions{grid-template-columns:1fr}.c-actions button{min-height:52px}#nightFacts{display:block}#nightFacts p{padding:12px 0;border-left:0;border-top:1px solid #d5afa13b}.portrait-frame{height:300px}.game-head{gap:12px}.c-tv-wide .prompt{font-size:32px!important}}
@media(max-width:480px){.app{padding:14px 14px 55px}.hero-copy{padding:36px 23px;min-height:510px}.hero-copy h1{font-size:55px}.brand{font-size:19px}.setup-card{padding:20px 16px}.c-grid{grid-template-columns:1fr;max-width:360px;margin:auto}.portrait-frame{height:420px}.person-heading h3{font-size:29px}.person-copy{padding:0 24px 22px}.c-person h4{font-size:28px}.c-person .person-comment{font-size:15px}.person-details summary{font-size:13px}.person-metrics p{font-size:12px}.c-person .tool-btn{font-size:13px}.c-dossier-header h2{font-size:43px}.result-script{font-size:44px}.game-shell{padding:19px 14px}.turn-name{font-size:30px}.prompt{font-size:31px!important}.card{padding:28px 24px}.photo-editor{grid-template-columns:88px 1fr}.photo-preview{height:132px}.portrait-turn{height:72px!important;width:53px}.portrait-reveal{height:360px}.grid2{grid-template-columns:1fr}.c-facts{padding:22px}.c-ceremony{padding:24px 18px}.c-choice{font-size:14px!important}.photo-upload{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sparkles{display:none}.result-script{transform:none}}
.person-photo-wrap{position:relative}.photo-edit-buttons button:focus-visible,.photo-upload:focus-within{outline:2px solid #f4bbc8;outline-offset:3px}
.c-actions .primary{grid-column:auto;background:linear-gradient(125deg,#f4b9c6,#dd8c9c);color:#201314}.c-bride-balloons{height:auto!important}.select{font-size:16px}

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/b20b7d9626dd956b2c5e5586.ttf) format("truetype");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/3ae11c49db0455a3cc33e37d.ttf) format("truetype");}
@font-face{font-family:"Marck Script";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/504de8cc6f919163bc9afb67.ttf) format("truetype");}
body,button,input,select,textarea,.brand small,.c-overline{font-family:'Manrope',Arial,sans-serif}
.brand,.hero-copy h1,.setup-card h2,.player-name,.turn-name,.prompt,.c-dossier-header h2,.person-heading h3,.c-person h4,.c-facts h3,.c-verdict,.c-ceremony h2,.c-ceremony h3,.c-role-group h3{font-family:'Cormorant Garamond',Georgia,serif}
.prompt{font-weight:500!important}.c-dossier-header h2{font-weight:500}.c-person h4{font-weight:600;font-size:27px}.person-heading h3{font-weight:500}.result-script{font-family:'Marck Script',cursive;font-style:normal;font-size:clamp(44px,6vw,80px)}
.mood-ribbon{display:grid;grid-template-columns:1fr 160px 1fr;align-items:center;gap:28px;max-width:1000px;margin:0 auto 10px;min-height:185px;pointer-events:none}.brand-balloon{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 25px #be4b663b)}.mood-ribbon p,.closing-quotes p{font-family:'Marck Script',cursive;font-size:clamp(20px,2.4vw,33px);line-height:1.15;color:#e7a5bb;text-shadow:0 1px 10px #000,0 0 22px #cb537326;margin:0}.mood-ribbon p:first-child{text-align:right;transform:rotate(-7deg)}.mood-ribbon p:last-child{transform:rotate(6deg);text-align:left;max-width:300px}.closing-quotes{display:flex;justify-content:space-between;gap:30px;margin:65px auto 25px;max-width:1100px;pointer-events:none}.closing-quotes p:last-child{transform:rotate(5deg);text-align:right}.closing-quotes p:first-child{transform:rotate(-6deg)}
.luxe-icon{color:#f2b3cb;overflow:visible;filter:drop-shadow(0 0 5px #fb8cbd88) drop-shadow(0 0 16px #ec73a63b)}.icon-halo{stroke-width:3;opacity:.22;filter:blur(1.5px)}.icon-shine{stroke:#fff2f7;stroke-width:.45;opacity:.7}.z-emblem{color:#f2c6df;overflow:visible;filter:drop-shadow(0 0 6px #ee98d89c) drop-shadow(0 0 16px #e87dc140)}.z-emblem path:last-child{stroke-width:2.6}.z-emblem circle{opacity:.22}.z-card-art{opacity:.6}.person-heading .z-emblem{width:49px;height:49px}.person-sigil{display:grid;place-items:center;width:54px;height:54px;margin:-18px auto 6px;border-radius:50%;border:1px solid #e9a6be58;background:radial-gradient(#94566c5c,#161115 75%);box-shadow:0 0 25px #c76c9236}.person-sigil .c-icon{width:32px;height:32px}.z-row-preview{display:block;grid-column:1/-1}.z-row-preview:empty{display:none}.z-row-preview .z-badge{font-family:'Manrope',sans-serif;gap:13px}.z-row-preview .z-emblem{width:48px;height:48px}.photo-empty .c-icon{width:37px;height:37px}.photo-empty small{font-family:'Manrope',sans-serif}.photo-upload .c-icon{width:17px;height:17px;vertical-align:middle;margin-right:6px}.c-actions button{display:flex;align-items:center;justify-content:center;gap:12px}.c-actions .c-icon{width:26px;height:26px;flex-shrink:0}.c-actions .primary .c-icon{color:#492630;filter:none}.c-actions .primary .icon-shine{opacity:.1}
#nightFacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.fact-cell{display:flex;align-items:center;gap:17px;padding:14px 22px;border-left:1px solid #df9fad45;min-width:0}.fact-cell:first-child{border-left:0}.fact-symbol{display:grid;place-items:center;flex:0 0 52px;width:52px;height:64px}.fact-symbol .c-icon{width:43px;height:43px}#nightFacts .fact-cell p{border:0;padding:0;margin:0;font-family:'Manrope',sans-serif;font-size:13px;line-height:1.65}.c-facts h3{font-size:34px}.person-metrics .c-icon{width:17px;height:17px;vertical-align:middle;margin-right:6px}.c-person .tool-btn .c-icon{width:16px;height:16px;vertical-align:middle;margin-right:6px}.brand-mark .c-icon{width:37px;height:37px}.section-label .c-icon{width:19px;height:19px;vertical-align:middle;margin-right:7px}
@media(max-width:900px){.fact-cell{padding:12px;gap:10px}.fact-symbol{flex-basis:35px;width:35px}.fact-symbol .c-icon{width:30px;height:30px}}
@media(max-width:760px){.mood-ribbon{grid-template-columns:1fr 105px 1fr;gap:12px;min-height:140px}.mood-ribbon p{font-size:22px}#nightFacts{grid-template-columns:1fr}.fact-cell{border-left:0;border-top:1px solid #df9fad35;padding:16px 0}.fact-cell:first-child{border-top:0}.fact-symbol{flex-basis:48px;width:48px;height:45px}.fact-symbol .c-icon{width:36px;height:36px}.closing-quotes p{font-size:24px}.c-person h4{font-size:29px}}
@media(max-width:480px){.mood-ribbon{grid-template-columns:1fr 100px;gap:10px;margin-bottom:18px}.mood-ribbon p:first-child{text-align:left;font-size:24px}.mood-ribbon p:last-child{grid-column:1/-1;font-size:20px;text-align:center;max-width:none;transform:rotate(-2deg)}.mood-ribbon img{grid-column:2;grid-row:1}.closing-quotes{gap:16px;margin-top:42px}.closing-quotes p{font-size:20px}.result-script{font-size:58px}.c-dossier-header h2{font-size:49px}.prompt{font-size:34px!important}.person-sigil{width:57px;height:57px}.c-person .person-comment{font-size:14px}}

/* Current participant only: result portraits retain their independent crop. */
.turn-person{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:22px;align-items:center;margin-top:12px}
.turn-person #turnName{grid-column:2;grid-row:1;align-self:end;overflow-wrap:anywhere}
.turn-person #turnZodiac{grid-column:2;grid-row:2;align-self:start;margin-top:8px}
.turn-person #turnPhoto{grid-column:1;grid-row:1 / 3;width:clamp(110px,10vw,150px)}
.turn-person #turnPhoto:empty{display:none}
.turn-person:has(#turnPhoto:empty){grid-template-columns:minmax(0,1fr)}
.turn-person:has(#turnPhoto:empty) #turnName,.turn-person:has(#turnPhoto:empty) #turnZodiac{grid-column:1}
#turnPhoto .portrait-frame.portrait-turn{box-sizing:border-box;position:relative;float:none;margin:0;width:100%;height:auto!important;aspect-ratio:4 / 5;padding:7px;border-radius:18px!important;border:1px solid #e7bcc176;background:radial-gradient(ellipse at top left,#dfacbd25,transparent 75%),#171214;box-shadow:0 0 24px #d694b51a;overflow:hidden}
#turnPhoto .portrait-turn .portrait-image{display:block;position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);object-fit:contain;object-position:center;filter:none;transform:none;border-radius:0}
#turnPhoto .portrait-turn::after{display:none}
#turnPhoto .portrait-turn .portrait-monogram{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
@media(max-width:600px){
 .turn-person{grid-template-columns:minmax(0,1fr);gap:9px;margin-top:8px}
 .turn-person #turnName{grid-column:1;grid-row:1;align-self:auto}
 .turn-person #turnPhoto{grid-column:1;grid-row:2;width:112px}
 .turn-person #turnZodiac{grid-column:1;grid-row:3;margin-top:0;align-self:auto}
 #turnPhoto .portrait-frame.portrait-turn{border-radius:15px!important;padding:6px}
}

:root{--ss-black:#080708;--ss-wine:#241016;--ss-wine-light:#3a1c29;--ss-glass:#100d10d9;--ss-pink:#ed9db7;--ss-pink-soft:#d5aab4;--ss-cream:#f5e9df;--ss-muted:#c8b5b5;--ss-border:#dcb4a45e;--ss-gold:#e8cc9d;--ss-danger:#e46e83;--ss-success:#e3aec0;--ss-r-sm:10px;--ss-r-md:18px;--ss-r-lg:28px;--ss-r-hero:36px;--ss-shadow:0 18px 50px #0008;--ss-glow:0 0 35px #df83a538;--ss-blur:8px;--ss-space-1:4px;--ss-space-2:8px;--ss-space-3:12px;--ss-space-4:16px;--ss-space-6:24px;--ss-space-8:32px;--ss-space-12:48px;--ss-space-16:64px;--ss-display:clamp(44px,7vw,88px);--ss-h1:clamp(34px,5vw,58px);--ss-h2:clamp(26px,3.4vw,40px);--ss-body:clamp(15px,1.25vw,18px);--ss-caption:12px;--bg:var(--ss-black);--panel:#151112ed;--panel-2:#241016e8;--pink:var(--ss-pink);--hot:#d4537c;--rose:var(--ss-pink-soft);--lav:#9d7897;--cream:var(--ss-cream);--muted:var(--ss-muted);--line:var(--ss-border);--shadow:var(--ss-shadow);--radius:var(--ss-r-lg)}html{scroll-padding-top:24px}button{touch-action:manipulation;min-height:44px}.icon-btn{width:44px;height:44px}.remove-btn{width:44px!important;height:44px!important;min-height:44px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Art-directed home cover */
#setupScreen.menu-mode .party-setup{display:none!important}#setupScreen.menu-config .menu-landing{display:none}#setupScreen.menu-config .party-setup{display:grid!important}
.menu-landing{position:relative;isolation:isolate;overflow:hidden;min-height:min(780px,calc(100svh - 115px));padding:clamp(18px,3vw,42px);border:1px solid #d6a99766;border-radius:36px;background:linear-gradient(180deg,#08070808,#08070866 38%,#080708df),var(--party-art) center 54%/cover no-repeat;box-shadow:0 18px 50px #0008;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,2vh,24px)}
.menu-editorial{text-align:center;text-shadow:0 2px 24px #000}.menu-crown{width:35px;height:35px;margin:auto;color:#f1cad0;filter:drop-shadow(0 0 10px #f3a5c2)}.menu-crown .c-icon{width:100%;height:100%}.menu-brand{font:400 clamp(42px,7vw,84px)/.92 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em;color:#f7e9df;text-transform:uppercase}.menu-script{font:clamp(26px,4.8vw,48px)/1.05 'Marck Script',cursive;color:#ef9bb8;margin:8px 0 12px;transform:rotate(-3deg);text-shadow:0 0 20px #e8769d66}.menu-intro{font:500 clamp(14px,1.5vw,18px)/1.55 'Manrope',sans-serif;color:#f4e5df;margin:0}
.menu-start{display:grid;grid-template-columns:64px 1fr 48px;align-items:center;gap:clamp(10px,2vw,24px);width:min(560px,100%);min-height:112px;padding:18px 25px;border:1px solid #ffe0e7d4;border-radius:27px;background:linear-gradient(135deg,#f4bdcde8,#d98ca1ed 62%,#c87d91ee);box-shadow:0 16px 46px #e58ba740,inset 0 1px #fff9;color:#241319;text-align:left;cursor:pointer;transition:transform .25s,box-shadow .25s}.menu-start:hover{transform:translateY(-3px);box-shadow:0 20px 58px #e58ba766,inset 0 1px #fff9}.menu-lips{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#411b2a16}.menu-lips .c-icon{width:40px;height:40px}.menu-start b{display:block;font:600 clamp(21px,3.2vw,32px)/1.1 'Cormorant Garamond',Georgia,serif;text-transform:uppercase}.menu-start small{display:block;margin-top:6px;font:500 12px/1.45 'Manrope',sans-serif;color:#57303b}.menu-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #60364488;border-radius:50%;font:32px/1 'Cormorant Garamond',serif}
.menu-modes{width:min(940px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.menu-mode{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(150px,22vh,220px);padding:16px;border:1px solid #e7b7a76e;border-radius:21px;background:#0b080be8;text-align:left;color:#f5e9df;cursor:pointer;box-shadow:0 10px 30px #0009;transition:transform .2s,border .2s}.menu-mode:hover{transform:translateY(-3px);border-color:#f0b4c8}.menu-mode-art{position:absolute;z-index:-2;inset:0;background-image:linear-gradient(0deg,#090608f5,#09060882 55%,#09060820),var(--party-art);background-size:cover;background-position:50% 48%;transition:transform .5s}.menu-mode:hover .menu-mode-art{transform:scale(1.04)}.menu-art-soft{background-position:25% 42%;filter:saturate(.82)}.menu-art-main{background-position:58% 70%}.menu-art-hot{background-position:88% 45%;filter:saturate(1.1)}.menu-mode-icon{position:absolute;right:14px;top:13px;color:#ffb5cc;filter:drop-shadow(0 0 10px #ff88b99b)}.menu-mode-icon .c-icon{width:30px;height:30px}.menu-mode b{font:500 clamp(19px,2.2vw,27px)/1.05 'Cormorant Garamond',Georgia,serif;text-transform:uppercase}.menu-mode small{max-width:230px;margin-top:5px;color:#eddbd8;font:12px/1.4 'Manrope',sans-serif}.menu-mode i{font:italic 12px/1.3 'Marck Script',cursive;color:#eda0b8;margin-top:11px}
.menu-quick{width:min(940px,100%);display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-quick>button,.menu-sound{position:relative;min-height:68px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-content:center;gap:2px 10px;padding:12px 16px;border:1px solid #d1a39050;border-radius:17px;background:#0a0809c9;color:#f3e3da;text-align:left;backdrop-filter:blur(8px)}.menu-quick>button{cursor:pointer}.menu-quick>button>.c-icon,.menu-sound>.c-icon{grid-row:1/3;align-self:center;width:29px;height:29px;color:#ed9db7;filter:drop-shadow(0 0 7px #f290b27c)}.menu-quick b,.menu-sound b{font:600 13px/1.3 'Manrope',sans-serif}.menu-quick small,.menu-sound small{font:11px/1.35 'Manrope',sans-serif;color:#cbb6b3}.menu-sound{padding-right:148px}.menu-sound button{position:absolute;right:13px;top:50%;transform:translateY(-50%);min-height:42px;padding:8px 13px;border:1px solid #e5a6b98a;border-radius:999px;background:#edacc31f;color:#f5c5d2;font-size:11px;cursor:pointer}.menu-footer{margin:0;color:#e2c0c1;font:10px/1.2 'Manrope',sans-serif;letter-spacing:.24em;text-align:center}
.setup-back{display:inline-flex;min-height:44px;align-items:center;margin-bottom:12px}.party-setup{align-items:start}.party-setup .setup-card{min-width:0}
@media(min-width:1440px){.menu-landing{max-width:1700px;margin:auto;min-height:calc(100svh - 145px);gap:clamp(12px,1.5vh,22px)}.menu-editorial{margin-top:-1vh}.menu-modes,.menu-quick{width:min(1080px,100%)}.menu-mode{min-height:190px}}
@media(max-width:767px){.menu-landing{min-height:calc(100svh - 125px);padding:20px 14px;border-radius:24px;gap:14px;background-position:54% center}.menu-crown{width:28px;height:28px}.menu-brand{font-size:clamp(38px,12vw,57px)}.menu-script{font-size:clamp(24px,7.5vw,34px);margin:5px 0 8px}.menu-intro{font-size:13px}.menu-start{grid-template-columns:48px 1fr 38px;min-height:82px;padding:12px 14px;border-radius:20px;gap:10px}.menu-lips{width:46px;height:46px}.menu-lips .c-icon{width:31px;height:31px}.menu-start b{font-size:23px}.menu-start small{font-size:10px}.menu-arrow{width:36px;height:36px;font-size:27px}.menu-modes{gap:8px}.menu-mode{min-height:clamp(125px,19vh,166px);padding:10px;border-radius:15px}.menu-mode b{font:500 clamp(15px,4vw,18px)/1 'Cormorant Garamond',Georgia,serif}.menu-mode small{font-size:10px;line-height:1.3}.menu-mode i{font-size:11px;margin-top:7px}.menu-mode-icon{top:8px;right:8px}.menu-mode-icon .c-icon{width:23px;height:23px}.menu-quick{gap:8px}.menu-quick>button,.menu-sound{grid-template-columns:28px 1fr;min-height:65px;padding:9px;gap:2px 6px;border-radius:13px}.menu-quick>button>.c-icon,.menu-sound>.c-icon{width:23px;height:23px}.menu-quick b,.menu-sound b{font-size:11px}.menu-quick small,.menu-sound small{font-size:9px}.menu-sound{padding-right:10px;padding-bottom:40px}.menu-sound button{right:auto;left:9px;top:auto;bottom:6px;transform:none;min-height:30px;padding:5px 10px;font-size:10px}.menu-footer{font-size:8px}.party-setup{grid-template-columns:1fr!important;gap:16px!important}.setup-card{padding:19px!important}.setup-back{min-height:44px}}
@media(max-width:374px){.menu-landing{padding:16px 10px;gap:11px}.menu-intro{font-size:12px}.menu-mode{min-height:125px;padding:8px}.menu-mode b{font-size:14px}.menu-mode small{font-size:9px}.menu-mode i{font-size:10px}.menu-quick small{font-size:8px}.menu-start{grid-template-columns:40px 1fr 32px;min-height:74px;padding:10px}.menu-lips{width:38px;height:38px}}
@media(orientation:landscape) and (max-height:520px){.menu-landing{min-height:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'brand cta' 'modes modes' 'quick quick' 'foot foot';gap:10px;padding:13px}.menu-editorial{grid-area:brand}.menu-start{grid-area:cta;justify-self:center}.menu-modes{grid-area:modes}.menu-mode{min-height:105px}.menu-quick{grid-area:quick}.menu-footer{grid-area:foot}.menu-script{margin:3px}.menu-intro{font-size:11px}}
.app{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(90px + env(safe-area-inset-bottom))}
.app{padding-left:max(clamp(14px,4vw,64px),env(safe-area-inset-left));padding-right:max(clamp(14px,4vw,64px),env(safe-area-inset-right))}
.c-tv-wide .game-shell{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);grid-template-rows:1fr auto;align-items:stretch;gap:clamp(18px,3vw,46px);min-height:calc(100svh - 100px);padding:clamp(24px,4vw,72px);margin:0 auto;max-width:2200px}.c-tv-wide .game-shell>div:first-child{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:flex-start}.c-tv-wide .card-stage{grid-column:2;grid-row:1/3;display:grid;align-items:center;padding:0}.c-tv-wide .game-shell>div:last-child{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:end}.c-tv-wide .game-head{grid-template-columns:1fr!important;gap:18px}.c-tv-wide .turn-person{grid-template-columns:auto minmax(0,1fr);gap:18px}.c-tv-wide .turn-person #turnPhoto{width:clamp(145px,14vw,250px)}.c-tv-wide .turn-person #turnName{font-size:clamp(30px,3.2vw,58px)}.c-tv-wide .progress-wrap{width:100%}.c-tv-wide .game-tools{justify-content:flex-start}.c-tv-wide .game-shell .card{min-height:clamp(380px,62vh,760px);display:flex;flex-direction:column;justify-content:space-between}.c-tv-wide .game-shell .prompt{font-size:clamp(40px,4.2vw,84px)!important;line-height:1.16!important}.c-tv-wide .game-shell .category{font-size:clamp(13px,1.15vw,19px)}.c-tv-wide .game-shell .card-foot{font-size:clamp(13px,1vw,18px)}.c-tv-wide .controls button{min-height:56px;font-size:clamp(16px,1.4vw,24px)}
@media(max-width:767px){.c-tv-wide .game-shell{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:auto;padding:16px}.c-tv-wide .game-shell>div:first-child,.c-tv-wide .card-stage,.c-tv-wide .game-shell>div:last-child{grid-column:1;grid-row:auto}.c-tv-wide .turn-person{grid-template-columns:1fr;gap:8px}.c-tv-wide .turn-person #turnPhoto{grid-column:1;grid-row:2;width:100px}.c-tv-wide .game-shell .card{min-height:300px}.c-tv-wide .game-shell .prompt{font-size:clamp(30px,7vw,46px)!important}}
@media(min-width:1440px){.c-tv-wide .app{width:100%;max-width:none;padding-inline:clamp(40px,5vw,120px)}.c-tv-wide .game-shell{min-height:calc(100svh - 60px);padding:clamp(36px,4vw,88px)}}

/* Focused cover first; functional setup begins after the CTA. */
html.cover-open,body.cover-open{height:100%;overflow:hidden}
.app.cover-mode{width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}
.app.cover-mode>.topbar{display:none}
.app.cover-mode main,.app.cover-mode #setupScreen{height:100%;min-height:0}
.app.cover-mode .menu-landing{height:100%;min-height:0;max-height:none;width:100%;max-width:none;margin:0;padding:clamp(18px,3.4vh,44px) clamp(22px,5vw,88px);border:0;border-radius:0;justify-content:space-between;gap:0;background:linear-gradient(180deg,#0806083d 0%,#09070816 34%,#08060855 72%,#070608d9 100%),var(--party-art) center 52%/cover no-repeat}
.menu-landing:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 51%,#0d06032e,transparent 59%),linear-gradient(90deg,#06050666,transparent 27%,transparent 73%,#06050666);pointer-events:none}
.cover-sky{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.cover-cloud{position:absolute;width:75vw;height:36vh;left:12%;bottom:-23%;background:radial-gradient(ellipse,#e5b6bd38,transparent 68%);filter:blur(22px)}.cover-ribbon{position:absolute;top:-15%;width:2px;height:44vh;background:linear-gradient(#edc1c355,#edc1c300);filter:drop-shadow(0 4px 8px #edabc733);transform-origin:top}.ribbon-left{left:12%;transform:rotate(8deg)}.ribbon-right{right:13%;transform:rotate(-9deg)}.cover-sparkle{position:absolute;color:#ffe6da;text-shadow:0 0 16px #ffd6d0;animation:coverTwinkle 4s ease-in-out infinite}.sparkle-a{left:24%;top:12%;font-size:20px}.sparkle-b{right:24%;top:19%;font-size:27px;animation-delay:-2s}@keyframes coverTwinkle{50%{opacity:.32;transform:scale(.75)}}
.cover-topline{position:relative;width:100%;min-height:clamp(112px,19vh,190px);display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:24px}.cover-quote{margin:0;padding-top:10px;color:#edb5c0;font:clamp(17px,1.65vw,26px)/1.28 'Marck Script',cursive;text-shadow:0 2px 18px #000d}.cover-quote-left{justify-self:start;transform:rotate(-5deg)}.cover-quote-right{justify-self:end;text-align:right;transform:rotate(4deg)}.cover-heart{width:clamp(94px,10vw,150px);filter:drop-shadow(0 10px 22px #e187a854);margin-top:-4px}.cover-heart svg{width:100%;height:auto}.cover-music{position:absolute;right:0;top:0;width:42px;height:42px;display:grid;place-items:center;border:1px solid #f2c4ca75;border-radius:50%;background:#0b0808aa;color:#f6dce0;box-shadow:0 5px 18px #0007;cursor:pointer}.cover-music .c-icon{width:19px;height:19px}.cover-music-label{position:absolute;right:48px;white-space:nowrap;font:10px 'Manrope',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ecd2d0}.cover-hero{position:relative;z-index:1;width:min(100%,1160px);margin:auto;text-align:center;text-shadow:0 4px 25px #050405}.cover-kicker{margin:0 0 clamp(8px,1.6vh,18px);font:700 11px/1.3 'Manrope',sans-serif;letter-spacing:.3em;color:#e7b3bb}.cover-hero h1{max-width:none;margin:0 auto;font:400 clamp(60px,8.3vw,132px)/.91 'Cormorant Garamond',Georgia,serif;letter-spacing:-.045em;text-wrap:balance;color:#f6e9df}.cover-description{max-width:970px;margin:clamp(14px,2.5vh,27px) auto 0;font:500 clamp(16px,1.55vw,23px)/1.45 'Manrope',sans-serif;color:#f1e3dc;text-wrap:balance}.menu-start{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:20px;width:min(540px,100%);min-height:82px;margin:clamp(20px,3vh,34px) auto 0;padding:16px 25px;border:1px solid #ffe5e9d1;border-radius:999px;background:linear-gradient(115deg,#f1b4c4f0,#df91a5f4 57%,#d38297f2);box-shadow:0 14px 42px #d8809b66,inset 0 1px 0 #fff9;color:#301821;cursor:pointer;text-align:center;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.menu-start:before{content:"";position:absolute;inset:-80% auto -80% -35%;width:26%;z-index:-1;transform:rotate(22deg);background:linear-gradient(90deg,transparent,#fff8,transparent);transition:left .55s ease}.menu-start:hover{transform:translateY(-3px);box-shadow:0 20px 52px #ed9fbf85,inset 0 1px 0 #fff;filter:saturate(1.08)}.menu-start:hover:before{left:115%}.menu-start:active{transform:translateY(1px) scale(.99)}.menu-start-label{font:700 clamp(24px,3vw,37px)/1.05 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:.035em}.menu-arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid #6c3b4a77;border-radius:50%;transition:transform .2s ease}.menu-start:hover .menu-arrow{transform:translateX(4px)}.menu-arrow .c-icon{width:19px;height:19px}.cover-microcopy{margin:11px 0 0;color:#eed3d2;font:12px/1.4 'Manrope',sans-serif;letter-spacing:.025em}.cover-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:clamp(17px,3vh,30px) auto 0}.cover-facts span{padding:9px 16px;border:1px solid #ecc7c348;border-radius:99px;background:#100a0a8c;backdrop-filter:blur(8px);color:#f0dfe0;font:600 12px/1 'Manrope',sans-serif;letter-spacing:.025em;white-space:nowrap}.cover-facts span:last-child{border-color:#eeaebe9c;color:#ffdbe2}.cover-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding-top:12px}.cover-bottom button{border:0;background:transparent;color:#e9c4c7;font:600 12px 'Manrope',sans-serif;text-decoration:underline;text-decoration-color:#d898a07a;text-underline-offset:4px;cursor:pointer}.cover-bottom p{margin:0;color:#cbb4b5;font:11px/1.4 'Manrope',sans-serif}.cover-rules-sheet{position:fixed;z-index:40;inset:0;display:grid;align-items:end;justify-items:center}.cover-rules-sheet[hidden]{display:none}.rules-scrim{position:absolute;inset:0;border:0;background:#080507ba;backdrop-filter:blur(8px)}.rules-card{position:relative;width:min(600px,calc(100% - 28px));margin-bottom:max(14px,env(safe-area-inset-bottom));padding:28px;border:1px solid #dcadac8a;border-radius:26px;background:linear-gradient(145deg,#28171a,#0e0b0c);box-shadow:0 24px 90px #000b}.rules-card h2{font:400 clamp(30px,5vw,42px)/1.05 'Cormorant Garamond',Georgia,serif;margin:5px 42px 14px 0;color:#f6e9df}.rules-card>p:last-child{font:15px/1.65 'Manrope',sans-serif;color:#e5d1d0;margin-bottom:0}.rules-close{position:absolute;right:15px;top:15px;width:42px;height:42px;border:1px solid #ddb5b366;border-radius:50%;background:#fff1;color:#f7e7e4;font-size:25px;cursor:pointer}.cover-transition{position:fixed;z-index:80;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse,#33121feF,#070607 70%);color:#f4dfe1;font:400 clamp(42px,8vw,90px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.08em;opacity:0;animation:coverReveal .82s ease both}.cover-transition[hidden]{display:none}@keyframes coverReveal{0%{opacity:0;backdrop-filter:blur(0)}20%,75%{opacity:1;backdrop-filter:blur(16px)}100%{opacity:0;backdrop-filter:blur(0)}}
.app.cover-mode .cover-rules-sheet~.cover-transition{z-index:80}
@media(max-width:767px){.app.cover-mode .menu-landing{padding:15px 18px 17px;background-position:54% center}.cover-topline{min-height:clamp(80px,12svh,112px);grid-template-columns:1fr auto 1fr;gap:6px;align-items:start;padding-right:35px}.cover-heart{width:clamp(68px,20vw,100px)}.cover-quote{font-size:clamp(12px,3.55vw,16px);padding-top:11px}.cover-quote-right{font-size:clamp(11px,3.2vw,15px)}.cover-music{right:-4px;width:38px;height:38px}.cover-music-label{display:none}.cover-hero{margin:auto 0}.cover-kicker{font-size:9px;letter-spacing:.22em}.cover-hero h1{font-size:clamp(48px,13vw,74px);line-height:.94}.cover-description{font-size:clamp(14px,3.8vw,17px);line-height:1.48;margin-top:16px}.desktop-break{display:none}.menu-start{min-height:72px;margin-top:21px;padding:13px 18px;gap:12px}.menu-start-label{font-size:clamp(22px,6.4vw,30px)}.cover-microcopy{font-size:11px}.cover-facts{display:grid;grid-template-columns:repeat(2,max-content);gap:8px;margin-top:18px}.cover-facts span{font-size:10px;padding:8px 11px}.cover-bottom{display:grid;gap:5px;padding-bottom:3px}.cover-bottom button{font-size:11px}.cover-bottom p{font-size:9px}.cover-cloud{width:120vw;height:25vh;left:-10%;bottom:-14%}.cover-sparkle{font-size:16px}.sparkle-a{left:9%;top:23%}.sparkle-b{right:9%;top:35%}}
@media(max-width:360px),(max-height:650px){.app.cover-mode .menu-landing{padding-top:calc(env(safe-area-inset-top) + 9px);padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}.cover-topline{min-height:74px}.cover-heart{width:64px}.cover-quote{font-size:11px}.cover-quote-right{font-size:10px}.cover-hero h1{font-size:clamp(43px,11vw,59px)}.cover-description{font-size:13px;margin-top:11px}.menu-start{min-height:62px;margin-top:14px}.cover-microcopy{font-size:10px;margin-top:7px}.cover-facts{margin-top:12px;gap:6px}.cover-facts span{font-size:9px;padding:7px 9px}.cover-bottom p{display:none}.cover-bottom{padding:0}}
@media(min-width:768px) and (max-height:800px){.cover-topline{min-height:clamp(90px,14vh,125px)}.cover-hero h1{font-size:clamp(56px,7vw,100px)}.cover-description{margin-top:12px}.menu-start{min-height:70px;margin-top:16px}.cover-facts{margin-top:13px}.cover-bottom{padding-top:4px}}
@media(prefers-reduced-motion:reduce){.cover-sparkle,.menu-start,.menu-start:before,.menu-arrow{animation:none!important;transition:none!important}.cover-transition{animation-duration:.01ms}}
/* Four quiet, guided preparation steps: attendee roster, photos, mood, final settings. */
.prep-heading{margin:0 0 5px;font:400 clamp(34px,5vw,52px)/1.02 'Cormorant Garamond',Georgia,serif;color:#f6e9df}.prep-subtitle{margin:0 0 22px;color:#d7c0c0;font:14px/1.5 'Manrope',sans-serif}.wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 22px}.wizard-progress button{min-height:44px;border:1px solid #c7a39c45;border-radius:999px;background:#100c0c88;color:#cbb7b4;font:600 11px 'Manrope',sans-serif;cursor:pointer}.wizard-progress button[aria-current=step]{border-color:#edb3c3;background:#e7a9ba24;color:#ffe7eb;box-shadow:0 0 20px #dc93ad2b}.wizard-panel[hidden]{display:none!important}.wizard-panel>h3{margin:0 0 8px;font:400 30px 'Cormorant Garamond',Georgia,serif}.wizard-panel>p{color:#d3c0c0;font:13px/1.5 'Manrope',sans-serif}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.wizard-actions .primary,.wizard-actions .secondary{min-width:145px}.wizard-panel[data-wizard-panel="1"] .photo-editor{display:none!important}.wizard-panel[data-wizard-panel="2"] #players{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.wizard-panel[data-wizard-panel="2"] .player-row{padding:15px}.wizard-panel[data-wizard-panel="2"] .player-name{font-weight:700;font-size:18px}.wizard-panel[data-wizard-panel="2"] .photo-editor{margin-top:10px}.wizard-panel[data-wizard-panel="2"] .photo-upload{min-height:44px}.wizard-panel[data-wizard-panel="2"] .photo-status{font-size:11px}.wizard-panel[data-wizard-panel="2"] .z-row-preview{margin-top:7px}.wizard-panel[data-wizard-panel="3"] .grid2{grid-template-columns:1fr}.wizard-panel[data-wizard-panel="3"] #gameLength{display:none}.wizard-panel[data-wizard-panel="3"] .length-control{display:none!important}.wizard-panel[data-wizard-panel="4"] .chips{max-height:220px;overflow:auto}.setup-card .section-label{display:flex;align-items:center;gap:8px}.setup-card .section-label .c-icon{width:18px;height:18px;color:#e4acbc}
@media(max-width:600px){.wizard-progress{gap:4px}.wizard-progress button{min-height:39px;padding:4px 5px;font-size:9px}.wizard-panel>h3{font-size:27px}.wizard-actions .primary,.wizard-actions .secondary{min-width:0;flex:1}}
@media(max-width:374px){.cover-topline{min-height:66px}.cover-heart{width:55px}.cover-hero h1{font-size:45px}.cover-description{font-size:12px}.cover-facts span{font-size:8px;padding:6px 8px}.cover-bottom button{font-size:10px}}

.app.cover-mode:after{display:none}
.app.cover-mode>.closing-quotes{display:none}
/* Mode selection follows the emotional cover and precedes party setup. */
#setupScreen.mode-picking .menu-landing,#setupScreen.mode-picking .party-setup{display:none!important}#setupScreen.mode-picking .mode-picker{display:grid!important}#setupScreen.menu-mode .mode-picker,#setupScreen.menu-config .mode-picker{display:none!important}
.mode-picker{position:relative;min-height:calc(100dvh - 105px);padding:clamp(18px,4vh,52px) clamp(14px,4vw,60px);align-content:center;gap:clamp(18px,3vh,32px);background:linear-gradient(180deg,#090708a8,#090708d9),var(--party-art) center/cover;border:1px solid #d3a38d66;border-radius:28px;box-shadow:0 22px 80px #0008}.mode-back{position:absolute;left:clamp(18px,3vw,42px);top:clamp(14px,2.5vh,28px);border:1px solid #dfb2a84d;border-radius:999px;background:#09080988;color:#e5c9c7;padding:10px 15px;min-height:42px;font:12px 'Manrope',sans-serif;cursor:pointer}.mode-heading{text-align:center}.mode-heading h1{font:400 clamp(42px,6vw,74px)/.96 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em;margin:0;color:#f7e8df}.mode-heading p:last-child{font:14px/1.5 'Manrope',sans-serif;color:#d9c2c0;margin:12px 0 0}.mode-grid{width:min(1150px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mode-card{position:relative;isolation:isolate;min-height:190px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;overflow:hidden;padding:22px;border:1px solid #dcafa55e;border-radius:23px;background:linear-gradient(130deg,#1e1518e8,#0c090bee);color:#f4e5df;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.mode-card:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 90% 8%,#ef9ab72a,transparent 50%),linear-gradient(145deg,transparent,#0007)}.mode-card:hover{transform:translateY(-3px);border-color:#f5b6c8;box-shadow:0 18px 46px #e28eaa35}.mode-card .mode-icon{position:absolute;right:20px;top:18px;color:#f2b7c8;filter:drop-shadow(0 0 14px #ef9ab766)}.mode-card .mode-icon .c-icon{width:38px;height:38px}.mode-overline{color:#d8a9b3;font:700 9px 'Manrope',sans-serif;letter-spacing:.2em}.mode-card strong{font:400 clamp(28px,3.3vw,40px)/1 'Cormorant Garamond',Georgia,serif;text-transform:uppercase}.mode-card>span:not(.mode-icon):not(.mode-overline){max-width:420px;color:#d6c2c0;font:12px/1.5 'Manrope',sans-serif}.mode-card i{font:17px 'Marck Script',cursive;color:#eeafc0;margin-top:2px}.mode-card-hot .mode-icon{color:#ff9fae}.mode-card-demo{background:linear-gradient(135deg,#241419f0,#100d0ef5)}.mode-demo-facts{margin-top:3px;padding:8px 10px;border:1px solid #dfb1bb55;border-radius:99px;color:#f7dbe1;font:700 9px 'Manrope',sans-serif;letter-spacing:.05em}.mode-lock[hidden]{display:none!important}.mode-lock{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:18px}.mode-lock-scrim{position:absolute;inset:0;background:#060405c9;backdrop-filter:blur(10px);border:0}.mode-lock-card{position:relative;width:min(470px,100%);padding:32px;border:1px solid #e1afbd88;border-radius:26px;background:linear-gradient(145deg,#311c21,#100c0e);box-shadow:0 24px 90px #000b}.mode-lock-card h2{font:400 40px/1 'Cormorant Garamond',Georgia,serif;margin:8px 0 12px}.mode-lock-card p:not(.cover-kicker){color:#dcc6c6;font:15px/1.6 'Manrope',sans-serif}.mode-lock-card .primary{width:100%;min-height:50px;margin-top:9px}.mode-lock-card small{display:block;margin-top:14px;color:#bca9a9;font:11px/1.5 'Manrope',sans-serif}.mode-lock-x{position:absolute;right:14px;top:14px;width:42px;height:42px;border:1px solid #ecc4cb55;border-radius:50%;background:#fff1;color:#f7e7e4;font-size:25px}
@media(max-width:760px){.mode-picker{min-height:calc(100dvh - 96px);padding:65px 14px 20px;border-radius:22px;gap:16px}.mode-back{top:12px;left:14px}.mode-heading h1{font-size:clamp(39px,10vw,58px)}.mode-heading p:last-child{font-size:12px;margin-top:8px}.mode-grid{grid-template-columns:1fr 1fr;gap:8px}.mode-card{min-height:clamp(145px,24vh,195px);padding:13px;border-radius:17px;gap:6px}.mode-card strong{font-size:clamp(22px,6vw,29px)}.mode-card>span:not(.mode-icon):not(.mode-overline){font-size:10px;line-height:1.4}.mode-card .mode-icon{right:10px;top:10px}.mode-card .mode-icon .c-icon{width:25px;height:25px}.mode-demo-facts{font-size:7px;padding:6px 7px}.mode-card i{font-size:15px}.mode-lock-card{padding:26px 20px}}
@media(max-width:380px){.mode-grid{grid-template-columns:1fr}.mode-card{min-height:125px;padding:13px 16px 13px 86px;justify-content:center}.mode-card .mode-icon{right:auto;left:17px;top:calc(50% - 15px)}.mode-card .mode-icon .c-icon{width:34px;height:34px}.mode-card strong{font-size:24px}.mode-card>span:not(.mode-icon):not(.mode-overline){max-width:unset}.mode-heading h1{font-size:38px}.mode-picker{gap:12px}}

/* Friend library: browse the saved cast as a readable horizontal rail. */
.setup-card .roster-carousel{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;align-items:center;margin:12px 0 8px}
.roster-viewport{min-width:0;overflow:hidden}
.roster-arrow{width:34px;height:44px;border:1px solid #ddaebe66;border-radius:50%;background:#120d10;color:#f0bfd0;font:26px 'Manrope',sans-serif;cursor:pointer}
.setup-card .players{display:flex;gap:12px;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 2px 10px}
.setup-card .players::-webkit-scrollbar{display:none}
.setup-card .player-row{position:relative;box-sizing:border-box;flex:0 0 clamp(235px,31vw,330px);display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:9px;align-content:start;min-width:0;padding:13px;border:1px solid #d4ae944d;border-radius:17px;background:linear-gradient(145deg,#191315e8,#0c090bf5);scroll-snap-align:start;opacity:.68;transition:border-color .18s,opacity .18s,box-shadow .18s}
.setup-card .player-row.is-selected{opacity:1;border-color:#ed98b2;box-shadow:0 0 0 1px #e993ab44,0 0 25px #d9799a22}
.setup-card .participant-select{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-height:28px;width:max-content;max-width:100%;cursor:pointer;color:#c9adb5;font:600 10px 'Manrope',sans-serif}
.setup-card .participant-toggle{position:absolute;opacity:0;width:1px;height:1px}
.setup-card .participant-check{display:grid;place-items:center;width:18px;height:18px;border:1px solid #c89aa777;border-radius:50%;color:transparent;font-size:11px;transition:.18s}
.setup-card .participant-toggle:checked+.participant-check{background:#e888a8;color:#160d12;border-color:#f4bbca;box-shadow:0 0 14px #f39cb750}
.setup-card .participant-toggle:focus-visible+.participant-check{outline:2px solid #f4cfda;outline-offset:3px}
.setup-card .player-name{min-width:0;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}
.setup-card .remove-btn{width:40px;height:40px}
.setup-card .z-select-label{grid-column:1/-1}
.setup-card .z-row-preview{grid-column:1/-1;min-height:30px}
.setup-card .photo-editor{grid-column:1/-1;display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:center}
.setup-card .photo-preview{width:86px;height:96px;border-radius:12px}
.setup-card .photo-tools{min-width:0}
.setup-card .photo-upload{font-size:10px;padding:9px 11px}
.setup-card .photo-status{font-size:9px;line-height:1.35}
.setup-card .roster-count{margin-left:auto;padding:6px 9px;border:1px solid #df9fad44;border-radius:99px;color:#efb8c8;font:700 9px 'Manrope',sans-serif;letter-spacing:.04em;white-space:nowrap}
.setup-card .add-btn{width:100%;text-align:center;min-height:42px}
.wizard-panel[data-wizard-panel="1"] .wizard-content,.wizard-panel[data-wizard-panel="2"] .wizard-content{min-width:0}
.party-roster-preview{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 2px 9px;scrollbar-width:thin}
.roster-summary-card{flex:0 0 126px;display:grid;justify-items:center;gap:7px;padding:10px;border:1px solid #d4ae9466;border-radius:16px;background:#0d0a0ddd;text-align:center;scroll-snap-align:start}
.roster-summary-photo{width:74px;height:82px;border-radius:50%}
.roster-summary-card>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 14px 'Manrope',sans-serif}
.roster-summary-card .z-emblem{width:25px;height:25px}
.roster-summary-card small{font-size:8px;color:#d6b1ba}
@media(max-width:760px){.setup-card .roster-carousel{grid-template-columns:27px minmax(0,1fr) 27px;gap:4px}.setup-card .roster-arrow{width:27px;height:38px;font-size:21px}.setup-card .player-row{flex-basis:82vw;padding:11px}.setup-card .photo-editor{grid-template-columns:72px minmax(0,1fr)}.setup-card .photo-preview{width:72px;height:84px}.setup-card .roster-count{font-size:8px;padding:5px 7px}.roster-summary-card{flex-basis:110px}}

.crop-card{width:min(620px,100%);max-height:min(94dvh,900px);overflow:auto}.crop-card h3{margin:4px 0;font:500 clamp(23px,4vw,34px)/1.1 'Cormorant Garamond',Georgia,serif;color:#f4e4df}.crop-preview-label{margin:10px 0 7px;text-align:center;color:#dcbac0;font:11px/1.4 'Manrope',sans-serif;letter-spacing:.04em}.crop-surface{position:relative;isolation:isolate;overflow:hidden;width:min(100%,360px);aspect-ratio:4/5;margin:0 auto;border:1px solid #e5aebeaa;border-radius:22px;background:radial-gradient(ellipse at 50% 70%,#714450,#100d10 78%);box-shadow:0 0 34px #e78fa12e;touch-action:none;cursor:grab}.crop-surface:active{cursor:grabbing}.crop-surface:before,.crop-surface:after{content:'';position:absolute;z-index:2;inset:-50%;pointer-events:none}.crop-surface:before{background:radial-gradient(ellipse at center,transparent 34%,#080609c7 35%);opacity:.45}.crop-surface:after{inset:0;border:1px solid #f5d8e280;border-radius:inherit;box-shadow:inset 0 0 22px #08060955}.crop-surface img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center;user-select:none;-webkit-user-drag:none;will-change:transform}.crop-tools{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:18px;margin:16px auto;max-width:480px}.crop-pan{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:4px;justify-content:center}.crop-pan button{min-width:40px;min-height:40px;border:1px solid #dcb4a45e;border-radius:12px;background:#ffffff0a;color:#f5d7df;font-size:18px}.crop-pan #cropUp{grid-column:2;grid-row:1}.crop-pan #cropLeft{grid-column:1;grid-row:2}.crop-pan #cropDown{grid-column:2;grid-row:2}.crop-pan #cropRight{grid-column:3;grid-row:2}.crop-zoom{display:grid;grid-template-columns:1fr auto;gap:9px;color:#e2c5c9;font-size:13px}.crop-zoom input{grid-column:1/-1;width:100%;accent-color:#eaa0b5;min-height:30px}.crop-zoom span{color:#f5d7df}.crop-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}.crop-actions button{min-height:48px}.photo-preview{position:relative;aspect-ratio:4/5;height:auto;max-height:150px}.photo-preview img{object-fit:cover;transform-origin:center}.photo-edit-buttons button{min-height:44px;padding:8px 12px}.photo-position{display:none!important}.portrait-frame{height:auto;aspect-ratio:4/5}.portrait-image{object-fit:cover;object-position:center;transform-origin:center}.portrait-reveal{height:auto!important;aspect-ratio:4/5}.person-heading h3,.turn-person #turnName{white-space:nowrap;overflow:visible;overflow-wrap:normal;word-break:keep-all;max-width:100%;font-size:clamp(18px,3.4vw,38px);letter-spacing:-.035em}.turn-person #turnName{font-size:clamp(18px,3.4vw,38px)}#turnPhoto .portrait-frame.portrait-turn{height:auto!important;aspect-ratio:4/5}#turnPhoto .portrait-frame.portrait-turn .portrait-image{object-fit:cover}

@media(max-width:600px){.crop-modal{padding:10px}.crop-card{padding:18px;max-height:96dvh}.crop-surface{width:min(74vw,310px)}.crop-tools{grid-template-columns:128px minmax(0,1fr);gap:12px}.crop-pan{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px)}.crop-actions{grid-template-columns:1fr 1.3fr}.person-heading h3{font-size:clamp(16px,5vw,23px)}}

/* Immersive question stage: TV is the show, the phone is the controller. */
html.game-mode-open,html.game-mode-open body,body.game-mode-open{height:100%;overflow:hidden;overscroll-behavior:none}
.app.game-mode{box-sizing:border-box;width:100%;max-width:none;height:100dvh;min-height:0;overflow:hidden;padding:clamp(12px,2.2vh,28px) clamp(14px,3vw,54px);display:block}
.app.game-mode>.topbar,.app.game-mode>.closing-quotes,.app.game-mode:after{display:none!important}
.app.game-mode main{height:100%;min-height:0;max-width:none;margin:0}
.app.game-mode #gameScreen.active{height:100%;min-height:0;overflow:hidden;padding:0}
.app.game-mode #gameScreen .game-shell{box-sizing:border-box;width:100%;height:100%;min-height:0;max-width:none;margin:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(10px,1.8vh,22px);overflow:hidden}
.app.game-mode .game-shell>div:first-child,.app.game-mode .game-shell>div:last-child{min-width:0}
.app.game-mode .game-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,24vw);align-items:center;gap:20px;padding:0 2px}
.app.game-mode .game-head>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:14px;min-width:0}
.app.game-mode .turn-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#d3aeba}
.app.game-mode .turn-name{font:600 clamp(22px,3.1vw,42px)/1.05 'Manrope',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
.app.game-mode .score-top,.app.game-mode .game-tools{display:none!important}
.app.game-mode .progress-wrap{width:100%;margin:0}
.app.game-mode .progress-text{text-align:right;font:700 13px 'Manrope',sans-serif;margin-bottom:7px}
.app.game-mode .card-stage{height:100%;min-height:0;display:grid;place-items:center;overflow:hidden}
.app.game-mode .card{box-sizing:border-box;width:min(100%,1380px);height:min(100%,61dvh);min-height:0;aspect-ratio:1.65;max-height:100%;padding:clamp(22px,4vw,64px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:clamp(22px,3vw,46px)}
.app.game-mode .card-inner{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:center;gap:clamp(14px,3vh,36px);padding:0}
.app.game-mode .category{justify-self:start;max-width:100%;font-size:clamp(10px,1vw,15px);letter-spacing:.14em}
.app.game-mode .prompt{align-self:center;max-width:1120px;margin:0;font:700 clamp(27px, min(5vw, 6.4vh), 78px)/1.12 'Manrope',sans-serif;text-wrap:balance;overflow-wrap:anywhere}
.app.game-mode .card-foot{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:12px;font-size:clamp(10px,1.15vw,15px)}
.app.game-mode .pass-note{max-width:65%;line-height:1.5}
.app.game-mode .card-num{white-space:nowrap}
.app.game-mode .turn-person{display:flex;align-items:center;gap:10px;min-width:0}
.app.game-mode #turnPhoto .portrait-frame{width:clamp(42px,5vw,72px);height:clamp(42px,5vw,72px);border-radius:50%;border:1px solid #efb1c6;box-shadow:0 0 24px #ec91ad4a}
.app.game-mode #turnPhoto .portrait-frame:after{display:none}
.app.game-mode #turnZodiac .z-badge{padding:4px 8px;border:0;background:transparent}
.app.game-mode #turnZodiac .z-emblem{width:32px;height:32px}
.app.game-mode #turnZodiac .z-badge small{font-size:8px}
.app.game-mode .z-card-art{position:absolute;right:clamp(22px,4vw,64px);top:clamp(22px,4vw,64px);opacity:.3;pointer-events:none}
.app.game-mode .z-card-art .z-emblem{width:clamp(42px,6vw,76px);height:clamp(42px,6vw,76px)}
.app.game-mode .controls{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(130px,.55fr) minmax(180px,1.3fr);gap:clamp(8px,1.2vw,16px);margin:0!important;align-items:center}
.app.game-mode .controls>button,.app.game-mode .timer{min-height:clamp(46px,6.3vh,68px);font-size:clamp(13px,1.4vw,19px)}
.app.game-mode .timer{justify-content:center}
.app.game-mode .timer button{min-height:40px;min-width:40px}
.app.game-mode #councilHint{min-height:1.35em;margin:0 0 8px;font-size:clamp(11px,1.1vw,15px);line-height:1.35;color:#ddbec7}
.app.game-mode .vote-carousel{display:grid;grid-template-columns:clamp(34px,4vw,56px) minmax(0,1fr) clamp(34px,4vw,56px);gap:clamp(6px,1vw,14px);align-items:center;max-width:1380px;margin:0 auto 10px}
.app.game-mode .vote-arrow{width:100%;height:clamp(42px,6vh,62px);border:1px solid #dfa9bb73;border-radius:50%;background:#1b1119d9;color:#f2c2d0;font-size:clamp(24px,3vw,38px);cursor:pointer;box-shadow:0 0 20px #f098b31c}
.app.game-mode .vote-viewport{min-width:0;overflow:hidden}
.app.game-mode .vote-carousel[hidden],.app.game-mode .c-choices[hidden]{display:none!important}
.app.game-mode .c-choices{display:flex;align-items:stretch;gap:clamp(7px,1vw,13px);width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 10px}
.app.game-mode .c-choices::-webkit-scrollbar,.app.game-mode .c-role-options::-webkit-scrollbar{display:none}
.app.game-mode .c-choice{box-sizing:border-box;flex:0 0 clamp(112px,17.2vw,228px);min-width:0;min-height:clamp(60px,10vh,105px);scroll-snap-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(13px,1.45vw,19px);touch-action:pan-x}
.app.game-mode .c-choice[aria-pressed="true"],.app.game-mode .c-choice.is-selected{border-color:#f487ad;box-shadow:0 0 0 1px #f487ad,0 0 24px #ef76a04a;background:linear-gradient(140deg,#85304e80,#2d172488)}
.app.game-mode .c-vote-person{display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;align-content:center;gap:5px;padding:7px 9px;white-space:normal}
.app.game-mode .c-choice-photo{width:clamp(40px,5vw,67px);height:clamp(40px,5vw,67px);border-radius:50%;border:1px solid #d6a5b2;box-shadow:0 0 17px #e49ab438}
.app.game-mode .c-choice-photo:after{display:none}
.app.game-mode .c-choice-photo .portrait-image{object-fit:cover}
.app.game-mode .c-vote-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 clamp(12px,1.25vw,17px) 'Manrope',sans-serif}
.app.game-mode .c-vote-person .z-badge{display:inline-flex;gap:4px;padding:0;border:0;background:none;font-size:9px;color:#dfb9c5}
.app.game-mode .c-vote-person .z-emblem{width:18px;height:18px}
.app.game-mode .c-role-group{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.app.game-mode .c-role-group h3{font:600 clamp(12px,1.2vw,16px) 'Manrope',sans-serif;margin:0 0 6px;color:#f1c1ce}
.app.game-mode .c-role-group{position:relative;padding:0 clamp(38px,4vw,54px)}
.app.game-mode .c-role-options{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 10px;overscroll-behavior-x:contain}
.app.game-mode .c-role-options .c-choice{flex-basis:clamp(112px,17.2vw,228px)}
.app.game-mode .role-arrow{position:absolute;top:45%;z-index:3;width:34px;height:42px;border:1px solid #dfa9bb66;border-radius:999px;background:#1c121a;color:#f2c2d0;font-size:20px;cursor:pointer}
.app.game-mode .role-arrow.prev{left:0}.app.game-mode .role-arrow.next{right:0}
.app.game-mode .c-hint{max-width:1380px}
.app.game-mode .c-icon{filter:drop-shadow(0 0 9px currentColor)}
.portrait-image,#turnPhoto .portrait-frame.portrait-turn .portrait-image{object-fit:contain!important;background:#100e11}
.photo-preview img{object-fit:contain!important;background:#100e11}
.app.game-mode .card.animate{animation:council-card-enter .34s cubic-bezier(.2,.8,.2,1)}
@keyframes council-card-enter{from{opacity:.5;transform:translateY(9px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){
 .app.game-mode{padding:calc(env(safe-area-inset-top) + 8px) 12px calc(env(safe-area-inset-bottom) + 10px)}
 .app.game-mode .game-shell{gap:8px}
 .app.game-mode .game-head{grid-template-columns:minmax(0,1fr) minmax(92px,29vw);gap:8px}
 .app.game-mode .game-head>div:first-child{display:block}
 .app.game-mode .turn-label{font-size:8px}
 .app.game-mode .turn-name{font-size:clamp(19px,6vw,27px);max-width:62vw}
 .app.game-mode .progress-text{font-size:11px;margin-bottom:4px}
 .app.game-mode .card{width:100%;height:min(100%,48dvh);aspect-ratio:auto;padding:clamp(18px,5vw,27px);border-radius:25px}
 .app.game-mode .card-inner{gap:14px}
 .app.game-mode .prompt{font-size:clamp(25px,7.2vw,38px);line-height:1.13}
 .app.game-mode .card-foot{font-size:10px}
 .app.game-mode .pass-note{max-width:78%}
 .app.game-mode #turnPhoto .portrait-frame{width:34px;height:34px}
 .app.game-mode #turnZodiac .z-badge{display:none}
 .app.game-mode .vote-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;margin-bottom:3px}
 .app.game-mode .vote-arrow{height:42px;font-size:24px}
 .app.game-mode .c-choice{flex-basis:36vw;min-height:57px;font-size:13px}
 .app.game-mode .c-vote-person{min-height:88px;gap:4px}
 .app.game-mode .c-choice-photo{width:42px;height:42px}
 .app.game-mode .controls{grid-template-columns:minmax(0,.8fr) minmax(82px,.62fr) minmax(0,1.2fr);gap:6px}
 .app.game-mode .controls>button,.app.game-mode .timer{min-height:48px;font-size:12px;padding:5px}
 .app.game-mode .timer button{min-width:27px;min-height:34px;padding:2px}
 .app.game-mode .timer-time{font-size:13px}
 .app.game-mode #councilHint{font-size:10px;margin-bottom:4px}
}
@media(max-height:650px) and (orientation:landscape){
 .app.game-mode{padding:8px 18px}
 .app.game-mode .game-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:5px}
 .app.game-mode .card{height:min(100%,52dvh);padding:16px 25px}
 .app.game-mode .prompt{font-size:clamp(23px,4.3vw,45px)}
 .app.game-mode .card-inner{gap:8px}
 .app.game-mode .vote-carousel{margin-bottom:2px}
 .app.game-mode .c-choice{min-height:44px}
 .app.game-mode .controls>button,.app.game-mode .timer{min-height:40px}
}
@media(prefers-reduced-motion:reduce){.app.game-mode .card.animate{animation:none}.app.game-mode .c-choices,.app.game-mode .c-role-options{scroll-behavior:auto}}

/* Results stay a single stage; only the dossier rail moves horizontally. */
html.result-mode-open,html.result-mode-open body,body.result-mode-open{height:100%;overflow:hidden;overscroll-behavior:none}
.app.results-mode{box-sizing:border-box;width:100%;max-width:none;height:100dvh;min-height:0;overflow:hidden;padding:clamp(8px,1.6vh,18px) clamp(12px,2.6vw,42px)}
.app.results-mode>.topbar,.app.results-mode>.closing-quotes,.app.results-mode:after{display:none!important}
.app.results-mode main{height:100%;max-width:none;margin:0;min-height:0}
.app.results-mode #endScreen.active{height:100%;min-height:0;overflow:hidden;padding:0}
.app.results-mode .c-dossier{box-sizing:border-box;width:100%;height:100%;min-height:0;max-width:none;margin:0;padding:0;display:block;overflow:hidden}
.app.results-mode #protocolBody{box-sizing:border-box;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-areas:"head" "rail" "facts" "verdict" "actions";gap:clamp(5px,1vh,12px);overflow:hidden}
.app.results-mode #protocolBody>[hidden]{display:none!important}
.app.results-mode .c-dossier-header{grid-area:head;box-sizing:border-box;position:relative;width:100%;min-height:0;padding:clamp(3px,.8vh,9px) 100px clamp(4px,1vh,10px)!important;margin:0 auto;text-align:center}
.app.results-mode .c-dossier-header h2{font-size:clamp(24px,3.2vw,48px);margin:4px 0 0!important}
.app.results-mode .c-dossier-header .result-script{font-size:clamp(20px,2.4vw,34px);margin:0 0 2px;transform:none}
.app.results-mode .c-dossier-header .result-caption{font-size:clamp(8px,.75vw,11px)!important;line-height:1.25;margin:0}
.app.results-mode .c-dossier-header .c-overline{font-size:8px;line-height:1.3}
.app.results-mode .c-bride-balloons{width:clamp(55px,7vw,100px)!important;right:2px!important;top:2px!important}
.app.results-mode .result-carousel{grid-area:rail;position:relative;display:grid;grid-template-columns:clamp(32px,3.6vw,54px) minmax(0,1fr) clamp(32px,3.6vw,54px);gap:clamp(5px,.8vw,12px);align-items:center;min-height:0;max-width:1680px;width:100%;margin:0 auto}
.app.results-mode .result-arrow{width:100%;height:clamp(44px,7vh,68px);border:1px solid #dca6b16e;border-radius:50%;background:#140e11dc;color:#edb4c3;font-size:clamp(23px,3vw,36px);cursor:pointer;box-shadow:0 0 24px #d4809a20}
.app.results-mode .result-viewport{height:100%;min-height:0;overflow:hidden}
.app.results-mode #peopleGrid{--people-count:5;box-sizing:border-box;display:flex;align-items:stretch;gap:clamp(8px,.9vw,14px);height:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;padding:3px 2px 5px}
.app.results-mode #peopleGrid::-webkit-scrollbar{display:none}
.app.results-mode #peopleGrid .c-person{box-sizing:border-box;flex:0 0 clamp(205px,17.4vw,290px);height:100%;min-height:0;display:grid;grid-template-rows:minmax(125px,34%) minmax(0,1fr);scroll-snap-align:start;overflow:hidden}
.app.results-mode #peopleGrid .person-photo-wrap{position:relative;min-height:0;overflow:hidden}
.app.results-mode #peopleGrid .person-photo-wrap>.portrait-frame{height:100%;min-height:0}
.app.results-mode #peopleGrid .person-heading{inset:10px 11px auto}
.app.results-mode #peopleGrid .person-heading h3{font-size:clamp(16px,1.4vw,23px);white-space:nowrap;overflow-wrap:normal}
.app.results-mode #peopleGrid .person-heading .z-emblem{width:34px;height:34px}
.app.results-mode #peopleGrid .person-copy{box-sizing:border-box;min-height:0;overflow:hidden;margin:0;padding:8px 13px 12px}
.app.results-mode #peopleGrid .person-sigil .c-icon{width:22px;height:22px}
.app.results-mode #peopleGrid .c-person h4{font-size:clamp(15px,1.25vw,21px);margin:4px 0 7px;line-height:1.04}
.app.results-mode #peopleGrid .person-comment{font:clamp(10px,.85vw,12px)/1.4 'Manrope',sans-serif;margin:0 0 7px}
.app.results-mode #peopleGrid .zodiac-flavour{margin:0 0 5px;text-align:left;padding-left:8px;border-left:1px solid #e6a6bc77}
.app.results-mode #peopleGrid .zodiac-flavour small{color:#eba6bb;font:700 7px 'Manrope',sans-serif;letter-spacing:.12em}
.app.results-mode #peopleGrid .zodiac-flavour p{margin:2px 0 0;color:#cbb4bd;font:9px/1.25 'Manrope',sans-serif}
.app.results-mode #peopleGrid .person-metrics{padding:5px 0}
.app.results-mode #peopleGrid .person-metrics p{font-size:9px}
.app.results-mode #peopleGrid .person-details{padding-top:6px}
.app.results-mode #peopleGrid .person-details summary{font-size:9px}
.app.results-mode #peopleGrid .person-details .c-portrait,.app.results-mode #peopleGrid .person-details .z-verdict,.app.results-mode #peopleGrid .person-details .c-evidence{display:none}
.app.results-mode #peopleGrid .c-person .tool-btn{font-size:9px;margin-top:4px;padding:6px 2px;min-height:30px}
.app.results-mode #protocolBody:not([data-count="1"]):not([data-count="2"]):not([data-count="3"]):not([data-count="4"]):not([data-count="5"]) .result-arrow{display:block}
.app.results-mode #protocolBody[data-count="1"] .result-arrow,.app.results-mode #protocolBody[data-count="2"] .result-arrow,.app.results-mode #protocolBody[data-count="3"] .result-arrow,.app.results-mode #protocolBody[data-count="4"] .result-arrow,.app.results-mode #protocolBody[data-count="5"] .result-arrow{opacity:.25}
.app.results-mode .c-facts{grid-area:facts;box-sizing:border-box;min-height:0;margin:0;padding:clamp(6px,1vh,13px) clamp(9px,1.4vw,20px);border-radius:16px}
.app.results-mode .c-facts h3{font-size:clamp(16px,1.7vw,25px);margin:0 0 3px}
.app.results-mode #nightFacts{display:flex;justify-content:center;gap:0}
.app.results-mode #nightFacts .fact-cell{min-width:0;flex:1;padding:3px clamp(5px,.8vw,12px);gap:8px}
.app.results-mode #nightFacts .fact-symbol{flex:0 0 34px;width:34px;height:36px}
.app.results-mode #nightFacts .fact-symbol .c-icon{width:28px;height:28px}
.app.results-mode #nightFacts .fact-cell p{font-size:clamp(8px,.72vw,11px);line-height:1.3}
.app.results-mode .result-verdict-label{grid-area:verdict;display:none}
.app.results-mode .c-verdict{grid-area:verdict;align-self:center;box-sizing:border-box;width:100%;max-width:100%;min-height:0;margin:0;padding:clamp(7px,1vh,13px) 18px;font-size:clamp(15px,1.8vw,25px);line-height:1.2;text-align:center}
.app.results-mode .c-promo{margin:0;padding:7px 12px;font-size:11px;line-height:1.3}
.app.results-mode .c-promo p{margin:2px 0}
.app.results-mode .c-actions{grid-area:actions;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.app.results-mode .c-actions button{box-sizing:border-box;min-height:clamp(36px,5vh,54px);padding:6px 10px;font-size:clamp(9px,.95vw,13px)}
.app.results-mode .result-more,.app.results-mode .legacyResultNote,.app.results-mode .c-links{display:none!important}
.app.results-mode .c-person .person-details[open] .c-evidence,.app.results-mode .c-person .person-details[open] .z-verdict,.app.results-mode .c-person .person-details[open] .c-portrait{display:block}
@media(max-width:760px){
 .app.results-mode{padding:calc(env(safe-area-inset-top) + 5px) 8px calc(env(safe-area-inset-bottom) + 6px)}
 .app.results-mode #protocolBody{grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:5px}
 .app.results-mode .c-dossier-header{padding:2px 48px 3px!important}
 .app.results-mode .c-dossier-header h2{font-size:clamp(21px,6vw,32px);margin:2px 0 0!important}
 .app.results-mode .c-dossier-header .result-script{font-size:19px}
 .app.results-mode .c-dossier-header .result-caption{display:none}
 .app.results-mode .c-dossier-header .c-overline{font-size:7px}
 .app.results-mode .c-bride-balloons{width:43px!important;right:0!important;opacity:.7}
 .app.results-mode .result-carousel{grid-template-columns:25px minmax(0,1fr) 25px;gap:3px}
 .app.results-mode .result-arrow{height:40px;font-size:22px}
 .app.results-mode #peopleGrid .c-person{flex-basis:78vw;grid-template-rows:minmax(110px,32%) minmax(0,1fr)}
 .app.results-mode #peopleGrid .person-copy{padding:7px 12px 9px}
 .app.results-mode #peopleGrid .c-person h4{font-size:20px}
 .app.results-mode #peopleGrid .person-comment{font-size:11px}
 .app.results-mode #peopleGrid .zodiac-flavour p{font-size:9px}
 .app.results-mode #nightFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .app.results-mode #nightFacts .fact-cell{border:0;border-top:1px solid #df9fad35;padding:5px;gap:4px}
 .app.results-mode #nightFacts .fact-cell:nth-child(-n+2){border-top:0}
 .app.results-mode #nightFacts .fact-symbol{flex-basis:24px;width:24px;height:24px}
 .app.results-mode #nightFacts .fact-symbol .c-icon{width:21px;height:21px}
 .app.results-mode #nightFacts .fact-cell p{font-size:8px}
 .app.results-mode .c-facts h3{font-size:15px}
 .app.results-mode .c-verdict{font-size:clamp(13px,4vw,17px);padding:6px 10px}
 .app.results-mode .c-promo{font-size:9px}
 .app.results-mode .c-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 .app.results-mode .c-actions button{min-height:34px;font-size:9px}
}
@media(max-height:650px) and (orientation:landscape){.app.results-mode #protocolBody{gap:3px}.app.results-mode .c-dossier-header .result-caption{display:none}.app.results-mode #peopleGrid .c-person{grid-template-rows:minmax(75px,27%) minmax(0,1fr)}.app.results-mode .c-facts{padding:4px 8px}.app.results-mode .c-actions button{min-height:32px}}
@media(prefers-reduced-motion:reduce){.app.results-mode #peopleGrid{scroll-behavior:auto}}

/* Visual redesign: a shared champagne-black editorial language across TV and phone. */
:root{--ink:#100b0e;--rose-metal:#d9a293;--rose-light:#ffb2c7;--champagne:#f3e1d7;--panel-glass:#120e10e8;--party-art-mobile:var(--party-art)}
html,body{min-height:100%;height:auto;overflow-x:hidden;overflow-y:auto;background:#0a0809;color:#f7ece7}
body:before{background:linear-gradient(180deg,#09070880,#090708a6),var(--party-art) center/cover no-repeat}
.app:not(.cover-mode):not(.game-mode):not(.results-mode){box-sizing:border-box;width:min(1680px,100%);min-height:100dvh;height:auto;overflow:visible;padding:22px clamp(14px,3.6vw,56px) max(30px,env(safe-area-inset-bottom))}
.app:not(.cover-mode):not(.game-mode):not(.results-mode) main{height:auto!important;min-height:0;overflow:visible}
.app:not(.cover-mode):not(.game-mode):not(.results-mode) .screen.active{height:auto;min-height:0;overflow:visible}
.app.cover-mode{overflow:hidden}
.app.cover-mode .menu-landing{background-image:linear-gradient(180deg,#08060830 0%,#09070800 35%,#08060882 78%,#070608d9 100%),var(--party-art);background-size:cover;background-position:center 54%}
.cover-heart{width:clamp(110px,12vw,178px);filter:drop-shadow(0 12px 35px #f18aa96e)}
.cover-heart svg{overflow:visible}
.cover-hero h1{font-size:clamp(66px,9.4vw,146px);line-height:.82;letter-spacing:-.055em;text-shadow:0 8px 38px #090506a6}
.cover-kicker{color:#f0bdc8;text-shadow:0 2px 16px #000}
.menu-start{min-height:clamp(72px,9vh,94px);border-radius:24px;box-shadow:0 14px 48px #ed88a975,inset 0 1px 0 #fff9,inset 0 -10px 18px #9e4e6426}
.cover-facts span{border-color:#ebc1bd73;background:#0c090acc}
.cover-bottom{gap:12px 24px}
.cover-bottom button{font-size:11px;text-decoration:none}
.cover-bottom button:hover{color:#fff}

/* The four modes are four illustrated covers, not icon tiles. */
.app:has(#setupScreen.mode-picking){width:100%;max-width:none;min-height:100dvh;height:auto;padding:0}
.app:has(#setupScreen.mode-picking)>.topbar{display:none}
.app:has(#setupScreen.mode-picking) main{margin:0}
.mode-picker[hidden]{display:none!important}
#setupScreen.mode-picking .mode-picker{display:grid!important}
.mode-picker{box-sizing:border-box;width:100%;min-height:100dvh;padding:clamp(20px,4vh,48px) clamp(18px,4vw,72px);align-content:center;gap:clamp(16px,3vh,30px);border:0;border-radius:0;background:linear-gradient(180deg,#0907087a,#090708d9),var(--party-art) center/cover no-repeat;box-shadow:none}
.mode-heading{margin:auto}
.mode-heading h1{font-size:clamp(44px,6.4vw,88px);letter-spacing:-.045em}
.mode-heading p:last-child{color:#e8d4ce}
.mode-grid{width:min(1690px,100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,24px);align-items:stretch}
.mode-card{box-sizing:border-box;min-width:0;min-height:clamp(420px,62vh,700px);justify-content:flex-end;padding:clamp(16px,1.7vw,28px);border:1px solid #edc1ad88;border-radius:24px;background:linear-gradient(180deg,#08060810 12%,#08060822 42%,#080608ef 100%),var(--mode-art) center/cover no-repeat;box-shadow:0 16px 44px #0009,inset 0 1px 0 #fff3;transition:transform .25s,border-color .25s,box-shadow .25s,background-position .5s}
.mode-card:before{z-index:0;background:linear-gradient(180deg,#08060810 0%,#08060805 32%,#080608eb 100%)}
.mode-card>*{position:relative;z-index:1}
.mode-card:hover,.mode-card:focus-visible{transform:translateY(-5px);border-color:#ffd4dc;box-shadow:0 22px 58px #f282a547,inset 0 0 0 1px #ffe6e388}
.mode-card .mode-icon{top:18px;right:18px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffdddc8a;border-radius:50%;background:#120a0a65;color:#ffd4dc;box-shadow:0 0 27px #ee86aa82}
.mode-card .mode-icon .c-icon{width:27px;height:27px}
.mode-card .mode-overline{font-size:10px;color:#ffc3d0;text-shadow:0 2px 10px #000;letter-spacing:.19em}
.mode-card strong{font-size:clamp(25px,2.45vw,39px);line-height:.96;color:#fff4ec;text-shadow:0 3px 18px #000}
.mode-card>span:not(.mode-icon):not(.mode-overline){max-width:34ch;color:#f0e0db;font-size:clamp(11px,.92vw,14px);line-height:1.45;text-shadow:0 2px 8px #000}
.mode-card i{font-size:18px;color:#ffc1ce;text-shadow:0 2px 10px #000}
.mode-card .mode-demo-facts{max-width:max-content;font-size:8px;line-height:1.3;background:#090909aa;color:#d9f4ff;border-color:#72d7ff8a}
.mode-card-demo{box-shadow:0 0 0 1px #92dfff55,0 16px 44px #0009}
.mode-back{z-index:3;top:22px;left:26px;background:#0d090bbd;border-color:#e4b5ae88;color:#f7e5df}
.mode-picker .mode-lock{z-index:5}

/* Service/setup views can grow; content never disappears below the viewport. */
.app:not(.cover-mode) .setup-card{overflow:visible}
#setupScreen.menu-config .party-setup{display:block!important;width:min(1180px,100%);max-width:none;margin:0 auto;gap:18px}
#setupScreen.menu-config .party-setup>.hero-copy{display:none!important}
#setupScreen.menu-config .setup-card{width:100%;border-color:#bf978c80;background:linear-gradient(145deg,#171113ed,#0a090af2);box-shadow:0 24px 80px #0009}
#setupScreen.menu-config .prep-header{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px 20px}
#setupScreen.menu-config .prep-header .setup-back{grid-row:1/3;align-self:start;margin:0;border:1px solid #d4aba153;border-radius:999px}
#setupScreen.menu-config .prep-heading{font-size:clamp(40px,5vw,68px);letter-spacing:-.04em}
#setupScreen.menu-config .prep-subtitle{margin-bottom:5px}
.wizard-progress{max-width:840px;margin:18px auto 25px}
.wizard-progress button{border-radius:12px;min-height:48px;background:#0d090bbd;border-color:#d0a39854;color:#d9c5c1;font-size:12px;letter-spacing:.04em}
.wizard-progress button[aria-current=step]{background:linear-gradient(120deg,#e6a3b57a,#bd829175);border-color:#ffd0da;box-shadow:0 0 25px #ec8ba345}
.wizard-panel>h3{font-size:clamp(28px,3vw,42px);margin-top:8px}
.wizard-panel>p{font-size:14px;color:#d8c7c4}
.wizard-actions{margin-top:22px;padding-top:16px;border-top:1px solid #d5a6a52e}
.wizard-actions button{min-height:49px}
.setup-card .roster-carousel{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;margin:16px 0 10px}
.setup-card .roster-arrow{width:42px;height:52px;border-color:#e2a8b577;background:#120c10;color:#f4bccb;font-size:32px;box-shadow:0 0 18px #e784a421}
.setup-card .players{gap:14px;padding:9px 6px 16px}
.setup-card .player-row{position:relative;isolation:isolate;flex:0 0 clamp(206px,18vw,286px);min-height:330px;grid-template-columns:minmax(0,1fr) 36px;grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px;padding:10px;background:#090708e8;border-color:#d1a29594;border-radius:20px;opacity:.78;box-shadow:0 12px 30px #0009}
.setup-card .player-row.is-selected{opacity:1;border-color:#ff9bb8;box-shadow:0 0 0 1px #ffb7ca,0 0 32px #f269a364,0 14px 32px #0009}
.setup-card .participant-select{grid-row:1;grid-column:1/-1;min-height:27px;color:#f1dce0;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.setup-card .roster-card-portrait{grid-row:2;grid-column:1/-1;position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #b88e8b8a;border-radius:14px;background:radial-gradient(ellipse at 50% 80%,#66414a,#111013 73%);box-shadow:inset 0 0 35px #0008}
.setup-card .roster-card-portrait:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#090708dc);pointer-events:none}
.setup-card .roster-card-portrait .portrait-frame{width:100%;height:100%;min-height:180px;aspect-ratio:auto;border:0;border-radius:inherit;background:transparent}
.setup-card .roster-card-portrait .portrait-image{width:100%;height:100%;object-fit:contain!important;object-position:center 40%;background:transparent}
.setup-card .roster-card-portrait .portrait-monogram{font:400 62px 'Cormorant Garamond',Georgia,serif;color:#eab5c4}
.setup-card .player-name{grid-row:3;grid-column:1;font:500 21px 'Cormorant Garamond',Georgia,serif;color:#fff0e9}
.setup-card .remove-btn{grid-row:3;grid-column:2;border-radius:50%;width:36px;height:36px}
.setup-card .z-select-label{grid-row:4;grid-column:1/-1;gap:5px;color:#d8b3bb;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.setup-card .z-select-label select{min-height:40px;padding:8px 10px;font:600 12px 'Manrope',sans-serif}
.setup-card .z-row-preview{display:none}
.setup-card .photo-editor{display:none!important}
.setup-card .add-btn{display:none!important}
.setup-card .players .add-participant-tile{position:relative;flex:0 0 clamp(190px,16vw,250px);min-height:330px;display:grid;align-content:center;justify-items:center;gap:7px;padding:18px;border:1px dashed #e4b2bd9c;border-radius:20px;background:linear-gradient(145deg,#171015d9,#0a080bee);color:#f5dce1;scroll-snap-align:start;cursor:pointer;transition:.2s}
.setup-card .players .add-participant-tile:hover{border-color:#ffb5ca;background:#28151e;box-shadow:0 0 32px #ef83a43b}
.add-participant-tile[hidden]{display:none!important}
.add-participant-tile>span{display:grid;place-items:center;width:68px;height:68px;border:1px solid #f0b4c8a1;border-radius:50%;color:#f4b6c9;font:300 54px/1 'Cormorant Garamond',serif;box-shadow:0 0 25px #f089ac50}
.add-participant-tile strong{font:500 23px 'Cormorant Garamond',serif;text-transform:uppercase}
.add-participant-tile small{font:11px 'Manrope',sans-serif;color:#cfb5ba}
.wizard-panel[data-wizard-panel="2"] .player-row{flex:0 0 clamp(240px,25vw,360px);min-height:350px}
.wizard-panel[data-wizard-panel="2"] .roster-card-portrait{height:130px}
.wizard-panel[data-wizard-panel="2"] .photo-editor{grid-column:1/-1!important;display:grid!important;grid-template-columns:90px minmax(0,1fr)!important;align-items:center}
.wizard-panel[data-wizard-panel="2"] .photo-preview{width:90px;height:112px;max-height:none;aspect-ratio:4/5}
.wizard-panel[data-wizard-panel="2"] .photo-preview img{object-fit:contain!important;background:#100d10}
.wizard-panel[data-wizard-panel="2"] .photo-status{font-size:10px}
.wizard-panel[data-wizard-panel="2"] #players{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.wizard-panel[data-wizard-panel="2"] #players::-webkit-scrollbar{display:none}
.setup-card .roster-count{font-size:10px;color:#ffd0dc;border-color:#ea9db244}
.setup-card .participant-check{width:20px;height:20px}
.setup-card .participant-toggle:checked+.participant-check{box-shadow:0 0 17px #fa9dbd9c}

/* Vote, story and personal prompts have different stage compositions. */
.app.game-mode .game-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(8px,1.2vh,16px)}
.app.game-mode .card-stage{padding:0 8px;gap:clamp(12px,1.5vw,26px)}
.app.game-mode .card{width:min(100%,1480px);height:min(100%,64dvh);aspect-ratio:1.62;border-color:#edbdab80;background-image:linear-gradient(135deg,#321027dd,#140e15c9 60%,#321221ed);box-shadow:0 22px 78px #000a,inset 0 1px 0 #fff4}
.app.game-mode .card:before{opacity:.42}
.app.game-mode .category{border-color:#f4d1dc8a;background:#21141cbf;color:#ffe5eb}
.app.game-mode .prompt{font-size:clamp(30px,min(5.3vw,7vh),82px);line-height:1.09;letter-spacing:-.04em}
.app.game-mode .card-foot{font-weight:500;color:#f2dddf}
.app.game-mode .card-num{color:#f5c0cf;font-weight:700}
.app.game-mode .card.is-vote{background-image:radial-gradient(ellipse at 88% 0%,#e677ae46,transparent 52%),linear-gradient(135deg,#241044ed,#551353db 54%,#ce3d81c7)}
.app.game-mode .card.is-zodiac{background-image:radial-gradient(ellipse at 90% 10%,#e8b0ee55,transparent 43%),linear-gradient(135deg,#21102aeb,#441647df 58%,#862f6fe3)}
.app.game-mode .card.is-personal{background-image:radial-gradient(ellipse at 85% 0%,#e48b9a48,transparent 48%),linear-gradient(135deg,#211014ef,#3c171fed 60%,#74314ce8)}
.app.game-mode .card.is-task{background-image:radial-gradient(ellipse at 84% 2%,#ffba8f55,transparent 46%),linear-gradient(135deg,#261014ef,#742847ec 60%,#ad4c51e6)}
.app.game-mode .card-stage.has-spotlight{grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);align-items:stretch}
.app.game-mode:has(.card-stage.has-spotlight) .game-head #turnPhoto,.app.game-mode:has(.card-stage.has-spotlight) .game-head #turnZodiac{display:none}
.story-spotlight[hidden]{display:none!important}
.story-spotlight:not([hidden]){grid-column:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-items:center;justify-items:center;gap:10px;padding:clamp(12px,1.4vw,22px);border:1px solid #d9a69e91;border-radius:22px;background:linear-gradient(180deg,#08070822,#090708e8),radial-gradient(ellipse at 50% 20%,#bb788450,transparent 55%);box-shadow:0 16px 42px #0009,inset 0 1px 0 #fff3}
.story-spotlight .spotlight-portrait{box-sizing:border-box;width:min(100%,270px);height:min(48dvh,100%);min-height:180px;aspect-ratio:4/5;border:1px solid #efb7c9;border-radius:16px;box-shadow:0 0 35px #ec8faf47}
.story-spotlight .portrait-image{object-fit:contain!important;background:#100d10}
.story-spotlight>strong{font:500 clamp(24px,3vw,42px)/1 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;text-align:center;color:#ffedf0}
.story-spotlight>.z-badge{display:inline-flex;justify-content:center;gap:8px;padding:5px 12px;border:1px solid #edb1c36b;border-radius:999px;background:#100a0dbf;color:#f4ced9}
.story-spotlight>.z-badge .z-emblem{width:30px;height:30px;color:#ffc5d7;filter:drop-shadow(0 0 9px #ff9bc3)}
.story-spotlight>.z-badge small{font-size:8px}
.story-spotlight>small{color:#d7b7c0;font:10px 'Manrope',sans-serif;letter-spacing:.15em;text-transform:uppercase}
.app.game-mode .card-stage.has-spotlight .card{grid-column:2;width:100%;height:100%;max-height:100%;aspect-ratio:auto}
.app.game-mode .card-stage.has-spotlight .prompt{max-width:100%;font-size:clamp(27px,min(4.2vw,6.2vh),70px)}
.app.game-mode .c-vote-person{flex:0 0 clamp(112px,13.5vw,190px);height:clamp(145px,20vh,220px);padding:0 0 8px;border-radius:14px;display:grid;grid-template-rows:minmax(0,1fr) auto auto;overflow:hidden;background:#140e12e8}
.app.game-mode .c-choice-photo{box-sizing:border-box;width:100%;height:100%;min-height:0;aspect-ratio:auto;border:0;border-radius:12px 12px 4px 4px;box-shadow:inset 0 -25px 26px #0007}
.app.game-mode .c-choice-photo .portrait-image{object-fit:contain!important;background:#100d10}
.app.game-mode .c-choice-photo .portrait-monogram{font:44px 'Cormorant Garamond',serif}
.app.game-mode .c-vote-person .z-badge{display:none}
.app.game-mode .c-vote-name{padding:0 8px;font-size:clamp(12px,1.05vw,16px)}
.app.game-mode .c-choice[aria-pressed="true"],.app.game-mode .c-choice.is-selected{border-color:#ff93b7;box-shadow:0 0 0 1px #ffc4d4,0 0 30px #ff62a88a;background:#4f1e37}
.app.game-mode .controls>button,.app.game-mode .timer{border-radius:15px}
.app.game-mode .controls #doneBtn{box-shadow:0 10px 36px #e66f9f60,inset 0 1px 0 #fff8}

/* Results are a photographic collectible spread: five dossiers, findings, verdict, actions. */
.app.results-mode #protocolBody{grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:clamp(6px,1.1vh,14px)}
.app.results-mode .c-dossier-header{padding-top:clamp(5px,1.2vh,14px)!important}
.app.results-mode .c-dossier-header h2{font-size:clamp(29px,3.6vw,56px);letter-spacing:-.035em}
.app.results-mode .c-dossier-header .result-script{font-size:clamp(24px,2.8vw,40px);color:#f1a2bb}
.app.results-mode .c-dossier-header .result-caption{font-size:clamp(9px,.85vw,13px)!important;color:#e8d3cc}
.app.results-mode .c-bride-balloons{filter:drop-shadow(0 0 20px #f5a3bd9c);width:clamp(70px,7.5vw,116px)!important}
.app.results-mode .result-carousel{max-width:1760px;grid-template-columns:clamp(38px,4vw,60px) minmax(0,1fr) clamp(38px,4vw,60px)}
.app.results-mode #peopleGrid .c-person{flex-basis:clamp(225px,17.3vw,320px);grid-template-rows:minmax(165px,45%) minmax(0,1fr);border-color:#d4a99e;background:linear-gradient(165deg,#171115f4,#0c090bf7);box-shadow:0 14px 36px #0008,inset 0 1px 0 #fff2}
.app.results-mode #peopleGrid .person-photo-wrap{background:radial-gradient(ellipse at 50% 90%,#754451,#0b090b 72%)}
.app.results-mode #peopleGrid .person-photo-wrap>.portrait-frame{aspect-ratio:auto;background:transparent}
.app.results-mode #peopleGrid .person-photo-wrap .portrait-image{object-fit:contain!important;background:transparent}
.app.results-mode #peopleGrid .person-heading{inset:12px 13px auto}
.app.results-mode #peopleGrid .person-heading h3{font:500 clamp(19px,1.65vw,27px)/1 'Cormorant Garamond',Georgia,serif;text-shadow:0 2px 15px #000;text-transform:uppercase}
.app.results-mode #peopleGrid .person-heading .z-emblem{width:40px;height:40px;color:#ffc0d0;filter:drop-shadow(0 0 12px #f37eaa)}
.app.results-mode #peopleGrid .person-heading>div:last-child small{font-size:8px;letter-spacing:.11em;text-transform:uppercase;text-shadow:0 1px 8px #000}
.app.results-mode #peopleGrid .person-copy{padding:clamp(9px,1vw,15px) clamp(11px,1.1vw,17px) 12px;background:radial-gradient(ellipse at 50% 0%,#9f536327,transparent 68%),#110c10}
.app.results-mode #peopleGrid .person-sigil{width:42px;height:42px;margin:-29px auto 6px;position:relative;display:grid;place-items:center;border:1px solid #f4b4c8b0;border-radius:50%;background:#160b11;box-shadow:0 0 22px #ee79a866}
.app.results-mode #peopleGrid .person-sigil .c-icon{width:28px;height:28px;color:#ffadc4;filter:drop-shadow(0 0 8px #ff8fb7)}
.app.results-mode #peopleGrid .c-person h4{font-size:clamp(17px,1.42vw,23px);line-height:1.05;margin:4px 0 6px;color:#f4d2db;text-align:center}
.app.results-mode #peopleGrid .person-comment{font:clamp(11px,.9vw,14px)/1.38 'Cormorant Garamond',Georgia,serif;color:#e8d5cf;text-align:center}
.app.results-mode #peopleGrid .zodiac-flavour{padding:6px 8px;margin:3px 0 5px;border-left:1px solid #f2a7be;background:#21151a70}
.app.results-mode #peopleGrid .zodiac-flavour small{font-size:8px}
.app.results-mode #peopleGrid .zodiac-flavour p{font-size:10px;line-height:1.35;color:#e0c2c9}
.app.results-mode #peopleGrid .person-metrics{border-top:1px solid #d49c9d33;padding:7px 0}
.app.results-mode #peopleGrid .person-metrics p{font-size:10px}
.app.results-mode #peopleGrid .c-person .tool-btn{min-height:34px;border:1px solid #d6aaa15c;border-radius:999px;background:#26171c;color:#f3c9d3!important}
.app.results-mode .c-facts{border:1px solid #d2a49d91;background:linear-gradient(110deg,#100d0eea,#191015ec,#100d0eea);box-shadow:0 12px 36px #0008,inset 0 1px 0 #fff2}
.app.results-mode .c-facts h3{color:#f0d8cf;letter-spacing:.12em}
.app.results-mode #nightFacts .fact-symbol{border:1px solid #d798a95e;border-radius:50%;background:#1d1117;box-shadow:0 0 18px #e4759b37;color:#f19ab6}
.app.results-mode #nightFacts .fact-symbol .c-icon{filter:drop-shadow(0 0 7px currentColor)}
.app.results-mode #nightFacts .fact-cell p{color:#d8c3c0}
.app.results-mode .c-verdict{border:1px solid #dc9dad74;border-radius:16px;background:linear-gradient(110deg,#170c11e8,#28141be8,#170c11e8);font:italic clamp(16px,1.8vw,25px)/1.2 'Cormorant Garamond',Georgia,serif;color:#f3d9d5}
.app.results-mode .c-actions button{border-radius:999px!important;border-color:#e4b2a979!important;background:#120e10ed!important;color:#f2dfd7}
.app.results-mode .c-actions #openCompanyPoster{background:linear-gradient(120deg,#f0aab9,#df8499)!important;color:#2a151b}
.app.results-mode .c-person .person-details summary{display:inline-flex;align-items:center;min-height:28px;color:#e8b1c0}

/* Profile and collection live in a scrollable local-first modal. */
.club-modal{padding:clamp(8px,2vh,22px)}
.club-modal .club-card{box-sizing:border-box;width:min(1120px,100%);max-height:min(94dvh,1100px);overflow:auto;padding:clamp(16px,2.5vw,32px);border-color:#d1a195a8;border-radius:24px;background:radial-gradient(ellipse at 85% 0%,#7e3c5a48,transparent 42%),linear-gradient(145deg,#211519f7,#0b090af9);overscroll-behavior:contain}
.club-card .modal-head{align-items:flex-start}
.club-card .modal-head h3{font:500 clamp(30px,4vw,50px)/1 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;color:#f6e8df;margin-top:5px}
.club-tabs{position:sticky;z-index:4;top:-1px;display:flex;gap:7px;margin:19px 0 16px;padding:7px;border:1px solid #d5a59c3b;border-radius:999px;background:#0e0b0ded;backdrop-filter:blur(16px);overflow-x:auto}
.club-tabs button{flex:1 0 auto;min-height:38px;padding:7px 14px;border:1px solid transparent;border-radius:999px;background:transparent;color:#d3bdba;font:600 11px 'Manrope',sans-serif;cursor:pointer}
.club-tabs button[aria-current="page"]{border-color:#edacbe;background:#d891a42c;color:#ffebef;box-shadow:0 0 19px #ed8aa23d}
.club-content{min-height:250px}
.club-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px 18px;padding:clamp(16px,3vw,30px);border:1px solid #d5a59c75;border-radius:20px;background:linear-gradient(120deg,#321622d9,#171114e8 58%,#26131bd9);box-shadow:inset 0 1px #fff2}
.club-crest{grid-row:1/3;display:grid;place-items:center;width:clamp(76px,11vw,128px);aspect-ratio:1;border:1px solid #f0b9c788;border-radius:50%;color:#ffb5c9;font:44px 'Cormorant Garamond',serif;text-shadow:0 0 22px #fd8eae;box-shadow:0 0 28px #df789951,inset 0 0 22px #df789933}
.club-hero h4{margin:0;font:500 clamp(25px,4vw,48px)/1 'Cormorant Garamond',serif;color:#fff0e9}
.club-hero p{margin:5px 0 0;color:#d8bfc2;font:12px/1.45 'Manrope',sans-serif}
.club-xp{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin-top:6px;color:#efd8df;font:10px 'Manrope',sans-serif}
.club-xp-bar{grid-column:1/-1;height:8px;border-radius:99px;background:#3e2933;overflow:hidden}
.club-xp-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef799f,#f8c7cc);box-shadow:0 0 14px #f38ba8}
.club-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}
.club-stat{padding:14px;border:1px solid #d3a29455;border-radius:16px;background:#110d0fee;text-align:center}
.club-stat strong{display:block;font:500 clamp(23px,3vw,34px)/1 'Cormorant Garamond',serif;color:#ffc0d0}
.club-stat small{display:block;margin-top:6px;color:#cdb8b6;font:9px 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.club-section-title{margin:18px 0 9px;color:#f1d7d3;font:500 22px 'Cormorant Garamond',serif}
.club-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:9px}
.club-badge{min-height:126px;display:grid;align-content:center;justify-items:center;gap:7px;padding:12px;border:1px solid #d59aa35b;border-radius:16px;background:linear-gradient(145deg,#211419,#0f0b0e);text-align:center;color:#f3ddd8}
.club-badge .c-icon{width:31px;height:31px;color:#ffabc3;filter:drop-shadow(0 0 9px #eb7ba8)}
.club-badge strong{font:500 16px/1.04 'Cormorant Garamond',serif}
.club-badge small{color:#c8afb1;font:9px/1.35 'Manrope',sans-serif}
.club-badge.is-locked{border-color:#806a7048;background:#100d0fd9;color:#71666a}
.club-badge.is-locked .club-lock{display:grid;place-items:center;width:32px;height:32px;border:1px solid #8070786b;border-radius:50%;font:18px 'Manrope',sans-serif;color:#98888d}
.club-zodiac-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.club-zodiac{display:grid;justify-items:center;gap:5px;padding:14px 8px;border:1px solid #8b73774c;border-radius:17px;background:#100d0fe8;color:#736b71;text-align:center}
.club-zodiac .z-emblem{width:clamp(40px,5vw,64px);height:clamp(40px,5vw,64px);color:#726c73}
.club-zodiac strong{font:500 18px 'Cormorant Garamond',serif}
.club-zodiac small{font:8px 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.club-zodiac.is-found{border-color:#ed9fba9e;background:radial-gradient(ellipse at top,#a7517933,transparent 70%),#171015;color:#f5dce3;box-shadow:0 0 22px #eb7fa731}
.club-zodiac.is-found .z-emblem{color:#ffb0c9;filter:drop-shadow(0 0 11px #ff86b1)}
.club-case-list{display:grid;gap:8px}
.club-case{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #d2a29b4a;border-radius:14px;background:#110d10}
.club-case .c-icon{width:21px;height:21px;color:#f1a5bc}
.club-case strong{font:500 17px 'Cormorant Garamond',serif;color:#f2ded8}
.club-case small{font:9px 'Manrope',sans-serif;color:#c9afb1;text-align:right}
.club-empty{padding:32px 18px;border:1px dashed #cc9ca08a;border-radius:18px;color:#d3bcc0;text-align:center;font:14px/1.6 'Manrope',sans-serif}
.club-privacy{margin:12px 0 0;color:#a9959a;font:10px/1.5 'Manrope',sans-serif}

@media(max-width:1000px){.mode-card{min-height:clamp(350px,54vh,550px);padding:16px}.mode-card strong{font-size:clamp(23px,2.8vw,32px)}.app.results-mode #peopleGrid .c-person{flex-basis:clamp(215px,21vw,270px)}}
@media(max-width:760px){
 .app:not(.cover-mode):not(.game-mode):not(.results-mode){padding:10px 10px max(18px,env(safe-area-inset-bottom))}
 .app.cover-mode .menu-landing{background-image:linear-gradient(180deg,#0806084d,#09070822 30%,#080608a8 75%,#070608e8),var(--party-art-mobile);background-position:center 48%}
 .cover-heart{width:clamp(70px,20vw,100px)}
 .cover-hero h1{font-size:clamp(48px,13vw,76px);line-height:.9}
 .cover-bottom{grid-template-columns:1fr 1fr;justify-items:center;gap:6px}
 .cover-bottom p{grid-column:1/-1}
 .app:has(#setupScreen.mode-picking){padding:0}
 .mode-picker{min-height:100dvh;padding:70px 12px 16px;gap:14px;background-image:linear-gradient(180deg,#09070880,#090708e8),var(--party-art-mobile);background-position:center;background-size:cover}
 .mode-back{top:12px;left:12px}
 .mode-heading h1{font-size:clamp(36px,9vw,58px)}
 .mode-heading p:last-child{font-size:11px;margin-top:6px}
 .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .mode-card{min-height:clamp(205px,31svh,285px);padding:12px;border-radius:16px;gap:6px}
 .mode-card .mode-icon{width:36px;height:36px;right:9px;top:9px}
 .mode-card .mode-icon .c-icon{width:22px;height:22px}
 .mode-card .mode-overline{max-width:85%;font-size:7px}
 .mode-card strong{font-size:clamp(18px,4.8vw,26px)}
 .mode-card>span:not(.mode-icon):not(.mode-overline){font-size:9px;line-height:1.32}
 .mode-card i{font-size:13px;margin-top:0}
 .mode-card .mode-demo-facts{font-size:6px;padding:4px 5px}
 #setupScreen.menu-config .party-setup{gap:10px}
 #setupScreen.menu-config .setup-card{padding:15px!important;border-radius:18px}
 #setupScreen.menu-config .prep-header{grid-template-columns:1fr;gap:6px}
 #setupScreen.menu-config .prep-header .setup-back{grid-row:auto;justify-self:start;min-height:38px;padding:6px 11px}
 #setupScreen.menu-config .prep-heading{font-size:clamp(34px,9vw,49px)}
 .wizard-progress{gap:4px;margin:14px 0 18px}
 .wizard-progress button{min-height:40px;padding:4px;font-size:9px}
 .wizard-panel>h3{font-size:28px}
 .wizard-panel>p{font-size:12px}
 .setup-card .roster-carousel{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}
 .setup-card .roster-arrow{width:29px;height:42px;font-size:23px}
 .setup-card .player-row{flex-basis:73vw;min-height:305px;padding:9px}
 .setup-card .roster-card-portrait .portrait-frame{min-height:155px}
 .setup-card .players .add-participant-tile{flex-basis:66vw;min-height:305px}
 .wizard-panel[data-wizard-panel="2"] .player-row{flex-basis:86vw;min-height:320px}
 .wizard-panel[data-wizard-panel="2"] .photo-editor{grid-template-columns:72px minmax(0,1fr)!important}
 .wizard-panel[data-wizard-panel="2"] .photo-preview{width:72px;height:90px}
 .app.game-mode{padding:calc(env(safe-area-inset-top) + 7px) 9px calc(env(safe-area-inset-bottom) + 8px)}
 .app.game-mode .game-shell{gap:6px}
 .app.game-mode .card-stage{padding:0;gap:7px}
 .app.game-mode .card{height:min(100%,48dvh);padding:clamp(15px,4vw,23px);aspect-ratio:auto}
 .app.game-mode .card-stage.has-spotlight{grid-template-columns:76px minmax(0,1fr);align-items:center}
 .story-spotlight:not([hidden]){gap:5px;padding:6px;border-radius:14px}
 .story-spotlight .spotlight-portrait{width:100%;height:min(20dvh,160px);min-height:90px;border-radius:10px}
 .story-spotlight>strong{font-size:clamp(15px,4.2vw,22px);overflow-wrap:anywhere}
 .story-spotlight>.z-badge{flex-direction:column;gap:0;padding:3px 5px;border:0;background:transparent}
 .story-spotlight>.z-badge .z-emblem{width:29px;height:29px}
 .story-spotlight>.z-badge small{display:none}
 .app.game-mode .card-stage.has-spotlight .card{height:min(100%,48dvh);padding:15px 13px}
 .app.game-mode .card-stage.has-spotlight .category{font-size:8px;letter-spacing:.07em;padding:6px 7px}
 .app.game-mode .card-stage.has-spotlight .prompt{font-size:clamp(21px,6vw,31px);line-height:1.11}
 .app.game-mode .c-vote-person{flex-basis:31vw;height:clamp(115px,18vh,165px)}
 .app.game-mode .vote-carousel{grid-template-columns:26px minmax(0,1fr) 26px;gap:3px}
 .app.game-mode .vote-arrow{height:37px}
 .app.game-mode .controls{grid-template-columns:minmax(0,.9fr) minmax(76px,.65fr) minmax(0,1.25fr);gap:4px}
 .app.game-mode .controls>button,.app.game-mode .timer{min-height:42px;font-size:10px;padding:4px}
 .club-modal{padding:6px}
 .club-modal .club-card{max-height:96dvh;padding:14px;border-radius:17px}
 .club-card .modal-head .c-overline{font-size:7px;letter-spacing:.12em}
 .club-tabs{gap:4px;padding:4px;margin:12px 0}
 .club-tabs button{min-height:35px;padding:5px 10px;font-size:9px}
 .club-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .club-stat{padding:11px}
 .club-zodiac-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .club-zodiac{padding:9px 5px}
 .club-zodiac strong{font-size:15px}
 .club-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .club-badge{min-height:108px;padding:7px}
 .club-badge strong{font-size:13px}
 .club-case{grid-template-columns:auto 1fr;gap:5px 8px}
 .club-case small{grid-column:2;text-align:left}
}
@media(max-width:374px){.mode-grid{grid-template-columns:1fr}.mode-card{min-height:175px}.setup-card .player-row{flex-basis:78vw}.app.game-mode .card-stage.has-spotlight{grid-template-columns:64px minmax(0,1fr)}.story-spotlight .spotlight-portrait{min-height:75px}.app.game-mode .card-stage.has-spotlight .prompt{font-size:21px}}
@media(max-height:650px) and (orientation:landscape){.mode-picker{padding-top:50px;gap:8px}.mode-heading h1{font-size:40px}.mode-heading p:last-child{margin:5px}.mode-card{min-height:58vh}.app.game-mode .card-stage.has-spotlight{grid-template-columns:135px minmax(0,1fr)}.story-spotlight .spotlight-portrait{height:47dvh;min-height:100px}.app.game-mode .card{height:56dvh}.app.game-mode .card-stage.has-spotlight .card{height:100%}}
@media(prefers-reduced-motion:reduce){.mode-card,.club-tabs button{transition:none}}
.mode-card[data-party-mode="classic"]{--mode-art:url(/assets/9e3bc5521d4edf0e94e3123e.jpg);}
.mode-card[data-party-mode="hot"]{--mode-art:url(/assets/936913fb37dcbb03d57b1c21.jpg);}
.mode-card[data-party-mode="stories"]{--mode-art:url(/assets/875590cd6a8913f2f65699d4.jpg);}
.mode-card[data-party-mode="demo"]{--mode-art:url(/assets/9fd0737546d99c139b7864b0.jpg);}

/* Production scenes: no shared branding header. */
[hidden]{display:none!important}
.app>.scene-sound{position:fixed;right:18px;top:14px;z-index:25;width:42px;height:42px;border:1px solid #d8aaad60;border-radius:50%;background:#120d12ba;color:#f2c1cc;font:24px Manrope;backdrop-filter:blur(12px);cursor:pointer}
.app.cover-mode>.scene-sound{display:none}
.app.game-mode .game-shell{padding:0!important;border:0;background:none;box-shadow:none;border-radius:0}
.app.game-mode .game-shell .card{box-shadow:none}
.prep-controls{grid-template-columns:1fr!important}

.screen:not(.active){display:none!important}
/* Final scene system. Art stays at the perimeter; content lives on the stage. */
body:before,body:after,.sparkle-layer,.app:after{display:none!important}
#sceneBackdrop{position:fixed;inset:0;z-index:0;background:#09080a center/cover no-repeat;pointer-events:none}
#sceneBackdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08060818,#08060848 50%,#08060818)}
.app{position:relative;z-index:1}
.app.cover-mode .menu-landing,.mode-picker{background:none!important}
body[data-scene] .app:not(.cover-mode):not(.game-mode):not(.results-mode){width:100%;max-width:none;min-height:100dvh;padding:0}
body[data-scene=participants] #setupScreen.menu-config .party-setup{width:100%;height:100dvh;margin:0;padding:40px 5vw;box-sizing:border-box}
body[data-scene=participants] #setupScreen.menu-config .setup-card{height:100%;padding:0!important;border:0;background:none;box-shadow:none;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;max-width:1700px;margin:auto}
.production-roster-heading{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;text-align:center}.production-roster-heading h1{width:100%;max-width:none;box-sizing:border-box;text-align:center;font:500 clamp(38px,4vw,76px)/1 'Cormorant Garamond';margin:8px 0}.production-roster-heading p{width:100%;box-sizing:border-box;text-align:center;margin:5px 0;color:#e6c7c9}.production-roster-heading #productionCount{font-size:12px;color:#eca4b7}
#setupBack{justify-self:start}.production-roster-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;padding:15px}.production-roster-actions .confirm{width:100%;justify-content:center;margin:0!important}.production-roster-actions #startBtn{width:auto;min-width:340px;margin:0}.production-roster-actions #setupError{width:100%;text-align:center}
body[data-scene=participants] .setup-card .roster-carousel{min-height:0;height:100%;margin:0;grid-template-columns:44px minmax(0,1fr) 44px}
body[data-scene=participants] #rosterViewport{height:100%;min-height:0}body[data-scene=participants] #players{height:100%;box-sizing:border-box;align-items:stretch;gap:18px;padding:14px 8px}
body[data-scene=participants] .setup-card .player-row{display:block;flex:0 0 calc((100% - 72px)/5);height:100%;min-height:230px;max-height:520px;padding:0;border-radius:20px;overflow:hidden;background:#100c10}
.setup-card .player-row>.player-name,.setup-card .player-row>.remove-btn,.setup-card .player-row>.z-select-label,.setup-card .player-row>.z-row-preview{display:none!important}
body[data-scene=participants] .setup-card .roster-card-portrait{position:absolute;inset:0;border:0;border-radius:inherit}.setup-card .roster-card-portrait .portrait-frame{height:100%!important;min-height:0!important}
body[data-scene=participants] .setup-card .participant-select{position:absolute;z-index:4;inset:12px 12px auto auto;margin:0}.participant-state{display:none}.production-person-caption{position:absolute;z-index:2;bottom:42px;left:10px;right:10px;text-align:center;pointer-events:none}.production-person-caption strong{display:block;font:500 clamp(21px,1.8vw,32px)/1.2 'Cormorant Garamond';white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.production-person-caption .z-badge{background:none;border:0;justify-content:center;padding:3px;font-size:12px}.production-person-caption .z-emblem{width:30px;height:30px}.production-edit{position:absolute;z-index:5;bottom:9px;left:50%;transform:translateX(-50%);border:0;background:#0b080bd9;color:#dcbac4;border-radius:20px;padding:6px 15px;font:11px Manrope}
body[data-scene=participants] .setup-card .players .add-participant-tile{flex:0 0 calc((100% - 72px)/5);height:100%;min-height:230px;max-height:520px}
@keyframes rose-border{0%,100%{border-color:#efa2b6;box-shadow:0 0 0 1px #f3bdc466,0 0 24px #f877a64a}50%{border-color:#f6ddab;box-shadow:0 0 0 1px #f6ddab99,0 0 28px #efb1895c}}
.player-row.is-selected,.c-choice[aria-pressed=true]{animation:rose-border 5s ease-in-out infinite}
.player-row.is-selected:after,.c-vote-person[aria-pressed=true]:after{content:'✦';position:absolute;right:7px;bottom:14%;font-size:11px;color:#ffe8be;text-shadow:0 0 9px #fff4c7;pointer-events:none}
#participantEditorFields .editing{display:grid!important;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr);gap:18px;background:none;border:0;padding:0;opacity:1;box-shadow:none;animation:none}
#participantEditorFields .participant-select,#participantEditorFields .roster-card-portrait,#participantEditorFields .production-person-caption,#participantEditorFields .production-edit,#participantEditorFields .remove-btn,#participantEditorFields .z-row-preview{display:none!important}
#participantEditorFields .photo-editor{display:flex!important;flex-direction:column;grid-column:1;grid-row:1/4;margin:0}.participant-editor-card{width:min(850px,95vw)!important}.participant-editor-card h3{font:36px 'Cormorant Garamond';text-transform:uppercase}.participant-editor-card .player-name{grid-column:2;align-self:end}.participant-editor-card .z-select-label{grid-column:2}.participant-editor-card .photo-preview{width:100%;height:320px;max-height:none;background:radial-gradient(ellipse at center,#41252e,#100b0e);border:1px dashed #d8a5ad;border-radius:16px}.participant-editor-card .photo-preview img{width:100%;height:100%;object-fit:contain}.participant-editor-card .photo-tools{width:100%;text-align:center}.participant-editor-card .photo-status{font-size:12px}.participant-editor-card .photo-upload{justify-content:center}.participant-editor-card .player-name{height:55px;font-size:20px}.participant-editor-card .photo-placeholder{height:100%;display:grid;place-content:center;text-align:center;gap:20px}.participant-editor-card .photo-placeholder .c-icon{width:62px;height:62px;margin:auto;filter:drop-shadow(0 0 16px #ff9ebb)}
#participantEditorError{color:#ffb5c8;min-height:1em}#saveParticipant{width:100%}#productionSettings .modal-card{width:min(750px,95vw)}#settingsFields{display:grid;gap:15px}#settingsFields label{font-size:15px}#saveSettings{width:100%;margin-top:20px}
/* Fullscreen gameplay; portrait and prompt share the main stage. */
body[data-scene] .app.game-mode{padding:24px 5vw;height:100dvh}
.app.game-mode .game-shell{grid-template-rows:42px minmax(0,1fr) auto!important;gap:16px!important}
.app.game-mode .game-head{grid-template-columns:1fr 220px;padding-right:50px}.app.game-mode .turn-label,.app.game-mode #turnPhoto,.app.game-mode #turnZodiac{display:none}.app.game-mode .turn-name{font:500 20px Manrope;color:#eeb5c6}.app.game-mode .game-shell>div:first-child{height:42px}
.app.game-mode .card-stage{width:min(1450px,100%);margin:auto;height:100%;align-items:stretch!important;gap:28px;padding:0}
.app.game-mode .card-stage.has-spotlight{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.3fr)}
.app.game-mode .card,.app.game-mode .card-stage.has-spotlight .card{height:100%!important;max-height:none;width:100%;aspect-ratio:auto;background:#0c090ddd!important;border:1px solid #c99b9670;border-radius:24px;padding:36px;align-content:center;display:flex;flex-direction:column;justify-content:center}
.app.game-mode .card:before,.app.game-mode .card:after{display:none}.app.game-mode .card-inner{display:flex;flex-direction:column;justify-content:center;gap:22px;flex:1;min-height:0;width:100%}.app.game-mode .category{font:600 12px Manrope;letter-spacing:.08em;color:#eda8be;background:none;border:0;padding:0}.app.game-mode .prompt,.app.game-mode .card-stage.has-spotlight .prompt{font:500 clamp(30px,3.2vw,62px)/1.13 'Cormorant Garamond';overflow-wrap:normal;text-wrap:balance;max-height:100%;overflow:hidden}.app.game-mode .card-foot{font-size:12px;color:#bd9eaa}.app.game-mode .card-num{display:none}
.story-spotlight:not([hidden]){position:relative;display:block!important;min-height:0;height:100%;padding:0;overflow:hidden;border:1px solid #d3a39f99;border-radius:24px;background:#130d12}.story-spotlight .spotlight-portrait{width:100%;height:100%!important;min-height:0;max-height:none;border-radius:0}.story-spotlight .spotlight-caption{position:absolute;left:0;right:0;bottom:0;padding:25px;background:linear-gradient(transparent,#0a080bf2 35%);text-align:center}.spotlight-caption strong{display:block;font:500 36px 'Cormorant Garamond';white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spotlight-caption .z-badge{justify-content:center;background:none;border:0}.spotlight-caption .z-emblem{width:38px;height:38px}
.app.game-mode .game-shell[data-kind=vote]{grid-template-rows:42px minmax(110px,.4fr) minmax(0,1fr)!important}.app.game-mode .game-shell[data-kind=vote] .card{background:none!important;border:0;padding:10px 8%;text-align:center}.app.game-mode .game-shell[data-kind=vote] .card-inner{gap:10px}.app.game-mode .game-shell[data-kind=vote] .category{align-self:center}.app.game-mode .game-shell[data-kind=vote] .card-foot{display:none}.app.game-mode .game-shell[data-kind=vote]>div:last-child{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;gap:12px}
.app.game-mode .vote-carousel{width:100%;max-width:1600px;height:100%;min-height:0;margin:0 auto;grid-template-columns:42px minmax(0,1fr) 42px}.app.game-mode .vote-viewport{height:100%;min-height:0}.app.game-mode .c-choices{height:100%;box-sizing:border-box;padding:8px;gap:16px}.app.game-mode .c-vote-person{position:relative;flex:0 0 calc((100% - 64px)/5);height:100%;min-height:0;padding:0;display:block;border-radius:18px;overflow:hidden;background:#110c11;border:1px solid #d3a39d88}.app.game-mode .c-choice-photo{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit}.app.game-mode .c-choice-photo:after{display:block;background:linear-gradient(transparent,#100a10 90%);inset:55% 0 0}.app.game-mode .c-vote-name{position:absolute;bottom:46px;left:8px;right:8px;text-align:center;z-index:2;font:500 25px 'Cormorant Garamond'}.app.game-mode .c-vote-person>.z-badge{position:absolute;bottom:10px;left:0;right:0;justify-content:center;font-size:11px;z-index:2}.app.game-mode .c-vote-person>.z-badge .z-emblem{width:27px;height:27px}.app.game-mode .c-vote-person:disabled{opacity:.4}
.app.game-mode .controls{width:min(1100px,100%);margin:0 auto!important;grid-template-columns:1fr auto 2fr}.app.game-mode .controls>button{font-size:16px;min-height:56px}.app.game-mode .timer{min-height:56px}.app.game-mode #councilHint{display:flex;gap:10px;justify-content:center;margin:0;text-align:center;max-width:none}.role-tab{border:1px solid #b5869555;border-radius:999px;padding:9px 18px;background:#130d13;color:#d8bbc2;font:12px Manrope}.role-tab[aria-pressed=true]{border-color:#ffb2c6;background:#6f344a80;color:#fff}.app.game-mode .game-shell[data-kind=personal]>div:last-child .vote-carousel{height:auto;max-height:22vh}.app.game-mode .game-shell[data-kind=personal] .c-choice{flex:1 0 32%;white-space:normal;min-height:64px;font-size:14px;padding:12px}.app.game-mode .game-shell[data-kind=personal] .vote-arrow{display:none}.app.game-mode .game-shell[data-kind=personal] .vote-carousel{grid-template-columns:1fr}
/* Photographic result rail; evidence remains available in a separate sheet. */
.app.results-mode{padding:18px 4vw}.app.results-mode #protocolBody{grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:10px}.app.results-mode .c-dossier-header{padding:0!important}.app.results-mode .c-dossier-header h2{font:500 50px 'Cormorant Garamond';margin:0!important}.app.results-mode .result-script{font-size:32px!important}.app.results-mode .result-caption,.app.results-mode .c-dossier-header>.c-overline:last-child{display:none}.app.results-mode #peopleGrid .c-person{position:relative;flex:0 0 calc((100% - 56px)/5);display:block;padding:0;border-radius:18px;overflow:hidden;background:#100b10}.app.results-mode #peopleGrid .person-photo-wrap{position:absolute;inset:0;height:100%;}.app.results-mode #peopleGrid .person-photo-wrap .portrait-frame{height:100%}.app.results-mode #peopleGrid .person-heading{inset:12px 12px auto;z-index:3}.app.results-mode #peopleGrid .person-copy{position:absolute;inset:auto 0 0;padding:60px 14px 15px;background:linear-gradient(transparent,#0a080aef 22%);text-align:center}.app.results-mode #peopleGrid .person-sigil .c-icon{width:42px;height:42px;filter:drop-shadow(0 0 13px #f77faa)}.app.results-mode #peopleGrid .c-person h4{font:500 clamp(18px,1.55vw,27px)/1.05 'Cormorant Garamond';margin:10px 0}.app.results-mode #peopleGrid .person-comment{font:13px/1.3 Manrope;margin:0 0 8px}.app.results-mode #peopleGrid .zodiac-flavour,.app.results-mode #peopleGrid .person-metrics{display:none}.app.results-mode #peopleGrid .person-details{padding:0}.app.results-mode #peopleGrid .person-details summary{font:11px Manrope}.app.results-mode #peopleGrid .c-person .tool-btn{font-size:11px;min-height:32px}.app.results-mode .c-promo{display:none}.app.results-mode .c-actions{gap:12px}.app.results-mode .c-actions button{font:600 14px Manrope;min-height:54px}.app.results-mode #nightFacts .fact-cell p{font-size:13px}.app.results-mode .c-verdict{margin:0;font-size:25px}.app.results-mode .result-more{display:none}
#clubModal{background:transparent;padding:3vh 7vw}#clubModal .club-card{width:100%;max-width:1450px;height:94dvh;max-height:94dvh;background:#0b080bda;border:1px solid #c79e9455;box-shadow:none;padding:30px 50px}#clubModal .club-hero{max-width:100%;background:#100b1070}.club-badge-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.club-badge{min-height:170px}.club-badge .c-icon{width:52px;height:52px}.club-badge strong{font-size:23px}.club-badge small{font-size:12px}.club-zodiac-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.club-zodiac{padding:24px}.club-zodiac .z-emblem{width:86px;height:86px}.club-zodiac strong{font-size:25px}.club-zodiac small{font-size:11px}
@media(max-width:760px){
body[data-scene=participants] #setupScreen.menu-config .party-setup{padding:12px;height:100dvh}body[data-scene=participants] #setupScreen.menu-config .setup-card{gap:8px} .production-roster-heading h1{font-size:36px}.production-roster-heading p{font-size:12px}.production-roster-actions{gap:8px;padding:4px}.production-roster-actions #startBtn{min-width:0;width:100%;min-height:49px;font-size:15px}.production-roster-actions #openSettings{min-height:35px;font-size:12px}.production-roster-actions .confirm{font-size:11px}.production-roster-actions #setupError{font-size:11px;margin:0}body[data-scene=participants] .setup-card .roster-carousel{grid-template-columns:24px minmax(0,1fr) 24px;gap:4px}body[data-scene=participants] .setup-card .player-row,body[data-scene=participants] .setup-card .players .add-participant-tile{flex-basis:78%;min-height:190px}.production-person-caption strong{font-size:27px}
#participantEditorFields .editing{grid-template-columns:1fr;gap:12px}#participantEditorFields .photo-editor{grid-column:1;grid-row:1}#participantEditorFields .player-name,#participantEditorFields .z-select-label{grid-column:1}.participant-editor-card .photo-preview{height:210px}.participant-editor-card h3{font-size:28px}.participant-editor-card .photo-status{font-size:10px}.participant-editor-card .player-name{height:45px}.participant-editor-card .photo-tools{gap:6px}.participant-editor-card{padding:16px!important}.participant-editor-card .photo-edit-buttons{margin:0}
body[data-scene] .app.game-mode{padding:12px 10px 14px}.app.game-mode .game-shell{grid-template-rows:34px minmax(0,1fr) auto!important;gap:10px!important}.app.game-mode .game-head{grid-template-columns:1fr 85px;padding-right:48px}.app.game-mode .turn-name{font-size:13px}.app.game-mode .progress-text{font-size:11px}.app.game-mode .card-stage.has-spotlight{grid-template-columns:1fr;grid-template-rows:minmax(130px,.9fr) minmax(0,1fr);gap:10px}.story-spotlight .spotlight-caption{padding:10px;text-align:left;background:linear-gradient(transparent,#0a080be8)}.spotlight-caption strong{font-size:26px}.spotlight-caption .z-badge{position:absolute;right:8px;bottom:8px;font-size:11px}.spotlight-caption .z-emblem{width:30px;height:30px}.app.game-mode .card,.app.game-mode .card-stage.has-spotlight .card{padding:18px;border-radius:18px}.app.game-mode .prompt,.app.game-mode .card-stage.has-spotlight .prompt{font-size:29px;line-height:1.12}.app.game-mode .card-inner{gap:12px}.app.game-mode .category{font-size:9px}.app.game-mode .card-foot{display:none}.app.game-mode .controls{grid-template-columns:65px 85px 1fr;gap:7px}.app.game-mode .controls>button{font-size:12px;min-height:48px}.app.game-mode .timer{min-height:48px;font-size:12px}.app.game-mode .timer button{min-width:24px}.app.game-mode #councilHint{font-size:10px}.app.game-mode .game-shell[data-kind=vote]{grid-template-rows:34px minmax(140px,.5fr) minmax(0,1fr)!important}.app.game-mode .game-shell[data-kind=vote] .card{padding:10px}.app.game-mode .game-shell[data-kind=vote] .prompt{font-size:32px}.app.game-mode .vote-carousel{grid-template-columns:24px minmax(0,1fr) 24px;gap:4px}.app.game-mode .c-choices{gap:12px}.app.game-mode .c-vote-person{flex-basis:80%;height:100%;min-height:180px}.app.game-mode .c-vote-name{font-size:28px}.role-tab{font-size:10px;padding:7px 9px}.app.game-mode .game-shell[data-kind=personal] .c-choices{flex-direction:column;overflow-y:auto;gap:5px}.app.game-mode .game-shell[data-kind=personal] .c-choice{flex:0 0 auto;min-height:42px;font-size:11px;padding:8px}.app.game-mode .game-shell[data-kind=personal] .vote-carousel{max-height:25vh}.app.game-mode .game-shell[data-kind=personal] .card-stage{grid-template-rows:minmax(100px,.65fr) minmax(0,1fr)}
.app.results-mode{padding:12px 8px}.app.results-mode .c-dossier-header h2{font-size:34px}.app.results-mode .result-script{font-size:24px!important}.app.results-mode .c-dossier-header{padding-right:20px!important}.app.results-mode .result-carousel{grid-template-columns:20px minmax(0,1fr) 20px;gap:4px}.app.results-mode #peopleGrid .c-person{flex-basis:88%}.app.results-mode #peopleGrid .person-copy{padding:40px 12px 9px}.app.results-mode #peopleGrid .c-person h4{font-size:23px;margin:5px 0}.app.results-mode #peopleGrid .person-comment{font-size:11px}.app.results-mode #peopleGrid .person-sigil .c-icon{width:31px;height:31px}.app.results-mode #peopleGrid .person-heading h3{font-size:24px}.app.results-mode .c-facts{padding:8px}.app.results-mode .c-facts h3{font-size:18px}.app.results-mode #nightFacts .fact-cell{padding:3px;gap:4px}.app.results-mode #nightFacts .fact-cell p{font-size:9px}.app.results-mode #nightFacts .fact-symbol{width:22px;height:22px}.app.results-mode #nightFacts .fact-symbol .c-icon{width:16px;height:16px}.app.results-mode .c-verdict{font-size:18px;padding:8px}.app.results-mode .c-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.app.results-mode .c-actions button{font-size:10px;min-height:39px;padding:6px}.app.results-mode #resultsPremium{grid-column:1/-1}.app.results-mode #protocolBody{gap:7px}.app.results-mode .c-bride-balloons{display:none!important}
#clubModal{padding:0}#clubModal .club-card{height:100dvh;max-height:100dvh;border-radius:0;padding:18px 12px}.club-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.club-badge{min-height:135px}.club-badge strong{font-size:16px}.club-badge small{font-size:10px}.club-zodiac-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.club-zodiac{padding:15px 5px}.club-zodiac .z-emblem{width:56px;height:56px}.club-zodiac strong{font-size:20px}.club-zodiac small{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.player-row.is-selected,.c-choice[aria-pressed=true]{animation:none}}
.app.game-mode .story-spotlight{width:100%;min-width:0;box-sizing:border-box;justify-self:stretch;margin:0}.app.game-mode .story-spotlight .spotlight-portrait{width:100%;aspect-ratio:auto;min-width:0;box-sizing:border-box}.app.game-mode .category{background:none!important;border:0!important;align-self:flex-start}.app.game-mode .prompt{font-size:clamp(30px,3.2vw,62px)!important;line-height:1.13!important}.app.game-mode .success{background:linear-gradient(120deg,#f5bdc9,#e997ae)!important;color:#2c1720;border-radius:999px}.app.game-mode .turn-name{font-size:20px!important}
@media(max-width:760px){.app.game-mode .card-stage.has-spotlight .card,.app.game-mode .story-spotlight{grid-column:1!important}.app.game-mode .prompt{font-size:29px!important}.app.game-mode .turn-name{font-size:13px!important}}
#confetti{display:none}.app.game-mode .game-shell{backdrop-filter:none}.app.game-mode #councilChoices[data-count="3"],.app.game-mode #councilChoices[data-count="2"],.app.game-mode #councilChoices[data-count="1"]{justify-content:center}
body[data-scene=personal] .app.game-mode .card-stage.has-spotlight{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body[data-scene=personal] .app.game-mode .card{border:0;border-left:1px solid #e8b7bca0;border-radius:0;background:linear-gradient(90deg,#160d15da,#100b1070)!important}
@media(max-width:760px){.app.game-mode #councilChoices{justify-content:flex-start!important}body[data-scene=personal] .app.game-mode .card-stage.has-spotlight{grid-template-columns:1fr}body[data-scene=personal] .app.game-mode .card{border:1px solid #e8b7bc60;border-radius:16px}}
.app.game-mode .game-head .progress-wrap{grid-column:2;grid-row:1;align-self:center;width:100%;margin:0}.app.game-mode .game-head>div:first-child{grid-column:1;grid-row:1}.app.game-mode .controls>.timer{grid-row:auto;grid-column:auto;justify-self:stretch;width:auto}.app.game-mode .controls>#doneBtn{grid-column:3;grid-row:1}.app.game-mode .controls>#passBtn{grid-column:1;grid-row:1}
.production-profile-select{display:flex;align-items:center;gap:14px;margin:10px 0 25px}.production-profile-select label{color:#e6bdc8;white-space:nowrap}.production-profile-select select{max-width:320px}.club-person-avatar{width:130px;height:160px;border:1px solid #efb2c0;border-radius:20px;overflow:hidden}.club-person-avatar .portrait-frame{width:100%;height:100%;min-height:0}.club-person-awards{display:flex;gap:12px;flex-wrap:wrap}.club-person-awards .club-badge{width:180px;box-sizing:border-box}.club-person-history{display:grid;gap:8px}.club-person-history article{padding:16px;border:1px solid #dcaab34a;border-radius:12px;background:#100c12a8}.club-person-history strong{font:25px 'Cormorant Garamond';display:block}.club-person-history p{font-size:13px;color:#d6b9c3;margin:7px 0}.club-person-history small{color:#ac929d;font-size:11px}
@keyframes scene-breathe{from{transform:scale(1)}to{transform:scale(1.015)}}#sceneBackdrop{animation:scene-breathe 28s ease-in-out infinite alternate;transform-origin:center}
@keyframes edge-spark{0%,100%{top:12%;right:0;opacity:0}20%{opacity:.8}50%{top:85%;right:0;opacity:.3}80%{opacity:.7}}
.player-row.is-selected:after,.c-vote-person[aria-pressed=true]:after{animation:edge-spark 6s ease-in-out infinite}
@keyframes poster-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.results-mode .c-person{animation:poster-arrive .8s ease both}.results-mode .c-person:nth-child(2){animation-delay:.08s}.results-mode .c-person:nth-child(3){animation-delay:.16s}.results-mode .c-person:nth-child(4){animation-delay:.24s}.results-mode .c-person:nth-child(5){animation-delay:.32s}
#sceneLoading{position:fixed;z-index:80;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid #e5a6b977;border-radius:30px;background:#130c13f2;color:#f7c8d5;font:12px Manrope;box-shadow:0 0 28px #dc81a336}
@media(max-width:760px){.app.game-mode .game-head{height:34px;min-height:0}.app.game-mode .game-head .progress-wrap{height:auto}.app.game-mode .controls>.timer{width:85px}.app.game-mode .controls>#doneBtn{font-size:12px}.production-profile-select{flex-direction:column;align-items:stretch;gap:7px}.club-person-avatar{width:100px;height:125px}.club-person-awards .club-badge{width:calc(50% - 6px)}.club-hero p{font-size:12px}.app.game-mode .game-shell[data-kind=personal] .card-stage{grid-template-rows:minmax(100px,1fr) minmax(0,1.1fr)}}
@media(prefers-reduced-motion:reduce){#sceneBackdrop,.player-row.is-selected:after,.c-vote-person[aria-pressed=true]:after,.results-mode .c-person{animation:none}}
.bg-orb,.sparkles{display:none!important}body[data-scene=participants] .setup-card{backdrop-filter:none!important}.app.results-mode #protocolBody[data-count="1"] #peopleGrid,.app.results-mode #protocolBody[data-count="2"] #peopleGrid,.app.results-mode #protocolBody[data-count="3"] #peopleGrid,.app.results-mode #protocolBody[data-count="4"] #peopleGrid{justify-content:center}.roster-arrow:disabled,.vote-arrow:disabled,.result-arrow:disabled{opacity:.22;cursor:default}
@media(max-width:760px){.app.results-mode #peopleGrid{justify-content:flex-start!important}.app.game-mode .card-stage.has-spotlight .card-inner{gap:10px}}
.app.results-mode .result-arrow:not(:disabled){opacity:1!important}
@media(max-width:760px){.app.game-mode .game-shell[data-kind=personal] #councilHint{display:none}.app.game-mode .game-shell[data-kind=personal] .vote-carousel{height:auto;max-height:none;margin-bottom:8px}.app.game-mode .game-shell[data-kind=personal] .c-choices{display:grid;grid-template-columns:1fr;overflow:visible;height:auto;gap:4px;padding:0}.app.game-mode .game-shell[data-kind=personal] .c-choice{min-height:40px;padding:7px 10px;line-height:1.25;font-size:12px!important}.app.game-mode .game-shell[data-kind=personal] .card-stage{grid-template-rows:minmax(90px,.7fr) minmax(0,1fr)}}
@media(max-width:760px) and (max-height:680px){.app.game-mode .game-shell[data-kind=personal] .card-stage{grid-template-rows:82px minmax(0,1fr);gap:6px}.app.game-mode .game-shell[data-kind=personal] .card{padding:12px}.app.game-mode .game-shell[data-kind=personal] .category{font-size:8px}.app.game-mode .game-shell[data-kind=personal] .spotlight-caption{padding:7px}.app.game-mode .game-shell[data-kind=personal] .spotlight-caption strong{font-size:20px}.app.game-mode .game-shell[data-kind=personal] .controls>button,.app.game-mode .game-shell[data-kind=personal] .timer{min-height:42px}.app.game-mode .game-shell[data-kind=personal]{gap:6px!important}}
/* Keep voting a single horizontal rail at every viewport. */
.app.game-mode .game-shell[data-kind=vote] .c-choices{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;align-items:stretch;scroll-snap-type:x proximity}.app.game-mode .c-vote-person{scroll-snap-align:start}.app.game-mode .prompt{padding-bottom:5px;box-sizing:border-box}
.app.game-mode .c-vote-person .c-vote-name{color:#fff1e9;text-shadow:0 2px 12px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app.game-mode .c-vote-person>.z-badge{color:#f2c4d0}.app.game-mode .c-choice-photo:after{z-index:1;pointer-events:none}
@media(max-width:760px){.app.game-mode .game-shell[data-kind=personal]>div:last-child .vote-carousel{max-height:none;height:auto;margin:0 0 10px}.app.game-mode .game-shell[data-kind=personal]>div:last-child{min-height:0}.app.game-mode .game-shell[data-kind=personal] .vote-viewport{height:auto}}
.app.game-mode .c-vote-person>.z-badge{display:flex!important}
/* Final product polish: champagne contour, readable TV captions, personal files. */
@keyframes rose-border{0%,100%{border-color:#dca6b3;box-shadow:0 0 0 1px #dca6b360,0 0 20px #c9709030}24%{border-color:#f3dfb9;box-shadow:0 0 0 1px #f3dfb988,0 0 23px #e9c58c40}48%{border-color:#d6a391;box-shadow:0 0 0 1px #d6a39188,0 0 22px #d6a39140}72%{border-color:#ec94b1;box-shadow:0 0 0 1px #ec94b188,0 0 23px #dc749c38}88%{border-color:#cf97bf;box-shadow:0 0 0 1px #cf97bf77,0 0 20px #cf97bf30}}
.player-row.is-selected,.c-choice[aria-pressed=true]{animation:rose-border 9s ease-in-out infinite;border-width:2px!important}
@keyframes scene-enter{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.screen.active,.modal.open .modal-card{animation:scene-enter .32s ease-out}.primary,.secondary,.c-choice,.mode-card,.club-tabs button{transition:box-shadow .25s,background .25s,filter .25s}.primary:hover{filter:brightness(1.08);box-shadow:0 0 28px #e4a2b53b}.primary:active{filter:brightness(.94)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #f2d3ac;outline-offset:4px}
#gameModeLabel{display:block;font:600 11px Manrope;letter-spacing:.13em;text-transform:uppercase;color:#dba3b5;margin-bottom:5px}.app.game-mode .game-head>div:first-child{height:auto!important}
.birthday-field{display:none}#participantEditorFields .birthday-field{display:flex;flex-direction:column;grid-column:2;gap:8px;font-size:13px;color:#d7b5be}#participantEditorFields .photo-editor{grid-row:1/4}#participantEditorFields .player-name{grid-row:1}#participantEditorFields .birthday-field{grid-row:2}#participantEditorFields .z-select-label{grid-row:3}.player-birthday{color-scheme:dark;font-family:Manrope}.participant-editor-card .photo-preview{height:340px}
.friend-files{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.friend-file{padding:0;border:1px solid #c69e9277;border-radius:18px;background:#100b11;overflow:hidden;color:#f5e0df;text-align:left}.friend-file>.portrait-frame{width:100%;height:220px;min-height:0}.friend-file-copy{display:grid;gap:8px;padding:15px}.friend-file-copy strong{font:30px 'Cormorant Garamond';white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-file-copy .z-badge{padding:0;background:none;border:0;font-size:12px}.friend-file-copy .z-emblem{width:28px;height:28px}.friend-file-copy small,.friend-file-copy>span:last-child{font-size:12px;color:#d3adb8}.friend-file:hover{border-color:#edb4c3;box-shadow:0 0 22px #d9829f30}
.club-person-history{grid-template-columns:repeat(2,minmax(0,1fr))}.club-person-avatar{width:180px;height:220px;box-shadow:0 0 35px #ce829322}.club-person-awards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.club-person-awards .club-badge{width:auto!important}.club-person-awards .club-badge small{color:#d0b4bf}.club-badge.is-locked{background:linear-gradient(145deg,#22131c99,#100c12c9);border-style:dashed}.club-badge.is-open{background:radial-gradient(ellipse at top,#5e2b3f66,#100c12dd 70%);box-shadow:inset 0 0 20px #f6becc09}.club-badge.is-open .c-icon{filter:drop-shadow(0 0 14px #e995b088)}
@media(min-width:1500px){.app.game-mode .category{font-size:18px}.app.game-mode .card-foot,.app.game-mode #councilHint{font-size:17px}.app.game-mode .controls>button{font-size:21px;min-height:64px}.app.game-mode .timer{font-size:20px;min-height:64px}.app.game-mode .c-vote-name{font-size:34px}.app.game-mode .c-vote-person>.z-badge{font-size:15px}.app.results-mode #peopleGrid .person-comment{font-size:17px;line-height:1.35}.app.results-mode #peopleGrid .person-details summary,.app.results-mode #peopleGrid .c-person .tool-btn{font-size:14px}.app.results-mode #nightFacts .fact-cell p{font-size:16px}.app.results-mode .c-actions button{font-size:18px}.app.results-mode #peopleGrid .c-person h4{font-size:30px}.production-edit{font-size:16px;padding:7px 20px}.production-person-caption{bottom:50px}.production-person-caption .z-badge{font-size:16px}.club-person-history p{font-size:16px}.club-person-history small{font-size:14px}.club-badge small{font-size:15px}#gameModeLabel{font-size:14px}}
@media(max-width:760px){#gameModeLabel{font-size:8px;margin-bottom:2px}.app.game-mode .turn-name{font-size:11px!important}#participantEditorFields .photo-editor{grid-row:1}#participantEditorFields .player-name{grid-row:2}#participantEditorFields .birthday-field{grid-row:3;grid-column:1}#participantEditorFields .z-select-label{grid-row:4}.participant-editor-card .photo-preview{height:200px}.friend-files{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.friend-file>.portrait-frame{height:165px}.friend-file-copy{padding:10px}.friend-file-copy strong{font-size:25px}.friend-file-copy .z-badge{font-size:10px}.friend-file-copy small{font-size:10px}.friend-file-copy .z-emblem{width:22px;height:22px}.club-person-history{grid-template-columns:1fr}.club-person-awards{grid-template-columns:repeat(2,minmax(0,1fr))}.club-person-avatar{width:100px;height:135px}.club-tabs{overflow-x:auto;flex-wrap:nowrap}.club-tabs button{flex:0 0 auto;white-space:nowrap}.club-hero{gap:14px}.club-hero h4{font-size:32px}}
@media(prefers-reduced-motion:reduce){.screen.active,.modal.open .modal-card,.player-row.is-selected,.c-choice[aria-pressed=true]{animation:none}}
.app.results-mode #peopleGrid .c-person h4{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}.app.results-mode #peopleGrid .person-heading h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#clubModal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#clubModal .club-card{background:linear-gradient(120deg,#0c080bdc,#100b11b8);border-color:#d4aca466}#clubModal .club-hero{display:grid;grid-template-columns:180px minmax(200px,1fr) minmax(250px,.8fr);gap:30px;align-items:center;padding:22px;background:linear-gradient(120deg,#1b111bd9,#100c1299)}#clubModal .club-xp{grid-column:auto;width:auto}#clubModal .club-hero p{font-size:17px}#clubModal .club-tabs button{font-size:16px}#clubModal .club-xp span{font-size:13px}#clubModal .club-xp b{font-size:28px}
#posterModal .modal-card{max-height:94dvh;overflow:auto}#posterPreview{max-height:65dvh!important;width:auto!important;max-width:100%;object-fit:contain;display:block;margin:0 auto 16px}#posterModal .modal-head{position:sticky;top:0;background:#100d11;z-index:2}
@media(max-width:760px){#clubModal{padding:10px}#clubModal .club-card{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:18px 14px}#clubModal .club-hero{grid-template-columns:100px minmax(0,1fr);gap:14px;padding:14px}#clubModal .club-xp{grid-column:1/-1}#clubModal .club-hero p{font-size:12px}#clubModal .club-tabs button{font-size:12px}#clubModal .club-xp b{font-size:20px}#clubModal .club-xp span{font-size:11px}.club-person-history article{padding:12px}#posterPreview{max-height:52dvh!important}}
body[data-scene=profile]>.app,body[data-scene=achievements]>.app,body[data-scene=zodiac]>.app{visibility:hidden}.cover-brand-name{font:500 38px/1.1 'Cormorant Garamond';letter-spacing:.11em;text-transform:uppercase;color:#e9bdc5;margin-bottom:16px}.app.cover-mode .menu-landing:before{display:none}.cover-topline{min-height:clamp(85px,16vh,160px)}
@media(max-width:760px){.cover-brand-name{font-size:25px;margin-bottom:10px}.cover-topline{min-height:80px}}
@media(max-width:760px) and (max-height:680px){.cover-brand-name{font-size:20px;margin-bottom:7px}.cover-topline{min-height:52px}.cover-heart{width:52px}.cover-hero h1{font-size:42px}.cover-kicker{font-size:8px}.cover-description{font-size:12px}.cover-facts{margin-top:10px}.cover-microcopy{display:none}}
.app.game-mode .game-head{position:relative}.scene-exit{position:absolute;right:0;top:0;display:grid!important;place-items:center;width:36px;height:36px;border:1px solid #c698a25c;border-radius:50%;color:#e6c3ca;background:#100b1188;font:24px Manrope;cursor:pointer}.scene-exit:hover{border-color:#edb2c4}

.rare-award{color:#e7bc91;font-size:12px;line-height:1.4}.friend-delete{margin-top:16px;color:#d5b6bf}.friend-trash{margin-top:24px;padding:18px;border:1px solid #76525c;border-radius:18px}.friend-trash summary{cursor:pointer;margin-bottom:12px}.friend-trash button{margin:8px}.club-badge.is-open{animation:awardUnseal .7s ease both}@keyframes awardUnseal{from{opacity:.4;transform:translateY(9px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.club-badge.is-open{animation:none}}

.member-attendance{float:right;margin-bottom:12px}.production-profile-select{clear:both}@media(max-width:760px){.member-attendance{float:none;width:100%;margin-bottom:14px}}
.app.game-mode .game-head{padding-right:108px}.app.game-mode .scene-exit{right:58px;min-height:34px!important;height:34px!important;width:34px;font-size:22px}

.club-hero h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-break:normal}.cover-music{font-size:22px!important;line-height:1!important}

/* Results: the portrait and award are separate, non-overlapping zones. */
.app.results-mode #peopleGrid .c-person{display:grid;grid-template-rows:52px minmax(0,1fr) minmax(0,1fr);height:100%;background:linear-gradient(145deg,#171015,#080708);}
.app.results-mode #peopleGrid .person-heading{position:relative;inset:auto;padding:7px 12px;align-items:center;min-width:0;background:#100c10;z-index:1;}
.app.results-mode #peopleGrid .person-heading>div:first-child{min-width:0;flex:1}.app.results-mode #peopleGrid .person-heading h3{max-width:100%;font-size:27px;line-height:1.05}
.app.results-mode #peopleGrid .person-heading>div:last-child:not(:first-child){display:flex;align-items:center;gap:5px;flex-shrink:0}.app.results-mode #peopleGrid .person-heading .z-emblem{width:28px;height:28px}.app.results-mode #peopleGrid .person-heading small{font:10px Manrope;margin:0}
.app.results-mode #peopleGrid .person-photo-wrap{position:relative;inset:auto;height:100%;min-height:0;overflow:hidden;background:#181216;}
.app.results-mode #peopleGrid .person-photo-wrap .portrait-frame{height:100%;aspect-ratio:auto;min-height:0;}
.app.results-mode #peopleGrid .person-photo-wrap .portrait-frame:after{display:none!important}.app.results-mode #peopleGrid .person-photo-wrap .portrait-image{filter:none!important;}
.app.results-mode #peopleGrid .person-copy{position:relative;inset:auto;margin:0;padding:10px 13px 12px;background:linear-gradient(150deg,#1b1218,#090709);display:flex;flex-direction:column;align-items:stretch;overflow:hidden;border-top:1px solid #be958459;}
.app.results-mode #peopleGrid .person-sigil .c-icon{width:32px;height:32px;filter:drop-shadow(0 0 8px #d394ac55)}
.app.results-mode #peopleGrid .c-person h4{font-size:clamp(20px,1.4vw,27px);line-height:1.06;margin:7px 0;}
.app.results-mode #peopleGrid .person-comment{font-size:clamp(12px,.85vw,16px);line-height:1.3;margin:0 0 8px;}
.app.results-mode #peopleGrid .person-details{margin-top:auto;padding-top:7px}.app.results-mode #peopleGrid .person-details summary{font-size:12px;line-height:1.25}.app.results-mode #peopleGrid .tool-btn{min-height:32px;font-size:12px;margin-top:6px;}
.app.results-mode .c-actions button{min-height:44px;font-size:15px}.app.results-mode #protocolBody{gap:8px}.app.results-mode .c-dossier-header h2{font-size:45px}.app.results-mode .result-script{font-size:27px!important}.app.results-mode .c-facts{padding:8px 12px}.app.results-mode #nightFacts .fact-cell p{font-size:14px}.app.results-mode .c-verdict{font-size:22px;padding:8px 14px}
@media(max-width:760px){
html.result-mode-open,html.result-mode-open body,body.result-mode-open{height:auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:auto}
.app.results-mode{height:auto;min-height:100dvh;overflow:visible;padding:12px 8px 18px}.app.results-mode main,.app.results-mode #endScreen.active,.app.results-mode .c-dossier,.app.results-mode #protocolBody{height:auto;overflow:visible}
.app.results-mode #protocolBody{grid-template-rows:auto 590px auto auto auto;gap:10px}.app.results-mode .result-carousel{height:590px;min-height:0}
.app.results-mode #peopleGrid .c-person{flex-basis:92%;grid-template-rows:46px minmax(0,1fr) minmax(0,1fr)}
.app.results-mode #peopleGrid .person-heading h3{font-size:26px}.app.results-mode #peopleGrid .person-heading .z-emblem{width:26px;height:26px}.app.results-mode #peopleGrid .person-heading small{font-size:9px}
.app.results-mode #peopleGrid .person-copy{padding:12px}.app.results-mode #peopleGrid .c-person h4{font-size:24px;margin:9px 0}.app.results-mode #peopleGrid .person-comment{font-size:13px;line-height:1.35}
.app.results-mode #peopleGrid .person-details summary{font-size:12px}.app.results-mode #peopleGrid .tool-btn{font-size:12px;min-height:35px}
.app.results-mode .c-dossier-header h2{font-size:32px}.app.results-mode .result-script{font-size:24px!important}.app.results-mode #nightFacts .fact-cell p{font-size:10px}.app.results-mode .c-verdict{font-size:18px}.app.results-mode .c-actions button{font-size:12px;min-height:44px}
}
@media(max-width:350px){.app.results-mode #protocolBody{grid-template-rows:auto 550px auto auto auto}.app.results-mode .result-carousel{height:550px}.app.results-mode #peopleGrid .c-person h4{font-size:22px}.app.results-mode #peopleGrid .person-comment{font-size:12px}}
.app.results-mode #peopleGrid .person-sigil{margin:0 auto 3px;position:relative;inset:auto;flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center}
.app.results-mode #peopleGrid .person-sigil .c-icon{width:30px;height:30px}
.result-pager{display:none}
@media(max-width:760px){.result-pager{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px 0 3px}.result-pager button{width:22px;height:22px;min-height:22px;padding:0;border:0;border-radius:50%;background:none;display:grid;place-items:center}.result-pager button:before{content:'';width:6px;height:6px;border-radius:50%;background:#ad8a9166}.result-pager button[aria-current=true]:before{background:#edbac7;box-shadow:0 0 6px #dba2b955}.result-pager span{font:10px Manrope;color:#e0bcc7;margin-left:4px}.app.results-mode .c-dossier-header{overflow:visible}}

@media(max-width:760px){.app.results-mode #protocolBody{grid-template-rows:auto 640px auto auto auto}.app.results-mode .result-carousel{height:640px}.result-pager[data-count="15"]{gap:3px}.result-pager[data-count="15"] button{width:12px}.app.results-mode .c-dossier-header>span.c-overline{display:none}}
/* Local profile editor: the form scrolls, its actions stay reachable. */
#participantEditor{padding:18px;overscroll-behavior:contain}.participant-editor-card{display:flex;flex-direction:column;max-height:calc(100dvh - 36px);overflow:hidden!important}.participant-editor-card .modal-head{flex:none}.editor-subtitle{color:#d4b8c0;font-size:13px;margin:0 0 18px}.editor-scroll{overflow:auto;min-height:0;padding:3px 3px 16px;overscroll-behavior:contain}.editor-actions{display:grid;grid-template-columns:1fr 2fr;gap:12px;flex:none;padding-top:14px;border-top:1px solid #b6887938;background:#130d10}.editor-actions button{min-height:48px}.birthday-help{font-size:11px;line-height:1.5;color:#c99baa}.participant-editor-card select:disabled{opacity:1;color:#edc3cf;-webkit-text-fill-color:#edc3cf}.member-edit{margin-bottom:12px}.music-speaker{width:26px;height:26px;color:#ebc5cb;filter:drop-shadow(0 0 4px #eec9a73a);transition:color .4s,filter .4s}button[data-audio-state=playing] .music-speaker{color:#ffe7ce;filter:drop-shadow(0 0 6px #ecc1a55c)}#gameProfiles{white-space:nowrap}
@media(max-width:760px){#participantEditor{padding:8px}.participant-editor-card{max-height:calc(100dvh - 16px);width:100%!important;box-sizing:border-box}.participant-editor-card h3{font-size:27px;margin:0}.editor-subtitle{font-size:11px;margin-bottom:12px}.editor-actions{gap:8px;padding-top:10px}.editor-actions button{font-size:12px;padding:10px}.participant-editor-card .photo-preview{height:240px;aspect-ratio:4/5;width:192px;margin:auto}.editor-scroll{scroll-padding-bottom:20px}.member-edit{font-size:12px}#gameProfiles{font-size:10px}}

/* The user's champagne / velvet art direction, layered over the tested scene layouts. */
:root{--ss-cream:#fff1e4;--ss-pink:#e5a7b4;--ss-gold:#e5c8a9;--ss-glass:#170c0fd9;--ss-border:#dec0a45c;--cream:var(--ss-cream);--pink:var(--ss-pink);--muted:#cfb6ac;--line:var(--ss-border)}
body{color:var(--ss-cream)}#sceneBackdrop:after{background:linear-gradient(90deg,#15070808,#0c040718 50%,#15070808)}
.cover-heart{width:clamp(90px,10vw,172px);height:clamp(100px,11vw,188px);background:var(--luxury-heart) center/contain no-repeat;filter:drop-shadow(0 0 16px #c9957233)}.cover-heart svg{display:none}
.app.cover-mode .menu-landing{padding:28px 5vw 18px;display:flex;flex-direction:column;justify-content:center;gap:6px;height:100dvh;box-sizing:border-box;overflow:hidden}
.cover-topline{min-height:175px;position:relative;align-items:flex-start;margin:0}.cover-quote{font-family:'Marck Script';font-size:clamp(21px,1.8vw,33px);line-height:1.35;color:#f0b8c5;text-shadow:0 2px 15px #20040b;max-width:31%;margin-top:10px}.cover-quote-left{transform:rotate(-5deg)}.cover-quote-right{transform:rotate(4deg)}
.cover-brand-name{font-size:36px;letter-spacing:.17em;margin:0 auto 14px;max-width:520px;border-bottom:1px solid #e7c6a377;padding-bottom:12px;color:#f2ded1}.cover-kicker{color:#f1d8c7;letter-spacing:.25em;font-size:12px}.cover-hero h1{font:400 clamp(78px,7.8vw,150px)/.94 'Cormorant Garamond';letter-spacing:-.035em;margin:30px auto 24px;max-width:1300px;color:#fff0e5;text-shadow:0 1px 0 #d09b86,0 0 24px #c0816350}.cover-description{font-size:clamp(17px,1.3vw,25px);line-height:1.4;max-width:1100px;margin:0 auto 24px;color:#ffeddf}
.menu-start{position:relative;width:min(670px,75vw);min-height:100px;background:linear-gradient(125deg,#f3bdc4,#cf8397 52%,#ebb5be)!important;border:1px solid #ffdfc3!important;border-radius:27px!important;box-shadow:inset 0 0 0 3px #ffe0c332,inset 0 0 20px #ffe6d25c,0 0 24px #ec929944,0 10px 35px #08040677!important;color:#371019!important;padding:18px 72px 18px 32px}.menu-start-label{font:500 38px/1.04 'Cormorant Garamond';letter-spacing:.03em;max-width:460px;text-transform:uppercase}.menu-arrow{position:absolute;right:26px;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid #662c3988;border-radius:50%;display:grid;place-items:center;font:30px 'Cormorant Garamond'}.cover-microcopy{font-size:14px;margin:11px 0 17px;color:#e8c5b9}.cover-facts{gap:12px;margin:0}.cover-facts span{font-size:14px;padding:9px 22px;background:#14090bb5;border:1px solid #e2b69c99}.cover-bottom{margin-top:12px;font-size:11px;color:#d3b7b0}.cover-sky{display:none!important}
.primary,.app.game-mode .success{background:linear-gradient(125deg,#ecc0c5,#d897a7 65%,#dba996)!important;color:#30121c!important;border:1px solid #e8c1af!important;box-shadow:inset 0 1px 0 #fff1da77,0 3px 20px #9e536f25}.secondary,.tool-btn{border-color:#dfb59959;color:#f1d8cf;background:#170b0fc7}.modal-card{background:linear-gradient(135deg,#2b141ce8,#0b0809ed)!important;border:1px solid #dcbda469!important;box-shadow:0 22px 65px #05030499}.modal-head h3,.club-card h3{font-family:'Cormorant Garamond';font-weight:400;text-transform:uppercase;letter-spacing:.03em}.text-input,.select,select,input[type=date]{background:#140b0ee3;color:#f7e2d8;border:1px solid #c8a18a66;border-radius:12px;padding:12px;color-scheme:dark}.text-input:focus,.select:focus{border-color:#ecc5a2;box-shadow:0 0 14px #dbaa7e22}
.mode-heading h1{font-weight:400;font-size:clamp(46px,4.7vw,90px);color:#fff1e4}.mode-card{border:1px solid #d4b08b80!important;border-radius:22px;background-color:#12090b!important;box-shadow:0 18px 48px #09040566}.mode-card strong{font-weight:400;color:#fff0e2}.mode-card i{display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #f0ccba88;border-radius:999px;padding:10px 18px;background:#c28c9990;color:#fff0df!important;font:600 13px Manrope!important;margin-top:14px;width:fit-content}.mode-card:hover{border-color:#f5d5b2!important;box-shadow:0 0 24px #dca39333;transform:translateY(-4px)}.mode-card .mode-icon{filter:drop-shadow(0 0 8px #cf947366)}
.production-roster-heading h1{font-weight:400;letter-spacing:.01em}.player-row,.c-vote-person,.c-person{border-color:#d5b49c80!important;box-shadow:0 14px 38px #05020555}.production-person-caption strong,.c-vote-name{color:#fff0e3!important}.z-emblem{color:#efc5c2;filter:drop-shadow(0 0 6px #dea29355)}.c-icon{color:#ecc5c0}.player-row.is-selected,.c-choice[aria-pressed=true]{border-width:1px!important;animation:rose-border 11s ease-in-out infinite}.participant-editor-card .photo-preview{border:1px solid #d5b7998c;background:#130d10;box-shadow:inset 0 0 35px #c0957c18}.photo-placeholder{background:radial-gradient(ellipse at center,#4e2a3033,#140d11 70%)}.photo-placeholder small{color:#e5c9b4}
.app.game-mode .card,.story-spotlight{border-color:#caa18470!important;background:#130c10d9!important;border-radius:22px}.app.game-mode .category{color:#e5b2af!important}.app.game-mode .prompt{color:#fff0e4!important;text-shadow:0 2px 16px #06030466}.app.game-mode .card-foot{color:#ceb7ad}.app.game-mode .turn-name{color:#edc4c4!important}.app.game-mode #gameModeLabel{color:#cda792}.app.game-mode .role-tab{border-color:#e0b69d66}.app.results-mode .c-person{background:#130b0e}.app.results-mode #peopleGrid .person-heading{background:#190d11}.app.results-mode #peopleGrid .person-copy{background:linear-gradient(150deg,#26121b,#0c0809);border-top-color:#cba98c66}.app.results-mode #peopleGrid h4{color:#efc9b8}.app.results-mode #peopleGrid .person-comment{color:#f0dacf}.app.results-mode .c-facts,.app.results-mode .c-verdict{background:#170c10d9;border-color:#cfaf8c69}.app.results-mode #peopleGrid .portrait-image{filter:none!important}
#clubModal .club-card{background:linear-gradient(110deg,#160b10ef,#10090ce0);border-color:#d5b29388}.club-card>.modal-head h3{font-size:clamp(34px,3.5vw,64px);color:#fff0e2}.club-tabs{border-bottom:1px solid #d5b29344;padding-bottom:15px}.club-tabs button{border:0!important;background:none;color:#d6b7ad;border-radius:0;font-weight:400}.club-tabs button[aria-current]{color:#ffe2c7;box-shadow:inset 0 -1px 0 #e2b49a;background:#b8778622}.club-badge{border-color:#c29d8055;border-radius:18px;background:#160c10bd}.club-badge.is-open{background:radial-gradient(ellipse at top,#7b354344,#170b12dd 75%);border-color:#dcb39180}.club-badge .c-icon{width:48px;height:48px;filter:drop-shadow(0 0 12px #e0ab9166)}.club-badge strong{font-weight:400;font-family:'Cormorant Garamond';font-size:25px;line-height:1.06}.club-badge.is-locked{border-style:solid;opacity:.6}.club-zodiac{border-color:#c7a58b66;background:#140a0fd9;border-radius:22px}.club-zodiac .z-emblem{width:66px;height:66px;filter:drop-shadow(0 0 12px #c59a8655)}.club-zodiac.is-open{box-shadow:inset 0 0 24px #cba78712,0 0 18px #ba8c7822}.club-person-history article{background:#160b0fb8;border-color:#c4a08455}.club-person-avatar{border-color:#e1bca188;border-radius:20px}.club-person-avatar .portrait-frame:after{display:none}.club-hero p{color:#dfc4b8}.friend-file{background:#170c11;border-color:#d4b49977}.friend-file .portrait-frame:after{background:linear-gradient(transparent 70%,#1a0d12)}
@media(max-height:800px) and (min-width:761px){.app.cover-mode .menu-landing{padding:16px 5vw 10px}.cover-topline{min-height:105px}.cover-heart{width:94px;height:105px}.cover-brand-name{font-size:27px;padding-bottom:7px;margin-bottom:8px}.cover-hero h1{font-size:clamp(68px,7vw,100px);margin:18px auto}.cover-description{font-size:18px;margin-bottom:16px}.menu-start{min-height:76px;width:510px}.menu-start-label{font-size:30px}.cover-microcopy{margin:8px 0 12px;font-size:12px}.cover-facts span{font-size:12px;padding:7px 15px}.cover-bottom{margin-top:9px;font-size:10px}.cover-quote{font-size:23px}}
@media(max-width:760px){.app.cover-mode .menu-landing{padding:16px 17px 12px;gap:0;justify-content:center}.cover-topline{min-height:110px}.cover-heart{width:104px;height:114px}.cover-quote{font-size:13px;line-height:1.3;max-width:27%;margin-top:8px}.cover-brand-name{font-size:23px;letter-spacing:.13em;margin:0 0 12px;padding-bottom:8px}.cover-kicker{font-size:8px;letter-spacing:.15em}.cover-hero h1{font-size:clamp(49px,13.5vw,64px);line-height:.99;margin:23px auto 18px}.cover-description{font-size:14px;line-height:1.5;margin-bottom:22px}.desktop-break{display:none}.menu-start{width:100%;min-height:83px;border-radius:20px!important;padding:17px 51px 17px 18px}.menu-start-label{font-size:28px;line-height:1.06}.menu-arrow{width:30px;height:30px;right:15px;font-size:23px}.cover-microcopy{font-size:10px;line-height:1.4;margin:11px 0 16px}.cover-facts{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.cover-facts span{font-size:10px;padding:7px 11px}.cover-bottom{margin-top:20px;gap:10px;flex-wrap:wrap}.cover-bottom p{font-size:9px;line-height:1.35;width:100%}.mode-heading h1{font-size:36px}.mode-card{border-radius:17px}.mode-card i{padding:8px 10px;font-size:10px!important}.club-card>.modal-head h3{font-size:32px}.club-badge strong{font-size:21px}.club-badge .c-icon{width:36px;height:36px}.club-tabs button{font-size:12px}.club-zodiac .z-emblem{width:48px;height:48px}.app.game-mode .card{border-radius:17px}}
@media(max-width:760px) and (max-height:680px){.app.cover-mode .menu-landing{padding:8px 16px}.cover-topline{min-height:74px}.cover-heart{width:68px;height:75px}.cover-quote{font-size:11px}.cover-brand-name{font-size:19px;margin-bottom:6px;padding-bottom:6px}.cover-kicker{font-size:7px}.cover-hero h1{font-size:42px;line-height:1;margin:12px auto}.cover-description{font-size:12px;line-height:1.4;margin-bottom:12px}.menu-start{min-height:64px;padding:12px 42px 12px 14px}.menu-start-label{font-size:24px}.menu-arrow{width:25px;height:25px;right:11px}.cover-microcopy{display:block;font-size:9px;margin:8px 0 10px}.cover-facts span{font-size:8px;padding:5px 9px}.cover-bottom{margin-top:12px}.cover-bottom button{font-size:9px}.cover-bottom p{display:none}}
#setupScreen.menu-mode,#setupScreen.mode-picking,#setupScreen.menu-config{background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;padding:0}.cover-quote{max-width:none;width:min(430px,100%)}.cover-hero h1{background:linear-gradient(110deg,#ffefe6 25%,#e6b298 45%,#fff5e8 55%,#efc6b4 75%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 22px #e2a18329}
@media(max-width:760px){.cover-quote{max-width:none;width:auto}.cover-topline{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:7px;padding-right:0}.cover-music{right:-4px;top:-3px}.cover-quote-right{padding-top:42px}}

.earned-extras h4{font:500 26px Cormorant Garamond;color:#efc9b8}.earned-extras article{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #cfaf8c40}.earned-extras .c-icon{flex:0 0 32px;width:32px;height:32px}.earned-extras strong{font-size:18px;overflow-wrap:anywhere}.earned-extras p{font-size:14px;line-height:1.5;color:#dfc4b8}.earned-extras small{color:#e5c8a9}
@media(min-width:761px) and (max-height:800px){
.app.results-mode #peopleGrid .c-person{flex-basis:calc((100% - 28px)/3);grid-template-rows:40px 40% minmax(0,1fr)}
.app.results-mode #peopleGrid .person-heading{padding:6px 9px}.app.results-mode #peopleGrid .person-copy{padding:6px 9px}.app.results-mode #peopleGrid .person-sigil{height:22px;min-height:0}.app.results-mode #peopleGrid .person-sigil .c-icon{width:20px;height:20px}.app.results-mode #peopleGrid .c-person h4{font-size:18px;line-height:1.05;margin:4px 0}.app.results-mode #peopleGrid .person-comment{font-size:11px;line-height:1.3;margin:0 0 4px}.app.results-mode #peopleGrid .person-details{padding-top:2px}.app.results-mode #peopleGrid .person-details summary{font-size:11px;line-height:1.2;padding:0;min-height:0;white-space:nowrap}.app.results-mode #peopleGrid .tool-btn{min-height:26px;padding:4px 6px;margin-top:4px;font-size:10px}.app.results-mode #peopleGrid .tool-btn .c-icon{width:13px;height:13px}
}
@media(min-width:761px) and (max-height:800px){.app.results-mode #peopleGrid .person-sigil{flex:0 0 22px;width:22px;height:22px}.app.results-mode #peopleGrid .person-details{padding:2px 0 0!important}.app.results-mode #peopleGrid .person-details summary{padding:0!important}.app.results-mode #peopleGrid .tool-btn{height:26px;min-height:26px!important;font-size:10px!important}}

/* Surface only: no changes to the CTA's layout, typography or breakpoint sizing. */
.menu-start{user-select:none;-webkit-user-select:none;isolation:isolate;overflow:hidden;animation:none;transform:none;filter:none;transition:transform .48s cubic-bezier(.22,.61,.36,1),box-shadow .48s ease!important;background:#dda0ae!important;box-shadow:inset 0 1px 0 #fff5dfcf,inset 0 -2px 3px #85435550,0 2px 5px #16060c66,0 10px 32px #0c040a66,0 0 24px #e7a5ad50!important}
.menu-start>.menu-start-label,.menu-start>.menu-arrow{z-index:3}.menu-start-label{position:relative}.menu-start>.menu-arrow{transition:transform .48s cubic-bezier(.22,.61,.36,1)}
.menu-start>.cta-lustre,.menu-start>.cta-rim,.menu-start>.cta-hover-shine,.menu-start>.cta-click-light{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.cta-lustre{z-index:0;background:linear-gradient(112deg,#d99bad 0%,#f2c4cd 20%,#ecd1bb 39%,#dca18f 56%,#efb9c8 74%,#d99bad 100%);background-size:300% 100%;animation:ctaPearlFlow 8.8s ease-in-out infinite}
.cta-lustre:before{content:"";position:absolute;inset:1px;border-radius:inherit;background:radial-gradient(ellipse at 26% -15%,#fff9e5ac,transparent 60%),linear-gradient(180deg,#fff5e559 0%,#ffe1e224 28%,transparent 53%,#94465525 100%);box-shadow:inset 0 1px 1px #fffaf099,inset 0 5px 14px #fff0dd30,inset 0 -7px 12px #98516324}
.menu-start:before{content:"";inset:0;width:auto;z-index:1;transform:none;background:radial-gradient(ellipse 100% 120% at 40% -52%,#fffbef8c 0%,#fff1de45 48%,transparent 50%);transition:none;pointer-events:none}
.menu-start:after{content:"";position:absolute;left:0;top:-80%;width:65%;height:260%;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 0%,#ffe8dc0a 15%,#fff6e84d 40%,#fff4e98c 53%,#fce6e755 65%,transparent 100%);filter:blur(6px);transform:translate(-170%,18%) rotate(-27deg);opacity:0;animation:ctaWetReflection 5.4s ease-in-out infinite}
.cta-rim{z-index:2;padding:1px;background:linear-gradient(118deg,#d99e89,#fff6df 20%,#f3cbd5 35%,#d39a80 52%,#fff3e1 72%,#e5a8bc 90%,#d99e89);background-size:300% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:ctaPearlFlow 10s ease-in-out infinite reverse}
.cta-hover-shine{z-index:2;opacity:0;background:linear-gradient(117deg,transparent 25%,#fff4e44a 44%,#fff6e890 51%,#f9dcd943 60%,transparent 78%);transform:translate(-110%,15%)}
.cta-click-light{z-index:2;opacity:0;background:radial-gradient(ellipse at 54% 40%,#fff4ddbf,#f7d5c066 40%,transparent 75%)}
.cta-spark{position:absolute;z-index:4;width:13px;height:13px;pointer-events:none;opacity:0;transform:scale(.3);background:radial-gradient(circle,#fffcec 0 10%,#ffe6c83d 24%,transparent 66%);animation:ctaSpark 9s ease-in-out infinite}
.cta-spark:before,.cta-spark:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff4d5 48%,#fffdf0 50%,#fff4d5 52%,transparent);clip-path:polygon(0 50%,43% 43%,50% 0,57% 43%,100% 50%,57% 57%,50% 100%,43% 57%)}
.cta-spark:after{inset:3px;transform:rotate(45deg);opacity:.4}.cta-spark-one{left:8%;top:15%;animation-delay:-1.7s}.cta-spark-two{right:17%;bottom:14%;width:10px;height:10px;animation-delay:-4.7s}.cta-spark-three{left:62%;top:9%;width:8px;height:8px;animation-delay:-7.7s}
@keyframes ctaPearlFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes ctaWetReflection{0%,12%{transform:translate(-170%,18%) rotate(-27deg);opacity:0}23%{opacity:.62}53%{opacity:.62}68%,100%{transform:translate(225%,-18%) rotate(-27deg);opacity:0}}
@keyframes ctaSpark{0%,9%,100%{opacity:0;transform:scale(.3)}3%{opacity:.45;transform:scale(.8)}5%{opacity:.88;transform:scale(1.12)}7%{opacity:.35;transform:scale(.7)}}
@keyframes ctaHoverReflection{0%{opacity:0;transform:translate(-110%,15%)}25%{opacity:.6}75%{opacity:.55}100%{opacity:0;transform:translate(110%,-15%)}}
@keyframes ctaClickLight{0%{opacity:0}30%{opacity:.72}100%{opacity:0}}
@media(hover:hover) and (pointer:fine){.menu-start:hover{transform:scale(1.02);filter:none;box-shadow:inset 0 1px 0 #fff9e8,inset 0 -2px 3px #85435550,0 10px 32px #0c040a66,0 0 34px #ecc2b56b!important}.menu-start:hover:before{left:0}.menu-start:hover .cta-lustre{animation-duration:6.8s}.menu-start:hover .cta-hover-shine{animation:ctaHoverReflection .95s ease-out both}.menu-start:hover .menu-arrow{transform:translate(4px,-50%)}}
.menu-start:active,.menu-start.is-launching{transform:scale(.992);filter:none}.menu-start.is-launching .cta-click-light{animation:ctaClickLight .32s ease-out both}.menu-start.is-launching .cta-hover-shine{animation:ctaHoverReflection .3s ease-out both}.menu-start:focus-visible{outline:2px solid #ffe7c8;outline-offset:5px}
.app:not(.cover-mode) .menu-start *,.app:not(.cover-mode) .menu-start:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.menu-start,.menu-start *,.menu-start:before,.menu-start:after{animation:none!important;transition:none!important}.menu-start:after,.cta-spark,.cta-hover-shine,.cta-click-light{display:none}.menu-start:hover,.menu-start:active,.menu-start.is-launching{transform:none}.cta-lustre{background-position:45% 50%}}

/* Cover stays above all older contain rules; originals are never changed. */
body[data-scene] .app .portrait-frame .portrait-image,body[data-scene] .app.game-mode .c-choice-photo .portrait-image,body[data-scene] .app.game-mode .story-spotlight .portrait-image,body[data-scene] .app.results-mode #peopleGrid .person-photo-wrap .portrait-image,#turnPhoto .portrait-frame.portrait-turn .portrait-image,#participantEditor .photo-preview img,#cropSurface img{object-fit:cover!important;object-position:center!important;filter:none}
.photo-preview{overflow:hidden}
body[data-scene] .app.game-mode .card-stage.has-spotlight{grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr)}
.app.game-mode .card-stage.has-spotlight .story-spotlight{aspect-ratio:4/5;height:auto!important;max-height:100%;align-self:center}
.app.game-mode .story-spotlight .spotlight-portrait{height:100%!important;aspect-ratio:4/5}
@property --party-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.app.game-mode .c-choice:not(.c-vote-person){position:relative;isolation:isolate;border:1px solid transparent!important;background:linear-gradient(135deg,#21141df5,#110c11f5) padding-box,conic-gradient(from var(--party-angle),#b69a7e66,#efc9baaa,#c88f9b55,#e3cba077,#b69a7e66) border-box!important;animation:party-border 12s linear infinite;transition:box-shadow .4s ease,filter .4s ease,transform .4s ease}
.app.game-mode .c-choice:not(.c-vote-person):after{content:'✦';position:absolute;right:7px;top:3px;font-size:9px;color:#f7dcc2;opacity:0;pointer-events:none;animation:party-spark 9s ease-in-out infinite}
.app.game-mode .c-choice:nth-child(2):after{animation-delay:3s}.app.game-mode .c-choice:nth-child(3):after{animation-delay:6s}.app.game-mode .c-choice:nth-child(4):after{animation:none}
@media(hover:hover){.app.game-mode .c-choice:not(.c-vote-person):hover{box-shadow:inset 0 0 23px #e3bcb71a,0 0 18px #d7a4921c;filter:brightness(1.1);animation-duration:8s}}
.app.game-mode .c-choice[aria-pressed=true]:not(.c-vote-person){box-shadow:inset 0 0 28px #e3bcb72e,0 0 17px #e1bba244;color:#fff3df!important;background:linear-gradient(135deg,#57303c,#2b1821) padding-box,conic-gradient(from var(--party-angle),#f0d3a9,#ffe9d8,#ce97a3,#f0d3a9) border-box!important}
.app.game-mode .card-inner{position:relative}.app.game-mode .card-inner:after{content:'✦';position:absolute;right:-9px;top:-6px;color:#edd0ad;font-size:13px;opacity:0;pointer-events:none;animation:party-spark 11s 2s ease-in-out infinite}
.question-highlight{color:#e6b8b5;text-shadow:0 0 14px #cfa58124}
@keyframes party-border{to{--party-angle:360deg}}@keyframes party-spark{0%,65%,100%{opacity:0;transform:scale(.6)}72%{opacity:.7;transform:scale(1)}79%{opacity:0;transform:scale(.8)}}
@media(max-width:760px){body[data-scene] .app.game-mode .game-shell .card-stage.has-spotlight{grid-template-columns:minmax(75px,.32fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:9px}body[data-scene] .app.game-mode .game-shell .card-stage.has-spotlight .story-spotlight{grid-column:1!important;grid-row:1;align-self:start}body[data-scene] .app.game-mode .game-shell .card-stage.has-spotlight .card{grid-column:2!important;grid-row:1;padding:13px}.app.game-mode .spotlight-caption{padding:5px!important}.app.game-mode .spotlight-caption strong{font-size:16px!important}.app.game-mode .spotlight-caption .z-badge{display:none}.app.game-mode .card-inner:after{display:none}.app.game-mode .c-choice:not(.c-vote-person):after{font-size:7px;right:3px;top:1px}}
@media(prefers-reduced-motion:reduce){.app.game-mode .c-choice,.app.game-mode .c-choice:after,.app.game-mode .card-inner:after{animation:none!important;transition:none!important}.app.game-mode .c-choice:after,.app.game-mode .card-inner:after{opacity:0}}

/* Every photo viewport uses the same canonical 4:5 coordinate space. Decorations never change it. */
body .participant-portrait,body[data-scene] .app .participant-portrait,body[data-scene] .app.game-mode .story-spotlight .participant-portrait,body[data-scene] .app.results-mode #peopleGrid .person-photo-wrap .participant-portrait{position:relative;width:100%;height:auto!important;min-height:0!important;max-height:none;aspect-ratio:4/5!important;overflow:visible!important;border:0!important;border-radius:16px;background:none;container-type:inline-size;isolation:isolate}
body .participant-portrait:before,body .participant-portrait:after{display:none!important}
.portrait-viewport{position:absolute;inset:0;aspect-ratio:4/5;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at top,#422b38,#120b14);border:0}
body .participant-portrait .portrait-image{max-width:none!important;max-height:none!important;border-radius:0;object-fit:cover!important;pointer-events:none}
.portrait-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 51%,#120a1270 68%,#0c080eea 100%)}
.portrait-identity{position:absolute;inset:auto 7% 5%;z-index:2;text-align:left;color:#f0c9d2;pointer-events:none}
.portrait-identity>strong{display:block;font:400 clamp(19px,14cqw,60px)/.98 'Marck Script',cursive;color:#efa7bf;text-shadow:0 2px 9px #150a13;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portrait-sign{display:flex;align-items:center;gap:7px;font:500 clamp(8px,4cqw,16px)/1.1 Manrope;color:#f5e7dc;margin-top:5px}.portrait-sign small{display:block;font-size:.7em;letter-spacing:.13em;text-transform:uppercase;color:#dcaab9;margin-top:3px}.portrait-sign .z-emblem{width:clamp(18px,10cqw,38px);height:clamp(18px,10cqw,38px);flex-shrink:0}.portrait-sign .z-emblem svg{width:100%;height:100%}
.portrait-jewels{position:absolute;inset:-2.5%;width:105%;height:105%;pointer-events:none;z-index:4;overflow:visible;filter:drop-shadow(0 0 3px #dea4a447)}
.portrait-flare{position:absolute;left:19%;top:-1%;font-style:normal;font-size:13px;color:#ffe3c9;z-index:5;opacity:.3;pointer-events:none;animation:portrait-flare 9s var(--portrait-delay,0s) ease-in-out infinite}
@keyframes portrait-flare{0%,60%,100%{opacity:.14;transform:scale(.8)}67%{opacity:.9;transform:scale(1.2)}75%{opacity:.14;transform:scale(.8)}}
body[data-scene] .app .roster-card-portrait{position:relative;inset:auto!important;height:auto!important;width:100%;aspect-ratio:4/5;overflow:visible}
body[data-scene] .app .player-row:not(.editing){height:auto!important;align-self:center;overflow:visible!important;padding:7px!important;border-radius:20px}
body[data-scene] .app .production-person-caption,body[data-scene] .app.game-mode .spotlight-caption,body[data-scene] .app.game-mode .c-vote-name,body[data-scene] .app.game-mode .c-vote-person>.z-badge{display:none!important}
body[data-scene] .app .production-edit{position:relative;inset:auto;width:100%;height:30px;min-height:30px;padding:3px;font-size:10px;background:#130b13}
body[data-scene] .app.game-mode .story-spotlight{height:auto!important;aspect-ratio:4/5!important;max-height:none;border:none!important;background:none;overflow:visible!important;align-self:center}
body[data-scene] .app.game-mode .c-vote-person{height:auto!important;align-self:center;flex:0 0 clamp(135px,calc((100dvh - 360px)*.65),230px)!important;min-height:0!important;padding:7px!important;overflow:visible!important;border:1px solid transparent!important;border-radius:20px;background:#180c1370!important;box-shadow:none}
body[data-scene] .app.game-mode .c-vote-person .c-choice-photo{height:auto!important;aspect-ratio:4/5!important;width:100%;position:relative!important;inset:auto!important}
body[data-scene] .app.game-mode .c-vote-person[aria-pressed=true],body[data-scene] .app.game-mode .c-vote-person.is-picked{border-color:#e9c4ab!important;box-shadow:0 0 16px #ddaaad3d!important}.c-vote-person .c-selected-tick{font-size:11px!important;width:19px!important;height:19px!important}
body .club-person-avatar{height:auto!important;aspect-ratio:4/5;width:160px;overflow:visible!important;border:0!important;border-radius:0!important;flex-shrink:0}
body .friend-file>.participant-portrait{height:auto!important;aspect-ratio:4/5!important}.friend-file{overflow:visible;padding:7px!important}
/* Dossier shell sits around the unchanged photo viewport. */
.portrait-dossier .portrait-viewport{box-shadow:0 0 0 5px #4a303438,0 0 0 6px #b8847875,0 6px 16px #0008}.portrait-dossier .portrait-identity{bottom:8%;right:35%}.portrait-dossier .portrait-identity>strong{font-size:clamp(19px,12cqw,52px)}
.dossier-number{position:absolute;left:-2%;top:1%;z-index:5;background:linear-gradient(120deg,#d9bba3,#ead0ba);padding:4px 9px;transform:rotate(-4deg);font:700 clamp(9px,4cqw,16px)/1.1 Manrope;letter-spacing:.03em;color:#332226;box-shadow:0 2px 5px #0004;white-space:nowrap}
.dossier-round{position:absolute;right:3%;bottom:12%;width:34%;aspect-ratio:1;border:2px solid #d98eab99;border-radius:50%;transform:rotate(-14deg);z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;text-align:center;color:#eea4bc;background:#170e1799;box-shadow:inset 0 0 0 3px #170e17,inset 0 0 0 4px #d98eab80;font:700 clamp(7px,3.5cqw,14px)/1.15 Manrope}
.dossier-round{width:40%;height:40cqw;min-height:0;overflow:hidden;font-size:clamp(6px,3cqw,12px);padding:4px}
.dossier-round small{font-size:.65em;letter-spacing:.05em;margin-bottom:3px}.dossier-round strong{overflow-wrap:anywhere}
.dossier-status{position:absolute;bottom:-2%;right:2%;z-index:5;transform:rotate(-5deg);border:2px solid #d997b4;color:#eda9c4;background:#180e18e0;padding:3px 8px;font:600 clamp(8px,3.3cqw,14px)/1.2 Manrope;letter-spacing:.06em}
body[data-scene] .app.results-mode #peopleGrid .c-person{flex:0 0 clamp(165px,calc((100dvh - 460px)*.55),265px)!important;grid-template-rows:auto minmax(0,1fr);height:100%;overflow:visible!important;padding:11px 9px 0;background:linear-gradient(150deg,#25151ce8,#0d080de8);border:1px solid #a8787380;gap:13px}
body[data-scene] .app.results-mode #peopleGrid .person-heading{display:none!important}
body[data-scene] .app.results-mode #peopleGrid .person-photo-wrap{position:relative;inset:auto;height:auto!important;aspect-ratio:4/5;overflow:visible!important;background:none}
body[data-scene] .app.results-mode #peopleGrid .person-copy{padding:8px 5px!important;border:0;background:none;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px}
.dossier-copy-content{min-height:0;overflow:auto;scrollbar-width:thin}.dossier-copy-actions{min-height:0}.dossier-copy-actions .tool-btn{width:100%}.dossier-copy-actions details[open]{max-height:90px;overflow:auto}
body[data-scene] .app.results-mode #peopleGrid .person-sigil{display:none}.dossier-fact{font:400 16px/1.05 'Marck Script';color:#dda8b8;margin:4px 0}
body[data-scene] .app.results-mode #peopleGrid h4{border:1px solid #c58da27c;padding:5px;transform:rotate(-1deg);color:#e7acc2;font-family:Manrope;font-size:clamp(12px,1vw,17px);line-height:1.2;text-transform:uppercase}
body[data-scene] .app.results-mode #peopleGrid .c-person{animation:dossier-arrive .35s ease-out both}@keyframes dossier-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
/* The crop editor has one small, unshaded WYSIWYG viewport and visible controls. */
body #photoCropModal .crop-card{width:min(760px,100%);max-height:calc(100dvh - 24px);height:auto;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.8fr);gap:10px 22px;padding:20px}
#photoCropModal .modal-head,#photoCropModal .subtle,#photoCropModal .crop-preview-label{grid-column:1/-1;margin:0}.crop-preview-label{font-size:12px}
body #cropSurface{width:min(100%,calc((100dvh - 195px)*.8),360px);height:auto!important;aspect-ratio:4/5!important;grid-column:1;grid-row:4/6;border-radius:16px}
body #cropSurface:before{display:none}body #cropSurface:after{box-shadow:none}
body #photoCropModal .crop-tools{display:flex;flex-direction:column;width:100%;margin:auto;gap:18px;grid-column:2;grid-row:4}body #photoCropModal .crop-zoom{width:100%}body #photoCropModal .crop-actions{grid-column:2;grid-row:5;display:grid;grid-template-columns:1fr;align-self:end}#photoCropModal .crop-actions button{min-height:42px}
body #participantEditor .photo-preview{width:120px;height:auto!important;aspect-ratio:4/5!important;max-height:none}
/* Glass, reflections and quiet response. */
body[data-scene] .app.game-mode .card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#29151fe8,#100a12eb 60%,#24131cdd)!important;border:1px solid #d1a28c77!important;border-radius:22px!important;box-shadow:inset 0 1px 0 #ffe3d30c,inset 0 -20px 50px #0002,0 0 25px #b8779115}
body[data-scene] .app.game-mode .card:before{display:block!important;content:'';position:absolute;inset:-50%;background:linear-gradient(120deg,transparent 42%,#dfbac80a 49%,#ebd4be07 53%,transparent 60%);transform:translateX(-20%);pointer-events:none;z-index:-1;animation:question-glass 16s ease-in-out infinite}@keyframes question-glass{50%{transform:translateX(20%)}}
body[data-scene] .app.game-mode .c-choice:not(.c-vote-person){display:flex;gap:10px;align-items:center;justify-content:center;padding:13px}.answer-jewel{font-size:11px;color:#d6b49b;flex-shrink:0;pointer-events:none}
@media(hover:hover){body[data-scene] .app.game-mode .c-choice:not(.c-vote-person):hover{transform:translateY(-2px);box-shadow:inset 0 0 24px #e3bcb722,0 2px 18px #d7a49233}}
body[data-scene] .app.game-mode #doneBtn{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#e9a4b7,#f0c4cd,#e8c2a6,#df9fae,#ebafbe)!important;background-size:260% 100%!important;animation:continue-pearl 8s ease-in-out infinite;box-shadow:inset 0 1px 0 #fff1dc88,0 3px 15px #dea7ac20}
#doneBtn:before{content:'';position:absolute;inset:-100%;pointer-events:none;background:linear-gradient(125deg,transparent 36%,#fff3d600 41%,#ffe8dd66 49%,#ffe4e500 57%,transparent 65%);transform:translate(-50%,30%);animation:continue-gloss 5s ease-in-out infinite}
@keyframes continue-pearl{50%{background-position:100% 50%}}@keyframes continue-gloss{0%,50%,100%{opacity:0;transform:translate(-50%,30%)}62%{opacity:.55}82%{opacity:0;transform:translate(50%,-30%)}}
.progress-bar{overflow:visible!important}#progressFill{position:relative;background:linear-gradient(90deg,#c685a2,#e7b0b9,#f1d1a4)!important;box-shadow:0 0 9px #e5b1be55}#progressFill:after{content:'';position:absolute;right:-2px;top:-1px;width:5px;height:5px;border-radius:50%;background:#ffe2c8;box-shadow:0 0 7px #f8c9b8}
.timer.is-urgent{animation:timer-rose 1.3s ease-in-out infinite}@keyframes timer-rose{50%{box-shadow:0 0 12px #d78b9b55;border-color:#dba7b9}}
.question-arrival .card-inner{animation:glass-arrival .2s ease-out}@keyframes glass-arrival{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:760px){body .club-person-avatar{width:96px}body[data-scene] .app.game-mode .story-spotlight .participant-portrait .portrait-sign{display:none}.portrait-jewels{filter:none}.portrait-flare{font-size:8px}body[data-scene] .app .player-row:not(.editing){padding:5px!important}body[data-scene] .app.game-mode .c-vote-person{flex-basis:min(65vw,calc((100dvh - 295px)*.8))!important}body[data-scene] .app.results-mode #peopleGrid .c-person{flex-basis:85%!important;height:auto;grid-template-rows:auto auto;padding:12px 10px;align-self:start}.app.results-mode #protocolBody{grid-template-rows:auto auto auto auto auto!important}.app.results-mode .result-carousel{height:auto!important;min-height:0}.app.results-mode #peopleGrid .person-copy{overflow:visible!important}.app.results-mode .c-verdict{font-size:18px}body #photoCropModal .crop-card{grid-template-columns:1fr;gap:8px;padding:12px}body #cropSurface{grid-row:auto;grid-column:1;width:min(62vw,calc((100dvh - 270px)*.8),280px)}body #photoCropModal .crop-tools{grid-row:auto;grid-column:1;display:grid;grid-template-columns:126px minmax(0,1fr);gap:8px}body #photoCropModal .crop-actions{grid-row:auto;grid-column:1;grid-template-columns:1fr 1.4fr}#photoCropModal .modal-head h3{font-size:22px}#photoCropModal .subtle{font-size:10px;line-height:1.2}body[data-scene] .app.game-mode .c-choice:not(.c-vote-person){padding:8px;gap:6px}.answer-jewel{font-size:9px}}
@media(prefers-reduced-motion:reduce){.portrait-flare,.app.game-mode .card:before,.app.game-mode #doneBtn,.app.game-mode #doneBtn:before,.timer.is-urgent,.question-arrival .card-inner,.app.results-mode #peopleGrid .c-person{animation:none!important;transition:none!important}.app.game-mode .c-choice:hover{transform:none!important}}
body[data-scene] .app .roster-card-portrait:after,body[data-scene] .app.game-mode .c-choice-photo:after{display:none!important}
@media(max-width:760px){body #cropSurface{width:min(62vw,calc((100dvh - 375px)*.8),280px)}body #photoCropModal .crop-actions button{font:600 12px/1.2 Manrope;min-height:44px;padding:10px}body #photoCropModal .modal-head h3{font-size:20px}}
body #cropSurface,body #participantEditor .photo-preview{border:0!important;outline:1px solid #e5aebeaa}
@media(min-width:761px) and (max-height:850px){
body[data-scene] .app.results-mode #peopleGrid .c-person{flex-basis:clamp(150px,calc((100dvh - 460px)*.5),190px)!important;gap:9px}
body[data-scene] .app.results-mode #peopleGrid .person-copy{padding:5px 3px!important}
body[data-scene] .app.results-mode #peopleGrid h4{font-size:11px;line-height:1.15;padding:4px;margin:2px 0 4px}
body[data-scene] .app.results-mode #peopleGrid .person-comment{font-size:10px;line-height:1.2;margin-bottom:3px}
body[data-scene] .app.results-mode #peopleGrid .dossier-fact{font-size:12px;margin:3px 0}
body[data-scene] .app.results-mode #peopleGrid .person-details{padding:0!important}
body[data-scene] .app.results-mode #peopleGrid .person-details summary{font-size:10px;min-height:14px;line-height:14px;padding:0!important}
body[data-scene] .app.results-mode #peopleGrid .tool-btn{font-size:9px!important;line-height:1.15;height:auto!important;min-height:34px!important;padding:4px;margin-top:4px}
}
@media(max-width:760px){.dossier-copy-content{overflow:visible}.dossier-copy-actions details[open]{max-height:none;overflow:visible}}
@media(max-width:760px){body[data-scene] .app.game-mode .c-vote-person{flex-basis:min(65vw,calc((100dvh - 335px)*.8))!important}body[data-scene] .app.game-mode .story-spotlight .participant-portrait .portrait-sign{display:flex;font-size:6px;gap:3px;margin-top:3px}body[data-scene] .app.game-mode .story-spotlight .portrait-sign .z-emblem{width:12px;height:12px}body[data-scene] .app.game-mode .story-spotlight .portrait-identity>strong{font-size:16px}}

/* Presentation only: canonical crop, questions, evidence and mode mechanics remain unchanged. */
.scene-control-cluster{position:fixed;right:clamp(10px,1.7vw,28px);top:calc(env(safe-area-inset-top) + 12px);z-index:70;display:flex;align-items:center;border:1px solid #c39a8470;border-radius:40px;background:linear-gradient(125deg,#30141de8,#170b13eb);box-shadow:inset 0 1px #fff0d51f,0 5px 18px #0003;padding:3px 7px}
body .scene-control-cluster #soundBtn,body .scene-control-cluster #fullscreenBtn{position:static;display:grid!important;place-items:center;width:43px;height:43px;min-height:43px;margin:0;padding:9px;border:0;border-radius:50%;background:none;color:#eed4c9;box-shadow:none;font-size:22px;cursor:pointer}
.scene-control-cluster>i{width:1px;height:21px;background:#bc8d804d}.scene-control-cluster .c-icon{width:24px;height:24px;filter:none}.scene-control-cluster button:hover{background:#f5d7c311!important}.scene-control-cluster button:focus-visible{outline:2px solid #f1d0af;outline-offset:0}
body[data-scene] .app.game-mode .game-head{padding-right:180px;grid-template-columns:minmax(0,1fr) 140px}.app.game-mode .game-head .scene-exit{right:128px}
body[data-scene] .app.game-mode .card{background:radial-gradient(ellipse at 80% 12%,#88505e2a,transparent 55%),linear-gradient(125deg,#3b1b2bdc,#20101be8 60%,#2c1422df)!important;border:1px solid #cfa68b8f!important;box-shadow:inset 0 1px #fff0dc2a,inset 0 -30px 70px #09060a35,0 16px 42px #0003,0 0 20px #c78c9e10;border-radius:26px!important;isolation:isolate;overflow:hidden}
body[data-scene] .app.game-mode .card:before{display:block!important;content:'';inset:-80%;position:absolute;z-index:-1;background:linear-gradient(125deg,transparent 35%,#dbc7ce00 40%,#ead0b71d 47%,#e5b5c80d 53%,transparent 59%);animation:polish-reflection 19s ease-in-out infinite;transform:translate3d(-14%,8%,0);pointer-events:none}
body[data-scene] .app.game-mode .card:after{display:block!important;content:'';position:absolute;inset:7px;border:1px solid #efc8b51b;border-radius:20px;pointer-events:none;background:none}
@keyframes polish-reflection{0%,100%{transform:translate3d(-14%,8%,0);opacity:.4}50%{transform:translate3d(14%,-8%,0);opacity:.8}}
.app.game-mode .card-inner:after{animation:none!important;content:none!important}.app.game-mode .category{color:#deb4bf!important;text-shadow:0 0 15px #d2a77724}.app.game-mode .category:before{content:'✧';color:#e8c9a6;margin-right:10px;filter:drop-shadow(0 0 7px #e7cba449)}
.question-highlight{color:#f1cfc3!important;text-shadow:0 0 16px #d2ac7f1c;font-style:italic}
.card-glint{position:absolute;width:17px;height:17px;z-index:4;color:#f8dfc4;background:currentColor;clip-path:polygon(50% 0,57% 40%,100% 50%,59% 58%,50% 100%,41% 59%,0 50%,40% 41%);opacity:0;pointer-events:none;animation:polish-glint 17s ease-in-out infinite}.card-glint.one{right:16%;top:3px}.card-glint.two{left:4px;bottom:24%;width:11px;height:11px;animation-delay:8s}
@keyframes polish-glint{0%,64%,81%,100%{opacity:0;transform:scale(.7) rotate(8deg)}72%{opacity:.65;transform:scale(1) rotate(8deg)}}
/* Choice cards join the stage instead of fighting the fixed footer for height. */
body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage{grid-template-columns:minmax(160px,.34fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:22px;overflow:visible;max-width:1600px;width:100%}
body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage:not(.has-spotlight){grid-template-columns:minmax(0,1fr)}
body[data-scene] .app.game-mode .game-shell[data-kind=personal] .story-spotlight{grid-column:1;grid-row:1;width:min(100%,calc((100dvh - 380px)*.8),355px);justify-self:center;align-self:center!important}
body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage .card{grid-row:1;grid-column:2;padding:clamp(20px,2.8vw,54px)}
body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage:not(.has-spotlight) .card{grid-column:1}
body[data-scene] .app.game-mode .vote-carousel.answer-layout{grid-column:1/-1;grid-row:2;display:block;height:auto!important;max-height:none!important;min-height:0;margin:0!important}
body[data-scene] .app.game-mode .answer-layout .vote-arrow{display:none!important}.app.game-mode .answer-layout .vote-viewport{height:auto;overflow:visible}
body[data-scene] .app.game-mode .answer-layout #councilChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;min-height:0;overflow:visible;padding:0;gap:16px;scroll-snap-type:none}
body[data-scene] .app.game-mode .answer-layout #councilChoices[data-choice-count="4"],body[data-scene] .app.game-mode .answer-layout #councilChoices[data-choice-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-scene] .app.game-mode .c-choice:not(.c-vote-person){position:relative;display:flex;align-items:center;gap:14px;white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:break-word;word-break:normal;line-height:1.48;min-height:82px;height:auto;max-height:none;padding:19px 23px!important;font:400 clamp(15px,1.12vw,21px)/1.48 Manrope;text-align:left;border:1px solid #ad8b7775!important;border-radius:22px;background:linear-gradient(145deg,#34202bdf,#1d101bea)!important;animation:none!important;box-shadow:inset 0 1px #efd1b11c,0 8px 25px #0002;transition:transform .4s ease,box-shadow .5s ease}
.answer-copy{min-width:0;flex:1;white-space:normal;display:block}.app.game-mode .answer-jewel{display:grid;place-items:center;width:27px;height:27px;border:1px solid #b7998452;border-radius:50%;font:14px 'Cormorant Garamond';color:#ccac9d;flex-shrink:0}
body[data-scene] .app.game-mode .c-choice:not(.c-vote-person):after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,transparent 32%,#ffdfb919 50%,transparent 68%);opacity:0;animation:none!important;transform:translate3d(-12%,0,0);transition:opacity .4s ease}
@media(hover:hover){body[data-scene] .app.game-mode .c-choice:not(.c-vote-person):hover{transform:translateY(-2px);border-color:#e4c4a5!important;background:linear-gradient(140deg,#5a3743e8,#2e1b29ea)!important;box-shadow:inset 0 1px #f9d8bb55,0 0 20px #d6a58f26;filter:none;animation:polish-answer-edge 7s ease-in-out infinite!important}.app.game-mode .c-choice:not(.c-vote-person):hover:after{opacity:.85;animation:polish-hover-reflection 5s ease-in-out infinite!important}}
@keyframes polish-hover-reflection{0%,100%{transform:translate3d(-12%,0,0);opacity:.4}50%{transform:translate3d(12%,0,0);opacity:.8}}
@keyframes polish-answer-edge{0%,100%{border-color:#e2b3b9}50%{border-color:#f2d5b0}}
body[data-scene] .app.game-mode .c-choice:not(.c-vote-person)[aria-pressed=true],body[data-scene] .app.game-mode .c-choice:not(.c-vote-person).is-selected{color:#f9e7dc!important;border-color:#efd0b0!important;background:radial-gradient(ellipse at top left,#d5a6ad21,transparent 70%),linear-gradient(145deg,#603142ef,#371c2bec)!important;animation:polish-answer-edge 7s ease-in-out infinite!important;box-shadow:inset 0 1px #fff0d366,inset 0 0 30px #e7bb9712,0 0 18px #c794a02c;transform:none}
.app.game-mode .c-choice[aria-pressed=true]:not(.c-vote-person) .answer-jewel{background:linear-gradient(135deg,#efd0b0,#dba7b5);border-color:transparent;color:#4a2633}
body[data-scene] .app.game-mode .c-choice:not(.c-vote-person):disabled{opacity:1}.app.game-mode .c-choice:focus-visible{outline:2px solid #eccbaa;outline-offset:3px}
/* A readable result hierarchy: identity, reusable seal, separate title, one verdict. */
.council-stamp{fill:none;stroke:#d7a0b2;stroke-width:1.6;color:#e7b0bf;transform:rotate(-9deg);filter:drop-shadow(0 0 3px #dba2b020);overflow:visible}.council-stamp text{stroke:none;fill:#e5b1c2;font-family:Manrope;font-weight:500}.council-stamp .stamp-top{font-size:16px;letter-spacing:1.8px}.council-stamp .stamp-bottom{font-size:8px;letter-spacing:1px}.council-stamp .stamp-center{font-size:10px;letter-spacing:1px}.council-stamp .stamp-case{font-size:8px;letter-spacing:1px}.council-stamp .stamp-ring-soft{opacity:.4;stroke-dasharray:180 2 270 3 69}.council-stamp .stamp-ring-ink{opacity:.22;stroke-dasharray:110 2 160 1}.council-stamp .stamp-crown{stroke-width:2.2;opacity:.85}.council-stamp .stamp-dots{opacity:.7}
.participant-portrait>.council-stamp{position:absolute;width:32%;right:3%;bottom:7%;z-index:6;background:#23121dcc;border-radius:50%}.portrait-dossier .portrait-identity{right:32%;bottom:8%}.portrait-dossier .portrait-identity>strong{font-size:clamp(22px,14cqw,65px)}.dossier-number{font-family:Manrope;font-size:clamp(8px,3cqw,13px)}
body[data-scene] .app.results-mode #peopleGrid .c-person{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;flex:0 0 clamp(175px,calc((100dvh - 430px)*.42),295px)!important;border:1px solid #ba94807d;border-radius:23px;padding:12px 12px 8px;background:linear-gradient(145deg,#2a1621e8,#100a11f2);box-shadow:inset 0 1px #f3d1b219}
body[data-scene] .app.results-mode #peopleGrid .person-photo-wrap{position:relative;inset:auto;height:auto!important;aspect-ratio:4/5;overflow:visible}.app.results-mode #peopleGrid .dossier-ruling{font:500 9px/1.4 Manrope;letter-spacing:.1em;color:#c99ba9}
body[data-scene] .app.results-mode #peopleGrid .person-copy{position:relative;inset:auto;overflow:hidden;background:none;padding:8px 2px!important;gap:8px;text-align:center}
body[data-scene] .app.results-mode #peopleGrid h4{border:0;transform:none;padding:0;font:400 clamp(19px,1.55vw,30px)/1.08 'Cormorant Garamond';color:#edc6cd;margin:9px 0 12px;overflow-wrap:normal;word-break:normal}
body[data-scene] .app.results-mode #peopleGrid .person-comment{font:400 clamp(11px,.8vw,15px)/1.45 Manrope;color:#d7c1c8;margin:0 0 9px}
body[data-scene] .app.results-mode #peopleGrid .dossier-copy-content{overflow:auto;scrollbar-width:thin;min-height:0}.dossier-fact{font:500 11px/1.5 Manrope;padding-top:8px;border-top:1px solid #a57b733a;color:#d1a4b2!important}
body[data-scene] .app.results-mode #peopleGrid .dossier-copy-actions .tool-btn{font:500 11px/1.3 Manrope;min-height:34px;padding:8px 5px}.app.results-mode #peopleGrid summary{font:11px Manrope;color:#cda5b4}.app.results-mode #peopleGrid .person-details{margin-bottom:7px}.app.results-mode .c-dossier-header .result-pager{margin-top:4px}.app.results-mode .c-facts{background:linear-gradient(135deg,#291620e0,#170c17ed);border-color:#b6917877}.app.results-mode #nightFacts .fact-cell p{font-size:clamp(11px,.85vw,16px);line-height:1.45}.app.results-mode .c-facts h3{font:400 clamp(20px,1.7vw,29px) 'Cormorant Garamond';letter-spacing:.09em}.app.results-mode .c-dossier-header{padding:0 130px!important}
@media(max-width:760px){
 .scene-control-cluster{top:calc(env(safe-area-inset-top) + 8px);right:8px;padding:2px 4px}.scene-control-cluster>i{height:16px}body .scene-control-cluster #soundBtn,body .scene-control-cluster #fullscreenBtn{width:32px;height:32px;min-height:32px;padding:6px}.scene-control-cluster .c-icon{width:20px;height:20px}
 body[data-scene] .app.game-mode .game-head{padding-right:99px;grid-template-columns:minmax(0,1fr) 49px;gap:5px}.app.game-mode .game-head .scene-exit{right:78px;width:24px!important;height:24px!important;min-height:24px!important;top:4px;font-size:15px}.app.game-mode .turn-name{font-size:12px!important;max-width:100%}.app.game-mode #gameModeLabel{font-size:8px}.app.game-mode .game-head .progress-text{font-size:10px}
 body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;align-content:start;gap:14px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:4px 2px 9px;scrollbar-width:thin}
 body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage .story-spotlight{width:102px;grid-column:1!important;grid-row:1;justify-self:center;align-self:start!important}
 body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage .card{grid-column:1!important;grid-row:2;height:auto!important;min-height:190px;padding:20px!important;overflow:visible}
 body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage:not(.has-spotlight) .card{grid-row:1}
 body[data-scene] .app.game-mode .game-shell[data-kind=personal] .answer-layout{grid-row:3!important;grid-column:1!important}.app.game-mode .answer-layout .vote-viewport{height:auto!important}
 body[data-scene] .app.game-mode .answer-layout #councilChoices,body[data-scene] .app.game-mode .answer-layout #councilChoices[data-choice-count="4"],body[data-scene] .app.game-mode .answer-layout #councilChoices[data-choice-count="2"]{grid-template-columns:1fr!important;height:auto;gap:9px}
 body[data-scene] .app.game-mode .c-choice:not(.c-vote-person){font-size:14px;min-height:64px;padding:13px 15px!important;line-height:1.45;border-radius:17px}.app.game-mode .answer-jewel{width:22px;height:22px;font-size:11px}.app.game-mode .card-glint.two{display:none}
 body[data-scene] .app.game-mode .game-shell[data-kind=personal] .prompt{overflow:visible;max-height:none;line-height:1.16}.app.game-mode .game-shell[data-kind=personal] .controls{grid-template-columns:53px 88px minmax(0,1fr)}.app.game-mode .controls>button{font-size:11px!important;padding:7px}.app.game-mode .timer{padding:2px}.app.game-mode .timer-time{font-size:12px}.app.game-mode .timer button{min-width:23px}.app.game-mode #councilHint{font-size:10px;margin-bottom:3px}
 body[data-scene] .app.results-mode #peopleGrid .c-person{flex-basis:86%!important;height:auto;min-height:0;overflow:visible;grid-template-rows:auto auto;gap:12px;padding:12px}.app.results-mode .result-carousel,.app.results-mode .result-viewport{height:auto!important;min-height:0}.app.results-mode #peopleGrid{height:auto!important}.app.results-mode #peopleGrid .person-copy{overflow:visible!important}.app.results-mode #peopleGrid .dossier-copy-content{overflow:visible!important}.app.results-mode #peopleGrid h4{font-size:28px!important}.app.results-mode #peopleGrid .person-comment{font-size:13px!important}.app.results-mode #peopleGrid .dossier-ruling{font-size:8px}.app.results-mode .c-dossier-header{padding:0 78px!important}.app.results-mode .c-dossier-header h2{font-size:31px}.app.results-mode .c-facts h3{font-size:21px}.app.results-mode #nightFacts .fact-cell p{font-size:11px}.app.results-mode .c-actions button{min-height:43px!important;font-size:11px!important}.app.results-mode #nightVerdict{font-size:19px}
}
@media(prefers-reduced-motion:reduce){body .app.game-mode .card:before,body .app.game-mode .card-glint,body .app.game-mode .c-choice,body .app.game-mode .c-choice:after{animation:none!important;transition:none!important}.card-glint{display:none!important}}

/* Short TV displays keep the canonical portrait intact and give the verdict room. */
@media(min-width:761px) and (max-height:950px){
 body[data-scene] .app.results-mode #peopleGrid .c-person{flex-basis:220px!important;gap:6px;padding:8px 10px}
 body[data-scene] .app.results-mode #peopleGrid .person-photo-wrap{width:clamp(100px,calc((100dvh - 590px)*.65),155px);justify-self:center}
 body[data-scene] .app.results-mode #peopleGrid h4{font-size:21px;line-height:1.07;margin:6px 0 8px}
 body[data-scene] .app.results-mode #peopleGrid .person-comment{font-size:11px;line-height:1.38;margin-bottom:6px}
 body[data-scene] .app.results-mode #peopleGrid .person-copy{padding:2px!important;gap:4px}
 body[data-scene] .app.results-mode #peopleGrid .dossier-copy-actions{display:flex;align-items:center;gap:5px}
 body[data-scene] .app.results-mode #peopleGrid .person-details{flex:1;margin:0}
 body[data-scene] .app.results-mode #peopleGrid .dossier-copy-actions .tool-btn{width:116px;font-size:9px;min-height:32px;padding:5px}
 body[data-scene] .app.results-mode #peopleGrid summary{font-size:9px}
 .app.results-mode #nightFacts .fact-cell p{font-size:11px!important}
}

body[data-scene] .app.results-mode #peopleGrid .person-copy{grid-template-columns:minmax(0,1fr)}
body[data-scene] .app.results-mode #peopleGrid .dossier-copy-content,body[data-scene] .app.results-mode #peopleGrid .dossier-copy-actions{min-width:0;max-width:100%}
body[data-scene] .app.results-mode #peopleGrid summary{white-space:normal}
/* The shared cluster replaces the cover's former music control, without two toggles. */
body[data-scene=landing] #menuMusic{display:none!important}

/* Release audit: settings controls and fifth results CTA must stay reachable. */
.music-settings{border-top:1px solid var(--ss-border);padding-top:16px;margin-top:16px;display:grid;gap:10px;text-align:left}.music-settings label{display:flex;align-items:center;justify-content:space-between;gap:12px}.music-settings input[type=range]{width:100%;accent-color:var(--ss-pink);min-height:44px}.music-settings p{font-size:13px;color:var(--ss-muted);margin:0}.music-settings input[type=checkbox]{accent-color:var(--ss-pink);width:20px;height:20px}
@media(min-width:761px){#resultsPremium{grid-column:1/-1;justify-self:center;margin:0;min-height:38px;padding:6px 22px}.c-promo{display:none}}

@media(min-width:761px) and (min-height:801px) and (max-height:920px){.cover-bottom{position:absolute;bottom:12px;left:0;right:0;padding-top:0}.cover-hero{padding-bottom:30px}}

/* Short phones need space for the saved 4:5 portrait, not a clipped rail. */
@media(max-width:760px) and (max-height:670px){
 body[data-scene=participants] #setupScreen.menu-config .party-setup{height:auto!important;min-height:100dvh}
 body[data-scene=participants] #setupScreen.menu-config .setup-card{height:auto!important;grid-template-rows:auto auto 280px auto!important}
 body[data-scene=participants] .app{height:auto!important;min-height:100dvh;overflow:visible!important}
 body[data-scene=participants] .production-roster-heading h1{font-size:clamp(32px,9vw,36px);line-height:1.08}
}
body[data-scene=participants] .app .production-edit{transform:none}
/* Editing uses the same canonical 4:5 image, at a readable preview size. */
body #participantEditor .photo-preview{width:min(100%,256px)!important;height:auto!important;aspect-ratio:4/5!important;margin:auto;flex:none}body #participantEditor .z-select-label{font-size:0}body #participantEditor .z-select-label::before{content:'Знак зодиака · по дате рождения';font:13px Manrope,sans-serif;color:#d7b5be}body #participantEditor .player-zodiac{font-size:15px}body #participantEditorFields .editing{align-items:start}
@media(max-width:760px){body #participantEditor .photo-preview{width:176px!important}body #participantEditor .z-select-label::before{font-size:12px}}
.scene-control-cluster .speaker-icon{color:#ebc5cb;filter:drop-shadow(0 0 4px #eec9a73a);transition:color .4s,filter .4s}.scene-control-cluster [data-audio-state=playing] .speaker-icon{color:#ffe7ce;filter:drop-shadow(0 0 6px #ecc1a55c)}
@media(max-width:760px){body #participantEditor .participant-editor-card{padding-top:58px!important}body #participantEditor .editor-actions{background:#130d10}}
body .scene-control-cluster #gameProfiles{display:none;width:43px;height:43px;min-height:43px;place-items:center;margin:0;padding:9px;border:0;border-radius:50%;background:none;color:#eed4c9;box-shadow:none}body[data-scene=vote] .scene-control-cluster #gameProfiles,body[data-scene=story] .scene-control-cluster #gameProfiles,body[data-scene=personal] .scene-control-cluster #gameProfiles{display:grid}
@media(max-width:760px){body .scene-control-cluster #gameProfiles{width:32px;height:32px;min-height:32px;padding:6px}}
@media(max-width:760px){body #clubModal .club-card{padding-top:60px!important}body #productionSettings .modal-card,body #evidenceModal .modal-card,body #storyShareModal .modal-card{padding-top:54px!important}}

/* Names retain the script face and the complete wording in every portrait. */
body .participant-portrait .portrait-identity>strong{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:anywhere;word-break:normal;text-wrap:balance;line-height:1.08!important;max-width:100%;font-size:clamp(8px,14cqw,60px)}
body .participant-portrait .portrait-identity{max-width:86%;min-width:0}
body .portrait-dossier .portrait-identity{right:35%;max-width:58%}
.council-stamp text{font-family:'Cormorant Garamond',serif!important;font-weight:600!important;fill:#edc6b0}
.council-stamp .stamp-top{font-size:20px;letter-spacing:1.4px}.council-stamp .stamp-center{font-size:13px;letter-spacing:.8px}.council-stamp .stamp-bottom{font-size:10px;letter-spacing:.6px}
/* The composition picker is a grid. Gameplay/results rails remain unchanged. */
body[data-scene=participants] .app,body[data-scene=participants] #setupScreen.menu-config .party-setup{height:auto!important;min-height:100dvh;overflow:visible!important}
body[data-scene=participants] #setupScreen.menu-config .setup-card{height:auto!important;min-height:calc(100dvh - 80px);grid-template-rows:auto auto auto auto!important}
body[data-scene=participants] #rosterCarousel{display:block!important;height:auto!important}
body[data-scene=participants] #rosterCarousel>.roster-arrow{display:none!important}
body[data-scene=participants] #rosterViewport{height:auto!important;overflow:visible!important}
body[data-scene=participants] #players{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));grid-auto-flow:row!important;grid-auto-columns:auto!important;height:auto!important;gap:18px;padding:14px 8px;overflow:visible!important;scroll-snap-type:none!important;align-items:start}
body[data-scene=participants] .setup-card .player-row:not(.editing){width:100%;min-width:0;min-height:0!important;max-height:none!important;height:auto!important;box-sizing:border-box;align-self:start!important}
body[data-scene=participants] .setup-card #players .add-participant-tile{width:100%;min-width:0;min-height:190px!important;height:auto!important;aspect-ratio:4/5;max-height:none!important}
body[data-scene=participants] #players .production-edit{transform:none!important}
/* Glass segmented navigation, all five existing destinations retained. */
#clubModal .modal-head{align-items:center;padding-bottom:16px;border-bottom:1px solid #d6ab8333;gap:12px}#clubModal .modal-head>div{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:4px 14px;min-width:0}
#clubModal .modal-head .c-overline{grid-column:1/-1;font-size:9px;letter-spacing:.13em}#clubModal #clubTitle{font:400 clamp(28px,3vw,48px)/1.05 'Cormorant Garamond';margin:5px 0;grid-column:2;grid-row:2}.club-header-crown{grid-column:1;grid-row:2;color:#eec8b1;filter:drop-shadow(0 0 7px #dca2a54d)}.club-header-crown svg{width:34px;height:34px}.club-header-caption{grid-column:2;margin:0;font:12px Manrope;color:#cdaeb5}
#clubModal .club-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible;padding:6px;border:1px solid #cda78d38;border-radius:24px;background:linear-gradient(135deg,#39202c99,#130c16bb);box-shadow:inset 0 1px #fff1d411;position:relative;top:auto}
#clubModal .club-tabs button{min-width:0;min-height:46px;padding:8px 5px;white-space:normal;border:1px solid transparent!important;border-radius:19px;background:transparent;font:500 12px/1.2 Manrope;color:#cebbc0;box-shadow:none;text-decoration:none;transition:background .3s,color .3s,box-shadow .3s}
#clubModal .club-tabs button:after{display:none!important}#clubModal .club-tabs button[aria-current=page]{color:#ffe9da;background:linear-gradient(140deg,#c795a43b,#e7b68e1f,#7f465a26);border-color:#e5baa37d!important;box-shadow:inset 0 1px #ffe7d55c,0 0 14px #d7a5ad20}
@media(hover:hover){#clubModal .club-tabs button:hover{background:#e5c2ba13;color:#ffe8e0}}
body .scene-control-cluster .scene-track{display:grid;place-items:center;width:34px;height:38px;min-height:38px;padding:7px;border:0;background:transparent;color:#e8c8b0;border-radius:50%;cursor:pointer}.scene-track:disabled{opacity:.3;cursor:default}.scene-track .c-icon{width:19px;height:19px}
body[data-scene] .app.game-mode .game-head{padding-right:260px}.app.game-mode .game-head .scene-exit{right:218px}
/* Story composition has intentional air, rather than a full-height blank panel. */
body[data-scene] .app.game-mode .game-shell[data-kind=story] .card-stage .card{height:auto!important;min-height:260px;max-height:100%;align-self:center;padding:clamp(24px,3vw,56px)!important}
body[data-scene] .app.game-mode .game-shell[data-kind=story] .card-inner{height:auto!important;min-height:0;gap:24px;justify-content:center}
body[data-scene] .app.game-mode .game-shell[data-kind=story] .card-stage{align-items:center}
body[data-scene] .app.game-mode .game-shell[data-kind=story] .card-inner:after{display:block!important;content:'✧'!important;position:static!important;font:22px 'Cormorant Garamond';color:#d6b39599;text-align:center;height:auto;animation:none!important}
@media(max-width:760px){
 body[data-scene=participants] #setupScreen.menu-config .setup-card{min-height:calc(100dvh - 24px);grid-template-rows:auto auto auto auto!important}
 body[data-scene=participants] #players{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 4px}
 body[data-scene=participants] .setup-card #players .add-participant-tile{min-height:120px!important}
 #clubModal .club-tabs{gap:2px;padding:4px;border-radius:17px}#clubModal .club-tabs button{font-size:9px;min-height:44px;padding:6px 2px;border-radius:13px}#clubModal .club-header-caption{font-size:10px}#clubModal .modal-head>div{grid-template-columns:30px minmax(0,1fr);gap:4px 8px}.club-header-crown svg{width:27px;height:27px}
 body .scene-control-cluster .scene-track{width:26px;height:32px;min-height:32px;padding:4px}.scene-track .c-icon{width:17px;height:17px}
 body[data-scene] .app.game-mode .game-head{padding-top:42px;padding-right:0;min-height:73px;box-sizing:border-box}.app.game-mode .game-head .scene-exit{left:0;right:auto;top:4px!important;width:28px!important;height:28px!important}
 body[data-scene] .app.game-mode .game-shell[data-kind=story] .card-stage .card{min-height:180px;padding:18px!important}
 body[data-scene] .app.game-mode .game-shell[data-kind=story] .card-inner{gap:14px}
}
@media(prefers-reduced-motion:reduce){#clubModal .club-tabs button{transition:none}}
@media(max-width:760px){body[data-scene] .app.game-mode .game-shell[data-kind=story] .card-stage.has-spotlight .story-spotlight{align-self:center!important}body[data-scene] .app.game-mode .game-shell[data-kind=story] .card-stage.has-spotlight .card{align-self:center!important}}
/* The header occupies its real height; fixed legacy rows must not overlap portraits. */
body[data-scene] .app.game-mode .game-shell{grid-template-rows:auto minmax(0,1fr) auto!important}
body[data-scene] .app.game-mode .game-shell>div:first-child{height:auto!important;min-height:42px}
body[data-scene] .app.game-mode .turn-name{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:anywhere;line-height:1.2}
@media(max-width:760px){
 body[data-scene] .app.game-mode .game-shell[data-kind=vote]{grid-template-rows:auto minmax(140px,.5fr) minmax(0,1fr)!important}
 body[data-scene] .app.game-mode .game-head{height:auto!important;min-height:73px;align-items:end}
 body[data-scene] .app.game-mode .turn-name{font-size:11px!important;text-wrap:balance}
}
@media(max-width:760px){body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage .story-spotlight{height:128px!important;min-height:128px!important;max-height:none!important;align-self:start!important}body[data-scene] .app.game-mode .game-shell[data-kind=personal] .card-stage{grid-auto-rows:max-content!important;grid-template-rows:max-content max-content max-content!important} }

/* Placeholder branding stays above the complete name, including three-line names. */
body .participant-portrait .portrait-monogram{justify-content:flex-start;padding-top:20%;box-sizing:border-box}
body .participant-portrait .portrait-monogram small{margin-top:8px;font-size:7px}
:root{--luxury-heart:url(/assets/0659ba8717a2b19b1e4e4e75.webp);}
