*{box-sizing:border-box}body{margin:0;background:#101319;color:#f4f0e8;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.topbar{max-width:900px;margin:auto;padding:34px 24px 20px;display:flex;align-items:end;justify-content:space-between}.topbar h1{font-family:Georgia,serif;font-size:clamp(2.4rem,7vw,4rem);font-weight:400;line-height:1;margin:5px 0}.eyebrow{font-size:.68rem;letter-spacing:.2em;color:#c6a76b;font-weight:700}.status{border:1px solid #514634;color:#d8c49d;border-radius:30px;padding:5px 12px;font-size:.75rem}main{max-width:900px;margin:0 auto;padding:12px 24px 48px}.panel{background:#1b2029;border:1px solid #303744;border-radius:16px;padding:26px;margin:0 auto 20px;box-shadow:0 18px 50px #0003}.narrow{max-width:520px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-head h2,.section-head h3{margin:0}h2{font:400 2rem Georgia,serif;margin:8px 0 10px}h3{font:400 1.35rem Georgia,serif;margin:12px 0}.muted,small{color:#a8afba}.muted{font-size:.92rem}.stack{display:flex;flex-direction:column;gap:10px;margin-top:18px}label{font-size:.88rem;color:#e3d8c4}input,textarea,select{width:100%;background:#11161d;color:#f4f0e8;border:1px solid #414b5a;border-radius:8px;padding:12px;font:inherit}textarea{resize:vertical}button{border:0;border-radius:8px;padding:12px 16px;font:600 .95rem system-ui;cursor:pointer}.primary{background:#c6a76b;color:#171717}.primary:hover{background:#d8bc83}.primary:disabled{opacity:.4;cursor:not-allowed}.quiet{background:#303947;color:#eee5d5}.danger{background:#7d3434;color:white}.small{padding:7px 10px;font-size:.8rem}.inline-form{display:inline-block;margin:4px 4px 4px 0}.divider{height:1px;background:#343c49;margin:25px 0}.player-list{margin-top:10px}.player-row,.vote-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #303744}.player-row small{display:block;font-size:.78rem}.alert{max-width:900px;margin:0 auto 14px;padding:12px 16px;border-radius:8px;background:#542f30;color:#ffe1df}.role-card{margin:18px 0;padding:24px 20px;border-radius:12px;text-align:center;display:flex;flex-direction:column;gap:8px}.role-card span,.role-card small{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.role-card strong{font:400 2.5rem Georgia,serif}.role-card.traitor{background:linear-gradient(140deg,#4b2026,#25171e);border:1px solid #88434a}.role-card.faithful{background:linear-gradient(140deg,#263d3b,#172a2a);border:1px solid #426d64}.waiting,.notice{margin:16px 0;padding:14px 16px;background:#252d38;border-radius:10px;color:#d9c9a8}.pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c6a76b;margin-right:10px;box-shadow:0 0 0 5px #c6a76b22}.host-entry{max-width:900px;margin:0 auto;padding:0 24px}.host-entry details{color:#9ea6b2;font-size:.85rem}.host-entry summary{cursor:pointer}.host-entry form{max-width:320px;padding:14px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.stats div{background:#121821;border:1px solid #303744;border-radius:10px;padding:13px;text-align:center}.stats strong{display:block;font:400 1.8rem Georgia,serif;color:#e0c58d}.stats span{display:block;color:#a8afba;font-size:.75rem}.phase-label{font-size:.68rem;letter-spacing:.18em;color:#c6a76b;font-weight:700;margin:12px 0 0}.winner{background:#263d35;border:1px solid #527d68;border-radius:10px;padding:20px;margin:18px 0;text-align:center}.winner strong{font:400 2rem Georgia,serif}.event-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #303744}.event-row small{white-space:nowrap}footer{text-align:center;color:#69717d;font:italic 1rem Georgia,serif;padding:20px 10px 36px}@media(max-width:560px){.topbar{padding:25px 18px 16px}main{padding:10px 14px 35px}.panel{padding:20px 17px}.section-head{align-items:flex-start}.player-row{align-items:flex-start}.stats{gap:6px}.stats div{padding:10px 4px}}

.dashboard-tabs{max-width:900px;margin:0 auto 16px;display:flex;gap:8px;padding:5px;background:#1b2029;border:1px solid #303744;border-radius:12px}.dashboard-tabs a{flex:1;text-align:center;text-decoration:none;color:#c7cbd2;padding:11px 14px;border-radius:8px;font-weight:650}.dashboard-tabs a.active{background:#c6a76b;color:#171717}.chat-log{max-height:320px;overflow:auto;background:#11161d;border:1px solid #343c49;border-radius:10px;padding:12px;margin:12px 0}.chat-message{padding:9px 4px;border-bottom:1px solid #303744}.chat-message:last-child{border-bottom:0}.chat-message div{display:flex;justify-content:space-between;gap:12px}.chat-message strong{color:#e0c58d}.chat-message small{font-size:.75rem}.chat-message p{margin:5px 0 0;white-space:normal;overflow-wrap:anywhere}.chat-compose{display:flex;flex-direction:column;gap:9px}.chat-compose label{font-size:.88rem;color:#e3d8c4}


/* Version 4: candlelit castle atmosphere and readable image-backed screens */
body.login-page, body.night-page, body.traitor-page, body.breakfast-page, body.castle-page {
  background-color:#0b0d12; background-size:cover; background-position:center; background-attachment:fixed;
}
body.login-page { background-image:linear-gradient(90deg,rgba(5,9,16,.78),rgba(5,9,16,.48)),url('images/castle-login.jpg'); }
body.night-page { background-image:linear-gradient(90deg,rgba(4,9,18,.86),rgba(4,9,18,.70)),url('images/night-castle.jpg'); }
body.traitor-page { background-image:linear-gradient(90deg,rgba(7,5,8,.88),rgba(7,5,8,.66)),url('images/traitor-chamber.jpg'); }
body.breakfast-page { background-image:linear-gradient(90deg,rgba(9,7,6,.82),rgba(9,7,6,.62)),url('images/breakfast-hall.jpg'); }
body.castle-page { background-image:linear-gradient(90deg,rgba(7,10,15,.88),rgba(7,10,15,.78)),url('images/faithful-hall.jpg'); }
.panel { background:rgba(16,20,27,.91); border-color:rgba(198,167,107,.30); backdrop-filter:blur(5px); }
.topbar h1 { color:#e4c58a; text-shadow:0 3px 18px #000; }
.role-card { border-color:rgba(198,167,107,.45); box-shadow:0 12px 36px #0006; }
.night-wait { text-align:center; padding:30px 20px; margin:20px 0; border:1px solid rgba(198,167,107,.35); border-radius:14px; background:linear-gradient(145deg,rgba(10,18,30,.88),rgba(13,15,22,.92)); }
.night-wait h2 { color:#e4c58a; font-size:clamp(1.8rem,5vw,2.7rem); }
.night-wait p { max-width:460px; margin:10px auto; color:#d2d0cb; }
.moon-mark { display:block; color:#d7bd83; font-size:3rem; margin-top:10px; }
.breakfast-reveal { text-align:center; margin:16px 0 22px; padding:24px 18px; border:1px solid #b99354; border-radius:14px; background:linear-gradient(135deg,rgba(38,23,14,.96),rgba(12,15,21,.94)); box-shadow:0 14px 45px #0008; }
.breakfast-reveal h2 { color:#f1d59a; font-size:clamp(1.7rem,5vw,2.5rem); }
.announcement-board { margin:18px 0; padding:16px; border:1px solid rgba(198,167,107,.32); border-radius:12px; background:rgba(12,16,22,.8); }
.announcement-item,.event-row,.history-card { border-bottom:1px solid rgba(198,167,107,.17); padding:10px 0; }
.announcement-item small,.event-row small,.history-card small { display:block; margin-top:3px; color:#bda77e; font-size:.75rem; }
.history-card { margin:10px 0; padding:12px; border:1px solid #343c49; border-radius:10px; background:rgba(8,12,18,.55); }
.timeline-panel { border-color:rgba(198,167,107,.28); }
@media (max-width:600px) {
  body.login-page,body.night-page,body.traitor-page,body.breakfast-page,body.castle-page { background-attachment:scroll; }
  .panel { padding:19px; }
}

.private-room { margin-top:22px; padding:16px; border:1px solid rgba(153,49,62,.55); border-radius:12px; background:rgba(13,10,14,.9); }
.private-room h3 { color:#e5b8a8; }
.chat-line { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:baseline; padding:8px 0; border-bottom:1px solid #3a2930; }
.chat-line strong { color:#d6b27b; }
.chat-line small { white-space:nowrap; color:#9c8d8d; }
@media(max-width:560px){.chat-line{grid-template-columns:1fr auto}.chat-line span{grid-column:1/-1;grid-row:2}}

/* Additional clean, text-free scene backdrops for relevant screens */
body.traitor-page { background-image:linear-gradient(90deg,rgba(7,5,8,.84),rgba(7,5,8,.68)),url('images/traitor-chamber.jpg'); }
body.castle-page { background-image:linear-gradient(90deg,rgba(7,10,15,.86),rgba(7,10,15,.72)),url('images/faithful-hall.jpg'); }

.view-switch { display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end; }
.switch-link { display:inline-block;text-decoration:none;padding:9px 13px;border-radius:8px;background:#303947;color:#eee5d5;border:1px solid rgba(198,167,107,.35);font-size:.88rem;font-weight:600; }
.switch-link:hover { background:#465064;color:#fff; }
@media(max-width:560px){.view-switch{align-items:stretch}.section-head{align-items:flex-start}}


/* Version 4.2 — player dossiers, private notes and one-to-one conversations */
.dossier-heading { display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap; }
.dossier-heading h3 { margin:4px 0 0; }
.dossier-list { display:flex;flex-direction:column;gap:10px;margin-top:16px; }
.dossier { border:1px solid rgba(198,167,107,.32);border-radius:12px;overflow:hidden;background:rgba(9,13,19,.72); }
.dossier[open] { border-color:rgba(198,167,107,.68);background:rgba(12,16,23,.88); }
.dossier summary { list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 16px;min-height:58px; }
.dossier summary::-webkit-details-marker { display:none; }
.dossier summary::before { content:'＋';font-size:1.05rem;color:#d3b477; }
.dossier[open] summary::before { content:'−'; }
.dossier-name { font-family:Georgia,serif;font-size:1.08rem;color:#f0dfbd;flex:1; }
.dossier-meta { color:#aab0b9;font-size:.78rem; }
.dossier-summary-chance { color:#d6b77d;font-size:.82rem;font-variant-numeric:tabular-nums; }
.dossier-content { padding:0 16px 18px;border-top:1px solid rgba(198,167,107,.18); }
.dossier-form { margin-top:15px; }
.range-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.range-head output { color:#e4c58a;font-weight:700;font-variant-numeric:tabular-nums; }
.suspicion-slider { padding:0;margin:4px 0 10px;accent-color:#c6a76b;cursor:pointer; }
.private-player-chat { margin-top:20px;padding:14px;border:1px solid rgba(198,167,107,.22);border-radius:10px;background:rgba(4,8,13,.45); }
.private-player-chat h4 { font:400 1.15rem Georgia,serif;color:#e4c58a;margin:0 0 12px; }
.direct-chat-messages { display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding:2px; }
.direct-chat-message { max-width:88%;padding:9px 11px;border-radius:10px;background:#242c38;border:1px solid #384353; }
.direct-chat-message.mine { align-self:flex-end;background:#30291e;border-color:#695637; }
.direct-chat-message.theirs { align-self:flex-start; }
.direct-chat-message strong { font-size:.8rem;color:#e2c48a; }
.direct-chat-message p { margin:3px 0;white-space:normal;overflow-wrap:anywhere; }
.direct-chat-message small { display:block;text-align:right;font-size:.7rem; }
.direct-chat-form { display:flex;gap:8px;margin-top:12px; }
.direct-chat-form input { min-width:0;flex:1; }
.direct-chat-form button { flex-shrink:0; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media(max-width:560px) {
 .dossier summary { flex-wrap:wrap;gap:7px; }
 .dossier-name { flex-basis:55%; }
 .dossier-meta { margin-left:auto; }
 .dossier-summary-chance { flex-basis:100%;padding-left:25px; }
 .dossier-content { padding-left:12px;padding-right:12px; }
 .direct-chat-form { align-items:stretch; }
}

/* Version 5 — multi-player private chat groups */
.group-player-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;padding:12px;border:1px solid rgba(198,167,107,.25);border-radius:10px;background:rgba(9,13,19,.55)}
.group-player-picker label{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:7px;background:rgba(255,255,255,.035);cursor:pointer}
.group-player-picker input{width:auto;margin:0;accent-color:#c6a76b}
.picker-label{font-size:.88rem;color:#e3d8c4}
.group-chat-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.group-chat .dossier-meta{white-space:nowrap}

/* Brief visual alert when a new message arrives in a group chat. */
.group-chat > summary.incoming-flash {
  animation: group-message-flash 1s ease-in-out 5;
}
@keyframes group-message-flash {
  0%, 100% { background: transparent; }
  50% { background: rgba(211, 180, 119, .34); box-shadow: inset 0 0 0 1px rgba(211, 180, 119, .8); }
}
@media (prefers-reduced-motion: reduce) {
  .group-chat > summary.incoming-flash { animation: none; background: rgba(211, 180, 119, .28); }
}

/* Mission reveal alert on player screens. */
.mission-live.mission-incoming-flash { animation: mission-reveal-flash 1s ease-in-out 5; }
@keyframes mission-reveal-flash {
  0%, 100% { outline: 0 solid transparent; filter: none; }
  50% { outline: 3px solid rgba(211, 180, 119, .9); filter: brightness(1.18); }
}
@media (prefers-reduced-motion: reduce) {
  .mission-live.mission-incoming-flash { animation: none; outline: 2px solid rgba(211, 180, 119, .9); }
}

/* V5.6.8 live public voting */
.live-votes { margin-top: 1rem; }

/* Compact private role label beside the player's name */
.player-title-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.player-title-line h2{margin:0}
.private-role-label{font-size:.72rem;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:#aeb6c2;opacity:.82}
.private-role-label.traitor{color:#d49a9f}
.private-role-label.faithful{color:#a8c9bd}

/* V5.6.21: deliberately opened private role modal and host prize-pot controls */
.role-private-control{display:flex;justify-content:flex-end;margin:-.35rem 0 1rem}
.secret-role-dialog{border:0;padding:0;background:transparent;max-width:min(90vw,420px);width:100%;color:inherit}
.secret-role-dialog::backdrop{background:rgba(5,8,14,.88);backdrop-filter:blur(5px)}
.secret-role-card{border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:2rem;text-align:center;background:#20242b;box-shadow:0 20px 70px rgba(0,0,0,.55)}
.secret-role-card h2{font-size:2.5rem;letter-spacing:.08em;margin:1rem 0}
.secret-role-card.traitor h2{color:#d99aa0}
.secret-role-card.faithful h2{color:#b9d8ca}
.secret-role-card p{color:#d9dce2}
.secret-role-card button{margin-top:1rem;min-width:120px}
.prize-pot-panel{margin:1rem 0;padding:1rem;border:1px solid rgba(197,139,50,.35);border-radius:12px;background:rgba(197,139,50,.06)}
.prize-pot-panel h4{margin:.1rem 0 .4rem}
.inline-form{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap;margin:.6rem 0}
.inline-form label{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.inline-form input[type=number]{width:76px}


/* V5.6.22: clear phase banners and private Traitor allies */
.game-phase-banner{position:relative;overflow:hidden;margin:0 0 1.25rem;padding:1.15rem 1.35rem;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:linear-gradient(110deg,rgba(17,23,34,.96),rgba(37,43,55,.88)),url('https://images.unsplash.com/photo-1518709268805-4e9042af9f23?auto=format&fit=crop&w=1400&q=75') center/cover;color:#f7f3ec;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.game-phase-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,16,24,.92),rgba(12,16,24,.56));pointer-events:none}
.game-phase-banner>*{position:relative;z-index:1}
.game-phase-banner h2{margin:.25rem 0;font-size:1.55rem}
.game-phase-banner p{margin:.35rem 0 0;color:#e0e3e8}
.game-phase-banner .eyebrow{color:#d2b77f;letter-spacing:.13em}
.game-phase-banner.phase-voting{background-image:linear-gradient(110deg,rgba(34,19,23,.96),rgba(71,35,39,.84)),url('https://images.unsplash.com/photo-1518709268805-4e9042af9f23?auto=format&fit=crop&w=1400&q=75')}
.game-phase-banner.phase-night,.game-phase-banner.phase-murdered{background-image:linear-gradient(110deg,rgba(10,14,25,.97),rgba(26,34,52,.84)),url('https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=1400&q=75')}
.game-phase-banner.phase-protected{background-image:linear-gradient(110deg,rgba(12,39,35,.96),rgba(26,74,62,.82)),url('https://images.unsplash.com/photo-1518837695005-2083093ee35b?auto=format&fit=crop&w=1400&q=75')}
.game-phase-banner.phase-complete{background-image:linear-gradient(110deg,rgba(44,34,19,.96),rgba(91,67,34,.82)),url('https://images.unsplash.com/photo-1518709268805-4e9042af9f23?auto=format&fit=crop&w=1400&q=75')}
.role-fellow-traitors{margin:1.2rem auto .5rem;padding:.85rem 1rem;border-radius:10px;background:rgba(0,0,0,.22);text-align:left;max-width:280px}
.role-fellow-traitors ul{margin:.5rem 0 0;padding-left:1.25rem}
.role-fellow-traitors li{margin:.2rem 0}

/* V5.6.23: bundled local phase artwork and consolidated alerts */
.game-phase-banner{background-size:cover;background-position:center;background-repeat:no-repeat;min-height:142px}
.game-phase-banner:before{background:linear-gradient(90deg,rgba(9,13,21,.94),rgba(9,13,21,.72) 58%,rgba(9,13,21,.25))}
.game-phase-banner.phase-socialise{background-image:url('phase-socialise.svg')}
.game-phase-banner.phase-mission{background-image:url('phase-mission.svg')}
.game-phase-banner.phase-discussion{background-image:url('phase-discussion.svg')}
.game-phase-banner.phase-voting{background-image:url('phase-voting.svg')}
.game-phase-banner.phase-murder{background-image:url('phase-murder.svg')}
.game-phase-banner.phase-breakfast{background-image:url('phase-breakfast.svg')}
.game-phase-banner.phase-complete{background-image:url('phase-complete.svg')}
.phase-alert{display:flex;flex-direction:column;gap:.25rem;margin-top:.85rem;padding:.7rem .9rem;border-left:4px solid #d7b779;border-radius:7px;background:rgba(0,0,0,.42);max-width:760px}
.phase-alert strong{font-size:1.05rem;color:#ffe3a7}.phase-alert span{color:#f2eee6}
.host-logout-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.13)}
.host-logout-bottom small{display:block;color:var(--muted,#aaa);margin-top:.2rem}.traitor-chat-history{margin-top:1rem}

/* V5.6.24: role action shares the player-name line */
.player-title-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}
.player-title-line h2{margin:0}
.role-inline-button{margin-left:auto;white-space:nowrap;flex:0 0 auto}
.phase-alert{margin-top:.85rem}

/* V5.6.25: interactive phase sub-panels */
.game-phase-banner .phase-alert { margin-top: 14px; text-align: left; }
.game-phase-banner .phase-alert form { margin-top: 12px; }
.game-phase-banner .phase-alert .private-room { margin-top: 12px; }
.game-phase-banner .phase-alert select,
.game-phase-banner .phase-alert input { max-width: 100%; }

/* V5.6.29: shared player-facing Ferrero Rocher prize pyramid */
.player-prize-panel{margin:1rem 0 1.25rem;padding:1rem 1.1rem;border:1px solid rgba(197,139,50,.38);border-radius:14px;background:linear-gradient(145deg,rgba(197,139,50,.10),rgba(40,25,18,.22));text-align:center}
.player-prize-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left}
.player-prize-heading h3{margin:.15rem 0 0;color:#f1d5a1}
.player-prize-heading>strong{font-size:1.35rem;color:#f4d28d;white-space:nowrap}
.player-prize-heading>strong span{font-size:.9rem;color:var(--muted,#b8b0a6);font-weight:500}
.player-prize-panel>p{margin:.45rem 0 .8rem;color:var(--muted,#c5b9aa);font-size:.92rem}
.ferrero-pyramid{display:flex;flex-direction:column;align-items:center;gap:3px;margin:.4rem auto .7rem;width:min(100%,300px)}
.ferrero-row{display:flex;justify-content:center;gap:4px;min-height:25px}
.ferrero{position:relative;display:block;width:23px;height:23px;border-radius:50%;background:radial-gradient(circle at 33% 27%,#f8e3a5 0 8%,#c58b32 22%,#8a4d19 64%,#4a2612 100%);border:1px solid rgba(255,224,153,.65);box-shadow:inset -3px -3px 4px rgba(0,0,0,.35),0 2px 3px rgba(0,0,0,.35)}
.ferrero:after{content:"";position:absolute;left:5px;right:5px;top:2px;height:5px;border-radius:50%;background:rgba(255,239,194,.65);transform:rotate(-25deg)}
.ferrero.unearned{opacity:.18;filter:grayscale(1);box-shadow:none}
.player-prize-panel>small{color:var(--muted,#b8b0a6)}


/* V5.6.30: compact single-line chat bubbles */
.direct-chat-messages { gap: 4px; padding: 1px; }
.direct-chat-message { max-width: 100%; padding: 4px 7px; margin: 0; }
.direct-chat-message .chat-bubble-line {
  display: flex; align-items: baseline; gap: 5px;
  min-width: 0; white-space: nowrap; overflow-x: auto;
  scrollbar-width: thin;
}
.direct-chat-message .chat-bubble-line small {
  display: inline; flex: 0 0 auto; text-align: left;
  font-size: .66rem; line-height: 1.2; color: #b8a994;
}
.direct-chat-message .chat-bubble-line strong {
  flex: 0 0 auto; font-size: .76rem; line-height: 1.2;
}
.direct-chat-message .chat-bubble-line span {
  display: inline; flex: 0 0 auto; min-width: 0;
  font-size: .82rem; line-height: 1.25; white-space: pre;
}
.direct-chat-form { gap: 5px; margin-top: 7px; }
.private-player-chat { margin-top: 12px; padding: 9px; }

/* V5.6.31: landscape phase photography */

.game-phase-banner{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;min-height:170px}
.game-phase-banner.phase-socialise{background-image:linear-gradient(90deg,rgba(12,16,24,.82),rgba(12,16,24,.38)),url('images/announcement-terrace.jpg')!important}
.game-phase-banner.phase-mission{background-image:linear-gradient(90deg,rgba(12,16,24,.82),rgba(12,16,24,.38)),url('images/host-hall.jpg')!important}
.game-phase-banner.phase-discussion{background-image:linear-gradient(90deg,rgba(12,16,24,.84),rgba(12,16,24,.4)),url('images/traitor-chamber.jpg')!important}
.game-phase-banner.phase-voting{background-image:linear-gradient(90deg,rgba(12,16,24,.84),rgba(12,16,24,.4)),url('images/voting-hall.jpg')!important}
.game-phase-banner.phase-murder,.game-phase-banner.phase-night{background-image:linear-gradient(90deg,rgba(12,16,24,.86),rgba(12,16,24,.42)),url('images/night-castle.jpg')!important}
.game-phase-banner.phase-breakfast{background-image:linear-gradient(90deg,rgba(12,16,24,.82),rgba(12,16,24,.38)),url('images/breakfast-hall.jpg')!important}
.game-phase-banner.phase-complete{background-image:linear-gradient(90deg,rgba(12,16,24,.82),rgba(12,16,24,.38)),url('images/announcement-terrace.jpg')!important}

/* V5.6.32 — distinct rounded player panels and clear night decision states */
.player-secrets-panel, .group-chats-panel, .host-reset-panel {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(198,167,107,.28);
  border-radius: 16px;
  background: rgba(8,12,18,.58);
  box-shadow: 0 10px 28px rgba(0,0,0,.16);
}
.player-secrets-panel { border-color: rgba(198,167,107,.34); }
.group-chats-panel { border-color: rgba(122,157,190,.30); }
.host-reset-panel { border-color: rgba(190,92,82,.35); }
.night-decision { padding: 14px 16px; border-left: 4px solid #c6a76b; }
.night-decision > strong { display:block; letter-spacing:.08em; }
.night-decision p { margin: 7px 0 0; }
.dagger-decision { border-left-color: #c6a76b; background: rgba(126,93,37,.20); }

/* V5.6.33 — player outcome banners and automatic dagger voting */
.player-outcome-banner { margin: 12px 0 16px; padding: 16px 18px; border-radius: 12px; border: 2px solid; display:flex; flex-direction:column; gap:5px; box-shadow:0 8px 22px rgba(0,0,0,.22); }
.player-outcome-banner strong { font-size:1.05rem; letter-spacing:.07em; }
.player-outcome-banner.murdered { background:rgba(145,35,35,.32); border-color:#d45b55; color:#ffe4e1; }
.player-outcome-banner.banished { background:rgba(115,43,35,.30); border-color:#c77a68; color:#ffe8df; }
.player-outcome-banner.recruitment { background:rgba(108,76,145,.28); border-color:#ad8bd1; color:#f1e6ff; }
.player-outcome-banner.survived { background:rgba(40,112,83,.28); border-color:#65bd91; color:#e1fff0; }
.dagger-auto-notice { padding:10px 12px; border-radius:9px; background:rgba(126,93,37,.2); border:1px solid rgba(198,167,107,.45); }
\n.accordion-controls{display:flex;gap:.6rem;flex-wrap:wrap;margin:.75rem 0}.accordion-controls button{min-height:40px}\n