@font-face{font-family:Oswald;src:local("Oswald"),url(/fonts/Oswald-VariableFont_wght.woff2) format("woff2-variations");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:Source Sans\ 3;src:local("Source Sans 3"),local("Source Sans Pro"),url(/fonts/SourceSans3-VariableFont_wght.woff2) format("woff2-variations");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:Source Sans\ 3;src:local("Source Sans 3 Italic"),local("Source Sans Pro Italic"),url(/fonts/SourceSans3-Italic-VariableFont_wght.woff2) format("woff2-variations");font-weight:200 900;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono"),url(/fonts/JetBrainsMono-VariableFont_wght.woff2) format("woff2-variations");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:Oswald Fallback;src:local("Roboto Condensed"),local("Archivo Narrow"),local("Liberation Sans Narrow"),local("DejaVu Sans Condensed"),local("Arial Narrow");size-adjust:104%;ascent-override:105%;descent-override:26%;line-gap-override:0%}@font-face{font-family:Source Sans Fallback;src:local("Segoe UI"),local("Roboto"),local("Helvetica Neue"),local("Arial");size-adjust:97%;ascent-override:101%;descent-override:28%;line-gap-override:0%}:root{color-scheme:light;--black:#f8f7f2;--bg:#f1efe8;--surface:#fffefa;--surface-2:#f5f3ec;--surface-3:#ebe8de;--border-soft:#d3cec1;--border:#a9a294;--border-strong:#797367;--text:#18211b;--text-muted:#4c5850;--text-dim:#4c5850;--accent-strong:#246238;--accent:#2f7843;--accent-bright:#1f6737;--accent-soft:#e3efe5;--accent-wash:#e3efe5;--accent-ink:#ffffff;--accent-strong-ink:#ffffff;--focus-ring:var(--blue);--red:#b83440;--red-bright:#a72531;--amber:#805300;--blue:#234f99;--pink:#963063;--iris:#6346b0;--mint:#0d6b63;--pitch-out:#e7e4d9;--pitch:#f2f0e8;--pitch-line:#a9a294;--pitch-line-key:#797367;--pitch-grid:#d3cec1;--pitch-mow:transparent;--board-ink:#18211b;--board-ink-muted:#4c5850;--board-ink-dim:#4c5850;--board-plate:#fffefa;--team-subject:#1d2a22;--team-opponent:#a72531;--team-neutral:#4c5850;--family-pass:#0d6b63;--family-ball:#805300;--family-run:#234f99;--family-defend:#a72531;--shadow-pop:0 8px 24px rgb(24 33 27/0.16);--font-display:"Oswald","Oswald Fallback","Arial Narrow",system-ui,sans-serif;--font-sans:"Source Sans 3","Source Sans Fallback",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--t-keycap:10px;--t-12:12px;--t-13:13px;--t-15:15px;--t-18:18px;--t-22:22px;--t-28:28px;--t-40:40px;--lh-tight:1.25;--lh-snug:1.4;--lh-body:1.58;--h-control:32px;--h-input:32px;--h-row:32px;--h-row-sm:32px;--h-control-lg:40px;--rail-left:208px;--rail-right:300px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:20px;--s-1:2px;--s-2:4px;--s-3:6px;--s-4:8px;--s-5:12px;--s-6:16px;--s-7:24px;--s-8:32px;--edge:none;--edge-bright:none;--fast:110ms var(--ease);--lift:260ms var(--ease);--ease:cubic-bezier(0.22,1,0.36,1);--lift-y:0px;--press:scale(0.97);--z-toast:60;--z-skip:70;--scrim:rgb(0 0 0/0.55);--transparent:transparent;--paper:#ffffff;--paper-surface:#f2f2f2;--paper-ink:#111111;--paper-ink-muted:#333333;--paper-ink-dim:#4a4a4a;--paper-rule-soft:#d8d8d8;--paper-rule:#b4b4b4;--paper-rule-strong:#8a8a8a;--paper-accent:#1d5c30;--paper-accent-strong:#174826;--board-out:var(--pitch-out);--board-field:var(--pitch);--board-line:var(--pitch-line);--board-line-key:var(--pitch-line-key);--board-grid:var(--pitch-grid);--board-subject:var(--team-subject);--board-opponent:var(--team-opponent);--board-pass:var(--family-pass);--board-ball:var(--family-ball);--board-run:var(--family-run);--board-defend:var(--family-defend);--board-unit:var(--iris);--page:var(--bg);--surface-soft:var(--surface-2);--muted:var(--text-muted);--faint:var(--text-dim);--warn:var(--amber);--ok:var(--accent-bright);--line:var(--border);--on-accent:var(--accent-ink);--accent-hover:var(--accent-bright);--focus:var(--focus-ring);--a:var(--family-run);--b:var(--text-muted);--a-soft:var(--surface-2);--b-soft:var(--surface-2);--wrong:var(--red-bright);--wrong-soft:var(--surface-2);--notice:var(--surface-2);--danger:var(--red-bright);--warning:var(--amber);--danger-soft:var(--surface-2);--warning-soft:var(--surface-2);--pitch-alt:var(--pitch);--pitch-text:var(--board-ink-muted);--us:var(--team-subject);--us-ink:var(--pitch);--them:var(--team-opponent);--them-ink:var(--pitch);--gk-us:var(--amber);--gk-us-ink:var(--pitch);--gk-them:var(--family-run);--gk-them-ink:var(--pitch);--pass:var(--family-pass);--run:var(--family-run);--dribble:var(--family-ball);--ball:var(--board-ink);--ball-ink:var(--pitch);--zone:var(--surface-2);--zone-line:var(--border);--badge:var(--surface);--badge-ink:var(--text)}:root[data-theme=dark]{color-scheme:dark;--black:#070808;--bg:#0e0f10;--surface:#141516;--surface-2:#1a1b1d;--surface-3:#1e2022;--border-soft:#2a2c2f;--border:#3c4044;--border-strong:#6d747c;--text:#f2f2f4;--text-muted:#b0b5bc;--text-dim:#a0a7af;--accent-strong:#3a7d44;--accent:#4a9e56;--accent-bright:#6aca78;--accent-soft:#1c3120;--accent-wash:#1c3120;--accent-ink:#061109;--accent-strong-ink:#ffffff;--focus-ring:var(--blue);--red:#d94452;--red-bright:#ff8585;--amber:#e8b64e;--blue:#91b9ff;--pink:#ed8ebb;--iris:#b39aff;--mint:#58c6be;--pitch-out:#0b0e0d;--pitch:#121716;--pitch-line:#555e5b;--pitch-line-key:#6d7975;--pitch-grid:#323d39;--pitch-mow:transparent;--board-ink:#f2f2f4;--board-ink-muted:#b0b5bc;--board-ink-dim:#a0a7af;--board-plate:#141516;--team-subject:#e8eaed;--team-opponent:#ff8585;--team-neutral:#a0a7af;--family-pass:#58c6be;--family-ball:#fdbe11;--family-run:#91b9ff;--family-defend:#ff8585;--shadow-pop:0 8px 24px rgb(0 0 0/0.4)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--black:#070808;--bg:#0e0f10;--surface:#141516;--surface-2:#1a1b1d;--surface-3:#1e2022;--border-soft:#2a2c2f;--border:#3c4044;--border-strong:#6d747c;--text:#f2f2f4;--text-muted:#b0b5bc;--text-dim:#a0a7af;--accent-strong:#3a7d44;--accent:#4a9e56;--accent-bright:#6aca78;--accent-soft:#1c3120;--accent-wash:#1c3120;--accent-ink:#061109;--accent-strong-ink:#ffffff;--focus-ring:var(--blue);--red:#d94452;--red-bright:#ff8585;--amber:#e8b64e;--blue:#91b9ff;--pink:#ed8ebb;--iris:#b39aff;--mint:#58c6be;--pitch-out:#0b0e0d;--pitch:#121716;--pitch-line:#555e5b;--pitch-line-key:#6d7975;--pitch-grid:#323d39;--pitch-mow:transparent;--board-ink:#f2f2f4;--board-ink-muted:#b0b5bc;--board-ink-dim:#a0a7af;--board-plate:#141516;--team-subject:#e8eaed;--team-opponent:#ff8585;--team-neutral:#a0a7af;--family-pass:#58c6be;--family-ball:#fdbe11;--family-run:#91b9ff;--family-defend:#ff8585;--shadow-pop:0 8px 24px rgb(0 0 0/0.4)}}@media (any-pointer:coarse),(max-width:599px){:root{--h-control:44px;--h-input:44px;--h-row:44px;--h-row-sm:44px;--h-control-lg:44px}}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--t-15);line-height:var(--lh-body)}[hidden]{display:none!important}canvas,img,svg,video{max-width:100%}h1,h2,h3,h4,h5{margin:0 0 var(--s-5);font-family:var(--font-sans);font-weight:600;line-height:var(--lh-tight)}h1{font-family:var(--font-display);font-size:var(--t-28);text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere}h2{font-size:var(--t-18);text-transform:none}h3{font-size:var(--t-15)}h4,h5{font-size:var(--t-13)}p{margin:0 0 var(--s-5)}p:last-child{margin-bottom:0}a{color:var(--accent-bright);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}strong{font-weight:600}.mono,.num,code,kbd,pre,samp{font-family:var(--font-mono);font-size:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}pre{white-space:pre-wrap;overflow-wrap:anywhere}.eyebrow{margin-bottom:var(--s-3);color:var(--text-muted);font-size:var(--t-13);font-weight:600;line-height:var(--lh-snug)}.eyebrow--quiet{color:var(--text-dim)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);min-height:var(--h-control);padding:var(--s-2) var(--s-5);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-family:var(--font-sans);font-size:var(--t-13);font-weight:600;line-height:var(--lh-tight);white-space:nowrap;transition:background var(--fast),border-color var(--fast)}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn--primary{background:var(--accent);border-color:var(--accent-strong);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-bright);color:var(--accent-ink)}.btn--ghost,.btn--quiet{background:transparent;border-color:transparent;color:var(--text-muted)}.btn--ghost:hover,.btn--quiet:hover{background:var(--surface-2);color:var(--text);border-color:transparent}.btn--danger{color:var(--red-bright)}.btn--danger:hover{background:var(--surface-2);border-color:var(--red)}.btn--sm{font-size:var(--t-12);padding-inline:var(--s-4)}.btn--lg{min-height:var(--h-control-lg);font-size:var(--t-15);padding-inline:var(--s-6)}.btn--icon{min-width:var(--h-control);padding:var(--s-2)}.btn:disabled,.btn[aria-disabled=true],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;background:var(--surface-2);border-color:var(--border);color:var(--text-dim);opacity:1}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{width:100%;min-width:0;min-height:var(--h-input);padding:var(--s-2) var(--s-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--black);color:var(--text);font-family:var(--font-sans);font-size:var(--t-13);line-height:var(--lh-snug)}textarea{min-height:96px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-dim);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--focus-ring)}select{padding-right:var(--s-7);cursor:pointer}input[type=checkbox],input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;min-height:18px;flex:none;margin:0;padding:0;border:1px solid var(--border-strong);background:var(--black);border-radius:var(--r-xs);vertical-align:middle}input[type=radio]{border-radius:50%}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent);border-color:var(--accent-strong);border-width:5px}label:has(>input[type=checkbox]),label:has(>input[type=radio]){min-height:var(--h-control);display:flex;align-items:center;gap:var(--s-4)}input[type=file]{height:auto;overflow:hidden}input[type=file]::-webkit-file-upload-button{min-height:var(--h-control);margin:calc(-1 * var(--s-2)) var(--s-4) calc(-1 * var(--s-2)) calc(-1 * var(--s-4));padding:var(--s-2) var(--s-5);border:0;border-right:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}input[type=file]::file-selector-button{min-height:var(--h-control);margin:calc(-1 * var(--s-2)) var(--s-4) calc(-1 * var(--s-2)) calc(-1 * var(--s-4));padding:var(--s-2) var(--s-5);border:0;border-right:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}fieldset{min-width:0;margin:0 0 var(--s-6);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-6)}.field-label,label>span:first-child,legend{font-family:var(--font-sans);font-size:var(--t-13);font-weight:600;color:var(--text);text-transform:none;letter-spacing:normal;line-height:var(--lh-snug)}legend{padding-inline:var(--s-2)}.field{display:block;min-width:0;margin-bottom:var(--s-6)}.field>span:first-child{display:block;margin-bottom:var(--s-3)}.field--inline{display:flex;align-items:center;gap:var(--s-4)}.field--inline>span:first-child{margin:0;flex:none}.field-hint,.hint{font-size:var(--t-13);color:var(--text-muted)}.field-error,.overdue{color:var(--red-bright)}.deadline{font-size:var(--t-13);color:var(--text-muted)}.deadline.overdue{color:var(--red-bright)}.chip{display:inline-flex;align-items:center;gap:var(--s-3);min-height:var(--h-control);max-width:100%;padding:var(--s-2) var(--s-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:var(--t-13);line-height:var(--lh-tight)}.btn[aria-pressed=true],.chip--on,.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-strong);color:var(--text)}.status-pill,.tag{display:inline-flex;align-items:center;max-width:100%;padding:var(--s-2) var(--s-4);border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-family:var(--font-sans);font-size:var(--t-12);font-weight:600;line-height:var(--lh-tight);overflow-wrap:anywhere}.tag--ok{color:var(--accent-bright)}.tag--warn{color:var(--amber)}.tag--danger{color:var(--red-bright)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;min-height:18px;padding:var(--s-1) var(--s-2);border:solid var(--border);border-width:1px 1px 2px;border-radius:var(--r-xs);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:var(--t-keycap);line-height:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}.card--nested{background:var(--surface-2);border-color:var(--border-soft);border-radius:var(--r-md)}.popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.card--link,.row--link{color:inherit;text-decoration:none}.card--link:hover,.row--link:hover{background:var(--surface-2);text-decoration:none}.divider{height:1px;margin:var(--s-5) 0;border:0;background:var(--border-soft)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.focus-inset:focus-visible{outline-offset:-3px}::selection{background:var(--accent-strong);color:var(--accent-strong-ink)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.row{display:flex;align-items:center;gap:var(--s-4)}.spacer{flex:1 1}.truncate{text-overflow:ellipsis}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;-webkit-clip-path:inset(50%);clip-path:inset(50%)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{@page{margin:18mm 16mm}body,html{background:var(--paper)!important;color:var(--paper-ink)!important}[data-app-header],[data-bottom-tabs],[data-print=hide],button,nav{display:none!important}}[data-row-list]{container-type:inline-size;container-name:rows;min-width:0}.field-label{display:block;margin-bottom:var(--s-3)}.field-error,.field-hint{margin:var(--s-3) 0 0}.staff-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);min-width:0;padding:var(--s-2);margin-bottom:var(--s-6);border-bottom:1px solid var(--border)}.staff-tabs>a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--h-control);padding:0 var(--s-5);border-bottom:3px solid transparent;border-radius:var(--r-sm) var(--r-sm) 0 0;font-family:var(--font-sans);font-size:var(--t-13);font-weight:600;color:var(--text-muted);white-space:nowrap;text-decoration:none}.staff-tabs>a:hover{background:var(--surface-2);color:var(--text)}.staff-tabs>a[aria-current=page]{background:var(--accent-soft);color:var(--text);border-bottom-color:var(--accent-strong)}small{font-size:var(--t-12)}.staff-welcome{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.staff-welcome>h2{margin:0;padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--border-soft)}.staff-welcome>.staff-research-grid,.staff-welcome>.staff-tabs{padding:var(--s-6);margin:0}.staff-welcome>.staff-tabs{border-top:1px solid var(--border-soft);border-bottom:0}.staff-research-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:var(--s-6);gap:var(--s-6);min-width:0}.staff-research-grid>*{min-width:0}.stack{display:grid;grid-gap:var(--s-5);gap:var(--s-5)}.shell{min-width:0;min-height:100dvh}:root{--surface-field:var(--surface-2)}:root :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),textarea,select){background:var(--surface-field)}@media (max-width:599px),(pointer:coarse){:is([data-fixab-controls],[data-app-header],[data-bottom-tabs],footer) :is(a[href],button,input:not([type=hidden]),select,textarea,summary,[role=button]){min-width:44px;min-height:44px}:is([data-fixab-controls],[data-app-header],[data-bottom-tabs],footer) a[href]{display:inline-flex;align-items:center}[data-fixab-controls] :is(input[type=checkbox],input[type=radio]){flex-shrink:0}}@media (max-width:599px),(pointer:coarse){:root :is([data-fixag-controls],[data-account-menu]) :is(a[href],button,input:not([type=hidden]):not([hidden]),select,textarea,summary,[role=button]){min-width:44px;min-height:44px}:root :is([data-fixag-controls],[data-account-menu]) a[href]{display:inline-flex;align-items:center}:root [data-fixag-controls] :is(input[type=checkbox],input[type=radio]){width:44px;height:44px;flex-shrink:0}}:root{--anchor-clearance:96px;--t-touch-input:16px}:root body [id]{scroll-margin-top:var(--anchor-clearance)}@media (any-pointer:coarse),(max-width:599px){:root body :is(a[href],button,input:not([type=hidden]):not([hidden]),select,textarea,summary,[role=button]){min-width:44px;min-height:44px}:where(a[href]){display:inline-flex;align-items:center}:root body :is(input[type=checkbox],input[type=radio]){width:44px;height:44px;flex-shrink:0}:root body :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){font-size:var(--t-touch-input)}}