@charset "UTF-8";:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light dark;--page: #ffffff;--ink: #252525;--heading: #161616;--muted: #6b6b6b;--subtle: #8f8f8f;--line: #ebebeb;--line-soft: rgb(0 0 0 / 6%);--surface: #f7f7f7;--stage: #f6f6f3;--stage-grid: rgb(37 37 37 / 5.5%);--primary: #252525;--primary-hover: #000000;--on-primary: #ffffff;--orange: #f54900;--orange-soft: #fff1e0;--blue: #2b7fff;--night: #0b0e13;--night-ink: #fafafa;--night-muted: #a3a8b1;--night-line: rgb(255 255 255 / 10%);--night-orange: #ff8904;--header-bg: rgb(255 255 255 / 78%);--logo-filter: none;--fig-ink: 37 37 37;--header-height: 64px;--gutter: 32px;--ease: cubic-bezier(.22, 1, .36, 1)}@media(prefers-color-scheme:dark){:root{--page: #0b0e13;--ink: #e8e9eb;--heading: #fafafa;--muted: #a3a8b1;--subtle: #7d838d;--line: rgb(255 255 255 / 10%);--line-soft: rgb(255 255 255 / 7%);--surface: #1a1f28;--stage: #11161d;--stage-grid: rgb(255 255 255 / 4.5%);--primary: #ebebeb;--primary-hover: #ffffff;--on-primary: #161616;--orange: #ff8904;--orange-soft: rgb(255 137 4 / 14%);--night: #11161d;--header-bg: rgb(11 14 19 / 72%);--logo-filter: invert(1);--fig-ink: 232 233 235}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{margin:0;background:var(--page);overflow-x:clip}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:6px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,dl,dd,ol,ul,figure{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3{color:var(--heading);text-wrap:balance}::selection{background:var(--orange-soft);color:var(--heading)}.container{width:min(1200px,calc(100% - var(--gutter) * 2));margin-inline:auto}.skip-link{position:fixed;top:10px;left:12px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--page);transform:translateY(-160%)}.skip-link:focus{transform:none}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d, 0) * 90ms)}.js [data-reveal].is-visible{opacity:1;transform:none}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}.site-header.is-scrolled{background:var(--header-bg);border-bottom-color:var(--line-soft);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px)}.header-inner{height:var(--header-height);display:flex;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;color:var(--heading)}.logo{width:28px;height:28px;filter:var(--logo-filter)}.brand-name{font-size:17px;font-weight:650;letter-spacing:.06em;line-height:1}.brand-company{padding-left:10px;border-left:1px solid var(--line);font-size:13px;font-weight:500;letter-spacing:.08em;line-height:1;color:var(--subtle)}.header-nav{display:flex;gap:32px;margin-left:auto;font-size:14px;font-weight:500;color:var(--muted)}.header-nav a{transition:color .2s}.header-nav a:hover{color:var(--heading)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:999px;background:var(--primary);color:var(--on-primary);font-size:15px;font-weight:600;letter-spacing:.02em;white-space:nowrap;transition:background .2s,transform .2s var(--ease)}.button:hover{background:var(--primary-hover)}.button:active{transform:scale(.98)}.button-small{min-height:34px;padding:0 16px;font-size:13px;font-weight:550}.header-nav+.button-small{margin-left:8px}.hero{padding-block:clamp(40px,7vh,88px) clamp(80px,12vh,140px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,96px)}.hero h1{font-size:clamp(40px,4.7vw,68px);font-weight:650;line-height:1.16;letter-spacing:.01em}.line{display:inline-block}.lead{max-width:30em;margin-top:28px;font-size:clamp(16px,1.45vw,19px);line-height:1.85;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:40px}.hero-stage{position:relative;aspect-ratio:1;border-radius:32px;background-color:var(--stage);background-image:linear-gradient(var(--stage-grid) 1px,transparent 1px),linear-gradient(90deg,var(--stage-grid) 1px,transparent 1px);background-size:28px 28px;background-position:center;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.hero-stage:after{content:"";position:absolute;inset:0;background:radial-gradient(closest-side,transparent 55%,var(--stage) 100%);pointer-events:none}.hero-stage.is-dragging{cursor:grabbing}.hero-stage svg{position:relative;z-index:1;display:block;width:100%;height:100%}.hero-stage figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;display:flex;align-items:baseline;justify-content:space-between;font-size:13px;color:var(--subtle);pointer-events:none}.math,.fig-label{font-family:Times New Roman,STIX Two Text,Times,serif;font-style:italic}.math{font-size:16px;color:var(--muted)}.stage-hint{letter-spacing:.08em}#surface .mesh path{fill:none;stroke:rgb(var(--fig-ink));stroke-width:1;stroke-linecap:round;stroke-linejoin:round}#surface .frame{fill:none;stroke:rgb(var(--fig-ink) / 22%);stroke-width:1}#surface .frame.dashed{stroke-dasharray:3 5}#surface .floor-path{fill:none;stroke:var(--blue);stroke-opacity:.45;stroke-width:1.2;stroke-dasharray:2 5;stroke-linecap:round}#surface .drop{stroke:var(--blue);stroke-opacity:.7;stroke-width:1.2;stroke-dasharray:3 4}#surface .shadow-dot{fill:var(--blue)}#surface .trail{fill:none;stroke:var(--orange);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}#surface .tracer{fill:var(--orange)}#surface .tracer-halo{fill:var(--orange);opacity:.18}#surface .fig-label{font-size:18px;fill:rgb(var(--fig-ink) / 55%)}.section{padding-block:clamp(96px,14vh,168px)}.section-head{display:flex;flex-direction:column;align-items:center;text-align:center}.section h2{font-size:clamp(32px,3.8vw,52px);font-weight:650;line-height:1.2;letter-spacing:.02em}.section-sub{max-width:32em;margin-top:18px;font-size:clamp(16px,1.35vw,18px);line-height:1.8;color:var(--muted)}.product{padding-top:0}.product-stage{margin-top:clamp(40px,6vh,64px);border-radius:32px;background:#f6f6f3;overflow:hidden}.features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 40px;margin-top:clamp(48px,7vh,80px)}.features li{padding-top:28px;border-top:1px solid var(--line)}.feature-icon{width:26px;height:26px;margin-bottom:22px;fill:none;stroke:var(--heading);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.feature-icon .accent{fill:var(--orange);stroke:none}.features h3{font-size:18px;font-weight:600;line-height:1.4;letter-spacing:.02em}.features p{margin-top:10px;font-size:15px;line-height:1.8;color:var(--muted)}.product-foot{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:clamp(56px,8vh,88px)}.platforms{font-size:14px;letter-spacing:.06em;color:var(--subtle)}.approach{--heading: var(--night-ink);--muted: var(--night-muted);--line: var(--night-line);--orange: var(--night-orange);color:var(--night-ink);background:var(--night);border-block:1px solid var(--line-soft)}.approach-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(48px,7vw,112px)}.principles{margin-top:48px}.principles li{display:grid;grid-template-columns:9em minmax(0,1fr);gap:24px;padding-block:22px;border-top:1px solid var(--line)}.principles li:last-child{border-bottom:1px solid var(--line)}.principles h3{font-size:17px;font-weight:600;line-height:1.7;letter-spacing:.02em}.principles p{font-size:15px;line-height:1.8;color:var(--muted)}.loop svg{display:block;width:100%;height:auto;overflow:visible}#loop .ring{fill:none;stroke:#ffffff24;stroke-width:1}#loop .ring-inner{fill:none;stroke:#ffffff0f;stroke-width:1;stroke-dasharray:2 6}#loop .comet{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round}#loop .comet-head{fill:var(--orange)}#loop .comet-halo{fill:var(--orange);opacity:.2}#loop .node circle{fill:var(--night);stroke:#fff6;stroke-width:1.2;transition:fill .5s,stroke .5s}#loop .node text{font-size:15px;font-weight:500;letter-spacing:.04em;fill:var(--night-muted);transition:fill .5s}#loop .node.is-on circle{fill:var(--orange);stroke:var(--orange)}#loop .node.is-on text{fill:var(--night-ink)}#loop .center-title{font-size:34px;font-weight:650;letter-spacing:.08em;fill:var(--night-ink)}#loop .center-sub{font-size:14px;letter-spacing:.16em;fill:var(--night-muted)}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(40px,6vw,96px);align-items:start}.about-lead{font-size:clamp(20px,2vw,26px);font-weight:500;line-height:1.75;letter-spacing:.01em;color:var(--heading)}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:56px}.facts div:first-child{grid-column:1 / -1}.facts div,.contact-list div{padding-block:20px;border-top:1px solid var(--line)}.facts dt,.contact-list dt{font-size:13px;letter-spacing:.1em;color:var(--subtle)}.facts dd,.contact-list dd{margin-top:8px;font-size:16px;font-weight:500;line-height:1.6;color:var(--heading)}.contact{padding-top:0}.contact-card{padding:clamp(40px,6vw,80px);border-radius:32px;background:var(--surface)}.contact-card .section-sub{margin-top:14px}.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:48px}.contact-list a{border-bottom:1px solid var(--orange);transition:color .2s}.contact-list a:hover{color:var(--orange)}.site-footer{padding-bottom:32px;font-size:13px;color:var(--subtle)}.footer-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;padding-block:28px 20px;border-top:1px solid var(--line)}.footer-top .logo{width:24px;height:24px}.footer-top .brand-name{font-size:15px}.footer-top nav{display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--muted)}.footer-top nav a:hover,.footer-bottom a:hover{color:var(--heading)}.footer-bottom{display:flex;flex-wrap:wrap;gap:4px 20px;line-height:1.7}.not-found{min-height:calc(100svh - var(--header-height) - 120px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding-block:64px;text-align:center}.not-found img{width:132px;margin-bottom:28px}.not-found h1{font-size:clamp(28px,3vw,40px);font-weight:650;letter-spacing:.02em}.not-found p{margin:14px 0 32px;font-size:16px;line-height:1.8;color:var(--muted)}@media(max-width:1024px){.hero-grid,.approach-grid{grid-template-columns:minmax(0,1fr)}.hero-stage,.loop{width:min(100%,560px);justify-self:center}.features{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 40px}.about-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){:root{--header-height: 56px;--gutter: 20px}.header-nav,.brand-company{display:none}.header-inner{justify-content:space-between}.hero{padding-top:32px}.lead{margin-top:20px}.hero-actions{margin-top:32px}.hero-stage{border-radius:24px}.hero-stage figcaption{left:20px;right:20px;bottom:16px}.product-stage{margin-inline:calc(var(--gutter) * -1);border-radius:0}.product-stage img{aspect-ratio:5 / 4;object-fit:cover}.features{grid-template-columns:minmax(0,1fr);gap:0}.features li{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:18px;padding-block:22px}.feature-icon{grid-row:span 2;margin:2px 0 0}.features p{margin-top:6px}.product-foot{flex-direction:column;gap:14px}.principles li{grid-template-columns:minmax(0,1fr);gap:4px}#loop .node text{font-size:21px}#loop .center-title{font-size:44px}#loop .center-sub{font-size:19px}.facts{grid-template-columns:minmax(0,1fr);margin-top:40px}.contact-card{margin-inline:calc(var(--gutter) * -1);border-radius:0;padding:56px var(--gutter)}.contact-list{grid-template-columns:minmax(0,1fr);margin-top:36px}.footer-top{flex-direction:column;align-items:flex-start}.footer-bottom{flex-direction:column;gap:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1;transform:none;transition:none}*,*:before,*:after{transition:none!important}}
