@font-face{font-family:Manrope;src:url('assets/fonts/manrope.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Sans SC';src:url('assets/fonts/noto-sans-sc.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Sans SC';src:url('assets/fonts/noto-sans-sc-semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--paper:#fafafa;--surface:#fff;--ink:#242630;--muted:#626673;--faint:#8c909b;--line:#e4e5eb;--accent:#3455dc;--accent-soft:#ecf0fe;--figure:#e8ebf0;--note:#f0f1f5;--font:Manrope,'Noto Sans SC','Microsoft YaHei',sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
html[data-theme=dark]{--paper:#191b22;--surface:#22252e;--ink:#f0f1f5;--muted:#b7bccb;--faint:#949cab;--line:#353946;--accent:#a3b2ff;--accent-soft:#2b3351;--note:#242936}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.04em;line-height:1.35}p{text-wrap:pretty}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{display:block;width:100%;height:auto}::selection{background:#d9e0ff;color:#242630}.shell{width:min(1180px,calc(100% - 96px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 20px}.skip-link:focus{top:15px}
.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(18px)}.header-inner{height:88px;display:flex;align-items:center;gap:35px}.wordmark{font-size:30px;font-weight:700;letter-spacing:-1.8px;line-height:1}.wordmark span{color:var(--accent)}.site-nav{margin-left:auto;display:flex;align-items:center;gap:33px;font-size:14px}.site-nav a{position:relative;min-height:44px;display:flex;align-items:center;color:var(--muted);transition:color 180ms}.site-nav a:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease)}.site-nav a:hover,.site-nav a[aria-current]{color:var(--ink)}.site-nav a[aria-current]:after{transform:scaleX(1)}.header-actions{display:flex;gap:5px}.icon-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid transparent;border-radius:50%;background:transparent;position:relative;transition:background 180ms}.icon-button:hover{background:var(--note)}.icon-button svg{width:20px;height:20px}.theme-button .sun{display:none}html[data-theme=dark] .theme-button .moon{display:none}html[data-theme=dark] .theme-button .sun{display:block}.tooltip{pointer-events:none;position:absolute;top:49px;background:var(--ink);color:var(--paper);font-size:12px;padding:4px 9px;border-radius:5px;white-space:nowrap;opacity:0;transform:translateY(-3px);transition:opacity 150ms,transform 150ms}.theme-button:hover .tooltip,.theme-button:focus-visible .tooltip{opacity:1;transform:none}.menu-button{display:none}.reading-progress{height:1px;background:var(--line)}.reading-progress span{display:block;height:1px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--accent)}
.intro{padding-top:49px;padding-bottom:58px;display:grid;grid-template-columns:.9fr 1.2fr;gap:60px;align-items:center}.intro-greeting{font-size:16px;color:var(--muted);margin-bottom:1px}.intro h1{font-size:112px;font-weight:600;letter-spacing:-7px;line-height:1.05}.intro h1 span{color:var(--accent)}.intro-role{margin-top:18px;font-size:14px;color:var(--muted);letter-spacing:.02em}.intro-copy h2{font-size:31px;letter-spacing:-.05em;margin-bottom:17px}.intro-copy>p{font-size:16px;line-height:1.9;color:var(--muted);max-width:32em}.intro-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;margin-top:19px;min-height:44px;color:var(--accent)}.intro-link svg{width:16px;height:16px;margin-left:6px;transition:transform 200ms var(--ease)}.intro-link:hover svg{transform:translateY(3px)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:23px}.section-heading h2{font-size:20px;letter-spacing:-.025em}.section-heading h2>span{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:16px}.section-heading>p,.section-label{font-size:14px;color:var(--muted)}.featured-project{display:grid;grid-template-columns:1.72fr 1fr;gap:39px;align-items:center}.project-stage{position:relative;min-width:0;height:461px;border-radius:18px;background:var(--figure);overflow:hidden}.stage-toolbar{position:absolute;top:20px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2;color:#3a4050}.view-switch{display:flex;border-radius:8px;padding:4px;background:#ffffffbb;border:1px solid #ffffffc7;backdrop-filter:blur(12px)}.view-switch button{padding:6px 13px;min-height:36px;border:0;background:transparent;color:#666c7b;font-size:13px;border-radius:5px;transition:background 160ms,color 160ms}.view-switch button[aria-pressed=true]{background:#fff;color:#252a35;box-shadow:0 1px 5px #28303c0f}.view-switch button:hover{color:#252a35}.stage-corner{font-size:12px;color:#666c7b}.robot-stage figure{height:100%;position:relative}.robot-stage figure img{width:100%;height:100%;object-fit:cover;object-position:center}.robot-stage figcaption{position:absolute;bottom:15px;left:22px;right:22px;font-size:12px;color:#505666}.project-description{padding:7px 0}.project-type{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;margin-bottom:17px}.small-square{width:6px;height:6px;background:var(--accent);border-radius:1px}.project-description h3{font-size:35px;line-height:1.35;letter-spacing:-.04em;margin-bottom:16px}.project-summary{font-size:15px;color:var(--muted);line-height:1.9}.project-specs{margin:24px 0 25px;display:grid;gap:8px;font-size:13px}.project-specs>div{display:grid;grid-template-columns:95px 1fr;gap:8px}.project-specs dt{color:var(--muted)}.project-specs dd{margin:0;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:47px;border:1px solid transparent;border-radius:7px;padding:11px 17px;font-size:14px;line-height:1.5;transition:transform 180ms var(--ease),background 180ms}.primary{background:#3455dc;color:white;box-shadow:0 2px 3px #3455dc0e}.primary:hover{background:#2646cb;transform:translateY(-2px)}.primary:active{transform:translateY(0)}.button svg{width:17px;height:17px}.project-status{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.7}
.architecture-view{height:100%;padding:80px 35px 34px;color:#252a35;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eef1f8}.architecture-top{display:flex;align-items:center;gap:16px;padding-right:48px}.architecture-label{font-size:12px;color:#68728a}.hardware-node{border:1px solid #d3d9e8;background:#fff;box-shadow:0 3px 8px #4c598708;border-radius:9px;min-width:150px;min-height:60px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px 16px;line-height:1.6}.hardware-node strong{font-size:15px;font-weight:600}.hardware-node span{font-size:12px;color:#65718c}.central-node{background:#3455dc;color:white;border-color:#3455dc;min-width:237px;min-height:76px;flex-direction:row;gap:20px}.central-node strong{font-size:20px}.central-node span{color:#dee5ff}.central-node .node-symbol{font-size:30px;line-height:1}.central-node>div{display:flex;flex-direction:column}.signal-line{position:relative;color:#65718c;font-size:11px;flex-shrink:0}.signal-line.vertical{width:1px;height:27px;background:#a0abc1}.signal-line.vertical:after{content:'';position:absolute;bottom:-1px;left:-3px;width:6px;height:6px;border-right:1px solid #a0abc1;border-bottom:1px solid #a0abc1;transform:rotate(45deg)}.signal-line.vertical span{position:absolute;top:3px;left:9px}.architecture-bottom{display:flex;align-items:center;gap:0}.signal-line.horizontal{width:45px;height:1px;background:#a0abc1}.signal-line.horizontal:after{content:'';position:absolute;right:0;top:-3px;width:6px;height:6px;border-right:1px solid #a0abc1;border-top:1px solid #a0abc1;transform:rotate(45deg)}.signal-line.horizontal span{position:absolute;top:-21px;left:8px}.architecture-note{font-size:12px;margin-top:25px;text-align:center;color:#65718c;max-width:31em}
.secondary-project{display:grid;grid-template-columns:1fr 1.23fr;gap:70px;align-items:center;margin-top:48px;padding:34px 0 44px;border-bottom:1px solid var(--line)}.epaper-description{padding-right:12px}.epaper-description h3{font-size:32px;line-height:1.45;margin-bottom:17px}.epaper-description .project-summary{max-width:30em}.project-stack{font-size:13px;margin-top:18px;color:var(--ink)}.project-stack span{color:var(--faint);padding-inline:10px}.text-button{display:inline-flex;align-items:center;gap:20px;border:0;background:none;padding:5px 0;min-height:44px;color:var(--accent);font-size:14px;margin-top:15px}.text-button svg{width:17px;height:17px;transition:transform 180ms var(--ease)}.text-button:hover svg{transform:translate(2px,-2px)}.epaper-stage{position:relative;height:333px;border-radius:16px;overflow:hidden;background:var(--figure)}.epaper-stage img{height:100%;object-fit:cover}.epaper-stage figcaption{position:absolute;left:18px;bottom:13px;font-size:12px;color:#505666}
.practice-section{display:grid;grid-template-columns:1fr 1.15fr;gap:75px;padding-block:70px}.practice-intro h2{font-size:33px;margin-top:11px;margin-bottom:20px}.practice-intro>p:last-of-type{font-size:16px;color:var(--muted);line-height:1.9}.subtle-link{display:inline-flex;align-items:center;gap:14px;font-size:14px;color:var(--accent);min-height:44px;margin-top:18px}.subtle-link:hover span{transform:translateY(3px)}.subtle-link span{transition:transform 180ms}.tool-row{display:flex;align-items:center;gap:23px;padding:24px 0;border-bottom:1px solid var(--line)}.tool-row:first-child{padding-top:3px}.tool-row:last-child{border-bottom:0;padding-bottom:0}.tool-row svg{width:31px;height:31px;color:var(--muted)}.tool-row h3{font-size:16px;font-weight:500;margin-bottom:6px;letter-spacing:-.025em}.tool-row p{font-size:13px;line-height:1.9;color:var(--muted)}
.approach-section{border-top:1px solid var(--line);padding-top:41px;padding-bottom:64px}.approach-section .section-heading h2{font-size:25px}.approach-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:50px;margin-top:27px}.method-list details{border-bottom:1px solid var(--line)}.method-list details:first-child{border-top:1px solid var(--line)}.method-list summary{display:flex;align-items:center;gap:20px;min-height:66px;cursor:pointer;list-style:none;font-size:16px;font-weight:500}.method-list summary::-webkit-details-marker{display:none}.method-number{font-size:12px;color:var(--faint);width:23px}.detail-symbol{width:18px;height:18px;position:relative;margin-left:auto}.detail-symbol:before,.detail-symbol:after{content:'';position:absolute;background:var(--muted);top:8px;left:3px;width:12px;height:1px}.detail-symbol:after{transform:rotate(90deg);transition:transform 200ms}.method-list details[open] .detail-symbol:after{transform:rotate(0)}.detail-body{padding:0 38px 22px 43px;color:var(--muted);font-size:14px;line-height:1.95}.learning-note{background:var(--note);border:1px solid var(--line);border-radius:12px;padding:27px 28px;display:flex;flex-direction:column;align-items:flex-start}.note-icon{width:28px;height:28px;color:var(--accent);margin-bottom:20px}.learning-note h3{font-size:18px;font-weight:500;margin-bottom:13px}.learning-note p{font-size:14px;line-height:1.9;color:var(--muted)}.learning-footer{display:flex;gap:24px;margin-top:26px;font-size:12px;color:var(--muted)}
.about-section{display:grid;grid-template-columns:1fr 1.15fr;gap:75px;padding-top:46px;padding-bottom:50px;border-top:1px solid var(--line)}.about-asterisk{font-size:31px;line-height:1;color:var(--accent);display:block;margin-bottom:20px}.about-heading h2{font-size:31px;line-height:1.55}.about-copy p{font-size:15px;line-height:1.95;color:var(--muted);max-width:37em}.about-copy>p+p{margin-top:15px}.about-copy .about-signature{font-size:35px;font-weight:600;color:var(--ink);letter-spacing:-2px;margin-top:18px;line-height:1.4}.about-signature span{color:var(--accent)}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:23px 26px;font-size:12px;color:var(--muted)}.site-footer p>span{margin-left:18px;color:var(--faint)}.site-footer a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:13px}.site-footer a:hover{color:var(--ink)}.site-footer svg{width:15px;height:15px}
.project-dialog{width:min(700px,calc(100% - 32px));max-height:88dvh;padding:0;border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #12172e2b;overscroll-behavior:contain}.project-dialog::backdrop{background:#10152770;backdrop-filter:blur(6px)}.dialog-inner{padding:26px 36px 34px}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.dialog-label{font-size:13px;color:var(--muted)}.dialog-close{background:var(--note)}.project-dialog h2{font-size:28px;margin-bottom:15px;letter-spacing:-.035em}.project-dialog #dialog-summary{font-size:15px;color:var(--muted);line-height:1.9}.dialog-section{margin-top:27px}.dialog-section h3{font-size:17px;margin-bottom:12px}.dialog-specs{display:grid;grid-template-columns:110px 1fr;gap:11px 14px;padding:19px 20px;background:var(--note);border:1px solid var(--line);border-radius:8px;font-size:14px;margin:0}.dialog-specs dt{color:var(--muted)}.dialog-specs dd{margin:0}.roadmap{padding:0;list-style:none;counter-reset:phase;display:grid;gap:17px}.roadmap li{display:grid;grid-template-columns:26px 1fr;gap:14px;counter-increment:phase;font-size:14px;line-height:1.85;color:var(--muted)}.roadmap li:before{content:counter(phase);font-size:12px;border:1px solid var(--line);background:var(--note);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-top:2px}.roadmap strong{font-weight:500;display:block;font-size:15px;color:var(--ink);margin-bottom:3px}.dialog-note{border-top:1px solid var(--line);padding-top:18px;margin-top:25px;font-size:13px;color:var(--muted);line-height:1.8}.dialog-done{margin-top:24px}body.dialog-open{overflow:hidden}
@media(min-width:1500px){.intro{padding-top:61px;padding-bottom:67px}.project-stage{height:480px}}
@media(max-width:1080px){.shell{width:calc(100% - 64px)}.intro{gap:40px;grid-template-columns:.8fr 1.2fr}.intro h1{font-size:102px}.featured-project{gap:27px;grid-template-columns:1.5fr 1fr}.project-stage{height:430px}.project-description h3{font-size:31px}.project-summary{font-size:14px}.project-specs{font-size:12px}.project-specs>div{grid-template-columns:80px 1fr}.stage-toolbar{left:18px;right:18px}.view-switch button{font-size:12px;padding-inline:10px}.stage-corner{font-size:11px}.secondary-project{gap:40px}.epaper-stage{height:307px}.practice-section,.about-section{gap:50px}.approach-grid{gap:32px}.architecture-view{padding-inline:17px}.hardware-node{min-width:130px}.signal-line.horizontal{width:34px}.signal-line.horizontal span{left:3px}}
@media(max-width:760px){html{scroll-padding-top:98px}.shell{width:calc(100% - 40px)}.header-inner{height:74px;gap:14px}.wordmark{font-size:27px}.header-actions{margin-left:auto}.menu-button{display:flex}.site-nav{display:none;position:absolute;top:74px;left:20px;right:20px;margin:0;padding:16px 20px;flex-direction:column;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 12px 40px #1c27331a}.site-nav.is-open{display:flex}.site-nav a{font-size:15px;padding:9px 3px;min-height:48px}.site-nav a:after{display:none}.tooltip{display:none}.intro{grid-template-columns:1fr;gap:27px;padding-top:34px;padding-bottom:40px}.intro-greeting{font-size:15px}.intro h1{font-size:90px;letter-spacing:-5.7px}.intro-role{font-size:13px;margin-top:12px}.intro-copy h2{font-size:27px;margin-bottom:13px}.intro-copy>p{font-size:15px;line-height:1.9}.intro-link{font-size:13px;margin-top:13px}.section-heading{margin-bottom:19px;gap:12px;align-items:flex-start}.section-heading h2{font-size:18px;line-height:1.5}.section-heading h2>span{display:block;font-size:12px;margin-left:0;margin-top:3px}.section-heading>p{font-size:12px;padding-top:3px}.featured-project{grid-template-columns:1fr;gap:25px}.project-stage{height:330px;border-radius:12px}.stage-toolbar{top:13px;left:13px;right:13px}.view-switch{padding:3px}.view-switch button{min-height:36px;font-size:12px;padding-inline:10px}.stage-corner{font-size:10px}.robot-stage figure img{object-fit:cover}.robot-stage figcaption{font-size:10px;left:14px;bottom:11px}.project-description{padding:0}.project-type{font-size:12px;margin-bottom:12px}.project-description h3{font-size:28px;line-height:1.4;margin-bottom:13px}.project-description h3 br{display:none}.project-summary{font-size:15px;line-height:1.9}.project-specs{font-size:13px;margin-block:21px;gap:9px}.project-specs>div{grid-template-columns:100px 1fr}.button{font-size:14px;min-height:47px}.project-status{font-size:11px;margin-top:12px}.architecture-view{padding:65px 12px 24px}.hardware-node{min-width:123px;min-height:52px;padding:7px 12px}.hardware-node strong{font-size:13px}.hardware-node span{font-size:10px}.central-node{min-width:205px;min-height:61px;gap:16px}.central-node strong{font-size:18px}.central-node .node-symbol{font-size:27px}.signal-line.vertical{height:21px}.signal-line.horizontal{width:32px}.signal-line.horizontal span{left:4px;font-size:10px}.architecture-note{font-size:10px;margin-top:19px}.secondary-project{grid-template-columns:1fr;gap:25px;padding-top:35px;padding-bottom:39px;margin-top:37px;border-top:1px solid var(--line)}.epaper-description{padding:0}.epaper-description h3{font-size:28px;margin-bottom:14px}.epaper-description h3 br{display:none}.project-stack{font-size:13px;margin-top:15px}.text-button{margin-top:14px;font-size:14px}.epaper-stage{height:277px;border-radius:12px;grid-row:1}.epaper-stage figcaption{font-size:10px;left:14px;bottom:11px}.practice-section{grid-template-columns:1fr;gap:29px;padding-block:41px}.practice-intro h2{font-size:29px;margin-top:9px;margin-bottom:15px}.practice-intro>p:last-of-type{font-size:15px}.subtle-link{font-size:13px;margin-top:11px}.tool-row{gap:20px;padding-block:20px}.tool-row svg{width:28px;height:28px}.tool-row h3{font-size:15px}.tool-row p{font-size:12px;line-height:1.9}.approach-section{padding-top:31px;padding-bottom:41px}.approach-section .section-heading{display:block}.approach-section .section-heading h2{font-size:23px;max-width:14em;line-height:1.5;margin-bottom:9px}.section-label{font-size:13px}.approach-grid{grid-template-columns:1fr;gap:26px;margin-top:20px}.method-list summary{min-height:63px;gap:14px;font-size:15px}.method-number{font-size:11px;width:20px}.detail-body{padding-left:34px;padding-right:22px;font-size:14px;line-height:1.9}.learning-note{padding:24px}.learning-note h3{font-size:18px}.note-icon{margin-bottom:15px}.learning-footer{margin-top:19px;font-size:12px}.about-section{grid-template-columns:1fr;gap:25px;padding-top:34px;padding-bottom:34px}.about-heading h2{font-size:28px;line-height:1.5}.about-asterisk{font-size:28px;margin-bottom:15px}.about-copy p{font-size:15px;line-height:1.95}.about-copy .about-signature{font-size:32px;margin-top:15px}.site-footer{font-size:11px;align-items:flex-start;padding-block:19px 22px;gap:15px}.site-footer p>span{display:block;margin:2px 0 0}.site-footer a{font-size:12px}.dialog-inner{padding:20px 23px 26px}.project-dialog h2{font-size:23px}.project-dialog #dialog-summary{font-size:14px}.dialog-specs{grid-template-columns:83px 1fr;font-size:13px;padding:16px;gap:10px}.roadmap{gap:16px}.roadmap li{font-size:13px;gap:12px}.roadmap strong{font-size:14px}.dialog-note{font-size:12px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}.intro h1{font-size:82px}.intro-copy h2{font-size:24px}.intro-copy>p{font-size:14px}.project-stage{height:288px}.stage-corner{display:none}.project-description h3{font-size:25px}.project-summary{font-size:14px}.epaper-description h3{font-size:26px}.epaper-stage{height:241px}.hardware-node{min-width:110px;padding-inline:8px}.signal-line.horizontal{width:25px}.signal-line.horizontal span{font-size:9px;left:1px}.architecture-note{max-width:26em}.project-specs{font-size:12px}.tool-row{gap:15px}.tool-row p{font-size:11px}.approach-section .section-heading h2{font-size:21px}.method-list summary{font-size:14px;gap:10px}.about-heading h2{font-size:26px}.site-footer{font-size:10px}}
/* Shared figure and reading refinements. */
:root{--faint:#6f7480;--diagram:#eef1f8;--node:#fff;--node-line:#d3d9e8;--diagram-ink:#252a35;--diagram-muted:#596580;--signal:#a0abc1}
html[data-theme=dark]{--diagram:#252d42;--node:#30394f;--node-line:#4c5873;--diagram-ink:#edf0fb;--diagram-muted:#c0c8dc;--signal:#8a99bd}
.featured-project{grid-template-rows:auto 1fr;gap:0 39px;align-items:start}.project-heading{grid-column:2;grid-row:1;padding-top:17px}.project-heading h3{font-size:35px;line-height:1.35;margin-bottom:18px}.project-stage{grid-column:1;grid-row:1/span 2}.project-description{grid-column:2;grid-row:2;padding:0}.project-summary{font-size:16px}.project-specs{font-size:14px}.project-status{font-size:13px}.robot-stage figure{display:flex;flex-direction:column}.robot-stage figure img{min-height:0;flex:1;object-fit:contain}.robot-stage figcaption{position:static;flex-shrink:0;font-size:13px;padding:11px 20px;background:#e8ebf0;line-height:1.7}.epaper-stage figcaption{font-size:13px;background:#e8ebf0cc;left:0;right:0;bottom:0;padding:9px 17px}.view-switch button{min-height:44px;font-size:14px}.stage-corner{font-size:13px}.tool-row p{font-size:14px}.architecture-view{background:var(--diagram);color:var(--diagram-ink)}.hardware-node{background:var(--node);border-color:var(--node-line)}.hardware-node span,.architecture-label,.architecture-note{color:var(--diagram-muted);font-size:13px}.central-node{background:#3455dc;border-color:#3455dc;color:white}.central-node span{color:#e1e7ff}.central-node .node-symbol{width:29px;height:29px;color:#e1e7ff}.signal-line{color:var(--diagram-muted)}.signal-line.vertical,.signal-line.horizontal{background:var(--signal)}.signal-line.vertical:after{display:none}.signal-line.horizontal:after{border-color:var(--signal)}
@media(max-width:1080px) and (min-width:761px){.featured-project{column-gap:27px}.project-heading h3{font-size:31px}.project-heading{padding-top:6px}.project-summary{font-size:15px}.project-specs{font-size:13px}.project-stage{height:475px}}
@media(max-width:760px){.intro{padding-top:26px;padding-bottom:29px;gap:18px}.intro h1{font-size:70px;letter-spacing:-4px}.intro-role{margin-top:8px;font-size:14px}.intro-copy h2{font-size:25px;margin-bottom:10px}.intro-copy>p{font-size:16px;line-height:1.8}.intro-link{margin-top:8px;font-size:14px}.featured-project{grid-template-rows:auto auto auto;gap:16px}.project-heading{grid-column:1;grid-row:1;padding:0}.project-heading h3{font-size:27px;margin-bottom:0}.project-heading h3 br{display:none}.project-heading .project-type{margin-bottom:8px;font-size:13px}.project-stage{grid-column:1;grid-row:2;height:auto;min-height:0}.project-description{grid-column:1;grid-row:3}.stage-toolbar{position:static;padding:10px 12px;min-height:66px}.stage-corner{font-size:11px}.robot-stage figure img{height:auto;flex:none;aspect-ratio:3/2;object-fit:contain}.robot-stage figcaption{font-size:13px;padding:10px 13px;line-height:1.7}.project-summary{font-size:16px}.project-specs{font-size:14px}.project-status{font-size:13px}.architecture-view{height:auto;min-height:360px;padding:15px 12px 23px}.hardware-node{min-width:126px;min-height:59px;padding:9px 12px}.hardware-node strong{font-size:14px}.hardware-node span{font-size:12px}.central-node{min-width:230px;min-height:70px}.central-node strong{font-size:19px}.central-node span{font-size:12px}.signal-line.vertical{height:27px}.signal-line.horizontal{width:31px}.signal-line.horizontal span{font-size:11px;left:3px}.architecture-note{font-size:13px;line-height:1.8;max-width:25em;margin-top:22px}.architecture-label{font-size:13px}.epaper-stage{height:auto;aspect-ratio:3/2;padding-bottom:37px;background:#e8ebf0}.epaper-stage img{height:100%;object-fit:contain}.epaper-stage figcaption{font-size:13px;line-height:1.7;padding:8px 13px}.tool-row p{font-size:14px}.about-copy p{font-size:16px}.detail-body{font-size:15px}}
@media(max-width:360px){.intro h1{font-size:65px}.intro-copy>p{font-size:16px}.project-heading h3{font-size:24px}.project-summary{font-size:16px}.stage-corner{display:none}.project-specs{font-size:14px}.hardware-node{min-width:110px;padding-inline:8px}.hardware-node span{font-size:12px}.signal-line.horizontal{width:24px}.signal-line.horizontal span{font-size:10px;left:0}.tool-row p{font-size:14px}.view-switch button{font-size:14px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
