@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700;900&display=swap');
:root{--ink:#101b2d;--ink-2:#172944;--paper:#eef1f0;--white:#f8faf8;--muted:#8e9bad;--line:#d8ddd9;--cyan:#6ce1d2;--orange:#ff9a55;--blue:#6aa7ff;--green:#4fd2a4;--red:#ff6d69;--mono:'DM Mono',monospace;--sans:'Manrope','Noto Sans SC',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.rail{position:sticky;top:0;height:100vh;background:var(--ink);color:#dfe9f1;padding:30px 22px 24px;display:flex;flex-direction:column;justify-content:space-between}.mark{display:flex;align-items:center;gap:10px}.mark span{display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan);font-family:var(--mono);font-weight:500;width:40px;height:40px;border-radius:50%;font-size:13px}.mark small{font:10px/1.1 var(--mono);letter-spacing:.12em;color:#9daec0}.rail nav{display:grid;gap:8px;margin-top:120px}.nav-link{border-left:1px solid #3a4b64;color:#9daec0;padding:12px 10px;display:flex;align-items:center;gap:11px;font-size:13px;transition:.2s}.nav-link span{font:11px var(--mono);color:#61758f}.nav-link:hover,.nav-link.active{border-color:var(--cyan);color:#fff;background:#172944}.nav-link.active span{color:var(--cyan)}.rail-foot{display:flex;gap:8px;align-items:center;font:10px/1.25 var(--mono);letter-spacing:.08em;color:#8da0b7}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(79,210,164,.13);animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(79,210,164,0)}}main{min-width:0}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,72px);font-size:12px}.kicker,.eyebrow,.mono{font:11px var(--mono);letter-spacing:.12em}.kicker{color:#66758a}.crumb{color:#a3acb3;margin-left:12px}.top-actions{display:flex;gap:14px;align-items:center}.demo-badge{border:1px solid #b1c0bd;color:#257d71;padding:5px 9px;font:10px var(--mono);letter-spacing:.08em}.ghost-button,.small-button,.text-button{border:0;background:none;cursor:pointer;color:var(--ink);font-size:12px}.ghost-button:hover,.text-button:hover{text-decoration:underline}.hero{min-height:580px;padding:76px clamp(24px,7vw,124px) 72px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;overflow:hidden}.eyebrow{color:#668077;margin:0 0 18px}.hero h1{font-size:clamp(52px,6.2vw,92px);line-height:1.02;letter-spacing:-.07em;margin:0 0 28px;font-weight:800}.hero h1 em{font-style:normal;color:#4c7e75}.hero-title{max-width:600px;font-size:16px;line-height:1.9;color:#425263;margin:0}.identity{margin-top:34px;display:flex;align-items:center;gap:16px}.identity-label{font:11px var(--mono);color:#7b8a8c;border-right:1px solid #bdc7c5;padding-right:16px}.identity strong{font-size:22px}.identity-school{color:#5e7774;font-size:14px}.hero-note{max-width:550px;color:#768187;font-size:13px;margin-top:28px}.hero-visual{height:460px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #becdc9;border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:380px;height:230px}.orbit-two{width:490px;height:300px;border-style:dashed;opacity:.65}.insole-shape{position:relative;width:185px;height:370px;border-radius:52% 48% 43% 42%/24% 24% 76% 76%;background:linear-gradient(145deg,#cedbd4,#91b6ad);box-shadow:26px 30px 0 rgba(37,72,75,.1),inset 8px 10px 20px rgba(255,255,255,.42);transform:rotate(16deg);overflow:hidden}.insole-shape:before{content:'';position:absolute;inset:18px;border:1px solid rgba(255,255,255,.45);border-radius:inherit}.insole-grid{position:absolute;inset:42px 28px;background:radial-gradient(circle at 50% 12%,#ffc276 0 7px,transparent 8px),radial-gradient(circle at 35% 23%,#8fe8d4 0 7px,transparent 8px),radial-gradient(circle at 65% 28%,#ff9c5a 0 8px,transparent 9px),radial-gradient(circle at 32% 42%,#7fc6ff 0 8px,transparent 9px),radial-gradient(circle at 65% 48%,#ffc276 0 9px,transparent 10px),radial-gradient(circle at 48% 63%,#70ddc1 0 9px,transparent 10px),radial-gradient(circle at 46% 82%,#ff8d69 0 11px,transparent 12px);opacity:.9}.heel-glow{position:absolute;bottom:42px;left:42px;width:100px;height:90px;background:radial-gradient(ellipse,#ff9364 0,rgba(255,147,100,.18) 48%,transparent 70%);filter:blur(5px)}.toe-label{position:absolute;top:30px;left:47px;color:#466e69;font:9px var(--mono);transform:rotate(-16deg)}.insole-caption{position:absolute;bottom:54px;left:57px;color:#48736c;font:700 12px/1.1 var(--mono);transform:rotate(-16deg)}.float-note{position:absolute;background:rgba(248,250,248,.92);border:1px solid #d1d9d6;padding:12px 15px;display:grid;gap:2px;box-shadow:7px 10px 0 rgba(20,40,48,.05)}.float-note b{font:500 26px var(--mono);color:#2e685f}.float-note span{font-size:10px;color:#7d898d}.note-a{top:56px;right:2%}.note-b{bottom:54px;left:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric-card{background:var(--white);padding:24px clamp(18px,3vw,42px);display:grid;gap:5px}.metric-card.accent{background:var(--ink);color:#fff}.metric-label,.metric-unit{font-size:11px;color:#7a878a}.accent .metric-label,.accent .metric-unit{color:#8fa5aa}.metric-card strong{font:500 clamp(28px,3vw,40px) var(--mono);letter-spacing:-.08em}.content-section{padding:90px clamp(24px,7vw,124px);max-width:1500px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:32px}.section-heading h2{font-size:clamp(31px,4vw,50px);letter-spacing:-.06em;margin:0;line-height:1.05}.section-caption{font-size:12px;color:#7c888a}.live-status{font:11px var(--mono);color:#378b78;display:flex;align-items:center;gap:9px}.pressure-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:18px}.panel-dark{background:var(--ink);color:#eaf3f4;min-height:470px;padding:24px}.panel-head,.chart-top,.control-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}.panel-head{color:#abc0c7}.panel-head .mono{color:var(--cyan);font-size:10px}.feet{display:flex;justify-content:center;gap:80px;align-items:center;height:370px}.foot-column{position:relative;width:142px;height:300px;border-radius:48% 52% 40% 38%/20% 20% 80% 80%;background:#263e56;transform:rotate(10deg);padding:28px 17px;display:grid;grid-template-columns:repeat(3,1fr);align-content:space-around;justify-items:center;box-shadow:inset 0 0 0 1px #405972}.foot-column:first-child{transform:rotate(-10deg)}.foot-side{position:absolute;bottom:-25px;font:10px var(--mono);color:#7089a0;letter-spacing:.12em}.zone{width:27px;height:27px;border-radius:50%;background:#31516a;display:grid;place-items:center;font:9px var(--mono);color:#b8d0d5;box-shadow:0 0 0 1px rgba(255,255,255,.04)}.zone.hot{background:var(--orange);color:#1c2b3b;box-shadow:0 0 18px rgba(255,154,85,.62)}.zone.warm{background:#c5d277;color:#203642}.legend{display:flex;align-items:center;gap:10px;color:#8aa0ae;font:10px var(--mono)}.gradient-bar{display:block;width:110px;height:5px;background:linear-gradient(90deg,#31516a,#75d5bd,#ffc267,#ff765e)}.insight-stack{display:grid;gap:12px}.insight-card{background:var(--white);border:1px solid var(--line);padding:23px;min-height:130px}.insight-card.outline{background:transparent}.card-tag{font:10px var(--mono);color:#75908a;letter-spacing:.08em}.insight-card strong{display:block;font-size:23px;margin:12px 0 3px}.insight-card p{font-size:12px;color:#718083;margin:0}.insight-card p b{font:500 20px var(--mono);color:#34786d}.gait-grid{display:grid;grid-template-columns:minmax(0,1.5fr) .7fr;gap:18px}.chart-card,.gait-stats,.principle,.control-card,.doc-card{background:var(--white);border:1px solid var(--line)}.chart-card{padding:22px}.chart-legend{font-size:11px;color:#829091;display:flex;align-items:center;gap:5px}.blue-dot,.orange-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--blue);margin-left:8px}.orange-dot{background:var(--orange)}.chart-wrap{margin-top:32px}.chart-wrap svg{width:100%;height:auto;display:block}.grid-line{stroke:#d7dfdc;stroke-width:1}.trace{fill:none;stroke-width:3;stroke-linecap:round}.trace-blue{stroke:var(--blue)}.trace-orange{stroke:var(--orange);opacity:.8}.axis-labels{display:flex;justify-content:space-between;color:#9aa4a3;font:10px var(--mono);padding:0 2px}.gait-stats{display:grid;grid-template-columns:1fr 1fr}.gait-stats div{padding:22px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.gait-stats div:nth-child(2n){border-right:0}.gait-stats div:nth-last-child(-n+2){border-bottom:0}.gait-stats span{font-size:11px;color:#7d8a8d}.gait-stats strong{display:block;font:500 25px var(--mono);margin-top:12px}.gait-stats small{font-size:11px;color:#788685}.intervention-section{background:#dfe9e4;max-width:none}.intervention-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.principle,.control-card{padding:30px}.wave-box{background:var(--ink);min-height:190px;padding:20px;color:#9ab3b2;position:relative}.wave-box svg{width:100%;display:block;margin:26px 0}.wave{fill:none;stroke-width:2;stroke-linecap:round}.wave.faint{stroke:#6a8f91;opacity:.65}.wave.strong{stroke:var(--cyan);stroke-dasharray:5 6;opacity:.8}.wave-label{font:10px var(--mono);color:#7e9b9a}.wave-label.right{position:absolute;right:20px;bottom:18px;color:var(--cyan)}.principle>p{font-size:13px;color:#617371;max-width:560px;margin:24px 0 0}.control-head{margin-bottom:38px}.mode-pill{font:10px var(--mono);padding:5px 8px;border:1px solid #9cbdb2;color:#39806f}.control-card label{font-size:13px;display:flex;justify-content:space-between}.control-card output{font:500 20px var(--mono);color:#357c70}.control-card input{width:100%;margin:24px 0 7px;accent-color:#4e9f8c}.range-scale{display:flex;justify-content:space-between;color:#899995;font:10px var(--mono)}.motor-row{border-top:1px solid var(--line);margin-top:38px;padding-top:20px;display:flex;align-items:center;gap:12px}.motor-icon{color:var(--orange);font-size:25px}.motor-row div{display:grid;flex:1}.motor-row b{font-size:12px}.motor-row small{color:#7e8d8a;font-size:11px}.small-button{border:1px solid #a6bbb5;padding:7px 10px;color:#3d7f71}.small-button:hover{background:#dfeee9}.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.doc-card{padding:28px;min-height:270px;display:flex;flex-direction:column}.doc-number{font:11px var(--mono);color:#4d9a8a}.doc-card h3{font-size:23px;letter-spacing:-.04em;margin:28px 0 11px}.doc-card p{font-size:13px;color:#718083;margin:0;max-width:560px}.flow-line{display:flex;gap:12px;align-items:center;margin-top:auto;color:#3e887a;font:11px var(--mono)}.flow-line i{color:#a1b0aa}.doc-card dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:25px 0 0;font:11px var(--mono)}.doc-card dt{color:#92a09f}.doc-card dd{margin:0;text-align:right;color:#3c8275}.code-chip{font:11px var(--mono);color:#39796f;background:#e9f1ed;padding:10px;margin-top:auto;overflow:auto}.doc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font:10px var(--mono);color:#91a09d}.text-button{font-size:11px;color:#317d70}footer{border-top:1px solid var(--line);padding:22px clamp(24px,7vw,124px);display:flex;justify-content:space-between;color:#84908f;font:10px var(--mono);letter-spacing:.06em}
@media(max-width:900px){.shell{grid-template-columns:1fr}.rail{position:relative;height:auto;padding:18px 20px;display:block}.rail nav{display:flex;overflow:auto;margin:22px 0 0;gap:6px}.nav-link{white-space:nowrap;border-left:0;border-bottom:1px solid #3a4b64;padding:9px}.rail-foot{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.hero-visual{height:380px}.metrics{grid-template-columns:1fr 1fr}.pressure-layout,.gait-grid,.intervention-grid{grid-template-columns:1fr}.content-section{padding-top:65px;padding-bottom:65px}}
@media(max-width:580px){.topbar{padding:0 18px}.crumb{display:none}.hero{padding:48px 20px 25px}.hero h1{font-size:57px}.hero-visual{transform:scale(.82);margin:-25px -40px}.metrics{grid-template-columns:1fr 1fr}.metric-card{padding:18px 15px}.metric-card strong{font-size:28px}.content-section{padding-left:18px;padding-right:18px}.section-heading{display:block}.section-caption{display:block;margin-top:10px}.doc-grid{grid-template-columns:1fr}.feet{gap:28px}.foot-column{width:112px;height:250px}.zone{width:22px;height:22px;font-size:8px}.panel-dark{padding:18px;overflow:hidden}footer{padding:18px;display:grid;gap:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.panel-tools{display:flex;align-items:center;gap:8px}.serial-button{border:1px solid #4b8e89;background:#244b57;color:#d5f6ef;padding:6px 9px;cursor:pointer;font-size:11px}.serial-button:hover:not(:disabled){background:#316a6d}.serial-button.muted{border-color:#425b6b;background:transparent;color:#8fa6b3}.serial-button:disabled{opacity:.45;cursor:not-allowed}
.section-actions{display:flex;align-items:center;gap:18px}.export-button{border:1px solid #418779;background:var(--ink);color:#e9f8f3;padding:10px 14px;cursor:pointer;font-size:12px}.export-button:hover{background:#285249}.hardware-block{margin-top:34px;border-top:1px solid var(--line);padding-top:30px}.hardware-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:18px}.hardware-heading h3{margin:8px 0 0;font-size:26px;letter-spacing:-.04em}.hardware-heading p{max-width:470px;margin:0;color:#7a8788;font-size:12px}.hardware-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.hardware-gallery figure{margin:0;background:#e4ebe7;border:1px solid #d2dcd6}.hardware-gallery img{display:block;width:100%;height:120px;object-fit:cover;mix-blend-mode:multiply}.hardware-gallery figcaption{padding:9px;font-size:10px;color:#5d7370}.export-button:focus-visible,.serial-button:focus-visible,.small-button:focus-visible,.ghost-button:focus-visible,.text-button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media(max-width:900px){.hardware-gallery{grid-template-columns:repeat(3,1fr)}.section-actions{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:580px){.hardware-gallery{grid-template-columns:repeat(2,1fr)}.hardware-gallery img{height:100px}}
