:root{--bg:#050a05;--bg-panel:#081208d9;--grid:#285a2838;--border:#1e4a1e;--border-soft:#163616;--text:#e8f0e8;--muted:#5a8a5a;--label:#6aa06a;--team-a:#ff2a2a;--team-b:#00e8ff;--gold:#d4a017;--gold-hover:#e8b82a;--error:#f55;--font:"IBM Plex Mono", "Courier New", Courier, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--text);background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);-webkit-font-smoothing:antialiased;background-size:28px 28px;background-attachment:fixed;margin:0}.app{max-width:720px;margin:0 auto;padding:1.25rem 1rem 3rem}.topbar{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.brand{letter-spacing:.12em;color:var(--gold);margin:0;font-size:.95rem;font-weight:600}.nav{gap:1rem;display:flex}.nav-link{color:var(--muted);letter-spacing:.08em;font-size:.8rem;text-decoration:none}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--gold)}.page{flex-direction:column;gap:1rem;display:flex}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem 1.15rem}.panel-title{letter-spacing:.14em;color:var(--label);margin:0 0 .85rem;font-size:.7rem;font-weight:600}.match-header{text-align:center;padding-top:1.25rem;padding-bottom:1rem}.match-sides{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.match-side{flex-direction:column;align-items:center;gap:.35rem;display:flex}.team-name{letter-spacing:.06em;font-size:1.35rem;font-weight:700}.team-a{color:var(--team-a)}.team-b{color:var(--team-b)}.lot-count{color:var(--text);font-size:2.4rem;font-weight:700;line-height:1}.vs{color:var(--label);text-transform:lowercase;font-size:.85rem}.lot-price{color:var(--label);margin:.85rem 0 0;font-size:.75rem}.add-form{flex-direction:column;gap:.75rem;display:flex}.add-row{grid-template-columns:1fr auto auto;align-items:end;gap:.6rem;display:grid}.input{color:var(--text);border:1px solid var(--border);background:#00000059;border-radius:6px;outline:none;padding:.55rem .7rem;font-family:inherit;font-size:.9rem}.input:focus{border-color:var(--label)}.input::placeholder{color:var(--muted)}.name-input{width:100%}.lots-field{flex-direction:column;gap:.25rem;display:flex}.field-label{letter-spacing:.1em;color:var(--label);font-size:.65rem}.lots-input{text-align:center;width:4.5rem}.team-toggle{gap:.35rem;display:flex}.team-btn{letter-spacing:.04em;border:1px solid var(--border);cursor:pointer;background:#0006;border-radius:6px;min-width:5.5rem;padding:.55rem .7rem;font-family:inherit;font-size:.7rem;font-weight:700}.team-a-btn{color:var(--team-a)}.team-a-btn.active{background:var(--team-a);color:#0a0a0a;border-color:var(--team-a)}.team-b-btn{color:var(--team-b)}.team-b-btn.active{background:var(--team-b);color:#0a0a0a;border-color:var(--team-b)}.cta{letter-spacing:.1em;background:var(--gold);color:#0a0a0a;cursor:pointer;border:none;border-radius:6px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.85rem;font-weight:700}.cta:hover:not(:disabled){background:var(--gold-hover)}.cta:disabled{opacity:.55;cursor:not-allowed}.roster{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.roster-row{border-bottom:1px dotted var(--border-soft);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.65rem;padding:.55rem .35rem;display:grid}.roster-row:last-child{border-bottom:none}.badge{letter-spacing:.04em;white-space:nowrap;border-radius:3px;padding:.2rem .4rem;font-size:.6rem;font-weight:700}.badge-a{background:var(--team-a);color:#0a0a0a}.badge-b{background:var(--team-b);color:#0a0a0a}.roster-name{font-size:.9rem}.roster-lots{color:var(--muted);white-space:nowrap;font-size:.8rem}.delete-btn{color:var(--team-a);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-family:inherit;font-size:1.15rem;line-height:1}.delete-btn:hover:not(:disabled){color:var(--error)}.delete-btn:disabled{opacity:.4;cursor:not-allowed}.summary-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.summary-card{border:1px solid var(--border-soft);background:#00000040;border-radius:8px;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .75rem;display:flex}.summary-label{letter-spacing:.12em;color:var(--label);font-size:.65rem}.summary-value{font-size:1.5rem;font-weight:700}.gold{color:var(--gold)}.table-wrap{overflow-x:auto}.payout-table{border-collapse:collapse;width:100%;font-size:.85rem}.payout-table th{text-align:left;letter-spacing:.08em;color:var(--label);border-bottom:1px solid var(--border-soft);padding:.4rem .5rem .65rem 0;font-size:.65rem;font-weight:600}.payout-table th.team-a{color:var(--team-a)}.payout-table th.team-b{color:var(--team-b)}.payout-table td{border-bottom:1px dotted var(--border-soft);vertical-align:middle;padding:.65rem .5rem .65rem 0}.payout-table tr:last-child td{border-bottom:none}.payout-note{color:var(--muted);margin:1rem 0 0;font-size:.7rem;font-style:italic;line-height:1.4}.empty,.status{color:var(--muted);margin:0;font-size:.85rem}.status.error,.error{color:var(--error)}@media (width<=560px){.add-row{grid-template-columns:1fr}.lots-input,.team-toggle{width:100%}.team-btn{flex:1}.roster-row{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto}.roster-lots{grid-column:2;font-size:.75rem}.delete-btn{grid-area:1/3/span 2}.summary-value{font-size:1.15rem}.team-name{font-size:1.05rem}.lot-count{font-size:1.8rem}}
