.scoreboard.condensed{opacity:.92;transition:box-shadow .2s,opacity .2s}.scoreboard.expanded{box-shadow:0 2px 16px #2228;opacity:1}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#2d5016;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3a6b1e}html,body{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a1a;color:#fff}#root{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}.app-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lobby-container{max-width:1000px;width:100%;padding:20px}.lobby-header{text-align:center;margin-bottom:30px}.lobby-header h1{font-size:2.5rem;color:#4caf50;margin-bottom:10px}.table-view{background-color:#2d2d2d;border-radius:10px;padding:20px;margin-bottom:20px}.table-name{font-size:1.5rem;margin-bottom:20px;text-align:center}.player-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:20px}.player-slot{background-color:#3d3d3d;border-radius:8px;padding:15px;text-align:center;border:2px solid transparent;position:relative}.player-slot.filled{border-color:#4caf50}.player-slot.host{border-color:gold}.player-slot.ready{background-color:#2d5016}.player-name{font-size:1.1rem;font-weight:700;margin-bottom:5px;display:flex;align-items:center;justify-content:center}.player-status{font-size:.9rem;color:#999}.controls{display:flex;gap:10px;justify-content:center}.btn{padding:12px 24px;font-size:1rem;border:none;border-radius:5px;cursor:pointer;font-weight:700;transition:all .2s}.btn-primary{background-color:#4caf50;color:#fff}.btn-primary:hover{background-color:#45a049}.btn-secondary{background-color:#555;color:#fff}.btn-secondary:hover{background-color:#666}.btn:disabled{opacity:.5;cursor:not-allowed}.available-tables{margin-bottom:10px}.table-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.table-card{background:#2d2d2d;border:2px solid #444;border-radius:10px;padding:10px;transition:border-color .2s}.table-card:hover{border-color:#4caf50}.table-card.in-progress{opacity:.8}.table-card.in-progress:hover{border-color:#ffc107}.table-card-watch{display:block;width:100%;margin-top:10px;padding:6px 0;background:#ffc10726;color:#ffc107;border:1px solid #FFC107;border-radius:5px;cursor:pointer;font-size:.85rem;font-weight:700;transition:all .2s}.table-card-watch:hover:not(:disabled){background:#ffc1074d}.table-card-watch:disabled{opacity:.5;cursor:not-allowed}.table-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.table-card-header h3{margin:0;font-size:.95rem;color:#e0e0e0}.table-card-header .player-count{font-size:.85rem;color:#999;background:#383838;padding:2px 8px;border-radius:10px}.table-card-header .status-playing{color:#ffc107;background:#ffc10726}.table-card-compass,.table-compass{display:flex;flex-direction:column;align-items:center;gap:6px}.table-card-compass{gap:6px;max-width:200px;margin:0 auto}.table-card-seats-row{display:flex;justify-content:center;gap:8px;max-width:220px;margin:0 auto}.table-card-seats-row .table-card-seat{flex:1 1 0;min-width:44px}.table-card-compass .table-center{width:40px;height:36px;font-size:.8rem}.compass-row{display:flex;align-items:center;justify-content:center;gap:8px}.table-card-compass .compass-row{gap:8px}.table-card-compass .compass-middle{justify-content:center}.compass-top,.compass-bottom{width:100%;justify-content:center}.compass-middle{width:100%;justify-content:space-between}.table-center,.table-center-felt{font-size:1.2rem;color:#555;width:60px;height:50px;display:flex;align-items:center;justify-content:center;background:#1a3a1a;border-radius:8px;border:2px solid #2a5a2a;flex-shrink:0}.table-card-seat{background:#383838;border-radius:4px;padding:4px 6px;font-size:.75rem;text-align:center;color:#777;border:1px dashed #555;min-width:0;transition:all .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-card-seat.clickable{cursor:pointer}.table-card-seat.clickable:hover{border-color:#4caf50;background:#2d5016;color:#4caf50}.table-card-seat.occupied{color:#e0e0e0;border:1px solid #555}.table-card-seat.empty-seat{display:flex;align-items:center;justify-content:center}.table-card-seat .seat-name{font-weight:700}.table-card-seat .seat-empty{color:#666;font-style:italic}.table-card-seat .seat-badges{font-size:.75rem;color:#999;margin-top:2px}.table-card-seat .seat-badges .badge-host{color:gold}.table-card-seat .seat-badges .badge-ready{color:#4caf50}.table-card-seat .seat-badges .badge-bot{color:#90caf9}.table-compass{max-width:420px;margin:0 auto}.table-seats-row{display:flex;justify-content:center;gap:16px;margin:20px auto;max-width:600px}.table-seats-row .player-slot,.table-compass .player-slot{min-width:120px;height:128px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.table-center-felt{width:100px;height:70px;font-size:1.5rem}.game-container{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;background-color:#2d5016}.phaser-container{width:100%;height:100%;position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.phaser-container canvas{z-index:1!important}.game-ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.game-ui-overlay>*{pointer-events:auto}.arcade-dice-left .game-ui-overlay{top:unset;left:unset}.bidding-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#2d2d2df2;padding:30px;border-radius:10px;text-align:center;min-width:300px;max-width:90vw}.bidding-panel h2{margin-bottom:20px;color:#4caf50}.bid-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}@media (max-height: 700px){.bidding-panel{top:40%;padding:20px}.bid-buttons{grid-template-columns:repeat(7,1fr);gap:8px}.bid-button{padding:8px 5px;font-size:.9rem}.bidding-panel h2{margin-bottom:12px;font-size:1.2rem}.bidding-panel p{margin:10px 0!important;font-size:.9rem}}@media (max-height: 600px){.bidding-panel{top:35%;padding:15px}.bid-buttons{grid-template-columns:repeat(7,1fr);gap:6px}.bid-button{padding:6px 4px;font-size:.85rem}.bidding-panel h2{margin-bottom:8px;font-size:1.1rem}.bidding-panel p{margin:8px 0!important;font-size:.85rem}}@media (max-height: 700px){.passing-panel{top:40%!important;padding:20px!important;max-width:90vw}.passing-panel h2{margin-bottom:8px!important;font-size:1.2rem!important}.passing-panel p{margin-bottom:15px!important;font-size:.9rem!important}}@media (max-height: 600px){.passing-panel{top:35%!important;padding:15px!important}.passing-panel h2{margin-bottom:6px!important;font-size:1.1rem!important}.passing-panel p{margin-bottom:12px!important;font-size:.85rem!important}}.bid-button{padding:10px;font-size:1rem;background-color:#555;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:all .2s}.bid-button:hover{background-color:#666;transform:scale(1.05)}.scoreboard{position:absolute;top:20px;right:20px;background-color:#2d2d2de6;padding:15px;border-radius:8px;min-width:200px}.scoreboard h3{margin-bottom:10px;color:#4caf50;text-align:center}.team-score{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #555}.team-score:last-child{border-bottom:none}.player-hud{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background-color:#2d2d2de6;padding:10px 20px;border-radius:8px;text-align:center}.current-turn{color:#4caf50;font-weight:700}.bot-star-selector{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;display:flex;flex-direction:column;align-items:center;background:#1e1e1ef2;border-radius:8px;padding:6px 12px;gap:2px}.bot-star-label{font-size:12px;color:#ccc;white-space:nowrap}.bot-star-row{display:flex;gap:2px}.bot-star{background:none;border:none;font-size:22px;cursor:pointer;color:#555;padding:2px 4px;line-height:1;transition:color .12s,transform .12s}.bot-star:hover,.bot-star.highlighted{color:gold;transform:scale(1.2)}.bot-star-difficulty-label{font-size:11px;color:gold;min-height:16px;text-align:center}.lobby-container{overflow-y:auto;max-height:100vh}@media (max-height: 700px){.lobby-header{margin-bottom:10px}.lobby-header h1{font-size:1.6rem;margin-bottom:4px}.table-view{padding:10px;margin-bottom:10px}.table-name{font-size:1.2rem;margin-bottom:8px}.table-compass,.compass-row{gap:4px}.player-slot{padding:8px}.table-compass .player-slot{height:112px}.player-name{font-size:.95rem}.player-status{font-size:.8rem}.table-center-felt{width:70px;height:50px;font-size:1.2rem}.controls{margin-top:6px}.btn{padding:8px 16px;font-size:.9rem}}@media (max-height: 500px){.lobby-header{margin-bottom:4px}.lobby-header h1{font-size:1.3rem;margin-bottom:2px}.table-view{padding:6px;margin-bottom:6px}.table-name{font-size:1rem;margin-bottom:4px}.table-compass{gap:2px}.player-slot{padding:4px 6px}.table-compass .player-slot{height:88px}.player-slot img{width:28px!important;height:28px!important}.player-name{font-size:.85rem}.player-status{font-size:.75rem}.table-center-felt{width:50px;height:36px;font-size:1rem}.btn{padding:6px 12px;font-size:.85rem}}.arcade-dice-container{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:0;background-color:#2d5016}.arcade-dice-left{flex:0 1 700px;position:relative;min-width:0;overflow:hidden}.arcade-dice-right{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:8px 16px;overflow-y:auto;max-height:100%}.dice-slots-row{display:flex;gap:clamp(4px,1.2vw,12px);justify-content:center;align-items:center}.dice-slot{width:clamp(60px,10vh,110px);height:clamp(60px,10vh,110px)}.scorecard{background:#f5f0e6;border:1px solid #c8b88a;border-radius:6px;padding:clamp(3px,.6vh,6px) clamp(2px,.4vh,4px) clamp(2px,.4vh,4px);max-height:calc(100vh - 16px);overflow-y:auto;min-width:120px;pointer-events:auto;font-size:clamp(10px,1.6vh,14px);color:#333;box-shadow:2px 2px 8px #0000004d}.sc-row{display:flex;align-items:center;height:clamp(22px,3vh,30px);border-bottom:1px solid rgba(0,0,0,.08)}.sc-row:last-child{border-bottom:none}.sc-label{width:clamp(70px,11vh,110px);min-width:clamp(70px,11vh,110px);max-width:clamp(70px,11vh,110px);flex:0 0 auto;padding:2px 4px;font-size:clamp(10px,1.5vh,13px);color:#222;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-label--header{color:#333;font-size:clamp(8px,1.2vh,6px);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.sc-label--total{color:#000;font-weight:700;font-size:clamp(11px,1.6vh,14px)}.sc-cell{width:clamp(42px,6.5vh,62px);min-width:clamp(42px,6.5vh,62px);max-width:clamp(42px,6.5vh,62px);flex:0 0 auto;text-align:center;padding:clamp(2px,.4vh,4px) 0;font-size:clamp(11px,1.6vh,15px);font-variant-numeric:tabular-nums;color:#444;font-weight:600;height:clamp(20px,2.8vh,28px);display:flex;align-items:center;justify-content:center;transition:background .12s}.sc-cell--scored{color:#000;font-weight:700}.sc-cell--potential{color:#2e7d32;opacity:.9;font-style:italic;font-weight:700}.sc-cell--potential.sc-cell--zero{color:#c62828;opacity:.7}.sc-cell--has-score{opacity:1}.sc-cell--clickable{cursor:pointer;border-radius:3px}.sc-cell--clickable.sc-cell--potential{animation:scoreGlow 1.8s ease-in-out infinite}.sc-cell--clickable.sc-cell--has-score:hover{background:#388e3c40;color:#1b5e20;opacity:1}.sc-cell--clickable.sc-cell--zero:hover{background:#c628281f;color:#b71c1c;opacity:1}.sc-cell--clickable:hover{background:#0000000f}@keyframes scoreGlow{0%,to{background:#ffc10714}50%{background:#ffc10738}}.sc-cell--current{background:#00000008}.sc-cell--mine{font-weight:700}.sc-cell--bonus-earned{color:#8b6900!important;font-weight:700}.sc-cell--on-track{color:#1b5e20;font-weight:700}.sc-cell--total{color:#000;font-size:clamp(12px,1.8vh,16px);font-weight:700}.sc-cell--subtotal{color:#444;font-size:clamp(10px,1.4vh,13px);font-weight:600}.sc-header-row{border-bottom:2px solid rgba(0,0,0,.15);margin-bottom:2px;padding-bottom:2px}.sc-row--subtotal{border-top:1px solid rgba(0,0,0,.15)}.sc-row--bonus-row{border-bottom:2px solid rgba(0,0,0,.15);margin-bottom:2px}.sc-row--total{border-top:2px solid rgba(0,0,0,.2);margin-top:2px;padding-top:2px}.sc-section-label{padding:3px 4px 1px;font-size:clamp(9px,1.2vh,11px);text-transform:uppercase;letter-spacing:.06em;color:#333;font-weight:700}.sc-player-header{width:clamp(42px,6.5vh,62px);min-width:clamp(42px,6.5vh,62px);max-width:clamp(42px,6.5vh,62px);flex:0 0 auto;display:flex;flex-direction:column;align-items:center;padding:3px 0;gap:2px;font-size:clamp(9px,1.3vh,12px);color:#333;font-weight:600}.sc-player-header--active{color:#000;font-weight:700}.sc-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:clamp(40px,6vh,58px)}.sc-color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.4);flex-shrink:0;vertical-align:middle}.sc-round-info{text-align:center;padding:4px 0 2px;font-size:clamp(9px,1.3vh,12px);color:#888;border-top:1px solid rgba(0,0,0,.08);margin-top:2px}.scorecard[data-players="2"] .sc-cell,.scorecard[data-players="2"] .sc-player-header{width:clamp(72px,11vh,110px);min-width:clamp(72px,11vh,110px)}.scorecard[data-players="2"] .sc-player-name{max-width:clamp(68px,10vh,106px)}.scorecard[data-players="3"] .sc-cell,.scorecard[data-players="3"] .sc-player-header{width:clamp(56px,8vh,82px);min-width:clamp(56px,8vh,82px)}.scorecard[data-players="3"] .sc-player-name{max-width:clamp(52px,7.5vh,78px)}.roll-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:70px}.roll-btn{padding:12px 40px;font-size:17px;font-weight:700;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.roll-btn:hover:not(.roll-btn--disabled){background:#43a047;transform:scale(1.03)}.roll-btn--disabled{background:#444;color:#777;cursor:not-allowed}.roll-hint{font-size:12px;color:#ffffff8c;text-align:center;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.8)}.roll-waiting{font-size:14px;color:#ffffff73}@keyframes roll-pulse-glow{0%,to{box-shadow:0 0 #ff3c3c00}50%{box-shadow:0 0 18px 6px #ff3c3cb3}}@keyframes roll-btn-flash{0%,to{background:#4caf50}50%{background:#e04040}}@keyframes bowling-avatar-idle-border{0%,to{border-color:gold;box-shadow:0 0 10px gold}50%{border-color:#ff3c3c;box-shadow:0 0 14px 4px #ff3c3ccc}}.bowling-avatar--idle-pulse{animation:bowling-avatar-idle-border .6s ease-in-out 3;border:3px solid #FFD700;box-shadow:0 0 10px gold}.roll-controls--pulse{animation:roll-pulse-glow .6s ease-in-out 3;border-radius:12px}.roll-btn--pulse:not(.roll-btn--disabled){animation:roll-btn-flash .6s ease-in-out 3}.dice-slot--pulse{animation:roll-pulse-glow .6s ease-in-out 3;border-radius:12px}.dice-interaction-area{display:flex;flex-direction:column;align-items:center;gap:clamp(4px,.8vh,8px)}.dice-interaction-area--pulse{animation:roll-pulse-glow .6s ease-in-out 3;border-radius:16px}.game-hamburger-btn{position:fixed;top:12px;left:12px;z-index:9001;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;padding:0;margin:0;background:transparent;border:none;border-radius:6px;outline:none;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:background .15s}.bowling-container .game-hamburger-btn{top:clamp(8px,calc(var(--bowling-top, 12px) + 4px + var(--bowling-ui-inset, 0px)),calc(var(--bowling-top, 12px) + var(--bowling-height, 100%) - 40px));left:clamp(8px,calc(var(--bowling-left, 12px) + 4px + var(--bowling-ui-inset, 0px)),calc(var(--bowling-left, 12px) + var(--bowling-width, 100%) - 40px))}.bowling-container .game-menu-panel{width:min(240px,calc(var(--bowling-width, 240px) - 20px - (var(--bowling-ui-inset, 0px) * 2)));top:clamp(8px,calc(var(--bowling-top, 20px) + 10px + var(--bowling-ui-inset, 0px)),calc(var(--bowling-top, 20px) + var(--bowling-height, 100%) - 220px));left:clamp(8px,calc(var(--bowling-left, 20px) + 10px + var(--bowling-ui-inset, 0px)),calc(var(--bowling-left, 20px) + var(--bowling-width, 100%) - 250px));max-height:calc(var(--bowling-height, 100%) - 20px);overflow-y:auto}.bowling-container .chat-toggle-btn{bottom:auto;right:auto;top:clamp(8px,calc(var(--bowling-top, 0px) + var(--bowling-height, 100%) - 60px),calc(var(--bowling-top, 0px) + var(--bowling-height, 100%) - 60px));left:clamp(8px,calc(var(--bowling-left, 0px) + var(--bowling-width, 100%) - 60px - var(--bowling-ui-inset, 0px)),calc(var(--bowling-left, 0px) + var(--bowling-width, 100%) - 60px - var(--bowling-ui-inset, 0px)))}.bowling-container .chat-input-container{bottom:auto;right:auto;top:clamp(8px,calc(var(--bowling-top, 0px) + var(--bowling-height, 100%) - 110px),calc(var(--bowling-top, 0px) + var(--bowling-height, 100%) - 110px));left:clamp(8px,calc(var(--bowling-left, 0px) + var(--bowling-width, 100%) - 340px - var(--bowling-ui-inset, 0px)),calc(var(--bowling-left, 0px) + var(--bowling-width, 100%) - 20px - var(--bowling-ui-inset, 0px)));width:min(320px,calc(var(--bowling-width, 100%) - 20px - (var(--bowling-ui-inset, 0px) * 2)))}.game-hamburger-btn:hover{background:#00000073}.game-hamburger-btn span{display:block;width:20px;height:2px;background:#ffffffd9;border-radius:1px}.game-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:transparent}.game-menu-panel{position:absolute;top:20px;left:20px;width:240px;background:#2d2d2d;border:1px solid #555;border-radius:8px;padding:16px 0;display:flex;flex-direction:column;gap:6px}.game-menu-title{font-size:18px;font-weight:700;color:#fff;text-align:center;padding-bottom:10px;border-bottom:1px solid #444;margin-bottom:4px}.game-menu-item{display:block;width:calc(100% - 32px);margin:0 16px;padding:10px 16px;font-size:15px;color:#fff;background:#444;border:1px solid #666;border-radius:4px;cursor:pointer;text-align:center;transition:background .12s}.game-menu-item:hover{background:#555}.game-end-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#121212f7;border:1px solid rgba(255,255,255,.12);padding:32px 36px;border-radius:12px;text-align:center;min-width:300px;z-index:100;pointer-events:auto}.game-end-title{color:gold;font-size:1.8rem;margin-bottom:24px}.game-end-results{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.game-end-row{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.game-end-row--winner{background:#ffd7001f;border-color:#ffd70066}.game-end-rank{font-size:13px;color:#888;min-width:20px}.game-end-name{flex:1;text-align:left;font-size:15px;font-weight:500}.game-end-score{font-size:18px;font-weight:700;color:#fff}.game-end-btn{padding:12px 32px;font-size:15px;font-weight:700;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.game-end-btn:hover{background:#43a047}.dice-end-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:200;pointer-events:auto}.dice-end-card{background:#2d2d2df7;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:32px 36px;min-width:360px;max-width:500px;width:90vw;text-align:center;color:#fff;box-shadow:0 8px 40px #0009}.dice-end-title{color:gold;font-size:1.8rem;margin:0 0 24px}.dice-end-results{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.dice-end-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:background .2s}.dice-end-row--winner{background:#ffd70026;border:2px solid #FFD700}.dice-end-row--me{box-shadow:inset 0 0 0 1px #4caf5080}.dice-end-rank{font-size:16px;color:#888;min-width:26px;text-align:center;flex-shrink:0}.dice-end-row--winner .dice-end-rank{color:gold;font-size:20px}.dice-end-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #555;flex-shrink:0}.dice-end-row--winner .dice-end-avatar{border-color:gold}.dice-end-info{flex:1;display:flex;align-items:center;gap:4px;text-align:left;min-width:0}.dice-end-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dice-end-you{color:#4caf50;font-weight:400;margin-left:6px}.dice-end-mvp{height:16px;width:auto;max-width:24px;flex-shrink:0}.dice-end-score{font-size:22px;font-weight:700;color:#fff;flex-shrink:0;min-width:50px;text-align:right}.dice-end-score--gold{color:gold}.dice-end-btn{margin-top:4px;padding:12px 32px;font-size:16px;font-weight:700;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s,transform .1s}.dice-end-btn:hover{background:#43a047;transform:scale(1.03)}.chat-toggle-btn{position:fixed;bottom:20px;right:20px;width:40px;height:40px;border-radius:6px;background:#2d501680;color:#ffffffd9;border:none;font-size:24px;cursor:pointer;transition:background .15s;z-index:1000;display:flex;align-items:center;justify-content:center}.chat-toggle-btn:hover{background:#00000073}.chat-toggle-btn:active{background:#0009}.chat-input-container{position:fixed;bottom:70px;right:20px;display:flex;gap:8px;background:#1a1a1af2;padding:12px;border-radius:8px;box-shadow:0 4px 16px #0006;z-index:1000;animation:slideInUp .2s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-input{width:250px;padding:8px 12px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-size:14px;outline:none}.chat-input:focus{border-color:#4caf50}.chat-send-btn{padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.chat-send-btn:hover:not(:disabled){background:#43a047}.chat-send-btn:disabled{background:#555;cursor:not-allowed;opacity:.5}.chat-messages-container{position:fixed;bottom:70px;right:20px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:350px;z-index:999;pointer-events:none;transition:bottom .2s ease-out}.chat-messages-container.chat-input-visible{bottom:150px}.chat-message-bubble{background:#1a1a1af2;color:#fff;padding:10px 14px;border-radius:8px;font-size:14px;box-shadow:0 2px 8px #0000004d;pointer-events:auto;cursor:pointer;transition:background .2s;word-wrap:break-word;animation:chatMessageLifecycle 10s ease-out forwards}.chat-message-bubble:hover{background:#282828f2}.chat-message-bubble strong{color:gold;margin-right:4px}@keyframes chatMessageLifecycle{0%{opacity:0;transform:translateY(20px)}3%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{to{opacity:0;transform:translateY(-10px)}}
