.bracket-shell{position:relative;width:min(1200px,96vw);margin:0 auto}.bracket-svg{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none;touch-action:manipulation}.bracket-edge{stroke:#333;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:opacity .2s ease,stroke .2s ease}.bracket-edge.dashed{stroke:#3a3a3a;stroke-dasharray:4 6;opacity:.4}.bracket-edge.solid{stroke:#555;opacity:.85}.bracket-edge.qualified{stroke-width:2;opacity:.92}.bracket-edge.active{stroke-width:2.5;opacity:1}.bracket-edge.dimmed{opacity:.08}.inner-node{cursor:pointer}.inner-hit{fill:transparent;stroke:none;pointer-events:all}.inner-dot{fill:#333;stroke:#444;stroke-width:1;pointer-events:none}.inner-dot--semi,.inner-dot--final{fill:#4a4a4a;stroke:#666;stroke-width:1.25}.inner-flag-ring{fill:#1a1a1a;stroke:#555;stroke-width:1.5;pointer-events:none}.inner-flag-img{pointer-events:none}.inner-node.dimmed .inner-flag-ring,.inner-node.dimmed .inner-dot{opacity:.12}.team-group{cursor:pointer;transition:opacity .25s ease}.team-hit{fill:transparent;stroke:none;pointer-events:all}.team-group.dimmed{opacity:.18}.team-group.active{opacity:1}.team-group.pinned .flag-ring{stroke-width:2.5}.team-group.eliminated .flag-ring{stroke:#4a4a4a}.team-group.eliminated .crest-bg,.team-group.eliminated .crest-initials{opacity:.55}.flag-veil{fill:#08080885;pointer-events:none;transition:fill .25s ease}.team-group.active.eliminated .flag-veil,.inner-node.active.eliminated .flag-veil{fill:#0808082e}.inner-node.eliminated .inner-flag-ring{stroke:#4a4a4a}.team-group.champion-team .flag-ring{stroke:#d4a84b;stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(212,168,75,.45))}.flag-ring{fill:#1a1a1a;stroke:#555;stroke-width:1.5;pointer-events:none;transition:stroke .25s ease}.flag-img,.inner-flag-img{pointer-events:none}.crest-bg{fill:#222;stroke:#666;stroke-width:1;pointer-events:none}.crest-initials{fill:#ccc;font-size:9px;font-weight:600;font-family:Outfit,sans-serif;pointer-events:none}.trophy-halo{fill:#d4a84b1f;stroke:#d4a84b59;stroke-width:1}.trophy-icon{font-size:30px}.champion-label{fill:#d4a84b;font-size:10px;font-family:Outfit,sans-serif;font-weight:600}.champion-flag{clip-path:circle(12px at 14px 9px)}.match-tooltip{position:fixed;z-index:100;pointer-events:none;background:#121212f2;border:1px solid #333;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:#e8e8e8;box-shadow:0 8px 32px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:min(280px,calc(100vw - 24px));word-break:break-word}.match-tooltip--sheet{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));top:auto;max-width:none;pointer-events:auto;z-index:110;padding:14px 16px 16px;font-size:14px;gap:6px}.match-tooltip-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:105;border:none;background:#0000008c;cursor:pointer;-webkit-tap-highlight-color:transparent}.match-tooltip-close{position:absolute;top:8px;right:10px;width:32px;height:32px;border:none;border-radius:8px;background:#ffffff0f;color:#ccc;font-size:22px;line-height:1;cursor:pointer}.match-tooltip--sheet strong{padding-right:2rem}.match-tooltip strong{color:#d4a84b;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.match-tooltip--team{padding:8px 12px}.match-tooltip--team strong{color:#f0f0f0;font-size:14px;font-weight:600;text-transform:none;letter-spacing:normal}.locale-settings{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .75rem}.locale-settings-field{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#888}.locale-settings-label{white-space:nowrap}.locale-settings-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#181818f2;border:1px solid #333;border-radius:8px;color:#e8e8e8;font-family:inherit;font-size:.75rem;padding:.35rem 1.75rem .35rem .6rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .45rem center;max-width:11rem}.locale-settings-select:hover{border-color:#444}.locale-settings-select:focus{outline:none;border-color:#d4a84b;box-shadow:0 0 0 2px #d4a84b33}@media(max-width:640px){.locale-settings{width:100%;justify-content:center}.locale-settings-select{max-width:9.5rem}}.match-panel{width:100%;max-width:1200px;background:#101010f2;border:1px solid #2a2a2a;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid #222}.panel-header h2{font-size:1.1rem;font-weight:600}.panel-meta{font-size:.75rem;color:#777;margin-top:.25rem}.refresh-btn{background:#222;border:1px solid #333;color:#ccc;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.1rem;transition:background .2s}.refresh-btn:hover:not(:disabled){background:#2a2a2a}.refresh-btn:disabled{opacity:.5;cursor:wait}.panel-notice{margin:.75rem 1.25rem 0;padding:.65rem .85rem;background:#d4a84b14;border:1px solid rgba(212,168,75,.25);border-radius:8px;font-size:.8rem;color:#c4a35a;line-height:1.45}.live-banner{display:flex;align-items:center;gap:.5rem;margin:.75rem 1.25rem 0;padding:.5rem .75rem;background:#dc26261f;border:1px solid rgba(220,38,38,.3);border-radius:8px;font-size:.85rem;color:#fca5a5}.live-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:pulse 1.5s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.filter-tabs{display:flex;gap:.35rem;padding:.75rem 1.25rem;border-bottom:1px solid #222;flex-wrap:wrap}.filter-tab{background:transparent;border:1px solid #333;color:#888;padding:.35rem .65rem;border-radius:999px;font-size:.75rem;cursor:pointer;font-family:inherit;transition:all .2s}.filter-tab.active{background:#d4a84b;border-color:#d4a84b;color:#111}.match-list{list-style:none;overflow-y:auto;flex:1;padding:.75rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.65rem;max-height:min(52vh,520px)}.match-card{background:#141414;border:1px solid #252525;border-radius:12px;padding:.75rem;transition:border-color .2s}.match-card.is-live{border-color:#ef444473;box-shadow:0 0 0 1px #ef44441a}.match-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.match-round{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#666}.match-status{font-size:.7rem;font-weight:600}.match-status.live{color:#ef4444}.match-status.finished{color:#666}.match-status.scheduled{color:#888}.match-card-body{display:flex;flex-direction:column;gap:.25rem}.team-row{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:inherit;font-family:inherit;font-size:.9rem;padding:.25rem .35rem;border-radius:6px;cursor:pointer;width:100%;text-align:left;transition:background .15s}.team-row:hover{background:#ffffff0a}.team-row.winner .team-row-name{font-weight:600}.team-row-flag{width:22px;height:15px;object-fit:cover;border-radius:2px}.team-row-name{flex:1}.team-row-score{font-weight:600;min-width:1.5rem;text-align:right}.match-card-foot{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #222;display:flex;flex-direction:column;gap:.15rem;font-size:.7rem;color:#555}.match-penalties{color:#888}.match-empty{text-align:center;color:#555;padding:2rem;font-size:.85rem}@media(max-width:640px){.match-list{grid-template-columns:1fr;max-height:min(45vh,420px)}}.page-loading{width:100%;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.bracket-skeleton{position:relative;width:min(1200px,96vw);aspect-ratio:1;display:flex;align-items:center;justify-content:center}.bracket-skeleton-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.06);animation:skeleton-pulse 1.6s ease-in-out infinite}.bracket-skeleton-ring--outer{top:2%;right:2%;bottom:2%;left:2%}.bracket-skeleton-ring--mid{top:18%;right:18%;bottom:18%;left:18%;animation-delay:.15s}.bracket-skeleton-ring--inner{top:34%;right:34%;bottom:34%;left:34%;animation-delay:.3s}.bracket-skeleton-core{width:72px;height:72px;border-radius:50%;background:#d4a84b14;border:1px solid rgba(212,168,75,.2);animation:skeleton-pulse 1.6s ease-in-out infinite;animation-delay:.45s}.page-loading-text{color:#666;font-size:.85rem;letter-spacing:.02em}.panel-skeleton{width:100%;max-width:1200px;height:140px;border-radius:16px;border:1px solid #222;background:linear-gradient(90deg,#ffffff08,#ffffff0f,#ffffff08);background-size:200% 100%;animation:skeleton-shimmer 1.8s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.35}50%{opacity:.7}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:Outfit,system-ui,sans-serif;background:#0c0c0c;color:#f0f0f0;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,rgba(40,32,20,.35) 0%,transparent 55%),#0c0c0c}.header{position:relative;text-align:center;padding:2rem 1.5rem .5rem}.header-top{display:flex;justify-content:flex-end;margin-bottom:.75rem}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#d4a84b;margin-bottom:.5rem}.header h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:600;margin-bottom:.75rem}.subtitle{color:#888;font-size:.95rem;max-width:560px;margin:0 auto;line-height:1.5}.layout{flex:1;display:flex;flex-direction:column;gap:2rem;padding:.5rem 1.5rem 2rem;max-width:1600px;margin:0 auto;width:100%}.bracket-section{width:100%;display:flex;justify-content:center;align-items:center;padding:.5rem 0 1rem}.matches-section{width:100%;display:flex;justify-content:center}.live-pill{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;background:#ef444426;border:1px solid rgba(239,68,68,.4);border-radius:999px;color:#fca5a5;font-size:.8rem}.footer{text-align:center;padding:1rem 1.5rem 1.5rem;color:#555;font-size:.8rem;display:flex;flex-direction:column;gap:.35rem}.footer-credit{font-size:.75rem;color:#444}.footer-brand{color:#d4a84b;font-weight:500}@media(max-width:640px){.layout{padding:.5rem 1rem 1.5rem;gap:1.5rem}.header{padding:1.25rem 1rem .25rem}.header-top{margin-bottom:.5rem}}
