/* anteirus.com — shared stylesheet. No build step: pages link this file directly.
   A quiet page: one warm off-white background, navy text, thin rules instead of boxes. Colour appears only inside the
   product previews (console, terminal, fleet, recovery), which keep their own dark palette and are the focal points. Fonts are self-hosted (assets/fonts, SIL OFL 1.1); the fallback faces are
   metric-matched so text barely moves when the web fonts arrive. */

@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/spectral-400-latin.woff2) format('woff2')}
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/spectral-400-italic-latin.woff2) format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/spectral-500-latin.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/public-sans-latin.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-400-latin.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-500-latin.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/jetbrains-mono-700.woff2) format('woff2')}
@font-face{font-family:'Spectral Fallback';src:local('Georgia');size-adjust:102.22%;ascent-override:103.6%;descent-override:45.29%;line-gap-override:0%}
@font-face{font-family:'Public Sans Fallback';src:local('Arial'),local('ArialMT');size-adjust:99.26%;ascent-override:95.71%;descent-override:22.67%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Mono Fallback';src:local('Courier New'),local('CourierNewPSMT');size-adjust:99.98%;ascent-override:102.52%;descent-override:27.5%;line-gap-override:0%}

:root{
  --page:#f7f3ec;
  --page-2:#fbf8f3;
  --navy:#0e1116;
  --blue:#82b5ef;
  --red:#e3645e;
  --amber:#e3b341;
  --green:#3fb950;
  --bg-s:var(--page);
  --surface:var(--page-2);
  --surface-2:#efe9de;
  --fg:var(--navy);
  --fg-1:rgba(14,17,22,.88);
  --fg-2:rgba(14,17,22,.72);
  --fg-3:rgba(14,17,22,.62);
  --rule:rgba(14,17,22,.1);
  --rule-2:rgba(14,17,22,.2);
  --accent:var(--navy);
  --serif:'Spectral','Spectral Fallback',Georgia,serif;
  --sans:'Public Sans','Public Sans Fallback',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'IBM Plex Mono','IBM Plex Mono Fallback',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --term:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,'Apple Symbols','Segoe UI Symbol',monospace;
  --win-shadow:0 1px 2px rgba(14,17,22,.08),0 24px 48px -24px rgba(14,17,22,.45);
  --wrap:1240px;
  --gutter:clamp(16px,4vw,56px);
  --measure:68ch;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px;color-scheme:light;background:var(--page)}
body{margin:0;background:var(--bg-s);color:var(--fg-1);font-family:var(--sans);font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
p,ul,ol,dl,table,figure{margin:0 0 1em}
a{color:var(--fg);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
::selection{background:rgba(14,17,22,.14)}
b,strong{font-weight:600}
code,kbd,samp,.mono{font-family:var(--mono);font-size:.86em}
code{background:var(--surface-2);border:1px solid var(--rule);padding:.05em .32em;overflow-wrap:anywhere}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;color:var(--fg);margin:0 0 .5em;text-wrap:balance;letter-spacing:-.006em}
h1{font-size:clamp(40px,5.2vw,66px);line-height:1.04;letter-spacing:-.014em}
h2{font-size:clamp(30px,3.4vw,46px)}
h3{font-size:clamp(22px,2vw,26px);line-height:1.22}
h4{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.35;letter-spacing:0}
em{font-style:italic}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.measure{max-width:var(--measure)}
.kicker{display:block;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);margin:0 0 22px}
.lbl{display:block;font-family:var(--sans);font-size:13.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--fg-3)}
.lede{font-size:clamp(17px,1.45vw,19px);line-height:1.62;color:var(--fg-2);max-width:52ch}
.muted{color:var(--fg-3)}
.small{font-size:15px;line-height:1.55}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:50;background:var(--navy);color:var(--page);padding:10px 14px;font-size:14px;text-decoration:none}
.skip:focus{top:12px;color:var(--page)}

