:root{--bg-deep: #0f0e17;--bg-surface: #1a1a2e;--bg-elevated: #232342;--bg-hover: #2d2d52;--bg-tile: #1e1e3a;--accent-primary: #6c5ce7;--accent-gold: #ffd32a;--accent-green: #00b894;--accent-red: #e17055;--accent-blue: #0984e3;--text-primary: #ffffff;--text-secondary: #a0a0b8;--text-muted: #6c6c80;--color-brown: #a0522d;--color-lightblue: #5dade2;--color-pink: #e84393;--color-orange: #e17055;--color-red: #d63031;--color-yellow: #fdcb6e;--color-green: #00b894;--color-darkblue: #0984e3;--board-bg-gradient: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(20, 18, 40, .9) 0%, transparent 70%), radial-gradient(ellipse 100% 80% at 20% 15%, rgba(45, 30, 90, .4) 0%, transparent 55%), radial-gradient(ellipse 90% 70% at 80% 85%, rgba(30, 45, 85, .35) 0%, transparent 55%), radial-gradient(ellipse 60% 50% at 50% 50%, rgba(25, 22, 50, .8) 0%, transparent 60%), linear-gradient(180deg, #0c0b14 0%, #111025 30%, #0e1228 60%, #0a0d18 100%);--board-glass-bg: rgba(255,255,255,.1);--board-glass-bg-hover: rgba(255,255,255,.14);--board-glass-border: rgba(255,255,255,.12);--board-glass-shadow: rgba(0,0,0,.6);--board-text: white;--board-text-muted: rgba(255,255,255,.8);--board-tile-bg-mix: white;--board-tile-bg-alpha1: .13;--board-tile-bg-alpha2: .04;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .5);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-family);color:var(--text-primary);background:var(--bg-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg-deep)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none}button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}:root[data-theme=light]{--bg-deep: #f0f2f5;--bg-surface: #ffffff;--bg-elevated: #e4e6eb;--bg-hover: #d8dadf;--bg-tile: #f8f9fa;--accent-primary: #5a4bcf;--text-primary: #1c1e21;--text-secondary: #606770;--text-muted: #8d949e;--accent-gold: #d4a000;--shadow-card: 0 4px 20px rgba(0, 0, 0, .08);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .12);--board-bg-gradient: radial-gradient(1200px 800px at 20% 10%, oklch(.92 .05 285 / .6), transparent 60%), radial-gradient(1000px 700px at 85% 90%, oklch(.95 .05 245 / .5), transparent 60%), oklch(.96 .02 275);--board-glass-bg: rgba(0,0,0,.04);--board-glass-bg-hover: rgba(0,0,0,.08);--board-glass-border: rgba(0,0,0,.1);--board-glass-shadow: rgba(0,0,0,.1);--board-text: #1a1a1a;--board-text-muted: rgba(0,0,0,.6);--board-tile-bg-mix: black;--board-tile-bg-alpha1: .04;--board-tile-bg-alpha2: .01}.pc{position:fixed;width:180px;background:var(--bg-elevated);border-radius:10px;box-shadow:0 8px 24px #00000080;z-index:10000;border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.pc:hover{box-shadow:0 8px 32px #6c5ce766,0 0 0 1px #6c5ce74d;border-color:#6c5ce780}.pc-pinned .pc-body{pointer-events:auto}.pc-pinned{animation:pcPinIn var(--motion-fast, .15s) var(--ease-out-back, ease-out)}@keyframes pcPinIn{0%{transform:scale(.94);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes fadeInCard{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.pc-header{display:flex;align-items:center;gap:6px;padding:6px 8px}.pc-flag{width:20px;height:14px;border-radius:2px;object-fit:cover;flex-shrink:0}.pc-name{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.4);flex:1;min-width:0}.pc-price-tag{font-size:9px;font-weight:700;color:#fffc;background:#00000040;padding:1px 5px;border-radius:3px;flex-shrink:0}.pc-body{padding:5px 8px 6px}.pc-row{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--text-secondary);padding:2px 0}.pc-row span:last-child{font-weight:600}.pc-val{color:var(--accent-gold)!important;font-weight:700!important}.pc-price{font-weight:600;color:var(--accent-gold)}.pc-divider{height:1px;background:#ffffff0f;margin:3px 0}.pc-owner{font-size:9px;font-weight:600;text-align:center;padding:3px 0 1px}.pc-mortgaged{font-size:8px;font-weight:700;color:var(--accent-red);text-align:center;text-transform:uppercase;letter-spacing:1px;padding:2px 0}.pc-mortgaged-badge{font-size:10px;font-weight:700;color:var(--accent-red);text-align:center;text-transform:uppercase;letter-spacing:1px;padding:2px 0 4px;animation:pcMortgageBadgeIn var(--motion-fast, .15s) var(--ease-out-back, ease-out)}@keyframes pcMortgageBadgeIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.pc-hint{font-size:8px;color:var(--text-muted);text-align:center;padding:2px 0}.pc-hotel-row{font-weight:600;color:var(--accent-red)}.pc-active-rent{animation:activeRentShimmer 1.6s ease-in-out infinite;color:#34d399;font-weight:700;margin:0 -8px;padding:3px 8px;border-left:2px solid #34d399}@keyframes activeRentShimmer{0%,to{background:#34d3991f}50%{background:#34d39942}}.pc-actions{display:flex;flex-direction:column;gap:3px;padding-top:4px;border-top:1px solid rgba(255,255,255,.06);margin-top:3px;pointer-events:auto}.pc-btn{width:100%;padding:4px 6px;font-size:9px;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:filter .15s;white-space:nowrap;text-align:center;pointer-events:auto;position:relative;overflow:hidden}.pc-btn:hover{filter:brightness(1.2)}.pc-btn:active{filter:brightness(.9);transform:scale(.96)}.pc-btn-build{background:#34d39933;color:#34d399}.pc-btn-sell{background:#fbbf2433;color:#fbbf24}.pc-btn-mortgage{background:#ef444426;color:#f87171}.pc-btn-unmortgage{background:#60a5fa33;color:#60a5fa}.pc-btn-sell-property{background:#ef444433;color:#f87171}@media(max-width:768px){.pc{width:160px}}.game-log{width:100%;flex:0 0 50%;max-height:50%;display:flex;flex-direction:column;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);overflow:hidden}.game-log-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-elevated);border-bottom:1px solid rgba(255,255,255,.06)}.game-log-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.game-log-icon{font-size:16px}.game-log-actions{display:flex;align-items:center;gap:8px}.game-log-count{font-size:11px;font-weight:600;color:var(--text-muted);background:#ffffff0d;padding:2px 8px;border-radius:10px}.game-log-clear{background:transparent;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:all .2s}.game-log-filters{display:flex;align-items:center;gap:4px;padding:6px 8px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05;scrollbar-width:none}.game-log-filters::-webkit-scrollbar{display:none}.log-filter{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:500;color:var(--text-muted);background:#ffffff0a;border:1px solid transparent;border-radius:10px;transition:all .15s;max-width:90px}.log-filter:hover{color:var(--text-secondary);background:#ffffff14}.log-filter--active{color:var(--text-primary);background:#6c5ce740;border-color:var(--accent-primary)}.log-filter-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.log-filter-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-log-content{flex:1;overflow-y:auto;padding:8px}.game-log-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);padding:20px 0}.empty-icon{font-size:32px;margin-bottom:8px;opacity:.5}.empty-text{font-size:13px}.game-log-list{display:flex;flex-direction:column;gap:3px}.game-log-item{display:flex;align-items:flex-start;gap:7px;padding:5px 8px 5px 9px;background:#ffffff05;border-left:3px solid var(--log-accent, rgba(255, 255, 255, .15));border-radius:var(--radius-sm);font-size:11.5px;color:var(--text-secondary);line-height:1.35}.game-log-item.log-item--clickable{cursor:pointer;transition:background .15s}.game-log-item.log-item--clickable:hover{background:#ffffff0f}.log-item-icon{flex-shrink:0;font-size:12px;line-height:1.35}.log-item-body{flex:1;min-width:0}.log-item-text{word-break:break-word}.log-item-meta{display:flex;align-items:center;gap:5px;flex-shrink:0;margin-top:1px}.log-item-player-dot{width:7px;height:7px;border-radius:50%;border:1px solid rgba(255,255,255,.3)}.log-item-time{font-size:10px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.log-prop-link{display:inline;padding:0 1px;background:transparent;border:none;color:var(--accent-gold);font-size:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-color:#ffd32a66;text-underline-offset:2px}.log-prop-link:hover{color:#fff;text-decoration-color:#fff}.log-player-name{font-weight:700}.log-trade-hint{display:block;margin-top:2px;font-size:10px;font-weight:600;color:var(--accent-primary)}.log-item--success,.log-item--money{--log-accent: #4caf50}.log-item--error{--log-accent: #f44336}.log-item--warning,.log-item--jail{--log-accent: #ff9800}.log-item--info,.log-item--property{--log-accent: #2196f3}.log-item--dice{--log-accent: #9c27b0}.log-item--card{--log-accent: #00bcd4}.log-item--trade{--log-accent: #6c5ce7}.log-item--bankrupt{--log-accent: #e17055}.log-item--winner{--log-accent: #ffd32a}.log-card-overlay{position:fixed;inset:0;z-index:9999}@keyframes logItemIn{0%{transform:translate(-8px);opacity:0}to{transform:translate(0);opacity:1}}.game-log-item.log-item--fresh{animation:logItemIn var(--motion-fast, .15s) var(--ease-out-smooth, ease-out) both}@keyframes logIconPop{0%{transform:scale(.5) rotate(-8deg)}60%{transform:scale(1.25) rotate(4deg)}to{transform:scale(1) rotate(0)}}.game-log-item.log-item--fresh .log-item-icon{display:inline-block;animation:logIconPop var(--motion-medium, .35s) var(--ease-out-back, ease-out) both}.game-log-item.log-item--winner.log-item--fresh .log-item-icon,.game-log-item.log-item--bankrupt.log-item--fresh .log-item-icon{animation-duration:.55s}.classic-dice-center{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:-30cqw}.classic-dice-game{position:relative;width:28cqw;height:14cqw}.classic-dice-container{position:absolute;top:10px}.classic-player-turn{font-size:clamp(12px,1.4cqw,16px);font-weight:800;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:0;padding:6px 18px;border-radius:50px;background:#0a0a148c;border:1px solid rgba(255,255,255,.05);box-shadow:0 4px 12px #0000004d}.die-outer{perspective:900px}.die-cube{position:relative;width:100%;height:100%;transform-style:preserve-3d}.die-face{position:absolute;inset:0;border-radius:14%;background:#fff;border:1px solid #e5e5e5}.face-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8%;padding:14%;width:100%;height:100%}.face-cell{display:flex;align-items:center;justify-content:center}.face-pip{width:100%;height:100%;border-radius:50%;background:#f25f5c;box-shadow:inset .15cqw .15cqw #d90429}.classic-btn-row{display:flex;align-items:center;gap:1cqw;min-height:36px}.classic-roll-btn{padding:8px 20px;color:#fff;background:linear-gradient(135deg,var(--accent-primary) 0%,#5a4bcf 100%);border:none;font-size:clamp(11px,1.3cqw,13px);font-weight:700;border-radius:8px;box-shadow:0 4px 12px -4px #6c5ce780;outline:none;transition:transform .15s,box-shadow .15s,filter .15s;cursor:pointer;letter-spacing:.5px}.classic-roll-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px -4px #6c5ce799;filter:brightness(1.1)}.classic-roll-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px -2px #6c5ce766}.classic-roll-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:grayscale(.5)}.classic-doubles-badge{font-size:11px;font-weight:700;color:var(--accent-gold, #ffd32a);text-transform:uppercase;letter-spacing:1px}.ref-board-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:6px;background:var(--board-bg-gradient);box-shadow:inset 0 0 180px #000000b3,inset 0 0 80px #0006}.ref-board{position:relative;aspect-ratio:1.15;height:calc(100vh - 1rem);max-width:100%;container-type:size}.absolute{position:absolute}.inset-0{inset:0}.ref-center-dashboard{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqw}.ref-dice-row{display:flex;gap:2cqw}.ref-roll-btn{display:inline-flex;align-items:center;gap:2cqw;border-radius:12px;background:#745af4;color:#fff;font-weight:600;border:none;cursor:pointer;box-shadow:0 10px 30px -10px #745af4;transition:transform .15s;font-size:clamp(11px,2cqw,15px);padding:clamp(8px,1.4cqw,14px) clamp(14px,3cqw,26px)}.ref-roll-btn:hover:not(:disabled){transform:scale(1.02)}.ref-roll-btn:active:not(:disabled){transform:scale(.98)}.ref-roll-btn:disabled{opacity:.6;cursor:not-allowed}.ref-doubles-badge{font-size:clamp(10px,1.4cqw,13px);color:#cd9200;color:oklch(.7 .15 80)}.ref-center-buttons{display:flex;flex-direction:column;align-items:center;gap:1cqw}.ref-action-btns{display:flex;gap:1cqw;flex-wrap:wrap;justify-content:center}.ref-btn{padding:8px 20px;color:#fff;background:linear-gradient(135deg,var(--accent-primary) 0%,#5a4bcf 100%);border:none;font-size:clamp(11px,1.3cqw,13px);font-weight:700;border-radius:8px;box-shadow:0 4px 12px -4px #6c5ce780;outline:none;transition:transform .15s,box-shadow .15s,filter .15s;cursor:pointer;letter-spacing:.5px}.ref-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px -4px #6c5ce799;filter:brightness(1.1)}.ref-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px -2px #6c5ce766;transition:transform .08s,box-shadow .15s,filter .15s}.ref-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:grayscale(.5)}.ref-btn-buy{background:linear-gradient(135deg,var(--accent-green) 0%,#00a381 100%);box-shadow:0 4px 12px -4px #00b89480}.ref-btn-buy:hover:not(:disabled){box-shadow:0 8px 16px -4px #00b89499}@keyframes affordablePulse{0%,to{opacity:.3}50%{opacity:1}}.ref-btn-buy:not(:disabled){position:relative}.ref-btn-buy:not(:disabled):after{content:"";position:absolute;inset:0;border-radius:8px;box-shadow:0 4px 22px -2px #00b894e6;animation:affordablePulse 1.8s ease-in-out infinite;pointer-events:none}.ref-btn-auction,.ref-btn-pass{background:linear-gradient(135deg,var(--accent-primary) 0%,#5a4bcf 100%)}.ref-btn-end{background:linear-gradient(135deg,var(--accent-gold) 0%,#e6b800 100%);color:#1a1a2e}.ref-corner-slot{position:absolute}.ref-corner-slot-inner{width:100%;height:100%}.ref-edge-top{position:absolute;top:0;display:flex;flex-direction:row;overflow:visible}.ref-edge-right{position:absolute;right:0;display:flex;flex-direction:column;overflow:visible}.ref-edge-bottom{position:absolute;bottom:0;display:flex;flex-direction:row;overflow:visible}.ref-edge-left{position:absolute;left:0;display:flex;flex-direction:column;overflow:visible}.ref-corner-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border-radius:14px;padding:6%;text-align:center;font-weight:700;transition:filter .12s ease;font-size:1.4cqw;line-height:1.2;width:100%;height:100%;gap:.3cqw;background:linear-gradient(155deg,var(--board-glass-bg),var(--board-glass-bg-hover));box-shadow:inset 0 1px 0 var(--board-glass-border),0 8px 24px -16px var(--board-glass-shadow)}.ref-corner-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,var(--board-glass-bg-hover),transparent 70%);opacity:0;transition:opacity .12s ease}.ref-corner-card:hover{filter:brightness(1.18)}.ref-corner-card:hover:before{opacity:1}.ref-corner-hover-glow{position:absolute;inset:0;background:linear-gradient(to bottom right,var(--board-glass-bg-hover),transparent);opacity:0;transition:opacity .12s ease;pointer-events:none}.ref-corner-card:hover .ref-corner-hover-glow{opacity:1}.ref-corner-big{position:relative;font-weight:900;letter-spacing:-.02em}.ref-corner-sub{position:relative;font-weight:600}.ref-prison-bars{position:absolute;inset:0;opacity:.25;background-image:repeating-linear-gradient(180deg,#94a3b8 0 4px,transparent 4px 10px);mix-blend-mode:overlay}.ref-gotojail-stripes{position:absolute;inset:0;opacity:.15;background-image:repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(239,68,68,.5) 6px,rgba(239,68,68,.5) 8px);mix-blend-mode:overlay}.ref-parking-pot{font-weight:800;color:#fbbf24;background:#0009;padding:.3cqw .8cqw;border-radius:6px;border:1px solid rgba(251,191,36,.3);text-shadow:0 0 8px rgba(251,191,36,.5)}.ref-tile{position:relative;display:flex;flex-direction:column;border-radius:12px;border-width:.55cqw;border-style:solid;transition:filter .12s ease,box-shadow .12s ease;width:100%;height:100%}.ref-tile:hover{z-index:10;filter:brightness(1.22);box-shadow:0 0 20px -10px var(--glow, rgba(255,255,255,.2))}.ref-tile-hover-glow{position:absolute;inset:0;border-radius:12px;background:linear-gradient(to bottom right,var(--board-glass-bg-hover),transparent);opacity:0;transition:opacity .12s ease;pointer-events:none}.ref-tile:hover .ref-tile-hover-glow{opacity:1}.ref-color-band{position:absolute;z-index:5;background:var(--band-color);opacity:.35;border-right:2px solid color-mix(in srgb,var(--band-color) 60%,white)}.ref-tile-top .ref-color-band,.ref-tile-bottom .ref-color-band{left:0;right:0;top:0;height:22%;border-radius:10px 10px 0 0}.ref-tile-left .ref-color-band{top:0;bottom:0;right:0;width:22%;border-radius:0 10px 10px 0}.ref-tile-right .ref-color-band{top:0;bottom:0;left:0;width:22%;border-radius:10px 0 0 10px}.ref-owner-indicator{position:absolute;z-index:30;display:flex;align-items:center;justify-content:center;gap:1px;filter:drop-shadow(0 0 3px rgba(0,0,0,.6));transition:all .15s ease}.ref-owner-vertical{flex-direction:column}.ref-owner-top,.ref-owner-bottom,.ref-owner-left,.ref-owner-right{bottom:0;left:50%;transform:translate(-50%)}.ref-owner-top.ref-owner-outside{bottom:-25%;top:auto;left:50%;transform:translate(-50%)}.ref-owner-bottom.ref-owner-outside{top:-25%;bottom:auto;left:50%;transform:translate(-50%)}.ref-owner-left.ref-owner-outside{right:-25%;left:auto;top:50%;transform:translateY(-50%)}.ref-owner-right.ref-owner-outside{left:-25%;right:auto;top:50%;transform:translateY(-50%)}.ref-clean-flag{width:2.2cqw;height:2.2cqw;border-radius:50%;object-fit:cover;margin-bottom:3%;opacity:.85;box-shadow:0 1px 3px #0006}.ref-price{position:absolute;z-index:20;white-space:nowrap;font-weight:900;color:var(--board-text-muted)}.ref-tile-body{position:relative;z-index:10;display:flex;width:100%;height:100%;padding:3%}.ref-tile-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4%;width:100%;height:100%}.ref-tile-name{font-weight:700;color:var(--board-text);text-align:center;line-height:1.1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.ref-tile-name-visited{position:absolute;bottom:6%;left:0;right:0;text-align:center}.ref-tile-icon{line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.ref-building-wrap{width:60%;height:4cqw;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.ref-mortgaged-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.5cqw;font-weight:900;color:#ef4444;background:#00000080;border-radius:12px;z-index:5;animation:mortgageFadeIn .4s ease-out}@keyframes mortgageFadeIn{0%{opacity:0}to{opacity:1}}.ref-tile-mortgaged{filter:brightness(.5) saturate(.5);transition:filter .4s ease,opacity .4s ease}.ref-tile-mortgaged:hover{filter:brightness(.7) saturate(.55)}@keyframes bankruptSweep{0%{filter:brightness(1);box-shadow:none}30%{filter:brightness(1.8);box-shadow:0 0 24px 4px #ef4444b3}to{filter:brightness(1);box-shadow:none}}.ref-tile-bankrupt-sweep{animation:bankruptSweep .6s ease-out both}.ref-property-badge{position:absolute;z-index:35;display:inline-flex;align-items:center;justify-content:center;gap:.35cqw;min-width:3.2cqw;height:1.75cqw;padding:0 .45cqw;border-radius:999px;border:.12cqw solid rgba(255,255,255,.45);background:#070a18c7;box-shadow:0 .28cqw .9cqw #00000061,inset 0 .08cqw #ffffff40;pointer-events:none}.ref-property-badge-top{bottom:.35cqw;left:50%;transform:translate(-50%)}.ref-property-badge-right{left:.35cqw;top:50%;transform:translateY(-50%)}.ref-property-badge-bottom{top:.35cqw;left:50%;transform:translate(-50%)}.ref-property-badge-left{right:.35cqw;top:50%;transform:translateY(-50%)}.ref-owner-dot{width:.9cqw;height:.9cqw;flex:0 0 auto;border-radius:50%;border:.12cqw solid rgba(255,255,255,.85);box-shadow:0 0 .55cqw currentColor}.ref-building-pill{display:inline-flex;align-items:center;justify-content:center;gap:.12cqw;min-width:1.35cqw;height:1.25cqw;padding:0 .16cqw;border-radius:.32cqw;background:#e7fff2;color:#064e3b;font-size:.78cqw;font-weight:950;line-height:1;box-shadow:inset 0 -.12cqw #064e3b2e}.ref-building-pill.is-hotel{background:#ffe8e8;color:#991b1b;font-size:.9cqw}.ref-building-count{font-size:.78cqw;line-height:1}.token-overlay{position:absolute;inset:0;pointer-events:none;z-index:50}.token-icon{position:absolute;width:clamp(20px,4.2cqw,32px);height:clamp(20px,4.2cqw,32px);margin-left:calc(clamp(20px,4.2cqw,32px)/-2);margin-top:calc(clamp(20px,4.2cqw,32px)/-2);display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none;background:#000000b3;border-radius:50%;border:2px solid var(--token-color, #fff);box-shadow:0 0 8px 2px var(--token-color, #fff),0 2px 6px #0009;transition:transform .13s ease-out;will-change:transform}.token-icon-small{width:clamp(16px,3.4cqw,26px);height:clamp(16px,3.4cqw,26px);margin-left:calc(clamp(16px,3.4cqw,26px)/-2);margin-top:calc(clamp(16px,3.4cqw,26px)/-2);border-width:1.5px}.token-icon svg{width:72%;height:72%}.token-icon-active{z-index:20}.token-piece{position:absolute;left:0;top:0;width:clamp(24px,3.8cqw,48px);height:clamp(24px,3.8cqw,48px);display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:auto;will-change:transform}.token-piece svg{width:100%;height:100%;stroke:var(--board-text-muted);stroke-width:3;paint-order:stroke fill;filter:drop-shadow(0 0 .18cqw rgba(255,255,255,.95)) drop-shadow(0 .18cqw .28cqw rgba(0,0,0,.95))}.token-piece-active{z-index:20}.token-piece-active svg{animation:tokenPulse 1s ease-in-out infinite}@keyframes tokenPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes tokenHop{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-22%) scale(.9,1.12)}55%{transform:translateY(-38%) scale(1)}80%{transform:translateY(0) scale(1.14,.86)}to{transform:translateY(0) scale(1)}}.token-hopping svg{animation:tokenHop .14s var(--ease-out-smooth, ease-out)}.game-log{width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;background:var(--bg-surface);border-radius:var(--radius-md);overflow:hidden}.game-log-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-elevated);border-bottom:1px solid var(--board-glass-bg-hover)}.game-log-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-primary)}.game-log-icon{font-size:14px}.game-log-actions{display:flex;align-items:center;gap:6px}.game-log-count{font-size:10px;font-weight:600;color:var(--text-muted);background:var(--board-glass-bg-hover);padding:2px 7px;border-radius:8px}.game-log-clear{background:transparent;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:2px 5px;border-radius:3px}.game-log-clear:hover{background:#e1705533;color:var(--accent-red)}.game-log-content{flex:1;overflow-y:auto;padding:10px}.game-log-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.empty-icon{font-size:28px;margin-bottom:6px;opacity:.4}.empty-text{font-size:12px}.game-log-list{display:flex;flex-direction:column;gap:4px}.game-log-item{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;background:var(--board-glass-bg-hover);border-radius:3px;font-size:11px;color:var(--text-secondary);line-height:1.4}.log-item-icon{flex-shrink:0;font-size:11px}.log-item-message{flex:1}.ref-trade-list{display:flex;flex-direction:column;gap:.5cqw;width:80%;max-width:28cqw;max-height:18cqw;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.ref-trade-item{background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;transition:border-color .15s}.ref-trade-item:hover{border-color:#ffffff2e}.ref-trade-row{display:flex;align-items:center;gap:.6cqw;padding:.5cqw 1cqw;cursor:pointer;font-size:clamp(10px,1.1cqw,13px);font-weight:600;-webkit-user-select:none;user-select:none}.ref-trade-arrow{color:#ffffff59;font-size:.9em}.ref-trade-eye{margin-left:auto;font-size:1em;opacity:.7}.ref-trade-detail{padding:.4cqw 1cqw .6cqw;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:.3cqw}.ref-trade-offer{display:flex;align-items:center;gap:.5cqw;font-size:clamp(9px,.95cqw,12px);color:#fff9}.ref-trade-label{font-weight:700;color:#fff6;min-width:4cqw}.ref-trade-actions{display:flex;gap:.5cqw;margin-top:.3cqw}.ref-trade-accept{flex:1;padding:.3cqw .8cqw;border:none;border-radius:5px;font-size:clamp(9px,.9cqw,11px);font-weight:700;cursor:pointer;background:#34d39933;color:#34d399;border:1px solid rgba(52,211,153,.3);transition:background .15s}.ref-trade-accept:hover{background:#34d39959}.ref-trade-reject{flex:1;padding:.3cqw .8cqw;border:none;border-radius:5px;font-size:clamp(9px,.9cqw,11px);font-weight:700;cursor:pointer;background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.25);transition:background .15s}.ref-trade-reject:hover{background:#ef44444d}.ref-trade-reject-inline{margin-left:auto;background:none;border:none;color:#ffffff4d;font-size:.85em;cursor:pointer;padding:0 .3cqw;transition:color .15s}.ref-trade-reject-inline:hover{color:#ef4444}@keyframes goFlyUp{0%{transform:translateY(0) scale(.8);opacity:0}15%{transform:translateY(-10%) scale(1.1);opacity:1}75%{transform:translateY(-60%) scale(1);opacity:1}to{transform:translateY(-90%) scale(.9);opacity:0}}.ref-go-bonus{position:absolute;z-index:60;left:50%;top:30%;transform:translate(-50%);font-weight:900;font-size:clamp(14px,2.4cqw,22px);color:#34d399;text-shadow:0 0 12px rgba(52,211,153,.7),0 2px 4px rgba(0,0,0,.6);pointer-events:none;animation:goFlyUp 1.1s var(--ease-out-smooth, ease-out) forwards}@keyframes jailSlam{0%{transform:translateY(-120%);opacity:0}60%{transform:translateY(6%);opacity:1}80%{transform:translateY(-2%)}to{transform:translateY(0);opacity:1}}.ref-prison-bars.just-jailed{animation:jailSlam .5s var(--ease-out-back, ease-out) both}@keyframes tileLandPulse{0%{box-shadow:0 0 #ffffff8c}to{box-shadow:0 0 0 14px #fff0}}.ref-tile.just-arrived:after{content:"";position:absolute;inset:0;border-radius:12px;pointer-events:none;animation:tileLandPulse .6s var(--ease-out-smooth, ease-out)}.property-manager-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.property-manager{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;width:95%;max-width:1400px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 70px #000c;border:2px solid rgba(255,255,255,.1);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.manager-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:linear-gradient(135deg,#0f3460,#16213e);border-bottom:2px solid rgba(52,152,219,.3);border-radius:16px 16px 0 0;position:relative;overflow:hidden}.manager-header:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:shimmerHeader 3s ease-out 1}@keyframes shimmerHeader{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.header-content{flex:1;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.manager-header h2{font-size:28px;color:#fff;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.5)}.player-info{display:flex;align-items:center;gap:20px;font-size:16px}.player-name{font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5)}.player-balance{font-weight:600;color:#4caf50;background:#4caf501a;padding:6px 12px;border-radius:20px;border:1px solid rgba(76,175,80,.3)}.close-btn{background:#e74c3c33;border:2px solid rgba(231,76,60,.4);color:#e74c3c;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.close-btn:hover{background:#e74c3c4d;border-color:#e74c3c;transform:rotate(90deg)}.manager-content{flex:1;overflow-y:auto;padding:20px}.manager-content::-webkit-scrollbar{width:10px}.manager-content::-webkit-scrollbar-track{background:#0003;border-radius:10px}.manager-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3498db,#2980b9);border-radius:10px}.no-properties{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#ffffff80;gap:20px}.empty-icon{font-size:80px;opacity:.3;animation:floatEmpty 3s ease-in-out infinite}@keyframes floatEmpty{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.empty-text{font-size:20px;font-weight:500}.properties-section{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;min-height:500px}.properties-grid{display:flex;flex-direction:column;gap:15px;overflow-y:auto;padding-right:10px}.property-group{background:#ffffff0d;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);transition:all .3s}.property-group:hover{border-color:#fff3;box-shadow:0 5px 20px #0000004d}.group-header{padding:12px 15px;color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px;text-shadow:0 2px 4px rgba(0,0,0,.5);border-bottom:1px solid rgba(0,0,0,.2)}.monopoly-star{animation:rotateStar 3s linear infinite}@keyframes rotateStar{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.property-item{display:flex;align-items:stretch;cursor:pointer;transition:all .2s;background:#0003;position:relative;overflow:hidden}.property-item:hover{background:#ffffff14}.property-item.selected{background:#3498db26;box-shadow:inset 0 0 0 2px #3498db80}.property-item.mortgaged{opacity:.6}.property-color-strip{width:8px;min-height:60px;flex-shrink:0}.property-details{flex:1;padding:12px 15px;display:flex;flex-direction:column;gap:6px;position:relative}.property-name{font-weight:600;color:#fff;font-size:14px}.property-stats{display:flex;align-items:center;gap:15px;font-size:13px}.property-value{color:#4caf50;font-weight:600}.property-houses{color:#fff;font-size:16px}.mortgaged-overlay{position:absolute;top:50%;right:15px;transform:translateY(-50%);background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 8px #e74c3c66}.property-actions-panel{background:#ffffff0d;border-radius:12px;padding:25px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:20px}.actions-header{border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:15px}.actions-header h3{font-size:24px;color:#fff;margin:0 0 10px}.property-quick-stats{display:flex;align-items:center;gap:10px;color:#ffffffb3;font-size:13px}.action-buttons-container{display:flex;flex-direction:column;gap:25px}.action-group{display:flex;flex-direction:column;gap:12px}.action-group h4{font-size:16px;color:#fff;margin:0;display:flex;align-items:center;gap:8px}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.btn{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:10px;border:2px solid;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-icon{font-size:20px}.btn-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1}.btn-price{font-size:12px;opacity:.8}.btn-build{background:linear-gradient(135deg,#4caf5033,#388e3c33);border-color:#4caf50;color:#4caf50}.btn-build:hover:not(:disabled){background:linear-gradient(135deg,#4caf504d,#388e3c4d);box-shadow:0 8px 20px #4caf504d}.btn-sell-house{background:linear-gradient(135deg,#ff980033,#f57c0033);border-color:#ff9800;color:#ff9800}.btn-sell-house:hover:not(:disabled){background:linear-gradient(135deg,#ff98004d,#f57c004d);box-shadow:0 8px 20px #ff98004d}.btn-sell-property{background:linear-gradient(135deg,#e74c3c33,#c0392b33);border-color:#e74c3c;color:#e74c3c}.btn-sell-property:hover:not(:disabled){background:linear-gradient(135deg,#e74c3c4d,#c0392b4d);box-shadow:0 8px 20px #e74c3c4d}.btn-mortgage{background:linear-gradient(135deg,#3498db33,#2980b933);border-color:#3498db;color:#3498db}.btn-mortgage:hover:not(:disabled){background:linear-gradient(135deg,#3498db4d,#2980b94d);box-shadow:0 8px 20px #3498db4d}.btn-unmortgage{background:linear-gradient(135deg,#9b59b633,#8e44ad33);border-color:#9b59b6;color:#9b59b6}.btn-unmortgage:hover:not(:disabled){background:linear-gradient(135deg,#9b59b64d,#8e44ad4d);box-shadow:0 8px 20px #9b59b64d}.monopoly-info{background:linear-gradient(135deg,#ffd70026,#ffc10726);border:1px solid rgba(255,215,0,.3);border-radius:8px;padding:10px 15px;color:gold;font-size:13px;display:flex;align-items:center;gap:8px}.mortgage-info{background:#3498db1a;border:1px solid rgba(52,152,219,.2);border-radius:8px;padding:10px 15px;color:#3498dbe6;font-size:12px;display:flex;align-items:center;gap:8px}@media(max-width:1200px){.properties-section{grid-template-columns:1fr}.property-actions-panel{max-height:400px;overflow-y:auto}}@media(max-width:768px){.manager-header h2{font-size:20px}.player-info{flex-direction:column;gap:8px;align-items:flex-start}.action-buttons{grid-template-columns:1fr}}.property-selector{width:100%}.properties-grid-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.property-selector-item{background-color:#2a2a2a;border:2px solid #444;border-radius:6px;padding:0;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.property-selector-item:hover:not(.mortgaged){border-color:#666;transform:translateY(-3px);box-shadow:0 4px 12px #0006}.property-selector-item.selected{border-color:#4caf50;background-color:#2d3a2d;box-shadow:0 0 15px #4caf504d}.property-selector-item.mortgaged{opacity:.5;cursor:not-allowed}.property-color-bar{width:100%;height:35px;border-radius:4px 4px 0 0}.property-content{padding:10px}.property-name{font-weight:700;color:#fff;font-size:.8vw;margin-bottom:6px;line-height:1.2;min-height:2.4em}.property-details{display:flex;justify-content:space-between;align-items:center}.property-price{color:#4caf50;font-weight:700;font-size:.75vw}.property-houses,.property-hotel{font-size:14px}.mortgaged-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#e74c3cf2;color:#fff;padding:5px 10px;border-radius:4px;font-weight:700;font-size:.7vw;z-index:2}.selected-checkmark{position:absolute;top:8px;right:8px;width:28px;height:28px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;box-shadow:0 2px 8px #4caf5080;z-index:3;animation:checkmarkPop var(--motion-fast, .15s) var(--ease-out-back, ease-out)}@keyframes checkmarkPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.property-selector-item.selected{animation:selectionFlash .5s ease-out}@keyframes selectionFlash{0%{background-color:#4caf5080}to{background-color:transparent}}.no-properties{text-align:center;padding:30px;color:#888;font-size:.9vw;font-style:italic;background-color:#1a1a1a;border-radius:6px;border:2px dashed #444}@media(max-width:1200px){.property-name{font-size:12px}.property-price{font-size:11px}.mortgaged-overlay{font-size:10px}.no-properties{font-size:13px}}.trade-modal-overlay{position:fixed;inset:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.trade-modal{background-color:#2a2a2a;border-radius:12px;width:95%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #000000b3}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid #444;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.modal-header h2{font-size:1.5vw;color:#fff;margin:0}.modal-content{flex:1;overflow-y:auto;padding:20px}.trade-section{margin-bottom:25px;padding:15px;background-color:#1a1a1a;border-radius:8px}.trade-section h3{font-size:1.1vw;color:#fff;margin:0 0 15px}.trade-section.offering{border-left:4px solid #4caf50}.trade-section.requesting{border-left:4px solid #2196f3}.player-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.player-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background-color:#2a2a2a;border:2px solid #444;border-radius:6px;cursor:pointer;transition:all .2s;color:#fff;font-size:.9vw}.player-option:hover{border-color:#666;transform:translateY(-2px)}.player-option.selected{border-color:#4caf50;background-color:#2d3a2d;box-shadow:0 0 15px #4caf504d}.player-token{width:24px;height:24px;border-radius:50%;border:2px solid #fff;flex-shrink:0}.player-money{font-size:.8vw;color:#4caf50;font-weight:600;margin-left:auto}.money-input{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:10px;background-color:#2a2a2a;border-radius:6px}.money-input label{font-weight:700;color:#fff;font-size:.9vw}.money-input input{flex:1;padding:8px 12px;background-color:#1a1a1a;border:2px solid #444;border-radius:4px;color:#fff;font-size:.9vw;font-weight:700}.money-input input:focus{outline:none;border-color:#4caf50}.money-limit{color:#888;font-size:.8vw}.trade-summary{display:flex;align-items:center;justify-content:space-between;padding:20px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:8px;margin-top:20px;border:2px solid #444}.summary-side{flex:1;text-align:center}.summary-side strong{display:block;color:#4caf50;margin-bottom:8px;font-size:.9vw}.summary-side div{color:#fff;font-size:1vw;font-weight:700}.summary-arrow{font-size:2vw;color:#4caf50;margin:0 20px}.modal-footer{display:flex;gap:15px;padding:20px;border-top:2px solid #444;background-color:#1a1a1a}.modal-footer .btn{flex:1;padding:12px;font-size:.95vw;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-cancel{background:linear-gradient(135deg,#757575,#616161);color:#fff}.btn-cancel:hover{background:linear-gradient(135deg,#616161,#424242)}.btn-submit{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:#1a1a1a;border-radius:5px}.modal-content::-webkit-scrollbar-thumb{background:#444;border-radius:5px}.modal-content::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:1200px){.modal-header h2{font-size:20px}.trade-section h3{font-size:16px}.player-option,.money-input label,.money-input input{font-size:13px}.money-limit{font-size:12px}.summary-side strong{font-size:13px}.summary-side div{font-size:14px}.summary-arrow{font-size:24px}.modal-footer .btn{font-size:14px}}.stats-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn var(--motion-fast, .15s) ease-out}.stats-modal{background:#fff;border-radius:12px;width:90%;max-width:1000px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;animation:modalPopIn var(--motion-medium, .35s) var(--ease-out-back, ease-out)}.stats-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #e0e0e0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.stats-header h2{margin:0;font-size:24px}.stats-content{display:grid;grid-template-columns:300px 1fr;gap:20px;padding:20px}.rankings-section h3,.player-details h3{margin:0 0 15px;font-size:18px;color:#2c3e50}.rankings-list{display:flex;flex-direction:column;gap:10px}.ranking-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent}.ranking-item:hover{background:#e9ecef;transform:translate(4px)}.ranking-item.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.ranking-position{font-weight:700;font-size:20px;min-width:30px;text-align:center}.ranking-token{width:36px;height:36px;border-radius:50%;border:3px solid white;box-shadow:0 2px 8px #0003}.ranking-info{flex:1}.ranking-name{font-weight:600;font-size:14px;margin-bottom:2px}.ranking-worth{font-size:12px;opacity:.8}.player-details{display:flex;flex-direction:column;gap:20px}.player-details-header{display:flex;align-items:center;gap:15px;padding:15px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px}.player-token-large{width:50px;height:50px;border-radius:50%;border:4px solid white;box-shadow:0 4px 12px #0003}.player-details-header h3{margin:0 0 5px;color:#2c3e50}.player-cash{font-size:16px;font-weight:600;color:#27ae60}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px;border-radius:8px;text-align:center;box-shadow:0 4px 12px #667eea4d}.stat-value{font-size:24px;font-weight:700;margin-bottom:5px}.stat-label{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.properties-owned{background:#f8f9fa;padding:15px;border-radius:8px}.properties-owned h4{margin:0 0 12px;font-size:16px;color:#2c3e50}.property-grid{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto}.property-detail{background:#fff;padding:10px 12px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #667eea}.property-detail-name{font-weight:600;font-size:14px;color:#2c3e50;display:flex;align-items:center;gap:8px}.mortgaged-badge{background:#e74c3c;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;text-transform:uppercase;font-weight:700}.houses-badge{background:#27ae60;color:#fff;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;margin-left:8px}.property-detail-info{font-size:13px;color:#7f8c8d;font-weight:600}@media(max-width:768px){.stats-content{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.rankings-section{max-height:200px;overflow-y:auto}}.game-over-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:overlayFadeIn var(--motion-fast, .15s) ease-out}.game-over-modal{background:var(--bg-surface, #1a1a2e);border:1px solid rgba(255,255,255,.08);border-radius:16px;width:90%;max-width:700px;max-height:85vh;overflow-y:auto;box-shadow:0 16px 48px #0009;animation:modalPopIn var(--motion-slow, .6s) var(--ease-out-back, ease-out)}.game-over-header{background:linear-gradient(135deg,#f39c12,#f1c40f);padding:30px;text-align:center;border-radius:16px 16px 0 0;color:#fff}.game-over-header h1{margin:0 0 20px;font-size:36px;text-shadow:2px 2px 4px rgba(0,0,0,.2);animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.winner-announcement{display:flex;align-items:center;justify-content:center;gap:15px}.winner-token{width:60px;height:60px;border-radius:50%;border:5px solid white;box-shadow:0 4px 16px #0000004d}.winner-name{font-size:32px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.final-standings{padding:30px}.final-standings h2{margin:0 0 20px;font-size:24px;color:var(--text-primary, #fff);text-align:center}.standings-list{display:flex;flex-direction:column;gap:12px}.standing-item{display:flex;align-items:center;gap:15px;padding:15px;background:var(--bg-elevated, #232342);border-radius:10px;border:2px solid transparent;transition:transform .2s}.standing-item:hover{transform:translate(4px)}.standing-item.winner{background:linear-gradient(135deg,#f39c12,#f1c40f);color:#fff;border-color:#f39c12;box-shadow:0 4px 16px #f39c124d}.standing-item.bankrupt{opacity:.6;background:#ffffff0a}.standing-rank{font-size:24px;font-weight:700;min-width:40px;text-align:center}.standing-token{width:45px;height:45px;border-radius:50%;border:3px solid white;box-shadow:0 2px 8px #0003}.standing-info{flex:1}.standing-name{font-size:18px;font-weight:700;margin-bottom:4px}.standing-details{font-size:14px;opacity:.9;display:flex;gap:8px;flex-wrap:wrap}.bankrupt-label{background:#e74c3c;color:#fff;padding:4px 8px;border-radius:4px;font-weight:700;font-size:12px}.game-stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:0 30px 30px}.stat-summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:10px;text-align:center;box-shadow:0 4px 12px #667eea4d}.stat-summary-value{font-size:32px;font-weight:700;margin-bottom:5px}.stat-summary-label{font-size:13px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.game-over-actions{padding:0 30px 30px}.restart-btn{width:100%;padding:16px 32px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #27ae604d}.restart-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #27ae6066}@media(max-width:768px){.game-over-header h1{font-size:28px}.winner-name{font-size:24px}.game-stats-summary{grid-template-columns:1fr}.standing-name{font-size:16px}.standing-details{font-size:12px}}.confetti-canvas{position:fixed;inset:0;z-index:2001;pointer-events:none}@keyframes winnerTokenZoom{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.25) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.winner-token{animation:winnerTokenZoom .7s var(--ease-out-back, ease-out) .15s both}@keyframes winnerNamePop{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.winner-name{animation:winnerNamePop var(--motion-medium, .35s) var(--ease-out-smooth, ease-out) .35s both}.online-panel{margin-top:0;padding:0;border-radius:10px;background:transparent;border:none;display:flex;flex-direction:column;gap:6px}.online-panel .room-code{font-size:.95rem;letter-spacing:2px}.online-panel .room-code strong{color:#2ecc71;font-size:1.2rem}.lobby-list{display:flex;flex-direction:column;gap:4px}.lobby-player{padding:4px 8px;border-radius:6px;background:#ffffff0f;display:flex;align-items:center;gap:6px}.lobby-name-input{flex:1;min-width:0;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#00000040;color:inherit;font-size:.9rem}.online-btn{padding:8px 12px;border-radius:8px;border:none;cursor:pointer;background:#3498db;color:#fff;font-weight:600}.online-btn:disabled{opacity:.4;cursor:not-allowed}.online-divider{text-align:center;opacity:.6;font-size:.8rem}.join-row{display:flex;gap:6px}.join-row input{flex:1;min-width:0;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#00000040;color:inherit}.online-error{color:#e74c3c;font-size:.85rem}.setup-screen{height:100vh;width:100%;padding:clamp(12px,2.5vh,32px) clamp(12px,4vw,40px);background:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(108,92,231,.18) 0%,transparent 60%),var(--bg-deep);display:flex;align-items:center;justify-content:center;overflow:hidden}.setup-card{position:relative;width:100%;max-width:960px;max-height:100%;background:var(--bg-surface);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);overflow:hidden;display:flex;flex-direction:column;animation:setupPanelIn var(--motion-medium, .35s) var(--ease-out-smooth, ease-out) both}.setup-card-narrow{max-width:460px}.setup-band{height:8px;flex-shrink:0;background:linear-gradient(90deg,var(--color-brown) 0 12.5%,var(--color-lightblue) 12.5% 25%,var(--color-pink) 25% 37.5%,var(--color-orange) 37.5% 50%,var(--color-red) 50% 62.5%,var(--color-yellow) 62.5% 75%,var(--color-green) 75% 87.5%,var(--color-darkblue) 87.5% 100%)}.setup-header{flex-shrink:0;padding:clamp(10px,2vh,20px) clamp(20px,4vw,36px) clamp(4px,1vh,10px);text-align:center}.setup-eyebrow{font-size:clamp(10px,1.4vh,12px);font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--accent-gold);margin-bottom:4px}.setup-title{margin:0;font-size:clamp(22px,4vh,40px);font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);line-height:1.02}.setup-subtitle{margin:4px auto 0;max-width:40ch;font-size:clamp(12px,1.5vh,14px);color:var(--text-secondary)}.setup-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr;gap:clamp(10px,1.5vw,20px);padding:clamp(12px,2vh,24px);overflow-y:auto}@media(min-width:720px){.setup-body{grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden}}.setup-body-single{grid-template-columns:1fr}.setup-left{min-width:0;min-height:0;display:flex;flex-direction:column;gap:clamp(10px,1.4vh,16px);overflow-y:auto}.setup-right{min-width:0;min-height:0;display:flex;flex-direction:column}@media(min-width:720px){.setup-left,.setup-right{overflow:hidden}}.setup-left,.players-panel{background:var(--bg-elevated);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);padding:clamp(12px,1.6vh,18px)}.players-panel{display:flex;flex-direction:column;min-height:0}@media(min-width:720px){.players-panel{flex:1}}.panel-header{flex-shrink:0;font-weight:700;font-size:15px;color:var(--text-primary);margin-bottom:clamp(8px,1.4vh,14px);padding-bottom:clamp(8px,1.2vh,12px);border-bottom:1px solid rgba(255,255,255,.06)}.setting-row{display:flex;gap:clamp(10px,1.6vh,14px)}.setting-row .setting-group{flex:1;margin-bottom:clamp(8px,1.4vh,14px)}.setting-group{margin-bottom:clamp(8px,1.4vh,14px)}.setting-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.setting-group select,.setting-group input[type=number]{width:100%;padding:clamp(6px,1vh,9px) 12px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);font-size:14px;background:var(--bg-deep);color:var(--text-primary);transition:border-color .2s}.setting-group select:focus,.setting-group input[type=number]:focus{outline:none;border-color:var(--accent-primary)}.rules-section{margin-top:clamp(10px,1.6vh,16px);padding-top:clamp(8px,1.4vh,14px);border-top:1px solid rgba(255,255,255,.06)}.rules-header{font-weight:600;font-size:13px;color:var(--text-primary);margin-bottom:clamp(6px,1.2vh,12px)}.checkbox-label{display:flex;align-items:center;gap:10px;margin-bottom:clamp(6px,1vh,10px);cursor:pointer;font-size:13px;color:var(--text-secondary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--accent-primary)}.players-list{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding-right:4px}.player-setup-item{display:flex;flex-wrap:wrap;gap:clamp(6px,1vh,10px);align-items:center;background:var(--bg-deep);padding:clamp(8px,1.2vh,12px) 14px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.06);transition:border-color .2s;animation:playerRowIn var(--motion-fast, .15s) var(--ease-out-smooth, ease-out) both}.player-setup-item:hover{border-color:#ffffff1f}.player-type-badge{font-size:11px;font-weight:700;padding:4px 8px;border-radius:var(--radius-sm);background:#ffffff1a;color:var(--text-secondary);white-space:nowrap}.ai-badge{background:#6c5ce733;color:#a78bfa}.human-player{border-color:#00b89459}.ai-player{opacity:.92}.player-name-input{flex:1 1 120px;min-width:0;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);font-size:14px;background:var(--bg-surface);color:var(--text-primary);transition:border-color .2s}.player-name-input:focus{outline:none;border-color:var(--accent-primary)}.player-name-input:disabled{background:var(--bg-hover);cursor:not-allowed}.player-icon-list,.player-color-list{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.icon-dot{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;transition:transform .15s,background .15s;padding:0}.icon-dot:hover:not(:disabled){background:#ffffff1a;transform:scale(1.1)}.icon-dot.icon-assigned{background:#ffffff26}.icon-dot.icon-taken{opacity:.2;cursor:not-allowed}.color-dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;padding:0}.color-dot:hover:not(:disabled){transform:scale(1.2);border-color:#ffffff80}.color-dot.color-assigned{border-color:#fff;box-shadow:0 0 8px currentColor}.color-dot.color-taken{opacity:.2;cursor:not-allowed}.remove-bot-btn{width:30px;height:30px;border-radius:50%;border:none;background:#e74c3c33;color:#e74c3c;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;margin-left:auto}.remove-bot-btn:hover{background:#e74c3c66}.add-bot-btn{width:100%;padding:12px;background:#ffffff08;border:2px dashed rgba(255,255,255,.15);border-radius:var(--radius-md);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.add-bot-btn:hover{background:#ffffff0f;border-color:#ffffff40;color:var(--text-primary)}.setup-online{min-width:0;margin-top:auto;padding-top:clamp(10px,1.4vh,16px);border-top:1px solid rgba(255,255,255,.06)}.setup-online .online-panel{margin-top:0}.start-game-btn{width:100%;flex-shrink:0;margin-top:clamp(10px,1.4vh,16px);font-size:clamp(15px,2vh,18px);padding:clamp(12px,1.8vh,16px) clamp(24px,5vw,48px);font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(135deg,var(--accent-green) 0%,#00a381 100%);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 6px 20px #00b89459;transition:transform .2s,box-shadow .2s}.start-game-btn:hover{transform:translateY(-2px);box-shadow:0 8px 26px #00b89480}.start-game-btn:active{transform:translateY(0)}.landing-options{display:flex;flex-direction:column;gap:clamp(10px,1.6vh,16px);padding:clamp(4px,1vh,12px) 0}.landing-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:clamp(14px,2.2vh,20px) clamp(16px,2vw,22px);background:var(--bg-elevated);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;text-align:left;transition:transform .15s,border-color .15s,background .15s}.landing-btn:hover{transform:translateY(-2px);border-color:var(--accent-primary);background:var(--bg-hover)}.landing-btn-title{font-size:clamp(15px,2vh,18px);font-weight:700}.landing-btn-desc{font-size:clamp(11px,1.5vh,13px);color:var(--text-secondary)}.landing-host{border-color:#00b89466}.landing-host:hover{border-color:var(--accent-green)}.landing-resume{border-color:#ffd32a4d}.join-form{display:flex;flex-direction:column;gap:clamp(8px,1.4vh,14px);padding:clamp(4px,1vh,12px) 0}.join-form .setting-group input{width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);font-size:14px;background:var(--bg-deep);color:var(--text-primary)}.join-form .setting-group input:focus{outline:none;border-color:var(--accent-primary)}.join-form .start-game-btn:disabled{opacity:.4;cursor:not-allowed;animation:none}.back-btn{align-self:center;padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer}.back-btn:hover{color:var(--text-primary)}.online-player{border-color:#0984e359}.online-badge{background:#0984e333;color:#74b9ff}.online-guest-name{font-size:14px;font-weight:600;color:var(--text-primary)}@keyframes setupPanelIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes playerRowIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.setup-card,.player-setup-item{animation:none}}.auction-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1200;animation:overlayFadeIn var(--motion-fast, .15s) ease-out}.auction-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;width:90%;max-width:650px;box-shadow:0 25px 70px #000c;border:2px solid rgba(255,255,255,.1);animation:modalPopIn var(--motion-medium, .35s) var(--ease-out-back, ease-out);overflow:hidden}.auction-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:linear-gradient(135deg,#0f3460,#16213e);border-bottom:2px solid rgba(52,152,219,.3)}.auction-header h2{font-size:22px;color:#fff;margin:0}.auction-timer{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 0 20px #e74c3c80}.timer-number{font-size:24px;font-weight:900;color:#fff}.auction-content{display:flex;gap:20px;padding:20px 24px}.auction-property-card{flex:0 0 180px;background:linear-gradient(145deg,#ffffff14,#ffffff05);border-radius:12px;border:2px solid;overflow:hidden}.property-card-color-bar{height:20px;width:100%}.property-card-body{padding:10px}.property-card-flag{width:36px;height:auto;border-radius:4px;margin-bottom:6px;box-shadow:0 2px 6px #0000004d}.property-card-name{font-size:13px;font-weight:700;color:#fff;margin-bottom:4px}.property-card-set{font-size:10px;color:#8892b0;margin-bottom:6px}.property-card-price{font-size:12px;font-weight:600;color:#ffd32a;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.property-card-rent{display:flex;flex-direction:column;gap:2px}.rent-row{display:flex;justify-content:space-between;font-size:10px;color:#a0a0b8}.rent-row span:last-child{font-weight:600;color:#fff}.auction-details{flex:1;display:flex;flex-direction:column;gap:12px}.auction-current-turn{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff0d;border-radius:8px}.turn-label{font-size:13px;color:#8892b0}.turn-player{font-weight:700;font-size:15px}.auction-status{display:flex;flex-direction:column;gap:8px}.auction-highest,.auction-bidder{display:flex;justify-content:space-between;align-items:center}.auction-label{font-size:13px;color:#8892b0}.auction-amount{font-size:22px;font-weight:700;color:#4caf50}.auction-player{font-weight:700;font-size:14px}.auction-players-list{display:flex;flex-direction:column;gap:6px}.players-in-auction{display:flex;flex-wrap:wrap;gap:6px}.auction-player-tag{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background:#ffffff0d;border:1px solid;transition:all .2s}.auction-player-tag.active{background:#ffffff26;box-shadow:0 0 10px currentColor}.auction-player-tag.passed{opacity:.4;text-decoration:line-through}.auction-actions{display:flex;flex-direction:column;gap:10px}.auction-quick-bids{display:flex;gap:8px}.quick-bid-btn{flex:1;padding:12px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}.quick-bid-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.quick-bid-btn:disabled{background:#555;cursor:not-allowed;transform:none}.auction-pass-btn{width:100%;padding:12px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.auction-pass-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c66}.auction-waiting{padding:16px;text-align:center;color:#8892b0;font-size:14px;background:#ffffff08;border-radius:8px}.auction-info{text-align:center;font-size:13px;color:#8892b0;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}@keyframes auctionUrgentPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.auction-timer.urgent{box-shadow:0 0 26px #e74c3ccc;animation:auctionUrgentPulse .5s ease-in-out infinite}@keyframes auctionBidPop{0%{transform:scale(1.3);color:#34d399}to{transform:scale(1);color:#4caf50}}.auction-amount.bid-changed{display:inline-block;animation:auctionBidPop var(--motion-medium, .35s) var(--ease-out-back, ease-out)}.alert-container{position:fixed;z-index:3000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.alert-container-top-right{top:20px;right:20px}.alert-container-top-left{top:20px;left:20px}.alert-container-bottom-right{bottom:20px;right:20px}.alert-container-bottom-left{bottom:20px;left:20px}.alert-container-top-center{top:20px;left:50%;transform:translate(-50%)}.alert-container-bottom-center{bottom:20px;left:50%;transform:translate(-50%)}.alert{display:flex;align-items:center;gap:12px;padding:15px 20px;border-radius:8px;box-shadow:0 4px 20px #0006;min-width:300px;max-width:500px;pointer-events:all;animation:slideIn .3s ease-out;position:relative;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.alert-exit{animation:slideOut .3s ease-out}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.alert:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.alert-success{background:linear-gradient(135deg,#2d5016,#1e3a0f);border:1px solid #4caf50}.alert-success:before{background-color:#4caf50}.alert-error{background:linear-gradient(135deg,#5d1f1a,#3d1210);border:1px solid #f44336}.alert-error:before{background-color:#f44336}.alert-warning{background:linear-gradient(135deg,#5d4a1a,#3d3010);border:1px solid #ff9800}.alert-warning:before{background-color:#ff9800}.alert-info{background:linear-gradient(135deg,#1a3d5d,#102535);border:1px solid #2196f3}.alert-info:before{background-color:#2196f3}.alert-money{background:linear-gradient(135deg,#2d5016,#1e3a0f);border:1px solid #4caf50}.alert-money:before{background-color:#4caf50}.alert-property{background:linear-gradient(135deg,#1a3d5d,#102535);border:1px solid #2196f3}.alert-property:before{background-color:#2196f3}.alert-dice{background:linear-gradient(135deg,#3d2a5d,#2a1a3d);border:1px solid #9c27b0}.alert-dice:before{background-color:#9c27b0}.alert-jail{background:linear-gradient(135deg,#5d4a1a,#3d3010);border:1px solid #ff9800}.alert-jail:before{background-color:#ff9800}.alert-card{background:linear-gradient(135deg,#1a5d4a,#103d2a);border:1px solid #00bcd4}.alert-card:before{background-color:#00bcd4}.alert-icon{font-size:24px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.alert-content{flex:1;color:#fff}.alert-message{font-size:.9vw;font-weight:500;line-height:1.4}.alert-close{background:transparent;border:none;color:#ffffffb3;font-size:20px;cursor:pointer;padding:5px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.alert-close:hover{background-color:#ffffff1a;color:#fff}@media(max-width:1200px){.alert-message{font-size:14px}}@media(max-width:768px){.alert-container{left:10px!important;right:10px!important;top:10px}.alert{min-width:unset;max-width:100%}}@keyframes alertIconPop{0%{transform:scale(.4) rotate(-10deg);opacity:0}60%{transform:scale(1.2) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.alert-icon{animation:alertIconPop var(--motion-medium, .35s) var(--ease-out-back, ease-out)}.alert-progress{position:absolute;left:0;bottom:0;height:3px;background:#ffffff59;animation-name:alertProgressShrink;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes alertProgressShrink{0%{width:100%}to{width:0%}}.chat-panel{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);flex:1;min-height:0}.chat-header{font-weight:700;font-size:.85rem;opacity:.8}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:3px;font-size:.8rem}.chat-msg{padding:2px 6px;border-radius:6px;background:#ffffff0d;word-break:break-word}.chat-msg.mine{background:#3498db2e}.chat-name{font-weight:700;opacity:.85;margin-right:4px}.chat-input-row{display:flex;gap:4px}.chat-input-row input{flex:1;min-width:0;padding:5px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#00000040;color:inherit;font-size:.8rem}.chat-input-row button{padding:5px 10px;border-radius:6px;border:none;cursor:pointer;background:#3498db;color:#fff}.td-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:overlayFadeIn var(--motion-fast, .15s) ease-out}.td-modal{background-color:var(--bg-surface, #1a1a2e);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg, 12px);width:92%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--shadow-elevated, 0 20px 60px rgba(0, 0, 0, .7));overflow:hidden;animation:modalPopIn var(--motion-medium, .35s) var(--ease-out-back, ease-out)}.td-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:var(--bg-elevated, #232342)}.td-header h2{font-size:18px;margin:0;color:var(--text-primary, #fff)}.td-close{background:transparent;border:none;color:var(--text-muted, #6c6c80);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm, 4px);transition:all .2s}.td-close:hover{background:#e1705533;color:var(--accent-red, #e17055)}.td-body{display:flex;align-items:stretch;gap:12px;padding:20px;overflow-y:auto}.td-side{flex:1;min-width:0;background:#ffffff08;border-radius:var(--radius-md, 8px);padding:12px}.td-side-header{display:flex;align-items:center;gap:8px;padding-bottom:8px;margin-bottom:10px;border-bottom:2px solid}.td-side-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.3)}.td-side-name{font-size:13px;font-weight:600;color:var(--text-primary, #fff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-money{font-size:14px;font-weight:700;color:var(--accent-green, #00b894);margin-bottom:10px}.td-props{display:flex;flex-direction:column;gap:6px}.td-prop{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff0a;border-radius:var(--radius-sm, 4px)}.td-prop-bar{width:4px;height:20px;border-radius:2px;flex-shrink:0}.td-prop-name{flex:1;font-size:12px;color:var(--text-secondary, #a0a0b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-prop-price{font-size:11px;font-weight:600;color:var(--text-muted, #6c6c80)}.td-empty{font-size:12px;font-style:italic;color:var(--text-muted, #6c6c80)}.td-arrow{display:flex;align-items:center;font-size:22px;color:var(--accent-primary, #6c5ce7);flex-shrink:0}@media(max-width:600px){.td-body{flex-direction:column}.td-arrow{justify-content:center;transform:rotate(90deg)}}@keyframes modalPopIn{0%{transform:scale(.92) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.card-reveal-overlay{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;background:#0000008c;cursor:pointer;animation:overlayFadeIn var(--motion-fast, .15s) ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.card-reveal-scene{width:clamp(220px,26vw,320px);height:clamp(140px,17vw,200px);perspective:1200px}.card-reveal-flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s var(--ease-out-back, cubic-bezier(.34, 1.56, .64, 1))}.card-reveal-flipper.is-flipped{transform:rotateY(180deg)}.card-reveal-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;box-shadow:0 16px 40px #00000080;border:2px solid rgba(255,255,255,.15)}.card-reveal-back{background:linear-gradient(145deg,#6c5ce7,#4834b0)}.card-reveal-back.is-chest{background:linear-gradient(145deg,#00b894,#00795c)}.card-reveal-back-icon{font-size:clamp(36px,5vw,56px);color:#ffffffe6;font-weight:900}.card-reveal-front{background:linear-gradient(145deg,#232342,#1a1a2e);transform:rotateY(180deg)}.card-reveal-front.is-chance{border-color:#6c5ce780}.card-reveal-front.is-chest{border-color:#00b89480}.card-reveal-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-gold, #ffd32a);margin-bottom:10px}.card-reveal-text{font-size:clamp(12px,1.4vw,15px);font-weight:600;color:var(--text-primary, #fff);line-height:1.4}:root{--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-out-smooth: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--motion-fast: .15s;--motion-medium: .35s;--motion-slow: .6s}.game-viewport{width:100vw;height:100vh;display:grid;grid-template-columns:clamp(160px,18cqw,220px) 1fr clamp(180px,20cqw,240px);grid-template-rows:1fr;background:var(--bg-deep);overflow:hidden}.sidebar{display:flex;flex-direction:column;padding:12px;gap:12px;overflow-y:auto;background:var(--bg-surface);border-right:1px solid rgba(255,255,255,.04);height:100%}.sidebar-right{border-right:none;border-left:1px solid rgba(255,255,255,.04)}.game-center{display:flex;align-items:center;justify-content:center;overflow:hidden;height:100%;min-height:0}.player-list{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.player-list h2{font-size:clamp(9px,1cqw,11px);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px}.players-container{display:flex;flex-direction:column;gap:6px}.player-card{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.04);transition:all .2s;overflow:hidden;min-width:0}.player-card.current{border-color:var(--accent-primary);box-shadow:0 0 12px #6c5ce74d;background:#6c5ce71a;position:relative;animation:playerTurnSweep var(--motion-medium, .35s) var(--ease-out-smooth, ease-out)}.player-card.current:after{content:"";position:absolute;inset:0;border-radius:var(--radius-md);box-shadow:inset 0 0 16px #6c5ce78c;animation:playerTurnGlow 1.8s ease-in-out infinite;pointer-events:none}@keyframes playerTurnGlow{0%,to{opacity:.2}50%{opacity:1}}@keyframes playerTurnSweep{0%{transform:translate(-6px);opacity:0}30%{opacity:1}to{transform:translate(0);opacity:1}}@keyframes cashTick{0%{transform:scale(1.15)}to{transform:scale(1)}}.player-money.tick{display:inline-block;animation:cashTick var(--motion-fast, .15s) var(--ease-out-back, ease-out)}.player-card.in-jail{opacity:.5}.player-avatar{width:clamp(24px,3cqw,32px);height:clamp(24px,3cqw,32px);flex-shrink:0;display:flex;align-items:center;justify-content:center}.player-info{flex:1;min-width:0;overflow:hidden}.player-name-row{display:flex;align-items:center;gap:4px}.player-name{font-size:clamp(10px,1.2cqw,13px);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-money{font-size:clamp(12px,1.4cqw,15px);font-weight:700;color:var(--accent-gold);white-space:nowrap}.player-props{font-size:clamp(8px,1cqw,10px);color:var(--text-muted);white-space:nowrap}.jail-badge{font-size:clamp(6px,.8cqw,8px);background:var(--accent-red);color:#fff;padding:1px 4px;border-radius:3px;font-weight:700;flex-shrink:0}.jail-card-badge{font-size:clamp(10px,1.2cqw,12px);margin-left:2px;cursor:default;flex-shrink:0}.sidebar-actions{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.04);flex-shrink:0}.sidebar-btn{width:100%;padding:10px;background:var(--bg-elevated);border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .15s;text-align:left}.sidebar-btn:hover{background:var(--bg-hover);border-color:#ffffff1a}.sidebar-btn.autoplay-active{background:#10b98126;border-color:#10b9814d;color:#10b981}.sidebar-btn.autoplay-active:hover{background:#10b98140}.sidebar-btn-forfeit{background:#ef44441a;border-color:#ef444433;color:#ef4444}.sidebar-btn-forfeit:hover{background:#ef444433;border-color:#ef444466}.actions-section{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.actions-section h3{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:2px}.action-buttons{display:flex;flex-direction:column;gap:6px}.action-btn{width:100%;padding:10px 14px;border-radius:var(--radius-md);font-weight:600;font-size:13px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;border:none}.action-btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.btn-buy{background:linear-gradient(135deg,var(--accent-green) 0%,#00a381 100%);color:#fff;box-shadow:0 2px 8px #00b8944d}.btn-buy:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00b89466}.btn-auction{background:linear-gradient(135deg,var(--accent-gold) 0%,#e6b800 100%);color:#1a1a2e;box-shadow:0 2px 8px #ffd32a4d}.btn-auction:hover:not(:disabled){transform:translateY(-1px)}.btn-end-turn{background:linear-gradient(135deg,#636e72,#535c60);color:#fff}.btn-end-turn:hover:not(:disabled){transform:translateY(-1px)}.btn-jail-pay{background:linear-gradient(135deg,var(--accent-red) 0%,#c0392b 100%);color:#fff}.btn-jail-card{background:linear-gradient(135deg,var(--accent-gold) 0%,#e6b800 100%);color:#1a1a2e}.utility-buttons{display:flex;flex-direction:column;gap:6px;margin-top:4px}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid rgba(255,255,255,.06)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:#ffffff1f}.jail-notice{background:#e1705526;color:var(--accent-red);padding:10px;border-radius:var(--radius-md);text-align:center;font-weight:600;font-size:12px;border:1px solid rgba(225,112,85,.25)}.jail-free-card-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,#ffd32a1f,#e6b80014);border:1px solid rgba(255,211,42,.25);border-radius:var(--radius-md);margin-bottom:6px}.jail-free-card-icon{font-size:18px}.jail-free-card-label{flex:1;font-size:12px;font-weight:600;color:var(--accent-gold)}.jail-free-card-count{font-size:13px;font-weight:700;color:var(--accent-gold);background:#ffd32a26;padding:2px 8px;border-radius:10px}.trade-notifications{position:fixed;bottom:16px;right:260px;z-index:999;display:flex;flex-direction:column;gap:8px;max-width:280px}.trade-notification{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-elevated);animation:slideUp .2s ease-out,tradeNotificationPulse 1s ease-out .2s;border-left:3px solid var(--accent-primary)}@keyframes tradeNotificationPulse{0%{box-shadow:0 0 #ffd32a99}to{box-shadow:0 0 0 18px #ffd32a00}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.trade-notification-header{font-weight:700;font-size:14px;color:var(--text-primary);margin-bottom:8px}.trade-notification-content{color:var(--text-secondary);font-size:12px;margin-bottom:10px;line-height:1.5}.trade-notification-actions{display:flex;gap:6px}.trade-notification-actions button{flex:1;padding:6px 12px;border:none;border-radius:var(--radius-md);font-weight:600;font-size:12px;cursor:pointer;transition:all .15s}.trade-notification-actions button:first-child{background:var(--accent-green);color:#fff}.trade-notification-actions button:last-child{background:var(--accent-red);color:#fff}@media(max-width:1100px){.game-viewport{grid-template-columns:180px 1fr 200px}}@media(max-width:800px){.game-viewport{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.sidebar-left{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid rgba(255,255,255,.04);padding:8px}.sidebar-left .player-list{flex-direction:row;gap:8px}.sidebar-left .players-container{flex-direction:row}.sidebar-left .sidebar-actions{flex-direction:row;margin-top:0;padding-top:0;border-top:none;padding-left:8px}.sidebar-right{flex-direction:row;border-left:none;border-top:1px solid rgba(255,255,255,.04);padding:8px;gap:8px}}
