body{background-color:#f0f2f5;font-family:"Helvetica Neue",Arial,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;margin:0;padding:40px 20px;box-sizing:border-box}.brand-header{text-align:center;margin-bottom:20px}.monopoly-badge{display:inline-block;background-color:#e31b23;color:#fff;padding:10px 30px;border:4px solid #000;border-radius:4px;transform:rotate(-2deg);box-shadow:6px 6px 0 rgba(0,0,0,.1)}.monopoly-badge h1,.monopoly-badge h2{font-weight:900;font-style:italic;margin:0;text-shadow:2px 2px #000}.main-card{width:100%;max-width:400px;background:#fff;border-radius:15px;border:2px solid #000;box-shadow:0 10px 0 rgba(0,0,0,.05);padding:2rem}.form-control{border:2px solid #ced4da}.form-control:focus{border-color:#e31b23;box-shadow:none}.terms-box{border-left:5px solid #00a650;background-color:#f9f9f9;padding:15px;border-radius:0 8px 8px 0}.alert-custom{background-color:#fff5f5;border:1px solid #feb2b2;color:#c53030;border-radius:8px}.monopoly-badge-sm{display:inline-block;background-color:#e31b23;color:#fff;padding:5px 20px;border:3px solid #000;border-radius:4px;transform:rotate(-2deg);box-shadow:4px 4px 0 rgba(0,0,0,.1)}.monopoly-badge-sm h2{font-weight:900;font-style:italic;margin:0;font-size:1.5rem;text-shadow:1px 1px #000}.login-content{width:100%;max-width:400px;margin:auto;background:#fff;border-radius:15px;border:2px solid #000;box-shadow:0 10px 0 rgba(0,0,0,.05)}.card-login{width:100%;max-width:400px;margin:auto;border-radius:12px;border:none;box-shadow:0 4px 12px rgba(0,0,0,.1)}.usage-grid{display:grid;grid-template-columns:30px 70px 1fr;align-items:start;margin-bottom:1rem}.card-signup{width:100%;max-width:450px;margin:auto;border-radius:12px}.modal-content{position:relative}.new-item-anim{overflow:hidden;animation:slide-down-fade .5s ease-out forwards}@keyframes slide-down-fade{0%{max-height:0;opacity:0;padding-top:0;padding-bottom:0}100%{max-height:100px;opacity:1}}.remove-item-anim{overflow:hidden;animation:slide-up-hide .5s ease-out forwards}@keyframes slide-up-hide{0%{max-height:100px;opacity:1;padding-top:initial;padding-bottom:initial}100%{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border:none}}.modal.slide-up-exit.hide{display:block!important}.modal.slide-up-exit.hide .modal-dialog{animation:slide-up-out .5s ease-in forwards}@keyframes slide-up-out{0%{transform:translateY(0);opacity:1}100%{transform:translateY(-100vh);opacity:0}}.loader{border:6px solid rgba(255,255,255,.3);border-top:6px solid #3498db;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite;display:inline-block;margin-bottom:15px}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}#spinner-loading{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);text-shadow:1px 1px 2px rgba(0,0,0,.7);border-radius:calc(.5rem - 1px);z-index:1000;display:none;flex-direction:column;justify-content:center;align-items:center;flex-direction:column;border-radius:5px}.error-text-container{display:none;color:#dc3545;font-size:.875rem;margin-top:4px;padding:0 5px}.lobby-choice-card{transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;border:2px solid #000;border-radius:12px}.lobby-choice-card:hover{transform:translateY(-5px);box-shadow:0 15px 0 rgba(0,0,0,.05)}.border-host{border-top:8px solid #e31b23!important}.border-guest{border-top:8px solid #00a650!important}.room-key-input{letter-spacing:.5rem;text-align:center;font-weight:700;font-size:1.5rem;text-transform:uppercase}.lobby-container{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:800px}@media (min-width:768px){.lobby-container{flex-direction:row;justify-content:center;align-items:stretch}}.main-card.lobby-choice-card{width:100%;max-width:380px;margin:0}.active-rooms-section{width:100%;max-width:400px;margin-top:2rem}.room-list-item{background:#fff;border:2px solid #000;border-radius:10px;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;transition:background-color .2s;text-decoration:none;color:inherit}.room-list-item:hover{background-color:#f8f9fa;color:#e31b23}.room-id-badge{background:#eee;padding:2px 8px;border-radius:4px;font-family:monospace;font-weight:700}.room-actions{display:flex;gap:10px;align-items:center}.btn-delete-room{background:0 0;border:1px solid #dee2e6;color:#dc3545;padding:2px 8px;border-radius:4px;font-size:.75rem;transition:all .2s;text-decoration:none}.btn-delete-room:hover{background-color:#dc3545;color:#fff;border-color:#dc3545}.resume-link{font-weight:700;color:#0d6efd;text-decoration:none}.empty-state{background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:30px 20px;text-align:center;color:#6c757d}.empty-state .icon,.empty-state i{font-size:2rem;display:block;margin-bottom:10px;opacity:.5}.room-input-group{display:flex;flex-direction:column;gap:10px}.room-input-field{text-align:center;font-weight:700;font-size:1.2rem;letter-spacing:.2rem;border:2px solid #ced4da;border-radius:8px;padding:8px}.room-input-field:focus{border-color:#00a650;box-shadow:none;outline:0}.room-header-flex{display:flex;justify-content:space-between;align-items:flex-start}.room-title-area{display:flex;flex-direction:column;gap:4px}.password-display-box{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:10px;margin:12px 0;text-align:center}.password-label{font-size:.65rem;font-weight:700;color:#6c757d;text-transform:uppercase;display:block;margin-bottom:2px}.password-value{font-size:1.2rem;font-weight:900;color:#0d6efd;letter-spacing:2px}.invite-info-row{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:10px 15px;margin:12px 0;display:flex;justify-content:space-around;align-items:center}.invite-divider{width:1px;height:24px;background-color:#dee2e6}.invite-item{text-align:center}.invite-label{font-size:.65rem;font-weight:700;color:#6c757d;display:block;margin-bottom:2px}.invite-value{font-size:1.1rem;font-weight:900;letter-spacing:1px}.text-id{color:#212529}.text-pass{color:#0d6efd}.link-forgot-password{font-size:.75rem;text-decoration:none;color:#6c757d}.link-forgot-password:hover{color:#0d6efd;text-decoration:underline}.tos-container{max-height:400px;overflow-y:auto;background-color:#f8f9fa;padding:20px;border:1px solid #dee2e6;border-radius:8px;font-size:.85rem;line-height:1.6;margin-bottom:20px}.tos-section-title{font-size:1rem;font-weight:700;margin-top:1.5rem;margin-bottom:.5rem;border-left:4px solid #0d6efd;padding-left:10px}.policy-content{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;padding:25px;margin-bottom:20px;font-size:.9rem;color:#333}.policy-list{padding-left:1.2rem;margin-bottom:1rem}.policy-list li{margin-bottom:.5rem}.policy-update-date{text-align:right;font-size:.8rem;color:#6c757d;margin-top:20px}@media (max-width:575.98px){.card-header .col-12{margin-top:4px;padding-top:4px;border-top:1px dashed rgba(0,0,0,.05)}}.bank-logo-container{text-align:center;padding:40px 0}.monopoly-badge{display:inline-block;background-color:#e31b23;color:#fff;padding:10px 40px;border:4px solid #000;border-radius:4px;transform:rotate(-2deg);box-shadow:8px 8px 0 rgba(0,0,0,.1)}.monopoly-badge h1{font-weight:900;font-style:italic;margin:0;letter-spacing:-1px;font-size:3rem;text-shadow:2px 2px #000}.bank-text{display:block;font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:4px;color:#000;margin-top:5px}.main-content{max-width:600px;margin:0 auto;background:#fff;border-radius:15px;border:2px solid #000;box-shadow:0 10px 0 rgba(0,0,0,.05)}.feature-box{border-left:5px solid #00a650;background-color:#f9f9f9}.usage-grid{display:grid;grid-template-columns:30px 50px 1fr;align-items:start;margin-bottom:1rem}.grid-icon{grid-column:1}.grid-label{grid-column:2;white-space:nowrap}.grid-text{grid-column:3}