.display-scope{--display-font-min: .75rem;--display-space-sm: calc(12px * var(--display-scale));--display-space-md: calc(24px * var(--display-scale));--display-space-lg: calc(36px * var(--display-scale));--display-text-meta: calc(1.125rem * var(--display-scale) * var(--display-text-scale));--display-text-body: calc(1.5rem * var(--display-scale) * var(--display-text-scale));--display-text-title: calc(2rem * var(--display-scale) * var(--display-text-scale));--display-icon-md: calc(24px * var(--display-scale));--display-control-min: calc(48px * var(--display-scale));--ui-font-0_59rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_62rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_65rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_68rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_69rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_71rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_72rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_73rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_74rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_75rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_76rem: calc(.76rem * var(--display-type) * var(--display-text-scale));--ui-font-0_78rem: calc(.78rem * var(--display-type) * var(--display-text-scale));--ui-font-0_7rem: calc(.75rem * var(--display-type) * var(--display-text-scale));--ui-font-0_82rem: calc(.82rem * var(--display-type) * var(--display-text-scale));--ui-font-0_83rem: calc(.83rem * var(--display-type) * var(--display-text-scale));--ui-font-0_84rem: calc(.84rem * var(--display-type) * var(--display-text-scale));--ui-font-0_85rem: calc(.85rem * var(--display-type) * var(--display-text-scale));--ui-font-0_86rem: calc(.86rem * var(--display-type) * var(--display-text-scale));--ui-font-0_88rem: calc(.88rem * var(--display-type) * var(--display-text-scale));--ui-font-0_8rem: calc(.8rem * var(--display-type) * var(--display-text-scale));--ui-font-0_92rem: calc(.92rem * var(--display-type) * var(--display-text-scale));--ui-font-0_95rem: calc(.95rem * var(--display-type) * var(--display-text-scale));--ui-font-0_98rem: calc(.98rem * var(--display-type) * var(--display-text-scale));--ui-font-0_9rem: calc(.9rem * var(--display-type) * var(--display-text-scale));--ui-font-10px: calc(12px * var(--display-type) * var(--display-text-scale));--ui-font-11px: calc(12px * var(--display-type) * var(--display-text-scale));--ui-font-12px: calc(12px * var(--display-type) * var(--display-text-scale));--ui-font-13px: calc(13px * var(--display-type) * var(--display-text-scale));--ui-font-14px: calc(14px * var(--display-type) * var(--display-text-scale));--ui-font-15px: calc(15px * var(--display-type) * var(--display-text-scale));--ui-font-16px: calc(16px * var(--display-type) * var(--display-text-scale));--ui-font-17px: calc(17px * var(--display-type) * var(--display-text-scale));--ui-font-18px: calc(18px * var(--display-type) * var(--display-text-scale));--ui-font-19px: calc(19px * var(--display-type) * var(--display-text-scale));--ui-font-1_05rem: calc(1.05rem * var(--display-type) * var(--display-text-scale));--ui-font-1_15rem: calc(1.15rem * var(--display-type) * var(--display-text-scale));--ui-font-1_1rem: calc(1.1rem * var(--display-type) * var(--display-text-scale));--ui-font-1_25rem: calc(1.25rem * var(--display-type) * var(--display-text-scale));--ui-font-1_2rem: calc(1.2rem * var(--display-type) * var(--display-text-scale));--ui-font-1_35rem: calc(1.35rem * var(--display-type) * var(--display-text-scale));--ui-font-1_3rem: calc(1.3rem * var(--display-type) * var(--display-text-scale));--ui-font-1_45rem: calc(1.45rem * var(--display-type) * var(--display-text-scale));--ui-font-1_4rem: calc(1.4rem * var(--display-type) * var(--display-text-scale));--ui-font-1_55rem: calc(1.55rem * var(--display-type) * var(--display-text-scale));--ui-font-1_65rem: calc(1.65rem * var(--display-type) * var(--display-text-scale));--ui-font-1_6rem: calc(1.6rem * var(--display-type) * var(--display-text-scale));--ui-font-1_75rem: calc(1.75rem * var(--display-type) * var(--display-text-scale));--ui-font-1_8rem: calc(1.8rem * var(--display-type) * var(--display-text-scale));--ui-font-1_9rem: calc(1.9rem * var(--display-type) * var(--display-text-scale));--ui-font-1rem: calc(1rem * var(--display-type) * var(--display-text-scale));--ui-font-20px: calc(20px * var(--display-type) * var(--display-text-scale));--ui-font-21px: calc(21px * var(--display-type) * var(--display-text-scale));--ui-font-22px: calc(22px * var(--display-type) * var(--display-text-scale));--ui-font-23px: calc(23px * var(--display-type) * var(--display-text-scale));--ui-font-26px: calc(26px * var(--display-type) * var(--display-text-scale));--ui-font-2_25rem: calc(2.25rem * var(--display-type) * var(--display-text-scale));--ui-font-2_4rem: calc(2.4rem * var(--display-type) * var(--display-text-scale));--ui-font-2_8rem: calc(2.8rem * var(--display-type) * var(--display-text-scale));--ui-font-2rem: calc(2rem * var(--display-type) * var(--display-text-scale));--ui-font-31px: calc(31px * var(--display-type) * var(--display-text-scale));--ui-font-32_4px: calc(32.4px * var(--display-type) * var(--display-text-scale));--ui-font-36px: calc(36px * var(--display-type) * var(--display-text-scale));--ui-font-3_1rem: calc(3.1rem * var(--display-type) * var(--display-text-scale));--ui-font-3rem: calc(3rem * var(--display-type) * var(--display-text-scale));--ui-font-40px: calc(40px * var(--display-type) * var(--display-text-scale));--ui-font-47px: calc(47px * var(--display-type) * var(--display-text-scale));--ui-font-56px: calc(56px * var(--display-type) * var(--display-text-scale));--ui-font-9px: calc(12px * var(--display-type) * var(--display-text-scale));--ui-size-1000px: calc(1000px * var(--display-size));--ui-size-100px: calc(100px * var(--display-size));--ui-size-105px: calc(105px * var(--display-size));--ui-size-10px: calc(10px * var(--display-size));--ui-size-110px: calc(110px * var(--display-size));--ui-size-11px: calc(11px * var(--display-size));--ui-size-1200px: calc(1200px * var(--display-size));--ui-size-120px: calc(120px * var(--display-size));--ui-size-1280px: calc(1280px * var(--display-size));--ui-size-12px: calc(12px * var(--display-size));--ui-size-130px: calc(130px * var(--display-size));--ui-size-1380px: calc(1380px * var(--display-size));--ui-size-1440px: calc(1440px * var(--display-size));--ui-size-14px: calc(14px * var(--display-size));--ui-size-15px: calc(15px * var(--display-size));--ui-size-160px: calc(160px * var(--display-size));--ui-size-16px: calc(16px * var(--display-size));--ui-size-180px: calc(180px * var(--display-size));--ui-size-18px: calc(18px * var(--display-size));--ui-size-19px: calc(19px * var(--display-size));--ui-size-1_25rem: calc(1.25rem * var(--display-size));--ui-size-1px: calc(1px * var(--display-size));--ui-size-1rem: calc(1rem * var(--display-size));--ui-size-20px: calc(20px * var(--display-size));--ui-size-210px: calc(210px * var(--display-size));--ui-size-220px: calc(220px * var(--display-size));--ui-size-228px: calc(228px * var(--display-size));--ui-size-22px: calc(22px * var(--display-size));--ui-size-230px: calc(230px * var(--display-size));--ui-size-235px: calc(235px * var(--display-size));--ui-size-242px: calc(242px * var(--display-size));--ui-size-24px: calc(24px * var(--display-size));--ui-size-25px: calc(25px * var(--display-size));--ui-size-260px: calc(260px * var(--display-size));--ui-size-280px: calc(280px * var(--display-size));--ui-size-284px: calc(284px * var(--display-size));--ui-size-28px: calc(28px * var(--display-size));--ui-size-2px: calc(2px * var(--display-size));--ui-size-300px: calc(300px * var(--display-size));--ui-size-30px: calc(30px * var(--display-size));--ui-size-320px: calc(320px * var(--display-size));--ui-size-32px: calc(32px * var(--display-size));--ui-size-340px: calc(340px * var(--display-size));--ui-size-34px: calc(34px * var(--display-size));--ui-size-350px: calc(350px * var(--display-size));--ui-size-35px: calc(35px * var(--display-size));--ui-size-360px: calc(360px * var(--display-size));--ui-size-36px: calc(36px * var(--display-size));--ui-size-380px: calc(380px * var(--display-size));--ui-size-38px: calc(38px * var(--display-size));--ui-size-3px: calc(3px * var(--display-size));--ui-size-400px: calc(400px * var(--display-size));--ui-size-40px: calc(40px * var(--display-size));--ui-size-420px: calc(420px * var(--display-size));--ui-size-42px: calc(42px * var(--display-size));--ui-size-440px: calc(440px * var(--display-size));--ui-size-44px: calc(44px * var(--display-size));--ui-size-450px: calc(450px * var(--display-size));--ui-size-460px: calc(460px * var(--display-size));--ui-size-46px: calc(46px * var(--display-size));--ui-size-480px: calc(480px * var(--display-size));--ui-size-48px: calc(48px * var(--display-size));--ui-size-4px: calc(4px * var(--display-size));--ui-size-500px: calc(500px * var(--display-size));--ui-size-50px: calc(50px * var(--display-size));--ui-size-520px: calc(520px * var(--display-size));--ui-size-52px: calc(52px * var(--display-size));--ui-size-560px: calc(560px * var(--display-size));--ui-size-56px: calc(56px * var(--display-size));--ui-size-5px: calc(5px * var(--display-size));--ui-size-600px: calc(600px * var(--display-size));--ui-size-60px: calc(60px * var(--display-size));--ui-size-62px: calc(62px * var(--display-size));--ui-size-640px: calc(640px * var(--display-size));--ui-size-64px: calc(64px * var(--display-size));--ui-size-68px: calc(68px * var(--display-size));--ui-size-6px: calc(6px * var(--display-size));--ui-size-70px: calc(70px * var(--display-size));--ui-size-720px: calc(720px * var(--display-size));--ui-size-72px: calc(72px * var(--display-size));--ui-size-74px: calc(74px * var(--display-size));--ui-size-750px: calc(750px * var(--display-size));--ui-size-76px: calc(76px * var(--display-size));--ui-size-7px: calc(7px * var(--display-size));--ui-size-84px: calc(84px * var(--display-size));--ui-size-85px: calc(85px * var(--display-size));--ui-size-860px: calc(860px * var(--display-size));--ui-size-87px: calc(87px * var(--display-size));--ui-size-880px: calc(880px * var(--display-size));--ui-size-88px: calc(88px * var(--display-size));--ui-size-8px: calc(8px * var(--display-size));--ui-size-900px: calc(900px * var(--display-size));--ui-size-90px: calc(90px * var(--display-size));--ui-size-95px: calc(95px * var(--display-size));--ui-size-96px: calc(96px * var(--display-size));--ui-size-9px: calc(9px * var(--display-size));--ui-size-neg-10px: calc(-10px * var(--display-size));--ui-size-neg-12px: calc(-12px * var(--display-size));--ui-size-neg-130px: calc(-130px * var(--display-size));--ui-size-neg-14px: calc(-14px * var(--display-size));--ui-size-neg-1px: calc(-1px * var(--display-size));--ui-size-neg-20px: calc(-20px * var(--display-size));--ui-size-neg-24px: calc(-24px * var(--display-size));--ui-size-neg-2px: calc(-2px * var(--display-size));--ui-size-neg-3px: calc(-3px * var(--display-size));--ui-size-neg-4px: calc(-4px * var(--display-size));--ui-size-neg-5px: calc(-5px * var(--display-size));--ui-size-neg-64px: calc(-64px * var(--display-size));--ui-size-neg-6px: calc(-6px * var(--display-size));--ui-size-neg-84px: calc(-84px * var(--display-size));--ui-size-neg-9px: calc(-9px * var(--display-size));--radius-sm: calc(8px * var(--display-size));--radius-md: calc(14px * var(--display-size));--radius-lg: calc(20px * var(--display-size))}.display-viewport{width:100%;height:100vh;height:100dvh;overflow:hidden}.display-viewport[data-display-enabled=true]{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);display:grid;place-items:center}.display-frame{width:100%;height:100%;min-width:0;min-height:0}.display-frame[data-display-active=false]{display:contents}.display-frame[data-display-active=true]{overflow:hidden}.display-frame[data-display-active=true]>.app-container{height:100%;max-height:100%;padding:0}.display-scope{font-size:calc(1rem * var(--display-type) * var(--display-text-scale))}.display-scope .main-content{max-width:none;margin:0;min-width:0}.display-scope .app-header{min-width:0}.display-scope .lobby-column-title{font-size:calc(1.5rem * var(--display-scale) * var(--display-text-scale))}.display-scope .lobby-col,.display-scope .player-waiting-col,.display-scope .board-waiting-col{min-width:0}.display-scope .lobby-column-scroll>*,.display-scope .board-player-item,.display-scope .player-waiting-item{flex-shrink:0}.display-scope .admin-dashboard{max-width:none!important;margin:0!important;padding:0!important}.display-scope .admin-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.display-scope .admin-metric-tile{min-width:0;min-height:calc(160px * var(--display-scale))}.display-scope .admin-dashboard>.admin-overview{flex:1;min-height:calc(400px * var(--display-scale))}.display-scope .admin-overview-panels{min-height:0}.display-scope .admin-navigation{position:sticky;top:0;z-index:3;background:var(--bg-app)}.display-scope .viewport-overlay{padding:calc(env(safe-area-inset-top,0px) + 16px * var(--display-scale)) calc(env(safe-area-inset-right,0px) + 16px * var(--display-scale)) calc(env(safe-area-inset-bottom,0px) + 16px * var(--display-scale)) calc(env(safe-area-inset-left,0px) + 16px * var(--display-scale))!important}.display-scope .viewport-modal-card{max-height:100%;overflow-y:auto}.display-scope .legal-dialog{width:min(calc(1300px * var(--display-scale)),var(--dialog-width));height:min(calc(960px * var(--display-scale)),var(--dialog-height))}.display-scope .brand-wordmark{font-size:calc(1.25rem * var(--display-type))}.display-scope .brand-mark-large .brand-wordmark{font-size:calc(2.7rem * var(--display-type))}.display-scope[data-large-text=true] .admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.display-scope[data-large-text=true] .lobby-column-title{flex-wrap:wrap}.display-scope[data-large-text=true] .board-waiting-col-info{overflow-y:auto}.display-scope[data-large-text=true] .player-waiting-start-btn{height:auto}.display-scope .ludo-2col-wrapper{height:100%;min-height:0;max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:stretch}.display-scope .ludo-left-col{width:100%;height:100%;min-height:0;max-height:100%}.display-scope .ludo-right-col{min-width:0;min-height:0;height:100%;overflow:hidden}.display-scope .moroccan-board-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);height:100%;min-height:0}.display-scope .moroccan-sidebar,.display-scope .moroccan-board-main{min-width:0;min-height:0}.display-scope .bs-command-board{grid-template-rows:minmax(0,34%) minmax(0,1fr)}.display-scope .bs-command-phase .bs-round-pill{font-size:calc(23px * var(--display-scale) * var(--display-text-scale))}.display-scope .bs-command-player strong{font-size:calc(26px * var(--display-scale) * var(--display-text-scale))}.display-scope .bs-last-shot,.display-scope .bs-command-player>span{font-size:calc(18px * var(--display-scale) * var(--display-text-scale))}.display-scope .bs-command-card .bs-contact{height:auto;min-height:calc(28px * var(--display-scale))}.display-scope .bs-command-card .bs-contact-heading,.display-scope .bs-command-chat p{font-size:calc(18px * var(--display-scale) * var(--display-text-scale))}.display-scope .bs-cannon{width:calc(88px * var(--display-size))}.display-scope .bs-cannon-dome>span{font-size:calc(47px * var(--display-size))}.display-scope .bs-command-fields{gap:calc(28px * var(--display-scale))}.display-scope .bs-cannon-ball{width:calc(14px * var(--display-scale))}.display-scope[data-large-text=true] .bs-command-card{overflow-y:auto}@media(max-width:1279px),(max-height:719px){.display-viewport[data-display-enabled=true]{display:block;place-items:normal;padding:0}}.display-frame>.app-container{width:100%;min-width:0}.display-scope :where(button,input,textarea,select){font-size:inherit}.display-scope{line-height:1.4}.display-scope :where(h1,h2,h3,h4){line-height:1.2}.display-scope :where(button,input,select){line-height:1.25}.display-scope .lobby-column-title{flex:1;min-width:0}.display-scope :is(button,input,select,textarea),.display-scope .session-chat-sidebar{transition-property:background-color,border-color,color,opacity,filter,box-shadow,transform}.display-scope .admin-dialog-overlay{max-height:100dvh;overflow-y:auto}.display-scope .admin-dialog-overlay>.glass-card{max-height:100%;overflow-y:auto}.display-scope[data-large-text=true] .app-header{flex-wrap:wrap}:root{--pd-safe-top: env(safe-area-inset-top, 0px);--pd-safe-right: env(safe-area-inset-right, 0px);--pd-safe-bottom: env(safe-area-inset-bottom, 0px);--pd-safe-left: env(safe-area-inset-left, 0px);--pd-viewport-height: 100vh}@supports (height: 100dvh){:root{--pd-viewport-height: 100dvh}}.legal-dialog{--dialog-gap: var(--ui-size-12px, 12px);--dialog-height: calc(var(--pd-viewport-height) - var(--pd-safe-top) - var(--pd-safe-bottom) - 2 * var(--dialog-gap));--dialog-width: calc(100vw - var(--pd-safe-left) - var(--pd-safe-right) - 2 * var(--dialog-gap));position:fixed;inset:calc(var(--pd-safe-top) + var(--dialog-gap)) calc(var(--pd-safe-right) + var(--dialog-gap)) calc(var(--pd-safe-bottom) + var(--dialog-gap)) calc(var(--pd-safe-left) + var(--dialog-gap));margin:auto;width:min(var(--ui-size-880px, 880px),var(--dialog-width));height:min(var(--ui-size-900px, 900px),var(--dialog-height));max-width:var(--dialog-width);max-height:var(--dialog-height);padding:0;border:1px solid #526078;border-radius:18px;background:#0b1020;color:#e7ecf5;box-shadow:0 var(--ui-size-24px, 24px) var(--ui-size-90px, 90px) #0009;overflow:hidden}.legal-dialog[open]{display:flex;flex-direction:column}.legal-dialog::backdrop{background:#04070fe0;-webkit-backdrop-filter:blur(var(--ui-size-8px, 8px));backdrop-filter:blur(var(--ui-size-8px, 8px))}.legal-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-size-8px, 8px);padding:var(--ui-size-4px, 4px) var(--ui-size-12px, 12px);border-bottom:1px solid #ffffff20;flex-shrink:0;font-size:var(--ui-font-0_85rem, .85rem)}.legal-dialog-bar button{flex-shrink:0;min-width:var(--ui-size-48px, 48px);min-height:var(--ui-size-48px, 48px);background:#ffffff0a;color:#fff;border:1px solid #ffffff20;border-radius:10px;cursor:pointer}.legal-dialog iframe{width:100%;flex:1;min-height:0;border:0}.viewport-overlay{height:var(--pd-viewport-height)!important;padding:calc(var(--pd-safe-top) + var(--ui-size-8px, 8px)) calc(var(--pd-safe-right) + var(--ui-size-12px, 12px)) calc(var(--pd-safe-bottom) + var(--ui-size-8px, 8px)) calc(var(--pd-safe-left) + var(--ui-size-12px, 12px))!important;overflow:hidden!important}.viewport-overlay>.viewport-modal-card{max-height:100%!important;min-height:0}.viewport-modal-card>.modal-card{min-height:0}.app-header{padding:var(--ui-size-4px, 4px) var(--ui-size-16px, 16px);gap:var(--ui-size-12px, 12px)}.header-brand-area{display:flex;align-items:center;gap:var(--ui-size-10px, 10px);flex-wrap:wrap}.header-brand-group{display:flex;flex-direction:column;align-items:flex-start}.header-brand-group .header-logo-btn{min-height:var(--ui-size-24px, 24px);padding:0 var(--ui-size-2px, 2px);gap:var(--ui-size-6px, 6px);line-height:1}.header-legal-links{display:flex;gap:var(--ui-size-4px, 4px);align-items:center;font-size:var(--ui-font-0_68rem, .68rem);line-height:1.1;white-space:nowrap}.header-legal-links a{color:#b6bfd1;text-decoration:none;display:inline-flex;align-items:center;min-height:var(--ui-size-24px, 24px)}.header-legal-links a:hover{text-decoration:underline;color:#fff}.legal-info-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--ui-size-6px, 6px) var(--ui-size-20px, 20px);padding:var(--ui-size-8px, 8px) var(--ui-size-20px, 20px);border-top:1px solid var(--border-glass)}.legal-info-links a{display:inline-flex;align-items:center;min-height:var(--ui-size-48px, 48px);color:#c4b5fd;font-size:var(--ui-font-0_86rem, .86rem)}.header-legal-links a:focus-visible,.legal-info-links a:focus-visible,.legal-dialog button:focus-visible{outline:3px solid #67e8f9;outline-offset:3px}@media(max-width:640px){.app-header{padding:var(--ui-size-3px, 3px) var(--ui-size-10px, 10px);gap:var(--ui-size-6px, 6px)}.app-header .header-mobile-trigger{margin-left:auto;gap:var(--ui-size-4px, 4px);flex-shrink:0}.header-mobile-trigger .header-players-btn,.header-mobile-trigger .header-login-btn{padding-inline:var(--ui-size-6px, 6px)!important}.header-mobile-trigger .header-profile-btn{max-width:var(--ui-size-110px, 110px)}.header-profile-btn>span{min-width:0}.legal-dialog{--dialog-gap: var(--ui-size-8px, 8px);border-radius:12px}.legal-dialog-bar{padding:var(--ui-size-4px, 4px) var(--ui-size-8px, 8px);font-size:var(--ui-font-0_76rem, .76rem)}}@media(max-width:359px){.app-header{padding-inline:var(--ui-size-8px, 8px)}.header-mobile-trigger .header-login-label{display:none}.header-mobile-trigger .header-profile-btn{max-width:var(--ui-size-72px, 72px)}}.header-brand-area{min-width:0}.header-brand-group{flex-shrink:0}.header-logo-btn:focus-visible{outline:3px solid #67e8f9;outline-offset:2px}@media(max-width:640px){.app-header{flex-wrap:wrap}.header-brand-area{flex:0 0 auto}.header-logo-btn .brand-wordmark{font-size:var(--ui-font-1_15rem, 1.15rem)}}@media(max-width:359px){.header-logo-btn .brand-wordmark{font-size:var(--ui-font-1_05rem, 1.05rem)}.header-mobile-trigger .header-profile-btn{max-width:var(--ui-size-62px, 62px)}}.game-card-topline{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--ui-size-6px, 6px);margin-bottom:var(--ui-size-8px, 8px);min-height:var(--ui-size-36px, 36px)}.game-card-icon{justify-self:start}.game-card-topline>.card-player-count-badge{justify-self:end;white-space:nowrap}.card-games-played-badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-size-5px, 5px);padding:var(--ui-size-3px, 3px) var(--ui-size-8px, 8px);border:1px solid var(--border-glass);border-radius:var(--radius-sm);background:var(--bg-glass);color:var(--text-secondary);font-size:var(--ui-font-0_75rem, .75rem);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.card-games-played-badge>svg{flex-shrink:0}.lobby-sidebar{display:flex;flex-direction:column;min-height:0;height:100%;width:100%}.sidebar-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-size-6px, 6px);padding:0 0 var(--ui-size-8px, 8px);flex-shrink:0}.sidebar-tabs .admin-tab-btn{justify-content:center;gap:var(--ui-size-6px, 6px);min-height:var(--ui-size-36px, 36px);padding:var(--ui-size-6px, 6px) var(--ui-size-12px, 12px);font-size:var(--ui-font-0_85rem, .85rem);line-height:1.2}.sidebar-tabs .admin-tab-btn svg{flex-shrink:0}.sidebar-tabs .admin-tab-btn:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.ranking-panel{display:flex;flex-direction:column;min-height:0;flex:1;padding:0 0 var(--ui-size-8px, 8px)}.ranking-panel .sidebar-tabs{padding-bottom:var(--ui-size-6px, 6px)}.ranking-panel .admin-tab-btn{min-height:var(--ui-size-34px, 34px);padding:var(--ui-size-5px, 5px) var(--ui-size-10px, 10px);font-size:var(--ui-font-0_8rem, .8rem)}.ranking-panel select{width:100%;min-height:var(--ui-size-34px, 34px);padding:var(--ui-size-6px, 6px) var(--ui-size-10px, 10px);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-glass);font-size:var(--ui-font-0_8rem, .8rem)}.ranking-panel p{margin:var(--ui-size-8px, 8px) 0;color:var(--text-secondary);font-size:var(--ui-font-0_85rem, .85rem)}.ranking-list{list-style:none;margin:var(--ui-size-6px, 6px) 0 0;padding:0;overflow-y:auto;min-height:0}.ranking-list li{display:flex;align-items:center;gap:var(--ui-size-8px, 8px);padding:var(--ui-size-9px, 9px) var(--ui-size-4px, 4px);border-bottom:1px solid var(--border-glass)}.ranking-place{min-width:var(--ui-size-24px, 24px);color:var(--text-secondary)}.ranking-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moroccan-board-layout{display:grid;grid-template-columns:minmax(var(--ui-size-260px, 260px),1fr) minmax(0,2fr);gap:var(--ui-size-18px, 18px);width:100%;height:100%;min-height:0;padding:var(--ui-size-4px, 4px);box-sizing:border-box}.moroccan-sidebar{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:var(--ui-size-12px, 12px)!important}.moroccan-tabs{display:flex;gap:var(--ui-size-6px, 6px);flex-shrink:0;border-bottom:1px solid var(--border-glass);padding-bottom:var(--ui-size-10px, 10px)}.moroccan-tabs button{flex:1;display:flex;justify-content:center;align-items:center;gap:var(--ui-size-7px, 7px);min-height:var(--ui-size-44px, 44px);border:0;border-radius:10px;background:transparent;color:var(--text-secondary);font-weight:700;cursor:pointer}.moroccan-tabs button[aria-selected=true]{background:#8b5cf633;color:#e9d5ff}.moroccan-status{display:flex;flex-direction:column;gap:var(--ui-size-14px, 14px);overflow:auto;padding:var(--ui-size-14px, 14px) var(--ui-size-2px, 2px);min-height:0}.moroccan-eyebrow{font-size:var(--ui-font-0_69rem, .69rem);font-weight:800;letter-spacing:.09em;color:#b7afda;display:flex;justify-content:space-between;gap:var(--ui-size-8px, 8px)}.moroccan-controller h2{font-size:var(--ui-font-1_45rem, 1.45rem);line-height:1.2;margin:0}.moroccan-teams{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-size-10px, 10px)}.moroccan-teams>div{padding:var(--ui-size-12px, 12px);background:#ffffff07;border:1px solid #ffffff12;border-radius:13px}.moroccan-teams span{display:block;color:#cbd5e1;font-size:var(--ui-font-0_78rem, .78rem)}.moroccan-teams strong{display:block;font-size:var(--ui-font-1_9rem, 1.9rem);margin:var(--ui-size-2px, 2px) 0}.moroccan-teams small{font-size:var(--ui-font-1rem, 1rem);color:#94a3b8}.moroccan-progress{display:flex;height:var(--ui-size-5px, 5px);background:#ffffff14;border-radius:10px;overflow:hidden}.moroccan-progress i{display:block;height:100%;transition:width .3s}.moroccan-players{display:flex;flex-direction:column;gap:var(--ui-size-8px, 8px)}.moroccan-player-row{display:flex;align-items:center;gap:var(--ui-size-9px, 9px);padding:var(--ui-size-10px, 10px) var(--ui-size-8px, 8px);border:1px solid #ffffff12;border-radius:10px;background:#ffffff04;min-width:0}.moroccan-turn-order{display:grid;place-items:center;flex-shrink:0;width:var(--ui-size-22px, 22px);height:var(--ui-size-28px, 28px);border-radius:6px;color:#94a3b8;font-size:var(--ui-font-0_85rem, .85rem);font-weight:800}.moroccan-turn-order.is-starter{color:#fcd34d;background:#fcd34d16;border:1px solid #fcd34d50}.moroccan-player-row.is-active{background:#ffffff0b;box-shadow:0 0 0 var(--ui-size-1px, 1px) #ffffff25}.moroccan-player-info{min-width:0;flex:1}.moroccan-player-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-font-0_88rem, .88rem)}.moroccan-player-row small{display:block;font-size:var(--ui-font-0_68rem, .68rem);color:#abbacf;margin-top:var(--ui-size-3px, 3px)}.moroccan-player-count{text-align:right;flex-shrink:0}.moroccan-player-count b{font-size:var(--ui-font-1rem, 1rem)}.moroccan-last-card{width:var(--ui-size-34px, 34px);height:var(--ui-size-46px, 46px);flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ui-size-1px, 1px);border:1px solid #fff6;border-radius:6px;background:#f2eee8;color:#19263b;box-shadow:0 var(--ui-size-2px, 2px) var(--ui-size-5px, 5px) #0003;line-height:1}.moroccan-last-card-rank{font-size:var(--ui-font-1_1rem, 1.1rem);font-weight:800}.moroccan-last-card-suit{font-size:var(--ui-font-1_2rem, 1.2rem)}.moroccan-last-card.is-red{color:#b6264e}.moroccan-last-card.is-empty{background:#ffffff04;color:#7b8ba4;border:1px dashed #ffffff25;box-shadow:none}.moroccan-legend{display:flex;gap:var(--ui-size-8px, 8px);color:#b9c5d8;font-size:var(--ui-font-0_73rem, .73rem);align-items:flex-start}.moroccan-legend svg{color:#fcd34d;flex-shrink:0}.moroccan-log{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--ui-size-9px, 9px);font-size:var(--ui-font-0_76rem, .76rem);color:#a6b4ca}.moroccan-log li:first-child{color:#e2e8f0}.moroccan-log li{border-top:1px solid #ffffff09;padding-top:var(--ui-size-9px, 9px)}.moroccan-board-main{display:flex;flex-direction:column;min-height:0;min-width:0}.moroccan-round-summary{display:flex;flex-direction:column;gap:var(--ui-size-8px, 8px);padding:0 var(--ui-size-2px, 2px) var(--ui-size-4px, 4px)}.moroccan-round-summary p{margin:0;font-size:var(--ui-font-0_9rem, .9rem);font-weight:700;line-height:1.4;color:#e2e8f0;overflow-wrap:anywhere}.moroccan-board-surface{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;overflow:hidden;background:radial-gradient(ellipse at center,#26304a55,transparent 70%);border-radius:24px}.moroccan-svg{display:block;width:100%;height:100%;max-height:100%;aspect-ratio:1;overflow:visible}.moroccan-controller{width:100%;max-width:var(--ui-size-640px, 640px);margin:0 auto;display:flex;flex-direction:column;gap:var(--ui-size-12px, 12px);padding:var(--ui-size-12px, 12px) var(--ui-size-16px, 16px) var(--ui-size-16px, 16px);box-sizing:border-box}.moroccan-controller-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-size-12px, 12px)}.moroccan-icon-btn{width:var(--ui-size-48px, 48px);height:var(--ui-size-48px, 48px);flex-shrink:0;background:#ffffff08;color:#d8d5ec;border:1px solid #ffffff1c;border-radius:12px;display:grid;place-items:center;cursor:pointer}.moroccan-controller-players{list-style:none;display:flex;align-items:center;gap:var(--ui-size-8px, 8px);margin:0;padding:0}.moroccan-seat-avatar{position:relative;display:grid;place-items:center;width:var(--ui-size-48px, 48px);height:var(--ui-size-48px, 48px);border:2px solid transparent;border-radius:50%}.moroccan-seat-avatar.is-active{border-color:#fbbf24;box-shadow:0 0 0 var(--ui-size-1px, 1px) #fbbf2440,0 0 var(--ui-size-12px, 12px) #fbbf2425}.moroccan-starter-flag{position:absolute;bottom:var(--ui-size-neg-2px, -2px);left:var(--ui-size-neg-2px, -2px);width:var(--ui-size-19px, 19px);height:var(--ui-size-19px, 19px);display:grid;place-items:center;border-radius:50%;border:1px solid #94a3b8;background:#182336;color:#f1f5f9}.moroccan-context-note{margin:0;color:#cbd5e1;font-size:var(--ui-font-0_78rem, .78rem);line-height:1.4}.moroccan-visually-hidden{position:absolute;width:var(--ui-size-1px, 1px);height:var(--ui-size-1px, 1px);padding:0;margin:var(--ui-size-neg-1px, -1px);overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.moroccan-hand-heading{display:flex;justify-content:space-between;align-items:center}.moroccan-hand-heading strong{font-size:var(--ui-font-0_83rem, .83rem)}.moroccan-hand-heading small{font-size:var(--ui-font-0_71rem, .71rem);color:#9ba7bc}.moroccan-hand{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--ui-size-7px, 7px);min-height:var(--ui-size-96px, 96px)}.moroccan-card{min-width:0;min-height:var(--ui-size-96px, 96px);padding:var(--ui-size-6px, 6px) var(--ui-size-3px, 3px) var(--ui-size-7px, 7px);border:2px solid transparent;border-radius:10px;background:#f2eee8;color:#19263b;display:flex;align-items:center;flex-direction:column;justify-content:space-between;box-shadow:0 var(--ui-size-4px, 4px) var(--ui-size-9px, 9px) #0003;cursor:pointer;transition:transform .15s,border-color .15s;touch-action:manipulation}.moroccan-card b{font-size:var(--ui-font-1_2rem, 1.2rem);line-height:1;align-self:flex-start;margin-left:var(--ui-size-5px, 5px)}.moroccan-card>span{font-size:var(--ui-font-1_65rem, 1.65rem);line-height:1}.moroccan-card small{font-size:var(--ui-font-0_59rem, .59rem);font-weight:800;white-space:nowrap}.moroccan-card.is-red{color:#b6264e}.moroccan-card.is-unavailable{background:#c5c3c7}.moroccan-card.is-selected{border-color:#c084fc;box-shadow:0 0 0 var(--ui-size-2px, 2px) #c084fc55;transform:translateY(var(--ui-size-neg-3px, -3px))}.moroccan-selection{border:1px solid #ffffff12;border-radius:14px;padding:var(--ui-size-12px, 12px);background:#ffffff03;min-height:var(--ui-size-95px, 95px)}.moroccan-selection-heading{display:flex;justify-content:space-between;font-size:var(--ui-font-0_86rem, .86rem);margin-bottom:var(--ui-size-10px, 10px)}.moroccan-selection-heading span{font-size:var(--ui-font-0_73rem, .73rem);color:#aab5ca}.moroccan-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-size-8px, 8px);max-height:var(--ui-size-320px, 320px);overflow-y:auto;overscroll-behavior:contain}.moroccan-action{display:flex;align-items:center;gap:var(--ui-size-8px, 8px);text-align:left;min-height:var(--ui-size-70px, 70px);padding:var(--ui-size-8px, 8px);border:1px solid #a78bfa45;border-radius:10px;background:#8b5cf616;color:#f1f5f9;cursor:pointer;touch-action:manipulation}.moroccan-action svg{flex-shrink:0;color:#c4b5fd}.moroccan-figure-badge{display:block;flex-shrink:0;width:var(--ui-size-52px, 52px);height:var(--ui-size-52px, 52px)}.moroccan-action>span{min-width:0;flex:1;overflow-wrap:anywhere}.moroccan-action strong{display:block;font-size:var(--ui-font-0_82rem, .82rem);line-height:1.3}.moroccan-action small{display:block;font-size:var(--ui-font-0_72rem, .72rem);color:#a6b5ce;line-height:1.25;margin-top:var(--ui-size-4px, 4px)}.moroccan-action:hover{background:#8b5cf62d}.moroccan-action:disabled,.moroccan-card:disabled,.moroccan-stop:disabled,.moroccan-first-figure button:disabled{opacity:.5;cursor:wait}.moroccan-hint{margin:var(--ui-size-4px, 4px) 0;color:#a6b4c9;font-size:var(--ui-font-0_83rem, .83rem);line-height:1.5}.moroccan-first-figure{display:grid;grid-template-columns:repeat(4,minmax(var(--ui-size-48px, 48px),var(--ui-size-56px, 56px)));gap:var(--ui-size-6px, 6px)}.moroccan-swap-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--ui-size-8px, 8px);margin:var(--ui-size-12px, 12px) 0 var(--ui-size-8px, 8px);font-size:var(--ui-font-0_76rem, .76rem);color:#cbd5e1}.moroccan-swap-heading small{font-size:var(--ui-font-0_69rem, .69rem);color:#94a3b8;white-space:nowrap}.moroccan-swap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--ui-size-52px, 52px),1fr));gap:var(--ui-size-6px, 6px)}.moroccan-figure-choice{position:relative;display:grid;place-items:center;min-width:0;min-height:var(--ui-size-48px, 48px);aspect-ratio:1;padding:var(--ui-size-2px, 2px);border-radius:10px;border:1px solid #a78bfa45;background:#8b5cf616;color:#ddd6fe;cursor:pointer;touch-action:manipulation}.moroccan-figure-choice .moroccan-figure-badge{width:100%;height:auto;max-width:var(--ui-size-56px, 56px)}.moroccan-figure-choice:hover{background:#8b5cf62d}.moroccan-figure-choice[aria-pressed=true]{border-color:#c4b5fd;background:#8b5cf64d;box-shadow:inset 0 0 0 var(--ui-size-1px, 1px) #c4b5fd}.moroccan-figure-choice:focus-visible{outline:2px solid #e9d5ff;outline-offset:2px}.moroccan-figure-choice:disabled{opacity:.5;cursor:wait}.moroccan-figure-selected{position:absolute;right:var(--ui-size-3px, 3px);bottom:var(--ui-size-3px, 3px);padding:var(--ui-size-1px, 1px);border-radius:50%;background:#ddd6fe;color:#4c1d95;pointer-events:none}.moroccan-confirmed{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-size-8px, 8px);padding:var(--ui-size-16px, 16px);border-radius:14px;background:#10b9810d;border:1px solid #10b9813d}.moroccan-confirmed svg{color:#34d399}.moroccan-confirmed p{width:100%;margin:0;font-size:var(--ui-font-0_82rem, .82rem);color:#b5c5d6;line-height:1.4}.moroccan-seven{padding:var(--ui-size-12px, 12px);border:1px solid #a78bfa50;background:#8b5cf609;border-radius:14px}.moroccan-seven-heading{display:flex;align-items:center;gap:var(--ui-size-12px, 12px);min-height:var(--ui-size-40px, 40px);margin-bottom:var(--ui-size-10px, 10px)}.moroccan-seven-heading>strong{min-width:1ch;font-size:var(--ui-font-2_25rem, 2.25rem);font-variant-numeric:tabular-nums;color:#c4b5fd;line-height:1}.moroccan-seven-heading small{display:block;font-size:var(--ui-font-0_71rem, .71rem);color:#a9b4c8;margin-top:var(--ui-size-3px, 3px)}.moroccan-seven-grid{display:grid;grid-template-columns:repeat(4,minmax(var(--ui-size-48px, 48px),var(--ui-size-64px, 64px)));gap:var(--ui-size-8px, 8px);align-items:start}.moroccan-seven-protection{margin-top:var(--ui-size-12px, 12px);padding-top:var(--ui-size-10px, 10px);border-top:1px solid #ffffff16}.moroccan-seven-protection p{display:flex;align-items:center;gap:var(--ui-size-6px, 6px);margin-bottom:var(--ui-size-8px, 8px);font-size:var(--ui-font-0_72rem, .72rem);color:#cbd5e1}.moroccan-seven-protection p svg{flex-shrink:0;color:#fcd34d}.moroccan-stop{width:100%;min-height:var(--ui-size-48px, 48px);border:1px solid #ffffff22;border-radius:10px;background:#ffffff07;color:#cbd5e1;font-weight:700;margin-top:var(--ui-size-10px, 10px);cursor:pointer}.moroccan-received{font-size:var(--ui-font-0_73rem, .73rem);color:#a4b3c9;text-align:center}.moroccan-received strong{color:#ddd6fe}.moroccan-quick-rules{font-size:var(--ui-font-0_75rem, .75rem);color:#94a3b8;padding:var(--ui-size-6px, 6px) 0}.moroccan-quick-rules summary{min-height:var(--ui-size-32px, 32px);cursor:pointer}.moroccan-quick-rules p{line-height:1.5;margin-top:var(--ui-size-8px, 8px)}.moroccan-winner{color:#fcd34d;text-align:center;padding:var(--ui-size-20px, 20px) var(--ui-size-14px, 14px);border:1px solid #fcd34d40;border-radius:15px;background:#fcd34d09}.moroccan-winner svg{margin:auto}.moroccan-winner h3,.moroccan-winner h2{margin:var(--ui-size-10px, 10px) 0;font-size:var(--ui-font-1_2rem, 1.2rem)}.moroccan-winner p{color:#fef3c7;margin:var(--ui-size-10px, 10px) 0}.moroccan-winner small{color:#adbacd}.moroccan-winner button{margin:var(--ui-size-14px, 14px) auto 0;display:flex;align-items:center;gap:var(--ui-size-8px, 8px)}.moroccan-error{display:flex;justify-content:space-between;align-items:center;gap:var(--ui-size-8px, 8px);padding:var(--ui-size-10px, 10px);border:1px solid #fb718566;border-radius:10px;background:#fb718510;color:#fecdd3;font-size:var(--ui-font-0_78rem, .78rem)}.moroccan-error button{background:none;border:0;color:inherit;min-height:var(--ui-size-32px, 32px);cursor:pointer}.moroccan-board-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;background:#101827;color:#f1f5f9;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));box-sizing:border-box;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:var(--ui-size-12px, 12px);overscroll-behavior:contain}.moroccan-board-overlay[open]{display:grid}.moroccan-board-overlay::backdrop{background:#101827}.moroccan-preview-board{min-width:0;min-height:0;width:100%;height:100%;display:flex;justify-content:center;overflow:hidden}.moroccan-preview-board .moroccan-svg{min-height:0;max-width:var(--ui-size-900px, 900px)}.moroccan-close{display:flex;align-items:center;justify-content:center;gap:var(--ui-size-8px, 8px);min-height:var(--ui-size-48px, 48px);border:1px solid #ffffff30;background:#ffffff10;color:#f1f5f9;border-radius:12px;padding:var(--ui-size-8px, 8px) var(--ui-size-14px, 14px);cursor:pointer}.moroccan-close:focus-visible,.moroccan-icon-btn:focus-visible{outline:2px solid #c4b5fd;outline-offset:2px}.moroccan-board-overlay p{margin:0;font-size:var(--ui-font-0_76rem, .76rem);line-height:1.4;color:#b2bfd1;text-align:center;max-width:var(--ui-size-500px, 500px)}@media(max-width:1100px){.moroccan-board-layout{gap:var(--ui-size-10px, 10px);grid-template-columns:minmax(var(--ui-size-235px, 235px),1fr) minmax(0,2fr)}.moroccan-status{gap:var(--ui-size-10px, 10px)}.moroccan-player-row{padding:var(--ui-size-7px, 7px)}.moroccan-teams>div{padding:var(--ui-size-8px, 8px)}}@media(max-width:640px){.moroccan-controller{padding:var(--ui-size-8px, 8px) var(--ui-size-6px, 6px) var(--ui-size-12px, 12px);gap:var(--ui-size-10px, 10px)}.moroccan-controller h2{font-size:var(--ui-font-1_1rem, 1.1rem)}.moroccan-action-grid{grid-template-columns:1fr;max-height:var(--ui-size-320px, 320px)}.moroccan-card,.moroccan-hand{min-height:var(--ui-size-87px, 87px)}.moroccan-board-layout{display:flex;flex-direction:column;height:auto}.moroccan-sidebar{max-height:var(--ui-size-350px, 350px)}.moroccan-board-surface{min-height:var(--ui-size-340px, 340px)}.moroccan-board-main{aspect-ratio:1}}@media(prefers-reduced-motion:reduce){.moroccan-card,.moroccan-progress i{transition:none}}@media(max-width:768px){.player-session-layout:has(.moroccan-controller){height:100%;min-height:0}.player-content-container:has(>.moroccan-controller){height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));scrollbar-width:thin;scrollbar-color:#a78bfa70 transparent}}.bs-board,.bs-controller{color:#f0f8ff;font-family:inherit}.bs-board{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:21% minmax(0,1fr) auto;gap:var(--ui-size-12px, 12px);padding:var(--ui-size-12px, 12px) var(--ui-size-18px, 18px);border-radius:18px;overflow:hidden;background:#07344d url(/assets/games/battleship/board-background.png) center top / cover no-repeat}.bs-board-top{display:flex;align-items:flex-start;justify-content:flex-start}.bs-round-pill{background:#071c31ed;border:1px solid #8acbd5a8;border-radius:30px;padding:var(--ui-size-8px, 8px) var(--ui-size-22px, 22px);font-size:clamp(var(--ui-font-14px, 14px),1.2vw,var(--ui-font-23px, 23px));font-weight:700;text-align:center}.bs-arena{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-size-22px, 22px)}.bs-side{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(var(--ui-size-130px, 130px),.38fr) minmax(0,1fr);gap:var(--ui-size-12px, 12px);align-items:center}.bs-side-1{grid-template-columns:minmax(0,1fr) minmax(var(--ui-size-130px, 130px),.38fr)}.bs-side-1 .bs-status{order:2}.bs-status{background:#071c31e8;border:1px solid #77b8cb80;border-top:4px solid var(--bs-player-color, #6fd3ff);border-radius:14px;padding:var(--ui-size-12px, 12px);min-width:0;max-height:100%;overflow:hidden}.bs-player-heading{display:flex;gap:var(--ui-size-8px, 8px);align-items:center;margin-bottom:var(--ui-size-14px, 14px)}.bs-player-heading>div:last-child{min-width:0}.bs-player-heading strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:clamp(var(--ui-font-14px, 14px),1.1vw,var(--ui-font-21px, 21px))}.bs-player-heading span{font-size:clamp(var(--ui-font-11px, 11px),.8vw,var(--ui-font-15px, 15px));color:#c5edf5;display:block}.bs-health-list{display:grid;gap:var(--ui-size-12px, 12px)}.bs-health>div:first-child{display:flex;gap:var(--ui-size-4px, 4px);justify-content:space-between;font-size:clamp(var(--ui-font-11px, 11px),.8vw,var(--ui-font-16px, 16px));margin-bottom:var(--ui-size-5px, 5px)}.bs-health>div:first-child span:last-child{flex-shrink:0;font-variant-numeric:tabular-nums}.bs-health-track{height:var(--ui-size-9px, 9px);border-radius:6px;background:#4e7483;overflow:hidden;border:1px solid #aad0dc70}.bs-health-track>span{display:block;height:100%;background:#ff805a}.bs-chat{display:grid;gap:var(--ui-size-6px, 6px);margin-top:var(--ui-size-14px, 14px)}.bs-chat:empty{display:none}.bs-chat p{margin:0;font-size:clamp(var(--ui-font-11px, 11px),.75vw,var(--ui-font-15px, 15px));padding:var(--ui-size-5px, 5px) var(--ui-size-7px, 7px);border-radius:7px;background:#315773a8;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.bs-grid-space{width:100%;height:100%;min-height:0;min-width:0;container-type:size;display:grid;place-items:center}.bs-board-grid-wrap{width:min(100cqw,100cqh);aspect-ratio:1;position:relative}.bs-grid{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(11,minmax(0,1fr));width:100%;aspect-ratio:1;background:#032b49d9;border:1px solid #92dfff;border-radius:6px;overflow:hidden;box-shadow:0 var(--ui-size-6px, 6px) var(--ui-size-28px, 28px) #001a2c70}.bs-axis{display:grid;place-items:center;font-size:clamp(var(--ui-font-11px, 11px),1vw,var(--ui-font-21px, 21px));font-weight:700;color:#e0f7ff}.bs-cell{display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:0;border-top:1px solid #66b9e17a;border-left:1px solid #66b9e17a;border-radius:0;background:#08669b4f;color:#fff;font-family:inherit;font-weight:800;font-size:clamp(var(--ui-font-16px, 16px),2.3vw,var(--ui-font-40px, 40px));line-height:1}button.bs-cell{cursor:pointer;touch-action:manipulation}button.bs-cell:disabled{opacity:1;cursor:default}button.bs-cell:not(:disabled):hover{background:#4098c4}.bs-cell-ship{background:#7da1b9;color:#163e57;box-shadow:inset 0 0 0 var(--ui-size-2px, 2px) #b9d6e4}.bs-cell-hit{color:#fff1d6;background:#a93d25}.bs-cell-sunk{color:#ffe4b5;background:#742522}.bs-cell-miss{color:#f1fbff}.bs-cell-selected{background:#267c91;outline:3px solid #ffda6a;outline-offset:-3px}.bs-cell:focus-visible{outline:3px solid #fff;outline-offset:-3px}.bs-board-footer{display:grid;gap:var(--ui-size-5px, 5px);justify-items:center;text-align:center;background:#061c31eb;border:1px solid #92bfc075;border-radius:12px;padding:var(--ui-size-9px, 9px) var(--ui-size-15px, 15px);font-size:clamp(var(--ui-font-12px, 12px),1.1vw,var(--ui-font-20px, 20px))}.bs-board-footer small{color:#b5d5e6;font-size:.72em}.bs-salvo-summary{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--ui-size-6px, 6px) var(--ui-size-24px, 24px)}.bs-salvo-summary>span{min-width:0;overflow-wrap:anywhere}.bs-result{color:#ffe393;font-size:1.15em}.bs-projectile{position:absolute;pointer-events:none;font-size:var(--ui-font-36px, 36px);color:#ffea9a;text-shadow:0 0 var(--ui-size-14px, 14px) #ff7b00;transform:translate(-50%,-50%);animation:bs-flight 1.5s both linear}@keyframes bs-flight{0%{opacity:0;transform:translate(var(--bs-flight-x),var(--ui-size-neg-130px, -130px)) scale(.4)}5%{opacity:1}55%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:.9;transform:translate(-50%,-50%) scale(1.8)}to{opacity:0;transform:translate(-50%,-50%) scale(2)}}.bs-controller{width:100%;max-width:var(--ui-size-460px, 460px);margin:0 auto;background:linear-gradient(160deg,#123758,#061428 58%,#081b32);padding:var(--ui-size-14px, 14px);border:1px solid #4d7b9a;border-radius:16px;display:flex;flex-direction:column;gap:var(--ui-size-16px, 16px);padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}.bs-controller-status{background:#174868a6;padding:var(--ui-size-15px, 15px) var(--ui-size-12px, 12px);border-radius:10px;text-align:center}.bs-controller-status h2{font-size:var(--ui-font-19px, 19px);line-height:1.3;margin:0 0 var(--ui-size-6px, 6px)}.bs-controller-status p{font-size:var(--ui-font-13px, 13px);margin:0;color:#d0e9f8}.bs-finished{background:#3c3553;border:1px solid #cdaa5d}.bs-controller-field{min-width:0}.bs-controller h3{margin:0 0 var(--ui-size-9px, 9px);font-size:var(--ui-font-15px, 15px);display:flex;justify-content:space-between;gap:var(--ui-size-10px, 10px)}.bs-controller h3 small{color:#b1ccdf;font-weight:400;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-controller .bs-axis{font-size:var(--ui-font-12px, 12px)}.bs-controller .bs-cell{font-size:var(--ui-font-23px, 23px)}.bs-controller .bs-grid{box-shadow:none;container-type:inline-size}.bs-cell-avatar{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1em;font-size:clamp(var(--ui-font-16px, 16px),7.7cqw,var(--ui-font-56px, 56px));line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden}.bs-controller button:not(.bs-cell),.bs-confirm-dialog button{min-height:var(--ui-size-48px, 48px);padding:var(--ui-size-10px, 10px) var(--ui-size-12px, 12px);border:1px solid #6196b7;border-radius:9px;color:#fff;background:linear-gradient(#205d86,#103b62);font-family:inherit;font-size:var(--ui-font-14px, 14px);font-weight:700;cursor:pointer;touch-action:manipulation}.bs-controller button:not(.bs-cell):disabled{opacity:.48;cursor:default}.bs-controller button:focus-visible,.bs-confirm-dialog button:focus-visible{outline:3px solid #ffe288;outline-offset:2px}.bs-placement-controls{display:grid;gap:var(--ui-size-10px, 10px)}.bs-ship-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--ui-size-85px, 85px),1fr));gap:var(--ui-size-6px, 6px)}.bs-controller .bs-ship-picker button{display:grid;justify-items:center;gap:var(--ui-size-3px, 3px);font-size:var(--ui-font-11px, 11px);padding:var(--ui-size-8px, 8px) var(--ui-size-4px, 4px)}.bs-ship-picker small{color:#c9e4f0;font-size:var(--ui-font-10px, 10px)}.bs-controller .bs-ship-picker .bs-selected-ship{border:2px solid #ffe28d;background:#225779}.bs-ship-glyph{letter-spacing:var(--ui-size-1px, 1px);color:#c5d9e9;font-size:var(--ui-font-22px, 22px);line-height:1}.bs-control-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-size-10px, 10px)}.bs-controller button.bs-confirm,.bs-confirm-dialog button.bs-confirm{background:linear-gradient(#169a66,#087244);border-color:#5bd6a0}.bs-controller button.bs-fire{background:linear-gradient(#be5138,#8c3028);border-color:#f29572;width:100%}.bs-controller button.bs-primary{border-color:#83cdf6}.bs-placement-hint,.bs-attack-controls p,.bs-legend{font-size:var(--ui-font-12px, 12px);margin:0;line-height:1.5;color:#d3e9f5}.bs-attack-controls{display:grid;gap:var(--ui-size-10px, 10px);margin-top:var(--ui-size-12px, 12px)}.bs-controller .bs-salvo-summary{display:grid;gap:var(--ui-size-5px, 5px);background:#352c42;padding:var(--ui-size-10px, 10px);border-radius:8px;font-size:var(--ui-font-12px, 12px)}.bs-placement-controls>small{color:#b9d3e5;font-size:var(--ui-font-11px, 11px)}.bs-error{background:#6d252d;border:1px solid #f5969c;border-radius:8px;padding:var(--ui-size-10px, 10px);font-size:var(--ui-font-13px, 13px);margin:0}.bs-confirm-dialog{margin:auto;max-width:min(var(--ui-size-400px, 400px),calc(100vw - var(--ui-size-30px, 30px)));max-height:calc(100dvh - var(--ui-size-40px, 40px));padding:var(--ui-size-22px, 22px);border:1px solid #7899b4;border-radius:16px;background:#0c263f;color:#eef8ff}.bs-confirm-dialog::backdrop{background:#00101cc9}.bs-confirm-dialog h2{font-size:var(--ui-font-20px, 20px);margin:0 0 var(--ui-size-12px, 12px)}.bs-confirm-dialog p{font-size:var(--ui-font-15px, 15px);line-height:1.5;margin-bottom:var(--ui-size-18px, 18px)}.bs-confirm-dialog button{display:block;width:100%;margin-top:var(--ui-size-10px, 10px)}@media(max-width:1200px){.bs-board{gap:var(--ui-size-8px, 8px);padding:var(--ui-size-10px, 10px);grid-template-rows:17% minmax(0,1fr) auto}.bs-arena{gap:var(--ui-size-16px, 16px)}.bs-side,.bs-side-1{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:var(--ui-size-8px, 8px)}.bs-side-1 .bs-status{order:0}.bs-status{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:var(--ui-size-8px, 8px) var(--ui-size-12px, 12px);padding:var(--ui-size-8px, 8px)}.bs-player-heading{margin:0}.bs-health-list{gap:var(--ui-size-4px, 4px)}.bs-health>div:first-child{font-size:var(--ui-font-10px, 10px);margin-bottom:var(--ui-size-2px, 2px)}.bs-health-track{height:var(--ui-size-5px, 5px)}.bs-chat{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:var(--ui-size-4px, 4px)}.bs-chat p{font-size:var(--ui-font-10px, 10px);padding:var(--ui-size-3px, 3px) var(--ui-size-5px, 5px)}}@media(max-width:600px){.bs-board{border-radius:8px;padding:var(--ui-size-6px, 6px);gap:var(--ui-size-6px, 6px)}.bs-arena{gap:var(--ui-size-8px, 8px)}.bs-status{grid-template-columns:minmax(0,1fr);gap:var(--ui-size-6px, 6px)}.bs-player-heading strong{font-size:var(--ui-font-12px, 12px)}.bs-player-heading span{font-size:var(--ui-font-10px, 10px)}.bs-health-list{gap:var(--ui-size-3px, 3px)}.bs-chat{grid-template-columns:1fr}.bs-chat p{-webkit-line-clamp:1}.bs-controller{padding:var(--ui-size-10px, 10px);border-radius:10px}}@media(prefers-reduced-motion:reduce){.bs-projectile{animation:none;opacity:.8}}.main-content:has(>.bs-board){max-width:none}.bs-player-layout{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.bs-player-panes{display:grid;grid-template-columns:minmax(var(--ui-size-210px, 210px),1fr) minmax(var(--ui-size-320px, 320px),1.5fr) minmax(var(--ui-size-230px, 230px),1fr);gap:var(--ui-size-14px, 14px);flex:1;min-height:0;overflow:hidden}.bs-player-pane{min-width:0;min-height:0;height:100%;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.bs-player-chat{overflow:hidden}.bs-player-chat input{min-width:0;font-size:var(--ui-font-16px, 16px)!important}.bs-player-chat form{flex-shrink:0}.bs-player-chat form input,.bs-player-chat form button{min-height:var(--ui-size-48px, 48px)}.bs-player-layout .bs-controller{padding:var(--ui-size-8px, 8px);gap:var(--ui-size-8px, 8px);border-radius:12px;max-width:var(--ui-size-420px, 420px);padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.bs-player-layout .bs-controller-status{padding:var(--ui-size-8px, 8px)}.bs-player-layout .bs-controller-status h2{font-size:var(--ui-font-17px, 17px);margin:0}.bs-player-layout .bs-controller-status p{margin-top:var(--ui-size-4px, 4px);font-size:var(--ui-font-12px, 12px)}.bs-player-layout .bs-controller-field{width:100%;max-width:var(--ui-size-380px, 380px);margin-inline:auto}.bs-player-layout .bs-controller h3{margin-bottom:var(--ui-size-6px, 6px);font-size:var(--ui-font-13px, 13px)}.bs-player-layout .bs-controller .bs-cell{font-size:var(--ui-font-20px, 20px);transition:none}.bs-player-layout .bs-placement-controls,.bs-player-layout .bs-control-row{gap:var(--ui-size-6px, 6px)}.bs-player-layout .bs-ship-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--ui-size-5px, 5px)}.bs-player-layout .bs-ship-picker button{grid-column:span 2;padding:var(--ui-size-4px, 4px);min-height:var(--ui-size-48px, 48px);font-size:var(--ui-font-11px, 11px);gap:var(--ui-size-1px, 1px)}.bs-player-layout .bs-ship-picker button:nth-child(n+4){grid-column:span 3}.bs-player-layout .bs-controller button:not(.bs-cell){padding-block:var(--ui-size-6px, 6px)}.bs-player-layout .bs-cell-preview{background:#23758b;color:#fff2bb;box-shadow:inset 0 0 0 var(--ui-size-2px, 2px) #ffda6a;outline:2px dashed #ffedb0;outline-offset:-3px}.bs-player-layout .bs-cell-draggable{touch-action:none;cursor:grab}.bs-player-layout .bs-cell-draggable:active{cursor:grabbing;transform:none}.bs-player-results{padding:var(--ui-size-14px, 14px);background:#0b2239;border:1px solid #416480;border-radius:12px;display:flex;flex-direction:column;gap:var(--ui-size-14px, 14px)}.bs-player-results>header h2{font-size:var(--ui-font-18px, 18px);margin:0 0 var(--ui-size-4px, 4px)}.bs-player-results>header p{font-size:var(--ui-font-12px, 12px);color:#bad4e5}.bs-fleet-card{background:#13344e;border:1px solid #3c6380;border-radius:10px;padding:var(--ui-size-12px, 12px)}.bs-player-results .bs-player-heading{margin-bottom:var(--ui-size-12px, 12px)}.bs-player-results .bs-player-heading strong{font-size:var(--ui-font-14px, 14px)}.bs-player-results .bs-player-heading>div:last-child>span{font-size:var(--ui-font-11px, 11px)}.bs-player-results .bs-player-heading .player-avatar-container span{font-size:inherit;color:inherit}.bs-player-results .bs-health-list{gap:var(--ui-size-9px, 9px)}.bs-player-results .bs-health>div:first-child{font-size:var(--ui-font-12px, 12px);margin-bottom:var(--ui-size-4px, 4px)}.bs-player-results .bs-health-track{height:var(--ui-size-8px, 8px);background:#082336}.bs-player-results .bs-health-track>span{background:#51d3a1}.bs-player-results .bs-health-sunk{color:#f7a99b}.bs-player-results .bs-salvo-summary{display:grid;gap:var(--ui-size-8px, 8px);font-size:var(--ui-font-12px, 12px)}.bs-own-fleet summary{display:flex;align-items:center;min-height:var(--ui-size-48px, 48px);cursor:pointer;font-size:var(--ui-font-13px, 13px);color:#bddbec}.bs-own-fleet summary:before{content:"▸";margin-right:var(--ui-size-8px, 8px)}.bs-own-fleet[open] summary:before{content:"▾"}.bs-player-layout .bs-attack-controls{margin-top:var(--ui-size-8px, 8px)}@media(max-width:768px){.bs-player-tabs{gap:var(--ui-size-6px, 6px);padding:0 0 var(--ui-size-6px, 6px)}.bs-player-tabs .player-waiting-tab-btn{min-height:var(--ui-size-48px, 48px)}.bs-player-panes{display:flex;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.bs-player-panes::-webkit-scrollbar{display:none}.bs-player-pane{flex:0 0 100%;width:100%;max-width:100%;scroll-snap-align:start;scroll-snap-stop:always}.bs-player-layout .bs-controller{max-width:100%}.bs-player-layout .bs-controller-placement .bs-controller-field{width:min(100%,max(var(--ui-size-242px, 242px),calc(100dvh - var(--ui-size-450px, 450px))))}.bs-player-chat .session-chat-sidebar{padding:var(--ui-size-12px, 12px)!important;padding-bottom:max(12px,env(safe-area-inset-bottom,0px))!important}}.bs-contact-list{display:grid;gap:var(--ui-size-10px, 10px);list-style:none;margin:0;padding:0}.bs-contact{min-width:0;padding:var(--ui-size-8px, 8px);background:#153951;border:1px solid #537487;border-radius:8px}.bs-contact-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--ui-size-3px, 3px) var(--ui-size-8px, 8px);font-size:clamp(var(--ui-font-11px, 11px),.85vw,var(--ui-font-16px, 16px))}.bs-contact-heading strong{font-weight:600;overflow-wrap:anywhere}.bs-contact-heading>span{color:#ffb9a9;white-space:nowrap}.bs-contact-marks{display:flex;gap:var(--ui-size-5px, 5px);margin-top:var(--ui-size-5px, 5px)}.bs-contact-marks>span{display:grid;place-items:center;width:var(--ui-size-18px, 18px);height:var(--ui-size-18px, 18px);border-radius:4px;background:#5d202b;color:#ff9d9d;font-size:var(--ui-font-20px, 20px);line-height:1}.bs-contact-sunk{border-color:#bc655a;background:#392833}.bs-contact-empty{font-size:var(--ui-font-13px, 13px);color:#b7cddd;padding-block:var(--ui-size-6px, 6px)}.bs-player-results .bs-contact-heading{font-size:var(--ui-font-13px, 13px)}.bs-player-results .bs-compact-avatar>div:first-child>span{font-size:var(--ui-font-32_4px, 32.4px)}.bs-grid{container-type:inline-size}.bs-hit-avatar{display:grid;place-items:center;position:relative;width:100%;height:100%;min-width:0;min-height:0;pointer-events:none}.bs-hit-avatar>.bs-cell-avatar{opacity:.9}.bs-hit-cross{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke:#ff405c;stroke-width:11;stroke-linecap:round;filter:drop-shadow(0 0 var(--ui-size-1px, 1px) #21000a) drop-shadow(0 0 var(--ui-size-1px, 1px) #21000a)}.bs-cell-sunk .bs-hit-avatar>.bs-cell-avatar{opacity:.48}.bs-cell-sunk .bs-hit-cross{stroke:#ff9c9c;stroke-width:13}@media(max-width:1200px){.bs-board .bs-contact-list{gap:var(--ui-size-4px, 4px)}.bs-board .bs-contact{padding:var(--ui-size-4px, 4px) var(--ui-size-6px, 6px)}.bs-board .bs-contact-heading{font-size:var(--ui-font-10px, 10px);gap:var(--ui-size-2px, 2px) var(--ui-size-5px, 5px)}.bs-board .bs-contact-marks{display:none}}.bs-command-board{position:relative;isolation:isolate;container-type:size;grid-template-rows:clamp(var(--ui-size-228px, 228px),25cqh,var(--ui-size-284px, 284px)) minmax(0,1fr);gap:var(--ui-size-10px, 10px);padding:var(--ui-size-10px, 10px)}.bs-command-deck{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr);gap:var(--ui-size-12px, 12px);min-height:0;position:relative}.bs-command-phase{grid-column:2;grid-row:1;align-self:start;justify-self:center;width:100%;text-align:center}.bs-command-phase .bs-round-pill{display:inline-block;max-width:100%;padding:var(--ui-size-9px, 9px) var(--ui-size-15px, 15px);font-size:clamp(var(--ui-font-13px, 13px),1.2vw,var(--ui-font-23px, 23px));line-height:1.35}.bs-command-card{grid-row:1;position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid #74a9bd;border-top:4px solid var(--bs-player-color);border-radius:20px;padding:var(--ui-size-12px, 12px) var(--ui-size-100px, 100px) var(--ui-size-10px, 10px) var(--ui-size-16px, 16px);background:linear-gradient(145deg,#0a2947f5,#081b30ed);box-shadow:0 var(--ui-size-6px, 6px) var(--ui-size-18px, 18px) #001a2c66}.bs-command-card-0{grid-column:1}.bs-command-card-1{grid-column:3;padding:var(--ui-size-12px, 12px) var(--ui-size-16px, 16px) var(--ui-size-10px, 10px) var(--ui-size-100px, 100px);text-align:right}.bs-command-player{min-width:0;margin-bottom:var(--ui-size-7px, 7px);margin-right:var(--ui-size-neg-84px, -84px)}.bs-command-card-1 .bs-command-player{margin-right:0;margin-left:var(--ui-size-neg-84px, -84px)}.bs-command-identity{display:flex;align-items:baseline;gap:var(--ui-size-8px, 8px);min-width:0}.bs-command-card-1 .bs-command-identity{flex-direction:row-reverse}.bs-command-identity>strong{flex:1;min-width:0}.bs-last-shot{flex:0 0 auto;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(var(--ui-font-10px, 10px),.85vw,var(--ui-font-15px, 15px));line-height:1.5;color:#d7edfa;font-variant-numeric:tabular-nums}.bs-command-player strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(var(--ui-font-15px, 15px),1.4vw,var(--ui-font-26px, 26px));line-height:1.2}.bs-command-player>span{display:block;font-size:clamp(var(--ui-font-10px, 10px),.85vw,var(--ui-font-15px, 15px));color:#b6d9eb;margin-top:var(--ui-size-3px, 3px)}.bs-command-card .bs-contact-list{gap:var(--ui-size-3px, 3px);flex:0 0 auto}.bs-command-card .bs-contact{height:clamp(var(--ui-size-20px, 20px),2.3cqh,var(--ui-size-28px, 28px));padding:var(--ui-size-2px, 2px) var(--ui-size-7px, 7px);border-radius:5px}.bs-command-card .bs-contact-heading{font-size:clamp(var(--ui-font-11px, 11px),.9vw,var(--ui-font-17px, 17px));flex-wrap:nowrap;gap:var(--ui-size-5px, 5px);line-height:1.25}.bs-command-card .bs-contact-heading strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bs-command-card-1 .bs-contact-heading{flex-direction:row-reverse}.bs-command-card .bs-contact-marks{display:none}.bs-command-card .bs-contact-unseen{border-color:#45678080;background:#18395080}.bs-command-card .bs-contact-unseen .bs-contact-heading>span{color:#90acbd}.bs-command-chat{display:grid;gap:var(--ui-size-2px, 2px);min-height:0;margin-top:auto;padding-top:var(--ui-size-6px, 6px);overflow:hidden}.bs-command-chat p{margin:0;font-size:clamp(var(--ui-font-9px, 9px),.7vw,var(--ui-font-12px, 12px));color:#bfdaea;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-command-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--ui-size-12px, 12px),1.5vw,var(--ui-size-28px, 28px));min-width:0;min-height:0}.bs-command-fields .bs-grid-space{align-items:start}.bs-command-fields .bs-board-grid-wrap{max-width:100%}.bs-cannon{position:absolute;width:clamp(var(--ui-size-60px, 60px),6vw,var(--ui-size-88px, 88px));aspect-ratio:1;right:var(--ui-size-12px, 12px);bottom:var(--ui-size-15px, 15px);z-index:2}.bs-command-card-1 .bs-cannon{right:auto;left:var(--ui-size-12px, 12px)}.bs-cannon-art{position:absolute;top:0;right:0;bottom:0;left:0}.bs-cannon-foot{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:repeating-conic-gradient(#20354a,#20354a 24deg,#50677c 24deg,#50677c 30deg);border:2px solid #99b4c4;box-shadow:0 var(--ui-size-5px, 5px) 0 #031525,0 var(--ui-size-7px, 7px) var(--ui-size-14px, 14px) #0009}.bs-cannon-rotor{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .28s ease-out}.bs-cannon-barrel{display:block;position:absolute;left:50%;top:39%;width:80%;height:22%;border:2px solid #9cb5c4;border-radius:4px;background:linear-gradient(#8299ad,#34495c 42%,#102337 75%,#617b8f);transform-origin:left center}.bs-cannon-barrel:after{content:"";position:absolute;right:var(--ui-size-neg-2px, -2px);top:var(--ui-size-neg-4px, -4px);width:var(--ui-size-9px, 9px);height:calc(100% + var(--ui-size-8px, 8px));border:2px solid #7d98ad;border-radius:3px;background:#07101d}.bs-cannon-dome{position:absolute;top:10%;right:10%;bottom:10%;left:10%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 25%,#eefaff88,transparent 60%),var(--bs-player-color);border:3px solid #b0cbd5;box-shadow:inset 0 var(--ui-size-neg-5px, -5px) var(--ui-size-8px, 8px) #001627aa,0 var(--ui-size-2px, 2px) var(--ui-size-5px, 5px) #000a}.bs-cannon-dome>span{font-size:clamp(var(--ui-font-31px, 31px),3.4vw,var(--ui-font-47px, 47px));line-height:1}.bs-cannon-recoil{animation:bs-cannon-recoil var(--bs-salvo-duration) both linear}.bs-artillery-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;overflow:hidden}.bs-cannon-flight,.bs-muzzle-flash,.bs-shot-impact{position:absolute;pointer-events:none;animation-duration:var(--bs-salvo-duration);animation-fill-mode:both;animation-timing-function:linear}.bs-cannon-flight{animation-name:bs-cannon-flight}.bs-cannon-ball{display:block;position:absolute;width:clamp(var(--ui-size-8px, 8px),.8vw,var(--ui-size-14px, 14px));aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ffe79c 30%,#c18533 65%,#251709);box-shadow:0 0 var(--ui-size-9px, 9px) #ffdd85}.bs-cannon-ball:before{content:"";position:absolute;right:65%;top:25%;width:var(--ui-size-32px, 32px);height:50%;border-radius:50%;background:linear-gradient(90deg,transparent,#ffba56c9)}.bs-muzzle-flash{width:var(--ui-size-32px, 32px);height:var(--ui-size-32px, 32px);border-radius:50%;background:#ffefb9;box-shadow:0 0 var(--ui-size-20px, 20px) var(--ui-size-7px, 7px) #ffa635aa;animation-name:bs-muzzle-flash}.bs-shot-impact{width:var(--ui-size-28px, 28px);height:var(--ui-size-28px, 28px);border:3px solid #ffe7a0;border-radius:50%;box-shadow:0 0 var(--ui-size-12px, 12px) #ff8225,inset 0 0 var(--ui-size-9px, 9px) #ffbc60;animation-name:bs-shot-impact}.bs-shot-splash{border-color:#c4f7ff;box-shadow:0 0 var(--ui-size-14px, 14px) #58d3ff,inset 0 0 var(--ui-size-9px, 9px) #b0f5ff}@keyframes bs-cannon-recoil{0%,23%,44%,to{transform:translate(0)}28%{transform:translate(var(--ui-size-neg-9px, -9px))}}@keyframes bs-cannon-flight{0%,23%{opacity:0;transform:translate(0)}24%{opacity:1;transform:translate(0)}79%{opacity:1;transform:translate(var(--bs-flight-dx),var(--bs-flight-dy))}80%,to{opacity:0;transform:translate(var(--bs-flight-dx),var(--bs-flight-dy))}}@keyframes bs-muzzle-flash{0%,22%,35%,to{opacity:0;transform:translate(-50%,-50%) scale(.2)}26%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes bs-shot-impact{0%,77%{opacity:0;transform:translate(-50%,-50%) scale(.2)}80%{opacity:1;transform:translate(-50%,-50%) scale(.6)}to{opacity:0;transform:translate(-50%,-50%) scale(1.7)}}@media(max-width:1200px){.bs-command-board{gap:var(--ui-size-8px, 8px);padding:var(--ui-size-8px, 8px)}.bs-command-deck{gap:var(--ui-size-8px, 8px)}.bs-command-card{padding:var(--ui-size-10px, 10px) var(--ui-size-74px, 74px) var(--ui-size-8px, 8px) var(--ui-size-10px, 10px);border-radius:15px}.bs-command-card-1{padding:var(--ui-size-10px, 10px) var(--ui-size-10px, 10px) var(--ui-size-8px, 8px) var(--ui-size-74px, 74px)}.bs-command-player{margin-right:var(--ui-size-neg-64px, -64px)}.bs-command-card-1 .bs-command-player{margin-left:var(--ui-size-neg-64px, -64px)}.bs-cannon{right:var(--ui-size-7px, 7px);bottom:var(--ui-size-14px, 14px)}.bs-command-card-1 .bs-cannon{left:var(--ui-size-7px, 7px)}}@media(max-width:800px){.bs-command-deck{gap:var(--ui-size-6px, 6px)}.bs-command-card{padding-right:var(--ui-size-10px, 10px);padding-bottom:var(--ui-size-68px, 68px)}.bs-command-card-1{padding-left:var(--ui-size-10px, 10px)}.bs-command-player,.bs-command-card-1 .bs-command-player{margin-inline:0}.bs-command-identity{gap:var(--ui-size-4px, 4px)}.bs-command-chat{padding-top:var(--ui-size-4px, 4px);padding-right:var(--ui-size-60px, 60px);position:absolute;bottom:var(--ui-size-10px, 10px);left:var(--ui-size-10px, 10px);right:var(--ui-size-10px, 10px)}.bs-command-card-1 .bs-command-chat{padding-right:0;padding-left:var(--ui-size-60px, 60px)}.bs-command-player strong{font-size:var(--ui-font-14px, 14px)}.bs-command-card .bs-contact{height:var(--ui-size-20px, 20px)}.bs-command-phase .bs-round-pill{font-size:var(--ui-font-12px, 12px);padding:var(--ui-size-8px, 8px)}.bs-cannon{bottom:var(--ui-size-9px, 9px)}}@media(prefers-reduced-motion:reduce){.bs-cannon-rotor{transition:none}.bs-cannon-recoil,.bs-cannon-flight,.bs-muzzle-flash{animation:none}.bs-cannon-flight,.bs-muzzle-flash{display:none}.bs-shot-impact{animation:none;opacity:.8;transform:translate(-50%,-50%)}}.rps-board{--rps-space: var(--display-space-sm, 12px);--rps-body: var(--display-text-body, 1rem);--rps-meta: calc(var(--rps-body) * .9);--rps-name: calc(var(--rps-body) * 1.15)}.rps-board .rps-sidebar-content{gap:var(--rps-space)}.rps-board .rps-player-list{display:grid;gap:var(--rps-space);min-height:0}.rps-board .rps-player-row{display:flex;align-items:center;gap:var(--rps-space);min-width:0;padding:calc(var(--rps-space) / 2) var(--rps-space);border-left:4px solid}.rps-board .rps-avatar{display:grid;place-items:center;width:var(--display-control-min, 40px);aspect-ratio:1;flex-shrink:0;border:2px solid;border-radius:50%;background:#ffffff0f;font-size:calc(var(--rps-body) * 1.6);line-height:1}.rps-board .rps-player-details{flex:1;min-width:0}.rps-board .rps-player-identity{display:flex;align-items:center;gap:calc(var(--rps-space) / 2);min-width:0}.rps-board .rps-player-name{min-width:0;font-size:var(--rps-name);line-height:1.2;overflow-wrap:anywhere}.rps-board .rps-player-facts{display:flex;justify-content:space-between;align-items:center;gap:var(--rps-space);font-size:var(--rps-meta);line-height:1.4;color:var(--text-secondary)}.rps-board .rps-player-choice{color:var(--text-primary)}.rps-board .rps-player-choice[data-ready=false]{color:var(--text-muted)}.rps-board .rps-player-score{flex-shrink:0;white-space:nowrap}.rps-board .rps-player-score strong{color:var(--text-primary)}.rps-board .rps-round-gain{color:var(--accent-success);font-weight:700}.rps-board .rps-rank{flex-shrink:0;font-size:var(--rps-meta);color:#fbbf24}.rps-board .rps-bot{flex-shrink:0;font-size:var(--display-text-meta, .7rem);font-weight:700;line-height:1.1;padding:0 .3em;color:#38bdf8;background:#38bdf826;border:1px solid rgba(56,189,248,.35);border-radius:var(--radius-full)}.rps-board .rps-unread{background:var(--accent-primary);color:#fff;border-radius:var(--radius-full);padding:0 .4em}.rps-board .rps-finish-banner{flex-shrink:0;display:grid;gap:calc(var(--rps-space) / 2);padding:var(--rps-space);border:1px solid rgba(234,179,8,.4);border-radius:var(--radius-md);background:#eab3081a}.rps-board .rps-finish-banner h3{margin:0;display:flex;align-items:center;justify-content:center;gap:var(--rps-space);font-size:var(--rps-body);color:#fbbf24}.rps-board .rps-finish-banner button,.rps-board .rps-round-actions button{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--rps-space) / 2)}.rps-board .rps-round-header{display:flex;justify-content:space-between;align-items:center;gap:var(--rps-space);padding:var(--rps-space) var(--display-space-md, 16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);background:var(--bg-card)}.rps-board .rps-round-header h2{margin:calc(var(--rps-space) / 3) 0 0;font-size:var(--display-text-title, 1.75rem)}.rps-board .rps-round-meta,.rps-board .rps-round-actions{display:flex;align-items:center;gap:var(--rps-space);flex-wrap:wrap;font-size:var(--display-text-meta, .85rem);color:var(--text-secondary)}.rps-board .rps-round-actions{justify-content:flex-end}.rps-board .rps-round-actions .badge{font-size:var(--rps-meta)}.rps-board .rps-rule{display:inline-flex;align-items:center;gap:.3em;border-radius:var(--radius-full);background:#6366f126;color:#a5b4fc;padding:0 .5em}.rps-board .rps-round-status{display:flex;flex-direction:column;justify-content:center;gap:calc(var(--rps-space) / 2);text-align:center;padding:var(--rps-space) var(--display-space-md, 16px);border:1px solid rgba(99,102,241,.4);border-radius:var(--radius-lg);background:#6366f11f}.rps-board .rps-round-status h3{margin:0;font-size:calc(var(--rps-body) * 1.4);color:#a5b4fc}.rps-board .rps-round-status p{margin:0;font-size:calc(var(--rps-body) * 1.05);font-weight:500;overflow-wrap:anywhere}.rps-board .rps-round-status[data-tone=tie]{border-color:#f59e0b66;background:#f59e0b1f}.rps-board .rps-round-status[data-tone=tie] h3,.rps-board .rps-round-status[data-tone=finished] h3{color:#fbbf24}.rps-board .rps-round-status[data-tone=won],.rps-board .rps-round-status[data-tone=finished]{border-color:#10b98166;background:#10b9811f}.rps-board .rps-round-status[data-tone=won] h3{color:#34d399}.rps-board .rps-arena{display:grid;grid-template-columns:repeat(var(--rps-columns),minmax(0,1fr));gap:var(--rps-space);min-width:0;min-height:0}.rps-board .rps-choice-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--rps-space) / 2);text-align:center;padding:var(--rps-space);min-width:0;min-height:0;position:relative}.rps-board .rps-choice-winner{border-color:#10b981;box-shadow:var(--shadow-glow-success)}.rps-board .rps-winner-badge{position:absolute;top:calc(var(--rps-space) / 2);right:calc(var(--rps-space) / 2);background:#047857;color:#fff;font-size:var(--display-text-meta, .75rem);font-weight:700;border-radius:var(--radius-full);padding:0 .5em}.rps-board .rps-choice-icon{width:calc(var(--display-control-min, 42px) * 2);aspect-ratio:1;flex-shrink:0;display:grid;place-items:center;background:#ffffff14;border:1px solid var(--border-glass);border-radius:var(--radius-md);font-size:calc(var(--rps-body) * 2.8);line-height:1}.rps-board .rps-choice-label{font-size:var(--rps-body);font-weight:700}.rps-board .rps-choice-label[data-ready=false]{color:var(--text-muted)}.rps-board .rps-choice-identity{display:flex;align-items:center;justify-content:center;gap:calc(var(--rps-space) / 2);width:100%;min-width:0;min-height:2.4em;font-size:var(--rps-name)}.rps-board .rps-choice-identity h4{min-width:0;margin:0;font-size:inherit;line-height:1.2;overflow-wrap:anywhere}.rps-board .rps-choice-score{border-radius:var(--radius-full);background:#ffffff0d;padding:.15em .75em;font-size:var(--rps-meta);color:var(--text-secondary)}.rps-board .rps-choice-score strong{color:var(--text-primary)}.display-scope .rps-board{height:100%;min-height:0;max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:stretch}.display-scope .rps-board .rps-left-col{height:100%;min-height:0;min-width:0}.display-scope .rps-board .rps-sidebar-content{overflow:visible}.display-scope .rps-board .rps-player-list{flex:1;grid-auto-rows:minmax(0,1fr)}.display-scope .rps-board .rps-right-col{display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,3fr);height:100%;min-width:0;gap:var(--rps-space)}.display-scope .rps-board .rps-arena{grid-template-rows:repeat(var(--rps-rows),minmax(0,1fr))}@media(max-width:960px){.rps-board .rps-arena{grid-template-columns:repeat(2,minmax(0,1fr))}.rps-board .rps-round-header{flex-wrap:wrap}}.admin-dashboard{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.admin-dashboard>*{flex-shrink:0}.admin-dashboard>.admin-overview{display:flex;flex-direction:column;flex:1 0 var(--ui-size-340px, 340px);gap:var(--ui-size-16px, 16px);min-height:var(--ui-size-340px, 340px)}.admin-overview>.admin-metric-grid{flex:none}.admin-overview-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-size-14px, 14px);flex:1;min-height:var(--ui-size-220px, 220px)}.admin-overview-panels>.admin-overview-panel{padding:0;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius-lg)}.admin-panel-header{padding:var(--ui-size-16px, 16px);flex:none;border-bottom:1px solid var(--border-glass)}.admin-panel-header h3{display:flex;align-items:center;gap:var(--ui-size-8px, 8px);font-size:var(--ui-font-1rem, 1rem)}.admin-panel-header h3 svg{color:var(--accent-secondary);flex:none}.admin-panel-header p{margin-top:var(--ui-size-7px, 7px);color:var(--text-secondary);font-size:var(--ui-font-0_75rem, .75rem)}.admin-panel-header button{display:inline-flex;align-items:center;gap:var(--ui-size-6px, 6px);min-height:var(--ui-size-36px, 36px);margin-top:var(--ui-size-10px, 10px);padding:var(--ui-size-7px, 7px) var(--ui-size-12px, 12px);font-size:var(--ui-font-0_8rem, .8rem)}.admin-panel-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;padding:var(--ui-size-14px, 14px);overflow-wrap:anywhere}.admin-panel-scroll:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:-3px}.admin-panel-empty{color:var(--text-muted);font-size:var(--ui-font-0_82rem, .82rem)}.admin-system-messages,.admin-game-list{display:grid;gap:var(--ui-size-8px, 8px)}.admin-system-message,.admin-game-list article{display:flex;align-items:flex-start;gap:var(--ui-size-8px, 8px);padding:var(--ui-size-10px, 10px);border:1px solid var(--border-glass);border-radius:var(--radius-sm);background:#ffffff06}.admin-system-message>div:last-child,.admin-game-list article>div{min-width:0;flex:1}.admin-message-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-size-6px, 6px);font-size:var(--ui-font-0_8rem, .8rem)}.admin-message-meta time{color:var(--text-muted);font-size:var(--ui-font-0_7rem, .7rem)}.admin-system-message p{margin-top:var(--ui-size-4px, 4px);color:var(--text-secondary);font-size:var(--ui-font-0_8rem, .8rem)}.admin-game-list article>span{font-size:var(--ui-font-1_3rem, 1.3rem)}.admin-game-list strong{display:block;font-size:var(--ui-font-0_85rem, .85rem)}.admin-game-list small{display:block;margin-top:var(--ui-size-3px, 3px);color:var(--text-secondary);font-size:var(--ui-font-0_7rem, .7rem)}.admin-environment h4{margin:var(--ui-size-14px, 14px) 0 var(--ui-size-8px, 8px);color:var(--text-primary);font-size:var(--ui-font-0_85rem, .85rem)}.admin-environment h4:first-child{margin-top:0}.admin-environment dl{display:grid;gap:var(--ui-size-7px, 7px);font-size:var(--ui-font-0_76rem, .76rem)}.admin-environment dl>div{display:flex;justify-content:space-between;gap:var(--ui-size-10px, 10px);border-bottom:1px solid var(--border-glass);padding-bottom:var(--ui-size-6px, 6px)}.admin-environment dt{color:var(--text-secondary)}.admin-environment dd{text-align:right;font-weight:600;min-width:0}.admin-metric-note{color:var(--text-muted);font-size:var(--ui-font-0_7rem, .7rem);line-height:1.5;margin-top:var(--ui-size-10px, 10px)}@media(min-width:768px)and (max-width:1050px){.admin-overview .admin-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-size-8px, 8px)}.admin-overview .admin-metric-tile{padding:var(--ui-size-12px, 12px);gap:var(--ui-size-8px, 8px);flex-wrap:nowrap}.admin-overview .admin-metric-tile>div:last-child{min-width:0;overflow-wrap:anywhere}.admin-overview .admin-metric-icon{width:var(--ui-size-32px, 32px);height:var(--ui-size-32px, 32px)}.admin-panel-header,.admin-panel-scroll{padding:var(--ui-size-12px, 12px)}}@media(max-width:767px){.admin-dashboard>.admin-overview{flex:none}.admin-overview-panels{grid-template-columns:minmax(0,1fr);flex:none}.admin-overview-panel{height:60dvh;min-height:var(--ui-size-300px, 300px);max-height:var(--ui-size-520px, 520px)}}.admin-panel-header .btn-danger{color:#fca5a5;background:#ef44441f;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm)}.admin-panel-header .btn-danger:hover:not(:disabled){background:#ef444438}.admin-match-history{display:grid;gap:var(--ui-size-16px, 16px);min-width:0}.match-history-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ui-size-10px, 10px)}.match-history-heading h2,.match-winners{display:flex;align-items:center;gap:var(--ui-size-8px, 8px)}.match-history-heading p,.match-history-heading time,.match-filter-hint{color:var(--text-secondary);font-size:var(--ui-font-0_85rem, .85rem)}.match-history-heading p{margin-top:var(--ui-size-6px, 6px)}.match-history-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--ui-size-220px, 220px)),1fr));gap:var(--ui-size-12px, 12px);padding:var(--ui-size-16px, 16px)}.match-history-filters label{display:grid;gap:var(--ui-size-6px, 6px);min-width:0;font-size:var(--ui-font-0_8rem, .8rem);color:var(--text-secondary)}.match-history-filters input,.match-history-filters select{min-width:0;width:100%;min-height:var(--ui-size-40px, 40px);padding:var(--ui-size-8px, 8px) var(--ui-size-10px, 10px);font-size:var(--ui-font-0_85rem, .85rem);color-scheme:dark}.match-history-filters select{background-color:var(--bg-app)}.match-filter-actions{display:flex;flex-wrap:wrap;gap:var(--ui-size-8px, 8px);grid-column:1 / -1}.match-filter-hint,.match-history-filters [role=alert]{grid-column:1 / -1}.admin-match-history button{min-height:var(--ui-size-40px, 40px);padding:var(--ui-size-8px, 8px) var(--ui-size-14px, 14px);font-size:var(--ui-font-0_85rem, .85rem)}.admin-match-history button:focus-visible,.admin-match-history summary:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:3px}.match-history-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ui-size-8px, 8px);font-size:var(--ui-font-0_85rem, .85rem)}.match-history-pagination>div{display:flex;gap:var(--ui-size-6px, 6px)}.match-history-card{padding:var(--ui-size-16px, 16px);min-width:0}.match-history-card h3{font-size:var(--ui-font-1rem, 1rem)}.match-winners{color:#fbbf24;margin:var(--ui-size-12px, 12px) 0;font-size:var(--ui-font-0_85rem, .85rem);overflow-wrap:anywhere}.match-winners svg{flex-shrink:0}.match-participants{list-style:none;display:grid;gap:var(--ui-size-6px, 6px)}.match-participants li{display:flex;align-items:center;gap:var(--ui-size-8px, 8px);padding:var(--ui-size-8px, 8px);border:1px solid var(--border-glass);border-radius:var(--radius-sm);font-size:var(--ui-font-0_85rem, .85rem)}.match-participants .match-participant-selected{border-color:var(--border-active);background:#6366f11a}.match-participant-name{flex:1;min-width:0;overflow-wrap:anywhere}.match-participant-name small{display:block;color:var(--text-secondary)}.match-participant-type{display:inline-flex;align-items:center;gap:var(--ui-size-4px, 4px);font-size:var(--ui-font-0_75rem, .75rem);color:var(--text-secondary)}.match-outcome{font-size:var(--ui-font-0_75rem, .75rem);color:var(--text-secondary)}.match-outcome.won{color:#fbbf24}.match-history-card details{margin-top:var(--ui-size-12px, 12px);color:var(--text-secondary);font-size:var(--ui-font-0_75rem, .75rem);overflow-wrap:anywhere}.match-history-card summary{cursor:pointer;padding:var(--ui-size-6px, 6px) 0}.match-history-card details p{margin-top:var(--ui-size-5px, 5px)}@media(max-width:480px){.match-participants li{flex-wrap:wrap}.match-participant-name{flex-basis:calc(100% - var(--ui-size-48px, 48px))}.match-participant-type{margin-left:var(--ui-size-40px, 40px)}}:root{--font-family-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-app: #090d16;--bg-card: rgba(18, 24, 38, .75);--bg-card-hover: rgba(28, 36, 56, .85);--bg-glass: rgba(255, 255, 255, .04);--border-glass: rgba(255, 255, 255, .08);--border-active: rgba(99, 102, 241, .4);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-primary: #6366f1;--accent-primary-hover: #4f46e5;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--accent-secondary: #06b6d4;--accent-success: #10b981;--accent-warning: #f59e0b;--accent-danger: #ef4444;--radius-sm: var(--ui-size-8px, 8px);--radius-md: var(--ui-size-14px, 14px);--radius-lg: var(--ui-size-20px, 20px);--radius-full: 9999px;--shadow-sm: 0 var(--ui-size-2px, 2px) var(--ui-size-8px, 8px) rgba(0, 0, 0, .2);--shadow-md: 0 var(--ui-size-8px, 8px) var(--ui-size-24px, 24px) rgba(0, 0, 0, .35);--shadow-glow: 0 0 var(--ui-size-25px, 25px) rgba(99, 102, 241, .25);--shadow-glow-success: 0 0 var(--ui-size-25px, 25px) rgba(16, 185, 129, .3)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;overflow-anchor:none}body{font-family:var(--font-family-body);background-color:var(--bg-app);color:var(--text-primary);min-height:100%;overflow:hidden;overflow-anchor:none;background-image:radial-gradient(circle at 15% 15%,rgba(99,102,241,.12) 0%,transparent 40%),radial-gradient(circle at 85% 85%,rgba(168,85,247,.1) 0%,transparent 40%);background-attachment:fixed}h1,h2,h3,h4,.font-display{font-family:var(--font-family-display);font-weight:700;letter-spacing:-.02em}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1)}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}input,textarea,select{font-family:inherit;background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-primary);border-radius:var(--radius-md);padding:var(--ui-size-12px, 12px) var(--ui-size-16px, 16px);font-size:var(--ui-font-1rem, 1rem);outline:none;transition:all .2s ease}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 var(--ui-size-3px, 3px) #6366f133}.glass-card{background:var(--bg-card);backdrop-filter:blur(var(--ui-size-16px, 16px));-webkit-backdrop-filter:blur(var(--ui-size-16px, 16px));border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--ui-size-24px, 24px)}.btn-primary{background:var(--accent-gradient);color:#fff;font-weight:600;padding:var(--ui-size-12px, 12px) var(--ui-size-24px, 24px);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-size-8px, 8px)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);filter:brightness(1.1)}.btn-secondary{background:#ffffff14;color:var(--text-primary);font-weight:600;padding:var(--ui-size-12px, 12px) var(--ui-size-20px, 20px);border-radius:var(--radius-md);border:1px solid var(--border-glass);display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-size-8px, 8px)}.btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#fff3}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;padding:var(--ui-size-14px, 14px) var(--ui-size-28px, 28px);border-radius:var(--radius-md);box-shadow:var(--shadow-glow-success);display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-size-8px, 8px);font-size:var(--ui-font-1_1rem, 1.1rem)}.btn-success:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:var(--ui-size-8px, 8px) var(--ui-size-14px, 14px);border-radius:var(--radius-sm)}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0d}.badge{display:inline-flex;align-items:center;gap:var(--ui-size-6px, 6px);padding:var(--ui-size-4px, 4px) var(--ui-size-10px, 10px);border-radius:var(--radius-full);font-size:var(--ui-font-0_75rem, .75rem);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-host{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-connected{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-disconnected{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.header-live-btn{display:inline-flex;align-items:center;gap:var(--ui-size-6px, 6px);cursor:pointer;border-radius:var(--radius-full);padding:var(--ui-size-4px, 4px) var(--ui-size-10px, 10px);font-size:var(--ui-font-0_75rem, .75rem);font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.header-live-btn:hover{transform:translateY(var(--ui-size-neg-1px, -1px));box-shadow:0 0 var(--ui-size-14px, 14px) #10b98159}.header-live-btn:active{transform:scale(.95)}.header-live-btn .header-reload-icon{opacity:.75;transition:transform .35s ease,opacity .2s ease}.header-live-btn:hover .header-reload-icon{opacity:1;transform:rotate(180deg)}.header-live-btn.badge-disconnected:hover{box-shadow:0 0 var(--ui-size-14px, 14px) #ef444459}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1.2s linear infinite}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;padding-top:env(safe-area-inset-top,0px);padding-bottom:0;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}@media(display-mode:standalone),(display-mode:fullscreen){html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none}.app-container{padding-bottom:0!important}.main-content{padding-bottom:var(--ui-size-2px, 2px)!important}input,textarea,select,[contenteditable=true],.chat-messages-container,.session-chat-panel{-webkit-user-select:text;user-select:text}}.app-header{flex-shrink:0;background:#090d16cc;-webkit-backdrop-filter:blur(var(--ui-size-12px, 12px));backdrop-filter:blur(var(--ui-size-12px, 12px))}@media(display-mode:standalone),(display-mode:fullscreen){html{background-color:var(--bg-app)}.app-container{background-image:linear-gradient(var(--bg-app),var(--bg-app));background-size:100% env(safe-area-inset-top,0px);background-position:top;background-repeat:no-repeat}.app-header{background:var(--bg-app);-webkit-backdrop-filter:none;backdrop-filter:none}}.main-content{flex:1;max-width:var(--ui-size-1200px, 1200px);width:100%;margin:0 auto;padding:var(--ui-size-12px, 12px) var(--ui-size-18px, 18px) var(--ui-size-4px, 4px) var(--ui-size-18px, 18px);display:flex;flex-direction:column;min-height:0;overflow:hidden;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) rgba(0,0,0,.2)}.main-content::-webkit-scrollbar{width:var(--ui-size-6px, 6px);height:var(--ui-size-6px, 6px)}.main-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.main-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.main-content::-webkit-scrollbar-thumb:hover{background:#ffffff59}@keyframes fadeIn{0%{opacity:0;transform:translateY(var(--ui-size-8px, 8px))}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 var(--ui-size-15px, 15px) #6366f14d}50%{box-shadow:0 0 var(--ui-size-30px, 30px) #6366f199}}@keyframes bounceSlow{0%,to{transform:translateY(0)}50%{transform:translateY(var(--ui-size-neg-6px, -6px))}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.16,1,.3,1) forwards}.animate-pulse-glow{animation:pulseGlow 2s infinite ease-in-out}.animate-bounce-slow{animation:bounceSlow 2s infinite ease-in-out}.lobby-view-root{display:flex;flex-direction:column;height:100%;min-height:0;flex:1;width:100%;box-sizing:border-box;overflow:hidden}.lobby-error-banner{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:var(--ui-size-8px, 8px) var(--ui-size-14px, 14px);border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;font-size:var(--ui-font-0_85rem, .85rem);margin-bottom:var(--ui-size-8px, 8px);flex-shrink:0}.chat-system-message{animation:fadeIn .25s ease-out;transition:background-color .2s ease,border-color .2s ease}.chat-system-message:hover{background:#6366f11f!important;border-color:#6366f166!important}.lobby-mobile-tabs{display:none}.lobby-grid-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-size-16px, 16px);width:100%;flex:1;min-height:0;height:100%;max-height:100%;box-sizing:border-box}.lobby-col{height:100%;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.lobby-col-chat{display:flex;flex-direction:column}.lobby-col-games,.lobby-col-sessions{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.lobby-column-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 var(--ui-size-4px, 4px) var(--ui-size-10px, 10px) var(--ui-size-4px, 4px)}.lobby-column-title{font-size:var(--ui-font-1_05rem, 1.05rem);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--ui-size-8px, 8px);margin:0}.lobby-column-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--ui-size-12px, 12px);padding-right:var(--ui-size-4px, 4px);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) rgba(0,0,0,.2)}.lobby-column-scroll::-webkit-scrollbar{width:var(--ui-size-6px, 6px)}.lobby-column-scroll::-webkit-scrollbar-track{background:#00000026;border-radius:4px}.lobby-column-scroll::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.lobby-column-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff59}.lobby-game-card-wrapper,.lobby-session-card-wrapper{width:100%;flex-shrink:0}.lobby-session-card{width:100%;box-sizing:border-box;padding:var(--ui-size-12px, 12px) var(--ui-size-14px, 14px);display:flex;flex-direction:column;gap:var(--ui-size-8px, 8px);transition:transform .2s ease,box-shadow .2s ease}.lobby-session-card:hover{border-color:#f59e0b59}.session-code-pill{font-size:var(--ui-font-1_05rem, 1.05rem);font-weight:800;letter-spacing:.08em;color:#fff;background:#ffffff14;padding:var(--ui-size-3px, 3px) var(--ui-size-8px, 8px);border-radius:var(--radius-sm);border:1px solid var(--border-glass)}.card-player-count-badge{display:inline-flex;align-items:center;gap:var(--ui-size-5px, 5px);font-size:var(--ui-font-0_75rem, .75rem);color:var(--text-secondary);background:var(--bg-glass);padding:var(--ui-size-3px, 3px) var(--ui-size-8px, 8px);border-radius:var(--radius-sm);border:1px solid var(--border-glass);line-height:1;flex-shrink:0}.lobby-session-players{min-height:var(--ui-size-38px, 38px);max-height:var(--ui-size-90px, 90px);overflow-y:auto;display:flex;flex-wrap:wrap;gap:var(--ui-size-6px, 6px);align-content:flex-start;padding:var(--ui-size-6px, 6px);margin:var(--ui-size-2px, 2px) 0;border-radius:var(--radius-sm);background:#0003;border:1px solid rgba(255,255,255,.05)}@media(min-width:769px)and (max-width:1200px)and (orientation:landscape){.main-content{padding:var(--ui-size-8px, 8px) var(--ui-size-14px, 14px) var(--ui-size-4px, 4px) var(--ui-size-14px, 14px);max-width:100%}.lobby-grid-layout{gap:var(--ui-size-12px, 12px);height:100%;max-height:100%}}@media(max-width:768px){.main-content{padding:var(--ui-size-6px, 6px) var(--ui-size-8px, 8px) var(--ui-size-2px, 2px) var(--ui-size-8px, 8px)}.lobby-view-root{height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.lobby-mobile-tabs{display:flex;align-items:center;justify-content:center;gap:var(--ui-size-8px, 8px);padding:0 var(--ui-size-4px, 4px) var(--ui-size-6px, 6px) var(--ui-size-4px, 4px);flex-shrink:0;width:100%;box-sizing:border-box}.lobby-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--ui-size-6px, 6px);padding:var(--ui-size-8px, 8px) var(--ui-size-4px, 4px);border-radius:var(--radius-full);border:1px solid var(--border-glass);background:#ffffff0a;color:var(--text-secondary);font-size:var(--ui-font-0_82rem, .82rem);font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;-webkit-user-select:none;user-select:none;white-space:nowrap;min-width:0;-webkit-tap-highlight-color:transparent}.lobby-tab-btn:active{transform:scale(.97)}.lobby-tab-active{background:linear-gradient(135deg,#6366f14d,#8b5cf64d);border-color:#818cf8a6;color:#fff;box-shadow:0 var(--ui-size-2px, 2px) var(--ui-size-12px, 12px) #6366f159}.lobby-tab-badge{background:#ef4444;color:#fff;font-size:var(--ui-font-0_65rem, .65rem);font-weight:700;min-width:var(--ui-size-18px, 18px);height:var(--ui-size-18px, 18px);border-radius:9px;padding:0 var(--ui-size-4px, 4px);display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 var(--ui-size-8px, 8px) #ef444499}.lobby-tab-badge-sessions{background:#f59e0b;box-shadow:0 0 var(--ui-size-8px, 8px) #f59e0b99}.lobby-grid-layout{display:flex;flex-direction:row;flex:1;min-height:0;height:100%;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:0;padding-bottom:0}.lobby-grid-layout::-webkit-scrollbar{display:none}.lobby-col{flex:0 0 100%;width:100%;min-width:100%;max-width:100%;scroll-snap-align:start;scroll-snap-stop:always;height:100%;max-height:100%;min-height:0;overflow:hidden;padding:0 var(--ui-size-4px, 4px);box-sizing:border-box}.lobby-col-chat{order:1}.lobby-col-games{order:2}.lobby-col-sessions{order:3}}.header-logo-btn{display:flex;align-items:center;gap:var(--ui-size-8px, 8px);background:transparent;border:1px solid transparent;padding:var(--ui-size-4px, 4px) var(--ui-size-10px, 10px) var(--ui-size-4px, 4px) var(--ui-size-6px, 6px);border-radius:var(--radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none}.header-logo-btn:hover{background:#ffffff14;border-color:#ffffff1f;transform:translateY(var(--ui-size-neg-1px, -1px))}.header-logo-btn:active{transform:translateY(0) scale(.98)}.header-mobile-trigger{display:none}.header-profile-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-full);transition:all .2s cubic-bezier(.4,0,.2,1)}.header-profile-btn:hover{background:#ffffff1a;border-color:#6366f166;box-shadow:0 0 var(--ui-size-16px, 16px) #6366f140}.header-login-btn{transition:all .2s cubic-bezier(.4,0,.2,1)}.header-login-btn:hover{background:#6366f140!important;border-color:#6366f199!important;box-shadow:0 0 var(--ui-size-16px, 16px) #6366f159}.modal-card{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) rgba(0,0,0,.2)}.modal-card::-webkit-scrollbar{width:var(--ui-size-6px, 6px);height:var(--ui-size-6px, 6px)}.modal-card::-webkit-scrollbar-track{background:#0003;border-radius:4px}.modal-card::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.modal-card::-webkit-scrollbar-thumb:hover{background:#ffffff59}@media(max-width:1024px){input[type=text],input[type=password],input[type=number],select,textarea{font-size:var(--ui-font-16px, 16px)!important}}.header-desktop-actions{display:flex;align-items:center;gap:var(--ui-size-12px, 12px)}.header-mobile-trigger{display:none!important}@media(max-width:640px){.header-desktop-actions{display:none!important}.header-mobile-trigger{display:flex!important;align-items:center;gap:var(--ui-size-8px, 8px)}.header-session-code-desktop{display:none}.header-live-desktop{display:none!important}}.header-players-btn:hover{background:#06b6d438!important;border-color:#06b6d480!important;transform:translateY(var(--ui-size-neg-1px, -1px))}.session-layout{display:flex;gap:var(--ui-size-24px, 24px);width:100%;align-items:flex-start;min-height:calc(100vh - var(--ui-size-120px, 120px))}.session-content{flex:1;min-width:0;width:100%}.session-chat-desktop-only{display:flex}.session-chat-mobile-only{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(var(--ui-size-16px, 16px))}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.session-layout{display:block}.session-chat-desktop-only{display:none!important}.session-chat-mobile-only{display:block}.player-content-container{padding-bottom:var(--ui-size-76px, 76px)}.main-content{padding:var(--ui-size-6px, 6px) var(--ui-size-8px, 8px) var(--ui-size-2px, 2px) var(--ui-size-8px, 8px)}}.board-waiting-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-size-18px, 18px);width:100%;flex:1;min-height:0;height:100%;max-height:100%;box-sizing:border-box}.board-waiting-col{height:100%;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.board-waiting-col-chat{display:flex;flex-direction:column}.board-waiting-col-info{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:var(--ui-size-22px, 22px) var(--ui-size-18px, 18px);text-align:center;background:linear-gradient(135deg,#1e293bf2,#0f172af2);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.board-waiting-col-players{display:flex;flex-direction:column;gap:var(--ui-size-10px, 10px);padding:var(--ui-size-16px, 16px) var(--ui-size-18px, 18px);background:var(--bg-card);backdrop-filter:blur(var(--ui-size-16px, 16px));-webkit-backdrop-filter:blur(var(--ui-size-16px, 16px));border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.board-players-list{display:flex;flex-direction:column;gap:var(--ui-size-6px, 6px);flex:1;min-height:0;overflow-y:auto;padding-right:var(--ui-size-2px, 2px)}.board-player-item{background:#ffffff0d;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:var(--ui-size-6px, 6px) var(--ui-size-12px, 12px);display:flex;align-items:center;gap:var(--ui-size-10px, 10px);min-height:var(--ui-size-46px, 46px);box-sizing:border-box;transition:background .15s ease,border-color .15s ease}.board-player-item:hover{background:#ffffff14}.board-player-item-host{background:#f59e0b14;border-color:#f59e0b4d}@media(min-width:768px)and (max-width:1200px)and (orientation:landscape){.main-content{padding:var(--ui-size-8px, 8px) var(--ui-size-14px, 14px) var(--ui-size-4px, 4px) var(--ui-size-14px, 14px);max-width:100%}.board-waiting-layout{gap:var(--ui-size-14px, 14px);height:100%;max-height:100%}.board-waiting-col-info{padding:var(--ui-size-16px, 16px) var(--ui-size-14px, 14px)}.board-waiting-col-players{padding:var(--ui-size-14px, 14px) var(--ui-size-14px, 14px);gap:var(--ui-size-8px, 8px)}.board-player-item{padding:var(--ui-size-5px, 5px) var(--ui-size-10px, 10px);min-height:var(--ui-size-44px, 44px);gap:var(--ui-size-8px, 8px)}}@media(max-width:768px){.board-waiting-layout{display:flex;flex-direction:column;height:auto;max-height:none;gap:var(--ui-size-20px, 20px)}.board-waiting-col{height:auto;overflow:visible}.board-waiting-col-chat .session-chat-sidebar{height:var(--ui-size-450px, 450px)!important}}.player-waiting-view-container{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;height:100%}.player-waiting-mobile-tabs{display:none}.player-waiting-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-size-16px, 16px);width:100%;flex:1;min-height:0;height:100%;max-height:100%;box-sizing:border-box}.player-waiting-col{height:100%;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.player-waiting-col-chat{display:flex;flex-direction:column}.player-waiting-col-info{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.player-waiting-info-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--ui-size-14px, 14px);padding-right:var(--ui-size-4px, 4px);-webkit-overflow-scrolling:touch}.player-waiting-start-action{flex-shrink:0;padding-top:var(--ui-size-12px, 12px);width:100%}.player-waiting-start-btn{width:100%;min-height:var(--ui-size-64px, 64px);padding:var(--ui-size-18px, 18px) var(--ui-size-24px, 24px);font-size:var(--ui-font-1_15rem, 1.15rem);font-weight:800;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:var(--ui-size-12px, 12px);border-radius:var(--radius-lg);box-shadow:0 var(--ui-size-4px, 4px) var(--ui-size-20px, 20px) #10b98166;cursor:pointer;transition:all .2s ease}.player-waiting-start-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.player-waiting-start-waiting{width:100%;min-height:var(--ui-size-56px, 56px);padding:var(--ui-size-16px, 16px) var(--ui-size-20px, 20px);font-size:var(--ui-font-0_95rem, .95rem);font-weight:600;text-align:center;border-radius:var(--radius-lg);background:#ffffff0d;border:1px solid var(--border-glass);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:var(--ui-size-8px, 8px);box-sizing:border-box}.player-rules-section{display:flex;flex-direction:column}.player-waiting-col-players{display:flex;flex-direction:column;gap:var(--ui-size-10px, 10px);padding:var(--ui-size-16px, 16px) var(--ui-size-18px, 18px);background:var(--bg-card);backdrop-filter:blur(var(--ui-size-16px, 16px));-webkit-backdrop-filter:blur(var(--ui-size-16px, 16px));border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.player-waiting-players-list{display:flex;flex-direction:column;gap:var(--ui-size-6px, 6px);flex:1;min-height:0;overflow-y:auto;padding-right:var(--ui-size-2px, 2px)}.player-waiting-item{background:#ffffff0d;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:var(--ui-size-6px, 6px) var(--ui-size-12px, 12px);display:flex;align-items:center;gap:var(--ui-size-10px, 10px);min-height:var(--ui-size-46px, 46px);box-sizing:border-box;transition:background .15s ease,border-color .15s ease}.player-waiting-item-host{background:#f59e0b14;border-color:#f59e0b4d}.player-waiting-item-me{background:#6366f11f;border-color:#6366f159}@media(min-width:769px)and (max-width:1200px)and (orientation:landscape){.player-waiting-layout{gap:var(--ui-size-14px, 14px);height:100%;max-height:100%}.player-waiting-col-players{padding:var(--ui-size-14px, 14px);gap:var(--ui-size-8px, 8px)}.player-waiting-item{padding:var(--ui-size-5px, 5px) var(--ui-size-10px, 10px);min-height:var(--ui-size-44px, 44px);gap:var(--ui-size-8px, 8px)}}@media(max-width:768px){.player-waiting-view-container{height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.player-waiting-mobile-tabs{display:flex;align-items:center;justify-content:center;gap:var(--ui-size-8px, 8px);padding:0 var(--ui-size-4px, 4px) var(--ui-size-6px, 6px) var(--ui-size-4px, 4px);flex-shrink:0;width:100%;box-sizing:border-box}.player-waiting-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--ui-size-6px, 6px);padding:var(--ui-size-8px, 8px) var(--ui-size-4px, 4px);border-radius:var(--radius-full);border:1px solid var(--border-glass);background:#ffffff0a;color:var(--text-secondary);font-size:var(--ui-font-0_82rem, .82rem);font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.player-waiting-tab-btn:active{transform:scale(.97)}.player-waiting-tab-active{background:linear-gradient(135deg,#6366f14d,#8b5cf64d);border-color:#818cf8a6;color:#fff;box-shadow:0 var(--ui-size-2px, 2px) var(--ui-size-12px, 12px) #6366f159}.player-waiting-tab-badge{background:#ef4444;color:#fff;font-size:var(--ui-font-0_65rem, .65rem);font-weight:700;min-width:var(--ui-size-18px, 18px);height:var(--ui-size-18px, 18px);border-radius:9px;padding:0 var(--ui-size-4px, 4px);display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 var(--ui-size-8px, 8px) #ef444499}.player-waiting-layout{display:flex;flex-direction:row;flex:1;min-height:0;height:100%;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:0;padding-bottom:0}.player-waiting-layout::-webkit-scrollbar{display:none}.player-waiting-col{flex:0 0 100%;width:100%;min-width:100%;max-width:100%;scroll-snap-align:start;scroll-snap-stop:always;height:100%;max-height:100%;min-height:0;overflow:hidden;padding:0 var(--ui-size-4px, 4px);box-sizing:border-box}.player-waiting-col-chat{order:1;display:flex;flex-direction:column;height:100%;min-height:0}.player-waiting-col-chat .session-chat-sidebar{height:100%!important;max-height:100%!important;min-height:0!important;position:static!important;width:100%!important;border-radius:var(--radius-lg)}.player-waiting-col-info{order:2;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.player-waiting-info-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:var(--ui-size-12px, 12px)}.player-rules-section{max-height:none;overflow:visible}.player-waiting-start-action{flex-shrink:0;padding-top:var(--ui-size-10px, 10px);padding-bottom:var(--ui-size-4px, 4px);width:100%;background:transparent}.player-waiting-col-players{order:3;display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden;padding:var(--ui-size-16px, 16px);box-sizing:border-box}.player-waiting-players-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:var(--ui-size-2px, 2px)}}.admin-container{width:100%;box-sizing:border-box}.admin-tab-btn{display:inline-flex;align-items:center;gap:var(--ui-size-8px, 8px);background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:var(--ui-size-8px, 8px) var(--ui-size-14px, 14px);border-radius:var(--radius-md);font-size:var(--ui-font-0_88rem, .88rem);font-weight:600;cursor:pointer;transition:all .2s ease}.admin-tab-btn:hover{background:#ffffff0d;color:#fff}.admin-tab-btn-active{background:#6366f126!important;border-color:#6366f166!important;color:#a5b4fc!important}.admin-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--ui-size-220px, 220px),1fr));gap:var(--ui-size-16px, 16px)}.admin-metric-tile{padding:var(--ui-size-18px, 18px) var(--ui-size-20px, 20px);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--ui-size-16px, 16px)}.admin-metric-icon{width:var(--ui-size-48px, 48px);height:var(--ui-size-48px, 48px);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;border:1px solid;flex-shrink:0}.admin-metric-label{display:block;font-size:var(--ui-font-0_78rem, .78rem);color:var(--text-secondary);font-weight:500;margin-bottom:var(--ui-size-2px, 2px)}.admin-metric-val{font-size:var(--ui-font-1_55rem, 1.55rem);font-weight:800;color:#fff;line-height:1.1}@media(max-width:640px){.admin-header-label{display:none}}.ludo-2col-wrapper{display:grid;grid-template-columns:minmax(var(--ui-size-320px, 320px),var(--ui-size-360px, 360px)) 1fr;gap:var(--ui-size-20px, 20px);width:100%;max-width:var(--ui-size-1380px, 1380px);margin:0 auto;align-items:center;min-height:calc(100vh - var(--ui-size-105px, 105px));box-sizing:border-box}.ludo-left-col{width:100%;height:min(calc(100vh - var(--ui-size-110px, 110px)),var(--ui-size-720px, 720px));display:flex;flex-direction:column;gap:var(--ui-size-10px, 10px);box-sizing:border-box}.ludo-tab-bar{display:flex;background:#00000059;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:var(--ui-size-3px, 3px);gap:var(--ui-size-4px, 4px);flex-shrink:0}.ludo-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--ui-size-6px, 6px);padding:var(--ui-size-8px, 8px) var(--ui-size-12px, 12px);border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-secondary);font-size:var(--ui-font-0_85rem, .85rem);font-weight:600;cursor:pointer;transition:all .2s ease}.ludo-tab-btn:hover{color:#fff;background:#ffffff0d}.ludo-tab-btn.active{background:#6366f140;color:#fff;box-shadow:0 0 var(--ui-size-12px, 12px) #6366f14d}.ludo-left-content{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--ui-size-10px, 10px);overflow-y:auto;padding-right:var(--ui-size-2px, 2px)}.ludo-right-col{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ludo-field-container{width:min(calc(100vh - var(--ui-size-110px, 110px)),var(--ui-size-720px, 720px));height:min(calc(100vh - var(--ui-size-110px, 110px)),var(--ui-size-720px, 720px));max-width:100%;aspect-ratio:1 / 1;position:relative;background:radial-gradient(circle at center,#1e293be6,#0f172afa);border-radius:28px;padding:var(--ui-size-10px, 10px);box-shadow:0 var(--ui-size-20px, 20px) var(--ui-size-50px, 50px) #0009,inset 0 0 var(--ui-size-2px, 2px) #ffffff26;border:2px solid rgba(255,255,255,.08);box-sizing:border-box;overflow:hidden;display:flex;align-items:center;justify-content:center}.ludo-sidebar-card{background:var(--bg-card);backdrop-filter:blur(var(--ui-size-16px, 16px));-webkit-backdrop-filter:blur(var(--ui-size-16px, 16px));border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--ui-size-14px, 14px) var(--ui-size-18px, 18px);box-shadow:var(--shadow-md)}.ludo-player-card{padding:var(--ui-size-12px, 12px) var(--ui-size-14px, 14px);border-radius:var(--radius-lg);border:1px solid var(--border-glass);background:#ffffff0a;transition:all .25s ease}.ludo-player-card.active{background:#6366f12e;border-color:#6366f173;box-shadow:0 0 var(--ui-size-20px, 20px) #6366f14d}@media(max-width:920px){.ludo-2col-wrapper{display:flex;flex-direction:column-reverse;align-items:center;gap:var(--ui-size-16px, 16px);min-height:auto}.ludo-right-col{width:100%}.ludo-field-container{width:min(92vw,var(--ui-size-520px, 520px));height:min(92vw,var(--ui-size-520px, 520px))}.ludo-left-col{width:100%;max-width:var(--ui-size-520px, 520px);height:auto}}.rps-2col-wrapper{display:grid;grid-template-columns:minmax(var(--ui-size-320px, 320px),1fr) 2fr;gap:var(--ui-size-24px, 24px);width:100%;max-width:var(--ui-size-1440px, 1440px);margin:0 auto;align-items:start;min-height:calc(100vh - var(--ui-size-105px, 105px));box-sizing:border-box}.rps-left-col{width:100%;height:calc(100vh - var(--ui-size-110px, 110px));display:flex;flex-direction:column;gap:var(--ui-size-10px, 10px);box-sizing:border-box}.rps-right-col{width:100%;display:flex;flex-direction:column;gap:var(--ui-size-20px, 20px);min-height:0}@media(max-width:960px){.rps-2col-wrapper{display:flex;flex-direction:column-reverse;align-items:center;gap:var(--ui-size-16px, 16px);min-height:auto}.rps-left-col{width:100%;max-width:var(--ui-size-600px, 600px);height:auto;min-height:var(--ui-size-480px, 480px)}.rps-right-col{width:100%}}.dice-roller-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ui-size-16px, 16px) var(--ui-size-10px, 10px);perspective:var(--ui-size-1000px, 1000px)}.dice-3d-box{width:var(--ui-size-96px, 96px);height:var(--ui-size-96px, 96px);background:linear-gradient(145deg,#fff,#edf2f7);border-radius:20px;box-shadow:0 var(--ui-size-12px, 12px) var(--ui-size-28px, 28px) #0006,inset 0 var(--ui-size-2px, 2px) var(--ui-size-4px, 4px) #ffffffe6,inset 0 var(--ui-size-neg-3px, -3px) var(--ui-size-6px, 6px) #00000026;border:2px solid rgba(255,255,255,.85);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:var(--ui-size-14px, 14px);gap:var(--ui-size-8px, 8px);box-sizing:border-box;-webkit-user-select:none;user-select:none;transition:transform .2s ease,box-shadow .2s ease}.dice-3d-box.rolling{animation:dice-tumble-shake .35s infinite linear;box-shadow:0 0 var(--ui-size-30px, 30px) #6366f1b3,0 var(--ui-size-12px, 12px) var(--ui-size-28px, 28px) #0006}.dice-3d-box.landed{animation:dice-land-slam .45s cubic-bezier(.175,.885,.32,1.275)}.dice-3d-box.six-winner{animation:dice-six-pulse 1.5s infinite ease-in-out;border-color:#eab308e6}.dice-dot{width:100%;height:100%;border-radius:50%;background:#1e293b;box-shadow:inset 0 var(--ui-size-2px, 2px) var(--ui-size-3px, 3px) #0000008c,0 var(--ui-size-1px, 1px) var(--ui-size-1px, 1px) #fff6}.dice-dot.red-dot{background:#e11d48;box-shadow:inset 0 var(--ui-size-2px, 2px) var(--ui-size-3px, 3px) #9f1239cc,0 var(--ui-size-1px, 1px) var(--ui-size-1px, 1px) #ffffff80}.dice-dot-placeholder{width:100%;height:100%;visibility:hidden}@keyframes dice-tumble-shake{0%{transform:rotate(0) translateY(0) scale(1.02)}20%{transform:rotate(18deg) translateY(var(--ui-size-neg-10px, -10px)) scale(1.08) rotateX(15deg)}40%{transform:rotate(-16deg) translateY(var(--ui-size-neg-4px, -4px)) scale(.96) rotateY(-20deg)}60%{transform:rotate(14deg) translateY(var(--ui-size-neg-14px, -14px)) scale(1.1) rotateX(-15deg)}80%{transform:rotate(-12deg) translateY(var(--ui-size-neg-5px, -5px)) scale(.98) rotateY(15deg)}to{transform:rotate(0) translateY(0) scale(1.02)}}@keyframes dice-land-slam{0%{transform:scale(.75) translateY(var(--ui-size-neg-20px, -20px)) rotate(-15deg);box-shadow:0 var(--ui-size-4px, 4px) var(--ui-size-10px, 10px) #0003}50%{transform:scale(1.22) translateY(var(--ui-size-4px, 4px)) rotate(5deg);box-shadow:0 0 var(--ui-size-35px, 35px) #6366f1cc,0 var(--ui-size-15px, 15px) var(--ui-size-30px, 30px) #00000080}75%{transform:scale(.96) translateY(var(--ui-size-neg-2px, -2px)) rotate(-2deg)}to{transform:scale(1) translateY(0) rotate(0);box-shadow:0 var(--ui-size-12px, 12px) var(--ui-size-28px, 28px) #0006}}@keyframes dice-six-pulse{0%,to{box-shadow:0 0 var(--ui-size-16px, 16px) #eab30880,0 var(--ui-size-10px, 10px) var(--ui-size-25px, 25px) #00000059}50%{box-shadow:0 0 var(--ui-size-38px, 38px) #eab308e6,0 0 var(--ui-size-20px, 20px) #f59e0bb3}}.ludo-controller-screen{display:flex;flex-direction:column;gap:var(--ui-size-10px, 10px);width:100%;max-width:var(--ui-size-440px, 440px);margin:0 auto;box-sizing:border-box;padding:var(--ui-size-2px, 2px) var(--ui-size-4px, 4px) var(--ui-size-10px, 10px) var(--ui-size-4px, 4px)}.ludo-controller-dice-section{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-card);backdrop-filter:blur(var(--ui-size-16px, 16px));-webkit-backdrop-filter:blur(var(--ui-size-16px, 16px));border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--ui-size-16px, 16px) var(--ui-size-14px, 14px) var(--ui-size-12px, 12px) var(--ui-size-14px, 14px);box-shadow:var(--shadow-md);position:relative;min-height:var(--ui-size-160px, 160px);box-sizing:border-box}.ludo-board-center-dice-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:20;display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),filter .5s ease}.ludo-board-center-dice-wrapper.rolling{transform:translate(-50%,-50%) scale(1.65);filter:drop-shadow(0 0 var(--ui-size-35px, 35px) rgba(99,102,241,.85)) drop-shadow(0 var(--ui-size-15px, 15px) var(--ui-size-30px, 30px) rgba(0,0,0,.6))}.ludo-board-center-dice-wrapper.docked{transform:translate(-50%,-50%) scale(.68);filter:drop-shadow(0 var(--ui-size-4px, 4px) var(--ui-size-12px, 12px) rgba(0,0,0,.5))}.ludo-controller-dice-section.active-turn{border-color:#6366f173;background:linear-gradient(145deg,#6366f11f,#a855f714)}.ludo-controller-figures-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-size-10px, 10px);width:100%;box-sizing:border-box}.ludo-figure-card{display:flex;align-items:center;gap:var(--ui-size-10px, 10px);padding:var(--ui-size-10px, 10px) var(--ui-size-12px, 12px);border-radius:var(--radius-md);background:#ffffff0a;border:1px solid var(--border-glass);text-align:left;transition:all .2s ease;-webkit-user-select:none;user-select:none;box-sizing:border-box;min-height:var(--ui-size-68px, 68px)}.ludo-figure-card.interactive{background:linear-gradient(135deg,#06b6d42e,#6366f12e);border:2px solid var(--accent-secondary);box-shadow:0 0 var(--ui-size-16px, 16px) #06b6d459;cursor:pointer}.ludo-figure-card.interactive:active{transform:scale(.96)}.ludo-figure-card.blocked{opacity:.45}
