@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/HankenGrotesk-Variable.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/SpaceGrotesk-Variable.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/IBMPlexSans-Variable.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/JetBrainsMono-Variable.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/HankenGrotesk-Variable.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/SpaceGrotesk-Variable.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/IBMPlexSans-Variable.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/JetBrainsMono-Variable.woff2) format("woff2")}:root{--bg-0: #0C0C0D;--bg-1: #131315;--surface-1: #1A1B1D;--surface-2: #222326;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text-1: #F7F6F3;--text-2: #A9A8A4;--text-3: #6E6D6A;--orange: #F6862B;--orange-hover: #FF9A45;--orange-deep: #C96A14;--on-orange: #161310;--cold: #5BC8DB;--ok: #6FCF8E;--warn: #F2C14E;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--dur-fast: .18s;--dur-base: .36s;--dur-slow: .8s;--font-mono: "JetBrains Mono", ui-monospace, monospace;--max-w: 1320px}:root[data-type=a]{--font-display: "Hanken Grotesk", sans-serif;--font-body: "Hanken Grotesk", sans-serif;--disp-weight: 700;--disp-track: -.02em;--h1-size: clamp(54px, 6.6vw, 116px);--h2-size: clamp(38px, 4vw, 64px);--h3-weight: 600}:root[data-type=b]{--font-display: "Space Grotesk", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--disp-weight: 550;--disp-track: -.01em;--h1-size: clamp(48px, 6vw, 104px);--h2-size: clamp(34px, 3.7vw, 58px);--h3-weight: 500}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-0);color:var(--text-2);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--orange);color:var(--on-orange)}h1,h2,h3{color:var(--text-1);margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration:none}.o{color:var(--orange)}.wrap{max-width:var(--max-w);margin-inline:auto;padding-inline:clamp(24px,5vw,64px)}.kicker{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:10px}.kicker:before{content:"";width:8px;height:8px;background:var(--text-3);flex:none}:root[data-type=b] .kicker{font-size:13px;color:var(--text-2)}:root[data-type=b] .kicker:before{content:"//";width:auto;height:auto;background:none;color:var(--text-3)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nav{position:fixed;top:20px;left:50%;translate:-50% 0;z-index:100;display:flex;align-items:center;gap:28px;padding:10px 12px 10px 22px;border:1px solid var(--line);border-radius:999px;background:#0c0c0d8c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out);max-width:calc(100vw - 32px)}.nav.scrolled{border-color:var(--line-strong);background:#0c0c0dc7}.nav-logo{display:flex;align-items:center}.nav-logo img{height:20px;display:block}.nav-links{display:flex;align-items:center;gap:24px}.nav-links a{font-size:14.5px;font-weight:500;color:var(--text-2);transition:color var(--dur-fast) var(--ease-out)}.nav-links a:hover{color:var(--text-1)}.lang-toggle{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;display:flex;gap:2px;border:1px solid var(--line);border-radius:999px;padding:2px}.lang-toggle button{all:unset;cursor:pointer;padding:4px 9px;border-radius:999px;color:var(--text-3);transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.lang-toggle button:hover{color:var(--text-2)}.lang-toggle button.active{color:var(--text-1);background:var(--surface-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-family:var(--font-body);font-size:15.5px;font-weight:600;padding:13px 28px;cursor:pointer;white-space:nowrap;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--orange);color:var(--on-orange)}.btn-primary:hover{background:var(--orange-hover);transform:scale(1.02)}.btn-primary:active{transform:scale(.98)}.btn-ghost{background:transparent;color:var(--text-1);border-color:var(--line-strong)}.btn-ghost:hover{border-color:#ffffff52;background:var(--surface-1)}.btn-nav{padding:9px 20px;font-size:14px}.hero{position:relative;padding-top:clamp(140px,16vh,190px);padding-bottom:clamp(80px,9vh,140px);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,5vw,80px);align-items:center}.hero h1{font-family:var(--font-display);font-weight:var(--disp-weight);letter-spacing:var(--disp-track);font-size:var(--h1-size);line-height:1.02;margin-top:28px}.hero-sub{margin-top:28px;font-size:18px;max-width:56ch}.hero-ctas{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}.hero-vignette-col{position:relative}.hero-vignette-col:before{content:"";position:absolute;inset:-18%;background:radial-gradient(closest-side,rgba(246,134,43,.06),transparent 70%);pointer-events:none}.marquee{border-block:1px solid var(--line);overflow:hidden;padding-block:18px;background:var(--bg-1)}.marquee-track{display:flex;gap:0;width:max-content;animation:marquee 56s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-seg{font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;color:var(--text-3);white-space:nowrap;padding-right:4em}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section{padding-block:clamp(96px,12vw,180px)}.section-alt{background:var(--bg-1)}.section-head{max-width:880px}.section-head h2{font-family:var(--font-display);font-weight:var(--disp-weight);letter-spacing:var(--disp-track);font-size:var(--h2-size);line-height:1.05;margin-top:24px}.section-head .lede{margin-top:20px;font-size:17.5px;max-width:62ch}.props{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 40px;padding:0;list-style:none}.props li{display:flex;gap:12px;align-items:baseline;font-size:15.5px;color:var(--text-2)}.props li:before{content:"";width:7px;height:7px;background:var(--text-3);flex:none;translate:0 -1px}.product-grid{margin-top:72px;display:grid;gap:20px}.grid-flagship{grid-template-columns:repeat(2,1fr)}.grid-three{grid-template-columns:repeat(3,1fr);margin-top:20px}.grid-coming{grid-template-columns:repeat(2,1fr);margin-top:20px}.card{background:var(--surface-1);border:1px solid var(--line);border-radius:16px;padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;gap:18px;transition:border-color var(--dur-base) var(--ease-out)}.card:hover{border-color:var(--line-strong)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-top .status-chip{margin-top:6px}.card h3{font-family:var(--font-display);font-weight:var(--h3-weight);letter-spacing:-.01em;font-size:24px;line-height:1.15}.grid-flagship .card h3{font-size:30px}.status-chip{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-3)}.status-chip.ga{color:var(--text-2)}.card-line{font-size:15.5px;color:var(--text-2)}.grid-flagship .card-line{font-size:16.5px}.card .vignette{margin-top:auto}.vignette{background:var(--bg-0);border:1px solid var(--line);border-radius:16px;overflow:hidden}.vignette-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-3);white-space:nowrap;overflow:hidden}.vignette-bar .dots{display:flex;gap:5px;flex:none}.vignette-bar .dots i{width:7px;height:7px;border-radius:50%;background:var(--surface-2)}.vignette-bar .spacer{flex:1}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--orange);flex:none;animation:livePulse 2.4s var(--ease-inout) infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.35}}.vignette-body{padding:20px}.steps{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);position:relative}.route-line{position:absolute;top:7px;left:0;width:100%;height:16px;pointer-events:none}.route-line path{stroke:var(--orange);stroke-width:2;fill:none}.step{position:relative;padding-top:36px}.step:before{content:"";position:absolute;top:0;left:0;width:15px;height:15px;border-radius:50%;background:var(--bg-0);border:2px solid var(--orange)}.section-alt .step:before{background:var(--bg-1)}.step-num{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--text-3)}.step h3{font-family:var(--font-display);font-weight:var(--h3-weight);font-size:26px;margin-top:10px}.step p{margin-top:12px;font-size:15.5px}.video-band{margin:88px 0 0}.video-frame{position:relative;aspect-ratio:21 / 9;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg-1)}.video-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12) translateY(var(--video-shift, 0px));will-change:transform;opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}.video-frame.has-video .video-media{opacity:1}.video-frame.has-video .video-placeholder{display:none}.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;background:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(255,255,255,.015) 14px 28px),var(--bg-1)}.video-ph-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--text-3)}.video-ph-note{max-width:44ch;font-size:14.5px;color:var(--text-2)}.video-ph-path{font-size:12px;color:var(--text-3);border:1px solid var(--line);border-radius:999px;padding:5px 14px}.video-caption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:baseline;gap:18px;padding:36px 28px 20px;background:linear-gradient(to top,rgba(12,12,13,.82),transparent);pointer-events:none}.video-frame:not(.has-video) .video-caption{display:none}.video-cap-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--text-1);white-space:nowrap}.video-cap-text{font-size:14px;color:var(--text-2)}@media(max-width:720px){.video-frame{aspect-ratio:16 / 10}.video-caption{flex-direction:column;gap:4px}}.stats{margin-top:clamp(80px,9vw,130px);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line);padding-top:48px}.stat-num{font-family:var(--font-display);font-weight:var(--disp-weight);letter-spacing:var(--disp-track);font-size:clamp(40px,4.4vw,72px);line-height:1;color:var(--text-1);font-variant-numeric:tabular-nums}.stat-num .unit{font-size:.55em}.stat-cap{margin-top:14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.company-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,6vw,100px);align-items:start}.company-copy{margin-top:28px;font-size:19px;line-height:1.7;max-width:58ch}.company-copy strong{color:var(--text-1);font-weight:600}.company-copy a{color:var(--text-1);border-bottom:1px solid var(--line-strong);transition:border-color var(--dur-fast) var(--ease-out)}.company-copy a:hover{border-color:var(--orange)}.coords{font-family:var(--font-mono);font-size:13px;line-height:2.4;letter-spacing:.1em;color:var(--text-3);border-left:1px solid var(--line);padding-left:28px;margin-top:64px;white-space:pre-line}.cta-band{text-align:center;border-top:1px solid var(--line)}.cta-band h2{font-family:var(--font-display);font-weight:var(--disp-weight);letter-spacing:var(--disp-track);font-size:var(--h2-size);line-height:1.08;max-width:22ch;margin-inline:auto}.cta-band .btn{margin-top:44px}.footer{border-top:1px solid var(--line);background:var(--bg-1);overflow:hidden}.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-block:80px 64px}.footer h4{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin:0 0 20px}.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer ul a{font-size:15px;color:var(--text-2);transition:color var(--dur-fast) var(--ease-out)}.footer ul a:hover{color:var(--text-1)}.footer-brand img{height:22px;display:block}.footer-brand p{margin-top:18px;font-size:14.5px;max-width:32ch;color:var(--text-3)}.footer-contact{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.02em}.footer-wordmark{font-family:var(--font-display);font-weight:var(--disp-weight);letter-spacing:var(--disp-track);font-size:clamp(110px,21vw,280px);line-height:.85;color:var(--text-1);user-select:none;display:flex;align-items:baseline;margin-top:16px;margin-bottom:.1em}.footer-wordmark .sq{width:.13em;height:.13em;background:var(--orange);margin-left:.07em;flex:none}.footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-block:24px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--text-3)}.will-reveal{opacity:0;transform:translateY(24px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.will-reveal.revealed{opacity:1;transform:none}:root[data-motion=off] .will-reveal{opacity:1!important;transform:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1!important;transform:none!important;transition:none!important}}:root[data-motion=off] *,:root[data-motion=off] *:before,:root[data-motion=off] *:after{animation:none!important;transition:none!important}:root[data-motion=off] html{scroll-behavior:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}@media(max-width:1080px){.grid-three{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr);row-gap:48px}}@media(max-width:920px){.nav-links{display:none}.hero-grid,.company-grid{grid-template-columns:1fr}.coords{margin-top:0}.footer-cols{grid-template-columns:1fr 1fr}}@media(max-width:720px){.grid-flagship,.grid-three,.grid-coming,.props,.steps{grid-template-columns:1fr}.route-line{display:none}}:root[data-motion=on] .vignette:not(.play) .seq{opacity:0}:root[data-motion=on] .vignette.play .seq{animation:vIn .5s var(--ease-out) both;animation-delay:var(--d, 0s)}@keyframes vIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.vswap{position:relative;display:inline-flex}.vswap .swap-b{position:absolute;inset:0;opacity:0}:root[data-motion=on] .vignette.play .vswap .swap-a{animation:swapOut .3s var(--ease-out) both;animation-delay:var(--d2, 4s)}:root[data-motion=on] .vignette.play .vswap .swap-b{animation:swapIn .3s var(--ease-out) both;animation-delay:var(--d2, 4s)}@keyframes swapOut{to{opacity:0}}@keyframes swapIn{to{opacity:1}}@media(prefers-reduced-motion:reduce){.vignette .seq,.vignette .vswap .swap-a,.vignette .vswap .swap-b{animation-delay:0s!important}}.v-chip{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-2);white-space:nowrap}.v-chip.ok{color:var(--ok);border-color:#6fcf8e59}.v-chip.cold{color:var(--cold);border-color:#5bc8db59}.v-chip.warn{color:var(--warn);border-color:#f2c14e66}.v-mono-sm{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--text-3)}.v-hero{position:relative;box-shadow:0 40px 80px -32px #000c;background:var(--surface-1)}.v-hero .vignette-body{padding:24px;display:flex;flex-direction:column;gap:22px}.trace-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.trace-steps{display:flex;flex-direction:column;position:relative}.trace-node{display:flex;gap:14px;align-items:flex-start;position:relative;padding-bottom:26px}.trace-node:last-child{padding-bottom:0}.trace-node .rail{position:absolute;left:9px;top:24px;bottom:4px;width:2px;background:var(--line);overflow:hidden}.trace-node .rail i{display:block;width:100%;height:100%;background:var(--ok);transform-origin:top}:root[data-motion=on] .vignette:not(.play) .trace-node .rail i{transform:scaleY(0)}:root[data-motion=on] .vignette.play .trace-node .rail i{animation:railDraw .7s var(--ease-out) both;animation-delay:var(--d, 0s)}@keyframes railDraw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.trace-node .rail i{animation-delay:0s!important}}.trace-dot{width:20px;height:20px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;border:1.5px solid var(--line-strong);color:var(--text-3);background:var(--bg-0)}.trace-dot.done{border-color:var(--ok);color:var(--ok)}.trace-dot.transit{border-color:var(--cold);color:var(--cold)}.trace-label{display:flex;flex-direction:column;gap:4px;min-width:0}.trace-label .t-name{font-size:14px;font-weight:600;color:var(--text-1);line-height:1.3}.trace-label .t-meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--text-3)}.temp-panel{border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg-0)}.temp-reading{font-family:var(--font-mono);font-size:26px;font-weight:500;color:var(--text-1);font-variant-numeric:tabular-nums}.temp-reading .deg{color:var(--cold)}.temp-spark{width:100%;height:44px;display:block}.temp-spark .band{fill:#f2c14e12}.temp-spark .band-edge{stroke:#f2c14e40;stroke-width:1;stroke-dasharray:3 4}.temp-spark polyline{fill:none;stroke:var(--cold);stroke-width:1.5;stroke-dasharray:320}:root[data-motion=on] .vignette:not(.play) .temp-spark polyline{stroke-dashoffset:320}:root[data-motion=on] .vignette.play .temp-spark polyline{animation:sparkDraw 1.8s var(--ease-out) both;animation-delay:var(--d, .3s)}@keyframes sparkDraw{0%{stroke-dashoffset:320}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.temp-spark polyline{animation-delay:0s!important}}.wa-msg{border:1px solid var(--line);border-left:2px solid var(--ok);background:var(--bg-0);border-radius:8px;padding:12px 16px;display:flex;gap:12px;align-items:flex-start}.wa-msg .wa-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--text-3);text-transform:uppercase}.wa-msg .wa-text{font-size:13.5px;color:var(--text-1);margin-top:4px;line-height:1.45}.wa-msg .wa-check{font-family:var(--font-mono);font-size:11px;color:var(--cold);margin-left:auto;flex:none}.v-chat .vignette-body{display:flex;flex-direction:column;gap:10px;min-height:168px}.chat-bubble{max-width:85%;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.45}.chat-user{align-self:flex-end;background:var(--surface-2);color:var(--text-1);border-bottom-right-radius:4px}.chat-ai{align-self:flex-start;background:var(--bg-1);border:1px solid var(--line);color:var(--text-2);border-bottom-left-radius:4px}.chat-ai .ai-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);display:block;margin-bottom:6px}.chat-table{font-family:var(--font-mono);font-size:11px;color:var(--text-2);border-collapse:collapse;margin-top:4px}.chat-table td{padding:3px 14px 3px 0;border-top:1px solid var(--line)}.chat-table tr:first-child td{border-top:0;color:var(--text-3)}.typing{display:inline-flex;gap:4px;padding:4px 0}.typing i{width:5px;height:5px;border-radius:50%;background:var(--text-3)}:root[data-motion=on] .vignette.play .typing i{animation:typingBlink 1s var(--ease-inout) infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typingBlink{0%,to{opacity:.25}50%{opacity:1}}:root[data-motion=on] .vignette.play .chat-typing{animation:vIn .3s var(--ease-out) both,swapOut .3s var(--ease-out) forwards;animation-delay:var(--d, 0s),var(--d2, 3s)}:root:not([data-motion=on]) .chat-typing{display:none}@media(prefers-reduced-motion:reduce){.chat-typing{display:none}}.v-table .vignette-body{padding:8px 0}.wms-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 20px;font-family:var(--font-mono);font-size:11.5px;color:var(--text-2);border-top:1px solid var(--line)}.wms-row:first-child{border-top:0;color:var(--text-3);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.wms-row .qty{color:var(--text-3)}.v-map .vignette-body{display:grid;place-items:center;padding:28px 20px 20px;overflow:hidden}.map-floor{display:grid;grid-template-columns:repeat(8,26px);grid-auto-rows:26px;gap:3px;transform:rotateX(56deg) rotate(-32deg);transform-style:preserve-3d}.map-floor i{border:1px solid var(--line);border-radius:2px}.map-floor i.fill{background:var(--surface-2)}.map-floor i.hot{background:var(--orange);border-color:var(--orange);box-shadow:0 0 18px #f6862b80}:root[data-motion=on] .vignette.play .map-floor i.hot{animation:hotPulse 2.6s var(--ease-inout) infinite}@keyframes hotPulse{0%,to{opacity:1}50%{opacity:.55}}.map-floor i.cold-cell{background:#5bc8db40;border-color:#5bc8db66}.v-spark .temp-panel{border:0;border-radius:0}.v-log .vignette-body{font-family:var(--font-mono);font-size:11.5px;line-height:2.1;color:var(--text-3);letter-spacing:.02em}.v-log .ok-txt{color:var(--ok)}.v-log .dev{color:var(--text-2)}.v-kiosk .vignette-body{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kiosk-tile{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px}.kiosk-tile .kt-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.kiosk-tile .kt-val{font-size:17px;font-weight:600;color:var(--text-1);font-variant-numeric:tabular-nums}:root[data-motion=on] .vignette.play .kiosk-tile.active{animation:tileGlow 3.5s var(--ease-inout) infinite}@keyframes tileGlow{0%,to{border-color:var(--line)}50%{border-color:#5bc8db73}}.v-displays .vignette-body{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.disp-tile{border:1px solid var(--line);border-radius:6px;padding:10px}.disp-tile .kt-label{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);display:block;margin-bottom:8px}.disp-bars{display:flex;align-items:flex-end;gap:4px;height:34px}.disp-bars i{flex:1;background:var(--surface-2);border-radius:2px 2px 0 0;height:var(--h, 50%)}.disp-bars i.live{background:#5bc8db8c}:root[data-motion=on] .vignette.play .disp-bars i.live{animation:barLive 3s var(--ease-inout) infinite}@keyframes barLive{0%,to{height:var(--h, 50%)}50%{height:calc(var(--h, 50%) + 26%)}}.v-ota .vignette-body{padding:8px 0}.ota-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 20px;font-family:var(--font-mono);font-size:11.5px;color:var(--text-2);border-top:1px solid var(--line)}.ota-row:first-child{border-top:0}.v-bol .vignette-body{font-family:var(--font-mono);font-size:11.5px;line-height:2.1;color:var(--text-3)}.v-bol .ok-txt{color:var(--ok)}.v-bol .field{color:var(--text-2)}.v-axle .vignette-body{display:flex;flex-direction:column;gap:12px}.axle-row{display:flex;align-items:center;gap:12px}.axle-row .v-mono-sm{width:64px;flex:none}.axle-bar{flex:1;height:10px;border-radius:999px;background:var(--surface-2);position:relative;overflow:visible}.axle-bar i{position:absolute;inset:0 auto 0 0;width:var(--w, 60%);border-radius:999px;background:var(--text-3)}.axle-bar i.over{background:var(--warn)}:root[data-motion=on] .vignette:not(.play) .axle-bar i{width:0}:root[data-motion=on] .vignette.play .axle-bar i{animation:axleFill 1s var(--ease-out) both;animation-delay:var(--d, .2s)}@keyframes axleFill{0%{width:0}to{width:var(--w, 60%)}}@media(prefers-reduced-motion:reduce){.axle-bar i{animation-delay:0s!important}}.axle-limit{position:absolute;top:-4px;bottom:-4px;left:78%;width:1px;background:var(--line-strong)}@media(max-width:560px){.trace-grid{grid-template-columns:1fr}}
