:root{--ink:#13261b;--paper:#fff;--pitch:#1d6b35;--pitch-dark:#134a24;--turf:#eaf2ec;--line:#b9cdbf;--card-yellow:#f2c230;--card-red:#a3221b;--tap:3rem;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1.0625rem;line-height:1.5}input.code,.tournament .when{font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{background:var(--paper);margin:0}.masthead{background:var(--pitch-dark);padding:.75rem 1rem}.brand{color:var(--paper);letter-spacing:-.01em;font-size:1.125rem;font-weight:800;text-decoration:none}main{max-width:38rem;margin:0 auto;padding:1.25rem 1rem 3rem}h1{letter-spacing:-.015em;margin:.5rem 0 .75rem;font-size:1.75rem;line-height:1.2}h2{margin:0;font-size:1.25rem;line-height:1.25}a{color:var(--pitch-dark);text-underline-offset:.15em}:focus-visible{outline:.25rem solid var(--card-yellow);outline-offset:.125rem;box-shadow:0 0 0 .5rem var(--ink)}.panel{border:2px solid var(--line);border-radius:.5rem;margin:1rem 0;padding:1rem 1.25rem 1.25rem}.form{gap:1rem;margin:1rem 0;display:grid}label{gap:.375rem;font-weight:650;display:grid}input,select{font:inherit;min-height:var(--tap);border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:.375rem;width:100%;padding:.5rem .75rem;font-weight:400}input.code{letter-spacing:.3em;max-width:12ch;font-size:1.75rem}button{font:inherit;min-height:var(--tap);border:2px solid var(--pitch-dark);background:var(--pitch);color:var(--paper);cursor:pointer;border-radius:.375rem;justify-self:start;padding:.5rem 1.25rem;font-weight:700}button:hover{background:var(--pitch-dark)}button:disabled{opacity:.65;cursor:progress}button.link{min-height:var(--tap);color:var(--pitch-dark);text-underline-offset:.15em;font-weight:inherit;background:0 0;border:none;padding:0 .25rem;text-decoration:underline}.error{color:var(--card-red);border-left:.3rem solid var(--card-red);margin:.5rem 0;padding-left:.6rem;font-weight:650;display:block}.quiet{color:#3d5446;font-size:.9375rem}.steps{gap:1rem;padding-left:1.5rem;display:grid}.steps li>:not(.form){margin-top:.5rem;display:block}.qr{border:2px solid var(--line);background:var(--paper);width:12rem;height:12rem;padding:.5rem}.secret{word-break:break-all;background:var(--turf);padding:.1rem .3rem;font-size:1rem}.account{color:#3d5446;border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1rem;padding-bottom:.5rem;font-size:.9375rem;display:flex}.tournaments{gap:.75rem;margin:1rem 0;padding:0;list-style:none;display:grid}.tournament{border:2px solid var(--line);border-left:.6rem solid var(--pitch);border-radius:.375rem;padding:.75rem 1rem}.tournament.state-draft{border-left-color:var(--card-yellow)}.tournament.state-archived{border-left-color:var(--line)}.tournament p{margin:.25rem 0 0}.tournament .when{font-weight:650}.tournament .state{color:#3d5446;font-size:.9375rem}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.back{margin:.25rem 0 0}.back a{min-height:var(--tap);align-items:center;font-weight:650;display:inline-flex}.section-heading{margin-top:1.5rem}h3{margin:.5rem 0;font-size:1.0625rem}.menu{gap:.5rem;margin:.75rem 0;padding:0;list-style:none;display:grid}.menu a{min-height:var(--tap);border:2px solid var(--line);border-left:.6rem solid var(--pitch);color:var(--ink);border-radius:.375rem;gap:.125rem;padding:.75rem 1rem;text-decoration:none;display:grid}.menu a:hover{background:var(--turf)}.menu-title{text-underline-offset:.15em;font-weight:700;text-decoration:underline}.menu-note{color:#3d5446;font-size:.9375rem}fieldset{border:2px solid var(--line);border-radius:.5rem;gap:.75rem;min-width:0;margin:0;padding:.75rem 1rem 1rem;display:grid}fieldset.plain{border:none;gap:1rem;padding:0}legend{padding:0 .25rem;font-weight:700}label.choice{min-height:var(--tap);align-items:center;gap:.75rem;font-weight:400;display:flex}label.choice input{width:1.5rem;height:1.5rem;min-height:0;accent-color:var(--pitch);margin:0}.optional,.hint{color:#3d5446;font-weight:400}.hint{margin:0;font-size:.9375rem;display:block}.warning{border-left:.3rem solid var(--card-yellow);background:#fdf6dc;padding:.5rem .75rem}.warning ul,.error ul{margin:.25rem 0;padding-left:1.25rem}.error p{margin:0}.saved{color:var(--pitch-dark);margin:0;font-weight:700}.colour-row{align-items:center;gap:.75rem;display:flex}input[type=color]{cursor:pointer;width:4rem;padding:.25rem}.colour-preview{gap:.5rem;display:grid}.colour-preview>div{border-radius:.375rem;padding:.5rem .75rem;font-weight:700}.colour-preview>div:last-child{border:2px solid var(--line);font-weight:400}.day-sessions{gap:.5rem;display:grid}.sessions{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.sessions li{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:end;gap:.5rem .75rem;padding-bottom:.75rem;display:grid}.sessions li button{grid-column:1/-1}button.secondary{background:var(--paper);color:var(--pitch-dark)}button.secondary:hover{background:var(--turf)}.field{gap:.375rem;display:grid}.field label{display:block}.two-up{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.row-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}button.icon{min-width:var(--tap);padding:.5rem;font-size:1.25rem;line-height:1}button.danger{background:var(--card-red);border-color:#7a1913}button.danger:hover{background:#7a1913}.pitch-list{gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:grid}.pitch-list>li{border:2px solid var(--line);border-radius:.375rem;gap:.5rem;padding:.75rem 1rem;display:grid}.pitch-list>li>form{margin:0}.pitch-summary{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.pitch-name{font-size:1.125rem;font-weight:700}.confirm{border-left:.3rem solid var(--card-red);background:#fbeceb;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.confirm p{flex-basis:100%;margin:0;font-weight:700}.counts{margin:.5rem 0 0;padding-left:1.25rem}a.button{min-height:var(--tap);border:2px solid var(--pitch-dark);background:var(--pitch);color:var(--paper);border-radius:.375rem;align-items:center;padding:.5rem 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}a.button:hover{background:var(--pitch-dark)}.choices{gap:.25rem;display:grid}.menu a.class-row{border-left-width:.8rem}.tag{background:var(--turf);border:1px solid var(--pitch);border-radius:1rem;justify-self:start;padding:0 .6rem;font-size:.875rem;font-weight:700}.row-problem,.row-warning{font-size:.9375rem;font-weight:700}.row-problem{color:var(--card-red)}.row-warning{color:#6b5200}.swatches{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.25rem .75rem;display:grid}.swatch{min-height:var(--tap);align-items:center;gap:.5rem;font-weight:400;display:flex}.swatch input{width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--ink);margin:0}.swatch-colour{border-radius:.25rem;flex:none;width:1.75rem;height:1.75rem}.pitch-choices{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:0 .75rem;display:grid}.danger-zone{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.group-label{margin:.25rem 0 0;font-weight:650}textarea{font:inherit;border:2px solid var(--ink);border-radius:.375rem;width:100%;padding:.5rem .75rem;font-weight:400}input[type=file]{border-style:dashed;padding:.6rem .75rem}.class-teams{border-bottom:1px solid var(--line)}.class-teams summary{cursor:pointer;min-height:var(--tap);border-left:.5rem solid var(--line);padding:.75rem .5rem .75rem .75rem;font-weight:700;display:list-item}.class-teams>p{margin:.25rem 0 .75rem}.team-list{margin:0 0 .75rem;padding:0;list-style:none}.team-list>li{border-top:1px solid var(--turf);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;padding:.25rem 0;display:flex}.team-list>li>form{flex:100%}.grow{flex:14rem}.groups{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;display:grid}.group{border:2px solid var(--line);border-radius:.375rem;padding:.5rem .75rem}.group h3{margin:0 0 .25rem}.group ol{margin:0;padding:0;list-style:none}.group li{border-top:1px solid var(--turf);padding:.2rem 0}.letter{width:1.75rem;font-weight:800;display:inline-block}
