/* Bluffa: TV-vyer, mobilens fritext och röstning samt det stegvisa facitet. Laddas efter round-view.css.
 * TV:n har en kolumn (inga namn under skrivandet); mått i --u som resten av TV-vyn. */
.bluff-blank{display:inline-block;min-width:3.2em;border-bottom:.12em solid var(--accent);color:var(--accent);line-height:1}
.bluff-blank.is-filled{min-width:0;padding:0 .12em;text-transform:uppercase}
.bluff-label,.bluff-card-text,.bluff-own-text{text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere}

/* TV: skrivfasen visar bara antalet, röstningen visar alla alternativ i blandad ordning. */
.tv-single{min-width:0;min-height:0;display:grid;place-items:center}
.bluff-write-stage{display:grid;justify-items:center;gap:calc(var(--u)*2);text-align:center}
.bluff-write-stage p{font-size:calc(var(--u)*2.2);margin:0;color:var(--muted)}
.bluff-progress{display:grid;justify-items:center;gap:calc(var(--u)*.8);color:var(--muted);font-size:calc(var(--u)*2)}
.bluff-count{font-size:calc(var(--u)*15);line-height:1;font-weight:850;color:var(--accent);font-variant-numeric:tabular-nums}
.bluff-count span{font-size:.4em;color:var(--muted)}
.bluff-progress progress{width:calc(var(--u)*40);height:calc(var(--u)*.9);accent-color:var(--accent)}
.bluff-vote-stage{width:min(100%,calc(var(--u)*150));height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:calc(var(--u)*1.4)}
.bluff-vote-stage .bluff-progress{grid-auto-flow:column;grid-auto-columns:max-content;justify-content:center;align-items:center;gap:calc(var(--u)*1.4)}
.bluff-vote-stage .bluff-count{font-size:calc(var(--u)*4.2)}
.bluff-vote-stage .bluff-progress progress{width:calc(var(--u)*24)}
.bluff-options{list-style:none;margin:0;padding:3px;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:safe center;gap:calc(var(--u)*1.4)}
.bluff-options.is-many{grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*1)}
.bluff-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:calc(var(--u)*1.6);min-height:calc(var(--u)*9);background:#29223d;border:1px solid #655b7e;border-radius:calc(var(--u)*2.2);padding:calc(var(--u)*1) calc(var(--u)*2)}
.bluff-option .bluff-label{font-size:calc(var(--u)*3.1);font-weight:800;line-height:1.15}
.bluff-options.is-many .bluff-option{min-height:calc(var(--u)*7)}.bluff-options.is-many .bluff-label{font-size:calc(var(--u)*2.4)}
.bluff-letter{display:grid;place-items:center;width:calc(var(--u)*4.6);aspect-ratio:1;border-radius:50%;background:#433853;font-weight:850;font-size:calc(var(--u)*2.2);color:var(--accent)}

/* Mobil: fritext med räknare i nederdelen, röstknapparna i mitten och värdens Dölj. */
.bluff-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;margin:0}
.bluff-form label{margin:0;font-size:13px;align-self:end}
.bluff-form input{grid-column:1/-1;font-size:19px;min-height:54px}
.bluff-counter{grid-row:1;grid-column:2;justify-self:end;align-self:end;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.bluff-form .primary{grid-column:1/-1;min-height:52px;border-radius:18px}
.bluff-own-text{font-size:19px;color:var(--ink)}
.bluff-phone-vote .phone-middle{justify-content:flex-start}
.bluff-choices{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bluff-choice-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.bluff-choice{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0;min-height:56px;padding:10px 14px;border:2px solid transparent;border-radius:16px;background:#2f2847;color:var(--ink);font-size:17px;font-weight:800;text-align:left}
.bluff-choice .bluff-letter{width:30px;font-size:14px}
.bluff-choice.selected{border-color:var(--accent);box-shadow:0 0 0 2px #d8fd7855}
.bluff-choice.not-selected{opacity:.5}
.bluff-choice.is-own{background:#221d35;border:1px dashed #655b7e;opacity:.75}
.bluff-choice:disabled{opacity:1;cursor:default}.bluff-choice.is-own:disabled{opacity:.7}
.bluff-choice.is-readonly{font-size:15px}
.bluff-own-tag{grid-column:2;font-size:12px;font-weight:600;color:var(--muted);text-transform:none}
.bluff-choice .answer-check{color:var(--accent)}
.bluff-hide{padding:8px;font-size:13px}
.bluff-moderation{margin:0}
.bluff-truth-line strong{color:var(--accent);text-transform:uppercase}

/* TV-facit: påhitten ett i taget med författare och lurade, sanningen sist; poängen i nederdelen. */
.bluff-reveal-list{list-style:none;margin:0;padding:3px;width:100%;max-height:100%;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--u)*40)),1fr));align-content:safe center;gap:calc(var(--u)*1.2)}
.bluff-card{display:grid;align-content:start;gap:calc(var(--u)*.6);min-width:0;background:#29223d;border:1px solid #655b7e;border-radius:calc(var(--u)*2);padding:calc(var(--u)*1.2) calc(var(--u)*1.8)}
.bluff-card.has-voters{border-color:#f6a4d0aa}
.bluff-card.is-house{background:#262036}
.bluff-card-text{margin:0;font-size:calc(var(--u)*2.9);font-weight:850;line-height:1.15;color:var(--ink)}
.bluff-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--u)*.5) calc(var(--u)*1);min-width:0;font-size:calc(var(--u)*1.45)}
.bluff-meta-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.85em}
.bluff-people{display:inline-flex;align-items:center;gap:calc(var(--u)*.4);min-width:0;flex-wrap:wrap}
.tv-round .bluff-people .avatar{width:calc(var(--u)*3.2);font-size:calc(var(--u)*1.2);border-width:1px}
.bluff-people-names{color:var(--ink);font-weight:700;overflow-wrap:anywhere}
.bluff-people.is-empty{color:var(--muted)}
.bluff-house{color:var(--muted);font-weight:700}
.bluff-points{margin-left:auto;color:var(--accent);font-variant-numeric:tabular-nums}
.bluff-truth{background:linear-gradient(120deg,#3e3c36,#292639);border:2px solid var(--accent)}
.bluff-truth .bluff-card-text{color:var(--accent)}
.bluff-footer{display:flex;align-items:center;gap:calc(var(--u)*2)}
.bluff-footer .time-bar{flex:1}
.bluff-awards{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u)*.6) calc(var(--u)*1.4);max-width:55%}
.bluff-awards li{display:flex;align-items:center;gap:calc(var(--u)*.5);font-size:calc(var(--u)*1.7);font-variant-numeric:tabular-nums}
.tv-round .bluff-awards .avatar{width:calc(var(--u)*3.4);font-size:calc(var(--u)*1.25);border-width:1px}
.bluff-reveal.is-dense .bluff-card{padding:calc(var(--u)*.7) calc(var(--u)*1.2);gap:calc(var(--u)*.4)}
.bluff-reveal.is-dense .bluff-card-text{font-size:calc(var(--u)*2)}
@media(max-width:899px),(max-height:540px){.bluff-reveal-list,.bluff-options{overflow:visible}.bluff-footer{flex-wrap:wrap}.bluff-awards{max-width:none}}
@media(max-width:650px){.bluff-choice{font-size:16px;min-height:52px;padding:9px 12px}.bluff-form input{font-size:18px}}

