@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Orbitron:wght@500;700;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--cyber-dark-bg: #0a0e27;--cyber-darker-bg: #05070f;--cyber-card-bg: #131937;--cyber-surface: #1a2141;--cyber-blue: #00d9ff;--cyber-purple: #a78bfa;--cyber-green: #00ff9f;--cyber-pink: #ff006e;--cyber-orange: #ff9500;--cyber-red: #ff3864;--cyber-yellow: #ffd93d;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--text-bright: #ffffff;--color-success: var(--cyber-green);--color-warning: var(--cyber-yellow);--color-error: var(--cyber-red);--color-info: var(--cyber-blue);--border-color: #1e293b;--border-bright: #334155;--glow-blue: 0 0 20px rgba(0, 217, 255, .3);--glow-green: 0 0 20px rgba(0, 255, 159, .3);--glow-purple: 0 0 20px rgba(167, 139, 250, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--font-primary: "Inter", "Segoe UI", system-ui, sans-serif;--font-display: "Orbitron", "Rajdhani", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);background:var(--cyber-dark-bg);color:var(--text-primary);overflow-x:hidden;min-height:100vh;line-height:1.6}.cyber-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:linear-gradient(90deg,rgba(0,217,255,.03) 1px,transparent 1px),linear-gradient(rgba(0,217,255,.03) 1px,transparent 1px);background-size:50px 50px;animation:gridScroll 20s linear infinite}@keyframes gridScroll{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.cyber-bg:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(0,217,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 50%,rgba(167,139,250,.1) 0%,transparent 50%);animation:bgPulse 15s ease-in-out infinite}@keyframes bgPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.theme-toggle{position:fixed;top:20px;right:20px;z-index:9999;background:var(--cyber-card-bg);border:1px solid var(--border-bright);border-radius:var(--radius-md);padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);transition:all .3s ease;box-shadow:var(--shadow-md)}.theme-toggle:hover{background:var(--cyber-surface);box-shadow:var(--glow-blue);transform:translateY(-2px)}.theme-toggle-icon{font-size:18px}.screen{display:none;min-height:100vh;padding:var(--spacing-lg)}.screen.active{display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0e27f2;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-spinner{width:60px;height:60px;border:4px solid var(--border-color);border-top-color:var(--cyber-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:var(--cyber-card-bg);border:2px solid var(--cyber-red);border-radius:var(--radius-md);padding:var(--spacing-md);max-width:500px;z-index:9999;box-shadow:var(--shadow-lg),0 0 30px #ff38644d;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100%)}to{transform:translate(-50%) translateY(0)}}.error-message{color:var(--text-bright);font-weight:500}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.2}.game-title{font-size:clamp(3rem,8vw,5rem);font-weight:900;text-align:center;margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--cyber-blue),var(--cyber-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(0,217,255,.5);letter-spacing:2px}.subtitle{font-size:1.2rem;color:var(--text-secondary);text-align:center;margin-bottom:var(--spacing-xl)}.screen-title{font-size:2.5rem;margin-bottom:var(--spacing-lg);color:var(--text-bright);text-align:center}.btn{font-family:var(--font-primary);font-size:1rem;font-weight:600;padding:12px 32px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--shadow-md)}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn span{position:relative;z-index:1}.btn-primary{background:linear-gradient(135deg,var(--cyber-blue),#0099cc);color:var(--text-bright)}.btn-primary:hover{box-shadow:var(--glow-blue);transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,var(--cyber-purple),#8b5cf6);color:var(--text-bright)}.btn-secondary:hover{box-shadow:var(--glow-purple);transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,var(--cyber-green),#00cc7a);color:var(--cyber-darker-bg)}.btn-success:hover{box-shadow:var(--glow-green);transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,var(--cyber-red),#cc0044);color:var(--text-bright)}.btn-danger:hover{box-shadow:0 0 20px #ff386466;transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--cyber-card-bg);border:1px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all .3s ease}.card:hover{border-color:var(--cyber-blue);box-shadow:var(--shadow-lg),var(--glow-blue);transform:translateY(-4px)}input[type=text],input[type=number]{font-family:var(--font-primary);font-size:1rem;padding:12px 16px;background:var(--cyber-surface);border:2px solid var(--border-bright);border-radius:var(--radius-md);color:var(--text-primary);transition:all .3s ease;width:100%}input:focus{outline:none;border-color:var(--cyber-blue);box-shadow:var(--glow-blue)}input::placeholder{color:var(--text-muted)}.menu-container{max-width:600px;width:100%;text-align:center}.menu-buttons{display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap}.menu-buttons .btn{min-width:200px}.input-section{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg);background:var(--cyber-card-bg);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--border-bright)}.lobby-container{max-width:800px;width:100%}.room-code-display{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin:var(--spacing-lg) 0;padding:var(--spacing-md);background:var(--cyber-card-bg);border:2px solid var(--cyber-blue);border-radius:var(--radius-md);box-shadow:var(--glow-blue)}.room-code{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--cyber-blue);letter-spacing:4px}.btn-copy{background:var(--cyber-surface);border:1px solid var(--border-bright);border-radius:var(--radius-sm);padding:8px 12px;cursor:pointer;font-size:1.2rem;transition:all .3s ease}.btn-copy:hover{background:var(--cyber-blue);transform:scale(1.1)}.game-settings{margin:var(--spacing-xl) 0;padding:var(--spacing-xl);background:linear-gradient(135deg,#9933ff1a,#0066ff1a);border:2px solid var(--cyber-purple);border-radius:var(--radius-lg);box-shadow:0 0 20px #9933ff4d;position:relative;overflow:hidden}.game-settings:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--cyber-purple),var(--cyber-blue),var(--cyber-purple));border-radius:var(--radius-lg);opacity:0;z-index:-1;transition:opacity .3s ease}.game-settings:hover:before{opacity:.3}.game-settings h3{color:var(--text-bright);margin-bottom:var(--spacing-lg);font-size:1.3rem;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:var(--spacing-sm)}.game-settings h3:before{content:"⚙️";font-size:1.5rem}.setting-item{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:#0a0e2780;border-radius:var(--radius-md);transition:all .3s ease}.setting-item:hover{background:#0a0e27cc;transform:translate(4px)}.setting-item:last-child{margin-bottom:0}.setting-item label{color:var(--cyber-blue);font-weight:700;font-size:1.1rem;min-width:180px;text-transform:uppercase;letter-spacing:.5px}.rounds-selector{flex:1;max-width:350px;padding:12px 45px 12px 20px;background:linear-gradient(135deg,#06f3,#0033994d);border:2px solid var(--cyber-blue);border-radius:var(--radius-md);color:var(--text-bright);font-family:var(--font-primary);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #06f3;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234a9eff' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.rounds-selector:hover{border-color:var(--cyber-green);box-shadow:0 0 20px #4a9eff80,0 0 40px #00ff414d;transform:translateY(-2px);background:linear-gradient(135deg,#00ff4133,#0066ff4d)}.rounds-selector:focus{outline:none;border-color:var(--cyber-green);box-shadow:0 0 25px #00ff4199,0 0 50px #00ff414d;transform:scale(1.02)}.rounds-selector:disabled{opacity:.4;cursor:not-allowed;border-color:var(--border-dim);background:#1a1f3a80;box-shadow:none;transform:none}.rounds-selector:disabled:hover{border-color:var(--border-dim);box-shadow:none;transform:none;background:#1a1f3a80}.rounds-selector option{background:var(--cyber-surface);color:var(--text-bright);padding:var(--spacing-md);font-weight:600}.players-section{margin:var(--spacing-xl) 0}.players-section h3{color:var(--text-bright);margin-bottom:var(--spacing-md)}.players-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.player-card{background:var(--cyber-card-bg);border:2px solid var(--border-bright);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);transition:all .3s ease}.player-card.ready{border-color:var(--cyber-green);box-shadow:var(--glow-green)}.player-card.host{border-color:var(--cyber-purple);box-shadow:var(--glow-purple)}.player-color{width:40px;height:40px;border-radius:50%;flex-shrink:0;box-shadow:0 0 15px currentColor}.player-info{flex:1}.player-name{font-weight:600;color:var(--text-bright);font-size:1.1rem}.player-status{font-size:.9rem;color:var(--text-secondary)}.lobby-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.hidden{display:none!important}.text-center{text-align:center}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.game-header{width:100%;max-width:1400px;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--cyber-card-bg);border:1px solid var(--border-bright);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-md)}.game-info{display:flex;gap:var(--spacing-lg);font-family:var(--font-mono);font-size:.9rem}.game-info span{color:var(--text-secondary)}.game-info span span{color:var(--cyber-blue);font-weight:700}.current-turn{font-weight:600;color:var(--text-bright);padding:8px 16px;background:var(--cyber-surface);border-radius:var(--radius-sm);border:1px solid var(--cyber-blue)}.phase-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-sm);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.phase-sdlc{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.phase-production{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 2px 8px #f5576c4d}@media (max-width: 768px){.game-header{flex-direction:column;gap:var(--spacing-sm)}.game-info{flex-direction:column;gap:var(--spacing-xs);text-align:center}.menu-buttons{flex-direction:column}.players-list{grid-template-columns:1fr}}.sdlc-phase-container{width:100%;max-width:1400px;display:flex;flex-direction:column;gap:var(--spacing-lg)}.sdlc-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.sdlc-progress-section{background:var(--cyber-card-bg);border:1px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.sdlc-progress-section h3{color:var(--text-bright);margin-bottom:var(--spacing-md);text-align:center;font-size:1.5rem}.sdlc-progress-bar{position:relative;padding:var(--spacing-lg) 0;overflow-x:auto}.sdlc-progress-track{display:flex;align-items:center;justify-content:space-between;position:relative;min-width:800px;padding:0 20px}.sdlc-progress-track:before{content:"";position:absolute;top:30px;left:40px;right:40px;height:3px;background:var(--border-bright);z-index:0}.sdlc-step-node{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);position:relative;z-index:1;flex:1}.sdlc-step-circle{width:60px;height:60px;border-radius:50%;background:var(--cyber-surface);border:3px solid var(--border-bright);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:var(--text-secondary);transition:all .3s ease}.sdlc-step-circle.completed{background:linear-gradient(135deg,var(--cyber-green),#00cc7a);border-color:var(--cyber-green);color:var(--text-bright);box-shadow:var(--glow-green)}.sdlc-step-circle.skipped{background:linear-gradient(135deg,var(--cyber-orange),#ff7700);border-color:var(--cyber-orange);color:var(--text-bright)}.sdlc-step-circle.current{background:linear-gradient(135deg,var(--cyber-blue),#0099cc);border-color:var(--cyber-blue);color:var(--text-bright);box-shadow:var(--glow-blue);animation:pulse 2s infinite}.sdlc-step-label{font-size:.85rem;color:var(--text-secondary);text-align:center;max-width:100px;line-height:1.3}.sdlc-step-label.secure{color:var(--cyber-purple);font-weight:600}.sdlc-current-step{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg)}.step-card{background:var(--cyber-card-bg);border:2px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.step-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.step-type{display:inline-block;padding:6px 16px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.step-type.sdlc{background:linear-gradient(135deg,var(--cyber-blue),#0099cc);color:var(--text-bright)}.step-type.secure{background:linear-gradient(135deg,var(--cyber-purple),#8b5cf6);color:var(--text-bright)}.step-type.complete{background:linear-gradient(135deg,var(--cyber-green),#00cc7a);color:var(--cyber-darker-bg);box-shadow:var(--glow-green);animation:pulse 2s infinite}.step-header h2{color:var(--text-bright);font-size:2rem;flex:1}.step-description{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-lg);line-height:1.6}.step-choices{margin-top:var(--spacing-lg)}.choices-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.player-balance-display{background:var(--cyber-surface);border:2px solid var(--cyber-blue);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);box-shadow:var(--glow-blue)}.balance-label{color:var(--text-secondary);font-size:1rem;font-weight:600}.balance-value{font-family:var(--font-mono);font-size:1.8rem;font-weight:700;color:var(--cyber-green)}.choice-button{background:var(--cyber-surface);border:2px solid var(--border-bright);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all .3s ease;text-align:left}.choice-button:hover:not(:disabled){border-color:var(--cyber-blue);box-shadow:var(--glow-blue);transform:translate(4px)}.choice-button:disabled,.choice-button.cannot-afford{opacity:.4;cursor:not-allowed}.choice-button-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.choice-button-label{font-size:1rem;font-weight:600;color:var(--text-bright)}.choice-button-cost{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm)}.choice-button-cost.affordable{background:var(--cyber-green);color:var(--cyber-darker-bg)}.choice-button-cost.unaffordable{background:var(--cyber-red);color:var(--text-bright)}.choice-button-description{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:.85rem;line-height:1.3}.choice-button-stats{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.stat-pill{padding:4px 8px;background:#ffffff0d;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.stat-pill.quality{background:#00ff9f33;color:var(--cyber-green);border:1px solid var(--cyber-green)}.stat-pill.risk{background:#ffd33d33;color:var(--cyber-yellow);border:1px solid var(--cyber-yellow)}.step-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.step-actions .btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:.95rem}.waiting-message{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);font-size:1.2rem}.vulnerability-warning{background:var(--cyber-card-bg);border:2px solid var(--cyber-orange);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:0 0 20px #ff950033}.warning-icon{font-size:3rem;text-align:center;margin-bottom:var(--spacing-sm)}.warning-content h4{color:var(--cyber-orange);margin-bottom:var(--spacing-sm);font-size:1.3rem}.warning-content p{color:var(--text-secondary);margin-bottom:var(--spacing-sm)}#vulnerability-list{list-style:none;padding:var(--spacing-sm) 0}#vulnerability-list li{padding:var(--spacing-xs);margin:var(--spacing-xs) 0;background:#ff95001a;border-left:3px solid var(--cyber-orange);padding-left:var(--spacing-sm);color:var(--text-primary);font-weight:600;font-size:.95rem}.warning-note{color:var(--cyber-red);font-weight:600;font-style:italic}.sdlc-players-progress{background:var(--cyber-card-bg);border:1px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-height:600px;overflow-y:auto}.sdlc-players-progress h3{color:var(--text-bright);margin-bottom:var(--spacing-md);font-size:1.3rem}#sdlc-players-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.sdlc-player-item{background:var(--cyber-surface);border:1px solid var(--border-bright);border-radius:var(--radius-md);padding:var(--spacing-md)}.sdlc-player-item.current-player{border-color:var(--cyber-blue);box-shadow:var(--glow-blue)}.sdlc-player-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.sdlc-player-color{width:24px;height:24px;border-radius:50%;flex-shrink:0}.sdlc-player-name{font-weight:600;color:var(--text-bright);flex:1}.sdlc-player-balance{font-family:var(--font-mono);color:var(--cyber-green);font-weight:700}.sdlc-player-progress{font-size:.9rem;color:var(--text-secondary);margin-top:var(--spacing-xs)}.monopoly-phase-container{width:100%;max-width:1600px;display:grid;grid-template-columns:minmax(600px,1fr) 400px;gap:var(--spacing-lg);align-items:start}.board-container{background:var(--cyber-card-bg);border:2px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--spacing-sm);position:relative;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;width:100%;max-width:min(900px,calc(100vw - 2rem));margin:0 auto;overflow:hidden}.board-image-placeholder{width:100%;height:100%;aspect-ratio:1 / 1;background:var(--cyber-surface);border:2px dashed var(--border-bright);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--text-secondary);position:relative;overflow:hidden}.board-image-placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 49%,var(--border-color) 49%,var(--border-color) 51%,transparent 51%),linear-gradient(0deg,transparent 49%,var(--border-color) 49%,var(--border-color) 51%,transparent 51%);opacity:.3}.board-placeholder-icon{font-size:5rem;opacity:.5}.board-placeholder-text{font-size:1.2rem;font-weight:600;z-index:1}.board-placeholder-note{font-size:.9rem;opacity:.7;z-index:1;text-align:center;max-width:400px;line-height:1.5;padding:0 var(--spacing-md)}#board-canvas{width:100%!important;height:100%!important;max-width:100%;max-height:100%;border-radius:var(--radius-md);object-fit:contain;display:block}.game-actions-panel{display:flex;flex-direction:column;gap:var(--spacing-md);position:sticky;top:var(--spacing-lg);max-height:calc(100vh - 200px);overflow-y:auto}.dice-container{background:var(--cyber-card-bg);border:2px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--spacing-md);text-align:center}.dice-container h3{color:var(--text-bright);margin-bottom:var(--spacing-sm);font-size:1.2rem}.dice-display{width:80px;height:80px;margin:var(--spacing-sm) auto;background:var(--cyber-surface);border:3px solid var(--cyber-blue);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:var(--cyber-blue);box-shadow:var(--glow-blue)}.dice-display.rolling{animation:diceRoll .5s ease-in-out}@keyframes diceRoll{0%,to{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}}.action-buttons{display:flex;flex-direction:column;gap:var(--spacing-xs)}.action-buttons .btn{padding:10px 20px;font-size:.9rem}.dice-container p{font-size:.85rem;margin-top:var(--spacing-xs)}.players-panel{background:var(--cyber-card-bg);border:2px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--spacing-md)}.players-panel h3{color:var(--text-bright);margin-bottom:var(--spacing-sm);font-size:1.2rem}.player-item{background:var(--cyber-surface);border:1px solid var(--border-bright);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);transition:all .3s ease}.player-item.current-turn{border-color:var(--cyber-blue);box-shadow:var(--glow-blue)}.player-item-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.player-item-color{width:24px;height:24px;border-radius:50%;flex-shrink:0}.player-item-name{font-weight:600;color:var(--text-bright);flex:1;font-size:.95rem}.player-item-stats{font-size:.85rem;color:var(--text-secondary);display:flex;justify-content:space-between}.player-item-balance{font-family:var(--font-mono);color:var(--cyber-green);font-weight:700}.player-item-position{color:var(--text-secondary)}.game-log{background:var(--cyber-card-bg);border:2px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--spacing-md);max-height:250px;overflow-y:auto}.game-log h3{color:var(--text-bright);margin-bottom:var(--spacing-sm);font-size:1.2rem;position:sticky;top:0;background:var(--cyber-card-bg);padding-bottom:var(--spacing-xs);z-index:1}#game-log-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.log-entry{padding:var(--spacing-xs);border-radius:var(--radius-sm);border-left:3px solid var(--border-bright);font-size:.85rem;background:var(--cyber-surface);line-height:1.4}.log-entry.info{border-left-color:var(--cyber-blue)}.log-entry.success{border-left-color:var(--cyber-green)}.log-entry.warning{border-left-color:var(--cyber-orange)}.log-entry.error{border-left-color:var(--cyber-red)}.log-player{font-weight:600;color:var(--text-bright)}.log-message{color:var(--text-secondary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--cyber-darker-bg);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--cyber-surface);border-radius:var(--radius-sm);border:2px solid var(--cyber-darker-bg)}::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}@media (max-width: 1200px){.monopoly-phase-container{grid-template-columns:1fr;max-width:800px;margin:0 auto}.game-actions-panel{position:static;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.board-container{max-width:100%}.sdlc-current-step{grid-template-columns:1fr}}@media (max-width: 768px){.game-header{flex-direction:column;gap:var(--spacing-sm)}.game-info{flex-direction:column;gap:var(--spacing-xs);text-align:center}.menu-buttons{flex-direction:column}.players-list{grid-template-columns:1fr}.sdlc-progress-track{min-width:600px}.sdlc-step-circle{width:40px;height:40px;font-size:1rem}.sdlc-step-label{font-size:.75rem;max-width:80px}.monopoly-phase-container{padding:var(--spacing-sm)}.game-actions-panel{grid-template-columns:1fr}.board-container,.game-screen.active{padding:var(--spacing-sm)}}.round-complete-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0e27f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .5s ease-out}.round-complete-overlay.fade-out{animation:fadeOut .5s ease-out forwards}.round-complete-content{text-align:center;animation:slideUp .5s ease-out}.round-complete-title{font-size:4rem;font-weight:900;color:var(--cyber-green);margin-bottom:var(--spacing-md);text-shadow:0 0 30px rgba(0,255,159,.5);font-family:var(--font-display)}.round-complete-subtitle{font-size:1.5rem;color:var(--text-secondary);font-family:var(--font-primary)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0e27e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;z-index:9999;opacity:0;transition:opacity .3s ease-out}.modal.active{display:flex;opacity:1;animation:fadeIn .3s ease-out}.modal.hidden{display:none}.modal-content{background:var(--cyber-card-bg);border:2px solid var(--border-bright);border-radius:var(--radius-lg);max-width:450px;width:90%;max-height:none;overflow:visible;box-shadow:var(--shadow-lg),var(--glow-blue);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:var(--spacing-sm);border-bottom:1px solid var(--border-bright)}.modal-header h3{color:var(--text-bright);font-size:1.2rem;text-align:center;margin:0}.modal-body{padding:var(--spacing-sm)}.modal-body p,#modal-description{color:var(--text-secondary);font-size:.9rem;line-height:1.3;margin-bottom:var(--spacing-xs)}.card-image-container{margin:var(--spacing-xs) 0;text-align:center}.card-image{max-width:100%;width:320px;height:auto;border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000080;border:2px solid var(--cyber-blue);background:var(--cyber-surface);transition:transform .3s ease,box-shadow .3s ease}.card-image:hover{transform:scale(1.05);box-shadow:0 12px 32px #4a9eff66}.current-step-card{margin:var(--spacing-md) 0;text-align:center}.step-card-preview{max-width:300px;height:auto;border-radius:var(--radius-md);box-shadow:0 4px 16px #0006;border:2px solid var(--cyber-purple);transition:transform .3s ease}.step-card-preview:hover{transform:translateY(-4px)}.choice-card-preview{margin-bottom:var(--spacing-sm)}.choice-card-image{width:100%;max-width:200px;height:auto;border-radius:var(--radius-sm);opacity:.9;transition:opacity .3s ease,transform .3s ease}.choice-button:hover .choice-card-image{opacity:1;transform:scale(1.05)}.choice-button.cannot-afford .choice-card-image{opacity:.4;filter:grayscale(50%)}.card-image-placeholder{padding:var(--spacing-xl);background:var(--cyber-surface);border:2px dashed var(--border-bright);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary)}.placeholder-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.6}.placeholder-text{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.placeholder-note{font-size:.9rem;font-family:var(--font-mono);color:var(--cyber-blue);opacity:.8}.card-description{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-bright);white-space:pre-line}.modal-choices{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.modal-footer{padding:var(--spacing-sm);border-top:1px solid var(--border-bright);display:flex;justify-content:center;gap:var(--spacing-sm)}.winner-text{font-size:2rem;font-weight:700;color:var(--cyber-green);text-align:center;margin-bottom:var(--spacing-lg)}.final-scores{display:flex;flex-direction:column;gap:var(--spacing-sm)}.waiting-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0e27f2;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.waiting-content{text-align:center;padding:var(--spacing-xl)}.waiting-spinner{font-size:4rem;animation:pulse 1.5s ease-in-out infinite;margin-bottom:var(--spacing-lg)}.waiting-content h2{color:var(--cyber-green);font-size:2rem;margin-bottom:var(--spacing-md)}.waiting-content p{color:var(--text-secondary);font-size:1.2rem}.player-completed-notification{position:fixed;top:100px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#00ff4133,#06f3);border:2px solid var(--cyber-green);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-xl);color:var(--cyber-green);font-weight:600;font-size:1.1rem;z-index:999;animation:slideDown .3s ease;box-shadow:0 0 20px #00ff414d}.player-completed-notification.fade-out{animation:fadeOut .5s ease forwards}.intermission-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0e27fa;display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .5s ease}.intermission-overlay.fade-out{animation:fadeOut .5s ease forwards}.intermission-content{text-align:center;padding:var(--spacing-xl);max-width:600px;width:100%}.intermission-title{font-size:3rem;color:var(--cyber-green);margin-bottom:var(--spacing-xl);text-shadow:0 0 20px rgba(0,255,65,.5);animation:glow 2s ease-in-out infinite}.intermission-scoreboard{background:linear-gradient(135deg,#9933ff1a,#0066ff1a);border:2px solid var(--cyber-purple);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:0 0 30px #93f3}.intermission-scoreboard h2{color:var(--text-bright);font-size:1.5rem;margin-bottom:var(--spacing-lg)}.scores-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.score-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#1a1f3acc;border-radius:var(--radius-md);border:1px solid var(--border-bright);transition:transform .2s ease}.score-row.leader{background:linear-gradient(135deg,#00ff4133,#4a9eff33);border-color:var(--cyber-green);box-shadow:0 0 15px #00ff414d}.score-rank{font-size:1.5rem;min-width:50px;text-align:center}.score-player{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.2rem;font-weight:600;color:var(--text-bright)}.player-dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 8px currentColor}.score-balance{font-size:1.4rem;font-weight:700;color:var(--cyber-green);font-family:var(--font-mono)}.intermission-next{margin-top:var(--spacing-xl)}.intermission-next p{font-size:1.3rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.intermission-hint{color:var(--cyber-blue)!important;font-size:1rem!important}.game-over-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0e27fa;display:flex;align-items:center;justify-content:center;z-index:1002;animation:fadeIn .5s ease}.game-over-content{text-align:center;padding:var(--spacing-xl);max-width:700px;width:100%}.game-over-title{font-size:3.5rem;color:var(--cyber-green);margin-bottom:var(--spacing-xl);text-shadow:0 0 30px rgba(0,255,65,.6);animation:glow 2s ease-in-out infinite}.winner-announcement{background:linear-gradient(135deg,#00ff4126,#ffaa0026);border:3px solid var(--cyber-green);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:0 0 40px #00ff414d}.winner-crown{font-size:4rem;margin-bottom:var(--spacing-md);animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.winner-name{font-size:2.5rem;color:var(--text-bright);margin-bottom:var(--spacing-sm);font-weight:900}.winner-balance{font-size:1.8rem;color:var(--cyber-green);font-family:var(--font-mono);font-weight:700}.final-scoreboard{background:linear-gradient(135deg,#9933ff1a,#0066ff1a);border:2px solid var(--cyber-blue);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.final-scoreboard h3{color:var(--text-bright);font-size:1.8rem;margin-bottom:var(--spacing-lg)}.final-scores-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.final-score-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#1a1f3a99;border-radius:var(--radius-md);border:1px solid var(--border-bright);transition:transform .2s ease}.final-score-row:hover{transform:translate(4px)}.final-score-row.winner-row{background:linear-gradient(135deg,#00ff4133,#fa03);border-color:var(--cyber-green);box-shadow:0 0 20px #00ff4133}.final-score-rank{font-size:1.8rem;min-width:60px;text-align:center}.final-score-player{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.3rem;font-weight:600;color:var(--text-bright)}.final-score-balance{font-size:1.6rem;font-weight:700;color:var(--cyber-green);font-family:var(--font-mono);min-width:120px;text-align:right}.game-over-actions{margin-top:var(--spacing-xl)}.game-over-actions .btn{min-width:250px;padding:var(--spacing-md) var(--spacing-xl);font-size:1.2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes glow{0%,to{text-shadow:0 0 20px rgba(0,255,65,.5)}50%{text-shadow:0 0 40px rgba(0,255,65,.8)}}@media (max-width: 1024px){:root{--spacing-xl: 2rem;--spacing-lg: 1.5rem}.game-title{font-size:clamp(2rem,6vw,3.5rem)}.monopoly-phase-container{grid-template-columns:1fr;gap:var(--spacing-md)}.game-actions-panel{position:static;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-sm)}.board-container{max-width:100%;aspect-ratio:1 / 1}#board-canvas{width:100%!important;height:100%!important}}@media (max-width: 768px){:root{--spacing-xl: 1.5rem;--spacing-lg: 1rem;--spacing-md: .75rem}body{font-size:14px}.screen{padding:var(--spacing-md)}.game-title{font-size:clamp(1.5rem,8vw,2.5rem);margin-bottom:var(--spacing-md)}.subtitle{font-size:.9rem}.menu-container{padding:var(--spacing-sm)}.menu-buttons{flex-direction:column;gap:var(--spacing-sm)}.menu-buttons .btn{min-width:100%}.lobby-container{padding:var(--spacing-sm)}.room-code{font-size:1.5rem;letter-spacing:2px}.players-list{grid-template-columns:1fr}.game-settings{padding:var(--spacing-md)}.setting-item{flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.setting-item label{min-width:auto;font-size:.95rem}.rounds-selector{max-width:100%;font-size:1rem}.game-header{flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm)}.game-info{flex-direction:column;gap:var(--spacing-xs);text-align:center;font-size:.8rem}.current-turn{font-size:.9rem;padding:6px 12px}.sdlc-phase-container{padding:var(--spacing-sm)}.sdlc-current-step{grid-template-columns:1fr}.sdlc-progress-track{min-width:500px;overflow-x:auto}.sdlc-step-circle{width:40px;height:40px;font-size:.9rem}.sdlc-step-label{font-size:.7rem;max-width:70px}.step-card{padding:var(--spacing-md)}.step-header h2{font-size:1.3rem}.step-description{font-size:.95rem}.choice-button{padding:var(--spacing-xs) var(--spacing-sm)}.choice-button-label{font-size:.9rem}.choice-button-cost{font-size:.95rem}.monopoly-phase-container{padding:var(--spacing-xs)}.board-container{padding:4px;max-width:calc(100vw - 1rem);border-width:1px}.game-actions-panel{grid-template-columns:1fr}.dice-container h3,.players-panel h3,.game-log h3{font-size:1rem}.dice-display{width:60px;height:60px;font-size:2rem}.action-buttons .btn{padding:8px 16px;font-size:.85rem}.player-item{padding:var(--spacing-xs)}.player-item-name{font-size:.85rem}.player-item-stats{font-size:.75rem}.game-log{max-height:200px}.log-entry{font-size:.75rem;padding:6px}.modal-content{width:95%;max-width:100%}.modal-header h3{font-size:1rem}.modal-body{padding:var(--spacing-xs)}.modal-body p{font-size:.85rem}.card-image{width:280px;max-width:90vw}.modal-footer .btn{padding:8px 16px;font-size:.9rem}.intermission-content,.game-over-content{padding:var(--spacing-md);width:95%}.intermission-title,.game-over-title{font-size:2rem}.winner-name{font-size:1.8rem}.winner-balance{font-size:1.3rem}.final-score-row{padding:var(--spacing-xs);gap:var(--spacing-xs)}.final-score-rank{font-size:1.3rem;min-width:40px}.final-score-player{font-size:1rem}.final-score-balance{font-size:1.2rem;min-width:90px}.btn{padding:10px 24px;font-size:.9rem}.card{padding:var(--spacing-md)}}@media (max-width: 480px){:root{--spacing-xl: 1rem;--spacing-lg: .75rem;--spacing-md: .5rem}body{font-size:13px}.game-title{font-size:clamp(1.2rem,10vw,2rem)}.room-code{font-size:1.2rem;letter-spacing:1px}.card-image{width:240px}.board-container{aspect-ratio:1 / 1;max-width:calc(100vw - .5rem);padding:2px;min-height:280px;max-height:calc(100vw - .5rem)}.sdlc-progress-track{min-width:400px}.intermission-title,.game-over-title,.winner-name{font-size:1.5rem}.final-score-row{flex-wrap:wrap}}@media (max-width: 768px) and (orientation: landscape){.board-container{max-height:60vh}.game-actions-panel{max-height:50vh;overflow-y:auto}.modal-content{max-height:85vh;overflow-y:auto}}@media (hover: none) and (pointer: coarse){.btn{min-height:44px;min-width:44px}.choice-button{min-height:44px}.player-card{min-height:60px}.btn-copy{padding:12px;font-size:1.3rem}.btn:hover,.card:hover,.choice-button:hover{transform:none}.btn:active{transform:scale(.95)}}