/* ---------- Header and navigation ---------- */
.site-header{background:var(--page);border-bottom:1px solid var(--rule);position:relative;z-index:20}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 32px;flex-wrap:wrap;min-height:68px;padding-top:12px;padding-bottom:12px}
.wordmark{color:var(--navy);text-decoration:none;font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;line-height:1;padding:6px 0}
.wordmark:hover{color:var(--navy)}
.site-nav{display:flex;align-items:center;gap:4px 30px;flex-wrap:wrap}
.site-nav>a,.menu>summary{font-size:14.5px;color:var(--fg-2);text-decoration:none;padding:8px 0;cursor:pointer;line-height:1.3}
.site-nav>a:hover,.menu>summary:hover,.menu[open]>summary{color:var(--navy)}
.site-nav>a[aria-current="page"],.menu.is-current>summary{color:var(--navy);box-shadow:inset 0 -1px 0 var(--navy)}
.site-nav .nav-cta{color:var(--page);background:var(--navy);padding:11px 18px;font-weight:500}
.site-nav .nav-cta:hover{color:#fff;background:var(--navy)}
.menu{position:relative}
.menu>summary{list-style:none;display:flex;align-items:center;gap:9px}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.menu[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.menu-panel{position:absolute;top:calc(100% + 12px);left:-16px;width:340px;max-width:calc(100vw - 2 * var(--gutter));background:var(--page-2);border:1px solid var(--rule-2);padding:6px;display:grid;gap:2px}
.menu-panel a{display:grid;gap:4px;padding:12px 14px;text-decoration:none;color:var(--navy)}
.menu-panel a:hover,.menu-panel a:focus-visible{background:var(--surface-2)}
.menu-panel a:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
.menu-panel b{font-weight:600;font-size:15px}
.menu-panel span{font-size:13.5px;line-height:1.45;color:var(--fg-2)}
.menu-panel a[aria-current="page"] b{box-shadow:inset 0 -1px 0 var(--navy)}
@media (max-width:760px){
  .site-header .wrap{position:relative;padding-top:14px;padding-bottom:10px}
  .site-nav{width:100%;gap:2px 20px}
  .site-nav .nav-cta{position:absolute;top:12px;right:var(--gutter);padding:9px 14px}
  .menu-panel{left:0}
}

/* ---------- Buttons and chips ---------- */
.actions{display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;margin:36px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.1;padding:17px 26px;border:1px solid var(--fg);text-decoration:none;cursor:pointer;background:none;color:var(--fg)}
.btn:hover{text-decoration:none;color:var(--fg)}
.btn-primary{background:var(--fg);color:var(--bg-s)}
.btn-primary:hover{background:var(--fg);color:var(--bg-s);box-shadow:inset 0 0 0 999px rgba(255,255,255,.1)}
.btn-quiet{border-color:var(--rule-2)}
.btn-quiet:hover{border-color:var(--fg)}
.btn-link{font-size:15.5px;font-weight:500;color:var(--fg);text-decoration:none;padding:6px 0;border-bottom:1px solid var(--rule-2)}
.btn-link:hover{color:var(--fg);border-bottom-color:var(--fg)}
/* Status chips: used only where the status has a real meaning */
.chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none;line-height:1;padding:5px 9px;border:1px solid var(--rule-2);color:var(--fg-1);white-space:nowrap;vertical-align:middle}
.chip::before{content:"";width:6px;height:6px;background:currentColor;flex:none}
.chip-proto::before,.chip-plan::before,.chip-preview::before,.chip-agent::before{background:none;box-shadow:inset 0 0 0 1px currentColor}
.chip-internal::before{opacity:.45}

/* ---------- Sections ---------- */
.sec,.section{padding:clamp(72px,9vw,124px) 0;border-top:1px solid var(--rule);background:var(--bg-s)}
.sec.tight,.section.tight{padding:clamp(48px,6vw,80px) 0}
.section.recessed{background:var(--surface)}
.sec-head,.section-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px 64px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2,.section-head h2{margin:0}
.sec-head>p,.section-head>p{margin:0;color:var(--fg-2);max-width:48ch;justify-self:end}
.sec-num{font-family:var(--sans);font-size:14px;letter-spacing:0;color:var(--fg-3);margin:0 0 14px}
@media (max-width:900px){.sec-head,.section-head{grid-template-columns:1fr}.sec-head>p,.section-head>p{justify-self:start}}
.section>span[id]:empty,.sec>span[id]:empty{display:block;position:relative;top:-24px}
.prose{max-width:var(--measure)}
.prose h2{margin-top:1.6em;font-size:clamp(26px,2.6vw,34px)}
.prose h3{margin-top:1.4em}
.prose li{margin:.35em 0}
.prose ul,.prose ol{padding-left:1.25em}
.prose p,.prose li{color:var(--fg-1)}

/* Page intro (pages other than home) */
.page-intro{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(48px,6vw,72px)}
.page-intro h1{max-width:18ch}
.page-intro .lede{max-width:58ch;margin-top:22px}
.page-intro .meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;font-size:14.5px;color:var(--fg-2)}
.toc{display:flex;flex-wrap:wrap;gap:8px 24px;margin:34px 0 0;padding:18px 0 0;border-top:1px solid var(--rule);font-size:14.5px;list-style:none}
.toc a{color:var(--fg-2);text-decoration:none}
.toc a:hover{color:var(--fg);text-decoration:underline}

