*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;min-height:100vh;background:#1a1a2e;color:#eee}.app{max-width:500px;margin:0 auto;padding:2rem 1rem}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:2.5rem;margin-bottom:.25rem;color:#fff}.subtitle{font-size:1rem;color:#888;margin-bottom:.5rem}.reign{font-size:1.25rem;color:#f1c40f;font-weight:700}.reset-button{margin-top:.75rem;padding:.5rem 1rem;font-size:.85rem;background:#34495e;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.reset-button:hover{background:#4a6278}.balance-section{margin-bottom:1.5rem}.balance-slider{background:#16213e;padding:1rem;border-radius:12px}.balance-labels{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.label-left{color:#e74c3c}.label-center{color:#888}.label-right{color:#f1c40f}.balance-track{position:relative;height:24px;background:linear-gradient(to right,#c0392b,#27ae60 45%,#27ae60 55%,#d4a017);border-radius:12px;overflow:visible}.balance-track.danger{animation:danger-pulse 1s ease-in-out infinite}.balance-track.critical{animation:critical-pulse .5s ease-in-out infinite}@keyframes danger-pulse{0%,to{box-shadow:0 0 #e74c3c00}50%{box-shadow:0 0 20px 5px #e74c3c66}}@keyframes critical-pulse{0%,to{box-shadow:0 0 #e74c3c00}50%{box-shadow:0 0 30px 10px #e74c3c99}}.equilibrium-zone{position:absolute;left:47.5%;width:5%;height:100%;background:#ffffff4d;border-radius:4px}.balance-marker{position:absolute;top:50%;width:20px;height:20px;background:#fff;border:3px solid #16213e;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0006;transition:left .3s ease}.balance-value{text-align:center;margin-top:.5rem;font-size:1.25rem;font-weight:700;color:#fff}.budget-section{margin-bottom:1.5rem}.tax-rate{text-align:center;font-size:.85rem;color:#2ecc71;margin-top:.5rem}.stat-bar{background:#16213e;padding:.75rem 1rem;border-radius:8px}.stat-bar.warning{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{background:#16213e}50%{background:#3d1a1a}}.stat-label{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem}.stat-value{font-weight:700}.stat-track{height:8px;background:#0f0f23;border-radius:4px;overflow:hidden}.stat-fill{height:100%;border-radius:4px;transition:width .3s ease}.main-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.main-action-button{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem 1rem;font-size:1rem;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.main-action-button.left{background:linear-gradient(135deg,#c0392b,#e74c3c)}.main-action-button.left:hover:not(.disabled){background:linear-gradient(135deg,#a93226,#c0392b);transform:translateY(-2px)}.main-action-button.right{background:linear-gradient(135deg,#d4a017,#f1c40f);color:#1a1a2e}.main-action-button.right:hover:not(.disabled){background:linear-gradient(135deg,#b8860b,#d4a017);transform:translateY(-2px)}.main-action-button.disabled{opacity:.5;cursor:not-allowed;transform:none}.main-action-text{font-weight:700;font-size:.95rem}.main-action-cost{font-size:.8rem;opacity:.9}.main-action-cooldown{position:absolute;top:.5rem;right:.5rem;background:#0006;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700}.popup-section{margin-bottom:1.5rem}.popup-action-card{background:linear-gradient(135deg,#2c3e50,#34495e);padding:1.25rem;border-radius:12px;border:2px solid #3498db;animation:popup-appear .3s ease}@keyframes popup-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.popup-name{font-weight:700;font-size:1.1rem;color:#3498db}.popup-timer{background:#e74c3c;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700}.popup-description{font-size:.9rem;color:#bdc3c7;margin-bottom:.75rem}.popup-effects{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.popup-effect{background:#1a1a2e;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:#95a5a6}.popup-actions{display:flex;gap:.75rem}.popup-accept,.popup-dismiss{flex:1;padding:.75rem;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s}.popup-accept{background:#27ae60;color:#fff}.popup-accept:hover:not(.disabled){background:#2ecc71}.popup-accept.disabled{background:#7f8c8d;cursor:not-allowed}.popup-dismiss{background:#95a5a6;color:#2c3e50}.popup-dismiss:hover{background:#bdc3c7}.damage-section{background:#16213e;padding:1rem;border-radius:12px}.damage-section h3{font-size:.9rem;color:#888;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px}.damage-stats{display:flex;flex-direction:column;gap:.5rem}.damage-stat{display:flex;align-items:center;gap:.75rem}.damage-label{width:80px;font-size:.8rem;color:#95a5a6}.damage-bar-track{flex:1;height:6px;background:#0f0f23;border-radius:3px;overflow:hidden}.damage-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.damage-value{width:40px;text-align:right;font-size:.8rem;color:#95a5a6}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100}.game-over-modal{background:#16213e;padding:3rem;border-radius:16px;text-align:center;max-width:400px}.game-over-modal h2{font-size:3rem;color:#e74c3c;margin-bottom:1rem}.game-over-reason{font-size:1.25rem;margin-bottom:1rem;color:#fff}.game-over-score{font-size:1rem;color:#888;margin-bottom:2rem}.new-game-button{padding:1rem 2rem;font-size:1.25rem;font-weight:700;background:#27ae60;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.new-game-button:hover{background:#2ecc71}.event-section{margin-bottom:1.5rem}.event-card{background:linear-gradient(135deg,#4a1c1c,#6b2d2d);padding:1.25rem;border-radius:12px;border:2px solid #e74c3c;animation:event-appear .3s ease}.event-card.severity-1{border-color:#f39c12}.event-card.severity-2{border-color:#e74c3c}.event-card.severity-3{border-color:#9b59b6;animation:event-appear .3s ease,severity-pulse 1s ease-in-out infinite}@keyframes event-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes severity-pulse{0%,to{box-shadow:0 0 #9b59b600}50%{box-shadow:0 0 20px 5px #9b59b666}}.event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.event-title{display:flex;align-items:center;gap:.5rem}.event-category{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#0000004d;border-radius:4px;font-size:.75rem;font-weight:700;color:#95a5a6}.event-name{font-weight:700;font-size:1.1rem;color:#e74c3c}.event-meta{display:flex;gap:.5rem;align-items:center}.event-severity{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;background:#0000004d;color:#95a5a6}.event-timer{background:#c0392b;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700;color:#fff}.event-description{font-size:.9rem;color:#bdc3c7;margin-bottom:.75rem}.event-impact{background:#0003;padding:.75rem;border-radius:8px;margin-bottom:1rem}.impact-label{font-size:.75rem;color:#e74c3c;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.impact-effects{display:flex;flex-wrap:wrap;gap:.5rem}.impact-effect{background:#e74c3c33;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:#e74c3c}.event-actions{display:flex;flex-direction:column;gap:.5rem}.event-mitigate{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;background:#27ae60;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s}.event-mitigate:hover:not(.disabled){background:#2ecc71}.event-mitigate.disabled{background:#7f8c8d;cursor:not-allowed}.mitigate-label{font-weight:700;font-size:.9rem}.mitigate-cost{font-size:.8rem;opacity:.9}.mitigate-result{font-size:.75rem;opacity:.8}.event-endure{padding:.75rem;background:#95a5a6;border:none;border-radius:8px;color:#2c3e50;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s}.event-endure:hover{background:#bdc3c7}.president-section{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.president-info{text-align:center;margin-top:.5rem}.president-info .reign{font-size:1.25rem;color:#f1c40f;font-weight:700;margin-bottom:.5rem}.president-sprite{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#34495e,#2c3e50);border:3px dashed rgba(255,255,255,.3);border-radius:12px;position:relative;overflow:hidden}.president-sprite .sprite-label{font-size:.7rem;color:#ffffff80;text-transform:uppercase;letter-spacing:2px}.president-sprite .sprite-emotion{font-size:.85rem;font-weight:700;color:#fffc}.president-sprite .idle-indicator{width:24px;height:24px;border-radius:50%;background:#ffffff4d;animation:idle-breathe 2s ease-in-out infinite}@keyframes idle-breathe{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.15);opacity:.8}}.president-normal{border-color:#27ae60}.president-stressed{border-color:#f39c12;animation:stress-pulse 1.5s ease-in-out infinite}.president-panicked{border-color:#e74c3c;animation:panic-shake .3s ease-in-out infinite}.president-smug{border-color:#3498db}@keyframes stress-pulse{0%,to{box-shadow:0 0 #f39c1200}50%{box-shadow:0 0 15px 3px #f39c1266}}@keyframes panic-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.power-balance-section{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.power-balance-section .balance-wrapper{flex:1}.rep-sprite{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border:2px dashed rgba(255,255,255,.3);border-radius:8px;flex-shrink:0}.rep-sprite .sprite-label{font-size:.6rem;color:#fff9;text-transform:uppercase;letter-spacing:1px}.rep-sprite .sprite-reaction{font-size:.7rem;font-weight:700;color:#ffffffe6}.rep-mass{background:linear-gradient(135deg,#c0392b,#e74c3c)}.rep-elite{background:linear-gradient(135deg,#d4a017,#f1c40f)}.rep-elite .sprite-label,.rep-elite .sprite-reaction{color:#000000b3}.rep-pleased{border-color:#27ae60}.rep-angry{border-color:#e74c3c;animation:angry-pulse 1s ease-in-out infinite}.rep-threatening{border-color:#9b59b6;animation:threatening-glow .5s ease-in-out infinite}.rep-celebrating{border-color:#f1c40f;animation:celebrate-bounce .6s ease-in-out infinite}@keyframes angry-pulse{0%,to{box-shadow:0 0 #e74c3c00}50%{box-shadow:0 0 10px 2px #e74c3c80}}@keyframes threatening-glow{0%,to{box-shadow:0 0 5px 2px #9b59b64d}50%{box-shadow:0 0 15px 5px #9b59b699}}@keyframes celebrate-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.city-view{width:100%;position:relative;border-radius:8px;overflow:hidden;background:#1a1a2e}.city-layer{position:absolute;top:0;right:0;bottom:0;left:0;transition:filter .5s ease,opacity .5s ease}.city-background{background:linear-gradient(to bottom,#2c3e50,#1a1a2e)}.city-buildings{background:repeating-linear-gradient(90deg,transparent 0px,transparent 15px,#34495e 15px,#34495e 20px,transparent 20px,transparent 30px,#2c3e50 30px,#2c3e50 45px,transparent 45px,transparent 55px,#34495e 55px,#34495e 65px);background-position:0 100%;background-size:100% 70%;background-repeat:no-repeat}.city-foreground{background:linear-gradient(to top,rgba(15,15,35,.8) 0%,transparent 40%)}.city-pristine .city-buildings{filter:brightness(1.1) saturate(1.1)}.city-healthy .city-buildings{filter:brightness(1)}.city-declining .city-buildings{filter:sepia(.3) brightness(.85)}.city-critical .city-buildings{filter:sepia(.5) brightness(.6) saturate(1.3)}.city-smoke{background:linear-gradient(to top,rgba(231,76,60,.2) 0%,transparent 60%);animation:smoke-flicker 2s ease-in-out infinite}@keyframes smoke-flicker{0%,to{opacity:.4}50%{opacity:.7}}.city-critical:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(231,76,60,.05) 2px,rgba(231,76,60,.05) 4px);animation:static-noise .15s steps(3) infinite;pointer-events:none}@keyframes static-noise{0%{background-position:0 0}to{background-position:0 8px}}.society-section{background:#16213e;border-radius:12px;overflow:hidden}.society-section .city-view{border-radius:0;margin-bottom:0}.society-section .damage-section{border-radius:0;background:transparent}
