*{margin:0;padding:0;box-sizing:border-box}:root{--rn-safe-top: 0px;--rn-safe-right: 0px;--rn-safe-bottom: 0px;--rn-safe-left: 0px;--safe-top: max(env(safe-area-inset-top, 0px), var(--rn-safe-top));--safe-right: max(env(safe-area-inset-right, 0px), var(--rn-safe-right));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--rn-safe-bottom));--safe-left: max(env(safe-area-inset-left, 0px), var(--rn-safe-left));--app-bg: #0d1b3e;--vv-top: 0px;--vv-left: 0px;--vv-width: 100%;--vv-height: 100svh;--vp-x: var(--vv-left, 0px);--vp-y: var(--vv-top, 0px);--vp-w: var(--vv-width, 100%);--vp-h: var(--vv-height, 100dvh);--z-modal-base: 1000;--z-game-overlay: 11000;--z-confirm: 25000;--z-card-zoom: 28000;--z-modal-restore: 29000;--z-admin: 30000;--z-chat-app: 40000;--z-chat-chrome: 40100;--z-chat-menu: 40200}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",emoji;background:linear-gradient(160deg,#0d1b3e 0%,#1a3a6b 50%,#0a1628 100%);background-color:var(--app-bg, #0d1b3e);min-height:100vh;min-height:100svh;min-height:100dvh;min-height:var(--app-vh, 100dvh);color:#333}html{background-color:var(--app-bg, #0d1b3e)}#app{max-width:1400px;margin:0 auto;padding:20px}body:has(#welcome-screen.active),body:has(#library-screen.active),body:has(#login-screen.active),body:has(#lobby-screen.active){overflow:hidden;background:radial-gradient(circle at 50% 0%,rgba(255,209,102,.1),transparent 55%),repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 18px),linear-gradient(160deg,#0d1b3e 0%,#1a3a6b 45%,#0a1628 100%)}#app:has(#welcome-screen.active),#app:has(#library-screen.active),#app:has(#login-screen.active),#app:has(#lobby-screen.active){max-width:none;margin:0;padding:0;min-height:100vh;min-height:100svh;min-height:100dvh;min-height:var(--app-vh, 100dvh)}body:has(#game-screen.active),body:has(#condottiere-screen.active),body:has(#treasure-map-screen.active),body:has(#otel-bugagashenka-screen.active),body:has(#classic-games-screen.active){overflow:hidden}#app:has(#game-screen.active),#app:has(#condottiere-screen.active),#app:has(#treasure-map-screen.active),#app:has(#otel-bugagashenka-screen.active),#app:has(#classic-games-screen.active){max-width:none;margin:0;padding:0;height:100vh;height:100svh;height:100dvh;height:var(--app-vh, 100dvh)}.app-notice{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%) translateY(-120%);z-index:10000;max-width:min(92vw,480px);padding:12px 40px 12px 16px;border-radius:12px;background:rgba(15,23,42,.94);color:#fff;font-size:.92rem;line-height:1.4;box-shadow:0 8px 32px #00000059;border:1px solid rgba(255,209,102,.35);transition:transform .35s cubic-bezier(.34,1.2,.64,1);pointer-events:none}.app-notice.visible{transform:translate(-50%) translateY(0);pointer-events:auto}.app-notice-close{position:absolute;top:6px;right:8px;border:none;background:transparent;color:#fff9;font-size:1.25rem;cursor:pointer;line-height:1;padding:4px}.app-notice-close:hover{color:#fff}.screen{display:none}.screen.active{display:block}#welcome-screen{--welcome-accent: #ffd166;min-height:100dvh;box-sizing:border-box}#welcome-screen.screen.active{display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));color:#fff}.welcome-card{width:100%;max-width:360px;text-align:center;padding:28px 24px 24px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(10,16,32,.82);box-shadow:0 24px 64px #00000073,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.welcome-kicker{margin:0 0 10px;font-size:.72rem;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:var(--welcome-accent);text-shadow:0 0 20px rgba(255,209,102,.35)}.welcome-title{margin:0 0 8px;font-size:clamp(1.35rem,4.5vw,1.65rem);font-weight:700;line-height:1.2}.welcome-lead{margin:0 0 22px;font-size:.9rem;line-height:1.45;color:#ffffffb8}.welcome-input{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.35);color:#fff;font-size:1.05rem;margin-bottom:6px;outline:none;transition:border-color .2s,box-shadow .2s}.welcome-input::placeholder{color:#ffffff61}.welcome-input:focus{border-color:#ffd166a6;box-shadow:0 0 0 3px #ffd16626}.welcome-status{min-height:1.25em;font-size:.82rem;margin:0 0 14px;color:#ffffff8c}.welcome-status.err{color:#ff9b9b}.welcome-btn{width:100%;padding:14px 16px;border:none;border-radius:12px;background:linear-gradient(180deg,#ffe08a 0%,var(--welcome-accent) 55%,#e6b84d 100%);color:#1a2238;font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 20px #ffd16647;transition:transform .15s ease,box-shadow .15s ease}.welcome-btn:active{transform:scale(.98);box-shadow:0 3px 12px #ffd16633}.welcome-btn-secondary{margin-top:8px;background:rgba(255,255,255,.1);color:#fff;box-shadow:none;text-transform:none;letter-spacing:normal;font-weight:700}.welcome-btn-ghost{margin-top:10px;background:transparent;color:#ffffffbf;box-shadow:none;text-transform:none;letter-spacing:normal;font-weight:600;border:1px solid rgba(255,255,255,.15)}html.viewport-phone-landscape #welcome-screen.screen.active{position:fixed;top:var(--vp-y);left:var(--vp-x);width:var(--vp-w);height:var(--vp-h);min-height:0;max-height:var(--vp-h);align-items:center;justify-content:center;padding:clamp(4px,1.5vh,8px) max(10px,var(--safe-right)) clamp(4px,1.5vh,8px) max(10px,var(--safe-left));overflow:hidden;box-sizing:border-box}html.viewport-phone-landscape .welcome-card{display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;width:min(560px,calc(var(--vp-w) - 20px));max-width:100%;max-height:calc(var(--vp-h) - clamp(8px,3vh,16px));min-height:0;overflow:hidden;padding:clamp(7px,2vh,11px) clamp(12px,3vw,18px);border-radius:14px;margin:0}html.viewport-phone-landscape .welcome-kicker{margin:0 0 4px;font-size:.62rem;letter-spacing:.28em}html.viewport-phone-landscape .welcome-title{margin:0 0 3px;font-size:clamp(1rem,4.2vh,1.3rem)}html.viewport-phone-landscape .welcome-lead{margin:0 0 clamp(4px,1.6vh,7px);font-size:clamp(.68rem,2.6vh,.76rem);line-height:1.2}html.viewport-phone-landscape .welcome-input{min-height:0;padding:clamp(6px,2vh,8px) 12px;font-size:clamp(.82rem,3vh,.95rem);margin-bottom:3px}html.viewport-phone-landscape .welcome-status{min-height:1em;margin:0 0 4px;font-size:.68rem;line-height:1.1}html.viewport-phone-landscape .welcome-btn{min-height:0;padding:clamp(7px,2.2vh,9px) 12px;font-size:clamp(.76rem,2.8vh,.88rem)}html.viewport-phone-landscape .welcome-btn-ghost{margin-top:6px}html.viewport-phone-landscape .welcome-auth-block{min-height:0;margin:clamp(4px,1.5vh,7px) 0 3px;padding-top:clamp(4px,1.5vh,7px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}html.viewport-phone-landscape .welcome-auth-actions{gap:4px 6px;margin-bottom:5px}html.viewport-phone-landscape .welcome-auth-chip{min-height:clamp(30px,9vh,36px);padding:5px 10px;font-size:clamp(.72rem,2.7vh,.84rem)}html.viewport-phone-landscape .welcome-auth-title{margin-bottom:4px;font-size:.7rem}html.viewport-phone-landscape .welcome-email-form{gap:4px}html.viewport-phone-landscape .welcome-display-mode{gap:4px 8px;margin:4px 0 5px;font-size:.7rem}.welcome-auth-block{margin:16px 0 8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.welcome-auth-title{margin:0 0 10px;font-size:.82rem;color:#ffffffa6}.welcome-auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}#welcome-auth-block[hidden],#welcome-auth-actions[hidden],#welcome-display-mode[hidden],#welcome-email-form[hidden],#welcome-telegram-widget[hidden],#welcome-telegram-toggle-btn[hidden],#welcome-auth-submit-btn[hidden]{display:none!important}.welcome-auth-chip{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;box-sizing:border-box}a.welcome-auth-chip:hover{background:rgba(255,255,255,.14)}.welcome-auth-chip[disabled]{opacity:.45;cursor:not-allowed}.welcome-telegram-widget{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;min-height:44px;min-width:0;padding:0;overflow:hidden}#welcome-email-toggle-btn,#welcome-telegram-toggle-btn{grid-column:1 / -1}.welcome-telegram-widget[data-loading=true]:before{content:"Telegram";opacity:.78}.welcome-telegram-widget--error{font-size:.85rem;color:#ffffffbf}.welcome-telegram-widget iframe{display:block;border:0;border-radius:12px;max-width:100%}.welcome-telegram-widget>iframe,.welcome-telegram-widget>span,.welcome-telegram-widget>div{max-width:100%}.welcome-email-form{display:flex;flex-direction:column;gap:8px}.welcome-display-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:8px 0 12px;font-size:.85rem;color:#ffffffbf}.welcome-radio{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.chat-tabs{display:flex;gap:6px;padding:0 10px 8px;border-bottom:1px solid rgba(255,255,255,.1)}.chat-tab{flex:1;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:inherit;opacity:.65;cursor:pointer;font:inherit;font-size:.8rem}.chat-tab.active{opacity:1;background:rgba(255,255,255,.1)}.game-global-chat-panel{display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 10px}.game-global-chat-panel .global-chat-messages{flex:1;max-height:none;min-height:80px}.game-room-chat-panel{display:flex;flex-direction:column;flex:1;min-height:0}.game-room-chat-panel[hidden],.game-global-chat-panel[hidden]{display:none!important}#login-screen{text-align:center;padding:100px 20px;color:#fff;min-height:100vh;min-height:100dvh;display:none;flex-direction:column;align-items:center;justify-content:center;background:transparent}#login-screen.active{display:flex}#lobby-screen{min-height:100vh;min-height:100dvh;background:transparent;color:#fff;text-align:center;padding:50px 20px}#lobby-screen.active{display:block}#login-screen h1{font-size:4em;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.subtitle{font-size:1.5em;margin-bottom:50px;opacity:.9}.login-form{max-width:400px;margin:0 auto}.login-invite-hint{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:rgba(255,209,102,.12);border:1px solid rgba(255,209,102,.35);color:var(--text, #f5f0e6);font-size:.95rem;line-height:1.35;text-align:center}.login-form input{width:100%;padding:15px;font-size:1.2em;border:none;border-radius:8px;margin-bottom:15px}.lobby-settings{display:none;align-items:center;gap:8px;margin-right:8px}.lobby-settings.lobby-settings--host{display:flex}.lobby-settings-label{display:flex;align-items:center;gap:6px;font-size:.85rem;white-space:nowrap;cursor:pointer}.lobby-characters-summary{font-size:.78rem;color:#ffffffd9;max-width:240px;line-height:1.3;margin-right:8px;text-align:right}.expanded-chars-modal{max-width:640px;width:95vw;max-height:90vh;overflow-y:auto}.character-swap-rows{display:flex;flex-direction:column;gap:8px;margin:16px 0}.character-swap-row{display:grid;grid-template-columns:2rem 1fr auto 1fr;gap:8px;align-items:center;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.2)}.character-swap-rank{font-weight:700;opacity:.7;text-align:center}.character-swap-choice{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:border-color .15s,background .15s;background:transparent;color:inherit;font:inherit;text-align:left}.character-swap-choice:hover{background:rgba(255,255,255,.06)}.character-swap-choice.selected{border-color:#ffd700b3;background:rgba(255,215,0,.08)}.character-swap-choice img,.character-swap-icon{width:32px;height:32px;object-fit:contain}.character-swap-choice span{font-size:.9rem}.character-swap-vs{font-size:.75rem;opacity:.5;text-align:center}.rank9-section{margin:12px 0;padding:12px;border-radius:8px;background:rgba(0,0,0,.15)}.rank9-section h3{margin:0 0 8px;font-size:.95rem}.rank9-enable-row{display:flex;gap:8px;margin-bottom:10px}.rank9-enable-btn{padding:5px 14px;border-radius:6px;border:2px solid transparent;background:rgba(255,255,255,.06);color:inherit;font:inherit;font-size:.85rem;cursor:pointer;transition:border-color .15s,background .15s}.rank9-enable-btn:hover{background:rgba(255,255,255,.1)}.rank9-enable-btn.selected{border-color:#ffd700b3;background:rgba(255,215,0,.08)}.rank9-choice-row{margin:0}.rank9-choice-row--disabled .character-swap-choice{opacity:.35;cursor:not-allowed;pointer-events:none}.character-swap-choice.disabled{opacity:.35;cursor:not-allowed}.character-swap-choice.disabled:hover{background:transparent}.rank9-hint{margin:8px 0 0;font-size:.78rem;opacity:.75}.expanded-pool-preview{font-size:.85rem;padding:10px;border-radius:6px;background:rgba(255,255,255,.06);margin-bottom:8px}.expanded-swap-warning{color:#ffb347;font-size:.82rem;margin:0 0 8px}.expanded-chars-actions{display:flex;gap:10px;justify-content:flex-end}.login-form button{width:100%;padding:15px;font-size:1.1em;border:none;border-radius:8px;background:#fff;color:#667eea;cursor:pointer;margin-bottom:10px;transition:transform .2s}.login-form button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.login-chat-btn{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)}.login-chat-btn[hidden]{display:none!important}#waiting-chat-screen.screen.active{display:flex;position:fixed;inset:0 auto auto 50%;width:min(100%,520px);transform:translate(-50%)}.waiting-chat-screen{flex-direction:column;max-width:520px;margin:0 auto;padding:16px;height:var(--vp-h, 100dvh);min-height:100dvh;max-height:var(--vp-h, 100dvh);overflow:hidden;box-sizing:border-box}.waiting-chat-header h1{margin:0 0 4px;font-size:1.4rem}.waiting-chat-subtitle,.waiting-chat-meta,.waiting-chat-participants{margin:4px 0;font-size:.9rem;opacity:.85}.waiting-chat-participants{font-size:.8rem;opacity:.7}.waiting-chat-messages{flex:1;min-height:0;max-height:50vh;overflow-y:auto;margin:12px 0;padding:10px;border-radius:10px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}.waiting-chat-message{display:grid;grid-template-columns:auto 1fr auto;gap:6px 8px;align-items:baseline;font-size:.9rem}.waiting-chat-message.own .waiting-chat-message-name{color:#a8d4ff}.waiting-chat-message-name{font-weight:600;white-space:nowrap}.waiting-chat-message-time{font-size:.7rem;opacity:.5}.waiting-chat-status{min-height:1.2em;font-size:.85rem;margin:0 0 8px}.waiting-chat-status.err{color:#ff8a8a}.waiting-chat-status.ok{color:#9ae6b4}.waiting-chat-compose{display:flex;flex-direction:column;gap:8px}.waiting-chat-nick,.waiting-chat-input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.2);color:inherit;font:inherit}.waiting-chat-input-row{display:flex;gap:8px}.waiting-chat-input-row .waiting-chat-input{flex:1}.waiting-chat-send-btn{flex-shrink:0;width:44px;border:none;border-radius:8px;background:rgba(255,255,255,.15);color:inherit;cursor:pointer;font-size:1.1rem}.waiting-chat-actions{margin-top:12px;display:flex;flex-direction:column;gap:8px}.waiting-chat-join-btn{width:100%;padding:14px;border:none;border-radius:8px;background:#fff;color:#667eea;font-size:1.05rem;font-weight:600;cursor:pointer}.waiting-chat-message.system{grid-template-columns:1fr;text-align:center;opacity:.85;font-style:italic}.waiting-chat-message.system .waiting-chat-message-name,.waiting-chat-message.system .waiting-chat-message-time{display:none}.waiting-chat-create-btn{width:100%;padding:14px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:1.05rem;font-weight:600;cursor:pointer}.waiting-chat-create-btn[hidden]{display:none!important}.waiting-chat-join-btn:disabled{opacity:.45;cursor:not-allowed}.rules-link{margin-top:30px;display:flex;flex-direction:column;gap:10px;align-items:center}.rules-link a,.link-btn{color:#fff;text-decoration:none;font-size:1.05em;background:none;border:none;cursor:pointer;font-family:inherit}.rules-link a:hover,.link-btn:hover{text-decoration:underline}.header-rules-link{color:inherit;font-size:.78rem;font-weight:600;opacity:.85;text-decoration:none;white-space:nowrap;padding:0 4px}.header-rules-link:hover{opacity:1;text-decoration:underline}.lobby-link{margin-top:20px}.lobby-link button{padding:12px 24px;font-size:1em;border:2px solid white;border-radius:8px;background:transparent;color:#fff;cursor:pointer;transition:all .2s}.lobby-link button:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}#lobby-screen h1{font-size:3em;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.lobby-controls{display:flex;gap:15px;justify-content:center;margin-bottom:30px}.lobby-controls button{padding:12px 24px;font-size:1em;border:none;border-radius:8px;background:white;color:#667eea;cursor:pointer;transition:all .2s}.lobby-controls button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.rooms-list{max-width:800px;margin:0 auto;display:grid;gap:15px}.room-item{padding:20px;background:white;border-radius:10px;color:#333;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.room-item:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0003}.room-info-left{text-align:left}.room-id{font-size:1.5em;font-weight:700;color:#667eea;margin-bottom:5px}.room-players{font-size:.9em;color:#666}.room-phase{padding:5px 12px;border-radius:20px;font-size:.85em;font-weight:700;background:#f0f0f0}.room-phase.lobby{background:#e8f5e9;color:#2e7d32}.room-phase.playing{background:#fff3e0;color:#ef6c00}.join-room-btn{padding:10px 20px;font-size:1em;border:none;border-radius:6px;background:#667eea;color:#fff;cursor:pointer;transition:all .2s}.join-room-btn:hover{background:#5568d3;transform:translateY(-2px)}.loading-text{font-size:1.2em;opacity:.7}.no-rooms-text{font-size:1.2em;opacity:.7;padding:40px}#game-screen{display:none;flex-direction:column;height:100vh;height:100svh;height:100dvh;height:var(--app-vh, 100dvh);position:relative;overflow:hidden;color:var(--ui-text);background:var(--ui-bg-deep);background-image:radial-gradient(ellipse 120% 80% at 50% -20%,var(--ambient-glow) 0%,transparent 55%),radial-gradient(ellipse 90% 60% at 80% 100%,var(--ambient-glow) 0%,transparent 45%),linear-gradient(180deg,var(--ui-bg-mid) 0%,var(--ui-bg-deep) 100%);box-sizing:border-box}html.native-app #game-screen.active{padding-top:var(--safe-top);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left)}html.native-app #condottiere-screen.active,html.native-app #treasure-map-screen.active{padding-top:max(.25rem,var(--safe-top));padding-right:max(.35rem,var(--safe-right));padding-bottom:max(.35rem,var(--safe-bottom));padding-left:max(.35rem,var(--safe-left));box-sizing:border-box}#game-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 40%,var(--vignette) 100%);pointer-events:none;z-index:0}#game-screen.active{display:flex}#game-screen>*:not(#mobile-comm-toggle):not(.modal):not(.player-preview-modal):not(.card-detail-modal):not(.card-hover-preview){position:relative;z-index:1}#game-screen>.modal,#game-screen>.player-preview-modal,#game-screen>.card-detail-modal{position:fixed;z-index:var(--z-game-overlay)}.game-header{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:center;gap:6px;padding:4px 12px;background:var(--ui-bg-header);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--ui-border);box-shadow:var(--shadow-md),var(--shadow-inset-top);min-height:0}.top-bar-collapse-btn,.top-bar-restore-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}.top-bar-collapse-btn{flex:0 0 auto;min-width:2.75rem;min-height:2.75rem;padding:.35rem .55rem;border:1px solid var(--ui-border);border-radius:8px;background:rgba(255,255,255,.06);color:var(--ui-text-muted);font:inherit;font-size:.85rem;line-height:1;cursor:pointer;position:relative;z-index:5;transition:background .15s ease,color .15s ease,border-color .15s ease}.top-bar-collapse-btn:hover{color:var(--ui-text);background:rgba(255,255,255,.1);border-color:var(--ui-border-strong, var(--ui-border))}.top-bar-restore-btn{position:fixed;top:max(0px,env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:2100;min-width:3rem;min-height:2.25rem;padding:4px 16px 6px;border:1px solid var(--ui-border);border-top:none;border-radius:0 0 10px 10px;background:var(--ui-bg-header);color:var(--ui-text-muted);font:inherit;font-size:.85rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.top-bar-restore-btn:hover{color:var(--ui-text)}#game-screen.top-bar-collapsed .game-header,#condottiere-screen.top-bar-collapsed .cond-header,#treasure-map-screen.top-bar-collapsed .tm-header{display:none!important}@media (max-width: 767px){#game-screen .top-bar-collapse-btn,#condottiere-screen .top-bar-collapse-btn,#treasure-map-screen .top-bar-collapse-btn{position:fixed;top:max(6px,env(safe-area-inset-top,0px));right:max(8px,env(safe-area-inset-right,0px));z-index:2100;min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000059;background:rgba(20,28,48,.94);border-color:#fff3;color:#fff}#game-screen.top-bar-collapsed .top-bar-collapse-btn,#condottiere-screen.top-bar-collapsed .top-bar-collapse-btn,#treasure-map-screen.top-bar-collapsed .top-bar-collapse-btn{display:none!important}#game-screen .top-bar-collapse-btn,#condottiere-screen .top-bar-collapse-btn,#treasure-map-screen .top-bar-collapse-btn{background:rgba(15,20,30,.94);border-color:#c9a22773;color:#e8e0d0}}@media (prefers-reduced-motion: reduce){#game-screen *,#treasure-map-screen *,#condottiere-screen *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.header-left.room-info{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.82rem;color:var(--ui-text-muted)}.header-left.room-info strong{color:var(--ui-text);text-shadow:0 1px 2px rgba(0,0,0,.4)}.header-left .gold-inline{font-weight:600;color:var(--ui-gold);text-shadow:0 0 12px var(--ui-gold-glow)}.header-center.turn-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;text-align:center;color:var(--ui-text)}#game-screen strong{color:var(--ui-text);font-weight:700}.header-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.phase-badge{font-size:.8rem;font-weight:600;padding:4px 12px;background:var(--ui-phase-bg);color:var(--ui-phase-text);border:1px solid var(--ui-border);border-radius:12px;white-space:nowrap;box-shadow:var(--shadow-sm),var(--shadow-inset-top);text-align:center}.control-btn.compact{padding:6px 12px;font-size:.82rem;box-shadow:var(--shadow-sm)}#game-screen .control-btn.primary{background:var(--btn-primary);color:#fff;border:1px solid rgba(255,255,255,.15)}#game-screen .control-btn.primary:hover{filter:brightness(1.1);box-shadow:0 4px 16px #3ecf8e59}#game-screen .control-btn.danger{background:var(--btn-danger);color:#fff;border:1px solid rgba(255,255,255,.12)}#game-screen .control-btn.danger:hover{filter:brightness(1.08);box-shadow:0 4px 16px #e05a6a59}.current-player-indicator{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;padding:2px 10px;background:var(--indicator-gradient);border-radius:20px;color:#fff;font-size:.8rem;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px var(--ui-accent-glow),var(--shadow-inset-top)}.indicator-label{opacity:.9;text-transform:uppercase;font-size:.72rem;letter-spacing:.5px}.indicator-name{font-weight:700}.indicator-character{opacity:.95;font-style:italic}@keyframes pulse{0%,to{box-shadow:0 4px 16px var(--ui-accent-glow),var(--shadow-inset-top)}50%{box-shadow:0 6px 24px var(--ui-accent-glow),0 0 20px var(--ui-gold-glow)}}.action-message{padding:4px 8px;background:var(--ui-warning-bg);border:1px solid var(--ui-warning-border);border-radius:5px;text-align:center;color:var(--ui-warning-text);font-size:.72rem;line-height:1.35;box-shadow:none}.action-message p{margin:0}.end-turn-btn{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff;font-weight:700;padding:6px 12px;min-height:34px;font-size:.75rem;border:none;border-radius:8px;cursor:pointer;transition:all .3s;box-shadow:0 2px 6px #28a7454d;white-space:nowrap}.end-turn-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #28a74566}.game-layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}#game-screen #game-sidebar,#game-screen #mobile-comm-toggle,#condottiere-screen #cond-log-panel,#condottiere-screen #cond-log-toggle{display:none!important}.game-main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;padding:8px;gap:8px}.game-table-container{flex:1 1 auto;position:relative;min-width:0;min-height:0;width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;container-type:size}.game-table-container:before{content:"";position:absolute;width:min(98cqw,196cqh);height:min(96cqh,48cqw);border-radius:18px;background:radial-gradient(ellipse at 50% 40%,var(--ui-accent-glow) 0%,transparent 70%);filter:blur(24px);opacity:.65;pointer-events:none}.game-table{position:relative;width:96%;height:auto;aspect-ratio:2 / 1;max-width:100%;max-height:100%;background:linear-gradient(180deg,var(--table-felt-light) 0%,var(--table-felt) 42%,var(--table-felt-dark) 100%),repeating-linear-gradient(90deg,transparent 0,transparent 3px,rgba(0,0,0,.03) 3px,rgba(0,0,0,.03) 6px);border:14px solid var(--table-rim);border-radius:16px;box-shadow:inset 0 0 50px #0000008c,inset 0 3px #ffffff1a,inset 0 -4px 12px #00000059,0 0 0 3px var(--table-rim-highlight),0 14px 40px var(--shadow-table),0 6px 16px #00000073}@supports (width: 100cqw){.game-table{width:min(98cqw,196cqh);height:auto;aspect-ratio:2 / 1;max-height:98cqh}}.game-table:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:8px;border:1px solid rgba(255,255,255,.08);pointer-events:none;box-shadow:inset 0 0 24px #0003}#citadels-table-center{position:absolute;left:50%;top:50%;width:2px;height:2px;transform:translate(-50%,-50%);pointer-events:none}.cit-play-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:18}.cit-play-card,.cit-card-back,.cit-gold-fly,.cit-banner{will-change:transform,opacity}.cit-play-card{position:absolute;left:0;top:0;width:78px;height:108px;margin-left:-39px;margin-top:-54px;border-radius:12px;border:2px solid rgba(255,214,107,.8);background:rgba(24,18,42,.96);box-shadow:0 18px 36px #00000073;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;text-align:center;color:#fff6d1;transition:transform 1.8s cubic-bezier(.22,1,.36,1),opacity 1.8s ease}.cit-play-card__img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px}.cit-play-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;font-weight:800;font-size:.95rem;border:2px solid rgba(255,255,255,.35);box-shadow:0 6px 16px #00000059;flex-shrink:0}.cit-play-avatars{display:inline-flex;align-items:center;gap:8px}.cit-banner__avatars{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.cit-build-fly.is-mid{transform-origin:center;filter:drop-shadow(0 0 12px rgba(255,214,107,.35))}.cit-burn{border-color:#ff6969d1;color:#ffd4d4}.cit-burn.is-end{opacity:.15;filter:saturate(1.4) brightness(1.08)}.cit-play-card__label{font-size:.76rem;font-weight:800;line-height:1.15}.cit-banner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.88);min-width:220px;max-width:min(72vw,320px);padding:14px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:rgba(17,14,30,.94);color:#fff;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;transition:opacity .35s ease,transform .35s ease;box-shadow:0 20px 44px #0000006b}.cit-banner strong{font-size:1rem}.cit-banner span{font-size:.8rem;color:#ffffffb8}.cit-banner.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}.cit-banner--danger{border-color:#ff6e6e70;background:rgba(52,12,18,.96)}.cit-gold-fly{position:absolute;left:0;top:0;width:16px;height:16px;margin-left:-8px;margin-top:-8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff1b7,#f5c24a 60%,#c28a18 100%);border:1px solid rgba(255,245,201,.8);transition:transform 1.8s cubic-bezier(.22,1,.36,1),opacity 1.8s ease}.cit-card-back{position:absolute;left:0;top:0;width:28px;height:40px;margin-left:-14px;margin-top:-20px;border-radius:6px;border:1px solid rgba(232,221,255,.55);background:linear-gradient(180deg,rgba(82,56,154,.98),rgba(53,32,102,.98));transition:transform .52s cubic-bezier(.22,1,.36,1),opacity .42s ease}.game-sidebar{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:var(--ui-bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:1px solid var(--ui-border);box-shadow:-8px 0 24px #00000040}.player-panels{flex:0 0 auto;flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:min(32vh,220px);min-height:96px}.players-list{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}.player-card{position:absolute;left:50%;top:50%;pointer-events:auto;z-index:5;padding:5px 8px;background:var(--player-card-bg);border-radius:12px;border:2px solid var(--ui-border-bright);color:var(--ui-text);font-weight:700;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .25s ease;box-shadow:var(--shadow-md),var(--shadow-inset-top);text-align:center;min-width:82px;max-width:118px;font-size:.74rem;will-change:transform,box-shadow}.player-card:hover,.player-card:focus-within{z-index:30}.player-card.player-slot-empty,.player-card.player-slot-empty:hover,.player-card.player-slot-empty:focus-within{z-index:1}.player-kick-btn{position:absolute;top:-6px;right:-6px;z-index:4;width:22px;height:22px;padding:0;border:1px solid rgba(231,76,60,.65);border-radius:50%;background:rgba(120,30,30,.92);color:#ffb0b0;font-size:.62rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000059;transition:background .15s,transform .15s}.player-kick-btn:hover{background:rgba(180,40,40,.95);transform:scale(1.08)}.player-card .player-role-slot{font-size:.68rem;line-height:1.25}.player-card .revealed-role--active,.role-detail-chip--active{color:var(--ui-gold)}.role-detail-chip{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:3px;margin:0;padding:1px 3px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;line-height:1.15;cursor:pointer;text-align:center;max-width:100%;box-sizing:border-box}.role-detail-chip:hover,.role-detail-chip:focus-visible{border-color:var(--ui-border-bright);background:rgba(255,255,255,.06);outline:none}.player-card .role-detail-chip{flex-direction:row;width:100%;padding:1px 2px;justify-content:center}.role-detail-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;line-height:1.1}.removed-face-up-grid--compact{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-items:flex-start}.removed-role-chip{flex:0 0 auto;flex-direction:row;min-width:52px;max-width:96px;padding:2px 4px;background:rgba(0,0,0,.22);border-color:var(--ui-border)}.removed-role-chip .role-detail-name{font-size:.46rem;max-width:64px}.player-card .hidden-role{opacity:.65}.player-card:hover{border-color:var(--ui-accent-bright);box-shadow:0 6px 20px var(--ui-accent-glow),var(--shadow-inset-top);z-index:10}.player-card.current{border-color:var(--ui-gold);animation:player-turn-glow 2s ease-in-out infinite}@keyframes player-turn-glow{0%,to{box-shadow:0 0 12px var(--ui-gold-glow),var(--shadow-md)}50%{box-shadow:0 0 22px var(--ui-gold-glow),0 0 8px var(--ui-accent-glow),var(--shadow-md)}}.player-card.crowned{border-color:var(--ui-gold)}.player-slot-empty{display:flex;align-items:center;justify-content:center;z-index:1;min-width:72px;min-height:72px;padding:0;cursor:pointer;border-style:dashed;border-color:var(--ui-border-bright);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(0,0,0,.15));animation:slot-pulse 2.5s ease-in-out infinite}.player-slot-empty:hover{border-color:var(--ui-accent-bright);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,0,0,.1));transform:scale(1.06)}.player-slot-empty-inner{display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.player-slot-plus{font-size:1.75rem;line-height:1;font-weight:300;color:var(--ui-accent-bright);text-shadow:0 0 12px var(--ui-accent-glow)}.player-slot-label{font-size:.62rem;opacity:.75;text-transform:uppercase;letter-spacing:.04em}@keyframes slot-pulse{0%,to{box-shadow:var(--shadow-md),0 0 #0000}50%{box-shadow:var(--shadow-md),0 0 16px var(--ui-accent-glow)}}.bot-badge{font-size:.85em;opacity:.9}.bot-badge.bot-replacement{animation:bot-pulse 1.8s ease-in-out infinite}.grace-badge{animation:bot-pulse 1.8s ease-in-out infinite;opacity:.95}@keyframes bot-pulse{0%,to{opacity:.7}50%{opacity:1}}.bot-difficulty-picker{display:flex;flex-direction:column;gap:12px}.bot-diff-btn{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 12px;align-items:center;text-align:left;padding:14px 16px;border-radius:12px;border:2px solid var(--ui-border-bright);background:var(--player-card-bg);color:var(--ui-text);cursor:pointer;transition:border-color .2s,transform .15s,box-shadow .2s}.bot-diff-btn:hover{border-color:var(--ui-accent-bright);transform:translateY(-2px);box-shadow:0 6px 18px var(--ui-accent-glow)}.bot-diff-icon{grid-row:1 / span 2;font-size:1.6rem}.bot-diff-name{font-weight:700;font-size:1rem}.bot-diff-desc{grid-column:2;font-size:.82rem;opacity:.8;font-weight:400}.bot-diff-easy:hover{border-color:#6bcb77}.bot-diff-medium:hover{border-color:var(--ui-gold)}.bot-diff-hard:hover{border-color:#e85d5d}.sound-btn.sound-off{opacity:.55}.log-chat-other{color:var(--ui-accent-bright)}.log-voice-message{cursor:pointer}.log-voice-message:hover{text-decoration:underline}.player-preview-modal{display:none;position:fixed!important;z-index:var(--z-game-overlay);margin:0;background:var(--ui-bg-panel);border-radius:12px;box-shadow:var(--shadow-lg),0 0 24px var(--ui-accent-glow);padding:12px 14px;pointer-events:none;border:1px solid var(--ui-border-bright);min-width:200px;max-width:min(420px,92vw);max-height:min(420px,70vh);color:var(--ui-text);overflow:hidden;flex:none;contain:layout style paint}.player-preview-modal.active{display:block;pointer-events:auto}.preview-content{max-height:min(360px,64vh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.preview-name{font-weight:700;font-size:1.1em;margin-bottom:10px;text-align:center;color:var(--ui-text);border-bottom:1px solid var(--ui-border);padding-bottom:5px}.preview-empty{margin:0;padding:8px 4px;font-size:.85rem;color:var(--ui-text-muted);text-align:center}.preview-city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:5px}.preview-city-grid .district-card{min-width:60px;padding:5px;font-size:.7em;pointer-events:auto;cursor:zoom-in;transition:none}.preview-city-grid .district-card:hover{transform:none;box-shadow:var(--shadow-sm)}.preview-city-grid .card-image{max-width:40px;margin-bottom:2px}.preview-city-grid .card-name{font-size:.7em}.player-role-img{width:24px;height:24px;border-radius:50%;vertical-align:middle;margin-right:5px;object-fit:cover;border:1px solid var(--ui-border);box-shadow:var(--shadow-sm)}.removed-characters-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;margin:0;padding:6px 10px 8px;max-width:min(88%,280px);background:rgba(18,14,32,.92);border:1px solid var(--ui-border-bright);border-radius:10px;box-shadow:var(--shadow-md),0 0 20px #00000073;pointer-events:auto;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.removed-characters-title{margin:0 0 6px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-text-muted)}.removed-face-up-grid{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;align-items:flex-start}.character-display-card{display:flex;flex-direction:column;align-items:center;width:min(72px,20vw);padding:4px 4px 5px;background:rgba(0,0,0,.25);border:1px solid var(--ui-border);border-radius:8px;position:relative}.character-display-card .character-pick-rank{position:absolute;top:2px;left:4px;font-size:.62rem;font-weight:700;color:var(--ui-gold);line-height:1}.character-display-card .character-pick-img,.character-display-card .pick-card-zoom-btn img{width:52px;height:auto;border-radius:4px}.character-display-card .character-pick-name{font-size:.58rem;text-align:center;margin-top:4px;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-display{font-size:.78rem;line-height:1.25;max-width:100%;color:var(--ui-text)}.character-display p,.character-display .char-turn-line{margin:0}.char-turn-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(560px,90vw)}.char-desc{color:var(--ui-text-muted);font-weight:400}.character-display h3{font-size:.95rem;margin:0 0 4px;color:var(--ui-accent-bright)}.action-buttons{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;color:var(--ui-text)}.action-buttons>.action-message,.action-buttons>.hospital-warning{width:100%;flex:0 0 auto}.turn-actions-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;width:100%}.turn-header-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:8px;width:100%}.turn-action-open-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;min-height:34px;font-size:.78rem;font-weight:800;border:1px solid rgba(255,209,102,.55);border-radius:8px;background:linear-gradient(135deg,rgba(255,209,102,.22) 0%,rgba(255,180,60,.12) 100%);color:var(--ui-gold, #ffd166);cursor:pointer;transition:filter .2s,transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0003;white-space:nowrap}.turn-action-open-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #ffd16640}.turn-action-open-btn:disabled{opacity:.45;cursor:not-allowed}.turn-action-open-label{letter-spacing:.02em}.turn-action-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 5px;border-radius:999px;background:var(--ui-gold, #ffd166);color:#1a1520;font-size:.68rem;font-weight:900;line-height:1}.action-buttons-group{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0}.actions-sheet{width:100%}.actions-sheet-list{display:flex;flex-direction:column;gap:8px}.actions-sheet-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:1px solid var(--ui-border, rgba(180, 160, 220, .22));border-radius:12px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));color:var(--ui-text, #ebe6f5);font-size:.95rem;font-weight:700;text-align:left;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .35))}.actions-sheet-item:hover{background:rgba(232,197,71,.12);border-color:var(--ui-gold, #e8c547);transform:translateY(-1px);box-shadow:0 4px 14px var(--ui-gold-glow, rgba(232, 197, 71, .35))}.actions-sheet-item:active{transform:translateY(0)}.actions-sheet-item-label{flex:1;min-width:0;line-height:1.3}.actions-sheet-item-chevron{flex-shrink:0;font-size:1.35rem;font-weight:300;color:var(--ui-text-muted, #a89ec4);line-height:1}.actions-sheet-empty{margin:8px 0 4px;text-align:center;color:var(--ui-text-muted, #a89ec4);font-size:.9rem;line-height:1.4}.my-characters{display:inline-flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:6px;flex-shrink:0;margin:0;padding:3px 8px;background:var(--ui-bg-panel-inner);border:1px solid var(--ui-border);border-radius:8px;color:var(--ui-text);font-size:.75rem;box-shadow:var(--shadow-sm),var(--shadow-inset-top)}.my-characters-label{font-weight:700;color:var(--ui-accent-bright);white-space:nowrap;font-size:.72rem}.my-char-badges{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:4px}.my-char-badge{display:inline-flex;align-items:center;gap:4px;margin:0;padding:2px 6px 2px 4px;background:rgba(0,0,0,.25);border:1px solid var(--ui-border-bright);border-radius:6px;color:var(--ui-text);font-weight:600;font-size:.72rem;white-space:nowrap}.my-char-badge img{width:18px;height:auto;border-radius:3px;flex-shrink:0}.player-card-content{color:var(--ui-text)}.player-card .player-name-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card .player-stats,.player-card .revealed-role,.player-card .crown-label{color:var(--ui-text)}.player-card .player-stats{color:var(--ui-text-muted);font-weight:400}.player-card .crown-label{color:var(--ui-gold)}.action-buttons-group button,.action-buttons button{padding:5px 10px;font-size:.75rem;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:var(--btn-accent);color:#fff;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.action-buttons .turn-action-open-btn,.action-buttons .end-turn-btn{flex:0 1 auto}.action-buttons button.turn-action-open-btn{background:linear-gradient(135deg,rgba(255,209,102,.22) 0%,rgba(255,180,60,.12) 100%);border:1px solid rgba(255,209,102,.55);color:var(--ui-gold, #ffd166);font-weight:800}.action-buttons button.end-turn-btn{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);border:none;color:#fff;font-weight:800}.action-buttons-group button:hover:not(:disabled),.action-buttons button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 6px 18px var(--ui-accent-glow)}.action-buttons .turn-action-open-btn:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 14px #ffd16640}.action-buttons .end-turn-btn:hover:not(:disabled){box-shadow:0 6px 15px #28a74566}.action-buttons-group button:disabled,.action-buttons button:disabled{background:rgba(80,80,90,.5);cursor:not-allowed;opacity:.6}.action-buttons .turn-action-open-btn:disabled{background:linear-gradient(135deg,rgba(255,209,102,.12) 0%,rgba(255,180,60,.06) 100%);border-color:#ffd16640;color:var(--ui-gold, #ffd166)}.hand-section,.city-section{display:flex;flex-direction:column;min-height:0;background:var(--ui-bg-panel);border-radius:10px;border:1px solid var(--ui-border);overflow:hidden;box-shadow:var(--shadow-md),var(--shadow-inset-top)}.hand-section h3,.city-section h3,.game-log h3{flex:0 0 auto;font-size:.78rem;font-weight:600;padding:7px 12px;margin:0;background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 100%);border-bottom:1px solid var(--ui-border);color:var(--ui-text);letter-spacing:.02em}.card-hand{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:10px;background:var(--ui-bg-panel-inner);flex:1;min-width:0;min-height:0;align-items:stretch}#game-screen .card-hand::-webkit-scrollbar,#game-screen .city-grid::-webkit-scrollbar,#game-screen .log-messages::-webkit-scrollbar{height:6px;width:6px}#game-screen .card-hand::-webkit-scrollbar-thumb,#game-screen .city-grid::-webkit-scrollbar-thumb,#game-screen .log-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.district-card{position:relative;min-width:72px;max-width:130px;flex-shrink:0;padding:6px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow-sm),var(--shadow-inset-top);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#player-hand .district-card:hover,#player-city .district-card:hover{border-color:var(--ui-border-bright);box-shadow:0 4px 14px var(--ui-accent-glow)}.district-card.build-disabled{opacity:.55;cursor:not-allowed}.magician-card-choice{display:flex;align-items:center;gap:8px;padding:8px;background:#f5f5f5;border-radius:6px;cursor:pointer}.magician-content{max-width:min(96vw,440px)!important;width:auto;background:var(--ui-bg-panel, #1e1a2e)!important;color:var(--ui-text, #ebe6f5)!important;border:1px solid var(--ui-border, rgba(180, 160, 220, .22))}.magician-content .modal-header h2{color:var(--ui-text, #ebe6f5)}.magician-content .modal-description{color:var(--ui-text-muted, #a89ec4)}.magician-choice{display:flex;flex-direction:column;gap:16px;padding:8px 0}.magician-choice-btn{width:100%;padding:18px;font-size:1.15em;background:var(--btn-accent, linear-gradient(180deg, #9b7ee8 0%, #6b52b8 100%));color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:filter .2s}.magician-choice-btn:hover{filter:brightness(1.1)}.magician-divider{border:none;border-top:1px solid var(--ui-border, rgba(180, 160, 220, .22));margin:4px 0}.magician-choice-label{text-align:center;font-weight:600;margin:0;color:var(--ui-text-muted, #a89ec4)}.magician-players-list{display:flex;flex-direction:column;gap:8px}.magician-player-btn{padding:12px 16px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));border:1px solid var(--ui-border, rgba(180, 160, 220, .22));border-radius:8px;color:var(--ui-text, #ebe6f5);cursor:pointer;text-align:left;font-size:1em;transition:all .2s}.magician-player-btn:hover{background:rgba(255,209,102,.12);border-color:var(--ui-gold, #e8c547)}.magician-deck-layout{display:flex;flex-direction:column;gap:12px}.magician-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #444}.magician-hand-title{font-weight:600;font-size:1.05em}.magician-toolbar-btns{display:flex;gap:8px}.magician-tool-btn{padding:6px 12px;background:#3d3d3d;border:1px solid #667eea;border-radius:6px;color:#ccc;cursor:pointer;font-size:.9em}.magician-tool-btn:hover{background:#4d4d4d;color:#fff}.magician-hand-list{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding:4px}.magician-card-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));border:1px solid var(--ui-border, rgba(180, 160, 220, .22));border-radius:8px;cursor:pointer;transition:all .2s;color:var(--ui-text, #ebe6f5)}.magician-card-item:hover{background:rgba(232,197,71,.12);border-color:var(--ui-gold, #e8c547)}.magician-card-item.selected{background:#667eea;border-color:#fff;color:#fff}.magician-card-item.selected .magician-card-meta{color:#ffffffd9}.magician-card-img{width:48px;height:auto;border-radius:4px;flex-shrink:0}.magician-card-info{display:flex;flex-direction:column;gap:4px;flex:1;text-align:left}.magician-card-name{font-weight:600;font-size:1.05em;color:#fff}.magician-card-meta{font-size:.88em;color:#ffffffd9}.magician-confirm-section{margin-top:16px;padding:15px;background:#333;border-radius:8px;text-align:center;border:1px dashed #667eea}.magician-confirm-section #magician-selection-text{margin-bottom:4px;color:#ddd;min-height:1.4em}.district-card.noble{border-color:gold}.district-card.religious{border-color:#4a90e2}.district-card.trade{border-color:#7ed321}.district-card.military{border-color:#d0021b}.district-card.special{border-color:#9013fe}.card-image{width:auto;max-width:56px;height:auto;max-height:72px;margin-bottom:4px;border-radius:4px;object-fit:contain;display:block}#game-screen .card-image{filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}.card-info{text-align:center;width:100%}#game-screen .card-name{font-weight:700;font-size:.68em;margin-bottom:2px;color:var(--card-text)}#game-screen .card-cost{font-size:.65em;color:var(--card-text-muted);margin-bottom:2px}#game-screen .card-color{font-size:.6em;color:var(--card-text-muted);text-transform:uppercase}.city-grid{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:10px;background:var(--ui-bg-panel-inner);flex:1;min-width:0;min-height:0;align-items:stretch}.city-grid .district-card{min-width:72px}.district-card.district-decorated{box-shadow:0 0 0 2px #f5c542,0 0 12px #f5c54273}.district-decor-badge,.district-museum-badge{position:absolute;z-index:2;font-size:.7rem;line-height:1;padding:2px 5px;border-radius:6px;background:rgba(0,0,0,.72);color:#fff;pointer-events:none}.district-decor-badge{top:4px;left:4px}.district-museum-badge{top:4px;right:4px}.district-pick-disabled{display:block;margin-top:8px;font-size:.8rem;color:var(--ui-text-muted);font-style:italic}.game-log{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.log-messages{flex:1;overflow-y:auto;padding:8px 10px;background:var(--ui-bg-panel-inner);font-size:.75rem;line-height:1.35;color:var(--ui-text-muted)}.log-messages p{margin-bottom:6px;border-left:3px solid var(--log-accent);padding:6px 10px;background:rgba(0,0,0,.2);border-radius:4px;box-shadow:var(--shadow-inset-top)}.log-messages p.log-assassin{border-left-color:#c0392b;background:rgba(192,57,43,.08);border-radius:4px}.log-messages p.log-thief{border-left-color:#8e44ad;background:rgba(142,68,173,.08);border-radius:4px}.log-messages p.log-finish{border-left-color:#f39c12;background:rgba(243,156,18,.1);border-radius:4px;font-weight:600}.log-messages p.log-game-end{border-left-color:#27ae60;background:rgba(39,174,96,.15);border-radius:4px;font-weight:700}.log-messages p.log-chat-own{border-left-color:var(--ui-accent-bright);color:var(--ui-accent-bright)}.log-messages p.log-chat-other{border-left-color:var(--ui-success);color:var(--ui-text)}.control-btn{padding:10px 20px;font-size:.95em;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.control-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.control-btn.primary{background:#27ae60;color:#fff}.control-btn.danger{background:#d0021b;color:#fff}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:var(--z-modal-base);justify-content:center;align-items:center}.modal.active{display:flex}.modal-content{background:var(--ui-bg-panel, rgba(36, 32, 52, .96));padding:14px 18px;border-radius:12px;max-width:min(96vw,420px);max-height:85vh;overflow-y:auto;color:var(--ui-text, #ebe6f5);border:1px solid var(--ui-border, rgba(180, 160, 220, .22));box-shadow:var(--shadow-lg, 0 12px 40px rgba(0, 0, 0, .55))}.modal-content.modal-compact{max-width:min(96vw,420px);padding:14px 18px}.modal-content.modal-compact .modal-header h2{font-size:1.15rem;margin-bottom:4px}.modal-content.modal-compact .modal-description{font-size:.88rem;margin-bottom:10px}.modal-header h2{color:var(--ui-text, #ebe6f5);margin:0 0 8px;font-size:1.35rem}.modal-description{font-size:.9rem;color:var(--ui-text-muted, #a89ec4);margin-bottom:15px;font-style:normal;line-height:1.4}.modal-close-btn{margin-top:20px;padding:8px 16px;background:#444;color:#eee;border:1px solid #666;border-radius:4px;cursor:pointer;transition:background .2s}.modal-close-btn:hover{background:#555}.modal-footer-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.modal-collapse-btn,.modal-cancel-btn{padding:8px 16px;border-radius:4px;cursor:pointer;border:1px solid #666;transition:background .2s}.modal-collapse-btn{background:#3d5a80;color:#fff}.modal-collapse-btn:hover{background:#4a6fa5}.modal-cancel-btn{background:#444;color:#eee}.modal-cancel-btn:hover{background:#555}.pending-action-banner{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:4px 8px 4px 10px;margin:0;background:rgba(45,38,18,.72);border-left:3px solid rgba(201,162,39,.85);border-radius:0 5px 5px 0;color:#f5e6b8eb;font-size:.75rem;line-height:1.35;z-index:50}.pending-action-resume-btn,.pending-action-cancel-btn{padding:3px 10px;border-radius:4px;border:none;cursor:pointer;font-size:.72rem}.pending-action-resume-btn{background:#c9a227;color:#1a1a1a;font-weight:600}.pending-action-cancel-btn{background:transparent;color:#f5e6b8;border:1px solid rgba(245,230,184,.4)}.modal-restore-bar{position:fixed;bottom:calc(56px + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:var(--z-modal-restore);display:flex;flex-direction:column;gap:6px;max-width:min(96vw,420px);pointer-events:none}html.viewport-phone-landscape .modal-restore-bar{left:calc(var(--vp-x) + var(--vp-w) / 2);bottom:max(8px,var(--safe-bottom));max-width:min(calc(var(--vp-w) - 16px),520px)}.modal-restore-bar[hidden]{display:none!important}.modal-restore-item{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:8px 12px;border-radius:10px;background:rgba(20,28,48,.94);border:1px solid rgba(201,162,39,.45);box-shadow:0 8px 24px #00000073;pointer-events:auto;color:#f5e6b8;font-size:.82rem}.modal-restore-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-restore-resume-btn,.modal-restore-cancel-btn{padding:5px 12px;border-radius:6px;border:none;cursor:pointer;font-size:.78rem;flex-shrink:0}.modal-restore-resume-btn{background:#c9a227;color:#1a1a1a;font-weight:600}.modal-restore-cancel-btn{background:transparent;color:#f5e6b8;border:1px solid rgba(245,230,184,.35)}.modal-minimize-btn{flex-shrink:0;width:32px;height:32px;padding:0;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.25);color:#e8e0d0;font-size:1rem;line-height:1;cursor:pointer}.modal-minimize-btn:hover{background:rgba(61,90,128,.55);border-color:#c9a22780}.modal-header--with-minimize,.cond-modal-header.modal-header--with-minimize,.cond-map-modal-header.modal-header--with-minimize,.cond-keep-modal-header.modal-header--with-minimize,.tm-modal-header.modal-header--with-minimize{display:flex;align-items:flex-start;gap:8px}.modal-header--with-minimize>.cond-modal-close,.modal-header--with-minimize>.cond-map-modal-close,.modal-header--with-minimize>.cond-keep-modal-close,.modal-header--with-minimize>#tm-modal-close,.cond-modal-header.modal-header--with-minimize>.cond-modal-close,.cond-map-modal-header.modal-header--with-minimize>.cond-map-modal-close,.cond-keep-modal-header.modal-header--with-minimize>.cond-keep-modal-close{order:-1;flex-shrink:0}.modal-header--with-minimize h2,.modal-header--with-minimize .cond-map-modal-titles,.modal-header--with-minimize .cond-keep-modal-titles,.cond-modal-header.modal-header--with-minimize h2,.cond-map-modal-header.modal-header--with-minimize h2,.cond-keep-modal-header.modal-header--with-minimize h2,.tm-modal-header.modal-header--with-minimize h2{flex:1 1 auto;min-width:0}.modal-header--with-minimize .modal-minimize-btn{margin-left:auto;flex-shrink:0}.cond-map-modal-titles,.cond-keep-modal-titles{flex:1 1 auto;min-width:0;text-align:center}.witch-hijack-banner{background:rgba(120,60,160,.2);border-left:3px solid #9b59b6;padding:4px 8px;margin-bottom:4px;border-radius:0 4px 4px 0;font-size:.72rem;line-height:1.35}.witch-cursed-msg{color:#c39bd3;margin-bottom:8px}.modal-content.modal-emperor-tribute{max-width:min(96vw,400px);width:auto;max-height:85vh;padding:14px 18px}.modal-content.modal-emperor-tribute .modal-header h2{font-size:1.15rem;margin-bottom:4px}.modal-content.modal-emperor-tribute .modal-description{font-size:.88rem;margin-bottom:10px}.emperor-tribute-options{display:flex;flex-direction:column;gap:12px}.emperor-tribute-gold-btn{width:100%;margin:0}.emperor-tribute-section-label{font-size:.82rem;font-weight:600;color:var(--ui-text-muted, #555);margin-bottom:6px}.emperor-tribute-hand{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;max-height:200px;overflow-y:auto;padding:2px}.emperor-tribute-card{position:relative;cursor:pointer;border:2px solid var(--card-border, #c5cad6);background:var(--card-bg, #fff);padding:4px;border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.emperor-tribute-card:hover,.emperor-tribute-card:focus-visible{border-color:var(--ui-gold, #e8c547);box-shadow:0 4px 12px var(--ui-gold-glow, rgba(232, 197, 71, .28));outline:none}.emperor-tribute-card.selected{border-color:var(--ui-gold, #e8c547);box-shadow:0 0 0 2px var(--ui-gold, #e8c547)}.emperor-tribute-card .card-image{max-width:44px;width:100%;height:auto;display:block;margin:0 auto 2px}.emperor-tribute-card .card-name{font-size:.62rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emperor-tribute-card .card-cost,.emperor-tribute-card .card-color{display:none}.emperor-tribute-confirm{margin-top:12px;padding-top:12px;border-top:1px solid var(--ui-border, rgba(180, 160, 220, .22))}.emperor-tribute-confirm-text{margin:0 0 10px;font-size:.9rem;font-weight:600;color:var(--ui-text, #ebe6f5)}.emperor-tribute-confirm-actions{display:flex;gap:8px;flex-wrap:wrap}.modal-content.modal-main-action{max-width:min(96vw,380px);width:auto;padding:14px 18px}.main-action-choice{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 0}.main-action-or{font-size:.85rem;color:var(--ui-text-muted, #a89ec4);font-weight:600}.main-action-option{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:110px;padding:14px 16px;border:2px solid var(--ui-gold, #e8c547);border-radius:12px;background:rgba(232,197,71,.12);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s;color:var(--ui-text, #ebe6f5)}.main-action-option:hover{border-color:var(--ui-gold, #e8c547);box-shadow:0 6px 18px var(--ui-gold-glow, rgba(232, 197, 71, .28));transform:translateY(-2px)}.main-action-icon{font-size:2rem;line-height:1}.main-action-value{font-size:1.35rem;font-weight:700;color:var(--ui-gold, #e8c547)}.main-action-label{font-size:.82rem;color:var(--ui-text, #ebe6f5)}.main-action-sublabel{font-size:.7rem;color:var(--ui-text-muted, #a89ec4);max-width:100px;text-align:center;line-height:1.2}.modal-content.modal-pick-cards{max-width:min(96vw,560px);width:auto;max-height:88vh;padding:14px 18px}.district-pick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;max-height:calc(88vh - 140px);overflow-y:auto;padding:4px}.district-pick-card{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:12px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));border:2px solid var(--ui-border, rgba(180, 160, 220, .22));border-radius:12px;transition:box-shadow .2s,border-color .2s;text-align:center;color:var(--ui-text, #ebe6f5)}.district-pick-card:has(.pick-card-zoom-btn:hover){border-color:var(--ui-gold, #e8c547);box-shadow:0 8px 24px var(--ui-gold-glow, rgba(232, 197, 71, .28))}.district-pick-card.noble{border-color:#d4b84a}.district-pick-card.religious{border-color:#5a8fd6}.district-pick-card.trade{border-color:#5cb85c}.district-pick-card.military{border-color:#d9534f}.district-pick-card.special{border-color:#9b59b6}.district-pick-img{width:100%;max-width:220px;height:auto;max-height:min(42vh,320px);object-fit:contain;border-radius:8px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}.district-pick-placeholder{width:100%;max-width:220px;min-height:120px;display:flex;align-items:center;justify-content:center;background:linear-gradient(165deg,#4a4268 0%,#322e48 100%);color:#fff;border-radius:8px;font-weight:700;padding:12px}.district-pick-info{width:100%}.district-pick-name{font-weight:700;font-size:1rem;color:var(--ui-text, #ebe6f5);margin-bottom:4px}.district-pick-meta{font-size:.85rem;color:var(--ui-text-muted, #a89ec4);margin-bottom:6px}.district-pick-desc{font-size:.8rem;line-height:1.35;color:var(--ui-text-muted, #a89ec4);margin:0;text-align:left;padding:6px 8px;background:rgba(0,0,0,.25);border-radius:6px}.district-pick-action-btn,.character-pick-action-btn{display:inline-block;margin-top:auto;padding:8px 16px;border:none;background:var(--btn-accent, linear-gradient(180deg, #9b7ee8 0%, #6b52b8 100%));color:#fff;font-size:.88rem;font-weight:600;border-radius:8px;box-shadow:0 3px 10px var(--ui-accent-glow, rgba(139, 111, 212, .35));cursor:pointer;font-family:inherit;transition:filter .2s,transform .2s}.district-pick-action-btn:hover,.character-pick-action-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.pick-card-zoom-btn{display:block;width:100%;padding:0;border:none;background:transparent;cursor:zoom-in;border-radius:8px;line-height:0}.pick-card-zoom-btn:hover .district-pick-img,.pick-card-zoom-btn:hover .character-pick-img{filter:drop-shadow(0 8px 18px var(--ui-gold-glow, rgba(232, 197, 71, .45)))}.pick-card-zoom-btn:focus-visible{outline:2px solid var(--ui-gold, #e8c547);outline-offset:3px}.district-pick-single{display:flex;justify-content:center;margin:8px 0}.district-pick-single .district-pick-card{max-width:280px;cursor:default}.district-pick-single .district-pick-card:hover{transform:none}.district-pick-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}@media (max-width: 767px){.modal-content.modal-pick-cards{width:100%;padding:14px}.district-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.district-pick-img{max-width:100%;max-height:200px}.character-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.character-pick-img{max-width:100%;max-height:160px}}.modal-content.modal-pick-characters{max-width:min(96vw,480px)}.modal-content.modal-pick-characters .character-pick-grid{display:flex;flex-wrap:wrap;justify-content:center;grid-template-columns:unset;gap:10px;max-height:min(72vh,540px)}.modal-content.modal-pick-characters .character-pick-card{padding:8px 6px;gap:6px;border-radius:10px}.modal-content.modal-pick-characters .character-pick-rank{font-size:1.35rem}.modal-content.modal-pick-characters .character-pick-img{max-width:100%;max-height:min(22vh,112px)}.modal-content.modal-pick-characters .character-pick-name{font-size:.78rem;margin-bottom:4px}.modal-content.modal-pick-characters .character-pick-desc{font-size:.68rem;line-height:1.3;min-height:2.6em;padding:5px 6px}@media (min-width: 768px){.modal-content.modal-pick-cards{max-width:min(96vw,720px)}.modal-content.modal-pick-characters{max-width:min(96vw,700px)}.modal-content.modal-pick-characters .character-pick-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-height:min(78vh,620px)}.modal-content.modal-pick-characters .character-pick-card{width:calc(33.333% - 10px);max-width:200px;padding:10px 8px;gap:8px}.modal-content.modal-pick-characters .character-pick-rank{font-size:1.6rem}.modal-content.modal-pick-characters .character-pick-img{max-height:min(30vh,150px)}.modal-content.modal-pick-characters .character-pick-name{font-size:.88rem}.modal-content.modal-pick-characters .character-pick-desc{font-size:.74rem;min-height:3em;padding:6px 8px}.modal-content.modal-pick-cards .district-pick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.modal-content.modal-pick-cards .district-pick-card{padding:14px}.modal-content.modal-pick-cards .district-pick-img{max-height:min(36vh,200px)}}.character-pick-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px;margin-top:8px;max-height:calc(92vh - 160px);overflow-y:auto;padding:4px}.character-pick-card{display:flex;flex-direction:column;align-items:center;gap:10px;width:calc(50% - 8px);max-width:168px;box-sizing:border-box;padding:14px 12px;background:linear-gradient(165deg,#5a4f8a 0%,#3d3560 55%,#2a2540 100%);border:2px solid #c9a227;border-radius:12px;transition:box-shadow .2s,border-color .2s;text-align:center;color:#fff}.character-pick-card:has(.pick-card-zoom-btn:hover){border-color:#ffed4e;box-shadow:0 8px 24px #667eea59}.character-pick-rank{font-size:2rem;font-weight:800;line-height:1;color:#fffffff2;text-shadow:0 2px 6px rgba(0,0,0,.4)}.character-pick-img{width:100%;max-width:200px;height:auto;max-height:min(36vh,220px);object-fit:contain;border-radius:10px;border:2px solid #ffd700;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45))}.character-pick-placeholder{width:100%;max-width:200px;min-height:140px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);border-radius:10px;font-weight:700;padding:12px}.character-pick-info{width:100%}.character-pick-name{font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;color:#fff}.character-pick-desc{font-size:.82rem;line-height:1.45;color:#ffffffeb;margin:0;text-align:left;padding:8px 10px;background:rgba(0,0,0,.2);border-radius:8px;min-height:3.5em}.character-pick-action-btn{background:#fff;color:#5a4f8a;box-shadow:0 3px 10px #00000040}.character-pick-action-btn:hover{background:#ffed4e;color:#3d3560}.character-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:20px}.character-card{padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:3px solid #ffd700;border-radius:12px;cursor:pointer;transition:all .3s;color:#fff;text-align:center;position:relative;overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.character-card:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 8px 20px #667eea66;border-color:#ffed4e}.character-rank{font-size:2em;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.character-select-img{width:80px;height:80px;border-radius:10px;margin-bottom:10px;border:2px solid #ffd700;object-fit:cover}.character-name{font-size:1.3em;font-weight:700;margin-bottom:8px;text-transform:uppercase}.character-desc{font-size:.9em;opacity:.9;margin-bottom:15px;line-height:1.4}.character-card button{padding:10px 20px;font-size:1em;border:none;border-radius:6px;background:white;color:#667eea;cursor:pointer;font-weight:700;transition:all .2s}.character-card button:hover{background:#ffd700;color:#333;transform:scale(1.1)}.chat-section{flex:0 0 auto;padding:10px;background:var(--ui-bg-header);border-top:1px solid var(--ui-border);box-shadow:inset 0 8px 16px #00000026;display:flex;flex-direction:column;gap:8px}#game-screen .chat-channel-bar{display:flex;gap:0;padding:3px;border-radius:10px;background:rgba(0,0,0,.22);border:1px solid var(--ui-border);box-shadow:inset 0 1px 4px #0003}#game-screen .chat-channel-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ui-text-muted);font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}#game-screen .chat-channel-btn:before{content:"";display:inline-block;width:1em;height:1em;flex-shrink:0;background:center / contain no-repeat;opacity:.9}#game-screen .chat-channel-btn[data-chat-channel=global]:before{background-image:url(/icons/emoji/1f310.svg)}#game-screen .chat-channel-btn[data-chat-channel=room]:before,#game-screen .chat-channel-btn[data-chat-channel=waiting]:before{background-image:url(/icons/emoji/1f4ac.svg)}#game-screen .chat-channel-btn[data-chat-channel=meeting]:before{background-image:url(/icons/emoji/1f91d.svg)}#game-screen .chat-channel-btn[data-chat-channel=journal]:before{background-image:url(/icons/emoji/1f4dc.svg)}#game-screen .chat-channel-btn[data-chat-channel=dm]:before{background-image:url(/icons/emoji/2709-fe0f.svg)}#game-screen .chat-channel-btn:hover:not(.active){color:var(--ui-text);background:rgba(255,255,255,.05)}#game-screen .chat-channel-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-accent-glow)}#game-screen .chat-channel-btn.active[data-chat-channel=global]{color:#b8dcff;background:linear-gradient(180deg,rgba(72,140,255,.35) 0%,rgba(40,90,180,.22) 100%);border-color:#78b4ff66;box-shadow:0 2px 8px #3c82ff33}#game-screen .chat-channel-btn.active[data-chat-channel=room]{color:var(--ui-gold);background:linear-gradient(180deg,rgba(255,209,102,.32) 0%,rgba(180,130,30,.2) 100%);border-color:var(--ui-accent-bright);box-shadow:0 2px 8px var(--ui-gold-glow)}#game-screen .chat-channel-btn.active:before{opacity:1}.log-chat-global{color:#9ecfff}.chat-messages{height:200px;overflow-y:auto;background:white;border:1px solid #ddd;border-radius:4px;padding:10px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}.chat-message{padding:8px 12px;border-radius:4px;max-width:80%;word-wrap:break-word}.chat-message.own{background:#e3f2fd;align-self:flex-end;border-left:3px solid #2196f3}.chat-message.other{background:#f5f5f5;align-self:flex-start;border-left:3px solid #9e9e9e}.chat-message .sender-name{font-weight:700;font-size:.9em;color:#666;margin-bottom:4px}.chat-message .message-text{font-size:.95em;color:#333}.chat-input-container{display:flex;gap:6px;align-items:center}.quick-message-btn{padding:6px 8px;background:linear-gradient(180deg,#f0d878 0%,#c9a227 100%);border:1px solid rgba(255,255,255,.25);border-radius:6px;cursor:pointer;font-size:.72rem;white-space:nowrap;color:#2a2010;font-weight:600;transition:all .2s;box-shadow:0 3px 10px var(--ui-gold-glow),var(--shadow-inset-top)}.quick-message-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ffd70066}#game-screen .chat-input{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--ui-border);border-radius:6px;font-size:.82rem;outline:none;transition:border-color .2s,box-shadow .2s;background:var(--ui-bg-panel-inner);color:var(--ui-text)}#game-screen .chat-input::placeholder{color:var(--ui-text-muted);opacity:.7}#game-screen .chat-input:focus{border-color:var(--ui-accent-bright);box-shadow:0 0 12px var(--ui-accent-glow)}#game-screen .chat-mode-toggle{padding:6px 10px;background:var(--ui-bg-panel);color:var(--ui-text);border:1px solid var(--ui-border-bright);border-radius:6px;cursor:pointer;font-size:1rem;flex-shrink:0;transition:all .2s;line-height:1}#game-screen .chat-mode-toggle:hover{border-color:var(--ui-accent-bright)}#game-screen .chat-mode-toggle.active{background:#8e44ad;border-color:#a569bd;color:#fff}#game-screen .voice-rtc-toggle.active{background:#1e8449;border-color:#58d68d;color:#fff;box-shadow:0 0 10px #2ecc7173}#game-screen .send-chat-btn{padding:6px 12px;background:var(--btn-accent);color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s;flex-shrink:0;box-shadow:var(--shadow-sm)}#game-screen .send-chat-btn:disabled{opacity:.45;cursor:default;transform:none}.mobile-comm-header{display:none;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 6px;border-bottom:1px solid var(--ui-border);flex-shrink:0;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.mobile-comm-header.is-dragging{cursor:grabbing}.mobile-comm-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.mobile-comm-title{font-size:.82rem;font-weight:700;color:var(--ui-text);pointer-events:none}.mobile-comm-reset,.mobile-comm-close{width:32px;height:32px;border:none;border-radius:8px;background:rgba(255,255,255,.08);color:var(--ui-text);font-size:1.1rem;line-height:1;cursor:pointer;touch-action:manipulation}.mobile-comm-close{font-size:1.25rem}.mobile-comm-reset:active,.mobile-comm-close:active{background:rgba(255,255,255,.16)}.mobile-comm-resize-handle{position:absolute;right:0;bottom:0;width:28px;height:28px;cursor:nwse-resize;touch-action:none;z-index:2}.mobile-comm-resize-handle:after{content:"";position:absolute;right:6px;bottom:6px;width:12px;height:12px;border-right:2px solid rgba(255,255,255,.45);border-bottom:2px solid rgba(255,255,255,.45);border-radius:0 0 4px}#game-screen.mobile-layout .game-sidebar{position:fixed}#game-screen.mobile-layout .chat-section{flex-shrink:0;padding-bottom:8px}.mobile-comm-toggle{display:none;position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:auto;transform:none;z-index:1040;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(20,28,48,.94);color:#fff;box-shadow:0 6px 24px #00000073;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-comm-toggle.is-dragging{cursor:grabbing;transition:none;transform:none!important}#game-screen .mobile-comm-toggle{position:fixed;z-index:1040}#game-screen.mobile-layout .mobile-comm-toggle{display:flex}#game-screen.mobile-comm-open .mobile-comm-toggle:not(.is-dragging){opacity:.55;transform:scale(.92)}.mobile-comm-toggle-icon{font-size:1.35rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.mobile-comm-toggle-icon .emoji-asset{width:1.35rem;height:1.35rem}.hand-draggable{cursor:grab;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}.hand-draggable.is-dragging{cursor:grabbing;touch-action:none;opacity:.55}.district-card .card-image,.condottiere-card .card-image,.condottiere-card--playable,.tm-card img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#player-hand,#cond-hand{-webkit-overflow-scrolling:touch}#player-city.city-drop-target{outline:2px dashed rgba(255,209,102,.65);outline-offset:3px;background:rgba(255,209,102,.08)}#player-city.city-drop-hover{outline-color:#ffd166;background:rgba(255,209,102,.16)}.hand-drag-ghost{position:fixed;z-index:12000;pointer-events:none;transform:translate(-50%,-50%);width:72px;border-radius:10px;box-shadow:0 12px 32px #00000080;border:2px solid rgba(255,255,255,.85);overflow:hidden;opacity:.92}.hand-drag-ghost img{width:100%;height:auto;display:block}#ballroom-modal{z-index:10050}.ballroom-modal-content{text-align:center;max-width:min(420px,92vw)}.ballroom-crown{font-size:2.5rem;margin-bottom:8px}.ballroom-countdown{font-size:3.5rem;font-weight:700;color:var(--ui-gold, #c9a227);margin:16px 0 20px;line-height:1}.ballroom-salute-btn{width:100%;max-width:320px;font-size:1rem;padding:12px 20px}.ballroom-modal.active .ballroom-countdown{animation:salute-pulse .6s ease-in-out infinite}@keyframes salute-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.hospital-warning{color:#e8a838;font-size:.72rem;line-height:1.35;margin-bottom:4px;padding:4px 8px;background:rgba(232,168,56,.12);border-radius:0 4px 4px 0;border-left:3px solid rgba(232,168,56,.55)}#game-screen .send-chat-btn:hover{filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 6px 16px var(--ui-accent-glow)}#game-screen .send-chat-btn.voice-mode{background:#8e44ad}#game-screen .send-chat-btn.voice-recording{background:#c0392b;animation:voice-pulse .8s ease-in-out infinite}@keyframes voice-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.reconnect-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:10060;background:rgba(192,57,43,.94);color:#fff;padding:5px 14px;border-radius:6px;font-size:.78rem;font-weight:600;box-shadow:0 2px 10px #00000047}.disconnected-badge{opacity:.75;font-size:.85em}.magician-hand-count{opacity:.85;font-size:.9em}.character-pick-card--disabled{opacity:.45;pointer-events:none}.thief-assassin-note{color:#e8a838;margin-bottom:12px}.warlord-content{max-width:min(96vw,500px)!important;width:auto;background:var(--ui-bg-panel, #1e1a2e)!important;color:var(--ui-text, #ebe6f5)!important;border:1px solid var(--ui-border, rgba(180, 160, 220, .22))}.warlord-flex{display:flex;flex-direction:column;gap:12px;text-align:left;margin-top:12px}.warlord-players-list{flex:none;display:flex;flex-direction:column;gap:8px;max-height:180px;overflow-y:auto;padding-right:4px}.warlord-player-item{padding:10px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));border:1px solid var(--ui-border, rgba(180, 160, 220, .22));border-radius:8px;cursor:pointer;transition:all .2s;color:var(--ui-text, #ebe6f5)}.warlord-player-item:hover{background:rgba(232,197,71,.12);border-color:var(--ui-gold, #e8c547)}.warlord-player-item.selected{background:var(--ui-gold, #e8c547);color:var(--ui-bg-deep, #12101c);border-color:#fff;font-weight:700}.warlord-city-container{flex:1;display:flex;flex-direction:column;gap:15px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));padding:15px;border-radius:8px;border:1px solid var(--ui-border, rgba(180, 160, 220, .22))}.warlord-city-info{display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;font-weight:700;border-bottom:1px solid var(--ui-border, rgba(180, 160, 220, .22));padding-bottom:10px}.warlord-confirm-section{margin-top:20px;padding:15px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));border-radius:8px;text-align:center;border:1px dashed #c5a059}#character-modal .modal-content.warlord-content--sticky-confirm{display:flex;flex-direction:column;max-height:min(90dvh,720px)}#character-modal .modal-content.warlord-content--sticky-confirm .modal-body{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}#character-modal .modal-content.warlord-content--sticky-confirm .warlord-flex{flex:1;min-height:0;overflow:auto}#character-modal .modal-content.warlord-content--sticky-confirm .warlord-confirm-section{margin-top:0;flex-shrink:0;position:sticky;bottom:0;z-index:2;border-radius:0 0 8px 8px;box-shadow:0 -8px 20px #00000059}.modal-header--chrome{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:start;gap:8px}.modal-header--chrome .modal-header-titles{text-align:center;min-width:0}.modal-header--chrome .modal-header-titles h2{margin:0;font-size:1.15rem}.modal-header--chrome .modal-description{margin:6px 0 0}.modal-header-close,.modal-header-minimize{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.35);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.modal-header-spacer{width:36px;height:36px}.confirm-btn{display:block;width:100%;padding:12px;margin-top:10px;background:var(--ui-gold, #e8c547);color:var(--ui-bg-deep, #12101c);border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:1rem;transition:filter .2s}.confirm-btn:hover{filter:brightness(1.08)}.confirm-btn:disabled{background:rgba(80,80,90,.5);color:var(--ui-text-muted, #a89ec4);cursor:not-allowed;filter:none}.card-hover-preview{display:none;position:fixed!important;z-index:10001;margin:0;padding:10px 12px;background:var(--ui-bg-panel);border:1px solid var(--ui-border-bright);border-radius:12px;box-shadow:var(--shadow-lg),0 0 28px var(--ui-accent-glow);pointer-events:none;text-align:center;max-width:min(280px,90vw);contain:layout style paint}.card-hover-preview.active{display:block;pointer-events:auto;cursor:pointer}.card-hover-preview-visual{position:relative;display:inline-block;line-height:0;container-type:size}.card-hover-preview-img{display:block;max-width:240px;max-height:340px;width:auto;height:auto;margin:0 auto 8px;border-radius:8px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5))}.card-hover-preview--condottiere{padding:8px 10px}.card-hover-preview--condottiere .card-hover-preview-visual{width:min(240px,72vw);aspect-ratio:2 / 3;margin:0 auto}.card-hover-preview--condottiere .card-hover-preview-img{width:100%;height:100%;max-width:none;max-height:none;margin:0}.card-hover-preview--condottiere .card-hover-preview-name,.card-hover-preview--condottiere .card-hover-preview-details{display:none}.card-hover-preview-visual .cond-card-badge[hidden]{display:none!important}.card-hover-preview-visual .cond-card-badge:not([hidden]){position:absolute;right:7%;bottom:9%;width:26%;aspect-ratio:1;height:auto;min-width:16px;min-height:16px;max-width:52px;max-height:52px;padding:0;border-radius:50%;background:rgba(8,10,16,.88);border:1px solid rgba(241,196,15,.55);color:#f1c40f;font-size:clamp(9px,16cqw,30px);font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box;z-index:3;box-shadow:0 1px 4px #00000073;pointer-events:none}.card-hover-preview-name{font-weight:700;font-size:.95rem;color:var(--ui-text);margin-bottom:4px;line-height:1.2}.card-hover-preview-details{font-size:.82rem;color:var(--ui-text-muted);line-height:1.3}.card-detail-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-game-overlay);display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}body.card-zoom-open #card-zoom-overlay.card-detail-modal,#card-zoom-overlay.card-detail-modal.active{z-index:var(--z-card-zoom)}body.card-zoom-open:has(#card-zoom-overlay.active) #tm-modal,body.card-zoom-open:has(#card-zoom-overlay.active) #character-modal,body.card-zoom-open:has(#card-zoom-overlay.active) #game-screen>.modal.active{visibility:hidden!important;pointer-events:none!important}.card-detail-modal.active{display:flex}.card-detail-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.88)}.card-detail-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:clamp(40px,5vw,56px);height:clamp(56px,8vh,80px);border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(0,0,0,.45);color:#fff;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s;padding:0 0 4px}.card-detail-nav:hover{background:rgba(255,255,255,.16)}.card-detail-nav[hidden]{display:none!important}.card-detail-nav--prev{left:max(8px,env(safe-area-inset-left))}.card-detail-nav--next{right:max(8px,env(safe-area-inset-right))}.card-detail-gallery-counter{font-size:.85rem;font-weight:700;letter-spacing:.04em;color:#ffffffa6}.card-detail-gallery-counter[hidden]{display:none!important}.card-detail-modal--gallery .card-detail-panel{max-width:min(420px,calc(96vw - 96px))}.card-detail-panel{position:relative;z-index:1;width:min(420px,96vw);max-height:92vh;overflow-y:auto;background:linear-gradient(165deg,#1a2744 0%,#0f1628 100%);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:20px 20px 24px;box-shadow:0 24px 64px #0000008c;display:flex;flex-direction:column;align-items:center;gap:12px}.card-detail-close{position:absolute;top:12px;left:12px;width:40px;height:40px;border:none;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;transition:background .2s}.card-detail-close:hover{background:rgba(255,255,255,.18)}.card-detail-panel .modal-minimize-btn,.card-detail-minimize{position:absolute;top:12px;right:12px;z-index:2}.player-preview-close{display:none}.player-preview-modal--inspect{top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:rgba(5,8,18,.78);align-items:center;justify-content:center;z-index:2200}.player-preview-modal--inspect.active{display:flex}.player-preview-modal--inspect .preview-content{position:relative;width:min(94vw,760px);max-height:min(90dvh,760px);overflow:auto;padding:1rem;border-radius:16px;background:var(--ui-bg-panel);border:1px solid var(--ui-border-bright);box-shadow:var(--shadow-lg)}.player-preview-modal--inspect .player-preview-close{display:inline-flex;position:sticky;top:0;float:right;align-items:center;justify-content:center;min-width:44px;min-height:44px;z-index:2;border-radius:50%;border:1px solid var(--ui-border);background:var(--ui-bg-header);color:var(--ui-text);font-size:1.4rem}@media (max-width: 700px) and (orientation: portrait){#game-screen .players-list--chip-band{position:absolute;inset:max(.2rem,env(safe-area-inset-top)) 0 auto;width:100%;height:auto;display:flex;gap:.25rem;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:.2rem .3rem .35rem;pointer-events:auto;z-index:8}#game-screen .players-list--chip-band .player-card{position:relative;flex:0 0 clamp(74px,22vw,104px);min-height:44px;padding:4px 6px;font-size:.68rem}#game-screen .players-list--chip-band .player-card.current{flex-basis:clamp(92px,27vw,124px)}#game-screen .player-preview-modal--inspect .preview-content{width:100%;max-height:100%;border-radius:12px}#game-screen .modal-content{max-height:90dvh;overflow-y:auto;padding-bottom:max(1rem,env(safe-area-inset-bottom))}#game-screen .modal-actions,#game-screen .modal-footer{position:sticky;bottom:0;z-index:3;padding-bottom:max(.5rem,env(safe-area-inset-bottom));background:inherit}}@media (min-width: 2560px){#game-screen .game-main{max-width:2300px;width:100%;margin-inline:auto}}@media (min-width: 3840px){#game-screen .game-main{max-width:2560px}}.card-detail-img{width:min(100%,280px);max-height:min(52vh,420px);object-fit:contain;border-radius:12px;filter:drop-shadow(0 10px 28px rgba(0,0,0,.45));margin-top:8px}.card-detail-visual{position:relative;display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin-top:8px}.card-detail-visual .card-detail-img{margin-top:0}.card-detail-badge[hidden]{display:none!important}.card-detail-modal--wide .card-detail-panel{width:min(96vw,560px)}.card-detail-modal--wide .card-detail-img{width:min(96vw,480px);max-height:min(82vh,720px)}.card-detail-modal--wide .card-detail-desc{max-width:480px;margin-left:auto;margin-right:auto}html.card-zoom-open,html.card-zoom-open body{overflow:hidden!important;overscroll-behavior:none}.card-detail-modal--image-only,.card-detail-modal--treasure-map{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}.card-detail-modal--image-only .card-detail-panel,.card-detail-modal--treasure-map .card-detail-panel{width:auto;max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);overflow:hidden;gap:0;padding:8px;border-radius:14px}.card-detail-modal--image-only .card-detail-visual,.card-detail-modal--treasure-map .card-detail-visual{--card-zoom-h:calc(100dvh - 28px);--card-zoom-w: min(92vw, calc(var(--card-zoom-h) * 673 / 1051));container-type:inline-size;margin:0;width:var(--card-zoom-w);max-width:var(--card-zoom-w);aspect-ratio:673 / 1051;max-height:var(--card-zoom-h);height:auto;flex-shrink:0}.card-detail-modal--image-only .card-detail-img,.card-detail-modal--treasure-map .card-detail-img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;margin:0;border-radius:8px}.card-detail-modal--treasure-map .card-detail-visual .tm-card-badge:not([hidden]){width:22%;max-width:56px;max-height:56px;font-size:clamp(12px,14cqw,32px)}.card-detail-modal--image-only .card-detail-close,.card-detail-modal--treasure-map .card-detail-close{top:6px;left:6px;width:36px;height:36px;font-size:1.3rem}.card-detail-modal--image-only .card-detail-panel .modal-minimize-btn,.card-detail-modal--image-only .card-detail-minimize,.card-detail-modal--treasure-map .card-detail-panel .modal-minimize-btn,.card-detail-modal--treasure-map .card-detail-minimize{top:6px;right:6px;min-width:36px;min-height:36px}html.viewport-phone-landscape .card-detail-modal--image-only .card-detail-visual,html.viewport-phone-landscape .card-detail-modal--treasure-map .card-detail-visual{--card-zoom-h: calc(var(--vp-h) - 16px);--card-zoom-w: min(calc(var(--vp-w) * .48), calc(var(--card-zoom-h) * 673 / 1051));width:var(--card-zoom-w);max-width:var(--card-zoom-w);max-height:var(--card-zoom-h)}html.viewport-phone-landscape .card-detail-modal--image-only .card-detail-panel,html.viewport-phone-landscape .card-detail-modal--treasure-map .card-detail-panel{padding:4px;max-height:calc(var(--vp-h) - 8px)}@media (max-width: 520px) and (orientation: portrait){.card-detail-modal--image-only .card-detail-visual,.card-detail-modal--treasure-map .card-detail-visual{--card-zoom-h:calc(100dvh - 24px);--card-zoom-w: min(88vw, calc(var(--card-zoom-h) * 673 / 1051));width:var(--card-zoom-w);max-width:var(--card-zoom-w);max-height:var(--card-zoom-h)}}.card-detail-info{text-align:center;width:100%;color:#fff}.card-detail-info[hidden],.card-detail-modal--image-only .card-detail-info{display:none!important}.card-detail-name:empty,.card-detail-meta:empty{display:none}.card-detail-name{font-size:1.25rem;font-weight:800;margin-bottom:6px}.card-detail-meta{font-size:.95rem;color:#ffffffbf;line-height:1.4}.card-detail-desc{font-size:.88rem;color:#fff9;line-height:1.45;margin-top:8px}.card-detail-desc:empty{display:none}.card-detail-action-btn{width:100%;margin-top:8px;padding:14px 20px;border:none;border-radius:999px;font-size:1rem;font-weight:800;letter-spacing:.04em;cursor:pointer;color:#1a2744;background:linear-gradient(180deg,#ffe08a 0%,#ffd166 45%,#e6a800 100%);box-shadow:0 4px #b8860b,0 10px 24px #ffd16640;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0}.card-detail-modal--action .card-detail-panel{width:min(440px,96vw);max-height:calc(100dvh - 16px);overflow-y:auto;gap:10px;padding:12px 12px 16px}.card-detail-modal--action .card-detail-img{width:100%;max-height:min(78vh,calc(100dvh - 100px));object-fit:contain}.card-detail-action-btn:active{transform:translateY(2px);box-shadow:0 2px #b8860b,0 6px 16px #ffd16633}.card-detail-action-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.district-pick-card[data-card-detail],.character-pick-card[data-card-detail],.character-display-card[data-card-detail],#player-hand .district-card,#player-city .district-card,#preview-city .district-card,.results-city-card{cursor:pointer}.district-pick-card[data-card-detail]:focus-visible,.character-pick-card[data-card-detail]:focus-visible{outline:2px solid var(--lib-accent, #ffd166);outline-offset:3px}.card-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-game-overlay)}.results-modal{z-index:var(--z-game-overlay);padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-sizing:border-box}.results-city-modal{z-index:calc(var(--z-game-overlay) + 10);padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-sizing:border-box}.results-city-content{display:flex;flex-direction:column;max-width:min(calc(100vw - 16px),560px);width:min(calc(100vw - 16px),560px);max-height:calc(100dvh - 16px);padding:12px 14px;background:var(--ui-bg-panel, rgba(36, 32, 52, .96));color:var(--ui-text, #ebe6f5);border:1px solid var(--ui-border, rgba(180, 160, 220, .22));overflow:hidden;box-sizing:border-box}.results-city-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.results-city-header h2{margin:0;font-size:1.15rem;color:var(--ui-text, #ebe6f5)}.results-city-back-btn{padding:6px 12px;font-size:.85rem;border:1px solid var(--ui-border, rgba(180, 160, 220, .22));border-radius:8px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));color:var(--ui-text-muted, #a89ec4);cursor:pointer}.results-city-back-btn:hover{background:rgba(255,255,255,.1);color:var(--ui-text, #ebe6f5)}.results-city-hint{margin:0 0 10px;font-size:.82rem;color:var(--ui-text-muted, #a89ec4)}.results-city-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:6px 2px 10px;-webkit-overflow-scrolling:touch}.results-city-card{flex:0 0 auto;min-width:68px;max-width:76px;padding:5px;background:#f8f9fc;border:2px solid #d0d5e0;border-radius:8px;color:#2c3e50;cursor:zoom-in;touch-action:manipulation}.results-city-card .card-image{max-width:56px;width:100%;height:auto;display:block;margin:0 auto 4px;border-radius:4px}.results-city-card .card-name{font-size:.62rem;line-height:1.15;color:#2c3e50;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-city-card .card-cost{font-size:.58rem;color:#555;margin-top:2px}.results-city-scores{margin-top:12px;padding-top:12px;border-top:1px solid #e2e6ef}.results-city-scores-inner{display:flex;flex-direction:column;gap:6px}.results-city-score-line{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;color:#4a5568}.results-city-score-line strong{color:#1a2038;font-size:.95rem}.results-city-score-total{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:8px;border-top:1px dashed #d0d5e0;font-size:1rem;font-weight:700;color:#667eea}.results-city-score-total strong{font-size:1.2rem}.results-modal .results-content{display:flex;flex-direction:column;width:min(calc(100vw - 16px),440px);max-width:min(calc(100vw - 16px),440px);max-height:calc(100dvh - 16px);height:auto;padding:0;overflow:hidden;border-radius:12px;background:var(--ui-bg-panel, rgba(36, 32, 52, .96));color:var(--ui-text, #ebe6f5);border:1px solid var(--ui-border, rgba(180, 160, 220, .22));box-shadow:var(--shadow-lg, 0 12px 40px rgba(0, 0, 0, .55));box-sizing:border-box}.results-header{flex:0 0 auto;background:var(--btn-accent, linear-gradient(180deg, #9b7ee8 0%, #6b52b8 100%));color:#fff;text-align:center;padding:12px 14px 10px}.results-crown{font-size:1.35rem;line-height:1;margin-bottom:2px}.results-header h2{margin:0 0 2px;font-size:1.15rem;line-height:1.15}.results-subtitle{margin:0;opacity:.9;font-size:.75rem;line-height:1.2}.results-list{flex:1 1 auto;min-height:0;padding:10px;display:flex;flex-direction:column;gap:8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--ui-bg-mid, #1e1a2e)}.results-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--ui-bg-panel-inner, rgba(22, 20, 34, .65));border-radius:10px;border:2px solid var(--ui-border, rgba(180, 160, 220, .22));transition:transform .15s;color:var(--ui-text, #ebe6f5)}.results-card.is-me{border-color:var(--ui-accent-bright, #b49aff);box-shadow:0 3px 10px var(--ui-accent-glow, rgba(139, 111, 212, .35))}.results-card.winner{border-color:var(--ui-gold, #e8c547);background:rgba(232,197,71,.14)}.results-card.second{border-color:#c0c0d073;background:rgba(255,255,255,.06)}.results-card.third{border-color:#d354008c;background:rgba(211,84,0,.12)}.results-rank{font-size:1.35rem;min-width:32px;text-align:center;line-height:1}.results-info{flex:1;min-width:0}.results-name{font-size:.92rem;font-weight:700;margin-bottom:3px;color:var(--ui-text, #ebe6f5);line-height:1.2}.results-score{font-size:1.2rem;font-weight:800;color:var(--ui-gold, #e8c547);min-width:42px;text-align:right;line-height:1}.results-breakdown{display:flex;flex-wrap:wrap;gap:4px;font-size:.68rem;color:var(--ui-text-muted, #a89ec4);line-height:1.2}.results-breakdown span{background:rgba(255,255,255,.08);padding:2px 6px;border-radius:5px}.results-view-city-btn{margin-top:5px;padding:4px 9px;font-size:.72rem;border:1px solid var(--ui-border-bright, rgba(220, 200, 255, .35));border-radius:7px;background:rgba(255,255,255,.08);color:var(--ui-accent-bright, #b49aff);cursor:pointer;transition:background .15s}.results-view-city-btn:hover{background:rgba(255,255,255,.14)}.modal-content.modal-results-city{max-width:min(96vw,440px)}.results-city-view{max-height:50vh;overflow-y:auto}.results-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;width:calc(100% - 20px);margin:0 10px 10px}.results-rematch-btn,.results-close-btn{flex:0 0 auto;display:block;width:100%;margin:0;padding:10px 12px;font-size:.88rem;font-weight:600;border:none;border-radius:9px;cursor:pointer;transition:opacity .2s}.results-rematch-btn{background:linear-gradient(180deg,#3d9b6a 0%,#2a6f4a 100%);color:#fff}.results-close-btn{background:var(--btn-accent, linear-gradient(180deg, #9b7ee8 0%, #6b52b8 100%));color:#fff}.results-rematch-btn:hover,.results-close-btn:hover{opacity:.9}.results-rematch-btn:disabled{opacity:.65;cursor:default}.results-rematch-status{flex:0 0 auto;margin:0 10px 6px;padding:6px 10px;font-size:.82rem;color:#ffffffd9;text-align:center}@media (max-height: 480px) and (orientation: portrait){.results-modal .results-content,.results-city-modal .results-city-content{width:min(calc(100vw - 12px),560px);max-width:min(calc(100vw - 12px),560px);max-height:calc(100dvh - 12px);border-radius:10px}.results-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;padding:6px 36px 6px 10px;text-align:left}.results-crown{font-size:1.05rem;margin:0}.results-header h2{margin:0;font-size:.95rem}.results-subtitle{width:100%;font-size:.65rem;opacity:.85}.results-list{padding:6px 8px;gap:5px}.results-card{gap:8px;padding:5px 8px;border-radius:8px;border-width:1px}.results-rank{font-size:1.1rem;min-width:26px}.results-name{font-size:.8rem;margin-bottom:1px}.results-score{font-size:1.05rem;min-width:34px}.results-breakdown{gap:3px;font-size:.6rem}.results-breakdown span{padding:1px 5px}.results-view-city-btn{margin-top:3px;padding:2px 7px;font-size:.64rem}.results-close-btn{width:calc(100% - 16px);margin:0 8px 8px;padding:7px 10px;font-size:.78rem;border-radius:8px}.results-city-header h2{font-size:.95rem}.results-city-hint{margin-bottom:6px;font-size:.7rem}.results-city-content{max-height:calc(100dvh - 12px);overflow:auto;padding:10px 12px}}html.viewport-phone-landscape body{width:var(--vp-w);height:var(--vp-h);min-height:0;overflow:hidden;overscroll-behavior:none}html.viewport-phone-landscape #app{width:var(--vp-w);height:var(--vp-h);min-height:0}html.viewport-phone-landscape #login-screen.active,html.viewport-phone-landscape #lobby-screen.active,html.viewport-phone-landscape #waiting-chat-screen.active{position:fixed;top:var(--vp-y);left:var(--vp-x);width:var(--vp-w);height:var(--vp-h);min-height:0;max-height:var(--vp-h);padding:clamp(6px,2vh,10px) max(10px,var(--safe-right)) clamp(6px,2vh,10px) max(10px,var(--safe-left));box-sizing:border-box;overflow:hidden}html.viewport-phone-landscape #login-screen.active{display:grid;grid-template-rows:auto auto auto auto;align-content:center;justify-items:center;gap:clamp(4px,1.5vh,8px)}html.viewport-phone-landscape #login-screen h1,html.viewport-phone-landscape #lobby-screen h1{margin:0;font-size:clamp(1.25rem,6vh,2rem);line-height:1.05}html.viewport-phone-landscape #login-screen .subtitle,html.viewport-phone-landscape #lobby-screen .subtitle{margin:0;font-size:clamp(.75rem,3vh,1rem);line-height:1.15}html.viewport-phone-landscape .login-form{width:min(400px,calc(var(--vp-w) - 24px));margin:clamp(4px,1.5vh,8px) auto 0}html.viewport-phone-landscape .login-form input,html.viewport-phone-landscape .login-form button{min-height:0;padding:clamp(7px,2.4vh,10px) 12px;margin-bottom:clamp(4px,1.3vh,7px);font-size:clamp(.78rem,3vh,.95rem)}html.viewport-phone-landscape #login-screen .rules-link{flex-direction:row;gap:12px;margin-top:clamp(3px,1.2vh,7px)}html.viewport-phone-landscape #login-screen .rules-link a,html.viewport-phone-landscape #login-screen .link-btn{font-size:clamp(.7rem,2.6vh,.88rem)}html.viewport-phone-landscape #lobby-screen.active{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);align-content:stretch;gap:clamp(4px,1.5vh,8px)}html.viewport-phone-landscape .lobby-controls{margin:0;gap:8px}html.viewport-phone-landscape .lobby-controls button{padding:clamp(6px,2vh,9px) 14px;font-size:clamp(.72rem,2.7vh,.9rem)}html.viewport-phone-landscape .rooms-list{min-height:0;width:min(800px,100%);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;gap:6px}html.viewport-phone-landscape .room-item{padding:clamp(7px,2vh,10px)}html.viewport-phone-landscape #waiting-chat-screen.active{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;width:min(var(--vp-w),760px);max-width:none;margin:0;transform:translate(max(0px,calc((var(--vp-w) - 760px) / 2)));gap:clamp(3px,1vh,6px)}html.viewport-phone-landscape .waiting-chat-header h1{font-size:clamp(1rem,4vh,1.25rem)}html.viewport-phone-landscape .waiting-chat-subtitle,html.viewport-phone-landscape .waiting-chat-meta,html.viewport-phone-landscape .waiting-chat-participants{display:inline;margin:0 8px 0 0;font-size:clamp(.66rem,2.5vh,.8rem)}html.viewport-phone-landscape .waiting-chat-messages{min-height:0;max-height:none;margin:0;padding:6px 8px;gap:4px;overscroll-behavior:contain}html.viewport-phone-landscape .waiting-chat-compose{gap:4px}html.viewport-phone-landscape .waiting-chat-nick,html.viewport-phone-landscape .waiting-chat-input,html.viewport-phone-landscape .waiting-chat-join-btn,html.viewport-phone-landscape .waiting-chat-create-btn{min-height:0;padding:clamp(6px,2vh,9px) 10px;font-size:clamp(.72rem,2.7vh,.9rem)}html.viewport-phone-landscape .waiting-chat-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}html.viewport-phone-landscape .waiting-chat-status{min-height:0;margin:0;font-size:.7rem}html.viewport-phone-landscape .modal,html.viewport-phone-landscape .card-detail-modal,html.viewport-phone-landscape .results-modal,html.viewport-phone-landscape .results-city-modal{position:fixed;top:var(--vp-y);left:var(--vp-x);width:var(--vp-w);height:var(--vp-h);max-height:var(--vp-h);padding:clamp(4px,1.5vh,8px);overflow:hidden;box-sizing:border-box}html.viewport-phone-landscape .modal-content,html.viewport-phone-landscape .card-detail-panel,html.viewport-phone-landscape .results-modal .results-content,html.viewport-phone-landscape .results-city-modal .results-city-content{max-height:calc(var(--vp-h) - clamp(8px,3vh,16px));min-height:0;box-sizing:border-box}html.viewport-phone-landscape .modal-content{padding:clamp(8px,2.5vh,12px) clamp(10px,2.5vw,16px)}html.viewport-phone-landscape .modal-header h2,html.viewport-phone-landscape .modal-header--chrome .modal-header-titles h2{margin-bottom:3px;font-size:clamp(.95rem,4vh,1.15rem)}html.viewport-phone-landscape .modal-description{margin-bottom:clamp(4px,1.4vh,8px);font-size:clamp(.68rem,2.6vh,.82rem);line-height:1.2}html.viewport-phone-landscape .modal-footer-actions{gap:6px;margin-top:6px}html.viewport-phone-landscape .modal-close-btn,html.viewport-phone-landscape .modal-collapse-btn,html.viewport-phone-landscape .modal-cancel-btn,html.viewport-phone-landscape .confirm-btn{min-height:0;margin-top:5px;padding:clamp(6px,2vh,9px) 12px;font-size:clamp(.72rem,2.7vh,.9rem)}html.viewport-phone-landscape .modal-content.modal-pick-cards,html.viewport-phone-landscape .modal-content.modal-pick-characters{display:flex;flex-direction:column;width:min(calc(var(--vp-w) - 16px),760px);max-width:none;overflow:hidden}html.viewport-phone-landscape .district-pick-grid,html.viewport-phone-landscape .character-pick-grid,html.viewport-phone-landscape .modal-content.modal-pick-characters .character-pick-grid{display:grid;flex:1 1 auto;min-height:0;max-height:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:3px;overflow-y:auto;overscroll-behavior:contain}html.viewport-phone-landscape .district-pick-card,html.viewport-phone-landscape .character-pick-card,html.viewport-phone-landscape .modal-content.modal-pick-characters .character-pick-card{width:auto;max-width:none;gap:4px;padding:5px}html.viewport-phone-landscape .district-pick-img,html.viewport-phone-landscape .character-pick-img,html.viewport-phone-landscape .modal-content.modal-pick-characters .character-pick-img{max-height:clamp(54px,23vh,90px)}html.viewport-phone-landscape .district-pick-desc,html.viewport-phone-landscape .character-pick-desc{display:none}html.viewport-phone-landscape #character-modal .modal-content.warlord-content--sticky-confirm{width:min(calc(var(--vp-w) - 16px),760px);max-width:none!important;max-height:calc(var(--vp-h) - 8px);overflow:hidden}html.viewport-phone-landscape #character-modal .warlord-flex{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.8fr);gap:8px;margin-top:4px}html.viewport-phone-landscape .warlord-players-list,html.viewport-phone-landscape .warlord-city-container{min-height:0;max-height:none}html.viewport-phone-landscape .warlord-city-container{gap:6px;padding:8px}html.viewport-phone-landscape .warlord-player-item{padding:6px 8px;font-size:.75rem}html.viewport-phone-landscape .warlord-city-info{padding-bottom:4px;font-size:.85rem}html.viewport-phone-landscape .warlord-confirm-section,html.viewport-phone-landscape .magician-confirm-section{margin-top:5px;padding:7px}html.viewport-phone-landscape .magician-hand-list{max-height:min(42vh,150px)}html.viewport-phone-landscape .magician-card-item{gap:8px;padding:6px 8px}html.viewport-phone-landscape .magician-card-img{width:34px}html.viewport-phone-landscape .ballroom-crown{font-size:clamp(1.4rem,7vh,2rem);margin-bottom:3px}html.viewport-phone-landscape .ballroom-countdown{font-size:clamp(2rem,12vh,3rem);margin:clamp(5px,2vh,10px) 0}html.viewport-phone-landscape .bug-report-content{display:flex;flex-direction:column;width:min(calc(var(--vp-w) - 16px),680px);max-width:none;overflow:hidden}html.viewport-phone-landscape .bug-report-context-preview{max-height:3.1em;margin-bottom:5px;padding:5px 8px;overflow:hidden;font-size:.68rem}html.viewport-phone-landscape .bug-report-textarea{flex:1 1 auto;min-height:54px;resize:none;padding:7px 9px}html.viewport-phone-landscape .bug-report-footer{flex:0 0 auto;padding-top:6px}html.viewport-phone-landscape .tutorial-modal-content{width:min(calc(var(--vp-w) - 16px),820px);max-width:none;grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);overflow:hidden}html.viewport-phone-landscape .tutorial-slide-image-wrap{min-height:0}html.viewport-phone-landscape .tutorial-slide-image{max-height:calc(var(--vp-h) - 16px);object-fit:cover}html.viewport-phone-landscape .tutorial-slide-body-wrap{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;min-height:0;padding:clamp(8px,2.5vh,14px);overflow:hidden}html.viewport-phone-landscape .tutorial-slide-body-wrap h2{margin:3px 0 5px;font-size:clamp(.95rem,4vh,1.15rem)}html.viewport-phone-landscape .tutorial-slide-text{min-height:0;margin-bottom:6px;overflow-y:auto;font-size:clamp(.7rem,2.8vh,.85rem);line-height:1.25}html.viewport-phone-landscape .tutorial-nav-btn{min-height:0;padding:clamp(6px,2vh,8px);font-size:.75rem}html.viewport-phone-landscape .tutorial-footer-link{margin-top:5px;font-size:.7rem}html.viewport-phone-landscape .results-modal .results-content,html.viewport-phone-landscape .results-city-modal .results-city-content{width:min(calc(var(--vp-w) - 12px),680px);max-width:none}html.viewport-phone-landscape .results-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;padding:5px 34px 5px 8px}html.viewport-phone-landscape .results-crown{margin:0;font-size:1rem}html.viewport-phone-landscape .results-header h2{margin:0;font-size:.9rem}html.viewport-phone-landscape .results-subtitle{width:100%;font-size:.62rem}html.viewport-phone-landscape .results-list{min-height:0;padding:5px 7px;gap:4px}html.viewport-phone-landscape .results-card{gap:6px;padding:4px 7px;border-width:1px}html.viewport-phone-landscape .results-close-btn{margin:0 7px 7px;width:calc(100% - 14px);padding:6px 9px;font-size:.75rem}html.viewport-phone-landscape .results-city-content{overflow:hidden}html.viewport-phone-landscape .results-city-view,html.viewport-phone-landscape .results-city-row{min-height:0;max-height:none}@media (max-width: 767px) and (orientation: portrait){.results-modal .results-content{width:min(calc(100vw - 16px),400px);max-width:min(calc(100vw - 16px),400px);max-height:calc(100dvh - 16px)}.results-header{padding:10px 12px 8px}.results-header h2{font-size:1.05rem}.results-crown{font-size:1.2rem}}.game-notices{flex:0 0 auto;display:none;flex-direction:column;gap:3px;padding:0 10px 4px;min-height:0}.game-notices:has(.context-hint-bar:not(.hidden)),.game-notices:has(.pending-action-banner){display:flex}.context-hint-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 4px 10px;background:rgba(18,28,46,.72);border-left:3px solid rgba(90,160,220,.8);border-radius:0 5px 5px 0;font-size:.75rem;line-height:1.35;color:#ffffffd1;animation:hint-fade-in .2s ease}.context-hint-bar.hidden{display:none}.context-hint-text{flex:1;min-width:0}@keyframes hint-fade-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.context-hint-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.context-hints-disable-label{font-size:.68rem;opacity:.7;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:3px}.context-hints-disable-label input{width:12px;height:12px;margin:0}.context-hint-dismiss{background:transparent;border:none;color:inherit;font-size:1rem;line-height:1;cursor:pointer;opacity:.55;padding:0 2px;border-radius:3px}.context-hint-dismiss:hover{opacity:.95;background:rgba(255,255,255,.08)}.help-btn{min-width:32px;padding:6px 10px!important;font-weight:700;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.2)}.bug-report-btn,.cond-bug-report-btn,.tm-bug-report-btn{min-width:32px;padding:6px 10px!important;font-weight:600;background:rgba(255,180,80,.15)!important;border:1px solid rgba(255,180,80,.35);color:#ffd9a0;font-size:.85rem}.bug-report-btn:hover,.cond-bug-report-btn:hover,.tm-bug-report-btn:hover{background:rgba(255,180,80,.28)!important}.bug-report-modal{z-index:10200;background:transparent;padding:0}.bug-report-modal .bug-report-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7)}.bug-report-content{position:relative;max-width:min(520px,94vw);z-index:1}.bug-report-context-preview{font-size:.82rem;color:#ffffffa6;background:rgba(0,0,0,.25);border-radius:8px;padding:10px 12px;margin:0 0 12px;line-height:1.45}.bug-report-label{display:block;font-size:.9rem;margin-bottom:6px;color:#ffffffd9}.bug-report-textarea{width:100%;min-height:96px;resize:vertical;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.3);color:inherit;padding:10px 12px;font:inherit;box-sizing:border-box}.bug-report-textarea:focus{outline:2px solid rgba(255,180,80,.5);border-color:#ffb45073}.bug-report-footer{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding-top:12px}.bug-report-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;border-radius:6px;background:rgba(255,255,255,.1);color:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.bug-report-close:hover{background:rgba(255,255,255,.18)}.tutorial-modal{z-index:10100}.tutorial-modal-content{display:grid;grid-template-columns:minmax(200px,1fr) minmax(260px,1.1fr);gap:0;max-width:min(820px,96vw);padding:0;overflow:hidden}.tutorial-slide-image-wrap{background:rgba(0,0,0,.25);min-height:220px;display:flex;align-items:center;justify-content:center;position:relative}.tutorial-slide-image{width:100%;height:100%;object-fit:cover;max-height:360px}.tutorial-slide-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff73;font-size:.95rem;padding:16px;text-align:center}.tutorial-slide-placeholder.hidden{display:none}.tutorial-slide-body-wrap{padding:20px 22px 18px}.tutorial-slide-counter{font-size:.8rem;opacity:.65}.tutorial-slide-body-wrap h2{margin:8px 0 10px;font-size:1.25rem}.tutorial-slide-text{line-height:1.5;font-size:.95rem;opacity:.92;margin-bottom:18px}.tutorial-nav{display:flex;gap:8px;flex-wrap:wrap}.tutorial-nav-btn{flex:1;min-width:80px;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:inherit;cursor:pointer;font-size:.9rem}.tutorial-nav-btn:hover:not(:disabled){background:rgba(255,255,255,.14)}.tutorial-nav-btn:disabled{opacity:.35;cursor:default}.tutorial-next-btn{background:var(--btn-accent, #27ae60);border-color:transparent;font-weight:600}.tutorial-skip-btn{flex:0 0 auto;opacity:.75}.tutorial-footer-link{margin-top:14px;font-size:.85rem;text-align:center}.tutorial-footer-link a{color:var(--ui-accent-bright, #7eb8ff)}@media (max-width: 640px){.tutorial-modal-content{grid-template-columns:1fr}.context-hint-bar{font-size:.7rem;padding:3px 6px 3px 8px}.context-hints-disable-text{display:none}}.cit-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-confirm);display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));box-sizing:border-box}.cit-confirm.cit-confirm--above-chat{z-index:var(--z-chat-menu)}.cit-confirm[hidden]{display:none!important}.cit-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;margin:0;background:rgba(8,6,16,.72);cursor:pointer}.cit-confirm-panel{position:relative;width:min(100%,420px);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:14px;background:var(--ui-bg-panel, #1e1a2e);border:1px solid var(--ui-border, rgba(180, 160, 220, .22));color:var(--ui-text, #ebe6f5);box-shadow:var(--shadow-lg, 0 12px 40px rgba(0, 0, 0, .55))}.cit-confirm-eyebrow{margin:0;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--ui-text-muted, #a89ec4)}.cit-confirm-eyebrow[hidden],.cit-confirm-meta[hidden],.cit-confirm-thumb[hidden],.cit-confirm-ghost[hidden]{display:none!important}.cit-confirm-row{display:flex;gap:12px;align-items:center}.cit-confirm-thumb{width:64px;height:88px;border-radius:10px;overflow:hidden;flex:0 0 auto;border:1px solid var(--ui-border, rgba(180, 160, 220, .22));background:#1a1208}.cit-confirm-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cit-confirm-copy{flex:1;min-width:0}.cit-confirm-title{margin:0;font-size:18px;font-weight:800;color:var(--ui-text, #ebe6f5);line-height:1.25}.cit-confirm-meta{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--ui-gold, #e8c547)}.cit-confirm-actions{display:flex;gap:10px}.cit-confirm-ghost,.cit-confirm-primary{flex:1;min-height:48px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer}.cit-confirm-ghost{background:transparent;border:1px solid var(--ui-border, rgba(180, 160, 220, .22));color:var(--ui-text-muted, #a89ec4)}.cit-confirm-primary{flex:1.2;border:0;background:var(--ui-accent, #8b6fd4);color:var(--ui-bg-deep, #12101c);font-weight:800}.cit-confirm-primary--destructive{background:#e05a6a!important;color:#fff!important}@media (min-width: 720px){.cit-confirm{align-items:center}}.cit-confirm--citadels .cit-confirm-backdrop{background:rgba(8,6,16,.72)}.cit-confirm--citadels .cit-confirm-panel{background:rgba(22,20,34,.96);border-color:#b4a0dc38;color:#ebe6f5}.cit-confirm--citadels .cit-confirm-eyebrow{color:#a89ec4}.cit-confirm--citadels .cit-confirm-title{color:#ebe6f5}.cit-confirm--citadels .cit-confirm-meta{color:#e8c547}.cit-confirm--citadels .cit-confirm-thumb{border-color:#b4a0dc38}.cit-confirm--citadels .cit-confirm-ghost{border-color:#b4a0dc38;color:#a89ec4}.cit-confirm--citadels .cit-confirm-primary{background:#8b6fd4;color:#12101c}.cit-confirm--cond .cit-confirm-backdrop{background:rgba(0,0,0,.72)}.cit-confirm--cond .cit-confirm-panel{background:#1a2438;border-color:#c9a22773;color:#f5e6c8}.cit-confirm--cond .cit-confirm-eyebrow{color:#f5e6c8b8}.cit-confirm--cond .cit-confirm-title{color:#f5e6c8}.cit-confirm--cond .cit-confirm-meta{color:#c9a227}.cit-confirm--cond .cit-confirm-thumb{border-color:#c9a22752}.cit-confirm--cond .cit-confirm-ghost{border-color:#c9a22752;color:#f5e6c8b8}.cit-confirm--cond .cit-confirm-primary{background:#c9a227;color:#0d1520}.cit-confirm--tm .cit-confirm-backdrop{background:rgba(0,0,0,.72)}.cit-confirm--tm .cit-confirm-panel{background:#1f150c;border-color:#c9a22773;color:#f5e6c8}.cit-confirm--tm .cit-confirm-eyebrow{color:#f5e6c8b8}.cit-confirm--tm .cit-confirm-title{color:#f5e6c8}.cit-confirm--tm .cit-confirm-meta{color:#c9a227}.cit-confirm--tm .cit-confirm-thumb{border-color:#c9a22752}.cit-confirm--tm .cit-confirm-ghost{border-color:#c9a22752;color:#f5e6c88c}.cit-confirm--tm .cit-confirm-primary{background:#c9a227;color:#1a1208}.cit-confirm--choice .cit-confirm-actions{flex-direction:column}.cit-confirm-choice{width:100%;min-height:48px;border-radius:12px;font-size:15px;font-weight:800;cursor:pointer;border:1px solid rgba(180,160,220,.22);background:transparent;color:inherit}.cit-confirm--cond .cit-confirm-choice,.cit-confirm--tm .cit-confirm-choice{border-color:#c9a22752}.cit-confirm-choice--primary{border:0}.cit-confirm-choice--danger{border-color:#ff786473;color:#ffb4a8}.cit-confirm-choice--danger:hover{background:rgba(255,100,80,.12)}.cit-confirm--citadels .cit-confirm-choice--primary{background:#8b6fd4;color:#12101c}.cit-confirm--cond .cit-confirm-choice--primary{background:#c9a227;color:#0d1520}.cit-confirm--tm .cit-confirm-choice--primary{background:#c9a227;color:#1a1208}.cit-confirm-cancel-wide{width:100%;min-height:44px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;background:transparent;border:1px solid rgba(180,160,220,.22);color:#a89ec4e6}.cit-confirm--cond .cit-confirm-cancel-wide{border-color:#c9a22752;color:#f5e6c8b8}.cit-confirm--tm .cit-confirm-cancel-wide{border-color:#c9a22752;color:#f5e6c88c}.cit-confirm-cancel-wide[hidden]{display:none!important}.modal-content.modal-main-action{background:var(--ui-bg-panel, #1e1a2e);color:var(--ui-text, #ebe6f5);border:1px solid var(--ui-border, rgba(180, 160, 220, .22))}.modal-content.modal-main-action .modal-header h2{color:var(--ui-text, #ebe6f5)}.modal-content.modal-main-action .modal-description{color:var(--ui-text-muted, #a89ec4)}.modal-content.modal-main-action .main-action-option{background:rgba(232,197,71,.12);border-color:var(--ui-gold, #e8c547);color:var(--ui-text, #ebe6f5)}.modal-content.modal-main-action .main-action-value{color:var(--ui-gold, #e8c547)}.modal-content.modal-main-action .main-action-label,.modal-content.modal-main-action .main-action-or{color:var(--ui-text, #ebe6f5)}.modal-content.modal-main-action .main-action-sublabel{color:var(--ui-text-muted, #a89ec4)}.modal-content.actions-sheet-modal{max-width:min(96vw,380px);background:var(--ui-bg-panel, #1e1a2e);color:var(--ui-text, #ebe6f5);border:1px solid var(--ui-border, rgba(180, 160, 220, .22));box-shadow:var(--shadow-lg, 0 12px 40px rgba(0, 0, 0, .55))}.modal-content.actions-sheet-modal .modal-header h2{color:var(--ui-text, #ebe6f5)}.modal-content.actions-sheet-modal .modal-description{color:var(--ui-text-muted, #a89ec4);font-style:normal}.table-emote-root{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(88px,calc(env(safe-area-inset-bottom) + 72px));width:48px;height:48px;z-index:calc(var(--z-game-overlay, 11000) + 20);pointer-events:none}.table-emote-root:not(.is-visible){display:none!important}.table-emote-root.is-drag-positioned{right:auto;bottom:auto}html.app-comm-open .table-emote-root{z-index:calc(var(--z-chat-app, 40000) + 5)}.table-emote-toggle,.table-emote-chip{pointer-events:auto}.table-emote-toggle{position:absolute;top:0;right:0;bottom:0;left:0;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,209,102,.45);background:rgba(22,20,34,.92);color:#fff;font-size:0;line-height:0;padding:0;margin:0;cursor:grab;box-shadow:0 6px 18px #00000059;display:grid;place-items:center;touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden}.table-emote-toggle[hidden]{display:none!important}.table-emote-toggle-glyph{display:grid;place-items:center;width:22px;height:22px;line-height:0}.table-emote-toggle:active,.table-emote-toggle.is-dragging{cursor:grabbing}.table-emote-toggle img.emoji-asset,.table-emote-chip img.emoji-asset{display:block;width:22px;height:22px;margin:0;padding:0;border:0;object-fit:contain;pointer-events:none}.table-emote-toggle.is-open{border-color:#ffd166bf;box-shadow:0 0 0 2px #ffd16633,0 6px 18px #00000059}.table-emote-wheel{position:absolute;right:0;bottom:calc(100% + 8px);display:grid;grid-template-columns:repeat(4,44px);gap:6px;padding:8px;border-radius:14px;background:rgba(18,16,28,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 28px #0006;pointer-events:auto;transform-origin:bottom right}.table-emote-root.is-open .table-emote-wheel{animation:table-emote-wheel-in .16s ease-out}@keyframes table-emote-wheel-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.table-emote-wheel[hidden]{display:none!important}.table-emote-chip{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:0;line-height:0;padding:0;cursor:pointer;display:grid;place-items:center}.table-emote-chip:active{transform:scale(.94)}.table-emote-float{position:fixed;left:50%;top:28%;transform:translate(-50%,8px) scale(.7);font-size:1.85rem;line-height:1;opacity:0;pointer-events:none;z-index:calc(var(--z-game-overlay, 11000) + 40);filter:drop-shadow(0 4px 8px rgba(0,0,0,.45));transition:opacity .2s ease,transform .45s cubic-bezier(.22,1,.36,1);display:grid;place-items:center;margin:0;padding:0}.table-emote-float img.emoji-asset{width:1.85em;height:1.85em;display:block}.table-emote-float.is-on{opacity:1;transform:translate(-50%,-18px) scale(1.15)}.table-emote-float.is-off{opacity:0;transform:translate(-50%,-36px) scale(.9)}.table-emote-float--orphan{left:50%;top:28%}.player-card-head{display:block;min-width:0}.player-seat-avatar{position:absolute;left:-7px;top:-7px;z-index:3;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:#12101c;border:2px solid rgba(255,255,255,.35);box-shadow:0 2px 6px #00000059;pointer-events:none}.player-card-head .player-name-label{min-width:0}.invite-seek-friends-btn{margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,209,102,.45);background:rgba(255,209,102,.12);color:var(--ui-gold, #ffd166);font-size:.68rem;font-weight:700;cursor:pointer;vertical-align:middle}.invite-seek-friends-btn:hover{background:rgba(255,209,102,.22)}html{transition:background-color .35s ease;--ui-bg-deep: #12101c;--ui-bg-mid: #1e1a2e;--ui-bg-panel: rgba(36, 32, 52, .92);--ui-bg-panel-inner: rgba(22, 20, 34, .65);--ui-bg-header: rgba(28, 24, 42, .88);--ui-border: rgba(180, 160, 220, .22);--ui-border-bright: rgba(220, 200, 255, .35);--ui-text: #ebe6f5;--ui-text-muted: #a89ec4;--ui-accent: #8b6fd4;--ui-accent-bright: #b49aff;--ui-accent-glow: rgba(139, 111, 212, .45);--ui-gold: #e8c547;--ui-gold-glow: rgba(232, 197, 71, .35);--ui-success: #3ecf8e;--ui-danger: #e05a6a;--ui-warning-bg: rgba(232, 168, 56, .15);--ui-warning-border: rgba(232, 168, 56, .5);--ui-warning-text: #f0d080;--ui-phase-bg: rgba(139, 111, 212, .25);--ui-phase-text: #d4c4ff;--ambient-glow: rgba(139, 111, 212, .12);--vignette: rgba(8, 6, 14, .55);--table-felt: #1e5c32;--table-felt-light: #2d8a48;--table-felt-dark: #0f3a1f;--table-rim: #4a3020;--table-rim-highlight: #7a5535;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-md: 0 6px 20px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);--shadow-table: rgba(0, 0, 0, .5);--shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, .08);--card-bg: linear-gradient(165deg, #3d3658 0%, #2a2540 100%);--card-border: rgba(200, 180, 255, .25);--card-text: #f0ebff;--card-text-muted: #b0a8c8;--player-card-bg: linear-gradient(165deg, #4a4268 0%, #322e48 100%);--indicator-gradient: linear-gradient(135deg, #6b52b8 0%, #9b6fd4 50%, #c9a227 100%);--btn-primary: linear-gradient(180deg, #3ecf8e 0%, #2a9d66 100%);--btn-accent: linear-gradient(180deg, #9b7ee8 0%, #6b52b8 100%);--btn-danger: linear-gradient(180deg, #e86a7a 0%, #b83a4a 100%);--scrollbar-thumb: rgba(139, 111, 212, .5);--log-accent: #8b6fd4}html[data-theme=royal]{--ui-bg-deep: #12101c;--ui-bg-mid: #1e1a2e;--ui-accent: #8b6fd4;--ui-accent-bright: #b49aff;--ambient-glow: rgba(139, 111, 212, .14);--table-felt: #1e5c32;--table-felt-light: #2d8a48;--indicator-gradient: linear-gradient(135deg, #6b52b8 0%, #9b6fd4 50%, #c9a227 100%)}html[data-theme=emerald]{--ui-bg-deep: #0a1410;--ui-bg-mid: #122820;--ui-bg-panel: rgba(24, 48, 38, .92);--ui-bg-header: rgba(18, 40, 32, .9);--ui-border: rgba(120, 200, 160, .22);--ui-border-bright: rgba(160, 230, 190, .3);--ui-text: #e8f5ee;--ui-text-muted: #8ab8a0;--ui-accent: #3da87a;--ui-accent-bright: #5fd4a0;--ui-accent-glow: rgba(61, 168, 122, .4);--ui-gold: #d4b84a;--ambient-glow: rgba(61, 168, 122, .12);--vignette: rgba(4, 12, 8, .6);--table-felt: #1a4a38;--table-felt-light: #2a7058;--table-felt-dark: #0c2820;--table-rim: #3d2818;--ui-phase-bg: rgba(61, 168, 122, .22);--ui-phase-text: #a8e8c8;--card-bg: linear-gradient(165deg, #2a4840 0%, #1a3028 100%);--card-border: rgba(120, 200, 160, .28);--player-card-bg: linear-gradient(165deg, #345848 0%, #243830 100%);--indicator-gradient: linear-gradient(135deg, #2a7058 0%, #3da87a 50%, #d4b84a 100%);--btn-accent: linear-gradient(180deg, #5fd4a0 0%, #2a8060 100%);--scrollbar-thumb: rgba(61, 168, 122, .5);--log-accent: #3da87a}html[data-theme=midnight]{--ui-bg-deep: #080c18;--ui-bg-mid: #101828;--ui-bg-panel: rgba(20, 32, 56, .92);--ui-bg-header: rgba(14, 24, 44, .9);--ui-border: rgba(120, 160, 220, .22);--ui-border-bright: rgba(160, 200, 255, .32);--ui-text: #e8eef8;--ui-text-muted: #8898b8;--ui-accent: #4a8ae8;--ui-accent-bright: #7ab8ff;--ui-accent-glow: rgba(74, 138, 232, .42);--ui-gold: #c8d8f0;--ambient-glow: rgba(74, 138, 232, .14);--vignette: rgba(4, 8, 20, .65);--table-felt: #1a3050;--table-felt-light: #2a5080;--table-felt-dark: #0c1828;--table-rim: #2a3040;--table-rim-highlight: #4a5870;--ui-phase-bg: rgba(74, 138, 232, .22);--ui-phase-text: #a8c8ff;--card-bg: linear-gradient(165deg, #2a3858 0%, #1a2840 100%);--card-border: rgba(120, 160, 220, .28);--player-card-bg: linear-gradient(165deg, #344868 0%, #243048 100%);--indicator-gradient: linear-gradient(135deg, #2a5080 0%, #4a8ae8 50%, #a8c8ff 100%);--btn-accent: linear-gradient(180deg, #7ab8ff 0%, #3a68c8 100%);--scrollbar-thumb: rgba(74, 138, 232, .5);--log-accent: #4a8ae8}html[data-theme=sunset]{--ui-bg-deep: #180c0c;--ui-bg-mid: #281818;--ui-bg-panel: rgba(56, 32, 28, .92);--ui-bg-header: rgba(44, 24, 20, .9);--ui-border: rgba(220, 140, 100, .25);--ui-border-bright: rgba(255, 180, 120, .35);--ui-text: #f8ece8;--ui-text-muted: #c0a090;--ui-accent: #e07840;--ui-accent-bright: #ffa060;--ui-accent-glow: rgba(224, 120, 64, .42);--ui-gold: #f0c060;--ambient-glow: rgba(224, 120, 64, .14);--vignette: rgba(20, 8, 4, .6);--table-felt: #4a3020;--table-felt-light: #6a4830;--table-felt-dark: #2a1810;--table-rim: #3a2010;--ui-phase-bg: rgba(224, 120, 64, .22);--ui-phase-text: #ffd0a8;--card-bg: linear-gradient(165deg, #584038 0%, #382820 100%);--card-border: rgba(220, 140, 100, .3);--player-card-bg: linear-gradient(165deg, #684838 0%, #483020 100%);--indicator-gradient: linear-gradient(135deg, #a04828 0%, #e07840 50%, #f0c060 100%);--btn-accent: linear-gradient(180deg, #ffa060 0%, #c05828 100%);--scrollbar-thumb: rgba(224, 120, 64, .5);--log-accent: #e07840}html[data-theme=obsidian]{--ui-bg-deep: #0c0c10;--ui-bg-mid: #18181e;--ui-bg-panel: rgba(32, 32, 40, .94);--ui-bg-header: rgba(24, 24, 30, .92);--ui-border: rgba(160, 160, 180, .2);--ui-border-bright: rgba(200, 200, 220, .28);--ui-text: #ececf0;--ui-text-muted: #9898a8;--ui-accent: #a0a0b8;--ui-accent-bright: #d0d0e0;--ui-accent-glow: rgba(160, 160, 184, .35);--ui-gold: #d8c878;--ambient-glow: rgba(200, 200, 220, .08);--vignette: rgba(0, 0, 0, .65);--table-felt: #282830;--table-felt-light: #404048;--table-felt-dark: #141418;--table-rim: #1a1a20;--table-rim-highlight: #484850;--ui-phase-bg: rgba(160, 160, 184, .2);--ui-phase-text: #d0d0e0;--card-bg: linear-gradient(165deg, #404048 0%, #282830 100%);--card-border: rgba(180, 180, 200, .25);--player-card-bg: linear-gradient(165deg, #484850 0%, #303038 100%);--indicator-gradient: linear-gradient(135deg, #505058 0%, #a0a0b8 50%, #d8c878 100%);--btn-accent: linear-gradient(180deg, #c0c0d0 0%, #686878 100%);--scrollbar-thumb: rgba(160, 160, 184, .45);--log-accent: #a0a0b8}.theme-picker-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.theme-picker-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-muted);opacity:.85}.theme-picker{display:flex;gap:4px;padding:3px 5px;background:var(--ui-bg-panel-inner);border:1px solid var(--ui-border);border-radius:20px;box-shadow:var(--shadow-sm),var(--shadow-inset-top)}.theme-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:inset 0 -2px 4px #00000059,0 2px 6px #0000004d}.theme-swatch:hover{transform:scale(1.15)}.theme-swatch.active{border-color:var(--ui-gold);box-shadow:0 0 10px var(--ui-gold-glow),inset 0 -2px 4px #00000059;transform:scale(1.1)}.theme-swatch[data-theme=royal]{background:linear-gradient(135deg,#6b52b8,#c9a227)}.theme-swatch[data-theme=emerald]{background:linear-gradient(135deg,#1a4a38,#3da87a)}.theme-swatch[data-theme=midnight]{background:linear-gradient(135deg,#1a2840,#4a8ae8)}.theme-swatch[data-theme=sunset]{background:linear-gradient(135deg,#6a2820,#e07840)}.theme-swatch[data-theme=obsidian]{background:linear-gradient(135deg,#282830,#9898a8)}#game-screen .district-card{max-width:130px}#game-screen .card-image{width:auto;max-width:100%;height:auto;max-height:72px;object-fit:contain;display:block;margin-left:auto;margin-right:auto}#game-screen .game-main{display:flex;flex-direction:column;min-height:0}#game-screen .game-table-container{flex:1 1 auto;min-height:0}#game-screen .player-panels{flex:0 0 auto;max-height:min(32vh,220px);min-height:96px}@media (min-width: 1920px){#game-screen .game-layout{grid-template-columns:minmax(0,1fr)}@supports (width: 100cqw){#game-screen .game-table{width:min(98cqw,196cqh);height:auto;aspect-ratio:2 / 1;max-height:98cqh}}#game-screen .district-card{min-width:88px;max-width:155px}#game-screen .card-image{max-height:90px;max-width:76px}#game-screen .player-panels{max-height:min(34vh,250px)}#game-screen .player-card{min-width:100px;max-width:130px;font-size:.85rem}#game-screen .log-messages{font-size:.82rem}}@media (min-width: 2560px){#game-screen .game-layout{grid-template-columns:minmax(0,1fr)}#game-screen .game-header{padding:6px 16px}#game-screen .header-left.room-info{font-size:.95rem}#game-screen .phase-badge,#game-screen .control-btn.compact{font-size:.92rem;padding:7px 14px}@supports (width: 100cqw){#game-screen .game-table{width:min(98cqw,196cqh);height:auto;aspect-ratio:2 / 1;max-height:98cqh}#game-screen .game-table-container:before{width:min(98cqw,196cqh);height:min(98cqh,49cqw)}}#game-screen .player-card{min-width:118px;max-width:150px;padding:7px 11px;font-size:.95rem}#game-screen .player-role-img{width:28px;height:28px}#game-screen .district-card{min-width:100px;max-width:175px}#game-screen .card-image{max-height:108px;max-width:88px}#game-screen .hand-section h3,#game-screen .city-section h3,#game-screen .game-log h3{font-size:.92rem;padding:9px 14px}#game-screen .player-panels{max-height:min(34vh,280px);min-height:110px;gap:10px}#game-screen .log-messages{font-size:.88rem}#game-screen .character-display-card .character-pick-img,#game-screen .character-display-card .pick-card-zoom-btn img{width:60px}#game-screen .removed-characters-panel{max-width:min(88%,320px)}}@media (max-width: 1100px){#game-screen .game-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 767px) and (orientation: portrait){#game-screen .game-header{grid-template-columns:1fr auto;grid-template-areas:"info actions" "turn turn";gap:4px;padding:4px 8px;padding-top:max(4px,env(safe-area-inset-top))}#game-screen .header-left.room-info{grid-area:info;font-size:.68rem;gap:4px 8px}#game-screen .header-right{grid-area:actions;justify-content:flex-end;gap:4px}#game-screen .header-center.turn-info{grid-area:turn;width:100%;gap:0}#game-screen .character-display{font-size:.72rem}#game-screen .character-display p{margin:0;line-height:1.2}#game-screen .phase-badge{font-size:.68rem;padding:2px 8px}#game-screen .control-btn.compact{padding:4px 8px;font-size:.72rem}#game-screen #lobby-characters-summary,#game-screen .theme-picker-wrap{display:none}#game-screen .game-notices{padding:0 6px}#game-screen .context-hint-bar{padding:4px 8px;font-size:.72rem}#game-screen .game-layout{display:flex;flex-direction:column;gap:0;flex:1 1 0;min-height:0;justify-content:flex-start;align-items:stretch;overflow-x:hidden;overflow-y:auto;padding-bottom:56px}#game-screen.mobile-comm-open .game-layout{padding-bottom:56px}#game-screen .game-main{flex:0 0 auto;width:100%;max-width:100%;height:auto;min-width:0;min-height:0;padding:2px 4px 0;gap:6px;overflow-x:hidden;overflow-y:visible;display:grid;grid-template-rows:auto auto;align-content:start}#game-screen .game-table-container{grid-row:1;flex:none;width:100%;max-width:100%;min-width:0;height:auto;min-height:unset;max-height:none;overflow:hidden;padding:2px 6px 4px;align-items:center;justify-content:center;container-type:normal;position:relative;z-index:1;box-sizing:border-box}#game-screen .game-table-container:before{display:none}#game-screen .game-table{position:relative;width:min(100%,calc(min(40vh,calc(var(--app-vh, 100dvh) - 360px))*2));max-width:100%;height:auto;margin:0 auto;box-sizing:border-box;aspect-ratio:2 / 1;max-height:min(40vh,calc(var(--app-vh, 100dvh) - 360px));border-width:10px}@supports (width: 100cqw){#game-screen .game-table{width:min(100%,calc(min(40vh,calc(var(--app-vh, 100dvh) - 360px))*2));max-width:100%;height:auto;aspect-ratio:2 / 1;max-height:min(40vh,calc(var(--app-vh, 100dvh) - 360px))}}#game-screen .removed-characters-panel{z-index:4}#game-screen .game-table.has-removed-characters .removed-characters-panel{top:50%;left:50%;transform:translate(-50%,-50%);width:auto;max-width:min(88%,200px);padding:3px 6px 4px;z-index:4}#game-screen .player-card{z-index:5}#game-screen .player-panels{grid-row:2;display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%;min-width:0;max-height:none;min-height:0;flex:none;flex-shrink:0;overflow:hidden;margin-top:0;position:relative;z-index:2}#game-screen .city-section{order:1;flex:0 0 auto;flex-shrink:0;width:100%;max-width:100%;min-width:0;min-height:86px;max-height:none}#game-screen .hand-section{order:2;flex:0 0 auto;flex-shrink:0;width:100%;max-width:100%;min-width:0;min-height:90px;max-height:none}#game-screen .city-section .city-grid{min-width:0;min-height:62px;max-height:none;padding:6px 8px;gap:6px;align-items:stretch}#game-screen .hand-section .card-hand{min-width:0;min-height:66px;max-height:none;padding:6px 8px;gap:6px;align-items:stretch}#game-screen #player-city.city-drop-target:empty:after{content:"Отпустите здесь для постройки";display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:52px;min-width:96px;border:1px dashed rgba(255,209,102,.55);border-radius:8px;color:#ffd166bf;font-size:.62rem;text-align:center;padding:6px;box-sizing:border-box}#game-screen .city-section,#game-screen .hand-section{display:flex;flex-direction:column;min-height:0;flex-shrink:0;overflow:hidden}#game-screen .city-grid,#game-screen .card-hand{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:hidden}#game-screen .hand-section h3,#game-screen .city-section h3,#game-screen .game-log h3{padding:3px 8px;font-size:.68rem}#game-screen.active .mobile-comm-header{display:flex}#game-screen.active .game-sidebar{position:fixed;top:var(--comm-top, auto);left:var(--comm-left, 10px);width:var(--comm-width, calc(100% - 20px));height:var(--comm-height, 200px);right:auto;bottom:auto;z-index:1050;max-height:none;border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 12px 40px #0000008c;opacity:0;transform:scale(.96);transition:opacity .22s ease,transform .22s ease;pointer-events:none;visibility:hidden;display:flex;flex-direction:column;overflow:hidden}#game-screen.active.mobile-comm-open .game-sidebar{opacity:1;transform:scale(1);pointer-events:auto;visibility:visible}#game-screen.active .game-log{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}#game-screen.active .log-messages{flex:1 1 auto;min-height:calc(3.96em + 8px);max-height:none;overflow-y:auto;padding:4px 8px;font-size:.7rem;line-height:1.32}#game-screen.active .game-log h3{display:none}#game-screen.active .mobile-comm-toggle{display:flex;position:fixed;z-index:1040}#game-screen .game-log{flex:0 0 auto;min-height:0}#game-screen .log-messages p{margin-bottom:2px;padding:2px 6px 2px 8px;font-size:.7rem;line-height:1.28}#game-screen .chat-section{flex:0 0 auto;padding:6px 8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}body.app-shell #game-screen .chat-section,html.native-app #game-screen .chat-section{padding-bottom:8px}#game-screen .chat-input,#game-screen .send-chat-btn,#game-screen .chat-mode-toggle{min-height:36px}#game-screen .chat-input{font-size:.78rem;padding:4px 8px}#game-screen .player-card{min-width:54px;max-width:78px;padding:3px 5px;font-size:.58rem;border-radius:7px;border-width:1px}#game-screen .player-card .player-name-label{display:block;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;line-height:1.12}#game-screen .player-card .player-stats{font-size:.52rem;line-height:1.15}#game-screen .player-role-img{width:16px;height:16px}#game-screen .player-card .player-role-slot{font-size:.52rem;line-height:1.15}#game-screen .player-card .crown-label{font-size:.5rem;line-height:1.1}#game-screen .player-card .revealed-role,#game-screen .player-card .hidden-role{font-size:.52rem}#game-screen .removed-characters-title{font-size:.52rem;margin-bottom:2px;letter-spacing:.02em}#game-screen .removed-face-up-grid{gap:3px;flex-wrap:wrap;justify-content:center}#game-screen .removed-characters-panel .character-display-card{width:auto;min-width:36px;max-width:48px;padding:2px 2px 3px;flex-shrink:0}#game-screen .removed-characters-panel .character-display-card .character-pick-img,#game-screen .removed-characters-panel .character-display-card .pick-card-zoom-btn img{width:28px}#game-screen .removed-characters-panel .character-display-card .character-pick-name{font-size:.42rem;line-height:1.1}#game-screen .removed-face-up-grid--compact .removed-role-chip .player-role-img{width:16px;height:16px}#game-screen .removed-face-up-grid--compact .removed-role-chip .role-detail-name{font-size:.42rem}#game-screen .player-card .role-detail-chip{font-size:.52rem}#game-screen .player-card .role-detail-name{font-size:.5rem}#game-screen .city-grid .district-card,#game-screen .card-hand .district-card{min-width:54px;max-width:72px;padding:3px}#game-screen .city-grid .card-image,#game-screen .card-hand .card-image{max-width:46px;max-height:54px}#game-screen .city-grid .card-name,#game-screen .card-hand .card-name{font-size:.52em;line-height:1.1}#game-screen .city-grid .card-cost,#game-screen .card-hand .card-cost,#game-screen .city-grid .card-color,#game-screen .card-hand .card-color{font-size:.46em;line-height:1.1}#game-screen .header-center.turn-info .action-buttons{padding:2px 0}#game-screen .my-characters{padding:2px 6px;font-size:.68rem}#game-screen .action-buttons-group button,#game-screen .end-turn-btn,#game-screen .turn-action-open-btn{min-height:34px;font-size:.74rem;padding:4px 10px}#game-screen .turn-header-actions{gap:6px}#game-screen .char-turn-line{max-width:100%;white-space:normal;font-size:.72rem}}@media (max-width: 900px) and (orientation: landscape){#game-screen .theme-picker-wrap{display:none}#game-screen .game-layout{grid-template-columns:minmax(0,1fr)}#game-screen .game-table-container{flex:1 1 auto;min-height:0}#game-screen .player-panels{grid-template-columns:1fr 1fr;max-height:min(30vh,150px);min-height:76px}#game-screen .game-sidebar{min-height:0}#game-screen .player-card{min-width:64px;max-width:88px;font-size:.64rem}#game-screen .district-card{min-width:52px;max-width:72px}#game-screen .card-image{max-width:44px;max-height:52px}#game-screen .players-list--chip-band{position:absolute;inset:4px 4px auto;width:auto;height:auto;display:flex;gap:4px;align-items:stretch;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:2px 3px 4px;pointer-events:auto;z-index:8;scrollbar-width:thin}#game-screen .players-list--chip-band .player-card{position:relative;flex:0 0 clamp(68px,18%,86px);min-width:68px;max-width:86px;min-height:44px;max-height:58px;padding:3px 5px;border-width:1px;border-radius:7px;overflow:hidden;transform:none!important}#game-screen .players-list--chip-band .player-card.current{flex-basis:clamp(78px,21%,98px);max-width:98px}#game-screen .players-list--chip-band .player-name-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;line-height:1.1}#game-screen .players-list--chip-band .player-stats,#game-screen .players-list--chip-band .player-role-slot,#game-screen .players-list--chip-band .revealed-role,#game-screen .players-list--chip-band .hidden-role,#game-screen .players-list--chip-band .role-detail-chip,#game-screen .players-list--chip-band .role-detail-name,#game-screen .players-list--chip-band .crown-label{font-size:.5rem;line-height:1.08}#game-screen .players-list--chip-band .player-role-slot{max-height:20px;overflow:hidden}#game-screen .players-list--chip-band .player-role-img{width:16px;height:16px}#game-screen .game-table.has-removed-characters .players-list--chip-band{padding-right:56px}}html.viewport-phone-landscape #game-screen.active{position:fixed;top:var(--vp-y, 0px);left:var(--vp-x, 0px);width:var(--vp-w, 100vw);height:var(--vp-h, 100dvh);max-height:var(--vp-h, 100dvh);box-sizing:border-box;overflow:hidden}html.viewport-phone-landscape #game-screen .game-header{grid-template-columns:minmax(150px,.85fr) minmax(260px,1.7fr) minmax(130px,.75fr);align-items:start;gap:3px;padding:2px 4px}html.viewport-phone-landscape #game-screen .header-left.room-info{display:grid;grid-template-columns:repeat(2,max-content);align-content:start;gap:2px 8px;padding-top:2px;font-size:.68rem;line-height:1.15}html.viewport-phone-landscape #game-screen .header-center.turn-info{gap:1px;font-size:.68rem;line-height:1.1}html.viewport-phone-landscape #game-screen #current-character{display:none}html.viewport-phone-landscape #game-screen .current-player-indicator{min-height:18px;padding:2px 7px;font-size:.68rem;line-height:1.1}html.viewport-phone-landscape #game-screen .header-center.turn-info .action-buttons{padding:0;gap:2px}html.viewport-phone-landscape #game-screen .turn-actions-row,html.viewport-phone-landscape #game-screen .action-buttons-group,html.viewport-phone-landscape #game-screen .turn-header-actions{gap:4px}html.viewport-phone-landscape #game-screen .action-buttons-group{display:flex;flex-wrap:nowrap;width:100%}html.viewport-phone-landscape #game-screen .header-center .action-buttons-group button,html.viewport-phone-landscape #game-screen .header-center .end-turn-btn,html.viewport-phone-landscape #game-screen .header-center .turn-action-open-btn{min-height:32px;padding:2px 8px;font-size:.68rem;line-height:1.05}html.viewport-phone-landscape #game-screen .header-center .turn-action-count{min-width:1.1rem;height:1.1rem;font-size:.62rem}html.viewport-phone-landscape #game-screen .my-characters{max-width:66px;padding:2px;gap:2px;overflow:hidden}html.viewport-phone-landscape #game-screen .my-characters-label{display:none}html.viewport-phone-landscape #game-screen .header-right{display:grid;grid-template-columns:32px 36px minmax(48px,1fr);justify-content:end;align-items:start;gap:3px}html.viewport-phone-landscape #game-screen .header-right .control-btn.compact,html.viewport-phone-landscape #game-screen .header-right .phase-badge{min-height:30px;padding:3px 7px;font-size:.68rem;line-height:1}html.viewport-phone-landscape #game-screen .header-right #sound-toggle-btn{grid-column:1;grid-row:1;min-width:32px;padding-inline:4px}html.viewport-phone-landscape #game-screen .header-right .bug-report-btn,html.viewport-phone-landscape #game-screen .header-right #help-game-btn{display:none}html.viewport-phone-landscape #game-screen .header-right .phase-badge{grid-column:1 / 4;grid-row:2;justify-self:stretch;max-width:100%;overflow:hidden;text-overflow:ellipsis}html.viewport-phone-landscape #game-screen .header-right #leave-btn{grid-column:3;grid-row:1;justify-self:stretch;min-height:32px;padding:2px 5px;font-size:.64rem}html.viewport-phone-landscape #game-screen .top-bar-collapse-btn{position:static;grid-column:2;grid-row:1;min-width:36px;min-height:36px}html.viewport-phone-landscape #game-screen .game-notices{display:none}html.viewport-phone-landscape #game-screen .game-main{padding:2px 4px 0;gap:4px}html.viewport-phone-landscape #game-screen .player-panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;min-height:0;max-height:min(22vh,88px)}html.viewport-phone-landscape #game-screen .hand-section h3,html.viewport-phone-landscape #game-screen .city-section h3{padding:2px 6px;font-size:.62rem}html.viewport-phone-landscape #game-screen .card-hand,html.viewport-phone-landscape #game-screen .city-grid{gap:4px;padding:4px 6px}html.viewport-phone-landscape #game-screen .game-table{width:100%;border-width:8px;border-radius:12px}html.viewport-phone-landscape #game-screen .game-table:after{top:6px;right:6px;bottom:6px;left:6px;border-radius:6px}@supports (width: 100cqw){html.viewport-phone-landscape #game-screen .game-table{width:min(100cqw,200cqh);max-height:100cqh}}html.viewport-phone-landscape #game-screen .city-grid .district-card,html.viewport-phone-landscape #game-screen .card-hand .district-card{min-width:48px;max-width:64px;height:100%;max-height:64px;padding:2px;overflow:hidden;box-sizing:border-box}html.viewport-phone-landscape #game-screen .city-grid .card-image,html.viewport-phone-landscape #game-screen .card-hand .card-image{width:auto;max-width:52px;height:100%;max-height:60px;margin:0;object-fit:contain}html.viewport-phone-landscape #game-screen .city-grid .card-info,html.viewport-phone-landscape #game-screen .card-hand .card-info,html.viewport-phone-landscape #game-screen .city-grid .district-decor-badge,html.viewport-phone-landscape #game-screen .card-hand .district-decor-badge{display:none}html.viewport-phone-landscape #game-screen .removed-characters-panel{padding:2px;max-width:min(70%,220px);border-radius:6px}html.viewport-phone-landscape #game-screen .removed-characters-panel .character-pick-rank,html.viewport-phone-landscape #game-screen .removed-characters-panel .character-pick-info{display:none}html.viewport-phone-landscape #game-screen .removed-characters-title{display:block;margin:0 0 1px;font-size:.45rem;line-height:1;letter-spacing:.02em}html.viewport-phone-landscape #game-screen .removed-face-up-grid{gap:3px}html.viewport-phone-landscape #game-screen .removed-characters-panel .character-display-card{width:auto;min-width:0;max-width:none;padding:0;border-radius:4px;overflow:hidden}html.viewport-phone-landscape #game-screen .removed-characters-panel .character-display-card .character-pick-img,html.viewport-phone-landscape #game-screen .removed-characters-panel .character-display-card .pick-card-zoom-btn img{display:block;width:42px;height:auto;border-radius:3px}html.viewport-phone-landscape #game-screen .game-main .action-buttons-group button,html.viewport-phone-landscape #game-screen .game-main .end-turn-btn{min-height:44px}@media (max-width: 767px) and (orientation: portrait){#game-screen .game-header{grid-template-columns:minmax(0,1fr) 148px;grid-template-areas:"info controls" "turn turn";gap:3px;padding:max(2px,env(safe-area-inset-top)) 4px 3px}#game-screen .header-left.room-info{display:grid;grid-template-columns:repeat(2,max-content);align-content:start;gap:2px 7px;padding-top:2px;font-size:.64rem;line-height:1.1}#game-screen .header-right{grid-area:controls;display:grid;grid-template-columns:32px 36px minmax(48px,1fr);align-items:start;justify-content:end;gap:3px}#game-screen .header-right .bug-report-btn,#game-screen .header-right #help-game-btn{display:none}#game-screen .header-right #sound-toggle-btn{grid-column:1;grid-row:1;min-width:32px;min-height:30px;padding:3px}#game-screen .header-right .phase-badge{display:none}#game-screen .header-right #leave-btn{grid-column:3;grid-row:1;justify-self:stretch;min-height:30px;padding:3px 5px;font-size:.66rem}#game-screen .top-bar-collapse-btn{position:static;grid-column:2;grid-row:1;min-width:36px;min-height:36px}#game-screen .header-center.turn-info{gap:2px;min-width:0;font-size:.66rem;line-height:1.1}#game-screen #current-character{display:none}#game-screen .current-player-indicator{max-width:100%;min-height:18px;padding:2px 7px;flex-wrap:nowrap;overflow:hidden;font-size:.66rem;line-height:1}#game-screen .current-player-indicator>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#game-screen .header-center.turn-info .action-buttons,#game-screen .turn-actions-row,#game-screen .turn-header-actions{gap:6px;padding:0}#game-screen .action-buttons-group{display:flex;flex-wrap:nowrap;gap:6px;width:100%;justify-content:center}#game-screen .header-center .action-buttons-group button,#game-screen .header-center .end-turn-btn,#game-screen .header-center .turn-action-open-btn{min-width:0;min-height:34px;padding:4px 10px;overflow:hidden;font-size:.7rem;line-height:1.1;text-overflow:ellipsis;flex:0 1 auto}#game-screen .my-characters{max-width:72px;padding:2px;gap:2px;overflow:hidden}#game-screen .my-characters-label{display:none}#game-screen .my-char-badge{padding:0;border:0}#game-screen .my-char-badge img{width:20px}#game-screen .game-notices{display:none}#game-screen .game-layout,#game-screen.mobile-comm-open .game-layout{padding-bottom:0}#game-screen .game-main{gap:4px;padding:2px 4px 0}#game-screen .game-table-container{padding:0 2px 2px}#game-screen .game-table{border-width:8px}#game-screen .game-table:after{top:6px;right:6px;bottom:6px;left:6px}#game-screen .player-card{padding:2px 4px;font-size:.56rem}#game-screen .player-card .role-detail-name,#game-screen .player-card .crown-label{display:none}#game-screen .player-card .role-detail-chip{width:auto;padding:0}#game-screen .player-card .player-role-img{width:18px;height:18px;margin:0}#game-screen .player-panels{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:58px 86px;gap:4px;min-height:0;max-height:148px}#game-screen .city-section,#game-screen .hand-section{width:auto;min-width:0;min-height:0}#game-screen .city-section{max-height:58px}#game-screen .hand-section{max-height:86px}#game-screen .hand-section h3,#game-screen .city-section h3{padding:2px 5px;font-size:.6rem}#game-screen .city-grid,#game-screen .card-hand{min-height:0;gap:3px;padding:3px 4px;align-items:stretch}#game-screen .city-grid .district-card,#game-screen .card-hand .district-card{min-width:44px;max-width:56px;height:100%;max-height:66px;padding:2px;overflow:hidden;box-sizing:border-box}#game-screen .city-grid .card-image,#game-screen .card-hand .card-image{width:auto;height:100%;max-width:48px;max-height:62px;margin:0;object-fit:contain}#game-screen .city-grid .card-info,#game-screen .card-hand .card-info,#game-screen .city-grid .district-decor-badge,#game-screen .card-hand .district-decor-badge{display:none}#game-screen .removed-characters-panel{top:62%;padding:2px;max-width:60%;border-radius:5px}#game-screen .removed-characters-panel .character-pick-rank,#game-screen .removed-characters-panel .character-pick-info{display:none}#game-screen .removed-characters-title{display:block;margin:0 0 1px;font-size:.45rem;line-height:1;letter-spacing:.02em}#game-screen .removed-face-up-grid,#game-screen .removed-face-up-grid--compact{gap:2px}#game-screen .removed-characters-panel .character-display-card{width:auto;min-width:0;max-width:none;padding:0;overflow:hidden;border-radius:3px}#game-screen .removed-characters-panel .character-display-card .character-pick-img,#game-screen .removed-characters-panel .character-display-card .pick-card-zoom-btn img{display:block;width:28px;height:auto;border-radius:2px}}@media (max-width: 700px){.card-detail-modal--citadels{align-items:center;padding:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))}.card-detail-modal--citadels .card-detail-panel{width:fit-content;max-width:calc(100vw - 8px);max-height:calc(100dvh - 8px);overflow:hidden;gap:0;padding:6px;border-radius:12px}.card-detail-modal--citadels .card-detail-img{display:block;width:auto;max-width:min(72vw,240px);height:auto;max-height:calc(100dvh - 20px);margin:0;border-radius:7px}.card-detail-modal--citadels .card-detail-info{display:none}.card-detail-modal--citadels .card-detail-close{top:6px;left:6px;width:36px;height:36px;font-size:1.3rem}.card-detail-modal--citadels .card-detail-panel .modal-minimize-btn,.card-detail-modal--citadels .card-detail-minimize{top:6px;right:6px;min-width:36px;min-height:36px}.card-detail-modal--citadels .card-detail-action-btn{min-height:40px;margin-top:5px;padding:7px 12px;font-size:.78rem}.card-detail-modal--citadels.card-detail-modal--action .card-detail-img{max-height:calc(100dvh - 76px)}}@media (max-width: 700px) and (orientation: landscape){.card-detail-modal--citadels .card-detail-img{max-width:min(52vw,240px);max-height:calc(100dvh - 20px)}}#game-screen .player-slot-empty:disabled{cursor:default;opacity:.55}html.viewport-phone-landscape #game-screen.game-screen--lobby .game-header{grid-template-columns:minmax(145px,1fr) minmax(390px,1.7fr);align-items:center;min-height:0;padding:2px 4px}html.viewport-phone-landscape #game-screen.game-screen--lobby .header-center.turn-info,html.viewport-phone-landscape #game-screen.game-screen--lobby .header-right .phase-badge{display:none}html.viewport-phone-landscape #game-screen.game-screen--lobby .header-right{display:grid;grid-template-columns:32px 36px 52px minmax(112px,1fr) 82px;align-items:center;gap:3px;width:100%}html.viewport-phone-landscape #game-screen.game-screen--lobby #sound-toggle-btn{grid-column:1;grid-row:1}html.viewport-phone-landscape #game-screen.game-screen--lobby .top-bar-collapse-btn{grid-column:2;grid-row:1}html.viewport-phone-landscape #game-screen.game-screen--lobby #leave-btn{grid-column:3;grid-row:1}html.viewport-phone-landscape #game-screen.game-screen--lobby #lobby-settings:not([hidden]){grid-column:4;grid-row:1;display:flex;min-width:0;margin:0;font-size:.62rem;line-height:1}html.viewport-phone-landscape #game-screen.game-screen--lobby .lobby-settings-label{gap:3px;white-space:nowrap}html.viewport-phone-landscape #game-screen.game-screen--lobby #start-game-btn{grid-column:5;grid-row:1;min-width:78px;min-height:32px;padding:3px 5px;font-size:.64rem;line-height:1}html.viewport-phone-landscape #game-screen.game-screen--lobby .players-list--lobby{overflow:visible;padding:0}html.viewport-phone-landscape #game-screen.game-screen--lobby .player-card{min-width:54px;max-width:72px;min-height:40px;max-height:54px;padding:2px 4px}html.viewport-phone-landscape #game-screen.game-screen--lobby .player-slot-empty{min-width:48px}@media (max-width: 767px) and (orientation: portrait){#game-screen.game-screen--lobby .game-header{grid-template-columns:minmax(0,1fr);grid-template-areas:"info" "controls";gap:2px;padding:max(2px,env(safe-area-inset-top)) 4px 3px}#game-screen.game-screen--lobby .header-left.room-info{justify-content:center;justify-self:center}#game-screen.game-screen--lobby .header-center.turn-info,#game-screen.game-screen--lobby .header-right .phase-badge{display:none}#game-screen.game-screen--lobby .header-right{grid-area:controls;display:grid;grid-template-columns:32px 36px 52px minmax(105px,1fr) 78px;align-items:center;gap:3px;width:100%}#game-screen.game-screen--lobby #sound-toggle-btn{grid-column:1}#game-screen.game-screen--lobby .top-bar-collapse-btn{grid-column:2}#game-screen.game-screen--lobby #leave-btn{grid-column:3}#game-screen.game-screen--lobby #lobby-settings:not([hidden]){grid-column:4;grid-row:1;display:flex;min-width:0;margin:0;font-size:.58rem;line-height:1}#game-screen.game-screen--lobby .lobby-settings-label{gap:2px;white-space:nowrap}#game-screen.game-screen--lobby #start-game-btn{grid-column:5;grid-row:1;min-width:74px;min-height:32px;padding:3px 4px;font-size:.6rem;line-height:1}#game-screen.game-screen--lobby .game-table{width:min(100%,363px);aspect-ratio:1 / 1;max-height:min(55dvh,363px)}@supports (width: 100cqw){#game-screen.game-screen--lobby .game-table{width:min(100%,363px);aspect-ratio:1 / 1;max-height:min(55dvh,363px)}}#game-screen.game-screen--lobby .players-list--lobby{overflow:visible;padding:0}#game-screen.game-screen--lobby .player-card{min-width:50px;max-width:66px;min-height:38px;max-height:52px;padding:2px 3px}#game-screen.game-screen--lobby .player-panels{grid-template-rows:70px 100px;max-height:174px}#game-screen.game-screen--lobby .city-section{max-height:70px}#game-screen.game-screen--lobby .hand-section{max-height:100px}}@media (max-width: 767px){#app{padding:12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}#login-screen{padding:40px 16px}#login-screen h1{font-size:2.2em}.login-form input,.login-form button{font-size:1rem;padding:14px}#lobby-screen{padding:24px 12px}.room-item{flex-direction:column;gap:12px;text-align:center}}#game-screen .header-right .phase-badge{display:none!important}#game-screen .action-buttons-group{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;width:min(100%,640px);margin-inline:auto}#game-screen .action-buttons-group button{flex:1 1 90px;max-width:170px;min-width:0}#game-screen .player-crown-inline{display:inline;color:var(--ui-gold)}.modal-content.modal-pick-characters .character-pick-rank,.modal-content.modal-pick-characters .character-pick-info{display:none}.modal-content.modal-pick-characters .character-pick-card{aspect-ratio:130 / 203;min-height:0;padding:3px;gap:0;overflow:hidden}.modal-content.modal-pick-characters .character-pick-img{display:block;width:100%;max-width:none;height:100%;max-height:none;margin:0;border-radius:7px;object-fit:cover}@media (max-width: 900px){#game-screen .player-card:not(.player-slot-empty){width:72px;min-width:72px;max-width:72px;min-height:44px;padding:3px 4px;opacity:1;background:rgba(64,56,112,.98);font-size:.62rem;line-height:1.08;text-rendering:geometricPrecision}#game-screen .player-card .player-name-label{max-width:100%;font-size:.62rem;line-height:1.1}#game-screen .player-card .player-stats,#game-screen .player-card .player-role-slot{font-size:.54rem;line-height:1.08}#game-screen .player-kick-btn{top:1px;right:1px;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;font-size:.62rem;line-height:16px}#game-screen #lobby-characters-btn:not([hidden]){display:inline-flex;flex:0 0 26px;width:26px;min-width:26px;min-height:26px;padding:0;overflow:hidden;align-items:center;justify-content:center;color:transparent;font-size:0}#game-screen #lobby-characters-btn:not([hidden]):after{content:"";display:block;width:.85rem;height:.85rem;background:url(/icons/emoji/2699-fe0f.svg) center / contain no-repeat}#game-screen #lobby-settings:not([hidden]){justify-content:flex-end;gap:3px;overflow:hidden}#game-screen .lobby-settings-label{min-width:0;overflow:hidden;text-overflow:ellipsis}#game-screen .top-bar-collapse-btn{z-index:30;pointer-events:auto}}@media (max-width: 900px) and (orientation: landscape){#game-screen .header-center.turn-info,#game-screen .header-center .action-buttons{justify-items:center;text-align:center}#game-screen .action-buttons-group{gap:3px}#game-screen .action-buttons-group button{flex-basis:68px;min-height:30px;padding:2px 4px;font-size:clamp(.54rem,1.5vw,.64rem)}.modal-content.modal-pick-characters .character-pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:6px}}@media (max-width: 767px) and (orientation: portrait){#game-screen .action-buttons-group{gap:3px}#game-screen .action-buttons-group button{flex-basis:82px;min-height:32px;padding:3px 4px;font-size:clamp(.56rem,2.6vw,.65rem)}#game-screen .player-panels{grid-template-rows:96px 100px;max-height:200px}#game-screen .city-section{max-height:96px}#game-screen .hand-section{max-height:100px}#game-screen .city-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;overflow:hidden;align-items:stretch}#game-screen .city-grid .district-card,#game-screen .city-grid .city-slot-placeholder{width:100%;min-width:0;max-width:none;height:100%;max-height:76px;box-sizing:border-box}#game-screen .city-grid .city-slot-placeholder{border:1px dashed rgba(201,162,39,.28);border-radius:4px;background:rgba(255,255,255,.025)}#game-screen .city-grid .card-image{width:100%;max-width:none;height:100%;max-height:72px;object-fit:contain}}@media (max-width: 900px){#game-screen .city-grid,#game-screen .card-hand{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:minmax(0,1fr);grid-auto-flow:column;grid-auto-columns:minmax(38px,1fr);gap:3px;overflow-x:auto;overflow-y:hidden;align-items:start}#game-screen .city-grid .district-card,#game-screen .city-grid .city-slot-placeholder,#game-screen .card-hand .district-card,#game-screen .card-hand .hand-slot-placeholder{width:100%;min-width:0;max-width:none;height:auto;min-height:0;max-height:100%;aspect-ratio:130 / 203;box-sizing:border-box}#game-screen .city-slot-placeholder,#game-screen .hand-slot-placeholder{border:1px dashed rgba(201,162,39,.32);border-radius:4px;background:rgba(255,255,255,.025)}#game-screen .city-grid .card-image,#game-screen .card-hand .card-image{width:100%;max-width:none;height:100%;max-height:100%;object-fit:contain}}@media (max-width: 767px) and (orientation: portrait){#game-screen .player-panels{grid-template-rows:96px 96px;max-height:196px}#game-screen .city-section,#game-screen .hand-section{max-height:96px}}#game-screen .lobby-start-controls{display:none;align-items:center;justify-content:center;flex-wrap:nowrap;gap:8px;width:100%;min-width:0}#game-screen.game-screen--lobby .lobby-start-controls{display:flex}#game-screen.game-screen--lobby .header-center>#current-player-indicator,#game-screen.game-screen--lobby .header-center>#current-character,#game-screen.game-screen--lobby .header-center>#action-buttons{display:none!important}#game-screen .lobby-characters-summary{display:none!important}#game-screen.game-screen--lobby .lobby-settings{margin:0;flex:0 1 auto}#game-screen.game-screen--lobby .lobby-settings-label{white-space:nowrap}#game-screen.game-screen--lobby #start-game-btn{flex:0 0 auto}@media (max-width: 900px) and (orientation: landscape){#game-screen.game-screen--lobby .game-header{grid-template-columns:minmax(145px,1fr) minmax(220px,1.35fr) minmax(126px,auto)}#game-screen.game-screen--lobby .header-center.turn-info{display:flex;grid-column:2;min-width:0}#game-screen.game-screen--lobby .header-right{grid-column:3;grid-template-columns:32px 36px 52px;width:auto;min-width:126px}#game-screen.game-screen--lobby .lobby-start-controls{gap:5px}#game-screen.game-screen--lobby .lobby-settings-label{font-size:.62rem}#game-screen.game-screen--lobby #start-game-btn{min-width:78px;min-height:32px;padding:3px 6px;font-size:.64rem}}@media (max-width: 767px) and (orientation: portrait){#game-screen.game-screen--lobby .game-header{grid-template-columns:minmax(0,1fr) 148px;grid-template-areas:"info controls" "turn turn"}#game-screen.game-screen--lobby .header-center.turn-info{display:flex;grid-area:turn;min-width:0}#game-screen.game-screen--lobby .header-right{grid-area:controls;grid-template-columns:32px 36px minmax(48px,1fr);width:100%}#game-screen.game-screen--lobby .lobby-start-controls{gap:6px;padding-top:1px}#game-screen.game-screen--lobby .lobby-settings-label{font-size:.64rem}#game-screen.game-screen--lobby #start-game-btn{min-width:82px;min-height:32px;padding:3px 7px;font-size:.64rem}#game-screen.game-screen--lobby .player-panels{grid-template-rows:96px 96px;max-height:196px}#game-screen.game-screen--lobby .city-section,#game-screen.game-screen--lobby .hand-section{max-height:96px}}#character-modal{position:fixed;top:0;right:0;bottom:0;left:0;box-sizing:border-box;overflow:hidden;overscroll-behavior:none;padding:max(6px,var(--safe-top)) max(6px,var(--safe-right)) max(6px,var(--safe-bottom)) max(6px,var(--safe-left))}#character-modal>.modal-content{display:flex;flex-direction:column;width:min(96vw,720px);max-width:min(96vw,720px);max-height:calc(100dvh - 12px - var(--safe-top) - var(--safe-bottom));box-sizing:border-box;overflow:hidden;padding:12px 14px}#character-modal .modal-header{flex:0 0 auto;min-width:0}#character-modal .modal-header h2{margin:0 0 4px;font-size:clamp(1rem,2.6vw,1.2rem);line-height:1.12}#character-modal .modal-description{margin:0 0 8px;font-size:clamp(.7rem,1.9vw,.82rem);line-height:1.3}#character-modal .modal-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}#character-modal .modal-body>.character-pick-grid,#character-modal .modal-body>.district-pick-grid{max-height:none;overflow:visible}#character-modal .modal-footer-actions{flex:0 0 auto;margin-top:8px;padding-top:8px;border-top:1px solid rgba(26,32,56,.14);background:#fff}#character-modal .modal-footer-actions button,#character-modal .modal-close-btn{min-height:34px;margin:0;padding:6px 14px;font-size:.72rem}#character-modal>.modal-content.modal-pick-cards{width:min(96vw,920px);max-width:min(96vw,920px)}@media (max-width: 900px) and (orientation: landscape){#character-modal{padding:max(4px,var(--safe-top)) max(4px,var(--safe-right)) max(4px,var(--safe-bottom)) max(4px,var(--safe-left))}#character-modal>.modal-content,#character-modal>.modal-content.modal-pick-cards,#character-modal>.modal-content.modal-pick-characters{width:calc(100vw - 8px - var(--safe-left) - var(--safe-right));max-width:calc(100vw - 8px - var(--safe-left) - var(--safe-right));height:calc(100dvh - 8px - var(--safe-top) - var(--safe-bottom));max-height:calc(100dvh - 8px - var(--safe-top) - var(--safe-bottom));padding:8px 10px;border-radius:10px}#character-modal .modal-header h2{margin-bottom:2px;font-size:.96rem}#character-modal .modal-description{margin-bottom:5px;font-size:.68rem;line-height:1.2}#character-modal .modal-footer-actions{min-height:36px;margin-top:5px;padding-top:5px;gap:8px}#character-modal .modal-footer-actions button{min-height:32px;padding:4px 12px;font-size:.68rem}#character-modal .modal-body>.character-pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,72px));gap:6px;justify-content:center;align-content:start}#character-modal .character-pick-grid[data-card-count="1"]{grid-template-columns:minmax(90px,130px)}#character-modal .character-pick-grid[data-card-count="2"]{grid-template-columns:repeat(2,minmax(90px,130px))}#character-modal .character-pick-grid[data-card-count="3"]{grid-template-columns:repeat(3,minmax(90px,130px))}#character-modal .character-pick-grid[data-card-count="4"]{grid-template-columns:repeat(4,minmax(90px,130px))}#character-modal .character-pick-grid[data-card-count="5"]{grid-template-columns:repeat(5,minmax(72px,96px))}#character-modal .character-pick-grid[data-card-count="6"]{grid-template-columns:repeat(6,minmax(72px,96px))}#character-modal .character-pick-grid[data-card-count="7"],#character-modal .character-pick-grid[data-card-count="8"]{grid-template-columns:repeat(auto-fit,minmax(64px,72px))}#character-modal .modal-body>.district-pick-grid{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:7px;align-content:start}}@media (max-width: 767px) and (orientation: portrait){#character-modal>.modal-content,#character-modal>.modal-content.modal-pick-cards,#character-modal>.modal-content.modal-pick-characters{width:calc(100vw - 12px - var(--safe-left) - var(--safe-right));max-width:calc(100vw - 12px - var(--safe-left) - var(--safe-right));height:calc(100dvh - 12px - var(--safe-top) - var(--safe-bottom));max-height:calc(100dvh - 12px - var(--safe-top) - var(--safe-bottom));padding:10px 12px;border-radius:11px}#character-modal .modal-body>.character-pick-grid{display:flex;flex-wrap:wrap;justify-content:center;align-content:start;gap:8px}#character-modal .modal-body>.district-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}}#character-modal>.modal-content.modal-compact,#character-modal>.modal-content.modal-main-action,#character-modal>.modal-content.modal-emperor-tribute{width:min(calc(100vw - 16px - var(--safe-left) - var(--safe-right)),440px);max-width:min(calc(100vw - 16px - var(--safe-left) - var(--safe-right)),440px);height:auto;max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom))}#character-modal>.modal-content.modal-compact .modal-body,#character-modal>.modal-content.modal-main-action .modal-body,#character-modal>.modal-content.modal-emperor-tribute .modal-body{flex:0 1 auto}@media (max-width: 900px) and (orientation: landscape){#character-modal>.modal-content:not(.modal-pick-cards){height:auto;max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom))}#character-modal>.modal-content.modal-compact,#character-modal>.modal-content.modal-main-action,#character-modal>.modal-content.modal-emperor-tribute{width:min(calc(100vw - 16px - var(--safe-left) - var(--safe-right)),520px);max-width:min(calc(100vw - 16px - var(--safe-left) - var(--safe-right)),520px);height:auto;max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom))}}@media (max-width: 767px) and (orientation: portrait){#character-modal>.modal-content:not(.modal-pick-cards){height:auto;max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom))}#character-modal>.modal-content.modal-compact,#character-modal>.modal-content.modal-main-action,#character-modal>.modal-content.modal-emperor-tribute{width:min(calc(100vw - 16px - var(--safe-left) - var(--safe-right)),400px);max-width:min(calc(100vw - 16px - var(--safe-left) - var(--safe-right)),400px);height:auto;max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom))}}html.viewport-phone-landscape{overflow:hidden;--layout-w: var(--vp-w, 100vw);--layout-h: var(--vp-h, 100dvh)}html.viewport-phone-landscape body{width:var(--vp-w, 100vw);height:var(--vp-h, 100dvh);max-height:var(--vp-h, 100dvh);overflow:hidden}html.viewport-phone-landscape #game-screen.active{inset:auto;top:var(--vp-y, 0px);left:var(--vp-x, 0px);width:var(--vp-w, 100vw);height:var(--vp-h, 100dvh);min-width:0;min-height:0;max-width:var(--vp-w, 100vw);max-height:var(--vp-h, 100dvh);display:flex!important;flex-direction:column;overflow:hidden}html.viewport-phone-landscape #game-screen .game-header{flex:0 0 auto;min-width:0;max-height:clamp(58px,18vh,72px);overflow:hidden}html.viewport-phone-landscape #game-screen .game-layout{flex:1 1 0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:100%;min-width:0;min-height:0;height:auto;padding:0;overflow:hidden}html.viewport-phone-landscape #game-screen .game-main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) clamp(70px,22vh,86px);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}html.viewport-phone-landscape #game-screen .game-table-container{width:100%;height:100%;min-width:0;min-height:0;padding:2px 4px;overflow:hidden}html.viewport-phone-landscape #game-screen .game-table{width:min(100%,calc((var(--vp-h, 100dvh) - clamp(132px,38vh,150px)) * 2));height:auto;max-width:100%;max-height:100%;aspect-ratio:2 / 1}html.viewport-phone-landscape #game-screen .player-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;max-height:none;overflow:hidden}html.viewport-phone-landscape #game-screen .city-section,html.viewport-phone-landscape #game-screen .hand-section{width:auto;height:100%;min-width:0;min-height:0;max-height:none;overflow:hidden}html.viewport-phone-landscape #game-screen .city-grid,html.viewport-phone-landscape #game-screen .card-hand{grid-template-columns:repeat(8,minmax(38px,1fr));min-width:0;min-height:0;height:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}html.viewport-phone-landscape #game-screen.game-screen--lobby .game-main{grid-template-rows:minmax(0,1fr) clamp(66px,21vh,82px)}html.viewport-phone-landscape #game-screen.game-screen--lobby .game-table{width:min(100%,calc(var(--vp-h, 100dvh) - clamp(118px,34vh,136px)));aspect-ratio:1}html.viewport-phone-landscape #game-screen.game-screen--lobby .players-list--lobby{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden}html.viewport-phone-landscape #character-modal{top:var(--vp-y, 0px);left:var(--vp-x, 0px);width:var(--vp-w, 100vw);height:var(--vp-h, 100dvh);padding:4px;overflow:hidden}html.viewport-phone-landscape #character-modal>.modal-content,html.viewport-phone-landscape #character-modal>.modal-content.modal-pick-cards,html.viewport-phone-landscape #character-modal>.modal-content.modal-pick-characters{width:min(calc(var(--vp-w, 100vw) - 8px),920px);max-width:calc(var(--vp-w, 100vw) - 8px);height:min(calc(var(--vp-h, 100dvh) - 8px),520px);max-height:calc(var(--vp-h, 100dvh) - 8px);overflow:hidden}html.viewport-phone-landscape #character-modal .modal-body{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}#library-screen{--lib-accent: #ffd166;--lib-glow-color: #ffd166;--lib-glow: color-mix(in srgb, var(--lib-glow-color) 28%, transparent);--lib-font-display: "Cinzel", Georgia, "Times New Roman", serif;--lib-bg-deep: #0d1b3e;--lib-bg-mid: #1a3a6b;--lib-header-h: auto;--lib-live-h: 1.7rem;--lib-content-w: 420px;--lib-meta-max: min(30vh, 220px);--lib-actions-h: auto;--lib-fs-desc: clamp(.72rem, .58rem + .45vw, 1.2rem);--lib-fs-tags: clamp(.58rem, .48rem + .32vw, .82rem);--lib-fs-howto: clamp(.68rem, .55rem + .38vw, 1.05rem);--lib-fs-rules: clamp(.72rem, .58rem + .35vw, 1rem);--lib-meta-gap: clamp(.4rem, .25rem + .35vw, .85rem);--lib-meta-pad: clamp(.55rem, .35rem + .7vw, 1.4rem);--lib-meta-lh: 1.4;width:100%;height:100svh;height:100dvh;max-height:100svh;max-height:100dvh;display:none;flex-direction:column;align-items:center;justify-content:flex-start;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));color:#fff;background:transparent;overflow:hidden;position:relative;box-sizing:border-box}#library-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 90% 55% at 50% -5%,var(--lib-glow),transparent 62%),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);opacity:1;transition:opacity .4s ease}#library-screen.active{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) var(--lib-live-h) auto auto;grid-template-areas:"header" "carousel" "live" "meta" "actions";justify-content:stretch;justify-items:center;align-content:stretch;align-items:stretch;row-gap:6px}.library-header{grid-area:header;text-align:center;margin:0;flex-shrink:0;z-index:1;width:100%;position:relative}.library-back-btn{position:absolute;left:calc(max(10px,env(safe-area-inset-left)) + clamp(34px,9.2vw,44px) + 10px);top:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--lib-accent) 45%,transparent);background:rgba(0,0,0,.35);color:var(--lib-accent);font:inherit;font-size:.85rem;font-weight:600;padding:.45rem .85rem;min-height:2.25rem;border-radius:999px;cursor:pointer;z-index:5;pointer-events:auto;touch-action:manipulation}html.native-app .library-back-btn,html.profile-shell .library-back-btn{left:0}.library-back-btn:hover{background:rgba(0,0,0,.5)}.library-kicker{margin:0;font-size:.68rem;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:var(--lib-accent);text-shadow:0 0 20px var(--lib-glow);opacity:.85;display:none}@media (min-width: 900px){.library-kicker{display:block}}.library-title,.library-header h1.library-title{margin:2px 0 0;font-family:var(--lib-font-display);font-size:clamp(1.05rem,3.5vw,1.65rem);letter-spacing:.22em;font-weight:700;text-transform:uppercase;text-shadow:0 0 24px var(--lib-glow);line-height:1.1}.library-selected-name{margin-top:4px;font-family:var(--lib-font-display);font-size:clamp(1rem,3.2vw,1.45rem);color:var(--lib-accent);font-weight:700;min-height:1.25em;line-height:1.2;transition:opacity .25s ease,color .35s ease}.library-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:8px;width:100%}.library-layout-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:rgba(0,0,0,.38);border:1px solid color-mix(in srgb,var(--lib-accent) 35%,transparent)}.library-layout-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#ffffff8c;width:2.15rem;height:2.15rem;border-radius:999px;font-size:.95rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.library-layout-btn:hover{color:var(--lib-accent);background:rgba(255,255,255,.06)}.library-layout-btn.is-active{color:#1a1208;background:var(--lib-accent);box-shadow:0 0 12px color-mix(in srgb,var(--lib-glow-color, var(--lib-accent)) 45%,transparent)}.library-tables-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--lib-accent) 45%,transparent);background:rgba(0,0,0,.35);color:var(--lib-accent);font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.45rem .9rem;min-height:2.25rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;touch-action:manipulation}.library-tables-btn:hover{background:rgba(0,0,0,.5)}.library-tables-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--lib-accent);color:#1a1208;font-size:.72rem;font-weight:800;line-height:1}.library-tables-hint{margin:0 16px 4px;font-size:.82rem;color:#ffffff8c;line-height:1.35}.library-tables-empty{margin:4px 16px 12px;font-size:.88rem;color:#fff6}.library-tables-row-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;min-width:0;flex:1}.library-tables-row-meta{font-size:.78rem;font-weight:500;opacity:.7}.library-tables-row-action{flex-shrink:0;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--lib-accent, #ffd166);padding:.35rem .65rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--lib-accent, #ffd166) 40%,transparent);background:rgba(255,209,102,.1)}.library-carousel-wrap{grid-area:carousel;position:relative;width:min(100%,820px);margin:0;min-height:0;height:min(100%,340px);max-height:100%;z-index:1;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr);align-items:center;column-gap:8px;align-self:center;justify-self:center}.library-carousel{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-block:12px;padding-inline:var(--carousel-edge-pad, 6%);min-height:0;height:100%;align-items:center;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;position:relative;z-index:1;width:100%;box-sizing:border-box;grid-column:2;grid-row:1}.library-carousel.is-jumping{scroll-behavior:auto!important;scroll-snap-type:none}.library-carousel::-webkit-scrollbar{display:none}.library-carousel-wrap[data-library-layout=grid],.library-carousel-wrap[data-library-layout=list],.library-carousel-wrap[data-library-layout=shelf]{grid-template-columns:minmax(0,1fr)!important;column-gap:0}.library-carousel-wrap[data-library-layout=grid] .library-carousel,.library-carousel-wrap[data-library-layout=list] .library-carousel,.library-carousel-wrap[data-library-layout=shelf] .library-carousel{grid-column:1 / -1;scroll-snap-type:none;scroll-behavior:auto;padding-inline:8px;align-items:stretch;touch-action:pan-y}.library-carousel.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:14px 12px;overflow-x:hidden;overflow-y:auto;align-content:start;padding-block:8px 16px}.library-carousel.is-grid .library-game-card{width:100%;height:auto;max-height:none;aspect-ratio:3 / 4;transform:none;opacity:.82;scroll-snap-align:none}.library-carousel.is-grid .library-game-card.selected{transform:none;opacity:1;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--lib-glow-color, var(--lib-accent)) 55%,transparent))}.library-carousel.is-list{display:flex;flex-direction:column;gap:8px;overflow-x:hidden;overflow-y:auto;padding-block:4px 12px}.library-carousel.is-list .library-game-card{width:100%;height:auto;max-height:none;aspect-ratio:auto;transform:none;opacity:1;scroll-snap-align:none;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.28);padding:6px 10px 6px 6px}.library-carousel.is-list .library-game-card.selected{border-color:color-mix(in srgb,var(--lib-accent) 55%,transparent);background:color-mix(in srgb,var(--lib-accent) 12%,rgba(0,0,0,.35));filter:none}.library-carousel.is-list .library-card-inner{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;height:auto;min-height:64px}.library-carousel.is-list .library-card-stage{width:48px;height:64px;flex:0 0 auto}.library-carousel.is-list .library-card-cover{object-fit:cover}.library-carousel.is-list .library-card-shadow{display:none}.library-carousel.is-list .library-card-list-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1;text-align:left}.library-carousel.is-list .library-card-list-meta strong{font-size:.98rem;color:#fff;font-weight:700}.library-carousel.is-list .library-card-list-meta span{font-size:.78rem;color:#ffffff8c}.library-carousel.is-list .library-card-badge{top:8px;right:10px}.library-carousel.is-shelf{display:flex;flex-direction:column;gap:18px;overflow-x:hidden;overflow-y:auto;padding-block:4px 16px;align-items:stretch}.library-shelf-block{display:flex;flex-direction:column;gap:8px;min-width:0}.library-shelf-label{margin:0 4px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80;font-weight:700}.library-shelf-row{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.library-shelf-row .library-game-card{width:108px;height:144px;max-height:none;flex:0 0 auto;transform:none;opacity:.88;scroll-snap-align:none}.library-shelf-row .library-game-card.selected{opacity:1;transform:translateY(-2px)}.library-game-card{flex:0 0 auto;width:auto;height:min(100%,280px);max-height:100%;scroll-snap-align:center;aspect-ratio:3 / 4;position:relative;z-index:1;cursor:pointer;transform:scale(.88);opacity:.55;transition:transform .35s cubic-bezier(.34,1.2,.64,1),opacity .3s ease,filter .35s ease;box-shadow:none;overflow:visible;border:none;border-radius:0;-webkit-user-select:none;user-select:none;background:transparent}.library-game-card.selected{transform:scale(1);opacity:1;z-index:2}@keyframes libCardPulse{0%,to{filter:drop-shadow(0 20px 28px rgba(0,0,0,.55))}50%{filter:drop-shadow(0 20px 28px rgba(0,0,0,.55)) drop-shadow(0 0 20px var(--lib-glow))}}.library-game-card.selected.just-selected .library-card-cover{animation:libCardPulse .55s ease-out}@media (prefers-reduced-motion: reduce){.library-game-card.selected.just-selected .library-card-cover{animation:none}}.library-game-card.coming-soon{cursor:default;filter:saturate(.65)}.library-card-inner{height:100%;position:relative;background:transparent;display:flex;align-items:flex-end;justify-content:center;overflow:visible}.library-card-stage{position:relative;width:100%;height:100%;max-width:520px;display:flex;align-items:flex-end;justify-content:center}.library-card-shadow{position:absolute;left:50%;bottom:1%;transform:translate(-50%);width:72%;height:12%;background:radial-gradient(ellipse at center,rgba(0,0,0,.62) 0%,transparent 72%);filter:blur(5px);z-index:0;pointer-events:none}.library-card-cover{position:relative;z-index:1;width:100%;height:100%;max-width:520px;max-height:100%;object-fit:contain;object-position:center bottom;display:block;pointer-events:none;filter:drop-shadow(0 20px 28px rgba(0,0,0,.55));transform-origin:center bottom}.library-card-scrim,.library-card-title{display:none}.library-game-card.selected .library-card-cover{filter:drop-shadow(0 24px 34px rgba(0,0,0,.62)) drop-shadow(0 0 16px var(--lib-glow))}.library-card-emoji{font-size:clamp(3rem,12vw,4.5rem);line-height:1;margin-bottom:12px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.library-card-title{position:relative;z-index:2;padding:10px 12px 12px;font-family:var(--lib-font-display);font-size:.95rem;font-weight:700;letter-spacing:.04em;line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,.65)}.library-card-badge{position:absolute;top:10px;right:10px;z-index:2;font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.library-card-badge.soon{background:rgba(255,209,102,.25);color:var(--lib-accent)}.library-card-badge.resume{top:10px;left:10px;right:auto;background:color-mix(in srgb,var(--lib-accent) 22%,rgba(0,0,0,.55));color:#fff;border:1px solid color-mix(in srgb,var(--lib-accent) 45%,transparent)}.library-carousel-indicator,.library-carousel-counter,.library-carousel-dots,.library-carousel-dot{display:none!important}.library-nav-btn{position:relative;top:auto;left:auto;right:auto;transform:none;width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.28);background:rgba(0,0,0,.42);color:#fff;cursor:pointer;z-index:0;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,box-shadow .2s,opacity .2s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.85;justify-self:center;align-self:center}.library-nav-btn[hidden],#library-screen[data-library-layout]:not([data-library-layout=carousel]) .library-nav-btn{display:none!important}.library-nav-btn:hover,.library-nav-btn:focus-visible{opacity:1}.library-nav-icon{font-size:1.55rem;line-height:1;margin-top:-2px}.library-nav-btn:hover{background:rgba(255,255,255,.15);border-color:#fff9}.library-nav-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--lib-accent) 45%,transparent);border-color:var(--lib-accent)}.library-nav-btn.prev{grid-column:1;grid-row:1}.library-nav-btn.next{grid-column:3;grid-row:1}.library-live-strip{grid-area:live;width:100%;max-width:var(--lib-stage-w, 100%);height:var(--lib-live-h);min-height:var(--lib-live-h);max-height:var(--lib-live-h);flex-shrink:0;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:0;margin:0;padding:0;overflow:hidden;box-sizing:border-box;align-self:stretch;justify-self:stretch}.library-live-strip.is-empty,.library-live-strip[hidden]{visibility:hidden;pointer-events:none;display:flex!important}.library-live-row{display:none;align-items:center;gap:8px;min-width:0;height:100%}.library-live-row:not([hidden]){display:flex}.library-live-row[hidden]{display:none!important}.library-live-label{flex-shrink:0;position:relative;z-index:1;font-size:.62rem;line-height:1.2;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--lib-accent);text-shadow:0 0 12px var(--lib-glow);opacity:.88}.library-live-items{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;padding-bottom:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.library-live-items::-webkit-scrollbar{display:none}.library-live-leaders-row{min-height:0}.library-live-marquee{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.library-live-marquee-track{display:inline-flex;align-items:center;gap:0;white-space:nowrap;width:max-content;will-change:transform}.library-live-marquee-track.is-scrolling{animation:libraryLeadersMarquee var(--marquee-duration, 18s) linear infinite}.library-live-marquee-seg{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding-right:6px}@keyframes libraryLeadersMarquee{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--marquee-shift, 50%)))}}@media (prefers-reduced-motion: reduce){.library-live-marquee-track.is-scrolling{animation:libraryLeadersMarquee calc(var(--marquee-duration, 18s) * 1.25) linear infinite}}.library-live-chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;max-width:220px;padding:4px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--lib-accent) 32%,transparent);background:color-mix(in srgb,var(--lib-accent) 12%,rgba(0,0,0,.38));color:#fffffff0;font:inherit;font-size:.7rem;font-weight:650;line-height:1.15;text-align:left;cursor:default;white-space:nowrap}button.library-live-chip{cursor:pointer;touch-action:manipulation}button.library-live-chip:hover,button.library-live-chip:focus-visible{border-color:color-mix(in srgb,var(--lib-accent) 65%,transparent);background:color-mix(in srgb,var(--lib-accent) 22%,rgba(0,0,0,.4))}button.library-live-chip:focus-visible{outline:2px solid var(--lib-accent);outline-offset:2px}.library-live-chip-rank{flex-shrink:0;color:var(--lib-accent);font-weight:800;text-shadow:0 0 10px var(--lib-glow)}.library-live-chip-main{min-width:0;overflow:hidden;text-overflow:ellipsis}.library-live-chip-meta{flex-shrink:0;font-size:.66rem;font-weight:700;opacity:.78}.library-live-chip-sub{display:block;margin-top:1px;font-size:.62rem;font-weight:500;opacity:.72;overflow:hidden;text-overflow:ellipsis}.library-live-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#6dffb0;box-shadow:0 0 8px #6dffb08c}.library-meta-block{grid-area:meta;text-align:center;width:min(100%,var(--lib-content-w));max-width:var(--lib-content-w);max-height:var(--lib-meta-max);min-height:0;flex-shrink:0;z-index:1;padding:var(--lib-meta-pad);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--lib-accent) 35%,transparent) transparent;transition:opacity .15s ease;align-self:center;justify-self:center;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lib-meta-gap)}.library-meta-block::-webkit-scrollbar{width:6px}.library-meta-block::-webkit-scrollbar-track{background:transparent}.library-meta-block::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--lib-accent) 40%,rgba(255,255,255,.15));border-radius:999px}.library-meta-block::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--lib-accent) 65%,rgba(255,255,255,.2))}.library-meta-block.is-changing{opacity:.45}.library-meta-desc{margin:0;padding:0;opacity:.9;font-size:var(--lib-fs-desc);line-height:var(--lib-meta-lh);display:block;min-height:calc(var(--lib-fs-desc) * var(--lib-meta-lh) * 2);max-height:calc(var(--lib-fs-desc) * var(--lib-meta-lh) * 2);overflow:hidden;flex:0 0 auto}.library-meta-line{display:block;margin:0;padding:0;font-size:var(--lib-fs-tags);font-weight:650;letter-spacing:.04em;line-height:var(--lib-meta-lh);color:color-mix(in srgb,var(--lib-accent) 78%,#fff);overflow:hidden;white-space:normal;overflow-wrap:anywhere;min-height:0;flex:0 0 auto}.library-meta-line .library-meta-bit{text-transform:uppercase;letter-spacing:.06em}.library-meta-line[hidden]{display:none!important}.library-meta-bit{text-transform:uppercase;letter-spacing:.08em}.library-meta-sep{opacity:.4;font-weight:500}.library-how-to-play{margin:0;padding:0 0 0 1.35em;opacity:.85;font-size:var(--lib-fs-howto);line-height:var(--lib-meta-lh);text-align:left;list-style:disc;list-style-position:outside;flex:0 1 auto;min-height:0;overflow:visible}.library-how-to-play>li{padding-left:.15em}.library-how-to-play>li+li{margin-top:.28em}.library-how-to-play[hidden]{display:none!important}.library-how-to-play.is-collapsed{max-height:calc(var(--lib-fs-howto) * var(--lib-meta-lh) * 2.15);min-height:calc(var(--lib-fs-howto) * var(--lib-meta-lh) * 2.15);overflow:hidden}.library-how-to-play.is-collapsed li:nth-child(n+3){display:none}.library-how-to-play.is-expanded{max-height:none}.library-how-to-expand{display:inline-block;margin:0;padding:0;border:none;background:none;color:var(--lib-accent);font:inherit;font-size:var(--lib-fs-howto);font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer;flex:0 0 auto}.library-how-to-expand[hidden]{display:none!important}.library-how-to-expand:hover{color:#fff}.library-how-to-expand:focus-visible{outline:2px solid var(--lib-accent);outline-offset:2px}@media (min-width: 900px) and (min-height: 860px){html:not(.viewport-phone-landscape) .library-how-to-play.is-collapsed{max-height:none;overflow:visible}html:not(.viewport-phone-landscape) .library-how-to-play.is-collapsed li:nth-child(n+3){display:list-item}html:not(.viewport-phone-landscape) .library-how-to-expand{display:none!important}}.library-rules-link{display:inline-block;margin:0;flex:0 0 auto;font-size:var(--lib-fs-rules);color:var(--lib-accent);text-decoration:underline;text-underline-offset:3px}.library-rules-link:hover{color:#fff}.library-lobbies-list{max-height:160px;overflow-y:auto;margin-top:8px;display:flex;flex-direction:column;gap:6px}.library-lobbies-list[hidden]{display:none!important}.library-lobby-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.2);cursor:pointer;text-align:left;color:inherit;font:inherit}.library-lobby-item:hover{border-color:#ffd16673}.library-lobby-item-main{min-width:0}.library-lobby-item-game{font-size:.72rem;opacity:.75}.library-lobby-item-room{font-weight:700;font-size:.85rem;word-break:break-all}.library-lobby-item-meta{font-size:.75rem;opacity:.8;white-space:nowrap}.library-lobby-item-wrap{display:flex;align-items:stretch;gap:6px}.library-lobby-item-wrap .library-lobby-item{flex:1}.library-lobby-chat-btn{flex-shrink:0;width:40px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.2);cursor:pointer;font-size:1rem;color:inherit}.library-lobby-chat-btn:hover{border-color:#ffd16673;background:rgba(255,255,255,.08)}.library-play-btn{margin-top:0;flex-shrink:0;padding:12px 36px;font-family:var(--lib-font-display);font-size:.92rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:999px;cursor:pointer;color:var(--lib-bg-deep);background:linear-gradient(180deg,#ffe08a 0%,var(--lib-accent) 45%,#e6a800 100%);background-size:100% 200%;box-shadow:0 3px #b8860b,0 10px 26px color-mix(in srgb,var(--lib-accent) 32%,transparent);transition:transform .15s ease,box-shadow .15s ease,opacity .2s;z-index:1}.library-play-btn.is-ready{animation:libPlayShine 3.5s ease-in-out infinite}@keyframes libPlayShine{0%,to{background-position:0 0}50%{background-position:0 100%}}@media (prefers-reduced-motion: reduce){.library-play-btn.is-ready{animation:none}}.library-play-btn:active{transform:translateY(2px);box-shadow:0 1px #b8860b,0 5px 14px color-mix(in srgb,var(--lib-accent) 25%,transparent)}.library-play-btn:focus-visible{outline:none;box-shadow:0 3px #b8860b,0 10px 26px color-mix(in srgb,var(--lib-accent) 32%,transparent),0 0 0 3px color-mix(in srgb,var(--lib-accent) 50%,transparent)}.library-play-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:0 3px #666;animation:none}.library-apk-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;min-height:36px;padding:7px 16px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.06);color:#ffffffe0;font:inherit;font-size:.75rem;font-weight:650;text-decoration:none;cursor:pointer;touch-action:manipulation}.library-actions{grid-area:actions;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:min(100%,var(--lib-content-w));flex-shrink:0;z-index:1;padding-bottom:2px;min-height:5.6rem}.library-apk-btn[hidden],.library-apk-hint[hidden]{visibility:hidden;pointer-events:none}.library-apk-btn[hidden]{display:inline-flex!important}.library-apk-hint[hidden]{display:block!important;height:0;margin:0;overflow:hidden}html.native-app .library-actions,body.app-shell .library-actions{min-height:0}html.native-app .library-apk-btn[hidden],html.native-app .library-apk-hint[hidden],body.app-shell .library-apk-btn[hidden],body.app-shell .library-apk-hint[hidden]{display:none!important}.library-apk-btn:hover{background:rgba(255,255,255,.1);color:#fff}.library-apk-btn.is-disabled,.library-apk-btn[aria-disabled=true]{opacity:.55;pointer-events:none;cursor:default}.library-apk-hint{margin:8px 0 0;font-size:.72rem;color:#ffffff80;text-align:center}html.native-app .library-apk-btn,html.native-app .library-apk-hint,body.app-shell .library-apk-btn,body.app-shell .library-apk-hint{display:none!important}.library-player-greeting{margin:0;font-size:.85rem;opacity:.75}.library-room-picker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1060;display:flex;align-items:center;justify-content:center;padding:16px}.library-room-picker[hidden]{display:none!important}.library-room-picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.55)}.library-room-picker-panel{position:relative;width:min(100%,380px);max-height:min(70vh,420px);display:flex;flex-direction:column;border-radius:14px;border:1px solid rgba(255,255,255,.15);background:rgba(14,20,36,.98);box-shadow:0 16px 48px #00000080;overflow:hidden}.library-room-picker-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.1)}.library-room-picker-title{margin:0;font-size:1rem;font-weight:700}.library-room-picker-close{border:none;background:transparent;color:#ffffffb3;font-size:1.2rem;cursor:pointer;padding:4px 8px}.library-room-picker-list{flex:1 1 auto;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:8px}.library-room-picker-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font:inherit;text-align:left;cursor:pointer}.library-room-picker-item:active{background:rgba(255,209,102,.15);border-color:var(--lib-accent, #ffd166)}.library-room-picker-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.library-room-picker-item-game{font-size:.72rem;opacity:.7;text-transform:uppercase;letter-spacing:.06em}.library-room-picker-item-room{font-size:1rem;font-weight:700;letter-spacing:.08em}.library-room-picker-item-meta{font-size:.85rem;flex-shrink:0}.library-room-picker-create{margin:8px 12px 12px;padding:12px;border-radius:10px;border:1px dashed rgba(255,209,102,.45);background:transparent;color:var(--lib-accent, #ffd166);font:inherit;font-weight:700;cursor:pointer}.library-room-picker-create:active{background:rgba(255,209,102,.1)}.library-resume-detail{padding:0 20px 12px;color:#ffffffbf;font-size:.9rem;line-height:1.45;text-align:center}.library-resume-actions{display:flex;flex-direction:column;gap:10px;padding:0 20px 20px}.library-resume-actions .library-room-picker-item{width:100%;justify-content:center}.library-resume-actions .library-room-picker-close{align-self:center;margin-top:4px}.library-play-resume-block{display:flex;flex-direction:column;gap:4px;padding-top:4px}.library-play-resume-btn{margin-bottom:0}.library-play-section-label{margin:8px 16px 0;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:#ffffff73}.library-play-create-btn{margin:8px 12px 16px;width:calc(100% - 24px);justify-content:center}.library-play-quick-btn{margin:4px 12px 8px;width:calc(100% - 24px);flex-direction:column;align-items:flex-start;gap:2px;background:rgba(255,209,102,.14);border-color:#ffd16666}.library-play-quick-hint{font-size:.78rem;font-weight:500;opacity:.72}@media (min-width: 900px) and (max-width: 1099px) and (min-height: 720px){html:not(.viewport-phone-landscape) #library-screen.active{--lib-stage-w: min(1080px, calc(100vw - 40px));--lib-content-w: min(560px, 100%);--lib-carousel-band: min(42vh, 400px);--lib-meta-max: none;width:100%;padding-left:max(20px,env(safe-area-inset-left),calc((100vw - var(--lib-stage-w)) / 2));padding-right:max(20px,env(safe-area-inset-right),calc((100vw - var(--lib-stage-w)) / 2));padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(160px,1fr) var(--lib-live-h) auto auto;grid-template-areas:"header" "carousel" "live" "meta" "actions";justify-items:center;align-content:stretch;row-gap:12px}html:not(.viewport-phone-landscape) .library-header,html:not(.viewport-phone-landscape) .library-carousel-wrap{width:100%;max-width:var(--lib-stage-w)}html:not(.viewport-phone-landscape) .library-carousel-wrap{height:100%;min-height:0;max-height:100%;align-self:stretch}html:not(.viewport-phone-landscape) .library-game-card{height:min(100%,340px)}html:not(.viewport-phone-landscape) .library-meta-block,html:not(.viewport-phone-landscape) .library-actions{width:min(100%,var(--lib-content-w))}html:not(.viewport-phone-landscape) .library-live-strip{width:100%;max-width:var(--lib-stage-w, 100%);justify-self:stretch;align-self:stretch;padding-inline:4px}html:not(.viewport-phone-landscape) .library-meta-block{max-height:var(--lib-meta-max);overflow-x:hidden;overflow-y:auto;padding:4px 6px 6px}html:not(.viewport-phone-landscape) .library-selected-name{font-size:clamp(1.3rem,2vw,1.7rem)}}@media (min-width: 1100px) and (min-height: 860px){html:not(.viewport-phone-landscape) #library-screen.active{--lib-stage-w: min(1360px, calc(100vw - 56px));--lib-content-w: 100%;--lib-carousel-band: min(46vh, 480px);--lib-meta-max: none;--lib-live-h: 1.75rem;width:100%;box-sizing:border-box;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));padding-left:max(28px,env(safe-area-inset-left),calc((100vw - var(--lib-stage-w)) / 2));padding-right:max(28px,env(safe-area-inset-right),calc((100vw - var(--lib-stage-w)) / 2));grid-template-columns:minmax(0,1.35fr) minmax(260px,340px);grid-template-rows:auto minmax(180px,1fr) var(--lib-live-h) auto;grid-template-areas:"header header" "carousel carousel" "live live" "meta actions";justify-items:stretch;align-content:stretch;column-gap:clamp(28px,2.6vw,48px);row-gap:14px}html:not(.viewport-phone-landscape) .library-header{text-align:center;width:100%;max-width:none;justify-self:stretch}html:not(.viewport-phone-landscape) .library-kicker{font-size:.76rem;letter-spacing:.34em}html:not(.viewport-phone-landscape) .library-title,html:not(.viewport-phone-landscape) .library-header h1.library-title{font-size:clamp(1.35rem,1.55vw,1.8rem);letter-spacing:.2em}html:not(.viewport-phone-landscape) .library-player-greeting{font-size:.95rem;margin-top:4px;opacity:.8}html:not(.viewport-phone-landscape) .library-selected-name{margin-top:10px;font-size:clamp(1.65rem,2.2vw,2.35rem);letter-spacing:.04em;min-height:1.2em}html:not(.viewport-phone-landscape) .library-carousel-wrap{width:100%;max-width:none;height:100%;min-height:0;max-height:100%;align-self:stretch;justify-self:stretch;grid-template-columns:52px minmax(0,1fr) 52px;column-gap:14px}html:not(.viewport-phone-landscape) .library-carousel-wrap[data-library-layout=grid],html:not(.viewport-phone-landscape) .library-carousel-wrap[data-library-layout=list],html:not(.viewport-phone-landscape) .library-carousel-wrap[data-library-layout=shelf]{grid-template-columns:minmax(0,1fr)!important;column-gap:0}html:not(.viewport-phone-landscape) .library-carousel{gap:28px;padding-block:14px}html:not(.viewport-phone-landscape) .library-game-card{height:min(100%,420px)}html:not(.viewport-phone-landscape) .library-nav-btn{width:52px;height:52px;opacity:.9}html:not(.viewport-phone-landscape) .library-nav-icon{font-size:1.7rem}html:not(.viewport-phone-landscape) .library-live-strip{width:100%;max-width:none;justify-self:stretch;padding-inline:4px}html:not(.viewport-phone-landscape) .library-meta-block{width:100%;max-width:none;max-height:none;min-height:0;overflow:visible;text-align:left;align-self:stretch;justify-self:stretch;padding:var(--lib-meta-pad);border-radius:16px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff0a;--lib-fs-desc: clamp(.82rem, .68rem + .28vw, 1.05rem);--lib-fs-tags: clamp(.62rem, .52rem + .22vw, .78rem);--lib-fs-howto: clamp(.74rem, .62rem + .24vw, .95rem);--lib-fs-rules: clamp(.74rem, .62rem + .22vw, .92rem);--lib-meta-gap: clamp(.4rem, .3rem + .2vw, .7rem);--lib-meta-pad: clamp(.85rem, .65rem + .4vw, 1.25rem)}html:not(.viewport-phone-landscape) .library-meta-desc,html:not(.viewport-phone-landscape) .library-meta-line,html:not(.viewport-phone-landscape) .library-how-to-play,html:not(.viewport-phone-landscape) .library-rules-link{margin:0}html:not(.viewport-phone-landscape) .library-how-to-play{padding-left:1.4em;flex:0 0 auto;overflow:visible}html:not(.viewport-phone-landscape) .library-how-to-play.is-collapsed{max-height:none}html:not(.viewport-phone-landscape) .library-rules-link{flex:0 0 auto;color:var(--lib-accent)}html:not(.viewport-phone-landscape) .library-actions{width:100%;max-width:none;min-height:0;align-self:stretch;justify-self:stretch;align-items:stretch;justify-content:center;gap:10px;padding:18px 16px;border-radius:16px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff0a}html:not(.viewport-phone-landscape) .library-play-btn{width:100%;margin:0;padding:16px 22px;font-size:1.08rem;letter-spacing:.14em}html:not(.viewport-phone-landscape) .library-apk-btn{width:100%;margin-top:0;min-height:42px;font-size:.84rem}html:not(.viewport-phone-landscape) .library-apk-hint{margin-top:4px;text-align:center}}@media (min-width: 900px) and (max-height: 859px){html:not(.viewport-phone-landscape) #library-screen.active{--lib-stage-w: min(1100px, calc(100vw - 28px));--lib-content-w: min(720px, 100%);--lib-live-h: 1.45rem;--lib-meta-max: min(28vh, 190px);--lib-fs-desc: clamp(.72rem, .62rem + .35vw, .9rem);--lib-fs-tags: clamp(.58rem, .5rem + .25vw, .72rem);--lib-fs-howto: clamp(.66rem, .56rem + .28vw, .82rem);--lib-fs-rules: clamp(.66rem, .56rem + .26vw, .82rem);--lib-meta-gap: .35rem;--lib-meta-pad: .65rem .85rem;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left),calc((100vw - var(--lib-stage-w)) / 2));padding-right:max(14px,env(safe-area-inset-right),calc((100vw - var(--lib-stage-w)) / 2));grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(96px,1fr) var(--lib-live-h) minmax(0,var(--lib-meta-max)) auto;grid-template-areas:"header" "carousel" "live" "meta" "actions";justify-items:center;align-content:stretch;row-gap:6px;column-gap:0}html:not(.viewport-phone-landscape) .library-kicker{display:none}html:not(.viewport-phone-landscape) .library-title,html:not(.viewport-phone-landscape) .library-header h1.library-title{font-size:clamp(.95rem,1.6vw,1.2rem);letter-spacing:.14em}html:not(.viewport-phone-landscape) .library-player-greeting{font-size:.78rem;margin-top:1px}html:not(.viewport-phone-landscape) .library-selected-name{margin-top:2px;margin-bottom:0;font-size:clamp(1.05rem,1.8vw,1.35rem);min-height:0}html:not(.viewport-phone-landscape) .library-toolbar{margin-top:4px;gap:6px}html:not(.viewport-phone-landscape) .library-header,html:not(.viewport-phone-landscape) .library-carousel-wrap,html:not(.viewport-phone-landscape) .library-live-strip,html:not(.viewport-phone-landscape) .library-meta-block,html:not(.viewport-phone-landscape) .library-actions{width:100%;max-width:var(--lib-stage-w)}html:not(.viewport-phone-landscape) .library-carousel-wrap{height:100%;min-height:0;max-height:100%;align-self:stretch}html:not(.viewport-phone-landscape) .library-carousel.is-list .library-game-card{padding:4px 8px 4px 4px}html:not(.viewport-phone-landscape) .library-carousel.is-list .library-card-stage{width:40px;height:52px}html:not(.viewport-phone-landscape) .library-carousel.is-list .library-card-inner{min-height:52px}html:not(.viewport-phone-landscape) .library-meta-block{width:100%;max-width:var(--lib-stage-w);max-height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;text-align:left;align-self:stretch;justify-self:stretch;padding:var(--lib-meta-pad);border-radius:12px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1)}html:not(.viewport-phone-landscape) .library-how-to-play{flex:1 1 auto;min-height:0;overflow:visible;padding-left:1.25em}html:not(.viewport-phone-landscape) .library-how-to-play.is-collapsed{max-height:calc(var(--lib-fs-howto) * var(--lib-meta-lh) * 2.15);overflow:hidden}html:not(.viewport-phone-landscape) .library-how-to-play.is-collapsed li:nth-child(n+3){display:none}html:not(.viewport-phone-landscape) .library-how-to-expand{display:inline-block!important}html:not(.viewport-phone-landscape) .library-rules-link{flex:0 0 auto;margin-top:.2rem}html:not(.viewport-phone-landscape) .library-actions{width:100%;max-width:var(--lib-stage-w);min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:0;background:none;border:none;box-shadow:none}html:not(.viewport-phone-landscape) .library-play-btn{width:auto;min-width:min(240px,100%);margin:0;padding:10px 22px;font-size:.92rem}html:not(.viewport-phone-landscape) .library-apk-btn{width:auto;min-height:36px;margin:0;font-size:.75rem}}@media (min-width: 1440px) and (min-height: 860px){html:not(.viewport-phone-landscape) #library-screen.active{--lib-stage-w: min(1520px, calc(100vw - 72px));--lib-carousel-band: min(50vh, 520px);grid-template-columns:minmax(0,1.4fr) minmax(300px,380px);column-gap:clamp(36px,3vw,64px);row-gap:18px}html:not(.viewport-phone-landscape) .library-game-card{height:min(100%,460px)}html:not(.viewport-phone-landscape) .library-selected-name{font-size:clamp(1.85rem,2vw,2.5rem)}html:not(.viewport-phone-landscape) .library-meta-block{--lib-fs-desc: clamp(.88rem, .7rem + .3vw, 1.15rem);--lib-fs-tags: clamp(.64rem, .54rem + .22vw, .82rem);--lib-fs-howto: clamp(.78rem, .65rem + .26vw, 1rem);--lib-fs-rules: clamp(.78rem, .65rem + .24vw, .98rem)}html:not(.viewport-phone-landscape) .library-play-btn{padding:18px 24px;font-size:1.12rem}}@media (min-width: 1800px) and (min-height: 960px){html:not(.viewport-phone-landscape) #library-screen.active{--lib-stage-w: min(1720px, calc(100vw - 96px));--lib-carousel-band: min(52vh, 580px);grid-template-columns:minmax(0,1.45fr) minmax(320px,400px);padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}html:not(.viewport-phone-landscape) .library-title,html:not(.viewport-phone-landscape) .library-header h1.library-title{font-size:clamp(1.55rem,1.2vw,1.95rem)}html:not(.viewport-phone-landscape) .library-game-card{height:min(100%,520px)}html:not(.viewport-phone-landscape) .library-carousel{gap:36px}html:not(.viewport-phone-landscape) .library-meta-block,html:not(.viewport-phone-landscape) .library-actions{padding:var(--lib-meta-pad);border-radius:18px}html:not(.viewport-phone-landscape) .library-meta-block{--lib-fs-desc: clamp(.92rem, .72rem + .28vw, 1.22rem);--lib-fs-tags: clamp(.66rem, .55rem + .2vw, .86rem);--lib-fs-howto: clamp(.82rem, .68rem + .24vw, 1.05rem);--lib-fs-rules: clamp(.82rem, .68rem + .22vw, 1.02rem);--lib-meta-pad: clamp(.95rem, .75rem + .35vw, 1.35rem);--lib-meta-gap: clamp(.45rem, .35rem + .18vw, .8rem)}}@media (max-width: 520px){.library-carousel-wrap{grid-template-columns:36px minmax(0,1fr) 36px;column-gap:4px}.library-carousel-wrap[data-library-layout=grid],.library-carousel-wrap[data-library-layout=list],.library-carousel-wrap[data-library-layout=shelf]{grid-template-columns:minmax(0,1fr)!important;column-gap:0}.library-nav-btn{width:36px;height:36px}.library-nav-icon{font-size:1.25rem}.library-carousel{padding-block:8px;padding-inline:var(--carousel-edge-pad, 4%)}}@media (max-width: 520px) and (max-height: 760px){#library-screen.active{--lib-live-h: 1.5rem;--lib-meta-max: min(26vh, 168px);row-gap:3px;padding-top:max(8px,env(safe-area-inset-top))}.library-kicker{display:none}.library-title,.library-header h1.library-title{font-size:1rem;letter-spacing:.16em}.library-player-greeting{font-size:.78rem;margin-top:2px}.library-selected-name{margin-top:2px;font-size:1.05rem;min-height:1.15em}.library-game-card{height:min(100%,210px)}#library-screen{--lib-fs-desc: clamp(.68rem, .55rem + .5vw, .85rem);--lib-fs-tags: clamp(.55rem, .45rem + .35vw, .7rem);--lib-fs-howto: clamp(.64rem, .52rem + .4vw, .78rem);--lib-fs-rules: clamp(.66rem, .54rem + .35vw, .8rem);--lib-meta-gap: .35rem;--lib-meta-pad: .45rem}.library-play-btn{padding:10px 28px;font-size:.84rem}.library-apk-btn{min-height:32px;padding:5px 14px;font-size:.7rem}}@media (max-width: 520px) and (max-height: 640px){#library-screen.active{--lib-meta-max: min(22vh, 140px)}.library-game-card{height:min(100%,180px)}}html.viewport-phone-landscape #library-screen.active{position:fixed;top:var(--vp-y);left:var(--vp-x);right:auto;bottom:auto;width:var(--vp-w);height:var(--vp-h);min-height:0;max-height:var(--vp-h);--lib-live-h: 1.45rem;--lib-meta-max: min(28vh, 120px);--lib-content-w: min(560px, calc(var(--vp-w) - 48px));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) var(--lib-live-h) auto auto;grid-template-areas:"header" "carousel" "live" "meta" "actions";justify-content:stretch;justify-items:center;align-items:stretch;align-content:stretch;gap:clamp(1px,.7vh,3px);row-gap:clamp(1px,.7vh,3px);padding:max(3px,var(--safe-top)) max(8px,var(--safe-right)) max(3px,var(--safe-bottom)) max(8px,var(--safe-left));box-sizing:border-box;overflow:hidden}html.viewport-phone-landscape .library-header{width:100%;margin:0;line-height:1;text-align:center}html.viewport-phone-landscape .library-toolbar{margin-top:2px;gap:6px}html.viewport-phone-landscape .library-layout-btn{width:1.75rem;height:1.75rem;font-size:.8rem}html.viewport-phone-landscape .library-tables-btn{font-size:.7rem;min-height:1.75rem;padding:.25rem .65rem}html.viewport-phone-landscape .library-kicker{font-size:clamp(.48rem,1.8vh,.58rem);letter-spacing:.22em}html.viewport-phone-landscape .library-title,html.viewport-phone-landscape .library-header h1.library-title{margin:0;font-size:clamp(.78rem,3.2vh,.98rem);line-height:1;letter-spacing:.18em}html.viewport-phone-landscape .library-player-greeting{margin-top:1px;font-size:clamp(.58rem,2.3vh,.68rem);line-height:1.05}html.viewport-phone-landscape .library-selected-name{min-height:0;margin:1px 0 0;font-size:clamp(.76rem,3vh,.95rem);line-height:1.05}html.viewport-phone-landscape .library-carousel-wrap{align-self:stretch;width:min(100%,820px);height:auto;min-height:0;max-height:none;margin:0 auto;grid-template-columns:clamp(24px,7vh,32px) minmax(0,1fr) clamp(24px,7vh,32px);column-gap:4px}html.viewport-phone-landscape .library-carousel-wrap[data-library-layout=grid],html.viewport-phone-landscape .library-carousel-wrap[data-library-layout=list],html.viewport-phone-landscape .library-carousel-wrap[data-library-layout=shelf]{grid-template-columns:minmax(0,1fr)!important;column-gap:0;width:min(100%,820px)}html.viewport-phone-landscape .library-carousel{height:100%;min-height:0;gap:clamp(6px,1.5vw,10px);padding-block:2px;padding-inline:var(--carousel-edge-pad, 2%);box-sizing:border-box;align-items:center}html.viewport-phone-landscape .library-game-card{flex:0 0 auto;width:auto;height:min(100%,clamp(74px,27vh,108px));max-height:100%;aspect-ratio:3 / 4;border:none;border-radius:0;transform:scale(.93)}html.viewport-phone-landscape .library-game-card.selected{transform:scale(1)}html.viewport-phone-landscape .library-card-badge{top:4px;right:4px;padding:2px 4px;font-size:.5rem}html.viewport-phone-landscape .library-card-badge.resume{top:4px;left:4px}html.viewport-phone-landscape .library-card-stage{width:100%;height:100%}html.viewport-phone-landscape .library-card-shadow{height:10%;filter:blur(2px)}html.viewport-phone-landscape .library-card-cover{filter:drop-shadow(0 8px 12px rgba(0,0,0,.5))}html.viewport-phone-landscape .library-nav-btn,html.viewport-phone-landscape .library-nav-btn.prev,html.viewport-phone-landscape .library-nav-btn.next{width:clamp(28px,8vh,34px);height:clamp(28px,8vh,34px)}html.viewport-phone-landscape .library-nav-icon{font-size:.95rem}html.viewport-phone-landscape .library-meta-block{width:min(100%,var(--lib-content-w));max-width:var(--lib-content-w);padding:var(--lib-meta-pad);--lib-fs-desc: clamp(.52rem, 1.9vh, .68rem);--lib-fs-tags: clamp(.46rem, 1.55vh, .58rem);--lib-fs-howto: clamp(.48rem, 1.65vh, .62rem);--lib-fs-rules: clamp(.5rem, 1.7vh, .64rem);--lib-meta-gap: clamp(2px, .6vh, 6px);--lib-meta-pad: clamp(2px, .7vh, 8px);--lib-meta-lh: 1.25}html.viewport-phone-landscape .library-meta-desc{display:block;margin:0;overflow:hidden;min-height:calc(var(--lib-fs-desc) * var(--lib-meta-lh) * 1.05);max-height:calc(var(--lib-fs-desc) * var(--lib-meta-lh) * 1.05);white-space:nowrap;text-overflow:ellipsis}html.viewport-phone-landscape .library-meta-line{margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}html.viewport-phone-landscape .library-how-to-expand{display:none!important}html.viewport-phone-landscape .library-how-to-play{margin:0;padding-left:1.2em;max-height:calc(var(--lib-fs-howto) * var(--lib-meta-lh) * 2.2);overflow:hidden}html.viewport-phone-landscape .library-how-to-play>li+li{margin-top:.15em}html.viewport-phone-landscape .library-lobbies-list{max-height:min(24vh,88px);margin-top:3px;gap:3px;overscroll-behavior:contain}html.viewport-phone-landscape .library-lobby-item{padding:5px 7px}html.viewport-phone-landscape .library-live-strip{height:var(--lib-live-h);min-height:var(--lib-live-h);max-height:var(--lib-live-h);margin:0;padding:0 4px;gap:0;overflow:hidden}html.viewport-phone-landscape .library-live-label{font-size:.55rem;letter-spacing:.12em}html.viewport-phone-landscape .library-live-chip{padding:3px 8px;font-size:.6rem;max-width:160px}html.viewport-phone-landscape .library-live-marquee-track{font-size:.62rem}html.viewport-phone-landscape .library-live-chip-sub{display:none}html.viewport-phone-landscape .library-play-btn{min-width:160px;min-height:clamp(28px,8vh,34px);margin:0 auto;padding:5px 20px;font-size:clamp(.66rem,2.5vh,.76rem);line-height:1}html.viewport-phone-landscape .library-apk-btn{min-height:clamp(24px,7vh,28px);margin-top:0;padding:3px 12px;font-size:.62rem}html.viewport-phone-landscape .library-apk-hint{display:none}html.viewport-phone-landscape .library-room-picker{position:fixed;top:var(--vp-y);left:var(--vp-x);width:var(--vp-w);height:var(--vp-h);padding:clamp(5px,1.5vh,8px);overflow:hidden;box-sizing:border-box}html.viewport-phone-landscape .library-room-picker-panel{width:min(calc(var(--vp-w) - 16px),620px);max-height:calc(var(--vp-h) - clamp(10px,3vh,16px));min-height:0}html.viewport-phone-landscape .library-room-picker-header{flex:0 0 auto;padding:clamp(6px,2vh,9px) 12px 5px}html.viewport-phone-landscape .library-room-picker-title{font-size:clamp(.78rem,3vh,.95rem)}html.viewport-phone-landscape .library-room-picker-list{min-height:0;padding:5px 8px;gap:4px;overscroll-behavior:contain}html.viewport-phone-landscape .library-room-picker-item{padding:clamp(6px,2vh,9px) 10px}html.viewport-phone-landscape .library-room-picker-item-game{font-size:.6rem}html.viewport-phone-landscape .library-room-picker-item-room{font-size:.78rem}html.viewport-phone-landscape .library-room-picker-item-meta{font-size:.7rem}html.viewport-phone-landscape .library-room-picker-create{flex:0 0 auto;margin:5px 8px 8px;padding:clamp(6px,2vh,9px);font-size:.75rem}html.viewport-phone-landscape .library-resume-detail{padding:0 12px 6px;font-size:.72rem;line-height:1.25}html.viewport-phone-landscape .library-resume-actions{gap:5px;padding:0 12px 9px}#library-screen[data-library-layout=grid] .library-carousel.is-grid,#library-screen[data-library-layout=list] .library-carousel.is-list,#library-screen[data-library-layout=shelf] .library-carousel.is-shelf{height:100%;min-height:0}#library-screen[data-library-layout=grid] .library-carousel.is-grid .library-game-card,html:not(.viewport-phone-landscape) #library-screen[data-library-layout=grid] .library-game-card,html.viewport-phone-landscape #library-screen[data-library-layout=grid] .library-game-card{width:100%;height:auto!important;max-height:none!important;aspect-ratio:3 / 4;transform:none!important;opacity:.88;scroll-snap-align:none}#library-screen[data-library-layout=grid] .library-carousel.is-grid .library-game-card.selected,html:not(.viewport-phone-landscape) #library-screen[data-library-layout=grid] .library-game-card.selected{transform:none!important;opacity:1}#library-screen[data-library-layout=list] .library-carousel.is-list .library-game-card,html:not(.viewport-phone-landscape) #library-screen[data-library-layout=list] .library-game-card,html.viewport-phone-landscape #library-screen[data-library-layout=list] .library-game-card{width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto;transform:none!important;opacity:1}#library-screen[data-library-layout=shelf] .library-shelf-row .library-game-card,html:not(.viewport-phone-landscape) #library-screen[data-library-layout=shelf] .library-shelf-row .library-game-card{width:108px;height:144px!important;max-height:none!important;flex:0 0 auto;transform:none!important;opacity:.9}#library-screen[data-library-layout]:not([data-library-layout=carousel]) .library-nav-btn{display:none!important}#library-screen[data-library-layout]:not([data-library-layout=carousel]) .library-carousel-wrap{grid-template-columns:minmax(0,1fr)!important;column-gap:0}:root{--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--rn-safe-bottom, 0px));--safe-top: max(env(safe-area-inset-top, 0px), var(--rn-safe-top, 0px));--safe-left: max(env(safe-area-inset-left, 0px), var(--rn-safe-left, 0px));--safe-right: max(env(safe-area-inset-right, 0px), var(--rn-safe-right, 0px))}.app-voice-ptt-hud{position:fixed;left:50%;bottom:max(16px,calc(var(--safe-bottom) + 12px));transform:translate(-50%);z-index:calc(var(--z-chat-app, 40000) - 40);pointer-events:none;max-width:min(420px,calc(100vw - 24px));width:100%}.app-voice-ptt-hud[hidden],html.app-comm-open .app-voice-ptt-hud,html.native-app .app-voice-ptt-hud,body.app-shell .app-voice-ptt-hud{display:none!important}.app-voice-ptt-card{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:rgba(12,18,32,.96);border:1px solid rgba(255,209,102,.35);box-shadow:0 10px 28px #00000073}.app-voice-ptt-hud.is-talking .app-voice-ptt-card{border-color:#46c878b3;box-shadow:0 0 0 1px #46c87840,0 10px 28px #00000073}.app-voice-ptt-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.app-voice-ptt-title{color:#fffffff0;font-weight:700;font-size:.82rem}.app-voice-ptt-sub{color:#ffffff94;font-size:.68rem}.app-voice-ptt-hold{flex-shrink:0;min-width:72px;min-height:52px;padding:6px 12px;border-radius:14px;border:1px solid rgba(255,209,102,.55);background:linear-gradient(180deg,rgba(255,209,102,.22),rgba(255,209,102,.08));color:#ffd166;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;touch-action:none;user-select:none;-webkit-user-select:none}.app-voice-ptt-hold:active,.app-voice-ptt-hud.is-talking .app-voice-ptt-hold{background:linear-gradient(180deg,rgba(70,200,120,.35),rgba(70,200,120,.12));border-color:#46c878bf;color:#9dffc0}.app-voice-ptt-hold-icon{font-size:1.15rem;line-height:1}.app-voice-ptt-hold-label{font-size:.62rem;font-weight:800;letter-spacing:.04em}.app-voice-ptt-leave{flex-shrink:0;width:40px;height:40px;border-radius:12px;border:1px solid rgba(230,90,90,.45);background:rgba(230,90,90,.14);color:#ffb0b0;cursor:pointer;font-size:1rem}.app-floating-comm{--chat-accent: #ffd166;--chat-text: rgba(255, 255, 255, .92);--chat-text-muted: rgba(255, 255, 255, .62);--chat-panel-surface: rgba(12, 18, 32, .97);--chat-side-surface: rgba(255, 255, 255, .03);--chat-control-surface: rgba(0, 0, 0, .28);--chat-font-body: .72rem;--chat-font-small: .62rem;--chat-font-tiny: .57rem;--chat-font-micro: .54rem;position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-chat-app, 40000);color:var(--chat-text)}.app-floating-comm[data-chat-font=tiny]{--chat-font-body: .62rem;--chat-font-small: .55rem;--chat-font-tiny: .51rem;--chat-font-micro: .48rem}.app-floating-comm[data-chat-font=normal]{--chat-font-body: .8rem;--chat-font-small: .68rem;--chat-font-tiny: .62rem;--chat-font-micro: .58rem}.app-floating-comm[data-chat-font=large]{--chat-font-body: .9rem;--chat-font-small: .76rem;--chat-font-tiny: .68rem;--chat-font-micro: .64rem}.app-floating-comm[data-chat-accent=blue]{--chat-accent: #8fbcff}.app-floating-comm[data-chat-accent=violet]{--chat-accent: #caa8ff}.app-floating-comm[data-chat-accent=green]{--chat-accent: #8de0b4}.app-floating-comm[data-chat-surface=slate]{--chat-panel-surface: rgba(19, 24, 36, .97);--chat-side-surface: rgba(255, 255, 255, .045);--chat-control-surface: rgba(255, 255, 255, .055)}.app-floating-comm[data-chat-surface=tavern]{--chat-panel-surface: rgba(28, 21, 20, .97);--chat-side-surface: rgba(255, 235, 205, .06);--chat-control-surface: rgba(60, 34, 18, .42)}.app-floating-comm[data-chat-density=normal] .app-chat-user-list,.app-floating-comm[data-chat-density=normal] .app-chat-messages{gap:5px}.app-floating-comm[data-chat-density=cozy] .app-chat-user-list,.app-floating-comm[data-chat-density=cozy] .app-chat-messages{gap:7px}.app-floating-comm[data-chat-density=cozy] .chat-user-row,.app-floating-comm[data-chat-density=cozy] .chat-user-empty{padding:8px 9px}.app-floating-comm[data-chat-density=compact] .chat-feed{gap:2px}.app-floating-comm[data-chat-density=compact] .chat-msg{gap:2px 6px;padding:1px 2px}.app-floating-comm[data-chat-density=compact] .chat-msg.own .chat-msg-main{padding:2px 6px 3px}.app-floating-comm[data-chat-density=compact] .chat-msg-body{line-height:1.22}.app-floating-comm[data-chat-density=cozy] .chat-msg{padding:7px 4px}.app-floating-comm[data-chat-density=cozy] .chat-msg-body{line-height:1.5}.app-floating-comm[hidden]{display:none!important}.app-floating-comm .mobile-comm-header{display:flex;flex-shrink:0;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.app-floating-comm .mobile-comm-header.is-dragging{cursor:grabbing}.app-floating-comm .mobile-comm-header-titles{min-width:0;display:flex;flex-direction:column;gap:1px;flex:1 1 auto}.app-floating-comm .mobile-comm-title{pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-floating-comm .mobile-comm-subtitle{pointer-events:none;color:#ffffff7a;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-chat-toggle{display:flex;pointer-events:auto;position:fixed;z-index:1;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.app-chat-toggle.is-dragging{cursor:grabbing;transition:none;transform:none!important}.app-floating-comm.app-comm-open .app-chat-toggle:not(.is-dragging){opacity:0;visibility:hidden;pointer-events:none;transform:none}.app-chat-panel{position:fixed;top:var(--comm-top, auto);left:var(--comm-left, 10px);width:var(--comm-width, calc(100% - 20px));height:var(--comm-height, 280px);z-index:1050;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:var(--chat-panel-surface);box-shadow:0 18px 48px #00000080;opacity:0;transition:opacity .22s ease;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-floating-comm.app-comm-open .app-chat-panel{opacity:1;pointer-events:auto;visibility:visible}.app-chat-panel.is-maximized{border-radius:10px}.app-chat-toggle.has-unread:after,.mobile-comm-toggle.has-unread:after{content:attr(data-unread-count);position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e74c3c;color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 0 0 2px #141c30f2}.app-floating-comm .mobile-comm-toggle{position:relative}.app-chat-tabs,.app-chat-tabs[hidden]{display:none!important}.app-chat-tab{flex:1;padding:6px 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.04);color:var(--chat-text-muted);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.app-chat-tab.active{border-color:#ffd16673;background:rgba(255,209,102,.12);color:var(--chat-accent)}.app-chat-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(104px,124px) minmax(0,1fr);overflow:hidden}.app-chat-users{display:flex;flex-direction:column;min-height:0;border-right:1px solid rgba(255,255,255,.08);background:var(--chat-side-surface);position:relative}.app-chat-users-head{display:flex;flex-direction:column;gap:6px;padding:8px 8px 6px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.app-chat-users-title{padding:0;font-size:var(--chat-font-micro);font-weight:700;color:#ffffff9e;text-transform:uppercase;letter-spacing:.04em}.app-chat-users-search{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(0,0,0,.28);color:#ffffffeb;font:inherit;font-size:12px;padding:6px 8px;outline:none}.app-chat-users-search:focus{border-color:#ffd16673}.app-chat-users-search::placeholder{color:#ffffff59}.app-chat-users-resize{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:6;touch-action:none}.app-chat-users-resize:after{content:"";position:absolute;top:50%;left:2px;width:3px;height:28px;margin-top:-14px;border-radius:2px;background:rgba(255,255,255,.18)}.app-chat-users-resize:hover:after,.app-chat-panel.is-resizing-users .app-chat-users-resize:after{background:rgba(255,209,102,.65)}.app-chat-user-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 6px 12px;display:flex;flex-direction:column;gap:0}.chat-user-section{color:#fff6;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin:4px 6px 6px}.chat-user-section+.chat-user-section,.chat-user-empty+.chat-user-section{margin-top:14px}.chat-user-row,.chat-user-empty{display:flex;align-items:center;gap:8px;width:100%;padding:8px 6px;border-radius:8px;border:none;background:transparent;color:#ffffffeb;font:inherit;font-size:13px;text-align:left}.chat-user-row{cursor:pointer;margin-bottom:2px}.chat-user-row:hover:not(:disabled),.chat-user-row.active{background:rgba(180,120,255,.14)}.chat-user-row:disabled,.chat-user-row.is-self{opacity:.55;cursor:default}.chat-user-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#e74c3c}.chat-user-dot.is-online{background:#3dd68c}.chat-user-dot.is-offline{background:#e74c3c}.chat-user-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.chat-user-login{font-size:var(--chat-font-micro, .68rem);color:#fff6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-user-name-wrap{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-user-badges{display:flex;flex-wrap:wrap;gap:4px}.chat-user-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.02em;text-transform:lowercase;line-height:1.4;border:1px solid transparent}.chat-user-badge--mod{color:#b8d8ff;border-color:#78b4ff73;background:rgba(120,180,255,.12)}.chat-user-badge--muted{color:#ffc4a8;border-color:#ff785080;background:rgba(255,120,80,.14)}.chat-user-badge--ignored{color:#d2b8ff;border-color:#b478ff73;background:rgba(180,120,255,.12)}.chat-user-menu-btn{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:18px;line-height:1;font-weight:700;color:#ffffff8c;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.chat-user-row:hover:not(:disabled) .chat-user-menu-btn,.chat-user-row.active .chat-user-menu-btn{color:#ffffffe6;border-color:#d2b8ff59;background:rgba(180,120,255,.16)}.chat-user-action{flex-shrink:0;font-size:11px;font-weight:700;color:#d2b8ff}.chat-user-main{min-width:0;display:flex;flex-direction:column;gap:4px}.chat-user-right{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap}.chat-user-toggle{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#ffffffd9;border-radius:999px;padding:2px 8px;font-size:var(--chat-font-micro);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;min-width:20px}.chat-user-toggle.active{border-color:#ffd16673;background:rgba(255,209,102,.12);text-decoration:line-through}.chat-user-toggle.chat-user-toggle-ignore.active{border-color:#b478ff73;background:rgba(180,120,255,.12)}.chat-user-toggle.chat-user-toggle-friend{border-color:#78c88c66;color:#9fe3ad}.chat-user-toggle.chat-user-toggle-mute.active{border-color:#ff9b9b8c;background:rgba(255,155,155,.12)}.chat-user-toggle:active{transform:translateY(.5px)}.chat-user-empty{color:#ffffff8c}.app-chat-toolbar,#app-dm-threads,.app-chat-messages,.chat-typing-indicator,.app-chat-status,.app-unified-chat-compose{margin-left:0}.app-chat-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.app-chat-tab-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-chat-tab-panel[hidden]{display:none!important}.app-chat-messages{flex:1 1 auto;min-height:0;max-height:none;margin-bottom:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:rgba(255,209,102,.42) rgba(255,255,255,.06)}.app-chat-status{flex-shrink:0;margin:0 8px 3px;font-size:var(--chat-font-small);color:var(--chat-text-muted)}.app-chat-status.err{color:#ff9b9b}.app-chat-status:empty{display:none}.app-unified-chat-compose[hidden]{display:none!important}.app-floating-comm .global-chat-compose{flex-shrink:0;padding:7px 8px 8px;margin-top:auto;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:7px}.app-unified-chat-compose .chat-compose-row{display:flex;gap:6px;align-items:flex-end}.chat-compose-tools{position:relative;flex-shrink:0;align-self:flex-end}.chat-compose-tools-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;padding:0}.chat-compose-tools-toggle:hover{background:rgba(255,255,255,.1);border-color:#ffffff47}.chat-compose-tools-chevron{width:8px;height:8px;border-left:2px solid rgba(255,255,255,.85);border-bottom:2px solid rgba(255,255,255,.85);transform:rotate(45deg);transition:transform .18s ease;margin-top:-2px}.chat-compose-tools.is-open .chat-compose-tools-chevron{transform:rotate(225deg);margin-top:2px}.chat-compose-tools.is-open .chat-compose-tools-toggle{border-color:#ffd1668c;background:rgba(255,209,102,.18)}.chat-compose-tools-panel{position:absolute;left:0;bottom:calc(100% + 8px);display:flex;gap:4px;padding:6px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(14,20,34,.96);box-shadow:0 10px 28px #00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20}.chat-compose-tools-panel[hidden]{display:none!important}.app-unified-chat-compose .chat-emoji-btn,.app-unified-chat-compose .chat-mode-toggle{width:34px;height:34px;flex-shrink:0;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.app-unified-chat-compose .chat-emoji-btn:hover{background:rgba(255,209,102,.16);border-color:#ffd16666}.app-unified-chat-compose .chat-mode-toggle.active{border-color:#ffd1668c;background:rgba(255,209,102,.18)}.app-floating-comm .global-chat-input{flex:1;min-width:0;min-height:34px;padding:9px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:var(--chat-control-surface);color:#fff;font:inherit;font-size:var(--chat-font-body);line-height:1.35;resize:none;overflow-y:hidden}.chat-channel-bar{display:flex;gap:0;padding:2px;border-radius:10px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 4px #00000047}.chat-channel-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#ffffff8c;font:inherit;font-size:var(--chat-font-small);font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease}.chat-channel-btn:before{content:"";display:inline-block;width:1em;height:1em;flex-shrink:0;background:center / contain no-repeat;opacity:.9}.chat-channel-btn[data-chat-channel=global]:before{background-image:url(/icons/emoji/1f310.svg)}.chat-channel-btn[data-chat-channel=room]:before,.chat-channel-btn[data-chat-channel=waiting]:before{background-image:url(/icons/emoji/1f4ac.svg)}.chat-channel-btn[data-chat-channel=meeting]:before{background-image:url(/icons/emoji/1f91d.svg)}.chat-channel-btn[data-chat-channel=journal]:before{background-image:url(/icons/emoji/1f4dc.svg)}.chat-channel-btn:hover:not(.active){color:#ffffffe0;background:rgba(255,255,255,.06)}.chat-channel-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #ffd16659}.chat-channel-btn.active[data-chat-channel=global]{color:#c8e4ff;background:linear-gradient(180deg,rgba(72,140,255,.42) 0%,rgba(40,90,180,.28) 100%);border-color:#78b4ff73;box-shadow:0 2px 10px #3c82ff47,inset 0 1px #ffffff1f}.chat-channel-btn.active[data-chat-channel=room]{color:#ffe8a8;background:linear-gradient(180deg,rgba(255,209,102,.38) 0%,rgba(180,130,30,.28) 100%);border-color:#ffd16680;box-shadow:0 2px 10px #ffbe3c38,inset 0 1px #ffffff24}.chat-channel-btn.active[data-chat-channel=journal]{color:#d8e1ec;background:linear-gradient(180deg,rgba(120,138,158,.42) 0%,rgba(60,74,92,.3) 100%);border-color:#b4c3d76b;box-shadow:inset 0 1px #ffffff1f,0 1px 5px #0003}.chat-channel-btn.active:before{opacity:1}.chat-channel-btn[hidden],.chat-filter-global [data-channel=room],.chat-filter-global [data-channel=journal],.chat-filter-global [data-channel=dm],.chat-filter-global .cond-log-entry,.chat-filter-room [data-channel=global],.chat-filter-room [data-channel=journal],.chat-filter-room [data-channel=dm],.chat-filter-room .cond-log-entry{display:none!important}.chat-filter-journal [data-channel]:not([data-channel=journal]){display:none!important}.chat-filter-journal .global-chat-message:not(.journal-entry):not(.cond-log-entry){display:none!important}.app-unified-chat-compose .send-chat-btn.voice-mode,.app-unified-chat-compose .send-chat-btn.voice-recording{background:linear-gradient(180deg,#ff9b9b 0%,#e85d5d 100%);color:#fff}.app-floating-comm .global-chat-message{display:grid;grid-template-columns:auto auto 1fr auto;gap:4px 8px;font-size:var(--chat-font-body);line-height:1.35;align-items:baseline;color:var(--chat-text)}.app-floating-comm .journal-entry,.app-floating-comm .cond-log-entry{font-size:var(--chat-font-body);line-height:1.28}.app-floating-comm .global-chat-channel{font-size:var(--chat-font-micro);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:6px;white-space:nowrap}.app-floating-comm .global-channel .global-chat-channel{background:rgba(100,180,255,.18);color:#9ecfff}.app-floating-comm .room-channel .global-chat-channel{background:rgba(255,209,102,.15);color:var(--chat-accent)}.app-floating-comm .global-chat-name{font-weight:700;color:#a8c8ff;white-space:nowrap}.app-floating-comm .global-chat-message.own .global-chat-name{color:var(--chat-accent)}.app-floating-comm .global-chat-text{color:var(--chat-text);word-break:break-word;white-space:pre-wrap;overflow-wrap:anywhere}.app-floating-comm .global-chat-time{font-size:var(--chat-font-tiny);color:var(--chat-text-muted);white-space:nowrap}.app-floating-comm .global-chat-input::placeholder{color:#ffffff61}.app-floating-comm .global-chat-input:focus{outline:none;border-color:#ffd1668c;box-shadow:0 0 0 2px #ffd1661f}.app-floating-comm .global-chat-send{width:40px;height:34px;align-self:flex-end;flex-shrink:0;border:none;border-radius:9px;background:linear-gradient(180deg,#ffe08a 0%,var(--chat-accent) 100%);color:#1a2238;font-size:1rem;font-weight:700;cursor:pointer}.app-floating-comm .global-chat-compose{display:flex;flex-direction:column;gap:8px;align-items:stretch}.app-floating-comm .global-chat-message.voice-message{cursor:pointer}.app-floating-comm .global-chat-message.voice-message:hover .global-chat-text{text-decoration:underline}.chat-feed{position:relative;display:flex;flex-direction:column;gap:6px}.chat-msg{display:grid;grid-template-columns:28px 1fr;gap:6px 8px;align-items:start;padding:4px 2px;border-radius:10px;animation:chat-msg-in .18s ease}@keyframes chat-msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.chat-msg.grouped .chat-msg-avatar{visibility:hidden;height:0;margin:0;overflow:hidden}.chat-msg.grouped .chat-msg-meta{visibility:visible;height:0;margin:0;overflow:visible;justify-content:flex-end}.chat-msg.grouped .chat-msg-meta>:not(.chat-msg-more){display:none}.chat-msg.grouped .chat-msg-more{position:absolute;top:2px;right:0;margin-left:0}.chat-msg.grouped{margin-top:-2px}.chat-msg-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff;flex-shrink:0}.chat-msg.own .chat-msg-main{background:rgba(255,209,102,.1);border-radius:10px;padding:4px 8px 6px}.chat-msg-main{min-width:0;position:relative}.chat-msg-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:2px}.chat-msg-channel{font-size:var(--chat-font-micro);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 5px;border-radius:5px;background:rgba(100,180,255,.18);color:#9ecfff}.chat-msg.chat-channel-room .chat-msg-channel{background:rgba(255,209,102,.15);color:var(--chat-accent, #ffd166)}.chat-msg.chat-channel-dm .chat-msg-channel{background:rgba(180,120,255,.2);color:#d2b8ff}.chat-msg-name{border:none;background:none;padding:0;font:inherit;font-weight:700;color:#a8c8ff;cursor:pointer}.chat-msg.own .chat-msg-name{color:var(--chat-accent, #ffd166)}.chat-msg-time,.chat-msg-edited{font-size:var(--chat-font-tiny);color:#ffffff80}.chat-msg-more{margin-left:auto;border:none;background:transparent;color:#ffffff73;cursor:pointer;padding:0 4px;font-size:1rem;line-height:1}.chat-msg-body{font-size:var(--chat-font-body);line-height:1.4;word-break:break-word;color:#ffffffeb}.chat-msg-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg-deleted{font-style:italic;opacity:.55}.chat-msg-voice-btn{border:none;background:rgba(255,255,255,.08);color:inherit;border-radius:8px;padding:4px 10px;cursor:pointer;font:inherit}.chat-msg-reply{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-bottom:4px;padding:4px 8px;border:none;border-left:3px solid rgba(255,209,102,.55);border-radius:0 6px 6px 0;background:rgba(0,0,0,.22);color:inherit;cursor:pointer;text-align:left;font:inherit}.chat-msg-reply-name{font-size:.72rem;font-weight:700;color:var(--chat-accent, #ffd166)}.chat-msg-reply-preview{font-size:.72rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chat-msg-system{grid-column:1 / -1;text-align:center;font-size:.75rem;color:#ffffff8c;padding:4px 0}.chat-msg.system{display:block}.chat-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;align-items:center}.chat-reaction-chip,.chat-react-pick,.chat-react-add-btn{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:inherit;border-radius:999px;padding:1px 7px;font-size:.75rem;cursor:pointer}.chat-reaction-chip.mine{border-color:#ffd16680;background:rgba(255,209,102,.15)}.chat-react-add{position:relative}.chat-react-menu{position:absolute;bottom:100%;left:0;display:flex;gap:2px;padding:4px;background:rgba(20,28,48,.98);border:1px solid rgba(255,255,255,.15);border-radius:8px;z-index:5}.chat-react-menu[hidden]{display:none!important}.chat-msg-body-interactive{cursor:pointer}.chat-react-picker{position:fixed;left:50%;bottom:28%;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:min(92vw,360px);padding:10px 12px;background:rgba(20,28,48,.98);border:1px solid rgba(255,255,255,.14);border-radius:14px;z-index:var(--z-chat-chrome);box-shadow:0 8px 24px #00000073}.chat-react-picker[hidden]{display:none!important}.chat-msg.is-react-open{z-index:25;position:relative}.chat-msg.is-menu-open{z-index:30;position:relative}.chat-msg-menu{position:fixed;z-index:var(--z-chat-menu);display:flex;flex-direction:column;min-width:160px;padding:4px;background:rgba(16,22,38,.98);border:1px solid rgba(255,255,255,.14);border-radius:10px;box-shadow:0 8px 24px #00000073}.chat-msg-menu[hidden]{display:none!important}.chat-msg-menu button{border:none;background:transparent;color:#ffffffe6;text-align:left;padding:8px 10px;border-radius:6px;font:inherit;font-size:.8rem;cursor:pointer}.chat-msg-menu button:hover{background:rgba(255,255,255,.08)}.chat-msg-flash{outline:2px solid rgba(255,209,102,.7);outline-offset:2px}.chat-day-sep{display:flex;justify-content:center;margin:8px 0 4px}.chat-day-sep span{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffffff73;background:rgba(0,0,0,.28);padding:3px 10px;border-radius:999px}.chat-mention{color:#9ecfff;font-weight:700}.chat-mention-self{background:rgba(255,209,102,.2);border-radius:4px;padding:0 3px;color:var(--chat-accent, #ffd166)}.chat-search-hit{background:rgba(255,209,102,.35);color:inherit;border-radius:2px}.chat-filter-dm [data-channel]:not([data-channel=dm]),.chat-filter-dm .cond-log-entry{display:none!important}.chat-filter-dm .chat-day-sep:not([data-channel=dm]){display:none!important}.chat-jump-bottom{position:absolute;right:12px;bottom:72px;z-index:4;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(20,28,48,.95);color:#fff;padding:6px 12px;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #00000059}.chat-reply-bar{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:4px;border-radius:8px;background:rgba(255,209,102,.1);border:1px solid rgba(255,209,102,.25)}.chat-reply-bar-inner{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-reply-bar-label{font-size:.72rem;font-weight:700;color:var(--chat-accent, #ffd166)}.chat-reply-bar-preview{font-size:.72rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-reply-bar-close{border:none;background:transparent;color:inherit;font-size:1.1rem;cursor:pointer;padding:0 4px}.chat-typing-indicator{margin:0 10px 2px;font-size:.72rem;color:#ffffff8c;font-style:italic;min-height:1em}.chat-emoji-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:8px;width:220px;max-width:calc(100% - 16px);max-height:min(42vh,220px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;position:absolute;background:rgba(16,22,38,.98);border:1px solid rgba(255,255,255,.16);border-radius:12px;box-shadow:0 12px 32px #00000080;z-index:var(--z-chat-chrome)}.chat-emoji-item{border:none;background:transparent;font-size:1.25rem;padding:4px;border-radius:6px;cursor:pointer;min-width:0;aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center}.chat-emoji-item:hover{background:rgba(255,255,255,.1)}.chat-mention-box{position:absolute;left:0;right:48px;bottom:100%;margin-bottom:4px;background:rgba(16,22,38,.98);border:1px solid rgba(255,255,255,.14);border-radius:8px;z-index:8;overflow:hidden}.chat-compose-row,.chat-input-container,.waiting-chat-input-row{position:relative}.chat-mention-item{display:block;width:100%;border:none;background:transparent;color:inherit;text-align:left;padding:8px 10px;font:inherit;font-size:.82rem;cursor:pointer}.chat-mention-item.active,.chat-mention-item:hover{background:rgba(255,209,102,.12)}.app-chat-toolbar{flex-shrink:0;padding:0 8px 5px}.app-chat-settings-panel{position:absolute;top:46px;right:10px;z-index:12;width:236px;max-height:min(420px,calc(100% - 56px));display:grid;gap:6px;padding:10px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(10,14,26,.98);box-shadow:0 12px 32px #0000006b}.app-chat-settings-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px;padding:0 2px 4px;font-size:var(--chat-font-micro);font-weight:700;color:#ffffff8c;text-transform:uppercase;letter-spacing:.04em}.app-chat-settings-close{width:22px;height:22px;border:none;border-radius:999px;background:transparent;color:#ffffff8c;font:inherit;font-size:1rem;line-height:1;cursor:pointer}.app-chat-settings-close:hover{background:rgba(255,255,255,.08);color:#fff}.app-chat-settings-more{margin-top:2px;border:none;border-radius:8px;background:transparent;color:var(--chat-accent, #ffd166);font:inherit;font-size:var(--chat-font-small);font-weight:700;cursor:pointer;padding:6px 4px}.app-chat-settings-more:hover{background:rgba(255,209,102,.1)}.app-chat-settings-panel[hidden]{display:none!important}.app-chat-settings-section{margin-top:6px;font-size:var(--chat-font-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffd166d9}.app-chat-settings-note{margin:0;font-size:var(--chat-font-micro);line-height:1.35;color:#ffffff8c}.app-chat-voice-roster{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px 8px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(240,190,70,.06)}.app-chat-voice-roster[hidden]{display:none!important}.app-chat-voice-roster-item{display:inline-flex;align-items:center;gap:4px;max-width:140px;padding:3px 8px;border-radius:999px;font-size:var(--chat-font-micro);color:#ffffffe0;background:rgba(255,255,255,.08);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-chat-voice-roster-item.is-speaking{background:rgba(70,200,120,.28);box-shadow:0 0 0 1px #46c878a6;animation:app-chat-voice-speak-pulse 1.1s ease-in-out infinite}.app-chat-voice-roster-item.is-muted{opacity:.65}#app-chat-user-list [data-guest-id].is-in-voice{box-shadow:inset 3px 0 #ffd166bf}#app-chat-user-list [data-guest-id].is-voice-speaking{box-shadow:inset 3px 0 #3dd68c;background:rgba(61,214,140,.08);animation:app-chat-voice-speak-pulse 1.1s ease-in-out infinite}@keyframes app-chat-voice-speak-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}.app-chat-settings-field{display:grid;gap:4px}.app-chat-settings-field span{font-size:var(--chat-font-micro);color:#ffffff9e;text-transform:uppercase;letter-spacing:.04em}.app-chat-settings-field select{width:100%;padding:7px 34px 7px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:var(--chat-control-surface);color:#fff;font:inherit;font-size:var(--chat-font-small);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.7) 50%),linear-gradient(135deg,rgba(255,255,255,.7) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;box-shadow:inset 0 1px #ffffff08}.app-chat-settings-field select:focus{outline:none;border-color:#ffd1666b;box-shadow:0 0 0 2px #ffd16624}.app-chat-settings-toggle{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.app-chat-settings-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--chat-accent, #c9a227);flex-shrink:0}.app-chat-mute-global.is-active{color:#f87171}.app-chat-settings-field select option{background:#121826;color:#f4f6fb}.app-chat-search{width:100%;min-width:0;padding:6px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:var(--chat-control-surface);color:#fff;font:inherit;font-size:var(--chat-font-small)}.app-chat-dm-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-chat-main.is-dm .app-chat-dm-stage{flex-direction:row;align-items:stretch}.app-dm-threads{display:none;flex-direction:column-reverse;justify-content:flex-start;gap:2px;flex:1 1 auto;min-width:0;min-height:0;box-sizing:border-box;padding:6px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,209,102,.36) rgba(255,255,255,.05);border-right:none;background:rgba(0,0,0,.12)}.app-chat-main.is-dm .app-dm-threads:not([hidden]){display:flex}.app-dm-threads[hidden]{display:none!important}.app-chat-main.is-dm.has-dm-peer .app-dm-threads{flex:0 1 42%;max-width:240px;min-width:132px;border-right:1px solid rgba(255,255,255,.08)}@media (max-width: 720px){.app-chat-main.is-dm.has-dm-peer .app-dm-threads{flex:0 0 84px;max-width:84px;min-width:84px;padding:4px 3px}.app-chat-main.is-dm.has-dm-peer .chat-dm-thread{flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:6px 2px}.app-chat-main.is-dm.has-dm-peer .chat-dm-thread-body{width:100%;min-width:0;gap:0}.app-chat-main.is-dm.has-dm-peer .chat-dm-thread-top{justify-content:center}.app-chat-main.is-dm.has-dm-peer .chat-dm-thread-name{font-size:.62rem;line-height:1.15;text-align:center;width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal}.app-chat-main.is-dm.has-dm-peer .chat-dm-thread-time,.app-chat-main.is-dm.has-dm-peer .chat-dm-thread-preview,.app-chat-main.is-dm.has-dm-peer .chat-dm-thread-close{display:none}.app-chat-main.is-dm.has-dm-peer .chat-dm-thread-avatar{width:36px;height:36px;font-size:.8rem}.app-chat-main.is-dm.has-dm-peer.dm-rail-hidden .app-dm-threads{display:none!important}}.app-chat-main.is-dm:not(.has-dm-peer) .app-chat-messages{display:none}.app-chat-main.is-dm.has-dm-peer .app-chat-messages{flex:1 1 auto;min-width:0}.chat-dm-empty{margin:auto 8px;padding:16px 10px;text-align:center;color:#ffffff6b;font-size:var(--chat-font-small);line-height:1.35}.chat-dm-thread{display:flex;align-items:center;gap:8px;width:100%;flex:0 0 auto;box-sizing:border-box;border:1px solid transparent;background:transparent;color:inherit;border-radius:10px;padding:8px 6px;text-align:left;cursor:pointer;font:inherit}.chat-dm-thread:hover{background:rgba(255,255,255,.05)}.chat-dm-thread.active{border-color:#b478ff66;background:rgba(180,120,255,.14)}.chat-dm-thread-avatar{width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(180,120,255,.28);color:#e8d6ff;font-size:.85rem;font-weight:800;background-size:cover;background-position:center;overflow:hidden}.chat-dm-thread-avatar.has-image{color:transparent;font-size:0;border:1px solid rgba(255,255,255,.12)}.chat-dm-thread-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-dm-thread-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.chat-dm-thread-name{font-size:var(--chat-font-body);font-weight:700;color:#ffffffeb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-dm-thread-time{flex:0 0 auto;font-size:var(--chat-font-micro);color:#ffffff73;white-space:nowrap}.chat-dm-thread-preview{font-size:var(--chat-font-small);color:#ffffff80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-dm-thread-close{flex:0 0 auto;width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;line-height:1;color:#ffffff73}.chat-dm-thread-close:hover{background:rgba(255,255,255,.12);color:#fffffff2}@media (max-width: 700px){.app-chat-panel{top:max(8px,var(--safe-top))!important;left:8px!important;right:8px;bottom:max(8px,var(--safe-bottom));width:auto!important;height:auto!important;max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom));border-radius:18px}.app-floating-comm .mobile-comm-header{min-height:48px;padding:10px 12px}.app-floating-comm .mobile-comm-reset,.app-floating-comm .mobile-comm-close{width:36px;height:36px}.app-chat-body{grid-template-columns:minmax(88px,104px) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.app-chat-users{border-right:1px solid rgba(255,255,255,.08);border-bottom:none;max-height:none}.app-chat-users-title{display:block;padding:8px 6px 4px;font-size:.58rem}.app-chat-user-list{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;padding:6px 4px 10px;overflow-x:hidden;overflow-y:auto}.chat-user-row,.chat-user-empty{width:auto;padding:7px 5px;border-radius:8px;border:none;background:transparent}.chat-user-name{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-user-action{font-size:10px;color:#d2b8ff}.chat-user-toggle{min-width:22px;min-height:22px;padding:1px 5px;font-size:.62rem}.app-chat-toolbar{padding:6px 8px 4px}.app-chat-search{min-height:36px;font-size:.86rem;border-radius:10px}.app-unified-chat-compose{padding:8px;gap:6px}html.native-app .app-unified-chat-compose,html.chat-shell .app-unified-chat-compose{padding-bottom:8px}.chat-channel-btn{min-height:36px;padding:7px 8px;font-size:.78rem;border-radius:10px}.chat-compose-tools-toggle,.chat-mode-toggle,.global-chat-send{width:40px;height:40px;min-width:40px;border-radius:11px}.global-chat-input{min-height:40px;font-size:.95rem;border-radius:11px;padding:9px 10px}.app-chat-panel .mobile-comm-resize-handle{display:none}}.app-chat-user-list,.app-chat-messages,.app-dm-threads{scrollbar-gutter:auto}.app-chat-user-list::-webkit-scrollbar,.app-chat-messages::-webkit-scrollbar,.app-dm-threads::-webkit-scrollbar{width:10px;height:10px}.app-chat-user-list::-webkit-scrollbar-track,.app-chat-messages::-webkit-scrollbar-track,.app-dm-threads::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.app-chat-user-list::-webkit-scrollbar-thumb,.app-chat-messages::-webkit-scrollbar-thumb,.app-dm-threads::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(255,209,102,.42) 0%,rgba(120,180,255,.34) 100%);border:2px solid transparent;background-clip:padding-box;border-radius:999px}.chat-channel-btn.has-unread:after{content:attr(data-unread-count);margin-left:4px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#e74c3c;color:#fff;font-size:9px;font-weight:800;line-height:14px;text-align:center}.chat-channel-btn[data-chat-channel=dm]:before{background-image:url(/icons/emoji/2709-fe0f.svg)}.emoji-asset{display:inline-block;width:1.25em;height:1.25em;vertical-align:-.2em;object-fit:contain;pointer-events:none}.emoji-asset--picker{width:1.45em;height:1.45em;max-width:100%;max-height:100%;vertical-align:middle;object-fit:contain}.emoji-asset--btn{width:1.35em;height:1.35em;vertical-align:middle}.emoji-asset--float{width:2.2em;height:2.2em}.emoji-asset--reaction{width:1.05em;height:1.05em;vertical-align:-.15em}.chat-reaction-chip{display:inline-flex;align-items:center;gap:.25em}.chat-react-pick{display:inline-flex;align-items:center;justify-content:center}.chat-emoji-item{display:inline-flex;align-items:center;justify-content:center;min-width:0}.chat-emoji-btn img.emoji-asset,.table-emote-toggle img.emoji-asset,.table-emote-chip img.emoji-asset{display:block}.log-messages .chat-msg,.cond-log-messages .chat-msg,.waiting-chat-messages .chat-msg{color:inherit}.waiting-chat-messages{display:flex;flex-direction:column;gap:6px}.app-floating-comm .app-chat-panel{border-radius:14px;pointer-events:auto;box-sizing:border-box}.app-floating-comm .app-chat-panel .mobile-comm-header{cursor:grab;touch-action:none}.app-floating-comm .app-chat-panel .mobile-comm-resize-handle,.app-floating-comm #app-chat-reset{display:block}@media (max-width: 700px) and (orientation: portrait){.app-floating-comm .app-chat-panel:not(.is-maximized){border-radius:18px 18px 10px 10px}.app-floating-comm .app-chat-body{grid-template-columns:minmax(0,1fr)}}.app-floating-comm .app-chat-body{position:relative;grid-template-columns:minmax(0,1fr)}.app-floating-comm .app-chat-panel.app-chat-users-open .app-chat-body{grid-template-columns:minmax(120px,var(--chat-users-width, 168px)) minmax(0,1fr)}.app-floating-comm .app-chat-users{display:none;position:relative;z-index:auto;inset:auto;width:auto;max-height:none;border-right:1px solid rgba(255,209,102,.28);border-bottom:none;background:var(--chat-side-surface, var(--chat-panel-surface));box-shadow:none;min-height:0;overflow:hidden}.app-floating-comm .app-chat-panel.app-chat-users-open .app-chat-users{display:flex}#app-chat-users-toggle[aria-expanded=true]{color:var(--chat-accent);background:rgba(255,209,102,.16);border-color:#ffd16657}@media (max-width: 480px){.app-floating-comm .app-chat-panel.app-chat-users-open .app-chat-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(132px,36%) minmax(0,1fr)}.app-floating-comm .app-chat-panel.app-chat-users-open .app-chat-users{border-right:none;border-bottom:1px solid rgba(255,209,102,.28)}}.app-floating-comm.app-comm-open{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-chat-app);pointer-events:none}.app-floating-comm .app-chat-panel{pointer-events:auto;box-sizing:border-box}.app-floating-comm.app-comm-open .app-chat-panel.is-maximized{top:max(8px,var(--safe-top))!important;right:max(8px,var(--safe-right))!important;bottom:max(8px,var(--safe-bottom))!important;left:max(8px,var(--safe-left))!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;border-radius:12px}.app-floating-comm.app-comm-open .app-chat-toggle{pointer-events:none;visibility:hidden}@media (max-width: 700px){.app-floating-comm .app-chat-panel{padding:0}.app-floating-comm .app-chat-panel.is-maximized{padding-top:var(--safe-top);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left)}}@media (orientation: landscape) and (max-width: 1200px) and (max-height: 720px),(orientation: landscape) and (max-width: 1200px) and (max-height: 820px) and (pointer: coarse){.app-floating-comm .app-chat-panel.is-maximized{top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important;padding-top:var(--safe-top)!important;padding-right:var(--safe-right)!important;padding-bottom:var(--safe-bottom)!important;padding-left:var(--safe-left)!important;box-sizing:border-box}.app-floating-comm.app-comm-open .app-chat-toggle{pointer-events:none;visibility:hidden}.app-floating-comm{--chat-font-body: .68rem;--chat-font-small: .58rem;--chat-font-tiny: .54rem;--chat-font-micro: .5rem}.app-floating-comm .mobile-comm-header{min-height:32px;padding:4px 8px;gap:4px;flex-shrink:0}.app-floating-comm .mobile-comm-title{font-size:.78rem}.app-floating-comm .mobile-comm-reset,.app-floating-comm .mobile-comm-close{width:28px;height:28px;min-width:28px;min-height:28px;font-size:.85rem}.app-floating-comm .app-chat-body{min-height:0}.app-floating-comm .app-chat-panel.app-chat-users-open .app-chat-body{grid-template-columns:minmax(110px,36%) minmax(0,1fr)}.app-floating-comm .app-chat-settings-panel{padding:6px 8px;gap:6px}.app-floating-comm .app-chat-settings-field{gap:2px;font-size:.62rem}.app-floating-comm .app-chat-settings-field select{min-height:28px;padding:2px 6px;font-size:.68rem}.app-floating-comm .app-chat-toolbar{padding:3px 8px 2px;flex-shrink:0}.app-floating-comm .app-chat-search{min-height:28px;padding:4px 8px;font-size:.68rem}.app-floating-comm .chat-channel-bar{padding:2px 8px 4px;gap:4px;flex-shrink:0}.app-floating-comm .chat-channel-btn{padding:3px 8px;font-size:.6rem;min-height:24px;border-radius:999px}.app-floating-comm .app-chat-main.is-dm .app-dm-threads{padding:4px}.app-floating-comm .app-chat-main.is-dm.has-dm-peer .app-dm-threads{flex:0 1 38%;max-width:180px;min-width:112px}.app-floating-comm .app-chat-messages,.app-floating-comm .global-chat-messages{flex:1 1 auto;min-height:0;padding:4px 8px;gap:4px}.app-floating-comm .chat-msg,.app-floating-comm .global-chat-message{padding:4px 6px;gap:2px}.app-floating-comm .app-chat-status,.app-floating-comm .chat-typing-indicator{margin:0;padding:0 8px;font-size:.55rem;line-height:1.2;min-height:0}.app-floating-comm .global-chat-compose,.app-floating-comm .app-unified-chat-compose{padding:4px 8px 6px;gap:4px;flex-shrink:0}.app-floating-comm .chat-compose-row{gap:4px;align-items:center}.app-floating-comm .chat-compose-tools-toggle{width:30px;height:30px;min-width:30px}.app-floating-comm .global-chat-input,.app-floating-comm .chat-compose-row input,.app-floating-comm .chat-compose-row textarea{min-height:30px;max-height:56px;padding:5px 8px;font-size:.72rem;line-height:1.25}.app-floating-comm .send-chat-btn,.app-floating-comm .chat-mode-toggle,.app-floating-comm .chat-emoji-btn{width:30px;height:30px;min-width:30px;min-height:30px;padding:0;font-size:.68rem;box-sizing:border-box}.app-floating-comm .chat-compose-tools-panel{padding:4px 6px;gap:4px}}html.chat-shell .screen,html.chat-shell #app-profile-floating,html.chat-shell .library-apk-btn,html.chat-shell .library-apk-hint{display:none!important}html.comm-workspace .app-floating-comm .app-chat-panel{border-radius:0;box-shadow:none}html.chat-shell .app-floating-comm{display:block!important}html.chat-shell .app-floating-comm .app-chat-toggle{display:none!important}html.chat-shell .app-floating-comm.app-comm-open{pointer-events:auto}html.chat-shell body{background:#0d1b3e;overflow:hidden}html.auth-shell #library-screen,html.auth-shell #login-screen,html.auth-shell #game-screen,html.auth-shell #condottiere-screen,html.auth-shell #treasure-map-screen,html.auth-shell #waiting-chat-screen,html.auth-shell #app-profile-floating,html.auth-shell .library-apk-btn,html.auth-shell .library-apk-hint,html.auth-shell .app-floating-comm{display:none!important}html.auth-shell #welcome-screen.screen.active{display:flex!important}html.profile-shell .screen,html.profile-shell .library-apk-btn,html.profile-shell .library-apk-hint,html.profile-shell .app-floating-comm{display:none!important}html.profile-shell #app-profile-floating,html.profile-shell #app-profile-floating[hidden]{display:block!important}html.profile-shell #app-profile-toggle,html.profile-shell #app-profile-logout,html.profile-shell .app-profile-toolbar{display:none!important}html.profile-shell body{background:#0d1b3e;overflow:hidden}html.chat-shell .app-floating-comm .app-chat-panel{padding-top:var(--safe-top)!important;padding-right:var(--safe-right)!important;padding-bottom:var(--safe-bottom)!important;padding-left:var(--safe-left)!important;box-sizing:border-box!important}html.chat-shell .app-unified-chat-compose{padding-bottom:8px!important}html.chat-shell .app-chat-toggle{bottom:max(8px,var(--safe-bottom))!important;right:max(8px,var(--safe-right))!important}html.viewport-phone-landscape .app-floating-comm{position:fixed;inset:auto;top:var(--vp-y, 0px);left:var(--vp-x, 0px);width:var(--vp-w, 100vw);height:var(--vp-h, 100dvh);min-width:0;min-height:0;max-width:var(--vp-w, 100vw);max-height:var(--vp-h, 100dvh);overflow:hidden}html.viewport-phone-landscape .app-chat-toggle{position:fixed;top:calc(var(--vp-y, 0px) + var(--vp-h, 100dvh) - max(8px,var(--safe-bottom)) - 44px)!important;right:auto!important;bottom:auto!important;left:calc(var(--vp-x, 0px) + max(8px,var(--safe-left)))!important;width:40px;height:40px;min-width:40px;min-height:40px}html.viewport-phone-landscape .app-floating-comm .app-chat-panel{position:fixed;inset:auto!important;top:var(--vp-y, 0px)!important;left:var(--vp-x, 0px)!important;right:auto!important;bottom:auto!important;width:var(--vp-w, 100vw)!important;height:var(--vp-h, 100dvh)!important;min-width:0;min-height:0;max-width:var(--vp-w, 100vw)!important;max-height:var(--vp-h, 100dvh)!important;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)!important;border-radius:0!important;overflow:hidden;box-sizing:border-box}html.viewport-phone-landscape .app-floating-comm .app-chat-body,html.viewport-phone-landscape .app-floating-comm .app-chat-main,html.viewport-phone-landscape .app-floating-comm .app-chat-tab-panel{display:flex;flex:1 1 0;flex-direction:column;min-width:0;min-height:0;overflow:hidden}html.viewport-phone-landscape .app-floating-comm .mobile-comm-header,html.viewport-phone-landscape .app-floating-comm .app-chat-toolbar,html.viewport-phone-landscape .app-floating-comm .chat-channel-bar,html.viewport-phone-landscape .app-floating-comm .app-unified-chat-compose{flex:0 0 auto}html.viewport-phone-landscape .app-floating-comm .app-chat-dm-stage{flex:1 1 0;min-height:0}html.viewport-phone-landscape .app-floating-comm .app-chat-main.is-dm:not(.has-dm-peer) .app-dm-threads{flex:1 1 0;min-height:0}html.viewport-phone-landscape .app-floating-comm .app-chat-messages{flex:1 1 0;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}html.viewport-phone-landscape .app-floating-comm .app-chat-users{height:100%;min-height:0;overflow:hidden}html.viewport-phone-landscape .app-floating-comm .app-chat-user-list{min-height:0;overflow-y:auto;overscroll-behavior:contain}html.viewport-phone-landscape .app-floating-comm .app-chat-settings-panel{top:clamp(34px,10vh,44px);right:max(6px,var(--safe-right));width:min(220px,calc(var(--vp-w, 100vw) - 12px));max-height:calc(var(--vp-h, 100dvh) - 48px);overflow-y:auto}.app-user-profile-card{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.45);pointer-events:auto}.app-user-profile-card-inner{position:relative;width:min(280px,100%);padding:18px 16px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(16,22,38,.98);box-shadow:0 16px 40px #0000008c;text-align:center}.app-user-profile-close{position:absolute;top:6px;right:8px;border:none;background:transparent;color:#ffffff80;font-size:20px;cursor:pointer;line-height:1}.app-user-profile-avatar{width:52px;height:52px;margin:0 auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,209,102,.18);border:1px solid rgba(255,209,102,.35);color:#ffd166;font-weight:800;font-size:1.25rem;background-size:cover;background-position:center;overflow:hidden}.app-user-profile-avatar.has-image{color:transparent;font-size:0}.app-user-profile-name{margin:0 0 2px;font-size:1.05rem;color:#fff}.app-user-profile-login,.app-user-profile-status,.app-user-profile-stats,.app-user-profile-loading{margin:0 0 6px;color:#ffffff8c;font-size:.78rem}.app-user-profile-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.app-user-profile-btn{border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:.78rem;font-weight:700;padding:7px 12px;cursor:pointer}.app-user-profile-btn.primary{border-color:#ffd16680;background:rgba(255,209,102,.18);color:#ffd166}.app-user-profile-btn.ghost{opacity:.75}.app-chat-panel .chat-emoji-picker{z-index:50}.friend-call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-chat-menu, 40200) + 20);display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,10,18,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.friend-call-overlay[hidden]{display:none!important}.friend-call-card{position:relative;width:min(360px,100%);padding:28px 22px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(165deg,rgba(36,42,64,.98),rgba(18,22,36,.98));box-shadow:0 18px 48px #00000073;text-align:center;color:#f4f6ff}.friend-call-pulse{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#7eb8ff,#3b6fd9 55%,#1e3a7a);box-shadow:0 0 #5a96ff73;animation:friend-call-pulse 1.6s ease-out infinite}@keyframes friend-call-pulse{0%{box-shadow:0 0 #5a96ff73}70%{box-shadow:0 0 0 18px #5a96ff00}to{box-shadow:0 0 #5a96ff00}}.friend-call-title{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:.01em}.friend-call-subtitle{margin:6px 0 0;font-size:.9rem;opacity:.78}.friend-call-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}.friend-call-btn{min-width:112px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:inherit;font:inherit;font-size:.88rem;font-weight:700;padding:10px 16px;cursor:pointer}.friend-call-btn.friend-call-accept{border-color:#48c8788c;background:rgba(56,170,100,.28)}.friend-call-btn.friend-call-decline,.friend-call-btn.friend-call-hangup,.friend-call-btn.friend-call-cancel{border-color:#dc5a5a80;background:rgba(180,60,60,.28)}.friend-call-btn.friend-call-mute{min-width:140px}.app-chat-friend-call:not([hidden]){color:#9fd0ff;font-size:.72rem;font-weight:700;white-space:nowrap;min-width:auto;padding-inline:6px}.app-profile-floating{position:fixed;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));z-index:1020;pointer-events:none}.app-profile-floating.app-profile-open{z-index:1060}.app-profile-floating.app-profile-open.app-profile-above-chat{z-index:var(--z-chat-menu, 40200)}.app-profile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:clamp(6px,2vw,10px);width:100%;pointer-events:none}.app-profile-toolbar>*{pointer-events:auto}.app-profile-toggle[hidden],.app-profile-logout[hidden]{display:none!important}.app-profile-logout:hover{background:rgba(231,76,60,.22);border-color:#e74c3c73}.app-profile-logout-inline{display:none;width:100%;margin-top:20px;padding:12px 16px;border-radius:12px;border:1px solid rgba(231,76,60,.45);background:rgba(231,76,60,.12);color:#ff8a80;font-size:15px;font-weight:600;cursor:pointer}html.native-app .app-profile-logout-inline,html.profile-shell .app-profile-logout-inline{display:block}html.native-app .app-profile-toolbar{display:none!important}.app-profile-floating.app-profile-open .app-profile-logout{opacity:.72;transform:scale(.94)}.app-profile-toggle{display:flex;pointer-events:auto;position:relative;align-items:center;justify-content:center;width:clamp(34px,9.2vw,44px);height:clamp(34px,9.2vw,44px);padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(20,28,48,.94);color:#fff;box-shadow:0 4px 16px #0006;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0}.app-profile-toggle:hover{background:rgba(28,38,62,.96)}.app-profile-floating.app-profile-open .app-profile-toggle{opacity:.72;transform:scale(.94)}.app-profile-toggle-icon{font-size:clamp(.95rem,4vw,1.15rem);line-height:1}@media (orientation: landscape) and (max-width: 1200px) and (max-height: 720px),(orientation: landscape) and (max-width: 1200px) and (max-height: 820px) and (pointer: coarse){.app-profile-floating{top:max(6px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}.app-profile-toolbar{gap:5px}.app-profile-toggle{width:clamp(30px,7vh,38px);height:clamp(30px,7vh,38px)}.app-profile-toggle-icon{font-size:clamp(.85rem,3.5vh,1rem)}}.app-profile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(5,8,16,.55);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;z-index:1045}.app-profile-floating.app-profile-open .app-profile-backdrop{opacity:1;visibility:visible;pointer-events:auto}.app-profile-panel{position:fixed;top:max(56px,calc(env(safe-area-inset-top) + 48px));right:max(12px,env(safe-area-inset-right));width:min(400px,calc(100vw - 24px));max-height:min(640px,calc(100vh - 80px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(12,18,32,.98);color:#f4f7ff;box-shadow:0 12px 40px #0000008c;opacity:0;transform:translateY(-8px) scale(.98);visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s ease;z-index:1055;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-profile-floating.app-profile-open .app-profile-panel{opacity:1;transform:translateY(0) scale(1);visibility:visible;pointer-events:auto}.app-profile-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 6px}.app-profile-title{margin:0;font-size:1rem;font-weight:700;color:#fff}.app-profile-close{width:32px;height:32px;border:none;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer}.app-profile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px 12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.app-profile-tab{min-height:36px;padding:6px 8px;border:none;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:#ffffff9e;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.app-profile-tab:hover{color:#ffffffe6;background:rgba(255,255,255,.05)}.app-profile-tab.is-active{color:#ffd166;border-bottom-color:#ffd166;background:rgba(255,209,102,.08)}.app-profile-body{flex:1;min-height:0;padding:14px 16px 16px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,209,102,.35) rgba(255,255,255,.06)}.app-profile-body::-webkit-scrollbar,.app-profile-history::-webkit-scrollbar,.app-profile-history-detail-body::-webkit-scrollbar,.app-profile-friends::-webkit-scrollbar{width:8px;height:8px}.app-profile-body::-webkit-scrollbar-track,.app-profile-history::-webkit-scrollbar-track,.app-profile-history-detail-body::-webkit-scrollbar-track,.app-profile-friends::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.app-profile-body::-webkit-scrollbar-thumb,.app-profile-history::-webkit-scrollbar-thumb,.app-profile-history-detail-body::-webkit-scrollbar-thumb,.app-profile-friends::-webkit-scrollbar-thumb{background:rgba(255,209,102,.35);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.app-profile-body::-webkit-scrollbar-thumb:hover,.app-profile-history::-webkit-scrollbar-thumb:hover,.app-profile-history-detail-body::-webkit-scrollbar-thumb:hover,.app-profile-friends::-webkit-scrollbar-thumb:hover{background:rgba(255,209,102,.55);background-clip:padding-box}.app-profile-pane[hidden]{display:none!important}.app-profile-lead{margin:0 0 12px;font-size:.82rem;color:#ffffffad;line-height:1.45}.app-profile-identity{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px;border-radius:14px;border:1px solid rgba(255,209,102,.22);background:radial-gradient(120% 140% at 0% 0%,rgba(255,209,102,.14),transparent 55%),rgba(255,255,255,.04)}.app-profile-avatar{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,209,102,.2);color:#ffd166;font-weight:800;font-size:1.2rem;border:1px solid rgba(255,209,102,.35);padding:0;cursor:pointer;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}.app-profile-avatar.has-image{color:transparent;font-size:0;border-color:#ffd16680}.app-profile-avatar-hint{align-self:flex-start;margin-top:4px;padding:0;border:0;background:none;color:#ffd166d9;font-size:.72rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.app-profile-avatar-hint:hover{color:#ffd166}.app-profile-identity-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.app-profile-identity-name{font-size:1.05rem;font-weight:800;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-profile-identity-login{font-size:.78rem;color:#ffffff80}.app-profile-card{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}.app-profile-card-title{margin:0 0 2px;font-size:.72rem;font-weight:700;color:#ffffff8c;text-transform:uppercase;letter-spacing:.04em}.app-profile-card .app-profile-toggle-row{margin:0}.app-profile-card .app-profile-save-btn{margin-top:4px}.app-profile-account-actions{display:grid;gap:8px;margin-top:8px}.app-profile-logout-ghost{background:transparent!important;border:1px solid rgba(255,255,255,.12);color:#ffffff8c!important}.app-profile-empty{margin:0;padding:18px 8px;text-align:center;color:#ffffff9e;font-size:.8rem}.app-profile-field{margin-bottom:12px}.app-profile-field label{display:block;margin-bottom:6px;font-size:.78rem;color:#ffffffb8}.app-profile-card .app-profile-field{margin-bottom:0}.app-profile-card .app-profile-hint{margin:0 0 4px}.app-profile-field-inline .app-profile-input{min-height:36px;padding:8px 10px;font-size:.82rem}.app-profile-voice-hotkey-controls{display:flex;align-items:center;gap:6px;min-width:0}.app-profile-voice-hotkey-btn{flex:1;min-width:0;text-align:left;cursor:pointer}.app-profile-voice-hotkey-btn.is-capturing{border-color:#ffd166b3;color:#ffd166;box-shadow:0 0 0 1px #ffd16640}.app-profile-voice-hotkey-clear{flex-shrink:0;width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#ffffffbf;cursor:pointer;font-size:1.1rem;line-height:1}html.native-app .app-profile-voice-hotkey-row,html.native-app .app-profile-voice-hotkey-row+.app-profile-hint,body.app-shell .app-profile-voice-hotkey-row,body.app-shell .app-profile-voice-hotkey-row+.app-profile-hint{display:none}.app-profile-input{width:100%;box-sizing:border-box;min-height:42px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font:inherit;color-scheme:dark}select.app-profile-input option,.app-profile-input option{background:#121826;color:#f4f6fb}select.app-profile-input option:checked,select.app-profile-input option:hover,.app-profile-input option:checked,.app-profile-input option:hover{background:#2a3348;color:#fff}.app-profile-save-btn{width:100%;min-height:42px;border:none;border-radius:10px;background:linear-gradient(135deg,#ffd166,#f4a261);color:#1a1a1a;font:inherit;font-weight:700;cursor:pointer}.app-profile-section-title{margin:16px 0 10px;font-size:.82rem;font-weight:700;color:#ffffffdb}.app-profile-friends{display:flex;flex-direction:column;gap:4px}.app-profile-friend-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.04)}.app-profile-friend-name{flex:1;min-width:0;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-profile-friend-actions{display:flex;flex-shrink:0;gap:6px}.app-profile-friend-btn{padding:6px 10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.06);color:inherit;font:inherit;font-size:.78rem;cursor:pointer}.app-profile-friend-btn.primary{border-color:#ffd16666;background:rgba(255,209,102,.16);color:#ffe7a8;font-weight:600}.app-profile-friend-btn:hover{background:rgba(255,255,255,.1)}.app-profile-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0 0 8px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.04);color:inherit;font:inherit;text-align:left;cursor:pointer}.app-profile-toggle-row:hover{background:rgba(255,255,255,.07)}.app-profile-toggle-row.is-on{border-color:#ffd16659}.app-profile-toggle-label{font-size:.86rem;color:#ffffffe6}.app-profile-toggle-value{flex-shrink:0;min-width:2.5rem;font-size:.78rem;font-weight:700;color:#ffffff8c}.app-profile-toggle-row.is-on .app-profile-toggle-value{color:#ffd166}.app-profile-secondary-btn{background:rgba(255,255,255,.08)!important;color:#ffffffe0!important;border:1px solid rgba(255,255,255,.14);font-weight:600}.app-profile-secondary-btn:hover{background:rgba(255,255,255,.12)!important}.app-profile-web-push-btn{margin-top:8px}.app-profile-hint{margin:8px 0 0;font-size:.75rem;color:#ffffff94;line-height:1.4;min-height:1.1em}.app-profile-providers{display:flex;flex-direction:column;gap:10px}.app-profile-stats,.app-profile-history{display:flex;flex-direction:column;gap:12px}.app-profile-stats:empty:before{content:"Пока пусто";color:#ffffffb8;font-size:.78rem}.app-profile-stats-summary{display:flex;flex-direction:column;gap:8px}.app-profile-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.app-profile-stat-card,.app-profile-history-item,.app-profile-history-detail-sheet,.app-profile-history-players{border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05)}.app-profile-stat-card{padding:8px 10px}.app-profile-stat-label{display:block;font-size:.68rem;color:#ffffff8c}.app-profile-stat-value{display:block;margin-top:2px;font-size:.95rem;font-weight:700}.app-profile-fold{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.03);overflow:hidden}.app-profile-fold--quiet{border-color:#ffffff0f;background:transparent;opacity:.88}.app-profile-fold-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;cursor:pointer;font-size:.82rem;font-weight:700;color:#ffffffe0;-webkit-user-select:none;user-select:none}.app-profile-fold-summary::-webkit-details-marker{display:none}.app-profile-fold-summary:after{content:"▸";color:#fff6;font-size:.75rem;transition:transform .15s ease}.app-profile-fold[open]>.app-profile-fold-summary:after{transform:rotate(90deg)}.app-profile-fold-meta{margin-left:auto;margin-right:6px;font-size:.72rem;font-weight:600;color:#ffffff73}.app-profile-fold .app-profile-stats-games,.app-profile-fold .app-profile-leaderboard{padding:0 10px 10px}.app-profile-stats-games{display:flex;flex-direction:column;gap:6px}.app-profile-game-stat-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.04)}.app-profile-game-stat-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.app-profile-game-stat-meta strong{font-size:.8rem}.app-profile-game-stat-meta span{font-size:.7rem;color:#ffffff8c}.app-profile-game-stat-meta--right{text-align:right;flex-shrink:0}.app-profile-achievements{display:flex;flex-direction:column;gap:8px}.app-profile-achievements-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.app-profile-achievements-head .app-profile-section-title{margin:0}.app-profile-achievements-count{font-size:.75rem;font-weight:700;color:#ffd166d9}.app-profile-achievements-hint{margin:0;font-size:.72rem;color:#ffffff7a;line-height:1.35}.app-profile-achievements-list,.app-profile-leaderboard-list{display:flex;flex-direction:column;gap:6px}.app-profile-achievement{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05)}.app-profile-achievement.is-unlocked{border-color:#ffd16647;background:rgba(255,209,102,.06)}.app-profile-achievement.is-locked{opacity:.72;border-style:dashed}.app-profile-achievement-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.app-profile-achievement-meta strong{font-size:.82rem}.app-profile-achievement-meta span,.app-profile-achievement-tip{font-size:.72rem;color:#ffffff9e;line-height:1.35}.app-profile-achievement-tip{color:#ffd166b8}.app-profile-achievement-state,.app-profile-leaderboard-wins,.app-profile-leaderboard-rank,.app-profile-leaderboard-empty{font-size:.72rem;color:#ffffff8c}.app-profile-achievement-state{flex-shrink:0;padding-top:2px}.app-profile-leaderboard{display:flex;flex-direction:column;gap:8px;margin-top:2px}.app-profile-leaderboard-filters{display:flex;gap:4px}.app-profile-leaderboard-period{border:1px solid rgba(255,255,255,.1);border-radius:999px;background:transparent;color:#ffffffa6;font-size:.68rem;padding:3px 8px;cursor:pointer}.app-profile-leaderboard-period.is-active{background:rgba(255,255,255,.08);color:#ffffffe6}.app-profile-leaderboard-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:8px}.app-profile-leaderboard-row.is-me{background:rgba(255,210,120,.08)}.app-profile-leaderboard-rank{flex-shrink:0;width:1.8rem;font-weight:700;color:#ffffff8c}.app-profile-leaderboard-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:#ffffffbf}.app-profile-leaderboard-wins{flex-shrink:0;font-variant-numeric:tabular-nums}.app-profile-history-item-meta,.app-profile-history-detail-meta{display:flex;flex-direction:column;gap:4px}.app-profile-history-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.app-profile-filter-chip{min-height:30px;padding:4px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05);color:#ffffffc7;font:inherit;font-size:.74rem;cursor:pointer}.app-profile-filter-chip:hover{background:rgba(255,255,255,.1);color:#fff}.app-profile-filter-chip.is-active{border-color:#ffd16673;background:rgba(255,209,102,.16);color:#ffd166}.app-profile-history-group{display:flex;flex-direction:column;gap:8px}.app-profile-history-group+.app-profile-history-group{margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.app-profile-history-group-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px;font-size:.8rem;color:#ffffffe0}.app-profile-history-group-header span{color:#ffffff8c;font-size:.74rem}.app-profile-history-group-list{display:flex;flex-direction:column;gap:8px}.app-profile-history-item{width:100%;padding:12px;color:#fff;text-align:left;cursor:pointer}.app-profile-history-item-title{display:flex;justify-content:space-between;gap:10px;font-weight:700}.app-profile-history-item-subtitle,.app-profile-history-item-meta,.app-profile-history-detail-meta,.app-profile-history-player-meta,.app-profile-history-city-list{font-size:.78rem;color:#ffffffd6}.app-profile-history-item:hover,.app-profile-history-detail-close:hover{background:rgba(255,255,255,.08)}.app-profile-history-item.is-active{border-color:#ffd16666;background:rgba(255,209,102,.1)}.app-profile-history-detail{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:stretch;justify-content:center;padding:12px;background:rgba(5,8,16,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-profile-history-detail[hidden]{display:none!important}.app-profile-history-detail-sheet{display:flex;flex-direction:column;width:100%;max-height:100%;overflow:hidden;padding:12px;background:rgba(14,20,36,.98);box-shadow:0 10px 32px #00000073}.app-profile-history-detail-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-shrink:0}.app-profile-history-detail-title{margin:0;font-size:.95rem}.app-profile-history-detail-close{width:30px;height:30px;border:none;border-radius:8px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer}.app-profile-history-detail-body{display:flex;flex-direction:column;gap:12px;overflow:auto;min-height:0;padding-right:2px}.app-profile-history-players{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.app-profile-history-results-heading{margin:4px 0 0;font-size:.82rem;font-weight:700;color:#ffffffb8;letter-spacing:.02em}.app-profile-history-players.app-profile-history-results{gap:10px}.app-profile-history-player-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.app-profile-history-player-row.is-winner{border-color:#ffd16673;background:rgba(255,209,102,.08)}.app-profile-history-player-row.is-second{border-color:#b4c8dc59}.app-profile-history-player-row.is-third{border-color:#cd8c5a59}.app-profile-history-player-row.is-me{box-shadow:inset 0 0 0 1px #78b4ff59}.app-profile-history-player-rank{flex:0 0 auto;font-size:1.1rem;line-height:1.2;padding-top:2px}.app-profile-history-player-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.app-profile-history-player-score{flex:0 0 auto;font-size:1.15rem;font-weight:800;color:#ffd166}.app-profile-history-breakdown{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.72rem;color:#ffffff9e}.app-profile-history-city-block{margin-top:4px}.app-profile-history-city-block summary{cursor:pointer;color:#ffd166e6;font-size:.78rem;font-weight:600}.app-profile-history-city-list{margin:6px 0 0;padding-left:18px}.app-profile-provider-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04)}.app-profile-provider-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.app-profile-provider-label{font-size:.88rem;font-weight:600;color:#fff}.app-profile-provider-state{font-size:.76rem;color:#ffffff8c}.app-profile-provider-state.is-linked{color:#8fd694}.app-profile-provider-detail{font-size:.76rem;color:#ffffffb8;word-break:break-all}.app-profile-provider-actions{flex-shrink:0;display:flex;align-items:center}.app-profile-link-btn{min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:.78rem;cursor:pointer}.app-profile-provider-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:rgba(143,214,148,.18);color:#8fd694;font-weight:700}.app-profile-telegram-widget{min-width:120px;min-height:40px}.app-profile-email-form{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px;border-radius:10px;background:rgba(255,255,255,.04)}.app-profile-email-form[hidden]{display:none!important}.app-profile-email-actions{display:flex;gap:8px}.app-profile-email-actions button{flex:1;min-height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font:inherit;cursor:pointer}.app-profile-email-actions .primary{background:rgba(255,209,102,.18);border-color:#ffd16659}.app-profile-status{min-height:1.2em;margin:10px 0 0;font-size:.78rem;color:#ffffffad}.app-profile-status.err{color:#ff8a8a}html.viewport-phone-landscape .app-profile-floating{position:fixed;inset:auto;top:calc(var(--vp-y, 0px) + max(6px,var(--safe-top, 0px)));left:calc(var(--vp-x, 0px) + max(8px,var(--safe-left, 0px)));right:auto;width:calc(var(--vp-w, 100vw) - max(8px,var(--safe-left, 0px)) - max(8px,var(--safe-right, 0px)));height:auto;max-width:var(--vp-w, 100vw);max-height:var(--vp-h, 100dvh)}html.viewport-phone-landscape .app-profile-toolbar{gap:5px;width:100%;justify-content:space-between}html.viewport-phone-landscape .app-profile-toggle{width:clamp(30px,7vh,36px);height:clamp(30px,7vh,36px);min-width:0;min-height:0}html.viewport-phone-landscape .app-profile-panel{position:fixed;inset:auto;top:calc(var(--vp-y, 0px) + 4px);right:auto;bottom:auto;left:calc(var(--vp-x, 0px) + var(--vp-w, 100vw) - min(520px,calc(var(--vp-w, 100vw) - 8px)));width:min(520px,calc(var(--vp-w, 100vw) - 8px));height:calc(var(--vp-h, 100dvh) - 8px);min-width:0;min-height:0;max-width:calc(var(--vp-w, 100vw) - 8px);max-height:calc(var(--vp-h, 100dvh) - 8px);overflow:hidden;box-sizing:border-box}html.viewport-phone-landscape .app-profile-header{flex:0 0 auto;padding:6px 10px 3px}html.viewport-phone-landscape .app-profile-tabs{flex:0 0 auto;padding:3px 8px 0}html.viewport-phone-landscape .app-profile-tab{min-width:0;min-height:30px;padding:3px 6px;font-size:clamp(.68rem,1.8vw,.78rem)}html.viewport-phone-landscape .app-profile-body{flex:1 1 0;min-width:0;min-height:0;padding:7px 10px 9px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}html.viewport-phone-landscape .app-profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 420px){.app-profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}html.viewport-phone-landscape .app-profile-history-detail{padding:6px;overflow:hidden}html.viewport-phone-landscape .app-profile-history-detail-sheet{min-width:0;min-height:0;overflow:hidden}html.viewport-phone-landscape .app-profile-history-detail-body,html.viewport-phone-landscape .app-profile-history,html.viewport-phone-landscape .app-profile-providers{min-width:0}html.viewport-phone-landscape .app-profile-history-detail-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}html.viewport-phone-landscape.profile-shell .app-profile-floating{top:var(--vp-y, 0px);left:var(--vp-x, 0px);width:var(--vp-w, 100vw);height:var(--vp-h, 100dvh)}html.viewport-phone-landscape.profile-shell .app-profile-panel{top:var(--vp-y, 0px);left:var(--vp-x, 0px);width:var(--vp-w, 100vw);height:var(--vp-h, 100dvh);max-width:var(--vp-w, 100vw);max-height:var(--vp-h, 100dvh);border-radius:0}@media (min-width: 900px){html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-backdrop{background:rgba(4,8,18,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-panel{top:50%;left:50%;right:auto;width:min(820px,calc(100vw - 56px));max-height:min(860px,calc(100vh - 48px));border-radius:20px;border-color:#ffffff24;box-shadow:0 24px 80px #0000008c,0 0 0 1px #ffd1660f;transform:translate(-50%,calc(-50% + 10px)) scale(.985)}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-floating.app-profile-open .app-profile-panel{transform:translate(-50%,-50%) scale(1)}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-header{padding:18px 22px 8px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-title{font-size:1.2rem;letter-spacing:.01em}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-close{width:36px;height:36px;border-radius:10px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:10px 18px 0}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-tab{min-height:40px;font-size:.86rem;border-radius:10px 10px 0 0}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-body{padding:18px 22px 22px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-identity{gap:16px;margin-bottom:16px;padding:16px 18px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-avatar{width:64px;height:64px;font-size:1.35rem}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-identity-name{font-size:1.1rem}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-card{gap:10px;margin-bottom:14px;padding:16px;border-radius:16px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-card-title{font-size:.78rem;margin-bottom:4px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-toggle-row{padding:13px 14px;border-radius:12px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) #app-profile-pane-chat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) #app-profile-pane-chat .app-profile-card{margin-bottom:0;height:100%}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) #app-profile-pane-chat .app-profile-field-inline{display:grid;gap:6px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) #app-profile-pane-account .app-profile-card{max-width:420px}html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-status{margin-top:14px;font-size:.84rem}}@media (min-width: 1200px){html:not(.viewport-phone-landscape):not(.native-app):not(.profile-shell) .app-profile-panel{width:min(920px,calc(100vw - 72px));max-height:min(880px,calc(100vh - 56px))}}:root{--z-admin: 30000}#app-admin-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-admin);display:none;pointer-events:none}#app-admin-root.app-admin-open{display:block;pointer-events:auto}.app-admin-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(8,10,16,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-admin-shell{position:absolute;inset:clamp(8px,2vw,20px);display:grid;grid-template-columns:minmax(160px,220px) 1fr;grid-template-rows:auto 1fr;background:linear-gradient(160deg,#1a1f2e 0%,#12151f 55%,#0e1118 100%);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 24px 64px #00000073;overflow:hidden;color:#e8ecf4}.app-admin-header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.app-admin-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:.02em}.app-admin-close{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:inherit;font-size:1.25rem;cursor:pointer}.app-admin-close:hover{background:rgba(255,255,255,.12)}.app-admin-nav{display:flex;flex-direction:column;gap:4px;padding:12px;border-right:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}.app-admin-nav button{text-align:left;padding:10px 12px;border-radius:10px;border:none;background:transparent;color:#e8ecf4c7;font-size:.95rem;cursor:pointer}.app-admin-nav button.is-active,.app-admin-nav button:hover{background:rgba(255,255,255,.08);color:#fff}.app-admin-main{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.app-admin-section{flex:1;min-height:0;overflow:hidden;padding:12px 14px 14px}.app-admin-users{display:flex;flex-direction:column;height:100%;gap:10px;min-height:0}.app-admin-users-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.app-admin-search{flex:1 1 220px;min-width:160px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.28);color:inherit;font-size:.95rem}.app-admin-seg,.app-admin-chips{display:flex;flex-wrap:wrap;gap:4px}.app-admin-seg button,.app-admin-chips button{padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#e8ecf4cc;font-size:.82rem;cursor:pointer}.app-admin-seg button.is-active,.app-admin-chips button.is-active{background:rgba(110,168,254,.22);border-color:#6ea8fe73;color:#fff}.app-admin-users-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1.1fr);gap:12px}.app-admin-user-list{overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);padding:6px}.app-admin-user-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;border:none;border-radius:10px;background:transparent;color:inherit;cursor:pointer}.app-admin-user-row:hover,.app-admin-user-row.is-active{background:rgba(255,255,255,.08)}.app-admin-user-row.is-banned .app-admin-user-name{color:#ff8a80}.app-admin-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.app-admin-dot.is-online{background:#3dd68c}.app-admin-dot.is-offline{background:rgba(255,255,255,.28)}.app-admin-user-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.app-admin-user-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-admin-user-sub{font-size:.75rem;color:#e8ecf48c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-admin-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:6px;background:rgba(110,168,254,.2);color:#9ec5ff}.app-admin-badge--ban{background:rgba(231,76,60,.22);color:#ff8a80}.app-admin-user-detail{overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);padding:14px}.app-admin-detail-head h3{margin:0 0 4px;font-size:1.1rem}.app-admin-dl{margin:12px 0 0;display:flex;flex-direction:column;gap:8px}.app-admin-dl-row{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:8px;align-items:start}.app-admin-dl-row dt{margin:0;font-size:.78rem;color:#e8ecf48c}.app-admin-dl-row dd{margin:0;word-break:break-all}.app-admin-dl-row code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;background:transparent;color:#e8ecf4}.app-admin-detail-actions{margin-top:16px;display:flex;gap:8px}.app-admin-btn{padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(110,168,254,.18);color:#fff;font-weight:600;cursor:pointer}.app-admin-btn--danger{background:rgba(231,76,60,.22);border-color:#e74c3c73;color:#ff8a80}.app-admin-users-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.app-admin-users-footer button{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:inherit;cursor:pointer}.app-admin-users-footer button:disabled{opacity:.35;cursor:default}.app-admin-muted{margin:0;color:#e8ecf48c;font-size:.9rem}.app-admin-error{margin:0;color:#ff8a80}.app-profile-admin-btn{display:none;width:100%;margin-top:20px;padding:12px 16px;border-radius:12px;border:1px solid rgba(110,168,254,.45);background:rgba(110,168,254,.14);color:#9ec5ff;font-size:15px;font-weight:600;cursor:pointer}.app-profile-admin-btn.is-visible{display:block}@media (max-width: 820px){.app-admin-shell{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.app-admin-nav{flex-direction:row;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto}.app-admin-users-body{grid-template-columns:1fr;grid-template-rows:minmax(180px,40%) 1fr}}
