@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue-v14-latin-ext-regular.woff2) format("woff2"),url(/fonts/bebas-neue-v14-latin-ext-regular.woff) format("woff")}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-condensed-v27-latin-ext-regular.woff2) format("woff2"),url(/fonts/roboto-condensed-v27-latin-ext-regular.woff) format("woff")}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/roboto-condensed-v27-latin-ext-700.woff2) format("woff2"),url(/fonts/roboto-condensed-v27-latin-ext-700.woff) format("woff")}*{box-sizing:border-box;margin:0;padding:0}:root{--pitch-green: #0a2e1a;--pitch-grass: #123d24;--pitch-lines: rgba(0, 212, 255, .3);--scoreboard-bg: rgba(0, 0, 0, .85);--neon-yellow: #f3f315;--neon-red: #ff3326;--neon-blue: #00d4ff;--neon-orange: #ff9900;--neon-green: #39ff14;--text-main: #ffffff;--glass-bg: rgba(255, 255, 255, .1);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}body{margin:0;overflow:hidden;font-family:Roboto Condensed,sans-serif;background-color:#000;color:var(--text-main);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;min-height:-webkit-fill-available}.btn{--btn-pad-y: clamp(8px, 2.2vw, 12px);--btn-pad-x: clamp(16px, 6vw, 28px);--btn-font: clamp(.9rem, 3.2vw, 1.2rem);--btn-min-h: clamp(36px, 7vw, 48px);--btn-radius: clamp(10px, 3vw, 20px);--btn-letter: clamp(.4px, .4vw, 1.2px);display:inline-flex;align-items:center;justify-content:center;gap:clamp(4px,1vw,8px);max-width:100%;min-width:0;min-height:var(--btn-min-h);padding:var(--btn-pad-y) var(--btn-pad-x);font-size:var(--btn-font);letter-spacing:var(--btn-letter);border-radius:var(--btn-radius);line-height:1.1;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-wrap:balance}.btn:focus-visible{outline:2px solid rgba(0,212,255,.65);outline-offset:2px}.btn--clamp2{overflow:hidden}.btn--clamp2 .btn-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.btn--primary{color:var(--neon-blue);border-color:var(--neon-blue)}.btn--secondary{color:#ffffffe6;border-color:#ffffff40}.btn--ghost{color:#ffffffe6;border-color:#ffffff2e;background:#ffffff0d}.btn--danger{color:var(--neon-red);border-color:#ff505099;background:#ff505014}.btn--sm{--btn-pad-y: clamp(6px, 1.8vw, 10px);--btn-pad-x: clamp(12px, 5vw, 20px);--btn-font: clamp(.78rem, 2.8vw, 1rem);--btn-min-h: clamp(32px, 6vw, 40px);--btn-radius: clamp(8px, 2.4vw, 16px)}@media(orientation:landscape){.btn{--btn-pad-y: clamp(6px, 1.6vw, 9px);--btn-font: clamp(.82rem, 2.6vw, 1.05rem);--btn-min-h: clamp(32px, 5.6vw, 40px)}.btn--lg{--btn-pad-y: clamp(8px, 2.2vw, 11px);--btn-font: clamp(.95rem, 3.1vw, 1.2rem);--btn-min-h: clamp(38px, 6.6vw, 46px)}}.btn--lg{--btn-pad-y: clamp(10px, 2.8vw, 14px);--btn-pad-x: clamp(18px, 7vw, 34px);--btn-font: clamp(1rem, 3.6vw, 1.35rem);--btn-min-h: clamp(42px, 8vw, 54px);--btn-radius: clamp(12px, 3vw, 22px)}.btn--icon{padding:0!important;min-height:unset}:is(.start-button,.guide-button,.game-mode-button,.language-button,.welcome-mini-btn,.gm-cta,.gm-start,.gm-option,.language-option,.game-mode-option,.lan-role-btn,.lan-copy-btn,.lan-retry-btn,.lan-disconnect-btn,.summary-action-btn,.control-btn,.slider-btn){display:inline-flex;align-items:center;justify-content:center;gap:clamp(4px,1vw,8px);max-width:100%;min-width:0;line-height:1.1;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-wrap:balance}:is(.start-button,.guide-button,.game-mode-button,.language-button,.welcome-mini-btn,.gm-cta,.gm-start,.gm-option,.language-option,.game-mode-option,.lan-role-btn,.lan-copy-btn,.lan-retry-btn,.lan-disconnect-btn,.summary-action-btn,.control-btn,.slider-btn,.close-modal,.gm-close,.save-button).btn{font-size:var(--btn-font)!important;padding:var(--btn-pad-y) var(--btn-pad-x)!important;min-height:var(--btn-min-h)!important;letter-spacing:var(--btn-letter)!important;border-radius:var(--btn-radius)!important}.btn.btn--icon{padding:0!important;min-height:unset!important}body.is-playing .advantage-badge{animation:none!important;box-shadow:0 0 5px var(--neon-green)!important}body.is-playing .pitch-markings{animation:none!important;box-shadow:none!important}body.is-playing .spotlight{animation:none!important;opacity:.3!important}body.is-playing .header-title h1{text-shadow:0 0 5px rgba(0,212,255,.3)!important}body.is-playing .welcome-bg-overlay,body.is-playing .offline-content{animation:none!important}body.is-playing .offline-icon{box-shadow:0 0 15px var(--neon-red)!important}body.is-playing .summary-header-text{text-shadow:0 0 5px rgba(0,212,255,.2)!important}body.is-playing .control-btn{box-shadow:none!important}body.is-playing .control-btn:hover{box-shadow:0 2px 8px #0000004d!important}.advantage-badge{font-family:Bebas Neue,sans-serif;font-size:.8rem;color:var(--neon-green);border:1px solid var(--neon-green);padding:1px 4px;border-radius:3px;margin-left:5px;margin-right:5px;animation:pulseNeon 1s infinite alternate;vertical-align:middle;will-change:opacity,box-shadow;transform:translateZ(0)}@keyframes pulseNeon{0%{opacity:.6;box-shadow:0 0 2px var(--neon-green)}to{opacity:1;box-shadow:0 0 8px var(--neon-green)}}@keyframes screenShake{0%{transform:translate3d(1px,1px,0) rotate(0)}10%{transform:translate3d(-1px,-2px,0) rotate(-1deg)}20%{transform:translate3d(-3px,0,0) rotate(1deg)}30%{transform:translate3d(3px,2px,0) rotate(0)}40%{transform:translate3d(1px,-1px,0) rotate(1deg)}50%{transform:translate3d(-1px,2px,0) rotate(-1deg)}60%{transform:translate3d(-3px,1px,0) rotate(0)}70%{transform:translate3d(3px,1px,0) rotate(-1deg)}80%{transform:translate3d(-1px,-1px,0) rotate(1deg)}90%{transform:translate3d(1px,2px,0) rotate(0)}to{transform:translate3d(1px,-2px,0) rotate(-1deg)}}.shake-active{animation:screenShake .4s cubic-bezier(.36,.07,.19,.97) both;will-change:transform;transform:translateZ(0)}.welcome-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;background:#000;z-index:5000;text-align:center;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--bannerH, 50px) + var(--safe-bottom)) calc(12px + var(--safe-left));touch-action:pan-y}.welcome-bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(0,212,255,.15) 0%,transparent 75%)}.welcome-content{position:relative;z-index:10;animation:fadeInDown 1s ease-out}.welcome-buttons{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2.2vh,14px);margin-top:clamp(10px,2.5vh,18px)}.welcome-buttons>button{width:min(340px,82vw);margin-top:0!important}.welcome-buttons>button:nth-child(2),.welcome-buttons>button:nth-child(4){width:min(300px,74vw)}@media(orientation:landscape){.welcome-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,14px);width:min(720px,92vw);margin-left:auto;margin-right:auto;justify-items:stretch;align-items:stretch}.welcome-buttons>button{width:100%}.welcome-buttons>button:nth-child(2),.welcome-buttons>button:nth-child(4){width:92%;justify-self:center}}.welcome-logo{width:clamp(105px,26.4vw,176px);height:auto;max-width:100%;margin-bottom:clamp(8px,1.5vh,15px);object-fit:contain;filter:drop-shadow(0 0 17px rgba(0,212,255,.425))}.welcome-title{font-family:Bebas Neue,sans-serif;font-size:clamp(4rem,15vw,8rem);color:var(--neon-blue);text-shadow:0 0 30px rgba(0,212,255,.8);margin-bottom:0;margin-top:clamp(-5px,-1vh,-2px);letter-spacing:5px;text-align:center;text-wrap:balance}.welcome-subtitle{font-size:clamp(.81rem,2.7vw,1.08rem);color:#fff;letter-spacing:8px;margin-bottom:clamp(30px,8vh,40px);text-transform:uppercase;opacity:.7;text-align:center;text-wrap:balance;-webkit-hyphens:auto;hyphens:auto}.gm-cta-wrap{display:flex;justify-content:center;align-items:center;margin-top:clamp(6px,1.5vh,14px)}.gm-cta{width:min(380px,86vw);padding:clamp(14px,3.4vw,18px) clamp(18px,5vw,22px);border-radius:22px;border:1px solid rgba(0,212,255,.45);background:linear-gradient(180deg,#ffffff1a,#ffffff0d);color:#00d4fffa;font-family:Bebas Neue,sans-serif;font-size:clamp(1.6rem,6vw,2.3rem);letter-spacing:2px;cursor:pointer;box-shadow:0 0 0 1px #00d4ff1f inset,0 18px 46px #0000008c,0 0 26px #00d4ff40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;animation:gmPulse 1.7s ease-in-out infinite}.gm-cta:hover{transform:translateY(-1px) scale(1.01);border-color:#00d4ffb3;box-shadow:0 0 0 1px #00d4ff29 inset,0 20px 50px #0009,0 0 34px #00d4ff59}.gm-cta:active{transform:scale(.985)}@keyframes gmPulse{0%{box-shadow:0 0 0 1px #00d4ff1f inset,0 18px 46px #0000008c,0 0 18px #00d4ff2e}50%{box-shadow:0 0 0 1px #00d4ff2e inset,0 18px 46px #0000008c,0 0 32px #00d4ff57}to{box-shadow:0 0 0 1px #00d4ff1f inset,0 18px 46px #0000008c,0 0 18px #00d4ff2e}}.gm-selected{width:min(520px,90vw);margin:clamp(12px,2.2vh,16px) auto 0 auto;color:#ffffffd9;font-size:.95rem;letter-spacing:.5px;overflow-wrap:anywhere}.gm-selected-hint{opacity:.72}.gm-selected-pill{display:inline-block;margin-left:8px;padding:5px 10px;border-radius:999px;border:1px solid rgba(0,212,255,.35);background:#00000059;color:#00d4fff2;box-shadow:0 0 18px #00d4ff2e}.welcome-secondary{display:flex;justify-content:center;gap:10px;margin-top:clamp(14px,3vh,18px)}.welcome-mini-btn{border-radius:999px;padding:9px 14px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffffffd9;font-family:Bebas Neue,sans-serif;letter-spacing:2px;font-size:1.05rem;cursor:pointer;box-shadow:0 12px 28px #00000073;transition:transform .14s ease,border-color .14s ease,background .14s ease}.welcome-mini-btn:hover{transform:translateY(-1px);border-color:#00d4ff59;background:#00d4ff1a}.gm-modal-shell:not(.mode-modal){position:fixed;top:0;right:0;bottom:0;left:0;z-index:5600;width:100%;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:center;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:calc(16px + var(--safe-top));padding-right:calc(16px + var(--safe-right));padding-bottom:calc(16px + var(--safe-bottom) + var(--bannerH, 50px));padding-left:calc(16px + var(--safe-left));box-sizing:border-box;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;animation:gmFadeIn 70ms ease-out both}.gm-modal-shell.closing{animation:gmFadeOut 60ms ease-in both}@keyframes gmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gmFadeOut{0%{opacity:1}to{opacity:0}}.gm-backdrop:not(.mode-backdrop){position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;will-change:opacity}.gm-modal:not(.mode-card){position:relative;box-sizing:border-box;width:min(520px,calc(100% - 32px - var(--safe-left) - var(--safe-right)));max-width:calc(100% - 32px - var(--safe-left) - var(--safe-right));border-radius:18px;padding:18px 16px 16px;background:linear-gradient(180deg,#060a10f5,#060a10eb);border:1px solid rgba(0,212,255,.45);box-shadow:0 28px 80px #000000bf,0 0 0 1px #00d4ff2e inset;backdrop-filter:none;-webkit-backdrop-filter:none;transform-origin:center;animation:gmPopIn 70ms cubic-bezier(.2,.9,.2,1) both;will-change:transform,opacity;isolation:isolate;max-height:calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom) - var(--bannerH, 50px));overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;margin:0 auto;flex-shrink:0}@media(orientation:landscape)and (max-height:520px){.gm-modal-shell:not(.mode-modal){align-items:center;padding-top:calc(10px + var(--safe-top));padding-bottom:calc(10px + var(--safe-bottom) + var(--bannerH, 50px))}.gm-modal:not(.mode-card){padding:12px;border-radius:16px;max-height:calc(100dvh - 20px - var(--safe-top) - var(--safe-bottom) - var(--bannerH, 50px))}.gm-modal-title{font-size:22px;letter-spacing:.08em;margin-bottom:10px}.gm-options{gap:8px}.gm-option{grid-template-columns:34px 1fr;gap:8px;padding:8px 10px}.gm-start{padding:10px 12px}}.gm-modal-shell:not(.mode-modal).closing .gm-modal:not(.mode-card){animation:gmPopOut 60ms cubic-bezier(.4,0,.8,.2) both}@keyframes gmPopIn{0%{transform:translateY(10px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes gmPopOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(6px) scale(.98);opacity:0}}@media(max-width:768px){.gm-backdrop:not(.mode-backdrop){backdrop-filter:none;-webkit-backdrop-filter:none}.gm-modal:not(.mode-card){backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 16px 40px #0000008c,0 0 0 1px #00d4ff1a inset;animation:none}.gm-modal-shell:not(.mode-modal){animation:none}}.gm-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffe0;cursor:pointer;display:grid;place-items:center;font-size:22px;line-height:1;transition:transform .14s ease,border-color .14s ease}.gm-close:hover{transform:scale(1.04);border-color:#00d4ff59}.gm-modal-title{font-family:Bebas Neue,sans-serif;font-size:1.65rem;letter-spacing:clamp(1px,1.5vw,3px);color:#ffffffeb;text-shadow:0 0 16px rgba(0,212,255,.22);padding-right:44px;margin-bottom:12px}.gm-options{display:grid;gap:10px;margin-top:6px;min-width:0;flex:1 1 auto;overflow-y:auto;max-height:none}.gm-option{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,220,255,.16);background:#ffffff0a;color:#ffffffeb;cursor:pointer;box-shadow:0 12px 28px #00000073;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease;text-align:left;min-width:0}.gm-text{min-width:0}.gm-opt-title{overflow-wrap:anywhere;word-break:break-word}.gm-option:hover{transform:translateY(-1px);border-color:#00dcff52;background:#00dcff14}.gm-option.active{border-color:#00f0ffa6;box-shadow:0 0 0 1px #00f0ff2e inset,0 18px 44px #00000080,0 0 22px #00dcff2e;background:#00dcff1f}.gm-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#00ebfff2;background:#00000059;border:1px solid rgba(0,220,255,.22);box-shadow:0 0 14px #00dcff24}.gm-icon svg{width:19px;height:19px}.gm-modal-shell.mode-modal{position:fixed;inset:0 0 var(--bannerOffset, 0px) 0;width:100vw;height:calc(100dvh - var(--bannerOffset, 0px));min-height:calc(100dvh - var(--bannerOffset, 0px));box-sizing:border-box;z-index:9999;pointer-events:auto;--gm-modal-optical-shift: -5%;background:#0000009e!important;background-image:radial-gradient(900px 520px at 50% 6%,#00dcff1f,#0000 60%),radial-gradient(800px 520px at 20% 94%,#00dcff14,#0000 62%),radial-gradient(800px 520px at 80% 92%,#00dcff0f,#0000 60%);backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;padding:max(12px,var(--safe-top)) max(12px,var(--safe-right)) max(12px,var(--safe-bottom)) max(12px,var(--safe-left));display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:contain;touch-action:none;isolation:isolate}.gm-backdrop.mode-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;z-index:0}.gm-modal.mode-card{position:relative;z-index:1;width:min(92vw,420px);max-height:calc(100% - 24px);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:0 auto;border-radius:22px;padding:0;background:#080e12d1;border:1px solid rgba(0,240,255,.22);box-shadow:0 0 20px #00dcff38,0 22px 70px #000000b3,0 0 0 1px #ffffff0d inset;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:translate3d(0,var(--gm-modal-optical-shift, -5%),0);transform-origin:center;animation:gmModePopIn 80ms cubic-bezier(.2,.9,.2,1) both;will-change:transform,opacity}.gm-modal-shell.mode-modal.closing .gm-modal.mode-card{animation:gmModePopOut 70ms cubic-bezier(.4,0,.8,.2) both}@keyframes gmModePopIn{0%{transform:translate3d(0,calc(var(--gm-modal-optical-shift) + 10px),0) scale(.97);opacity:0}to{transform:translate3d(0,var(--gm-modal-optical-shift),0) scale(1);opacity:1}}@keyframes gmModePopOut{0%{transform:translate3d(0,var(--gm-modal-optical-shift),0) scale(1);opacity:1}to{transform:translate3d(0,calc(var(--gm-modal-optical-shift) + 6px),0) scale(.98);opacity:0}}.mode-header{position:relative;padding:16px 16px 8px;background:linear-gradient(180deg,#060a0ee6,#060a0e99);border-bottom:1px solid rgba(0,240,255,.14)}.mode-content{flex:0 0 auto;min-height:auto;overflow:visible;touch-action:auto;padding:10px 16px 12px}.mode-footer{position:relative;padding:10px 16px calc(16px + var(--safe-bottom));background:linear-gradient(0deg,#060a0ee6,#060a0e8c);border-top:1px solid rgba(0,240,255,.14)}.gm-modal.mode-card .gm-options{flex:0 0 auto;overflow:visible}.mode-footer .gm-start,.mode-footer .gm-start.mode-start-btn{margin-top:0}.gm-modal.mode-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px 140px at 50% 0%,#00d4ff1a,#0000 70%);opacity:.9}.gm-modal-title.mode-title{color:#fffffff5;text-shadow:0 0 16px rgba(0,220,255,.22);letter-spacing:.18em}.mode-subtitle{margin-top:-2px;margin-bottom:12px;color:#ffffffb8;font-size:.92rem;font-weight:600;letter-spacing:.3px}.gm-close.mode-close{width:38px;height:38px;border-radius:999px;border:1px solid rgba(0,212,255,.26);background:#ffffff0d;box-shadow:0 0 0 1px #ffffff0a inset,0 0 18px #00d4ff1a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}@media(hover:hover){.gm-close.mode-close:hover{transform:scale(1.06);border-color:#00d4ff6b;background:#00d4ff14;box-shadow:0 0 0 1px #00d4ff1a inset,0 0 22px #00d4ff29}}.gm-close.mode-close:active{transform:scale(.98)}.gm-close.mode-close:focus-visible{outline:2px solid rgba(0,212,255,.55);outline-offset:3px}.gm-options.mode-options{gap:10px}.gm-option.mode-option{border-radius:14px;border:1px solid rgba(0,212,255,.14);background:linear-gradient(180deg,#ffffff0f,#ffffff0a);box-shadow:0 14px 34px #0000006b;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}@media(hover:hover){.gm-option.mode-option:hover{transform:translateY(-1px);border-color:#00d4ff47;background:linear-gradient(180deg,#00d4ff1a,#ffffff0a);box-shadow:0 18px 44px #00000080,0 0 22px #00d4ff1f}}.gm-option.mode-option--active,.gm-option.mode-option.active{border-color:#00d4ff8c;background:linear-gradient(180deg,#00d4ff24,#ffffff0d);box-shadow:0 0 0 1px #00d4ff29 inset,0 18px 44px #00000085,0 0 26px #00d4ff29;transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.gm-modal-shell.mode-modal,.gm-modal.mode-card,.gm-option.mode-option,.gm-close.mode-close,.gm-start.mode-start-btn,.btn--cta-neon{transition:none!important;animation:none!important}}.gm-opt-title{font-family:Bebas Neue,sans-serif;letter-spacing:2px;font-size:1.1rem}.gm-opt-sub{margin-top:2px;font-size:.8rem;opacity:.75;letter-spacing:.4px}.gm-start{margin-top:14px;width:100%;border-radius:14px;padding:10px 12px;border:none;background:var(--neon-green);color:#000;font-family:Bebas Neue,sans-serif;font-size:1.35rem;letter-spacing:3px;cursor:pointer;box-shadow:0 0 15px var(--neon-green);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}@media(orientation:landscape){.gm-modal-shell.mode-modal{--gm-modal-optical-shift: -2%}.gm-modal.mode-card{max-height:calc(100dvh - 12px)}.mode-content{padding-bottom:6px}}.gm-start:hover{box-shadow:0 0 30px var(--neon-green);transform:scale(1.05)}.gm-start:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:0 0 12px color-mix(in srgb,var(--neon-green) 55%,transparent)}.welcome-mode-select{width:min(680px,92vw);margin:0 auto;margin-top:clamp(4px,1vh,10px);margin-bottom:clamp(12px,2.5vh,18px)}.welcome-mode-title{font-family:Bebas Neue,sans-serif;color:#ffffffd9;letter-spacing:3px;font-size:clamp(1.05rem,3.6vw,1.35rem);margin-bottom:clamp(8px,1.6vh,12px);text-shadow:0 0 10px rgba(0,212,255,.25)}.welcome-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.8vw,14px)}@media(max-width:520px){.welcome-mode-grid{grid-template-columns:1fr}}.mode-card{position:relative;border-radius:14px;padding:12px;background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid rgba(0,212,255,.22);box-shadow:0 12px 30px #00000073;color:#fff;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.mode-card:hover{transform:translateY(-2px);border-color:#00d4ff73;box-shadow:0 16px 34px #0000008c}.mode-card:active{transform:translateY(0)}.mode-card.active{border-color:#f3f315e6;box-shadow:0 0 0 2px #f3f31533,0 18px 42px #0009}.mode-card-title{font-family:Bebas Neue,sans-serif;font-size:1.15rem;letter-spacing:2px;color:#fffffff2}.mode-card-sub{margin-top:6px;font-size:.85rem;opacity:.75;letter-spacing:.5px}.start-button{font-family:Bebas Neue,sans-serif;font-size:clamp(1.1rem,3.6vw,1.65rem);padding:clamp(9px,2.25vw,11px) clamp(36px,10.5vw,50px);background:transparent;color:var(--neon-blue);border:2px solid var(--neon-blue);border-radius:50px;cursor:pointer;transition:transform .15s ease-out,box-shadow .15s ease-out;box-shadow:0 0 15px #00d4ff33;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;outline:none;will-change:transform;transform:translateZ(0)}.start-button:hover{background:var(--neon-blue);color:#000;box-shadow:0 0 25px var(--neon-blue);transform:scale(1.02)}.start-button:active,.start-button.active{background:var(--neon-blue);color:#000;box-shadow:0 0 30px var(--neon-blue),0 0 15px var(--neon-blue) inset;transform:scale(.98);transition:transform .1s ease-out,box-shadow .1s ease-out}.start-button.small{font-size:1.35rem;padding:9px 36px}.guide-button,.game-mode-button{font-family:Bebas Neue,sans-serif;font-size:clamp(.92rem,3.2vw,1.35rem);padding:clamp(7px,1.85vw,9px) clamp(32px,9vw,45px);background:transparent;color:var(--neon-blue);border:2px solid var(--neon-blue);border-radius:50px;cursor:pointer;transition:transform .1s ease-out,background-color .1s ease-out,color .1s ease-out;box-shadow:0 0 15px #00d4ff33;margin-top:clamp(12px,3vh,20px);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;outline:none;will-change:transform;transform:translateZ(0)}.guide-button:hover,.game-mode-button:hover{background:var(--neon-blue);color:#000;box-shadow:0 0 25px var(--neon-blue);transform:scale(1.02)}.guide-button:active,.guide-button.active,.game-mode-button:active,.game-mode-button.active{background:var(--neon-blue);color:#000;box-shadow:0 0 20px var(--neon-blue);transform:scale(.96);transition:transform .1s ease-out}.language-button{font-family:Bebas Neue,sans-serif;font-size:clamp(1rem,3.5vw,1.5rem);padding:clamp(8px,2vw,10px) clamp(35px,10vw,50px);background:transparent;color:var(--neon-blue);border:2px solid var(--neon-blue);border-radius:50px;cursor:pointer;transition:transform .1s ease-out,background-color .1s ease-out,color .1s ease-out;box-shadow:0 0 15px #00d4ff33;margin-top:clamp(12px,3vh,20px);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;outline:none;will-change:transform;transform:translateZ(0)}.language-button:hover{background:var(--neon-blue);color:#000;box-shadow:0 0 25px var(--neon-blue);transform:scale(1.02)}.language-button:active,.language-button.active{background:var(--neon-blue);color:#000;box-shadow:0 0 20px var(--neon-blue);transform:scale(.96);transition:transform .1s ease-out}.language-modal-content,.game-mode-modal-content{max-width:400px;width:90%}.language-options,.game-mode-options{display:flex;flex-direction:column;gap:clamp(15px,3vh,25px);margin-top:clamp(20px,4vh,30px)}.language-option,.game-mode-option{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,20px);padding:clamp(15px,3.5vw,20px);background:transparent;color:var(--neon-blue);border:2px solid var(--neon-blue);border-radius:50px;cursor:pointer;transition:transform .15s ease-out,background-color .15s ease-out,color .15s ease-out;font-family:Bebas Neue,sans-serif;font-size:clamp(1.3rem,4.5vw,1.8rem);letter-spacing:1px;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;outline:none;will-change:transform,background,box-shadow;transform:translateZ(0)}.language-option:hover,.game-mode-option:hover{background:#00d4ff1a;box-shadow:0 0 30px var(--neon-blue);transform:scale(1.05)}.language-option.active,.game-mode-option.active{background:var(--neon-blue);color:#000;box-shadow:0 0 40px var(--neon-blue)}.language-option:active,.game-mode-option:active{transform:scale(.95);transition:transform .1s ease-out;box-shadow:0 0 30px var(--neon-blue)}.language-flag{font-size:clamp(1.8rem,5vw,2.5rem);line-height:1}.language-name{letter-spacing:2px}#langModalBackdrop.modal-backdrop{background:radial-gradient(600px 300px at 50% 20%,rgba(0,212,255,.18),transparent 60%),#000000eb;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.language-modal-content{width:min(92vw,440px);max-height:calc(100dvh - 24px);background:linear-gradient(180deg,#0a121afa,#080c12fa);border:1px solid rgba(0,212,255,.38);border-radius:22px;box-shadow:0 18px 50px #0000008c,0 0 28px #00d4ff33;overflow:hidden;position:relative}.language-modal-content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(240px 120px at 20% 0%,rgba(0,212,255,.18),transparent 60%);pointer-events:none}.language-modal-content .modal-header{background:transparent;border-bottom:none;padding:16px 56px 16px 18px}.language-modal-content .modal-header h2{font-size:clamp(1.1rem,3.2vw,1.45rem);letter-spacing:2.5px;text-shadow:0 0 12px rgba(0,212,255,.35)}.language-modal-content .modal-content{padding:14px 16px 18px}.language-modal-content .close-modal{top:10px;right:10px;border-color:#00d4ff8c;background:#080c12a6;box-shadow:0 0 18px #00d4ff59}.language-options{display:grid;grid-template-columns:1fr;gap:12px;margin-top:8px}.language-option{justify-content:flex-start;gap:14px;padding:14px 16px;border-radius:16px;background:#080e14b3;border:1px solid rgba(0,212,255,.35);box-shadow:inset 0 0 0 1px #ffffff05,0 10px 24px #00000059;font-size:clamp(1.15rem,4vw,1.55rem);letter-spacing:1.5px}.language-option:hover{background:#00d4ff1f;box-shadow:0 0 26px #00d4ff59;transform:translateY(-1px) scale(1.02)}.language-option.active{background:linear-gradient(135deg,#00d4ff47,#00ff9929);color:#f6fdff;border-color:#00d4ffd9;box-shadow:0 0 32px #00d4ff80}.language-option:active{transform:scale(.98)}.language-flag{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#00d4ff1f;border:1px solid rgba(0,212,255,.25);box-shadow:inset 0 0 10px #00d4ff33;font-size:1.5rem}.language-name{letter-spacing:1.8px}.save-button{font-family:Bebas Neue,sans-serif;font-size:1.5rem;padding:12px 50px;background:var(--neon-green);color:#000;border:none;border-radius:8px;cursor:pointer;transition:transform .3s,box-shadow .3s,background-color .3s,color .3s;box-shadow:0 0 15px var(--neon-green)}.save-button:hover{transform:scale(1.05);box-shadow:0 0 30px var(--neon-green)}.btn--cta-neon{min-height:48px;padding:12px 18px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--neon-green),var(--neon-blue));color:#000;text-transform:none;box-shadow:0 16px 40px #00000052,0 0 18px #00d4ff2e,0 0 20px #00ff802e;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}@media(hover:hover){.btn--cta-neon:hover{filter:brightness(1.05) saturate(1.05);box-shadow:0 18px 46px #0000005c,0 0 26px #00d4ff38,0 0 28px #00ff8038;transform:translateY(-1px)}}.btn--cta-neon:active{transform:translateY(1px) scale(.99)}.btn--cta-neon:focus-visible{outline:2px solid rgba(0,212,255,.55);outline-offset:3px}.btn--cta-neon:disabled,.btn--cta-neon[disabled]{opacity:.55;filter:saturate(.85) brightness(.96);cursor:not-allowed;transform:none;box-shadow:0 12px 34px #00000042,0 0 12px #00d4ff1f,0 0 12px #00ff801a}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.offline-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 520px at 50% 8%,#ff33261f,#0000 58%),radial-gradient(760px 520px at 18% 92%,#ff99001a,#0000 60%),linear-gradient(180deg,#050000f2,#000000fa);z-index:6000;text-align:center;padding:calc(14px + var(--safe-top)) calc(14px + var(--safe-right)) calc(14px + var(--bannerH, 50px) + var(--safe-bottom)) calc(14px + var(--safe-left))}.offline-content{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vh,16px);width:min(90vw,420px);padding:clamp(18px,4.5vw,28px) clamp(18px,5vw,32px);border-radius:18px;background:linear-gradient(180deg,#140808b8,#0a040499);border:1px solid rgba(255,80,80,.25);box-shadow:0 22px 60px #000000a6,0 0 0 1px #ffffff0a inset,0 0 18px #ff33262e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.offline-icon{font-family:Bebas Neue,sans-serif;font-size:clamp(3.4rem,9vw,5.5rem);color:var(--neon-red);border:2px solid rgba(255,80,80,.85);width:clamp(78px,18vw,104px);height:clamp(78px,18vw,104px);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:2px;background:radial-gradient(circle at 30% 30%,#ff78642e,#0000 55%);box-shadow:0 0 18px #ff332673,0 0 0 4px #ff33261f inset}.offline-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.8rem,6.2vw,2.8rem);color:var(--neon-red);margin-bottom:0;letter-spacing:1.2px;text-shadow:0 0 10px rgba(255,51,38,.6)}.offline-text{font-size:clamp(.98rem,3.4vw,1.1rem);color:#ffffffdb;line-height:1.5;margin-bottom:0;max-width:100%}@keyframes pulseOffline{0%{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}to{transform:scale(1);opacity:1}}.summary-screen.result-screen{background:radial-gradient(1100px 700px at 50% 8%,#00d4ff1f,#0000 58%),radial-gradient(900px 650px at 18% 92%,#00d4ff14,#0000 60%),linear-gradient(180deg,#000000db,#000000eb);padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--bannerH, 50px) + var(--safe-bottom)) calc(12px + var(--safe-left))}.summary-card.result-card{width:min(92vw,520px)!important;max-width:min(92vw,520px)!important;max-height:calc(100dvh - (24px + var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom)))!important;border-radius:18px!important;border:1px solid rgba(0,212,255,.18)!important;background:linear-gradient(180deg,#12161e99,#080a0e80)!important;box-shadow:0 22px 70px #000000b3,0 0 0 1px #ffffff0f inset,0 0 22px #00d4ff1a!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:16px 14px!important;gap:12px}.summary-card.result-card{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch}.result-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid rgba(0,212,255,.1)}.result-btn{min-height:48px;width:100%;border-radius:14px;font-family:Bebas Neue,sans-serif;letter-spacing:2px;font-size:1.05rem}.result-btn--secondary{background:#ffffff0a!important;border:1px solid rgba(0,212,255,.22)!important;color:#ffffffeb!important}@media(hover:hover){.result-btn--secondary:hover{background:#00d4ff14!important;border-color:#00d4ff59!important}}.result-btn:focus-visible{outline:2px solid rgba(0,212,255,.55);outline-offset:3px}.result-header{border-bottom:none!important;padding-bottom:0!important;margin-bottom:0!important}.result-trophy{font-size:1.6rem;opacity:.85}.result-title{font-family:Bebas Neue,sans-serif;font-size:1.45rem;letter-spacing:.18em;color:#ffffffeb;text-shadow:0 0 18px rgba(0,212,255,.18)}.score-card{background:#00000038!important;border:1px solid rgba(0,212,255,.12)!important;border-radius:16px!important;padding:12px!important;gap:12px!important}.team-block{padding:10px!important;border-radius:14px!important}.team-name{font-size:.85rem!important;letter-spacing:.06em;opacity:.82}.score-num{font-size:2.4rem!important;font-weight:400;letter-spacing:.04em;color:#fffffff0!important}.score-divider{font-family:Bebas Neue,sans-serif;font-size:.95rem!important;letter-spacing:.28em;color:#ffffff8c!important}.team-block--winner{background:#00d4ff1a!important;border:1px solid rgba(0,212,255,.22)!important;box-shadow:0 0 18px #00d4ff1a!important}.team-block--winner .team-name,.team-block--winner .score-num{color:#d2fafffa!important}.stats-card{width:100%}.stats-card .stats-section-header{border-bottom:none;padding-bottom:0;margin-bottom:10px}.summary-stats-grid{gap:8px!important}.stat-row{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:10px;padding:10px 12px;background:#0000002e;border:1px solid rgba(0,212,255,.1);border-radius:14px}.stat-left,.stat-right{font-family:Bebas Neue,sans-serif;font-size:1.4rem;letter-spacing:.08em;text-align:center;color:#ffffffeb}.stat-name{text-align:center;font-weight:700;letter-spacing:.08em;font-size:.92rem;color:#ffffffb3}.stat-yellow{color:#f3f315eb!important}.stat-red{color:#ff5050eb!important}.summary-card.result-card::-webkit-scrollbar{width:6px}.summary-card.result-card::-webkit-scrollbar-track{background:#00000026;border-radius:999px}.summary-card.result-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00ffc8d9,#00b4ffd9);border-radius:999px;box-shadow:0 0 10px #00dcff59}.summary-card.result-card::-webkit-scrollbar-thumb:hover{box-shadow:0 0 14px #00dcff8c}.summary-card.result-card{scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.75) rgba(0,0,0,.15)}@media(orientation:landscape){.summary-card.result-card{padding:12px!important;border-radius:16px!important;max-height:calc(100dvh - (16px + var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom)))!important}.result-actions{gap:8px;padding-bottom:10px}.score-num{font-size:2.1rem!important}.stat-row{padding:9px 10px;grid-template-columns:56px 1fr 56px}}@media(prefers-reduced-motion:reduce){.summary-screen.result-screen{animation:none!important}}.summary-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;background:#000000f2;z-index:4000!important;animation:fadeIn .5s ease-out;padding:clamp(10px,2vh,20px);overflow:hidden;pointer-events:all;visibility:visible;opacity:1}.summary-card{background:var(--scoreboard-bg);border:1px solid rgba(0,212,255,.2);box-shadow:0 4px 20px #00000080;border-radius:8px;padding:clamp(8px,1.8vw,14px);width:85%;max-width:85%;color:var(--text-main);display:flex;flex-direction:column;align-items:center;max-height:70vh;max-height:70dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--neon-blue) rgba(0,0,0,.3);margin:auto;position:relative;box-sizing:border-box}.summary-header{display:flex;flex-direction:column;align-items:center;gap:clamp(3px,1vh,5px);margin-bottom:clamp(8px,1.5vh,12px);width:100%;padding-bottom:clamp(6px,1.2vh,10px);border-bottom:1px solid rgba(0,212,255,.2)}.summary-header-icon{font-size:clamp(1.5rem,4.5vw,2.2rem);opacity:.8}.summary-header-text{font-family:Bebas Neue,sans-serif;font-size:clamp(1rem,3.5vw,1.5rem);color:var(--neon-blue);letter-spacing:1.5px;text-shadow:0 0 10px rgba(0,212,255,.3);text-wrap:balance;overflow-wrap:anywhere}.summary-score-board{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.2vw,10px);width:100%;margin-bottom:clamp(8px,1.5vh,12px);padding:clamp(6px,1.5vw,10px);background:#0000004d;border-radius:6px;border:1px solid rgba(0,212,255,.15)}.summary-team-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:clamp(5px,1.2vw,10px);border-radius:4px;background:transparent;border:none;transition:transform .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease;min-width:0}.summary-team-card.winner{background:#f3f3151a;border:1px solid rgba(243,243,21,.3)}.team-card-header{display:flex;flex-direction:column;align-items:center;gap:clamp(3px,1vh,5px);margin-bottom:clamp(5px,1.2vh,8px);width:100%}.team-card-icon{display:none}.summary-team-name{font-family:Bebas Neue,sans-serif;font-size:clamp(.55rem,1.5vw,.75rem);color:var(--text-main);text-align:center;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;letter-spacing:.5px;opacity:.9}.summary-team-card.winner .summary-team-name{color:var(--neon-yellow);opacity:1}.summary-score{font-family:Bebas Neue,sans-serif;font-size:clamp(.85rem,3vw,1.2rem);color:var(--text-main);line-height:1;text-align:center;font-weight:400}.summary-team-card.winner .summary-score{color:var(--neon-yellow)}.summary-divider{font-family:Bebas Neue,sans-serif;font-size:clamp(1rem,3vw,1.4rem);color:#ffffff80;letter-spacing:1.5px;padding:0 clamp(6px,1.5vw,10px)}.summary-stats-section{width:100%;margin-bottom:clamp(8px,1.5vh,12px)}.stats-section-header{display:flex;align-items:center;justify-content:center;gap:clamp(3px,1vh,5px);margin-bottom:clamp(6px,1.2vh,10px);padding-bottom:clamp(4px,1vh,6px);border-bottom:1px solid rgba(0,212,255,.2)}.stats-icon{display:none}.stats-title{font-family:Bebas Neue,sans-serif;font-size:clamp(.9rem,3vw,1.3rem);color:var(--neon-blue);letter-spacing:1.5px;opacity:.9}.summary-stats-grid{display:grid;grid-template-columns:1fr;gap:clamp(6px,1.5vh,10px);width:100%;visibility:visible;opacity:1}.stat-card{background:#0003;border:1px solid rgba(0,212,255,.15);border-radius:4px;padding:clamp(5px,1.2vw,8px);transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.stat-card:hover{border-color:#00d4ff40;background:#0000004d}.stat-card-header{display:flex;align-items:center;justify-content:center;gap:clamp(3px,1vh,5px);margin-bottom:clamp(5px,1.2vh,8px)}.stat-icon{display:none}.stat-label{font-family:Bebas Neue,sans-serif;font-size:clamp(.7rem,2vw,.95rem);color:var(--text-main);letter-spacing:.5px;opacity:.8}.stat-card-values{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,14px)}.stat-value{font-family:Bebas Neue,sans-serif;font-size:clamp(1.1rem,4vw,1.6rem);color:var(--text-main);font-weight:400;min-width:clamp(30px,6vw,40px);text-align:center}.stat-divider{font-size:clamp(1rem,3vw,1.4rem);color:#fff6}.stat-yellow{color:var(--neon-yellow)!important}.stat-red{color:var(--neon-red)!important}.summary-actions{width:100%;display:flex;justify-content:center;margin-top:clamp(15px,3vh,25px);padding-top:clamp(15px,3vh,25px);border-top:1px solid rgba(0,212,255,.2)}.summary-actions-top{margin-top:0;padding-top:0;padding-bottom:clamp(10px,2vh,16px);border-top:none;border-bottom:1px solid rgba(0,212,255,.2);margin-bottom:clamp(10px,2vh,16px);gap:clamp(4px,1.2vw,8px);flex-wrap:nowrap;justify-content:center;align-items:center;padding-inline:clamp(6px,1.5vw,12px);box-sizing:border-box}.summary-action-btn{display:flex;align-items:center;justify-content:center;gap:clamp(4px,1vw,6px);padding:clamp(6px,1.5vw,10px) clamp(12px,3.5vw,20px);background:#00d4ff1a;border:1px solid var(--neon-blue);border-radius:4px;color:var(--text-main);font-family:Bebas Neue,sans-serif;font-size:clamp(.7rem,2vw,.95rem);letter-spacing:.5px;cursor:pointer;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;flex:0 1 auto;white-space:normal}.summary-action-btn:hover{background:#00d4ff26;border-color:var(--neon-blue)}.summary-action-btn:active{transform:scale(.98)}.summary-action-btn-exit{flex-direction:row}.lan-modal-backdrop{background:radial-gradient(600px 280px at 50% 15%,rgba(0,212,255,.18),transparent 60%),#000000eb;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.lan-modal-content{width:min(92vw,480px);max-height:calc(100dvh - 24px);background:linear-gradient(180deg,#0a121afa,#070b10fa);border:1px solid rgba(0,212,255,.35);border-radius:22px;box-shadow:0 20px 54px #0000008c,0 0 28px #00d4ff38;overflow:hidden;position:relative}.lan-modal-content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(220px 120px at 15% 0%,rgba(0,212,255,.18),transparent 60%);pointer-events:none}.lan-modal-content .modal-header{background:transparent;border-bottom:none;padding:16px 56px 16px 18px}.lan-modal-content .modal-header h2{font-size:clamp(1.05rem,3.2vw,1.4rem);letter-spacing:2px;text-shadow:0 0 12px rgba(0,212,255,.35)}.lan-modal-content .modal-content{padding:12px 16px 18px}.lan-modal-content .close-modal{top:10px;right:10px;border-color:#00d4ff8c;background:#080c12a6;box-shadow:0 0 18px #00d4ff59}.lan-role-switch{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;margin-bottom:12px;padding:6px;border-radius:14px;border:1px solid rgba(0,212,255,.2);background:#050a0e99;box-shadow:inset 0 0 14px #00d4ff14}.lan-role-btn{padding:12px 10px;border-radius:12px;border:1px solid rgba(0,212,255,.25);background:#0a101699;color:#ebfaffe6;font-family:Bebas Neue,sans-serif;letter-spacing:clamp(.6px,.9vw,1.2px);font-size:clamp(.92rem,3.3vw,1.08rem);cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.lan-role-btn:hover{background:#00d4ff1f;border-color:#00d4ff99;box-shadow:0 0 18px #00d4ff40}.lan-role-btn:active{transform:scale(.98)}.lan-role-btn.active{background:linear-gradient(135deg,#00d4ff47,#00ff9929);border-color:#00d4ffd9;color:#f6fdff;box-shadow:0 0 26px #00d4ff66}.lan-modal-content .btn:not(.btn--icon){padding:8px 10px;font-size:clamp(.78rem,2.8vw,.92rem)}.lan-role-body{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(0,212,255,.16);background:#080c128c;box-shadow:inset 0 0 16px #00d4ff14;box-sizing:border-box;overflow:hidden}@media(orientation:landscape){.lan-modal-content{max-height:unset}}.lan-hint{text-align:center;color:#ebfaffe0;font-size:.92rem;line-height:1.4;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.lan-hint--small{font-size:.76rem;line-height:1.3}.lan-hint--emphasis{font-size:.9rem;font-weight:700;color:#78ffbef2;letter-spacing:.4px}.lan-instructions{margin:8px 0 12px;padding-left:18px;color:#ebfaffdb;font-size:.88rem;line-height:1.4;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.lan-instructions li{margin:6px 0}.lan-connection-options{margin:8px 0 12px;display:grid;gap:10px;color:#ebfaffe6;font-size:.76rem;line-height:1.45;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.lan-option-frame{padding:12px;border-radius:14px;border:1px solid rgba(0,212,255,.18);background:#080c1299;box-shadow:inset 0 0 16px #00d4ff14;display:grid;gap:10px}.lan-option{padding:2px}.lan-option-divider{height:1px;background:#00d4ff29}.lan-option-title{font-weight:700;color:#ebfafff2;margin-bottom:6px;font-size:.78rem;letter-spacing:.3px}.lan-option-lines{display:grid;gap:0;color:#ebfaffd6;word-break:break-word}.lan-option-lines>div{margin:0;line-height:1.25}.lan-option-or{text-align:center;font-size:.7rem;color:#ebfaffb3;letter-spacing:.4px;margin:0;line-height:1.05}.lan-option-note{margin-top:4px;font-size:.64rem;line-height:1.4;color:#ebfaffb3;text-align:center}.lan-ipport-block{margin-top:8px;margin-bottom:10px}.lan-ipport-label{text-align:center;font-size:.82rem;color:#ffffffb3;margin-bottom:8px}.lan-ipport-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.lan-ipport-value{padding:12px;border-radius:10px;border:1px solid rgba(0,212,255,.35);background:#00000059;text-align:center;font-weight:700;letter-spacing:.2px;color:#fffffff2;font-size:clamp(.85rem,3.2vw,1.05rem);line-height:1.15;overflow-wrap:anywhere;word-break:break-word;box-sizing:border-box;min-width:0}.lan-copy-btn{padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffeb;cursor:pointer;font-family:Bebas Neue,sans-serif;letter-spacing:clamp(.4px,.6vw,1px);transition:background .12s ease,border-color .12s ease;min-width:0}.lan-copy-btn:hover{background:#ffffff1a;border-color:#ffffff38}.lan-host-actions,.lan-client-actions{margin-top:8px;display:grid;gap:10px}.lan-peers{text-align:center;font-size:.95rem;color:#ffffffe6;padding:6px 0}.lan-error{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,80,80,.35);background:#ff50501a;color:#ffd2d2f2;font-size:.9rem;line-height:1.3;text-align:center}.lan-warning{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,170,60,.4);background:#ffaa3c1f;color:#ffe6bef2;font-size:.9rem;line-height:1.3;text-align:center}.lan-retry-btn{padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#ffffffeb;cursor:pointer;font-family:Bebas Neue,sans-serif;letter-spacing:clamp(.4px,.6vw,1px)}.lan-retry-btn:hover{background:#ffffff1f;border-color:#ffffff40}.lan-client-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,110px);gap:10px;margin-bottom:10px}.lan-field{display:grid;gap:6px;min-width:0}.lan-field-label{font-size:.8rem;color:#ffffffb3}.lan-input{width:100%;box-sizing:border-box;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#00000059;color:#fffffff2;outline:none}.lan-input:focus{border-color:#00d4ff8c}.lan-disconnect-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:9999;width:min(520px,92vw);border-radius:12px;border:1px solid rgba(255,90,90,.32);background:#0a0000b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 28px #00000073;padding:10px 12px;box-sizing:border-box}.lan-disconnect-text{text-align:center;color:#ffebebf2;font-size:.95rem;margin-bottom:8px}.lan-disconnect-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lan-disconnect-btn{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#ffffffeb;cursor:pointer;font-family:Bebas Neue,sans-serif;letter-spacing:clamp(.4px,.6vw,1px)}.lan-disconnect-btn.primary{border-color:#00d4ff8c;background:#00d4ff24}.lan-disconnect-btn:hover{background:#ffffff1f}.lan-disconnect-btn.primary:hover{background:#00d4ff2e}.lan-reconnect-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:clamp(14px,4vw,24px);background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-sizing:border-box}.lan-reconnect-card{width:min(420px,92vw);border-radius:14px;border:1px solid rgba(255,255,255,.16);background:#0a0a0ad9;box-shadow:0 16px 40px #00000073;padding:clamp(14px,4vw,20px);text-align:center;color:#fffffff2}.lan-reconnect-title{font-size:clamp(1.05rem,4.5vw,1.35rem);font-weight:700;letter-spacing:.6px;line-height:1.25;word-break:break-word}.lan-reconnect-subtitle{margin-top:6px;font-size:clamp(.95rem,3.8vw,1.1rem);color:#ffffffd9;line-height:1.3;word-break:break-word}.lan-reconnect-actions{margin-top:12px;display:grid;gap:10px}.lan-reconnect-btn{width:100%}.lan-qr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:grid!important;place-items:center;padding:calc(clamp(10px,2vh,18px) + var(--safe-top)) calc(clamp(10px,2vh,18px) + var(--safe-right)) calc(clamp(10px,2vh,18px) + max(var(--bannerH, 0px),56px) + var(--safe-bottom)) calc(clamp(10px,2vh,18px) + var(--safe-left));background:radial-gradient(560px 260px at 50% 15%,rgba(0,212,255,.18),transparent 60%),#000000e0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-sizing:border-box;overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100dvh;min-height:100dvh;touch-action:none}.lan-qr-modal{width:min(88vw,420px);max-height:min(90dvh,560px);border-radius:22px;border:1px solid rgba(0,212,255,.4);background:linear-gradient(180deg,#0a121afa,#070b10fa);color:#ebfafff2;box-shadow:0 20px 54px #0000008c,0 0 28px #00d4ff38;position:relative;display:flex;flex-direction:column;overflow:auto;padding:0;margin:auto;opacity:1;transform:translateZ(0) scale(1);scrollbar-gutter:stable;isolation:isolate}.lan-qr-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(220px 120px at 15% 0%,rgba(0,212,255,.18),transparent 60%);pointer-events:none}.lan-qr-modal .modal-header{position:static;transform:none;width:100%;text-align:center;background:transparent;border-bottom:none;padding:16px 56px 14px 18px}.lan-qr-modal .modal-header h2{font-size:clamp(1.05rem,3.2vw,1.4rem);letter-spacing:2px;text-shadow:0 0 12px rgba(0,212,255,.35)}.lan-qr-modal .close-modal{top:10px;right:10px;border-color:#00d4ff8c;background:#080c12a6;box-shadow:0 0 18px #00d4ff59}.lan-qr-modal .lan-qr-body.modal-content{padding:10px 16px 18px}.lan-qr-status{margin-top:10px;margin-bottom:6px;text-align:center;font-size:.84rem;letter-spacing:.4px}.lan-qr-status--pending{color:#ffffffbf}.lan-qr-status--ready{color:#78ffbef2}.lan-qr-status--error{color:#ff9696f2}.lan-qr-canvas-wrap{display:grid;place-items:center;margin:10px 0 8px}.lan-qr-canvas{width:min(220px,70vw,42vh);height:min(220px,70vw,42vh);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 0 22px #00d4ff40}.lan-qr-modal::-webkit-scrollbar{width:6px}.lan-qr-modal::-webkit-scrollbar-thumb{background:#00d4ff59;border-radius:8px}.lan-qr-modal::-webkit-scrollbar-track{background:#00000040}@media(orientation:landscape){.lan-qr-modal{width:min(88vw,520px);max-height:min(88dvh,520px)}.lan-qr-modal-backdrop{padding:calc(clamp(8px,1.5vh,14px) + var(--safe-top)) calc(clamp(8px,1.5vh,14px) + var(--safe-right)) calc(clamp(8px,1.5vh,14px) + max(var(--bannerH, 0px),56px) + var(--safe-bottom)) calc(clamp(8px,1.5vh,14px) + var(--safe-left))}.lan-qr-canvas{width:min(200px,48vw,36vh);height:min(200px,48vw,36vh)}}.lan-connected-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:clamp(14px,4vw,24px);background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:10px;box-sizing:border-box}.lan-connected-card{width:min(380px,88vw);border-radius:14px;border:1px solid rgba(120,255,190,.4);background:#0a0a0ad9;box-shadow:0 16px 40px #00000073;padding:clamp(14px,4vw,20px);text-align:center;color:#fffffff2}.lan-connected-title{font-size:clamp(1.05rem,4.5vw,1.35rem);font-weight:700;letter-spacing:.6px;line-height:1.25}.lan-connected-subtitle{margin-top:6px;font-size:clamp(.95rem,3.8vw,1.1rem);color:#ffffffd9;line-height:1.3}.lan-qr-btn{width:100%}.lan-qr-permission-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;display:flex;align-items:center;justify-content:center;background:#0000008c;padding:14px;box-sizing:border-box}.lan-qr-permission-sheet{width:min(520px,100%);border-radius:16px 16px 0 0;background:#0f0f0ff2;border:1px solid rgba(255,255,255,.12);padding:0;color:#fffffff2;max-height:calc(100dvh - (var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom) + 48px));display:flex;flex-direction:column;overflow:hidden;opacity:1;transform:translateZ(0) scale(1)}.lan-qr-permission-text{font-size:.95rem;line-height:1.4}.lan-qr-permission-actions{margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.qr-scan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10003;background:radial-gradient(900px 600px at 50% 15%,#00d4ff29,#0000 60%),#000000ad;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100dvh;min-height:100dvh;scrollbar-gutter:stable;padding:calc(clamp(14px,3vh,24px) + var(--safe-top)) calc(clamp(14px,3vh,24px) + var(--safe-right)) calc(clamp(14px,3vh,24px) + var(--bannerH, 50px) + var(--safe-bottom)) calc(clamp(14px,3vh,24px) + var(--safe-left));box-sizing:border-box}.qr-scan-card{width:min(88vw,460px);max-height:calc(100dvh - (var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom) + 28px));overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;gap:0;padding:0;border-radius:20px;border:1px solid rgba(0,212,255,.35);background:linear-gradient(180deg,#0a1018b8,#060a10b8);box-shadow:0 20px 54px #0009,0 0 24px #00d4ff2e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateZ(0) scale(1);opacity:1;scrollbar-gutter:stable;isolation:isolate;margin:auto;-webkit-overflow-scrolling:touch;min-height:0}.qr-scan-card::-webkit-scrollbar{width:6px}.qr-scan-card::-webkit-scrollbar-thumb{background:#00d4ff73;border-radius:8px}.qr-scan-card::-webkit-scrollbar-track{background:#00000040}.qr-scan-card{scrollbar-width:thin;scrollbar-color:rgba(0,212,255,.5) rgba(0,0,0,.25)}.qr-scan-overlay::-webkit-scrollbar{width:6px}.qr-scan-overlay::-webkit-scrollbar-thumb{background:#00d4ff59;border-radius:8px}.qr-scan-overlay::-webkit-scrollbar-track{background:#00000040}.qr-scan-frame{position:relative;width:min(74vw,260px);height:min(74vw,260px);border:2px solid rgba(0,212,255,.9);border-radius:18px;background:transparent;box-shadow:0 10px 30px #00000059,0 0 20px #00d4ff40,0 0 0 1px #ffffff14 inset;overflow:hidden}@media(orientation:landscape){.qr-scan-card{width:min(82vw,420px);max-height:calc(100dvh - (var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom) + 16px))}.qr-scan-frame{width:min(46vw,200px);height:min(46vw,200px)}@media(orientation:landscape)and (max-height:520px){.qr-scan-card{max-height:calc(100dvh - (var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom) + 12px))}.qr-scan-frame{width:min(44vw,190px);height:min(44vw,190px)}}.qr-scan-text{font-size:.85rem}}.qr-scan-frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:.95;background:linear-gradient(#00d4fff2,#00d4fff2) top left / 28px 2px no-repeat,linear-gradient(#00d4fff2,#00d4fff2) top left / 2px 28px no-repeat,linear-gradient(#00d4fff2,#00d4fff2) top right / 28px 2px no-repeat,linear-gradient(#00d4fff2,#00d4fff2) top right / 2px 28px no-repeat,linear-gradient(#00d4fff2,#00d4fff2) bottom left / 28px 2px no-repeat,linear-gradient(#00d4fff2,#00d4fff2) bottom left / 2px 28px no-repeat,linear-gradient(#00d4fff2,#00d4fff2) bottom right / 28px 2px no-repeat,linear-gradient(#00d4fff2,#00d4fff2) bottom right / 2px 28px no-repeat;filter:drop-shadow(0 0 10px rgba(0,212,255,.3))}.qr-scan-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 1px #ffffff0d inset,0 0 26px #00d4ff1f;opacity:.85;animation:qr-frame-pulse 2.8s ease-in-out infinite}@keyframes qr-frame-pulse{0%,to{opacity:.7}50%{opacity:1}}@media(orientation:landscape){.gm-modal,.lan-qr-modal{max-height:min(84dvh,520px)}.qr-scan-frame{width:min(60vh,240px,60vw);height:min(60vh,240px,60vw)}}@supports not (height: 1dvh){.gm-modal{max-height:min(88vh,640px)}}.qr-scan-target{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:44px;height:44px;border:1px solid rgba(0,212,255,.36);border-radius:50%;background:radial-gradient(circle at 50% 50%,#00d4ff1a,#0000 70%);box-shadow:0 0 14px #00d4ff38}.qr-scan-line{position:absolute;left:8px;right:8px;height:2px;background:linear-gradient(90deg,#00d4ff00,#00d4fff2,#00d4ff00);box-shadow:0 0 10px #00d4ff8c;filter:saturate(1.1);animation:qr-scan-line 2s ease-in-out infinite}.qr-scan-card .modal-header{text-align:center;padding:16px 54px 12px 18px;border-bottom:1px solid rgba(0,212,255,.18)}.qr-scan-card .modal-footer{display:flex;justify-content:center;padding:12px 16px 16px;width:100%}.qr-scan-line:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:#00d4fff2;box-shadow:0 0 14px #00d4ffbf;opacity:.75}@keyframes qr-scan-line{0%{top:10px;opacity:.2}50%{top:calc(100% - 12px);opacity:.9}to{top:10px;opacity:.2}}.qr-scan-overlay.qr-scan-success .qr-scan-frame{border-color:#00ffaabf;box-shadow:0 0 0 200vmax #0000006b,0 10px 34px #00000059,0 0 26px #00ffaa38}.qr-scan-overlay.qr-scan-success .qr-scan-frame:before{background:linear-gradient(#00ffaaf2,#00ffaaf2) top left / 28px 2px no-repeat,linear-gradient(#00ffaaf2,#00ffaaf2) top left / 2px 28px no-repeat,linear-gradient(#00ffaaf2,#00ffaaf2) top right / 28px 2px no-repeat,linear-gradient(#00ffaaf2,#00ffaaf2) top right / 2px 28px no-repeat,linear-gradient(#00ffaaf2,#00ffaaf2) bottom left / 28px 2px no-repeat,linear-gradient(#00ffaaf2,#00ffaaf2) bottom left / 2px 28px no-repeat,linear-gradient(#00ffaaf2,#00ffaaf2) bottom right / 28px 2px no-repeat,linear-gradient(#00ffaaf2,#00ffaaf2) bottom right / 2px 28px no-repeat;filter:drop-shadow(0 0 12px rgba(0,255,170,.25))}.qr-scan-overlay.qr-scan-success .qr-scan-frame:after{box-shadow:0 0 0 1px #ffffff0d inset,0 0 30px #00ffaa29}.qr-scan-overlay.qr-scan-success .qr-scan-target{border-color:#00ffaa52;background:radial-gradient(circle at 50% 50%,#00ffaa1a,#0000 70%);box-shadow:0 0 14px #00ffaa2e}.qr-scan-overlay.qr-scan-success .qr-scan-line{background:linear-gradient(90deg,#0fa0,#00ffaaf2,#0fa0);box-shadow:0 0 10px #00ffaa73}.qr-scan-overlay.qr-scan-success .qr-scan-line:after{background:#00ffaaf2;box-shadow:0 0 14px #00ffaaa6}.qr-scan-overlay.qr-scan-success .qr-status:after{background:radial-gradient(circle,#00ffaaf2 60%,#0000 62%) 0 50% / .35em .35em repeat-x;filter:drop-shadow(0 0 10px rgba(0,255,170,.22))}.qr-scan-overlay.qr-scan-error .qr-scan-frame{border-color:#ff5c5cc7;box-shadow:0 0 0 200vmax #0000006b,0 10px 34px #00000059,0 0 26px #ff5c5c38}.qr-scan-overlay.qr-scan-error .qr-scan-frame:before{background:linear-gradient(#ff5c5cf2,#ff5c5cf2) top left / 28px 2px no-repeat,linear-gradient(#ff5c5cf2,#ff5c5cf2) top left / 2px 28px no-repeat,linear-gradient(#ff5c5cf2,#ff5c5cf2) top right / 28px 2px no-repeat,linear-gradient(#ff5c5cf2,#ff5c5cf2) top right / 2px 28px no-repeat,linear-gradient(#ff5c5cf2,#ff5c5cf2) bottom left / 28px 2px no-repeat,linear-gradient(#ff5c5cf2,#ff5c5cf2) bottom left / 2px 28px no-repeat,linear-gradient(#ff5c5cf2,#ff5c5cf2) bottom right / 28px 2px no-repeat,linear-gradient(#ff5c5cf2,#ff5c5cf2) bottom right / 2px 28px no-repeat;filter:drop-shadow(0 0 12px rgba(255,92,92,.22))}.qr-scan-overlay.qr-scan-error .qr-scan-frame:after{box-shadow:0 0 0 1px #ffffff0d inset,0 0 30px #ff5c5c24}.qr-scan-overlay.qr-scan-error .qr-scan-target{border-color:#ff5c5c52;background:radial-gradient(circle at 50% 50%,#ff5c5c1a,#0000 70%);box-shadow:0 0 14px #ff5c5c29}.qr-scan-overlay.qr-scan-error .qr-scan-line{background:linear-gradient(90deg,#ff5c5c00,#ff5c5cf2,#ff5c5c00);box-shadow:0 0 10px #ff5c5c6b}.qr-scan-overlay.qr-scan-error .qr-scan-line:after{background:#ff5c5cf2;box-shadow:0 0 14px #ff5c5c99}.qr-scan-overlay.qr-scan-error .qr-status:after{background:radial-gradient(circle,#ff5c5cf2 60%,#0000 62%) 0 50% / .35em .35em repeat-x;filter:drop-shadow(0 0 10px rgba(255,92,92,.18))}.qr-scan-top-text{margin-bottom:10px;color:#fffffff5;font-size:clamp(1.02rem,3.6vw,1.15rem);font-weight:700;letter-spacing:.2px;text-align:center;max-width:min(44ch,92%)}.qr-scan-text{margin-top:14px;color:#ffffffeb;font-size:.98rem;font-weight:600;text-align:center;max-width:min(44ch,92%)}.qr-status:after{content:"";display:inline-block;width:1.4em;height:.55em;margin-left:10px;vertical-align:-.1em;background:radial-gradient(circle,#00d4fff2 60%,#0000 62%) 0 50% / .35em .35em repeat-x;opacity:.75;filter:drop-shadow(0 0 10px rgba(0,212,255,.28));animation:qr-status-dots 1.05s ease-in-out infinite}@keyframes qr-status-dots{0%,to{background-position:0 50%;opacity:.35}50%{background-position:.7em 50%;opacity:1}}.qr-scan-cancel{margin-top:8px;width:min(220px,70vw)}.qr-modal .qr-cancel-btn{min-height:44px;padding:10px 14px;border-radius:14px;font-size:1rem;font-weight:700;letter-spacing:.4px;text-transform:none;border:1px solid rgba(0,212,255,.28);background:linear-gradient(180deg,#00d4ff1a,#0000000d);box-shadow:0 10px 24px #00000059,0 0 18px #00d4ff1f}.qr-modal .qr-cancel-btn:active{transform:translateY(1px)}.qr-modal .qr-cancel-btn:focus-visible{outline:2px solid rgba(0,212,255,.55);outline-offset:3px}@media(hover:hover){.qr-modal .qr-cancel-btn:hover{border-color:#00d4ff6b;box-shadow:0 14px 30px #0000006b,0 0 22px #00d4ff2e}}@media(prefers-reduced-motion:reduce){.qr-scan-card{animation:none;transform:none;opacity:1}.qr-scan-line,.qr-scan-frame:after,.qr-status:after{animation:none}}.btn-text{letter-spacing:1.5px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.playground{height:100vh;height:100dvh;width:100vw;display:flex;overflow:hidden;position:relative}body.lan-qr-scanner-active,body.lan-qr-scanner-active .playground{background:transparent!important}body.lan-qr-scanner-active .playground>*:not(.qr-scan-overlay){opacity:0;pointer-events:none}.main-container{flex:1;position:relative;background:var(--pitch-green);display:flex;flex-direction:column;padding-bottom:calc(max(var(--bannerOffset, 0px),var(--bannerH, 0px)) + env(safe-area-inset-bottom,0px) + 90px)}.spotlight{position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 60%);pointer-events:none;z-index:5;mix-blend-mode:screen}.spotlight.left{top:-200px;left:-200px;animation:spotMoveLeft 8s ease-in-out infinite alternate;will-change:transform,opacity;transform:translateZ(0)}.spotlight.right{top:-200px;right:-200px;animation:spotMoveRight 10s ease-in-out infinite alternate;will-change:transform,opacity;transform:translateZ(0)}@keyframes spotMoveLeft{0%{transform:translateZ(0) rotate(10deg) scale(1);opacity:.5}to{transform:translateZ(0) rotate(40deg) scale(1.2);opacity:.8}}@keyframes spotMoveRight{0%{transform:translateZ(0) rotate(-10deg) scale(1);opacity:.5}to{transform:translateZ(0) rotate(-40deg) scale(1.2);opacity:.8}}.top-bar{position:absolute;top:0;left:0;width:100%;padding:10px;background:linear-gradient(to bottom,rgba(0,0,0,.9) 0%,transparent 100%);z-index:100;display:flex;flex-direction:column;align-items:center;pointer-events:none}.header-title h1{font-family:Bebas Neue,sans-serif;font-size:clamp(1rem,4vw,1.5rem);color:var(--neon-blue);margin-bottom:5px;text-shadow:0 0 10px rgba(0,212,255,.5)}.info-row{display:flex;align-items:center;gap:15px}.turn-badge{padding:3px 12px;border-radius:5px;font-family:Bebas Neue,sans-serif;font-size:clamp(.7rem,2.5vw,.85rem);background:#0009;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:6px}.turn-badge.home{color:var(--neon-blue);border-color:var(--neon-blue)}.turn-badge.away{color:var(--neon-yellow);border-color:var(--neon-yellow)}.digit-display{width:clamp(32px,8vw,40px);height:clamp(32px,8vw,40px);background:#000;border:2px solid var(--neon-blue);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:Bebas Neue,sans-serif;font-size:clamp(1.2rem,4vw,1.8rem);color:var(--neon-blue);box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.digit-display.active{background:var(--neon-blue);color:#000;box-shadow:0 0 15px var(--neon-blue)}.ball-live #liveDigitEl{display:inline-block;animation:liveDigitPulse .8s ease-in-out infinite;will-change:opacity,transform}@keyframes liveDigitPulse{0%,to{opacity:.45;transform:scale(.98)}50%{opacity:1;transform:scale(1)}}.scoreboard-container{position:absolute;top:clamp(85px,15vh,100px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:90;width:95%;max-width:500px;pointer-events:none}.scoreboard-container *{pointer-events:auto}.event-banner{position:absolute;top:100%;left:0;width:100%;height:clamp(26px,4.5vh,34px);margin-top:2px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,transparent,rgba(0,180,255,.75),transparent);font-size:clamp(.65rem,1.9vh,.85rem);z-index:2;opacity:0;transition:opacity .2s ease}.event-banner.event-active{opacity:1}.event-banner-text{font-family:Bebas Neue,sans-serif;font-size:clamp(.7rem,2.5vw,1.1rem);color:#000;text-align:center;letter-spacing:1px;line-height:1.2;text-transform:uppercase;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;padding:0 5px}.event-banner-text.event-long{-webkit-line-clamp:3;line-clamp:3;font-size:clamp(.62rem,2.2vw,.98rem);line-height:1.15;letter-spacing:.8px}@media(orientation:landscape){.scoreboard-container,.scoreboard{width:min(92vw,720px)!important;max-width:min(92vw,720px)!important;min-height:clamp(56px,9vh,72px)!important;padding-top:clamp(10px,2.2vh,14px)!important;padding-bottom:clamp(10px,2.2vh,14px)!important}.scoreboard{padding:clamp(10px,2.2vh,14px)!important}.scoreboard .team-name,.scoreboard .score-value,.scoreboard .match-clock{font-size:clamp(.78rem,1.9vh,1.05rem)!important}.event-banner{width:min(94vw,760px)!important;max-width:min(94vw,760px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;left:50%!important;transform:translate(-50%)!important}.event-banner-text{white-space:nowrap!important;overflow:hidden!important;max-width:100%;display:block!important;padding-left:0!important;animation:none!important}.event-banner-msg{display:inline-block!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;padding-left:0!important;animation:none!important;will-change:auto!important}.event-banner-text,.event-banner-text.event-long{-webkit-line-clamp:unset!important;line-clamp:unset!important}}.scoreboard{background:var(--scoreboard-bg);width:100%;padding:15px 28px;border-radius:12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;border:2px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #000000e6;position:relative;overflow:hidden}.progress-container{position:absolute;bottom:0;left:0;width:100%;height:4px;background:#ffffff1a}.progress-bar{height:100%;background:linear-gradient(90deg,var(--neon-blue),var(--neon-green));box-shadow:0 0 10px var(--neon-green);transition:width .3s ease;will-change:width;transform:translateZ(0)}.team{display:flex;flex-direction:column;align-items:center;position:relative;min-width:0;width:100%}.team-name{font-family:Bebas Neue,sans-serif;font-size:clamp(.8rem,2.5vw,1rem);color:#aaa;margin-bottom:3px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:6px;width:100%;max-width:100%;min-width:0;padding-inline:2px;box-sizing:border-box}.team-side{display:inline-flex;align-items:center;gap:6px;min-width:0}.team-side.left{justify-self:end}.team-side.right{justify-self:start}.team-name-text{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;justify-self:center}.team-name .card-mini,.team-name .advantage-badge,.team-name .bot-badge{flex:0 0 auto}.score-value{font-family:Bebas Neue,sans-serif;font-size:clamp(2.5rem,8vw,3.5rem);color:#fff;line-height:1}.match-clock{font-family:Bebas Neue,sans-serif;font-size:clamp(1.2rem,4vw,1.8rem);color:var(--neon-yellow);background:#111;padding:8px 16px;border-radius:8px;border:1px solid #333;margin-top:28px}.penalties-row{display:flex;gap:4px;margin-top:5px}.pen-dot{width:6px;height:6px;border-radius:50%;background:#333}.pen-dot.goal{background:var(--neon-green);box-shadow:0 0 5px var(--neon-green)}.pen-dot.miss{background:var(--neon-red);box-shadow:0 0 5px var(--neon-red)}.turn-dot{width:10px;height:10px;border-radius:50%;margin-bottom:8px;background:#ffffff0d}.team.active-turn .turn-dot,.team.home-team.active-turn .turn-dot{background:var(--neon-blue);box-shadow:0 0 15px var(--neon-blue),0 0 30px var(--neon-blue)}.team.away-team.active-turn .turn-dot{background:var(--neon-yellow);box-shadow:0 0 15px var(--neon-yellow),0 0 30px var(--neon-yellow)}.team.highlight-turn{animation:highlightTurnPulse 1.5s ease-in-out}.team.highlight-turn .turn-dot{background:var(--neon-blue);box-shadow:0 0 25px var(--neon-blue),0 0 50px var(--neon-blue),0 0 75px var(--neon-blue);animation:highlightTurnDot 1.5s ease-in-out;transform:scale(1.5)}.team.away-team.highlight-turn .turn-dot{background:var(--neon-yellow);box-shadow:0 0 25px var(--neon-yellow),0 0 50px var(--neon-yellow),0 0 75px var(--neon-yellow);animation:highlightTurnDotAway 1.5s ease-in-out}.team.highlight-turn .team-name{color:var(--neon-blue);text-shadow:0 0 10px var(--neon-blue);font-weight:700}.team.away-team.highlight-turn .team-name{color:var(--neon-yellow);text-shadow:0 0 10px var(--neon-yellow)}@keyframes highlightTurnPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes highlightTurnDot{0%,to{transform:scale(1.5);box-shadow:0 0 25px var(--neon-blue),0 0 50px var(--neon-blue),0 0 75px var(--neon-blue)}50%{transform:scale(2);box-shadow:0 0 40px var(--neon-blue),0 0 80px var(--neon-blue),0 0 120px var(--neon-blue)}}@keyframes highlightTurnDotAway{0%,to{transform:scale(1.5);box-shadow:0 0 25px var(--neon-yellow),0 0 50px var(--neon-yellow),0 0 75px var(--neon-yellow)}50%{transform:scale(2);box-shadow:0 0 40px var(--neon-yellow),0 0 80px var(--neon-yellow),0 0 120px var(--neon-yellow)}}.turn-badge.bot-turn-badge{box-shadow:0 0 14px #f3f31559,0 0 28px #f3f31533;animation:botTurnBadgePulse 1.15s ease-in-out infinite}@keyframes botTurnBadgePulse{0%,to{transform:translateZ(0);box-shadow:0 0 10px #f3f31547,0 0 18px #f3f3152e}50%{transform:translate3d(0,-1px,0);box-shadow:0 0 18px #f3f31573,0 0 36px #f3f31547}}.team.away-team.bot-turn.active-turn:not(.highlight-turn){animation:botTurnTeamPulse 1.15s ease-in-out infinite}.team.away-team.bot-turn.active-turn:not(.highlight-turn) .team-name{color:var(--neon-yellow);text-shadow:0 0 10px rgba(243,243,21,.25)}.team.away-team.bot-turn.active-turn:not(.highlight-turn) .turn-dot{animation:botTurnDotPulse 1.15s ease-in-out infinite}@keyframes botTurnTeamPulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes botTurnDotPulse{0%,to{transform:scale(1);box-shadow:0 0 15px var(--neon-yellow),0 0 30px var(--neon-yellow)}50%{transform:scale(1.55);box-shadow:0 0 28px var(--neon-yellow),0 0 55px var(--neon-yellow)}}.bot-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;border-radius:999px;font-family:Bebas Neue,sans-serif;font-size:.75rem;letter-spacing:1px;background:#f3f3151f;border:1px solid rgba(243,243,21,.55);color:var(--neon-yellow)}.bottom-controls{position:fixed;bottom:calc(max(var(--bannerOffset, 0px),var(--bannerH, 0px)) + env(safe-area-inset-bottom,0px) + var(--bannerGap, 16px));left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:300;flex-wrap:nowrap;justify-content:center;width:96%;max-width:800px}.control-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 14px;border-radius:8px;font-family:Bebas Neue,sans-serif;font-size:clamp(.7rem,2.5vw,1.1rem);cursor:pointer;transition:.3s;letter-spacing:.5px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;will-change:transform,background;transform:translateZ(0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;outline:none}@media(orientation:landscape){.control-btn{padding:7px 12px;font-size:clamp(.65rem,2.2vw,.95rem);line-height:1.05}}.control-btn:hover{background:#fff;color:#000;transform:translate3d(0,-2px,0);box-shadow:0 5px 15px #0006}.card-mini{width:10px;height:14px;border-radius:2px}.card-mini.yellow{background:var(--neon-yellow);box-shadow:0 0 5px var(--neon-yellow)}.card-mini.red{background:var(--neon-red);box-shadow:0 0 5px var(--neon-red)}.pitch-canvas{position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(90deg,#0a2e1a,#0a2e1a 10%,#123d24 10%,#123d24 20%);display:flex;align-items:center;justify-content:center;z-index:1}.pitch-markings{width:95%;height:95%;border:3px solid var(--pitch-lines);position:relative;opacity:.6;animation:pitchPulse 4s infinite alternate;will-change:box-shadow;transform:translateZ(0);z-index:1}@keyframes pitchPulse{0%{box-shadow:0 0 10px #00d4ff00}to{box-shadow:0 0 20px #00d4ff33}}.pitch-center-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:220px;height:220px;border:3px solid var(--pitch-lines);border-radius:50%;z-index:1}.pitch-center-line{position:absolute;top:0;left:50%;width:3px;height:100%;background:var(--pitch-lines);z-index:1}.ball-button{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0);width:clamp(80px,20vw,110px);height:clamp(80px,20vw,110px);border-radius:50%;border:none;font-size:clamp(3rem,12vw,4.5rem);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:250;transition:transform .2s,box-shadow .2s;box-shadow:0 0 40px #00000080;background:#fff;-webkit-transform:translate3d(-50%,-50%,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px;contain:layout style paint;isolation:isolate;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;outline:none}.ball-button:hover{transform:translate3d(-50%,-50%,0) scale(1.1)}.ball-button:active{transform:translate3d(-50%,-50%,0) scale(.95)}.ball-button:focus{outline:none}.turn-time-hint{position:absolute;left:50%;top:clamp(210px,32vh,300px);transform:translate(-50%);min-width:min(240px,80vw);padding:8px 12px;border-radius:12px;background:#080e1499;border:1px solid rgba(0,212,255,.18);box-shadow:0 10px 28px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:260;pointer-events:none;display:flex;flex-direction:column;gap:6px;text-align:center}@media(orientation:landscape){.turn-time-hint{top:50%;transform:translate(-50%,calc(100% + clamp(12px,3vh,22px)))}}@media(max-height:700px)and (orientation:portrait){.turn-time-hint{top:50%;transform:translate3d(-50%,230%,0);padding:6px 10px;gap:6px}.turn-time-hint__text{display:none}.turn-time-hint__bar{margin-top:2px}}@media(orientation:landscape)and (max-height:700px){.playground{--controlsH: 64px}.turn-time-hint{top:50%!important;transform:translate(-50%,calc(100% + clamp(10px,2.4vh,18px)))!important;width:min(48vw,460px)!important;min-width:min(220px,48vw)!important;padding:6px 10px!important;gap:5px!important;border-radius:10px!important;z-index:260!important}.turn-time-hint__text{display:block!important;font-size:clamp(.6rem,1.55vh,.74rem)!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.turn-time-hint__bar{width:100%!important;height:7px!important;border-radius:999px!important}.turn-time-hint__barFill{border-radius:999px!important}}.turn-time-hint__text{font-family:Roboto Condensed,sans-serif;font-size:clamp(.72rem,2.4vw,.95rem);color:#ffffffeb;letter-spacing:.4px}.turn-time-hint__bar{width:100%;height:6px;border-radius:999px;background:#ffffff1f;overflow:hidden}.turn-time-hint__barFill{height:100%;width:100%;transform-origin:left center;background:linear-gradient(90deg,#00d4fff2,#00ff80d9);animation:turnTimeDrain var(--turn-time-ms, 4s) linear forwards;will-change:transform}@keyframes turnTimeDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.ball-hud{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-100% - 24px));z-index:270;pointer-events:none;opacity:1;transition:opacity .25s ease}.ball-hud__inner{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:4px 10px;border-radius:50%;background:#080e14b8;border:1.5px solid rgba(0,212,255,.28);box-shadow:0 6px 18px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ball-hud__text{font-family:Roboto Condensed,sans-serif;font-size:1.35rem;font-weight:700;color:#fff;line-height:1;letter-spacing:.5px;text-shadow:0 0 6px rgba(0,212,255,.5)}.ball-hud--running .ball-hud__text{color:#00d4fff2}.ball-hud--result .ball-hud__inner{border-color:#00ff8059;background:#080e14d1}.ball-hud--result .ball-hud__text{color:#00ff80f2;text-shadow:0 0 8px rgba(0,255,128,.5);font-size:1.5rem}.ball-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);isolation:isolate}.ball-button.spinning .ball-content{animation:spin .4s linear infinite;will-change:transform;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ball-button.spinning{box-shadow:0 0 30px var(--neon-blue),0 0 8px var(--neon-blue) inset;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);will-change:box-shadow}.lan-not-your-turn .ball-button{opacity:.75;filter:saturate(.9)}.ball-button.penalty-active{border:6px solid var(--neon-yellow);animation:penaltyPulse .6s infinite alternate;will-change:transform,box-shadow;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;top:50%!important}.ball-button.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ball-button.tap-pending{box-shadow:0 0 55px #00ff808c,0 0 14px #00ff8038 inset;transform:translate3d(-50%,-50%,0) scale(.98)}.ball-button.is-disabled{pointer-events:none;opacity:.85}.ball-button.bot-turn{animation:botTurnPulse .9s ease-in-out infinite;will-change:transform,box-shadow}@keyframes botTurnPulse{0%,to{transform:translate3d(-50%,-50%,0) scale(1);box-shadow:0 0 34px #00d4ff59,0 0 8px #00d4ff2e inset}50%{transform:translate3d(-50%,-50%,0) scale(1.06);box-shadow:0 0 48px #00d4ff8c,0 0 12px #00d4ff47 inset}}@media(prefers-reduced-motion:reduce){.ball-button.bot-turn{animation:none}}.bot-turn-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:700;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:#00000073;opacity:1;will-change:opacity,transform;transform:translateZ(0)}.bot-turn-overlay-card{position:relative;z-index:1;min-width:min(340px,88vw);padding:14px 16px;border-radius:14px;border:1px solid rgba(243,243,21,.45);background:#0000008c;box-shadow:0 18px 55px #000000a6,0 0 28px #f3f3152e;text-align:center;transform:translateZ(0)}.bot-turn-overlay-title{font-family:Bebas Neue,sans-serif;letter-spacing:2px;font-size:clamp(1.1rem,4.2vw,1.5rem);color:var(--neon-yellow);text-shadow:0 0 16px rgba(243,243,21,.35)}.bot-turn-overlay-subtitle{margin-top:6px;font-family:Roboto Condensed,sans-serif;font-size:clamp(.85rem,3.2vw,1rem);color:#ffffffe0;opacity:.95}.opponent-bot-label{margin-top:8px;font-size:.9rem;letter-spacing:1px;opacity:.9;color:var(--neon-blue);text-align:center;font-family:Bebas Neue,sans-serif}@keyframes spin{0%{-webkit-transform:rotateZ(0deg);transform:rotate(0)}to{-webkit-transform:rotateZ(360deg);transform:rotate(360deg)}}@keyframes penaltyPulse{0%{-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);box-shadow:0 0 30px var(--neon-yellow)}to{-webkit-transform:translate3d(-50%,-50%,0) scale(1.2);transform:translate3d(-50%,-50%,0) scale(1.2);box-shadow:0 0 50px var(--neon-yellow)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ball-slider-container{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#ffffff0d;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.slider-btn{background:transparent;border:1px solid var(--neon-blue);color:var(--neon-blue);width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s,background-color .3s,border-color .3s,color .3s,box-shadow .3s}.slider-btn:hover{background:var(--neon-blue);color:#000}.ball-preview-area{display:flex;flex-direction:column;align-items:center;gap:5px}.ball-preview{width:60px;height:60px;border-radius:50%;box-shadow:0 0 15px #00000080;display:flex;align-items:center;justify-content:center;font-size:2rem}.ball-name{font-family:Bebas Neue,sans-serif;color:#fff;font-size:1.1rem;letter-spacing:1px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:contain}body.modal-open{overflow:hidden}body.ui-animating .modal-backdrop,body.ui-animating .settings-modal-backdrop,body.ui-animating .lan-modal-backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}body.ui-animating .modal-card,body.ui-animating .settings-modal-content,body.ui-animating .gm-modal,body.ui-animating .lan-modal-content{box-shadow:0 12px 36px #00000080,0 0 16px #00d4ff1f}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#000000f2;z-index:5100;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .06s;will-change:opacity;transform:translateZ(0);padding:calc(clamp(10px,2vh,20px) + var(--safe-top)) calc(clamp(10px,2vh,20px) + var(--safe-right)) calc(clamp(10px,2vh,20px) + var(--bannerH, 50px) + var(--safe-bottom)) calc(clamp(10px,2vh,20px) + var(--safe-left));contain:layout paint}.modal-backdrop.hidden{opacity:0;visibility:hidden;pointer-events:none}.modal-backdrop.active{opacity:1;visibility:visible;pointer-events:auto}body.modal-open .welcome-bg-overlay,body.modal-open .spotlight,body.modal-open .pitch-markings,body.modal-open .confetti,body.modal-open .animation-overlay{animation:none!important;transition:none!important;will-change:auto!important}body.modal-open .welcome-content,body.modal-open .welcome-logo,body.modal-open .welcome-title,body.modal-open .welcome-subtitle{opacity:.99;transform:none}.modal-card{background:#111;border:2px solid var(--neon-blue);border-radius:20px;width:min(92vw,520px);padding:0;color:#fff;position:relative;transform:translateZ(0) scale(.98);transition:transform .06s ease-out,opacity .06s ease-out;opacity:0;max-height:calc(100dvh - 16px);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;will-change:transform,opacity;margin:auto;contain:layout paint}.settings-modal-backdrop{transition:opacity .04s;background:radial-gradient(700px 360px at 50% 15%,rgba(0,212,255,.16),transparent 60%),#000000eb;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);overflow-y:auto!important;overflow-x:hidden!important;align-items:flex-start;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;height:100dvh;min-height:100dvh}.settings-modal-content{width:min(92vw,420px);max-height:calc(100dvh - (var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom) + 24px));background:linear-gradient(180deg,#0a1018fa,#070a0ffa);border:1px solid rgba(0,212,255,.35);border-radius:20px;box-shadow:0 20px 52px #0009,0 0 22px #00d4ff2e;transform:translateZ(0) scale(1);transition:opacity .04s ease-out;overflow:hidden;display:flex;flex-direction:column;min-height:0;margin:auto}.settings-modal-content .modal-header{background:transparent;border-bottom:none;padding:16px 56px 14px 18px}.settings-modal-content .modal-header h2{font-size:clamp(1.05rem,3.2vw,1.4rem);letter-spacing:2px;text-shadow:0 0 12px rgba(0,212,255,.35)}.settings-modal-content .modal-content{padding:12px 16px 8px}.settings-modal-content .setting-item{margin-bottom:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,212,255,.2);background:#080c1299;box-shadow:inset 0 0 14px #00d4ff14;gap:8px}.settings-modal-content .setting-item label{font-size:1rem;color:var(--neon-blue);letter-spacing:1.3px}.settings-modal-content .setting-item input,.settings-modal-content .setting-item select{background:#080c12c7;border:1px solid rgba(0,212,255,.3);border-radius:12px;padding:10px 12px;color:#fff;font-size:.98rem;transition:border-color .2s ease,box-shadow .2s ease}.settings-modal-content .setting-item input:focus,.settings-modal-content .setting-item select:focus{outline:none;border-color:#00d4ffb3;box-shadow:0 0 16px #00d4ff40}.settings-modal-content .duration-control{background:#080c12c7;border:1px solid rgba(0,212,255,.28);border-radius:12px;padding:8px 10px;gap:8px}.settings-modal-content .duration-display{font-size:1.2rem;letter-spacing:1px}.modal-backdrop.active .modal-card{transform:translateZ(0) scale(1);opacity:1}.modal-header{position:relative;background:#00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,255,255,.12);padding:14px 16px 10px;text-align:center}.modal-header h2{font-family:Bebas Neue,sans-serif;color:var(--neon-blue);font-size:clamp(1rem,2.5vw,1.3rem);margin:0;letter-spacing:1px}.modal-content{flex:0 0 auto;min-height:auto;overflow:visible;touch-action:auto;padding:10px 16px}.modal-footer{position:relative;padding-top:10px;padding-bottom:calc(12px + var(--safe-bottom));padding-left:16px;padding-right:16px;background:#00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(0,255,255,.12)}@media(orientation:landscape){.modal-card{max-height:calc(100dvh - 10px)}.modal-content{padding-bottom:6px}}.lan-qr-modal .modal-header{position:static!important;transform:none!important;margin:0 0 6px;width:100%;text-align:center}.close-modal{position:absolute;top:10px;right:10px;background:#0009;border:2px solid var(--neon-blue);border-radius:50%;color:var(--neon-blue);font-size:clamp(1.8rem,4vw,2.2rem);cursor:pointer;width:clamp(35px,8vw,40px);height:clamp(35px,8vw,40px);display:flex;align-items:center;justify-content:center;z-index:1000;line-height:1;padding:0;transition:transform .3s ease-out,opacity .3s ease-out,background-color .3s ease-out,color .3s ease-out;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation;box-shadow:0 0 15px #00d4ff4d}.close-modal:hover{color:#fff;background:var(--neon-blue);box-shadow:0 0 25px var(--neon-blue);transform:scale(1.1)}.close-modal:active{transform:scale(.95);box-shadow:0 0 25px var(--neon-blue)}.modal-settings-scroll{padding-right:6px;margin:0;flex:1 1 auto;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}.modal-settings-scroll::-webkit-scrollbar{width:6px}.modal-settings-scroll::-webkit-scrollbar-thumb{background:#00d4ff73;border-radius:8px}.modal-settings-scroll::-webkit-scrollbar-track{background:#00000040}.modal-settings-scroll{scrollbar-width:thin;scrollbar-color:rgba(0,212,255,.5) rgba(0,0,0,.25)}.modal-guide-scroll{padding-right:6px;content-visibility:auto;contain-intrinsic-size:1px 800px}.modal-save-button-container{display:flex;justify-content:center;padding:0;margin:0;flex-shrink:0;background:transparent}.setting-item{margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.setting-item label{font-family:Bebas Neue,sans-serif;font-size:1.2rem;color:var(--neon-blue);letter-spacing:1px}.setting-item input,.setting-item select{background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px;color:#fff;font-family:Roboto Condensed,sans-serif;font-size:1rem;transition:border-color .3s,box-shadow .3s,background-color .3s,color .3s;width:100%}.setting-item input:focus,.setting-item select:focus{outline:none;border-color:var(--neon-blue);box-shadow:0 0 15px var(--neon-blue);background:#ffffff1a}.setting-item input:disabled,.setting-item select:disabled{opacity:.55;cursor:not-allowed;border-color:#ffffff1f;background:#ffffff08;box-shadow:none}.setting-item select option{background-color:#000;color:#fff}.duration-control{display:flex;align-items:center;justify-content:space-between;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:8px;border-radius:10px;gap:10px}.duration-control.is-locked{opacity:.6}.duration-control .slider-btn:disabled,.duration-control .slider-btn[disabled]{cursor:not-allowed;opacity:.55;pointer-events:none;box-shadow:none}.duration-display{font-family:Bebas Neue,sans-serif;font-size:1.4rem;color:#fff;flex:1;text-align:center}.animation-overlay{position:fixed;top:0;left:0;width:100%;height:100%;width:100vw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .05s ease-out;will-change:opacity;transform:translateZ(0);overflow:hidden;max-width:100vw;max-height:100vh;max-height:100dvh}.animation-overlay.active{opacity:1;pointer-events:all}.goal-overlay{background:radial-gradient(circle at center,rgba(0,212,255,.4) 0%,transparent 70%);will-change:opacity;transform:translateZ(0)}.goal-container{display:flex;flex-direction:column;align-items:center;will-change:transform;transform:translateZ(0);max-width:95vw;max-height:95vh;max-height:95dvh;padding:clamp(10px,3vw,20px);box-sizing:border-box}.goal-text{font-family:Bebas Neue,sans-serif;font-size:clamp(3rem,15vw,12rem);color:#fff;line-height:.8;text-shadow:0 0 20px var(--neon-blue),0 0 50px var(--neon-blue);animation:goalFadeIn .1s ease-out,goalPulse .2s infinite alternate .1s;will-change:transform,opacity;transform:translateZ(0);max-width:95vw;max-height:60vh;max-height:60dvh;word-wrap:break-word;overflow-wrap:break-word;text-align:center;overflow:hidden;text-overflow:ellipsis}@keyframes goalPulse{0%{transform:translateZ(0) scale(1)}to{transform:translateZ(0) scale(1.05)}}@keyframes goalFadeIn{0%{opacity:0;transform:translate3d(0,-10px,0) scale(.9)}to{opacity:1;transform:translateZ(0) scale(1)}}.goal-team-banner{margin-top:clamp(10px,3vh,20px);padding:clamp(8px,2vw,10px) clamp(20px,8vw,40px);background:#000;border:2px solid var(--neon-blue);color:var(--neon-blue);font-family:Bebas Neue,sans-serif;font-size:clamp(1.2rem,6vw,2.5rem);box-shadow:0 0 20px var(--neon-blue);transform:translateZ(0) skew(-10deg);will-change:transform;max-width:90vw;text-align:center;word-wrap:break-word;overflow-wrap:break-word;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-overlay{flex-direction:column;background:#00000080;will-change:opacity;transform:translateZ(0)}.card-container{display:flex;flex-direction:column;align-items:center;will-change:transform;transform:translateZ(0);max-width:95vw;max-height:95vh;max-height:95dvh;padding:clamp(10px,3vw,20px);box-sizing:border-box}.card{width:clamp(120px,30vw,160px);height:clamp(180px,45vw,240px);border-radius:10px;border:clamp(3px,1vw,4px) solid #fff;margin-bottom:clamp(10px,3vh,20px);will-change:transform,box-shadow;transform:translateZ(0);max-width:90vw;max-height:50vh;max-height:50dvh;box-sizing:border-box}.card.yellow{background:var(--neon-yellow);box-shadow:0 0 40px var(--neon-yellow)}.card.red{background:var(--neon-red);box-shadow:0 0 40px var(--neon-red)}.card-title-text{font-family:Bebas Neue,sans-serif;font-size:clamp(2rem,8vw,4rem);color:#fff;text-shadow:0 0 20px rgba(0,0,0,.5);will-change:transform;transform:translateZ(0);max-width:90vw;text-align:center;word-wrap:break-word;overflow-wrap:break-word;line-height:1.1;padding:0 clamp(5px,2vw,10px)}.card-subtitle-text{font-family:Bebas Neue,sans-serif;font-size:clamp(1rem,4vw,1.5rem);color:#fffc;text-align:center;max-width:90vw;word-wrap:break-word;overflow-wrap:break-word;margin-top:clamp(5px,2vh,10px);padding:0 clamp(5px,2vw,10px)}.confetti{position:absolute;width:8px;height:8px;background:var(--neon-blue);border-radius:50%;animation:confettiFall 2s ease-out forwards;will-change:transform,opacity;transform:translateZ(0);opacity:0}@keyframes confettiFall{0%{transform:translateZ(0) rotate(0);opacity:1}to{transform:translate3d(var(--tw),var(--th),0) rotate(360deg);opacity:0}}#guideModalBackdrop.modal-backdrop{align-items:center;justify-content:center;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--bannerOffset, 0px) + var(--safe-bottom)) calc(12px + var(--safe-left))}.guide-modal-content{width:min(92vw,560px);max-width:560px;max-height:calc(58dvh - var(--bannerOffset, 0px) - 28px - var(--safe-top) - var(--safe-bottom));margin:auto;border-radius:20px;background:#080e12e6;border:1px solid rgba(0,220,255,.22);box-shadow:0 0 18px #00dcff2e,0 20px 60px #000000a6;overflow:hidden;display:flex;flex-direction:column}.guide-modal-content .modal-header{background:linear-gradient(180deg,#060a0ef2,#060a0e99);border-bottom:none;padding:16px 54px 16px 16px;text-align:center}.guide-modal-content .modal-header h2{color:#fffffff2;letter-spacing:.18em}.guide-modal-content .close-modal{top:16px;right:12px;background:#080e12e6;border-color:#00dcff59}.guide-modal-content .modal-content{padding:12px 16px 16px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.guide-modal-content .modal-content>:first-child{padding-right:52px}@media(max-width:600px){.guide-modal-content{width:min(92vw,520px);max-height:calc(56dvh - var(--bannerOffset, 0px) - 24px - var(--safe-top) - var(--safe-bottom))}}@media(orientation:portrait){.guide-modal-content{max-height:calc(56dvh - var(--bannerOffset, 0px) - 24px - var(--safe-top) - var(--safe-bottom))}}.guide-modal-content .modal-content::-webkit-scrollbar{width:6px}.guide-modal-content .modal-content::-webkit-scrollbar-track{background:#00000026;border-radius:999px}.guide-modal-content .modal-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00ffc8d9,#00b4ffd9);border-radius:999px;box-shadow:0 0 10px #00dcff59}.guide-modal-content .modal-content::-webkit-scrollbar-thumb:hover{box-shadow:0 0 14px #00dcff8c}.guide-modal-content .modal-content{scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.75) rgba(0,0,0,.15)}.guide-modal-content>*{contain:layout style}.guide-modal-content p,.guide-modal-content div{will-change:auto}@media(orientation:landscape){.playground{min-height:100vh;min-height:100dvh}.header-title{display:none!important}.top-bar{padding-top:clamp(5px,1.5vh,10px)!important}.scoreboard-container{margin-bottom:20px!important;z-index:100!important;top:clamp(60px,12vh,80px)!important;transform:translate(-50%) scale(.8)!important}.pitch-canvas{z-index:1!important}.ball-button{top:50%!important;left:50%!important;transform:translate3d(-50%,-50%,0)!important;margin-top:0!important}.ball-button.penalty-active{top:50%!important;transform:translate3d(-50%,-50%,0)!important}.summary-screen{overflow:visible!important;align-items:center!important;justify-content:center!important;padding:clamp(8px,1.5vh,15px)!important}.summary-card{max-height:80vh!important;max-height:80dvh!important;height:auto!important;min-height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;width:95%!important;max-width:95%!important;padding:clamp(15px,3vw,25px)!important;scrollbar-width:thin!important;scrollbar-color:var(--neon-blue) rgba(0,0,0,.3)!important;display:flex!important;flex-direction:column!important;margin:auto!important}.summary-stats-grid{display:grid!important;visibility:visible!important;opacity:1!important;gap:clamp(10px,2vh,15px)!important}.summary-header{margin-bottom:clamp(12px,2.5vh,20px)!important}.summary-header-icon{font-size:clamp(2rem,6vw,3rem)!important}.summary-header-text{font-size:clamp(1.5rem,5vw,2.2rem)!important}.summary-score-board{margin-bottom:clamp(15px,3vh,25px)!important;padding:clamp(15px,3vw,25px)!important;gap:clamp(10px,2.5vw,18px)!important}.summary-team-card{padding:clamp(12px,2.5vw,20px)!important}.summary-score{font-size:clamp(2.5rem,12vw,4.5rem)!important}.summary-team-name{font-size:clamp(.9rem,3vw,1.3rem)!important}.summary-divider{font-size:clamp(.9rem,3.5vw,1.3rem)!important;padding:clamp(6px,1.5vw,10px) clamp(10px,2.5vw,16px)!important}.summary-stats-section{margin-bottom:clamp(15px,3vh,25px)!important}.stats-section-header{margin-bottom:clamp(12px,2.5vh,18px)!important}.stat-card{padding:clamp(12px,2.5vw,18px)!important}.stat-card-header{margin-bottom:clamp(10px,2vh,14px)!important}.stat-value{font-size:clamp(1.5rem,5vw,2.2rem)!important}.summary-actions{margin-top:clamp(8px,1.5vh,12px)!important;padding-top:clamp(12px,2.5vh,18px)!important}.summary-action-btn{padding:clamp(10px,2.5vw,15px) clamp(25px,7vw,45px)!important;font-size:clamp(1rem,3vw,1.4rem)!important}.summary-card::-webkit-scrollbar{width:8px!important}.summary-card::-webkit-scrollbar-track{background:#0000004d!important;border-radius:10px!important}.summary-card::-webkit-scrollbar-thumb{background:var(--neon-blue)!important;border-radius:10px!important;border:2px solid rgba(0,0,0,.3)!important}.summary-card::-webkit-scrollbar-thumb:hover{background:#00b8e6!important}}@media(max-width:360px){.welcome-title{letter-spacing:clamp(2px,2vw,4px)!important}.welcome-subtitle{letter-spacing:clamp(2px,2vw,5px)!important}.summary-actions-top{flex-wrap:wrap!important}.summary-action-btn{width:100%!important}.lan-role-switch,.lan-client-form,.lan-ipport-row{grid-template-columns:1fr!important}.lan-copy-btn{width:100%!important}.lan-disconnect-actions{grid-template-columns:1fr!important}.bottom-controls{flex-wrap:wrap!important}.control-btn{flex:1 1 45%!important;white-space:normal!important}}@media(min-width:361px)and (max-width:430px){.summary-actions-top{flex-wrap:wrap!important}.summary-action-btn{width:100%!important}.lan-client-form,.lan-ipport-row{grid-template-columns:1fr!important}.lan-copy-btn{width:100%!important}.bottom-controls{flex-wrap:wrap!important}.control-btn{flex:1 1 45%!important;white-space:normal!important}}@media(min-width:768px){.gm-modal{width:min(640px,86vw)}.gm-cta{width:min(460px,70vw)}.welcome-buttons{width:min(820px,88vw)}}@media(orientation:landscape)and (max-height:600px){.welcome-screen{padding-top:env(safe-area-inset-top,0px)!important}.welcome-logo{width:clamp(78px,22vh,130px)!important;margin-bottom:clamp(4px,1.2vh,10px)!important;filter:drop-shadow(0 0 12px rgba(0,212,255,.35))!important}.welcome-title{font-size:clamp(2.4rem,12vh,4.2rem)!important;letter-spacing:clamp(2px,1.2vh,4px)!important;text-shadow:0 0 18px rgba(0,212,255,.7)!important}.welcome-subtitle{font-size:clamp(.62rem,3vh,.95rem)!important;letter-spacing:clamp(2px,1.2vh,6px)!important;margin-bottom:clamp(12px,4vh,22px)!important}.welcome-buttons{margin-top:clamp(6px,2.2vh,12px)!important;gap:clamp(6px,2vh,12px)!important;width:min(780px,96vw)!important}.start-button,.guide-button,.game-mode-button,.language-button{font-size:clamp(.82rem,3.2vh,1.1rem)!important;padding:clamp(6px,2.2vh,9px) clamp(16px,6.5vh,32px)!important}.info-row{gap:8px!important;flex-wrap:wrap!important;justify-content:center!important}.bottom-controls{gap:clamp(6px,2vh,10px)!important}.control-btn{font-size:clamp(.62rem,2.1vh,.82rem)!important;padding:clamp(5px,1.8vh,8px) clamp(10px,3.2vh,16px)!important;min-height:clamp(24px,4.2vh,32px)!important}.bottom-controls .btn{--btn-font: clamp(.62rem, 2.1vh, .85rem) !important;--btn-min-h: clamp(24px, 4.2vh, 34px) !important;--btn-pad-y: clamp(4px, 1.6vh, 7px) !important;--btn-pad-x: clamp(10px, 3.2vh, 18px) !important}.scoreboard{padding:10px 18px!important;gap:10px!important}.team-name{font-size:clamp(.68rem,2.1vh,.9rem)!important}.score-value{font-size:clamp(1.4rem,4.6vh,2rem)!important}.match-clock{font-size:clamp(.95rem,3vh,1.3rem)!important;padding:6px 12px!important;margin-top:12px!important}.playground.penalty-mode .top-bar{padding-bottom:clamp(8px,2.2vh,14px)!important}.turn-badge{max-width:min(92vw,520px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.summary-card{max-height:80vh!important;max-height:80dvh!important;width:95%!important;max-width:95%!important;padding:clamp(12px,2.5vw,20px)!important}.summary-header-icon{font-size:clamp(1.8rem,5vw,2.5rem)!important}.summary-header-text{font-size:clamp(1.3rem,4.5vw,1.8rem)!important}.summary-score{font-size:clamp(2rem,10vw,3.5rem)!important}.summary-team-name{font-size:clamp(.8rem,2.5vw,1.1rem)!important}.stat-value{font-size:clamp(1.3rem,4.5vw,1.9rem)!important}.stat-label{font-size:clamp(.9rem,2.5vw,1.1rem)!important}.summary-action-btn{padding:clamp(8px,2vw,12px) clamp(20px,6vw,35px)!important;font-size:clamp(.9rem,2.5vw,1.2rem)!important}.modal-card{max-height:90vh!important}.modal-backdrop{align-items:flex-start;padding-top:10px;padding-bottom:10px}#guideModalBackdrop.modal-backdrop{align-items:center}.guide-modal-content{height:80vh!important;height:80dvh!important;max-height:80vh!important;max-height:80dvh!important;width:95%!important;max-width:95%!important;margin:auto!important}.top-bar{padding:5px 10px!important}.header-title h1{font-size:clamp(.8rem,3vw,1.2rem)!important;margin-bottom:2px!important}.turn-badge{font-size:clamp(.6rem,2vw,.75rem)!important;padding:2px 8px!important}.digit-display{width:clamp(28px,6vw,32px)!important;height:clamp(28px,6vw,32px)!important;font-size:clamp(1rem,3vw,1.4rem)!important}.scoreboard-container{top:clamp(40px,8vh,60px)!important;width:clamp(240px,60vw,320px)!important;max-width:80%!important;transform:translate(-50%) scale(.65)!important;transform-origin:top center!important;z-index:100!important}.event-banner-text{font-size:clamp(.6rem,2vw,.9rem)!important}.scoreboard{padding:clamp(8px,2vh,12px) clamp(10px,3vw,15px)!important}.team-name{font-size:clamp(.7rem,2vw,.85rem)!important;margin-bottom:2px!important}.score-value{font-size:clamp(2rem,8vw,3rem)!important}.match-clock{font-size:clamp(1rem,4vw,1.5rem)!important}.turn-dot{width:8px!important;height:8px!important;margin-bottom:4px!important}.ball-button{width:clamp(60px,15vw,80px)!important;height:clamp(60px,15vw,80px)!important;font-size:clamp(2rem,8vw,3rem)!important;top:50%!important;left:50%!important;transform:translate3d(-50%,-50%,0)!important;z-index:250!important}.ball-button.penalty-active{top:50%!important}.bottom-controls{gap:4px!important;padding:0 5px!important}.control-btn{padding:6px 8px!important;font-size:clamp(.6rem,2vw,.8rem)!important}.progress-container{height:3px!important}}@media(orientation:landscape)and (max-height:500px){.welcome-logo{width:clamp(70px,20vh,115px)!important}.welcome-title{font-size:clamp(2.1rem,11vh,3.6rem)!important}.welcome-subtitle{font-size:clamp(.58rem,2.8vh,.9rem)!important;margin-bottom:clamp(10px,3.5vh,18px)!important}.start-button,.guide-button,.game-mode-button,.language-button{font-size:clamp(.78rem,3vh,1.02rem)!important;padding:clamp(5px,2vh,8px) clamp(14px,6vh,28px)!important}.summary-card{max-height:80vh!important;max-height:80dvh!important;width:95%!important;max-width:95%!important;padding:clamp(10px,2vw,18px)!important}.summary-header-icon{font-size:clamp(1.5rem,4vw,2rem)!important}.summary-header-text{font-size:clamp(1.1rem,4vw,1.5rem)!important}.summary-score-board{padding:clamp(10px,2.5vw,18px)!important;gap:clamp(8px,2vw,15px)!important}.summary-score{font-size:clamp(1.8rem,9vw,3rem)!important}.summary-team-name{font-size:clamp(.75rem,2vw,1rem)!important}.summary-divider{font-size:clamp(.8rem,3vw,1.1rem)!important}.stat-card{padding:clamp(10px,2vw,15px)!important}.stat-value{font-size:clamp(1.2rem,4vw,1.7rem)!important}.stat-label{font-size:clamp(.85rem,2vw,1rem)!important}.summary-action-btn{padding:clamp(8px,1.8vw,11px) clamp(18px,5vw,30px)!important;font-size:clamp(.85rem,2.2vw,1.1rem)!important}.scoreboard-container{top:clamp(40px,8vh,55px)!important;transform:translate(-50%) scale(.65)!important;width:clamp(240px,60vw,320px)!important}.ball-button{width:clamp(50px,12vw,65px)!important;height:clamp(50px,12vw,65px)!important;font-size:clamp(1.5rem,6vw,2.5rem)!important;top:50%!important;transform:translate3d(-50%,-50%,0)!important}.ball-button.penalty-active{top:50%!important}.top-bar{padding:3px 8px!important}.header-title h1{font-size:clamp(.7rem,2.5vw,1rem)!important}.bottom-controls{gap:2px!important}.control-btn{padding:4px 6px!important;font-size:clamp(.5rem,1.8vw,.7rem)!important}}@media(orientation:landscape)and (min-height:601px)and (max-height:800px){.summary-card{max-height:80vh!important;max-height:80dvh!important;width:95%!important;max-width:95%!important;padding:clamp(15px,3vw,25px)!important}.scoreboard-container{top:clamp(50px,10vh,75px)!important;width:clamp(260px,65vw,360px)!important;transform:translate(-50%) scale(.7)!important;z-index:100!important}.ball-button{width:clamp(70px,18vw,95px)!important;height:clamp(70px,18vw,95px)!important;font-size:clamp(2.5rem,10vw,3.5rem)!important;top:50%!important;transform:translate3d(-50%,-50%,0)!important}.ball-button.penalty-active{top:50%!important}.top-bar{padding:6px 12px!important}.header-title h1{font-size:clamp(.9rem,3.5vw,1.3rem)!important}.bottom-controls{gap:6px!important}.control-btn{padding:7px 10px!important;font-size:clamp(.65rem,2.2vw,.85rem)!important}}@media(orientation:landscape)and (min-height:801px){.summary-card{max-height:80vh!important;max-height:80dvh!important;width:95%!important;max-width:95%!important;padding:clamp(18px,3.5vw,30px)!important}.scoreboard-container{top:clamp(60px,12vh,90px)!important;width:clamp(300px,70vw,400px)!important;transform:translate(-50%) scale(.75)!important;z-index:100!important}.ball-button{width:clamp(80px,20vw,110px)!important;height:clamp(80px,20vw,110px)!important;font-size:clamp(3rem,12vw,4.5rem)!important;top:50%!important;transform:translate3d(-50%,-50%,0)!important}.ball-button.penalty-active{top:50%!important}.top-bar{padding:8px 15px!important}.bottom-controls{gap:8px!important}}.modal-card::-webkit-scrollbar{width:6px}.modal-card::-webkit-scrollbar-track{background:#00000026;border-radius:999px}.modal-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00ffc8d9,#00b4ffd9);border-radius:999px;box-shadow:0 0 10px #00dcff59}.modal-card::-webkit-scrollbar-thumb:hover{box-shadow:0 0 14px #00dcff8c}.modal-card{scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.75) rgba(0,0,0,.15)}.gm-modal.mode-card::-webkit-scrollbar{width:6px}.gm-modal.mode-card::-webkit-scrollbar-track{background:#00000026;border-radius:999px}.gm-modal.mode-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00ffc8d9,#00b4ffd9);border-radius:999px;box-shadow:0 0 10px #00dcff59}.gm-modal.mode-card::-webkit-scrollbar-thumb:hover{box-shadow:0 0 14px #00dcff8c}.gm-modal.mode-card{scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.75) rgba(0,0,0,.15)}.summary-card::-webkit-scrollbar{width:8px}.summary-card::-webkit-scrollbar-track{background:#0000004d;border-radius:10px}.summary-card::-webkit-scrollbar-thumb{background:var(--neon-blue);border-radius:10px;border:2px solid rgba(0,0,0,.3)}.summary-card::-webkit-scrollbar-thumb:hover{background:#00b8e6}@media(max-width:600px)and (orientation:portrait){.bottom-controls{gap:4px;padding:0 5px}.control-btn{padding:8px 4px;font-size:.8rem;letter-spacing:0}.ball-button{width:90px;height:90px;font-size:3.5rem}.summary-score{font-size:3.5rem}.summary-header{font-size:2.2rem}.stat-row{font-size:.9rem}.modal-card{width:95%;max-height:90vh}.modal-content{padding-left:15px;padding-right:15px}.modal-header h2{font-size:clamp(1rem,2.5vw,1.3rem)!important}.close-modal{top:8px;right:8px;width:60px;height:60px;font-size:3.2rem;background:#000c;border:3px solid var(--neon-blue);box-shadow:0 0 20px #00d4ff80}.setting-item{margin-bottom:10px;gap:5px}.setting-item label{font-size:1.1rem}.setting-item input,.setting-item select{padding:8px;font-size:1rem}.ball-slider-container,.duration-control{padding:8px}.duration-display{font-size:1.2rem}.ball-preview{width:50px;height:50px;font-size:1.5rem}.save-button{font-size:1.2rem;padding:10px 40px}}@media(max-width:480px)and (orientation:portrait){.top-bar{padding:8px 5px!important}.header-title h1{font-size:clamp(1rem,5vw,1.3rem)!important;margin-bottom:3px!important}.info-row{gap:8px!important;flex-wrap:wrap;justify-content:center}.turn-badge{padding:2px 8px!important;font-size:clamp(.7rem,3vw,.8rem)!important}.digit-display{width:clamp(32px,8vw,40px)!important;height:clamp(32px,8vw,40px)!important;font-size:clamp(1.2rem,4vw,1.6rem)!important}.scoreboard-container{top:clamp(60px,12vh,90px)!important;width:98%!important;max-width:100%!important;z-index:100!important}.event-banner-text{font-size:clamp(.65rem,2.5vw,.85rem)!important;line-height:1.3!important;padding:0 3px!important}.scoreboard{padding:clamp(8px,2vw,12px)!important;gap:clamp(6px,2vw,10px)!important}.team-name{font-size:clamp(.8rem,3vw,1rem)!important;margin-bottom:2px!important}.score-value{font-size:clamp(2rem,10vw,3rem)!important}.match-clock{font-size:clamp(1.2rem,4vw,1.6rem)!important;padding:6px 12px!important}.ball-button{width:clamp(80px,20vw,110px)!important;height:clamp(80px,20vw,110px)!important;font-size:clamp(3rem,12vw,4.5rem)!important}.pitch-center-circle{width:clamp(150px,50vw,220px)!important;height:clamp(150px,50vw,220px)!important}.bottom-controls{gap:clamp(3px,1vw,6px)!important;padding:0 3px!important;width:98%!important}.control-btn{padding:clamp(6px,2vw,10px) clamp(4px,1.5vw,8px)!important;font-size:clamp(.7rem,3vw,.9rem)!important;letter-spacing:0!important}.summary-screen{padding:clamp(10px,3vw,20px)!important;overflow:visible!important;align-items:center!important;justify-content:center!important}.summary-header{font-size:clamp(1.8rem,6vw,2.5rem)!important;margin-bottom:clamp(15px,4vw,25px)!important}.summary-score-board{gap:clamp(8px,2vw,15px)!important;margin-bottom:clamp(10px,2vh,20px)!important;padding-bottom:clamp(8px,2vh,15px)!important;align-items:flex-start!important}.summary-score{font-size:clamp(2rem,10vw,3.5rem)!important;min-height:clamp(2rem,10vw,3.5rem)!important}.summary-team-name{font-size:clamp(.9rem,3.5vw,1.3rem)!important;margin-bottom:clamp(4px,1vh,8px)!important}.summary-divider{font-size:clamp(1.2rem,5vw,2rem)!important;margin-top:clamp(1rem,4vw,1.5rem)!important}.stat-row{font-size:clamp(.75rem,2.5vw,.9rem)!important;padding:clamp(5px,1.5vw,8px)!important;gap:clamp(3px,1.2vw,6px)!important}.summary-stats-grid{gap:clamp(6px,1.5vh,10px)!important;margin-bottom:clamp(10px,2vh,20px)!important;display:grid!important;visibility:visible!important;opacity:1!important}.summary-card{width:95%!important;max-width:95%!important;padding:clamp(15px,3vw,25px)!important;max-height:90vh!important;max-height:90dvh!important;height:auto!important;min-height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;display:flex!important;flex-direction:column!important}.summary-stats-grid{display:grid!important;visibility:visible!important;opacity:1!important;margin-bottom:clamp(10px,2vh,20px)!important}.modal-card{width:98%!important;max-height:95vh!important}.modal-content{padding-left:clamp(10px,3vw,15px)!important;padding-right:clamp(10px,3vw,15px)!important}.modal-header h2{font-size:clamp(1rem,2.5vw,1.3rem)!important}.close-modal{width:clamp(50px,12vw,60px)!important;height:clamp(50px,12vw,60px)!important;font-size:clamp(2.5rem,8vw,3.2rem)!important;top:8px!important;right:8px!important}.card{width:clamp(100px,25vw,160px)!important;height:clamp(150px,38vw,240px)!important;border-width:clamp(2px,1vw,4px)!important;margin-bottom:clamp(8px,2vh,20px)!important}.card-title-text{font-size:clamp(1.5rem,6vw,3rem)!important;padding:0 clamp(3px,1.5vw,8px)!important}.card-subtitle-text{font-size:clamp(.9rem,3.5vw,1.3rem)!important;margin-top:clamp(3px,1.5vh,8px)!important}.card-container{padding:clamp(8px,2vw,15px)!important;max-width:98vw!important}.goal-text{font-size:clamp(2.5rem,12vw,8rem)!important}.goal-team-banner{font-size:clamp(1rem,5vw,2rem)!important;padding:clamp(6px,1.5vw,8px) clamp(15px,6vw,35px)!important;max-width:95vw!important}.goal-container{padding:clamp(8px,2vw,15px)!important;max-width:98vw!important}}@media(max-width:360px)and (orientation:portrait){.header-title h1{font-size:.9rem!important}.turn-badge{font-size:.65rem!important;padding:2px 6px!important}.digit-display{width:30px!important;height:30px!important;font-size:1.1rem!important}.scoreboard-container{top:55px!important;z-index:100!important}.ball-button{width:70px!important;height:70px!important;font-size:2.5rem!important}.control-btn{padding:5px 3px!important;font-size:.65rem!important}.bottom-controls{gap:2px!important}}@media(min-width:481px)and (max-width:768px){.scoreboard-container{width:90%!important;max-width:450px!important}.ball-button{width:clamp(95px,18vw,110px)!important;height:clamp(95px,18vw,110px)!important}.control-btn{font-size:clamp(.9rem,2vw,1.1rem)!important}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-card{transition:none!important}}.guide-modal-content{height:auto!important;max-height:calc(78dvh - var(--bannerOffset, 0px) - 28px - var(--safe-top) - var(--safe-bottom))!important}@media(max-width:600px)and (orientation:portrait){.guide-modal-content{height:auto!important;max-height:calc(72dvh - var(--bannerOffset, 0px) - 24px - var(--safe-top) - var(--safe-bottom))!important}}@media(orientation:landscape)and (max-height:600px){.guide-modal-content{height:auto!important;max-height:calc(78dvh - var(--bannerOffset, 0px) - 24px - var(--safe-top) - var(--safe-bottom))!important}}@media(max-width:600px),(prefers-reduced-motion:reduce){.modal-backdrop,.modal-card{transition:none!important}.modal-card{transform:translateZ(0) scale(1)!important;opacity:1!important}.modal-card,.modal-card *{text-shadow:none!important}.modal-card img,.welcome-logo{filter:none!important}.modal-card .digit-display,.modal-card .language-flag{box-shadow:none!important}}@media(orientation:landscape)and (max-height:420px){.gm-modal-shell{display:flex;justify-content:center;align-items:center;align-content:center;flex-direction:column}.gm-modal{width:min(720px,100%);max-width:100%;padding:10px 12px;border-radius:14px;max-height:calc(100dvh - (var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom) + 24px));overflow:auto}.gm-modal-title{font-size:1.25rem;margin-bottom:8px;padding-right:40px}.gm-options{gap:8px;max-height:min(46dvh,260px)}.gm-option{grid-template-columns:34px 1fr;gap:8px;padding:7px 8px;border-radius:10px}.gm-opt-title{font-size:.95rem}.gm-opt-sub{font-size:.78rem;line-height:1.2}.gm-start{margin-top:10px;padding:7px 10px;border-radius:12px;font-size:1.05rem;letter-spacing:2px}.lan-modal-content{max-height:calc(100dvh - (var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom) + 24px));overflow:auto}.lan-instructions{font-size:.82rem;line-height:1.25;padding-left:16px;margin:4px 0 10px}.lan-role-btn{padding:7px 10px;font-size:.9rem}.qr-scan-card{padding:10px 12px;border-radius:14px;max-height:calc(100dvh - (max(var(--bannerH, 0px),56px) + var(--safe-top) + var(--safe-bottom) + 24px));overflow:auto}.qr-scan-top-text{font-size:.9rem}.qr-scan-text{font-size:.82rem}.qr-scan-frame{width:min(210px,52vh,60vw);height:min(210px,52vh,60vw)}.gm-modal-title{line-height:1.05}.gm-start{margin-top:8px;padding:6px 10px}.gm-footer{margin-top:6px}.gm-footer button{padding:6px 10px;font-size:.9rem}.lan-instructions{font-size:.82rem;line-height:1.2}}@media(orientation:landscape)and (max-height:520px){.gm-modal{padding:12px;border-radius:14px}.gm-modal-title{font-size:1.15rem;margin-bottom:8px;line-height:1.05}.gm-option{padding:8px;gap:8px}.gm-start{margin-top:10px;padding:8px 10px;font-size:1.05rem}.gm-close{width:32px;height:32px;top:8px;right:8px}.gm-footer button{padding:6px 10px;font-size:.9rem}.gm-options{flex:1 1 auto;overflow-y:auto;max-height:none}}@media(orientation:landscape)and (max-height:480px){.gm-modal{padding:12px;border-radius:14px}.gm-modal-title{font-size:1.15rem;margin-bottom:8px}.gm-option{padding:8px;gap:8px;grid-template-columns:34px 1fr}.gm-start{margin-top:10px;padding:8px 10px;font-size:1.05rem}.gm-close{width:32px;height:32px;top:8px;right:8px}}@media(orientation:landscape)and (max-height:340px){.gm-modal{padding:8px 10px}.gm-modal-title{font-size:1.1rem;margin-bottom:6px}.gm-option{padding:6px 7px}.gm-start{padding:6px 8px;font-size:.98rem}.lan-instructions{font-size:.78rem}}.gm-modal-shell{display:grid;place-items:center;overflow-y:auto;overflow-x:hidden}.gm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8}.gm-modal{margin:0 auto}.modal-card.lan-modal-content{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;max-height:calc(100dvh - 16px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-card.lan-modal-content .modal-header,.modal-card.lan-modal-content .modal-footer{flex:0 0 auto}.modal-card.lan-modal-content .modal-content{flex:1 1 auto;overflow:visible}.modal-card.lan-modal-content .two-phone-content{max-height:none!important;overflow:visible!important;padding-right:0}.modal-card.lan-modal-content .lan-role-body{overflow:visible}.settings-modal-content .modal-footer.modal-save-button-container{display:flex;justify-content:center;align-items:center;padding:12px 16px calc(12px + var(--safe-bottom, 0px)) 16px;background:#00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(0,255,255,.12);width:100%;box-sizing:border-box;flex:0 0 auto}.settings-modal-content .save-button{width:min(100%,220px);max-width:100%;padding:clamp(10px,2.2vw,14px) clamp(16px,6vw,28px);font-size:clamp(1.05rem,4.2vw,1.25rem);border-radius:14px;margin:0 auto;display:inline-flex;justify-content:center}@media(orientation:landscape){.settings-modal-content{max-height:calc(72dvh - (var(--bannerH, 50px) + var(--safe-top) + var(--safe-bottom) + 12px))}}.settings-modal-content .save-button.btn{min-height:48px}@media(orientation:landscape)and (max-height:420px){.modal-backdrop{padding:calc(8px + var(--safe-top)) calc(8px + var(--safe-right)) calc(8px + var(--bannerH, 50px) + var(--safe-bottom)) calc(8px + var(--safe-left))}}@media(orientation:landscape)and (max-height:600px){.bottom-controls{gap:clamp(6px,2vh,10px)!important;margin-bottom:env(safe-area-inset-bottom,6px)}.control-btn{font-size:clamp(.62rem,2.1vh,.82rem)!important;padding:clamp(5px,1.8vh,8px) clamp(10px,3.2vh,16px)!important;min-height:clamp(24px,4.2vh,32px)!important}.bottom-controls .btn{--btn-font: clamp(.62rem, 2.1vh, .85rem) !important;--btn-min-h: clamp(24px, 4.2vh, 34px) !important;--btn-pad-y: clamp(4px, 1.6vh, 7px) !important;--btn-pad-x: clamp(10px, 3.2vh, 18px) !important}}.event-banner-inner{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.event-banner-inner{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:100%;padding:0 8px;box-sizing:border-box}.event-badge{flex:0 0 auto;min-width:20px;height:18px;padding:0 7px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-family:Bebas Neue,sans-serif;font-size:clamp(.72rem,2vh,.92rem);line-height:1;background:#0000008c;border:1px solid rgba(255,255,255,.18);color:#efffff;font-weight:900;letter-spacing:.5px;text-shadow:0 1px 0 rgba(0,0,0,.65)}.event-banner-msg{flex:1 1 auto;min-width:0;max-width:100%;font-family:Bebas Neue,sans-serif;font-size:clamp(.7rem,2.5vw,1.1rem);color:#efffff;text-align:center;letter-spacing:1px;line-height:1.2;text-transform:uppercase;font-weight:800;text-shadow:0 1px 0 rgba(0,0,0,.7),0 0 10px rgba(0,0,0,.35);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.event-banner-msg.event-long{-webkit-line-clamp:3;line-clamp:3;font-size:clamp(.62rem,2.2vw,.98rem);line-height:1.15;letter-spacing:.8px}@media(orientation:landscape){.event-banner-msg{animation:none!important;padding-left:0!important;white-space:normal!important}}[dir=rtl]{direction:rtl}[dir=rtl] .modal-card,[dir=rtl] .howto-panel,[dir=rtl] .rules-panel,[dir=rtl] .setting-item label,[dir=rtl] .language-modal-content,[dir=rtl] .modal-content{text-align:right}
