.login-screen{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1a0a00 0%,#3d1a0a 50%,#1a0a00 100%);padding:20px}.login-container{background:rgba(0,0,0,.7);border:2px solid #8b4513;border-radius:16px;padding:40px;max-width:400px;width:100%;text-align:center;box-shadow:0 10px 40px #00000080}.login-header{margin-bottom:30px}.login-logo{width:120px;height:auto;margin-bottom:16px}.login-title{font-family:Rye,Georgia,serif;font-size:2.5rem;color:#d4a574;margin:0 0 8px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.login-subtitle{color:#a89070;font-size:1rem;margin:0}.login-loading{color:#d4a574;font-size:1.2rem;padding:40px}.login-error{background:rgba(220,53,69,.2);border:1px solid #dc3545;color:#ff6b6b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.login-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.login-button.google{background:#ffffff;color:#333}.login-button.google:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.google-icon{width:20px;height:20px}.login-info{margin-top:24px;color:#888;font-size:.85rem;line-height:1.5}@font-face{font-family:BangTitle;src:url(/data/gfx/fonts/western_bang_bang.woff) format("woff"),url(/data/gfx/fonts/western_bang_bang.ttf) format("truetype")}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:url(/data/gfx/game/background.jpg) no-repeat center center fixed;background-size:cover;min-height:100vh;color:#fff}.app{min-height:100vh;display:flex;flex-direction:column}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,#c9a227,#8b6914);color:#fff}.btn-secondary{background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3)}.btn-danger{background:linear-gradient(135deg,#dc3545,#a71d2a);color:#fff}.btn-success{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.main-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}.logo{max-width:400px;margin-bottom:40px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.menu-box{background:rgba(0,0,0,.7);border-radius:16px;padding:40px;max-width:400px;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(201,162,39,.3)}.menu-title{font-family:BangTitle,serif;font-size:36px;text-align:center;margin-bottom:30px;color:#c9a227;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;color:#c9a227;font-weight:700}.input-group input,.input-group select{width:100%;padding:12px 16px;border:2px solid rgba(201,162,39,.3);border-radius:8px;background:rgba(0,0,0,.5);color:#fff;font-size:16px}.input-group input:focus,.input-group select:focus{outline:none;border-color:#c9a227}.menu-buttons{display:flex;flex-direction:column;gap:12px;margin-top:20px}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(201,162,39,.3)}.user-avatar{width:48px;height:48px;border-radius:50%;border:2px solid rgba(201,162,39,.5);object-fit:cover}.user-details{display:flex;flex-direction:column;gap:4px}.user-details .user-name{font-weight:700;color:#c9a227;font-size:16px}.logout-link{background:none;border:none;color:#888;font-size:12px;cursor:pointer;padding:0;text-align:left}.logout-link:hover{color:#dc3545;text-decoration:underline}.lobby-container{display:flex;gap:20px;padding:20px;min-height:100vh}.lobby-list{flex:1;background:rgba(0,0,0,.7);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(201,162,39,.3);max-height:80vh;overflow-y:auto}.lobby-item{background:rgba(255,255,255,.1);border-radius:8px;padding:16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.lobby-item:hover{background:rgba(201,162,39,.2)}.lobby-info h3{color:#c9a227;margin-bottom:4px}.lobby-players{color:#888;font-size:14px}.in-lobby{flex:1;background:rgba(0,0,0,.7);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(201,162,39,.3)}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid rgba(201,162,39,.3)}.lobby-header h2{font-family:BangTitle,serif;color:#c9a227;font-size:28px}.player-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px}.player-card{background:rgba(255,255,255,.1);border-radius:12px;padding:16px;text-align:center;border:2px solid transparent;transition:all .2s}.player-card.ready{border-color:#28a745}.player-card.host{border-color:#c9a227}.player-name{font-weight:700;margin-bottom:8px}.player-status{font-size:12px;color:#888}.player-status.ready{color:#28a745}.lobby-actions{display:flex;gap:12px;justify-content:center}.character-select{min-height:100vh;padding:20px}.character-select h2{font-family:BangTitle,serif;color:#c9a227;font-size:36px;text-align:center;margin-bottom:30px}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;max-width:1200px;margin:0 auto}.character-card{background:rgba(0,0,0,.7);border-radius:12px;padding:16px;text-align:center;cursor:pointer;transition:all .3s;border:3px solid transparent}.character-card:hover{transform:translateY(-5px);border-color:#c9a227}.character-card.selected{border-color:#28a745;box-shadow:0 0 20px #28a74580}.character-card.taken{opacity:.5;cursor:not-allowed}.character-card img{width:100%;max-width:150px;border-radius:8px;margin-bottom:12px}.character-card h3{color:#c9a227;margin-bottom:8px}.character-card .lives{color:#dc3545;font-size:14px;margin-bottom:8px}.character-card .ability{color:#888;font-size:12px;line-height:1.4}.game-container{display:flex;flex-direction:column;min-height:100vh;padding:10px;overflow:hidden}.game-table{flex:1;background:url(/data/gfx/game/table_background.jpg) center center;background-size:cover;border-radius:14px;border:3px solid burlywood;padding:14px;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;min-height:0;overflow:hidden}.opponents-row{display:flex;justify-content:space-around;gap:10px;margin-bottom:14px;flex-shrink:0}.game-center{flex:1;display:flex;justify-content:center;align-items:center;gap:15px;min-height:0;flex-shrink:1}.deck-area{display:flex;gap:15px;align-items:center}.deck,.discard{width:85px;height:120px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.deck{background:url(/data/gfx/cards/back-playing.png) center center no-repeat;background-size:contain}.discard{background:rgba(0,0,0,.3);border:2px dashed rgba(255,255,255,.3)}.discard.has-cards{border:none}.my-area{margin-top:14px;flex-shrink:0;padding-bottom:10px}.player-board{background:url(/data/gfx/game/player_background.jpg) center center;background-size:cover;border-radius:14px;padding:16px;min-width:300px;max-width:360px;box-shadow:0 6px 20px #0009,0 2px 8px #0006,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid rgba(201,162,39,.2);position:relative;overflow:hidden}.player-board:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(201,162,39,.05) 0%,rgba(0,0,0,.1) 100%);pointer-events:none;z-index:0}.player-board>*{position:relative;z-index:1}.player-board.current-turn{box-shadow:0 0 30px #c9a227e6,0 8px 24px #0009,inset 0 0 20px #c9a22733;border-color:#c9a22799;transform:translateY(-2px);animation:turnPulse 2s ease-in-out infinite}@keyframes turnPulse{0%,to{box-shadow:0 0 30px #c9a227e6,0 8px 24px #0009,inset 0 0 20px #c9a22733}50%{box-shadow:0 0 40px #c9a227,0 8px 24px #0009,inset 0 0 25px #c9a2274d}}.player-board.dead{opacity:.5;filter:grayscale(1);border-color:#6464644d}.player-board.targetable{cursor:pointer}.player-board.targetable:hover{box-shadow:0 0 30px #dc3545e6,0 8px 24px #0009,inset 0 0 20px #dc354533;border-color:#dc354599;transform:translateY(-3px) scale(1.02)}.player-board.being-aimed-at{animation:pulse-danger 1s ease-in-out infinite}@keyframes pulse-danger{0%,to{box-shadow:0 0 30px #dc354599,0 8px 24px #0009,inset 0 0 20px #dc354526}50%{box-shadow:0 0 50px #dc3545e6,0 8px 24px #0009,inset 0 0 30px #dc35454d}}.crosshair-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);border-radius:14px;z-index:100;pointer-events:none;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.crosshair-gun{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,0,0,.8));animation:aimPulse .5s ease-in-out infinite}@keyframes aimPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(255,0,0,.8))}50%{transform:scale(1.1);filter:drop-shadow(0 0 20px rgba(255,0,0,1))}}.player-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.player-character{width:82px;height:110px;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:8px;box-shadow:0 4px 12px #00000080,0 2px 4px #0000004d,inset 0 1px #ffffff1a;border:2px solid rgba(201,162,39,.3);transition:all .3s;flex-shrink:0}.player-board:hover .player-character{box-shadow:0 6px 16px #0009,0 2px 6px #0006,inset 0 1px #ffffff26;transform:scale(1.03)}.player-info{flex:1;min-width:0}.player-info .name{font-weight:700;color:#c9a227;margin-bottom:8px;font-size:18px;text-shadow:2px 2px 4px rgba(0,0,0,.9),0 0 8px rgba(201,162,39,.3);letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-bar{display:flex;gap:0px;align-items:center;margin-bottom:6px;background:rgba(0,0,0,.3);border-radius:6px;padding:4px 6px;border:1px solid rgba(201,162,39,.2);box-shadow:inset 0 2px 4px #0000004d}.bullet{width:30px;height:30px;background:url(/data/gfx/game/bullet.png) center center no-repeat;background-size:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));transition:all .2s ease;margin-left:-2px}.bullet:first-child{margin-left:0}.bullet.lost{opacity:.25;filter:grayscale(.8) drop-shadow(0 1px 2px rgba(0,0,0,.3));transform:scale(.9)}.role-badge{width:42px;height:58px;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:6px;box-shadow:0 3px 8px #0006,inset 0 1px #ffffff1a;border:2px solid rgba(201,162,39,.3);transition:all .3s;flex-shrink:0}.player-board:hover .role-badge{box-shadow:0 4px 12px #00000080,inset 0 1px #ffffff26;transform:scale(1.05)}.player-table-cards{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;padding:8px;background:rgba(0,0,0,.25);border-radius:8px;border:1px solid rgba(201,162,39,.15)}.table-card{width:52px;height:73px;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:6px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 6px #0006,0 1px 2px #0000004d;border:1px solid rgba(201,162,39,.2)}.table-card:hover{transform:translateY(-4px) scale(1.12);box-shadow:0 6px 12px #00000080,0 0 15px #c9a22766;border-color:#c9a22780;z-index:10;position:relative}.hand-count{background:linear-gradient(135deg,rgba(0,0,0,.7),rgba(20,20,20,.7));padding:8px 12px;border-radius:8px;font-size:13px;margin-top:12px;font-weight:700;text-align:center;border:1px solid rgba(201,162,39,.3);box-shadow:inset 0 2px 4px #0000004d,0 2px 4px #0003;color:#c9a227;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.player-hand-cards{display:flex;flex-wrap:nowrap;margin-top:10px;padding:8px;background:rgba(0,0,0,.25);border-radius:8px;border:1px solid rgba(201,162,39,.15);min-height:60px;align-items:center;justify-content:flex-start;overflow:visible;position:relative}.hand-card-hidden{width:40px;height:56px;background-size:cover;background-position:center;border-radius:6px;border:2px solid rgba(201,162,39,.3);box-shadow:0 2px 6px #0006,inset 0 1px #ffffff1a;transition:all .3s ease;cursor:default;flex-shrink:0;margin-left:-12px;position:relative;transform-origin:center bottom}.hand-card-hidden:first-child{margin-left:0}.hand-card-hidden:hover{transform:translateY(-4px) rotate(5deg) scale(1.1);z-index:5;box-shadow:0 4px 12px #0009,inset 0 1px #ffffff26}.hand-card-hidden:nth-child(1){transform:rotate(-8deg)}.hand-card-hidden:nth-child(2){transform:rotate(-5deg)}.hand-card-hidden:nth-child(3){transform:rotate(-2deg)}.hand-card-hidden:nth-child(4){transform:rotate(0)}.hand-card-hidden:nth-child(5){transform:rotate(2deg)}.hand-card-hidden:nth-child(6){transform:rotate(5deg)}.hand-card-hidden:nth-child(7){transform:rotate(8deg)}.hand-card-hidden:nth-child(8){transform:rotate(10deg)}.hand-card-hidden:nth-child(9){transform:rotate(12deg)}.hand-card-hidden:nth-child(10){transform:rotate(14deg)}.hand-card-hidden:hover{transform:translateY(-4px) rotate(0) scale(1.1)!important;z-index:5}.hand-card-hidden.hovered{transform:translateY(-12px) rotate(0) scale(1.25)!important;z-index:10!important;margin-left:-8px;margin-right:4px;box-shadow:0 8px 20px #c9a227b3,0 0 25px #c9a22780,inset 0 1px #fff3!important;border-color:#c9a227e6!important}.hand-count-empty{color:#ffffff80;font-size:12px;font-style:italic;text-align:center;width:100%}.my-hand{display:flex;justify-content:center;align-items:flex-end;gap:-25px;padding:20px;background:rgba(0,0,0,.5);border-radius:12px;perspective:1000px;min-height:180px;max-height:200px}.hand-card{width:115px;height:161px;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:10px;cursor:pointer;margin-left:-35px;box-shadow:0 4px 12px #0006,0 2px 4px #0000004d;transition:all .4s cubic-bezier(.34,1.56,.64,1);transform-origin:center bottom;position:relative;will-change:transform;backface-visibility:hidden;animation:cardAppear .5s ease-out backwards}.hand-card:first-child{margin-left:0}.hand-card:nth-child(1){animation-delay:.05s}.hand-card:nth-child(2){animation-delay:.1s}.hand-card:nth-child(3){animation-delay:.15s}.hand-card:nth-child(4){animation-delay:.2s}.hand-card:nth-child(5){animation-delay:.25s}.hand-card:nth-child(6){animation-delay:.3s}.hand-card:nth-child(7){animation-delay:.35s}.hand-card:nth-child(8){animation-delay:.4s}.hand-card:nth-child(9){animation-delay:.45s}.hand-card:nth-child(10){animation-delay:.5s}@keyframes cardAppear{0%{opacity:0;transform:translateY(50px) scale(.8) rotate(-5deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.hand-card:hover{transform:translateY(-35px) scale(1.15) rotate(2deg);z-index:100;box-shadow:0 8px 24px #0009,0 0 30px #c9a22766;filter:brightness(1.1)}.hand-card.selected{transform:translateY(-40px) scale(1.2) rotate(0);z-index:100;box-shadow:0 10px 30px #000000b3,0 0 40px #c9a227cc,inset 0 0 20px #c9a2274d;filter:brightness(1.15);border:2px solid rgba(201,162,39,.8);animation:selectedPulse 1.5s ease-in-out infinite}@keyframes selectedPulse{0%,to{box-shadow:0 10px 30px #000000b3,0 0 40px #c9a227cc,inset 0 0 20px #c9a2274d}50%{box-shadow:0 10px 30px #000000b3,0 0 50px #c9a227,inset 0 0 25px #c9a22780}}.hand-card.playable{border:2px solid #28a745;box-shadow:0 4px 12px #0006,0 0 15px #28a74580}.hand-card.playable:hover{box-shadow:0 8px 24px #0009,0 0 25px #28a745b3;border-color:#28a745}.my-hand:hover .hand-card:not(:hover){transform:translateY(-10px) scale(.95);opacity:.85}.game-actions{display:flex;justify-content:center;align-items:center;gap:10px;padding:12px;background:rgba(0,0,0,.7);border-radius:12px;margin-top:8px;flex-wrap:wrap;font-size:14px}.pending-action-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 24px;background:rgba(34,69,34,.95);border-radius:12px;width:100%;max-width:800px;margin:0 auto;box-shadow:0 4px 12px #00000080}.pending-action-message{color:#dc3545;font-weight:700;font-size:16px;text-align:center;flex:1;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.chat-log-box{position:fixed;right:10px;bottom:10px;width:320px;max-height:calc(100vh - 20px);background:rgba(0,0,0,.85);border-radius:12px;border:2px solid rgba(201,162,39,.3);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #0009;z-index:100}.chat-log-header{padding:12px 16px;border-bottom:2px solid rgba(201,162,39,.3);background:linear-gradient(135deg,rgba(201,162,39,.1),rgba(139,105,20,.1));flex-shrink:0}.chat-log-header h3{color:#c9a227;margin:0;font-family:BangTitle,serif;font-size:17px;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.chat-log-messages{flex:1;overflow-y:auto;padding:12px;min-height:180px;max-height:calc(100vh - 280px);font-size:13px}.log-entry{margin-bottom:4px;color:#aaa;font-style:italic;border-left:3px solid rgba(201,162,39,.4);padding:6px 0 6px 8px;font-size:12px}.log-entry .log-icon{margin-right:6px;opacity:.7}.log-entry:last-child{margin-bottom:4px}.message-divider{height:1px;background:linear-gradient(to right,transparent,rgba(201,162,39,.4),transparent);margin:8px 0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:20000}.modal{background:rgba(20,20,20,.95);border-radius:16px;padding:30px;max-width:600px;width:90%;border:2px solid rgba(201,162,39,.5)}.modal h2{font-family:BangTitle,serif;color:#c9a227;margin-bottom:20px;text-align:center}.modal-cards{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.modal-card{width:100px;height:140px;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:8px;cursor:pointer;transition:all .2s;border:3px solid transparent}.modal-card:hover{transform:scale(1.05);border-color:#c9a227}.modal-buttons{display:flex;justify-content:center;gap:12px}.game-over{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.game-over h1{font-family:BangTitle,serif;font-size:64px;color:#c9a227;margin-bottom:20px;text-shadow:0 0 20px rgba(201,162,39,.5)}.game-over .winners{font-size:24px;color:#fff;margin-bottom:40px}.card-tooltip{position:fixed;background:linear-gradient(135deg,rgba(20,20,20,.98),rgba(30,30,30,.98));border:2px solid rgba(201,162,39,.8);border-radius:12px;padding:16px;min-width:280px;max-width:320px;z-index:10000;pointer-events:none;transform:translate(-50%,-100%);margin-top:-10px;box-shadow:0 8px 32px #000c,0 0 20px #c9a22766;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:tooltipAppear .2s ease-out}@keyframes tooltipAppear{0%{opacity:0;transform:translate(-50%,-100%) scale(.9)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(201,162,39,.3)}.tooltip-header h3{color:#c9a227;font-family:BangTitle,serif;font-size:20px;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.tooltip-value{background:rgba(201,162,39,.2);border:1px solid rgba(201,162,39,.5);border-radius:6px;padding:4px 10px;font-size:16px;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.tooltip-category{font-size:12px;font-weight:700;margin-bottom:10px;padding:6px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.tooltip-category.hneda{background:rgba(139,69,19,.3);color:#d4a574;border:1px solid rgba(139,69,19,.5)}.tooltip-category.modra{background:rgba(30,144,255,.3);color:#87ceeb;border:1px solid rgba(30,144,255,.5)}.tooltip-info{font-weight:400;font-size:11px;opacity:.8}.tooltip-description{color:#ddd;font-size:13px;line-height:1.6;margin-bottom:8px}.tooltip-range{margin-top:10px;padding-top:10px;border-top:1px solid rgba(201,162,39,.3);color:#c9a227;font-weight:700;font-size:13px}.chat-log-messages .chat-message{margin-bottom:8px;font-size:13px;padding:4px 0;color:#fff}.chat-log-messages .chat-message .author{color:#c9a227;font-weight:700}.chat-input{display:flex;border-top:1px solid rgba(201,162,39,.3);flex-shrink:0}.chat-input input{flex:1;padding:11px;border:none;background:rgba(0,0,0,.5);color:#fff;font-size:13px}.chat-input input:focus{outline:none}.chat-input button{padding:11px 16px;background:#c9a227;border:none;color:#000;cursor:pointer;font-size:13px;font-weight:700}.hand-card.sid-selected{transform:translateY(-40px) scale(1.2) rotate(0);z-index:100;box-shadow:0 10px 30px #000000b3,0 0 40px #28a745cc,inset 0 0 20px #28a7454d;filter:brightness(1.15);border:3px solid rgba(40,167,69,.9);animation:sidSelectedPulse 1.5s ease-in-out infinite}@keyframes sidSelectedPulse{0%,to{box-shadow:0 10px 30px #000000b3,0 0 40px #28a745cc,inset 0 0 20px #28a7454d}50%{box-shadow:0 10px 30px #000000b3,0 0 50px #28a745,inset 0 0 25px #28a74580}}.btn-warning{background:linear-gradient(135deg,#ffc107,#e0a800);color:#000}@media (max-width: 768px){.opponents-row{flex-wrap:wrap}.player-board{min-width:280px;max-width:320px;padding:14px}.player-character{width:75px;height:100px}.role-badge{width:38px;height:52px}.bullet{width:26px;height:26px}.hand-card{width:70px;height:98px;margin-left:-20px}.chat-log-box{width:280px;max-height:calc(100vh - 20px);bottom:8px;right:8px}.chat-log-header h3{font-size:15px;padding:10px 12px}.chat-log-messages{font-size:12px;max-height:calc(100vh - 260px);padding:10px}.player-board{min-width:260px;max-width:320px;padding:14px}.my-hand{min-height:160px;max-height:180px;padding:18px}.hand-card{width:100px;height:140px;margin-left:-30px}}
