@font-face{font-family:Football Display;src:local(Franklin Gothic Heavy),local(DejaVu Sans Bold);font-display:swap;font-weight:400}@font-face{font-family:Football Text;src:local(Trebuchet MS),local(DejaVu Sans);font-display:swap;font-weight:400}.football-shell{--paper:#f4f1e7;--ink:#182b22;--quiet:#526057;--line:#bdc5b7;--accent:#17633e;--bg:var(--paper);--fg:var(--ink);--muted:var(--quiet);--ink-fg:var(--paper);background:var(--paper);color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh;padding:0 clamp(20px,5vw,80px);font-family:Football Text,PingFang SC,Microsoft YaHei,sans-serif;font-size:1rem;line-height:1.6}.football-shell *{box-sizing:border-box}.football-shell a{color:inherit;text-decoration:none}.football-shell a:hover{text-underline-offset:5px;text-decoration:underline}.football-shell button,.football-shell input,.football-shell textarea{font:inherit}.football-shell button{cursor:pointer}.football-shell button:disabled{cursor:default;opacity:.55}.football-shell :focus-visible{outline:3px solid var(--accent);outline-offset:5px}.football-shell h1,.football-shell h2,.football-shell h3,.football-shell p{margin:0}.football-header,.football-footer,.football-home,.football-legal{max-width:1280px;margin-inline:auto}.football-header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;min-height:108px;display:flex}.football-brand{letter-spacing:-.06em;align-items:center;gap:10px;font-family:Football Display,sans-serif;font-size:1.4rem;display:flex}.football-logo{background:var(--ink);width:35px;height:35px;color:var(--paper);letter-spacing:0;border-radius:50%;place-items:center;font-size:1rem;display:grid;position:relative}.football-logo i{background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px;right:4px}.football-brand-dot{letter-spacing:0;align-self:flex-start;font-family:Football Text,sans-serif;font-size:1.1rem}.football-header nav{align-items:center;gap:20px;font-size:.85rem;display:flex}.football-header nav a[aria-current]{text-underline-offset:6px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:2px}.football-skip{background:var(--ink);z-index:10;padding:10px;position:absolute;top:8px;left:20px;transform:translateY(-180%);color:var(--paper)!important}.football-skip:focus{transform:translateY(0)}.football-topline{letter-spacing:.12em;justify-content:space-between;gap:16px;padding:22px 0;font-size:.75rem;display:flex}.football-topline span{font-weight:700}.football-topline>a{white-space:nowrap;flex-shrink:0}.football-hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:32px clamp(32px,6vw,80px);padding:24px 0 40px;display:grid}.football-intro{min-width:0;position:relative}.football-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700}.football-intro h1{letter-spacing:-.065em;overflow-wrap:break-word;font-family:Football Display,PingFang SC,sans-serif;font-size:clamp(3rem,5.6vw,5.2rem);line-height:1.04}.football-intro .football-h1-brand{letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-family:Football Text,PingFang SC,sans-serif;font-size:.7rem;font-weight:700;line-height:1.6;display:block}.football-intro h1 em{color:var(--accent);font-style:normal}:lang(zh) .football-intro h1{letter-spacing:-.05em;font-size:clamp(2.6rem,4.8vw,4.6rem);font-weight:900;line-height:1.18}.football-lead{max-width:39ch;color:var(--quiet);font-size:1.15rem;line-height:1.65;margin-top:20px!important}.football-game{min-width:0;padding-top:6px;scroll-margin-top:24px}.football-pitch{aspect-ratio:1;pointer-events:none;max-width:360px;margin:0 auto 24px;position:relative}.football-pitch-lines{outline:10px solid var(--accent);background:repeating-linear-gradient(#216b45 75% 87.5%,#195e3c 87.5% 100%);border:2px solid #f4f1e7;position:absolute;inset:4% 11% 22%;transform:rotate(-6deg)}.football-pitch-lines:before{content:"";border-top:1px solid #f4f1e7;width:100%;position:absolute;top:50%}.football-pitch-lines:after{content:"";aspect-ratio:1;border:1px solid #f4f1e7;border-radius:50%;width:30%;position:absolute;top:50%;left:35%;transform:translateY(-50%)}.football-ball{z-index:1;font-size:3.5rem;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.football-scoreboard{background:var(--ink);color:#dbe896;border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-family:monospace;display:flex;position:absolute;bottom:3%;left:18%;right:8%}.football-scoreboard span{letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}.football-scoreboard b{font-size:2rem;line-height:1}.football-session-label{letter-spacing:.07em;border-top:1px solid var(--ink);justify-content:space-between;gap:16px;padding:15px 0;font-size:.75rem;display:flex}.football-button{background:var(--accent);width:100%;min-height:58px;color:var(--paper);border:1px solid var(--accent);border-radius:0;justify-content:space-between;align-items:center;gap:24px;padding:14px 22px;font-size:1rem;font-weight:700;transition:background .15s,transform .15s;display:flex}.football-home a.football-button{color:var(--paper)}.football-button:hover:enabled{background:var(--ink);border-color:var(--ink)}.football-button:active:enabled{transform:translateY(1px)}.football-text-button{text-underline-offset:5px;color:var(--quiet);background:0 0;border:0;padding:14px 0;font-size:.85rem;text-decoration:underline;display:block}.football-home .football-game[data-view=idle]{border:1px solid var(--ink);background:color-mix(in oklch,var(--accent) 5%,var(--paper));padding:24px;position:relative}.football-home .football-game>.football-pitch{width:116px;margin:0;position:absolute;top:20px;right:20px}.football-home .football-pitch .football-ball{font-size:1.5rem}.football-home .football-pitch .football-scoreboard{gap:4px;padding:3px 5px}.football-home .football-pitch .football-scoreboard span{font-size:.35rem}.football-home .football-pitch .football-scoreboard b{font-size:.8rem}.football-home .football-game[data-view=idle]>.football-session-label{letter-spacing:.05em;border:0;flex-direction:column;justify-content:center;gap:8px;min-height:116px;padding:12px 136px 20px 0}.football-home .football-game[data-view=idle]>p[role=status]{min-height:116px;color:var(--quiet);align-items:center;padding-right:136px;font-size:.85rem;display:flex}.football-home .football-game[data-view=idle]>.football-text-button{margin:4px auto -8px;padding-block:10px}.football-hero-practice{border-top:1px solid var(--ink);grid-column:1/-1;min-width:0;padding-top:24px}.football-hero-practice-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.football-hero-practice-heading h2{letter-spacing:.04em;font-size:1.1rem;font-weight:700}.football-hero-practice-heading>a{color:var(--accent);text-underline-offset:4px;font-size:.8rem;text-decoration:underline}.football-hero-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.football-hero-category{isolation:isolate;border:1px solid var(--line);min-height:144px;padding:16px 20px;transition:background .18s,border-color .18s;position:relative;overflow:hidden}.football-hero-category:before{content:"";z-index:-1;background:color-mix(in oklch,var(--accent) 12%,var(--paper));clip-path:polygon(100% 35%,100% 100%,45% 100%);position:absolute;inset:0}.football-hero-category:hover{background:color-mix(in oklch,var(--accent) 6%,var(--paper));border-color:var(--accent);text-decoration:none!important}.football-hero-category-top{color:var(--accent);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;font-size:.75rem;display:flex}.football-hero-category strong{overflow-wrap:break-word;max-width:70%;margin-top:14px;font-family:Football Display,PingFang SC,sans-serif;font-size:1.65rem;line-height:1.2;display:block}.football-hero-category>svg{width:60px;height:60px;color:var(--accent);pointer-events:none;position:absolute;bottom:14px;right:16px}.football-match-strip{border-block:1px solid var(--ink);letter-spacing:.12em;justify-content:space-between;gap:10px;padding:12px 0;font-size:.6rem;display:flex;overflow:hidden}.football-match-strip span{min-width:20px;padding-top:9px;position:relative}.football-match-strip span:before{content:"";background:var(--ink);width:1px;height:8px;position:absolute;top:-12px;left:0}.football-rules{grid-template-columns:.9fr 1fr;gap:80px;padding:80px 0;display:grid}.football-rules h2,.football-scoring h2,.football-faq h2{letter-spacing:-.04em;max-width:16ch;margin-top:20px;font-family:Football Display,PingFang SC,sans-serif;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15}.football-rules ol{gap:32px;margin:0;padding:0;list-style:none;display:grid}.football-rules li{gap:24px;display:flex}.football-rule-number{color:var(--accent);padding-top:3px;font-size:.8rem}.football-rules h3{font-size:1.1rem;font-weight:700}.football-rules li p{color:var(--quiet);max-width:54ch;margin-top:8px;font-size:.95rem}.football-scoring{background:var(--ink);color:var(--paper);grid-template-columns:1fr 1fr;gap:80px;padding:48px;display:grid}.football-scoring .football-kicker{color:#dbe896}.football-scoring p:not(.football-kicker){color:#d2dbcc;max-width:42ch;margin-top:24px;font-size:.9rem}.football-scoring ol{align-self:center;margin:0;padding:0;list-style:none}.football-scoring li{border-bottom:1px solid #53655a;grid-template-columns:24px 1fr auto;align-items:baseline;gap:12px;padding:12px 0;display:grid}.football-scoring li>span{color:#c1ccbc;font-size:.65rem}.football-scoring li>b{font-size:.85rem;font-weight:400}.football-scoring li strong{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:400}.football-scoring li small{color:#c1ccbc;font-size:.65rem}.football-scoring li:last-child{color:#dbe896}.football-faq{grid-template-columns:.9fr 1fr;gap:80px;padding:80px 0 44px;display:grid}.football-faq h2{margin-top:0}.football-faq details{border-top:1px solid var(--line);padding:20px 0}.football-faq summary{cursor:pointer;justify-content:space-between;gap:20px;font-weight:700;list-style:none;display:flex}.football-faq summary::-webkit-details-marker{display:none}.football-faq summary span{color:var(--accent);font-size:1.2rem}.football-faq details[open] summary span{transform:rotate(45deg)}.football-faq details p{color:var(--quiet);margin-top:16px;font-size:.95rem}.football-edition,.football-fine{color:var(--quiet);font-size:.75rem;line-height:1.6}.football-edition{max-width:80ch;padding-bottom:48px}.football-footer{border-top:1px solid var(--ink);color:var(--quiet);flex-wrap:wrap;align-items:baseline;gap:12px 24px;padding:32px 0;font-size:.75rem;display:flex}.football-footer-brand{letter-spacing:-.05em;font-family:Football Display,sans-serif;font-size:1rem;color:var(--ink)!important}.football-footer nav{gap:20px;margin-left:auto;display:flex}.football-footer nav button{color:inherit;background:0 0;border:0;padding:0}.football-footer nav button:hover{text-underline-offset:5px;text-decoration:underline}.football-warning{border:1px solid var(--line);background:oklch(89% .08 80);padding:14px;font-size:.85rem;margin-bottom:20px!important}.football-game h2{letter-spacing:-.03em;font-family:Football Display,PingFang SC,sans-serif;font-size:1.8rem;line-height:1.3}.football-progress{gap:6px;margin:8px 0 28px;padding:0;list-style:none;display:flex}.football-progress li{border-top:3px solid var(--line);color:var(--quiet);flex:1;padding-top:4px;font-size:.65rem}.football-progress li[data-done=true]{border-color:var(--ink)}.football-progress li[aria-current]{border-color:var(--accent);color:var(--accent)}.football-question{min-height:4lh;font-weight:700;font-family:Football Text,PingFang SC,sans-serif!important;font-size:1.5rem!important}.football-meter{opacity:.55;grid-template-columns:repeat(28,minmax(0,1fr));gap:3px;height:16px;margin-block:22px;display:grid}.football-meter i{background:var(--line);height:100%;transition:background .2s;display:block}.football-meter i.is-hit{background:var(--accent)}.football-clock{flex-wrap:wrap;align-items:baseline;gap:10px;font-size:.8rem;display:flex}.football-clock>b{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin-left:auto;font-size:2.5rem;line-height:1}.football-clock small{margin-left:3px;font-size:.9rem}.football-clock progress{appearance:none;background:var(--line);width:100%;height:3px;accent-color:var(--ink);border:0;border-radius:0;margin:8px 0 24px;display:block}.football-clock progress::-webkit-progress-bar{background:var(--line)}.football-clock progress::-webkit-progress-value{background:var(--ink)}.football-clock progress::-moz-progress-bar{background:var(--ink)}.football-clock[data-urgent=true]{color:var(--accent)}.football-clock[data-urgent=true] progress::-webkit-progress-value{background:var(--accent)}.football-round input{border:1px solid var(--ink);width:100%;color:var(--ink);background:0 0;border-radius:0;min-height:56px;margin-bottom:10px;padding:12px 16px;font-size:1rem}.football-round input::placeholder{color:var(--quiet)}.football-search{gap:6px;margin-top:14px;display:grid}.football-shell .football-search-link{border:1px solid var(--ink);overflow-wrap:anywhere;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-size:.85rem;line-height:1.4;display:flex}.football-search-link:hover{background:#e2e8d9}.football-round .football-search .football-fine{margin:0}.football-search-paused{color:var(--quiet);font-size:.85rem;margin-bottom:12px!important}.football-round input:disabled{opacity:.65}.football-mode{color:var(--quiet);font-size:.75rem;margin-bottom:12px!important}.football-choices{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.football-choices legend{margin-bottom:10px;font-size:.85rem}.football-choice{text-align:left;border:1px solid var(--ink);width:100%;min-height:56px;color:var(--ink);overflow-wrap:anywhere;background:0 0;border-radius:0;align-items:center;gap:14px;padding:12px 16px;line-height:1.35;display:flex}.football-choice>span{color:var(--quiet);flex-shrink:0;font-size:.75rem}.football-choice:hover{background:#e2e8d9}.football-round .football-fine{margin-top:14px}.football-feedback{min-height:1.6em;color:var(--accent);font-size:.8rem;margin-top:8px!important}.football-reading{border:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;min-height:180px;font-size:.8rem;display:flex}.football-reading strong{color:var(--accent);font-family:Football Display,sans-serif;font-size:3rem;line-height:1.4}.football-reveal h3{font-size:1.2rem;font-weight:700}.football-earned{color:var(--accent);letter-spacing:-.06em;font-family:Football Display,sans-serif;font-size:4rem;line-height:1.2}.football-reveal .football-button{margin-top:24px}.football-summary h2{margin-top:14px;font-size:2.2rem}.football-final-score{color:var(--accent);letter-spacing:-.06em;font-family:Football Display,sans-serif;font-size:5rem;line-height:1.2;margin-top:18px!important}.football-final-score small{color:var(--quiet);letter-spacing:0;font-family:Football Text,sans-serif;font-size:1.3rem}.football-tiles{flex-wrap:wrap;gap:6px;margin:20px 0;font-size:1.5rem;display:flex}.football-share-text{border:1px solid var(--line);width:100%;min-height:110px;color:var(--quiet);resize:vertical;background:0 0;border-radius:0;margin-top:12px;padding:12px;font-size:.75rem;display:block}.football-reset{color:var(--quiet);font-size:.8rem;margin:12px 0 36px!important}.football-reset b{font-variant-numeric:tabular-nums;color:var(--ink);margin-left:8px}.football-summary h3{margin-top:24px;font-size:1.2rem;font-weight:700}.football-answers{border-top:1px solid var(--line);padding:16px 0;font-size:.8rem}.football-answers summary{cursor:pointer;display:list-item}.football-answers summary span{padding-right:16px}.football-answers summary b{color:var(--accent);white-space:nowrap}.football-answers p{margin-top:12px}.football-answers ul{margin:12px 0;padding:0;list-style:none}.football-answers li{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:6px 0;display:flex}.football-answers a{color:var(--accent);text-decoration:underline}.football-stats dl{grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0;display:grid}.football-stats dt{color:var(--quiet);font-size:.8rem}.football-stats dd{margin:0;font-size:2rem}.football-history{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:.85rem;display:flex}.football-stats .football-fine{margin-top:24px}.football-legal{max-width:720px;padding:60px 0 100px}.football-legal>a{font-size:.85rem;text-decoration:underline}.football-legal .football-kicker{margin-top:40px}.football-legal h1{letter-spacing:-.05em;margin-top:20px;font-family:Football Display,PingFang SC,sans-serif;font-size:clamp(2.5rem,5vw,4rem);line-height:1.2}.football-legal section{margin-top:36px}.football-legal h2{margin-bottom:12px;font-size:1.3rem;font-weight:700}.football-legal section p{color:var(--quiet);max-width:65ch}.football-practice{max-width:1280px;margin-inline:auto;padding:32px 0 72px}.football-practice-nav{flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:.85rem;display:flex}.football-practice-head{gap:20px;max-width:840px;padding-block:48px;display:grid}.football-practice-head h1{letter-spacing:-.05em;overflow-wrap:anywhere;font-family:Football Display,PingFang SC,sans-serif;font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.1}.football-practice-head>p:last-child{max-width:68ch;color:var(--quiet)}.football-category-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.football-category{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px 28px;padding-block:28px;display:grid}.football-category-number{color:var(--accent);font-variant-numeric:tabular-nums;align-self:start;padding-top:8px;font-size:.75rem}.football-category h2{overflow-wrap:anywhere;font-family:Football Display,PingFang SC,sans-serif;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.3}.football-shell .football-practice-start{width:auto;color:var(--paper);min-width:190px;min-height:48px;padding:12px 20px;font-size:.9rem}.football-practice-records{grid-column:2/-1;min-width:0;max-width:760px;font-size:.85rem}.football-practice-records>summary{cursor:pointer;min-height:44px;color:var(--accent);padding-block:12px;font-weight:700}.football-practice-records dl{flex-wrap:wrap;gap:24px 48px;margin:12px 0 24px;display:flex}.football-practice-records dt{color:var(--quiet);font-size:.75rem}.football-practice-records dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.6rem}.football-practice-records h3{font-size:.9rem;font-weight:700}.football-practice-records ol{margin:8px 0 0;padding:0;list-style:none}.football-practice-records .football-history{flex-wrap:wrap;gap:20px}.football-practice-records .football-fine{padding-block:12px}.football-practice-game{max-width:760px;margin-inline:auto}.football-practice-game>.football-practice-records{border-top:1px solid var(--line);margin-top:40px}.football-category-warning{grid-column:2/-1}.football-practice-note{max-width:72ch;margin-top:32px!important}@media (width<=760px){.football-practice{padding-top:24px}.football-practice-head{gap:16px;padding-block:32px}.football-category{grid-template-columns:24px minmax(0,1fr);gap:8px 16px;padding-block:24px}.football-practice-start{grid-column:2}.football-shell .football-practice-start{width:100%;min-width:0}.football-practice-nav a{align-items:center;min-height:44px;display:flex}.football-practice-records dl{gap:20px 32px}}@media (width>=1450px){.football-hero{padding-block:40px 56px}}@media (width<=760px){.football-shell{padding-inline:22px}.football-header{min-height:76px}.football-brand{font-size:1.15rem}.football-header nav{gap:12px;font-size:.75rem}.football-header nav a{align-items:center;min-height:44px;display:inline-flex}.football-logo{width:29px;height:29px}.football-topline{letter-spacing:.07em;padding-block:12px;font-size:.6rem}.football-hero{grid-template-columns:minmax(0,1fr);gap:16px;padding:8px 0 28px}.football-intro h1{font-size:clamp(2.3rem,10vw,3.7rem)}.football-intro .football-h1-brand{margin-bottom:12px;font-size:.65rem}.football-lead{max-width:45ch;font-size:.95rem;line-height:1.7;margin-top:16px!important}.football-pitch{max-width:220px;margin-bottom:12px}.football-game{padding-top:0}.football-question{min-height:3lh}.football-rules,.football-faq{grid-template-columns:1fr;gap:28px;padding-block:44px}.football-rules h2,.football-scoring h2,.football-faq h2{max-width:24ch}.football-scoring{grid-template-columns:1fr;gap:28px;padding:26px 22px}.football-scoring p:not(.football-kicker){max-width:55ch}.football-faq{padding-bottom:20px}.football-footer{gap:8px 20px;padding:24px 0}.football-footer p{width:100%}.football-footer nav{flex-wrap:wrap;margin-left:0}.football-tiles{font-size:1.2rem}.football-legal{padding-top:36px}:lang(zh) .football-intro h1{font-size:clamp(2.2rem,10.5vw,3.5rem);line-height:1.18}.football-home .football-game[data-view=idle]{padding:16px}.football-home .football-game>.football-pitch{width:88px;top:12px;right:12px}.football-home .football-game[data-view=idle]>.football-session-label{min-height:80px;padding:4px 100px 12px 0;font-size:.7rem}.football-home .football-game[data-view=idle]>p[role=status]{min-height:80px;padding-right:100px}.football-home .football-game>.football-button{min-height:52px;padding:12px 16px}.football-home .football-game[data-view=idle]>.football-text-button{padding-block:8px;font-size:.75rem}.football-hero-practice{padding-top:20px}.football-hero-practice-heading{margin-bottom:12px}.football-hero-practice-heading h2{font-size:1rem}.football-hero-practice-heading>a{font-size:.75rem}.football-hero-categories{gap:8px}.football-hero-category{min-height:112px;padding:10px}.football-hero-category-top{font-size:.65rem}.football-hero-category strong{max-width:100%;margin-top:10px;font-size:1rem}.football-hero-category>svg{width:32px;height:32px;bottom:8px;right:8px}}@media (width<=380px){.football-header{gap:8px}.football-brand{gap:7px;font-size:1rem}.football-logo{width:26px;height:26px}.football-brand-dot{font-size:1rem}.football-header nav{white-space:nowrap;flex-shrink:0;gap:10px}.football-hero-practice-heading{gap:12px}.football-hero-practice-heading h2{letter-spacing:0;font-size:.8rem}.football-hero-practice-heading>a{white-space:nowrap;font-size:.7rem}.football-hero-category{padding-inline:8px}.football-hero-category strong{overflow-wrap:normal;font-size:.9rem}}@media (prefers-reduced-motion:no-preference){.football-pitch.is-spinning .football-ball{animation:2s ease-in-out infinite football-play}.football-meter i.is-hit{animation:.9s ease-out football-hit}@keyframes football-play{50%{transform:translate(-50%,-65%)rotate(12deg)}}@keyframes football-hit{50%{background:#dbe896}}}
