@font-face{font-family:Wallpoet;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/Wallpoet-Regular.ttf) format("truetype")}:root{--bg: #0a0c0f;--bg-elevated: #12161c;--bg-panel: #171c24;--bg-panel-hover: #1d2430;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: #eef1f5;--text-muted: #8b95a5;--accent: #9eff00;--accent-bright: #b6ff42;--accent-r: 158;--accent-g: 255;--accent-b: 0;--accent-dim: rgba(var(--accent-r), var(--accent-g), var(--accent-b), .14);--accent-glow: rgba(var(--accent-r), var(--accent-g), var(--accent-b), .28);--success: #3ecf8e;--danger: #ff5c5c;--danger-bright: #ff7a7a;--danger-dim: rgba(255, 92, 92, .12);--danger-glow: rgba(255, 92, 92, .28);--warn: #f0b429;--warn-r: 240;--warn-g: 180;--warn-b: 41;--warn-glow: rgba(var(--warn-r), var(--warn-g), var(--warn-b), .22);--font-display: "Bebas Neue", Impact, sans-serif;--font-stencil: "Wallpoet", sans-serif;--font-body: "Rajdhani", "Segoe UI", sans-serif;--font-mono: "Share Tech Mono", ui-monospace, monospace;--font-hero-countdown: var(--font-stencil);--font-hero-button: var(--font-stencil);--radius: 14px;--radius-lg: 20px;--container: min(1120px, calc(100% - 2rem) );--header-h: 72px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:18px;line-height:1.5;color:var(--text);background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.45) 100%),repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.06) 2px 4px),radial-gradient(ellipse 80% 50% at 50% -20%,rgba(var(--accent-r),var(--accent-g),var(--accent-b),.14),transparent),linear-gradient(180deg,#0d1015 0%,var(--bg) 40%);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}#root{position:relative;z-index:1}a{color:var(--accent-bright);text-decoration:none}a:hover{text-decoration:underline}.container{width:var(--container);margin-inline:auto}.eyebrow{margin:0 0 .5rem;font-size:.85rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:.04em;line-height:1.05;margin:0}h1{font-size:clamp(3rem,10vw,5.5rem)}h2{font-size:clamp(2rem,5vw,2.75rem);margin-bottom:.75rem}h3{font-size:1.6rem}.accent{color:var(--accent-bright)}.header{position:sticky;top:0;z-index:50;height:var(--header-h);border-bottom:1px solid var(--line);background:#0a0c0fe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:100%}.brand{display:flex;align-items:center;gap:.75rem;color:var(--text);text-decoration:none}.brand strong{display:block;font-family:var(--font-display);font-size:1.5rem;letter-spacing:.08em;line-height:1}.brand small{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.brand__mark{height:52px;width:auto;max-width:78px;object-fit:contain;transition:transform .25s ease,filter .25s ease}.brand:hover .brand__mark{transform:scale(1.06);filter:drop-shadow(0 0 14px var(--accent-glow))}.header__nav{display:none;gap:1.5rem}.header__nav a{color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;text-decoration:none}.header__nav a:hover{color:var(--text)}.header__badge{padding:.45rem .85rem;border:1px solid var(--line-strong);border-radius:999px;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-bright);background:var(--accent-dim)}@media(min-width:768px){.header__nav{display:flex}}.hero{position:relative;padding:clamp(3rem,8vw,6rem) 0 clamp(2rem,5vw,4rem);overflow-x:clip;overflow-y:visible}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.14) 2px 4px);opacity:.28}.hero__glow{position:absolute;inset:10% 20% auto;z-index:0;height:280px;background:radial-gradient(circle,var(--accent-glow),transparent 70%);filter:blur(40px);pointer-events:none}.hero__reticle{position:absolute;top:clamp(3.5rem,10vw,6rem);left:50%;z-index:0;width:min(300px,72vw);height:min(300px,72vw);border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.22);border-radius:50%;background:linear-gradient(rgba(var(--accent-r),var(--accent-g),var(--accent-b),.35),rgba(var(--accent-r),var(--accent-g),var(--accent-b),.35)) center / 100% 1px no-repeat,linear-gradient(rgba(var(--accent-r),var(--accent-g),var(--accent-b),.35),rgba(var(--accent-r),var(--accent-g),var(--accent-b),.35)) center / 1px 100% no-repeat;opacity:.07;transform:translate(-50%);pointer-events:none}.hero__reticle:before{content:"";position:absolute;top:22%;right:22%;bottom:22%;left:22%;border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.25);border-radius:50%}.hero__frame{position:absolute;inset:clamp(1.25rem,5vw,3rem);z-index:1;pointer-events:none;--corner: 32px;--thick: 1px;--corner-color: rgba(var(--accent-r), var(--accent-g), var(--accent-b), .38);background:linear-gradient(var(--corner-color),var(--corner-color)) left top / var(--corner) var(--thick) no-repeat,linear-gradient(var(--corner-color),var(--corner-color)) left top / var(--thick) var(--corner) no-repeat,linear-gradient(var(--corner-color),var(--corner-color)) right top / var(--corner) var(--thick) no-repeat,linear-gradient(var(--corner-color),var(--corner-color)) right top / var(--thick) var(--corner) no-repeat,linear-gradient(var(--corner-color),var(--corner-color)) left bottom / var(--corner) var(--thick) no-repeat,linear-gradient(var(--corner-color),var(--corner-color)) left bottom / var(--thick) var(--corner) no-repeat,linear-gradient(var(--corner-color),var(--corner-color)) right bottom / var(--corner) var(--thick) no-repeat,linear-gradient(var(--corner-color),var(--corner-color)) right bottom / var(--thick) var(--corner) no-repeat}.hero__inner{position:relative;z-index:2;container-type:inline-size}.hero__emblem{width:min(320px,78vw);margin:0 auto 1.75rem}.hero__emblem img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 28px var(--accent-glow));animation:emblem-idle 5.5s ease-in-out infinite}@keyframes emblem-idle{0%,to{transform:translateY(0) scale(1);filter:drop-shadow(0 0 18px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2))}50%{transform:translateY(-6px) scale(1.06);filter:drop-shadow(0 0 32px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.32))}}.hero__subtitle{max-width:36rem;margin:1rem 0 2rem;font-size:1.25rem;color:var(--text-muted)}.hero__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:2rem}.stat-pill{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff05}.stat-pill__label{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.stat-pill__value{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.06em}.stat-pill--prize{position:relative;grid-column:1 / -1;padding:1.2rem 1.35rem 1.2rem 1.5rem;border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5);background:linear-gradient(135deg,rgba(var(--accent-r),var(--accent-g),var(--accent-b),.16),rgba(var(--accent-r),var(--accent-g),var(--accent-b),.04)),#00000052;box-shadow:inset 0 0 0 1px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.12),inset 0 0 28px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.08),0 0 36px var(--accent-glow);animation:prize-pill-glow 5s ease-in-out infinite;overflow:hidden}.stat-pill--prize:before{content:"";position:absolute;left:0;top:.9rem;bottom:.9rem;width:3px;border-radius:999px;background:var(--accent-bright);box-shadow:0 0 14px var(--accent-glow);transform:scaleY(0);transform-origin:top center}.stat-pill--prize.is-visible:before{animation:prize-bar-grow 1s cubic-bezier(.16,1,.3,1) .15s forwards}.stat-pill--prize .stat-pill__prize-total,.stat-pill--prize .stat-pill__prize-card{opacity:0;transform:translateY(14px)}.stat-pill--prize.is-visible .stat-pill__prize-total{animation:prize-rise .85s cubic-bezier(.16,1,.3,1) .2s forwards}.stat-pill--prize.is-visible .stat-pill__prize-card{animation:prize-rise .85s cubic-bezier(.16,1,.3,1) var(--prize-card-delay, .55s) forwards}.stat-pill--prize .stat-pill__label{color:var(--accent-bright);letter-spacing:.2em}.stat-pill--prize .stat-pill__value{display:grid;gap:1rem}.stat-pill__prize-total{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding-bottom:.85rem;border-bottom:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.28)}.stat-pill__prize-total-label{font-family:var(--font-mono);font-size:.72rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}.stat-pill__prize-total-amount{position:relative;display:inline-block;overflow:hidden;font-family:var(--font-display);font-size:clamp(2rem,6vw,2.75rem);letter-spacing:.05em;line-height:1;color:var(--accent-bright);text-shadow:0 0 20px var(--accent-glow),0 0 40px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2)}.stat-pill__prize-total-amount-text{position:relative;z-index:1;font-variant-numeric:tabular-nums}.stat-pill--prize.is-visible .stat-pill__prize-total-amount:after{content:"";position:absolute;top:-30%;right:-50%;bottom:-30%;left:-50%;z-index:2;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translate(-130%);animation:prize-shimmer 5s ease-in-out 1.4s infinite;pointer-events:none}.stat-pill__prize-splits{display:grid;gap:.65rem}.stat-pill__prize-card{padding:.85rem .95rem;border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2);border-radius:calc(var(--radius) - 2px);background:#00000047;box-shadow:inset 0 0 18px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.04)}@media(hover:hover){.stat-pill__prize-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.stat-pill__prize-card:hover{transform:translateY(-2px);border-color:rgba(var(--accent-r),var(--accent-g),var(--accent-b),.38);box-shadow:inset 0 0 22px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.08),0 8px 20px #00000038}}.stat-pill__prize-mode{margin:0 0 .35rem;font-family:var(--font-mono);font-size:.68rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.stat-pill__prize-amount{margin:0;font-family:var(--font-display);font-size:clamp(1.35rem,4vw,1.65rem);letter-spacing:.05em;line-height:1;color:var(--text)}.stat-pill__prize-detail{margin:.45rem 0 0;font-family:var(--font-body);font-size:.88rem;font-weight:600;letter-spacing:.03em;color:var(--text-muted)}@keyframes prize-pill-glow{0%,to{box-shadow:inset 0 0 0 1px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.12),inset 0 0 28px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.08),0 0 28px var(--accent-glow)}50%{box-shadow:inset 0 0 0 1px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.18),inset 0 0 32px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.12),0 0 44px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.28)}}@keyframes prize-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes prize-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes prize-shimmer{0%,18%{transform:translate(-130%)}38%,to{transform:translate(130%)}}@media(min-width:640px){.stat-pill__prize-splits{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero__actions .btn{font-family:var(--font-hero-button);font-weight:400;letter-spacing:.1em}@media(min-width:640px){.hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.5rem;border-radius:var(--radius);border:1px solid transparent;font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn--primary{color:#111;background:linear-gradient(180deg,var(--accent-bright),var(--accent));box-shadow:0 8px 24px var(--accent-glow)}.btn--ghost{color:var(--text);background:transparent;border-color:var(--line-strong)}.btn--danger{color:#fff;background:linear-gradient(180deg,var(--danger-bright),var(--danger));border-color:#ff5c5c73;box-shadow:0 4px 14px var(--danger-glow)}.btn--danger:hover:not(:disabled){filter:brightness(1.08)}.btn--sm{padding:.35rem .75rem;font-size:.82rem;letter-spacing:.06em}.btn--full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.section{padding:clamp(3rem,7vw,5rem) 0}.section--muted{background:#ffffff04;border-block:1px solid var(--line)}.section__head{margin-bottom:2rem}.section__lead{max-width:42rem;margin:0;color:var(--text-muted);font-size:1.1rem}.panel{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--bg-panel) 0%,var(--bg-elevated) 100%);box-shadow:0 20px 50px #00000040}.info-grid{display:grid;gap:1.25rem}@media(min-width:900px){.info-grid{grid-template-columns:1fr 1fr}.panel--wide{grid-column:1 / -1}}.detail-list{display:grid;gap:1rem;margin:0}.detail-list div{display:grid;gap:.2rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.detail-list dt{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.detail-list dd{margin:0;font-size:1.15rem;font-weight:600}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.timeline li{display:grid;grid-template-columns:8rem 1fr;gap:1rem;align-items:baseline;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.timeline__date{font-weight:700;color:var(--accent-bright)}.rules-list{margin:0;padding-left:1.2rem;display:grid;gap:.65rem;color:var(--text-muted)}.rules-list li::marker{color:var(--accent)}.register-form{max-width:760px}.register-form fieldset{border:0;margin:0 0 1.75rem;padding:0}.form-section-title{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.08em;margin-bottom:1rem;color:var(--text)}.field-hint{margin:-.5rem 0 1rem;color:var(--text-muted);font-size:.95rem}.field-grid{display:grid;gap:1rem}.field{display:grid;gap:.4rem}.field span{font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.field input{width:100%;padding:.75rem .9rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:#00000040;color:var(--text);font:inherit}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}@media(min-width:640px){.field-grid{grid-template-columns:1fr 1fr}.field--wide{grid-column:1 / -1}}.roster{display:grid;gap:.75rem}.roster-row{display:grid;grid-template-columns:2rem 1fr 1fr;gap:.75rem;align-items:end}.roster-row__num{display:flex;align-items:center;justify-content:center;height:46px;font-family:var(--font-display);font-size:1.25rem;color:var(--accent)}@media(max-width:520px){.roster-row{grid-template-columns:1fr}.roster-row__num{height:auto;justify-content:flex-start}}.alert{padding:.85rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-weight:600}.alert--error{background:#ff5c5c1f;border:1px solid rgba(255,92,92,.35);color:#ffb4b4}.alert--success{background:#3ecf8e1f;border:1px solid rgba(62,207,142,.35);color:#9ef0c8}.alert--warn{background:#f0b4291f;border:1px solid rgba(240,180,41,.35);color:#ffe08a}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.mode-card{position:relative;display:grid;gap:.35rem;padding:1rem 1.1rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:#0003;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background .15s ease}.mode-card input{position:absolute;opacity:0;pointer-events:none}.mode-card--active{border-color:var(--accent);background:var(--accent-dim)}.mode-card__title{font-weight:700;font-size:1.05rem}.mode-card__tag{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.08em;color:var(--accent-bright)}.mode-card--active .mode-card__title{color:var(--text)}.player-card__handle{margin:0 0 .85rem;color:var(--text-muted);font-size:.95rem}.player-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.player-card{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-panel);transition:border-color .15s ease,background .15s ease}.player-card:hover{border-color:rgba(var(--accent-r),var(--accent-g),var(--accent-b),.35);background:var(--bg-panel-hover)}.player-card__head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.player-card__head time{font-size:.85rem;color:var(--text-muted)}.player-card__meta{display:grid;gap:.5rem;margin:0 0 1rem}.player-card__meta div{display:flex;justify-content:space-between;gap:.75rem;font-size:.95rem}.player-card__meta dt{color:var(--text-muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.player-card__meta dd{margin:0;font-weight:600}.player-card__modes{display:flex;flex-wrap:wrap;gap:.4rem}.mode-chip{padding:.25rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-bright);background:var(--accent-dim);border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.25)}.empty-state{padding:2rem;text-align:center;color:var(--text-muted);border:1px dashed var(--line-strong);border-radius:var(--radius-lg)}.empty-state--error{color:#ffb4b4;border-color:#ff5c5c59}.footer{padding:2rem 0 3rem;border-top:1px solid var(--line)}.footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;color:var(--text-muted)}.footer__inner p{margin:0}.footer__sponsor{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin:2rem auto 0;padding:1.5rem 1.75rem .25rem;max-width:var(--container);border-top:1px solid var(--line);text-align:center}.footer__sponsor-label{font-family:var(--font-mono);font-size:.68rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted)}.footer__sponsor-link{color:inherit;text-decoration:none;transition:filter .2s ease,transform .2s ease}.footer__sponsor-link:hover{text-decoration:none;filter:brightness(1.08);transform:translateY(-1px)}.footer__sponsor-name{font-family:var(--font-stencil);font-size:clamp(1.4rem,4.5vw,2rem);font-weight:400;letter-spacing:.08em;line-height:1.1;color:var(--accent-bright);text-shadow:0 0 24px var(--accent-glow),0 0 48px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.12)}.footer__sponsor-handle{display:block;margin-top:.25rem;font-family:var(--font-mono);font-size:clamp(.72rem,2.8vw,.9rem);font-weight:400;letter-spacing:.14em;text-transform:none;color:var(--accent);text-shadow:none}.countdown{margin:2.5rem 0;text-align:center}.countdown .eyebrow{font-weight:400;letter-spacing:.16em}.countdown__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;max-width:520px;margin-inline:auto}.countdown__unit{display:grid;gap:.35rem;padding:1.1rem .5rem;border:1px solid var(--line);border-radius:var(--radius);background:#00000040;box-shadow:inset 0 0 30px #0000004d,inset 0 0 18px var(--accent-dim)}.countdown__value{font-family:var(--font-hero-countdown);font-size:clamp(2.25rem,8vw,3.5rem);font-weight:400;line-height:1;letter-spacing:.02em;color:var(--accent-bright);text-shadow:0 0 18px var(--accent-glow)}.countdown__label{font-family:var(--font-hero-countdown);font-size:.68rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.stat-pill--prize .stat-pill__prize-total,.stat-pill--prize .stat-pill__prize-card{opacity:1;transform:none}.stat-pill--prize:before{transform:scaleY(1)}.roster-page .ko-bracket__round,.admin-mp-bracket .ko-bracket__round,.roster-page .ko-match,.admin-mp-bracket .ko-match{opacity:1;transform:none;animation:none}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell:after,.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell:after,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell:before{transform:none;animation:none}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero__inner>*{opacity:0;animation:rise .7s cubic-bezier(.16,1,.3,1) forwards}.hero__inner>.eyebrow{animation-delay:.05s}.hero__inner>.hero__emblem{animation-delay:.02s}.hero__inner>h1{opacity:1;animation:none}.hero__inner>.hero__subtitle{animation-delay:.25s}.hero__inner>.hero__stats{animation-delay:.35s}.hero__inner>.countdown{animation-delay:.45s}.hero__inner>.hero__actions{animation-delay:.55s}.hero__glow{animation:glowPulse 5s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.countdown__unit{transition:border-color .3s ease,box-shadow .3s ease}.countdown__unit:hover{border-color:var(--accent);box-shadow:inset 0 0 30px #0000004d,0 0 20px var(--accent-glow)}.btn--primary{position:relative;overflow:hidden}.btn--primary:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:left .5s ease}.btn--primary:hover:after{left:140%}.mode-card{transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.mode-card:hover{transform:translateY(-2px)}.mode-card--active{box-shadow:0 0 0 1px var(--accent),0 0 22px var(--accent-glow)}.field input{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.stat-pill{transition:transform .2s ease,border-color .2s ease}.stat-pill:hover{transform:translateY(-2px);border-color:var(--line-strong)}.hero h1{font-family:var(--font-stencil);font-weight:400;font-size:clamp(1.1rem,6.8cqi,3.75rem);letter-spacing:.01em;line-height:1.1;min-height:1.05em;max-width:100%;margin-inline:auto;text-align:center;white-space:nowrap}.typewriter--loading{visibility:hidden}.format-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.format-card{padding:1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:#0003}.format-card h3{font-size:1.3rem;margin-bottom:.75rem;color:var(--accent-bright)}.format-card__rules{list-style:none;margin:0 0 .9rem;padding:0;display:grid;gap:.35rem;color:var(--text-muted);font-size:.95rem}.format-card__maps{display:flex;flex-wrap:wrap;gap:.4rem}.format-card--tiebreaker{border-color:rgba(var(--accent-r),var(--accent-g),var(--accent-b),.28);box-shadow:inset 0 0 24px var(--accent-dim)}.format-card__tag{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-bright)}.bans-block{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.bans-block__title{font-family:var(--font-stencil);font-size:1.15rem;font-weight:400;letter-spacing:.08em;margin:0 0 .65rem;color:var(--accent-bright)}.bans-block__title:not(:first-child){margin-top:1.25rem}.weapon-bans .bans-block__title{color:var(--danger-bright);text-shadow:0 0 18px var(--danger-glow)}.weapon-ban-groups{display:grid;gap:.85rem}.weapon-ban-group{padding:.9rem 1rem;border:1px solid rgba(255,92,92,.28);border-radius:var(--radius);background:#ff5c5c0d;box-shadow:inset 0 0 24px #ff5c5c0a}.weapon-ban-group--nested{margin-left:.75rem;border-left:2px solid rgba(255,92,92,.55);background:#ff5c5c0a}.weapon-ban-group__label{margin:0 0 .65rem;font-family:var(--font-stencil);font-size:.95rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--danger-bright)}.weapon-ban-chips{display:flex;flex-wrap:wrap;gap:.45rem}.weapon-ban-cards{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.weapon-ban-card{position:relative;padding:.9rem 1rem .85rem;border:1px solid rgba(255,92,92,.35);border-top:2px solid var(--danger);border-radius:var(--radius);background:linear-gradient(180deg,#ff5c5c1a,#00000038);box-shadow:inset 0 0 20px #ff5c5c0f,0 0 14px #ff5c5c14}.weapon-ban-card__tag{display:inline-block;margin:0 0 .55rem;padding:.12rem .45rem;border-radius:999px;font-family:var(--font-mono);font-size:.58rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--danger);box-shadow:0 0 12px var(--danger-glow)}.weapon-ban-card__type{margin:0 0 .45rem;font-family:var(--font-mono);font-size:.68rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#ffb4b4eb}.weapon-ban-card__name{margin:0;font-family:var(--font-display);font-size:1.4rem;letter-spacing:.06em;line-height:1;color:var(--danger-bright);text-shadow:0 0 16px var(--danger-glow)}.weapon-ban-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--danger-bright);background:var(--danger-dim);border:1px solid rgba(255,92,92,.35)}.weapon-ban-chip--thermite{border-color:#ff5c5c66;color:var(--danger-bright);background:#ff5c5c1a}.bans-block__subtitle{margin:.85rem 0 .55rem;font-family:var(--font-stencil);font-size:.95rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-bright)}.mode-chip--warn{border-color:#f0b42959;color:#ffe08a;background:#f0b4291a}.perk-ban-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.perk-ban{display:flex;align-items:center;gap:.65rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-bright)}.perk-ban:before{content:"";width:9px;height:9px;border-radius:50%;flex-shrink:0}.perk-ban--blue:before{background:#4da3ff;box-shadow:0 0 10px #4da3ff8c}.perk-ban--red:before{background:#ff5c5c;box-shadow:0 0 10px #ff5c5c8c}.perk-ban--green:before{background:var(--accent-bright);box-shadow:0 0 10px var(--accent-glow)}.admin-page{min-height:100vh;padding:clamp(2rem,6vw,4rem) 0 3rem}.admin-login{width:min(420px,100%);margin-inline:auto}.app-error{min-height:100vh;padding:2rem;max-width:36rem;margin:0 auto;color:var(--text)}.app-error__msg{font-family:var(--font-mono);font-size:.9rem;color:var(--danger-bright);word-break:break-word}.app-error__hint{color:var(--text-muted);margin-bottom:1.25rem}.admin-login__lead{margin:0 0 1.5rem;color:var(--text-muted)}.admin-login__form{display:grid;gap:1rem}.admin-back{display:inline-block;margin-top:1.25rem;color:var(--text-muted);font-size:.92rem;text-decoration:none}.admin-back:hover{color:var(--accent-bright);text-decoration:none}.admin-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.5rem;width:var(--container);margin:0 auto 1.75rem}.admin-header__meta{margin:.35rem 0 0;color:var(--text-muted)}.admin-header__actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-lists{display:grid;gap:1.25rem}@media(min-width:1100px){.admin-lists{grid-template-columns:1fr 1fr;align-items:start}}.admin-list{padding:1rem 1.1rem 1.15rem;min-width:0}.admin-list__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.admin-list__title{margin:0;font-family:var(--font-display);font-size:1.5rem;letter-spacing:.06em;color:var(--accent-bright)}.admin-list__count{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.admin-list__empty{margin:0;color:var(--text-muted);font-size:.95rem}.admin-table-wrap{width:var(--container);margin-inline:auto;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff05}.admin-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.95rem}.admin-table th,.admin-table td{padding:.85rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{font-family:var(--font-mono);font-size:.68rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);background:#00000038}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:rgba(var(--accent-r),var(--accent-g),var(--accent-b),.04)}.admin-table__mono{font-family:var(--font-mono);font-size:.88rem;letter-spacing:.04em}.admin-table__muted{color:var(--text-muted);font-size:.88rem;white-space:nowrap}.admin-table__modes{display:inline-block;padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.25);background:var(--accent-dim);color:var(--accent-bright);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-table a{color:var(--accent-bright);text-decoration:none}.admin-table a:hover{text-decoration:underline}.admin-table__actions{white-space:nowrap;text-align:right}.roster-page{--bg-panel: #12181c;--bg-elevated: #0e1418;--bg-panel-hover: #161e22;--line: rgba(180, 220, 230, .08);--line-strong: rgba(180, 220, 230, .12);--text-muted: #9aadb4;--accent: #5a8f9e;--accent-bright: #8ec8d8;--accent-r: 90;--accent-g: 143;--accent-b: 158;--accent-dim: rgba(var(--accent-r), var(--accent-g), var(--accent-b), .1);--accent-glow: rgba(var(--accent-r), var(--accent-g), var(--accent-b), .22);min-height:100vh;padding:1.5rem 0 4rem;background:radial-gradient(ellipse 55% 40% at 15% -8%,rgba(90,143,158,.08),transparent),radial-gradient(ellipse 45% 35% at 88% 12%,rgba(90,143,158,.06),transparent),var(--bg)}.roster-page h1{margin-bottom:.35rem}.roster-page .eyebrow{color:var(--accent)}.roster-page__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:var(--container);margin:0 auto 2rem;padding:0 1rem}.roster-page__main{max-width:var(--container)}.roster-page__lead{margin:0 0 2rem;max-width:36rem;color:var(--text-muted);font-size:1.02rem;line-height:1.6}.roster-page__notice{margin-top:0}.roster-page .roster-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.roster-page .roster-squad--gold,.roster-page .roster-squad--cyan{--squad-accent: #5a8f9e;--squad-accent-bright: #8ec8d8;--squad-r: 90;--squad-g: 143;--squad-b: 158;--squad-glow: rgba(90, 143, 158, .28)}.roster-page .roster-squad .roster-duo{position:relative;padding:.7rem .85rem .75rem;border:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.2);border-radius:var(--radius);background:linear-gradient(180deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.06),transparent 55%),linear-gradient(180deg,var(--bg-panel),var(--bg-elevated));overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.roster-page .roster-squad .roster-duo:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--squad-accent);opacity:.85}.roster-page .roster-squad .roster-duo:hover{border-color:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.5);transform:translateY(-2px);box-shadow:0 8px 24px #00000052,0 0 16px var(--squad-glow)}.roster-page .roster-squad .roster-duo__name{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.2rem;letter-spacing:.14em;text-transform:uppercase;color:var(--squad-accent-bright);text-shadow:0 0 20px var(--squad-glow)}.roster-page .roster-squad .roster-duo__members{list-style:none;margin:0;padding:0}.roster-page .roster-squad .roster-duo__member{display:flex;align-items:flex-start;gap:.45rem;min-width:0;padding:.4rem 0}.roster-page .roster-squad .roster-duo__member+.roster-duo__member{border-top:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.22)}.roster-page .roster-squad .roster-duo__slot{flex-shrink:0;width:1.15rem;font-family:var(--font-mono);font-size:.62rem;font-weight:700;line-height:1.4;letter-spacing:.02em;color:var(--squad-accent-bright);opacity:.95}.roster-page .roster-squad .roster-duo__member-body{min-width:0;flex:1;display:grid;gap:.1rem}.roster-page .roster-squad .roster-duo__ign{font-weight:700;font-size:.98rem;line-height:1.25;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-page .roster-squad .roster-duo__x{font-size:.72rem;font-weight:600;color:var(--text-muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.roster-page .roster-squad .roster-duo__x:hover{color:var(--squad-accent-bright)}.roster-page .roster-squads{display:grid;gap:2.5rem}.roster-page .roster-squad__head{margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.28)}.roster-page .roster-squad__name{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2rem);letter-spacing:.1em;text-transform:uppercase;color:var(--squad-accent-bright)}.roster-page .roster-squad__note{margin:.35rem 0 0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.roster-page .roster-reserve{--squad-accent: #5a8f9e;--squad-accent-bright: #8ec8d8;--squad-r: 90;--squad-g: 143;--squad-b: 158;--squad-glow: rgba(90, 143, 158, .2);margin-top:.5rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.3);border-radius:var(--radius);background:linear-gradient(180deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.08),transparent 70%),var(--bg-panel)}.roster-page .roster-reserve__name{margin:0 0 .3rem;font-family:var(--font-display);font-size:1.2rem;letter-spacing:.06em;color:var(--squad-accent-bright)}.roster-page .roster-reserve__note{margin:0 0 .5rem;font-size:.85rem;color:var(--text-muted)}.roster-page .roster-reserve__members{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.roster-page .roster-reserve__members li{display:grid;gap:.1rem;min-width:0}.roster-page .roster-reserve__members .roster-duo__ign,.roster-page .roster-reserve__members .roster-duo__x{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-page .roster-reserve__members .roster-duo__x:hover{color:var(--squad-accent-bright)}.admin-list--br{grid-column:1 / -1}.admin-draft{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.admin-draft__lead{margin:0 0 .5rem;color:var(--text-muted);font-size:.95rem;line-height:1.5}.admin-draft__meta{margin:0 0 1rem;font-size:.95rem}.admin-draft__warn{color:var(--warn)}.admin-draft__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem}.admin-draft-preview{display:grid;gap:1.25rem}.admin-draft-squad__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.admin-draft-squad__title{margin:0;font-family:var(--font-display);font-size:1.4rem;letter-spacing:.06em;color:var(--accent-bright)}.admin-draft-squad__note{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.admin-draft-squad__grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.admin-draft-duo{position:relative;padding:1rem 1.1rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(var(--accent-r),var(--accent-g),var(--accent-b),.04),transparent 60%),var(--bg-panel);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.admin-draft-duo:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:.7}.admin-draft-duo:hover{border-color:rgba(var(--accent-r),var(--accent-g),var(--accent-b),.35);box-shadow:0 8px 24px #00000047}.admin-draft-duo__name{margin:0 0 .65rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.admin-draft-duo__members{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.admin-draft-duo__members li{display:flex;align-items:center;gap:.5rem;min-height:1.6em;line-height:1.3}.admin-draft-duo__ign{font-family:var(--font-display);font-weight:400;font-size:1.12rem;letter-spacing:.04em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.admin-draft-duo__role{margin-left:.35rem;font-size:.78rem;font-weight:600;color:var(--text-muted)}.admin-draft-reserve{margin-bottom:1.25rem}.admin-draft-reserve__title{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.25rem;letter-spacing:.06em;color:var(--warn)}.admin-draft-reserve__note{margin:0 0 .65rem;font-size:.88rem;color:var(--text-muted)}.admin-mp,.admin-mp-fixtures{--mp-accent: #5a8f9e;--mp-accent-bright: #8ec8d8;--mp-r: 90;--mp-g: 143;--mp-b: 158;--mp-dim: rgba(90, 143, 158, .14);--mp-glow: rgba(90, 143, 158, .28)}.admin-mp{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.admin-mp__lead{margin:0 0 .5rem;font-size:.92rem;color:var(--text-muted);line-height:1.5}.admin-mp__meta{margin:0 0 .85rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--mp-accent-bright)}.admin-mp__toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.admin-mp__layout{display:grid;gap:1rem}@media(min-width:900px){.admin-mp__layout{grid-template-columns:minmax(200px,240px) 1fr;align-items:start}}.admin-mp__pool-title{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.1rem;letter-spacing:.06em;color:var(--mp-accent-bright)}.admin-mp__hint{margin:0 0 .65rem;font-size:.82rem;color:var(--text-muted)}.admin-mp__pool-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;max-height:420px;overflow-y:auto}.admin-mp__pool-player{display:grid;gap:.1rem;width:100%;padding:.45rem .55rem;border:1px solid var(--line);border-radius:calc(var(--radius) - 4px);background:#0003;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-mp__pool-player:hover{border-color:rgba(var(--mp-r),var(--mp-g),var(--mp-b),.4)}.admin-mp__pool-player--selected{border-color:var(--mp-accent);background:var(--mp-dim);box-shadow:0 0 0 1px var(--mp-glow)}.admin-mp__pool-ign{font-weight:700;font-size:.95rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mp__pool-x{font-size:.72rem;color:var(--text-muted)}.admin-mp__pool-empty{margin:0;font-size:.88rem;color:var(--text-muted)}.admin-mp__teams{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.admin-mp__team-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.admin-mp__team-name{margin:0;font-family:var(--font-display);font-size:1.05rem;letter-spacing:.08em;color:var(--mp-accent-bright)}.admin-mp__slots{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.admin-mp__slot{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0;padding:.4rem .5rem;border:1px dashed var(--line-strong);border-radius:calc(var(--radius) - 4px);background:#00000026;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-mp__slot--filled{border-style:solid;border-color:rgba(var(--mp-r),var(--mp-g),var(--mp-b),.3);background:rgba(var(--mp-r),var(--mp-g),var(--mp-b),.08)}.admin-mp__slot--target{border-color:var(--mp-accent);box-shadow:0 0 0 1px var(--mp-glow)}.admin-mp__slot-num{flex-shrink:0;width:1.1rem;font-family:var(--font-mono);font-size:.62rem;font-weight:700;color:var(--mp-accent-bright)}.admin-mp__slot-ign{flex:1;min-width:0;font-weight:700;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mp__slot-x{display:block;font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mp__slot-placeholder{flex:1;font-size:.82rem;color:var(--text-muted);opacity:.7}.admin-mp__slot-body{min-width:0;flex:1;display:grid;gap:.05rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-mp-fixtures{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line);display:grid;gap:.75rem}.admin-mp-fixtures__title{margin:0;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mp-accent-bright)}.admin-mp-fixtures__lead,.admin-mp-fixtures__meta{margin:0;font-size:.88rem;color:var(--text-muted)}.admin-mp-fixtures__toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.admin-mp-fixtures__list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.admin-mp-fixtures__row{display:grid;grid-template-columns:auto 1fr minmax(6.5rem,1fr) auto auto 3.5rem minmax(6.5rem,1fr) auto;align-items:center;gap:.5rem;padding:.75rem .85rem}.admin-mp-fixtures__bye{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;cursor:pointer}.admin-mp-fixtures__bye input{accent-color:var(--mp-accent)}@media(max-width:720px){.admin-mp-fixtures__row{grid-template-columns:auto 1fr auto;grid-template-areas:"index label remove" "index home remove" "index vs remove" "index away remove"}.admin-mp-fixtures__index{grid-area:index}.admin-mp-fixtures__label-field{grid-area:label}.admin-mp-fixtures__select:first-of-type{grid-area:home}.admin-mp-fixtures__vs-wrap{grid-area:vs;justify-self:center}.admin-mp-fixtures__select:last-of-type{grid-area:away}.admin-mp-fixtures__remove{grid-area:remove}}.admin-mp-fixtures__index{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--mp-accent-bright);opacity:.85}.admin-mp-fixtures__label-input,.admin-mp-fixtures__select{width:100%;padding:.45rem .55rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:.88rem}.admin-mp-fixtures__vs-wrap{display:flex;align-items:center;justify-content:center;position:relative;width:3.35rem;height:3.35rem;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,transparent 46%,rgba(var(--mp-r),var(--mp-g),var(--mp-b),.35) 46%,rgba(var(--mp-r),var(--mp-g),var(--mp-b),.35) 54%,transparent 54%),radial-gradient(circle at 38% 30%,rgba(var(--mp-r),var(--mp-g),var(--mp-b),.3),transparent 52%),linear-gradient(160deg,#121c20,#080c10);border:1px solid rgba(var(--mp-r),var(--mp-g),var(--mp-b),.55);border-radius:6px;box-shadow:0 0 16px rgba(var(--mp-r),var(--mp-g),var(--mp-b),.22),inset 0 0 14px rgba(var(--mp-r),var(--mp-g),var(--mp-b),.1)}.admin-mp-fixtures__vs{position:relative;z-index:1;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mp-accent-bright);text-shadow:0 0 12px rgba(var(--mp-r),var(--mp-g),var(--mp-b),.45)}.admin-mp-fixtures__remove{min-width:2rem}.roster-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.roster-tabs__btn{padding:.5rem 1rem;border:1px solid var(--line-strong);border-radius:999px;background:transparent;font-family:var(--font-body);font-size:.88rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.roster-tabs__btn--active{color:var(--accent-bright);border-color:rgba(var(--accent-r),var(--accent-g),var(--accent-b),.45);background:var(--accent-dim)}.roster-page .roster-squad--mp{--squad-accent: #5a8f9e;--squad-accent-bright: #8ec8d8;--squad-r: 90;--squad-g: 143;--squad-b: 158;--squad-glow: rgba(90, 143, 158, .28)}.roster-mp-cup{margin-bottom:2rem}.roster-mp-cup .ko-bracket{margin-top:.35rem}.roster-page .ko-bracket,.admin-mp-bracket .ko-bracket{--ko-line-dim: rgba(255, 255, 255, .09);--ko-line-live: var(--squad-accent-bright);--ko-line: rgba(var(--squad-r), var(--squad-g), var(--squad-b), .55);--ko-path-glow: rgba(var(--squad-r), var(--squad-g), var(--squad-b), .45);--ko-champion-glow: rgba(212, 175, 72, .35);--ko-match-h: 4.75rem;--ko-match-gap: .95rem;--ko-row-h: calc(var(--ko-match-h) / var(--ko-min-span, 2));--ko-stub: 1.75rem}.roster-page .ko-bracket{border:1px solid var(--ko-line);border-radius:var(--radius-lg);background:linear-gradient(165deg,var(--bg-panel) 0%,rgba(8,14,18,.98) 100%);box-shadow:0 0 32px var(--squad-glow),inset 0 1px #ffffff0a}.roster-page .ko-bracket__scroll,.admin-mp-bracket .ko-bracket__scroll{overflow-x:auto;padding:2rem 1.75rem 2.25rem}.roster-page .ko-bracket__grid,.admin-mp-bracket .ko-bracket__grid{display:flex;gap:0;min-width:min-content;align-items:stretch;justify-content:center;margin:0 auto;padding:.5rem .25rem}.roster-page .ko-bracket__round,.admin-mp-bracket .ko-bracket__round{position:relative;display:flex;flex-direction:column;min-width:17.5rem;padding:0 2.75rem 0 .85rem;animation:ko-round-rise .72s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.08s + var(--ko-round-i, 0) * .24s)}@keyframes ko-round-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.roster-page .ko-bracket__round-label,.admin-mp-bracket .ko-bracket__round-label{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin:0 0 1.15rem;text-align:center}.roster-page .ko-bracket__round-phase,.admin-mp-bracket .ko-bracket__round-phase{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%;padding-bottom:.45rem;border-bottom:2px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.35);background:linear-gradient(180deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.08),transparent)}.roster-page .ko-bracket__round-icon,.admin-mp-bracket .ko-bracket__round-icon{display:inline-flex;align-items:center;justify-content:center;min-width:1.85rem;height:1.85rem;padding:0 .35rem;border:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.45);border-radius:4px;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.08em;color:var(--squad-accent-bright);background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.12);box-shadow:0 0 10px var(--squad-glow)}.roster-page .ko-bracket__round-icon--trophy,.admin-mp-bracket .ko-bracket__round-icon--trophy{font-family:inherit;font-size:1.05rem;line-height:1}.roster-page .ko-bracket__round-name,.admin-mp-bracket .ko-bracket__round-name{font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--squad-accent-bright);text-shadow:0 0 12px var(--squad-glow)}.roster-page .ko-bracket__round-count,.admin-mp-bracket .ko-bracket__round-count{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.85}.roster-page .ko-bracket__matches,.admin-mp-bracket .ko-bracket__matches{display:grid;grid-template-rows:repeat(var(--ko-slots),var(--ko-row-h));flex:1;align-content:start}.roster-page .ko-bracket__round:first-child .ko-bracket__cell,.admin-mp-bracket .ko-bracket__round:first-child .ko-bracket__cell{justify-content:flex-start;padding-bottom:var(--ko-match-gap);box-sizing:border-box}.roster-page .ko-bracket__round:first-child .ko-match,.admin-mp-bracket .ko-bracket__round:first-child .ko-match{height:calc(var(--ko-match-h) - var(--ko-match-gap))}.roster-page .ko-bracket__cell,.admin-mp-bracket .ko-bracket__cell{position:relative;display:flex;flex-direction:column;justify-content:center;align-self:stretch;padding:0;min-height:0;overflow:visible}@keyframes ko-line-pulse{0%,to{opacity:.82;filter:brightness(1)}50%{opacity:1;filter:brightness(1.15)}}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell:after,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell:after{content:"";position:absolute;right:calc(-1 * var(--ko-stub));top:50%;transform-origin:left center;width:var(--ko-stub);height:2px;background:var(--ko-line-dim);transition:background .35s ease,box-shadow .35s ease;animation:ko-draw-h .58s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.52s + var(--ko-round-i, 0) * .32s + var(--ko-cell-i, 0) * .04s)}@keyframes ko-draw-h{0%{transform:translateY(-50%) scaleX(0);background:var(--ko-line-dim)}to{transform:translateY(-50%) scaleX(1);background:var(--ko-line-dim)}}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-top:after,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-top:after{content:none;animation:none}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-bottom:after,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-bottom:after{top:calc(50% - var(--ko-elbow-rows, 0) * var(--ko-row-h));transform-origin:left center;animation:ko-draw-h-join .58s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.52s + var(--ko-round-i, 0) * .32s + var(--ko-cell-i, 0) * .04s)}@keyframes ko-draw-h-join{0%{transform:scaleX(0);background:var(--ko-line-dim)}to{transform:scaleX(1);background:var(--ko-line-dim)}}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-top:before,.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-bottom:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-top:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-bottom:before{content:"";position:absolute;right:calc(-1 * var(--ko-stub));width:2px;background:var(--ko-line-dim);transition:background .35s ease,box-shadow .35s ease}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-top:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-top:before{animation:ko-draw-v-down .52s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.48s + var(--ko-round-i, 0) * .32s + var(--ko-cell-i, 0) * .04s);transform-origin:top center}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-bottom:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-bottom:before{animation:ko-draw-v-up .52s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.48s + var(--ko-round-i, 0) * .32s + var(--ko-cell-i, 0) * .04s);transform-origin:bottom center}@keyframes ko-draw-v-down{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes ko-draw-v-up{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--line-live:before,.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--line-live:after,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--line-live:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--line-live:after{background:var(--ko-line-live);box-shadow:0 0 10px var(--squad-glow);animation:ko-line-pulse 4.5s ease-in-out infinite}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--line-travel:after,.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--line-travel:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--line-travel:after,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--line-travel:before{animation:ko-line-travel .78s cubic-bezier(.16,1,.3,1) forwards!important}@keyframes ko-line-travel{0%{background:var(--ko-line-dim);box-shadow:none;filter:brightness(1)}35%{background:var(--ko-line-live);box-shadow:0 0 16px var(--squad-glow);filter:brightness(1.2)}to{background:var(--ko-line-live);box-shadow:0 0 10px var(--squad-glow);filter:brightness(1)}}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--join-live.ko-bracket__cell--pair-bottom:after,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--join-live.ko-bracket__cell--pair-bottom:after{background:var(--ko-line-live);box-shadow:0 0 12px var(--squad-glow),0 0 20px rgba(var(--squad-r),var(--squad-g),var(--squad-b),.25);animation:ko-line-pulse 2.2s ease-in-out infinite}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--join-partial.ko-bracket__cell--pair-bottom:after,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--join-partial.ko-bracket__cell--pair-bottom:after{background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.55);box-shadow:0 0 6px var(--squad-glow)}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-top:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-top:before{top:50%;bottom:auto;height:calc(var(--ko-elbow-rows, 0) * var(--ko-row-h))}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-bottom:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--pair-bottom:before{top:auto;bottom:50%;height:calc(var(--ko-elbow-rows, 0) * var(--ko-row-h))}.roster-page .ko-bracket__round:not(:last-child) .ko-bracket__cell--solo:before,.admin-mp-bracket .ko-bracket__round:not(:last-child) .ko-bracket__cell--solo:before{content:none}.roster-page .ko-match,.admin-mp-bracket .ko-match{flex-shrink:0;width:100%;min-width:13.25rem;max-height:100%;border:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.55);border-radius:8px;background:linear-gradient(180deg,#0f181c,#0a1114);overflow:hidden;box-shadow:0 2px 10px #00000059,inset 0 1px #ffffff0d;animation:ko-match-rise .58s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.18s + var(--ko-round-i, 0) * .24s + var(--ko-cell-i, 0) * 45ms)}@keyframes ko-match-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.roster-page .ko-match:not(.ko-match--bye),.admin-mp-bracket .ko-match:not(.ko-match--bye){height:var(--ko-match-h);display:flex;flex-direction:column}.roster-page .ko-match__row,.admin-mp-bracket .ko-match__row{flex:1 1 50%;display:flex;align-items:center;min-height:0;padding:.5rem .9rem;border-bottom:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.35)}.roster-page .ko-match__row:first-child,.admin-mp-bracket .ko-match__row:first-child{background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.08)}.roster-page .ko-match__name,.admin-mp-bracket .ko-match__name{display:block;min-height:1.2rem;font-family:var(--font-display);font-size:.98rem;letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-page .ko-match__name--empty,.admin-mp-bracket .ko-match__name--empty{min-height:1.25rem}@keyframes ko-path-glow{0%,to{box-shadow:0 0 0 1px rgba(var(--squad-r),var(--squad-g),var(--squad-b),.32),0 0 12px var(--ko-path-glow)}50%{box-shadow:0 0 0 1px rgba(var(--squad-r),var(--squad-g),var(--squad-b),.48),0 0 20px var(--ko-path-glow),0 0 6px var(--ko-champion-glow)}}.roster-page .ko-match--path,.admin-mp-bracket .ko-match--path{border-color:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.7);animation:ko-path-glow 5.5s ease-in-out infinite}.roster-page .ko-match--decided,.admin-mp-bracket .ko-match--decided{border-color:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.75)}.roster-page .ko-match__row--path,.admin-mp-bracket .ko-match__row--path{background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.12)}.roster-page .ko-match__row--path .ko-match__name,.admin-mp-bracket .ko-match__row--path .ko-match__name{color:var(--squad-accent-bright);animation:ko-path-breathe 5.5s ease-in-out infinite}@keyframes ko-path-breathe{0%,to{text-shadow:0 0 6px var(--squad-glow);opacity:.9}50%{text-shadow:0 0 14px var(--squad-glow),0 0 5px var(--ko-champion-glow);opacity:1}}.roster-page .ko-match__row--advance-out,.admin-mp-bracket .ko-match__row--advance-out{animation:ko-advance-out .58s cubic-bezier(.16,1,.3,1) forwards;z-index:2}.roster-page .ko-match__row--advance-in,.admin-mp-bracket .ko-match__row--advance-in{animation:ko-advance-in .72s cubic-bezier(.16,1,.3,1) .22s forwards;opacity:0}@keyframes ko-advance-out{0%{opacity:1;transform:translate(0) translateY(0);filter:brightness(1)}to{opacity:.4;transform:translate(1.75rem) translateY(-.35rem);filter:brightness(1.35)}}@keyframes ko-advance-in{0%{opacity:0;transform:translate(-1.5rem) translateY(.85rem);background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.38)}65%{opacity:1;transform:translate(.2rem) translateY(0);background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.22)}to{opacity:1;transform:none;background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.12)}}.roster-page .ko-match__row--winner,.admin-mp-bracket .ko-match__row--winner{background:linear-gradient(90deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.28),rgba(var(--squad-r),var(--squad-g),var(--squad-b),.14))}.roster-page .ko-match__row--winner .ko-match__name,.admin-mp-bracket .ko-match__row--winner .ko-match__name{color:var(--squad-accent-bright);text-shadow:0 0 10px var(--squad-glow)}.roster-page .ko-match__row--loser,.admin-mp-bracket .ko-match__row--loser{opacity:.38}.roster-page .ko-match--bye,.admin-mp-bracket .ko-match--bye{height:var(--ko-match-h);display:flex;flex-direction:column;opacity:.92;border-style:dashed;border-color:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.5);background:linear-gradient(180deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.1),#0a1114)}.roster-page .ko-match__row--bye-label,.admin-mp-bracket .ko-match__row--bye-label{padding:.35rem .65rem;text-align:center;background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.1)}.roster-page .ko-match__bye-tag,.admin-mp-bracket .ko-match__bye-tag{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--squad-accent-bright);line-height:1.25}.roster-page .ko-match--placeholder,.admin-mp-bracket .ko-match--placeholder{opacity:.35;border-style:dotted}.roster-page .ko-match__row:last-child,.admin-mp-bracket .ko-match__row:last-child{border-bottom:none}.admin-mp-bracket .ko-bracket__pick{display:flex;flex-direction:column;gap:.25rem;margin-top:.35rem}.admin-mp-bracket .ko-bracket{margin-top:.75rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(165deg,#00000047,#080e1273);box-shadow:inset 0 1px #ffffff08}.roster-page .cup-bracket{--cup-line: rgba(var(--squad-r), var(--squad-g), var(--squad-b), .4);border:1px solid var(--cup-line);border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(180deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.08),transparent 45%),var(--bg-panel);box-shadow:0 0 28px var(--squad-glow)}.roster-page .cup-bracket__banner{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.55rem 1rem;border-bottom:1px solid var(--cup-line);background:linear-gradient(90deg,transparent,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.12),transparent)}.roster-page .cup-bracket__live{padding:.2rem .5rem;border:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.55);border-radius:3px;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;color:var(--squad-accent-bright)}.roster-page .cup-bracket__title{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.14em;text-transform:uppercase;color:var(--squad-accent-bright)}.roster-page .cup-bracket__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.roster-page .cup-bracket__rounds{display:flex;align-items:stretch;gap:0;min-width:min-content;padding:1.1rem .75rem 1.35rem}.roster-page .cup-bracket__round{display:flex;flex-direction:column;justify-content:space-around;min-width:10.5rem;padding:0 1.35rem;position:relative}.roster-page .cup-bracket__round:not(:last-child):after{content:"";position:absolute;right:0;top:8%;bottom:8%;width:1px;background:linear-gradient(180deg,transparent,var(--cup-line),transparent)}.roster-page .cup-bracket__round-name{margin:0 0 .65rem;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--squad-accent-bright)}.roster-page .cup-bracket__ties{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:.55rem}.roster-page .cup-bracket__tie-wrap{position:relative}.roster-page .cup-bracket__round:not(:last-child) .cup-bracket__tie-wrap:after{content:"";position:absolute;right:-1.35rem;top:50%;width:1.35rem;height:1px;background:var(--cup-line)}.roster-page .cup-tie{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:2.65rem;border:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.2);border-radius:5px;background:#0a1114;overflow:hidden}.roster-page .cup-tie__team{padding:.4rem .45rem;font-family:var(--font-display);font-size:.82rem;line-height:1.15;letter-spacing:.05em;text-transform:uppercase;text-align:center;color:var(--text);overflow:hidden;text-overflow:ellipsis}.roster-page .cup-tie__team--loser{opacity:.45}.roster-page .cup-tie__team--winner{color:var(--squad-accent-bright);background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.1)}.roster-page .cup-tie__vs{padding:0 .35rem;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--squad-accent-bright);border-left:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.45);border-right:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.45);background:radial-gradient(circle at 50% 40%,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.25),transparent 70%),#0d1518;box-shadow:0 0 10px var(--squad-glow)}.roster-page .cup-tie--decided .cup-tie__vs{border-color:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.65)}.roster-page .cup-tie--bye{grid-template-columns:1fr auto;opacity:.72;border-style:dashed;filter:saturate(.5)}.roster-page .cup-tie__bye-tag{padding:0 .5rem;font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.12em;color:var(--text-muted)}.admin-mp-bracket{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.admin-mp-bracket__title{margin:0;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mp-accent-bright)}.admin-mp-bracket__lead,.admin-mp-bracket__meta{margin:0;font-size:.88rem;color:var(--text-muted)}.admin-mp-bracket__toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.admin-mp-bracket__tree{display:grid;gap:1rem}.admin-mp-bracket__round-name{margin:0 0 .5rem;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mp-accent-bright)}.admin-mp-bracket__matches{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.admin-mp-bracket__match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.35rem;padding:.45rem .5rem;border:1px solid var(--line);border-radius:calc(var(--radius) - 4px);background:#0003}.admin-mp-bracket__match--bye{opacity:.75;border-style:dashed}.admin-mp-bracket__slot{min-width:0;text-align:center;font-weight:700;font-size:.88rem;overflow:hidden;text-overflow:ellipsis}.admin-mp-bracket__team--win{color:var(--mp-accent-bright)}.admin-mp-bracket__vs{font-family:var(--font-mono);font-size:.65rem;font-weight:700;color:var(--mp-accent)}.admin-mp-bracket__actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.admin-mp-bracket__champ{grid-column:1 / -1;margin:0;font-size:.78rem;text-align:center;color:var(--text-muted)}.admin-mp-bracket__champ--bye{color:var(--text-muted);font-style:italic}.admin-mp-bracket__undo{margin-left:.35rem;padding:0;border:none;background:none;color:var(--mp-accent-bright);font-size:.72rem;cursor:pointer;text-decoration:underline}.roster-mp-draw{margin-bottom:1.75rem}.roster-page .roster-mp-draw .draw-board{--draw-accent: var(--squad-accent);--draw-accent-bright: var(--squad-accent-bright);--draw-line: rgba(var(--squad-r), var(--squad-g), var(--squad-b), .38);--draw-line-strong: rgba(var(--squad-r), var(--squad-g), var(--squad-b), .55);--draw-slot: #0a1114;--draw-slot-edge: rgba(var(--squad-r), var(--squad-g), var(--squad-b), .12);max-width:640px;margin:0 auto;border:1px solid var(--draw-line);border-radius:var(--radius-lg);overflow:hidden;background:repeating-linear-gradient(-45deg,transparent 0 8px,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.03) 8px 16px),linear-gradient(180deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.1),transparent 42%),var(--bg-panel);box-shadow:0 0 0 1px #0006 inset,0 0 28px var(--squad-glow),0 12px 40px #00000059}.roster-page .roster-mp-draw .draw-board__banner{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.55rem 1rem;background:linear-gradient(90deg,transparent,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.14),transparent);border-bottom:1px solid var(--draw-line)}.roster-page .roster-mp-draw .draw-board__live{padding:.2rem .5rem;border:1px solid var(--draw-line-strong);border-radius:3px;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--draw-accent-bright);background:rgba(var(--squad-r),var(--squad-g),var(--squad-b),.1)}.roster-page .roster-mp-draw .draw-board__title{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.14em;text-transform:uppercase;color:var(--draw-accent-bright)}.roster-page .roster-mp-draw .draw-board__fixtures{list-style:none;margin:0;padding:0}.roster-page .roster-mp-draw .draw-board__fixtures>li+li{border-top:1px solid var(--draw-line)}.roster-page .roster-mp-draw .draw-tie{margin:0;padding:.75rem .85rem .85rem}.roster-page .roster-mp-draw .draw-tie__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;padding:0 .15rem}.roster-page .roster-mp-draw .draw-tie__fixture{font-family:var(--font-mono);font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--draw-accent-bright)}.roster-page .roster-mp-draw .draw-tie__round{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.roster-page .roster-mp-draw .draw-tie__pairing{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;min-height:3.25rem;border:1px solid var(--draw-slot-edge);border-radius:6px;overflow:hidden;background:var(--draw-slot);box-shadow:0 2px 12px #00000040}.roster-page .roster-mp-draw .draw-tie__club{display:flex;align-items:center;justify-content:center;padding:.55rem .65rem;min-width:0;text-align:center;background:linear-gradient(180deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.04),transparent)}.roster-page .roster-mp-draw .draw-tie__club--home{border-right:1px solid var(--draw-line)}.roster-page .roster-mp-draw .draw-tie__club--away{border-left:1px solid var(--draw-line)}.roster-page .roster-mp-draw .draw-tie__club-name{font-family:var(--font-display);font-size:clamp(.95rem,3.2vw,1.15rem);line-height:1.1;letter-spacing:.06em;text-transform:uppercase;color:var(--text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.roster-page .roster-mp-draw .draw-tie__ball{display:flex;align-items:center;justify-content:center;position:relative;width:3.65rem;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,transparent 46%,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.38) 46%,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.38) 54%,transparent 54%),radial-gradient(circle at 40% 32%,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.35),transparent 50%),linear-gradient(160deg,#121c20,#080c10);border:1px solid var(--draw-line-strong);border-top:none;border-bottom:none;box-shadow:0 0 18px var(--squad-glow),inset 0 0 14px rgba(var(--squad-r),var(--squad-g),var(--squad-b),.14)}.roster-page .roster-mp-draw .draw-tie__vs{position:relative;z-index:1;font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.2em;color:var(--draw-accent-bright);text-shadow:0 0 12px var(--squad-glow)}.roster-page .roster-mp-draw .draw-tie--bye .draw-tie__fixture{color:var(--text-muted)}.roster-page .roster-mp-draw .draw-tie--bye .draw-tie__pairing{grid-template-columns:1fr auto;opacity:.72;filter:saturate(.45);border-style:dashed;border-color:#ffffff1a;box-shadow:none}.roster-page .roster-mp-draw .draw-tie__pairing--bye .draw-tie__club--solo{border-right:none;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}.roster-page .roster-mp-draw .draw-tie--bye .draw-tie__club-name{color:var(--text-muted)}.roster-page .roster-mp-draw .draw-tie__ball--bye{width:3.5rem;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.12em;color:#8b95a5e6;border:1px dashed rgba(255,255,255,.12);border-top:none;border-bottom:none;box-shadow:none;background:repeating-linear-gradient(-45deg,#ffffff05 0,#ffffff05 5px,#0003 5px,#0003 10px)}.roster-page .roster-mp-draw .draw-tie__note{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .5rem;margin:.45rem 0 0;font-size:.68rem;text-align:center;letter-spacing:.04em;color:#8b95a5f2;line-height:1.35}.roster-page .roster-mp-draw .draw-tie__note-badge{padding:.12rem .4rem;border:1px solid rgba(255,255,255,.12);border-radius:3px;font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);background:#00000040}@media(min-width:900px){.roster-page .roster-mp-draw .draw-board{max-width:720px}.roster-page .roster-mp-draw .draw-tie__club-name{font-size:1.2rem}}.roster-mp__grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.roster-page .roster-mp-team{position:relative;padding:.88rem .9rem .75rem;border:1px solid rgba(var(--squad-r),var(--squad-g),var(--squad-b),.22);border-radius:var(--radius);background:linear-gradient(180deg,rgba(var(--squad-r),var(--squad-g),var(--squad-b),.05),transparent 55%),var(--bg-panel);overflow:hidden}.roster-page .roster-mp-team:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--squad-accent);opacity:.75}.roster-page .roster-mp-team__name{margin:0 0 .55rem;padding-left:.15rem;font-family:var(--font-display);font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--squad-accent-bright)}.roster-page .roster-mp-team__list{list-style:none;margin:0;padding:0}.roster-page .roster-mp-team__player{display:flex;align-items:flex-start;gap:.45rem;padding:.35rem 0;min-width:0}.roster-page .roster-mp-team__player+.roster-mp-team__player{border-top:1px solid var(--line)}.roster-page .roster-mp-team__num{flex-shrink:0;font-family:var(--font-mono);font-size:.62rem;font-weight:700;color:var(--squad-accent-bright)}.roster-page .roster-mp-team__body{min-width:0;flex:1;display:grid;gap:.08rem}.roster-page .roster-mp-team__ign{font-weight:700;font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-page .roster-mp-team__x{font-size:.72rem;color:var(--text-muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-page .roster-mp-team__x:hover{color:var(--squad-accent-bright)}
