:root { --paper:#f7f3eb; --ink:#1d1d1b; --muted:#6d6962; --blue:#315e9c; --pale-blue:#dcecf8; --line:#d8d2c7; --serif:"Songti SC","STSong","Noto Serif CJK SC",serif; --sans:"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
body.opening-locked { height:100svh; overflow:hidden; }
button,a { font:inherit; } a { color:inherit; }

.experience { position:relative; height:100svh; overflow:hidden; background:var(--paper); }
#portrait-motion { position:absolute; inset:0; width:100%; height:100%; border:0; background:var(--paper); pointer-events:none; }
.portrait-wash { position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(247,243,235,.08),transparent 44%,rgba(247,243,235,.27)); }

.loading { position:fixed; inset:0; z-index:50; display:grid; align-content:center; justify-items:center; gap:14px; background:var(--paper); transition:opacity .55s ease,visibility .55s ease; }
.loading.is-done { opacity:0; visibility:hidden; }
.loading-brand { margin:0; font-family:var(--serif); font-size:clamp(42px,6vw,88px); letter-spacing:-.08em; }
.loading-copy,.loading-number { margin:0; color:var(--muted); font-size:12px; letter-spacing:.08em; }
.loading-rule { width:min(260px,58vw); height:1px; overflow:hidden; background:var(--line); }
.loading-rule span { display:block; width:0; height:100%; background:var(--blue); transition:width .15s ease; }

.brand { display:flex; align-items:center; text-decoration:none; }
.brand img { height:32px; width:auto; display:block; }
.caption-index,.eyebrow { margin:0 0 13px; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.12em; }
.continue { position:absolute; z-index:3; right:34px; bottom:29px; border:0; background:transparent; color:var(--blue); cursor:pointer; font-size:12px; letter-spacing:.08em; transform:translateY(10px); opacity:0; pointer-events:none; transition:opacity .55s ease,transform .55s ease; }
.continue span { margin-left:7px; font-size:17px; }
.experience.ready .continue { opacity:1; transform:translateY(0); pointer-events:auto; }

.site-shell { position:relative; z-index:1; background:var(--paper); }
.site-nav { position:sticky; z-index:5; top:0; display:flex; align-items:center; justify-content:space-between; padding:23px clamp(24px,6vw,96px); border-bottom:1px solid var(--line); background:rgba(247,243,235,.94); backdrop-filter:blur(12px); }
.nav-links { display:flex; gap:clamp(14px,3vw,42px); color:var(--muted); font-size:12px; }.nav-links a { position:relative; padding-bottom:7px; text-decoration:none; transition:color .3s ease; }.nav-links a::after { content:''; position:absolute; right:0; bottom:0; left:0; height:1px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .45s ease; }.nav-links a:hover,.nav-links a.is-active { color:var(--ink); }.nav-links a.is-active::after { transform:scaleX(1); }

