@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/oswald-400.ttf) format("truetype")}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/oswald-500.ttf) format("truetype")}@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/oswald-600.ttf) format("truetype")}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/oswald-700.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-500.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-600.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-700.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/inter-800.ttf) format("truetype")}:root{color-scheme:dark;--font-display: "Oswald", "Arial Narrow", "Roboto Condensed", sans-serif;--font-body: "Oswald", "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;font-family:var(--font-display);background:#0a0a0f;color:#e0e0e0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:#0a0a0f;overflow:hidden}#app{min-height:100vh}button{cursor:pointer;border:none;font-family:inherit;-webkit-tap-highlight-color:transparent}.btn-gold{padding:1rem 1.25rem;background:#0e0e14e0;backdrop-filter:blur(6px);border:1px solid #1e1e28;border-radius:10px;color:#aaa;font-size:1rem;font-weight:600;letter-spacing:2px;transition:transform 80ms ease-out,border-color .2s ease,color .2s ease,box-shadow .2s ease,background .2s ease;will-change:transform}.btn-gold:hover{border-color:#c9a84c;color:#c9a84c;box-shadow:0 0 20px #c9a84c33,inset 0 0 20px #c9a84c0d}.btn-gold:active{transform:scale(.97)}.btn-ghost{padding:.875rem 1.5rem;background:#0a0a10d9;backdrop-filter:blur(8px);border:1px solid #c9a84c;border-radius:16px;color:#c9a84c;font-size:1.125rem;font-weight:700;letter-spacing:2px;transition:transform 80ms ease-out,box-shadow .2s ease,opacity .2s ease;will-change:transform}.btn-ghost:active{transform:scale(.97)}.btn-reward{padding:1rem 1.25rem;background:linear-gradient(135deg,#8e44ad40,#c9a84c33);backdrop-filter:blur(6px);border:1px solid rgba(142,68,173,.5);border-radius:10px;color:#e8d48a;font-size:.9375rem;font-weight:700;letter-spacing:1px;transition:transform 80ms ease-out,border-color .2s ease,box-shadow .2s ease;will-change:transform}.btn-reward:hover{border-color:#8e44adcc;box-shadow:0 0 20px #8e44ad4d,inset 0 0 20px #8e44ad0d}.btn-reward:active{transform:scale(.97)}.btn-ghost-sm{padding:.75rem 1.25rem;background:#0e0e14e0;border:1px solid #2a2a34;border-radius:10px;color:#888;font-size:.875rem;font-weight:600;letter-spacing:3px;transition:transform 80ms ease-out,border-color .2s ease,color .2s ease;will-change:transform}.btn-ghost-sm:hover{border-color:#c9a84c;color:#c9a84c}.btn-ghost-sm:active{transform:scale(.97)}.overlay-material{will-change:transform,opacity,filter}#table-area{will-change:filter}.player-chip{transition:transform .1s ease-out,box-shadow .2s ease;will-change:transform}.player-chip:active{transform:scale(.95)}#phase-timer{will-change:transform;font-variant-numeric:tabular-nums}.night-action-icon,.role-deal-card{will-change:transform,filter}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 1200px){.game-layout{font-size:14px}}@media (max-width: 900px){.game-layout{font-size:13px}}@media (max-width: 600px){.game-layout{font-size:12px}}.faction-vote-btn{padding:.5625rem .875rem;background:linear-gradient(180deg,#3a1212,#2a0d0d);border:1px solid #5a1a1a;color:#ff9a9a;border-radius:6px;font-size:.875rem;font-weight:700;cursor:pointer;transition:transform 80ms ease-out,background .15s ease,color .15s ease,border-color .15s ease;text-shadow:0 1px 2px rgba(0,0,0,.6);will-change:transform}.faction-vote-btn:hover{background:#5a1a1a;color:#fff;border-color:#8a2a2a;transform:translateY(-1px)}.faction-vote-btn:active{transform:scale(.96) translateY(0)}.faction-vote-btn.voted{background:#8a1a1a;border-color:#ff5a5a;color:#fff}.faction-vote-btn:disabled{opacity:.45;cursor:default;transform:none}.btn-profile{display:flex;align-items:center;gap:.875rem;padding:.625rem 1.375rem .625rem .625rem;background:#0a0a10d9;backdrop-filter:blur(8px);border:1px solid #c9a84c;border-radius:16px;color:#c9a84c;font-size:1.125rem;font-weight:700;letter-spacing:2px;transition:transform 80ms ease-out,box-shadow .2s ease;will-change:transform;z-index:10;font-family:var(--font-display)}.btn-profile:hover{box-shadow:0 0 20px #c9a84c33}.btn-profile:active{transform:scale(.97)}.tab-btn{flex:1;padding:.5rem 0;background:none;border:none;border-bottom:2px solid transparent;color:#555;font-size:.75rem;font-weight:600;letter-spacing:2px;cursor:pointer;font-family:var(--font-display);transition:color .15s ease,border-color .15s ease,transform 80ms ease-out}.tab-btn:hover{color:#888}.tab-btn:active{transform:scale(.97)}.tab-btn-active{border-bottom-color:#c9a84c;color:#c9a84c}.btn-beta{padding:.875rem 1.25rem;background:#0e0e14e0;backdrop-filter:blur(6px);border:1px dashed rgba(204,68,68,.4);border-radius:10px;color:#c44;font-size:.875rem;font-weight:600;letter-spacing:2px;transition:transform 80ms ease-out,border-color .2s ease,color .2s ease;will-change:transform;font-family:var(--font-display);display:flex;justify-content:space-between;align-items:center}.btn-beta:hover{border-color:#cc4444b3;color:#f66}.btn-beta:active{transform:scale(.97)}.btn-link{padding:.375rem .75rem;background:#c9a84c1a;border:1px solid rgba(201,168,76,.27);border-radius:6px;color:#c9a84c;font-size:.6875rem;font-weight:700;letter-spacing:1px;cursor:pointer;transition:transform 80ms ease-out,background .2s ease,border-color .2s ease;font-family:var(--font-display)}.btn-link:hover{background:#c9a84c33;border-color:#c9a84c80}.btn-link:active{transform:scale(.95)}.btn-overlay{width:100%;margin-top:1.375rem;padding:.75rem;background:#c9a84c1f;border:1px solid rgba(201,168,76,.4);border-radius:8px;color:#c9a84c;font-size:.8125rem;font-weight:700;letter-spacing:2px;cursor:pointer;font-family:var(--font-display);transition:transform 80ms ease-out,background .2s ease}.btn-overlay:hover{background:#c9a84c33}.btn-overlay:active{transform:scale(.97)}.reward-role-option{padding:.5rem .875rem;background:#0e0e14e6;border:1px solid #1e1e28;border-radius:8px;color:#ccc;font-size:.8125rem;font-weight:600;cursor:pointer;transition:transform 80ms ease-out,border-color .15s ease,color .15s ease,background .15s ease;font-family:var(--font-display);display:flex;align-items:center;gap:6px;will-change:transform}.reward-role-option:hover{border-color:#c9a84c;color:#c9a84c;background:#c9a84c14}.reward-role-option:active{transform:scale(.95)}.chip-hover-target{opacity:0;transition:opacity .15s ease}.player-chip:hover .chip-hover-target{opacity:1}.chip-hover-target svg{animation:targetSpin 4s linear infinite}@keyframes targetSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.radar-sweep{animation:none!important}.chip-hover-target svg{animation:none!important}}@media (prefers-reduced-transparency: reduce){.btn-gold,.btn-ghost,.btn-reward,.btn-ghost-sm,.btn-profile{backdrop-filter:none;background:#13131a}}@media (max-width: 768px),(max-height: 500px) and (orientation: landscape){.lobby-wrap{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;height:auto!important;min-height:100vh!important}.lobby-wrap>div[style*="position:absolute"]{display:none!important}.lobby-top-bar{position:relative!important;top:auto!important;left:auto!important;right:auto!important;display:flex!important;flex-wrap:wrap!important;gap:6px!important;padding:10px!important;background:#0a0a10f2!important;border-bottom:1px solid #1e1e28!important;z-index:10!important;justify-content:center!important}.lobby-top-bar .btn-ghost{padding:8px 12px!important;font-size:11px!important;letter-spacing:1px!important;position:static!important}.lobby-top-bar .btn-profile{padding:6px 12px 6px 6px!important;gap:8px!important;position:static!important}.lobby-top-bar .btn-profile img{width:36px!important;height:36px!important}.lobby-top-bar .btn-profile span{font-size:12px!important}.lobby-main{flex-direction:column!important;gap:12px!important;padding:10px!important;align-items:stretch!important;justify-content:flex-start!important}.lobby-left{max-width:100%!important;width:100%!important}.lobby-left h1{font-size:18px!important;letter-spacing:3px!important;text-align:center!important}.lobby-left p{font-size:11px!important;text-align:center!important}.lobby-right{max-width:100%!important;width:100%!important;flex-direction:column!important;gap:12px!important}.lobby-right>div{max-width:100%!important;width:100%!important}.lobby-diff-btns{gap:6px!important}.lobby-diff-btns .btn-gold,.lobby-diff-btns .diff-btn,.lobby-diff-btns .btn-reward{padding:12px 14px!important;font-size:13px!important}.lobby-diff-btns .btn-gold span:last-child,.lobby-diff-btns .diff-btn span:last-child{font-size:10px!important;display:none!important}.game-grid{grid-template-columns:1fr!important;grid-template-rows:auto minmax(280px,1.6fr) auto!important}.game-left-panel{max-height:88px!important;border-right:none!important;border-bottom:1px solid #1a1a22!important}.game-left-panel .player-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))!important;gap:3px!important;padding:4px!important}.game-left-panel .player-grid .player-icon{width:32px!important;height:32px!important}.game-left-panel .player-grid .player-icon img{width:30px!important;height:30px!important}.game-left-panel .roles-section{max-height:80px!important;padding:6px!important;font-size:11px!important}.game-right-panel{max-height:110px!important;border-left:none!important;border-top:1px solid #1a1a22!important;padding:6px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}.game-topbar{display:grid!important;grid-template-columns:1fr auto!important;grid-template-areas:"title controls" "stats stats"!important;gap:4px 8px!important;padding:6px 8px!important;min-height:auto!important;align-items:center!important}.game-topbar .topbar-title{grid-area:title!important;font-size:14px!important;letter-spacing:1px!important;width:auto!important;text-align:left!important}.game-topbar .topbar-stats{grid-area:stats!important;gap:6px!important;font-size:11px!important;justify-content:space-between!important}.game-topbar .topbar-controls{grid-area:controls!important;gap:6px!important;justify-content:flex-end!important}.game-topbar .topbar-stats{gap:4px!important;font-size:11px!important}.game-topbar .topbar-stats>div{gap:3px!important;padding:3px 6px!important}.game-topbar .topbar-stats>div>span{font-size:11px!important}.game-topbar .topbar-stats svg{width:14px!important;height:14px!important}.game-topbar .topbar-controls{gap:4px!important}.game-topbar .topbar-controls button{width:30px!important;height:30px!important}.mafia-chat-panel{flex:0 0 140px!important}.mafia-chat-panel .chat-messages{font-size:12px!important;padding:6px!important}.protocol-panel{max-height:100px!important;padding:6px!important}.protocol-panel>div:first-child{font-size:12px!important}.modal-inner{max-width:96vw!important;padding:16px!important;max-height:92vh!important}}@media (max-width: 380px){.lobby-top-bar .btn-ghost{padding:6px 8px!important;font-size:10px!important}.lobby-diff-btns .btn-gold,.lobby-diff-btns .diff-btn{padding:10px 12px!important;font-size:12px!important}.game-topbar .topbar-title{font-size:11px!important}.game-topbar .topbar-stats>div>span{font-size:10px!important}}@media (max-height: 500px) and (orientation: landscape){.lobby-wrap{overflow-y:auto!important}.lobby-main{flex-direction:column!important}.lobby-left,.lobby-right{max-width:100%!important;width:100%!important}.game-grid{grid-template-columns:150px minmax(0,1fr) 150px!important;grid-template-rows:1fr!important}.game-left-panel{max-height:none!important;border-right:1px solid #1a1a22!important;border-bottom:none!important;overflow-y:auto!important}.game-left-panel .player-grid{display:grid!important;grid-template-columns:1fr 1fr!important;overflow-x:hidden!important;overflow-y:auto!important}.game-left-panel .player-grid .player-row{flex:none!important;flex-direction:row!important;align-items:center!important;gap:6px!important;padding:4px 6px!important}.game-right-panel{max-height:none!important;border-left:1px solid #1a1a22!important;border-top:none!important;overflow-y:auto!important}.game-topbar{padding:2px 6px!important}.game-topbar .topbar-title{display:none!important}.mafia-chat-panel{flex:0 0 90px!important}.protocol-panel{max-height:70px!important}}html{font-size:16px}body,#app{min-height:100vh;min-height:100dvh}.game-root,.lobby-wrap{height:100vh;height:100dvh}.game-root,.lobby-wrap{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box}@media (hover: none) and (pointer: coarse){body,button,input,select,textarea,label{touch-action:manipulation}.btn-gold,.btn-ghost,.btn-reward,.btn-ghost-sm,.btn-overlay,.btn-beta,.uiscale-btn{min-height:44px}.tab-btn{min-height:44px;padding-top:.625rem;padding-bottom:.625rem}.player-row{min-height:44px}#music-toggle-btn,#voice-toggle-btn,#game-profile-btn{min-width:44px!important;min-height:44px!important}}@media (max-width: 768px){.modal-inner{max-height:92vh!important;max-height:92dvh!important}}@media (max-width: 768px),(max-height: 500px) and (orientation: landscape){#sound-controls{top:auto!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;left:auto!important;right:16px!important;flex-direction:row!important}#sound-controls button{padding:10px 12px!important;font-size:13px!important;min-height:44px}body[data-screen=lobby] #sound-controls{position:static!important;margin:12px auto 0!important;justify-content:center!important}body[data-screen=lobby] .lobby-wrap{padding-bottom:12px!important}.game-left-panel{max-height:168px!important}.game-left-panel .player-grid{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;max-height:none!important;align-items:stretch!important}.game-left-panel .player-grid .player-row{flex:0 0 68px!important}.game-left-panel .roles-section,.game-left-panel .roles-info-full,.game-right-panel .role-card-block{display:none!important}.roles-info-compact{display:flex!important}body[data-phase*=night] .game-left-panel{display:none!important}.you-role-block span{font-size:16px!important;white-space:nowrap!important}.you-role-block{padding:4px 10px!important;gap:6px!important}.day-block span{font-size:16px!important}.day-block{padding:4px 10px!important;gap:6px!important}}@media (max-height: 760px){#role-deal-row{height:56vh!important;height:56dvh!important;gap:12px!important}.role-deal-card{width:min(30vh,28vw)!important;width:min(30dvh,28vw)!important;height:min(45vh,42vw)!important;height:min(45dvh,42vw)!important;border-radius:16px!important}.role-deal-flip{width:min(30vh,28vw)!important;width:min(30dvh,28vw)!important;height:min(45vh,42vw)!important;height:min(45dvh,42vw)!important;margin-left:calc(min(30vh,28vw)/-2)!important;margin-top:calc(min(45vh,42vw)/-2)!important;border-radius:16px!important}.role-deal-label{font-size:16px!important;margin-bottom:8px!important}.role-deal-role{font-size:30px!important;letter-spacing:2px!important}.mark-splash-emoji{display:none!important}.mark-splash-title{font-size:30px!important;letter-spacing:3px!important;margin-bottom:8px!important}.mark-splash-sub{font-size:14px!important;white-space:normal!important;max-width:92vw!important}#marking-timer{margin-top:10px!important;font-size:34px!important}.vote-splash-title{font-size:24px!important;letter-spacing:4px!important}.vote-splash-sub{font-size:11px!important;letter-spacing:2px!important}.vote-splash-foot{display:none!important}.chip-label span{font-size:10px!important}}@media (max-height: 500px){#insights-spoiler{overflow-y:auto!important;justify-content:flex-start!important;padding:12px 0!important}.briefing-badge{display:none!important}.briefing-content{padding-top:0!important;width:min(680px,92vw)!important}.briefing-title{font-size:24px!important;letter-spacing:3px!important;margin-bottom:4px!important}.briefing-sub{font-size:13px!important;margin-bottom:12px!important}.briefing-body{font-size:16px!important;line-height:1.5!important}}
