:root{--bg:#111815;--ink:#e8eadf;--muted:#a3afa5;--accent:#d9f18c;--line:#354139;--surface:#1a241e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'Avenir Next',Avenir,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{font:inherit}.skip{position:absolute;top:-100px;z-index:5;background:var(--accent);color:var(--bg);padding:12px}.skip:focus{top:0}header,main,footer{max-width:1600px;margin:auto}header{display:flex;align-items:center;gap:28px;padding:30px 5%;border-bottom:1px solid var(--line)}.wordmark{font-size:43px;line-height:1;font-weight:800;letter-spacing:-5px}.wordmark span{font-size:12px;vertical-align:top;letter-spacing:0;padding-left:6px}.header-note,.eyebrow,.hero-footer,.field-label,.field-caption,.display-caption,.footer-meta{font-family:'SFMono-Regular',Consolas,monospace;font-size:10px;letter-spacing:1.4px;line-height:1.7}.header-note{color:var(--muted)}nav{margin-left:auto;display:flex;gap:30px;font-size:13px}.hero{position:relative;min-height:640px;padding:64px 5% 30px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:10px}.hero-copy{z-index:1;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{color:var(--muted);margin:0 0 32px}.dot{display:inline-block;width:6px;height:6px;margin:0 9px 1px 0;background:var(--accent);border-radius:50%}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(60px,6.5vw,108px);line-height:1.02;letter-spacing:-6px;font-weight:500;margin-bottom:35px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--accent)}.intro{color:var(--muted);font-size:17px;max-width:400px;line-height:1.8}.text-link{display:inline-flex;gap:55px;border-bottom:1px solid var(--ink);padding:15px 0 10px;font-size:14px}.text-link span{font-size:21px;color:var(--accent)}.field{height:430px;position:relative;min-width:0}canvas{width:100%;height:100%;display:block}.field-label{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;color:var(--muted)}.field-controls{position:absolute;bottom:32px;left:0;right:0;display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.field-controls button{border:1px solid var(--line);background:var(--bg);color:var(--muted);padding:8px 10px;font-size:10px;cursor:pointer;transition:color .2s,border-color .2s}.field-controls button[aria-pressed=true],.field-controls button:hover{color:var(--accent);border-color:var(--accent)}.field-caption{position:absolute;bottom:-38px;right:0;color:var(--muted);text-align:right;font-size:9px}.hero-footer{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--muted);margin-top:45px}.work{padding:65px 5% 0}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:25px;align-items:start;border-top:1px solid var(--line);padding:50px 0 65px}.section-heading h2,.about h2{font-size:clamp(34px,4vw,60px);letter-spacing:-2px;line-height:1.1;font-weight:400}.section-heading>p:last-child{font-size:13px;color:var(--muted);padding-top:12px}.project{display:grid;grid-template-columns:50px 1fr 1fr;gap:40px;padding:50px 0 60px;border-top:1px solid var(--line)}.project-number{font:12px Consolas,monospace;color:var(--muted);padding-top:5px}.project .eyebrow{margin-bottom:22px;font-size:9px}h3{font-size:clamp(28px,3vw,44px);line-height:1.12;font-weight:400;letter-spacing:-1.5px;margin-bottom:25px}.project-body>p:not(.eyebrow){color:var(--muted);max-width:400px;font-size:14px}.project-body strong{color:var(--ink);font-weight:500}.project-body .evidence{font-size:11px!important;line-height:1.7}.project-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:26px;font-size:12px;text-decoration:underline;text-underline-offset:6px}.project-display{min-height:300px;background:var(--surface);position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;padding:35px 25px 65px}.display-caption{position:absolute;bottom:22px;left:25px;font-size:8px;color:var(--muted)}.source-node{border:1px solid var(--accent);padding:12px 30px;color:var(--accent);font-family:monospace}.connector{color:var(--muted);font-size:28px;margin:14px}.targets{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.targets span{border:1px solid var(--line);padding:7px 11px;font-size:10px}.trace{gap:18px;font-family:monospace}.trace-line{display:flex;gap:18px;width:100%;color:var(--muted);font-size:16px;white-space:nowrap}.trace-line i{font-size:9px;font-style:normal;min-width:60px;padding-top:5px}.trace-line b{color:var(--accent);font-weight:400}.keys{display:flex;gap:12px}.keys span{font-size:32px;border:1px solid #5b695d;padding:10px 22px;border-radius:10px;box-shadow:0 6px 0 #303d32;color:var(--accent)}.bars{height:55px;display:flex;align-items:center;gap:7px;margin-top:22px}.bars i{background:var(--accent);height:22px;width:3px;opacity:.6}.bars i:nth-child(2n){height:36px}.bars i:nth-child(3n){height:50px}.about{display:grid;grid-template-columns:1fr 2fr;gap:45px;margin:25px 5% 0;padding:80px 0 110px;border-top:1px solid var(--line)}.about>div{max-width:720px}.about p:not(.eyebrow){color:var(--muted);max-width:570px;font-size:16px}.about p[lang]{font-size:13px}footer{border-top:1px solid var(--line);padding:45px 5%;display:flex;align-items:center;gap:60px}footer p{font-size:12px;color:var(--muted);margin-bottom:4px}footer a{font-size:18px}.footer-meta{margin-left:auto;color:var(--muted);text-align:right;font-size:9px}@media(min-width:1500px){.hero{min-height:700px}}@media(max-width:900px){header{gap:18px}.header-note{display:none}h1{letter-spacing:-3px}.hero{padding-top:65px;grid-template-columns:1fr 1fr;min-height:650px}.field{height:410px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{display:none}.project{grid-template-columns:25px 1fr;gap:20px}.project-display{grid-column:2;min-height:260px}.about{grid-template-columns:1fr;gap:0}.hero-footer{margin-top:45px}}@media(max-width:600px){header{padding:25px 6%}nav{gap:18px;font-size:11px}.wordmark{font-size:34px}.hero{padding:32px 6% 20px;display:block;min-height:0}.hero .eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:64px}.intro{font-size:15px;max-width:330px}.field{height:190px;margin-top:30px}.field-caption{bottom:-20px;font-size:8px}.hero-footer{font-size:8px;margin-top:32px}.work{padding:25px 6% 0}.section-heading{display:block;padding:30px 0}.section-heading .eyebrow{margin-bottom:22px}.project{padding:35px 0 45px;grid-template-columns:20px minmax(0,1fr);gap:15px}.project-display{padding-left:18px;padding-right:18px}.project-links{font-size:11px}.project h3{font-size:35px}.about{margin:0 6%;padding:50px 0 65px}.about h2{font-size:40px}footer{padding:30px 6%;gap:30px;flex-wrap:wrap}.footer-meta{margin-left:0;text-align:left;width:100%}.field-controls button{padding:9px 8px}.trace-line{font-size:14px;gap:10px}.targets span{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Language controls and Chinese typography keep the original visual rhythm. */
.petapp-display{min-height:390px;padding:0}.petapp-widget{display:block;width:100%;height:390px;border:0;background:var(--surface)}
.displaydj{gap:18px;padding:22px;justify-content:center}.displaydj-screenshot{display:block;width:100%;max-width:700px;border-radius:12px}.displaydj-screenshot img{display:block;width:100%;height:auto;border-radius:12px}.displaydj .display-caption{position:static;align-self:flex-start;font-size:9px;letter-spacing:.8px}
.language-toggle{color:var(--accent);background:transparent;border:1px solid var(--line);padding:6px 12px;font-size:12px;cursor:pointer;line-height:1.5;white-space:nowrap}.language-toggle:hover{border-color:var(--accent)}header>.language-toggle{margin-left:auto}.language-toggle[hidden]{display:none}html:lang(zh-CN) body{font-family:'Avenir Next','PingFang SC','Microsoft YaHei',sans-serif}html:lang(zh-CN) h1{font-size:clamp(56px,6.2vw,96px);line-height:1.2;letter-spacing:-3px}html:lang(zh-CN) em{font-family:'Songti SC','Noto Serif CJK SC',serif;font-style:normal}html:lang(zh-CN) h2{line-height:1.3}html:lang(zh-CN) h3{line-height:1.4;letter-spacing:-1px}html:lang(zh-CN) .eyebrow{letter-spacing:1.1px}html:lang(zh-CN) .intro{line-height:1.95}@media(max-width:600px){nav{gap:13px}.language-toggle{font-size:11px;padding:6px 8px}html:lang(zh-CN) h1{font-size:58px;letter-spacing:-2px}html:lang(zh-CN) .about h2{font-size:36px}html:lang(zh-CN) .project h3{font-size:30px}}@media(max-width:360px){nav{gap:9px}header{gap:10px}}

/* Direct paths to the two flagship products. */
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 8px}.action-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);font-size:13px}.action-link.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.action-link:hover{border-color:var(--accent)}.hero-copy>.text-link{font-size:12px;padding-top:8px}
.more-tools{border-top:1px solid var(--line);padding:36px 0 48px}.more-tools h3{font-size:24px;letter-spacing:0}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.more-grid h4{font-size:16px;font-weight:500;margin:0 0 10px}.more-grid p{color:var(--muted);font-size:14px;max-width:440px}.more-grid a{font-size:13px;text-decoration:underline;text-underline-offset:5px}
.engineering-note{margin:0 5%;padding:45px 0 55px;border-top:1px solid var(--line)}.engineering-note .eyebrow{margin-bottom:16px}.engineering-note h2{font-size:clamp(26px,3vw,40px);font-weight:400;letter-spacing:-1px}.engineering-note>p:not(.eyebrow){color:var(--muted);max-width:680px}
@media(max-width:600px){.hero .intro{margin-bottom:18px}.hero h1{margin-bottom:24px}.hero-actions{margin-top:20px;gap:8px}.action-link{padding:10px 12px;font-size:12px}.field-controls{bottom:8px}.field-caption{bottom:-26px}.more-grid{grid-template-columns:1fr;gap:26px}.more-tools h3{font-size:23px}.engineering-note{margin:0 6%;padding:35px 0 40px}}

@media(max-width:360px){header{gap:8px}nav{gap:7px;font-size:10px}nav a{white-space:nowrap}.language-toggle{font-size:10px;padding:6px}}
