:root{color-scheme:light;--paper:#f5e8cb;--ink:#203c4b;--teal:#176e70;--ochre:#e1a44a;--red:#ad4231;--line:#bcb292;font-family:Georgia,'Times New Roman',serif;font-size:16px;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0}button,input,select,summary{font:inherit}button,select{min-height:44px;color:var(--ink);border:1.5px solid var(--ink);background:#fff7df;border-radius:6px;padding:.55rem .8rem;max-width:100%;overflow-wrap:anywhere}button,summary{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:hover:not(:disabled){background:#ebd6a8}button.primary{background:var(--teal);color:#fff8e1;border-color:var(--teal)}button.primary:hover:not(:disabled){background:#115b5e}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,#stage:focus-visible{outline:3px solid var(--red);outline-offset:3px}button.danger{color:var(--red)}[hidden]{display:none!important}main{max-width:1080px;margin:auto;padding:0 1rem max(1rem,env(safe-area-inset-bottom))}.masthead{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem 0;flex-wrap:wrap}.masthead nav{display:flex;gap:.4rem}.brand{font-weight:800;font-size:1.25rem;text-decoration:none;color:var(--teal)}.poster{position:relative;border:2px solid var(--ink);overflow:hidden;border-radius:8px}.poster img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;object-position:50% 50%}.posterCaption{display:flex;gap:1rem;justify-content:space-between;align-items:center;background:var(--teal);color:#fff6da;padding:.8rem 1rem}.posterCaption p{margin:0;max-width:36rem}.posterCaption strong{white-space:nowrap}.homeActions,.quickActions{display:flex;gap:.6rem;justify-content:space-between;flex-wrap:wrap;margin:1rem 0}.segmented{display:flex;gap:.4rem}.segmented [aria-selected=true]{background:var(--ink);color:var(--paper)}.subtle{font-family:system-ui,sans-serif;font-size:max(12px,.85rem);line-height:1.5;margin:.45rem 0 .7rem}.clubChoice{display:flex;align-items:center;gap:.8rem;max-width:36rem}.clubChoice select{flex:1;min-width:0}.cupCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cupCard{border:1.5px solid var(--ink);border-radius:8px;overflow:hidden;background:#fff3d8}.cupCard>img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.cupBody{padding:.8rem}.cupBody h2{margin:0 0 .7rem;font-size:1.2rem}.ties{display:grid;gap:.45rem;margin-bottom:.8rem}.tieButton{text-align:left;display:flex;flex-direction:column;gap:.25rem}.tieButton small{font-family:system-ui,sans-serif;font-size:max(12px,.75rem)}.notice,.banner{padding:.8rem;border-left:5px solid var(--red);background:#f7d9a6;font-family:system-ui,sans-serif;line-height:1.45}.matchHeader{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.65rem 0}.matchHeader>div{min-width:0}.matchHeader strong{display:block}.matchHeader #score{font-size:1.7rem;white-space:nowrap}.matchHeader small{display:block;font-family:system-ui,sans-serif;font-size:max(12px,.75rem);margin-top:.2rem}.matchMeta{display:flex;justify-content:space-between;font-family:system-ui,sans-serif;font-size:max(12px,.85rem);margin-bottom:.4rem}#stage{width:100%;max-width:800px;margin:auto;position:relative;border:2px solid var(--ink);border-radius:6px;overflow:hidden;touch-action:none;user-select:none}canvas,svg{display:block;width:100%;height:auto;aspect-ratio:10/7}.viewBadge{position:absolute;left:.6rem;top:.5rem;background:#fff3ddeb;padding:.3rem .6rem;border:1px solid var(--ink);border-radius:4px;font-family:system-ui,sans-serif;font-size:max(12px,.8rem);pointer-events:none}.phase{font-weight:700;min-height:1.3em;margin:.55rem 0}.shotControls,.turnActions,#keeperControls{max-width:800px;margin:auto}.pulse{width:min(100%,420px);height:18px;background:linear-gradient(90deg,#a64232,#e3b55d 40%,#287d75 48%,#287d75 52%,#e3b55d 60%,#a64232);position:relative;border-radius:5px;border:1px solid var(--ink)}.pulse span{position:absolute;width:2px;height:100%;left:50%;background:white}.pulse i{position:absolute;top:-3px;height:22px;width:4px;background:var(--ink);border:1px solid #fff3dc;transform:translateX(-50%)}.aimRow{display:flex;gap:.5rem;margin:.5rem 0}.aimRow>*{flex:1;min-width:0}.aimRow .primary{flex:1.6}.sliderGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.sliderGrid label{display:grid;grid-template-columns:1fr auto;gap:.3rem;font-family:system-ui,sans-serif;font-size:max(12px,.85rem)}.sliderGrid input{width:100%;min-width:0;grid-column:1/-1;height:44px;margin:0;accent-color:var(--teal);grid-row:2}.sliderGrid output{font-variant-numeric:tabular-nums}details{margin:.6rem 0}summary{min-height:44px;padding:.5rem 0}.diveGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;max-width:460px}.diveGrid button{padding:.4rem;display:flex;justify-content:center;gap:.3rem;align-items:center}.turnActions{display:flex;gap:.5rem;flex-wrap:wrap}.fieldNotes{max-width:800px;margin:auto}.fieldNotes p,dialog p{line-height:1.55}.fieldNotes p{font-family:system-ui,sans-serif;font-size:max(12px,.85rem)}dialog{border:2px solid var(--ink);border-radius:10px;background:var(--paper);color:var(--ink);width:min(92vw,680px);max-height:85dvh;padding:1.25rem;overflow:auto}dialog::backdrop{background:#15363bd9}dialog h2{margin:.2rem 0 .7rem}.dialogHeading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.dialogActions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.settingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.settingsGrid label{display:flex;flex-direction:column;gap:.45rem;min-width:0}.settingsGrid select{width:100%;min-width:0}.settingsGrid label.check{flex-direction:row;align-items:center;min-height:44px}.check input{width:24px;height:24px;flex-shrink:0;accent-color:var(--teal)}.postcardCards{display:grid;gap:1rem}.postcard{border:1px solid var(--line);padding:.6rem}.postcard img{width:100%;aspect-ratio:16/9;object-fit:cover}.postcard.locked img{filter:grayscale(1);opacity:.35}.bracketRow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.5rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--line);font-family:system-ui,sans-serif;font-size:max(12px,.85rem)}.clubBadge{width:28px;height:32px;object-fit:contain;vertical-align:middle;margin-right:.3rem}.bracketRow small{grid-column:1/-1}.bracketRow .winner{font-weight:800;color:var(--teal)}
@media(min-width:900px){#runView{max-width:800px;margin:auto}#stage{max-height:56vh;aspect-ratio:10/7;width:auto}canvas,svg{height:100%;width:100%}}
@media(max-width:680px){main{padding-inline:.65rem}.cupCards{grid-template-columns:1fr}.cupCard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)}.cupCard>img{height:100%;aspect-ratio:auto;object-fit:cover}.poster img{aspect-ratio:16/9}.posterCaption{display:block}.posterCaption strong{display:block;margin-top:.5rem}.masthead button{font-size:.85rem;padding-inline:.5rem}.matchHeader{gap:.45rem}.matchHeader #score{font-size:1.4rem}.matchHeader #pause{padding-inline:.5rem}.sliderGrid{grid-template-columns:1fr}.settingsGrid{grid-template-columns:1fr}.brand{font-size:1.1rem}}
@media(max-height:500px) and (min-width:600px){#runView{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 .8rem;max-width:1080px}.matchHeader,.matchMeta{grid-column:1/-1}#stage{grid-column:1;grid-row:3/10;width:100%;max-height:none;align-self:start}#runView>.phase,#shotControls,#keeperControls,.turnActions,#controlHint{grid-column:2;width:100%}.fieldNotes{grid-column:1/-1}#stage canvas,#stage svg{width:100%;height:auto}.sliderGrid{grid-template-columns:1fr}.masthead{padding:.3rem 0}}
@media(max-width:480px){.matchHeader{display:grid;grid-template-columns:1fr auto;gap:.5rem}.matchHeader>div{grid-column:1/-1}.matchHeader #pause{min-width:6rem;overflow-wrap:normal}.aimRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.aimRow button{overflow-wrap:normal;word-break:normal;padding-inline:.5rem}.diveGrid button{font-size:max(12px,.85rem);overflow-wrap:normal;flex-wrap:wrap}.matchHeader #score{white-space:nowrap}.cupCard{grid-template-columns:1fr}.cupCard>img{height:auto;aspect-ratio:16/7}.clubChoice{align-items:start;flex-direction:column}.clubChoice select{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.masthead nav{max-width:100%;flex-wrap:wrap}.masthead nav button{flex:0 0 auto;overflow-wrap:normal;hyphens:auto}button,summary{hyphens:auto}