/* ---------- Home hero ---------- */
.hero{padding:clamp(56px,8vw,104px) 0 clamp(64px,8vw,104px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px 64px;align-items:start}
.hero h1{margin:0 0 28px;font-size:clamp(42px,5vw,66px)}
.hero .lede{margin:0;max-width:41ch}
.status-line{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:26px 0 0;font-size:14.5px;line-height:1.5;color:var(--fg-2)}
.audience{display:flex;flex-wrap:wrap;gap:8px 24px;margin:44px 0 0;padding:20px 0 0;border-top:1px solid var(--rule);font-size:14.5px;color:var(--fg-2);list-style:none}
.audience li:first-child{color:var(--fg);font-weight:600}
@media (max-width:1080px){.hero-grid{grid-template-columns:minmax(0,1fr)}}
.t-hero{max-width:860px;margin:0 0 clamp(40px,5vw,64px)}
.t-hero .lede{max-width:60ch}
.demo-fig{margin:0;min-width:0}
.preview-label{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;font-size:14px;line-height:1.45;color:var(--fg-3)}
.preview-label strong{color:var(--fg-2);font-weight:500}

/* ---------- Product UI previews (sample data) ----------
   The environment console (home) and the session recovery center (terminal page) share one interface style: Inter for
   the interface, JetBrains Mono for names and IDs, quiet dividers, and status shown as small tinted labels. */
.ui{--u-bg:#101114;--u-chrome:#0c0d10;--u-sel:#1c1f25;--u-line:rgba(255,255,255,.07);--u-line-2:rgba(255,255,255,.12);
  --u-fg:#ededef;--u-fg-2:#b4b8c0;--u-fg-3:#8f949c;--u-bar:#4a505c;--u-red:#f2777d;--u-amber:#e3b24f;--u-green:#4cc38a;
  margin:0;background:var(--u-bg);border:1px solid #23262d;box-shadow:var(--win-shadow);
  font-family:'Inter','Public Sans Fallback',system-ui,sans-serif;font-size:13px;line-height:1.45;letter-spacing:-.003em;color:var(--u-fg-2);
  font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;-webkit-font-smoothing:antialiased}
.ui b{font-weight:600;color:var(--u-fg)}
.ui code{font-family:var(--term);font-size:12px;letter-spacing:0;color:var(--u-fg-2);background:none;border:0;padding:0;overflow-wrap:normal}
.ui svg{display:block;flex:none}
.ui-tag{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 7px;font-size:11.5px;font-weight:500;line-height:1;white-space:nowrap;color:var(--u-fg-2);background:rgba(255,255,255,.07);flex:none}
.ui-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.ui-tag.plain::before{display:none}
.ui-tag.red{color:var(--u-red);background:rgba(242,119,125,.13)}
.ui-tag.amber{color:var(--u-amber);background:rgba(227,178,79,.13)}
.ui-tag.green{color:var(--u-green);background:rgba(76,195,138,.13)}
.ui-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:500;color:var(--u-fg-2);background:rgba(255,255,255,.07)}
.ui-tabs{display:flex;gap:20px;padding:0 16px;border-bottom:1px solid var(--u-line);white-space:nowrap;overflow:hidden}
.ui-tabs span{padding:10px 0 9px;font-weight:500;color:var(--u-fg-3)}
.ui-tabs .on{color:var(--u-fg);box-shadow:inset 0 -2px 0 var(--u-fg)}
.ui-btn{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border:1px solid var(--u-line-2);background:rgba(255,255,255,.03);font-weight:500;color:var(--u-fg);white-space:nowrap}
.ui-btn svg{color:var(--u-fg-3)}
.ui-btn-primary{background:var(--u-fg);border-color:var(--u-fg);color:#0e0f12}
.ui-btn-primary svg{color:#0e0f12}
.ui-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--u-line-2)}
.ui-seg span{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;font-weight:500;color:var(--u-fg-3);white-space:nowrap}
.ui-seg .on{background:var(--u-sel);color:var(--u-fg);box-shadow:inset 0 0 0 1px var(--u-line-2)}
.ui-check{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid rgba(255,255,255,.24);flex:none}
.ui-check.on{background:var(--u-fg);border-color:var(--u-fg);color:#0e0f12}

/* Environment console (home) */
.ui-top{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;background:var(--u-chrome);border-bottom:1px solid var(--u-line);white-space:nowrap}
.ui-wordmark{font-family:var(--serif);font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--u-fg)}
.ui-crumb{color:var(--u-fg-3)}
.ui-page{font-weight:500;color:var(--u-fg)}
.ui-top .ui-tag{margin-left:auto}
.ui-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--u-line)}
.ui-stats>div{padding:13px 16px 14px;border-left:1px solid var(--u-line);min-width:0}
.ui-stats>div:first-child{border-left:0}
.ui-stats .k{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--u-fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ui-stats b{display:block;margin-top:5px;font-size:22px;line-height:1.15;letter-spacing:-.02em}
.ui-dot{width:6px;height:6px;border-radius:50%;background:var(--u-red);flex:none}
.ui-chart{padding:14px 16px 12px;border-bottom:1px solid var(--u-line)}
.ui-chart-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:14px}
.ui-chart-head .sub{color:var(--u-fg-3)}
.ui-legend{display:flex;gap:14px;margin-left:auto;font-size:12px;color:var(--u-fg-3)}
.ui-legend span{display:inline-flex;align-items:center;gap:6px}
.ui-legend i{width:8px;height:8px;background:var(--u-bar)}
.ui-legend i.blk{background:var(--u-red)}
.ui-plot{position:relative;padding-left:30px}
.ui-plot .y{position:absolute;left:0;width:22px;text-align:right;font-size:11px;line-height:1;color:var(--u-fg-3);transform:translateY(-50%)}
.ui-plot .y120{top:0}.ui-plot .y60{top:50%}.ui-plot .y0{top:100%}
.ui-bars{display:flex;align-items:flex-end;gap:3px;height:120px;margin:0;padding:0;list-style:none;border-bottom:1px solid var(--u-line-2);
  background:linear-gradient(var(--u-line),var(--u-line)) 0 0/100% 1px no-repeat,linear-gradient(var(--u-line),var(--u-line)) 0 50%/100% 1px no-repeat}
.ui-bars li{position:relative;flex:1;min-width:0;background:var(--u-bar)}
.ui-bars i{position:absolute;left:0;right:0;top:0;background:var(--u-red)}
.h15{height:15%}.h20{height:20%}.h25{height:25%}.h30{height:30%}.h35{height:35%}.h45{height:45%}.h50{height:50%}
.h60{height:60%}.h65{height:65%}.h70{height:70%}.h75{height:75%}
.ui-bars .b31{height:31%}.ui-bars .b36{height:36%}
.ui-x{display:flex;justify-content:space-between;margin:8px 0 0 30px;font-size:11px;color:var(--u-fg-3)}
.ui-events-head{display:flex;align-items:center;gap:8px;padding:12px 16px 10px}
.ui-events-head .more{margin-left:auto;font-size:12px;color:var(--u-fg-3)}
.ui-events ul{list-style:none;margin:0;padding:0}
.ui-events li{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 16px 11px;border-top:1px solid var(--u-line)}
.ui-events .ui-tag{justify-self:start}
.ui-events .t{font-weight:500;color:var(--u-fg);min-width:0}
.ui-events .m{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--u-fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ui-events .m code{font-size:11.5px}
.ui-events .age{font-size:12px;color:var(--u-fg-3)}
@media (max-width:640px){
  .ui-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ui-stats>div:nth-child(3){border-left:0}
  .ui-stats>div:nth-child(-n+2){border-bottom:1px solid var(--u-line)}
  .ui-tabs span:nth-child(n+4){display:none}
  .ui-legend{margin-left:0;width:100%}
  .ui-bars{gap:2px}
  .ui-events li{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
  .ui-events .ui-tag{grid-column:1 / -1}
}

/* Principles strip */
.principles{list-style:none;padding:0;margin:clamp(56px,7vw,96px) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 32px}
.principles li{border-top:1px solid var(--rule-2);padding-top:22px}
.principles .lbl{margin-bottom:12px}
.principles p{margin:0;color:var(--fg-1);font-size:16px;line-height:1.5}
.principles-note{margin:22px 0 0;font-size:14px;color:var(--fg-3)}
@media (max-width:1040px){.principles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.principles{grid-template-columns:minmax(0,1fr)}}

/* Cards */
.card{border-top:1px solid var(--rule-2);padding:28px 0 0;min-width:0}
.card h3{font-size:clamp(26px,2.4vw,32px);margin:0 0 16px}
.card p{color:var(--fg-2)}
.card .kicker,.fact .kicker{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--fg-2);margin-bottom:12px}
.card .chip{margin-top:4px}
.card-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px 72px}
.card-split>div{min-width:0}
.items{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 36px}
.items li{border-top:1px solid var(--rule-2);padding-top:18px}
.items .n{display:block;font-family:var(--mono);font-size:11px;color:var(--fg-3);margin-bottom:10px}
.items h4{margin:0 0 6px}
.items p{margin:0;font-size:15px;line-height:1.55;color:var(--fg-2)}
.items.one{grid-template-columns:minmax(0,1fr);gap:0;margin-top:28px}
.items.one li{padding:14px 0}
.items.one .n{margin-bottom:4px}
.card-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 72px;margin-top:72px}
.ticks{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--rule)}
.ticks li{padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px;color:var(--fg-1)}
.card .more{margin:24px 0 0}
@media (max-width:900px){.card-split,.card-pair{grid-template-columns:minmax(0,1fr)}.items{grid-template-columns:minmax(0,1fr)}}

