@charset "UTF-8";
:root{--bg:#f8f9fc;--paper:#fff;--ink:#202633;--muted:#737b8b;--accent:#2954e8;--line:#dfe3ec;--soft:#eaf0ff;--soft2:#d9e4ff;--art-ink:#173a89;--art-a:#e5edff;--art-b:#4b79ee;--art-c:#c7d7ff;--art-d:#f1f6ff;--radius:4px;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
:root[data-theme=sage]{--bg:#f6f8f4;--accent:#3e6c54;--line:#dde4da;--soft:#e9f0e5;--soft2:#d1e3ca;--art-ink:#214e39;--art-a:#e3efdd;--art-b:#6d9b7c;--art-c:#bed5b3;--art-d:#f1f7ed}
:root[data-theme=sand]{--bg:#fcf8f3;--accent:#a64d31;--line:#e9ddd2;--soft:#f7ece2;--soft2:#edd4c0;--art-ink:#793c28;--art-a:#f2e0cc;--art-b:#c28c68;--art-c:#e7bfb0;--art-d:#fff7e9}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:disabled{cursor:default}::selection{background:var(--soft2)}.wrap{max-width:1280px;width:calc(100% - 112px);margin-inline:auto}.skip{position:fixed;top:-60px;left:16px;background:var(--accent);color:white;padding:12px;z-index:30}.skip:focus{top:12px}.serif{font-family:"Songti SC","STSong","SimSun",serif;font-weight:400}.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:600;letter-spacing:.07em}.brand-mark{width:43px;height:43px;display:grid;place-items:center;background:var(--accent);color:white;font:italic 35px Georgia,serif;border-radius:50%;letter-spacing:-3px;padding-right:5px;padding-bottom:5px}.brand-sub{display:block;font:9px/1.6 ui-monospace,Consolas,monospace;color:var(--muted);letter-spacing:.16em;margin-top:4px}.site-header nav{display:flex;gap:40px;font-size:13px;position:absolute;left:50%;transform:translateX(-50%)}nav a{padding-block:12px}nav a:hover{color:var(--accent)}.theme-wrap{position:relative}.theme-toggle{border:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:30px;font-size:11px}.theme-dot{height:9px;width:9px;background:var(--accent);border-radius:50%}.theme-panel{position:absolute;right:0;top:48px;width:275px;background:var(--paper);border:1px solid var(--line);padding:20px;box-shadow:0 14px 40px #18213f12;border-radius:8px}.theme-panel p{font-size:13px;margin:0 0 16px}.theme-options{display:flex;gap:6px}.theme-options button{flex:1;border:1px solid var(--line);padding:10px 6px;font-size:11px;background:var(--paper);border-radius:4px;display:flex;align-items:center;justify-content:center;gap:5px}.theme-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.theme-options i{width:11px;height:11px;display:inline-block;background:var(--swatch);border-radius:50%}.theme-panel small{display:block;color:var(--muted);font-size:10px;margin-top:14px}.hero{padding-top:70px;padding-bottom:69px;display:grid;grid-template-columns:1.17fr 1fr;gap:50px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.8;font-weight:500;color:var(--muted);margin:0}.hero .eyebrow{font-size:11px;letter-spacing:.08em;display:flex;align-items:center;gap:9px}.status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.hero h1{font-size:clamp(44px,4.5vw,66px);font-weight:500;line-height:1.3;letter-spacing:-.055em;margin:27px 0 25px}.hero h1 .serif{color:var(--accent)}.hero-description{font-size:13px;line-height:2.1;color:var(--muted);margin:0}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:31px;font-size:12px}.primary-link{display:flex;gap:23px;align-items:center;background:var(--accent);color:white;padding:14px 18px;border:1px solid var(--accent);border-radius:3px;transition:transform .2s}.primary-link:hover{transform:translateY(-3px)}.primary-link span{font-size:17px}.quiet-link{color:var(--muted)}.quiet-link span{margin-left:11px}.quiet-link:hover{color:var(--accent)}.hero-footnote{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:9px;margin-top:44px}.tiny-cross{font-size:17px;color:var(--accent)}.hero-art{height:480px;position:relative;overflow:hidden;isolation:isolate;background:var(--soft2);border-radius:var(--radius);color:var(--art-ink)}.shader-fallback{position:absolute;inset:0;background:radial-gradient(ellipse at 23% 65%,var(--art-b),transparent 65%),radial-gradient(ellipse at 75% 25%,var(--art-c),transparent 70%),var(--art-a)}#shader-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.4s}#shader-canvas.ready{opacity:1}.art-topline,.art-bottomline{position:absolute;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;z-index:2;font:9px ui-monospace,Consolas,monospace;letter-spacing:.08em}.art-topline{top:23px}.art-badge{font:9px system-ui,sans-serif;border:1px solid #ffffff80;border-radius:20px;padding:5px 8px;background:#ffffff38}.art-bottomline{bottom:20px}.art-bottomline button{display:flex;align-items:center;gap:6px;border:0;background:#ffffff60;border-radius:20px;padding:7px 9px;font-size:9px}.art-orbits{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#fff9;stroke-width:.8}.art-orbits .orbit-point{fill:white;stroke:white}.art-label{position:absolute;bottom:76px;left:28px;font-size:20px;font-family:"Songti SC","SimSun",serif;letter-spacing:.1em}.art-english{display:block;font:8px ui-monospace,Consolas,monospace;letter-spacing:.17em;margin-top:10px}.interest-strip{border-block:1px solid var(--line);display:flex;align-items:center;gap:45px;min-height:74px;font-size:11px}.interest-strip>span:first-child{color:var(--muted);font-size:10px}.interest-strip>div{display:flex;gap:30px;align-items:center}.strip-star{color:var(--accent);font-size:12px}.strip-end{margin-left:auto;font-size:24px;color:var(--accent)}.section{padding-top:82px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:20px}.section-heading h2{font-size:28px;line-height:1.5;font-weight:500;letter-spacing:-.025em;margin:10px 0 0}.section-caption{font-size:11px;color:var(--muted);line-height:1.9;margin:0 0 3px}.project-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:32px}.project-card{border:0;padding:0;text-align:left;background:transparent;min-width:0}.project-image{height:300px;overflow:hidden;border-radius:var(--radius);position:relative;transition:transform .35s}.project-card:hover .project-image{transform:translateY(-4px)}.shader-thumbnail{background:var(--soft2);color:var(--art-ink)}.thumb-grid{position:absolute;inset:0;background-image:linear-gradient(to right,#ffffff40 1px,transparent 1px),linear-gradient(to bottom,#ffffff40 1px,transparent 1px);background-size:40px 40px}.liquid-shape{position:absolute;right:-30px;top:-80px;width:350px;height:410px;background:radial-gradient(ellipse at 30% 35%,var(--art-d),transparent 65%),radial-gradient(ellipse at 60% 65%,var(--art-b),var(--art-c) 70%);border-radius:43% 57% 61% 39% / 43% 36% 64% 57%;transform:rotate(35deg);box-shadow:inset 7px 4px 32px #ffffffb0,16px 22px 55px #12397c25}.thumb-index{position:absolute;top:24px;left:25px;font:8px ui-monospace,Consolas,monospace;letter-spacing:.13em;z-index:1}.thumb-title{position:absolute;bottom:34px;left:26px;font:52px/.95 Georgia,serif;letter-spacing:-.055em}.thumb-title em{font-weight:400}.image-arrow{position:absolute;right:21px;bottom:22px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:32px;height:32px;font-size:20px}.notebook-thumbnail{background:#eef0ed;color:#555e56}.notebook-graph{position:absolute;width:86%;inset:40px 7% 0}.notebook-graph svg{height:100%;width:100%;fill:#eef0ed;stroke:#899b8d;stroke-width:1.2}.notebook-graph path{fill:none;stroke-dasharray:4 4}.graph-note{position:absolute;font-size:10px;background:#ffffffc0;padding:4px 10px;border-radius:2px}.note-a{left:12%;top:43%}.note-b{left:43%;top:18%}.note-c{left:72%;top:39%}.sample-tag{position:absolute;bottom:25px;left:25px;font-size:9px;color:#6c766e}.project-meta{display:flex;justify-content:space-between;padding:21px 0}.project-kind{font-size:10px;color:var(--muted)}.project-meta h3{font-size:19px;font-weight:500;letter-spacing:-.02em;margin:10px 0}.project-meta p{color:var(--muted);font-size:11px;line-height:1.9;margin:0}.project-number{font:11px ui-monospace,Consolas,monospace;color:var(--muted);padding-top:3px}.notes-section{padding-top:65px}.note-filters{display:flex;gap:6px}.note-filters button{border:0;background:transparent;color:var(--muted);padding:7px 13px;font-size:11px;border-radius:20px}.note-filters .active{background:var(--soft);color:var(--accent)}.sample-notice{font-size:10px;color:var(--muted);margin:-11px 0 21px}.notes-list{border-top:1px solid var(--line)}.note-row{display:grid;grid-template-columns:115px 1fr 120px 22px;align-items:center;gap:18px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:29px 0}.note-row:hover h3{color:var(--accent)}.note-category{font-size:10px;color:var(--accent)}.life-category{color:#967c55}.note-row h3{font-size:16px;font-weight:500;line-height:1.6;margin:0 0 6px;transition:color .2s}.note-row p{font-size:11px;color:var(--muted);margin:0;line-height:1.8}.note-status{font-size:10px;color:var(--muted);text-align:right}.note-arrow{color:var(--muted);font-size:20px;text-align:right}.note-row[hidden]{display:none}.about-section{margin-top:90px;padding:53px 48px 50px;display:grid;grid-template-columns:1fr 1fr;gap:50px;background:var(--soft);border-radius:var(--radius)}.about-left h2{font-size:36px;line-height:1.5;letter-spacing:-.04em;font-weight:500;margin:17px 0 20px}.about-left h2 .serif{color:var(--accent)}.about-signature{font:italic 16px Georgia,serif;color:var(--accent)}.about-right{padding-top:12px}.about-right p{font-size:12px;line-height:2.1;color:var(--muted);margin:0 0 18px}.about-right strong{font-weight:500;color:var(--ink)}.about-tags{display:flex;gap:8px;margin-top:24px}.about-tags span{font-size:10px;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);padding:5px 10px;border-radius:20px;color:var(--accent)}.end-note{padding:70px 0 65px;display:flex;align-items:center;gap:22px}.end-spark{color:var(--accent);font-size:42px}.end-note p{font-size:15px;line-height:1.9;margin:0}.end-note a{margin-left:auto;font-size:11px;color:var(--muted)}.end-note a span{margin-left:10px}.site-footer{padding:25px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);line-height:1.8}.site-footer a:hover{color:var(--accent)}dialog{width:min(690px,calc(100% - 32px));max-height:85vh;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);box-shadow:0 30px 120px #12243b30}dialog::backdrop{background:#111d3d66;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:19px 28px;border-bottom:1px solid var(--line)}.dialog-top button{border:0;background:transparent;font-size:26px;color:var(--muted);width:32px;height:32px}.dialog-body{padding:30px 38px 35px}.dialog-body h2{font-size:29px;font-weight:500;line-height:1.5;margin:0 0 26px}.dialog-body h3{font-size:17px;margin:27px 0 12px;font-weight:500}.dialog-body p,.dialog-body li{font-size:13px;line-height:2.1;color:var(--muted)}.dialog-body ul,.dialog-body ol{padding-left:22px}.dialog-body a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.dialog-note{padding:12px 16px;background:var(--soft);border-left:2px solid var(--accent);font-size:11px!important}.dialog-bottom{padding:17px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.dialog-bottom span{color:var(--accent)}.body-locked{overflow:hidden}.theme-transition{transition:background-color .4s,color .4s}
@media(min-width:1500px){.hero{gap:90px}.hero-art{height:510px}.hero h1{font-size:74px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:30px;padding-top:55px}.hero-art{height:420px}.hero h1{font-size:49px}.hero .eyebrow{font-size:9px}.hero-description{font-size:12px}.interest-strip{gap:30px}.interest-strip>div{gap:20px}.project-image{height:265px}.thumb-title{font-size:46px}.about-section{padding:40px;gap:35px}.about-left h2{font-size:31px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:88px}.brand{font-size:14px;gap:10px}.brand-mark{width:35px;height:35px;font-size:29px}.brand-sub{font-size:7px}.site-header nav{position:static;transform:none;gap:19px;font-size:11px}.theme-toggle{padding:8px;gap:5px}.theme-label{display:none}.theme-panel{width:260px}.hero{grid-template-columns:1fr;gap:38px;padding-top:45px;padding-bottom:35px}.hero-copy{padding-left:3px}.hero .eyebrow{font-size:10px}.hero h1{font-size:54px;margin-top:24px}.hero-description{font-size:12px}.hero-actions{margin-top:25px}.hero-footnote{margin-top:28px}.hero-art{height:390px}.interest-strip{padding:19px 0;gap:15px;align-items:flex-start}.interest-strip>span:first-child{white-space:nowrap;font-size:9px;padding-top:3px}.interest-strip>div{gap:10px;flex-wrap:wrap;font-size:10px}.strip-end{display:none}.strip-star{font-size:10px}.section{padding-top:56px}.section-heading{align-items:flex-start;margin-bottom:25px}.section-heading h2{font-size:24px}.section-caption{display:none}.project-grid{grid-template-columns:1fr;gap:20px}.project-image{height:280px}.project-meta{padding-bottom:10px}.thumb-title{font-size:54px}.notes-section{padding-top:46px}.notes-section .section-heading{flex-direction:column;gap:16px}.sample-notice{line-height:1.9;margin-top:-8px}.note-row{grid-template-columns:1fr 24px;gap:6px;padding:23px 0}.note-category{grid-column:1;font-size:9px;margin-bottom:4px}.note-row>div{grid-column:1}.note-arrow{grid-column:2;grid-row:2}.note-status{grid-column:1;text-align:left;margin-top:5px;font-size:9px}.note-row h3{font-size:15px}.note-row p{font-size:10px}.about-section{grid-template-columns:1fr;margin-top:56px;padding:30px 25px;gap:22px}.about-left h2{font-size:33px}.about-right{padding-top:0}.about-right p{font-size:11px}.about-signature{font-size:15px}.end-note{padding:42px 0}.end-spark{font-size:34px}.end-note p{font-size:12px}.end-note a{font-size:10px}.site-footer{flex-direction:column;gap:9px;padding:20px 0 25px;font-size:8px}.dialog-body{padding:25px}.dialog-body h2{font-size:23px}.dialog-body p,.dialog-body li{font-size:12px}.dialog-top{padding:15px 22px}.dialog-bottom{padding:16px 22px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.brand-sub{display:none}.site-header nav{gap:14px}.hero h1{font-size:47px}.hero .eyebrow{font-size:9px}.hero-art{height:340px}.hero-actions{gap:19px}.primary-link{gap:13px}.interest-strip{gap:12px}.interest-strip>div{gap:7px}.desktop-break{display:none}.section-heading h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Immersive cover. The first screen stays quiet; the journal begins below. */
[hidden]{display:none!important}
html{scroll-padding-top:28px}
.site-header{position:absolute;top:0;left:0;right:0;height:110px;border-bottom:0;color:#223754}
.site-header .brand-sub{color:#435b79}.site-header nav{font-size:11px}.site-header nav a span{margin-left:14px}.theme-toggle{border-color:#ffffff70;background:#ffffff20;backdrop-filter:blur(12px);color:#223754}.theme-panel{color:var(--ink)}
.hero.full-hero{min-height:100svh;width:100%;max-width:none;margin:0;padding:142px 24px 152px;position:relative;display:flex;align-items:center;justify-content:center;gap:0;isolation:isolate;overflow:hidden;background:var(--soft2);color:#1e3554}
.hero-art.immersive-art{position:absolute;inset:0;width:100%;height:100%;border-radius:0;z-index:0;overflow:hidden;color:inherit}
.immersive-art .shader-fallback{background:radial-gradient(ellipse at 25% 75%,#789acb,transparent 65%),radial-gradient(ellipse at 80% 20%,#d6e4ef,transparent 65%),#bbcee4}
[data-theme=sage] .immersive-art .shader-fallback{background:radial-gradient(ellipse at 25% 75%,#7b9b84,transparent 65%),radial-gradient(ellipse at 80% 20%,#e9f0db,transparent 65%),#b8cdb2}
[data-theme=sand] .immersive-art .shader-fallback{background:radial-gradient(ellipse at 25% 75%,#c28c68,transparent 65%),radial-gradient(ellipse at 80% 20%,#fff4de,transparent 65%),#e7cbb6}
.hero-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#ffffff55,transparent 65%);pointer-events:none}
.cursor-glow{position:absolute;left:0;top:0;width:480px;height:480px;margin-left:-240px;margin-top:-240px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#ffffffb0,transparent 65%);mix-blend-mode:soft-light;opacity:0;will-change:transform;transition:opacity .7s}.cursor-glow.visible{opacity:.7}
.full-hero .hero-copy{position:relative;z-index:2;text-align:center;pointer-events:none;max-width:660px;width:100%}
.avatar-placeholder{width:74px;height:74px;margin:0 auto 25px;border:1px solid #ffffffb0;border-radius:50%;display:grid;place-items:center;background:#ffffff30;box-shadow:0 8px 35px #2e4d7510,inset 0 0 22px #ffffff25;backdrop-filter:blur(12px)}
.avatar-placeholder span{font:italic 50px Georgia,serif;letter-spacing:-5px;margin-left:-6px;margin-top:-8px;color:#294b74}
.hero-greeting{font:10px ui-monospace,Consolas,monospace;letter-spacing:.24em;margin:0;color:#405773}
.full-hero h1{font-size:clamp(64px,7.4vw,108px);font-weight:400;line-height:1.25;letter-spacing:-.065em;margin:15px 0 23px;font-family:"Songti SC","STSong","SimSun",serif;color:#1e3554}
.name-period{color:var(--accent);padding-left:5px}.full-hero .hero-description{font-size:13px;line-height:2.1;letter-spacing:.08em;color:#2d4868}.full-hero .hero-description span{font-size:12px;letter-spacing:.03em;color:#405773}.hero-about{display:inline-flex;align-items:center;gap:20px;margin-top:30px;font-size:10px;letter-spacing:.08em;border-bottom:1px solid #35557650;padding:0 0 7px;pointer-events:auto;color:#294869}.hero-about:hover{border-color:#294869}.hero-about span{font-size:16px}.interest-strip{margin-top:0;border-top:0;min-height:84px}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
@media(min-width:1500px){.hero.full-hero{padding-block:160px}.hero.full-hero h1{font-size:110px}.hero-art.immersive-art{height:100%}}
@media(max-width:760px){.site-header{height:88px}.site-header nav{position:static;font-size:10px;gap:0}.site-header .brand-sub{display:none}.hero.full-hero{min-height:100svh;padding:124px 24px 152px}.full-hero h1{font-size:76px;margin:15px 0 22px}.full-hero .hero-description{font-size:12px}.full-hero .hero-description span{font-size:11px}.avatar-placeholder{width:65px;height:65px;margin-bottom:25px}.avatar-placeholder span{font-size:44px}.cursor-glow{width:300px;height:300px;margin-left:-150px;margin-top:-150px}.theme-toggle{border-color:#ffffff70}.interest-strip{min-height:76px}}
@media(max-width:380px){.site-header nav a span{margin-left:5px}.full-hero h1{font-size:65px}.full-hero .hero-description span{font-size:10px}.hero.full-hero{padding-block:115px 140px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor-glow{display:none}}
@media(max-height:700px){.hero.full-hero{padding:100px 24px 95px;min-height:100svh}.full-hero h1{font-size:64px;margin:10px 0 16px}.avatar-placeholder{width:52px;height:52px;margin-bottom:16px}.avatar-placeholder span{font-size:36px}.hero-greeting{font-size:9px}.full-hero .hero-description{font-size:11px}.full-hero .hero-description span{font-size:10px}.hero-about{margin-top:20px}}
