
:root{--bg:#04111b;--surface:#081e2d;--surface2:#0b2638;--line:#173b50;--line2:#245772;--text:#f4f8fb;--muted:#91a9b7;--blue:#1689ed;--cyan:#35d5ff;--green:#18d39a;--max:1440px;--g:clamp(16px,3vw,32px);--r:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#03101a,#04141f);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.container{width:min(var(--max),calc(100% - 2*var(--g)));margin:auto}.topbar{background:#020c14;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.topbar .container{min-height:34px;display:flex;align-items:center;justify-content:space-between}.dot{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 14px rgba(24,211,154,.8);margin-right:7px}.header{position:sticky;top:0;z-index:50;background:rgba(3,13,21,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header .container{min-height:76px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:235px}.mark{width:44px;height:44px;border:1px solid #1d6485;border-radius:11px;background:#072438;display:grid;place-items:center;color:var(--cyan);font-weight:900}.brand b{display:block;letter-spacing:.08em;font-size:18px}.brand small{display:block;color:#6e8998;font-size:8px;letter-spacing:.14em}.nav{display:flex;flex:1}.nav a{padding:28px 10px 25px;font-size:13px;font-weight:800;color:#9fb5c1;position:relative}.nav a:hover,.nav a.active{color:#fff}.nav a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;background:var(--blue)}.actions{display:flex;gap:7px;align-items:center}.icon,.lang-btn{height:40px;border:1px solid var(--line);background:#071b29;color:#dce9ef;border-radius:10px}.icon{width:40px}.lang-btn{padding:0 10px;display:flex;align-items:center;gap:7px;font-weight:900}.lang-btn img{width:24px;height:16px}.lang{position:relative}.lang-menu{display:none;position:absolute;right:0;top:48px;background:#061722;border:1px solid var(--line2);border-radius:12px;padding:6px;width:150px}.lang-menu.open{display:block}.lang-menu button{width:100%;border:0;background:none;color:#d9e6ec;display:flex;gap:9px;align-items:center;padding:9px;border-radius:8px}.lang-menu button:hover{background:#0b283a}.lang-menu img{width:24px;height:16px}.crumb{border-bottom:1px solid var(--line);background:#04131d}.crumb .container{height:42px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#718c9c}.hero{position:relative;min-height:400px;overflow:hidden;border-bottom:1px solid var(--line)}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,27,.98),rgba(3,16,27,.76) 42%,rgba(3,16,27,.18) 75%),linear-gradient(0deg,rgba(3,16,27,.72),transparent 45%)}.hero .container{min-height:400px;display:flex;align-items:center;position:relative}.hero-copy{max-width:780px;padding:58px 0}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--cyan);text-transform:uppercase;margin-bottom:14px}.hero h1{font-size:clamp(46px,6vw,86px);line-height:.98;letter-spacing:-.05em;margin:0 0 18px}.hero p{font-size:18px;color:#bfd0da;max-width:690px;margin:0 0 24px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #25526b;background:rgba(5,24,36,.8);border-radius:999px;padding:8px 12px;font-size:12px;color:#d1e0e7}.main{padding:44px 0 90px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-head h2{margin:0;font-size:34px;letter-spacing:-.035em}.section-head p{margin:0;color:var(--muted)}.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:linear-gradient(180deg,#092233,#071a27);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.pad{padding:24px}.card h2,.card h3{margin:0 0 9px}.card p{margin:0;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:#061722;border:1px solid var(--line2);border-radius:16px;overflow:hidden}.kpi{padding:20px;border-right:1px solid var(--line)}.kpi:last-child{border-right:0}.kpi label{display:block;color:#88a2b2;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.kpi strong{display:block;font-size:29px;letter-spacing:-.04em;margin-top:4px}.kpi small{color:var(--green)}.spark{height:30px;margin-top:7px}.spark svg{width:100%;height:100%}.spark path{fill:none;stroke:var(--cyan);stroke-width:2}.regions{display:grid}.region{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.region:last-child{border-bottom:0}.region-name{display:flex;align-items:center;font-weight:800}.region-flag{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#15579b;color:#fff;font-size:9px;margin-right:10px}.state{color:var(--green);font-size:12px}.ms{font-weight:900}.media-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:16px}.media{position:relative;min-height:250px;border:1px solid var(--line2);border-radius:18px;overflow:hidden;cursor:pointer;background:#061722}.media.large{grid-row:span 2;min-height:516px}.media img{width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .45s;filter:saturate(.9) contrast(1.04)}.media:hover img{transform:scale(1.05);filter:saturate(1) contrast(1.06)}.media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,10,16,.9))}.media-copy{position:absolute;z-index:2;left:16px;right:16px;bottom:16px;padding:15px 17px 14px;border:1px solid rgba(110,190,220,.18);border-radius:14px;background:linear-gradient(180deg,rgba(2,11,18,.68),rgba(2,10,16,.94));backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 12px 32px rgba(0,0,0,.24)}.media-copy small{color:var(--cyan);font-weight:900;letter-spacing:.12em;text-transform:uppercase}.media-copy h3{margin:5px 0;font-size:24px;line-height:1.08;text-wrap:balance}.media-copy p{margin:0;color:#d0dfe6;font-size:13px;line-height:1.5}.media:after{background:linear-gradient(180deg,rgba(2,10,16,.02) 22%,rgba(2,10,16,.32) 58%,rgba(2,10,16,.72) 100%)}.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;margin-top:44px}.contact-card{background:linear-gradient(180deg,#092233,#071a27);border:1px solid var(--line);border-radius:18px;padding:28px}.contact-card h2,.contact-card h3{margin:0 0 10px}.contact-card p{margin:0;color:var(--muted)}.contact-list{display:grid;gap:12px;margin-top:20px}.contact-row{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:14px 0;border-top:1px solid var(--line)}.contact-row:first-child{border-top:0;padding-top:0}.contact-label{color:#7894a4;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.contact-value{color:#e2edf2}.contact-value a{color:#7fdcff;text-decoration:underline;text-decoration-color:rgba(127,220,255,.35);text-underline-offset:3px}.contact-value a:hover{color:#fff}.contact-note{margin-top:18px;padding:14px 16px;border:1px solid #21485f;border-radius:12px;background:#061722;color:#91a9b7;font-size:12px}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}@media(max-width:820px){.contact-grid{grid-template-columns:1fr}.contact-row{grid-template-columns:1fr;gap:5px}}.article{max-width:1000px}.article h2{font-size:30px;margin:40px 0 10px}.article p{color:#b8c9d3;font-size:16px}.docs{display:grid;grid-template-columns:240px 1fr;gap:28px}.side{position:sticky;top:96px}.side a{display:block;padding:10px 12px;color:#91a8b7;border-radius:9px}.side a:hover{background:#0a2536;color:#fff}.code{background:#020a10;border:1px solid #173445;border-radius:14px;padding:18px;overflow:auto;color:#bfe7f5;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px;border:1px solid #164e6a;border-radius:18px;background:linear-gradient(100deg,#0b2637,#0a3148)}.cta h2{margin:0 0 3px}.cta p{margin:0;color:#a9bfca;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:10px;background:#1683e8;border:1px solid #38a8ff;color:#fff;font-weight:900}.footer{border-top:1px solid var(--line);background:#030e16}.footer .grid{padding:42px 0 30px;grid-template-columns:1.6fr repeat(4,1fr)}.footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#8ea8b7}.footer a,.footer p{display:block;color:#718a99;font-size:13px;margin:8px 0}.footer a:hover{color:#fff}.foot-bottom{border-top:1px solid var(--line);padding:15px 0;color:#617a89;font-size:11px;display:flex;justify-content:space-between}.lightbox{position:fixed;inset:0;background:rgba(1,7,12,.95);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:94vw}.lightbox img{max-width:94vw;max-height:80vh;border-radius:14px;border:1px solid var(--line2)}.lightbox figcaption{text-align:center;color:#c4d1d8;margin-top:9px}.lb{position:fixed;width:46px;height:46px;border:1px solid var(--line2);background:#071b29;color:#fff;border-radius:50%;font-size:22px}.prev{left:20px;top:50%}.next{right:20px;top:50%}.close{right:20px;top:20px}.reveal{opacity:1;transform:none;transition:opacity .6s,transform .6s}.js-reveal .reveal{opacity:1;transform:none}.js-reveal .reveal.on{opacity:1;transform:none}.cursor,.cursor-dot{position:fixed;pointer-events:none;z-index:200}.cursor{width:18px;height:18px;border:1px solid rgba(53,213,255,.7);border-radius:50%;transform:translate(-50%,-50%);transition:width .15s,height .15s,background .15s}.cursor-dot{width:4px;height:4px;background:var(--cyan);border-radius:50%;transform:translate(-50%,-50%)}body.hover .cursor{width:36px;height:36px;background:rgba(53,213,255,.06)}@media(max-width:1100px){.nav a{padding-inline:6px;font-size:12px}.brand{min-width:200px}.kpis{grid-template-columns:repeat(3,1fr)}.kpi:nth-child(3){border-right:0}.media-grid{grid-template-columns:1fr 1fr}.media.large{grid-row:auto;min-height:340px}.docs{grid-template-columns:1fr}.side{position:static;display:flex;overflow:auto;gap:5px}.side a{white-space:nowrap}}@media(max-width:820px){.nav{display:none}.header .container{min-height:64px}.hero,.hero .container{min-height:450px}.hero h1{font-size:52px}.g2,.g3{grid-template-columns:1fr 1fr}.footer .grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.doc-intro,.doc-panel{grid-template-columns:1fr}.doc-grid{grid-template-columns:1fr}.doc-meta{justify-content:flex-start}.doc-stats{grid-template-columns:1fr 1fr}.doc-code-grid{grid-template-columns:1fr}.doc-section{grid-template-columns:38px 1fr}.doc-table{overflow:auto}.doc-table>div{min-width:520px}.hero h1{font-size:44px}.hero p{font-size:15px}.g2,.g3{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.kpi:nth-child(odd){border-right:1px solid var(--line)}.kpi:nth-child(even){border-right:0}.cta{flex-direction:column;align-items:flex-start}.footer .grid{grid-template-columns:1fr}.foot-bottom{flex-direction:column;gap:6px}.cursor,.cursor-dot{display:none}}
.hero-media{cursor:zoom-in}.hero-media img{animation:heroFloat 18s ease-in-out infinite alternate}.hero-media:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(53,213,255,.06) 46%,transparent 58%);transform:translateX(-120%);animation:heroSweep 8s ease-in-out infinite;pointer-events:none}@keyframes heroFloat{from{transform:scale(1)}to{transform:scale(1.035)}}@keyframes heroSweep{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}