/* Four steps with a ruled top edge */
.steps4{list-style:none;padding:0;margin:0 0 clamp(40px,5vw,64px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 32px}
.steps4 li{position:relative;border-top:1px solid var(--fg);padding-top:26px}
.steps4 li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--fg)}
.steps4 .lbl{margin-bottom:10px}
.steps4 h3{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.35;margin:0 0 8px}
.steps4 p{margin:0;font-size:15px;line-height:1.55;color:var(--fg-2)}
@media (max-width:1040px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps4{grid-template-columns:minmax(0,1fr)}}

/* Trust-boundary diagram (HTML, not an image) */
.boundary{margin:0;border:1px solid var(--rule-2);background:var(--surface)}
.bd-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:14px 20px;border-bottom:1px solid var(--rule);font-size:13.5px;color:var(--fg-3)}
.bd-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(110px,.32fr) minmax(0,1fr);gap:16px;padding:24px 20px;align-items:stretch}
.bd-env{border:1px dashed var(--rule-2);padding:18px;display:grid;gap:8px;align-content:start;min-width:0}
.bd-box{border:1px solid var(--rule-2);background:var(--surface);padding:12px 14px;font-size:14.5px;color:var(--fg)}
.bd-box small,.bd-plane small{display:block;font-size:13px;font-weight:400;color:var(--fg-3);margin-top:4px}
.bd-plane{background:var(--fg);color:var(--bg-s);padding:14px 16px;font-size:14.5px;font-weight:500}
.bd-plane small{color:var(--bg-s);opacity:.82}
.bd-flow{margin:6px 0;text-align:center;font-size:13px;color:var(--fg-3)}
.bd-flow::before{content:"";display:inline-block;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid currentColor;margin-right:8px;vertical-align:1px}
.bd-arrow{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:10px;font-size:13px;color:var(--fg-2);text-align:center}
.bd-arrow i{display:block;height:1px;background:var(--fg);position:relative}
.bd-arrow i::after{content:"";position:absolute;right:-1px;top:-4px;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:8px solid var(--fg)}
.bd-ctl{border:1px solid var(--rule-2);background:var(--surface);padding:18px;min-width:0;align-self:center}
.bd-ctl ul{list-style:none;padding:0;margin:10px 0 0}
.bd-ctl li{padding:11px 0;border-bottom:1px solid var(--rule);font-size:14.5px;color:var(--fg)}
.bd-ctl li:last-child{border-bottom:0}
.bd-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 20px;border-top:1px solid var(--rule);font-size:13.5px;color:var(--fg-2);margin:0}
@media (max-width:900px){.bd-body{grid-template-columns:minmax(0,1fr)}.bd-arrow{padding:4px 0}.bd-arrow i{width:1px;height:28px;margin:0 auto}.bd-arrow i::after{right:-4px;top:auto;bottom:-1px;border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:8px solid var(--fg);border-bottom:0}}

/* The closing row of a band (for example security and engineering under the architecture) */
.band-foot{margin-top:clamp(48px,6vw,80px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--rule-2)}

/* Split layout: copy beside a figure */
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px 64px;align-items:center}
.split .lede{max-width:44ch}
@media (max-width:1040px){.split{grid-template-columns:minmax(0,1fr)}}

/* Contact block */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px 88px;align-items:start}
.contact-grid h2{margin-bottom:22px}
.contact-grid .lede{max-width:46ch}
.contact-grid .actions+.small{margin-top:22px}
.contact-dl{margin:0;border-top:1px solid var(--fg)}
.contact-dl>div{padding:18px 0;border-bottom:1px solid var(--rule)}
.contact-dl dt{display:block;font-size:13.5px;color:var(--fg-3)}
.contact-dl dd{margin:6px 0 0;font-size:16.5px;color:var(--fg)}
@media (max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}

