:root{--bg:#111317;--panel:#1b1e24;--panel-2:#242830;--line:#333844;--text:#f2f3f5;--muted:#9aa1ad;--red:#d7263d;--red-dark:#8f1424;--blue:#1f6feb;--blue-dark:#123f8a;--gold:#f2c14e;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{overscroll-behavior:none;min-height:100dvh;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}h1,h2,h3{margin:0}.app{min-height:100dvh;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.muted{color:var(--muted)}.topbar{z-index:10;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);background:#0b0c0f;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{flex-direction:column;flex:1;min-width:0;display:flex}.app-version{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.topbar h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.2rem;overflow:hidden}.tabs{background:var(--panel-2);border-radius:999px;padding:4px;display:flex}.tabs button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 22px;font-weight:600}.tabs button.active{background:var(--text);color:#000}.segmented{background:var(--panel-2);border-radius:12px;flex-wrap:wrap;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.segmented button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:8px 18px;font-weight:600}.segmented button.active{background:var(--text);color:#000}.btn{border:1px solid #0000;border-radius:10px;min-height:48px;padding:12px 20px;font-weight:600}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-small{min-width:44px;min-height:44px;padding:8px 14px}.btn-large{width:100%;min-height:64px;font-size:1.2rem}.btn-ghost{border-color:var(--line);background:0 0}.btn-neutral{background:var(--text);color:#000}.btn-primary,.btn-danger,.btn-red{background:var(--red);color:#fff}.btn-blue{background:var(--blue);color:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.panel h2{margin-bottom:12px;font-size:1.05rem}.setup{flex-direction:column;gap:16px;width:100%;max-width:760px;margin:0 auto;padding:16px;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span{color:var(--muted);font-size:.9rem}input{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;min-width:0;min-height:48px;padding:12px 14px;font-size:1.05rem}input:focus{outline:2px solid var(--blue);outline-offset:1px}.stepper{align-items:center;gap:12px;display:flex}.stepper .btn{flex:none;width:52px;padding:0;font-size:1.4rem}.stepper output{text-align:center;font-variant-numeric:tabular-nums;flex:none;width:3.4em;font-size:1.6rem;font-weight:700}.stepper small{min-width:0;color:var(--muted)}.add-fighter{grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:14px;display:grid}@media (width<=520px){.add-fighter{grid-template-columns:1fr 1fr}.add-fighter button{grid-column:span 2}}.fighter-list{counter-reset:f;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.fighter-list li{counter-increment:f;background:var(--panel-2);border-radius:10px;align-items:center;gap:10px;padding:6px 6px 6px 12px;display:flex}.fighter-list li:before{content:counter(f);color:var(--muted);font-variant-numeric:tabular-nums;min-width:2ch}.fighter-list li span{flex:1}.setup-footer{background:var(--bg);box-shadow:0 -24px 16px -8px var(--bg);text-align:center;padding:12px 0 16px;position:sticky;bottom:0}.setup-footer p{margin:0 0 8px}.ring-view{flex-direction:column;gap:16px;padding:16px;display:flex}.rings{grid-template-columns:repeat(var(--ring-cols,2), minmax(0, 1fr));gap:16px;display:grid}@media (width<=760px){.rings{grid-template-columns:1fr}.ring-view{gap:12px;padding:12px}.ring-card{gap:8px;min-height:0;padding:12px}.ring-name{font-size:1.25rem}.fighter-btn{min-height:84px;padding:8px 12px}.vs{padding:2px 0}.hint{font-size:.8rem}}@media (width<=600px){.topbar{flex-wrap:wrap;row-gap:8px;padding-inline:12px}.brand{flex:100%}.tabs{flex:1}.tabs button{flex:1;padding:0 12px}.bracket-round{flex-basis:190px;min-width:190px}}.ring-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;min-height:300px;padding:14px;display:flex}.ring-card header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ring-name{letter-spacing:.02em;text-transform:uppercase;font-size:1.5rem;font-weight:800}.ring-meta{color:var(--gold);font-weight:600}.bout{flex-direction:column;flex:1;gap:0;display:flex}.bout-side{flex-direction:column;flex:1;display:flex}.vs{text-align:center;color:var(--muted);padding:6px 0;font-weight:900}.fighter-btn{color:#fff;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:110px;padding:12px;transition:transform 80ms;display:flex}.fighter-btn:active{transform:scale(.98)}.fighter-btn small{text-transform:uppercase;letter-spacing:.08em;opacity:.85;font-size:.8rem}.fighter-btn strong{text-align:center;overflow-wrap:anywhere;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.1}.fighter-red{background:linear-gradient(160deg, var(--red), var(--red-dark))}.fighter-blue{background:linear-gradient(160deg, var(--blue), var(--blue-dark))}.draw-banner{border:1px solid var(--gold);color:var(--gold);background:#f2c14e24;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 12px;font-weight:700;display:flex}.draw-banner.stage-2{background:#f2c14e3d}.draw-btn{width:100%;color:var(--gold);border-style:dashed}.badge-draw{border:1px solid var(--gold);color:var(--gold);border-radius:6px;padding:0 5px;font-weight:700}.hint{text-align:center;color:var(--muted);margin:0;font-size:.9rem}.ring-idle{text-align:center;color:var(--muted);border:2px dashed var(--line);border-radius:12px;flex:1;place-items:center;margin:0;padding:16px;display:grid}.lists{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.match-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.match-list li{background:var(--panel-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:48px;padding:8px 10px;display:flex}.match-list li:not(.is-ready) .red-text,.match-list li:not(.is-ready) .blue-text{opacity:.7}.match-list .num{min-width:2.2ch;color:var(--gold);font-weight:800}.match-list .round{color:var(--muted);order:-1;width:100%;font-size:.8rem}.match-list .btn{margin-left:auto}.red-text{color:#ff6b7d;font-weight:600}.blue-text{color:#6aa5ff;font-weight:600}.vs-small{color:var(--muted);font-size:.8rem}.winner{font-weight:700}.podium{text-align:center}.podium h2{margin-bottom:16px;font-size:1.8rem}.podium ol{margin:0;flex-direction:column;gap:10px;max-width:520px;margin-inline:auto;padding:0;list-style:none;display:flex}.podium li{background:var(--panel-2);border-radius:12px;align-items:center;gap:14px;padding:14px 18px;font-size:1.4rem;font-weight:700;display:flex}.medal{color:#000;border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.1rem;display:grid}.gold .medal{background:var(--gold)}.silver .medal{background:#c9ced6}.bronze .medal{background:#c98a4b}.bracket-view{padding:16px}.bracket-help{margin:0 0 12px}.bracket{-webkit-overflow-scrolling:touch;gap:20px;padding-bottom:12px;display:flex;overflow-x:auto}.bracket-round{flex-direction:column;flex:0 0 220px;min-width:220px;display:flex}.bracket-round h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;margin-bottom:10px;font-size:.9rem}.bracket-round-matches{flex-direction:column;flex:1;justify-content:space-around;gap:10px;display:flex}.bracket-match{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;padding:6px;display:block}.bracket-match:disabled{cursor:default;opacity:1}.bracket-match.is-void{visibility:hidden;min-height:80px}.bracket-match.on-ring{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.bracket-match.status-bye{opacity:.6}.bracket-match-head{color:var(--muted);align-items:center;gap:8px;padding:0 4px 4px;font-size:.75rem;display:flex}.badge{background:var(--gold);color:#000;border-radius:6px;padding:1px 6px;font-weight:700}.slot{border-left:4px solid;border-radius:6px;justify-content:space-between;gap:6px;padding:6px 8px;font-size:.9rem;display:flex}.slot+.slot{margin-top:3px}.slot-red{border-left-color:var(--red)}.slot-blue{border-left-color:var(--blue)}.slot.is-winner{background:var(--panel-2);font-weight:700}.slot.is-loser{color:var(--muted);text-decoration:line-through}.overlay{z-index:100;background:#000000a6;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(480px,100%);padding:20px;box-shadow:0 20px 60px #00000080}.dialog h2{overflow-wrap:anywhere;font-size:1.5rem}.dialog-body{color:var(--muted);line-height:1.5}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.dialog-actions .btn{flex:1;min-height:56px}.certificates-head{margin-bottom:12px}.certificate-group+.certificate-group{margin-top:20px}.certificate-group-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.certificate-group-head h3{font-size:1rem}.certificates-head h2{margin-bottom:4px}.certificates-head p{margin:0}.certificate-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.certificate-list li{background:var(--panel-2);border-radius:12px;flex-direction:column;gap:10px;padding:10px;display:flex}.certificate-list img{aspect-ratio:2480/1754;border-radius:8px;width:100%;display:block}.certificate-info{flex-direction:column;gap:2px;display:flex}.certificate-actions{gap:8px;display:flex}.certificate-actions .btn{flex:1}.error{color:#ff8a98;margin:0 0 12px}
