@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;600;700;800&family=Space+Mono:wght@400;700&display=swap');
:root{--paper:#f5f0e4;--ink:#1a2b3c;--red:#c41e3a;--green:#176b4d;--muted:#53616c;--line:#b9b7ab;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 'Roboto Slab',Georgia,serif;background-image:linear-gradient(#1a2b3c03 1px,transparent 1px),linear-gradient(90deg,#1a2b3c03 1px,transparent 1px);background-size:30px 30px}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:absolute;top:-90px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:10px}.entry-nav{max-width:1320px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;line-height:1.3}.brand img{width:32px;height:44px}.entry-nav nav{display:flex;align-items:center;gap:28px;font:12px 'Space Mono',monospace}.entry-nav nav a{text-decoration:none}.entry-nav nav a:hover{text-decoration:underline}.entry-main{max-width:1240px;margin:auto;padding:70px 40px 50px}.intro{max-width:900px}.intro h1{font-size:clamp(38px,5.4vw,72px);line-height:1.08;letter-spacing:-.045em;margin:0 0 28px;font-weight:800}.intro p{max-width:750px;font-size:19px;line-height:1.8}.sport-paths{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:44px 0 60px}.sport-path{display:flex;flex-direction:column;border:2px solid var(--ink);background:#fcfaf4;box-shadow:7px 7px 0 #1a2b3c16}.sport-path .drawing{padding:20px 20px 0;aspect-ratio:1.7;display:grid;place-items:center;overflow:hidden}.sport-path svg{width:100%;height:100%;max-height:280px}.sport-path .copy{padding:24px 28px 30px;border-top:1px solid var(--line);flex:1;display:flex;flex-direction:column}.sport-path h2{font-size:31px;margin:0 0 12px;line-height:1.2}.sport-path p{margin:0 0 24px;font-size:16px;line-height:1.8}.entry-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;background:var(--red);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:white;font:bold 13px/1.5 'Space Mono',monospace;text-decoration:none;align-self:flex-start;margin-top:auto}.entry-button:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.soccer .entry-button{background:var(--green)}.entry-notes{border-top:2px solid var(--ink);padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.entry-notes h2{font-size:22px;margin:0}.entry-notes p{font-size:15px;color:var(--muted)}footer{max-width:1240px;margin:0 auto;padding:30px 40px;border-top:1px solid var(--line);font:12px/1.8 'Space Mono',monospace;display:flex;justify-content:space-between;gap:20px}.sport-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;margin:0 0 65px}.sport-hero svg{width:100%}.sport-hero h1{font-size:clamp(36px,4.6vw,64px);line-height:1.12;margin:0 0 24px;letter-spacing:-.04em}.sport-hero p{font-size:17px}.sport-hero .entry-button{margin-top:18px}.training-examples{margin:40px 0}.training-examples h2{font-size:31px;line-height:1.25}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.example{border-top:3px solid var(--green);padding:16px 0}.example h3{font-size:20px;margin:0 0 10px}.example p{font-size:15px}.account-note{font:12px/1.8 'Space Mono',monospace;color:var(--muted);margin:24px 0}.roles{padding:30px;border:2px solid var(--ink);margin:40px 0;background:#fcfaf4}.roles h2{margin-top:0}.role-links{display:flex;flex-wrap:wrap;gap:16px}.role-links a{font:13px 'Space Mono',monospace;border:1px solid var(--ink);padding:12px 18px;text-decoration:none}.role-links a:hover{background:var(--ink);color:white}@media(max-width:760px){.entry-nav{padding:20px;flex-wrap:wrap;gap:20px}.entry-nav nav{gap:18px;font-size:11px}.entry-main{padding:40px 22px}.sport-paths,.sport-hero,.entry-notes{grid-template-columns:1fr}.sport-paths{gap:28px}.intro p{font-size:17px}.sport-hero{gap:24px}.sport-hero .hero-art{order:-1}.example-grid{grid-template-columns:1fr;gap:4px}.sport-path .copy{padding:22px}.entry-notes{gap:14px}footer{padding:24px 22px;flex-wrap:wrap}.roles{padding:22px}.sport-path .drawing{aspect-ratio:1.8}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
