/* V10: maxfiy rollar, taymer, ovoz berish va mobil o‘yin tajribasi */
.phase-progress{height:5px;border-radius:20px;background:#282c3a;overflow:hidden;margin:-10px 0 15px}
.phase-progress span{display:block;background:linear-gradient(90deg,#e590a1,#ad314e);height:100%;width:0;transition:width .25s linear}
.phase-notice{background:#222737;color:#f2d8e1;border:1px solid #674253;padding:12px 16px;border-radius:11px;font-weight:700;font-size:13px;margin-bottom:16px;box-shadow:0 6px 24px #0005}
.role-dialog{position:fixed;inset:0;z-index:85;display:grid;place-items:center;background:#040610d9;backdrop-filter:blur(10px);padding:14px}
.role-dialog-card{position:relative;width:min(100%,470px);max-height:calc(100dvh - 28px);overflow:auto;text-align:center;padding:35px 28px 25px;background:radial-gradient(circle at 50% 0,#4b2a41,#1b1b2a 65%);border:1px solid #724355;border-radius:23px;box-shadow:0 32px 100px #000a}
.role-dialog-card .auth-kicker{display:block;margin:10px auto 15px;color:#eda6b6}
.role-dialog-card h2{font-size:32px;letter-spacing:-.05em;margin-bottom:10px}
.role-dialog-card p{font-size:13px;line-height:1.75;color:#d3ceda;margin:14px 0}
.role-dialog-card .role-team-text{color:#ffbbc8;font-weight:750}
.role-card-emblem{margin:0 auto 12px;width:84px;height:84px;border-radius:21px;display:grid;place-items:center;background:#a94158;color:#fff;font-size:47px;font-family:Georgia,serif;font-weight:800;box-shadow:0 10px 38px #da567b55}
.v10-role-card{border:1px solid #684158;border-radius:15px;background:linear-gradient(130deg,#382433,#1e202e);padding:22px;margin:15px 0;display:grid;gap:12px}
.v10-role-card.town{background:linear-gradient(130deg,#1e3438,#1e202e);border-color:#477074}
.v10-role-card.neutral{background:linear-gradient(130deg,#423529,#1e202e);border-color:#75634b}
.v10-role-card-label,.v10-end-label{font-size:10px;font-weight:850;letter-spacing:.16em;color:#e3a0b2}
.v10-role-card h3{font-size:26px;letter-spacing:-.05em}.v10-role-card p{font-size:13px;line-height:1.65;color:#d6d4db}
.v10-role-card .btn{justify-self:start}
.v10-end{display:grid;gap:15px}.v10-end>h2{font-size:clamp(22px,3vw,32px);color:#f0b2c1}.v10-end>p{font-size:13px;color:#b9c1d0}
.v10-end-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.v10-end-player{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:#242631;border:1px solid #383b4b;min-width:0}
.v10-end-player>div{flex:1;min-width:0}.v10-end-player strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v10-end-player small{font-size:11px;color:#aab4c8;display:block;margin-top:3px}
.v10-end-avatar{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;background:#593448;border-radius:9px;font-weight:800}
.v10-end-status{font-size:10px;color:#d6afbe;white-space:nowrap}
.vote-track{height:8px;border-radius:10px;overflow:hidden;background:#363948;min-width:0;width:100%;margin:13px 0}
.vote-track span{height:100%;width:0;display:block;background:linear-gradient(90deg,#a93c56,#f08b9d);border-radius:10px}
.v10-vote-receipt{padding:12px 14px;border-left:3px solid #cf7898;background:#362332;border-radius:6px 10px 10px 6px;color:#f2d7e3;font-size:12px;line-height:1.5;margin:12px 0}
.v10-vote-recap{background:#1d2230;padding:15px;border:1px solid #404657;border-radius:13px;margin:12px 0 20px}
.v10-vote-recap h3{font-size:16px;margin-bottom:7px}.v10-vote-recap p{font-size:12px;color:#abb2c5;line-height:1.6}
.v10-vote-result{display:grid;grid-template-columns:120px minmax(0,1fr) 55px;align-items:center;gap:10px;font-size:12px}.v10-vote-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v10-vote-result .vote-track{margin:8px 0}.v10-vote-result strong{font-size:11px;text-align:right}
.v10-vote-recap small{color:#9fa9bf;display:block;margin-top:10px}.v10-event-summary{font-size:13px;color:#d6d5e3;padding:12px 14px;background:#29313d;border-left:3px solid #a9bbd5;border-radius:8px;margin:0 0 12px}
.video-tile.speaking{border-color:#5ee3b3!important;box-shadow:0 0 0 2px #5ee3b355,0 0 20px #39b78f55;transition:border-color .12s,box-shadow .12s}
.video-tile.speaking .tile-name:before{content:'●';font-size:11px;color:#65e8b4;flex-shrink:0}
.inline-retry{margin-left:8px;background:#663147;color:#fff;border:1px solid #ce6e84;border-radius:5px;font-size:11px;padding:5px 8px}
.media-controls{position:relative}.media-btn:focus-visible,.btn:focus-visible,.inline-retry:focus-visible{outline:3px solid #f3aec0;outline-offset:2px}
@media(max-width:800px){.game-header{position:sticky;top:0;background:#11121dec;z-index:20;backdrop-filter:blur(8px)}.game-header .header-center{display:flex;flex-direction:column;gap:3px}.game-header .header-center strong{font-size:10px}.game-header .brand.compact{display:none}.arena-top{margin-bottom:13px}.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.media-controls{margin:10px 0 19px}.media-btn{min-height:42px}.game-layout{min-height:0}.action-panel{scroll-margin-top:85px}.sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.chat-messages{max-height:320px}}
@media(max-width:600px){.game-header{padding:10px}.game-header .header-center{align-items:flex-start}.room-tools{gap:5px}.game-rules-link{display:none}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-tile{aspect-ratio:4/3}.arena{padding:15px 11px}.arena-top h1{font-size:20px}.media-controls .media-caption{font-size:10px;line-height:1.5}.sidebar{display:flex;flex-direction:column}.sidebar>.side-block{width:100%}.v10-end-roster{grid-template-columns:1fr}.v10-vote-result{grid-template-columns:88px minmax(0,1fr) 47px}.role-dialog-card{padding:24px 18px}.role-dialog-card h2{font-size:26px}.phase-progress{margin-top:-5px}.vote-track{margin:10px 0}}
@media(max-width:370px){.game-header .header-center strong{display:none}.room-code{padding:6px}.room-tools .icon-button{padding:5px 8px}.video-grid{gap:5px}}
@media(prefers-reduced-motion:reduce){.phase-progress span,.video-tile.speaking{transition:none}.hero-countdown{animation:none!important}}
