:root{color-scheme:light;--ink:#17201f;--ink-soft:#53605e;--paper:#f7f7f2;--surface:#fff;--muted:#eef1eb;--line:#d7ddd7;--accent:#d65f35;--accent-dark:#a43f1e;--green:#1e5b52;--shell:min(1160px, calc(100% - 40px));font-synthesis:none;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0}a{color:inherit}.shell{width:min(100%, var(--shell));margin-inline:auto}.narrow-shell{max-width:760px}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{background:#f7f7f2eb;border-bottom:1px solid #17201f1f}.header-inner,.footer-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.header-inner{min-height:74px}.brand{color:var(--ink);align-items:center;gap:12px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{border-radius:9px;flex:0 0 38px;width:38px;height:38px;display:block}.nav-list,.tag-list{margin:0;padding:0;list-style:none;display:flex}.nav-list{flex-wrap:wrap;gap:8px}.nav-list a{color:var(--ink-soft);border-radius:6px;padding:8px 12px;text-decoration:none;display:block}.nav-list a:hover,.nav-list a[aria-current=page]{background:var(--muted);color:var(--ink)}.hero{padding:88px 0 96px}.hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);align-items:center;gap:clamp(48px,8vw,110px);display:grid}.hero-copy,.signal-panel,.section-heading>*{min-width:0}.eyebrow,.card-label{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-size:.82rem;font-weight:800}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin-top:0;line-height:1.16}.hero h1{letter-spacing:-.055em;max-width:760px;margin-bottom:24px;font-size:clamp(2.65rem,5.5vw,5.2rem)}.hero h1 span{color:var(--accent)}.hero-intro,.page-lead{color:var(--ink-soft);font-size:clamp(1.08rem,2vw,1.28rem)}.hero-intro{max-width:620px;margin:0 0 34px}.button-row{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid var(--ink);border-radius:5px;justify-content:center;align-items:center;min-height:46px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex}.button-primary{background:var(--ink);color:#fff}.button-secondary:hover,.button-primary:hover{transform:translateY(-2px)}.signal-panel{background:var(--green);color:#fff;border-radius:4px 48px 4px 4px;flex-direction:column;justify-content:space-between;min-height:440px;padding:28px;display:flex;box-shadow:18px 18px #dfe5dc}.signal-meta,.signal-caption{justify-content:space-between;gap:16px;display:flex}.signal-meta{color:#ffffffb3;letter-spacing:.12em;font-family:ui-monospace,monospace;font-size:.8rem}.waveform{align-items:center;gap:5px;height:150px;display:flex}.waveform span{opacity:.82;background:#f1b55a;border-radius:99px;width:100%;height:42%;min-height:8px}.waveform span:nth-child(8n+1){height:26%}.waveform span:nth-child(8n+2){height:48%}.waveform span:nth-child(8n+3){height:72%}.waveform span:nth-child(8n+4){height:35%}.waveform span:nth-child(8n+5){height:64%}.waveform span:nth-child(8n+6){height:31%}.waveform span:nth-child(8n+7){height:58%}.waveform span:nth-child(8n+8){height:76%}.signal-caption{flex-direction:column}.signal-caption span{color:#ffffffb8}.signal-caption strong{font-size:1.5rem}.section{padding:96px 0}.section-muted{background:var(--muted)}.section-heading{grid-template-columns:1fr minmax(280px,.65fr);align-items:end;gap:40px;margin-bottom:42px;display:grid}.section-heading h2,.page-hero h1{letter-spacing:-.035em;margin-bottom:0;font-size:clamp(2rem,4vw,3.35rem)}.section-heading>p,.content-positioning>p{color:var(--ink-soft);margin:0}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.topic-card{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:310px;padding:30px;position:relative}.card-number{color:#9aa5a1;margin-bottom:60px;font-family:ui-monospace,monospace}.topic-card h3,.project-card h3{margin-bottom:14px;font-size:1.45rem}.topic-card>p:not(.card-label),.project-content>p:not(.card-label){color:var(--ink-soft);font-size:1.02rem}.research-question{margin-bottom:24px}.research-meta{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-bottom:18px;font-size:.9rem;display:flex}.research-meta span{color:var(--accent-dark);font-weight:750}.research-next{border-top:1px solid var(--line);padding-top:18px}.research-next strong{color:var(--green);letter-spacing:.08em;margin-bottom:4px;font-size:.84rem;display:block}.research-history{border-top:1px solid var(--line);margin-top:20px}.research-history summary{color:var(--green);cursor:pointer;padding:16px 0 0;font-size:.94rem;font-weight:750}.research-history ol{margin:16px 0 0;padding:0;list-style:none}.research-history li{border-left:2px solid var(--line);padding-left:16px}.research-history time,.research-history strong{display:block}.research-history time{color:var(--ink-soft);font-size:.88rem}.research-history strong{margin-top:3px}.research-history p{color:var(--ink-soft);margin:6px 0 0;font-size:.94rem}.pending-note{color:var(--green);margin-top:16px;font-size:.82rem;font-weight:700;display:inline-block}.card-link,.project-link{color:var(--green);margin-top:16px;font-size:.94rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.project-visual{color:#fff9;letter-spacing:.1em;background:#173d39;min-height:250px;padding:24px;font-family:ui-monospace,monospace;font-size:.82rem;position:relative;overflow:hidden}.screen-line,.screen-chart{position:absolute;left:8%;right:8%}.screen-line{border-top:1px solid #fff3;top:50%}.screen-chart{border-top:3px solid #f1b55a;border-radius:45% 28% 0 0;height:90px;top:35%;transform:rotate(-4deg)}.project-content{padding:30px}.listing-hero,.article-hero{border-bottom:1px solid var(--line)}.listing-hero{padding:88px 0 64px}.listing-hero h1,.article-hero h1{letter-spacing:-.05em;margin-bottom:20px;font-size:clamp(2.5rem,6vw,4.8rem)}.listing-hero .page-lead{max-width:720px;margin-bottom:0}.listing-section{min-height:420px;padding:72px 0 104px}.content-positioning{border-left:4px solid var(--accent);background:var(--muted);max-width:830px;margin-bottom:44px;padding:28px 30px}.content-positioning h2{margin-bottom:12px;font-size:clamp(1.45rem,3vw,2rem)}.content-positioning>p:last-child{color:var(--ink-soft);margin-bottom:0;font-size:1.02rem}.experiment-definition{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:28px;margin-bottom:48px;display:grid}.experiment-definition .content-positioning{height:100%;margin:0}.experiment-examples{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;list-style:none;display:grid}.experiment-examples li{background:var(--surface);flex-direction:column;justify-content:space-between;gap:14px;min-height:124px;padding:22px;display:flex}.experiment-examples strong{font-size:1.04rem}.experiment-examples span{color:var(--ink-soft)}.article-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.article-card{border:1px solid var(--line);background:var(--surface);border-radius:7px;flex-direction:column;min-height:330px;padding:30px;display:flex}.article-meta,.article-card-footer,.article-byline{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.article-meta{color:var(--ink-soft);justify-content:space-between;margin-bottom:52px;font-size:.88rem}.article-meta span{color:var(--accent-dark);letter-spacing:.08em;font-weight:800}.article-card h2{margin-bottom:12px;font-size:1.55rem}.article-card h2 a{text-decoration:none}.article-card h2 a:hover{color:var(--accent-dark)}.article-card>p{color:var(--ink-soft)}.article-card-footer{justify-content:space-between;margin-top:auto;padding-top:24px}.sample-badge{color:#813015;background:#f4dfd5;border-radius:3px;width:fit-content;padding:4px 8px;font-size:.84rem;font-weight:800;display:inline-flex}.empty-state,.milestone-note{border-left:4px solid var(--accent);background:var(--muted);padding:30px}.empty-state{max-width:680px}.empty-state h2,.empty-state p,.milestone-note p{margin-bottom:0}.empty-state p,.milestone-note p{color:var(--ink-soft)}.milestone-note{margin-top:30px}.article-hero{padding:64px 0 56px}.breadcrumbs{color:var(--ink-soft);flex-wrap:wrap;gap:8px;margin-bottom:54px;font-size:.94rem;display:flex}.breadcrumbs a{text-underline-offset:3px}.article-hero .page-lead{margin:0 0 24px}.article-byline{color:var(--ink-soft);margin-bottom:20px;font-size:.92rem}.article-body{padding-top:60px;font-size:1.04rem}.article-body h2{margin:48px 0 16px;font-size:1.7rem}.article-body h2:first-child{margin-top:0}.article-body p,.article-body li{color:var(--ink-soft)}.article-body p,.article-body ul,.article-body ol,.article-body blockquote{margin-block:0 22px}.article-body li+li{margin-top:7px}.article-body blockquote{border-left:4px solid var(--accent);background:var(--muted);padding:18px 22px}.article-body blockquote p{margin:0}.article-back{padding:54px 0 96px}.project-hero{border-bottom:1px solid var(--line);padding:72px 0 80px}.project-hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:end;gap:clamp(50px,9vw,120px);display:grid}.project-hero h1{letter-spacing:-.055em;max-width:820px;margin-bottom:22px;font-size:clamp(2.8rem,6vw,5.4rem)}.project-hero .page-lead{max-width:720px;margin-bottom:28px}.project-status-card{background:var(--green);color:#fff;border-radius:6px;padding:28px;position:relative}.project-status-card>p{color:#ffffffad;margin:0 0 4px;font-size:.9rem}.project-status-card>strong{padding-right:16px;font-size:1.15rem;display:block}.status-dot{background:#f1b55a;border-radius:50%;width:9px;height:9px;position:absolute;top:32px;right:28px;box-shadow:0 0 0 5px #f1b55a29}.project-status-card dl{border-top:1px solid #ffffff2e;margin:26px 0 0}.project-status-card dl div{border-bottom:1px solid #ffffff1f;justify-content:space-between;gap:20px;padding:11px 0;display:flex}.project-status-card dt,.project-status-card dd{margin:0;font-size:.9rem}.project-status-card dt{color:#ffffff9e}.project-section{padding:92px 0}.project-section-grid{grid-template-columns:150px minmax(0,1fr);gap:clamp(30px,7vw,100px);display:grid}.section-index{color:var(--ink-soft);padding-top:8px}.section-index span{color:var(--accent-dark);font-family:ui-monospace,monospace;font-size:.86rem}.section-index p{margin:8px 0 0;font-weight:750}.project-copy{max-width:900px}.project-copy>h2{letter-spacing:-.035em;margin-bottom:28px;font-size:clamp(2rem,4vw,3.2rem)}.project-copy>p{max-width:780px;color:var(--ink-soft);font-size:1.04rem}.content-caveat{border-left:3px solid var(--accent);background:#d65f3512;padding:14px 18px}.check-list,.development-list,.feature-list{margin:0;padding:0;list-style:none}.check-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.check-list li{border:1px solid var(--line);background:var(--surface);border-radius:5px;min-height:112px;padding:22px 22px 22px 52px;position:relative}.check-list li:before{content:"";border-bottom:2px solid var(--green);border-left:2px solid var(--green);width:12px;height:7px;position:absolute;top:27px;left:22px;transform:rotate(-45deg)}.feature-list{border-top:1px solid var(--line);margin-top:30px}.feature-list li{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr;align-items:center;gap:20px;padding:20px 0;display:grid}.feature-list span{color:var(--accent-dark);font-family:ui-monospace,monospace;font-size:.86rem}.feature-list strong{font-size:1.08rem}.tech-section{background:var(--ink);color:#fff}.tech-section .section-index,.tech-section .technology-grid p{color:#ffffff9e}.tech-section .section-index span{color:#f1b55a}.technology-grid{background:#ffffff29;border:1px solid #ffffff29;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.technology-grid article{background:var(--ink);min-height:150px;padding:24px}.technology-grid h3{margin-bottom:12px;font-family:ui-monospace,monospace;font-size:1rem}.technology-grid p{margin:0}.placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px;display:grid}.project-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px;display:grid}.project-media{margin:0}.project-media-frame{border:1px solid var(--line);background:#e8ecee;border-radius:8px;height:480px;position:relative;overflow:hidden}.project-media-frame img{object-fit:cover;object-position:top center;width:100%;height:calc(100% + 34px);transform:translateY(-34px)}.project-media-frame>span{color:#fff;background:#17201fe0;border-radius:3px;padding:6px 9px;font-size:.82rem;font-weight:750;position:absolute;bottom:12px;right:12px}.project-media figcaption{flex-direction:column;gap:5px;padding:16px 2px 0;display:flex}.project-media figcaption span{color:var(--ink-soft);font-size:.96rem}.pending-media-grid{margin-top:42px}.placeholder-grid figure{margin:0}.media-placeholder{color:#fff9;letter-spacing:.08em;background:#173d39;border-radius:6px;flex-direction:column;justify-content:space-between;min-height:270px;padding:22px;font-family:ui-monospace,monospace;font-size:.8rem;display:flex;position:relative;overflow:hidden}.media-placeholder>div{border-bottom:1px solid #fff3;height:120px;position:relative}.media-placeholder-curve>div:after{content:"";border-top:3px solid #f1b55a;border-radius:45% 25% 0 0;height:55px;position:absolute;bottom:28px;left:0;right:0;transform:rotate(-3deg)}.media-placeholder-screen>div{background:repeating-linear-gradient(90deg,#0000 0 18px,#f1b55a94 18px 21px);border:1px solid #ffffff38;border-radius:4px}.placeholder-grid figcaption{flex-direction:column;gap:5px;padding:16px 2px 0;display:flex}.placeholder-grid figcaption span{color:var(--ink-soft);font-size:.96rem}.development-list{counter-reset:development}.development-list li{border-bottom:1px solid var(--line);color:var(--ink-soft);counter-increment:development;padding:22px 0 22px 52px;position:relative}.development-list li:before{content:counter(development, decimal-leading-zero);color:var(--accent-dark);font-family:ui-monospace,monospace;font-size:.86rem;position:absolute;top:24px;left:0}.experience-section{background:var(--green);color:#fff}.experience-section .section-index,.experience-copy>p:not(.eyebrow){color:#ffffffad}.experience-section .section-index span,.experience-copy .eyebrow{color:#f1b55a}.release-checks{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.release-checks span{color:#ffffffc7;border:1px solid #ffffff42;border-radius:99px;padding:7px 10px;font-size:.86rem}.project-back{padding:54px 0 96px}.tag-list{flex-wrap:wrap;gap:8px;margin-top:24px}.tag-list li{border:1px solid var(--line);color:var(--ink-soft);border-radius:99px;padding:5px 9px;font-family:ui-monospace,monospace;font-size:.82rem}.process-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.process-grid li{border-right:1px solid var(--line);padding:26px 24px 12px 0}.process-grid li+li{padding-left:24px}.process-grid li:last-child{border-right:0}.process-grid span{color:var(--accent-dark);font-family:ui-monospace,monospace;font-size:.86rem}.process-grid h3{margin:30px 0 12px;font-size:1.3rem}.process-grid p{color:var(--ink-soft);margin-bottom:0}.text-link{color:inherit;text-underline-offset:4px;align-items:center;gap:8px;font-weight:750;display:inline-flex}.page-hero{padding:96px 0 56px}.page-hero h1{margin-bottom:24px}.page-lead{max-width:680px;margin:0}.content-section{padding:24px 0 104px}.prose{font-size:1.04rem}.prose h2{margin:54px 0 16px;font-size:1.55rem}.prose p,.prose li{color:var(--ink-soft)}.prose li+li{margin-top:7px}.note-box{border-left:4px solid var(--accent);background:var(--muted);margin:48px 0;padding:24px 26px}.note-box p{margin-bottom:0}.not-found-section{place-items:center;min-height:calc(100vh - 168px);padding:80px 0;display:grid}.not-found-section h1{letter-spacing:-.05em;margin-bottom:22px;font-size:clamp(2.6rem,7vw,5.4rem)}.not-found-section .page-lead{margin:0 0 32px}.site-footer{border-top:1px solid var(--line);background:var(--paper)}.footer-inner{min-height:94px;color:var(--ink-soft);font-size:1rem}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:18px;display:flex}.footer-links a{text-underline-offset:3px}:focus-visible{outline-offset:3px;outline:3px solid #e08358}@media (width<=860px){.hero-grid,.section-heading,.project-hero-grid,.project-section-grid,.experiment-definition{grid-template-columns:1fr}.hero{padding-top:64px}.signal-panel{min-height:340px}.topic-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid li:nth-child(2){border-right:0}.process-grid li:nth-child(n+3){border-top:1px solid var(--line)}.article-list{grid-template-columns:1fr}.project-status-card{max-width:520px}.project-section-grid{gap:34px}.section-index{align-items:baseline;gap:12px;padding:0;display:flex}.section-index p{margin:0}.topic-card{min-height:0}.card-number{margin-bottom:38px}}@media (width<=640px){:root{--shell:min(1160px, calc(100% - 28px))}.header-inner,.footer-inner{flex-direction:column;align-items:flex-start}.header-inner{padding-block:16px}.nav-list a:first-child{padding-left:0}.nav-list{row-gap:2px}.hero{padding:54px 0 72px}.hero h1{font-size:clamp(2.3rem,12vw,3.6rem)}.signal-panel{border-radius:4px 34px 4px 4px;min-height:300px;padding:22px;box-shadow:10px 10px #dfe5dc}.waveform{gap:3px}.section{padding:72px 0}.listing-hero{padding:64px 0 48px}.listing-section{padding:54px 0 76px}.article-card{min-height:0;padding:24px}.article-meta{margin-bottom:34px}.article-hero{padding:46px 0 42px}.breadcrumbs{margin-bottom:40px}.article-body{padding-top:44px}.project-hero{padding:52px 0 60px}.project-section{padding:68px 0}.check-list,.technology-grid,.placeholder-grid,.project-media-grid{grid-template-columns:1fr}.project-media-frame{height:min(620px,145vw)}.technology-grid article{min-height:0}.project-grid{grid-template-columns:1fr}.content-positioning{padding:24px}.experiment-examples,.process-grid{grid-template-columns:1fr}.process-grid li,.process-grid li+li{border-top:1px solid var(--line);border-right:0;padding:24px 0}.process-grid li:first-child{border-top:0}.process-grid h3{margin-top:14px}.footer-inner{padding-block:26px}.footer-links{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
