/* Shared navigation is namespaced so the two original projects keep their own styles. */
.site-header,.site-header *,.site-footer,.site-footer *,.lab-breadcrumb,.lab-breadcrumb *{box-sizing:border-box}
.site-header{height:84px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#20221f;color:#eef0e8;border-bottom:1px solid #45483e;font-family:"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.5}
.site-header a{text-decoration:none;color:inherit}
.site-brand{display:inline-flex;align-items:center;gap:12px;font-size:24px;letter-spacing:-1px;font-weight:600;white-space:nowrap}
.site-mark{display:inline-grid;place-items:center;width:33px;height:33px;background:#ff754e;color:#20221f;font-size:19px;letter-spacing:-2px}
.site-brand-note{font-size:11px;letter-spacing:1px;color:#b9bdaf;margin-left:16px;font-weight:400}
.site-nav{display:flex;gap:8px;align-items:center;height:100%}
.site-nav a{font-size:13px;padding:12px 17px;border-radius:2px;position:relative;white-space:nowrap;color:#b9bdaf}
.site-nav a:hover{color:#fff;background:#2c3028}
.site-nav a[aria-current=page]{color:#fff;background:#34382f}
.site-nav a[aria-current=page]:after{content:"";position:absolute;bottom:5px;left:17px;right:17px;height:2px;background:#ff754e}
.site-header a:focus-visible,.site-footer a:focus-visible{outline:2px solid #ff754e;outline-offset:5px}
footer.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:27px 5.5%;background:#20221f;color:#bcc1b2;border-top:1px solid #45483e;font:12px/1.8 "Segoe UI","Microsoft YaHei",sans-serif}
.site-footer>div{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:#fff}
.site-footer .site-footer-brand{font-size:19px;color:#f0f1e9;font-weight:600}
.site-footer .site-icp{font-size:13px;letter-spacing:0}
.project-page>.nav{padding-top:19px;padding-bottom:19px}
.foundation-page .shell{min-height:calc(100vh - 130px)}
.lab-breadcrumb{display:flex;align-items:center;gap:14px;padding:12px 32px;background:#fff;border-bottom:1px solid #d9dfe6;color:#586574;font:12px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}
.lab-breadcrumb a{color:#245bb5;text-decoration:none}
.lab-breadcrumb .lab-draft{margin-left:auto}
.lab-draft{display:inline-block;background:#f4ead6;color:#795410;border:1px solid #e5d6b6;padding:3px 9px;border-radius:3px;font-size:11px;line-height:1.6;white-space:nowrap}
.portal{margin:0;background:#efefe7;color:#252a22;font-family:"Segoe UI","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
.portal *{box-sizing:border-box}
.portal a{color:inherit;text-decoration:none}
.portal a:focus-visible{outline:2px solid #a43b1d;outline-offset:5px}
.portal p,.portal h1,.portal h2{margin:0}
.portal-main{max-width:1600px;margin:auto;padding:0 5.5%}
.portal-intro{padding:32px 0 50px}
.intro-overline{display:flex;justify-content:space-between;gap:20px;font:10px/1.6 Consolas,"Microsoft YaHei",monospace;letter-spacing:1.2px;color:#62695b}
.intro-overline>span:last-child{display:flex;align-items:center;gap:10px}
.live-dot{width:6px;height:6px;background:#64824e;border-radius:50%;display:inline-block}
.intro-body{display:grid;grid-template-columns:1.7fr 1fr;align-items:end;gap:60px;padding-top:46px}
.intro-body h1{font-weight:550;font-size:clamp(42px,5vw,72px);letter-spacing:-3px;line-height:1.25}
.intro-body h1>span{color:#b74425}
.intro-aside{padding-bottom:5px}
.small-label{font:10px/1.6 Consolas,"Microsoft YaHei",monospace;letter-spacing:1.4px;color:#69715f}
.intro-aside p{font-size:14px;line-height:1.9;color:#5e6557;margin:15px 0 23px}
.quiet-link{display:inline-flex;gap:55px;align-items:center;font-size:12px;padding-bottom:8px;border-bottom:1px solid #b4baa8}
.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.project-tile{display:block;padding:24px 30px 0;overflow:hidden;border:1px solid #d1d5c5;transition:transform .22s}
.project-tile:hover{transform:translateY(-4px)}
.project-tile.engineering{background:#242820;color:#eef0e5;border-color:#242820}
.project-tile.design{background:#e3e7da;color:#252b21}
.tile-meta{display:flex;justify-content:space-between;gap:12px;font:10px/1.5 Consolas,"Microsoft YaHei",monospace;letter-spacing:.8px;color:#bac1ae}
.design .tile-meta{color:#636c58}
.engineering-visual{position:relative;height:205px;display:flex;align-items:center;justify-content:space-around;padding:0 8%;gap:20px}
.visual-line{position:absolute;left:14%;right:14%;top:48%;height:1px;background:#7b856c}
.visual-node{position:relative;display:grid;place-items:center;border:1px solid #6b755c;background:#242820;width:90px;height:52px;font:16px Consolas,monospace}
.visual-node.central-node{width:76px;height:76px;background:#ff754e;border-color:#ff754e;color:#22261e;font-size:38px;box-shadow:9px 9px 0 #39402f;transform:rotate(-5deg)}
.visual-caption{position:absolute;bottom:24px;font:9px Consolas,monospace;letter-spacing:2px;color:#a9b39c}
.design-visual{height:205px;overflow:hidden;margin:0 0 0;position:relative;display:flex;justify-content:center;align-items:flex-start;padding-top:27px}
.design-visual img{width:87%;height:auto;transform:rotate(-3deg);border:1px solid #bac2ac;box-shadow:0 8px 20px #27321814;transition:transform .3s}
.project-tile:hover .design-visual img{transform:rotate(0deg) translateY(-4px)}
.tile-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:9px}
.tile-title h2{font-size:32px;letter-spacing:-1.3px;font-weight:550;line-height:1.4}
.engineering .tile-title h2>span{font-size:18px;color:#b0bba0;font-weight:400;letter-spacing:-.4px}
.design .tile-title h2{font-size:42px;letter-spacing:-2px;line-height:1.06}
.design .tile-title h2>span{font-weight:350}
.tile-arrow{font-size:31px;font-weight:300}
.project-tile p{font-size:13px;line-height:1.9;margin-top:13px;color:#b8c1aa}
.design p{color:#616a56}
.tile-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #49513e;margin-top:26px;padding:17px 0;font:10px/1.5 Consolas,"Microsoft YaHei",monospace;letter-spacing:.6px}
.design .tile-bottom{border-color:#bfc8b0}
.workspace-note{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:24px;align-items:center;padding:46px 0}
.workspace-note p{font-size:15px;line-height:1.8;color:#656d5c}
.workspace-note a{justify-self:end;font-size:12px;border-bottom:1px solid #aeb7a0;padding-bottom:7px}
.lab-portal{background:#f3f5f7;color:#202a36}
.lab-intro{padding:32px 0 48px}
.lab-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-top:42px}
.lab-heading h1{font-size:100px;line-height:1.05;font-weight:650;letter-spacing:-7px;margin-top:15px}
.lab-heading h1 span{font-weight:300}
.lab-heading h1 i{font-style:normal;font-weight:300;color:#245bb5;margin-left:20px}
.lab-heading>p{font-size:14px;line-height:1.9;color:#586574;padding-bottom:6px}
.lab-heading .small-label{color:#586574;letter-spacing:1px}
.collection-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cbd3dc;padding:20px 0}
.collection-heading h2{font-size:14px;font-weight:600}
.collection-heading>span{font:11px Consolas,"Microsoft YaHei",monospace;color:#586574}
.experiment{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #d9dfe6;background:#fff}
.experiment-preview{display:flex;flex-direction:column;justify-content:center;background:#e9eef4;padding:28px;overflow:hidden;min-width:0;position:relative}
.experiment-preview img{width:100%;height:auto;border:1px solid #c3cfdd;box-shadow:0 12px 26px #25374a15;transition:transform .25s}
.experiment-preview:hover img{transform:translateY(-5px)}
.preview-caption{align-self:flex-end;font-size:12px;color:#385371;margin-top:18px}
.experiment-detail{padding:35px}
.experiment-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font:10px Consolas,monospace;color:#586574}
.experiment-detail h2{font-size:36px;line-height:1.2;letter-spacing:-1px;font-weight:550;margin:29px 0 20px}
.experiment-detail h2 span{display:block;font-size:23px;letter-spacing:0;margin-top:9px;color:#586574;font-weight:400}
.experiment-detail>p{font-size:13px;line-height:1.9;color:#586574}
.experiment-detail dl{font-size:11px;margin:22px 0}
.experiment-detail dl>div{display:flex;gap:18px;border-top:1px solid #e3e7ed;padding:10px 0}
.experiment-detail dt{color:#586574;flex-shrink:0}
.experiment-detail dd{margin:0;overflow-wrap:anywhere}
.experiment-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.experiment-actions .lab-primary{background:#245bb5;color:#fff;padding:12px 17px;display:inline-flex;gap:26px;font-size:12px}
.lab-primary:hover{background:#1e4e9d}
.lab-secondary{font-size:12px;color:#245bb5!important}
.experiment-detail .local-note{font-size:10px;margin-top:16px}
.lab-closing{display:flex;gap:24px;justify-content:space-between;align-items:center;padding:35px 0;font-size:12px;color:#586574}
.lab-closing a{color:#245bb5}
@media(min-width:1600px){.site-header,footer.site-footer{padding-left:max(5.5%,calc((100vw - 1424px)/2));padding-right:max(5.5%,calc((100vw - 1424px)/2))}}
@media(max-width:1000px){.site-brand-note{display:none}.intro-body{gap:30px}.tile-title h2{font-size:27px}.engineering .tile-title h2>span{font-size:14px}.project-tile{padding:22px 22px 0}.experiment{grid-template-columns:1fr}.experiment-preview{padding:35px 12%;max-height:440px}.experiment-detail{padding:30px}.workspace-note{grid-template-columns:1fr 2fr}.workspace-note>a{grid-column:2;justify-self:start}.visual-node{width:70px}.engineering-visual{padding:0;gap:10px}}
@media(max-width:640px){.site-header{height:auto;min-height:106px;padding:17px 6% 10px;flex-wrap:wrap;gap:12px}.site-brand{font-size:22px}.site-nav{width:100%;gap:8px}.site-nav a{flex:1;text-align:center;font-size:12px;padding:10px}.site-nav a[aria-current=page]:after{left:20px;right:20px}.portal-main{padding:0 6%}.intro-overline{font-size:8px;letter-spacing:.4px}.intro-body{grid-template-columns:1fr;gap:25px;padding-top:33px}.intro-body h1{font-size:44px;letter-spacing:-2px}.intro-aside .small-label{display:none}.intro-aside p{margin:0 0 18px}.portal-intro{padding-bottom:30px}.project-pair{grid-template-columns:1fr;gap:18px}.engineering-visual,.design-visual{height:190px}.tile-title h2{font-size:30px}.workspace-note{grid-template-columns:1fr;gap:15px;padding:32px 0}.workspace-note>a{grid-column:auto}.site-footer>div{gap:12px}footer.site-footer{padding:24px 6%;gap:12px}.site-footer .site-icp{width:100%;text-align:center;border-top:1px solid #45483e;padding-top:15px}.lab-heading{display:block;padding-top:32px}.lab-heading h1{font-size:76px;letter-spacing:-5px}.lab-heading>p{margin-top:25px;font-size:13px}.lab-intro{padding-bottom:28px}.experiment-preview{padding:25px 18px}.experiment-detail{padding:24px 20px}.experiment-meta{flex-wrap:wrap}.experiment-detail h2{font-size:33px}.experiment-actions{gap:16px}.lab-closing{align-items:start;flex-direction:column;gap:13px}.lab-breadcrumb{padding:10px 6%;gap:10px}.foundation-page .shell{min-height:0}.site-footer>div>span{font-size:11px}.project-page>.nav nav{font-size:12px}}
@media(prefers-reduced-motion:reduce){.portal *{transition:none!important;scroll-behavior:auto!important}}
