@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap";:root{--bg-dark:#0a0a0f;--bg-panel:#13131a;--bg-card:#1a1a24;--bg-hover:#222230;--text-primary:#e8e0d0;--text-secondary:#9a9080;--text-muted:#605848;--gold:#c4a55a;--gold-dim:#8a7540;--red:#8b0000;--green:#2d5a2d;--blue:#2d3a5a;--border:#2a2a35;--border-light:#3a3a48}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text-primary);min-height:100vh;font-family:Crimson Text,Georgia,serif;font-size:18px;line-height:1.6}h1,h2,h3,h4{color:var(--gold);letter-spacing:.05em;font-family:Cinzel,serif;font-weight:600}.game-container{justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem;display:flex}.game-frame{width:100%;max-width:800px}.btn-primary{background:linear-gradient(135deg, var(--gold-dim), var(--gold));color:var(--bg-dark);letter-spacing:.1em;cursor:pointer;text-transform:uppercase;border:none;margin:1.5rem auto;padding:.8rem 2rem;font-family:Cinzel,serif;font-size:1rem;font-weight:600;transition:all .3s;display:block}.btn-primary:hover{background:var(--gold);transform:translateY(-2px);box-shadow:0 4px 20px #c4a55a4d}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;margin:1rem auto;padding:.5rem 1.5rem;font-family:Cinzel,serif;font-size:.85rem;transition:all .3s;display:block}.btn-secondary:hover{border-color:var(--gold-dim);color:var(--gold)}.house-select{text-align:center}.select-header h1{text-shadow:0 0 30px #c4a55a4d;margin-bottom:.5rem;font-size:2.5rem}.subtitle{color:var(--text-secondary);margin-bottom:2rem;font-style:italic}.step-label{text-align:left;border-bottom:1px solid var(--border);margin:1.5rem 0 1rem;padding-bottom:.5rem;font-size:1.1rem}.house-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:1rem 0;display:grid}.house-card{background:var(--bg-card);border:1px solid var(--border);text-align:left;cursor:pointer;padding:1.2rem;transition:all .3s;position:relative;overflow:hidden}.house-card:hover{border-color:var(--house-color,var(--gold-dim));background:var(--bg-hover);transform:translateY(-3px);box-shadow:0 8px 25px #0006}.house-card.selected{border-color:var(--house-color,var(--gold));box-shadow:0 0 15px color-mix(in srgb, var(--house-color,var(--gold)) 30%, transparent)}.house-banner{background:var(--house-color,var(--gold-dim));width:calc(100% + 2.4rem);height:4px;margin:-1.2rem -1.2rem 1rem}.house-card h3{color:var(--text-primary);margin-bottom:.2rem;font-size:1rem}.house-title{color:var(--house-color,var(--gold));letter-spacing:.1em;text-transform:uppercase;font-family:Cinzel,serif;font-size:.8rem}.house-desc{color:var(--text-secondary);margin-top:.5rem;font-size:.85rem}.play-style{color:var(--text-muted);font-size:.75rem;font-style:italic}.check-mark{color:var(--gold);font-size:1.5rem;position:absolute;top:.5rem;right:.5rem}.chosen-house{margin:1rem 0}.start-btn{margin-top:2rem;padding:1rem 3rem;font-size:1.2rem}.engine-builder{padding:1rem 0}.act-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.round-badge{background:var(--bg-card);border:1px solid var(--gold-dim);color:var(--gold);padding:.3rem .8rem;font-family:Cinzel,serif;font-size:.8rem}.narrative-box{background:var(--bg-card);border-left:3px solid var(--gold-dim);margin-bottom:2rem;padding:1rem 1.5rem}.narrative-text{color:var(--text-secondary);font-style:italic}.tracks-panel{background:var(--bg-panel);border:1px solid var(--border);margin-bottom:2rem;padding:1.5rem}.tracks-panel h3{margin-bottom:1rem;font-size:1rem}.track-row{align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.track-label{align-items:center;gap:.5rem;min-width:160px;display:flex}.track-icon{font-size:1.2rem}.track-name{color:var(--text-primary);font-family:Cinzel,serif;font-size:.85rem}.track-value{color:var(--gold);text-align:right;min-width:30px;font-weight:600}.track-bar{background:var(--bg-dark);border:1px solid var(--border);flex:1;height:8px;overflow:hidden}.track-fill{height:100%;transition:width .5s}.track-fill.healthy{background:var(--gold)}.track-fill.warning{background:#b8860b}.track-fill.critical{background:var(--red)}.btn-invest{background:var(--bg-card);border:1px solid var(--border);color:var(--gold);cursor:pointer;width:30px;height:30px;font-size:1rem;transition:all .2s}.btn-invest:hover{background:var(--gold-dim);color:var(--bg-dark)}.council-btn{width:100%}.council-session{padding:1rem 0}.topic-reveal{text-align:center}.narrative-intro{color:var(--text-secondary);max-width:600px;margin:0 auto 2rem;font-size:1.1rem;font-style:italic;line-height:1.8}.topic-card{background:var(--bg-panel);border:1px solid var(--gold-dim);text-align:left;margin:1.5rem 0;padding:2rem}.topic-card h2{margin-bottom:1rem;font-size:1.5rem}.topic-effects{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.effect-label{color:var(--text-muted);margin-right:.5rem;font-size:.85rem}.effect{margin:.2rem;padding:.2rem .5rem;font-family:Cinzel,serif;font-size:.8rem;display:inline-block}.effect.positive{color:#6a9f6a}.effect.negative{color:#9f6a6a}.stances-reveal h2{text-align:center;margin-bottom:1.5rem}.stance-list{flex-direction:column;gap:.8rem;display:flex}.stance-card{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--house-color,var(--border));padding:1rem 1.5rem;transition:all .5s}.stance-card.hidden{opacity:.2;filter:blur(2px)}.stance-card.revealed{opacity:1;filter:none}.stance-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.house-name{font-family:Cinzel,serif;font-weight:600}.stance-badge{letter-spacing:.1em;text-transform:uppercase;padding:.2rem .6rem;font-family:Cinzel,serif;font-size:.75rem}.stance-for{color:#6a9f6a;border:1px solid #3a5f3a}.stance-against{color:#9f6a6a;border:1px solid #5f3a3a}.stance-abstain{color:var(--text-muted);border:1px solid var(--border)}.stance-speech{color:var(--text-secondary);font-size:.95rem;font-style:italic}.lobby-phase{text-align:center}.lobby-hint{color:var(--text-secondary);margin-bottom:1.5rem;font-style:italic}.lobby-targets{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.lobby-target{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--house-color,var(--border));cursor:pointer;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;transition:all .3s;display:flex}.lobby-target:hover,.lobby-target.selected{background:var(--bg-hover);border-color:var(--house-color,var(--gold-dim))}.lobby-options{text-align:left;margin-top:1.5rem}.lobby-options h3{margin-bottom:1rem;font-size:1rem}.lobby-option{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);margin-bottom:.5rem;padding:1rem 1.2rem;transition:all .3s;display:block}.lobby-option:hover{background:var(--bg-hover);border-color:var(--gold-dim)}.option-text{font-style:italic;display:block}.option-cost{color:var(--text-muted);margin-top:.3rem;font-size:.75rem;display:block}.lobby-response-box{background:var(--bg-card);border:1px solid var(--gold-dim);white-space:pre-line;margin:1rem 0;padding:1.5rem}.vote-phase{text-align:center}.vote-topic{margin:1.5rem 0}.current-tally{flex-direction:column;gap:.5rem;margin:1.5rem 0;display:flex}.tally-entry{background:var(--bg-card);border:1px solid var(--border);justify-content:space-between;padding:.5rem 1rem;display:flex}.player-vote{border-color:var(--gold-dim)}.vote-buttons{justify-content:center;gap:1rem;margin-top:2rem;display:flex}.btn-vote{letter-spacing:.1em;cursor:pointer;text-transform:uppercase;border:2px solid;padding:1rem 3rem;font-family:Cinzel,serif;font-size:1.2rem;font-weight:700;transition:all .3s}.btn-for{color:#6a9f6a;background:0 0;border-color:#3a5f3a}.btn-for:hover{background:#1a3f1a;box-shadow:0 0 20px #6a9f6a4d}.btn-against{color:#9f6a6a;background:0 0;border-color:#5f3a3a}.btn-against:hover{background:#3f1a1a;box-shadow:0 0 20px #9f6a6a4d}.vote-result-screen{text-align:center;padding:2rem 0}.result-seal h1{margin-bottom:.5rem;font-size:2rem}.vote-result-screen.passed .result-seal h1{color:#6a9f6a}.vote-result-screen.failed .result-seal h1{color:#9f6a6a}.vote-count{color:var(--text-secondary);font-family:Cinzel,serif}.result-topic{margin:1.5rem 0}.result-effects{background:var(--bg-card);border:1px solid var(--border);text-align:left;margin:1rem 0;padding:1rem}.effect-row{justify-content:space-between;padding:.3rem 0;display:flex}.effect-row.positive .effect-value{color:#6a9f6a}.effect-row.negative .effect-value{color:#9f6a6a}.result-votes-detail{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0;display:flex}.vote-chip{border:1px solid;padding:.3rem .8rem;font-family:Cinzel,serif;font-size:.8rem}.vote-chip.for{color:#6a9f6a}.vote-chip.against{color:#9f6a6a}.vote-chip.abstain{color:var(--text-muted)}.result-narrative{color:var(--text-secondary);max-width:500px;margin-top:1.5rem;margin-left:auto;margin-right:auto;font-style:italic}.result-waiting p{color:var(--text-muted);animation:1.5s infinite pulse}.game-over{text-align:center;padding:3rem 0}.game-over h1{margin-bottom:2rem;font-size:2.5rem}.final-tracks{background:var(--bg-card);border:1px solid var(--border);max-width:300px;margin:1rem auto;padding:1.5rem}.final-tracks p{padding:.3rem 0;font-family:Cinzel,serif}.final-narrative{color:var(--text-secondary);max-width:500px;margin:2rem auto;font-style:italic}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (width<=600px){.game-container{padding:1rem}.house-grid{grid-template-columns:1fr}.vote-buttons{flex-direction:column}.btn-vote{width:100%}.select-header h1{font-size:1.8rem}}
