
:root{--paper:#f8f7f3;--ink:#282b32;--muted:#70737b;--line:#dcdde0;--accent:#7552a5;--soft:#eeeaf3;--radius:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button{color:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;padding:12px;z-index:20}[hidden]{display:none!important}
.top{max-width:1200px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);font-size:12px}.top a{text-decoration:none}.top span{color:var(--muted)}.hero{max-width:1120px;padding:54px 28px 28px;margin:auto}.eyebrow{font-size:12px;color:var(--accent);letter-spacing:.14em;margin:0 0 20px}h1{font-family:"Songti SC",STSong,serif;font-weight:600;font-size:clamp(34px,4.1vw,53px);line-height:1.4;letter-spacing:-.025em;max-width:900px;margin:0;text-wrap:balance}.dek{font-size:18px;line-height:1.9;max-width:740px;color:#6c6d76;margin:22px 0}.meta{display:flex;flex-wrap:wrap;gap:9px 22px;font-size:12px;color:var(--muted);margin-top:23px}.meta time{color:var(--ink)}
.workflow{max-width:1120px;padding:0 28px 32px;margin:0 auto}.workflow-picture{position:relative;background:#e5e5e5;border:1px solid #ced0d4;overflow:hidden}.zoom{display:block;width:100%;border:0;background:none;padding:0;cursor:zoom-in}.zoom img{display:block;width:100%;height:auto}.spot{position:absolute;border:3px solid #7552a5;border-radius:7px;box-shadow:0 0 0 9999px #15101f35;pointer-events:none;transition:left .24s,top .24s,width .24s,height .24s}.spot span{position:absolute;right:0;top:-27px;background:var(--accent);color:white;font-size:11px;padding:3px 9px;white-space:nowrap}.workflow figcaption,.photo figcaption{color:var(--muted);font-size:12px;line-height:1.8;margin-top:11px}.locator{display:flex;flex-wrap:wrap;gap:0;margin:18px 0 13px;border-bottom:1px solid var(--line)}.locator button{border:0;border-bottom:2px solid transparent;padding:11px 16px 11px 0;margin-right:19px;background:none;color:#626773;font-size:13px}.locator button span{font:12px Georgia,serif;color:var(--accent);margin-right:7px}.locator button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.node-note{min-height:49px;font-size:14px;line-height:1.8;color:#686572;max-width:850px;margin:0}.node-note b{color:var(--accent);font-weight:550;margin-right:10px}
.chapter-nav{position:sticky;top:var(--site-header-height,64px);z-index:5;background:#f8f7f3f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chapter-nav nav{max-width:1050px;margin:auto;padding:0 23px;display:flex;gap:24px;overflow-x:auto;scrollbar-width:none}.chapter-nav a{display:block;flex:none;padding:15px 0 13px;text-decoration:none;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.chapter-nav a.active{color:var(--accent);border-color:var(--accent)}
.prose{max-width:800px;margin:auto;padding:38px 28px 65px;font-size:18px;line-height:1.98;overflow-wrap:anywhere}.prose p{margin:0 0 22px}.opening p:first-child{font-size:20px;line-height:1.9}.part{padding-top:32px;margin-top:12px;scroll-margin-top:78px}.part h2{font-size:27px;line-height:1.5;font-weight:600;letter-spacing:-.01em;margin:0 0 27px}.subpart{margin:38px 0 0;scroll-margin-top:80px}.subpart h3{font-size:23px;line-height:1.55;font-weight:570;color:#4f3e68;margin:0 0 19px}strong{font-weight:620}.wide{margin:30px -110px}.prompt-example{padding:22px 25px;background:#eeeaf1;margin:26px 0;border-left:2px solid var(--accent)}.prompt-example small{display:block;font-size:11px;color:var(--accent);margin-bottom:9px}.prompt-example p{font:15px/1.85 ui-monospace,SFMono-Regular,Menlo,monospace;margin:0;overflow-wrap:anywhere}.prompt-example p+small{margin-top:18px}
.lab{border-top:2px solid var(--accent);border-bottom:1px solid #ccc6d6;padding:24px 25px;background:#f1eff3}.lab-top{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin:0 0 20px}.lab-top h3{font-size:16px;font-weight:560;margin:0}.lab-top span{font-size:11px;color:#77727f}.diffusion-grid{display:grid;grid-template-columns:minmax(0,512px) minmax(240px,1fr);gap:27px;align-items:center}.canvas-wrap{min-width:0}canvas{display:block;margin:auto}.controls{font-size:13px;line-height:1.7;min-width:0}.controls label{display:block;font-weight:550;margin-bottom:9px}.controls .help{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.seed-row{display:flex;gap:8px;margin-bottom:23px}.seed-row input{min-width:0;width:100%;border:1px solid #c6c2cd;background:#fcfbfd;border-radius:2px;padding:9px 10px;font-size:14px;color:var(--ink)}.seed-row button{white-space:nowrap;background:transparent;border:1px solid #b6adbf;font-size:12px;padding:8px 10px;border-radius:2px}.range-row{margin:10px 0 15px}.range-row input{width:100%;accent-color:var(--accent);cursor:pointer}.endpoints{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:5px}.controls output{display:block;font-size:12px;color:var(--accent);margin-top:12px}.play-controls{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.play-controls button{padding:8px 10px;font-size:12px;border:1px solid #bfb5cd;background:transparent;border-radius:2px}.play-controls button[data-direction=active],.play-controls button[aria-pressed=true]{background:var(--accent);color:white}.play-controls button:disabled{cursor:default;opacity:.45}#motion-status{min-height:52px;font-size:12px;line-height:1.8;margin:15px 0 0;color:#6c6576}.lab-note{font-size:12px;line-height:1.85;color:var(--muted);margin:19px 0 0!important}.lab-note a{color:var(--accent)}
.paper-note{margin:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px;padding:17px 0}.paper-note summary{cursor:pointer;font-size:14px;color:var(--accent);line-height:1.7}.paper-note .inside{padding-top:20px}.paper-note p{line-height:1.95;margin-bottom:17px}.formula{font:24px/1.6 Georgia,"Songti SC",serif;text-align:center;padding:12px 0 17px;color:#594373}.formula-caption{font-size:12px!important;color:var(--muted)}
.parameter-figure{margin:28px 0 31px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.parameter-crop{aspect-ratio:385/290;position:relative;overflow:hidden;background:#e9e9e9;border:1px solid #d1d1d4}.parameter-crop img{position:absolute;width:287.8%;max-width:none;left:-169.8%;top:-51%;height:auto}.parameter-figure figcaption{font-size:13px;line-height:1.9;color:var(--muted)}.parameter-figure figcaption strong{display:block;color:var(--ink);font-size:16px;font-weight:550;margin-bottom:12px}.parameter-figure figcaption span{display:block;color:var(--accent);font-size:11px;margin-top:13px}
.math-lab{margin:25px 0 27px;background:#f5f7fa;padding:19px 22px 22px;border-top:1px solid #d8dce4;border-bottom:1px solid #d8dce4}.math-controls{display:flex;gap:18px;align-items:center;font-size:13px;margin:9px 4px 0}.math-controls label{min-width:75px}.math-controls input{flex:1;min-width:0;accent-color:var(--accent);cursor:pointer}.math-lab output{display:block;font-size:12px;color:#646578;line-height:1.7;margin:12px 4px 0}
table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.8;margin:25px 0}th,td{padding:15px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;font-weight:550;color:#615072;background:#edeaf0}td:first-child{width:23%;font-size:13px;font-weight:550}td:last-child{width:31%}
.export{border-top:2px solid var(--accent);margin:26px 0 30px;padding-top:23px}.export h3{font-size:19px;line-height:1.5;margin:0 0 12px}.export label{display:block;font-size:13px;font-weight:550;margin:18px 0 8px}.export textarea{display:block;width:100%;resize:vertical;min-height:100px;padding:13px 15px;border:1px solid #c9c5d0;background:#fcfbfd;font:14px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);border-radius:2px}.export textarea.negative{min-height:65px}.export-summary{font-size:12px!important;line-height:1.9!important;color:var(--muted);margin:18px 0!important}.export-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.download{border:0;background:var(--accent);color:white;padding:13px 19px;font-size:13px;border-radius:2px}.quiet-button{border:0;background:none;padding:10px 0;color:var(--accent);text-decoration:underline;text-underline-offset:4px;font-size:12px}.export-help{font-size:12px;line-height:1.8;color:var(--muted);margin:14px 0 0!important}#export-status{font-size:12px;color:var(--accent);min-height:24px;margin:11px 0 0}
.sources{margin-top:46px;padding-top:26px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.9}.sources h2{font-size:15px;font-weight:550;margin:0 0 17px;color:var(--ink)}.sources ol{padding-left:19px}.sources li{margin-bottom:15px}.sources small{display:block;font-size:11px;margin-top:3px}.bottom{max-width:1200px;padding:26px 28px 40px;margin:auto;display:flex;justify-content:space-between;gap:20px;font-size:12px;border-top:1px solid var(--line);color:var(--muted)}.bottom a{color:var(--accent);text-decoration:none}
dialog{width:calc(100% - 36px);max-width:1500px;max-height:94vh;border:0;padding:14px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#15101ee3}dialog img{display:block;max-width:100%;max-height:calc(90vh - 85px);width:auto;height:auto;object-fit:contain;margin:auto}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;padding-bottom:12px}.dialog-bar p{margin:0}.close{background:none;border:1px solid #c9c3d1;white-space:nowrap;padding:8px 12px;cursor:pointer}
@media(max-width:1100px){.wide{margin-left:-50px;margin-right:-50px}.diffusion-grid{gap:21px;grid-template-columns:minmax(0,1.4fr) minmax(225px,1fr)}.workflow{max-width:980px}}@media(max-width:920px){.wide{margin-left:0;margin-right:0}.diffusion-grid{grid-template-columns:1fr 1fr;gap:20px}.lab{padding:21px}.workflow{padding:0 24px 27px}.hero{padding-left:26px}.chapter-nav nav{gap:22px}.locator button{margin-right:15px;padding-right:7px;font-size:12px}}@media(max-width:640px){.top{padding:19px 21px;font-size:11px}.hero{padding:35px 22px 23px}h1{font-size:35px;line-height:1.43}.eyebrow{font-size:11px;margin-bottom:17px}.dek{font-size:17px;margin:17px 0}.meta{font-size:11px;gap:8px 17px;margin-top:19px}.workflow{padding:0 15px 22px}.workflow figcaption{font-size:11px;padding:0 5px}.locator{gap:0;margin:12px 5px}.locator button{font-size:12px;padding:9px 9px 9px 0;margin-right:12px}.locator button span{margin-right:5px}.node-note{font-size:12px;line-height:1.8;min-height:64px;padding:0 5px}.spot{border-width:2px}.spot span{font-size:9px;top:-23px;padding:2px 6px}.chapter-nav nav{padding:0 22px;gap:22px}.chapter-nav a{font-size:11px;padding:13px 0 11px}.prose{padding:29px 22px 43px;font-size:17px;line-height:1.95}.opening p:first-child{font-size:19px}.part{padding-top:27px;scroll-margin-top:69px}.part h2{font-size:23px;line-height:1.5;margin-bottom:22px}.subpart h3{font-size:21px}.prompt-example{padding:19px}.prompt-example p{font-size:13px}.lab{padding:19px 16px}.lab-top{display:block;margin-bottom:16px}.lab-top h3{font-size:15px}.lab-top span{font-size:10px;display:block;margin-top:4px}.diffusion-grid{display:block}.controls{margin-top:21px}.seed-row{margin-bottom:20px}.play-controls{gap:9px}.play-controls button{padding:10px 12px}#motion-status{min-height:44px}.lab-note{font-size:11px}.paper-note{font-size:14px}.paper-note summary{font-size:13px}.formula{font-size:22px}.parameter-figure{grid-template-columns:1fr;gap:14px}.parameter-figure figcaption{font-size:12px}.parameter-figure figcaption strong{font-size:15px;margin-bottom:7px}.parameter-figure figcaption span{margin-top:6px}.math-lab{padding:13px 9px 17px}.math-controls{font-size:12px;gap:10px;margin-top:8px}.math-controls label{min-width:66px}.math-lab output{font-size:11px}table{font-size:12px;line-height:1.8}th,td{padding:11px 8px}td:first-child{font-size:11px;width:24%}td:last-child{width:30%}.export h3{font-size:18px}.export textarea{font-size:13px}.sources{font-size:11px}.bottom{padding:24px 22px 34px;font-size:11px;line-height:1.8}.bottom span{display:none}dialog{width:calc(100% - 14px);padding:10px}.dialog-bar{font-size:11px}.close{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spot{transition:none}}@media print{.top,.chapter-nav,.bottom,.locator,.spot,.export-actions,.close,dialog{display:none}.hero{padding-top:0}.workflow{max-width:850px}.prose{font-size:12pt}.part h2{font-size:18pt}.subpart h3{font-size:16pt}.wide{margin-left:0;margin-right:0}.lab,.math-lab,.parameter-figure{break-inside:avoid}.sources{font-size:9pt}.paper-note .inside{display:block}body{background:white}}

:root[data-theme="dark"] .dek{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] .workflow-picture{background:var(--site-surface,#252525)}
:root[data-theme="dark"] .locator button{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] .node-note{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] .chapter-nav{background:var(--site-surface,#252525)}
:root[data-theme="dark"] .subpart h3{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] .prompt-example{background:var(--site-surface,#252525)}
:root[data-theme="dark"] .lab{background:var(--site-surface,#252525)}
:root[data-theme="dark"] .lab-top span{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] .seed-row input{background:var(--site-surface,#252525)}
:root[data-theme="dark"] #motion-status{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] .formula{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] .parameter-crop{background:var(--site-surface,#252525)}
:root[data-theme="dark"] .math-lab{background:var(--site-surface,#252525)}
:root[data-theme="dark"] .math-lab output{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] th{color:var(--site-ink,#ededed);background:var(--site-surface,#252525)}
:root[data-theme="dark"] .export textarea{background:var(--site-surface,#252525)}
