/* Демонстрации используют настоящие tailwind.css + site.css игры. Здесь находятся только
   ограничения статического iframe и моковые узлы, которые в рабочей странице создаёт JS. */
html, body { min-height: 100%; }
body.game-demo-page { min-height: 100vh; overflow-x: hidden; }
.game-demo-page button, .game-demo-page input { pointer-events: none; }
.game-demo-page .demo-root { width: min(100%, 1280px); margin: 0 auto; }
.game-demo-page .demo-note { margin: 0 0 1rem; padding: .65rem .85rem; border-left: 3px solid #00ff41; background: rgba(0,255,65,.07); font-size: .75rem; opacity: .85; }
.game-demo-page .demo-player-list { display: grid; gap: .55rem; }
.game-demo-page .demo-player-slot { display: flex; align-items: center; gap: .7rem; padding: .65rem .75rem; border: 1px solid rgba(0,255,65,.35); background: rgba(0,0,0,.45); }
.game-demo-page .demo-player-slot .player-info { min-width: 0; flex: 1 1 auto; }
.game-demo-page .demo-avatar { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #00ff41; border-radius: 50%; font-size: 1.25rem; }
.game-demo-page .demo-ready { color: #00ff41; font-size: .7rem; }
.game-demo-page .demo-wait { color: #ffd24a; font-size: .7rem; }
.game-demo-page .demo-vote-selected { border-color: #ffd24a !important; box-shadow: 0 0 14px rgba(255,210,74,.22); }
.game-demo-page .demo-vote-selected input { accent-color: #ffd24a; }
.game-demo-page .demo-vote-backdrop { min-height: 100vh; }
/* Эти правила дословно повторяют встроенное оформление Results.cshtml. */
.results-hero { text-align:center; padding:2rem 0 1rem; max-width:100%; overflow:hidden; }
.results-hero-icon { display:inline-block; max-width:100%; font-size:4rem; line-height:1; margin-bottom:.5rem; }
.results-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; width:min(100%,34rem); margin:.5rem auto 0; }
.summary-badge { display:flex; align-items:center; justify-content:center; gap:.5rem; border:1px solid #00ff41; padding:.5rem .65rem; min-width:0; min-height:44px; font-size:.78rem; color:#00ff41; line-height:1.2; text-align:center; }
.survivors-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1rem; }
.player-result-card { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:1rem; border:1px solid #00ff41; background:rgba(0,0,0,.7); position:relative; }
.player-result-card.expelled { border-color:#ff4444; opacity:.75; }
.player-result-avatar { width:72px; height:72px; border-radius:50%; border:2px solid #00ff41; object-fit:cover; background:#111; display:flex; align-items:center; justify-content:center; font-size:2rem; flex-shrink:0; }
.player-stat-row { display:flex; justify-content:space-between; width:100%; gap:.5rem; font-size:.78rem; border-bottom:1px solid rgba(0,255,65,.15); padding:2px 0; }
.player-title-badge { font-size:.7rem; padding:2px 8px; border:1px solid #00ff41; color:#00ff41; text-align:center; margin-top:2px; }
.analysis-catastrophe { border:1px solid #ff4444; background:rgba(255,68,68,.08); padding:.75rem 1rem; margin-bottom:1rem; text-align:center; }
.analysis-catastrophe-title { font-size:1.1rem; font-weight:bold; color:#ff4444; margin-bottom:.4rem; }
.analysis-catastrophe-row { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; font-size:.8rem; opacity:.9; }
.analysis-score-hero { border:1px solid #ffd700; box-shadow:0 0 12px rgba(255,215,0,.4); padding:1.25rem; text-align:center; margin-bottom:1rem; }
.analysis-score-value { color:#ffd700; font-size:2.5rem; font-weight:bold; line-height:1; }
.analysis-score-label { font-size:.75rem; opacity:.7; letter-spacing:.05em; margin-bottom:.5rem; }
.analysis-verdict-title { color:#ffd700; font-size:1.1rem; font-weight:bold; margin-top:.5rem; }
.analysis-verdict-sub { font-size:.8rem; font-weight:normal; opacity:.8; margin-top:.4rem; }
.analysis-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-bottom:1rem; }
.analysis-card { border:1px solid #00ff41; background:rgba(0,0,0,.6); padding:.9rem; text-align:center; }
.analysis-card-icon { font-size:1.8rem; margin-bottom:.4rem; }
.analysis-card-value { font-size:1.3rem; font-weight:bold; color:#00ff41; }
.analysis-card-label { font-size:.7rem; opacity:.7; letter-spacing:.05em; margin-top:.2rem; }
.analysis-card-note { font-size:.75rem; margin-top:.4rem; }
.analysis-card-note.good { color:#00ff41; }
.radiation-adjustments { --radiation-panel:#ffd24a; position:relative; overflow:hidden; margin:1.25rem 0; border:1px solid #ffd24a; background:linear-gradient(135deg,rgba(255,210,74,.12),rgba(0,0,0,.76) 48%),rgba(4,8,4,.9); padding:clamp(1rem,3vw,1.5rem); box-shadow:inset 0 0 24px rgba(255,210,74,.08); }
.radiation-adjustments-header { display:flex; align-items:center; justify-content:center; gap:.65rem; margin-bottom:1rem; color:var(--radiation-panel); font-size:clamp(1rem,2.5vw,1.35rem); font-weight:800; letter-spacing:.08em; text-align:center; text-shadow:0 0 10px rgba(255,210,74,.55); }
.radiation-score-flow { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:clamp(.5rem,2vw,1.25rem); width:min(100%,34rem); margin:0 auto 1rem; }
.radiation-score-cell { border:1px solid rgba(255,210,74,.45); padding:.65rem .5rem; background:rgba(0,0,0,.55); text-align:center; }
.radiation-score-label { display:block; margin-bottom:.2rem; color:rgba(255,255,255,.68); font-size:.7rem; letter-spacing:.08em; }
.radiation-score-number { display:block; color:#00ff41; font-size:clamp(1.25rem,4vw,1.75rem); font-weight:900; line-height:1; }
.radiation-score-cell.is-penalty .radiation-score-number { color:#ff7b72; }
.radiation-score-arrow { color:var(--radiation-panel); font-size:1.25rem; }
.radiation-impact-list { display:grid; gap:.65rem; }
.radiation-adjustment-row { display:grid; grid-template-columns:3.75rem minmax(0,1fr) auto; align-items:center; gap:.8rem; min-height:4.25rem; padding:.7rem .85rem; border-left:3px solid currentColor; background:rgba(0,0,0,.52); }
.radiation-adjustment-row.is-penalty { color:#ff7b72; }
.radiation-adjustment-row.is-bonus { color:#7ee787; }
.radiation-player-avatar { position:relative; width:3.75rem; height:3.75rem; display:flex; align-items:center; justify-content:center; border:2px solid currentColor; border-radius:50%; background:#050705; font-size:1.45rem; }
.radiation-player-state-icon { position:absolute; right:-.3rem; bottom:-.2rem; width:1.45rem; height:1.45rem; display:flex; align-items:center; justify-content:center; border:1px solid currentColor; border-radius:50%; background:#050705; font-size:.68rem; }
.radiation-adjustment-copy { min-width:0; }
.radiation-adjustment-title { font-size:clamp(.88rem,2.2vw,1.05rem); font-weight:800; line-height:1.3; }
.radiation-player-status { display:inline-block; margin-top:.18rem; padding:.12rem .38rem; border:1px solid currentColor; font-size:.65rem; font-weight:800; letter-spacing:.06em; }
.radiation-adjustment-note { margin-top:.18rem; color:rgba(255,255,255,.68); font-size:clamp(.72rem,1.8vw,.84rem); line-height:1.4; }
.radiation-adjustment-value { min-width:5rem; font-size:clamp(1.15rem,3vw,1.45rem); font-weight:900; line-height:1; text-align:right; white-space:nowrap; }
@media (max-width: 640px) {
    body.game-demo-page { padding: .6rem; }
    .game-demo-page .demo-note { font-size: .68rem; }
    .radiation-adjustment-row { grid-template-columns:3.25rem minmax(0,1fr); }
    .radiation-adjustment-value { grid-column:2; min-width:0; text-align:left; }
}
@media (min-width:768px) { .results-summary-grid { grid-template-columns:repeat(5,minmax(0,1fr)); width:min(100%,58rem); } }
