:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.language-selector{position:relative;display:inline-block}.global-lang-selector{position:fixed;top:16px;right:16px;z-index:1000}.lang-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #ccc;background:#fff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:#444;transition:border-color .15s,box-shadow .15s}.lang-trigger:hover{border-color:#999;box-shadow:0 2px 6px #00000014}.lang-globe{font-size:14px;line-height:1}.lang-caret{font-size:10px;color:#888;transition:transform .15s}.lang-caret.open{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;background:#fff;border:1px solid #e3e3e3;border-radius:10px;box-shadow:0 8px 24px #00000024;padding:5px;display:none;flex-direction:column;gap:2px;z-index:1001}.lang-menu:before{content:"";position:absolute;top:-6px;left:0;right:0;height:6px}.language-selector:hover .lang-menu,.lang-menu.open{display:flex}.lang-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:13px;color:#444;text-align:left;transition:background .12s}.lang-option:hover{background:#f2f4f7}.lang-option.active{background:#eafaf1;color:#1e8e54}.lang-option-code{font-weight:700;width:26px;flex-shrink:0}.lang-option-name{color:#888;font-size:12px}.lang-option.active .lang-option-name{color:#2ecc71}.landing{min-height:100vh;background:linear-gradient(180deg,#1a1a2e,#16213e);color:#e8ebf2;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1100px;margin:0 auto}.landing-logo{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:800;color:#fff}.landing-logo-mark{height:48px;width:auto;display:block;filter:brightness(0) invert(1)}.landing-nav-right{display:flex;align-items:center;gap:14px}.btn--small{padding:8px 16px;font-size:.9rem}.btn-large{padding:16px 36px;font-size:1.15rem;font-weight:700}.landing .btn-primary{background:#27ae60}.landing .btn-primary:hover:not(:disabled){background:#219150}.landing-hero{max-width:820px;margin:0 auto;padding:70px 24px 80px;text-align:center}.landing-hero-title{font-size:3rem;line-height:1.1;font-weight:800;color:#fff;margin:0 0 20px}.landing-hero-subtitle{font-size:1.25rem;line-height:1.6;color:#b9c1d4;margin:0 0 36px}.landing-hero-cta{display:flex;flex-direction:column;align-items:center;gap:12px}.landing-hero-note{font-size:.9rem;color:#8a93a8}.landing-section{max-width:1100px;margin:0 auto;padding:64px 24px}.landing-section--alt{background:#ffffff08;max-width:none;padding-left:0;padding-right:0}.landing-section--alt>*{max-width:1100px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.landing-section-title{font-size:2rem;font-weight:800;color:#fff;text-align:center;margin:0 0 44px}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing-feature{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:28px 24px;transition:transform .15s,border-color .15s}.landing-feature:hover{transform:translateY(-4px);border-color:#27ae6080}.landing-feature-icon{font-size:2rem}.landing-feature-title{font-size:1.15rem;font-weight:700;color:#fff;margin:12px 0 8px}.landing-feature-desc{font-size:.95rem;line-height:1.55;color:#b9c1d4;margin:0}.landing-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.landing-step{text-align:center}.landing-step-num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#27ae60;color:#fff;font-size:1.3rem;font-weight:800;margin-bottom:14px}.landing-step-title{font-size:1.05rem;font-weight:700;color:#fff;margin:0 0 8px}.landing-step-desc{font-size:.92rem;line-height:1.55;color:#b9c1d4;margin:0}.landing-faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.landing-faq-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:4px 20px}.landing-faq-q{font-size:1.05rem;font-weight:600;color:#fff;cursor:pointer;padding:16px 0;list-style:none}.landing-faq-q::-webkit-details-marker{display:none}.landing-faq-q:after{content:"+";float:right;color:#27ae60;font-weight:800}.landing-faq-item[open] .landing-faq-q:after{content:"−"}.landing-faq-a{font-size:.95rem;line-height:1.6;color:#b9c1d4;margin:0 0 16px}.landing-final-cta{text-align:center;padding:80px 24px}.landing-final-title{font-size:2rem;font-weight:800;color:#fff;margin:0 0 28px}.landing-footer{text-align:center;padding:30px 24px;border-top:1px solid rgba(255,255,255,.08);color:#8a93a8;font-size:.88rem}@media(max-width:860px){.landing-features,.landing-steps{grid-template-columns:repeat(2,1fr)}.landing-hero-title{font-size:2.2rem}}@media(max-width:520px){.landing-features,.landing-steps{grid-template-columns:1fr}.landing-nav{padding:14px 18px}.landing-logo{font-size:1.2rem;gap:8px}.landing-logo-mark{height:38px}.landing-hero{padding:48px 18px 56px}.landing-hero-title{font-size:1.9rem}.landing-hero-subtitle{font-size:1.1rem}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px}.login-box{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:400px;width:100%;text-align:center;position:relative}.login-lang-selector{position:absolute;top:15px;right:15px}.login-back-link{position:absolute;top:15px;left:15px;background:none;border:none;color:#3498db;cursor:pointer;font-size:.9rem;padding:0}.login-back-link:hover{text-decoration:underline}.login-box h1{margin:0 0 10px;color:#1a1a2e;font-size:2.5rem}.auth-logo{display:block;height:72px;width:auto;margin:0 auto 4px}.login-box .subtitle{color:#666;margin-bottom:30px}.field-hint{font-size:.85rem;margin-top:6px;margin-bottom:0}.field-hint.error{color:#e74c3c}.btn-full{width:100%}.error-box{background:#ffeaea;border:1px solid #e74c3c;border-radius:8px;padding:12px;margin-bottom:20px;text-align:left}.error-box button{background:none;border:none;color:#e74c3c;cursor:pointer;text-decoration:underline;padding:0}.auth-tabs{display:flex;margin-bottom:10px;border-bottom:2px solid #eee}.auth-tab{flex:1;padding:10px;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:500;color:#888;cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-2px}.auth-tab:hover{color:#333}.auth-tab.active{color:#3498db;border-bottom-color:#3498db}@media(max-width:768px){.login{padding:15px}.login-box{padding:30px 25px}.login-box h1{font-size:2rem}.form-group input{padding:14px;font-size:1rem}}@media(max-width:480px){.login{padding:40px 10px 10px;align-items:flex-start}.login-box{padding:25px 20px;border-radius:10px}.login-lang-selector{top:10px;right:10px}.login-box h1{font-size:1.75rem;margin-bottom:8px}.login-box .subtitle{font-size:.9rem;margin-bottom:25px}.form-group{margin-bottom:16px}.form-group label{font-size:.9rem;margin-bottom:6px}.form-group input{padding:12px;font-size:1rem;border-radius:6px}.auth-tab{font-size:.9rem;padding:8px}}.replay-viewer{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e8ebf2;display:flex;flex-direction:column;padding:16px;gap:14px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.replay-loading{margin:auto;color:#b9c1d4;font-size:1.1rem}.replay-header{display:flex;align-items:center;gap:14px}.replay-title{font-weight:800;font-size:1.1rem;display:flex;align-items:center;gap:8px}.replay-mode-badge{background:#16a085;color:#fff;border-radius:5px;padding:1px 7px;font-size:.7rem;font-weight:700}.replay-step-count{margin-left:auto;color:#8a93a8;font-size:.9rem}.replay-body{display:flex;gap:16px;flex:1;min-height:0;align-items:flex-start}.replay-board-wrap{flex:1;max-width:760px;margin:0 auto}.replay-side{width:240px;flex-shrink:0;background:#16213e;border-radius:8px;padding:14px}.replay-side h4{margin:0 0 10px;color:#888;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}.replay-players{display:flex;flex-direction:column;gap:8px}.replay-player{display:flex;align-items:center;gap:8px;font-size:.9rem}.replay-player.out{opacity:.45;text-decoration:line-through}.replay-player-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.replay-player-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-player-money{font-weight:700;color:#2ecc71}.replay-event{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.replay-event-label{font-size:.9rem;color:#cdd3e0}.replay-controls{display:flex;align-items:center;gap:10px;background:#16213e;border-radius:10px;padding:12px 16px}.replay-btn{background:#ffffff14;border:none;color:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:1rem}.replay-btn:hover{background:#ffffff29}.replay-btn--play{background:#27ae60;font-size:1.1rem;padding:8px 18px}.replay-btn--play:hover{background:#219150}.replay-slider{flex:1;accent-color:#27ae60;cursor:pointer}.replay-speed{display:flex;gap:4px}.replay-speed-btn{background:#ffffff14;border:none;color:#b9c1d4;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:.85rem;font-weight:600}.replay-speed-btn.active{background:#27ae60;color:#fff}.lobby-links{display:flex;gap:20px;justify-content:center;align-items:center;margin-top:16px}.lobby-links .btn-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;line-height:1}.lobby-links .btn-link .lobby-link-label,.lobby-join-by-code{text-decoration:underline}.lobby-replays-link{color:#27ae60!important}.lobby-link-icon{font-size:1rem;line-height:1}@media(max-width:820px){.replay-body{flex-direction:column}.replay-side{width:100%}}.tile-popup{position:absolute;background:#1a1a2e;border:2px solid #3498db;border-radius:8px;padding:12px;min-width:180px;z-index:1000;box-shadow:0 4px 20px #00000080}.tile-popup.top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;animation:popupFadeInTop .15s ease-out}.tile-popup.bottom{top:100%;left:50%;transform:translate(-50%);margin-top:8px;animation:popupFadeInBottom .15s ease-out}.tile-popup.left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px;animation:popupFadeInLeft .15s ease-out}.tile-popup.right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px;animation:popupFadeInRight .15s ease-out}@keyframes popupFadeInTop{0%{opacity:0;transform:translate(-50%) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes popupFadeInBottom{0%{opacity:0;transform:translate(-50%) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes popupFadeInLeft{0%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes popupFadeInRight{0%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:1;transform:translateY(-50%) scale(1)}}.popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #333}.popup-title{font-weight:700;color:#fff;font-size:.9rem}.popup-close{background:none;border:none;color:#888;font-size:1.2rem;cursor:pointer;padding:0;line-height:1}.popup-close:hover{color:#fff}.popup-content{display:flex;flex-direction:column;gap:10px}.popup-info{display:flex;flex-direction:column;gap:4px}.info-row{display:flex;justify-content:space-between;font-size:.8rem;color:#aaa}.info-row span:last-child{color:#fff;font-weight:500}.info-row.rent-prominent{font-size:1rem;padding:4px 0}.info-row.rent-prominent span:last-child{color:#2ecc71;font-weight:700;font-size:1.1rem}.popup-upgrade{background:#16213e;border-radius:6px;padding:10px}.upgrade-preview{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:.8rem}.upgrade-preview span:first-child{color:#f39c12;font-weight:500}.rent-change{color:#27ae60}.btn-popup-upgrade{width:100%;padding:8px;background:#f39c12;color:#000;border:none;border-radius:4px;font-weight:700;font-size:.8rem;cursor:pointer;transition:background .2s}.btn-popup-upgrade:hover:not(:disabled){background:#e67e22}.btn-popup-upgrade:disabled{background:#555;color:#888;cursor:not-allowed}.popup-message{font-size:.75rem;color:#888;text-align:center;padding:8px;background:#16213e;border-radius:4px}.popup-message.success{color:#27ae60}.popup-sell{border-top:1px solid #333;padding-top:10px}.btn-popup-sell{width:100%;padding:8px;background:#c0392b;color:#fff;border:none;border-radius:4px;font-weight:700;font-size:.8rem;cursor:pointer;transition:background .2s}.btn-popup-sell:hover{background:#a93226}.popup-mortgage-warning{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#dc354533;border:1px solid #dc3545;border-radius:6px;margin-bottom:8px}.mortgage-badge{background:#dc3545;color:#fff;font-weight:700;font-size:.75rem;padding:2px 8px;border-radius:3px}.popup-mortgage-warning .mortgage-turns{font-size:.7rem;color:#dc3545}.popup-mortgage{display:flex;flex-direction:column;gap:8px;border-top:1px solid #333;padding-top:10px}.mortgage-info{font-size:.75rem;color:#aaa;text-align:center;padding:6px;background:#3498db1a;border-radius:4px}.btn-popup-mortgage{width:100%;padding:8px;background:#6c757d;color:#fff;border:none;border-radius:4px;font-weight:700;font-size:.8rem;cursor:pointer;transition:background .2s}.btn-popup-mortgage:hover{background:#5a6268}.btn-popup-unmortgage{width:100%;padding:10px;background:#28a745;color:#fff;border:none;border-radius:4px;font-weight:700;font-size:.85rem;cursor:pointer;transition:background .2s}.btn-popup-unmortgage:hover:not(:disabled){background:#218838}.btn-popup-unmortgage:disabled{background:#555;color:#888;cursor:not-allowed}.mortgage-hint{font-size:.7rem;color:#888;text-align:center}.strikethrough{text-decoration:line-through;color:#666!important}@media(max-width:1024px){.tile-popup{min-width:160px;padding:10px}.popup-title{font-size:.85rem}.info-row{font-size:.75rem}.btn-popup-upgrade,.btn-popup-sell,.btn-popup-mortgage,.btn-popup-unmortgage{padding:10px;font-size:.85rem;min-height:40px}}@media(max-width:768px){.tile-popup{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;margin:0!important;min-width:250px;max-width:90vw;padding:16px;z-index:1001;animation:popupFadeInCenter .2s ease-out}@keyframes popupFadeInCenter{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.popup-header{margin-bottom:12px;padding-bottom:10px}.popup-title{font-size:1rem}.popup-close{font-size:1.5rem;padding:4px 8px}.info-row{font-size:.85rem;padding:4px 0}.popup-upgrade{padding:12px}.upgrade-preview{font-size:.9rem;margin-bottom:10px}.btn-popup-upgrade,.btn-popup-sell,.btn-popup-mortgage,.btn-popup-unmortgage{padding:12px;font-size:.9rem;min-height:44px}.popup-message{font-size:.85rem;padding:10px}.mortgage-hint{font-size:.8rem}}@media(max-width:480px){.tile-popup{min-width:220px;padding:14px}.popup-title{font-size:.95rem}.info-row{font-size:.8rem}}.board-tile{background:#fff;border-radius:8px;display:flex;flex-direction:column;position:relative;overflow:hidden;font-size:.65rem;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #0000001a}.board-tile:hover{transform:scale(1.08);box-shadow:0 8px 24px #0003;z-index:20}.board-tile.selected{overflow:visible;z-index:200}.tile-property{background:linear-gradient(180deg,#fafafa,#f0f0f0);overflow:visible}.tile-color-bar{position:absolute;top:0;left:0;right:0;height:20%;background:var(--property-base-color, #888);border-radius:8px 8px 0 0}.tile-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:22% 4px 4px;gap:4px;min-height:0;position:relative}.tile-logo{width:70%;max-height:2.5em;object-fit:contain;flex-shrink:1;min-height:0}.tile-name{font-weight:700;font-size:.85em;color:#1a1a2e;text-align:center;line-height:1.15;width:100%;padding:0 3px;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.tile-price-circle{position:absolute;background:#ffffffeb;border-radius:3px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25em;color:#2e7d32;z-index:15;line-height:1;white-space:nowrap;pointer-events:none;box-shadow:0 1px 3px #00000026}.edge-top .tile-price-circle{bottom:100%;left:0;right:0;margin-bottom:2px}.edge-bottom .tile-price-circle{top:100%;left:0;right:0;margin-top:2px}.edge-right .tile-price-circle{left:100%;top:0;bottom:0;margin-left:2px;writing-mode:vertical-rl;transform:rotate(180deg)}.edge-left .tile-price-circle{right:100%;top:0;bottom:0;margin-right:2px;writing-mode:vertical-rl;transform:rotate(180deg)}.tile-upgrades{position:absolute;top:2px;right:2px;font-size:.5em;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.3)}.tile-owned-badge{display:none}.tile-special{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:4px;gap:4px}.tile-special .tile-icon{font-size:1.6em}.tile-special.tile-icon-only .tile-icon{font-size:2.4em}.tile-special .tile-name{font-size:.65em;font-weight:600}.tile-tax-amount{font-size:.7em;font-weight:700;color:#d32f2f}.tile-start{background:linear-gradient(135deg,#c8e6c9,#a5d6a7);border:2px solid #4caf50}.tile-tax{background:linear-gradient(135deg,#ffecb3,#ffe082);border:2px solid #ffa000}.tile-jail{background:linear-gradient(135deg,#e1bee7,#ce93d8);border:2px solid #9c27b0}.tile-go-to-jail{background:linear-gradient(135deg,#ffcdd2,#ef9a9a);border:2px solid #f44336}.tile-free-parking{background:linear-gradient(135deg,#bbdefb,#90caf9);border:2px solid #2196f3}.tile-chance{background:linear-gradient(135deg,#fff9c4,#fff59d);border:2px solid #fbc02d}.tile-community{background:linear-gradient(135deg,#b2ebf2,#80deea);border:2px solid #00bcd4}.board-tile.highlighted{box-shadow:0 0 0 3px #3498db,0 4px 16px #3498db66;z-index:10}.board-tile.owned.tile-property{background:var(--property-color, #888);box-shadow:0 2px 8px #0003}.board-tile.owned .tile-color-bar{background:var(--property-base-color, #888)}.board-tile.owned .tile-name{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.board-tile.owned .tile-category{background:#fff3;color:#fff}.board-tile.owned .tile-rent{color:#fffc}.board-tile.owned-by-me{box-shadow:0 0 12px #fff6,0 4px 12px #0003}.board-tile.clickable{cursor:pointer}.board-tile.clickable:hover{box-shadow:0 0 0 2px #f39c12,0 8px 24px #f39c124d}.board-tile.selected{box-shadow:0 0 0 3px #f39c12,0 8px 24px #f39c1266}.board-tile.mortgaged{filter:grayscale(70%);opacity:.85}.board-tile.mortgaged:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.05) 5px,rgba(0,0,0,.05) 10px);pointer-events:none;border-radius:8px}.tile-mortgage-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#dc3545e6;color:#fff;font-weight:700;padding:3px 6px;border-radius:4px;font-size:.7em;display:flex;flex-direction:column;align-items:center;gap:1px;z-index:5;box-shadow:0 2px 4px #0000004d}.tile-mortgage-badge .mortgage-label{font-size:1.1em;line-height:1}.tile-mortgage-badge .mortgage-turns{font-size:.8em;opacity:.9}.board-tile.mortgaged .tile-price-circle{opacity:.5}.board-tile.new-monopoly{box-shadow:0 0 8px 2px #ffc107b3,0 0 16px 4px #ffc10766;z-index:25;animation:monopolyGlow 1.5s ease-in-out infinite alternate}@keyframes monopolyGlow{0%{box-shadow:0 0 8px 2px #ffc107b3,0 0 16px 4px #ffc10766}to{box-shadow:0 0 12px 4px #ffc107e6,0 0 24px 8px #ffc10780}}.tile-price-circle.rent-preview{color:#8e44ad}.rent-change-overlay{display:flex;flex-direction:column;align-items:center;line-height:1.2;gap:0}.rent-change-overlay .rent-old{color:#888;text-decoration:line-through;font-size:.9em}.rent-change-overlay .rent-arrow{color:#8e44ad;font-size:.7em}.rent-change-overlay .rent-new{font-weight:800;font-size:1em}.rent-change-overlay .rent-new.rent-up{color:#27ae60}.rent-change-overlay .rent-new.rent-down{color:#e74c3c}.board-tile.trade-offering{box-shadow:0 0 0 3px #27ae60,0 0 16px #27ae6080;z-index:25}.board-tile.trade-requesting{box-shadow:0 0 0 3px #3498db,0 0 16px #3498db80;z-index:25}.board-tile.trade-target{cursor:pointer}.board-tile.trade-target:hover{box-shadow:0 0 0 2px #3498db,0 8px 20px #3498db4d}.tile-players{display:none}@media(max-width:900px){.tile-color-bar{height:18%}.tile-content{padding-top:20%}.tile-logo{max-height:2em}.tile-name{font-size:.75em}.tile-price-circle{font-size:.65em}}@media(max-width:600px){.tile-color-bar{height:15%}.tile-content{padding-top:18%;gap:2px}.tile-logo{max-height:1.6em}.tile-name,.tile-price-circle{font-size:.6em}.tile-special .tile-icon{font-size:1.2em}.tile-special .tile-name,.tile-tax-amount{font-size:.55em}}@media(max-width:480px){.board-tile{border-radius:4px;font-size:.55rem}.board-tile:hover{transform:scale(1.05)}.tile-color-bar{height:12%;border-radius:4px 4px 0 0}.tile-content{padding:15% 2px 2px;gap:1px}.tile-logo{max-height:1.2em}.tile-name{font-size:.5em;line-height:1.1}.tile-price-circle{font-size:.5em}.tile-upgrades{font-size:.4em;top:1px;right:1px}.tile-special .tile-icon{font-size:1em}.tile-special .tile-name,.tile-tax-amount{font-size:.45em}.tile-mortgage-badge{padding:2px 4px;font-size:.55em}.tile-mortgage-badge .mortgage-label{font-size:.9em}.tile-mortgage-badge .mortgage-turns{display:none}}@media(max-width:360px){.board-tile{font-size:.45rem;border-radius:3px}.tile-color-bar{border-radius:3px 3px 0 0}.tile-logo{max-height:1em}.tile-name,.tile-price-circle{font-size:.45em}.tile-special .tile-icon{font-size:.9em}.tile-special .tile-name{font-size:.4em}}.game-log{flex:1;min-height:0;overflow-y:auto;width:85%;background:#0000004d;border-radius:6px;padding:6px 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.game-log::-webkit-scrollbar{width:4px}.game-log::-webkit-scrollbar-track{background:transparent}.game-log::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.log-entry{font-size:.6rem;padding:2px 0;color:#8892b0;line-height:1.3}.log-game_started{color:#64ffda;font-weight:700}.log-property_bought,.log-property_upgraded{color:#66bb6a}.log-payment_confirmed{color:#ffa726}.log-player_surrendered,.log-player_timed_out{color:#ef5350}.log-game_over{color:gold;font-weight:700}.log-auction_started,.log-auction_won,.log-auction_no_buyer{color:#ce93d8}.log-chance_card{color:#ffb74d;font-style:italic}.log-community_chest_card{color:#4dd0e1;font-style:italic}.log-trade_completed{color:#42a5f5}.log-property_mortgaged,.log-property_unmortgaged{color:#78909c}.log-loan_taken,.log-loan_repaid{color:#a5d6a7}.log-turn_ended{color:#546e7a;border-top:1px solid rgba(255,255,255,.05);margin-top:2px;padding-top:3px}.log-player_joined,.log-player_left{color:#90a4ae;font-style:italic}@media(max-width:700px){.game-log{padding:4px 6px}.log-entry{font-size:.55rem}}@media(max-width:500px){.game-log{width:90%;padding:3px 5px}.log-entry{font-size:.5rem}}@media(max-width:400px){.log-entry{font-size:.45rem}}.board-center{grid-row:2 / 11;grid-column:2 / 11;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.board-header{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.board-logo{font-size:1.8rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3);letter-spacing:4px}.board-game-id{font-size:.8rem;color:#888;background:#ffffff1a;padding:4px 12px;border-radius:4px}.center-go-message{color:#27ae60;font-size:.85rem;font-weight:600;margin:0;padding:4px 12px;background:#27ae6026;border-radius:4px;flex-shrink:0}.center-actions{display:flex;flex-direction:column;align-items:center;gap:10px;width:80%;max-width:280px;margin-top:6px;flex-shrink:0}.center-payment-card{background:#0006;border:2px solid #3498db;border-radius:10px;padding:14px;width:100%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.center-payment-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.center-payment-icon{font-size:1.3rem}.center-payment-title{color:#fff;font-size:.95rem;font-weight:700}.center-payment-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:5px;margin-bottom:4px}.center-payment-row:first-of-type{background:#e74c3c26;border:1px solid rgba(231,76,60,.25)}.center-payment-row:nth-of-type(2){background:#ffffff0d}.center-payment-label{color:#888;font-size:.8rem}.center-payment-amount{color:#e74c3c;font-size:.95rem;font-weight:700}.center-payment-balance{color:#fff;font-size:.95rem;font-weight:700}.center-payment-balance.insufficient{color:#e74c3c}.center-payment-warning{color:#e74c3c;font-size:.75rem;margin:4px 0 8px;padding:5px;background:#e74c3c1a;border-radius:4px;text-align:center}.center-btn-confirm-payment{width:100%;padding:9px;font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:6px;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:4px}.center-btn-confirm-payment:hover{transform:translateY(-1px);box-shadow:0 3px 12px #e74c3c66}.center-btn-confirm-payment:active{transform:translateY(0)}.center-payment-hint{color:#888;font-size:.7rem;text-align:center;margin:6px 0 0;line-height:1.3}.center-buy-actions{display:flex;flex-direction:column;gap:8px;width:100%}.center-btn-buy{width:100%;padding:10px;font-size:.85rem;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background .2s,transform .2s}.center-btn-buy:hover{background:#2980b9;transform:translateY(-1px)}.center-btn-skip{width:100%;padding:10px;font-size:.85rem;background:#7f8c8d99;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background .2s,transform .2s}.center-btn-skip:hover{background:#6c7a7bcc;transform:translateY(-1px)}@media(max-width:700px){.board-logo{font-size:1.3rem;letter-spacing:2px}.board-game-id{font-size:.7rem}.center-actions{width:85%;max-width:220px}.center-payment-card{padding:10px}.center-payment-title{font-size:.85rem}.center-btn-buy,.center-btn-skip,.center-btn-confirm-payment{padding:8px;font-size:.8rem}}@media(max-width:500px){.board-logo{font-size:1rem;letter-spacing:1px}.board-game-id{font-size:.6rem;padding:2px 8px}.center-actions{width:90%;max-width:180px;gap:6px}.center-payment-card{padding:8px;border-radius:8px}.center-payment-icon{font-size:1.1rem}.center-payment-title{font-size:.75rem}.center-payment-label{font-size:.7rem}.center-payment-amount,.center-payment-balance{font-size:.8rem}.center-btn-buy,.center-btn-skip,.center-btn-confirm-payment{padding:6px;font-size:.7rem}.center-payment-hint{font-size:.6rem}.center-go-message{font-size:.7rem;padding:3px 8px}}@media(max-width:400px){.board-center{gap:6px}.board-logo{font-size:.85rem;letter-spacing:.5px}.board-game-id{font-size:.55rem;padding:2px 6px}.center-actions{max-width:160px;gap:4px}.center-payment-card{padding:6px}.center-payment-row{padding:4px 6px;margin-bottom:2px}.center-btn-buy,.center-btn-skip,.center-btn-confirm-payment{padding:5px;font-size:.65rem}}@media(max-width:360px){.board-logo{font-size:.75rem}.board-game-id{font-size:.5rem}}.game-board{display:flex;justify-content:center;align-items:center;padding:5px;height:100%}.board-grid{display:grid;grid-template-rows:repeat(11,1fr);grid-template-columns:repeat(11,1fr);gap:2px;background:#c8e6c980;padding:18px;border-radius:8px;box-shadow:0 8px 32px #0000004d;position:relative;width:min(calc(100vh - 30px),calc(100vw - 440px));height:min(calc(100vh - 30px),calc(100vw - 440px));max-width:700px;max-height:700px}@media(max-width:1200px){.board-grid{width:min(calc(100vw - 400px),calc(100vh - 40px));height:min(calc(100vw - 400px),calc(100vh - 40px));max-width:600px;max-height:600px}}@media(max-width:1024px){.board-grid{width:min(90vw,60vh);height:min(90vw,60vh);max-width:550px;max-height:550px}}@media(max-width:768px){.game-board{padding:4px}.board-grid{width:min(95vw,70vh);height:min(95vw,70vh);max-width:500px;max-height:500px;gap:1px;padding:14px}}@media(max-width:480px){.game-board{padding:2px}.board-grid{width:min(98vw,98vw);height:min(98vw,98vw);max-width:400px;max-height:400px;gap:1px;padding:10px;border-radius:6px}}@media(max-width:360px){.board-grid{width:100vw;height:100vw;max-width:320px;max-height:320px;border-radius:4px}}.animated-tokens-layer{position:absolute;inset:18px;pointer-events:none;z-index:50}.animated-token{position:absolute;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;border:2px solid white;box-shadow:0 3px 8px #0006;text-transform:uppercase;transform:translate(-50%,-50%);transition:left .15s linear,top .15s linear}.animated-token.moving{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 4px 12px #00000080;transition:left .15s linear,top .15s linear,transform .15s ease-out,box-shadow .15s ease-out}.animated-token.jail-moving{transition:left .4s ease-in-out,top .4s ease-in-out,transform .15s ease-out,box-shadow .15s ease-out}.animated-token.landed{animation:token-land .3s ease-out}@keyframes token-appear{0%{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes token-land{0%{transform:translate(-50%,-50%) scale(1.15)}50%{transform:translate(-50%,-50%) scale(.9)}to{transform:translate(-50%,-50%) scale(1)}}.animated-token{animation:token-appear .3s ease-out}.animated-token.current-turn{border-color:gold;box-shadow:0 0 8px 3px #ffd70099,0 3px 8px #0006;animation:token-pulse 1.5s ease-in-out infinite;z-index:2}.animated-token.current-turn.moving{animation:none;box-shadow:0 0 10px 4px #ffd700b3,0 4px 12px #00000080}.animated-token.current-turn.landed{animation:token-land .3s ease-out}@keyframes token-pulse{0%,to{box-shadow:0 0 6px 2px #ffd70080,0 3px 8px #0006;transform:translate(-50%,-50%) scale(1)}50%{box-shadow:0 0 12px 5px #ffd700cc,0 3px 8px #0006;transform:translate(-50%,-50%) scale(1.1)}}@media(max-width:700px){.animated-token{width:18px;height:18px;font-size:.6rem;border-width:1.5px}}@media(max-width:768px){.animated-tokens-layer{inset:14px}}@media(max-width:500px){.animated-tokens-layer{inset:10px}.animated-token{width:14px;height:14px;font-size:.5rem;border-width:1px}}@media(max-width:400px){.animated-tokens-layer{inset:10px}.animated-token{width:12px;height:12px;font-size:.45rem;border-width:1px}}@media(max-width:360px){.animated-token{width:10px;height:10px;font-size:.4rem}}.premium-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.premium-modal{position:relative;background:#fff;border-radius:16px;padding:32px 28px;width:100%;max-width:380px;text-align:center;box-shadow:0 20px 60px #00000059;animation:premium-pop .18s ease-out}@keyframes premium-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.premium-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.6rem;line-height:1;color:#999;cursor:pointer}.premium-close:hover{color:#333}.premium-icon{font-size:3rem;margin-bottom:8px}.premium-title{margin:0 0 6px;font-size:1.5rem;color:#1a1a2e}.premium-subtitle{color:#666;font-size:.95rem;margin:0 0 20px}.premium-active{margin-bottom:18px}.premium-active-badge{color:#2e7d32;font-weight:700;margin:4px 0}.premium-expires{color:#555;font-size:.9rem;margin:2px 0}.premium-subtext{color:#999;font-size:.82rem;margin:8px 0 0}.premium-features{list-style:none;padding:0;margin:0 0 20px;text-align:left;display:inline-block}.premium-features li{color:#333;font-size:.95rem;padding:6px 0}.premium-price{margin-bottom:18px}.premium-price-amount{font-size:1.6rem;font-weight:700;color:#1a1a2e}.premium-buy-btn{background:linear-gradient(135deg,#f5b301,#f39c12);border:none}.premium-error{color:#e74c3c;font-size:.88rem;margin:0 0 12px}.premium-provider{color:#aaa;font-size:.75rem;margin:14px 0 0}.premium-badge{display:inline-flex;align-items:center;gap:2px;background:linear-gradient(135deg,#f5b301,#f39c12);color:#fff;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:10px;margin-left:6px;vertical-align:middle}.profile{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;background:#f0f2f5}.profile-box{position:relative;background:#fff;border-radius:16px;padding:32px 28px;width:100%;max-width:440px;box-shadow:0 10px 40px #0000001f}.profile-box h1{margin:0 0 20px;color:#1a1a2e;font-size:1.8rem;text-align:center}.profile-lang-selector{position:absolute;top:16px;right:16px}.profile-back{margin-bottom:8px;display:inline-block}.profile-avatar-section{display:flex;align-items:center;gap:18px;margin-bottom:24px}.profile-avatar{position:relative;width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#3498db,#1a1a2e);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-avatar-initial{color:#fff;font-size:2.4rem;font-weight:700}.profile-avatar-premium{position:absolute;bottom:-2px;right:-2px;background:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 1px 4px #00000040}.profile-avatar-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.profile-remove-photo{color:#e74c3c;font-size:.82rem}.profile-field-hint{display:block;margin-top:4px;color:#999;font-size:.78rem}.profile-success{background:#e8f5e9;border:1px solid #4caf50;color:#2e7d32;border-radius:8px;padding:10px 12px;margin-bottom:16px;font-size:.9rem}.profile-divider{height:1px;background:#eee;margin:28px 0 20px}.profile-section-title{font-size:1.1rem;color:#1a1a2e;margin:0 0 16px}.lobby{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px}.lobby-box{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:400px;width:100%;text-align:center;position:relative}.lobby-box--wide{max-width:560px;text-align:left}.lobby-lang-selector{position:absolute;top:15px;right:15px}.lobby-box h1{margin:0 0 10px;color:#1a1a2e;font-size:2.5rem}.subtitle{color:#666;margin-bottom:30px}.connection-status{padding:20px}.connection-status .error{color:#e74c3c}.form-group{margin-bottom:20px;text-align:left}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#3498db}.logout-section{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn-link{background:none;border:none;color:#888;cursor:pointer;font-size:.85rem;text-decoration:underline;padding:0}.btn-link:hover{color:#555}.lobby-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.lobby-title-block h1{margin:0 0 4px;color:#1a1a2e;font-size:2.2rem}.lobby-title-block .subtitle{margin:0}.lobby-profile-link{display:flex;align-items:center;gap:14px;background:none;border:none;padding:4px;margin:-4px;border-radius:10px;cursor:pointer;text-align:left;transition:background .15s}.lobby-profile-link:hover{background:#0000000a}.lobby-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#3498db,#1a1a2e);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.lobby-avatar-img{width:100%;height:100%;object-fit:cover}.lobby-avatar-initial{color:#fff;font-size:1.4rem;font-weight:700}.lobby-title-text,.lobby-title-text .subtitle{display:block}.lobby-create-btn{white-space:nowrap;flex-shrink:0;align-self:center}.lobby-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap}.lobby-premium-btn{white-space:nowrap}.btn-premium{background:linear-gradient(135deg,#f5b301,#f39c12);color:#fff;border:none}.btn-premium:hover{filter:brightness(1.05)}.lobby-premium-btn--active{background:#f39c121a;color:#b9770b;border:1.5px solid #f39c12}.lobby-premium-btn--active:hover{background:#f39c122e}.lobby-section-title{font-size:1rem;font-weight:600;color:#444;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.lobby-game-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.lobby-game-item{display:flex;align-items:center;justify-content:space-between;background:#f7f8fa;border:1px solid #e8eaed;border-radius:10px;padding:12px 16px;gap:12px;transition:border-color .15s}.lobby-game-item:hover{border-color:#3498db}.lobby-game-info{display:flex;flex-direction:column;gap:2px;min-width:0}.lobby-game-host{font-weight:600;color:#222;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-game-id{font-size:.78rem;color:#999;font-family:monospace}.lobby-game-right{display:flex;align-items:center;gap:14px;flex-shrink:0}.lobby-game-slots{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#666}.lobby-game-slots-icon{display:flex;gap:3px;align-items:center}.slot-dot{width:8px;height:8px;border-radius:50%;background:#ddd;display:inline-block}.slot-dot--filled{background:#3498db}.btn--small{padding:6px 14px;font-size:.875rem}.lobby-loading{color:#999;font-size:.9rem;padding:20px 0;text-align:center}.lobby-empty{text-align:center;padding:28px 0 20px;background:#f7f9fc;border:1px dashed #d9e0ea;border-radius:12px}.lobby-empty-icon{font-size:2.6rem;line-height:1;margin-bottom:10px}.lobby-empty-text{color:#444;font-size:1rem;font-weight:600;margin:0 0 4px}.lobby-empty-hint{color:#aaa;font-size:.85rem;margin:0}.lobby-empty-cta{margin-top:16px}.lobby-join-by-code{font-size:.85rem;color:#888}.lobby-join-by-code:hover{color:#3498db}@media(max-width:768px){.lobby{padding:15px}.lobby-box{padding:30px 25px}.lobby-box--wide{max-width:100%}.lobby-box h1,.lobby-title-block h1{font-size:2rem}.form-group input{padding:14px;font-size:1rem}}@media(max-width:480px){.lobby{padding:40px 10px 10px;align-items:flex-start}.lobby-box{padding:25px 20px;border-radius:10px}.lobby-lang-selector{top:10px;right:10px}.lobby-box h1,.lobby-title-block h1{font-size:1.75rem;margin-bottom:8px}.lobby-header{flex-direction:column;gap:12px}.lobby-create-btn{width:100%}.lobby-game-item{flex-direction:column;align-items:flex-start;gap:10px}.lobby-game-right{width:100%;justify-content:space-between}.subtitle{font-size:.9rem;margin-bottom:25px}.button-group{gap:10px}.button-group .btn{padding:14px 20px}.form-group{margin-bottom:16px}.form-group input{padding:12px;font-size:1rem;border-radius:6px}.logout-section{margin-top:25px;padding-top:15px}}.create-game-options{display:flex;flex-direction:column;gap:12px;margin-top:20px}.create-game-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 20px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;width:100%}.create-game-option:hover{border-color:#3498db;background:#f0f8ff}.create-game-option--private:hover{border-color:#8e44ad;background:#f9f0ff}.create-game-icon{font-size:1.6rem;margin-bottom:2px}.create-game-label{font-weight:700;font-size:1rem;color:#1a1a2e}.create-game-desc{font-size:.82rem;color:#666}.create-mode-toggle{display:flex;gap:8px;margin-top:18px}.create-mode-tab{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;cursor:pointer;font-weight:600;font-size:.95rem;color:#555;transition:border-color .15s,background .15s,color .15s}.create-mode-tab.active{border-color:#27ae60;background:#eafaf0;color:#1a1a2e}.create-mode-desc{font-size:.85rem;color:#666;margin:10px 0 4px;min-height:2.4em}.create-mode-tab--locked{opacity:.85}.create-mode-lock{margin-left:4px;font-size:.85em}.create-mode-premium-hint{color:#f39c12;font-weight:600}.lobby-mode-badge{display:inline-block;background:#16a085;color:#fff;border-radius:5px;padding:1px 7px;font-size:.7rem;font-weight:700;margin-left:8px}.waiting-room{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px}.waiting-box{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:100%;text-align:center;position:relative}.waiting-lang-selector{position:absolute;top:15px;right:15px}.waiting-box h1{margin:0 0 20px;color:#1a1a2e}.game-code{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.game-code p{margin:0;color:#666}.code-container{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;padding:5px;border-radius:8px;transition:background-color .2s}.code-container:hover{background-color:#e9ecef}.game-code h2{margin:10px 0;font-size:2.5rem;letter-spacing:8px;color:#2c3e50;-webkit-user-select:all;user-select:all}.copy-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:5px;opacity:.7;transition:opacity .2s}.copy-btn:hover{opacity:1}.game-code .hint{font-size:.85rem;color:#888}.players-list{text-align:left;margin-bottom:20px}.players-list h3{margin-bottom:12px;color:#333}.players-list ul{list-style:none;padding:0;margin:0}.players-list li{padding:12px;background:#f8f9fa;border-radius:6px;margin-bottom:8px;display:flex;align-items:center;gap:10px}.player-number{color:#888;font-weight:700}.waiting-player-name{flex:1;color:#000}.host-badge{background:#3498db;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem}.waiting-status{margin-bottom:20px}.waiting-status .ready{color:#27ae60;font-weight:500}.waiting-status .not-ready{color:#e67e22}.button-group{display:flex;flex-direction:column;gap:12px}.error-box{background:#ffeaea;border:1px solid #e74c3c;border-radius:8px;padding:12px;margin-bottom:20px}.error-box p{color:#c0392b;margin:0 0 8px}.error-box button{background:none;border:none;color:#e74c3c;cursor:pointer;text-decoration:underline}@media(max-width:768px){.waiting-room{padding:15px}.waiting-box{padding:30px 25px;max-width:450px}.waiting-box h1{font-size:1.5rem}.game-code h2{font-size:2rem;letter-spacing:6px}}@media(max-width:480px){.waiting-room{padding:30px 10px 10px;align-items:flex-start}.waiting-box{padding:20px 15px;border-radius:10px}.waiting-lang-selector{top:10px;right:10px}.waiting-box h1{font-size:1.3rem;margin-bottom:15px}.game-code{padding:15px;margin-bottom:15px}.game-code h2{font-size:1.75rem;letter-spacing:4px}.game-code .hint{font-size:.8rem}.players-list{margin-bottom:15px}.players-list h3{font-size:.95rem}.players-list li{padding:10px;font-size:.9rem}.host-badge{font-size:.7rem;padding:3px 6px}.waiting-status{margin-bottom:15px;font-size:.9rem}.button-group{gap:10px}.button-group .btn{padding:12px 20px;font-size:.95rem}}.trade-overlay{grid-row:2 / 11;grid-column:2 / 11;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;border-radius:8px}.trade-offer-container{grid-row:2 / 11;grid-column:2 / 11;z-index:100;display:flex;align-items:center;justify-content:center;background:#000000d9;border-radius:8px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.trade-mode-banner{position:fixed;top:60px;left:50%;transform:translate(-50%);background:#9b59b6;color:#fff;padding:8px 24px;border-radius:20px;font-weight:600;z-index:999;box-shadow:0 4px 12px #9b59b666;text-align:center;max-width:90vw}@media(max-width:768px){.trade-mode-banner{top:10px;padding:6px 16px;font-size:.85rem;border-radius:16px}}@media(max-width:480px){.trade-mode-banner{padding:5px 12px;font-size:.75rem;max-width:85vw}}.trade-dialog{background:#fff;color:#333;border-radius:12px;padding:16px;width:100%;max-width:440px;max-height:100%;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.trade-dialog h2{margin:0 0 12px;text-align:center;color:#333;font-size:1.2rem}.trade-target-selector{margin-bottom:12px}.trade-target-selector label{display:block;margin-bottom:4px;font-weight:600;color:#555;font-size:.9rem}.trade-target-selector select{width:100%;padding:8px;font-size:.9rem;border:2px solid #ddd;border-radius:6px;color:#333;background:#fff}.trade-target-selector select:focus{border-color:#3498db;outline:none}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.trade-column{background:#f8f9fa;border-radius:8px;padding:10px}.trade-column h3{margin:0 0 10px;font-size:.95rem;padding-bottom:6px;border-bottom:2px solid #ddd}.trade-offering h3{color:#27ae60;border-color:#27ae60}.trade-requesting h3{color:#3498db;border-color:#3498db}.trade-receiving h3{color:#27ae60;border-color:#27ae60}.trade-giving h3{color:#e74c3c;border-color:#e74c3c}.trade-money-input{margin-bottom:10px}.trade-money-input label{display:block;margin-bottom:4px;font-weight:600;color:#555;font-size:.85rem}.trade-money-input input{width:100%;padding:6px 8px;font-size:.9rem;border:2px solid #ddd;border-radius:6px;color:#333;background:#fff}.trade-money-input input:focus{border-color:#3498db;outline:none}.trade-money-max{display:block;margin-top:4px;font-size:.85rem;color:#888}.trade-properties label{display:block;margin-bottom:4px;font-weight:600;color:#555;font-size:.85rem}.trade-hint{color:#888;font-style:italic;font-size:.8rem;margin:0}.trade-property-list{list-style:none;padding:0;margin:0}.trade-property-list li{padding:4px 8px;background:#fff;border-radius:4px;margin-bottom:2px;border:1px solid #ddd;font-size:.85rem}.trade-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.trade-item-label{color:#666}.trade-item-value{font-weight:600;color:#333}.trade-properties-list{margin-top:12px}.trade-properties-list ul{list-style:none;padding:0;margin:8px 0 0}.trade-properties-list li{padding:6px 10px;background:#fff;border-radius:4px;margin-bottom:4px;border:1px solid #ddd}.trade-nothing{color:#888;font-style:italic;margin:8px 0}.trade-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.trade-total{text-align:center;font-weight:700;font-size:.95rem;padding:6px 10px;border-radius:6px}.trade-total-offer{background:#e8f5e9;color:#27ae60}.trade-total-request{background:#e3f2fd;color:#3498db}.trade-total-receive{background:#e8f5e9;color:#27ae60}.trade-total-give{background:#fdecea;color:#e74c3c}.trade-actions{display:flex;gap:12px;justify-content:center}.trade-actions .btn{padding:8px 16px;font-size:.9rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s,transform .1s}.trade-actions .btn:hover{transform:translateY(-1px)}.trade-actions .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.trade-actions .btn-primary{background:#3498db;color:#fff}.trade-actions .btn-primary:hover:not(:disabled){background:#2980b9}.trade-actions .btn-secondary{background:#95a5a6;color:#fff}.trade-actions .btn-secondary:hover{background:#7f8c8d}.trade-actions .btn-success{background:#27ae60;color:#fff}.trade-actions .btn-success:hover{background:#219a52}.trade-actions .btn-warning{background:#f39c12;color:#fff}.trade-actions .btn-warning:hover{background:#e67e22}.trade-actions .btn-danger{background:#e74c3c;color:#fff}.trade-actions .btn-danger:hover{background:#c0392b}.trade-actions .btn-future{background:#8e44ad;color:#fff}.trade-actions .btn-future:hover:not(:disabled){background:#7d3c98}.trade-actions .btn-future.active{background:#6c3483;box-shadow:0 0 8px #8e44ad80}.trade-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trade-actions-grid .btn{width:100%}.trade-property-icon{margin-right:4px}.trade-rent-change{font-size:.8em;font-weight:600;margin-left:2px}.trade-rent-change.rent-up{color:#27ae60}.trade-rent-change.rent-down{color:#e74c3c}.trade-waiting-dialog{text-align:center}.trade-waiting-message{color:#666;margin:16px 0}.trade-waiting-spinner{display:flex;justify-content:center;margin:24px 0}.spinner{width:40px;height:40px;border:4px solid #eee;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.trade-button-container{position:relative}.btn-trade{background:#9b59b6;color:#fff;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.btn-trade:hover{background:#8e44ad}.trade-menu{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-bottom:8px;z-index:100}.trade-menu-item{display:block;width:100%;padding:10px 16px;border:none;background:none;text-align:left;cursor:pointer;transition:background .2s}.trade-menu-item:hover{background:#f0f0f0}.trade-menu-item:first-child{border-radius:6px 6px 0 0}.trade-menu-item:last-child{border-radius:0 0 6px 6px}@media(max-width:700px){.trade-dialog{padding:12px;max-width:360px}.trade-dialog h2{font-size:1rem}.trade-columns{gap:8px}.trade-column{padding:8px}.trade-column h3{font-size:.85rem}}@media(max-width:500px){.trade-dialog{padding:10px;max-width:280px}.trade-dialog h2{font-size:.9rem;margin-bottom:8px}.trade-columns,.trade-totals{grid-template-columns:1fr;gap:6px}.trade-column{padding:6px}.trade-column h3{font-size:.8rem;margin-bottom:6px}.trade-actions{flex-direction:column;gap:6px}.trade-actions-grid{grid-template-columns:1fr 1fr}.trade-actions .btn{width:100%;padding:6px 12px;font-size:.85rem}}.auction-overlay{grid-row:2 / 11;grid-column:2 / 11;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:150;border-radius:8px;animation:auctionFadeIn .3s ease-out}@keyframes auctionFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.auction-dialog{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;padding:24px;text-align:center;max-width:340px;width:90%;box-shadow:0 8px 32px #0006;border:2px solid #f39c12}.auction-dialog h2{color:#f39c12;font-size:1.2rem;margin:0 0 16px;font-weight:700}.auction-info{margin-bottom:16px}.auction-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:6px;margin-bottom:6px;background:#ffffff0d}.auction-bid-row{background:#f39c1226;border:1px solid rgba(243,156,18,.3)}.auction-label{color:#888;font-size:.85rem}.auction-value{color:#fff;font-size:.95rem;font-weight:600}.auction-bid-value{color:#f39c12;font-size:1.1rem}.auction-participants{margin-bottom:16px;text-align:left}.auction-participants-label{color:#888;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:8px}.auction-participants-list{display:flex;flex-wrap:wrap;gap:6px}.auction-participant{padding:4px 10px;border-radius:12px;font-size:.8rem;background:#ffffff14;color:#aaa;transition:all .2s}.auction-participant.active{background:#3498db4d;color:#3498db;border:1px solid rgba(52,152,219,.5)}.auction-participant.highest{color:#f39c12}.auction-actions{display:flex;flex-direction:column;gap:8px}.auction-btn-bid{width:100%;padding:12px;font-size:1rem;font-weight:700;color:#000;background:linear-gradient(135deg,#f39c12,#e67e22);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.auction-btn-bid:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #f39c1266}.auction-btn-bid:disabled{opacity:.4;cursor:not-allowed}.auction-btn-drop{width:100%;padding:10px;font-size:.9rem;font-weight:600;color:#ccc;background:#ffffff14;border:1px solid #555;border-radius:8px;cursor:pointer;transition:all .2s}.auction-btn-drop:hover{background:#e74c3c33;border-color:#e74c3c;color:#e74c3c}.auction-cant-afford{color:#e74c3c;font-size:.8rem;margin:4px 0 0}.auction-waiting{padding:12px;background:#ffffff0d;border-radius:8px}.auction-waiting p{color:#888;font-size:.9rem;margin:0}@media(max-width:700px){.auction-dialog{padding:16px;max-width:280px}.auction-dialog h2{font-size:1rem}.auction-btn-bid{padding:10px;font-size:.9rem}}@media(max-width:500px){.auction-dialog{padding:12px;max-width:200px}.auction-dialog h2{font-size:.9rem}.auction-info-row{padding:6px 8px}.auction-label{font-size:.75rem}.auction-value{font-size:.85rem}.auction-btn-bid{padding:8px;font-size:.85rem}.auction-btn-drop{padding:8px;font-size:.8rem}}.payment-overlay{grid-row:2 / 11;grid-column:2 / 11;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:150;border-radius:8px;animation:paymentFadeIn .3s ease-out}@keyframes paymentFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.payment-dialog{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;padding:24px;text-align:center;max-width:320px;width:90%;box-shadow:0 8px 32px #0006;border:2px solid #3498db}.payment-icon{font-size:3rem;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.payment-title{color:#fff;font-size:1.5rem;margin:0 0 12px;font-weight:700}.payment-message{color:#ccc;font-size:.95rem;margin:0 0 20px;line-height:1.4}.payment-amount{display:flex;justify-content:space-between;align-items:center;background:#e74c3c33;padding:12px 16px;border-radius:8px;margin-bottom:12px;border:1px solid rgba(231,76,60,.3)}.payment-balance{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;padding:12px 16px;border-radius:8px;margin-bottom:16px}.payment-label{color:#888;font-size:.9rem}.payment-value{color:#fff;font-size:1.1rem;font-weight:700}.payment-amount .payment-value,.payment-value.insufficient{color:#e74c3c}.payment-warning{color:#e74c3c;font-size:.85rem;margin:0 0 16px;padding:8px;background:#e74c3c1a;border-radius:6px}.payment-button{width:100%;padding:14px 24px;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.payment-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #e74c3c66}.payment-button:active{transform:translateY(0)}@media(max-width:700px){.payment-dialog{padding:16px;max-width:280px}.payment-icon{font-size:2.5rem}.payment-title{font-size:1.2rem}.payment-message{font-size:.85rem}.payment-button{padding:12px 20px;font-size:1rem}}@media(max-width:500px){.payment-dialog{padding:12px;max-width:200px}.payment-icon{font-size:2rem}.payment-title{font-size:1rem}.payment-message{font-size:.75rem;margin-bottom:12px}.payment-amount,.payment-balance{padding:8px 12px;margin-bottom:8px}.payment-label{font-size:.75rem}.payment-value{font-size:.9rem}.payment-button{padding:10px 16px;font-size:.9rem}}.purchase-overlay{grid-row:2 / 11;grid-column:2 / 11;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:150;border-radius:8px;animation:purchaseFadeIn .3s ease-out}@keyframes purchaseFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.purchase-dialog{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;padding:24px;text-align:center;max-width:320px;width:90%;box-shadow:0 8px 32px #0006;border:2px solid #3498db}.purchase-logo{height:48px;max-width:80%;object-fit:contain;margin-bottom:16px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.purchase-icon{font-size:3rem;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.purchase-title{color:#fff;font-size:1.5rem;margin:0 0 16px;font-weight:700}.purchase-info{margin-bottom:20px}.purchase-info-row{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;padding:12px 16px;border-radius:8px;margin-bottom:8px}.purchase-label{color:#888;font-size:.9rem}.purchase-value{color:#fff;font-size:1.1rem;font-weight:700}.purchase-value.insufficient{color:#e74c3c}.purchase-actions{display:flex;flex-direction:column;gap:10px}.purchase-button-buy{width:100%;padding:14px 24px;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.purchase-button-buy:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #27ae6066}.purchase-button-buy:active:not(:disabled){transform:translateY(0)}.purchase-button-buy:disabled{opacity:.5;cursor:not-allowed}.purchase-button-auction{width:100%;padding:14px 24px;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#e67e22,#f39c12);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.purchase-button-auction:hover{transform:translateY(-2px);box-shadow:0 4px 16px #e67e2266}.purchase-button-auction:active{transform:translateY(0)}@media(max-width:700px){.purchase-dialog{padding:16px;max-width:280px}.purchase-icon{font-size:2.5rem}.purchase-title{font-size:1.2rem}.purchase-button-buy,.purchase-button-auction{padding:12px 20px;font-size:1rem}}@media(max-width:500px){.purchase-dialog{padding:12px;max-width:200px}.purchase-icon{font-size:2rem}.purchase-title{font-size:1rem}.purchase-info-row{padding:8px 12px;margin-bottom:6px}.purchase-label{font-size:.75rem}.purchase-value{font-size:.9rem}.purchase-button-buy,.purchase-button-auction{padding:10px 16px;font-size:.9rem}}.dice-overlay{grid-row:2 / 11;grid-column:2 / 11;display:flex;align-items:center;justify-content:center;z-index:120;pointer-events:none;animation:diceFadeIn .3s ease-out}.dice-dialog{display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:auto}@keyframes diceFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.dice-phase-result{animation:diceFadeOut .5s ease-in 2.5s forwards}@keyframes diceFadeOut{0%{opacity:1}to{opacity:0}}.dice-container{display:flex;justify-content:center;gap:18px}.die{width:56px;height:56px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;box-shadow:0 4px 12px #00000059,inset 0 1px #ffffff26}.die-empty{background:#2a3a5e;color:#556;border:2px dashed #3a4a6e}.die-rolling{background:#fff;animation:dieRoll .5s cubic-bezier(.2,.8,.3,1) infinite}@keyframes dieRoll{0%{transform:rotateX(0) rotate(0);background:#fff}25%{transform:rotateX(90deg) rotate(45deg);background:#f0f0f0}50%{transform:rotateX(180deg) rotate(90deg);background:#e8e8e8}75%{transform:rotateX(270deg) rotate(135deg);background:#f0f0f0}to{transform:rotateX(360deg) rotate(180deg);background:#fff}}.die-result{background:#fff;animation:dieLand .4s cubic-bezier(.34,1.56,.64,1)}@keyframes dieLand{0%{transform:scale(.5) rotate(180deg);opacity:0}60%{transform:scale(1.15) rotate(-5deg);opacity:1}80%{transform:scale(.95) rotate(2deg)}to{transform:scale(1) rotate(0)}}.die-grid{display:grid;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:36px;height:36px;gap:2px}.die-dot{width:9px;height:9px;background:#1a1a2e;border-radius:50%;align-self:center;justify-self:center;animation:dotPop .3s ease-out backwards}.die-dot:nth-child(1){animation-delay:.05s}.die-dot:nth-child(2){animation-delay:.1s}.die-dot:nth-child(3){animation-delay:.15s}.die-dot:nth-child(4){animation-delay:.2s}.die-dot:nth-child(5){animation-delay:.25s}.die-dot:nth-child(6){animation-delay:.3s}@keyframes dotPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.roll-result{text-align:center}.roll-result .total{margin:0;color:#fff;font-size:1.15rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.6)}.roll-result .doubles{margin:3px 0 0;color:#f39c12;font-size:.85rem;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5)}.roll-result .doubles.jail{color:#e74c3c}.roll-result .doubles.escaped-jail{color:#2ecc71}.btn-roll{padding:12px 36px;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:8px;cursor:pointer;transition:transform .15s,box-shadow .15s;animation:rollBtnPulse 2s ease-in-out infinite}.btn-roll:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #27ae6080;animation:none}.btn-roll:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-roll:disabled{background:#555;cursor:not-allowed;animation:none}@keyframes rollBtnPulse{0%,to{box-shadow:0 2px 10px #27ae604d}50%{box-shadow:0 2px 20px #27ae6099}}@media(max-width:700px){.die{width:46px;height:46px}.die-grid{width:30px;height:30px}.die-dot{width:7px;height:7px}.btn-roll{padding:10px 28px;font-size:.9rem}.roll-result .total{font-size:1rem}}@media(max-width:500px){.die{width:38px;height:38px;border-radius:7px}.die-grid{width:25px;height:25px}.die-dot{width:6px;height:6px}.dice-container{gap:12px}.btn-roll{padding:8px 22px;font-size:.85rem}.roll-result .total{font-size:.9rem}.roll-result .doubles{font-size:.75rem}}.chance-card-overlay{grid-row:2 / 11;grid-column:2 / 11;display:flex;align-items:center;justify-content:center;z-index:140;pointer-events:none;animation:chanceOverlayLife 3s ease-out forwards}@keyframes chanceOverlayLife{0%{opacity:0}5%{opacity:1}80%{opacity:1}to{opacity:0}}.chance-card{width:200px;perspective:800px;animation:cardAppear .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes cardAppear{0%{opacity:0;transform:scale(.3) rotateY(180deg)}60%{opacity:1;transform:scale(1.05) rotateY(10deg)}to{opacity:1;transform:scale(1) rotateY(0)}}.chance-card-inner{background:linear-gradient(145deg,#1c1c3a,#0f0f2a);border-radius:14px;padding:20px 16px;text-align:center;box-shadow:0 0 30px #0009,0 0 60px #0000004d;position:relative;overflow:hidden}.chance-card-inner:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.03) 45%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.03) 55%,transparent 60%);animation:cardShimmer 1.5s ease-in-out .3s;pointer-events:none}@keyframes cardShimmer{0%{transform:translate(-100%) translateY(-100%) rotate(0)}to{transform:translate(100%) translateY(100%) rotate(0)}}.chance-card.chance .chance-card-inner{border:2px solid #ff9800;box-shadow:0 0 30px #0009,0 0 20px #ff980026,inset 0 0 30px #ff98000d}.chance-card.community-chest .chance-card-inner{border:2px solid #26c6da;box-shadow:0 0 30px #0009,0 0 20px #26c6da26,inset 0 0 30px #26c6da0d}.chance-card-badge{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:900;margin:0 auto 10px;animation:badgePop .4s cubic-bezier(.34,1.56,.64,1) .3s both}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}.chance-card.chance .chance-card-badge{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 2px 12px #ff980066}.chance-card.community-chest .chance-card-badge{background:linear-gradient(135deg,#26c6da,#00acc1);color:#fff;box-shadow:0 2px 12px #26c6da66}.chance-card-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}.chance-card.chance .chance-card-title{color:#ffb74d}.chance-card.community-chest .chance-card-title{color:#4dd0e1}.chance-card-divider{width:40px;height:2px;margin:0 auto 12px;border-radius:1px}.chance-card.chance .chance-card-divider{background:linear-gradient(90deg,transparent,#ff9800,transparent)}.chance-card.community-chest .chance-card-divider{background:linear-gradient(90deg,transparent,#26c6da,transparent)}.chance-card-message{color:#e0e0e0;font-size:.85rem;line-height:1.4;margin-bottom:8px;font-weight:500;animation:textReveal .5s ease-out .4s both}@keyframes textReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chance-card-amount{font-size:1.2rem;font-weight:800;margin-top:4px;animation:textReveal .5s ease-out .5s both}.chance-card-amount.pay{color:#ef5350}.chance-card-amount.receive{color:#66bb6a}.chance-card-amount.move{color:#42a5f5}@media(max-width:700px){.chance-card{width:170px}.chance-card-inner{padding:16px 12px;border-radius:12px}.chance-card-badge{width:36px;height:36px;font-size:1.3rem}.chance-card-title{font-size:.65rem}.chance-card-message{font-size:.75rem}.chance-card-amount{font-size:1rem}}@media(max-width:500px){.chance-card{width:140px}.chance-card-inner{padding:12px 10px;border-radius:10px}.chance-card-badge{width:30px;height:30px;font-size:1.1rem;margin-bottom:6px}.chance-card-title{font-size:.55rem;letter-spacing:1px;margin-bottom:6px}.chance-card-divider{margin-bottom:8px}.chance-card-message{font-size:.65rem}.chance-card-amount{font-size:.85rem}}@media(max-width:400px){.chance-card{width:120px}.chance-card-inner{padding:10px 8px}.chance-card-badge{width:26px;height:26px;font-size:.9rem}.chance-card-message{font-size:.6rem}.chance-card-amount{font-size:.75rem}}.player-panel{background:#16213e;border-radius:8px;padding:15px}.player-panel h3{margin:0 0 15px;color:#888;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.players-list{display:flex;flex-direction:column;gap:10px}.team-group{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px}.team-group+.team-group{margin-top:6px}.team-group-header{display:flex;justify-content:flex-end}.team-group-you{font-size:.64rem;font-weight:700;color:#cfd6e6;letter-spacing:.3px;background:#ffffff1f;padding:2px 8px;border-radius:5px}.player-card{background:#1a2744;border-radius:6px;padding:12px;border:2px solid transparent}.player-card.is-me{border-color:#3498db}.player-card.current-turn{background:#1e3a5f}.player-card.eliminated{opacity:.6}.player-header{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:10px;gap:6px}.player-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.player-name{font-weight:700;color:#fff;flex-grow:1;min-width:0;word-break:break-word}.turn-indicator{font-size:.7rem;background:#27ae60;color:#fff;padding:3px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0}.team-badge{white-space:nowrap;flex-shrink:0}.eliminated-badge{font-size:.7rem;background:#e74c3c;color:#fff;padding:3px 8px;border-radius:4px}.player-stats{display:flex;flex-direction:column;gap:6px}.stat{display:flex;justify-content:space-between;font-size:.85rem}.stat-label{color:#888}.stat-value{color:#ddd}.stat-value.negative{color:#e74c3c}.player-panel .surrender-section{margin-top:15px;padding-top:12px;border-top:1px solid #2a3f5f}.player-panel .btn-surrender{width:100%;padding:10px;font-size:.85rem;background:transparent;color:#888;border:1px solid #444;border-radius:6px;cursor:pointer;transition:all .2s}.player-panel .btn-surrender:hover{background:#e74c3c;color:#fff;border-color:#e74c3c}.player-panel .surrender-confirm{background:#2a1a1a;padding:12px;border-radius:6px;border:1px solid #e74c3c}.player-panel .surrender-confirm p{margin:0 0 10px;color:#e74c3c;font-size:.85rem;text-align:center}.player-panel .surrender-buttons{display:flex;gap:10px;justify-content:center}.player-panel .surrender-buttons .btn{flex:1;max-width:80px}@media(max-width:1024px){.player-panel{padding:12px}.player-panel h3{margin-bottom:10px;font-size:.85rem}.players-list{flex-direction:row;flex-wrap:wrap;gap:8px}.player-card{flex:1 1 calc(50% - 4px);min-width:150px;padding:10px}}@media(max-width:768px){.player-panel{padding:10px}.player-panel h3{margin-bottom:8px;font-size:.8rem}.players-list{gap:6px}.player-card{flex:1 1 100%;padding:10px}.player-header{margin-bottom:6px}.player-name{font-size:.9rem}.turn-indicator,.eliminated-badge{font-size:.65rem;padding:2px 6px}.stat{font-size:.8rem}}@media(max-width:480px){.player-panel,.player-card{padding:8px}.player-color-dot{width:10px;height:10px}.player-stats{gap:4px}}.player-premium-star{margin-left:4px;font-size:.85em}.turn-timer{display:flex;align-items:center;justify-content:space-between;background:#16213e;border-radius:8px;padding:10px 14px;margin-bottom:8px}.turn-timer .timer-label{color:#a0a8c0;font-size:.85rem;font-weight:500}.turn-timer .timer-value{color:#27ae60;font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}.turn-timer.is-my-turn{border-left:3px solid #3498db}.turn-timer.trade-timer{background:#1e1a3e;border-left:3px solid #9b59b6}.turn-timer.trade-timer.is-my-turn{border-left:3px solid #e67e22}.turn-timer.warning .timer-value{color:#f39c12}.turn-timer.critical .timer-value{color:#e74c3c;animation:pulse-timer .8s ease-in-out infinite}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:900px){.turn-timer{padding:8px 10px}.turn-timer .timer-value{font-size:1.1rem}}.bank-panel{background:#16213e;border-radius:8px;overflow:visible;position:relative;z-index:10}.bank-panel-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 15px;background:none;border:none;color:#fff;cursor:pointer;transition:background .2s;font-size:.9rem}.bank-panel-toggle:hover{background:#4caf501a}.bank-panel-icon{font-size:1.2rem}.bank-panel-label{font-weight:700;text-transform:uppercase;letter-spacing:1px;flex:1;text-align:left;font-size:.8rem;color:#888}.bank-panel-arrow{color:#888;font-size:.8rem;transition:transform .2s}.bank-panel-arrow.open{transform:rotate(180deg)}.bank-panel-menu{padding:0 15px 15px;display:flex;flex-direction:column;gap:12px}.bank-panel-terms{background:#ffffff0d;border-radius:6px;padding:10px}.bank-panel-terms p{margin:0 0 8px;color:#aaa;font-size:.8rem}.bank-panel-terms ul{margin:0;padding-left:20px;color:#ccc;font-size:.75rem}.bank-panel-terms li{margin-bottom:4px}.bank-panel-loan-status{background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:6px;padding:10px}.bank-panel-loan-status h4{margin:0 0 8px;color:#4caf50;font-size:.85rem}.bank-panel-loan-info{display:flex;justify-content:space-between;align-items:center;padding:4px 0;color:#ccc;font-size:.8rem}.bank-panel-loan-amount{color:#f44336;font-weight:700}.bank-panel-loan-turns{color:#ff9800;font-weight:700}.bank-panel-actions{display:flex;flex-direction:column;gap:8px}.bank-panel-actions .btn-take-loan{padding:10px 16px;background:linear-gradient(145deg,#4caf50,#388e3c);border:none;border-radius:6px;color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease}.bank-panel-actions .btn-take-loan:hover{background:linear-gradient(145deg,#5cb860,#43a047);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.bank-panel-actions .btn-repay-loan{padding:10px 16px;background:linear-gradient(145deg,#2196f3,#1976d2);border:none;border-radius:6px;color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease}.bank-panel-actions .btn-repay-loan:hover:not(:disabled){background:linear-gradient(145deg,#42a5f5,#1e88e5);transform:translateY(-1px);box-shadow:0 4px 12px #2196f34d}.bank-panel-actions .btn-repay-loan:disabled{opacity:.5;cursor:not-allowed}.bank-panel-warning{margin:4px 0 0;padding:8px;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:4px;color:#f44336;font-size:.75rem;text-align:center}@media(max-width:1024px){.bank-panel-toggle{padding:10px 12px}.bank-panel-menu{padding:0 12px 12px}}@media(max-width:768px){.bank-panel-toggle{padding:8px 10px}.bank-panel-menu{padding:0 10px 10px}.bank-panel-actions .btn-take-loan,.bank-panel-actions .btn-repay-loan{padding:8px 12px;font-size:.8rem}}.action-panel{background:#16213e;border-radius:8px;padding:15px}.action-panel h3{margin:0 0 15px;color:#888;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.current-position-info{background:#1a2744;padding:10px;border-radius:6px;margin-bottom:15px}.current-position-info p{margin:0;color:#aaa;font-size:.9rem}.current-position-info strong{color:#fff}.tile-effect{background:#1a2744;padding:12px;border-radius:6px;margin-bottom:15px}.tile-effect p{margin:0 0 5px;color:#ddd;font-size:.9rem}.tile-effect p:last-child{margin-bottom:0}.tile-effect .go-bonus{color:#27ae60}.tile-effect .eliminated-message{color:#e74c3c;font-weight:700}.action-buttons{display:flex;flex-direction:column;gap:10px}.waiting-message,.hint-message{color:#888;font-size:.85rem;text-align:center}.jail-status{background:#2a1a1a;border:1px solid #e74c3c;border-radius:6px;padding:12px}.jail-message{margin:0 0 8px;color:#e74c3c;font-size:.9rem;text-align:center}.btn-jail-pay{width:100%;padding:8px;font-size:.85rem;background:#e67e22;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background .2s}.btn-jail-pay:hover{background:#d35400}.upgrade-section{background:#1a2744;border-radius:6px;padding:12px;margin-top:5px}.upgrade-section h4{margin:0 0 10px;color:#f39c12;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.upgrade-list{display:flex;flex-direction:column;gap:10px}.upgrade-item{background:#16213e;border-radius:6px;padding:10px;border-left:3px solid #f39c12}.upgrade-item-info{display:flex;align-items:center;gap:8px;margin-bottom:6px}.upgrade-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.upgrade-name{color:#fff;font-weight:500;font-size:.85rem;flex-grow:1}.upgrade-level{color:#888;font-size:.75rem}.upgrade-item-details{margin-bottom:8px}.upgrade-rent{color:#27ae60;font-size:.8rem}.btn-upgrade{width:100%;padding:8px;font-size:.8rem;background:#f39c12;color:#000;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background .2s}.btn-upgrade:hover{background:#e67e22}@media(max-width:1024px){.action-panel{padding:12px}.action-panel h3{margin-bottom:10px;font-size:.85rem}.action-buttons{flex-direction:row;flex-wrap:wrap;gap:8px}.trade-button-container{flex:1;min-width:100px}.btn-trade{width:100%}}@media(max-width:768px){.action-panel{padding:10px}.action-panel h3{margin-bottom:8px;font-size:.8rem}.current-position-info{padding:8px;margin-bottom:10px}.current-position-info p{font-size:.85rem}.tile-effect{padding:10px;margin-bottom:10px}.tile-effect p{font-size:.85rem}.waiting-message,.hint-message{font-size:.8rem}}@media(max-width:480px){.action-panel{padding:8px}.action-buttons{flex-direction:column}.trade-button-container{min-width:unset;width:100%}.trade-menu{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:80%;max-width:250px;margin-bottom:0}}.game-over-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.game-over-box{background:#fff;padding:40px;border-radius:12px;text-align:center;max-width:400px;width:90%}.game-over-box h1{margin:0 0 20px;color:#333}.winner-announcement{margin-bottom:30px}.winner-text{font-size:2rem;margin:0 0 10px;color:#27ae60}.winner-stats{background:#f8f9fa;padding:15px;border-radius:8px;margin-top:15px}.winner-stats p{margin:5px 0;color:#555}.game-over-box .btn-primary{width:100%}@media(max-width:768px){.game-over-box{padding:30px}.winner-text{font-size:1.75rem}}@media(max-width:480px){.game-over-box{padding:25px 20px;border-radius:10px}.game-over-box h1{font-size:1.3rem;margin-bottom:15px}.winner-text{font-size:1.5rem}.winner-announcement{margin-bottom:20px}.winner-announcement p{font-size:.9rem}.winner-stats{padding:12px}.winner-stats p{font-size:.9rem}.game-over-box .btn-primary{padding:14px 20px}}.game-container{height:100vh;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;overflow:hidden}.error-banner{background:#e74c3c;color:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.error-banner p{margin:0}.error-banner button{background:#fff3;border:none;color:#fff;padding:5px 10px;border-radius:4px;cursor:pointer}.game-layout{display:grid;grid-template-columns:240px 1fr 200px;gap:10px;padding:10px;flex:1;min-height:0;overflow:hidden}.sidebar-left,.sidebar-right{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.main-content{display:flex;align-items:center;justify-content:center;overflow:hidden}@media(max-width:1200px){.game-layout{grid-template-columns:220px 1fr 180px;gap:8px;padding:8px}}@media(max-width:1024px){.game-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:8px;padding:8px}.main-content{order:-1}.sidebar-left,.sidebar-right{flex-direction:row;flex-wrap:wrap;gap:8px;overflow-x:auto;overflow-y:hidden}.sidebar-left>*,.sidebar-right>*{flex:1 1 auto;min-width:200px;max-width:300px}}@media(max-width:768px){.game-container{height:auto;min-height:100vh;overflow-y:auto}.game-layout{grid-template-rows:auto auto auto;gap:6px;padding:6px}.sidebar-left,.sidebar-right{flex-direction:column;overflow-x:hidden;overflow-y:visible}.sidebar-left>*,.sidebar-right>*{min-width:unset;max-width:unset;width:100%}}@media(max-width:480px){.game-layout{gap:4px;padding:4px}.error-banner{padding:8px 12px;font-size:.85rem}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:#1a1a2e}body{margin:0;background-color:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:auto;user-select:auto}button,a,.board-tile{-webkit-tap-highlight-color:transparent}.sidebar-left,.sidebar-right{-webkit-overflow-scrolling:touch}.btn{padding:12px 24px;font-size:1rem;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .2s,transform .1s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background:#7f8c8d}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background:#c0392b}.btn-small{padding:8px 16px;font-size:.85rem}@media(max-width:768px){.btn{padding:14px 24px;font-size:1rem;min-height:44px}.btn-small{padding:10px 16px;font-size:.9rem;min-height:40px}}@media(max-width:480px){.btn{padding:12px 20px;font-size:.95rem}}