.editorial,.download { padding:clamp(100px,13vw,178px) clamp(24px,9vw,150px); }
.editorial h2,.download h2 { max-width:930px; margin:0; font-family:var(--serif); font-size:clamp(45px,5.1vw,76px); font-weight:700; line-height:1; letter-spacing:-.075em; text-wrap:balance; }
.editorial h2 em { color:var(--blue); font-style:normal; }
.intro { display:grid; min-height:86vh; align-content:center; background:var(--paper); }.intro h2 { font-size:clamp(62px,7.2vw,118px); line-height:.94; }.intro-title-line { display:block; transform-origin:left center; }
.intro-copy { max-width:690px; margin:72px 0 0 auto; border-top:1px solid var(--line); }.intro-copy p { margin:0; padding:22px 0; border-bottom:1px solid var(--line); font-size:clamp(21px,1.9vw,30px); line-height:1.45; }
.intro-copy .formula { display:flex; flex-wrap:wrap; align-items:center; gap:10px 15px; color:var(--muted); font-size:14px; letter-spacing:.02em; }.formula i { color:var(--blue); font-style:normal; font-size:20px; }.formula strong { color:var(--ink); font-weight:600; }
.mechanism { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:clamp(55px,11vw,170px); align-items:start; border-top:1px solid var(--line); background:var(--paper); }.section-head { display:grid; gap:15px; }.mechanism .section-head { position:sticky; top:90px; }.mechanism h2 { max-width:510px; font-size:clamp(43px,4.2vw,64px); }
.mechanism-line { display:grid; margin:0; padding:0; list-style:none; border-top:1px solid var(--ink); }.mechanism-line li { display:grid; grid-template-columns:54px minmax(130px,.7fr) minmax(190px,1.3fr); gap:18px; align-items:baseline; min-height:142px; padding:27px 0; border-bottom:1px solid var(--line); }.mechanism-line span,.proof figcaption span { color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.12em; }
.mechanism-line strong { font-family:var(--serif); font-size:clamp(24px,2.2vw,34px); letter-spacing:-.06em; }.mechanism-line p { max-width:300px; margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.proof { border-top:1px solid var(--line); background:var(--paper); color:var(--ink); }.proof h2 { max-width:570px; font-size:clamp(43px,4.2vw,64px); }.proof-grid { display:grid; grid-template-columns:minmax(0,1fr); margin-top:72px; }.proof figure { margin:0; }.proof-demo { grid-column:1/-1; max-width:1080px; margin:0 auto; text-align:center; }.proof-demo video { display:block; width:100%; height:auto; max-height:72vh; background:#fff; border:1px solid var(--line); box-shadow:9px 10px 0 rgba(29,29,27,.05); }
.proof figcaption { display:flex; gap:12px; align-items:baseline; padding:17px 0 0; font-family:var(--serif); font-size:clamp(18px,2vw,28px); letter-spacing:-.04em; }.proof figcaption span { flex:none; }.proof-boundary { display:flex; justify-content:flex-end; gap:20px; max-width:960px; margin:52px 0 0 auto; padding-top:17px; border-top:1px solid var(--line); color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.13em; }.proof-boundary span::before { content:'·'; margin-right:8px; }
.zhihu { display:grid; min-height:80vh; align-content:center; border-top:1px solid var(--line); background:var(--paper); }.zhihu h2 { max-width:650px; font-size:clamp(43px,4.2vw,64px); }.zhihu-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(36px,8vw,120px); align-items:end; margin-top:72px; }.zhihu-path { display:flex; margin:0; padding:0; list-style:none; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }.zhihu-path li { position:relative; flex:1; min-height:164px; padding:22px 25px 25px; border-right:1px solid var(--line); }.zhihu-path li:last-child { border:0; }.zhihu-path span { display:block; margin-bottom:37px; color:var(--blue); font-size:11px; font-weight:700; }.zhihu-path strong { display:block; font-family:var(--serif); font-size:clamp(22px,2vw,30px); letter-spacing:-.05em; }.zhihu-path p { margin:9px 0 0; color:var(--muted); font-size:12px; }.zhihu-path li:not(:last-child)::after { content:'→'; position:absolute; z-index:1; right:-9px; top:50%; color:var(--blue); font-size:18px; transform:translateY(-50%); }.zhihu-note { margin:0; padding-top:20px; border-top:1px solid var(--ink); color:var(--ink); font-size:16px; line-height:1.75; }
.download { display:grid; grid-template-columns:1fr 1fr; gap:clamp(46px,8vw,124px); align-items:center; border-top:1px solid var(--ink); background:var(--paper); color:var(--ink); }.download .eyebrow { color:var(--blue); }.download h2 { max-width:650px; font-size:clamp(52px,5.9vw,92px); line-height:.94; }.download-aside { display:grid; gap:28px; align-self:center; }.download-handoff { position:relative; display:flex; min-height:170px; align-items:center; gap:0; perspective:900px; }.download-paper { position:relative; z-index:2; display:grid; width:132px; height:100px; padding:18px; place-content:center; border:1px solid var(--line); background:#fffdf8; box-shadow:7px 8px 0 rgba(29,29,27,.05); color:var(--ink); font-family:var(--serif); font-size:19px; letter-spacing:-.05em; transform-origin:right center; }.download-paper::before,.download-paper::after { position:absolute; right:16px; left:16px; height:1px; background:var(--line); content:''; }.download-paper::before { top:27px; }.download-paper::after { bottom:26px; }.download-paper i { position:absolute; right:20px; bottom:18px; width:13px; height:13px; border:1px solid var(--blue); border-radius:50%; }.download-line { display:block; width:clamp(40px,6vw,92px); height:1px; background:var(--blue); transform:scaleX(0); transform-origin:left center; }.download-dot { position:absolute; z-index:3; left:130px; width:7px; height:7px; border-radius:50%; background:var(--blue); opacity:0; }.download-button { position:relative; z-index:2; display:inline-flex; align-items:center; gap:42px; padding:18px 19px 18px 23px; border:1px solid var(--blue); background:var(--blue); box-shadow:8px 9px 0 rgba(49,94,156,.16); color:#fff; font-size:15px; text-decoration:none; transform-origin:left center; transition:background .2s,box-shadow .2s,color .2s; }.download-button:hover { background:#234a80; box-shadow:10px 11px 0 rgba(49,94,156,.12); color:#fff; }.download-button span { color:#fff; font-size:22px; }.download-action { padding-bottom:10px; }.download-action p { max-width:390px; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
footer { display:flex; justify-content:space-between; gap:24px; padding:25px clamp(24px,6vw,96px); border-top:1px solid var(--line); background:var(--paper); color:var(--muted); font-size:12px; } footer p { margin:0; }

/* Goose Planet 同类的连续滚动层：只让合成层动，不改变文档流或接管滚轮。 */
body.motion-ready [data-motion] .eyebrow,
body.motion-ready [data-motion] h2,
body.motion-ready [data-motion] .intro-copy,
body.motion-ready [data-motion] .mechanism-line li,
body.motion-ready [data-motion] .proof-grid figure,
body.motion-ready [data-motion] .proof-boundary,
body.motion-ready [data-motion] .zhihu-path li,
body.motion-ready [data-motion] .zhihu-note,
body.motion-ready [data-motion] .download-action,
body.motion-ready [data-motion] .download-paper,
body.motion-ready [data-motion] .download-line,
body.motion-ready [data-motion] .download-dot,
body.motion-ready [data-motion] .download-button { will-change:transform,opacity; }
body.motion-ready .proof-demo video { will-change:transform; }

@media (max-width:760px) { .continue { right:22px; bottom:23px; }.editorial,.download { padding:88px 24px; }.site-nav { padding:18px 24px; }.nav-links { display:none; }.intro h2 { font-size:clamp(58px,15vw,82px); }.mechanism,.proof-grid,.download,.zhihu-layout { grid-template-columns:1fr; }.mechanism { gap:46px; }.mechanism .section-head { position:static; }.mechanism-line li { grid-template-columns:42px 1fr; gap:8px 15px; min-height:auto; padding:23px 0; }.mechanism-line p { grid-column:2; }.intro-copy { margin-top:48px; }.intro-copy .formula { font-size:13px; }.proof-grid { gap:28px; }.proof-boundary { justify-content:flex-start; gap:14px; margin-top:38px; font-size:10px; }.zhihu-layout { margin-top:52px; }.zhihu-path { display:grid; grid-template-columns:1fr; }.zhihu-path li { min-height:auto; padding:18px 0 20px; border-right:0; border-bottom:1px solid var(--line); }.zhihu-path li:last-child { border-bottom:0; }.zhihu-path span { margin-bottom:12px; }.zhihu-path li:not(:last-child)::after { top:auto; right:auto; bottom:-13px; left:0; transform:none; }.zhihu-note { margin-top:12px; }.download-handoff { min-height:142px; }.download-paper { width:111px; height:88px; padding:12px; font-size:16px; }.download-line { width:34px; }.download-dot { left:109px; }.download-button { gap:18px; padding:16px 14px 16px 17px; font-size:13px; } footer { display:grid; padding:23px 24px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
