:root{--font-display: "Avenir Next Condensed", "HelveticaNeue-CondensedBold", "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;--font-body: "Avenir Next", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg: #05060c;--panel: #0d0e17;--line: #23242f;--text: #f0f0f5;--muted: #8b8d9f;--dim: #565866;--gold: #d4af37;--gold-bright: #f3d97a;--gold-pale: #ffe9a3;--gold-deep: #8a6d1d;--win: #22c55e;--loss: #ef4444;font-family:var(--font-body);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(1200px 700px at 50% -200px,rgba(30,32,52,.55),transparent 70%),var(--bg)}.bracket-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.2rem 0 2rem;background:radial-gradient(closest-side at 50% 46%,rgba(212,175,55,.07),transparent 62%),radial-gradient(circle at 50% 120%,rgba(20,22,40,.9),transparent 55%)}.bracket-wrap{position:relative;width:min(92vw,calc(100svh - 150px));aspect-ratio:1}.bracket{display:block;width:100%;height:auto;overflow:visible}.bracket-backdrop{fill:transparent}.ring-label{fill:#4d4f60;font-family:var(--font-display);font-size:11px;letter-spacing:.32em;text-anchor:middle}.edge{fill:none;stroke-linecap:round;transition:stroke .6s ease,opacity .25s ease}.edge-open{stroke:#262838;stroke-width:1.6}.edge-lost{stroke:#14151d;stroke-width:1.4}.edge-won{stroke:var(--team-color, var(--gold));stroke-width:3.4;stroke-dasharray:.6 7.4;filter:drop-shadow(0 0 5px var(--team-color, rgba(212, 175, 55, .75)));animation:edge-ignite .7s ease-out both,edge-flow 2.4s linear infinite;animation-delay:var(--ring-delay, 0s),0s}.edge-hit{fill:none;stroke:transparent;stroke-width:20;pointer-events:stroke;cursor:pointer}.edge-open.is-lit{stroke:#9a9cb8;stroke-width:2.6}.edge-won.is-lit{stroke-width:4.4;filter:drop-shadow(0 0 9px var(--team-color, rgba(212, 175, 55, .9))) brightness(1.35)}.node-echo,.entry-hop{pointer-events:none}.edge-joint{fill:#33343f;pointer-events:none;transition:opacity .25s ease}.joint-won{fill:var(--team-color, var(--gold));filter:drop-shadow(0 0 4px var(--team-color, rgba(212, 175, 55, .7)))}.joint-lost{fill:#1c1d26}.slot-dot{fill:#2c2d3a;cursor:pointer;transition:opacity .25s ease}.node{cursor:pointer;transition:opacity .25s ease,filter .4s ease}.node-face{fill:#0d0e17;stroke:#34364a;stroke-width:1.5;transition:stroke .3s ease}.node-flag{text-anchor:middle;dominant-baseline:central;-webkit-user-select:none;user-select:none}.node-advanced{animation:node-pop .55s var(--ring-delay, 0s) both}.node-advanced .node-face{stroke:var(--team-color, var(--gold));stroke-width:2;filter:drop-shadow(0 0 5px var(--team-color, rgba(212, 175, 55, .55)))}.node-out{opacity:.32;filter:saturate(.15)}.node.is-lit .node-face{stroke:var(--gold-pale);stroke-width:2.6}.is-faded{opacity:.14}.bracket [role=button]:focus{outline:none}.bracket [role=button]:focus-visible{outline:2px solid var(--gold-pale);outline-offset:3px}.rim-label{fill:var(--muted);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.1em;text-anchor:middle;dominant-baseline:central;-webkit-user-select:none;user-select:none;pointer-events:none}.node.is-lit .rim-label{fill:var(--gold-pale)}.score-chip{fill:var(--gold-bright);font-family:var(--font-display);font-size:13px;font-weight:700;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#05060c;stroke-width:5px;animation:fade-in .6s ease both;pointer-events:none}@media(max-width:640px){.rim-label{font-size:18px}.score-chip{font-size:17px}}.trophy-halo{transform-box:fill-box;transform-origin:center;animation:trophy-pulse 3s ease-in-out infinite alternate}.trophy-core{fill:#0b0c14;stroke:#d4af3773;stroke-width:1.5}.trophy-cup{font-size:50px;text-anchor:middle;dominant-baseline:central;filter:drop-shadow(0 0 14px rgba(243,217,122,.65));-webkit-user-select:none;user-select:none}.trophy-clickable{cursor:pointer}.trophy-crowned .trophy-halo{animation-duration:1.6s}.champion{animation:node-pop .9s .2s both}.champion-ring{fill:#0b0c14;stroke:var(--gold-bright);stroke-width:2.5;filter:drop-shadow(0 0 12px rgba(243,217,122,.8))}.champion-flag{font-size:24px;text-anchor:middle;dominant-baseline:central}.champion-name{fill:var(--gold-bright);font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.28em;text-anchor:middle;filter:drop-shadow(0 0 8px rgba(243,217,122,.5))}.bracket-tip{position:absolute;transform:translate(-50%,-150%);background:#08090ef2;border:1px solid #2a2b38;border-radius:8px;padding:.35rem .65rem;font-size:.8rem;white-space:nowrap;pointer-events:none;z-index:3}.bracket-tip em{color:var(--gold-bright);font-style:normal;margin-left:.3rem}.bracket-card{position:absolute;transform:translate(-50%,-50%);width:260px;margin:0;color:var(--text);background:#0a0b12f0;border:1px solid rgba(212,175,55,.28);border-radius:14px;padding:.85rem 1rem .9rem;box-shadow:0 18px 50px #000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4;animation:fade-in .18s ease-out}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}.card-round{color:var(--gold);font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.card-close{background:none;border:none;color:var(--dim);cursor:pointer;font-size:.85rem;padding:.1rem .3rem}.card-close:hover{color:var(--text)}.card-team{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.32rem 0}.card-team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.card-winner .card-team-name{color:var(--gold-bright);font-weight:600}.card-score{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text)}.card-status{margin:.55rem 0 0;color:var(--dim);font-size:.78rem}.outright-list{max-height:260px;overflow-y:auto;scrollbar-width:thin}.confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:10}.confetti-piece{position:absolute;top:-4vh;width:8px;height:14px;border-radius:2px;opacity:.9;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:both}.hero-glow{font-size:4.5rem;line-height:1;filter:drop-shadow(0 0 34px rgba(212,175,55,.6));animation:trophy-pulse 2.6s ease-in-out infinite alternate}.stage-hint{color:var(--dim);font-family:var(--font-display);font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;margin-top:1.4rem}@keyframes edge-ignite{0%{stroke:#262838;filter:none}}@keyframes edge-flow{to{stroke-dashoffset:-16}}@keyframes node-pop{0%{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center}70%{transform:scale(1.12)}to{opacity:1;transform:scale(1);transform-box:fill-box;transform-origin:center}}@keyframes trophy-pulse{0%{opacity:.7;transform:scale(.96)}to{opacity:1;transform:scale(1.06)}}@keyframes fade-in{0%{opacity:0}}@keyframes confetti-fall{0%{transform:translateY(-4vh) rotate(0)}to{transform:translateY(110vh) rotate(680deg)}}@media(prefers-reduced-motion:reduce){.edge-won,.node-advanced,.trophy-halo,.champion,.confetti-piece,.hero-glow,.score-chip{animation:none}}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.4rem;background:#05060cdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.07)}.brand{font-family:var(--font-display);font-weight:800;font-size:1.02rem;letter-spacing:.3em;text-decoration:none;white-space:nowrap;background:linear-gradient(180deg,var(--gold-pale) 0%,var(--gold) 55%,var(--gold-deep) 110%);-webkit-background-clip:text;background-clip:text;color:transparent}.nav{display:flex;align-items:center;gap:1.8rem}.nav-link{color:var(--muted);font-family:var(--font-display);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;font-weight:600;border:none;border-bottom:1px solid transparent;padding-bottom:.15rem;background:none;cursor:pointer;transition:border-color .2s,color .2s}.nav-link:hover{color:var(--gold-pale);border-bottom-color:var(--gold)}.wallet-wrap{position:relative}.wallet{display:flex;align-items:center;gap:.55rem;padding:.38rem .9rem;background:#14151f;border:1px solid #2c2c38;border-radius:999px;font-size:.88rem;color:var(--text);cursor:pointer;transition:border-color .2s}.wallet:hover{border-color:var(--gold-deep)}.wallet-balance{color:var(--gold-bright);font-weight:700;font-variant-numeric:tabular-nums}.wallet-sep{color:var(--dim)}.wallet-name{color:#d5d5df}.wallet-caret{color:var(--dim);font-size:.7rem}.menu-backdrop{position:fixed;inset:0;background:none;border:none;cursor:default;z-index:24}.profile-menu{position:absolute;right:0;top:calc(100% + .5rem);min-width:220px;background:#0d0e17;border:1px solid #2c2c38;border-radius:12px;padding:.4rem;box-shadow:0 16px 40px #0009;z-index:25}.profile-id{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .7rem .65rem;border-bottom:1px solid #1e1f2a;margin-bottom:.3rem}.profile-balance{color:var(--gold-bright);font-weight:700;font-variant-numeric:tabular-nums}.profile-email{color:var(--dim);font-size:.78rem;overflow:hidden;text-overflow:ellipsis}.menu-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;color:var(--text);font-size:.88rem;padding:.5rem .7rem;cursor:pointer}.menu-item:hover{background:#1a1b28;color:var(--gold-pale)}.page{flex:1;width:100%;max-width:820px;margin:0 auto;padding:2rem 1.2rem 4rem}.page-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.page-title{font-family:var(--font-display);font-size:clamp(1.9rem,4.5vw,2.6rem);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.4rem;background:linear-gradient(180deg,#fdf6d8 0%,var(--gold) 60%,var(--gold-deep) 110%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-empty{color:var(--muted);padding:2.5rem 0;text-align:center}.hero-title{font-family:var(--font-display);font-size:clamp(2.6rem,9vw,5.4rem);letter-spacing:.1em;text-transform:uppercase;margin:1.6rem 0 0;background:linear-gradient(180deg,#fdf6d8 0%,var(--gold) 60%,var(--gold-deep) 110%);-webkit-background-clip:text;background-clip:text;color:transparent}.rounds{display:flex;flex-direction:column;gap:1.8rem}.round-title{font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 .6rem}.market-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;background:#0d0e17a6;margin-bottom:.55rem}.market-fixture{display:flex;flex-direction:column;gap:.15rem;min-width:0}.market-teams{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-vs{color:var(--dim)}.market-meta{color:var(--dim);font-size:.76rem;letter-spacing:.06em}.market-closed{opacity:.55}.market-prices{display:flex;gap:.5rem;flex-shrink:0}.price-btn{display:inline-flex;align-items:center;gap:.5rem;background:#d4af3714;border:1px solid rgba(212,175,55,.45);border-radius:9px;color:var(--gold-bright);font-variant-numeric:tabular-nums;font-weight:700;font-size:.88rem;padding:.42rem .7rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.price-btn:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:#0b0c14}.price-btn:disabled{cursor:not-allowed;opacity:.55}.price-btn-label{font-weight:500;color:var(--text);font-size:.8rem;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-btn:hover:not(:disabled) .price-btn-label{color:#0b0c14}.price-flat{color:var(--muted);font-variant-numeric:tabular-nums}.flash-up{animation:flash-up 1.1s ease-out}.flash-down{animation:flash-down 1.1s ease-out}@keyframes flash-up{0%,60%{background:#22c55e47;border-color:var(--win)}}@keyframes flash-down{0%,60%{background:#ef444447;border-color:var(--loss)}}.bets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.bet-row{display:flex;align-items:center;gap:.9rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;background:#0d0e17a6}.bet-chip{font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-radius:999px;padding:.22rem .6rem;flex-shrink:0}.chip-pending{color:var(--gold-bright);border:1px solid var(--gold-deep);background:#d4af371a}.chip-won{color:#86efac;border:1px solid #14532d;background:#102420}.chip-lost{color:#fca5a5;border:1px solid #7f1d1d;background:#24131c}.chip-void{color:var(--muted);border:1px solid var(--line);background:none}.bet-lost{opacity:.6}.bet-what{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.bet-market{color:var(--dim);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bet-numbers{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;font-variant-numeric:tabular-nums;font-size:.88rem;flex-shrink:0}.bet-return{color:var(--muted);font-size:.78rem}.bet-won .bet-return{color:#86efac}.slip-layer{position:fixed;inset:0;z-index:30}.slip-backdrop{position:absolute;inset:0;background:#02030899;border:none;cursor:pointer}.slip{position:absolute;top:0;right:0;bottom:0;width:min(360px,92vw);background:#0b0c14;border-left:1px solid rgba(212,175,55,.25);box-shadow:-24px 0 60px #0000008c;padding:1.1rem 1.2rem;overflow-y:auto;animation:slip-in .22s ease-out}@keyframes slip-in{0%{transform:translate(30%);opacity:0}}.slip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.slip-title{font-family:var(--font-display);font-size:1rem;letter-spacing:.24em;text-transform:uppercase;margin:0;color:var(--gold)}.slip-close{background:none;border:none;color:var(--dim);font-size:1rem;cursor:pointer}.slip-close:hover{color:var(--text)}.slip-empty{color:var(--muted);padding:1.5rem 0}.slip-pick{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.slip-pick-name{font-size:1.05rem;font-weight:600}.slip-pick-price{color:var(--gold-bright);font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums}.slip-pick-market{color:var(--dim);font-size:.8rem;margin:.2rem 0 1.1rem}.slip-label{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem}.slip-stake{width:100%;background:#10111c;border:1px solid #2c2c38;border-radius:10px;color:var(--text);font-size:1.15rem;font-variant-numeric:tabular-nums;padding:.55rem .75rem}.slip-stake:focus{outline:none;border-color:var(--gold)}.slip-math{display:flex;flex-direction:column;gap:.35rem;margin:1rem 0}.slip-math div{display:flex;justify-content:space-between}.slip-math dt{color:var(--muted);font-size:.85rem}.slip-math dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.slip-warn{color:#fca5a5;font-size:.83rem;margin:.6rem 0 0}.slip-conflict{border:1px solid var(--gold-deep);background:#d4af3712;border-radius:10px;padding:.8rem;font-size:.88rem}.slip-conflict p{margin:0 0 .7rem}.slip-conflict-actions{display:flex;gap:.5rem}.slip-done{display:block;text-align:center;padding:1.2rem 0}.slip-done-mark{font-size:2.2rem;color:var(--win);margin:0 0 .4rem}.btn-gold{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#0b0c14;border:none;border-radius:10px;font-weight:700;font-size:.95rem;padding:.6rem 1.1rem;cursor:pointer}.btn-gold:hover:not(:disabled){filter:brightness(1.08)}.btn-gold:disabled{opacity:.45;cursor:not-allowed}.slip-place{width:100%}.btn-ghost{background:none;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.9rem;padding:.6rem 1rem;cursor:pointer}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.services{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem;padding:1.5rem 0 0;margin:0}.service{display:flex;align-items:center;gap:.5rem}.dot{width:10px;height:10px;border-radius:50%;background:#52525f}.dot.online{background:var(--win);box-shadow:0 0 12px #22c55e87}.dot.offline{background:var(--loss)}.dot.checking{background:#eab308;animation:pulse 1.2s ease-in-out infinite}.service-name{font-weight:600}.service-status{color:var(--muted);font-size:.85rem}.back-link{color:var(--dim);text-decoration:none;font-size:.85rem;margin-top:2rem}.back-link:hover{color:var(--muted)}@keyframes pulse{50%{opacity:.3}}@media(max-width:640px){.topbar{padding:.6rem .9rem;gap:.6rem}.brand{font-size:.82rem;letter-spacing:.18em}.nav{gap:1rem}.wallet-name{display:none}.market-row{flex-direction:column;align-items:stretch}.market-prices{justify-content:stretch}.market-prices .price-btn{flex:1;justify-content:space-between}}
