:root{color:#202320;font-synthesis:none;--accent:#e75630;--ink:#202320;--muted:#737873;--line:#dedfdd;--ease:cubic-bezier(.22,1,.36,1);background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:active,.button:active{transform:scale(.97)}button{transition:background .2s,color .2s,transform .2s var(--ease)}.wrap{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}.header{justify-content:space-between;align-items:center;gap:24px;height:100px;display:flex}.brand{letter-spacing:3px;white-space:nowrap;align-items:center;gap:16px;font-size:24px;font-weight:650;display:flex}.brand small{letter-spacing:2px;margin-top:4px;font-size:9px;font-weight:500;display:block}.brand-mark{grid-template-columns:11px 11px;gap:5px;display:grid}.brand-mark i{background:var(--accent);border-radius:50%;width:11px;height:11px}.header nav{gap:45px;font-size:15px;display:flex}.header nav a{padding:15px 0;position:relative}.header nav a:after{content:"";transform-origin:0;height:1px;transition:transform .3s var(--ease);background:currentColor;position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.header nav a:hover:after{transform:scaleX(1)}.search-trigger{background:0 0;border:0;align-items:center;gap:20px;padding:12px 0 12px 12px;display:flex}.search-trigger svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:23px}kbd{color:#656a70;background:#f5f6f7;border:1px solid #dedfe2;border-radius:5px;padding:6px 10px;font:12px inherit}.hero{grid-template-columns:37% 63%;align-items:center;min-height:570px;padding-block:18px 42px;display:grid;position:relative}.hero-copy{z-index:1;pointer-events:none;align-self:center;padding-bottom:65px}.hero-copy a{pointer-events:auto}h1{letter-spacing:-3px;white-space:nowrap;margin:0 0 28px;font-size:clamp(40px,4.85vw,74px);font-weight:720;line-height:1.28}h1 span{color:var(--accent)}.hero-copy p{color:#656b70;white-space:nowrap;margin:0 0 34px;font-size:clamp(15px,1.45vw,21px);line-height:1.85}.button{min-height:52px;transition:background .25s,transform .25s var(--ease),box-shadow .25s;border:0;border-radius:30px;justify-content:center;align-items:center;gap:22px;padding:15px 26px;font-size:15px;font-weight:600;display:inline-flex}.dark{background:var(--ink);color:#fff}.dark:hover{background:#3b403b;box-shadow:0 8px 24px #20232014}.arrow{transition:transform .3s var(--ease);font-size:21px;display:inline-block}.button:hover .arrow{transform:translate(3px,-3px)}.exhibit{min-width:0;position:relative}.pendulum{cursor:grab;height:430px;margin-left:-20px;margin-right:-20px;position:relative}.pendulum:active{cursor:grabbing}.pendulum canvas{max-width:100%;display:block;touch-action:pan-y!important}.scene-loading{color:#858a84;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex;position:absolute;inset:0}.scene-loading span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s infinite alternate pulse}@keyframes pulse{to{opacity:.2;transform:scale(.6)}}.exhibit-controls{justify-content:center;align-items:center;gap:17px;min-height:56px;display:flex}.round{border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:19px;display:inline-flex}.exhibit-controls strong{white-space:nowrap;font-size:14px;font-weight:500}.speed{color:#737873;border-left:1px solid var(--line);align-items:center;gap:16px;padding-left:22px;font-size:12px;display:flex}.speed input{width:clamp(80px,11vw,160px);height:28px;accent-color:var(--accent);cursor:ew-resize}.speed output{font-variant-numeric:tabular-nums;color:#414842;min-width:34px;font-size:13px}.text-button{text-underline-offset:5px;background:0 0;border:0;padding:10px;font-size:13px}.text-button:hover{text-decoration:underline}.exhibit-caption{color:#858a84;justify-content:center;align-items:center;gap:24px;padding-top:8px;font-size:12px;display:flex}.exhibit-caption button{font:inherit;color:#626a62;background:0 0;border:0;padding:8px}.exhibit-caption button span{transition:transform .3s;display:inline-block}.exhibit-caption button[aria-expanded=true] span{transform:rotate(45deg)}#explanation{color:#606860;background:#f6f6f3;border-radius:10px;margin:8px 30px 0;padding:16px 22px;font-size:13px;line-height:1.7}#explanation p{margin:0}#explanation p+p{margin-top:8px}.topics{border-top:1px solid var(--line);padding-top:28px;scroll-margin-top:35px}.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}h2{letter-spacing:-1px;margin:0;font-size:31px;line-height:1.4}.section-heading>span{color:#848984;white-space:nowrap;font-size:13px}.section-heading b{font-variant-numeric:tabular-nums;font-weight:450}.filters{border-bottom:1px solid var(--line);gap:32px;margin-top:20px;display:flex;position:relative}.filters button{color:#7b807b;white-space:nowrap;background:0 0;border:0;padding:15px 0 18px;font-size:14px}.filters button.active{color:var(--accent)}.filter-line{background:var(--accent);pointer-events:none;width:28px;height:2px;transition:width .35s var(--ease),transform .35s var(--ease);position:absolute;bottom:-1px;left:0}.course{grid-template-columns:46% 1fr;align-items:center;gap:5%;min-height:300px;padding-block:16px 22px;display:grid}.course-image{display:block;position:relative;overflow:hidden}.course-image img{object-fit:contain;width:100%;height:300px;transition:transform .7s var(--ease);display:block}.course-image:hover img{transform:scale(1.045)}.course-meta{color:#7a807b;margin:0 0 17px;font-size:13px}.course h3{letter-spacing:-1px;margin:0 0 18px;font-size:clamp(25px,2.5vw,39px);line-height:1.35}.course-description{color:#69706a;max-width:520px;margin:0 0 24px;font-size:16px;line-height:1.9}.course-actions{align-items:center;gap:22px;display:flex}.course-actions .button{border-radius:9px;min-height:48px;padding-inline:24px;font-size:14px}.curriculum-toggle{background:0 0;border:0;border-bottom:1px solid;padding:12px 0;font-size:14px}.curriculum-toggle span{margin-left:8px;transition:transform .3s;display:inline-block}.curriculum-toggle[aria-expanded=true] span{transform:rotate(180deg)}.curriculum{overflow:hidden}.chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 32px;padding:20px 0 34px;display:grid}.chapter-grid h4{margin:0 0 16px;font-size:16px}.chapter-grid ol{margin:0;padding:0;list-style:none}.chapter-grid li{color:#646b65;align-items:baseline;gap:12px;padding:9px 0;font-size:13px;line-height:1.5;display:flex}.chapter-grid li span{color:#a2a6a0;font-variant-numeric:tabular-nums}.chapter-grid small{color:#989d98;margin-top:4px;font-size:12px;display:block}.coming{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;padding-block:34px 46px;display:flex}.coming h3{margin:0;font-size:24px;font-weight:550}.coming p{color:#7d837c;margin:0;font-size:14px;line-height:1.8}.about{background:#f6f6f3;padding-block:64px}.about-grid{grid-template-columns:42% 1fr;align-items:center;gap:6%;display:grid}.about h2{font-size:clamp(27px,2.9vw,43px);font-weight:600;line-height:1.65}.principles>div{border-bottom:1px solid #dedfda;grid-template-columns:25px 1fr;column-gap:18px;padding:19px 0;display:grid}.principles>div:last-child{border:0}.principles span{color:var(--accent);grid-row:span 2;font-size:16px}.principles h3{margin:0;font-size:16px;font-weight:600}.principles p{color:#818780;margin:7px 0 0;font-size:13px;line-height:1.7}.footer{color:#7c817c;justify-content:space-between;align-items:center;gap:35px;padding-block:30px;font-size:13px;display:flex}.footer-brand{color:#313631;letter-spacing:1px;font-size:15px}.footer>span{margin-left:auto}.footer>a:last-child{text-align:center;min-width:36px;font-size:22px}.empty{text-align:center;padding:65px 20px}.empty h3{font-size:22px;font-weight:500}.empty p{color:var(--muted);font-size:15px;line-height:1.8}.empty button{margin-top:15px}dialog{border:1px solid #dedfda;border-radius:18px;width:min(640px,100% - 32px);max-height:85dvh;padding:28px;overflow:auto;box-shadow:0 32px 120px #10181026}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#20232050}.search-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.search-head h2{letter-spacing:0;font-size:23px}.search-head kbd{margin-left:5px;font-size:10px}.search-head button{white-space:nowrap}#search-input{background:#f5f6f3;border:1px solid #ddd;border-radius:9px;width:100%;padding:16px 14px;font-size:16px}#search-results{margin-top:20px}.search-result{border-bottom:1px solid var(--line);border-radius:6px;padding:18px 12px;transition:background .2s;display:block}.search-result:hover{background:#f4f5f2}.search-result strong{font-size:17px;display:block}.search-result span{color:#7b817a;margin-top:7px;font-size:13px;line-height:1.7;display:block}.search-foot{color:#979c96;margin:24px 0 0;font-size:12px}.search-empty{color:#727871;padding:20px 10px;font-size:15px;line-height:1.8}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:20;background:#fff;padding:16px;position:fixed;top:-70px;left:20px}.skip:focus{top:10px}.scene-error{text-align:center;color:#747a73;place-items:center;height:100%;padding:40px;line-height:1.8;display:grid}.scene-error strong{color:var(--ink);font-size:24px}[hidden]{display:none!important}@media (width>=1500px){.hero{min-height:560px;padding-bottom:24px}.pendulum{height:420px}.course-image img{height:330px}}@media (width<=1050px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:40% 60%;min-height:500px}.pendulum{height:360px}.exhibit-controls{gap:10px}.speed{gap:8px;padding-left:12px}.speed input{width:85px}.hero-copy{padding-bottom:65px}.hero-copy p{white-space:normal;font-size:15px}h1{font-size:44px}.exhibit-caption{gap:8px}.course-actions{gap:15px}.course-description{font-size:14px}.about-grid{grid-template-columns:40% 1fr}.about h2{font-size:28px}}@media (width<=760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header{gap:12px;height:82px}.brand{letter-spacing:2px;gap:10px;font-size:18px}.brand small{letter-spacing:1.5px;font-size:7px}.brand-mark{grid-template-columns:8px 8px;gap:4px}.brand-mark i{width:8px;height:8px}.header nav{gap:18px;font-size:13px}.header nav a:last-child{display:none}.search-trigger{padding:8px}.search-trigger kbd{display:none}.hero{flex-direction:column;align-items:stretch;min-height:0;padding:25px 0 32px;display:flex}.hero-copy{padding-bottom:0}h1{letter-spacing:-2px;margin-bottom:18px;font-size:clamp(40px,9vw,60px);line-height:1.28}.hero-copy p{margin-bottom:22px;font-size:15px;line-height:1.8}.hero-copy .button{min-height:45px;padding:10px 22px;font-size:14px}.pendulum{height:290px;margin:8px -10px 0}.exhibit-controls{justify-content:space-between;gap:8px}.exhibit-controls strong{font-size:12px}.round{width:36px;height:36px;font-size:16px}.speed{border:0;gap:6px;padding:0;font-size:11px}.speed input{width:78px}.speed output{min-width:28px;font-size:11px}.text-button{padding:9px 4px;font-size:12px}.exhibit-caption{justify-content:space-between;padding-top:6px;font-size:11px}#explanation{margin-inline:0}.section-heading h2{font-size:24px}.section-heading>span{font-size:11px}.topics{padding-top:24px}.filters{gap:24px;margin-top:14px;overflow:auto}.filters button{padding-bottom:15px;font-size:12px}.course{grid-template-columns:1fr;gap:0;padding-top:5px;padding-bottom:30px}.course-image img{aspect-ratio:1.55;object-fit:contain;height:auto}.course-meta{margin-bottom:12px;font-size:12px}.course h3{margin-bottom:12px;font-size:29px}.course-description{margin-bottom:18px;font-size:14px}.course-actions .button{min-height:45px;font-size:13px}.curriculum-toggle{font-size:13px}.chapter-grid{grid-template-columns:1fr}.coming{padding:28px 0 34px;display:block}.coming h3{margin-bottom:12px;font-size:23px}.coming p{font-size:13px}.about{padding-block:35px}.about-grid{grid-template-columns:1fr;gap:16px}.about h2{font-size:28px;line-height:1.5}.principles>div{padding:18px 0}.footer{gap:20px;padding-block:24px}dialog{padding:20px}.search-head h2{font-size:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.navigation-wipe{z-index:100;pointer-events:none;background:#f6f6f3;place-items:center;display:grid;position:fixed;inset:0;transform:translateY(100%)}.navigation-wipe .brand-mark{transform:scale(1.5)}@media (width<=760px){.hero-copy{align-self:stretch}.pendulum{height:260px}.exhibit-controls button{min-width:40px;min-height:44px}.speed input,.exhibit-caption button{min-height:44px}}
