@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#110e10;--bg-deep:#171214;--surface:#1c1618;--surface-raised:#271d20;--primary:#ff696e;--primary-hover:#d83b45;--primary-soft:rgba(255,105,110,.08);--primary-border:rgba(255,105,110,.24);--accent:#de4851;--accent-soft:rgba(222,72,81,.09);--danger:#ff8490;--text:#edf4f7;--muted:#a0aebb;--subtle:#8393a3;--border:#3c2b2f;--border-soft:#2c2125;--heading-font:'Space Grotesk',sans-serif;--body-font:'Inter',sans-serif;--code-font:'JetBrains Mono',monospace;--radius:12px;--container:1180px;--header-height:76px;--sidebar-width:260px;--shadow:0 24px 70px rgba(0,0,0,.25)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body-font);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}body,button,input{font-synthesis:none}::selection{background:var(--primary);color:var(--bg)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img,svg{max-width:100%}p{margin:0 0 1rem}ul,ol{padding-left:1.4rem}h1,h2,h3,h4{font-family:var(--heading-font);font-weight:600;line-height:1.12;letter-spacing:-.045em;margin:0 0 1rem}h1{font-size:clamp(2.7rem,7vw,6.6rem)}h2{font-size:clamp(2rem,4vw,3.25rem)}h3{font-size:1.3rem;letter-spacing:-.025em}strong{font-weight:600}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--primary);outline-offset:5px;border-radius:3px}.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.section{padding-block:84px}.section-surface{background:var(--bg-deep);border-block:1px solid var(--border-soft)}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:10px 18px;background:var(--primary);color:var(--bg);font-weight:700;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.clipboard-buffer{position:fixed;inset:0 auto auto -9999px;width:1px;height:1px}.mono{font-family:var(--code-font)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--primary);font-family:var(--code-font);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em}.signal-dot,.small-dot{display:inline-block;flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--primary)}.signal-dot{box-shadow:0 0 0 5px rgba(255,105,110,.08),0 0 20px rgba(255,105,110,.35)}
/* Navigation */
.site-header{position:sticky;top:0;z-index:40;height:var(--header-height);background:rgba(17,14,16,.94);border-bottom:1px solid transparent;transition:background .2s,border-color .2s}.site-header.is-scrolled{background:rgba(17,14,16,.84);border-bottom-color:var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav-container{width:min(1360px,calc(100% - 40px));height:100%;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font-family:var(--heading-font);font-size:1.04rem;font-weight:700;letter-spacing:.11em;line-height:1}.brand-mark{width:32px;height:32px;color:var(--primary)}.brand-suffix{color:var(--primary);font-weight:500}.primary-nav{display:none;position:absolute;top:calc(var(--header-height) - 1px);inset-inline:0;padding:20px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.primary-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:3px}.primary-nav>a{padding:10px 12px;color:var(--muted);font-size:.83rem;font-weight:500;transition:color .2s}.primary-nav>a:hover,.primary-nav>a[aria-current]{color:var(--primary)}.primary-nav .nav-cta{color:var(--text);margin-top:10px}.menu-toggle{width:44px;height:44px;display:grid;place-content:center;gap:5px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text)}.menu-toggle span{display:block;width:18px;height:1px;background:currentColor}
/* Buttons and badges */
.button-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}.button{min-height:48px;padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:6px;font-size:.86rem;font-weight:600;line-height:1.4;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#b72d3b;color:#fff;box-shadow:0 0 25px rgba(255,105,110,.07)}.button-primary:hover{background:#cc3542;box-shadow:0 0 30px rgba(255,105,110,.16)}.button-secondary{background:rgba(17,14,16,.4);border-color:#604149;color:var(--text)}.button-secondary:hover{background:var(--surface);border-color:var(--primary-border)}.button-small{min-height:38px;padding:9px 16px;font-size:.75rem}.badge-row{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:26px 0 0}.badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:4px;background:rgba(28,22,24,.65);color:#bdcad4;padding:4px 10px;font:.67rem/1.6 var(--code-font)}.badge-muted{color:var(--subtle);border-style:dashed}.status-label{display:inline-block;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:4px;padding:3px 7px;font:500 .58rem/1.5 var(--code-font);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.status-warning{color:#fda4b5;background:var(--accent-soft);border-color:rgba(222,72,81,.25)}.status-neutral{color:#b1c1ce;background:rgba(160,174,187,.06);border-color:#50383e}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--primary);font-size:.85rem;font-weight:500}.text-link:hover{text-decoration:underline;text-underline-offset:5px}
/* Hero */
.hero{position:relative;isolation:isolate;min-height:calc(100svh - var(--header-height));display:grid;align-items:center;padding:70px 0 40px;overflow:hidden}.hero-grid{position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(130,75,85,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(130,75,85,.10) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 38%,#000 10%,transparent 72%)}.hero::after{content:'';position:absolute;z-index:-1;width:75%;height:450px;left:12.5%;top:0;background:radial-gradient(ellipse,rgba(255,105,110,.055),transparent 68%);pointer-events:none}.hero-orbit{position:absolute;z-index:-1;width:720px;height:720px;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-25deg);border:1px solid rgba(255,105,110,.045);border-radius:50%}.hero-orbit::after{content:'';position:absolute;inset:55px;border:1px dashed rgba(255,105,110,.055);border-radius:50%}.hero-content{text-align:center;animation:hero-in .8s ease both}.hero-content>.eyebrow{justify-content:center;margin-bottom:28px}.hero h1{margin-bottom:24px;font-weight:600;line-height:.99;letter-spacing:-.07em}.hero h1 span{color:var(--primary);text-shadow:0 0 65px rgba(255,105,110,.14)}.hero-description{max-width:620px;margin:0 auto 30px;color:var(--muted);font-size:clamp(.95rem,1.6vw,1.12rem);line-height:1.8}.scroll-hint{margin-top:35px;display:inline-flex;align-items:center;gap:15px;color:var(--subtle);font:.65rem var(--code-font)}.scroll-hint:hover{color:var(--primary)}@keyframes hero-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* Statistics and feature cards */
.stats-bar{background:rgba(28,22,24,.5);border-block:1px solid var(--border)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:22px;gap:24px 0}.stat{padding:5px 18px;text-align:center}.stat:nth-child(even){border-left:1px solid var(--border)}.stat strong{display:block;color:var(--primary);font:500 2.2rem/1.3 var(--heading-font);letter-spacing:-.06em}.stat span{display:block;margin-top:5px;color:var(--muted);font:.58rem/1.7 var(--code-font);text-transform:uppercase;letter-spacing:.07em}.section-heading{max-width:630px;margin-bottom:36px}.section-heading h2{margin-bottom:18px}.section-heading>p:not(.eyebrow){color:var(--muted)}.centered{text-align:center;margin-inline:auto}.centered .eyebrow{justify-content:center}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-card{min-width:0;display:flex;flex-direction:column;position:relative;padding:20px 15px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#20181b,#171214);transition:border-color .25s,box-shadow .25s,transform .4s,opacity .4s}.feature-card:hover{border-color:var(--primary-border);box-shadow:0 10px 40px rgba(255,105,110,.055);transform:translateY(-4px)}.feature-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.feature-icon{width:28px;height:28px;color:var(--primary);fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.feature-card h3{font-size:1.12rem;line-height:1.2}.feature-card p{color:var(--muted);font-size:.78rem;line-height:1.8}.feature-card .text-link{margin-top:auto;padding-top:14px;font-size:.72rem}.reveal-pending{opacity:0;transform:translateY(18px)}.split-layout{display:grid;gap:24px}.split-layout>*{min-width:0}
/* Code and highlight.js theme */
.code-block{margin:24px 0;overflow:hidden;border:1px solid #433036;border-radius:9px;background:var(--bg-deep);box-shadow:0 10px 35px rgba(0,0,0,.12)}.code-toolbar{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border-soft);background:#24191d;color:var(--subtle);font:.62rem/1.6 var(--code-font)}.copy-button{background:transparent;color:var(--muted);border:1px solid #5b3e46;border-radius:4px;padding:4px 9px;min-width:55px;font:.62rem var(--code-font)}.copy-button:hover{color:var(--primary);border-color:var(--primary-border)}pre{margin:0;padding:22px;overflow-x:auto;tab-size:2;scrollbar-color:#65424b var(--bg-deep)}code{font-family:var(--code-font);font-size:.82em}pre code{display:block;padding:0;background:transparent;color:#d8e6e9;font-size:.73rem;line-height:1.85;white-space:pre}:not(pre)>code{border:1px solid #483038;border-radius:4px;padding:.12em .38em;background:#2b1c21;color:#ffb2ad;overflow-wrap:anywhere}.code-caption{display:flex;align-items:baseline;gap:9px;color:var(--subtle);font-size:.71rem}.architecture-block{max-width:870px;margin-inline:auto}.architecture-block pre{padding:28px}.architecture-block code{color:#c9b8bc;font-size:clamp(.62rem,1.1vw,.86rem);line-height:1.55}.architecture-block+.callout{max-width:870px;margin:24px auto 0}.hljs{background:transparent;color:#d8e6e9}.hljs-comment,.hljs-quote{color:#8596a5}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:#fda4b5}.hljs-string,.hljs-regexp,.hljs-addition{color:#e8c8a4}.hljs-title,.hljs-section,.hljs-attribute,.hljs-built_in{color:#ffaaa5}.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-symbol{color:#a7cfff}.hljs-meta,.hljs-link{color:#dfbeb5}.hljs-deletion{color:#ff9aab}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
/* Callouts */
.callout{position:relative;margin-block:24px;padding:19px 22px;border:1px solid var(--primary-border);border-left:3px solid var(--primary);border-radius:0 7px 7px 0;background:var(--primary-soft);font-size:.84rem}.callout strong{display:block;margin-bottom:6px;color:var(--text)}.callout p{color:var(--muted);margin:0}.callout-warning{border-color:rgba(222,72,81,.26);border-left-color:var(--accent);background:var(--accent-soft)}.callout-danger{border-color:rgba(255,132,144,.25);border-left-color:var(--danger);background:rgba(255,132,144,.08)}.closing-cta{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:45px 0 80px}.closing-cta h2{font-size:clamp(2rem,4vw,3rem)}
/* Footer */
.site-footer{border-top:1px solid var(--border);background:var(--bg-deep);padding-top:55px}.footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;padding-bottom:44px}.footer-brand{grid-column:1/-1}.footer-brand p{margin-top:17px;color:var(--muted);font-size:.85rem}.footer-note{display:block;color:var(--subtle);font-size:.74rem}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-grid h2{font-family:var(--code-font);color:var(--text);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.footer-grid nav a{color:var(--muted);font-size:.77rem}.footer-grid nav a:hover{color:var(--primary)}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border-soft);padding-block:20px;color:var(--subtle);font-size:.67rem}.footer-bottom p{margin:0}.footer-bottom .mono{font-size:.55rem;letter-spacing:.08em}
/* Documentation */
.docs-page .site-header{border-bottom-color:var(--border)}.docs-mobile-bar{position:sticky;top:var(--header-height);z-index:30;height:48px;display:flex;justify-content:space-between;align-items:center;padding-inline:20px;background:var(--surface);border-bottom:1px solid var(--border)}.sidebar-toggle{display:inline-flex;align-items:center;gap:10px;background:none;color:var(--muted);border:0;padding:7px 0;font-size:.78rem}.version-label{font:.6rem var(--code-font);color:var(--subtle);text-transform:uppercase}.docs-sidebar{display:none;position:fixed;z-index:35;top:calc(var(--header-height) + 48px);bottom:0;left:0;width:min(330px,90vw);overflow-y:auto;overscroll-behavior:contain;padding:25px 21px;background:#171214;border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:#593c44 transparent;box-shadow:var(--shadow)}.docs-sidebar.is-open{display:block}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sidebar-heading .eyebrow{margin:0;font-size:.58rem}.search-box{position:relative}.search-box svg{position:absolute;left:11px;top:13px;width:15px;height:15px;color:var(--subtle)}.search-box input{width:100%;height:42px;border:1px solid #50373f;border-radius:6px;background:var(--bg);color:var(--text);padding:0 10px 0 34px;font-size:.74rem}.search-box input::placeholder{color:var(--subtle)}.search-feedback{color:var(--muted);font-size:.65rem;margin:6px 0 0;min-height:1em}.sidebar-nav details{margin:13px 0 18px}.sidebar-nav summary{cursor:pointer;font:600 .7rem var(--body-font);padding:5px 0 8px;color:#d8e2eb}.sidebar-nav summary::marker{color:var(--subtle);font-size:.7rem}.sidebar-nav a{display:flex;align-items:center;justify-content:space-between;margin:2px 0;padding:5px 10px 5px 18px;border-left:1px solid var(--border);color:var(--muted);font-size:.72rem}.sidebar-nav a:hover{color:var(--text);background:var(--surface-raised)}.sidebar-nav a[aria-current]{color:var(--primary);background:var(--primary-soft);border-left-color:var(--primary)}.nav-tag{margin-left:6px;color:var(--primary);font:.49rem var(--code-font);text-transform:uppercase}.sidebar-note{display:flex;align-items:baseline;gap:10px;padding-top:22px;border-top:1px solid var(--border)}.sidebar-note p{color:var(--subtle);font-size:.65rem;line-height:1.8}.docs-main{min-width:0}.docs-article{width:min(900px,calc(100% - 40px));margin-inline:auto;padding:35px 0 20px}.breadcrumbs{display:flex;align-items:center;gap:12px;color:var(--subtle);font-size:.68rem;margin-bottom:35px}.breadcrumbs a:hover{color:var(--primary)}.article-heading h1{font-size:clamp(2.35rem,5vw,4.15rem);line-height:1.05}.article-lead{max-width:690px;font-size:1.03rem;color:var(--muted);line-height:1.8}.article-meta{display:flex;flex-wrap:wrap;gap:8px;margin-block:24px 34px}.doc-section{padding-top:37px;margin-top:28px;border-top:1px solid var(--border);scroll-margin-top:145px}.doc-section h2{display:flex;align-items:center;gap:14px;font-size:clamp(1.55rem,3vw,2.05rem);letter-spacing:-.035em;margin-bottom:22px}.section-number{font:.65rem var(--code-font);color:var(--primary);border:1px solid var(--primary-border);background:var(--primary-soft);padding:6px;border-radius:4px}.doc-section h3{font-size:1.2rem;margin-top:28px;scroll-margin-top:145px;line-height:1.5}.doc-section h3 .status-label{margin-left:8px;vertical-align:middle;letter-spacing:.04em}.doc-section p,.doc-section li{color:var(--muted);font-size:.88rem}.doc-section p strong{color:var(--text)}.doc-section p a{color:var(--primary);text-decoration:underline;text-underline-offset:4px}.doc-section ul li{padding-block:4px}.table-scroll{overflow-x:auto;margin-block:24px;border:1px solid var(--border);border-radius:7px;scrollbar-color:#65424b var(--bg-deep)}table{width:100%;border-collapse:collapse;font-size:.75rem;text-align:left}th,td{padding:13px 16px;vertical-align:top;border-bottom:1px solid var(--border-soft);min-width:130px}thead th{background:var(--surface-raised);color:#dce6ec;font-size:.66rem;font-weight:600}tbody th{font-weight:500;color:#c6d4de}td{color:var(--muted)}tbody tr:last-child>*{border-bottom:0}tbody tr:hover{background:rgba(39,29,32,.4)}.steps{list-style:none;counter-reset:steps;padding:0;margin-block:25px;display:grid;gap:12px}.steps li{display:flex;gap:16px;padding:19px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.steps li::before{counter-increment:steps;content:counter(steps,decimal-leading-zero);flex-shrink:0;display:grid;place-items:center;width:31px;height:31px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:5px;font:.7rem var(--code-font)}.steps h3{color:var(--text);margin:3px 0 8px;font-size:1rem}.steps p{margin:0;font-size:.81rem}.page-navigation{margin-top:55px;padding-top:30px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr;gap:15px}.page-navigation a{display:flex;flex-direction:column;padding:18px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.page-navigation a:last-child{text-align:right}.page-navigation a:hover{border-color:var(--primary-border)}.page-navigation span{color:var(--subtle);font-size:.68rem}.page-navigation strong{margin-top:4px;font:500 1rem var(--heading-font)}.docs-footer{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-block:35px 10px;color:var(--subtle);font-size:.65rem}.docs-footer a:hover{color:var(--primary)}
@media(min-width:768px){.container{width:min(var(--container),calc(100% - 64px))}.section{padding-block:108px}.hero{padding-top:80px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding-block:28px}.stat+.stat{border-left:1px solid var(--border)}.stat strong{font-size:2.7rem}.stat span{font-size:.62rem}.feature-grid{gap:20px}.feature-card{padding:28px}.feature-card h3{font-size:1.3rem}.feature-card p{font-size:.86rem}.feature-card .text-link{font-size:.78rem}.feature-icon{width:32px;height:32px}.split-layout{grid-template-columns:.85fr 1.15fr;align-items:center;gap:55px}.split-layout .section-heading{margin-bottom:0}.closing-cta{flex-direction:row;align-items:center;justify-content:space-between;padding-block:20px 95px}.footer-grid{grid-template-columns:1.7fr 1fr 1fr 1fr;gap:30px}.footer-brand{grid-column:auto}.page-navigation{grid-template-columns:1fr 1fr}.docs-article{width:min(900px,calc(100% - 80px));padding-top:45px}pre code{font-size:.78rem}}
@media(min-width:1024px){.menu-toggle{display:none}.primary-nav,.primary-nav.is-open{display:flex;position:static;flex-direction:row;align-items:center;gap:13px;padding:0;border:0;box-shadow:none;background:none}.primary-nav>a{padding:8px 6px}.primary-nav .nav-cta{margin:0 0 0 17px;padding:10px 16px}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{padding:30px}.hero{min-height:min(900px,calc(100svh - var(--header-height)))}.docs-mobile-bar{display:none}.docs-sidebar,.docs-sidebar.is-open{display:block;width:var(--sidebar-width);top:var(--header-height);box-shadow:none}.docs-main{margin-left:var(--sidebar-width)}.docs-article{padding-top:48px}.doc-section,.doc-section h3{scroll-margin-top:104px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}}
@media print{:root{color-scheme:light;--text:#17212a;--muted:#344451;--subtle:#465462;--border:#c9d0d5;--primary:#a32231}body{background:#fff;color:var(--text);font-size:11pt}.site-header,.docs-sidebar,.docs-mobile-bar,.site-footer,.hero-grid,.hero-orbit,.copy-button,.skip-link,.scroll-hint,.page-navigation,.closing-cta{display:none!important}.docs-main{margin:0}.docs-article,.container{width:100%;max-width:none}.hero{min-height:auto;padding-block:20px}.hero h1 span{text-shadow:none}.section{padding-block:24px}.code-block,.feature-card,.callout,.steps li,.table-scroll{background:#fff;box-shadow:none;break-inside:avoid}.code-toolbar{background:#eee}pre code,.hljs,.architecture-block code{color:#17212a}pre,pre code{white-space:pre-wrap;overflow-wrap:anywhere}.badge,.status-label{background:none}.reveal-pending{opacity:1;transform:none}}

/* Hero-only aurora: decoration 0–1, readable content 10. */
.hero.hero-aurora {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #110e10;
}
.hero-aurora::after { content: none; }
.hero-aurora .hero-atmosphere,
.hero-aurora .hero-grain,
.hero-aurora .hero-vignette {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-aurora .hero-atmosphere { z-index: 0; overflow: hidden; }
.hero-aurora .aurora-blob {
  position: absolute;
  width: clamp(300px, 36vw, 500px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(100px);
  will-change: transform;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.hero-aurora .aurora-blob-1 {
  top: -12%; left: -5%; background: #ff696e; opacity: .25;
  animation-name: aurora-drift-1; animation-duration: 15s;
}
.hero-aurora .aurora-blob-2 {
  top: -10%; right: -4%; background: #de4851; opacity: .18;
  animation-name: aurora-drift-2; animation-duration: 20s; animation-delay: -7s;
}
.hero-aurora .aurora-blob-3 {
  top: 22%; left: 30%; background: #d83b45; opacity: .20;
  animation-name: aurora-drift-3; animation-duration: 25s; animation-delay: -11s;
}
.hero-aurora .aurora-blob-4 {
  bottom: -18%; left: 10%; background: #761c2a; opacity: .25;
  animation-name: aurora-drift-4; animation-duration: 18s; animation-delay: -5s;
}
.hero-aurora .aurora-blob-5 {
  top: 48%; right: 0;
  background: radial-gradient(circle at 30% 30%, #de4851, #ff696e 65%);
  opacity: .18;
  animation-name: aurora-drift-5; animation-duration: 22s; animation-delay: -13s;
}
.hero-aurora .hero-grain {
  z-index: 1;
  opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}
.hero-aurora .hero-vignette {
  z-index: 1;
  background:
    radial-gradient(ellipse at 50% 12%, rgba(17,14,16,.66), rgba(17,14,16,.34) 45%, transparent 78%),
    linear-gradient(to bottom, transparent 70%, #110e10 100%);
}
.hero-aurora .hero-content {
  position: relative;
  z-index: 10;
  text-shadow: 0 0 40px rgba(0,0,0,.8);
}
.hero-aurora h1 span { text-shadow: 0 0 40px rgba(0,0,0,.8); }
.hero-aurora .hero-motion-toggle {
  position: absolute;
  z-index: 10;
  right: 20px;
  bottom: 14px;
  padding: 6px 10px;
  border: 1px solid rgba(255,105,110,.3);
  border-radius: 6px;
  background: #171214;
  color: var(--muted);
  font: .65rem/1.5 var(--code-font);
}
.hero-aurora .hero-motion-toggle:hover,
.hero-aurora .hero-motion-toggle[aria-pressed="true"] {
  color: var(--text);
  border-color: #ff696e;
}
.hero-aurora[data-motion-paused="true"] .aurora-blob { animation-play-state: paused; }
@keyframes aurora-drift-1 {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(15%, 20%); }
  50% { transform: translate(30%, -10%); }
  75% { transform: translate(10%, 30%); }
}
@keyframes aurora-drift-2 {
  0%, 100% { transform: translate(0, 0); }
  33% { transform: translate(-20%, 15%); }
  66% { transform: translate(-10%, -20%); }
}
@keyframes aurora-drift-3 {
  0%, 100% { transform: translate(0, 0); }
  20% { transform: translate(-15%, -10%); }
  40% { transform: translate(20%, 15%); }
  60% { transform: translate(-5%, 25%); }
  80% { transform: translate(15%, -15%); }
}
@keyframes aurora-drift-4 {
  0%, 100% { transform: translate(0, 0); }
  30% { transform: translate(25%, -20%); }
  60% { transform: translate(-15%, -30%); }
}
@keyframes aurora-drift-5 {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(-25%, 20%); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-aurora .aurora-blob { animation: none; will-change: auto; }
}
@media print {
  .hero-aurora .hero-atmosphere,
  .hero-aurora .hero-grain,
  .hero-aurora .hero-vignette,
  .hero-aurora .hero-motion-toggle { display: none; }
  .hero.hero-aurora { background: transparent; }
  .hero-aurora .hero-content, .hero-aurora h1 span { text-shadow: none; }
}

/* Sentrava identity: traced from the supplied angular serpent mark. */
.brand-mark{color:#edf0f3;flex-shrink:0;height:36px;width:30px}

/* ── Landing page additions ─────────────────────────────── */
.data-table{width:100%;border-collapse:collapse;font-size:.75rem;text-align:left}
.table-note{color:var(--subtle);font-size:.72rem;margin-top:12px}
.table-note a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.opsec-columns{display:grid;gap:28px}
@media(min-width:900px){.opsec-columns{grid-template-columns:1fr 1fr}}
.opsec-platform{border:1px solid var(--border);border-radius:var(--radius);padding:24px;background:linear-gradient(145deg,#20181b,#171214)}
.opsec-platform-label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#dce6ec;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border-soft)}
.opsec-platform-label svg{flex-shrink:0;color:var(--primary)}
.opsec-count{margin-left:auto;font:.6rem var(--code-font);color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-border);padding:3px 7px;border-radius:4px;text-transform:none;letter-spacing:0}
.opsec-module-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.opsec-module-list li{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:baseline}
.opsec-module-name{font:.71rem var(--code-font);color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:4px;padding:2px 7px;white-space:nowrap;align-self:start;margin-top:2px}
.opsec-module-desc{color:var(--muted);font-size:.74rem;line-height:1.7}
