@import"https://fonts.googleapis.com/css2?family=Unbounded:wght@400;600;700;900&family=Inter:wght@400;500;600;700;800&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-dark: #1A1714;--bg-card: #22201C;--bg-panel: #1E1C18;--bg-hover: #2A2822;--border: #3A3630;--border-light: #4A4640;--text-primary: #F5F0E8;--text-secondary: #A09880;--text-muted: #6B6358;--gold: #D4A839;--gold-light: #F0C84A;--gold-dark: #A07820;--red: #D94040;--green-accent: #4CAF80;--blue-accent: #4A7FC1;--c-brown: #8B5A2B;--c-lightblue: #5AB4CC;--c-pink: #D94080;--c-orange: #E07830;--c-red: #D93030;--c-yellow: #D4B030;--c-green: #3A9A5C;--c-darkblue: #2A5FA0;--c-transport: #5A5A5A;--c-utility: #7A6A9A}html,body{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased}#root{height:100%;display:flex;flex-direction:column}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.game-header{background:var(--bg-panel);border-bottom:1px solid var(--border);padding:0 1.5rem;height:52px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;z-index:10}.game-title{font-family:Unbounded,sans-serif;font-size:.85rem;font-weight:700;color:var(--gold);letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.header-badge{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;background:#d4a83926;color:var(--gold);border:1px solid rgba(212,168,57,.3);padding:2px 8px;border-radius:20px;letter-spacing:.05em}.header-actions{display:flex;gap:.5rem}.btn-icon{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.app-layout{display:flex;flex:1;overflow:hidden;min-height:0}.sidebar-left{width:220px;min-width:220px;background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.sidebar-right{width:240px;min-width:240px;background:var(--bg-panel);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.board-area{flex:1;display:flex;justify-content:center;align-items:center;padding:1rem;overflow:hidden;background:radial-gradient(ellipse at center,#252018 0%,var(--bg-dark) 70%);min-width:0}.sidebar-section{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.sidebar-label{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem}.players-list{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;flex:1}.player-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;display:flex;align-items:center;gap:.6rem;transition:all .2s;position:relative;overflow:hidden}.player-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:8px 0 0 8px;background:var(--player-color, transparent);transition:width .2s}.player-card.active{border-color:var(--player-color, var(--gold));background:var(--bg-hover);box-shadow:0 0 0 1px #ffffff0a,inset 0 0 20px #ffffff05}.player-card.active:before{width:4px}.player-token-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;background:var(--bg-dark);border:2px solid var(--player-color, var(--border))}.player-info{flex:1;min-width:0}.player-name{font-size:.78rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-balance{font-size:.72rem;color:var(--gold);font-weight:600;margin-top:1px}.player-turn-indicator{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:pulse 1.5s infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.props-mini{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.prop-dot{width:8px;height:8px;border-radius:2px}.sidebar-bottom{padding:.75rem;margin-top:auto}.btn-restart{width:100%;padding:.5rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.4rem}.btn-restart:hover{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border-light)}.actions-section{padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.dice-wrapper{display:flex;gap:.5rem;justify-content:center;margin:.5rem 0}.die{width:44px;height:44px;background:#faf8f0;border:2px solid #2D2A26;border-radius:8px;display:grid;padding:5px;box-shadow:0 3px 6px #0006,inset 0 1px #fffc;position:relative;transition:transform .1s ease}.die.rolling{animation:diceRoll .1s infinite alternate}@keyframes diceRoll{0%{transform:rotate(-8deg) scale(.95)}to{transform:rotate(8deg) scale(1.05)}}.die-dots{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;gap:1px}.dot{width:7px;height:7px;border-radius:50%;background:#1a1714;place-self:center;box-shadow:0 1px 2px #0006}.dot.hidden{visibility:hidden}.btn-roll{width:100%;padding:.7rem 1rem;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:#1a1714;border:none;border-radius:8px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:800;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 2px 8px #d4a8394d}.btn-roll:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #d4a83966;filter:brightness(1.1)}.btn-roll:active:not(:disabled){transform:translateY(0)}.btn-roll:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-end-turn{width:100%;padding:.55rem 1rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:8px;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.4rem}.btn-end-turn:not(:disabled){background:linear-gradient(135deg,#1b5e20,#2e7d32);color:#fff;border-color:#4caf50;box-shadow:0 0 10px #4caf5066;animation:pulseGreen 1.8s infinite ease-in-out}.btn-end-turn:hover:not(:disabled){background:linear-gradient(135deg,#2e7d32,#388e3c);border-color:#81c784;color:#fff;box-shadow:0 0 15px #4caf5099}.btn-end-turn:disabled{opacity:.3;cursor:not-allowed}@keyframes pulseGreen{0%{box-shadow:0 0 #4caf5080}70%{box-shadow:0 0 0 8px #4caf5000}to{box-shadow:0 0 #4caf5000}}.pending-card{margin:0 .75rem;background:var(--bg-card);border:1px solid var(--gold-dark);border-radius:8px;padding:.75rem;animation:slideDown .25s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pending-title{font-size:.7rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.pending-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.5rem}.pending-desc b{color:var(--text-primary)}.pending-btns{display:flex;gap:.4rem}.btn-buy{flex:2;padding:.4rem;background:var(--green-accent);color:#fff;border:none;border-radius:5px;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s}.btn-buy:hover{filter:brightness(1.1)}.btn-pass{flex:1;padding:.4rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-pass:hover{background:var(--bg-hover)}.btn-pay-rent{width:100%;padding:.5rem;background:var(--red);color:#fff;border:none;border-radius:5px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s}.btn-pay-rent:hover{filter:brightness(1.1)}.log-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:.75rem;padding-top:0}.log-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.log-entry{font-size:.68rem;line-height:1.4;color:var(--text-secondary);padding:.35rem .5rem;border-radius:4px;background:var(--bg-card);border:1px solid var(--border);animation:fadeIn .3s ease}.log-entry:first-child{color:var(--text-primary);border-color:var(--border-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.monopoly-board{display:grid;grid-template-columns:12.5% repeat(9,8.333%) 12.5%;grid-template-rows:12.5% repeat(9,8.333%) 12.5%;aspect-ratio:1 / 1;width:100%;max-width:min(100%,calc(100vh - 120px),800px);max-height:min(100%,calc(100vh - 120px),800px);min-width:0;min-height:0;background-color:#122216;position:relative;box-shadow:0 25px 70px #000c,inset 0 0 40px #0009;border-radius:12px;overflow:hidden}.board-border-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid var(--gold);border-radius:12px;pointer-events:none;z-index:30}.board-center{grid-column:2 / 11;grid-row:2 / 11;background:#112015;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;text-align:center;position:relative;overflow:hidden}.board-center:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(212,168,57,.08) 0%,transparent 80%)}.board-logo{font-family:Unbounded,sans-serif;font-size:clamp(.7rem,2.8vmin,1.6rem);font-weight:900;color:var(--gold);letter-spacing:.08em;text-shadow:0 0 25px rgba(212,168,57,.3);line-height:1.25;text-align:center;position:relative;z-index:1}.board-subtitle{font-size:clamp(.45rem,1.4vmin,.72rem);color:#d4a83999;letter-spacing:.15em;text-transform:uppercase;margin-top:.4rem;position:relative;z-index:1}.board-trident{font-size:clamp(1.2rem,4.5vmin,2.8rem);margin-bottom:.4rem;position:relative;z-index:1;filter:drop-shadow(0 0 12px rgba(212,168,57,.4))}.tile{background-color:#22201c;border:1px solid rgba(212,168,57,.15);display:flex;cursor:pointer;position:relative;overflow:hidden;height:100%;width:100%;transition:all .2s cubic-bezier(.25,1,.5,1)}.tile:hover{background-color:#2d2a24;border-color:var(--gold);z-index:5;box-shadow:inset 0 0 15px #d4a8391a,0 8px 24px #00000080}.tile-info-container{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;padding:4px;min-width:0;text-align:center}.tile-name-text{font-size:clamp(.42rem,1.1vmin,.72rem);font-weight:700;text-align:center;color:var(--text-primary);line-height:1.2;word-break:keep-all;overflow-wrap:break-word;width:100%;padding:0 2px}.tile-price-text{font-size:clamp(.4rem,1vmin,.65rem);font-weight:700;color:var(--gold);margin-top:auto;padding-bottom:4px}.color-band{flex-shrink:0}.tile-bottom{flex-direction:column}.tile-bottom .color-band{width:100%;height:24%;border-bottom:2px solid rgba(0,0,0,.4)}.tile-top{flex-direction:column-reverse}.tile-top .color-band{width:100%;height:24%;border-top:2px solid rgba(0,0,0,.4)}.tile-left{flex-direction:row-reverse}.tile-left .color-band{width:24%;height:100%;border-left:2px solid rgba(0,0,0,.4)}.tile-left .tile-info-container{align-items:flex-end;text-align:right;padding-right:8px}.tile-right{flex-direction:row}.tile-right .color-band{width:24%;height:100%;border-right:2px solid rgba(0,0,0,.4)}.tile-right .tile-info-container{align-items:flex-start;text-align:left;padding-left:8px}.tile-corner{background:#2d2722;justify-content:center;align-items:center;border:1.5px solid rgba(212,168,57,.25)}.corner-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:6px;text-align:center;gap:2px}.corner-icon{font-size:clamp(1rem,3.2vmin,2.2rem);line-height:1.1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.corner-label{font-size:clamp(.42rem,1.15vmin,.72rem);font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);line-height:1.2}.tile-special{background:#25221f}.special-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:6px;text-align:center;gap:4px}.special-icon{font-size:clamp(.8rem,2.4vmin,1.6rem);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.special-label{font-size:clamp(.42rem,1.1vmin,.7rem);font-weight:700;color:var(--text-primary);line-height:1.2}.tile-transport,.tile-utility{background:#25221f}.board-token-floating{position:absolute;width:clamp(16px,2.8vmin,22px);height:clamp(16px,2.8vmin,22px);border-radius:50%;background:#faf8f0;border:1.5px solid var(--player-color);display:flex;align-items:center;justify-content:center;font-size:clamp(.55rem,1.8vmin,.95rem);z-index:20;transform:translate(-50%,-50%);transition:left .4s cubic-bezier(.25,1,.5,1),top .4s cubic-bezier(.25,1,.5,1);box-shadow:0 4px 10px #0009,inset 0 -1px 3px #0003;pointer-events:none;animation:spawnToken .3s cubic-bezier(.34,1.56,.64,1)}@keyframes spawnToken{0%{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:100;animation:fadeIn .15s ease}.modal-card{width:280px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;overflow:hidden;box-shadow:0 25px 60px #00000080;animation:modalIn .2s cubic-bezier(.34,1.56,.64,1)}@keyframes modalIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-header{padding:1rem;text-align:center;position:relative;border-bottom:1px solid var(--border)}.modal-color-bar{position:absolute;top:0;left:0;right:0;height:4px}.modal-close{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1;transition:color .15s}.modal-close:hover{color:var(--text-primary)}.modal-tile-name{font-size:.95rem;font-weight:800;color:var(--text-primary);margin-top:.25rem}.modal-tile-group{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:2px}.modal-owner-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:10px;margin-top:.4rem;background:#d4a83926;color:var(--gold);border:1px solid rgba(212,168,57,.3)}.modal-body{padding:.75rem 1rem}.modal-rent-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;border-bottom:1px solid var(--border);font-size:.72rem}.modal-rent-row:last-child{border-bottom:none}.modal-rent-label{color:var(--text-secondary)}.modal-rent-value{font-weight:700;color:var(--text-primary)}.modal-rent-value.highlight{color:var(--gold)}.modal-footer{padding:.75rem 1rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:.68rem;color:var(--text-muted)}.turn-display{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;margin:.5rem .75rem}.turn-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.25rem;font-weight:600}.turn-player{font-size:.82rem;font-weight:700;display:flex;align-items:center;gap:.4rem}@media (max-width: 1100px){.sidebar-left{width:180px;min-width:180px}.sidebar-right{width:200px;min-width:200px}}@media (max-width: 820px){.app-layout{flex-direction:column;overflow-y:auto}.sidebar-left,.sidebar-right{width:100%;min-width:0;border-right:none;border-left:none;border-bottom:1px solid var(--border);max-height:200px;overflow-y:auto}.players-list{flex-direction:row;flex-wrap:wrap}.player-card{min-width:160px}.board-area{padding:.75rem;min-height:min(100vw,70vh)}.monopoly-board{width:min(90vw,90vh - 120px);max-width:none}}.bg-brown{background-color:var(--c-brown)}.bg-light_blue{background-color:var(--c-lightblue)}.bg-pink{background-color:var(--c-pink)}.bg-orange{background-color:var(--c-orange)}.bg-red{background-color:var(--c-red)}.bg-yellow{background-color:var(--c-yellow)}.bg-green{background-color:var(--c-green)}.bg-dark_blue{background-color:var(--c-darkblue)}.bg-transport{background-color:var(--c-transport)}.bg-utility{background-color:var(--c-utility)}.setup-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.setup-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;width:100%;max-width:500px;box-shadow:0 25px 60px #00000080}.setup-title{font-family:Unbounded,sans-serif;font-size:1.3rem;font-weight:900;color:var(--gold);text-align:center;margin-bottom:.5rem}.setup-subtitle{font-size:.78rem;color:var(--text-muted);text-align:center;margin-bottom:1.5rem}.player-count-picker{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.count-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--border-light);background:var(--bg-dark);color:var(--text-secondary);font-size:1rem;font-weight:700;cursor:pointer;transition:all .15s}.count-btn.selected{border-color:var(--gold);background:#d4a83926;color:var(--gold)}.count-btn:hover:not(.selected){background:var(--bg-hover);color:var(--text-primary)}.setup-players-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.setup-player-row{display:flex;align-items:center;gap:.75rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem}.setup-player-num{font-size:.7rem;font-weight:700;color:var(--text-muted);width:20px}.setup-token-display{font-size:1.2rem;width:32px;text-align:center}.setup-name-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:.82rem;font-family:Inter,sans-serif;font-weight:600;outline:none}.setup-name-input::placeholder{color:var(--text-muted)}.setup-color-swatch{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.2);flex-shrink:0}.btn-start-game{width:100%;padding:.9rem;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:#1a1714;border:none;border-radius:8px;font-family:Unbounded,sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:0 4px 15px #d4a83959}.btn-start-game:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px #d4a83973}.notification{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;padding:.6rem 1.2rem;font-size:.8rem;font-weight:600;color:var(--text-primary);z-index:300;box-shadow:0 8px 25px #0006;animation:notifIn .3s ease;white-space:nowrap}@keyframes notifIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.board-token-floating.active-token{animation:tokenPulse 1.2s infinite alternate ease-in-out;z-index:25}@keyframes tokenPulse{0%{transform:translate(-50%,-50%) scale(1);box-shadow:0 4px 10px #0009,0 0 4px var(--player-color)}to{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 8px 18px #000c,0 0 16px var(--player-color)}}.color-band{display:flex;justify-content:center;align-items:center;gap:3px}.tile-left .color-band,.tile-right .color-band{flex-direction:column}.house-dot{width:6px;height:6px;background-color:var(--green-accent);border:1px solid rgba(0,0,0,.6);border-radius:1px;box-shadow:0 1px 2px #0006;animation:spawnHouse .2s ease}.hotel-dot{width:12px;height:6px;background-color:var(--red);border:1px solid rgba(0,0,0,.6);border-radius:1px;box-shadow:0 1px 2px #0006;animation:spawnHouse .2s ease}.tile-left .hotel-dot,.tile-right .hotel-dot{width:6px;height:12px}@keyframes spawnHouse{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.tile-mortgaged-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0c0aa6;display:flex;justify-content:center;align-items:center;color:var(--text-secondary);font-size:1.1rem;z-index:15;-webkit-backdrop-filter:grayscale(.8) blur(.5px);backdrop-filter:grayscale(.8) blur(.5px);pointer-events:none}.tile-mortgaged-overlay:after{content:"🔒";filter:drop-shadow(0 2px 4px rgba(0,0,0,.8))}.card-modal-card{width:320px;background:var(--bg-card);border:3px solid var(--gold);border-radius:12px;overflow:hidden;box-shadow:0 25px 60px #0009;animation:modalIn .25s cubic-bezier(.34,1.56,.64,1);padding:1.5rem;text-align:center;position:relative}.card-modal-card.chest{border-color:var(--blue-accent)}.card-type-header{font-family:Unbounded,sans-serif;font-size:.8rem;font-weight:900;letter-spacing:.12em;margin-bottom:1rem;text-transform:uppercase}.card-modal-card.chance .card-type-header{color:var(--gold)}.card-modal-card.chest .card-type-header{color:var(--blue-accent)}.card-icon-big{font-size:3rem;margin-bottom:1rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.card-description{font-size:.85rem;color:var(--text-primary);line-height:1.5;margin-bottom:1.25rem}.card-amount-delta{font-size:1.4rem;font-weight:800;margin-bottom:1.5rem;font-family:Unbounded,sans-serif}.card-amount-delta.positive{color:var(--green-accent)}.card-amount-delta.negative{color:var(--red)}.trade-modal-card{width:600px;max-width:95%;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;overflow:hidden;box-shadow:0 25px 60px #0009;animation:modalIn .2s ease;display:flex;flex-direction:column}.trade-modal-body{display:flex;gap:1.25rem;padding:1.25rem;overflow:hidden;min-height:0}.trade-pane{flex:1;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;min-width:0}.trade-pane-title{font-size:.82rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.trade-cash-input-wrapper{margin-bottom:.75rem}.trade-cash-input{width:100%;padding:.5rem .75rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:6px;color:var(--gold);font-size:.85rem;font-weight:700;outline:none}.trade-cash-input:focus{border-color:var(--gold-dark)}.trade-properties-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;max-height:220px;padding-right:2px}.trade-property-item{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.4rem .5rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.72rem;transition:all .15s}.trade-property-item:hover{background:var(--bg-hover);border-color:var(--border-light)}.trade-property-color{width:6px;height:20px;border-radius:2px;flex-shrink:0}.trade-property-name{flex:1;color:var(--text-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trade-property-checkbox{width:14px;height:14px;accent-color:var(--gold)}.trade-middle-divider{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted)}.debt-alert-banner{background:#e05a471f;border:1px solid rgba(224,90,71,.3);border-radius:8px;padding:.75rem;margin:.75rem;animation:pulseRed 2s infinite alternate}@keyframes pulseRed{0%{border-color:#e05a4740;box-shadow:0 0 4px #e05a471a}to{border-color:#e05a4773;box-shadow:0 0 12px #e05a4740}}.debt-title{font-size:.78rem;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.debt-desc{font-size:.72rem;color:var(--text-secondary);line-height:1.4}.modal-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem;padding:0 1rem 1rem}.btn-modal-action{padding:.5rem;font-size:.72rem;font-weight:700;border-radius:6px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.3rem}.btn-modal-action.build{background:var(--green-accent);color:#fff;border:none}.btn-modal-action.build:hover:not(:disabled){filter:brightness(1.1)}.btn-modal-action.sell{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-light)}.btn-modal-action.sell:hover:not(:disabled){background:var(--bg-hover)}.btn-modal-action.mortgage{background:var(--gold-dark);color:#1a1714;border:none}.btn-modal-action.mortgage:hover:not(:disabled){filter:brightness(1.1)}.btn-modal-action.unmortgage{background:transparent;color:var(--gold);border:1px solid var(--gold)}.btn-modal-action.unmortgage:hover:not(:disabled){background:#d4a8391a}.btn-modal-action:disabled{opacity:.3;cursor:not-allowed;filter:none!important}.victory-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0807f2;z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .4s ease}.victory-card{text-align:center;padding:3rem 2rem;background:var(--bg-card);border:2px solid var(--gold);border-radius:16px;max-width:450px;box-shadow:0 0 50px #d4a83940;animation:modalIn .3s cubic-bezier(.34,1.56,.64,1)}.victory-title{font-family:Unbounded,sans-serif;font-size:1.8rem;font-weight:900;color:var(--gold);margin-bottom:1rem;letter-spacing:.05em;text-shadow:0 0 15px rgba(212,168,57,.3)}.victory-desc{font-size:.9rem;color:var(--text-primary);margin-bottom:2rem;line-height:1.5}.setup-house-rules{margin-top:1rem;padding:.75rem;background:#ffffff08;border:1px solid var(--border);border-radius:8px;text-align:left}.setup-house-rules-title{font-size:.75rem;font-weight:800;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;letter-spacing:.05em;text-align:center}.setup-rules-grid{display:grid;grid-template-columns:1fr;gap:.4rem}.rule-checkbox-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.72rem;color:var(--text-secondary)}.rule-checkbox-row input{accent-color:var(--gold);width:14px;height:14px;cursor:pointer}.rule-checkbox-row:hover{color:var(--text-primary)}.jackpot-widget{background:linear-gradient(135deg,#d4a83926,#d4a8390d);border:1.5px solid rgba(212,168,57,.4);border-radius:8px;padding:.5rem .75rem;margin:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px #d4a8391a;animation:goldPulse 3s infinite alternate}@keyframes goldPulse{0%{border-color:#d4a8394d;box-shadow:0 0 4px #d4a8390d}to{border-color:#d4a83999;box-shadow:0 0 15px #d4a83933}}.jackpot-label{font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--gold);letter-spacing:.05em}.jackpot-amount{font-family:Unbounded,sans-serif;font-size:.95rem;font-weight:900;color:var(--text-primary);text-shadow:0 0 8px rgba(255,255,255,.2)}.jail-panel{background:#9b59b61a;border:1px solid rgba(155,89,182,.3);border-radius:8px;padding:.75rem;margin:.75rem;text-align:center}.jail-panel-title{font-size:.75rem;font-weight:800;color:#9b59b6;text-transform:uppercase;margin-bottom:.4rem}.jail-panel-desc{font-size:.7rem;color:var(--text-secondary);line-height:1.3;margin-bottom:.6rem}.jail-panel-btns{display:flex;flex-direction:column;gap:.4rem}.auction-modal-card{width:95%;max-width:440px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;box-shadow:0 15px 40px #000c;animation:modalIn .25s cubic-bezier(.34,1.56,.64,1);overflow:hidden;display:flex;flex-direction:column}.auction-body-layout{display:flex;flex-direction:column;padding:1rem;gap:.75rem}.auction-info-banner{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:.6rem;text-align:center}.auction-current-bid{font-family:Unbounded,sans-serif;font-size:1.4rem;font-weight:900;color:var(--gold);margin-top:.2rem}.auction-bidders-list{background:var(--bg-dark);border:1px solid var(--border);border-radius:6px;padding:.5rem;max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.auction-bidder-row{display:flex;align-items:center;justify-content:space-between;padding:.3rem .5rem;border-radius:4px;background:#ffffff05;font-size:.72rem}.auction-bidder-row.active{background:#d4a8391f;border:1px solid rgba(212,168,57,.3);font-weight:700;color:var(--gold)}.auction-bidder-row.passed{opacity:.45;text-decoration:line-through}.auction-bidder-row.highest{border:1px dashed var(--green-accent)}.auction-controls{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.bid-increments{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.btn-bid{padding:.5rem;font-size:.75rem;font-weight:700;border-radius:6px;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer;transition:all .15s}.btn-bid:hover:not(:disabled){background:var(--gold);color:#1a1714}.btn-bid:disabled{opacity:.3;cursor:not-allowed}.btn-pass-auction{padding:.55rem;font-size:.75rem;font-weight:700;border-radius:6px;border:none;background:var(--red);color:#fff;cursor:pointer;transition:filter .15s}.btn-pass-auction:hover{filter:brightness(1.1)}.landing-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#2c2822,#151310);z-index:100;padding:1rem}.landing-card{width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2.5rem 2rem;box-shadow:0 20px 50px #000c;display:flex;flex-direction:column;gap:1.5rem}.landing-logo-container{text-align:center}.landing-trident{font-size:3rem;margin-bottom:.5rem;filter:drop-shadow(0 0 10px rgba(212,168,57,.4))}.landing-title{font-family:Unbounded,sans-serif;font-size:1.4rem;font-weight:900;color:var(--gold);letter-spacing:.05em;line-height:1.3}.landing-subtitle{font-size:.8rem;color:var(--text-secondary);margin-top:.5rem}.landing-error-box{background:#d940401a;border:1px solid rgba(217,64,64,.3);color:#faa;font-size:.78rem;padding:.6rem .8rem;border-radius:6px;line-height:1.4}.landing-actions{display:flex;flex-direction:column;gap:1rem}.btn-landing-primary{width:100%;padding:.85rem;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:#1a1714;border:none;border-radius:8px;font-family:Inter,sans-serif;font-size:.88rem;font-weight:800;cursor:pointer;transition:all .15s;box-shadow:0 4px 15px #d4a8394d}.btn-landing-primary:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 6px 20px #d4a83966}.landing-divider{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.landing-divider:before,.landing-divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.landing-divider:before{margin-right:.75em}.landing-divider:after{margin-left:.75em}.landing-form{display:flex;gap:.5rem}.landing-code-input{flex:1;background:var(--bg-dark);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:.75rem 1rem;font-family:Unbounded,sans-serif;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;text-align:center}.landing-code-input:focus{outline:none;border-color:var(--gold)}.btn-landing-secondary{padding:.75rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary);font-weight:700;font-size:.82rem;border-radius:8px;cursor:pointer;transition:all .15s}.btn-landing-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--gold)}.btn-landing-secondary:disabled{opacity:.4;cursor:not-allowed}.lobby-screen{flex:1;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;max-width:1200px;margin:0 auto;width:100%}.lobby-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:1rem}.lobby-title-wrap{display:flex;align-items:center;gap:.75rem}.lobby-room-badge{font-size:.65rem;font-weight:800;background:var(--border);color:var(--text-secondary);padding:4px 8px;border-radius:4px;letter-spacing:.08em}.lobby-room-code{font-family:Unbounded,sans-serif;font-size:1.8rem;font-weight:900;color:var(--gold);letter-spacing:.05em}.lobby-header-actions{display:flex;gap:.75rem}.btn-lobby-action{padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary);font-size:.78rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s}.btn-lobby-action:hover{background:var(--bg-hover);border-color:var(--gold)}.btn-lobby-action.leave{background:#d940401a;border-color:#d9404033;color:#faa}.btn-lobby-action.leave:hover{background:var(--red);color:#fff;border-color:var(--red)}.lobby-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:1.5rem;align-items:start}@media (max-width: 900px){.lobby-grid{grid-template-columns:1fr}}.lobby-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.5rem;box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column;gap:1.25rem}.lobby-card-title{font-family:Unbounded,sans-serif;font-size:.85rem;font-weight:700;color:var(--gold);letter-spacing:.03em;border-bottom:1px dashed var(--border);padding-bottom:.75rem}.lobby-slots-list{display:flex;flex-direction:column;gap:.6rem}.lobby-player-row{display:flex;align-items:center;background:var(--bg-panel);border:1px solid var(--border);padding:.6rem .8rem;border-radius:8px;gap:.75rem;position:relative}.lobby-player-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:8px 0 0 8px;background:var(--player-color, transparent)}.lobby-player-row.is-me{border-color:var(--player-color, var(--gold));background:var(--bg-hover)}.lobby-player-color-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.lobby-player-token{font-size:1.2rem}.lobby-player-name{font-size:.85rem;font-weight:700;color:var(--text-primary);flex:1;display:flex;align-items:center;gap:.4rem}.lobby-name-tag{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase}.lobby-name-tag.me{background:#ffffff14;color:var(--text-secondary)}.lobby-name-tag.host{background:#d4a83926;color:var(--gold)}.lobby-name-tag.bot{background:#4a7fc126;color:var(--blue-accent)}.lobby-player-status{margin-left:auto}.status-badge{font-size:.68rem;font-weight:700;padding:3px 8px;border-radius:12px}.status-badge.ready{background:#4caf8026;color:var(--green-accent)}.status-badge.waiting{background:#6b635826;color:var(--text-secondary)}.btn-remove-bot{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:4px;display:flex;align-items:center;justify-content:center}.btn-remove-bot:hover{color:var(--red)}.btn-add-bot{padding:.6rem;background:transparent;border:1px dashed var(--border-light);color:var(--text-secondary);border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-add-bot:hover{background:var(--bg-hover);border-color:var(--blue-accent);color:var(--text-primary)}.lobby-right-column{display:flex;flex-direction:column;gap:1.5rem}.lobby-field{display:flex;flex-direction:column;gap:.5rem}.lobby-field-label{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.lobby-name-input-group{display:flex;gap:.5rem}.lobby-name-input{flex:1;background:var(--bg-dark);border:1px solid var(--border);color:var(--text-primary);padding:.55rem .8rem;border-radius:6px;font-size:.82rem}.lobby-name-input:focus{outline:none;border-color:var(--gold)}.btn-save-profile{padding:0 1rem;background:var(--gold);color:#1a1714;border:none;font-weight:700;font-size:.78rem;border-radius:6px;cursor:pointer}.btn-save-profile:disabled{opacity:.4;cursor:not-allowed}.lobby-color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.lobby-color-btn{height:32px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .1s}.lobby-color-btn.selected{border-color:#fff;transform:scale(1.05)}.lobby-color-btn.taken{opacity:.2;cursor:not-allowed;position:relative}.lobby-color-btn.taken:before{content:"✕";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem}.lobby-token-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.lobby-token-btn{height:36px;background:var(--bg-dark);border:1px solid var(--border);border-radius:6px;font-size:1.2rem;cursor:pointer;transition:all .1s;display:flex;align-items:center;justify-content:center}.lobby-token-btn:hover:not(:disabled){border-color:var(--gold)}.lobby-token-btn.selected{border-color:var(--gold);background:var(--bg-hover);box-shadow:0 0 8px #d4a83933}.lobby-token-btn:disabled{opacity:.25;cursor:not-allowed}.btn-lobby-ready{margin-top:.5rem;width:100%;padding:.75rem;background:transparent;border:1px solid var(--border-light);color:var(--text-primary);font-weight:700;font-size:.82rem;border-radius:6px;cursor:pointer;transition:all .15s}.btn-lobby-ready:hover{background:var(--bg-hover);border-color:var(--gold)}.btn-lobby-ready.is-ready{background:var(--green-accent);color:#fff;border-color:var(--green-accent)}.lobby-rules-list{display:flex;flex-direction:column;gap:.85rem}.lobby-rule-item{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer}.lobby-rule-item input[type=checkbox]{margin-top:3px;width:16px;height:16px;accent-color:var(--gold)}.lobby-rule-info{display:flex;flex-direction:column;gap:2px}.lobby-rule-name{font-size:.78rem;font-weight:700;color:var(--text-primary)}.lobby-rule-desc{font-size:.68rem;color:var(--text-secondary);line-height:1.35}.btn-start-game-lobby{margin-top:.5rem;width:100%;padding:.85rem;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:#1a1714;border:none;border-radius:6px;font-family:Inter,sans-serif;font-size:.88rem;font-weight:800;cursor:pointer;box-shadow:0 4px 15px #d4a83940;transition:all .15s}.btn-start-game-lobby:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-start-game-lobby:disabled{opacity:.4;cursor:not-allowed}.lobby-rules-nonhost-notice{text-align:center;font-size:.72rem;color:var(--text-muted);margin-top:.5rem}.roll-order-card{background:var(--bg-card);border:2px solid var(--gold);border-radius:12px;padding:2rem;width:100%;max-width:420px;box-shadow:0 15px 40px #000c;display:flex;flex-direction:column;gap:1.25rem;animation:scaleUp .25s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.roll-order-header{font-family:Unbounded,sans-serif;font-size:1.1rem;font-weight:900;color:var(--gold);text-align:center}.roll-order-desc{font-size:.72rem;color:var(--text-secondary);line-height:1.4;text-align:center}.roll-order-players-list{display:flex;flex-direction:column;gap:.5rem}.roll-order-player-row{display:flex;justify-content:space-between;align-items:center;background:var(--bg-panel);border:1px solid var(--border);padding:.5rem .8rem;border-radius:6px;font-size:.8rem}.roll-order-player-row.active{border-color:var(--gold);background:#d4a8390d}.roll-order-player-left{display:flex;align-items:center;gap:.5rem;font-weight:700}.roll-order-player-name{color:var(--text-primary)}.roll-order-value{font-weight:800;color:var(--gold);font-size:.88rem}.roll-order-status.rolling{color:var(--gold);animation:pulse 1s infinite alternate;font-weight:600}.roll-order-status.waiting{color:var(--text-muted)}.btn-roll-order{width:100%;padding:.75rem;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:#1a1714;border:none;font-weight:800;font-size:.82rem;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #d4a83940;transition:all .15s}.btn-roll-order:hover{filter:brightness(1.1);transform:translateY(-1px)}.roll-order-waiting-msg{text-align:center;font-size:.7rem;color:var(--text-muted)}.chat-toggle-btn{position:fixed;bottom:1.5rem;right:1.5rem;width:48px;height:48px;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);border:none;border-radius:50%;color:#1a1714;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #00000080;z-index:50;transition:transform .2s}.chat-toggle-btn:hover{transform:scale(1.05)}.chat-badge{position:absolute;top:-2px;right:-2px;background:var(--red);color:#fff;font-size:.65rem;font-weight:800;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:2px;border:1px solid var(--bg-dark)}.chat-drawer{position:fixed;top:52px;bottom:0;right:0;width:320px;background:var(--bg-panel);border-left:1px solid var(--border);box-shadow:-10px 0 30px #00000080;z-index:45;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.25,1,.5,1)}.chat-drawer.open{transform:translate(0)}.chat-drawer-header{padding:1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-family:Unbounded,sans-serif;font-size:.78rem;font-weight:700;color:var(--gold)}.chat-close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer}.chat-close-btn:hover{color:var(--text-primary)}.chat-messages-container{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.chat-no-messages{text-align:center;color:var(--text-muted);font-size:.72rem;margin-top:2rem;line-height:1.4;padding:0 1rem}.chat-message-bubble{background:var(--bg-card);border:1px solid var(--border);padding:.6rem .75rem;border-radius:8px 8px 8px 0;max-width:90%;animation:fadeIn .2s ease}.chat-message-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:3px}.chat-message-sender{font-size:.68rem;font-weight:700;color:var(--gold)}.chat-message-time{font-size:.58rem;color:var(--text-muted)}.chat-message-text{font-size:.74rem;color:var(--text-primary);line-height:1.35;word-break:break-word}.chat-input-form{padding:.75rem 1rem;border-top:1px solid var(--border);display:flex;gap:.5rem;background:var(--bg-card)}.chat-input-field{flex:1;background:var(--bg-dark);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;padding:.5rem .75rem;font-size:.75rem}.chat-input-field:focus{outline:none;border-color:var(--gold)}.chat-send-btn{padding:0 .8rem;background:var(--gold);color:#1a1714;border:none;border-radius:6px;font-weight:700;cursor:pointer}.chat-send-btn:disabled{opacity:.4}
