:root{color-scheme:light dark;--bg:#f4f4f2;--ink:#20201e;--muted:#62625e;--card:#fff;--edge:#deded9;--button:#20201e;--button-text:#fff;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.75}a{color:inherit}header,main,footer{max-width:960px;margin:auto;padding-left:28px;padding-right:28px}header{padding-top:32px}.brand{text-decoration:none;font-size:23px;font-weight:600}.brand span{margin-left:8px;font-size:12px;letter-spacing:.16em}main{padding-top:64px;padding-bottom:64px}.eyebrow{color:var(--muted);margin:0 0 12px}h1{font-size:clamp(32px,5vw,48px);line-height:1.3;letter-spacing:-.03em;margin:0 0 16px}.intro{color:var(--muted);margin-bottom:40px}.course{display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--card);border-radius:28px;padding:32px;box-shadow:0 8px 32px #00000005}.course h2{font-size:28px;margin:12px 0}.course p{margin:8px 0}.status{display:inline-block;font-size:12px;border:1px solid var(--edge);border-radius:99px;padding:2px 10px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:12px 24px;background:var(--button);color:var(--button-text);border-radius:99px;text-decoration:none;font-weight:500;touch-action:manipulation;transition:transform 110ms}.primary:active{transform:scale(.97)}a:focus-visible{outline:2px solid currentColor;outline-offset:5px}.hint{color:var(--muted);font-size:14px}.course>.hint{grid-column:1/-1;margin-top:20px}.upcoming{padding-top:40px}.upcoming h2{font-size:18px}.upcoming ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.upcoming li{border-top:1px solid var(--edge);padding-top:16px;display:flex;flex-direction:column;gap:4px}.upcoming li span:last-child{color:var(--muted);font-size:14px}footer{padding-bottom:24px;display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:var(--muted)}footer a{text-decoration:none}
@media(hover:hover) and (pointer:fine){.primary:hover{transform:translateY(-1px)}footer a:hover{text-decoration:underline}}
@media(max-width:600px){header,main,footer{padding-left:20px;padding-right:20px}main{padding-top:40px}.course{grid-template-columns:1fr;padding:24px;border-radius:22px}.primary{margin-top:20px}.upcoming ul{grid-template-columns:1fr;gap:16px}.upcoming li{flex-direction:row;justify-content:space-between}.intro{margin-bottom:28px}}
@media(prefers-color-scheme:dark){:root{--bg:#171719;--ink:#ededeb;--muted:#aaa9a5;--card:#242426;--edge:#414144;--button:#ededeb;--button-text:#20201e}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
