:root{--paper:#f3f2ef;--ink:#101010;--red:#ff2442;--muted:#65645f;--line:#d4d3cf;--lime:#c9ff83;--dark-line:#393939;--mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}.container{width:min(100% - 112px,1328px);margin-inline:auto}.micro,.eyebrow{font:400 11px/1.5 var(--mono);letter-spacing:.06em}.eyebrow{display:flex;align-items:center;gap:12px;margin:0;color:var(--muted)}.red-square{display:inline-block;flex:none;width:7px;height:7px;background:var(--red)}.accent{color:var(--red)}.lime{color:var(--lime)}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}
.site-header{background:var(--paper)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;font-size:24px;font-weight:700;white-space:nowrap}.brand-mark{width:23px;height:23px;background:var(--red);color:var(--ink);font:900 16px/23px var(--sans);text-align:center}.primary-nav{display:flex;align-items:center;gap:64px;margin-left:auto;font-size:13px}.primary-nav a:hover,.source-link:hover,.level-foot a:hover,.start a:hover,.practice-foot a:hover,.next-links>a:last-child:hover,.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none}
.hero{background:var(--paper);min-height:808px}.hero-grid{padding-top:56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,604px);gap:70px}.hero-copy h1{font-size:clamp(48px,4.45vw,64px);letter-spacing:-.04em;line-height:1.26;margin:42px 0 42px;font-weight:750}.hero-description{font-size:18px;color:var(--muted);line-height:1.83;margin:0}.hero-actions{display:flex;gap:16px;margin-top:46px}.button{min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:0 20px;font-size:14px;border:1px solid var(--ink);transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#333}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{background:#fff}.hero-actions .button:first-child{width:192px}.hero-actions .button:last-child{width:208px}.hero-actions .button span{font-size:19px}.hero-tagline{margin-top:22px;color:var(--muted)}
.overview-card{height:570px;background:var(--ink);color:#fff;padding:32px;box-shadow:16px 16px 0 var(--red);display:flex;flex-direction:column}.overview-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--dark-line);padding-bottom:18px;font:11px/1.4 var(--mono)}.overview-top span:last-child{color:var(--lime)}.overview-main{padding-top:28px}.overview-main h2{font-size:34px;margin:0 0 13px;line-height:1.4}.overview-name{font-size:25px!important;color:var(--lime)!important;font-weight:700!important;margin:0 0 26px!important}.overview-main p:last-child{color:#e2e2de;font-size:17px;line-height:1.9;margin:0}.overview-process{margin-top:auto;border-top:1px solid var(--dark-line);padding-top:25px}.overview-process>.micro{margin:0 0 25px}.process-grid{display:grid;grid-template-columns:1fr 36px 1.5fr;gap:17px 24px;align-items:center;font-size:25px;font-weight:700}.process-grid b{font-weight:400;color:var(--red)}.process-grid b:nth-of-type(2){display:none}.overview-bottom{border-top:1px solid var(--dark-line);margin-top:21px;padding-top:17px}.overview-bottom p{font-size:17px;color:var(--lime);margin:0 0 10px}.overview-bottom small{font-size:14px;color:#b7b7b1}.facts{border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr);margin-top:66px;padding:24px 0 50px}.facts>div{display:flex;align-items:center;gap:48px;min-height:32px;padding-left:30px;border-left:1px solid var(--line)}.facts>div:first-child{border:0;padding-left:0}.facts .micro{color:var(--muted);min-width:58px}.facts strong{font-size:15px;font-weight:400}
.section{padding:64px 0}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-top:65px}.section-intro h2,.faq h2{font-size:clamp(38px,3.6vw,52px);line-height:1.28;letter-spacing:-.04em;margin:0;font-weight:750}.section-intro-copy{padding-top:4px}.section-intro-copy .micro{color:var(--muted);margin:0 0 28px}.section-intro-copy h3{font-size:24px;margin:0 0 28px}.section-intro-copy>p:last-child{font-size:18px;color:var(--muted);line-height:1.75;margin:0}.about{min-height:656px;background:#fff}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);margin-top:104px;padding-top:31px}.three-columns article{min-height:200px;padding:0 28px;border-left:1px solid var(--line)}.three-columns article:first-child{border-left:0;padding-left:0}.three-columns .micro{color:var(--muted)}.three-columns h3{font-size:27px;margin:37px 0 30px}.three-columns p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.source-link{display:inline-block;margin-top:30px;font-size:11px;color:var(--muted)}
.levels{background:var(--paper);min-height:798px;padding-top:72px}.section-aside{justify-self:end;min-width:31%;font-size:18px;line-height:1.8;color:var(--muted);margin:0}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px}.level-grid article{min-height:322px;border-top:1px solid var(--ink);border-left:1px solid var(--line);padding:35px 24px}.level-grid article:first-child{border-top:4px solid var(--red);border-left:0}.level-grid .micro{color:var(--muted)}.level-grid h3{font:700 27px/1.3 var(--mono);margin:38px 0 12px}.level-cn{font-size:20px;font-weight:700;margin:0}.level-grid h4{font-size:17px;margin:60px 0 15px}.level-grid article>p:last-child{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.level-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:31px;font-size:14px}.level-foot p{color:var(--muted);margin:0}.level-foot a{font-weight:600;white-space:nowrap}
.practice{background:var(--ink);color:#fff;min-height:810px;padding-top:72px}.practice .eyebrow{color:#fff}.practice .section-aside{color:#b7b7b1}.practice-grid{display:grid;grid-template-columns:minmax(0,712px) minmax(0,560px);gap:56px;margin-top:80px}.lesson-visual{height:346px;background:var(--paper);color:var(--ink);padding:32px;position:relative;overflow:hidden}.lesson-visual>.micro{color:var(--muted);margin:0}.lesson-visual h3{font-size:26px;margin:22px 0}.fence-chart{position:absolute;left:32px;bottom:30px;width:calc(100% - 268px);height:175px}.fence-label{position:absolute;left:0;font:11px var(--mono);color:var(--muted)}.john-label{top:0}.bessie-label{top:76px}.fence-bar{position:absolute;height:18px}.john-bar{top:28px;left:50%;width:50%;background:var(--ink)}.bessie-bar{top:102px;left:0;width:66.67%;background:var(--red)}.fence-overlap{position:absolute;top:28px;left:50%;width:16.67%;height:92px;border:1px solid var(--ink)}.fence-axis{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font:12px var(--mono);color:var(--muted)}.fence-axis span{position:relative}.fence-axis span:before{content:"";position:absolute;top:-16px;left:50%;height:11px;border-left:1px solid var(--ink)}.coverage-result{position:absolute;right:32px;bottom:30px;width:171px;height:176px;background:#fff;padding:20px;display:flex;flex-direction:column}.coverage-result .micro{color:var(--muted)}.coverage-result strong{font:400 72px/1 var(--mono);margin:auto 0 4px}.coverage-result small{font:15px var(--mono)}.learning-steps{list-style:none;padding:0;margin:0}.learning-steps li{border-top:1px solid var(--dark-line);display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0}.learning-steps li>span{color:var(--lime);font:11px var(--mono)}.learning-steps h3{font-size:21px;margin:0 0 8px}.learning-steps p{color:#b7b7b1;font-size:14px;margin:0}.practice-foot{display:flex;justify-content:space-between;align-items:center;margin-top:35px;font-size:13px;color:#b7b7b1}.practice-foot p{margin:0}.practice-foot a{font-size:16px;font-weight:700;color:var(--lime)}
.start{background:#fff;min-height:640px;padding-top:72px}.start .section-intro{margin-top:64px}.start .section-intro h2{font-size:48px}.start-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:80px}.start-grid article{border-top:1px solid var(--ink);padding-top:32px}.start-grid .micro{color:var(--muted)}.start-grid h3{font-size:30px;margin:45px 0 30px}.start-grid p{font-size:16px;line-height:1.8;color:var(--muted)}.start-flow{color:var(--ink)!important;font-size:14px!important;margin:34px 0 48px}.start-grid a{font-weight:700;font-size:16px}
.faq{background:var(--paper);min-height:780px;padding-top:72px}.faq-grid{display:grid;grid-template-columns:37% 1fr;gap:28px}.faq h2{font-size:48px;margin-top:64px}.faq-list{padding-top:18px}.faq-list details{border-top:1px solid var(--ink);padding:28px 0 30px}.faq-list summary{list-style:none;cursor:pointer;font-size:20px;font-weight:700;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-size:25px;line-height:1;font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list details p{font-size:15px;color:var(--muted);line-height:1.8;margin:28px 0 0}.faq-source{text-align:right;font-size:11px;color:var(--muted);margin-top:35px}.faq-source a{text-decoration:underline}
.next-step{background:var(--red);min-height:378px;padding:72px 0}.next-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.next-inner .micro{margin:0 0 46px}.next-inner h2{font-size:48px;letter-spacing:-.04em;margin:0 0 28px}.next-inner p:last-child{font-size:17px;margin:0}.next-links{width:384px;display:flex;flex-direction:column;gap:24px}.next-links .button{width:100%}.next-links>a:last-child{font-size:14px}
.site-footer{background:var(--ink);color:#fff;min-height:282px;padding:34px 0 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--dark-line);padding-bottom:30px}.site-footer .brand{font-size:18px}.site-footer .brand-mark{width:18px;height:18px;font-size:13px;line-height:18px}.footer-top nav{display:flex;gap:24px;font-size:11px;color:#b7b7b1}.footer-note{font-size:11px;color:#b7b7b1;margin:25px 0 0}.icp{display:flex;flex-direction:column;align-items:center;gap:5px;margin:18px 0;color:#f7f8f3}.icp a:first-child{font-size:15px;font-weight:600}.icp a:last-child{font-size:11px;text-decoration:underline;text-underline-offset:3px}.footer-bottom{display:flex;justify-content:space-between;color:#b7b7b1;font:11px var(--mono);letter-spacing:.06em}
@media(max-width:1100px){.container{width:min(100% - 64px,1328px)}.primary-nav{margin-right:0}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,48%);gap:36px}.hero-copy h1{font-size:clamp(42px,5vw,64px)}.overview-card{padding:28px}.overview-name{font-size:21px!important}.overview-main p:last-child{font-size:15px}.process-grid{font-size:20px;gap:18px 12px}.facts>div{gap:16px;padding-left:16px}.practice-grid{gap:28px}.fence-chart{width:calc(100% - 235px)}.coverage-result{width:155px}.faq-grid{grid-template-columns:34% 1fr}}
@media(min-width:721px) and (max-width:900px){.hero-actions{flex-direction:column}.hero-actions .button:first-child,.hero-actions .button:last-child{width:100%}.hero-copy h1{font-size:42px}.overview-card{height:auto;min-height:570px}.overview-main p:last-child{line-height:1.7}}
@media(max-width:720px){.container{width:calc(100% - 48px)}.site-header{position:relative;z-index:5}.header-inner{min-height:80px}.brand{font-size:21px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:8px;width:32px;height:44px;padding:0;border:0;background:none;cursor:pointer}.menu-toggle span{display:block;width:26px;border-top:1.5px solid var(--ink)}.primary-nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);padding:18px 24px 28px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0001;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:14px 0;border-top:1px solid var(--line);font-size:16px}.hero{min-height:0}.hero .container{display:flex;flex-direction:column}.hero-grid{display:contents}.hero-copy{order:1;padding-top:42px}.hero-copy h1{font-size:40px;line-height:1.35;margin:36px 0 30px}.hero-description{font-size:16px;line-height:1.75;color:var(--ink)}.hero-actions{flex-direction:column;gap:14px;margin-top:44px}.hero-actions .button:first-child,.hero-actions .button:last-child{width:100%}.hero-tagline{display:none}.facts{order:2;display:block;border:0;margin-top:46px;padding:0 0 30px}.facts>div{border-left:0;border-top:1px solid var(--line);padding:20px 0;gap:0}.facts>div:last-child{border-bottom:1px solid var(--line)}.facts .micro{min-width:103px}.facts strong{font-size:15px}.overview-card{order:3;margin-inline:-24px;padding:46px 24px 40px;height:auto;min-height:544px;box-shadow:none}.overview-top{display:none}.overview-main{padding:0}.overview-main:before{content:"02 / USACO OVERVIEW";display:block;font:11px var(--mono);color:#fff;margin-bottom:42px}.overview-main h2{font-size:28px;margin:0 0 24px}.overview-name{font-size:23px!important;line-height:1.4;max-width:185px;margin-bottom:29px!important}.overview-main p:last-child{font-size:16px;line-height:1.8}.desktop-only{display:none}.overview-process{padding-top:26px;margin-top:34px}.overview-process>.micro{margin-bottom:20px}.process-grid{display:block;font-size:20px;line-height:1.8}.process-grid span:nth-of-type(2):after{content:"";display:block}.process-grid b{padding:0 10px}.process-grid b:nth-of-type(2){display:none}.overview-bottom{border:0;margin-top:20px;padding:0}.overview-bottom p{font-size:13px}.overview-bottom small{display:none}.section{padding:60px 0;min-height:0}.section-intro{display:block;margin-top:58px}.section-intro h2,.faq h2{font-size:36px;line-height:1.4}.section-intro-copy{padding:0;margin-top:44px}.section-intro-copy .micro{margin-bottom:28px}.section-intro-copy h3{font-size:23px;margin-bottom:27px}.section-intro-copy>p:last-child{font-size:16px;line-height:1.75}.three-columns{margin-top:42px;border-top:1px solid var(--line);padding:0;display:block}.three-columns article{border:0;border-bottom:1px solid var(--line);padding:26px 0;min-height:0}.three-columns h3{font-size:24px;margin:18px 0 14px}.three-columns p{font-size:15px}.source-link{margin-top:25px}.section-aside{margin-top:28px;font-size:16px}.level-grid{display:block;margin-top:46px}.level-grid article,.level-grid article:first-child{min-height:0;border-top:1px solid var(--line);border-left:0;padding:25px 0}.level-grid article:first-child{border-top:1px solid var(--ink)}.level-grid h3{display:inline-block;font-size:18px;margin:0 20px 0 38px}.level-cn{display:inline-block;font-size:15px}.level-grid h4{font-size:23px;margin:24px 0 12px}.level-grid article>p:last-child{font-size:15px}.level-foot{display:block;padding-top:20px;font-size:14px}.level-foot a{display:inline-block;margin-top:22px}.practice .section-intro{margin-top:54px}.practice-grid{display:block;margin-top:44px}.lesson-visual{height:390px;padding:24px}.lesson-visual h3{font-size:21px;line-height:1.5}.fence-chart{left:24px;bottom:22px;width:calc(100% - 48px);height:158px}.fence-label{font-size:10px}.john-label{top:0}.bessie-label{top:64px}.john-bar{top:21px}.bessie-bar{top:86px}.fence-overlap{top:21px;height:83px}.coverage-result{position:relative;right:auto;bottom:auto;width:100%;height:90px;margin-top:14px;padding:12px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.coverage-result strong{font-size:45px;margin:0}.coverage-result small{font-size:11px}.learning-steps{margin-top:30px}.learning-steps li{padding:20px 0}.practice-foot{display:block;margin-top:24px}.practice-foot a{display:inline-block;margin-top:24px}.start .section-intro{margin-top:56px}.start .section-intro h2{font-size:36px}.start-grid{display:block;margin-top:44px}.start-grid article{padding:24px 0 42px}.start-grid h3{font-size:25px;margin:26px 0 20px}.start-flow{margin:24px 0!important}.faq-grid{display:block}.faq h2{font-size:36px;margin-top:54px}.faq-list{padding-top:44px}.faq-list details{padding:22px 0}.faq-list summary{font-size:18px}.faq-list details p{font-size:14px;margin-top:20px}.faq-source{text-align:left;line-height:1.7}.next-step{padding:60px 0;min-height:0}.next-inner{display:block}.next-inner .micro{margin-bottom:35px}.next-inner h2{font-size:38px}.next-inner p:last-child{font-size:16px}.next-links{width:100%;margin-top:42px}.site-footer{padding:30px 0}.footer-top{display:block}.site-footer .brand{font-size:18px}.footer-top nav{flex-wrap:wrap;margin-top:28px;gap:12px 22px}.footer-note{line-height:1.7}.footer-bottom{gap:20px;flex-wrap:wrap;line-height:1.5}.icp{margin:26px 0}.overview-card .red-square{display:inline-block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