/* Columns, lists and tables (content pages) */
.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 56px}
@media (max-width:900px){.cols-3,.cols-2{grid-template-columns:minmax(0,1fr)}}
.cols-2>h2{font-size:clamp(26px,2.6vw,34px)}
.fact h3{margin-bottom:.35em}
.fact p{color:var(--fg-2);margin:0 0 .6em}
.fact .kicker{margin-bottom:10px}
.ruled-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.ruled-list>li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:8px 40px;padding:24px 0;border-bottom:1px solid var(--rule)}
.ruled-list>li>:first-child{margin:0}
.ruled-list>li h3{font-family:var(--sans);font-size:17.5px;font-weight:600;line-height:1.4}
.ruled-list>li p{margin:0 0 .5em;color:var(--fg-2)}
.ruled-list>li p:last-child{margin-bottom:0}
.ruled-list+p{margin-top:24px}
@media (max-width:760px){.ruled-list>li{grid-template-columns:minmax(0,1fr)}}
.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.steps>li{counter-increment:step;display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 18px;padding:18px 0;border-bottom:1px solid var(--rule)}
.steps>li::before{content:counter(step,decimal-leading-zero);font-family:var(--mono);font-size:12.5px;color:var(--fg-3);padding-top:3px}
.steps>li h3{font-family:var(--sans);font-size:17px;font-weight:600;margin:0 0 4px}
.steps>li p{margin:0;color:var(--fg-2)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rule-2);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.5}
th,td{text-align:left;vertical-align:top;padding:13px 16px;border-bottom:1px solid var(--rule)}
thead th{font-size:13px;font-weight:600;color:var(--fg-2)}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
tbody th{font-weight:600;color:var(--fg)}
td{color:var(--fg-2)}
td .chip{margin-top:2px}
.note{border-left:2px solid var(--fg);padding:2px 0 2px 22px;margin:0 0 24px;max-width:var(--measure)}
.note p:last-child{margin-bottom:0}
.cols-2>.note{align-self:start}
.cols-2+.prose{margin-top:48px}
.callout-row{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:baseline;justify-content:space-between}
.contact-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.contact-list li{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr);gap:6px 32px;padding:16px 0;border-bottom:1px solid var(--rule)}
.contact-list li>span{color:var(--fg-2)}
.contact-list strong{color:var(--fg);font-weight:600}
@media (max-width:640px){.contact-list li{grid-template-columns:minmax(0,1fr)}}
dl.facts{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,5fr);gap:0;border-top:1px solid var(--rule)}
dl.facts dt,dl.facts dd{margin:0;padding:15px 0;border-bottom:1px solid var(--rule)}
dl.facts dt{font-size:14px;color:var(--fg-3);padding-top:17px;padding-right:20px}
dl.facts dd{color:var(--fg)}
@media (max-width:640px){dl.facts{grid-template-columns:minmax(0,1fr)}dl.facts dt{border-bottom:0;padding-bottom:0}}
.h3-like{font-size:clamp(22px,2vw,26px);line-height:1.22;margin:0 0 .6em}
.table-wrap+.h3-like{margin-top:clamp(40px,5vw,56px)}
.lede-sm{font-size:19px;line-height:1.55;color:var(--fg)}
/* Phones: tables become stacked cards. Explicit ARIA roles in the markup keep table semantics for screen readers. */
@media (max-width:640px){
  .table-wrap{border:0;background:none;overflow:visible}
  .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap th,.table-wrap td{display:block;width:auto}
  .table-wrap thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .table-wrap tr{border:1px solid var(--rule-2);padding:12px 14px;margin:0 0 12px;background:var(--surface)}
  .table-wrap th,.table-wrap td{border:0;padding:3px 0}
  .table-wrap tbody th{font-size:16.5px;margin-bottom:2px}
}

/* Architecture figure on the engineering page (HTML boxes) */
.figure{margin:0;border:1px solid var(--rule-2);background:var(--surface);padding:clamp(16px,2.4vw,28px)}
.figure figcaption{font-size:14.5px;color:var(--fg-3);margin-top:16px;max-width:var(--measure)}
.figure+.flow-title{margin-top:clamp(40px,5vw,56px)}
.arch-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);gap:20px;align-items:start}
.arch-mac{border:1px solid var(--rule-2);padding:18px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;background:var(--bg-s)}
.arch-box{border:1px solid var(--rule-2);padding:16px 18px;background:var(--surface);min-width:0}
.arch-box.dark{background:var(--fg);border-color:var(--fg)}
.arch-box.dark h4,.arch-box.dark ul{color:var(--bg-s)}
.arch-box.dashed{border-style:dashed}
.arch-box h4{font-family:var(--serif);font-size:19px;font-weight:500;margin:0 0 8px;color:var(--fg)}
.arch-box ul{margin:0;padding-left:1.1em;font-size:14.5px;color:var(--fg-2)}
.arch-box li{margin:.2em 0}
.arch-box .lbl{margin:-2px 0 10px;color:var(--accent)}
.arch-link{grid-column:1/-1;margin:0;font-size:13px;color:var(--fg-3);padding-left:18px}
.arch-wide{grid-column:1/-1}
.arch-out{display:grid;gap:14px}
@media (max-width:900px){.arch-grid,.arch-mac{grid-template-columns:minmax(0,1fr)}}

/* ---------- Footer ---------- */
.site-footer{background:var(--page);border-top:1px solid var(--rule);padding:56px 0 44px;font-size:14px;color:var(--fg-2)}
.site-footer .wordmark{font-size:18px}
.footer-grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:28px 40px}
.footer-brand p{margin:16px 0 0;max-width:34ch;color:var(--fg-2);font-size:14px}
.footer-grid h2{font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--fg);margin:0 0 12px}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin:0 0 9px}
.footer-grid a{color:var(--fg-2);text-decoration:none}
.footer-grid a:hover{color:var(--navy);text-decoration:underline}
.footer-legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--rule);font-size:13px;line-height:1.55;color:var(--fg-3);display:grid;gap:6px}
.footer-legal p{margin:0;max-width:110ch}
@media (max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}

/* ---------- Anteirus Terminal: the session window ----------
   Colours, sizes and glyphs follow the product's own session design: true black, hairlines, square corners,
   JetBrains Mono for chrome and content. */
.term{--tb:#0a0a0b;--tl:#1b222c;--tl2:#11161d;--tbar:#30363d;--t0:#e6edf3;--t1:#c9d1d9;--t2:#adbac7;--t3:#8b949e;--t4:#848d97;--t5:#5d6670;--tg:#3fb950;--tg2:#2ea043;--tbl:#58a6ff;--tbb:#1f6feb;--ta:#e3b341;--tr:#f85149;
  position:relative;background:var(--tb);border:1px solid var(--tl);box-shadow:var(--win-shadow);color:var(--t1);font-family:var(--term);font-size:13px;line-height:1.65;min-width:0;font-variant-ligatures:none}
