
:root{--paper:#f7f5ef;--ink:#30332d;--muted:#74776b;--line:#d7d8cc;--accent:#875465;--soft:#eae9de;--serif:Georgia,"Songti SC","STSong","SimSun",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;padding-bottom:115px;background:var(--paper);color:var(--ink);font:16px/1.9 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}figure,p,h1,h2,h3{margin:0}p+p{margin-top:17px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.4}h2{font-size:36px}h3{font-size:35px}button{background:none;border:1px solid var(--line);border-radius:4px;padding:8px 14px;font-size:14px;min-height:44px}button:hover{background:var(--soft)}button,a,input{transition:background .15s,color .15s,border-color .15s}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.container{max-width:1100px;width:calc(100% - 80px);margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-90px;left:20px;background:var(--ink);color:white;padding:10px 20px;z-index:100}.skip-link:focus{top:10px}.eyebrow{color:var(--muted);font-size:13px;letter-spacing:.09em;line-height:1.6}.text-link{display:inline-block;border-bottom:1px solid var(--line);padding:3px 0;color:var(--accent);font-size:15px}.text-link:hover{border-color:var(--accent)}.small-note,figcaption{font-size:13px;color:var(--muted);line-height:1.8}figcaption{margin-top:10px}.site-header{display:flex;justify-content:space-between;align-items:center;min-height:103px;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:30px;display:flex;align-items:baseline;gap:20px}.brand span{font-family:inherit;font-size:13px;color:var(--muted)}.site-nav{display:flex;gap:30px;font-size:14px}.site-nav a{padding:10px 0}.hero{padding-top:66px;padding-bottom:90px}.hero h1{font-size:clamp(58px,7.5vw,98px);line-height:1.22;letter-spacing:-.05em;margin-top:26px;max-width:730px}.hero h1 em{font-style:normal;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-top:40px}.hero-lead{font-size:19px;line-height:1.9}.hero-link{margin-top:23px}.hero-photo{width:350px;flex-shrink:0;margin-top:-172px}.hero-photo img{aspect-ratio:1707/1280;object-fit:contain}.hero-photo figcaption{font-size:12px;text-align:right}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:24px}.section-heading p{color:var(--muted);font-size:14px}.records{padding:40px 0 74px;border-top:1px solid var(--line);scroll-margin-top:30px}.chapter-nav{display:flex;gap:38px;border-bottom:1px solid var(--line);margin-top:32px}.chapter-nav button{font-family:var(--serif);font-size:21px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:13px 4px;margin-bottom:-1px;min-width:60px}.chapter-nav button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.chapter-nav button:hover{background:none;color:var(--accent)}.chapter-stories{padding-top:44px}.chapter-panel{transform-origin:left center;min-height:420px}.chapter-panel p{max-width:43em}.chapter-panel h3{margin:15px 0 22px}.training-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:100px}.stage-photo{width:240px;justify-self:end}.stage-photo img{height:355px;width:100%;object-fit:contain;background:#deded8}.project-details{margin:30px 0 24px}summary{cursor:pointer;font-size:14px;min-height:44px;padding:11px 0;color:var(--muted)}details[open]>summary{color:var(--accent)}details p{font-size:14px;margin:12px 0}.project-details p{padding-left:16px}.creative-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}.creative-story video,.chapter-video{width:100%;aspect-ratio:16/9;background:#20231f}.creative-story video{object-fit:contain}.older-story{margin-top:60px;border-top:1px solid var(--line);padding-top:34px}.chapter-video{position:relative}.chapter-video-cover{border:0;border-radius:0;padding:0;width:100%;display:block;position:relative}.chapter-video-cover img{width:100%;aspect-ratio:16/9;object-fit:cover}.chapter-video-cover span{position:absolute;bottom:18px;left:18px;background:#f7f5efed;padding:5px 15px;border-radius:3px}.chapter-video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.chapter-video>#fnf-stop{margin-top:10px;background:var(--paper)}.tools-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.graph-preview{background:#172b38;padding:15px;display:block;color:#e6e8dc;border-radius:4px}.graph-preview img{width:100%}.graph-preview span{display:block;font-size:13px;text-align:right}.reading-intro{max-width:700px}.book-list{margin:30px 0 22px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.book-list>div{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:baseline}.book-list strong{font-family:var(--serif);font-size:25px;font-weight:400}.book-list span{font-size:13px;color:var(--muted)}.about{padding:68px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 280px;gap:105px;align-items:center;scroll-margin-top:30px}.about h2{font-size:48px;margin:15px 0 20px}.profile-facts{color:var(--muted);font-size:14px;margin-bottom:24px}.about-portrait img{width:240px;aspect-ratio:1;object-fit:contain;border-radius:50%;margin:0 auto}.about-portrait figcaption{text-align:center}.accounts{padding:36px 0 66px;border-top:1px solid var(--line)}.accounts h2{font-size:30px}.account-links{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:26px}.account-links a{border-bottom:1px solid var(--line);padding:15px 0;display:flex;align-items:baseline;justify-content:space-between;gap:15px}.account-links span{font-size:13px;color:var(--muted)}.account-links strong{font-weight:400;font-family:var(--serif);font-size:24px}.account-snapshot{margin-top:20px}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:35px 0 20px;gap:35px}.footer-identity{display:flex;gap:24px;align-items:center}.character-button{padding:0;border:0;width:82px;background:none!important;flex-shrink:0;transform-origin:center bottom}.character-button img{width:82px;height:123px;object-fit:contain}.character-button.is-greeting{animation:greeting .65s ease}.footer-brand{font-family:var(--serif);font-size:28px}.footer-identity p{font-size:13px;color:var(--muted)}.footer-identity small{font-size:12px;color:var(--muted)}.footer-links{display:flex;gap:23px;font-size:13px;flex-wrap:wrap}@keyframes greeting{0%,100%{transform:rotate(0)}30%{transform:translateY(-12px) rotate(-6deg)}65%{transform:rotate(5deg)}}
.music-widget{position:fixed;bottom:24px;right:26px;z-index:30;font-size:14px;max-width:calc(100vw - 40px)}.music-dock{width:350px;background:#fcfbf7;border:1px solid var(--line);border-radius:7px;box-shadow:0 5px 24px #30332d12;display:flex;align-items:center;gap:12px;padding:10px 12px;position:relative;max-width:100%}.dock-record{border:0;padding:0;min-width:44px;height:44px;flex-shrink:0}.record-icon{border-radius:50%;background:var(--soft);padding:7px;animation:record-turn 10s linear infinite;animation-play-state:paused}.is-playing .record-icon{animation-play-state:running}.music-dock>div{flex:1;min-width:0}.music-dock strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font:16px/1.4 var(--serif)}.music-dock span{display:block;color:var(--muted);font-size:11px;line-height:1.6}.music-dock>button:not(.dock-record){padding:0 5px;border:0;flex-shrink:0;font-size:12px}#dock-progress{position:absolute;bottom:0;left:10px;width:calc(100% - 20px);height:2px;appearance:none;border:0}progress::-webkit-progress-bar{background:var(--soft)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.music-panel{width:390px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 135px);overflow:auto;background:#fcfbf7;border:1px solid var(--line);border-radius:8px;padding:20px 23px;margin-bottom:10px;box-shadow:0 15px 50px #30332d17;animation:panel-open .18s ease}.music-panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.music-panel-head button{border:0;padding:0 5px}.record-heading{display:flex;gap:20px;align-items:center;margin:18px 0}.record-heading>img{width:76px;height:76px;padding:12px}.record-heading h2{font-size:29px;line-height:1.35}.record-heading p{color:var(--muted);font-size:13px}.music-pending{font-size:13px;color:var(--muted)}.music-panel .text-link{font-size:12px;margin-top:4px}.track-picker{border-bottom:1px solid var(--line);margin-bottom:17px}.track-picker summary{font-size:12px}.track-picker>div{display:grid;gap:5px;margin:0 0 12px}.track-picker button{text-align:left;line-height:1.5;font-size:13px}.track-picker button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.track-picker small{display:block;font-size:11px;color:var(--muted)}.demo-heading{display:flex;justify-content:space-between;gap:10px;font-size:12px}.demo-heading span{font-size:10px;color:var(--muted)}.demo-note{font-size:11px;color:var(--muted);margin:5px 0 12px}.transport{display:flex;align-items:center;justify-content:space-between;gap:8px}.transport>button{font-size:12px;padding:4px 10px}.transport>span{font-size:11px;white-space:nowrap}.transport #music-follow{font-size:11px;border:0;padding:0 3px;color:var(--muted)}.range-control{display:block;padding:10px 0 8px}.range-control input{width:100%;height:24px;accent-color:var(--accent);margin:0;cursor:pointer}.lyrics{height:220px;overflow:auto;position:relative;overscroll-behavior:contain;scrollbar-width:thin;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}.lyrics ol{padding:0;margin:0;list-style:none}.lyrics li{margin:4px 0;color:#929286;transition:color .15s}.lyrics li.is-current{color:var(--accent);font-weight:600}.lyrics button{border:0;background:none!important;text-align:left;width:100%;font:inherit;font-size:16px;line-height:1.8;padding:7px 0;min-height:44px}.music-status{font-size:11px;color:var(--muted);line-height:1.7;margin-top:12px}.music-panel #music-retry{font-size:12px;margin-top:8px}@keyframes record-turn{to{transform:rotate(360deg)}}@keyframes panel-open{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.breadcrumb{padding-top:30px;color:var(--muted);font-size:13px}.breadcrumb span{margin:0 15px}.case-hero{padding:55px 0 75px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.case-hero h1{font-size:76px;margin:10px 0}.case-hero h2{font-size:33px;margin-bottom:22px}.case-visual{min-width:0}.case-cover-photo{width:100%;aspect-ratio:2241/702;object-fit:contain}.case-visual-bottom{padding:28px 0}.case-visual-bottom span{font-size:12px;color:var(--muted)}.case-visual-bottom strong{display:block;font-family:var(--serif);font-weight:400;font-size:26px}.hero-actions{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px}.button{display:inline-block;padding:9px 15px;border:1px solid var(--line);border-radius:4px;font-size:14px}.button-dark{background:var(--ink);color:var(--paper)}.case-intro,.graph-section,.home-showcase,.application{padding:55px 0;border-top:1px solid var(--line)}.case-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:25px}.graph-shell{border:1px solid var(--line);border-radius:5px;overflow:hidden}.graph-toolbar{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line);font-size:13px}.graph-filters{display:flex;gap:6px;flex-wrap:wrap}.graph-filters button{font-size:12px;padding:6px 11px}.graph-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.graph-mobile-hint{display:none}.graph-stage{overflow:auto;width:100%;background:#172b38}.graph-stage>svg,.graph-stage>img{display:block;width:100%;height:auto;max-height:620px}.graph-edge{stroke:#6b8998;stroke-width:1.25;opacity:.47;transition:opacity .25s}.graph-node{cursor:pointer;touch-action:none;user-select:none;transition:opacity .25s}.node-label{fill:#e4ecef;font-size:17px;font-family:"Microsoft YaHei",sans-serif}.node-halo{fill:none;stroke:#ffffff80;stroke-width:2;opacity:0}.graph-node.is-selected .node-halo,.graph-node:hover .node-halo,.graph-node:focus .node-halo{opacity:1}.graph-svg .is-muted{opacity:.17}.graph-edge.is-connected{stroke:#ed996d;stroke-width:2.2;opacity:1}.graph-caption{padding:24px;border-top:1px solid var(--line)}.graph-caption p{font-size:14px;color:var(--muted);margin-top:12px}.graph-neighbors{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.graph-neighbors span{border:1px solid var(--line);padding:3px 10px;font-size:12px;border-radius:4px}.graph-node.is-dragging{cursor:grabbing}.home-showcase-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px}.home-window{border:1px solid var(--line);border-radius:5px;overflow:hidden}.window-bar,.window-note{padding:10px 18px;font-size:12px;color:var(--muted)}.window-bar>span:first-child{display:none}.home-window-cover img{width:100%}.home-window-body{padding:25px}.home-window-body h3{font-size:30px}.home-window-body>p{font-size:14px;color:var(--muted)}.home-window-row{display:flex;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.home-window-row>strong{font-size:10px;width:65px;flex-shrink:0}.home-window-row span{display:block;color:var(--muted);font-size:12px}.home-explanation article{border-bottom:1px solid var(--line);padding:12px 0 28px;margin-bottom:20px}.home-explanation article>span,.book-grid article>span{font-size:12px;color:var(--muted)}.home-explanation h3{font-size:27px;margin:7px 0 12px}.home-explanation p,.book-grid p{font-size:14px}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.book-grid h3{font-size:27px;margin:10px 0 18px}.case-current{padding:65px 0}.case-current h2{font-size:44px;margin:15px 0 25px}.case-current p{max-width:700px;margin-bottom:25px}
@media(min-width:1400px){.hero-photo{width:380px}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.hero-photo{width:275px;margin-top:-120px}.hero-bottom{gap:30px}.hero h1{font-size:74px}.training-layout{gap:50px;grid-template-columns:1fr 230px}.stage-photo{width:220px}.about{gap:55px;grid-template-columns:1fr 220px}.about-portrait img{width:210px}.creative-story{gap:30px;grid-template-columns:1fr 1fr}.tools-layout{gap:30px}.site-nav{gap:23px}.graph-toolbar{flex-wrap:wrap}.case-hero,.home-showcase-grid,.case-intro-grid{gap:35px}}
@media(max-width:600px){body{padding-bottom:120px}.container{width:calc(100% - 40px)}.site-header{min-height:82px}.brand{font-size:27px}.brand span{display:none}.site-nav{gap:20px;font-size:12px}.hero{padding:48px 0 45px}.hero h1{font-size:58px;letter-spacing:-.045em;margin-top:24px}.hero-bottom{display:block;margin-top:30px}.hero-lead{font-size:17px}.hero-photo{width:100%;margin-top:35px;max-width:none}.hero-photo figcaption{text-align:left}.hero-link{margin-top:20px}h2{font-size:29px}h3{font-size:30px}.section-heading{display:block;margin-bottom:20px}.section-heading p{font-size:13px;margin-top:12px}.records{padding:30px 0 45px}.chapter-nav{gap:0;justify-content:space-between;margin-top:25px}.chapter-nav button{font-size:20px;min-width:52px;padding:10px 6px}.chapter-stories{padding-top:28px}.chapter-panel{min-height:0}.training-layout,.tools-layout,.creative-story{display:block}.stage-photo{width:100%;margin-top:30px;display:flex;gap:15px;align-items:flex-end}.stage-photo img{width:54%;height:auto;aspect-ratio:968/1714}.stage-photo figcaption{flex:1;max-width:120px;font-size:12px}.creative-story video,.chapter-video{margin-top:25px}.older-story{padding-top:28px;margin-top:38px}.graph-preview{margin-top:28px}.book-list{grid-template-columns:1fr;gap:0}.book-list strong{font-size:24px}.book-list>div{padding:18px 0}.about{display:flex;flex-direction:column;align-items:flex-start;gap:30px;padding:40px 0}.about h2{font-size:39px}.about-portrait{width:170px;align-self:flex-end}.about-portrait img{width:170px}.about p{font-size:15px}.accounts{padding:30px 0 40px}.accounts h2{font-size:26px}.account-links{display:block;margin-top:15px}.account-links strong{font-size:22px}.site-footer{display:block;padding:28px 0 15px}.footer-links{margin-top:24px}.footer-identity{gap:20px}.character-button,.character-button img{width:70px}.character-button img{height:105px}.music-widget{right:20px;bottom:16px}.music-dock{width:350px;padding:9px 10px;gap:9px}.music-dock strong{font-size:15px}.music-panel{max-height:calc(100dvh - 125px);padding:17px 18px}.record-heading h2{font-size:27px}.lyrics{height:210px}.lyrics button{font-size:15px}.demo-heading span{font-size:9px}.transport{gap:4px}.case-hero{display:block;padding:38px 0}.case-hero h1{font-size:61px}.case-hero h2{font-size:30px}.case-visual{margin-top:30px}.case-intro,.graph-section,.home-showcase,.application{padding:35px 0}.case-intro-grid,.home-showcase-grid,.book-grid{display:block}.case-intro-grid p{margin-top:25px}.graph-stage>svg,.graph-stage>img{min-width:760px}.graph-mobile-hint{display:block;font-size:12px;padding:10px 18px}.graph-caption{padding:20px}.home-explanation{margin-top:30px}.book-grid article{padding:20px 0;border-top:1px solid var(--line)}.case-current{padding:35px 0}.case-current h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.music-panel .track-picker{display:grid;gap:5px;border:0;margin:18px 0}
.track-picker>button{text-align:left;line-height:1.5;font-size:13px;padding:8px 12px}
.track-picker>button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.track-picker small{display:block;font-size:11px;color:var(--muted)}
.music-mood{font-size:12px;color:var(--muted);line-height:1.8}
.lyric-heading{font-size:12px;margin:10px 0 8px;color:var(--muted)}
.volume-control{display:flex;align-items:center;gap:12px;font-size:11px}
.volume-control input{flex:1;min-width:0;height:24px;accent-color:var(--accent)}
.volume-control button{padding:0 8px;font-size:11px}
.lyrics-note,.music-credit{font-size:10px;color:var(--muted);line-height:1.7;margin:8px 0 0}
.music-credit span{display:block}.music-credit a{border-bottom:1px solid var(--line)}
#instrumental-note{font-size:15px;color:var(--muted);padding:10px 0}
@media(max-width:600px){.volume-control input,.volume-control label{display:none}.volume-control{justify-content:flex-end}.lyrics{height:190px}}

/* Personal milestones: dates supplied by Xiaoyu; calendar days, Asia/Shanghai. */
.milestones{padding:12px 0 38px}
.milestones>h2{font-family:inherit;font-size:13px;font-weight:400;letter-spacing:.06em}
.milestone-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:23px 0 0}
.milestone{min-width:0}
.milestone dt{font-size:15px;color:var(--ink)}
.milestone dd{margin:0}
.milestone-value{display:flex;align-items:baseline;gap:10px;margin-top:7px!important;line-height:1.25}
.milestone-value strong{font:400 42px/1.2 var(--serif);font-variant-numeric:tabular-nums}
.milestone-value span{font-size:14px;color:var(--muted)}
.milestone-origin{font-size:12px;line-height:1.9;color:var(--muted);margin-top:9px!important}
.milestone-value strong.birthday-today{font-size:30px;color:var(--accent)}
@media(max-width:600px){.milestones{padding:6px 0 27px}.milestone-list{gap:17px;grid-template-columns:1fr;margin-top:10px}.milestone{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;padding:17px 0 0;border-top:1px solid var(--line)}.milestone dt{grid-column:1;grid-row:1}.milestone-value{grid-column:2;grid-row:1/3;margin-top:0!important;align-self:center}.milestone-value strong{font-size:33px}.milestone-origin{grid-column:1;grid-row:2;margin-top:4px!important;font-size:11px}.milestone-value span{font-size:12px}.milestone-value strong.birthday-today{font-size:26px}}
