:root{--pc-space:1;--pc-radius:12px;--pc-density:1;--pc-type:1;--pc-accent-h:152;--pc-accent:#2c9664;--pc-accent-soft:#e1f4eb;--pc-accent-ink:#1c543a;--pc-bg:#f4f6f3;--pc-surface:#fff;--pc-ink:#1a221c;--pc-muted:#5c6b61;--pc-line:#d8e0da;--pc-shadow:0 8px 24px #1a221c0f;color:var(--pc-ink);background:var(--pc-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.45}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;font-size:calc(15px * var(--pc-type));margin:0}#root{min-height:100vh}h1,h2,h3{margin:0 0 calc(.4rem * var(--pc-space));letter-spacing:-.01em;line-height:1.2}h1{font-size:calc(1.65rem * var(--pc-type))}h2{font-size:calc(1.15rem * var(--pc-type))}h3{font-size:calc(1rem * var(--pc-type))}p{margin:0 0 calc(.65rem * var(--pc-space))}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{gap:calc(.75rem * var(--pc-space) * var(--pc-density));flex-direction:column;min-height:100vh;display:flex}.topbar{align-items:center;gap:calc(.75rem * var(--pc-space));padding:calc(.75rem * var(--pc-density) * var(--pc-space)) calc(1.1rem * var(--pc-space));background:var(--pc-surface);border-bottom:1px solid var(--pc-line);z-index:20;flex-wrap:wrap;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.65rem;min-width:10rem;display:flex}.brand__mark{border-radius:calc(var(--pc-radius) * .7);background:var(--pc-accent);color:#fff;place-items:center;width:2.25rem;height:2.25rem;font-size:.8rem;font-weight:700;display:grid}.brand__name{font-size:calc(1.05rem * var(--pc-type));display:block}.brand__tag{color:var(--pc-muted);font-size:calc(.78rem * var(--pc-type));display:block}.nav{flex-wrap:wrap;flex:1;gap:.35rem;display:flex}.nav__item{color:var(--pc-muted);padding:calc(.45rem * var(--pc-density)) calc(.85rem * var(--pc-density));border-radius:var(--pc-radius);background:0 0;border:1px solid #0000;font-weight:600}.nav__item:hover{background:var(--pc-accent-soft);color:var(--pc-accent-ink)}.nav__item--active{background:var(--pc-accent);color:#fff}.main{width:min(1120px,100%);padding:0 calc(1.1rem * var(--pc-space)) calc(1.5rem * var(--pc-space));flex:1;margin:0 auto}.footer{padding:calc(.75rem * var(--pc-density)) calc(1.1rem * var(--pc-space));color:var(--pc-muted);font-size:calc(.8rem * var(--pc-type));border-top:1px solid var(--pc-line);text-align:center}.page__head{justify-content:space-between;gap:calc(.85rem * var(--pc-space));margin-bottom:calc(1rem * var(--pc-space));flex-wrap:wrap;align-items:flex-end;display:flex}.muted{color:var(--pc-muted)}.small{font-size:calc(.85rem * var(--pc-type))}.card{background:var(--pc-surface);border:1px solid var(--pc-line);border-radius:var(--pc-radius);padding:calc(1rem * var(--pc-density) * var(--pc-space));box-shadow:var(--pc-shadow)}.split{gap:calc(1rem * var(--pc-space));grid-template-columns:1fr 1.1fr;display:grid}.split--schedule{grid-template-columns:1.2fr .9fr}@media (width<=860px){.split,.split--schedule{grid-template-columns:1fr}}.stack{gap:calc(.75rem * var(--pc-space));flex-direction:column;display:flex}.session-chip{padding:calc(.55rem * var(--pc-density)) calc(.85rem * var(--pc-density));background:var(--pc-accent-soft);color:var(--pc-accent-ink);border-radius:var(--pc-radius);margin-bottom:calc(1rem * var(--pc-space));flex-wrap:wrap;align-items:center;gap:.65rem;display:inline-flex}.badge{font-size:calc(.72rem * var(--pc-type));text-transform:uppercase;letter-spacing:.03em;color:var(--pc-muted);background:#e8ece9;border-radius:999px;padding:.15rem .5rem;font-weight:700;display:inline-block}.badge--live{color:#a33a1a;background:#ffe8e0}.badge--warmup{color:#8a6a00;background:#fff3cc}.badge--final,.badge--completed{color:#2a4f74;background:#e4eef8}.badge--scheduled,.badge--upcoming{background:var(--pc-accent-soft);color:var(--pc-accent-ink)}.badge--in_progress{color:#a33a1a;background:#ffe8e0}.badge--cancelled{color:#7a4040;background:#f0e8e8}.badge--open{color:var(--pc-accent);background:#eaf8ef}.match-list{flex-direction:column;gap:.45rem;max-height:28rem;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.match-list__item{text-align:left;border:1px solid var(--pc-line);border-radius:calc(var(--pc-radius) * .85);width:100%;padding:calc(.65rem * var(--pc-density));background:#fbfcfb;gap:.25rem;display:grid}.match-list__item:hover,.match-list__item.is-selected{border-color:var(--pc-accent);background:var(--pc-accent-soft)}.match-list__teams{flex-wrap:wrap;align-items:baseline;gap:.35rem;font-weight:600;display:flex}.match-list__teams em{color:var(--pc-muted);font-size:.85em;font-style:normal;font-weight:500}.match-list__score{color:var(--pc-muted);font-size:calc(.85rem * var(--pc-type))}.teams-grid{gap:calc(.75rem * var(--pc-space));margin-bottom:calc(1rem * var(--pc-space));grid-template-columns:1fr auto 1fr;align-items:stretch;display:grid}@media (width<=640px){.teams-grid{grid-template-columns:1fr}}.team-card{border:1px solid var(--pc-line);border-radius:calc(var(--pc-radius) * .9);padding:calc(.85rem * var(--pc-density));background:#fbfcfb}.vs{color:var(--pc-muted);align-self:center;font-weight:800}.score-input{gap:.25rem;margin:.5rem 0;display:grid}.score-input input{font-size:calc(1.6rem * var(--pc-type));width:100%;padding:calc(.4rem * var(--pc-density));border-radius:calc(var(--pc-radius) * .7);border:1px solid var(--pc-line);text-align:center;font-weight:700}.score-steppers{gap:.4rem;display:flex}.btn{border:1px solid var(--pc-line);color:var(--pc-ink);border-radius:calc(var(--pc-radius) * .75);padding:calc(.45rem * var(--pc-density)) calc(.8rem * var(--pc-density));background:#fff;font-weight:600}.btn:hover{border-color:var(--pc-accent)}.btn--accent{background:var(--pc-accent);border-color:var(--pc-accent);color:#fff}.btn--accent:hover{filter:brightness(1.05)}.btn--ghost{background:0 0}.field{font-size:calc(.9rem * var(--pc-type));gap:.3rem;display:grid}.field span{color:var(--pc-muted);font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--pc-line);border-radius:calc(var(--pc-radius) * .7);padding:calc(.45rem * var(--pc-density)) calc(.6rem * var(--pc-density));background:#fff}.field-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.form-stack{gap:calc(.75rem * var(--pc-space));flex-direction:column;display:flex}.session-card__top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.notes{color:var(--pc-muted);font-style:italic}.row-actions{margin-top:calc(.65rem * var(--pc-space));flex-wrap:wrap;gap:.45rem;display:flex}.empty{color:var(--pc-muted);padding:.5rem 0}.court-grid{gap:calc(.85rem * var(--pc-space));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=720px){.court-grid{grid-template-columns:1fr}}.court-tile__head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.court-tile--busy{border-color:color-mix(in srgb, var(--pc-accent) 45%, var(--pc-line))}.court-tile--open{background:linear-gradient(#fff,#f7faf8)}.court-tile__score{text-align:center;grid-template-columns:1fr auto 1fr;align-items:end;gap:.5rem;display:grid}.team-line{min-height:2.4em;font-weight:600}.big-score{font-size:calc(2rem * var(--pc-type));color:var(--pc-accent-ink)}.vs-sm{color:var(--pc-muted);padding-bottom:.35rem;font-size:1.4rem}.simple-list{gap:.4rem;margin:0;padding-left:1.1rem;display:grid}.simple-list em{color:var(--pc-muted);font-style:normal}.tweaks{margin-left:auto;position:relative}.tweaks__toggle{border:1px dashed var(--pc-line);border-radius:var(--pc-radius);padding:calc(.4rem * var(--pc-density)) calc(.7rem * var(--pc-density));color:var(--pc-muted);background:#fbfcfb;font-weight:600}.tweaks__panel{background:var(--pc-surface);border:1px solid var(--pc-line);border-radius:var(--pc-radius);width:min(280px,90vw);box-shadow:var(--pc-shadow);padding:calc(.85rem * var(--pc-density));z-index:30;gap:.65rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.tweaks__hint{font-size:calc(.8rem * var(--pc-type));color:var(--pc-muted);margin:0}.tweaks__row{gap:.25rem;display:grid}.tweaks__row span{font-size:calc(.82rem * var(--pc-type));justify-content:space-between;display:flex}.tweaks__row input[type=range]{width:100%;accent-color:var(--pc-accent)}