/* Stegvist avslöjande, bara när facit just visats och användaren inte begärt mindre rörelse. */
@media(prefers-reduced-motion:no-preference){
  .bluff-reveal.phase-enter [class*="bluff-step-"]{animation:bluff-reveal-in .5s ease-out both}
  .bluff-reveal.phase-enter .bluff-truth{animation-name:bluff-truth-in;animation-duration:.7s}
  .bluff-reveal.phase-enter .bluff-step-1{animation-delay:1.5s}.bluff-reveal.phase-enter .bluff-step-2{animation-delay:3s}
  .bluff-reveal.phase-enter .bluff-step-3{animation-delay:4.5s}.bluff-reveal.phase-enter .bluff-step-4{animation-delay:6s}
  .bluff-reveal.phase-enter .bluff-step-5{animation-delay:7.5s}.bluff-reveal.phase-enter .bluff-step-6{animation-delay:9s}
  .bluff-reveal.phase-enter .bluff-step-7{animation-delay:10.5s}.bluff-reveal.phase-enter .bluff-step-8{animation-delay:12s}
  .bluff-reveal.phase-enter .bluff-step-9{animation-delay:13.5s}.bluff-reveal.phase-enter .bluff-step-10{animation-delay:15s}
  .bluff-reveal.phase-enter .bluff-step-11{animation-delay:16.5s}.bluff-reveal.phase-enter .bluff-step-12{animation-delay:18s}
  .bluff-reveal.phase-enter .bluff-step-13{animation-delay:19.5s}.bluff-reveal.phase-enter .bluff-step-14{animation-delay:21s}
  .bluff-reveal.phase-enter .bluff-step-15{animation-delay:22.5s}
  @keyframes bluff-reveal-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
  @keyframes bluff-truth-in{0%{opacity:0;transform:scale(.9)}70%{opacity:1;transform:scale(1.03)}100%{opacity:1;transform:none}}
}
