*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden;font-family:Nunito,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#1e3828;color:#eee}button,input,select,textarea{font-family:inherit}#game-container{width:100vw;height:100vh;position:relative}#game-canvas{width:100%;height:100%;display:block}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000000d9;z-index:100;overflow-y:auto;padding:20px 0}.lobby-panel{background:#1e1e1e;border:2px solid #3d3526;border-radius:16px;padding:40px 14px;text-align:center;min-width:360px;max-width:520px;width:90%;-webkit-user-select:none;user-select:none;margin:auto;position:relative}.lobby-close-btn{position:absolute;top:12px;right:14px;background:none;border:1px solid rgba(229,115,115,.3);border-radius:8px;color:#e57373;font-size:22px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:color .2s,border-color .2s,background .2s;z-index:5}.lobby-close-btn:hover{color:#ff6b6b;border-color:#ff6b6b80;background:#ff64641a}.lang-flag-btn{position:absolute;top:12px;left:12px;z-index:5;background:none;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:24px;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .2s,transform .15s;line-height:1}.lang-flag-btn:hover{border-color:#fff6;transform:scale(1.08)}.lobby-panel:has(#lobby-waiting:not(.hidden)){max-width:960px}.lobby-waiting-layout{display:flex;gap:24px;align-items:stretch}.lobby-sidebar{flex:0 0 240px;display:flex;flex-direction:column;gap:8px}.lobby-sidebar .btn-primary{margin-top:auto}.lobby-room-bar{position:fixed;top:16px;left:16px;display:flex;align-items:center;gap:10px;z-index:10}.lobby-name-card{background:#ffffff05;border:1px solid rgba(90,80,64,.3);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.lobby-name-card .lobby-name-field{margin:0}.lobby-players-card{background:#ffffff05;border:1px solid rgba(90,80,64,.3);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.lobby-players-heading{color:#d4a526;font-weight:700;font-size:16px;padding:0 0 12px;margin-bottom:4px;border-bottom:1px solid rgba(212,165,38,.25);text-align:left}.lobby-players-card #player-list{margin:0}.lobby-waiting-layout>.settings-panel{flex:1;min-width:0;margin:0;overflow:hidden}@media(max-width:700px){.lobby-waiting-layout{flex-direction:column}.lobby-sidebar{flex:none;width:100%;position:static}.lobby-panel{padding:24px 16px}}.lobby-title-area{text-align:center;margin:0 0 -10px}.lobby-panel:has(#lobby-menu.hidden) .lobby-title-area{margin:20px 0 14px}.lobby-panel:has(#lobby-menu.hidden) .lobby-logo{display:none}.lobby-title{display:none}.lobby-logo{width:570px;max-width:100%;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 4px 16px rgba(0,0,0,.4))}input[type=text],input[type=number]{background:#2a2a24;border:1px solid #4a4538;border-radius:8px;color:#eee;padding:10px 16px;font-size:16px;width:100%;margin-bottom:12px;box-sizing:border-box}input:focus{outline:none;border-color:#d4a526}.lobby-menu{display:flex;flex-direction:column;gap:16px;max-width:380px;margin:0 auto}.lobby-name-field{position:relative}.lobby-name-field input{padding-left:12px;margin-bottom:0}.lobby-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;opacity:.6}.lobby-actions{display:flex;flex-direction:column;gap:8px}.lobby-section-label{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:1.5px;margin-top:8px;padding-left:2px}.lobby-section-label:first-child{margin-top:0}.lobby-action-card{background:#ffffff05;border:1px solid rgba(90,80,64,.25);border-radius:10px;padding:14px}.lobby-divider{display:flex;align-items:center;gap:12px;margin:10px 0;color:#5a5040;font-size:12px;letter-spacing:2px;text-transform:uppercase}.lobby-divider:before,.lobby-divider:after{content:"";flex:1;height:1px;background:#5a504066}.btn-lobby-create{width:100%;padding:14px 24px;font-size:16px;font-weight:700;border:none;border-radius:10px;cursor:pointer;background:linear-gradient(180deg,#d4a526,#a07516);color:#1a1206;transition:all .2s;letter-spacing:.5px}.btn-lobby-create:hover{background:linear-gradient(180deg,#e8c34a,#c9981e);box-shadow:0 4px 16px #d4a5264d}.lobby-join-row{display:flex;gap:10px;align-items:center}.lobby-join-field{position:relative;flex:1}.lobby-join-field input{text-transform:uppercase;padding-left:38px;margin-bottom:0;letter-spacing:3px;font-weight:600}.btn-lobby-join{padding:10px 22px;font-size:15px;font-weight:600;border:1px solid #5a5040;border-radius:10px;cursor:pointer;background:linear-gradient(180deg,#323028f2,#1c1a16f7);color:#d4cbb8;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-lobby-join:hover{background:linear-gradient(180deg,#464238f2,#282620f7);border-color:#8a7a5a;color:#fff}.btn-lobby-browse{width:100%;padding:12px 24px;font-size:15px;font-weight:600;font-family:Nunito,sans-serif;color:#e0d5c0;background:linear-gradient(180deg,#3c382ee6,#23211cf2);border:1px solid rgba(120,105,75,.5);border-radius:8px;cursor:pointer;transition:all .2s;letter-spacing:.5px}.btn-lobby-browse:hover{background:linear-gradient(180deg,#464238f2,#282620f7);border-color:#8a7a5a;color:#fff}.browse-header{text-align:center;margin-bottom:16px}.browse-title{font-size:18px;font-weight:700;color:#e0d5c0}.browse-room-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto;margin-bottom:14px}.browse-empty{text-align:center;color:#c8beaa99;padding:32px 16px;font-size:14px}.browse-room-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff0a;border:1px solid rgba(90,80,64,.3);border-radius:10px;transition:background .2s,border-color .2s}.browse-room-card:hover{background:#ffffff14;border-color:#78694b80}.browse-room-info{flex:1;min-width:0;display:flex;align-items:center;gap:14px;font-size:15px;color:#c8beaab3;overflow:hidden}.browse-room-host{font-size:16px;font-weight:600;color:#e0d5c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.browse-room-badge{font-size:11px;padding:2px 8px;border-radius:6px;background:#d4a52633;color:#d4a526;font-weight:600;white-space:nowrap}.btn-browse-join{padding:8px 18px;font-size:13px;font-weight:600;font-family:Nunito,sans-serif;color:#1a1a16;background:linear-gradient(180deg,#d4a526,#b8860b);border:none;border-radius:8px;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-browse-join:hover{background:linear-gradient(180deg,#e8c34a,#c9981e);box-shadow:0 2px 10px #d4a5264d}.auth-bar{position:absolute;top:12px;right:14px;display:flex;align-items:center;gap:8px;z-index:10}.lobby-panel:has(#lobby-menu.hidden) .auth-bar{right:52px}.auth-btn-login{padding:6px 18px;font-size:13px;border:1px solid rgba(212,165,38,.4);border-radius:8px;cursor:pointer;font-weight:600;background:linear-gradient(180deg,#d4a52626,#d4a5260d);color:#d4a526;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s;letter-spacing:.3px}.auth-btn-login:hover{background:linear-gradient(180deg,#d4a5264d,#d4a5261a);border-color:#d4a52699;box-shadow:0 2px 12px #d4a52626}.auth-btn-logout{padding:6px 16px;font-size:13px;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;font-weight:600;background:#ffffff0f;color:#aaa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s;line-height:1.5}.auth-btn-logout:hover{background:#ff646426;border-color:#ff64644d;color:#faa}.auth-btn-profile{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid #3d3526;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;padding:6px 16px;color:#d4a526;transition:background .2s;line-height:1.5;height:auto;box-sizing:border-box}.auth-btn-profile:hover{background:#d4a52614}.auth-username{font-weight:700;font-size:13px}.auth-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#111}.auth-modal-inner{position:relative;background:#1e1e1e;border:2px solid #3d3526;border-radius:16px;padding:36px 32px 28px;width:360px;box-shadow:0 12px 48px #0009}.auth-modal-close{position:absolute;top:10px;right:14px;background:none;border:none;color:#777;font-size:22px;cursor:pointer;transition:color .15s}.auth-modal-close:hover{color:#d4a526}.auth-title-area{text-align:center;margin-bottom:22px}.auth-title-icon{font-size:32px;display:block;margin-bottom:4px}.auth-title-text{font-size:20px;font-weight:700;letter-spacing:3px;color:#d4a526}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-radius:8px;overflow:hidden;border:1px solid #4a4538;background:#2a2a24}.auth-tab{flex:1;padding:9px;border:none;background:transparent;color:#888;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.auth-tab.active{background:#d4a52626;color:#d4a526}.auth-tab:hover:not(.active){color:#bbb}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-field{position:relative}.auth-field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.5}.auth-form input{width:100%;padding:11px 14px 11px 38px;border-radius:8px;border:1px solid #4a4538;background:#2a2a24;color:#eee;font-size:14px;outline:none;transition:border-color .2s}.auth-form input:focus{border-color:#d4a526}.auth-error{color:#e85d5d;font-size:12px;text-align:center;padding:2px 0}.auth-submit{margin-top:4px;padding:12px;border:none;border-radius:8px;background:linear-gradient(180deg,#d4a526,#b8891e);color:#1a1a1a;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.5px}.auth-submit:hover{background:linear-gradient(180deg,#e8c34a,#c9981e);box-shadow:0 4px 16px #d4a52640}.profile-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0000008c}.profile-modal-inner{position:relative;background:#1e1e1e;border:2px solid #3d3526;border-radius:16px;-webkit-user-select:none;user-select:none;padding:36px 28px 28px;width:460px;max-width:95vw;box-shadow:0 12px 48px #0009}.profile-header{text-align:center;border-bottom:1px solid #3d352680;background:radial-gradient(ellipse at center top,rgba(212,165,38,.06) 0%,transparent 70%);border-radius:14px 14px 0 0;margin:-36px -28px 18px;padding:32px 28px 14px}.profile-avatar{font-size:36px;display:block;margin-bottom:4px}.profile-username{color:#d4a526;font-size:22px;font-weight:700;letter-spacing:2px;margin:0;text-shadow:0 0 20px rgba(212,165,38,.3)}.profile-stats{display:flex;flex-direction:column;gap:8px}.profile-hero-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:4px}.profile-hero-row .profile-stat-hero{background:linear-gradient(160deg,#2e2a1e,#252218);border:1px solid #4d3d20;padding:14px 8px 8px}.profile-hero-row .profile-stat-value{font-size:24px}.profile-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.profile-stat{background:#2a2a24;border:1px solid #3a3530;border-radius:8px;padding:10px 8px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.profile-stat-value{font-size:18px;font-weight:700;color:#d4a526;flex:1;display:flex;align-items:center}.profile-stat-value.ps-green{color:#4caf50}.profile-stat-value.ps-red{color:#e57373}.profile-stat-label{font-size:10px;color:#999;letter-spacing:.3px;line-height:1.2;margin-top:2px}.token-selector{display:flex;gap:8px;margin-bottom:16px;justify-content:center}.token-btn{background:#2a2a24;border:2px solid #4a4538;border-radius:8px;color:#eee;padding:8px 16px;cursor:pointer;font-size:14px;transition:all .2s}.token-btn:hover{border-color:#d4a526}.token-btn.selected{background:#b8891d;border-color:#d4a526}.btn-primary{background:linear-gradient(180deg,#d4a526,#a07516);border:none;border-radius:10px;color:#1a1206;padding:14px 24px;font-size:16px;font-weight:700;cursor:pointer;width:100%;margin-top:8px;margin-bottom:12px;transition:all .2s;letter-spacing:.5px}.btn-primary:hover{background:linear-gradient(180deg,#e8c34a,#c9981e);box-shadow:0 4px 16px #d4a5264d}.btn-secondary{background:transparent;border:1px solid #555;border-radius:8px;color:#aaa;padding:8px 24px;font-size:14px;cursor:pointer;width:100%;transition:all .2s}.btn-secondary:hover{border-color:#888;color:#ccc}.room-code{font-size:32px;font-weight:700;letter-spacing:4px;color:#d4a526}.btn-copy-link{background:linear-gradient(180deg,#323028f2,#1c1a16f7);border:1px solid #5a5040;border-radius:8px;color:#d4cbb8;padding:6px 14px;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-copy-link:hover{background:linear-gradient(180deg,#464238f2,#282620f7);border-color:#8a7a5a;color:#fff}#player-list{margin:16px 0;text-align:left}.player-list-item{padding:8px 12px;background:#2a2a24;border-radius:6px;margin-bottom:4px;display:flex;justify-content:space-between}.settings-panel{margin:16px 0;text-align:left;background:#ffffff05;border:1px solid rgba(90,80,64,.3);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.settings-heading{color:#d4a526;font-weight:700;font-size:16px;padding:0 0 12px;margin-bottom:4px;border-bottom:1px solid rgba(212,165,38,.25);display:flex;align-items:center;gap:6px}.settings-heading-icon{font-size:18px}.settings-columns{display:flex;gap:12px;flex-wrap:wrap}.settings-col{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:10px}.settings-section{background:#ffffff05;border:1px solid rgba(90,80,64,.2);border-radius:8px;overflow:hidden}.settings-section-title{font-size:11px;font-weight:600;color:#8a7a5a;text-transform:uppercase;letter-spacing:1px;padding:8px 12px;background:#ffffff05;border-bottom:1px solid rgba(90,80,64,.15)}.settings-section-body{padding:8px 12px;display:flex;flex-direction:column;gap:8px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.setting-label{font-size:13px;color:#ccc}.setting-label-wrap{display:flex;flex-direction:column;gap:1px;min-width:0}.setting-hint{font-size:10px;color:#6a6050;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-sub{padding-left:16px;border-left:2px solid rgba(212,165,38,.3);margin:4px 0 4px 6px;display:flex;flex-direction:column;gap:8px}.settings-sub .setting-label{font-size:12px;color:#aaa}.setting-select{background:#2a2a24;border:1px solid #4a4538;border-radius:8px;color:#eee;padding:7px 12px;font-size:14px;cursor:pointer}.setting-select:focus{outline:none;border-color:#d4a526}.stepper{display:flex;align-items:center;gap:0;background:#2a2a24;border:1px solid #4a4538;border-radius:8px;overflow:hidden;flex-shrink:0}.stepper-btn{background:transparent;border:none;color:#d4a526;font-size:18px;font-weight:700;width:32px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;-webkit-user-select:none;user-select:none}.stepper-btn:hover{background:#d4a52626}.stepper-btn:active{background:#d4a5264d}.stepper-btn:disabled{color:#555;cursor:not-allowed}.stepper-btn:disabled:hover{background:transparent}.stepper-value{width:70px!important;background:transparent!important;border:none!important;border-left:1px solid #3a3530!important;border-right:1px solid #3a3530!important;border-radius:0!important;color:#fff!important;font-size:14px!important;font-weight:600;text-align:center!important;padding:6px 4px!important;margin:0!important;-moz-appearance:textfield}.stepper-value::-webkit-outer-spin-button,.stepper-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.setting-toggle-row{padding:2px 0}.toggle-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;inset:0;background:#3a3530;border-radius:12px;transition:background .25s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#888;border-radius:50%;transition:transform .25s,background .25s}.toggle-switch input:checked+.toggle-slider{background:#b8891d}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px);background:#fff}.toggle-switch input:disabled+.toggle-slider{opacity:.4;cursor:not-allowed}.hidden{display:none!important}#hud{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:10;-webkit-user-select:none;user-select:none}#player-info-strip{display:flex;gap:10px;padding:10px;overflow-x:auto;pointer-events:auto}.player-info-card{background:#1e1c1899;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;padding:10px 15px;min-width:175px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0000004d;flex-shrink:0}.player-info-card.active{border-color:#d4a52680;box-shadow:0 0 12px #d4a52666,0 0 24px #d4a52626,0 4px 16px #0000004d;background:#322c1899}.player-info-card.bankrupt{opacity:.4}.player-info-card.disconnected{opacity:.55;border-color:#ff464659}.dc-badge{font-size:12px;margin-left:2px;color:#f66;animation:dc-pulse 2s ease-in-out infinite}.dc-timer{font-size:11px;font-weight:600;color:#f66}@keyframes dc-pulse{0%,to{opacity:.6}50%{opacity:1}}.btn-bankrupt{background:#8c191980!important;border-color:#dc3c3c66!important}.btn-bankrupt:hover{background:#c8282880!important;border-color:#dc3c3c99!important}.player-info-card .name{font-weight:700;font-size:17px;display:flex;align-items:center;gap:8px}.player-color-dot{display:inline-block;width:15px;height:15px;border-radius:50%;border:1px solid rgba(255,255,255,.4);flex-shrink:0}.player-info-card .money{color:#5ce65c;font-size:22px;font-weight:700}.player-info-card .money.negative{color:#f44}.player-info-card .token{font-size:15px;color:#999}.player-info-card{cursor:pointer;transition:background .15s,box-shadow .15s}.player-info-card:hover{background:linear-gradient(180deg,#323028f7,#201e18fa)}.player-detail{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.player-detail-row{display:flex;justify-content:space-between;font-size:15px;color:#bba;padding:2px 0}.player-detail-prop{display:flex;align-items:center;gap:6px;font-size:14px;color:#ccc;padding:1px 0}.player-detail-prop-dot{width:10px;height:10px;border-radius:2px;display:inline-block;flex-shrink:0}#action-buttons{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;flex-wrap:nowrap;justify-content:center;pointer-events:auto;z-index:20;-webkit-user-select:none;user-select:none}#action-buttons>.btn-action{padding:10px 16px 8px;font-size:17.5px;min-width:90px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;height:auto;max-height:60px}#action-buttons>.btn-action .btn-icon{font-size:24px;line-height:1}#action-buttons>.btn-action .btn-label{font-size:13px;line-height:1.2}#action-buttons>.btn-action.hidden{display:flex!important;visibility:hidden;pointer-events:none}.btn-action{background:#1e1c1899;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#f0e8d8;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d;transition:all .2s ease}.btn-action:hover{background:#b48c2859;border-color:#d4a52680;color:#fff;box-shadow:0 2px 16px #d4a52633,inset 0 1px #ffffff1a;transform:translateY(-1px)}.btn-action:active{transform:translateY(1px);background:#b48c2840;box-shadow:0 1px 4px #0000004d,inset 0 1px 3px #00000026}.btn-action.blink{animation:btn-blink 1.5s ease-in-out infinite}@keyframes btn-blink{0%,to{background:#1e1c1899;border-color:#ffffff1a;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d}50%{background:#b48c2859;border-color:#d4a52680;box-shadow:0 2px 16px #d4a5264d,inset 0 1px #ffffff1a}}#game-log{position:fixed;top:8px;right:8px;width:320px;max-height:80px;overflow:hidden;background:#1e1c18b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;font-size:12px;cursor:pointer;transition:max-height .3s ease;box-shadow:0 4px 16px #00000080;z-index:15}#game-log.expanded{max-height:400px;overflow-y:auto;cursor:default}.log-entry{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.05)}.dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;z-index:50;min-width:300px;max-width:500px;box-shadow:0 8px 32px #0006}.dialog h3{margin-bottom:12px;color:#d4a526}.dialog p{margin-bottom:8px}.dialog .btn-action{margin:4px}.railroad-travel-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.railroad-travel-header h3{margin-bottom:0}.railroad-travel-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.railroad-travel-desc{color:#aaa;font-size:13px;margin-bottom:12px}.railroad-travel-list{display:flex;flex-direction:column;gap:6px}.railroad-travel-dest{display:flex!important;align-items:center;gap:10px;width:100%;padding:10px 14px!important;text-align:left}.railroad-dest-arrow{font-size:16px;color:#888;width:20px;text-align:center;flex-shrink:0}.railroad-dest-icon{font-size:20px;flex-shrink:0}.railroad-dest-name{flex:1;font-size:14px}.railroad-travel-skip{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;opacity:.7}.railroad-travel-skip:hover{opacity:1}.wheel-spin-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:50%;padding:10px;display:flex;align-items:center;justify-content:center;width:600px;height:600px;overflow:hidden;box-shadow:0 0 0 3px #b8891d,0 0 0 6px #d4a5264d,0 0 30px #d4a52626,0 0 60px #00000080}.wheel-spin-dialog canvas{display:block}.game-over-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;z-index:60;min-width:400px;max-width:900px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 40px #000000b3,inset 0 1px #ffffff0d}.game-over-header{text-align:center;padding:24px 24px 12px;border-bottom:1px solid rgba(212,165,38,.3)}.game-over-trophy{font-size:48px;margin-bottom:4px}.game-over-header h2{color:#d4a526;font-size:22px;margin:0}.game-over-stats{padding:8px 20px 20px}.go-top-row{display:flex;gap:12px;flex-wrap:wrap}.go-top-row>.go-section{flex:1 1 200px;min-width:0}.go-section{margin-bottom:12px}.go-section-title{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#8a7a5a;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.go-standing{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;margin-bottom:2px}.go-standing:first-of-type{background:#d4a5261a}.go-bankrupt{opacity:.5}.go-medal{font-size:16px;min-width:24px;text-align:center;color:#b0a080}.go-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.go-pname{font-weight:700;color:#e8e0d0;flex-shrink:0}.go-pdetail{color:#9a9080;font-size:12px;margin-left:auto;text-align:right;white-space:nowrap}.go-row{display:flex;justify-content:space-between;padding:3px 8px;font-size:13px;color:#c0b8a0}.go-row span:first-child{color:#9a9080}.go-pos{color:#5ce65c}.go-neg{color:#f66}.go-player-grid{display:flex;gap:10px;flex-wrap:wrap}.go-player-card{flex:1 1 0;min-width:140px;background:#ffffff08;border:1px solid rgba(90,80,64,.3);border-radius:8px;padding:10px}.go-player-header{display:flex;align-items:center;gap:6px;font-weight:700;color:#d4a526;font-size:13px;padding:0 0 6px;margin-bottom:4px;border-bottom:1px solid rgba(212,165,38,.15)}.game-over-footer{padding:12px 20px 20px;text-align:center}.game-over-btn{background:linear-gradient(180deg,#d4a526,#b8891a);color:#1a1a1a;border:none;border-radius:8px;padding:10px 48px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s}.game-over-btn:hover{background:linear-gradient(180deg,#e6b82e,#d4a526)}.card-drawn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;perspective:1000px;-webkit-user-select:none;user-select:none}.card-drawn-inner{width:468px;max-width:90vw;transform-style:preserve-3d;animation:card-flip .8s ease-out forwards;border-radius:14px;overflow:hidden;box-shadow:0 8px 32px #0009,0 2px 8px #0006,inset 0 1px #ffffff1a}@keyframes card-flip{0%{transform:rotateX(90deg) scale(.8);opacity:0}40%{transform:rotateX(-8deg) scale(1.02);opacity:1}70%{transform:rotateX(3deg) scale(1)}to{transform:rotateX(0) scale(1)}}.card-drawn-border{border:3px solid;border-radius:14px;overflow:hidden;backface-visibility:hidden}.card-drawn[data-card-type=community] .card-drawn-border{border:none;background:url(/chest-card-bg.png) center / cover no-repeat;aspect-ratio:3 / 2;display:flex;flex-direction:column}.card-drawn[data-card-type=community] .card-drawn-type{background:transparent;font-size:28px;margin-top:20px}.card-drawn[data-card-type=community] .card-drawn-body{flex:1;display:flex;align-items:center;justify-content:center;margin-top:-40px}.card-drawn[data-card-type=community] .card-drawn-player{background:transparent;border-top:none;color:#555}.card-drawn[data-card-type=chance] .card-drawn-border{border:none;background:url(/chance-card-bg.png) center / cover no-repeat;aspect-ratio:3 / 2;display:flex;flex-direction:column}.card-drawn[data-card-type=chance] .card-drawn-type{background:transparent;font-size:28px;margin-top:20px}.card-drawn[data-card-type=chance] .card-drawn-body{flex:1;display:flex;align-items:center;justify-content:center;margin-top:-40px}.card-drawn[data-card-type=chance] .card-drawn-text{font-size:23px;line-height:1.4}.card-drawn[data-card-type=chance] .card-drawn-player{background:transparent;border-top:none;color:#555}.card-drawn-type{padding:14px 20px;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:700;letter-spacing:3px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);text-transform:uppercase}.card-drawn-body{padding:28px 24px 32px;text-align:center;min-height:80px;display:flex;align-items:center;justify-content:center}.card-drawn-text{font-family:Georgia,Times New Roman,serif;font-size:18px;line-height:1.5;color:#1a1a1a;margin:0;font-style:italic}.card-drawn[data-card-type=community] .card-drawn-text{font-size:23px;line-height:1.4}.card-drawn-player{padding:6px 20px 10px;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:13px;color:#666;background:#f5f0e0;border-top:1px solid rgba(0,0,0,.08);letter-spacing:.5px}.auction-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:380px;max-width:90vw;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;overflow:hidden}.auction-header{text-align:center;padding:0}.auction-property-color{height:10px;width:100%;border-radius:12px 12px 0 0}.auction-header h3{margin:12px 16px 2px;color:#f0e8d8;font-size:20px;font-weight:700;letter-spacing:.5px}.auction-property-price{font-size:13px;color:#a09880;margin-bottom:10px}.auction-body{padding:0 18px 16px}.auction-bidders{margin-bottom:12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.auction-bidder-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.06);transition:background .2s}.auction-bidder-row:last-child{border-bottom:none}.auction-bidder-highest{background:#d4a52626;box-shadow:inset 3px 0 #d4a526}.auction-bidder-passed{opacity:.4}.auction-bidder-name{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#e8e0d0}.auction-bidder-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.auction-bidder-status{font-size:13px;color:#888}.auction-bidder-status.highest{color:#e8c44a;font-weight:700;font-size:15px}.auction-bidder-status.passed{color:#a55;font-style:italic;font-size:12px}.auction-current-bid{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:8px}.auction-bid-label{font-size:13px;color:#a09880;font-weight:500;text-transform:uppercase;letter-spacing:1px}.auction-bid-amount{font-size:28px;font-weight:900;color:#e8c44a;text-shadow:0 0 12px rgba(232,196,74,.3)}.auction-timer-bar-wrap{width:100%;height:6px;background:#2a2a24;border-radius:3px;overflow:hidden;margin:8px 0 4px}.auction-timer-bar{height:100%;background:#d4a526;border-radius:3px;transition:width .3s linear}.auction-timer-text{font-size:12px;color:#777;text-align:center;margin-bottom:10px}.auction-controls{display:flex;flex-direction:column;gap:6px}.auction-quick-row{display:flex;gap:6px}.auction-quick-row .btn-action{flex:1;margin:0}.btn-bid-quick{background:linear-gradient(180deg,#1a6b3c,#145530)!important;border-color:#283!important;font-weight:700}.btn-bid-quick:hover:not(:disabled){background:linear-gradient(180deg,#283,#1a6b3c)!important;box-shadow:0 2px 8px #2288334d}.btn-pass{background:linear-gradient(180deg,#6b1a1a,#551515)!important;border-color:#a22!important}.btn-pass:hover:not(:disabled){background:linear-gradient(180deg,#a22,#6b1a1a)!important;box-shadow:0 2px 8px #aa22224d}.jail-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:360px;max-width:90vw;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;overflow:hidden}.jail-header{text-align:center;padding:20px 20px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(180,40,40,.15) 0%,transparent 100%)}.jail-icon{font-size:36px;margin-bottom:6px}.jail-header h3{margin:0;color:#e85454;font-size:22px;font-weight:700;letter-spacing:1px}.jail-turns{margin:6px 0 0;font-size:14px;color:#a09880}.jail-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:10px}.jail-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border-radius:10px;border:1px solid;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s ease;text-align:left}.jail-btn-icon{font-size:22px;flex-shrink:0;width:32px;text-align:center}.jail-btn-label{flex:1;color:#f0e8d8;text-shadow:0 1px 2px rgba(0,0,0,.5)}.jail-btn-roll{background:linear-gradient(180deg,#323028f2,#1c1a16f7);border-color:#5a5040;box-shadow:0 2px 8px #0006,inset 0 1px #ffffff0f}.jail-btn-roll:hover{background:linear-gradient(180deg,#c9981e,#a07516);border-color:#d4a526;box-shadow:0 2px 12px #d4a52659,inset 0 1px #ffffff26;transform:translateY(-1px)}.jail-btn-pay{background:linear-gradient(180deg,#1a6b3c,#145530);border-color:#283;box-shadow:0 2px 8px #0006,inset 0 1px #ffffff0f}.jail-btn-pay:hover:not(:disabled){background:linear-gradient(180deg,#283,#1a6b3c);border-color:#3a4;box-shadow:0 2px 12px #22883359;transform:translateY(-1px)}.jail-btn-pay:disabled{opacity:.4;cursor:not-allowed}.jail-btn-card{background:linear-gradient(180deg,#2b5a8c,#1e4570);border-color:#3a7abf;box-shadow:0 2px 8px #0006,inset 0 1px #ffffff0f}.jail-btn-card:hover{background:linear-gradient(180deg,#3a7abf,#2b5a8c);border-color:#4a90d9;box-shadow:0 2px 12px #3a7abf59;transform:translateY(-1px)}.trade-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:620px;max-height:85vh;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;overflow:hidden}.trade-header-icon{font-size:22px}.trade-dialog-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #5a5040}.trade-dialog-header h3{margin:0;color:#d4a526;font-size:18px;font-weight:600}.trade-target-wrap{display:flex;align-items:center;gap:8px;flex:1}.trade-target-label{color:#999;font-size:14px}.trade-target-select{display:none}.trade-target-dropdown{position:relative;flex:1}.trade-target-selected{display:flex;align-items:center;gap:8px;background:#2a2822e6;border:1px solid #5a5040;border-radius:8px;padding:7px 12px;cursor:pointer;transition:border-color .15s}.trade-target-selected:hover{border-color:#8a7a5a}.trade-target-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.trade-target-name{color:#e8e0d0;font-size:14px;font-weight:500;flex:1}.trade-target-arrow{color:#8a7a5a;font-size:12px;flex-shrink:0}.trade-target-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#201e18fa;border:1px solid #5a5040;border-radius:8px;overflow:hidden;z-index:60;box-shadow:0 6px 20px #00000080}.trade-target-option{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;transition:background .12s}.trade-target-option:hover{background:#d4a52626}.trade-target-option+.trade-target-option{border-top:1px solid rgba(90,80,64,.2)}.trade-target-opt-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.trade-target-opt-name{color:#e8e0d0;font-size:14px;font-weight:500;flex:1}.trade-target-opt-info{color:#8a7a5a;font-size:11px;flex-shrink:0}.trade-layout{display:flex;gap:12px;padding:14px;overflow-y:auto;max-height:60vh}.trade-side{flex:1;background:#ffffff08;border:1px solid rgba(90,80,64,.3);border-radius:8px;padding:12px}.trade-player-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.trade-divider{display:flex;align-items:center;justify-content:center;font-size:22px;color:#5a5040;flex-shrink:0;padding:0 2px}.trade-row-icon{font-size:14px;flex-shrink:0}.trade-side-title{margin:0 0 10px;font-size:14px;font-weight:600;color:#d4a526;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center}.trade-side input[type=number]{margin-bottom:8px}.trade-side label{display:flex;align-items:center;gap:8px;font-size:13px}.trade-side label input{margin:0}.trade-footer{display:flex;gap:8px;padding:12px 18px;border-top:1px solid #5a5040;justify-content:flex-end}.btn-trade-send{background:linear-gradient(180deg,#d4a526,#a07516);border:1px solid #e8c34a;border-radius:6px;color:#1a1206;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-trade-send:hover{background:linear-gradient(180deg,#e8c34a,#c9981e);border-color:#f0d060}.btn-trade-cancel{background:linear-gradient(180deg,#323028f2,#1c1a16f7);border:1px solid #5a5040;border-radius:6px;color:#d4cbb8;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-trade-cancel:hover{background:linear-gradient(180deg,#464238f2,#282620f7);color:#fff}.prop-mini-card{display:flex;align-items:center;gap:6px;padding:4px 8px;margin:3px 0;background:#ffffff08;border:1px solid rgba(90,80,64,.2);border-radius:6px;cursor:pointer;transition:background .15s}.prop-mini-card:hover{background:#ffffff12}.prop-mini-selectable{padding-left:6px}.prop-toggle-input{position:absolute;opacity:0;width:0;height:0}.prop-toggle-slider{position:relative;width:30px;height:16px;background:#3a3530;border-radius:8px;transition:background .2s;flex-shrink:0}.prop-toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:#888;border-radius:50%;transition:transform .2s,background .2s}.prop-toggle-input:checked+.prop-toggle-slider{background:#b8891d}.prop-toggle-input:checked+.prop-toggle-slider:after{transform:translate(14px);background:#fff}.prop-mini-color{width:6px;height:26px;border-radius:3px;flex-shrink:0}.prop-mini-name{font-size:12px;color:#e8e0d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prop-mini-mortgaged{color:#c44;font-size:10px;font-weight:700;margin-left:4px}.trade-money-row{display:flex;align-items:center;gap:4px;margin-bottom:8px}.trade-money-row input[type=number]{flex:1;min-width:50px;width:60px;text-align:center;margin:0;font-size:14px;background:#2a2822e6;border:1px solid #5a5040;color:#e8e0d0;border-radius:4px;padding:4px;-moz-appearance:textfield;appearance:textfield}.trade-money-row input[type=number]::-webkit-inner-spin-button,.trade-money-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.trade-step-btn{background:#323028e6;border:1px solid #5a5040;color:#d4cbb8;border-radius:4px;padding:4px 6px;font-size:11px;cursor:pointer;white-space:nowrap;transition:all .15s}.trade-step-btn:hover{background:#464238f2;color:#fff;border-color:#7a7060}.trade-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:#d4cbb8;cursor:pointer;margin-top:8px}.trade-toggle input{position:absolute;opacity:0;width:0;height:0}.trade-toggle-slider{position:relative;width:34px;height:18px;background:#3a3530;border-radius:9px;transition:background .2s;flex-shrink:0}.trade-toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#888;border-radius:50%;transition:transform .2s,background .2s}.trade-toggle input:checked+.trade-toggle-slider{background:#b8891d}.trade-toggle input:checked+.trade-toggle-slider:after{transform:translate(16px);background:#fff}.trade-toggle input:disabled+.trade-toggle-slider{background:#333;opacity:.4;cursor:not-allowed}.trade-toggle:has(input:disabled){opacity:.5;cursor:not-allowed}.trade-incoming-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:55;width:480px;max-height:80vh;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 8px 32px #0006;overflow:hidden;display:flex;flex-direction:column}.trade-incoming-header{text-align:center;padding:20px 20px 12px;border-bottom:1px solid rgba(212,165,38,.3)}.trade-incoming-icon{font-size:36px;display:block;margin-bottom:4px}.trade-incoming-header h3{margin:0;color:#d4a526;font-size:20px}.trade-incoming-from{margin:4px 0 0;color:#9a9080;font-size:14px}.trade-from-highlight{color:#e8e0d0;font-weight:600}.trade-incoming-details{padding:14px 16px;overflow-y:auto;max-height:50vh}.ti-layout{display:flex;gap:8px}.ti-side{flex:1;background:#ffffff08;border:1px solid rgba(90,80,64,.3);border-radius:8px;padding:10px}.ti-side-title{font-size:13px;font-weight:600;color:#d4a526;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center}.ti-item{display:flex;align-items:center;gap:6px;padding:5px 8px;margin:3px 0;background:#ffffff08;border:1px solid rgba(90,80,64,.2);border-radius:6px;font-size:13px;color:#e8e0d0}.ti-icon{font-size:14px;flex-shrink:0}.ti-empty{color:#6a6050;font-style:italic;font-size:13px;padding:8px;text-align:center}.trade-incoming-footer{display:flex;gap:10px;padding:14px 20px;border-top:1px solid #5a5040;justify-content:center}.trade-incoming-btn{padding:10px 28px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease;border:none}.trade-btn-accept{background:linear-gradient(180deg,#2e8b3e,#1e6b2e);color:#e0ffe0}.trade-btn-accept:hover{background:linear-gradient(180deg,#3ea050,#2e8b3e)}.trade-btn-reject{background:linear-gradient(180deg,#323028f2,#1c1a16f7);color:#d4cbb8;border:1px solid #5a5040}.trade-btn-reject:hover{background:linear-gradient(180deg,#464238f2,#282620f7);color:#fff}#property-card{left:24px;top:50%;transform:translateY(-50%)}.property-card{min-width:260px;max-width:300px;padding:0;border:3px solid #555;border-radius:10px;overflow:hidden;background:#f5f0e1;color:#222;-webkit-user-select:none;user-select:none}.property-card h3{color:#111;text-align:center;font-size:17px;margin:8px 16px 6px;text-transform:uppercase;letter-spacing:.5px}.property-card .btn-action{display:block;width:calc(100% - 32px);margin:8px 16px 14px;background:#555;color:#eee;border:none;border-radius:6px;padding:6px;cursor:pointer;font-size:13px}.property-card .btn-action:hover{background:#777}.property-card-header{height:50px;margin:0;border-radius:0;display:flex;align-items:center;justify-content:center;border-bottom:2px solid #444}.property-card-header .header-label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#ffffffd9;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.4)}#property-card-owner{text-align:center;font-size:12px;padding:6px 16px;font-weight:700}.pc-owner-row{display:inline-flex;align-items:center;gap:5px}.pc-owner-dot{display:inline-block;width:11px;height:11px;border-radius:50%;border:1.5px solid #444;flex-shrink:0}.pc-owner-name{color:#333}.pc-mortgaged-tag{display:inline-block;background:#c33;color:#fff;font-size:9px;font-weight:700;letter-spacing:.5px;padding:1px 6px;border-radius:3px;margin-left:6px;vertical-align:middle}.pc-unowned{color:#777;font-style:italic;font-weight:400}#property-card-details{font-size:12px;padding:0 16px}.pc-price{text-align:center;font-size:16px;font-weight:700;color:#1a6b1a;padding:6px 0;border-top:1px dashed #bbb;border-bottom:1px dashed #bbb}.pc-rent-section{padding:4px 0 2px}#property-card-details .rent-line{display:flex;justify-content:space-between;padding:3px 4px;border-bottom:1px dotted #d5d0c0;font-size:12px;color:#444}#property-card-details .rent-line:last-child{border-bottom:none}#property-card-details .rent-line.active{font-weight:700;color:#000;background:#00640014;border-radius:4px;border-bottom-color:transparent}.pc-rent-icon{font-size:10px}.pc-build-cost,.pc-mortgage{display:flex;justify-content:space-between;padding:5px 4px;font-size:12px;color:#555;border-top:1px dashed #bbb}#property-card-details .mortgage-badge{text-align:center;color:#c33;font-weight:700;font-size:13px;padding:6px 0 2px}.pc-building-status{text-align:center;font-size:12px;font-weight:600;color:#2a7a2a;padding:4px 0 2px;border-top:1px dashed #bbb}.fps-counter{position:fixed;top:16px;right:16px;z-index:20;background:#0009;color:#0f0;font-family:monospace;font-size:13px;font-weight:600;padding:4px 8px;border-radius:4px;pointer-events:none;-webkit-user-select:none;user-select:none}#toast-container{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.toast{background:#1e1c18b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 32px;font-size:22px;font-weight:600;letter-spacing:.5px;text-align:center;animation:toast-in .3s ease,toast-out .4s ease 2.6s forwards;max-width:90vw;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.5)}@keyframes toast-in{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.rent-notification{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:300;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:16px 28px;text-align:center;pointer-events:none;animation:rent-pop-in .3s cubic-bezier(.34,1.56,.64,1)}.rent-notification.fade-out{animation:rent-fade-out .4s ease forwards}.rent-notif-amount{font-size:48px;font-weight:900;color:#e8c44a;margin-bottom:10px;text-shadow:0 0 16px rgba(232,196,74,.5),0 2px 6px rgba(0,0,0,.6);letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:8px}.rent-notif-coin{width:52px;height:52px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));animation:rent-coin-spin .6s ease-out}@keyframes rent-coin-spin{0%{transform:rotateY(180deg) scale(.5);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}.rent-notif-pulse{animation:rent-amount-pulse .8s ease-in-out 3}@keyframes rent-amount-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.rent-notif-flow{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}.rent-notif-player{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:2px solid;border-radius:6px;font-size:14px;font-weight:600;color:#eee;background:#ffffff0d}.rent-notif-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.rent-notif-arrow{font-size:20px;color:#e8c44a}.rent-notif-card{margin-top:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;overflow:hidden;min-width:120px}.rent-notif-card-color{height:16px;width:100%}.rent-notif-card-name{font-size:22px;font-weight:700;color:#eee;padding:8px 14px 4px}.rent-notif-card-rent{font-size:11px;color:#bba;padding:2px 10px}.rent-notif-buildings{padding:4px 10px 8px;font-size:20px;letter-spacing:4px;text-align:center}.rent-notif-hotel{font-size:36px}@keyframes rent-pop-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes rent-fade-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}.center-announcement{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:300;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:20px 36px;font-size:22px;font-weight:700;color:#eee;text-align:center;pointer-events:none;white-space:nowrap;animation:rent-pop-in .3s cubic-bezier(.34,1.56,.64,1)}.center-announcement.fade-out{animation:rent-fade-out .4s ease forwards}.money-change{position:absolute;right:5px;top:24px;font-weight:700;font-size:26px;pointer-events:none;animation:money-float 3.5s ease-out forwards;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.5)}.money-change.positive{color:#5ce65c}.money-change.negative{color:#f44}@keyframes money-float{0%{opacity:1;transform:translateY(0) scale(1)}10%{transform:translateY(-2px) scale(1.15)}50%{opacity:1}to{opacity:0;transform:translateY(-36px) scale(1)}}.btn-sidebar{position:fixed;right:16px;z-index:20;background:#1e1c1899;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#f0e8d8;padding:10px 16px 8px;min-width:90px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d;transition:all .2s ease}.btn-sidebar .btn-icon{font-size:24px;line-height:1}.btn-sidebar .btn-label{font-size:13px;line-height:1.2}.btn-sidebar:hover{background:#b48c2859;border-color:#d4a52680;color:#fff;box-shadow:0 2px 16px #d4a52633,inset 0 1px #ffffff1a;transform:translateY(-1px)}.btn-sidebar-leave:hover{background:#c82d2d66;border-color:#dc3c3c80;box-shadow:0 2px 16px #c832324d,inset 0 1px #ffffff1a}#leave-game-btn{bottom:16px}#settings-toggle-btn{bottom:84px}#transactions-toggle-btn{bottom:152px}#auto-play-btn{bottom:220px}#action-buttons.auto-play-hidden{opacity:0;pointer-events:none}.auto-play-active{background:#28782880!important;border-color:#50c85066!important}.auto-play-active:hover{background:#328c3280!important;border-color:#50c85099!important}.ingame-settings-panel{position:fixed;bottom:148px;right:16px;z-index:21;background:#1e1c18b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 18px;min-width:220px;box-shadow:0 8px 32px #0006;-webkit-user-select:none;user-select:none}.ingame-settings-header{color:#e8d9a0;font-size:15px;font-weight:600;letter-spacing:.5px;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid rgba(90,80,64,.6)}.ingame-settings-divider{height:1px;background:#5a504080;margin:6px 0}.ingame-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0}.ingame-settings-label{color:#d4cbb8;font-size:15px;font-weight:500}.btn-cycle{background:#1e1c1899;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#f0e8d8;padding:6px 14px;min-width:110px;text-align:center;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s ease}.btn-cycle:hover{background:linear-gradient(180deg,#c9981e,#a07516);border-color:#d4a526;color:#fff}.transactions-panel{position:fixed;bottom:216px;right:16px;z-index:21;background:#1e1c18b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 16px;width:360px;max-height:420px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.transactions-header{color:#e8c44a;font-size:16px;font-weight:700;letter-spacing:1px;margin-bottom:10px;text-align:center}.transactions-empty{color:#888;font-size:13px;text-align:center;padding:16px 0}.transactions-list{overflow-y:auto;flex:1;max-height:350px}.tx-row{display:grid;grid-template-columns:32px 1fr auto;grid-template-rows:auto auto;gap:0 8px;align-items:center;padding:7px 6px;border-bottom:1px solid rgba(255,255,255,.06)}.tx-row:last-child{border-bottom:none}.tx-round{grid-row:1 / 3;font-size:11px;font-weight:700;color:#a09880;text-align:center}.tx-parties{display:flex;align-items:center;gap:5px;font-size:13px;color:#ddd}.tx-party{display:inline-flex;align-items:center;gap:3px}.tx-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.tx-arrow{color:#e8c44a;font-size:14px}.tx-amount-pos{font-size:14px;font-weight:700;color:#4ecb71;text-align:right}.tx-amount-neg{font-size:14px;font-weight:700;color:#e85454;text-align:right}.tx-reason{grid-column:2 / 4;font-size:11px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transactions-list::-webkit-scrollbar{width:5px}.transactions-list::-webkit-scrollbar-track{background:transparent}.transactions-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.btn-action:disabled{opacity:.4;cursor:not-allowed}.btn-action:disabled:hover{background:#1e1c1899;border-color:#ffffff1a;transform:none;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d}.mortgage-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:720px;max-width:90vw;max-height:85vh;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column}.mortgage-header-icon{font-size:24px;flex-shrink:0}.mortgage-header-text{flex:1;display:flex;align-items:center;gap:12px}.mortgage-cash{font-size:13px;color:#9a9080;font-weight:500}.mortgage-cash-negative{color:#f44}.mortgage-dialog-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #5a5040}.mortgage-dialog-header h3{margin:0;color:#d4a526;font-size:18px;font-weight:600}.mortgage-close-x{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.mortgage-close-x:hover{color:#e55}.mortgage-list{padding:12px;overflow-y:auto;flex:1;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}.mortgage-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid rgba(90,80,64,.15);transition:background .15s;flex-wrap:wrap}.mortgage-row:last-child{border-bottom:none}.mortgage-row:hover{background:#ffffff0a}.mortgage-row.mortgaged{opacity:.7}.mortgage-color-bar{display:none}.mortgage-prop-name{flex:1;min-width:0;font-size:13px;color:#e8e0d0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mortgage-prop-value{font-size:11px;color:#8a7a5a;flex-shrink:0;margin-right:4px}.mortgage-status{font-size:11px;color:#e55;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.mortgage-group{flex:0 0 calc(50% - 5px);background:#ffffff05;border:1px solid rgba(90,80,64,.3);border-radius:8px;box-sizing:border-box}.mortgage-group-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(90,80,64,.25)}.mortgage-group-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0}.mortgage-group-name{font-size:12px;font-weight:600;color:#d4cbb8;text-transform:uppercase;letter-spacing:.5px}.mortgage-group-disabled{opacity:.45;pointer-events:none}.mortgage-group-built{margin-left:auto;font-size:10px;font-weight:600;color:#d4a526;text-transform:uppercase;letter-spacing:.5px}.mortgage-empty{padding:20px;text-align:center;color:#888;font-style:italic}.mortgage-summary{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-top:1px solid #5a5040;font-size:12px;color:#9a9080}.mortgage-summary:empty{display:none}.mortgage-summary-item{display:inline-flex;align-items:center;gap:4px}.mortgage-summary-pos{color:#5ce65c;font-weight:600}.mortgage-summary-neg{color:#f66;font-weight:600}.mortgage-summary-sep{color:#5a5040}.btn-unmortgage:disabled{opacity:.4;cursor:not-allowed}.btn-mortgage,.btn-unmortgage{flex-shrink:0;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid;white-space:nowrap;transition:all .15s ease}.btn-mortgage{background:linear-gradient(180deg,#b43232cc,#821e1ee6);border-color:#a33;color:#f0d8d8}.btn-mortgage:hover{background:linear-gradient(180deg,#d23c3ce6,#a02828f2);border-color:#d55;color:#fff}.btn-unmortgage{background:linear-gradient(180deg,#288c3ccc,#196428e6);border-color:#2a2;color:#d8f0d8}.btn-unmortgage:hover{background:linear-gradient(180deg,#32aa46e6,#238232f2);border-color:#3c3;color:#fff}.build-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;min-width:360px;max-width:min(820px,92vw);max-height:85vh;background:#1e1c18bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column}.build-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #5a5040}.build-dialog-header h3{margin:0;color:#d4a526;font-size:18px;font-weight:600}.build-close-x{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.build-close-x:hover{color:#e55}.build-list{padding:12px;overflow-y:auto;flex:1;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}.build-group{flex:1 1 calc(50% - 5px);min-width:300px;background:#ffffff05;border:1px solid rgba(90,80,64,.3);border-radius:8px;box-sizing:border-box}.build-group-disabled{opacity:.45;pointer-events:none}.build-group-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(90,80,64,.25)}.build-group-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0}.build-group-name{font-size:12px;font-weight:600;color:#d4cbb8;text-transform:uppercase;letter-spacing:.5px}.build-group-mortgaged{margin-left:auto;font-size:10px;font-weight:600;color:#e55;text-transform:uppercase;letter-spacing:.5px}.build-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(90,80,64,.15);transition:background .15s;flex-wrap:wrap}.build-row:last-child{border-bottom:none}.build-row:hover{background:#ffffff0a}.build-prop-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.build-prop-name{font-size:13px;color:#e8e0d0;font-weight:500}.build-level{display:block}.build-house-icons{font-size:14px;letter-spacing:2px}.build-hotel-icon{font-size:14px}.build-empty-lot{font-size:11px;color:#6a6050;font-style:italic}.build-btns{display:flex;gap:4px;flex-shrink:0}.build-btn-placeholder{visibility:hidden}.btn-build-action{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #2a2;white-space:nowrap;transition:all .15s ease;background:linear-gradient(180deg,#288c3ccc,#196428e6);color:#d8f0d8;min-width:72px;text-align:center}.btn-build-action:hover:not(:disabled){background:linear-gradient(180deg,#32aa46e6,#238232f2);border-color:#3c3;color:#fff}.btn-build-action:disabled{opacity:.35;cursor:not-allowed}.btn-build-action.btn-hotel{background:linear-gradient(180deg,#b48c1ecc,#8c640ae6);border-color:#b90;color:#f0e8c8}.btn-build-action.btn-hotel:hover:not(:disabled){background:linear-gradient(180deg,#d2a528e6,#aa7d14f2);border-color:#dc0;color:#fff}.btn-build-sell{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #a33;white-space:nowrap;transition:all .15s ease;background:linear-gradient(180deg,#b43232cc,#821e1ee6);color:#f0d8d8;min-width:72px;text-align:center}.btn-build-sell:hover:not(:disabled){background:linear-gradient(180deg,#d23c3ce6,#a02828f2);border-color:#d55;color:#fff}.btn-build-sell:disabled{opacity:.35;cursor:not-allowed}.build-empty{padding:20px;text-align:center;color:#888;font-style:italic;width:100%}.btn-dev-toggle{position:fixed;top:8px;right:8px;z-index:60;background:#501414e6;border:1px solid #aa4444;border-radius:6px;color:#f88;padding:4px 10px;cursor:pointer;font-size:11px;font-family:monospace}.btn-dev-toggle:hover{background:#a44;color:#fff}#dev-panel{position:fixed;top:40px;right:8px;width:340px;max-height:calc(100vh - 60px);overflow-y:auto;background:#1e0a0af2;border:1px solid #aa4444;border-radius:8px;padding:12px;z-index:55;font-size:12px;font-family:monospace}#dev-panel h3{color:#f66;margin-bottom:8px;font-size:14px;border-bottom:1px solid #aa4444;padding-bottom:4px}.dev-overview{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.dev-tag{background:#501e1ecc;border:1px solid #553333;border-radius:3px;padding:2px 6px;font-size:10px;color:#c99}.dev-tag b{color:#fca}.dev-tag-warn{border-color:#a83;color:#fc4}.dev-tag-warn b{color:#fe6}.dev-player-section{background:#32141499;border:1px solid #663333;border-radius:6px;padding:8px;margin-bottom:8px}.dev-player-current{border-color:#4a4}.dev-player-bankrupt{opacity:.5}.dev-player-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.dev-player-name{font-weight:700;color:#fa8}.dev-badge{font-size:9px;padding:1px 5px;border-radius:3px;font-weight:700;text-transform:uppercase}.dev-badge-turn{background:#2a5a2a;color:#8f8}.dev-badge-bankrupt{background:#5a2a2a;color:#f88}.dev-badge-jail{background:#5a4a2a;color:#fc6}.dev-badge-dc{background:#4a2a4a;color:#c8f}.dev-player-stats{font-size:10px;color:#999;margin-bottom:6px}.dev-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.dev-row label{width:55px;flex-shrink:0;color:#c88;font-size:11px}.dev-row input,.dev-row select{flex:1;background:#1a0a0a;border:1px solid #663333;color:#eee;padding:3px 6px;border-radius:4px;font-size:11px;font-family:monospace}.dev-row select{max-width:160px}.btn-dev{background:#522;border:1px solid #883333;border-radius:4px;color:#faa;padding:3px 8px;cursor:pointer;font-size:11px;font-family:monospace;white-space:nowrap}.btn-dev:hover{background:#833;color:#fff}.btn-dev-sm{padding:2px 5px;font-size:10px}.dev-section-title{color:#f88;font-size:11px;margin:8px 0 4px;border-bottom:1px solid #442222;padding-bottom:2px}.wheel-ready{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50}.btn-wheel-spin{background:linear-gradient(180deg,#d4a526,#a07516,#d4a526);border:2px solid #e8c34a;border-radius:12px;color:#1a1206;padding:18px 44px;font-size:22px;font-weight:700;letter-spacing:1px;cursor:pointer;text-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 4px 20px #d4a52666,0 2px 8px #0000004d,inset 0 1px #ffffff4d;transition:all .2s ease;animation:wheel-btn-pulse 1.5s ease-in-out infinite}.btn-wheel-spin:hover{background:linear-gradient(180deg,#e8c34a,#c9981e,#e8c34a);border-color:#f0d060;box-shadow:0 6px 28px #d4a52699,0 2px 8px #0000004d,inset 0 1px #fff6;transform:scale(1.05)}.btn-wheel-spin:active{transform:scale(.97);box-shadow:0 2px 10px #d4a5264d,inset 0 2px 4px #0003}@keyframes wheel-btn-pulse{0%,to{box-shadow:0 4px 20px #d4a52666,0 2px 8px #0000004d,inset 0 1px #ffffff4d}50%{box-shadow:0 4px 28px #d4a526b3,0 2px 8px #0000004d,inset 0 1px #ffffff4d}}#wheel-spin-dialog{min-width:360px;text-align:center}#wheel-canvas{display:block;margin:12px auto;border-radius:50%}#wheel-result-text{font-size:18px;font-weight:700;color:#d4a526;margin-top:8px}#wheel-choice-dialog{min-width:280px}#wheel-choice-list{max-height:300px;overflow-y:auto;margin-top:8px}.confirm-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center;animation:confirm-fade-in .15s ease-out}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-box{background:#1e1c18d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:28px 32px 22px;min-width:300px;max-width:420px;box-shadow:0 12px 48px #00000080;animation:confirm-scale-in .15s ease-out;text-align:center}@keyframes confirm-scale-in{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.confirm-icon{font-size:36px;margin-bottom:10px}.confirm-title{font-size:18px;font-weight:700;color:#d4a526;margin-bottom:8px}.confirm-message{font-size:14px;color:#fffc;line-height:1.5;margin-bottom:20px}.confirm-buttons{display:flex;gap:10px;justify-content:center}.confirm-btn{background:#1e1c1899;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#f0e8d8;padding:10px 24px;cursor:pointer;font-family:Nunito,sans-serif;font-size:14px;font-weight:500;letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d;transition:all .2s ease}.confirm-btn:active{transform:translateY(1px);box-shadow:0 1px 4px #0000004d,inset 0 1px 3px #00000026}.confirm-btn-cancel:hover{background:#b48c2859;border-color:#d4a52680;color:#fff;box-shadow:0 2px 16px #d4a52633,inset 0 1px #ffffff1a;transform:translateY(-1px)}.confirm-btn-danger{background:#8c191980;border-color:#dc3c3c66}.confirm-btn-danger:hover{background:#c8282880;border-color:#dc3c3c99;color:#fff;box-shadow:0 2px 16px #dc3c3c33,inset 0 1px #ffffff1a;transform:translateY(-1px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#5a5040;border-radius:3px}