.term ::selection{background:rgba(88,166,255,.3)}
.term-bar{display:flex;align-items:center;gap:14px;height:42px;padding:0 14px;background:#000;border-bottom:1px solid var(--tl)}
.lights{display:flex;gap:7px;flex:none}
.lights i{display:block;width:11px;height:11px;border-radius:50%;background:#2d333b}
.lights i:nth-child(2){background:#3fb950}
.term-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--t4)}
.term-title b{color:var(--t0);font-weight:700}
.term-rollup{flex:none;font-size:12px;color:var(--t3);white-space:nowrap}
.term-rollup[data-state="waiting"]{color:var(--ta)}
.term-tabs{display:flex;align-items:stretch;background:#000;border-bottom:1px solid var(--tl);overflow-x:auto;scrollbar-width:none}
.term-tabs::-webkit-scrollbar{display:none}
.tab{appearance:none;border:0;border-right:1px solid var(--tl);background:transparent;color:var(--t4);font-family:var(--term);font-size:12px;padding:0 16px;height:32px;display:flex;align-items:center;gap:9px;cursor:pointer;white-space:nowrap}
.tab[aria-selected="true"]{background:var(--tb);color:var(--t0);box-shadow:inset 0 -1px 0 var(--tb)}
.tab:hover{color:var(--t0)}
.tab:focus-visible{outline:1px solid var(--tbl);outline-offset:-3px}
.tab .dot,.state-dot{width:7px;height:7px;border-radius:50%;background:var(--t5);flex:none}
/* Pane states: running green, needs-you amber (the only state that pulses), done faint */
.state-dot{display:inline-block}
.dot[data-state="running"],.state-dot[data-state="running"]{background:#3fb950}
.dot[data-state="waiting"],.state-dot[data-state="waiting"]{background:#e3b341;animation:needs-pulse 1.5s ease-in-out infinite}
.dot[data-state="done"],.state-dot[data-state="done"]{background:#5d6670}
.state-dot[data-state="error"]{background:#f85149}
@keyframes needs-pulse{50%{opacity:.35}}
.term-body{height:390px;overflow:auto;padding:16px 34px 22px 24px;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:#30363d transparent}
.term-body:focus-visible{outline:1px solid var(--tbl);outline-offset:-2px}
.term-body.short{height:auto;overflow:visible}
.t-row{display:flex;gap:11px;margin:12px 0 2px;align-items:baseline}
.t-row:first-child{margin-top:0}
.t-mark{flex:none;width:12px;display:flex;justify-content:center;align-self:flex-start;padding-top:7px}
.t-mark::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tg)}
.t-say .t-mark::before{background:var(--t4)}
.t-say.final .t-mark::before{background:var(--t0)}
.t-say.final{color:var(--t0)}
.t-say{color:var(--t1)}
.t-say.muted{color:var(--t4)}
.t-prompt{color:var(--t0);margin-top:4px}
.t-prompt .t-mark{padding-top:0;color:var(--t3)}
.t-prompt .t-mark::before{content:">";width:auto;height:auto;border-radius:0;background:none;color:var(--t3)}
.t-tool b{color:var(--t0);font-weight:700}
.t-tool .args{color:var(--t4)}
.t-body{min-width:0;flex:1}
.t-res{margin:2px 0 0 23px;color:var(--t4);display:flex;gap:8px}
.t-res::before{content:"";flex:none;width:9px;height:9px;margin-top:3px;border-left:1px solid var(--t5);border-bottom:1px solid var(--t5)}
.t-res.bad{color:var(--tr)}
.t-res.good{color:var(--tg)}
.t-diff{margin:6px 0 2px 23px;border-left:2px solid var(--tl);padding-left:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.t-diff>span{display:block;padding-right:12px}
.t-diff .no{display:inline;color:var(--t4);margin-right:10px}
.t-diff .add{color:var(--tg);background:rgba(63,185,80,.08)}
.t-diff .del{color:var(--tr);background:rgba(248,81,73,.08)}
.t-fold{appearance:none;background:none;border:0;padding:0;margin:2px 0 0 23px;font:inherit;color:var(--t4);cursor:pointer;text-align:left}
.t-fold:hover{color:var(--t2)}
.t-fold:focus-visible{outline:1px solid var(--tbl);outline-offset:2px}
.t-more{margin:2px 0 0 23px;color:var(--t4);white-space:pre-wrap}
.t-hook{margin:6px 0 0 23px;color:var(--t4)}
.t-hook b{color:var(--t2);font-weight:400}
.t-hook .ok{color:var(--tg)}
.t-ask{margin:12px 0 4px;border:1px solid rgba(227,179,65,.35);background:rgba(227,179,65,.05);padding:10px 14px;color:var(--t0)}
.t-ask .q{color:var(--ta);font-weight:700}
.t-ask .opt{color:var(--t3)}
.t-ask .sel{color:var(--t0)}
.t-answer{margin:8px 0 0;color:var(--t3)}
.t-answer b{color:var(--t0)}
.t-shell{white-space:pre-wrap;margin:0 0 2px;color:var(--t1)}
.t-shell .p1{color:var(--tg)}.t-shell .p2{color:var(--tbl)}.t-shell .m{color:var(--ta)}
.cursor{display:inline-block;width:8px;height:16px;vertical-align:-3px;background:#e6e8ec;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
/* The Bash tool marker: a 6 × 4 pixel sprite that slowly turns */
.inv{flex:none;width:12px;height:8px;display:grid;grid-template-columns:repeat(6,2px);grid-auto-rows:2px;align-self:flex-start;margin-top:7px;animation:inv-spin 9s linear infinite;filter:drop-shadow(0 0 2.5px rgba(46,181,90,.45))}
.inv i{width:2px;height:2px}
.inv i.on{background:#2eb55a}
.inv i.on:nth-child(3n){animation:inv-flick 2.6s steps(1) infinite}
.inv i.on:nth-child(4n+1){animation:inv-flick 3.7s steps(1) infinite .4s}
@keyframes inv-spin{to{transform:rotate(360deg)}}
@keyframes inv-flick{40%{opacity:.55}60%{opacity:1}}
.minimap{position:absolute;right:5px;top:84px;bottom:0;width:10px;display:flex;flex-direction:column;gap:2px;padding:4px 2px;pointer-events:none}
.minimap i{display:block;flex:1 1 0;max-height:14px;border-radius:2px;background:#30363d}
.minimap .g{background:var(--tg2)}.minimap .b{background:#1f4e8c}.minimap .a{background:#9e7a1f}.minimap .r{background:#8e2c28}
/* Composer and the footer stack */
.term-composer{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#0a0a0a;border-top:1px solid var(--tl);font-size:12.5px;color:var(--t4);white-space:nowrap;overflow:hidden}
.term-composer b{color:var(--t1)}
.term-composer .hint{overflow:hidden;text-overflow:ellipsis}
.term-foot{background:#000;font-size:12px;line-height:1.45}
.tf{display:flex;align-items:center;padding:7px 14px;border-top:1px solid var(--tl2);white-space:nowrap;overflow:hidden;color:var(--t4);min-width:0}
.tf:first-child{border-top-color:var(--tl)}
.tf .sep{color:var(--tbar);margin:0 11px}
.tf .right{margin-left:auto;padding-left:11px;overflow:hidden;text-overflow:ellipsis}
.tf .repo{color:var(--ta);font-weight:700}
.tf .who{color:var(--t2);display:inline-flex;align-items:center;gap:6px}
.tf .who::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tg)}
.tf .v{color:var(--t2)}
.tf .em{color:var(--t1)}
.tf .add{color:var(--tg)}.tf .del{color:var(--tr)}.tf .money{color:var(--tg)}.tf .tok{color:var(--tbl)}
.ctx-ticks{color:#3d444d;margin:0 10px 0 6px;letter-spacing:-1px}
.ctx-bar{flex:1 1 120px;min-width:60px;height:9px;border:1px solid var(--tbar);margin:0 12px;position:relative}
.ctx-bar b{position:absolute;left:0;top:0;bottom:0;background:var(--tbb);width:4%}
.ctx-bar .pct-4{width:4%}.ctx-bar .pct-11{width:11%}.ctx-bar .pct-13{width:13%}.ctx-bar .pct-21{width:21%}.ctx-bar .pct-22{width:22%}.ctx-bar .pct-23{width:23%}.ctx-bar .pct-27{width:27%}
.ctx-pct{color:var(--tbl);font-weight:700;margin-right:8px}
.plan-blocks{display:inline-flex;gap:2px;margin:0 10px}
.plan-blocks i{width:7px;height:7px;background:var(--tbar)}
.plan-blocks i.on{background:var(--tg2)}
.tf-mode{background:#0a0a0a;padding-top:9px;padding-bottom:9px}
.tf-mode .mode{color:var(--tg);font-weight:700}
.tf-mode .rt{color:var(--ta)}
@media (max-width:760px){
  .term{font-size:12px}
  .term-body{height:400px;padding:14px 22px 18px 14px}
  .term-foot{font-size:11px}
  .tf{padding:6px 10px}
  .tf .sep{margin:0 7px}
  .tf .opt{display:none}
  .ctx-ticks,.term-rollup{display:none}
  .tf .em{margin-left:8px}
  .minimap{display:none}
}

/* ---------- Walkthrough controls ---------- */
.demo{min-width:0}
.demo-controls{display:grid;gap:16px;margin-top:22px}
.demo-caption{margin:0;font-size:16.5px;line-height:1.55;color:var(--fg-2);min-height:3.2em;max-width:76ch}
.demo-caption b{color:var(--fg)}
.demo-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.demo-steps button{appearance:none;font-family:var(--sans);font-size:13.5px;line-height:1.2;padding:9px 12px;border:1px solid var(--rule-2);background:transparent;color:var(--fg-2);cursor:pointer;display:inline-flex;gap:9px;align-items:baseline}
.demo-steps button .n{font-family:var(--mono);font-size:11px;color:var(--fg-3)}
.demo-steps button:hover{border-color:var(--fg);color:var(--fg)}
.demo-steps button[aria-current="step"]{background:var(--fg);color:var(--bg-s);border-color:var(--fg)}
.demo-steps button[aria-current="step"] .n{color:inherit;opacity:.7}
.demo-steps button:disabled{opacity:.4;cursor:not-allowed}
.demo-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.demo-bar .btn{padding:12px 16px;font-size:14px}
.demo-bar .spacer{flex:1}
.btn:disabled{opacity:.4;cursor:not-allowed}
.decision{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--fg);background:var(--surface)}
.decision p{margin:0;flex:1 1 260px;font-size:15px;color:var(--fg-1)}
.decision[hidden]{display:none}
.demo-note{margin:14px 0 0;font-size:14px;line-height:1.55;color:var(--fg-3);max-width:96ch}
.no-js .demo-controls{display:none}
.js .demo:not(.is-live) .demo-controls{visibility:hidden}
.no-js .tab,.no-js .t-fold{pointer-events:none}
.js .demo-nojs{display:none}
.demo-nojs{font-size:15px;color:var(--fg-3);margin:14px 0 0}
.demo-fade{animation:demo-fade .18s ease-out}
@keyframes demo-fade{from{opacity:.35}to{opacity:1}}

/* ---------- Fleet console preview (sample data) ---------- */
.fleet{background:#000;border:1px solid #1b222c;box-shadow:var(--win-shadow);font-family:var(--term);font-size:12px;line-height:1.5;color:#c9d1d9;min-width:0}
.fleet-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #1b222c;white-space:nowrap;overflow:hidden}
.fleet-bar b{color:#e6edf3}
.fleet-bar .path{color:#848d97}
.fleet-bar .counts{margin-left:auto;display:flex;gap:12px;color:#adbac7}
.fleet-bar .stage{border:1px solid #1f4e8c;color:#58a6ff;padding:1px 7px}
.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}
.fc{border:1px solid #30363d;padding:10px 11px;display:grid;gap:3px;min-width:0}
.fc[data-state="waiting"]{border-color:rgba(227,179,65,.55)}
.fc[data-state="error"]{border-color:rgba(248,81,73,.55)}
.fc[data-state="done"]{opacity:.62}
.fc p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-h{display:flex;align-items:center;gap:8px;color:#e6edf3;font-weight:700}
.fc-h .state-dot[data-state="error"]{background:#f85149}
.fc-h .n{margin-left:auto;color:#848d97;font-weight:400}
.fc .task{color:#adbac7}
.fc .ask{color:#e3b341;font-weight:700}
.fc .err{color:#f85149}
.fc .tool,.fc .br{color:#848d97}
.fc .br{color:#8b949e}
.fc-btns{display:flex;gap:4px;margin:2px 0}
.fc-btns span{border:1px solid #30363d;padding:0 8px;color:#adbac7}
.fc-btns span:first-child{border-color:#9e7a1f;color:#e3b341}
.fc .msg{border:1px solid #30363d;padding:1px 8px;color:#848d97}
.fc-foot{display:flex;align-items:center;gap:8px;color:#848d97;margin-top:3px}
.fc-foot .st{color:#adbac7}
.fc[data-state="waiting"] .st{color:#e3b341}.fc[data-state="error"] .st{color:#f85149}.fc[data-state="running"] .st{color:#3fb950}
.fc-foot .mini{margin-left:auto;width:48px;height:3px;background:#30363d;position:relative}
.fc-foot .mini i{position:absolute;left:0;top:0;bottom:0;background:#58a6ff}
.w20{width:20%}.w40{width:40%}.w55{width:55%}.w70{width:70%}.w85{width:85%}.w100{width:100%}
@media (max-width:900px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.fleet-grid{grid-template-columns:minmax(0,1fr)}.fleet-grid .fc:nth-child(n+4){display:none}.fleet-bar .path,.fleet-bar .stage{display:none}}

/* ---------- Session recovery center (sample data; uses the product UI style above) ---------- */
.rc-top{display:flex;align-items:center;gap:14px;height:44px;padding:0 16px;background:var(--u-chrome);border-bottom:1px solid var(--u-line);white-space:nowrap;overflow:hidden}
.rc-top .rc-meta{color:var(--u-fg-3)}
.rc{display:grid;grid-template-columns:300px minmax(0,1fr)}
.rc-side{display:flex;flex-direction:column;gap:4px;padding:12px 10px;background:var(--u-chrome);border-right:1px solid var(--u-line);min-width:0}
.ui-search{display:flex;align-items:center;gap:8px;height:30px;margin:0 2px 8px;padding:0 10px;border:1px solid var(--u-line-2);color:var(--u-fg-3)}
.rc-group{display:flex;align-items:center;gap:7px;padding:6px 6px 4px;font-size:12px;font-weight:500;color:var(--u-fg-2);white-space:nowrap}
.rc-group svg{color:var(--u-fg-3)}
.rc-group .rule{flex:1;height:1px;background:var(--u-line)}
.rc-group .warn{color:var(--u-red)}
.rc-items{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:2px}
.rc-items li{padding:9px 10px 10px;min-width:0}
.rc-items li.sel{background:var(--u-sel);box-shadow:inset 2px 0 0 var(--u-fg)}
.rc-l1{display:flex;align-items:center;gap:8px}
.rc-l1 code{font-size:12.5px;color:var(--u-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-l1 .ui-tag{margin-left:auto}
.rc-l2{display:block;margin-top:4px;font-size:12px;color:var(--u-fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-l2 code{font-size:11.5px}
.rc-main{display:flex;flex-direction:column;min-width:0}
.rc-head{padding:16px 20px 12px}
.rc-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.rc-title b{font-size:17px;letter-spacing:-.012em}
.rc-sub{margin:5px 0 0;color:var(--u-fg-3)}
.rc-main .ui-tabs{padding:0 20px}
.rc-body{display:grid;gap:16px;padding:16px 20px 18px}
.rc-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:500;color:var(--u-fg-3);white-space:nowrap}
.rc-panes{border:1px solid var(--u-line)}
.rc-pane{display:grid;grid-template-columns:15px minmax(80px,.8fr) minmax(0,1fr) 64px minmax(120px,1fr);align-items:center;gap:14px;padding:9px 12px;border-top:1px solid var(--u-line)}
.rc-pane:first-child{border-top:0}
.rc-pane .n{color:var(--u-fg)}
.rc-pane .dir{color:var(--u-fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-plan{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--u-fg-3);white-space:nowrap}
.ui-steps{display:inline-flex;gap:2px}
.ui-steps i{width:9px;height:4px;background:rgba(255,255,255,.13)}
.ui-steps i.on{background:var(--u-green)}
.rc-snap{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--u-line);background:rgba(255,255,255,.02);font-size:12.5px;color:var(--u-fg-3)}
.rc-snap code{color:var(--u-fg)}
.rc-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:auto;padding:14px 20px;border-top:1px solid var(--u-line)}
.rc-foot .rc-label{margin:0}
.rc-actions{display:flex;gap:8px;margin-left:auto}
@media (max-width:1180px){.rc{grid-template-columns:260px minmax(0,1fr)}}
@media (max-width:820px){.rc{grid-template-columns:minmax(0,1fr)}.rc-side{display:none}}
@media (max-width:560px){
  .rc-top .rc-meta{display:none}
  .rc-pane{grid-template-columns:15px minmax(0,1fr) auto}
  .rc-pane .dir,.rc-pane .rc-plan{display:none}
  .rc-actions{margin-left:0}
}

/* Figure captions under product previews */
.fig-note{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:14px 0 0;font-size:14px;line-height:1.5;color:var(--fg-3)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .cursor{animation:none}
}
@media print{
  .site-nav,.demo-controls,.skip,.minimap{display:none}
  .sec,.section{background:#fff;color:#000}
}
