@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/press-start-2p.ttf) format("truetype")}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}p{line-height:1.3;margin:0}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}.section-heading,.active-loans-section h3,.loans-section h3,.activities-section h3,.permit-options>h3,.build-options>h3,.modal-section h3,.active-permits-section h3,.settings-section h3,.borrowing-options-section h3{font-size:1.125rem;font-weight:600;color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);line-height:1.2;margin:0 0 1rem;padding:0}.button{border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;width:100%;margin-top:.25rem;transition:all .2s;font-size:.9rem}.button:hover:not(:disabled){opacity:1}.button:disabled{cursor:not-allowed;opacity:.6;color:inherit}.button:disabled:hover{opacity:.6}.button.primary{background-color:#1a365d;color:#fff}.button.primary:hover:not(:disabled){background-color:#2c5282}.auth-button-primary{width:100%;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s;position:relative;min-height:3rem}.auth-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #4f46e54d}.auth-button-primary:disabled{opacity:.6;cursor:not-allowed;color:#fff}.start-game-button{width:100%;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s;position:relative;min-height:3rem}.start-game-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #4f46e54d}.start-game-button:disabled{opacity:.6;cursor:not-allowed;color:#fff}.purchase-option-button{margin-top:auto;width:100%;padding:.75rem 1.5rem;background-color:#1a365d;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background-color .2s;font-size:.9rem}.purchase-option-button:hover{background-color:#2c5282}.purchase-option-button:disabled{background-color:#0000004d;color:#fff;cursor:not-allowed}.confirm-button{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;width:100%;margin-top:.25rem;transition:all .2s;font-size:.9rem;text-shadow:0 0 5px rgba(0,255,0,.3)}.confirm-button:hover:not(:disabled){background-color:#0f03;border-color:#0f0;box-shadow:0 0 12px #0f06;transform:translateY(-1px)}.confirm-button:active:not(:disabled){transform:translateY(0)}.confirm-button:disabled{background-color:#0000004d;color:#0f0;border-color:#00ff001a;cursor:not-allowed;text-shadow:none}.button.secondary{background-color:transparent;color:#00ff00b3;border:1px solid rgba(0,255,0,.2)}.button.secondary:hover:not(:disabled){background-color:#00ff000d;border-color:#0f06}.auth-button-secondary{padding:.75rem 1.5rem;background-color:transparent;color:#00ff00b3;border:1px solid rgba(0,255,0,.2);border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-right:auto}.auth-button-secondary:hover{background-color:#00ff000d;border-color:#0f06}.secondary-button{background-color:#00ff000d;color:#0f0c;border:1px solid rgba(0,255,0,.2);padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;margin:.25rem;transition:all .2s}.secondary-button:hover{background-color:#00ff001a;border-color:#0f06}.close-modal,.cancel-button{border:1px solid rgba(0,255,0,.4);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;width:100%;margin-top:.25rem;transition:all .2s;font-size:.9rem;background-color:#0000004d;color:#0f0}.close-modal:hover:not(:disabled),.cancel-button:hover:not(:disabled){background-color:#00ff000d;border-color:#0f0;opacity:1;transform:translateY(-1px);box-shadow:0 0 8px #00ff004d}.close-modal:active:not(:disabled),.cancel-button:active:not(:disabled){transform:translateY(0)}.close-modal:disabled,.cancel-button:disabled{background-color:#0000004d;color:#0f0;border-color:#00ff001a;cursor:not-allowed;opacity:.6}.close-modal:disabled:hover,.cancel-button:disabled:hover{background-color:#0000004d;opacity:.6}.button.danger{background-color:#fc8181;color:#fff}.button.danger:hover:not(:disabled){background-color:#f56565;color:#fff}.reset-button{background-color:#e53e3e;color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;margin-top:1rem;transition:background-color .2s}.reset-button:hover{background-color:#c53030}.reset-button:active{transform:translateY(1px)}.sell-button{background-color:#c53030;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;width:100%;margin-top:.125rem;transition:background-color .2s}.sell-button:disabled{background-color:#0000004d;color:#fff;cursor:not-allowed}.settings-button-danger{background-color:#ff44441a;color:#f44;border:1px solid rgba(255,68,68,.3);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;white-space:nowrap;text-shadow:0 0 5px rgba(255,68,68,.3)}.settings-button-danger:hover{background-color:#f443;border-color:#f44;box-shadow:0 0 10px #f446}.button.success{background-color:#48bb78;color:#fff}.button.success:hover:not(:disabled){background-color:#38a169}.settings-button{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;white-space:nowrap;text-shadow:0 0 5px rgba(0,255,0,.3)}.settings-button:hover{background-color:#0f03;border-color:#0f0;box-shadow:0 0 10px #0f06}.settings-button:disabled{background-color:#0000004d;color:#0f0;border-color:#00ff001a;cursor:not-allowed;text-shadow:none}.settings-button-danger:disabled{background-color:#0000004d;color:#f44;border-color:#ff44441a;cursor:not-allowed;text-shadow:none}.settings-button-delete{background-color:#e53e3e1a;color:#e53e3e;border:1px solid rgba(229,62,62,.3);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;white-space:nowrap;text-shadow:0 0 5px rgba(229,62,62,.3)}.settings-button-delete:hover{background-color:#e53e3e33;border-color:#e53e3e;box-shadow:0 0 10px #e53e3e66}.settings-button-delete:disabled{background-color:#0000004d;color:#e53e3e;border-color:#e53e3e1a;cursor:not-allowed;text-shadow:none}.property-action-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none;color:#0f0}.withdraw-button{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s;font-size:.9rem;text-shadow:0 0 5px rgba(0,255,0,.3);width:100%;margin-top:.25rem}.withdraw-button:hover:not(:disabled){background-color:#0f03;border-color:#0f0;box-shadow:0 0 10px #0f06}.withdraw-button:disabled{background-color:#0000004d;color:#0f0;border-color:#00ff001a;cursor:not-allowed}.view-button,.edit-button{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s;font-size:.9rem;text-shadow:0 0 5px rgba(0,255,0,.3);width:100%}.view-button:hover:not(:disabled),.edit-button:hover:not(:disabled){background-color:#0f03;border-color:#0f0;box-shadow:0 0 10px #0f06}.pay-loan-btn{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s;font-size:.85rem;text-shadow:0 0 5px rgba(0,255,0,.3)}.pay-loan-btn:hover:not(:disabled){background-color:#0f03;border-color:#0f0;box-shadow:0 0 10px #0f06}button:disabled:not(.auth-button-primary):not(.google-sign-in-button):not(.github-sign-in-button):not(.apple-sign-in-button):not(.start-game-button):not(.purchase-submit-btn){opacity:.6;cursor:not-allowed;background-color:#0000004d;border-color:#00ff001a;color:inherit}button:disabled:hover:not(.auth-button-primary):not(.google-sign-in-button):not(.github-sign-in-button):not(.apple-sign-in-button):not(.start-game-button):not(.purchase-submit-btn){background-color:#0000004d;border-color:#00ff001a;color:inherit}button:disabled:active{transform:none;box-shadow:none}.disabled-message{background-color:#f56565;color:#fff;padding:.5rem;border-radius:.25rem;font-size:.875rem;margin-bottom:.5rem;text-align:center;width:100%;display:none}button:disabled~.disabled-message{display:block}.app-container{position:relative;width:100vw;height:100vh;overflow:hidden;padding-bottom:70px}.map-container{position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}.mapboxgl-canvas-container{position:absolute;width:100%;height:100%;top:0;left:0}.mapboxgl-canvas{z-index:1}.mapboxgl-marker{position:absolute;z-index:2}.mapboxgl-ctrl-group{z-index:5}.mapboxgl-popup{z-index:4}.property-header{margin-bottom:1rem}.property-header h2{font-size:1.1rem;font-weight:700;color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);margin-bottom:.25rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-price{font-size:1.25rem;font-weight:600;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3)}.property-image{width:100%;height:250px;margin-bottom:1rem;border-radius:.5rem;overflow:hidden;box-shadow:0 2px 4px #0000001a;position:relative;background-color:#475569}.property-image:before{content:"";position:absolute;inset:0;background-color:#475569;opacity:1;transition:opacity .3s ease-out}.property-image.loaded:before{opacity:0}.property-image img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .3s ease-in;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0)}.property-image.loaded img{opacity:1}.property-image.placeholder{display:flex;align-items:center;justify-content:center;background-color:#0000004d;border:2px dashed rgba(0,255,0,.15)}.property-image.placeholder:before{opacity:0}.property-image.placeholder .placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.property-image.placeholder svg{width:48px;height:48px;color:#0f06}.property-image.placeholder span{color:#0f09;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.property-details-card{width:100%;padding:1rem 0;margin:.5rem 0;display:flex;flex-direction:column;gap:.75rem}.property-detail-row{display:flex;width:100%;align-items:center}.property-detail-row-0{justify-content:space-between;margin-bottom:.25rem;align-items:flex-start}.property-detail-row-2{justify-content:space-between;font-size:.875rem;gap:1.5rem}.property-detail-address-section{display:flex;flex-direction:column;flex:1;min-width:0}.property-detail-address{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-detail-price{color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3);font-size:1rem;font-weight:600;white-space:nowrap}.property-detail-beds-baths{color:#0f0c;white-space:nowrap}.property-detail-type{color:#0f09;font-weight:500;font-size:.75rem;text-transform:capitalize;margin-top:.25rem;white-space:nowrap}.property-detail-rental{color:#00ff00b3;white-space:nowrap;text-align:right}.modal{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}#confirm-modal{z-index:2100;background-color:transparent}.modal.hidden{display:none}.modal-content{background-color:#000000d9;border:1px solid rgba(0,255,0,.3);box-shadow:0 0 20px #00ff004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column}.modal-content h2{margin:0;color:#0f0;text-shadow:0 0 10px rgba(0,255,0,.5);font-size:1.25rem;flex:1}.modal-header{padding:1.5rem;border-bottom:1px solid rgba(0,255,0,.3);position:relative;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-close-btn{position:absolute;top:50%;right:1rem;transform:translateY(-50%);width:2rem;height:2rem;border:1px solid rgba(0,255,0,.4);background-color:#0000004d;color:#0f0;border-radius:.25rem;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.modal-close-btn:hover{background-color:#00ff001a;border-color:#0f0;box-shadow:0 0 10px #0f06}.modal-body{padding:1.5rem;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}#leaderboard-modal .modal-content{max-width:95vw;width:auto;min-width:500px}#leaderboard-modal .modal-body{overflow-x:auto}.modal-footer{padding:1.5rem;border-top:1px solid rgba(0,255,0,.3);display:flex;flex-direction:column;gap:.75rem;flex-shrink:0}#confirm-modal .modal-footer{flex-direction:row;gap:.75rem}#confirm-modal .modal-footer .confirm-button,#confirm-modal .modal-footer .cancel-button{flex:1;min-width:0;margin:0}#confirm-modal .modal-footer .delete-account-button:hover{background-color:#e53e3e40!important;border-color:#e53e3e!important;box-shadow:0 0 15px #e53e3e80!important;transform:translateY(-1px)}.modal-footer:has(.property-action-btn){flex-direction:row;gap:.75rem;flex-wrap:wrap}.modal-footer:has(#settings-save-btn){flex-direction:row;gap:.75rem;flex-wrap:wrap}.modal-footer #settings-save-btn,.modal-footer #settings-sign-out,.modal-footer #settings-delete-account{flex:1;min-width:120px}.modal-footer .property-action-btn{flex:1;min-width:0}.modal-option{background-color:#00000080;padding:.75rem;border-radius:.5rem;border:1px solid rgba(0,255,0,.3);cursor:pointer;transition:all .2s}.modal-option:hover:not(.disabled){background-color:#00ff001a;border-color:#00ff0080;transform:translateY(-1px)}.modal-option.selected{background-color:#00ff0026;border-color:#0f0}.modal-option.disabled{opacity:.5;cursor:not-allowed}.modal-option h3{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:.9rem;margin-bottom:.25rem}.modal-option p{color:#0f0c;font-size:.8rem;margin-bottom:.125rem}.modal-section{margin-bottom:1.5rem}.modal-section:last-child{margin-bottom:0}.modal-section h3{margin-bottom:1rem}.modal-body p{color:#0f0c;margin-bottom:.5rem}.modal-body h3{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4)}.modal-body h4{color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3)}.modal-body .no-loans,.modal-body .no-permits{color:#00ff00b3;text-align:center;padding:2rem}.modal-body>div{margin-bottom:1rem}.modal-body>div:last-child{margin-bottom:0}.modal-options{display:grid;gap:.75rem}.permit-options,.build-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.permit-options>h3,.build-options>h3{margin-bottom:0;margin-top:0}.permit-option,.build-option{background-color:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:.5rem;padding:.75rem 1rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;-webkit-user-select:none;user-select:none}.permit-option:hover:not(.disabled),.build-option:hover:not(.disabled){background-color:#0f03;border-color:#0f0;box-shadow:0 0 12px #0f06;transform:translateY(-1px)}.permit-option:active:not(.disabled),.build-option:active:not(.disabled){transform:translateY(0);box-shadow:0 0 8px #00ff004d}.permit-option.disabled,.build-option.disabled{opacity:.4;cursor:not-allowed;background-color:#0000004d;border-color:#00ff0026;pointer-events:none}.permit-option.disabled:hover,.build-option.disabled:hover{transform:none;box-shadow:none}.permit-option h3,.build-option h3{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:.95rem;font-weight:600;margin:0;margin-bottom:.125rem;white-space:nowrap}.permit-option.disabled h3,.build-option.disabled h3{color:#0f06;text-shadow:none}.permit-option-info,.build-option-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.permit-option-cost,.build-option-cost{color:#0f0;font-size:1rem;font-weight:600;text-shadow:0 0 8px rgba(0,255,0,.4);white-space:nowrap}.permit-option.disabled .permit-option-cost,.build-option.disabled .build-option-cost{color:#0f06;text-shadow:none}.permit-option p,.build-option p{color:#0f0c;font-size:.8125rem;margin:0;line-height:1.4;white-space:nowrap}.permit-option.disabled p,.build-option.disabled p{color:#0f06}.jail-status{background-color:#00ff000d;border:1px solid rgba(0,255,0,.2);border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.jail-status h3{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:1.125rem;font-weight:600;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.jail-status h3 span{color:#0f0;font-weight:600}.jail-status h3 span.in-jail{color:#f44;text-shadow:0 0 8px rgba(255,0,0,.4)}.jail-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}.jail-status-item{background-color:#0000004d;border:1px solid rgba(0,255,0,.2);border-radius:.375rem;padding:.625rem .75rem;display:flex;flex-direction:column;gap:.25rem}.jail-status-item-label{color:#00ff00b3;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.jail-status-item-value{color:#0f0;font-size:1rem;font-weight:600;text-shadow:0 0 8px rgba(0,255,0,.4)}.jail-status-item-value.warning{color:#f44;text-shadow:0 0 8px rgba(255,0,0,.4)}.jail-actions{display:flex;flex-direction:column;gap:.75rem}.jail-action{background-color:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:.5rem;padding:.75rem 1rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;-webkit-user-select:none;user-select:none}.jail-action:hover:not(.disabled){background-color:#0f03;border-color:#0f0;box-shadow:0 0 12px #0f06;transform:translateY(-1px)}.jail-action:active:not(.disabled){transform:translateY(0);box-shadow:0 0 8px #00ff004d}.jail-action.disabled{opacity:.4;cursor:not-allowed;background-color:#0000004d;border-color:#00ff0026;pointer-events:none}.jail-action h3{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:.95rem;font-weight:600;margin:0}.jail-action.disabled h3{color:#0f06;text-shadow:none}.jail-action p{color:#0f0c;font-size:.9rem;margin:0;font-weight:600;text-shadow:0 0 6px rgba(0,255,0,.3)}.jail-action.disabled p{color:#0f06;text-shadow:none}.confirm-message{margin-bottom:1.5rem}.confirm-question{color:#00ff00e6;font-size:1rem;line-height:1.5;margin:0}.confirm-details{background-color:#00ff000d;border:1px solid rgba(0,255,0,.2);border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.confirm-detail-item{display:flex;align-items:center;padding:.625rem 0;border-bottom:1px solid rgba(0,255,0,.1)}.confirm-detail-item:last-child{border-bottom:none;padding-bottom:0}.confirm-detail-item:first-child{padding-top:0}.confirm-detail-text{color:#00ff00d9;font-size:.9rem;line-height:1.5}.confirm-warning{background-color:#ff00000d;border:1px solid rgba(255,0,0,.2);border-radius:.5rem;padding:.75rem 1rem}.confirm-warning p{color:#f44;font-size:.9rem;font-weight:600;margin:0;text-align:center}.rental-warning{background-color:#ffbb241a;border:1px solid rgba(255,187,36,.4);border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;color:#ffbb24;font-size:.9rem;line-height:1.5;box-shadow:0 0 15px #ffbb2433}.rental-warning strong{color:#ffbb24;text-shadow:0 0 8px rgba(255,187,36,.4)}.purchase-confirm-alert{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3000;pointer-events:none}.purchase-confirm-alert.hidden{display:none}.purchase-confirm-alert-content{background-color:#000000e6;border:2px solid rgba(0,255,0,.5);box-shadow:0 0 30px #0f06;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;padding:2rem;max-width:400px;width:90%;pointer-events:auto}.purchase-confirm-alert-content h3{color:#0f0;text-shadow:0 0 10px rgba(0,255,0,.5);font-size:1.5rem;margin:0 0 1rem}.purchase-confirm-alert-content p{color:#00ff00e6;font-size:1rem;margin:0 0 1.5rem;line-height:1.5}.purchase-confirm-alert-buttons{display:flex;flex-direction:row;gap:.75rem}.purchase-confirm-ok,.purchase-confirm-cancel{flex:1;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem;border:1px solid rgba(0,255,0,.3)}.purchase-confirm-ok{background-color:#00ff001a;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3)}.purchase-confirm-ok:hover{background-color:#0f03;border-color:#0f0;box-shadow:0 0 12px #0f06;transform:translateY(-1px)}.purchase-confirm-cancel{background-color:#0000004d;color:#0f0}.purchase-confirm-cancel:hover{background-color:#00ff000d;border-color:#0f0;box-shadow:0 0 8px #00ff004d}.build-confirm-ui{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:2000;background-color:#000000e6;border:2px solid rgba(0,255,0,.5);border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 20px #00ff004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:400px}.build-confirm-ui.hidden{display:none}.build-confirm-content{display:flex;flex-direction:column;gap:1.5rem}.build-confirm-instructions{color:#0f0;font-size:.9rem;line-height:1.6}.build-confirm-instructions p{margin:.5rem 0}.build-confirm-instructions strong{color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.5);font-size:1rem}.build-confirm-instructions kbd{display:inline-block;padding:.25rem .5rem;margin:0 .2rem;background-color:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:.25rem;font-family:monospace;font-size:.85rem;color:#0f0;box-shadow:0 2px 4px #0000004d}.build-confirm-buttons{display:flex;gap:1rem;justify-content:center}.build-confirm-btn{padding:.75rem 2rem;font-size:1rem;border:2px solid;border-radius:.5rem;cursor:pointer;transition:all .3s ease;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.build-confirm-btn.confirm-btn{background-color:#0f03;border-color:#0f0;color:#0f0;box-shadow:0 0 10px #00ff004d}.build-confirm-btn.confirm-btn:hover{background-color:#00ff004d;box-shadow:0 0 20px #00ff0080;transform:translateY(-2px)}.build-confirm-btn.cancel-btn{background-color:#ff00001a;border-color:#ff000080;color:#f00c}.build-confirm-btn.cancel-btn:hover{background-color:#f003;border-color:#ff0000b3;color:red;transform:translateY(-2px)}.active-loans-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,255,0,.2)}.active-loans-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.active-loans-list{display:flex;flex-direction:column;gap:.75rem}.loans-section{display:flex;flex-direction:column}.active-loan{background-color:#00ff000d;padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgba(0,255,0,.3);display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;transition:all .2s}.active-loan:last-child{margin-bottom:0}.active-loan-info{flex:1}.active-loan-info h4{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);margin-bottom:.5rem;font-size:.95rem;font-weight:600}.active-loan-info p{color:#0f0c;font-size:.8rem;margin-bottom:.2rem;line-height:1.4}.active-loan-actions{display:flex;flex-direction:column;align-items:flex-end;gap:0}.pay-loan-btn{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);padding:.5rem 1rem;border-radius:.25rem;font-weight:600;cursor:pointer;transition:background-color .2s;font-size:.875rem}.pay-loan-btn:hover{background-color:#2b6cb0}.cancel-mortgage-btn{background-color:#ff99001a;color:#f90;border:1px solid rgba(255,153,0,.3);padding:.5rem 1rem;border-radius:.25rem;font-weight:600;cursor:pointer;transition:all .2s;font-size:.875rem;margin-top:.5rem}.cancel-mortgage-btn:hover{background-color:#f903;border-color:#ff990080}.active-loan.available-mortgage{background-color:#64c8ff0d;border-color:#64c8ff4d}.active-loan.available-mortgage h4{color:#64c8ff;text-shadow:0 0 8px rgba(100,200,255,.4)}.active-loan.available-mortgage p{color:#64c8ffcc}.no-loans,.no-activities{text-align:center;padding:2rem;background:#00000080;border:2px dashed rgba(0,255,0,.3);border-radius:.5rem;margin:0}.no-loans p,.no-activities p{color:#0f0c;font-size:1rem;font-weight:500;margin:0;line-height:1.5}.loan-history-section{margin-bottom:0;padding-bottom:0;border-bottom:none}.loan-history-section h3{font-size:1.25rem;line-height:1.2;font-weight:700;color:#1a365d;margin:0 0 1rem;padding:0}.loan-history-item{background-color:#f8fafc;padding:.75rem;border-radius:.5rem;border:1px solid #e2e8f0;margin-bottom:.75rem;opacity:.8}.loan-history-item:last-child{margin-bottom:0}.loan-history-info h4{color:#4a5568;margin-bottom:.5rem;font-size:.9rem}.loan-history-info p{color:#718096;font-size:.8rem;margin-bottom:.25rem;line-height:1.4}.bank-summary-table{background-color:#00ff000d;border:1px solid rgba(0,255,0,.2);border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.bank-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.bank-summary-item{background-color:#0000004d;border:1px solid rgba(0,255,0,.2);border-radius:.375rem;padding:.625rem .75rem;display:flex;flex-direction:column;gap:.25rem}.bank-summary-item-label{color:#00ff00b3;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.bank-summary-item-value{color:#0f0;font-size:1rem;font-weight:600;text-shadow:0 0 8px rgba(0,255,0,.4)}.borrowing-options-section{margin-bottom:1.5rem}.borrowing-options{display:flex;flex-direction:column;gap:.75rem}.borrowing-option{background-color:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:.5rem;padding:.75rem 1rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;-webkit-user-select:none;user-select:none}.borrowing-option:hover:not(.disabled){background-color:#0f03;border-color:#0f0;box-shadow:0 0 12px #0f06;transform:translateY(-1px)}.borrowing-option:active:not(.disabled){transform:translateY(0);box-shadow:0 0 8px #00ff004d}.borrowing-option.disabled{opacity:.4;cursor:not-allowed;background-color:#0000004d;border-color:#00ff0026;pointer-events:none}.borrowing-option.disabled:hover{transform:none;box-shadow:none}.borrowing-option.illegal{background-color:#ff00001a;border-color:#ff00004d}.borrowing-option.illegal:hover:not(.disabled){background-color:#f003;border-color:red;box-shadow:0 0 12px #f006}.borrowing-option-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.borrowing-option h3{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:.95rem;font-weight:600;margin:0;white-space:nowrap}.borrowing-option.illegal h3{color:#f44;text-shadow:0 0 8px rgba(255,0,0,.4)}.borrowing-option.disabled h3{color:#0f06;text-shadow:none}.borrowing-option p{color:#0f0c;font-size:.8125rem;margin:0;line-height:1.4}.borrowing-option.illegal p{color:#ff6464cc}.borrowing-option.disabled p{color:#0f06}.borrowing-option-amount{color:#0f0;font-size:1rem;font-weight:600;text-shadow:0 0 8px rgba(0,255,0,.4);white-space:nowrap}.borrowing-option.disabled .borrowing-option-amount{color:#0f06;text-shadow:none}.borrowing-option.illegal .borrowing-option-amount{color:#f44;text-shadow:0 0 8px rgba(255,0,0,.4)}.withdraw-option.disabled{opacity:.4;cursor:not-allowed;background-color:#0000004d;border-color:#00ff0026;pointer-events:none}.deposit-amount-selector{padding:1rem 0}.deposit-amount-controls{display:flex;flex-direction:column}.deposit-amount-select{background-color:#00000080;color:#0f0;border:1px solid rgba(0,255,0,.3);border-radius:.5rem;padding:.75rem 2.5rem .75rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2300ff00'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem}.deposit-amount-select:hover{border-color:#0f0;box-shadow:0 0 8px #00ff004d}.deposit-amount-select:focus{outline:none;border-color:#0f0;box-shadow:0 0 12px #0f06}.deposit-amount-select option{background-color:#000;color:#0f0}.deposit-custom-input-container{display:flex;flex-direction:column}.deposit-custom-amount{background-color:#00000080;color:#0f0;border:1px solid rgba(0,255,0,.3);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;width:100%}.deposit-custom-amount:focus{outline:none;border-color:#0f0;box-shadow:0 0 12px #0f06}.deposit-custom-amount::placeholder{color:#0f06}.bottom-menu{position:fixed;bottom:0;left:0;width:100%;background-color:#000c;padding:.75rem;box-shadow:0 -2px 4px #0f03;display:flex;justify-content:space-around;align-items:center;z-index:100;font-family:"Press Start 2P",sans-serif}.menu-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;color:#0f0;cursor:pointer;transition:all .2s;min-width:60px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 3px rgba(0,255,0,.3)}.menu-item:hover{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.5)}.menu-item:hover svg{stroke:#0f0;filter:drop-shadow(0 0 5px rgba(0,255,0,.5))}.menu-item[data-action=reset]:hover{color:#0f0}.menu-item[data-action=reset]:hover svg{stroke:#0f0;filter:drop-shadow(0 0 5px rgba(0,255,0,.5))}.menu-item svg{width:24px;height:24px;margin-bottom:.25rem;stroke:#0f0;transition:all .2s}.menu-item span{font-size:.65rem;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item.active svg,.menu-item.active span{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.5)}.hidden,.game-actions,.reset-button,.tooltip{display:none}.marker{background-color:#1a365d;color:#fff;padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;border:2px solid white;box-shadow:0 0 4px #00000080;pointer-events:auto;font-size:.75rem;font-weight:600;white-space:nowrap}.marker.built-property{background-color:#48bb78;border:2px solid #2f855a;box-shadow:0 0 8px #48bb7880}.marker:hover{background-color:#2c5282;box-shadow:0 0 8px #000000b3;z-index:5}.marker.built-property:hover{background-color:#38a169;box-shadow:0 0 12px #48bb78b3}.marker:active{transform:scale(.95)}.mapboxgl-popup-content{padding:1rem;border-radius:8px;box-shadow:0 0 20px #00ff004d;background-color:#000000d9;border:1px solid rgba(0,255,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:300px}.mapboxgl-popup-content h3{font-weight:700;margin-bottom:.5rem;color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4)}.mapboxgl-popup-content p{margin:0;font-size:.875rem;color:#0f0c}.mapboxgl-popup-content p.address{color:#0f09;font-size:.75rem;margin-top:.25rem}.welcome-modal{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;pointer-events:auto}.welcome-modal.hidden{display:none!important}body.game-blocked{pointer-events:none;-webkit-user-select:none;user-select:none}body.game-blocked .map-container,body.game-blocked .game-info,body.game-blocked .bottom-menu{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.welcome-modal-content{background:linear-gradient(135deg,#1a202c,#2d3748);border-radius:12px;max-width:420px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem;position:relative;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.welcome-modal-content h2{font-family:"Press Start 2P",sans-serif;color:#4f46e5;font-size:1.5rem;margin-bottom:1rem;line-height:1.4}@media(max-width:768px){.welcome-modal-content h2{font-size:1.2rem;line-height:1.3;margin-bottom:.75rem}}@media(max-width:640px){.welcome-modal-content{border-radius:0;max-height:100vh;padding:1.5rem}}@media(max-width:480px){.welcome-modal-content h2{font-size:1rem;line-height:1.2}}.welcome-modal-content .credits{font-size:.8rem;color:#718096;margin-bottom:1rem;margin-top:1rem;text-align:left}.welcome-modal-content .credits a{color:#1a365d;text-decoration:none;font-weight:500}.welcome-modal-content .credits a:hover{text-decoration:underline}.game-description{color:#cbd5e0;font-size:1rem;margin-bottom:1rem;text-align:left}.username-input{margin-bottom:0;text-align:left}.username-input label{display:block;color:#e2e8f0;margin-bottom:.5rem;font-weight:600;line-height:1.4}.username-input input{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;font-size:1rem;transition:all .2s;height:3rem;background-color:#ffffff0d;color:#e2e8f0}.username-input input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 10px #4f46e54d}.username-input input::placeholder{color:#fff6}.auth-step{display:flex;flex-direction:column}.auth-step.hidden{display:none}.auth-content{padding:.5rem 0;flex:1}.auth-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;padding-bottom:0;margin-top:auto;margin-bottom:0}.welcome-modal-content .auth-footer{flex-direction:column;align-items:stretch;gap:.4rem;padding:1rem 0 0;margin:auto 0 0}.welcome-modal-content .auth-footer button{width:100%;margin:0;box-sizing:border-box}.welcome-modal-content .auth-footer button:not(:last-child){margin-bottom:0}.welcome-modal-content .auth-footer button:last-child{margin-bottom:0;margin-top:0}.email-input-section{margin-bottom:0;text-align:left}.email-input-section label{display:block;color:#e2e8f0;margin-bottom:.5rem;font-weight:600;line-height:1.4}.email-input-section input{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;font-size:1rem;transition:all .2s;height:3rem;background-color:#ffffff0d;color:#e2e8f0}.email-input-section input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 10px #4f46e54d}.email-input-section input::placeholder{color:#fff6}.email-sent-message{text-align:left}.email-sent-message p{margin-bottom:1rem;color:#cbd5e0;line-height:1.4}.spam-warning{background-color:#ffbb241a;border:1px solid rgba(255,187,36,.3);border-radius:.375rem;padding:.75rem;margin:1rem 0;color:#ffbb24;font-size:.875rem;text-align:center}.google-sign-in-button,.github-sign-in-button,.apple-sign-in-button,.auth-button-primary{margin:0;box-sizing:border-box;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.google-sign-in-button,.github-sign-in-button,.apple-sign-in-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background-color:#282c34;color:#fff;border:1px solid rgba(255,255,255,.1);text-decoration:none}.google-sign-in-button:hover,.github-sign-in-button:hover,.apple-sign-in-button:hover{background-color:#2f343d;border-color:#fff3;box-shadow:0 0 10px #0003}.google-sign-in-button svg,.github-sign-in-button svg,.apple-sign-in-button svg{width:20px;height:20px}.apple-sign-in-button{display:none}.auth-button-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none}.auth-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #4f46e566}.google-sign-in-button:disabled,.github-sign-in-button:disabled,.apple-sign-in-button:disabled,.auth-button-primary:disabled{opacity:.5;cursor:not-allowed;color:#fff}.auth-footer-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:.5rem}.copyright{color:#a0aec0;font-size:.75rem}.support-link{color:#a0aec0;text-decoration:none;font-size:.75rem;transition:all .2s}.support-link:hover{color:#4f46e5}.game-info{position:absolute;top:1rem;left:1rem;z-index:10;background-color:#000c;padding:.75rem;border-radius:.25rem;box-shadow:0 0 10px #0f03;display:flex;flex-direction:column;align-items:flex-start;font-family:"Press Start 2P",sans-serif;transition:all .3s ease;width:240px;box-sizing:border-box}.game-info.collapsed{padding:.5rem}.game-info.collapsed .stats{display:none}.game-info h1{font-family:"Press Start 2P",sans-serif;font-size:.7rem;font-weight:700;color:#0f0;margin-bottom:.5rem;text-align:left;line-height:1.2;text-shadow:0 0 5px rgba(0,255,0,.5);cursor:pointer;-webkit-user-select:none;user-select:none}.game-info.collapsed h1{margin-bottom:0}.stats{display:flex;flex-direction:column;gap:.25rem;width:100%}.stat-box{background-color:#0009;padding:.4rem .75rem;border-radius:.25rem;box-shadow:0 0 5px #0f03;width:100%;cursor:pointer;transition:all .2s;font-size:.7rem;color:#0f0;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(0,255,0,.2);text-shadow:0 0 3px rgba(0,255,0,.3);box-sizing:border-box;overflow:hidden;gap:.5rem;white-space:nowrap}.stat-box #money,.stat-box #owned-properties-count,.stat-box #points{flex-shrink:1;min-width:0;display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:baseline}.stat-box:hover{background-color:#00ff001a;border-color:#0f0;box-shadow:0 0 8px #0f06}a.stat-box.support-btn,a.stat-box.support-btn:link,a.stat-box.support-btn:visited{background-color:#0009;border:1px solid rgba(0,255,0,.2);color:#0f0!important;text-shadow:0 0 3px rgba(0,255,0,.3);box-shadow:0 0 5px #0f03}a.stat-box.support-btn:hover{background-color:#00ff001a;border-color:#0f0;color:#0f0!important;box-shadow:0 0 8px #0f06}.settings-section{margin-bottom:2rem}.settings-section h3{margin-bottom:1rem;border-bottom:2px solid rgba(0,255,0,.3);padding-bottom:.5rem}.settings-item{margin-bottom:1.5rem}.settings-item label{display:block;color:#0f0c;margin-bottom:.5rem;font-weight:600}.settings-value{color:#0f0;font-weight:500}.settings-input{width:100%;padding:.75rem;border:1px solid rgba(0,255,0,.3);background-color:#00000080;color:#0f0;border-radius:.5rem;font-size:1rem;transition:all .2s;box-sizing:border-box}.settings-input:focus{outline:none;border-color:#0f0;box-shadow:0 0 10px #00ff004d}.settings-input::placeholder{color:#0f06}.account-status-item{background:#0000004d;border:1px solid rgba(0,255,0,.2);border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.account-status-item label{margin-bottom:.75rem;font-size:1rem}.account-status{margin-top:.5rem;margin-bottom:1rem;min-height:1.5rem;display:flex;align-items:center;font-size:1.125rem}.status-green{color:#22c55e;font-weight:600}.settings-upgrade-button{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#00ff0026,#00ff001a);color:#0f0;border:2px solid rgba(0,255,0,.4);border-radius:.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s ease;text-shadow:0 0 8px rgba(0,255,0,.4);box-shadow:0 0 15px #0f03;margin-bottom:1.5rem}.settings-upgrade-button:hover{background:linear-gradient(135deg,#00ff0040,#00ff0026);border-color:#0f0;box-shadow:0 0 20px #0f06;transform:translateY(-2px)}.settings-upgrade-button:active{transform:translateY(0)}.settings-upgrade-button.hidden{display:none}.account-status-pro,.account-status-free{display:flex;flex-direction:column;gap:.5rem}.status-badge{display:inline-block;padding:.625rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.95rem;text-align:center;letter-spacing:.025em}.status-badge.pro{background:linear-gradient(135deg,#fbbf2440,#fbbf2426);border:1px solid rgba(251,191,36,.5);color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,.5);box-shadow:0 0 12px #fbbf2433}.status-badge.free{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#e2e8f0;text-shadow:0 0 4px rgba(255,255,255,.2)}.status-date{font-size:.85rem;color:#a0aec0;text-align:center}.status-description{font-size:.85rem;color:#a0aec0;font-style:italic;text-align:center}.status-loading{color:#718096;font-size:.9rem}.settings-checkbox{margin-right:.5rem;width:1rem;height:1rem;cursor:pointer}#settings-email-error{color:#f44;text-shadow:0 0 5px rgba(255,68,68,.5);margin-top:.5rem;font-size:.875rem}#settings-email-checking{color:#00ff00b3;margin-top:.5rem;font-size:.875rem}#settings-username-error{color:#f44;text-shadow:0 0 5px rgba(255,68,68,.5);margin-top:.5rem;font-size:.875rem}#settings-username-checking{color:#00ff00b3;margin-top:.5rem;font-size:.875rem}.leaderboard-table{width:auto;table-layout:auto;border-collapse:separate;border-spacing:0;margin:0;background-color:#2f4f4f;border-radius:.375rem;box-shadow:0 0 10px #0f03;font-size:.85rem;border:1px solid rgba(0,255,0,.3);overflow:hidden}.leaderboard-table thead{background-color:#00000080;color:#0f0;border-bottom:1px solid rgba(0,255,0,.3)}.leaderboard-table th{padding:.5rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.02em;white-space:nowrap;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3)}.leaderboard-table th:nth-child(3),.leaderboard-table th:nth-child(4),.leaderboard-table th:nth-child(5),.leaderboard-table th:nth-child(6){text-align:right}.leaderboard-table thead tr:first-child th:first-child{border-top-left-radius:.375rem}.leaderboard-table thead tr:first-child th:last-child{border-top-right-radius:.375rem}.leaderboard-table tbody tr:last-child td:first-child{border-bottom-left-radius:.375rem}.leaderboard-table tbody tr:last-child td:last-child{border-bottom-right-radius:.375rem}.leaderboard-table tbody tr{border-bottom:1px solid rgba(0,255,0,.2);transition:background-color .2s}.leaderboard-table tbody tr:last-child{border-bottom:none}.leaderboard-table tbody tr:hover{background-color:#00ff001a}.leaderboard-table td{padding:.5rem;color:#00ff00b3;white-space:nowrap;text-align:left}.leaderboard-table td:first-child{font-weight:600;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3);width:35px;text-align:left}.leaderboard-table td:nth-child(2){font-weight:500;color:#0f0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-table td:nth-child(3),.leaderboard-table td:nth-child(4),.leaderboard-table td:nth-child(5),.leaderboard-table td:nth-child(6){font-family:monospace;font-size:.85rem;padding-right:.75rem;text-align:right}.no-players-message{text-align:left;padding:1rem;color:#00ff00b3;background-color:#0000004d;border-radius:.375rem;margin:0;font-size:.85rem}.leaderboard-container{width:fit-content;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:.375rem}.active-permits-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,255,0,.2)}.active-permits-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.active-permits-section h3{margin-bottom:.75rem;margin-top:0}.active-permits-list{display:grid;gap:.75rem}.active-permit{background-color:#00000080;padding:1rem;border-radius:.5rem;border:1px solid rgba(0,255,0,.3);display:flex;justify-content:space-between;align-items:center}.active-permit-info{flex:1}.active-permit-info h4{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:.95rem;font-weight:600;margin:0;margin-bottom:.125rem}.active-permit-info p{color:#0f0c;font-size:.8125rem;margin:0;line-height:1.4}.active-permit-date{color:#00ff00b3;font-size:.875rem;margin-left:1rem}.no-permits{text-align:center;color:#0f09;padding:1rem;background-color:#0000004d;border-radius:.5rem;border:1px dashed rgba(0,255,0,.2)}.permits-section{margin-bottom:1.5rem}.permits-section h4{color:#1a365d;margin-bottom:.75rem;font-size:1rem}.switch{position:relative;display:inline-block;width:50px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:#1a365d}input:focus+.slider{box-shadow:0 0 1px #1a365d}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.music-toggle{display:flex;align-items:center}.title-fraud-button{background-color:#fc8181;color:#ccc;border:none;padding:.75rem 1.5rem;border-radius:.25rem;font-weight:600;cursor:pointer;width:100%;margin-top:.25rem;transition:all .2s;opacity:.6}.title-fraud-button:hover:not(:disabled){background-color:#f56565;color:#fff;opacity:1}.title-fraud-button:disabled{background-color:#fc8181;color:#ccc;cursor:not-allowed;opacity:.6}.title-fraud-button:disabled:hover{background-color:#fc8181;color:#ccc;opacity:.6}.title-fraud-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;font-family:Courier New,monospace;color:#ff6b6b;text-shadow:0 0 10px #ff6b6b;font-size:2rem;text-align:center;animation:neonPulse 1.5s infinite}.launder-money-button{background-color:#fc8181;color:#ccc;border:none;padding:.75rem 1.5rem;border-radius:.25rem;font-weight:600;cursor:pointer;width:100%;margin-top:.25rem;transition:all .2s;opacity:.6}.launder-money-button:hover:not(:disabled){background-color:#f56565;color:#fff;opacity:1}.launder-money-button:disabled{background-color:#fc8181;color:#ccc;cursor:not-allowed;opacity:.6}.launder-money-button:disabled:hover{background-color:#fc8181;color:#ccc;opacity:.6}.launder-money-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;font-family:Courier New,monospace;color:#4299e1;text-shadow:0 0 10px #4299e1;font-size:2rem;text-align:center;animation:neonPulse 1.5s infinite}.reputation-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000;animation:reputationFadeIn .5s ease-out}.reputation-overlay-content{display:flex;flex-direction:column;align-items:center;text-align:center;font-family:Courier New,monospace;animation:reputationPulse 2s infinite}.reputation-overlay svg{filter:drop-shadow(0 0 20px currentColor);animation:reputationIconGlow 1.5s infinite alternate}.reputation-icons-container{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px;margin-bottom:10px}.reputation-hero-icon{filter:drop-shadow(0 0 25px currentColor);animation:reputationIconGlow 1.5s infinite alternate}.hero-icon-negative{color:#ef4444}.hero-icon-positive{color:#fbbf24}.reputation-text{margin-top:20px;font-size:1.5rem;font-weight:700;color:#f3f4f6;text-shadow:0 0 15px rgba(255,255,255,.5)}.reputation-score{margin-top:10px;font-size:1.2rem;color:#d1d5db;text-shadow:0 0 10px rgba(255,255,255,.3)}.activity{background-color:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:.5rem;padding:.75rem 1rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;-webkit-user-select:none;user-select:none}.activity:last-child{margin-bottom:0}.activity.illegal{background-color:#ff00001a;border-color:#ff00004d}.activity-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.activity h3{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:.95rem;font-weight:600;margin:0;white-space:nowrap}.activity.illegal h3{color:#f44;text-shadow:0 0 8px rgba(255,0,0,.4)}.activity p{color:#0f0c;font-size:.8125rem;margin:0;line-height:1.4}.activity.illegal p{color:#ff6464cc}.activity-amount{color:#0f0;font-size:1rem;font-weight:600;text-shadow:0 0 8px rgba(0,255,0,.4);white-space:nowrap}.activity.illegal .activity-amount{color:#f44;text-shadow:0 0 8px rgba(255,0,0,.4)}.activity-date{color:#0f09;font-size:.75rem;white-space:nowrap}.activity.illegal .activity-date{color:#ff646499}.activities-section{margin-bottom:1.5rem;padding-bottom:0;border-bottom:none}.activities-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.activities-section.compact{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.activities-section.compact h3{font-size:1rem;margin-bottom:.5rem;color:#4a5568}.withdraw-button{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);padding:.75rem 1.5rem;border-radius:.25rem;font-weight:600;cursor:pointer;width:100%;margin-top:1rem;transition:all .2s;text-shadow:0 0 5px rgba(0,255,0,.3)}.withdraw-button:hover{background-color:#0f03;border-color:#0f0;box-shadow:0 0 10px #0f06}.withdraw-button:disabled{background-color:#0000004d;color:#00ff004d;border-color:#00ff001a;cursor:not-allowed;text-shadow:none}.withdraw-button:disabled:hover{background-color:#0000004d}.sell-button{background-color:#c53030;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.25rem;font-weight:600;cursor:pointer;width:100%;margin-top:.125rem;transition:background-color .2s}.sell-button:hover{background-color:#9b2c2c}.sell-button:disabled{background-color:#cbd5e0;cursor:not-allowed}.property-actions{display:none}.property-action-btn{width:100%;padding:.75rem;border-radius:.5rem;font-weight:600;cursor:pointer;border:1px solid rgba(0,255,0,.3);transition:all .2s;font-size:.9rem;background-color:#00ff001a;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3)}.property-action-btn:hover:not(.disabled){background-color:#0f03;border-color:#0f0;box-shadow:0 0 10px #0f06}.property-action-btn[data-action=title-fraud],.property-action-btn[data-action=launder]{background-color:#ff44441a;color:#f44;border-color:#ff44444d;text-shadow:0 0 5px rgba(255,68,68,.3)}.property-action-btn[data-action=title-fraud]:hover:not(.disabled),.property-action-btn[data-action=launder]:hover:not(.disabled){background-color:#f443;border-color:#f44;box-shadow:0 0 10px #f446}.property-action-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.down-payment-input{width:60px;padding:.25rem .5rem;border:1px solid rgba(0,255,0,.3);border-radius:.25rem;background-color:#00000080;color:#0f0;font-size:.85rem;text-align:right;margin-right:.25rem}.down-payment-input:focus{outline:none;border-color:#0f0;box-shadow:0 0 5px #00ff004d}.rental-status{color:#1a365d;font-weight:500;margin-top:.25rem;padding:.25rem .5rem;border-radius:.25rem;display:inline-block}#jail-status-box{display:flex;align-items:center;gap:.5rem}#jail-status-box.in-jail{background-color:#feb2b2;color:#c53030}#jail-status-box.in-jail:hover{background-color:#fc8181}.jail-time{font-size:.875rem;opacity:.8}.owned-properties-list{display:grid;gap:1rem;margin-bottom:1rem}.owned-property{background-color:#00000080;padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgba(0,255,0,.3);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.5rem}.owned-property:hover{background-color:#00ff000d;transform:translateY(-2px);box-shadow:0 0 15px #0f03;border-color:#0f09}.owned-property:active{transform:translateY(0)}.owned-property-row{display:flex;width:100%;align-items:center;gap:1rem}.owned-property-row-1{justify-content:space-between}.owned-property-row-2{justify-content:space-between;font-size:.875rem}.owned-property-address{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:1rem;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owned-property-price{color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3);font-size:1rem;font-weight:600;white-space:nowrap}.owned-property-beds-baths{color:#0f0c;white-space:nowrap}.owned-property-type{color:#0f09;font-weight:500;text-transform:capitalize;flex:1;text-align:center;white-space:nowrap}.owned-property-rental{color:#00ff00b3;white-space:nowrap;text-align:right}.empty-properties-message{text-align:center;padding:2rem 1rem;color:#00ff00b3}.empty-properties-message p{margin:.5rem 0;font-size:1rem;line-height:1.6}.empty-properties-message p:first-child{font-size:1.1rem;font-weight:600;color:#00ff00e6;text-shadow:0 0 8px rgba(0,255,0,.3)}.player-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:.5rem}.stats-section{background-color:#0000004d;border-radius:.5rem;padding:.75rem;border:1px solid rgba(0,255,0,.3)}.stats-section h3{font-size:.9rem;font-weight:600;color:#0f0;text-shadow:0 0 10px rgba(0,255,0,.5);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.stat-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;padding:.3rem 0;border-bottom:1px solid rgba(0,255,0,.2)}.stat-item:last-child{border-bottom:none;margin-bottom:0}.stat-label{font-weight:500;color:#00ff00b3;font-size:.85rem}.stat-value{font-weight:600;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3);font-size:.85rem;text-align:right}#stats-tds-status{font-weight:700;padding:.25rem .5rem;border-radius:.25rem}#stats-tds-status:contains("Healthy"){color:#0f0;background-color:#00ff001a;text-shadow:0 0 5px rgba(0,255,0,.5)}#property-selection-menu{max-width:400px;min-width:300px;background-color:#000000d9;border:1px solid rgba(0,255,0,.3);box-shadow:0 0 20px #00ff004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;z-index:1000;position:fixed;max-height:80vh;overflow-y:auto;padding:1rem}#property-selection-menu hr{margin:.75rem 0;border:none;border-top:1px solid rgba(0,255,0,.2)}.property-menu-title{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:1rem;font-weight:600;margin-bottom:.5rem;padding:0 .25rem}.property-menu-item{padding:.75rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-radius:.375rem;transition:all .2s ease;margin-bottom:.25rem}.property-menu-item:hover{background-color:#00ff001a;border-color:#00ff0080;transform:translateY(-1px)}.property-menu-item:active{background-color:#00ff0026;transform:translateY(0)}.property-menu-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.property-menu-address{color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3);font-size:.875rem;font-weight:500}.property-menu-price{color:#0f0c;font-size:.8125rem}.property-menu-badge{background-color:#00ff0026;border:1px solid rgba(0,255,0,.3);color:#0f0;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;margin-left:.75rem;text-shadow:0 0 5px rgba(0,255,0,.3)}.building-info{position:absolute;bottom:1rem;right:1rem;z-index:1001;background-color:#fffffff2;border-radius:.5rem;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;max-width:24rem;width:calc(100% - 2rem);display:flex;flex-direction:column;max-height:calc(100vh - 2rem);overflow:hidden;transition:opacity .3s ease,transform .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)}.building-info.hidden{display:none;opacity:0;transform:translateY(20px)}.building-info:not(.hidden){opacity:1;transform:translateY(0)}.building-info-content{padding:1rem;overflow-y:auto}.building-header{margin-bottom:1rem}.building-header h2{font-size:1.1rem;font-weight:700;color:#1a365d;margin-bottom:.25rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.building-type{font-size:1rem;color:#4a5568;text-transform:capitalize}.building-stats{background-color:#f7fafc;border-radius:.5rem;padding:1rem;margin-bottom:1rem}.building-stats .stat{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(0,255,0,.2)}.building-stats .stat:last-child{border-bottom:none}.building-stats .label{font-weight:600;color:#4a5568;font-size:.85rem}.building-stats span:last-child{color:#2d3748;font-size:.85rem}.building-actions{display:flex;gap:.5rem}.view-button,.edit-button{flex:1;padding:.75rem;border-radius:.25rem;font-weight:600;cursor:pointer;transition:background-color .2s;border:none}.view-button{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);text-shadow:0 0 5px rgba(0,255,0,.3)}.view-button:hover{background-color:#0f03;border-color:#0f0;box-shadow:0 0 10px #0f06}.edit-button{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3);text-shadow:0 0 5px rgba(0,255,0,.3)}.edit-button:hover{background-color:#0f03;border-color:#0f0;box-shadow:0 0 10px #0f06}.edit-button:not(.view-button){background-color:#00ff001a;color:#fff}.edit-button:not(.view-button):hover:not(:disabled){background-color:#38a169;opacity:1}.mapboxgl-canvas-container.build-mode,.mapboxgl-canvas-container.build-mode .mapboxgl-canvas,.mapboxgl-canvas-container.build-mode .mapboxgl-marker{cursor:crosshair}.property-info-content{overflow-y:auto}.property-info-footer{padding:1.5rem;border-top:1px solid rgba(0,255,0,.3);display:flex;flex-direction:column;gap:.5rem;background-color:#000000d9}.purchase-layout{display:flex;gap:1rem;margin-bottom:1.5rem}.purchase-image{width:200px;height:150px;flex-shrink:0;border-radius:.5rem;overflow:hidden;box-shadow:0 2px 4px #0000001a;position:relative;background-color:#475569}.purchase-image:before{content:"";position:absolute;inset:0;background-color:#475569;opacity:1;transition:opacity .3s ease-out}.purchase-image.loaded:before{opacity:0}.purchase-image img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease-in}.purchase-image.loaded img{opacity:1}.purchase-details{flex:1;min-width:0}.purchase-details .property-header{margin-bottom:1rem}.purchase-details .property-header h2{font-size:1.1rem;font-weight:700;color:#1a365d;margin-bottom:.25rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-details .property-price{font-size:1.25rem;font-weight:600;color:#2c5282}.purchase-options{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.purchase-option{display:flex;flex-direction:column;padding:.75rem;border:1px solid rgba(0,255,0,.3);border-radius:.25rem;transition:all .2s ease;height:100%;cursor:pointer;background-color:#00000080}.purchase-option:hover:not(.disabled){border-color:#00ff0080;background-color:#00ff001a;box-shadow:0 0 10px #0f03}.purchase-option.disabled{opacity:.5;cursor:not-allowed;background-color:#0000004d}.purchase-option.selected{border-color:#0f0;background-color:#00ff0026;box-shadow:0 0 15px #00ff004d}.purchase-option.selected h3{color:#0f0;text-shadow:0 0 10px rgba(0,255,0,.5)}.purchase-option.selected .highlight{color:#0f0}.purchase-option h3{font-size:.9rem;font-weight:600;margin-bottom:.3rem;color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4)}.purchase-option p{font-size:.8rem;color:#0f0c;margin-bottom:0}.purchase-option .highlight{font-weight:600;color:#0f0}.down-payment-controls{margin:.5rem 0 0;background-color:#0000004d;border-radius:.5rem}.down-payment-controls label{display:block;font-size:.8rem;font-weight:600;color:#0f0c;margin-bottom:.25rem}.down-payment-controls input[type=range]{width:100%;height:6px;border-radius:3px;background:#0f03;outline:none;-webkit-appearance:none;appearance:none;margin-bottom:.5rem}.down-payment-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#0f0;cursor:pointer;border:2px solid rgba(0,0,0,.5);box-shadow:0 0 8px #0f06;transition:all .2s}.down-payment-controls input[type=range]::-webkit-slider-thumb:hover{background:#0f0;box-shadow:0 0 12px #0f09}.down-payment-controls input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#0f0;cursor:pointer;border:2px solid rgba(0,0,0,.5);box-shadow:0 0 8px #0f06;transition:all .2s}.down-payment-controls input[type=range]::-moz-range-thumb:hover{background:#0f0;box-shadow:0 0 12px #0f09}#down-payment-value{font-weight:700;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.3);font-size:1.1rem}#down-payment-percent{font-size:.85rem;color:#00ff00b3;margin-left:.5rem}.purchase-calculations{width:100%;table-layout:fixed;border-collapse:collapse;margin:0;background-color:#2f4f4f;border:1px solid rgba(0,255,0,.3);border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #00ff001a}.purchase-calculations thead{background-color:#00000080;border-bottom:1px solid rgba(0,255,0,.3)}.purchase-calculations th{padding:.6rem 1rem;font-weight:600;color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.4);font-size:.85rem}.purchase-calculations th:first-child{width:65%;text-align:left}.purchase-calculations th:last-child{width:35%;text-align:right}.purchase-calculations td{padding:.6rem 1rem;color:#0f0c;font-size:.85rem;border-bottom:1px solid rgba(0,255,0,.2)}.purchase-calculations td:first-child{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.purchase-calculations td:last-child{text-align:right}.purchase-calculations tr:last-child td{border-bottom:none;font-weight:600;color:#0f0}.purchase-calculations tr.highlight td{background-color:#00ff001a;color:#0f0}.purchase-calculations tr.highlight:hover td{background-color:#00ff0026}.purchase-option .warning{color:#f44;text-shadow:0 0 5px rgba(255,68,68,.5);font-size:.8rem;font-weight:500;margin-top:.5rem}.purchase-modal{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.purchase-modal.hidden{display:none}.purchase-modal-content{background:linear-gradient(135deg,#1a202c,#2d3748);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1)}.purchase-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#e2e8f0;font-size:2rem;cursor:pointer;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s;z-index:1}.purchase-modal-close:hover{background-color:#ffffff1a}.purchase-modal-header{padding:2rem 2rem 1.5rem;text-align:center}.purchase-modal-header h2{color:#4f46e5;font-size:2rem;margin:0 0 .5rem;font-weight:700}.purchase-modal-subtitle{color:#cbd5e0;font-size:1rem;margin:0}.purchase-modal-benefits{padding:0 2rem 1.5rem}.benefit-item{display:flex;gap:1rem;margin-bottom:1.5rem}.benefit-icon{font-size:2.5rem;flex-shrink:0;color:#cbd5e0;display:flex;align-items:center;justify-content:center}.benefit-content h3{color:#e2e8f0;font-size:1.25rem;margin:0 0 .5rem;font-weight:600}.benefit-content p{color:#a0aec0;font-size:.9rem;margin:.25rem 0}.benefit-example{color:#718096!important;font-size:.85rem!important;font-style:italic}.benefit-divider{height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);margin:1.5rem 0}.benefit-highlight{background:linear-gradient(135deg,#4f46e51a,#4f46e50d);border:1px solid rgba(79,70,229,.3);border-radius:8px;padding:1rem;text-align:center;margin-top:1rem}.benefit-highlight strong{color:#4f46e5;font-size:1.1rem}.purchase-modal-payment{padding:1.5rem 2rem 2rem;border-top:1px solid rgba(255,255,255,.1)}#card-element-container{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;margin-bottom:1rem}#card-element{color:#e2e8f0}.purchase-error{color:#f56565;font-size:.875rem;margin-bottom:1rem;padding:.5rem;background:#f565651a;border-radius:4px;border:1px solid rgba(245,101,101,.3)}.purchase-error.hidden{display:none}.purchase-submit-btn{width:100%;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s;position:relative;min-height:3rem}.purchase-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #4f46e54d}.purchase-submit-btn:disabled{opacity:.6;cursor:not-allowed;color:#fff}.purchase-btn-text,.purchase-btn-loader{display:inline-block}.purchase-btn-text.hidden,.purchase-btn-loader.hidden{display:none}.purchase-trust-badges{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem;flex-wrap:wrap}.trust-badge{color:#718096;font-size:.85rem}.purchase-accepted-payments{margin-top:1rem;display:flex;justify-content:center;align-items:center}@media(max-width:640px){.purchase-modal-content{border-radius:0;max-height:100vh}.purchase-modal-header,.purchase-modal-benefits,.purchase-modal-payment{padding:1.5rem 1rem}.purchase-modal-header h2{font-size:1.5rem}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slideDown{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes slideUp{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-100%);opacity:0}}@keyframes neonPulse{0%{text-shadow:0 0 10px #ff6b6b}50%{text-shadow:0 0 20px #ff6b6b,0 0 30px #ff6b6b}to{text-shadow:0 0 10px #ff6b6b}}@keyframes reputationFadeIn{0%{opacity:0}to{opacity:1}}@keyframes reputationPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes reputationIconGlow{0%{filter:drop-shadow(0 0 20px currentColor)}to{filter:drop-shadow(0 0 30px currentColor) brightness(1.2)}}.overlay-notification{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);z-index:99999;animation:slideDown .4s cubic-bezier(.16,1,.3,1);max-width:90vw;width:auto}.overlay-notification.removing{animation:slideUp .3s cubic-bezier(.4,0,1,1)}.overlay-notification .notification-content{background-color:#000000f2;border:2px solid rgba(0,255,0,.5);color:#0f0;padding:1rem 1.5rem;border-radius:.5rem;box-shadow:0 0 30px #00ff004d,0 8px 20px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:1rem;min-width:320px;max-width:600px}.overlay-notification.error .notification-content{border-color:#ff6b6b80;box-shadow:0 0 30px #ff6b6b4d,0 8px 20px #00000080;color:#ff6b6b}.overlay-notification.warning .notification-content{border-color:#ed893680;box-shadow:0 0 30px #ed89364d,0 8px 20px #00000080;color:#ed8936}.overlay-notification.success .notification-content{border-color:#48bb7880;box-shadow:0 0 30px #48bb784d,0 8px 20px #00000080;color:#48bb78}.overlay-notification .notification-icon{width:1.5rem;height:1.5rem;flex-shrink:0}.overlay-notification .notification-message{flex:1;font-size:.9375rem;line-height:1.5;text-shadow:0 0 10px currentColor}.overlay-notification .notification-close{width:1.5rem;height:1.5rem;flex-shrink:0;background:none;border:none;color:currentColor;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s}.overlay-notification .notification-close:hover{opacity:1;transform:scale(1.1)}.overlay-notification .notification-close svg{width:100%;height:100%}.notification{background-color:#f56565;color:#fff;padding:.75rem;border-radius:.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.notification.success{background-color:#48bb78}.notification.warning{background-color:#ed8936}.notification svg{width:1.25rem;height:1.25rem;flex-shrink:0}.build-mode-cursor{position:absolute;width:25px;height:25px;background-color:#00ff001a;border:2px solid rgba(0,255,0,.5);border-radius:4px;pointer-events:none;z-index:1000;transform-origin:center;transition:all .1s ease}.build-mode-cursor.valid{background-color:#00ff001a;border-color:#00ff0080}.build-mode-cursor.invalid{background-color:#ff00001a;border-color:#ff000080}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.content-loader{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(34,197,94,.3);border-top-color:#22c55e;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){html,body{height:100%;overflow:hidden;position:fixed;width:100%;-webkit-overflow-scrolling:none}.app-container{overflow:hidden;padding-bottom:70px;-webkit-overflow-scrolling:none}.map-container{position:fixed;width:100%;height:100%;top:0;left:0;overflow:hidden;-webkit-overflow-scrolling:none}.game-info{top:.5rem;left:.5rem;padding:.5rem;width:200px}.game-info h1{font-size:.6rem;margin-bottom:.25rem}.stat-box{padding:.25rem .5rem;width:100%;font-size:.8rem}.modal{align-items:flex-start;padding:0}.modal-content{max-height:100dvh;height:100dvh;border-radius:0;max-width:100%;margin:0;display:flex;flex-direction:column}.modal-header,.modal-body,.modal-footer{padding:1rem}.modal-header{flex-shrink:0}.modal-body{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.modal-footer{flex-shrink:0}#leaderboard-modal .modal-content{max-width:100%;width:100%;min-width:0;height:100dvh}#leaderboard-modal .modal-body{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem}.leaderboard-container{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.leaderboard-table{min-width:100%;font-size:.75rem}.leaderboard-table th,.leaderboard-table td{padding:.4rem .3rem}.modal-footer:has(.property-action-btn){display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.modal-footer .property-action-btn{width:100%;flex:none;min-width:0;padding:.75rem .5rem;font-size:.8rem}#confirm-modal .modal-footer{flex-direction:column;gap:.5rem}#confirm-modal .modal-footer .confirm-button,#confirm-modal .modal-footer .cancel-button{width:100%;flex:none;margin:0;padding:.75rem;font-size:.85rem}.purchase-confirm-alert{inset:0;transform:none;display:flex;align-items:center;justify-content:center;padding:1rem}.purchase-confirm-alert-content{max-width:100%;width:100%;padding:1.5rem 1rem;border-radius:0;margin:0}.purchase-confirm-alert-content h3{font-size:1.25rem}.purchase-confirm-alert-content p{font-size:.9rem;margin:0 0 1rem}.purchase-confirm-alert-buttons{flex-direction:column;gap:.5rem}.purchase-confirm-ok,.purchase-confirm-cancel{width:100%;flex:none;padding:.75rem;font-size:.85rem}.modal-option{padding:.75rem}.modal-option h3{font-size:1rem}.modal-option p{font-size:.875rem}.bottom-menu{height:70px}.menu-item{padding:.75rem .5rem}.menu-item svg{width:28px;height:28px;margin-bottom:.25rem}.menu-item span{font-size:.75rem}.active-loans-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,255,0,.2)}.loans-section{margin-bottom:2rem;padding-bottom:0;border-bottom:none}.active-loan{flex-direction:column;gap:.75rem}.active-loan-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.pay-loan-btn{padding:.375rem .75rem;font-size:.75rem}.debt-summary{padding:.75rem}.debt-summary h3{font-size:.875rem}.debt-summary .deposit-amount p{font-size:.75rem}.bank-summary-grid{grid-template-columns:1fr}.deposit-info,.debt-summary{margin-bottom:1rem;background-color:#00000080}.activity{background-color:#f7fafc;padding:.5rem;border-radius:.25rem;border:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.activities-section{margin-bottom:2rem;padding-bottom:0;border-bottom:none}.loan-history-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,255,0,.2)}.loan-history-section h3{font-size:1.25rem;line-height:1.2;font-weight:700;color:#1a365d;margin:0 0 1rem;padding:0}.no-players-message{padding:1.5rem;font-size:.875rem}.menu-item{padding:.5rem .25rem}.menu-item svg{width:20px;height:20px;margin-bottom:.2rem}.menu-item span{font-size:.55rem;line-height:1.2}.stat-box{padding:.25rem .5rem;width:100%;font-size:.65rem}.game-info h1{font-size:.55rem;margin-bottom:.25rem}.bottom-menu{height:60px;padding:.5rem}.leaderboard-table{font-size:.8rem}.leaderboard-table th,.leaderboard-table td{padding:.4rem .5rem}.leaderboard-table td:first-child{width:30px}.leaderboard-table td:nth-child(2){max-width:120px}.leaderboard-table th{font-size:.7rem}.purchase-options{grid-template-columns:1fr;gap:.5rem}.purchase-option{padding:.75rem}.property-actions{grid-template-columns:1fr 1fr}#property-selection-menu{max-width:90vw;min-width:auto;left:5vw!important;right:5vw!important;top:50%!important;transform:translateY(-50%)}.player-stats-grid{grid-template-columns:1fr;gap:.5rem}.stats-section{padding:.75rem}.stat-item{flex-direction:column;align-items:flex-start;gap:.25rem}.stat-value{text-align:left}}@media(max-width:360px){.menu-item svg{width:18px;height:18px}.menu-item span{font-size:.5rem}.stat-box{width:100%;font-size:.6rem}.game-info{width:180px}}@media(max-width:640px){.leaderboard-table{font-size:.8rem}.leaderboard-table th,.leaderboard-table td{padding:.4rem .5rem}.leaderboard-table td:first-child{width:30px}.leaderboard-table td:nth-child(2){max-width:120px}.leaderboard-table th{font-size:.7rem}.bank-summary-grid{grid-template-columns:1fr}.deposit-info,.debt-summary{margin-bottom:1rem;background-color:#00000080}.overlay-notification{top:.5rem;left:50%;transform:translate(-50%);max-width:100vw;width:calc(100vw - 1rem)}.overlay-notification .notification-content{padding:.75rem 1rem;min-width:auto;font-size:.875rem}.overlay-notification .notification-icon,.overlay-notification .notification-close{width:1.25rem;height:1.25rem}.overlay-notification .notification-message{font-size:.875rem}.build-confirm-ui{bottom:1rem;left:.5rem;right:.5rem;transform:none;min-width:auto;width:auto;max-width:none;padding:1rem}.build-confirm-content{gap:1rem}.build-confirm-instructions{font-size:.8rem}.build-confirm-instructions strong{font-size:.9rem}.build-confirm-instructions kbd{padding:.2rem .4rem;margin:0 .15rem;font-size:.75rem}.build-confirm-buttons{flex-direction:column;gap:.75rem}.build-confirm-btn{padding:.75rem 1rem;font-size:.9rem;width:100%}}