/* V20 region/media corrections */
.regions[hidden],[data-region-lang][hidden]{display:none!important}
.region{min-height:72px;grid-template-columns:minmax(0,1fr) auto auto}
.region-name{gap:10px;min-width:0}
.region-name-text{min-width:0}
.region-media{width:38px;height:38px;flex:0 0 38px;border-radius:11px;object-fit:cover;border:1px solid #1d5b78;box-shadow:0 0 18px rgba(53,213,255,.08);transition:transform .3s,box-shadow .3s}
.region:hover .region-media{transform:translateY(-2px) scale(1.06);box-shadow:0 0 22px rgba(53,213,255,.2)}
@media(max-width:560px){.doc-intro,.doc-panel{grid-template-columns:1fr}.doc-grid{grid-template-columns:1fr}.doc-meta{justify-content:flex-start}.doc-stats{grid-template-columns:1fr 1fr}.doc-code-grid{grid-template-columns:1fr}.doc-section{grid-template-columns:38px 1fr}.doc-table{overflow:auto}.doc-table>div{min-width:520px}.region{grid-template-columns:minmax(0,1fr) auto}.region .ms{grid-column:2}.region .state{display:none}.region-media{width:34px;height:34px;flex-basis:34px}}
/* V20 card copy: every navigational card gets a topic-specific description. */
.card-description{margin:14px 0 0;color:var(--muted,#8ea8bb);font-size:.96rem;line-height:1.65;max-width:58ch}.card-media-note{position:absolute;left:20px;right:20px;bottom:20px;padding:14px 16px;border:1px solid rgba(52,191,255,.24);border-radius:14px;background:rgba(3,11,19,.78);backdrop-filter:blur(12px);z-index:2}.card-media-note .card-description{margin:0;color:#d8e9f5}.card.reveal{position:relative}
.doc-intro{display:grid;grid-template-columns:1fr auto;gap:28px;padding:28px 0 34px;border-bottom:1px solid var(--line)}.doc-lead{max-width:850px}.doc-kicker{display:block;color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px}.doc-lead h2{font-size:clamp(30px,4vw,54px);letter-spacing:-.045em;line-height:1.02;margin:0 0 12px}.doc-lead p{font-size:17px;color:#aebfc9;max-width:800px}.doc-meta{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;max-width:280px;justify-content:flex-end}.doc-meta span{border:1px solid var(--line2);background:#071c29;border-radius:999px;padding:7px 10px;color:#a8c1ce;font-size:9px;font-weight:900;letter-spacing:.1em}.doc-panel{margin:26px 0;padding:24px;border:1px solid var(--line2);border-radius:18px;background:linear-gradient(110deg,#082131,#071a27);display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.doc-panel h2{margin:0 0 8px;font-size:26px}.doc-panel p{margin:0;color:#9fb5c1}.doc-signal{align-self:center;border-left:2px solid var(--cyan);padding:6px 0 6px 18px;display:flex;flex-direction:column;gap:4px}.doc-signal b{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.doc-signal span{color:#9fb5c1;font-size:13px}.doc-section{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:30px 0;border-bottom:1px solid var(--line)}.doc-section-no{font:900 13px/1 ui-monospace,monospace;color:var(--cyan);padding-top:8px}.doc-section h2{margin:0 0 9px;font-size:27px}.doc-section p{margin:0 0 16px}.doc-callout{display:flex;gap:12px;border:1px solid #194d63;background:#061b28;border-radius:12px;padding:14px}.doc-callout b{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);white-space:nowrap}.doc-callout span{color:#a9bcc6;font-size:13px}.doc-table{border:1px solid var(--line2);border-radius:13px;overflow:hidden}.doc-table>div{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:12px}.doc-table>div:last-child{border-bottom:0}.doc-table>div:first-child{background:#061723;color:#dce9ef;text-transform:uppercase;letter-spacing:.09em;font-size:9px}.doc-table span{color:#9fb5c1}.doc-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.doc-check{display:grid;gap:8px;margin:0;padding:0;list-style:none}.doc-check li{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#061722;color:#a9bcc6;font-size:13px}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}.doc-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#092233,#071a27);transition:transform .25s,border-color .25s}.doc-card:hover{transform:translateY(-3px);border-color:var(--cyan)}.doc-card span{font:900 9px ui-monospace,monospace;color:var(--cyan);letter-spacing:.14em}.doc-card h3{font-size:22px;margin:9px 0}.doc-card p{color:var(--muted);font-size:13px;min-height:40px}.doc-card b{font-size:12px;color:#dce9ef}.doc-stats{display:grid;grid-template-columns:repeat(3,auto);gap:12px}.doc-stats div{min-width:100px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#061722}.doc-stats strong{display:block;font-size:26px}.doc-stats span{display:block;color:var(--muted);font-size:10px}.doc-steps{margin:0;padding:0;list-style:none;display:grid;gap:8px}.doc-steps li{display:flex;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#061722}.doc-steps span{color:#8fa8b7;font-size:12px}/* NORDPORT documentation system */
.doc-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.btn.secondary{background:#071b29;border-color:#245772;color:#dce9ef}.doc-code-wrap{margin-top:18px;border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:#020a10}.doc-code-head{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid #173445;background:#061723;color:#86a3b2;font:900 9px ui-monospace,monospace;letter-spacing:.12em}.doc-code-head .doc-copy{border:1px solid #245772;background:#082033;color:#dce9ef;border-radius:7px;padding:5px 9px;font:900 10px system-ui;cursor:pointer}.doc-code-wrap .code{margin:0;border:0;border-radius:0}.doc-check{display:grid;gap:7px}.doc-check span{display:block;border:1px solid var(--line);border-radius:9px;background:#061722;color:#a9bcc6;padding:8px 10px;font-size:12px}.doc-lab{margin:28px 0;padding:24px;border:1px solid #245772;border-radius:18px;background:linear-gradient(110deg,#071d2b,#061722);box-shadow:0 20px 60px rgba(0,0,0,.12)}.doc-lab h2{margin:0 0 7px;font-size:27px}.doc-lab p{margin:0 0 17px;color:#9fb5c1}.lab-row{display:flex;gap:9px;align-items:center;margin-bottom:12px}.lab-row select{flex:1;min-height:44px;border:1px solid var(--line2);background:#04131d;color:#dce9ef;border-radius:10px;padding:0 12px}.lab-output{min-height:190px;margin:0}.doc-intro + .doc-grid{margin-top:26px}
@media(max-width:560px){.lab-row{flex-direction:column;align-items:stretch}.lab-row .btn{width:100%}.doc-actions{justify-content:flex-start}}
/* One-page documentation navigation */
.docs-workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:34px;align-items:start}.docs-tree{position:sticky;top:96px;max-height:calc(100vh - 116px);overflow:auto;padding:14px;background:linear-gradient(180deg,#061925,#051520);border:1px solid var(--line);border-radius:16px}.doc-tree-top{display:flex;align-items:baseline;justify-content:space-between;padding:4px 8px 14px;border-bottom:1px solid var(--line);margin-bottom:12px}.doc-search{display:grid;gap:6px;padding:0 4px 12px}.doc-search span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#5f8193;font-weight:900}.doc-search input{width:100%;box-sizing:border-box;background:#061925;border:1px solid #17445a;color:#dce9ef;border-radius:8px;padding:9px 10px;font:600 11px/1.2 inherit;outline:none}.doc-search input:focus{border-color:#1ba8e5;box-shadow:0 0 0 2px rgba(27,168,229,.1)}.doc-tree-top strong{font-size:14px}.doc-tree-top span{font-size:10px;color:#6f8998;text-transform:uppercase;letter-spacing:.1em}.doc-tree-group{margin:0 0 15px}.doc-tree-label{padding:7px 8px;color:#5f8193;font-size:10px;font-weight:900;letter-spacing:.16em}.doc-tree-item{margin:2px 0}.doc-tree-main{display:block;padding:9px 10px;border-radius:9px;color:#b3c5cf;font-size:13px;font-weight:850}.doc-tree-main:hover,.doc-tree-main.module-active{background:#0a2637;color:#fff}.doc-tree-sub{padding:1px 0 6px 10px;max-height:300px;overflow:auto;border-left:1px solid #173c50;margin-left:10px}.doc-tree-sub a{display:block;padding:5px 8px;color:#718c9c;font-size:11px;border-radius:6px;line-height:1.3}.doc-tree-sub a:hover,.doc-tree-sub a.active{color:var(--cyan);background:rgba(20,125,170,.08)}.doc-tree-tools{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;display:grid;gap:6px}.doc-tree-tools a{font-size:11px;color:#89a5b4;padding:7px 8px;border-radius:7px}.doc-tree-tools a:hover{background:#0a2637;color:#fff}.docs-body{min-width:0}.doc-module{scroll-margin-top:104px;border-bottom:1px solid var(--line);padding:0 0 34px;margin-bottom:38px}.doc-module-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.doc-module-head h2{font-size:38px;line-height:1.05;letter-spacing:-.04em;margin:4px 0 10px}.doc-module-head p{max-width:850px;color:#aebfca;font-size:16px;margin:0}.doc-backtop{white-space:nowrap;color:#78a5b9;font-size:11px;padding-top:8px}.doc-backtop:hover{color:#fff}.doc-section{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;padding:25px 0;border-top:1px solid rgba(23,59,80,.72);scroll-margin-top:104px}.doc-section-no{font:900 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#267fa5;padding-top:8px}.doc-section h3{margin:0 0 8px;font-size:21px;letter-spacing:-.02em}.doc-section p{margin:0 0 14px;max-width:900px;color:#aebfc9;font-size:14px}.doc-section .doc-table{margin-top:14px}.doc-lab{margin:22px 0;padding:24px;border:1px solid #1a526d;border-radius:16px;background:linear-gradient(180deg,#082537,#061925);scroll-margin-top:104px}.doc-lab h3{margin:4px 0 6px;font-size:24px}.doc-lab p{color:#a8bdc8;font-size:13px;margin:0 0 16px}.doc-final{margin-top:20px}.doc-final h2{margin:4px 0 8px}.doc-final p{color:#a8bdc8}.doc-check{display:grid;gap:8px;align-content:center;min-width:230px}.doc-check span{border:1px solid #18465d;background:#061925;border-radius:9px;padding:8px 10px;color:#a7c0cc;font-size:11px}.module-active{box-shadow:inset 2px 0 0 var(--blue)}
@media(max-width:1100px){.docs-workspace{grid-template-columns:1fr}.docs-tree{position:sticky;top:76px;z-index:20;max-height:45vh}.doc-tree-group{display:inline-block;vertical-align:top;width:32%;min-width:210px;margin-right:12px}.doc-tree-sub{display:none}.doc-tree-main{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-tree-item:hover .doc-tree-sub,.doc-tree-item:focus-within .doc-tree-sub{display:block}.doc-tree-tools{display:flex}.doc-module-head{flex-direction:column;gap:8px}}
@media(max-width:620px){.doc-tree{max-height:40vh}.doc-tree-group{display:block;width:auto;min-width:0;margin-right:0}.doc-tree-sub{display:block}.doc-module-head h2{font-size:31px}.doc-section{grid-template-columns:34px minmax(0,1fr)}.doc-section-no{font-size:10px}.doc-check{min-width:0}.doc-lab .lab-row{flex-direction:column}.doc-lab select,.doc-lab .btn{width:100%}}

/* V20 visual refinement: media iconography, richer gallery depth and focus states */
.media{isolation:isolate;overflow:hidden;transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.media:hover{transform:translateY(-4px);border-color:#2a82a8;box-shadow:0 18px 55px rgba(0,0,0,.28),0 0 28px rgba(27,171,231,.08)}
.media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(53,213,255,.08),transparent 34%,transparent 72%,rgba(27,131,232,.08));opacity:0;transition:opacity .35s}
.media:hover:after{opacity:1}
.media-icon{position:absolute;z-index:4;top:16px;right:16px;width:38px;height:38px;border-radius:12px;border:1px solid rgba(53,213,255,.3);background:rgba(3,15,25,.72);backdrop-filter:blur(12px);display:grid;place-items:center;color:#4fd8ff;font:700 19px/1 system-ui,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .3s ease,background .3s ease}
.media:hover .media-icon{transform:translateY(-2px) rotate(-3deg);background:rgba(8,38,55,.86)}
.media-added:nth-last-child(3n){transform-origin:center bottom}
.media-added img{filter:saturate(.96) contrast(1.02);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}
.media-added:hover img{transform:scale(1.045);filter:saturate(1.06) contrast(1.04)}
@media(max-width:560px){.media-icon{width:34px;height:34px;top:12px;right:12px;font-size:17px}.media:hover{transform:none}}

/* V21+ CDN reference documentation expansion */
.doc-module-summary{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin:18px 0 6px}
.doc-overview{padding:18px;border:1px solid var(--line2);border-radius:14px;background:linear-gradient(135deg,#071d2b,#061722)}
.doc-overview h4{margin:0 0 8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.doc-overview p{margin:0;color:#9fb5c1;font-size:13px;line-height:1.7}
.doc-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.doc-flow-item{padding:13px;border:1px solid var(--line);border-radius:12px;background:#061722;min-height:88px}
.doc-flow-item b{display:block;color:#dce9ef;font-size:11px;margin-bottom:5px}
.doc-flow-item span{display:block;color:#7793a3;font-size:10px;line-height:1.45}
.doc-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.doc-detail{padding:14px;border:1px solid var(--line);border-radius:12px;background:#061722}
.doc-detail small{display:block;color:#5f91a6;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}
.doc-detail b{display:block;font-size:12px;color:#e2edf2;margin-bottom:5px}
.doc-detail span{display:block;color:#8fa8b7;font-size:11px;line-height:1.55}
.doc-detail.critical{border-color:#245772;background:linear-gradient(180deg,#082333,#061722)}
.doc-reference{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.doc-reference-box{padding:13px;border-left:2px solid #1d6887;background:#061722;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0 10px 10px 0}
.doc-reference-box b{display:block;color:#cfe0e8;font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:5px}
.doc-reference-box span{display:block;color:#8ea8b7;font-size:11px;line-height:1.55}
.doc-warning{border-color:#6a4e25;background:linear-gradient(90deg,#201b10,#0a1923)}
.doc-warning b{color:#e9bf70}
.doc-success{border-color:#205c4d;background:linear-gradient(90deg,#08251f,#061722)}
.doc-success b{color:#54d9ad}
.doc-search-status{padding:0 4px 10px;color:#65899b;font-size:10px;min-height:18px}
.doc-tree-item.search-hidden{display:none!important}
.doc-tree-sub a.search-hit{color:var(--cyan)}
@media(max-width:900px){.doc-module-summary{grid-template-columns:1fr}.doc-flow{grid-template-columns:repeat(2,1fr)}.doc-detail-grid{grid-template-columns:1fr 1fr}.doc-reference{grid-template-columns:1fr}}
@media(max-width:560px){.doc-flow{grid-template-columns:1fr}.doc-detail-grid{grid-template-columns:1fr}.doc-module-summary{gap:9px}}

/* V23 documentation flow: compact editorial process rail instead of card stack */
.doc-module-summary{grid-template-columns:1fr;gap:16px}
.doc-overview{padding:18px 20px}
.doc-flow-wrap{padding:0 4px 2px}
.doc-flow-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 8px}
.doc-flow-head h4{margin:0!important}
.doc-flow-head>span{font-size:10px;color:#5f8193;text-transform:uppercase;letter-spacing:.12em}
.doc-flow{display:flex;align-items:stretch;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}
.doc-flow-step{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:11px;padding:15px 18px 15px 0;margin-right:28px}
.doc-flow-step:not(:first-child){padding-left:18px}
.doc-flow-step:not(:first-child):before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:var(--line)}
.doc-flow-num{flex:0 0 auto;font:900 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--cyan)}
.doc-flow-step small{display:block;color:#5f8193;font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px}
.doc-flow-step b{display:block;color:#dce9ef;font-size:12px;line-height:1.25;font-weight:850}
.doc-flow-arrow{position:absolute;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:-14px;color:#35647a;font-size:15px;pointer-events:none}
.doc-flow{position:relative}
.doc-flow-arrow:nth-of-type(2){left:25%}
.doc-flow-arrow:nth-of-type(4){left:50%}
.doc-flow-arrow:nth-of-type(6){left:75%}
@media(max-width:900px){.doc-flow{display:grid;grid-template-columns:1fr 1fr;padding:0}.doc-flow-step{margin-right:0;padding:14px 14px}.doc-flow-step:not(:first-child){padding-left:14px}.doc-flow-step:not(:first-child):before{display:none}.doc-flow-arrow{display:none}}
@media(max-width:560px){.doc-flow{grid-template-columns:1fr}.doc-flow-step{border-top:1px solid var(--line)}.doc-flow-step:first-child{border-top:0}.doc-flow-step:not(:first-child){padding-left:0}.doc-flow-step:not(:first-child):before{display:none}}

/* V25 bundled identity + deterministic media */
.brand-logo{width:40px;height:40px;flex:0 0 40px;border-radius:11px;display:block;box-shadow:0 0 0 1px rgba(53,213,255,.22),0 8px 24px rgba(0,0,0,.24)}
.brand:hover .brand-logo{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(53,213,255,.5),0 10px 28px rgba(0,0,0,.3)}
.brand .brand-logo{transition:transform .18s ease,box-shadow .18s ease}
.media img,.card-media img,.hero-media img{background:#071b29;object-fit:cover}

/* V28 readability and editorial cleanup */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}
.hero p,.card p,.article p,.media-copy p{line-height:1.65}
.media{isolation:isolate}
.media:after{z-index:1;background:linear-gradient(180deg,rgba(2,10,16,.04) 20%,rgba(2,10,16,.18) 42%,rgba(2,10,16,.96) 100%)}
.media-copy{left:14px;right:14px;bottom:12px;padding:12px 13px 11px;border:1px solid rgba(73,166,206,.20);border-radius:12px;background:linear-gradient(180deg,rgba(3,15,24,.66),rgba(3,12,20,.92));backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(0,0,0,.24)}
.media-copy small{font-size:9px;letter-spacing:.16em}
.media-copy h3{margin:4px 0 5px;font-size:clamp(16px,1.35vw,20px);line-height:1.12;letter-spacing:-.02em;max-width:30ch;text-wrap:balance}
.media-copy p{font-size:11px;line-height:1.45;color:#b8cbd5;max-width:64ch}
.media img{filter:saturate(.82) contrast(1.02);transition:transform .5s ease,filter .35s ease}
.media:hover img{filter:saturate(.94) contrast(1.04);transform:scale(1.025)}
.doc-detail-grid-clean{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.doc-detail-grid-clean .doc-detail{min-height:0;padding:15px 14px;background:linear-gradient(180deg,#081c2a,#061620)}
.doc-detail-grid-clean .doc-detail small{font-size:9px;letter-spacing:.13em}
.doc-detail-grid-clean .doc-detail span{font-size:12px;line-height:1.55;color:#abc0cc}
.doc-detail-grid-clean .doc-detail.critical{border-color:#2d566b}
.doc-section>div>p{max-width:880px;line-height:1.75}
@media(max-width:1100px){.doc-detail-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.doc-detail-grid-clean{grid-template-columns:1fr}.media-copy h3{font-size:16px}.media-copy p{font-size:11px}.media-copy{padding:10px}}
/* V29 reading-first documentation: fewer decorative boxes, more semantic prose */
.doc-reading{margin:18px 0 2px;border-top:1px solid rgba(36,87,114,.55);border-bottom:1px solid rgba(36,87,114,.45);padding:15px 0 14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:20px;align-items:start}
.doc-reading-copy p{margin:0;color:#aebfc9;font-size:13px;line-height:1.7;max-width:760px}
.doc-reading-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.doc-reading-facts>div{padding:11px 12px;border-left:2px solid #1b83b2;background:rgba(6,23,34,.55)}
.doc-reading-facts small{display:block;color:#5e91aa;font:900 8px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;margin-bottom:5px}
.doc-reading-facts b{display:block;color:#e2edf2;font-size:12px;line-height:1.35;margin-bottom:4px}
.doc-reading-facts span{display:block;color:#839eac;font-size:10px;line-height:1.5}
.media-copy{background:linear-gradient(180deg,rgba(3,15,24,.74),rgba(3,12,20,.96));backdrop-filter:blur(12px);box-shadow:0 12px 34px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035);text-shadow:0 1px 2px rgba(0,0,0,.65)}
.media-copy h3{font-size:clamp(15px,1.2vw,19px);line-height:1.16;max-width:28ch}
.media-copy p{font-size:12px;line-height:1.5;max-width:62ch;color:#d0dde3}
@media(max-width:820px){.doc-reading{grid-template-columns:1fr}.doc-reading-facts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.doc-reading-facts{grid-template-columns:1fr}.media-copy{left:10px;right:10px;bottom:10px;padding:10px}.media-copy h3{font-size:16px}.media-copy p{font-size:11px}}

/* V36: production-style documentation recipe blocks */
.doc-recipe{margin:18px 0 28px;padding:0;border:1px solid rgba(90,190,235,.18);border-radius:16px;background:linear-gradient(180deg,rgba(7,25,37,.96),rgba(4,17,27,.96));overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.16)}
.doc-recipe-head{display:flex;justify-content:space-between;gap:20px;padding:12px 16px;border-bottom:1px solid rgba(90,190,235,.12);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#83a9bd}
.doc-recipe-head .doc-kicker{color:#63d9ff}
.doc-recipe .code{margin:0;border:0;border-radius:0;background:#03111b;padding:16px 18px;color:#d7eff9;white-space:pre-wrap}
.doc-recipe>p{margin:0;padding:14px 18px 16px;color:#9eb9c8;line-height:1.65}
@media(max-width:760px){.doc-recipe-head{flex-direction:column;gap:6px}.doc-recipe .code{font-size:12px;overflow:auto}}
