:root{--night:#080b14;--paper:#fbfbfd;--text:#282c3c;--muted:#646b7d;--blue:#3028ff;--purple:#8d87ff;--rule:#d6dbe7;--sans:"Avenir Next","PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;--serif:"Songti SC","Noto Serif CJK SC","STSong",serif}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:40px}body{margin:0;background:var(--night);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--blue);text-underline-offset:4px}button{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,.table-scroll:focus-visible{outline:3px solid #8d87ff;outline-offset:5px}::selection{background:#dcd9ff;color:#14102e}.skip-link{position:absolute;top:-80px;left:20px;z-index:30;background:white;padding:10px 18px}.skip-link:focus{top:20px}.reading-progress{position:fixed;inset:0 auto auto 0;width:0;height:3px;background:var(--blue);z-index:40}
.site-header{position:relative;z-index:2;max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 40px;color:#ccd2df}.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none;color:#d0d6e4}.wordmark img{width:42px;height:42px;object-fit:contain}.wordmark span{font-size:24px;letter-spacing:.1em;font-weight:400}.site-header nav{display:flex;gap:29px;align-items:center}.site-header nav a{font-size:14px;text-decoration:none;color:#bac1d1;padding:9px 0}.site-header nav a:hover{color:white}
.hero{max-width:1440px;min-height:570px;margin:auto;position:relative;overflow:hidden}.hero-art{position:absolute;right:0;top:-58px;width:1440px;max-width:none;height:auto;pointer-events:none}.hero-content{position:relative;max-width:1280px;padding:63px 40px 70px;margin:auto}.hero h1{font-family:var(--serif);font-size:57px;line-height:1.45;font-weight:400;letter-spacing:.04em;color:#f1f2f7;margin:0 0 24px}.hero-subtitle{font-size:17px;line-height:1.65;color:#adb6ca;margin:0 0 25px}.hero-description{font-family:var(--serif);font-size:22px;color:#c2c7d2;line-height:1.7;margin:0 0 30px}.hero-actions{display:flex;gap:26px;align-items:center}.hero-actions a{text-decoration:none;font-size:14px}.primary-link{background:#ebeaf7;color:#211d46;padding:12px 20px;border-radius:4px}.primary-link:hover{background:white}.quiet-link{color:#bfc8de;border-bottom:1px solid #68738b;padding:8px 0}
.prologue{border-bottom:1px solid #1d2637;padding:46px 28px 48px;color:#b9bfcc}.prologue-inner{max-width:800px;margin:auto}.prologue p{font-family:var(--serif);font-size:22px;line-height:1.95;font-weight:400;margin:0 0 22px}.prologue-question{text-align:center;color:#dde0eb;padding-top:15px}.fork-mark{display:block;color:#8492b0;margin:27px auto 0}
.paper-body{background:var(--paper);padding:85px 28px 90px}.article-layout{max-width:1130px;display:grid;grid-template-columns:154px minmax(0,1fr);gap:56px;margin:auto;align-items:start}.contents{position:sticky;top:55px;font-size:13px;padding-top:12px}.contents nav{border-left:1px solid var(--rule);padding-left:17px}.contents nav p{margin:0 0 18px;color:#454d61;font-size:12px}.contents nav a{display:block;text-decoration:none;color:#747b8d;padding:7px 0;line-height:1.5;transition:color .12s}.contents nav a[aria-current="location"]{color:var(--blue);font-weight:600}.contents nav a:hover{color:var(--blue)}.rail-paper{display:inline-block;text-decoration:none;font-size:12px;margin:24px 0 0 17px;border-bottom:1px solid #a5a4d3;padding-bottom:3px}
article{min-width:0;max-width:920px}article p,article li{font-size:17px;line-height:1.95;letter-spacing:.015em}article p{margin:0 0 23px}article li{margin:0 0 9px}article ul{padding-left:1.3em;margin:25px 0 30px}article strong{font-weight:600;color:#22263b}article a{overflow-wrap:anywhere}.article-context{font-size:13px!important;color:var(--muted);margin-bottom:18px!important}.article-heading h2{font-size:36px;line-height:1.55;letter-spacing:.025em;margin:0 0 18px;font-weight:600}.article-subtitle{font-size:14px!important;line-height:1.65!important;color:#858b9b;margin-bottom:39px!important;max-width:600px}.article-section{scroll-margin-top:45px;margin:0 0 66px}.article-section h2{font-size:25px;font-weight:600;line-height:1.55;margin:0 0 27px;letter-spacing:.015em}.article-heading h2{font-size:36px}.article-section:last-child{margin-bottom:0}.article-section>h2{padding-top:5px}code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.85em;background:#eeeef6;color:#343451;padding:2px 5px;border-radius:3px;overflow-wrap:anywhere}
.paper-figure{margin:37px -22px 12px}.figure-open{padding:0;border:0;position:relative;display:block;width:100%;background:white;text-align:left;cursor:zoom-in}.paper-figure img{width:100%;height:auto;display:block}.figure-affordance{position:absolute;right:8px;bottom:7px;background:rgba(251,251,253,.95);border:1px solid #e0e2ec;border-radius:3px;padding:4px 7px;font-size:11px;color:#646a7c;opacity:0;transition:opacity .12s}.figure-open:hover .figure-affordance,.figure-open:focus-visible .figure-affordance{opacity:1}.figure-caption{font-size:12px!important;line-height:1.8!important;color:#747b8c;letter-spacing:0!important;margin-top:15px!important;margin-bottom:30px!important}.paper-figure.ablation{max-width:530px;margin-left:auto;margin-right:auto}
.table-scroll{max-width:100%;overflow:auto;margin:28px 0 29px}table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.8;text-align:left}th{font-weight:600;color:#464c60;background:#f0f1f7}td,th{padding:12px 14px;vertical-align:top;border-bottom:1px solid #dde1eb}td:first-child{color:#42495d}thead{border-top:1px solid #d8ddea}td code{white-space:nowrap;font-size:12px}.equation{padding:29px 10px;margin:27px 0 30px;background:#f0f0fa;border-left:2px solid #8d87ff;overflow:auto;font-size:20px}
.branch-explorer{margin:32px 0 40px;background:white;border:1px solid var(--rule);padding:25px 28px;border-radius:5px}.demo-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:25px}.demo-status{color:#858b9c;font-size:11px}.reference-line,.branch-line{display:flex;align-items:center;gap:18px;margin:0 0 18px}.row-label{width:88px;flex:0 0 88px;font-size:12px;color:#747b90}.reference-text{font-size:13px;color:#777e90;line-height:1.8}.tokens{display:flex;gap:15px}.token{position:relative;background:#eeedff;border:1px solid #8a84ff;border-radius:4px;padding:9px 15px;font-size:15px;color:#3028da;cursor:pointer;min-width:70px;line-height:1.2}.token:not(:last-child):after{content:"";position:absolute;right:-15px;top:50%;height:1px;width:14px;background:#9c99cc;pointer-events:none}.token:hover{background:#e4e1ff}.token[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:white}.branch-evening .token{background:#f0ecfc;color:#51429b;border-color:#b5a7df}.branch-evening .token[aria-pressed="true"]{background:#8d87ff;border-color:#8d87ff;color:#191239}.history-readout{border-top:1px solid #e6e8f0;margin-top:25px;padding-top:18px;display:grid;gap:12px}.history-readout>div{display:grid;grid-template-columns:115px minmax(0,1fr);align-items:center;gap:10px}.history-readout span{font-size:12px;color:#777d90}.history-readout strong{font-size:16px;color:var(--blue);font-weight:500}.history-readout code{font-size:13px;padding:8px 10px;background:#f1f2f7}.history-readout p{font-size:12px;line-height:1.8;margin:1px 0 0;color:#82889a}
.closing{padding:72px 24px 36px;text-align:center;color:#bdc5d8}.closing img{margin-bottom:24px}.closing-line{font-family:var(--serif);font-size:32px;line-height:1.65;letter-spacing:.045em;margin:0 0 31px}.closing>a{font-size:13px;color:#b9c3dd;text-decoration:none;border-bottom:1px solid #65708a;padding-bottom:5px}.credits{font-size:11px;line-height:1.9;color:#8c96ab;margin:51px auto 0;max-width:700px}
.image-dialog{padding:0;border:1px solid #d2d7e5;border-radius:7px;width:min(1450px,96vw);max-width:96vw;max-height:94vh;background:white;color:var(--text)}.image-dialog::backdrop{background:rgba(8,11,20,.88)}.dialog-toolbar{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid #e4e7ee;font-size:13px}.dialog-toolbar>span{max-width:65%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dialog-toolbar>div{display:flex;align-items:center;gap:19px;flex-shrink:0}.dialog-toolbar a{font-size:12px}.dialog-close{border:0;background:transparent;padding:9px;cursor:pointer;color:#5c6477;font-size:12px}.dialog-close span{font-size:21px;vertical-align:-2px;margin-left:7px}.dialog-stage{padding:18px;overflow:auto;max-height:calc(94vh - 65px);text-align:center}.dialog-stage img{max-width:100%;height:auto;max-height:80vh;object-fit:contain}
@media(min-width:1550px){.hero-art{width:1550px;right:-140px}.hero{min-height:600px}.hero-content{padding-top:80px}}@media(max-width:1050px){.article-layout{gap:35px;grid-template-columns:130px minmax(0,1fr)}.hero-art{width:1260px;right:-290px;top:0}.hero-content{padding-left:42px}.hero h1{font-size:51px}.paper-figure{margin-left:0;margin-right:0}}
@media(max-width:800px){.site-header{padding:21px 25px}.wordmark span{font-size:22px}.wordmark img{width:36px;height:36px}.site-header nav{gap:22px}.site-header nav a{font-size:12px}.hero{min-height:0}.hero-content{padding:65px 28px 60px}.hero-art{width:1190px;right:-370px;top:1px}.hero h1{font-size:46px}.hero-subtitle{font-size:15px}.hero-description{font-size:20px}.prologue{padding:35px 28px 44px}.prologue p{font-size:19px;line-height:2}.article-layout{display:block;max-width:740px}.contents{display:none}.paper-body{padding:53px 28px 65px}.article-heading h2{font-size:31px}.article-section h2{font-size:23px}.article-section{margin-bottom:52px}article p,article li{font-size:16px;line-height:1.95}.paper-figure{margin-top:28px}.closing-line{font-size:29px}}
@media(max-width:540px){.site-header{padding:18px 21px}.wordmark{gap:8px}.wordmark img{width:30px;height:30px}.wordmark span{font-size:19px;letter-spacing:.09em}.site-header nav{gap:19px}.site-header nav a:first-child{display:none}.hero{min-height:770px}.hero-art{width:920px;right:-235px;top:4px}.hero-content{padding:330px 26px 45px}.hero h1{font-size:43px;line-height:1.4;letter-spacing:.055em;margin-bottom:22px}.hero-subtitle{font-size:13px;margin-bottom:21px}.hero-description{font-size:18px;line-height:1.7;margin-bottom:23px}.hero-actions{gap:25px}.hero-actions a{font-size:12px}.primary-link{padding:11px 16px}.prologue{padding:22px 25px 38px}.prologue p{font-size:17px;line-height:2.05;margin-bottom:19px}.prologue-question{font-size:16px!important;text-align:left;padding-top:3px}.fork-mark{margin-top:19px;width:22px;height:28px}.paper-body{padding:44px 23px 57px}.article-heading h2{font-size:29px;line-height:1.5}.article-subtitle{font-size:12px!important;margin-bottom:30px!important}.article-context{font-size:11px!important}.article-section h2{font-size:22px;line-height:1.6;margin-bottom:23px}.article-section{margin-bottom:45px}article p,article li{font-size:15px;line-height:1.95;letter-spacing:.01em}article p{margin-bottom:21px}.desktop-break{display:none}td,th{padding:10px;font-size:12px}table{min-width:390px}.figure-caption{font-size:11px!important;line-height:1.8!important}.figure-affordance{opacity:1;font-size:10px;padding:3px 5px}.paper-figure{margin-left:-7px;margin-right:-7px}.branch-explorer{padding:20px 15px;margin:28px -4px}.demo-heading{font-size:12px;margin-bottom:21px}.reference-line,.branch-line{gap:8px}.row-label{flex-basis:68px;width:68px;font-size:10px;line-height:1.65}.reference-text{font-size:11px}.tokens{gap:10px}.token{min-width:54px;padding:9px 8px;font-size:12px}.token:not(:last-child):after{right:-10px;width:9px}.history-readout>div{grid-template-columns:83px minmax(0,1fr);gap:7px}.history-readout span{font-size:10px}.history-readout code{font-size:10px;padding:7px}.history-readout strong{font-size:14px}.history-readout p{font-size:10px}.equation{font-size:15px;padding:22px 8px}.closing{padding:54px 24px 30px}.closing-line{font-size:26px}.credits{font-size:9px;margin-top:38px}.dialog-toolbar{padding:8px 10px}.dialog-toolbar>span{max-width:48%;font-size:11px}.dialog-toolbar>div{gap:5px}.dialog-stage{padding:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.site-header,.hero,.prologue,.contents,.closing,.figure-affordance,.demo-heading,.reading-progress{display:none}.paper-body{padding:0;background:white}.article-layout{display:block}article{max-width:none}.article-section{break-inside:avoid;margin-bottom:30px}.figure-open{cursor:default}a{color:inherit}.article-heading h2{font-size:26px}}
/* Bilingual navigation and paper resources share the existing visual system. */
.header-tools{display:flex;align-items:center;gap:28px}.site-header .header-nav{gap:23px}.site-header .language-nav{gap:12px;border-left:1px solid #343b4d;padding-left:21px}.site-header .language-nav a{font-size:12px;color:#909bb2;padding:6px 0}.site-header .language-nav a[aria-current="page"]{color:#e2e5ef;border-bottom:1px solid #b2bad1}.footer-resource{margin-left:23px}.project-resources,.citation-section{scroll-margin-top:45px;margin-top:42px}.article-section h3{font-size:20px;font-weight:600;line-height:1.5;margin:0 0 19px}.repository-link{font-size:19px;text-decoration:none}.repository-address{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;background:#f0f0f8;border:1px solid #e0e2ed;border-radius:4px}.repository-address code{background:none;padding:0;font-size:12px;overflow-wrap:anywhere}.copy-button{font:inherit;font-size:12px;color:#4f49b1;background:white;border:1px solid #c7c7df;border-radius:3px;padding:6px 10px;cursor:pointer;white-space:nowrap}.copy-button:hover{background:#eeedff;border-color:#a6a0ef}.citation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 15px;background:#f0f0f8;border:1px solid #e0e2ed;border-bottom:0;border-radius:4px 4px 0 0;font-size:12px;color:#676e84}.citation-toolbar>div{display:flex;gap:18px;align-items:center}.citation-toolbar a{font-size:12px}.citation-code{margin:0;background:white;border:1px solid #e0e2ed;border-radius:0 0 4px 4px;padding:19px 16px;overflow:auto;line-height:1.75}.citation-code code{padding:0;background:none;font-size:12px;white-space:pre;color:#45445e}.copy-status{display:block;min-height:25px;font-size:12px;line-height:1.8;color:#655fc1;margin-top:9px}.english .hero h1{font-family:var(--sans);font-size:51px;letter-spacing:.005em;font-weight:400;line-height:1.5}.english .prologue p{font-family:var(--sans);font-size:21px;line-height:1.8}.english .article-section>p,.english .article-section>ul{max-width:68ch}.english .closing-line{font-family:var(--sans);font-size:28px;letter-spacing:0}.english .history-readout>div{grid-template-columns:120px minmax(0,1fr)}.english .row-label{font-size:11px}.english .article-heading h2{font-size:35px}.english .hero-description{font-family:var(--sans);font-size:20px}
@media(max-width:1100px){.header-tools{gap:20px}.site-header .header-nav{gap:17px}.site-header .language-nav{padding-left:17px}}
@media(max-width:900px){.site-header{display:grid;grid-template-columns:1fr auto;row-gap:10px}.header-tools{display:contents}.site-header .header-nav{grid-column:1/-1;grid-row:2;justify-content:flex-end;gap:23px}.site-header .language-nav{grid-column:2;grid-row:1;border-left:0;padding-left:0}.english .hero h1{font-size:44px}.english .prologue p{font-size:19px}}
@media(max-width:540px){.site-header .header-nav a:first-child,.site-header .language-nav a:first-child{display:inline-block}.site-header .header-nav{gap:22px;justify-content:space-between}.site-header .header-nav a{font-size:11px;padding:3px 0}.site-header .language-nav{gap:11px}.site-header .language-nav a{font-size:11px}.site-header{padding-bottom:13px}.hero{min-height:740px}.hero-content{padding-top:300px}.repository-address{padding:11px;gap:10px;align-items:flex-start}.repository-address code{font-size:10px;line-height:1.7}.copy-button{font-size:10px;padding:5px 8px}.citation-toolbar{padding:10px 11px}.citation-toolbar>div{gap:12px}.citation-code{padding:13px 11px}.citation-code code{font-size:10px}.project-resources,.citation-section{margin-top:32px}.english .hero h1{font-size:35px;line-height:1.55}.english .hero-description{font-size:17px}.english .prologue p{font-size:16px;line-height:1.9}.english .prologue-question{font-size:16px!important}.english .article-heading h2{font-size:28px}.english .article-section h2{font-size:22px}.english .history-readout>div{grid-template-columns:94px minmax(0,1fr)}.english .row-label{font-size:10px}.english .closing-line{font-size:24px}.english .hero-subtitle{font-size:12px}}

.project-video{margin:2rem 0}.project-video video{display:block;width:100%;border-radius:8px;background:#080b14}.project-video figcaption{font-size:.8rem;color:#666e82;margin-top:.6rem}

/* Full literary prologue: quieter typography, complete text. */
.prologue{padding:38px 28px 40px}.prologue-inner{max-width:840px}.prologue p,.english .prologue p{font-size:16px;line-height:1.9;margin:0 0 16px}.prologue-question{padding-top:2px;padding-bottom:2px}.prologue p:last-of-type{margin-bottom:0}.fork-mark{margin-top:22px}
@media(max-width:800px){.prologue p,.english .prologue p{font-size:15px;line-height:1.9}}
@media(max-width:540px){.prologue{padding:27px 25px 30px}.prologue p,.english .prologue p,.prologue .prologue-question,.english .prologue-question{font-size:14px!important;line-height:1.95;margin-bottom:15px}}

.acknowledgments{margin-top:38px;padding-top:25px;border-top:1px solid #e0e2ed;scroll-margin-top:45px}.ack-logo{display:inline-block;height:1.05em;width:auto;vertical-align:-.12em;margin:0 .15em}.lightseek-logo{height:1.2em}.acknowledgments p{color:#666e82}

/* Section navigation follows the page; language changes dissolve in place. */
html{scroll-behavior:auto}
html.language-leaving{opacity:.35;transition:opacity 120ms ease-out}
html.language-arriving{animation:language-arrival 220ms ease-out both}
@keyframes language-arrival{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.language-leaving,html.language-arriving{opacity:1;animation:none;transition:none}}

/* Acknowledgment marks should have the visual weight of inline text. */
.acknowledgments .ack-logo{height:.76em;max-width:3.1em;object-fit:contain;vertical-align:-.04em;margin:0 .12em;mix-blend-mode:multiply}
.acknowledgments .lightseek-logo{height:.95em;max-width:1.05em;vertical-align:-.12em}
