/* DeltaV THRUST — the nav's CONNECT point, the Narrative dropdown, the flight-plan strip, and the warp from sign-in
   into the 3D services (thrust-guard.js). Loaded on every page with the nav, the landing included. (c) 2026 BANKON */

/* ── CONNECT: one wallet-aware point ── */
.dvx-seat{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid #2EE88A;border-radius:18px;
  color:#2EE88A;font:600 12.5px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;text-decoration:none;white-space:nowrap}
.dvx-seat::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.4}
.dvx-seat.is-in{background:rgba(46,232,138,.12)}
.dvx-seat.is-in::before{opacity:1;box-shadow:0 0 8px currentColor}
.dvx-seat.is-switch{border-color:#F2B33D;color:#F2B33D}
.dvx-seat[aria-busy="true"]{opacity:.7;pointer-events:none}
.dvx-seat:hover,.dvx-seat:focus-visible{background:rgba(46,232,138,.18);outline:none}
html[data-role="owner"] .dvx-seat{border-color:#D4AF37;color:#F2D675}
/* a recognised seat (v1.4.0): VIP reads gold wherever the seat shows */
html[data-role="vip"] .dvx-seat.is-in{border-color:#D4AF37;color:#D4AF37;background:rgba(212,175,55,.1)}

/* ── the Narrative dropdown (details/summary: no script) ── */
.dvx-plan{position:relative;display:inline-block}
.dvx-plan>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:#d4af37}
.dvx-nav .dvx-plan__menu a{color:#E6E1D3}.dvx-nav .dvx-plan__menu a.dvx-plan__all{color:#D4AF37}
.dvx-nav a.dvx-seat{color:#2EE88A}.dvx-nav a.dvx-seat.is-switch{color:#F2B33D}html[data-role="owner"] .dvx-nav a.dvx-seat{color:#F2D675}
.dvx-plan>summary::-webkit-details-marker{display:none}
.dvx-plan>summary::after{content:"▾";font-size:.8em;opacity:.7}
.dvx-plan[open]>summary::after{content:"▴"}
.dvx-plan__menu{position:absolute;z-index:60;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(340px,92vw);padding:10px;
  background:#0B0F14;border:1px solid rgba(212,175,55,.35);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.55);text-align:left}
.dvx-plan__menu ol{margin:0;padding:0;list-style:none}
.dvx-plan__menu li a{display:flex;align-items:center;gap:10px;min-height:40px;padding:4px 8px;border-radius:6px;color:#E6E1D3;text-decoration:none;font-size:13.5px}
.dvx-plan__menu li a:hover,.dvx-plan__menu li a:focus-visible{background:rgba(212,175,55,.1);outline:none}
.dvx-plan__menu li a.is-seat{box-shadow:inset 2px 0 0 #2EE88A}
.dvx-plan__n{flex:none;width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid rgba(212,175,55,.5);border-radius:50%;font:11px ui-monospace,Menlo,monospace;color:#D4AF37}
.dvx-plan__tag{margin-left:auto;padding:1px 7px;border-radius:9px;font:10px ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}
.dvx-plan__tag--complete{background:rgba(46,232,138,.16);color:#2EE88A}
.dvx-plan__tag--current{background:rgba(255,181,71,.16);color:#FFB547}
.dvx-plan__tag--next{background:rgba(140,160,190,.12);color:#9FB0C8}
.dvx-plan__tag--live{background:rgba(38,194,129,.16);color:#26C281}
.dvx-plan__tag--built{background:rgba(242,179,61,.16);color:#F2B33D}
.dvx-plan__tag--planned{background:rgba(140,160,190,.16);color:#9FB0C8}
.dvx-plan__tag--aim{background:rgba(244,241,230,.12);color:#F4F1E6}
.dvx-plan__all{display:flex;align-items:center;min-height:40px;margin-top:6px;padding:0 8px;border-top:1px solid rgba(255,255,255,.08);color:#D4AF37;text-decoration:none;font-size:13px}

/* ── the flight-plan strip: eight stage marks under the bar ── */
.dvx-stages{display:flex;justify-content:center;gap:2px;padding:4px 12px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.25);overflow-x:auto;scrollbar-width:none}
.dvx-stages::-webkit-scrollbar{display:none}
.dvx-stage{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border-radius:15px;color:#9FB0C8;text-decoration:none;
  font:11px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;white-space:nowrap}
/* the launch sequence (v1.4.0): completed green ✓, the stage in flight amber with a ring, the next launch dim */
.dvx-stage--complete{color:#2EE88A}.dvx-stage--complete span[aria-hidden]{font-weight:800}
.dvx-stage--current{color:#FFB547;box-shadow:inset 0 0 0 1px rgba(255,181,71,.6)}
.dvx-stage--next{color:#6E7F96}.dvx-stage--aim{color:#F4F1E6}
@media (prefers-reduced-motion:no-preference){.dvx-stage--current{animation:dvx-burn 2.4s ease-in-out infinite}}
@keyframes dvx-burn{50%{box-shadow:inset 0 0 0 1px rgba(255,181,71,.6),0 0 12px rgba(255,140,40,.45)}}
.dvx-stage:hover,.dvx-stage:focus-visible{background:rgba(255,255,255,.06);outline:none}
.dvx-stage.is-seat{background:rgba(46,232,138,.12);box-shadow:inset 0 0 0 1px rgba(46,232,138,.5)}
@media (max-width:900px){.dvx-stage__t{display:none}.dvx-stage{min-width:36px;justify-content:center}}
@media (max-width:640px){.dvx-seat{min-height:44px}.dvx-stage{min-height:44px;min-width:40px}.dvx-plan__menu{position:fixed;left:8px;right:8px;top:auto;width:auto;transform:none;margin-top:8px}
  .dvx-plan__menu li a,.dvx-plan__all{min-height:44px}}

/* ── the warp: from the wallet sign-in into the 3D services ── */
.dvt-warp{position:fixed;inset:0;z-index:240;pointer-events:none;perspective:600px;perspective-origin:50% 50%;overflow:hidden;
  background:radial-gradient(circle at 50% 50%,rgba(2,6,10,0) 0,rgba(2,6,10,.75) 55%,#02060a 100%);opacity:0;transition:opacity .35s}
.dvt-warp.is-on{opacity:1}
.dvt-warp i{position:absolute;left:50%;top:50%;width:70vmin;height:70vmin;margin:-35vmin 0 0 -35vmin;border:1.5px solid #2EE88A;border-radius:50%;
  opacity:0;transform:translateZ(-1800px);animation:dvt-ring 1.2s cubic-bezier(.55,0,.9,.5) var(--d,0s) forwards;
  clip-path:polygon(50% 0,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0 50%,15% 15%)}
.dvt-warp i:nth-child(3n){border-color:#D4AF37}
.dvt-warp b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:600 12px/1.4 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.3em;
  text-transform:uppercase;color:#E8F5EE;text-shadow:0 0 12px #2EE88A;white-space:nowrap}
@keyframes dvt-ring{0%{opacity:0;transform:translateZ(-1800px)}20%{opacity:.9}100%{opacity:0;transform:translateZ(520px)}}
html.dvt-warping body>*:not(.dvt-warp){transform:scale(1.08);filter:blur(3px);opacity:.25;transition:transform 1s cubic-bezier(.6,0,.9,.4),filter 1s,opacity 1s}
html.dvt-arriving body>*:not(.dvt-warp){animation:dvt-arrive .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes dvt-arrive{0%{transform:scale(.94) translateZ(0);filter:blur(4px);opacity:0}100%{transform:none;filter:none;opacity:1}}

/* ── the 3D services: once a wallet is signed in, the destinations on the shape's points stand in depth ── */
html[data-role]:not([data-role="visitor"]) .dvv__ring{perspective:1000px;perspective-origin:50% 50%}
html[data-role]:not([data-role="visitor"]) .dvv:not(.is-list) .dvv__i{
  transform:translate(calc(var(--x,50%) - 50%),calc(var(--y,50%) - 50%)) translateZ(var(--z,0px)) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));
  box-shadow:0 14px 34px rgba(0,0,0,.5),0 0 0 1px rgba(46,232,138,.25)}
html[data-role]:not([data-role="visitor"]) .dvv:not(.is-list) .dvv__i:hover,
html[data-role]:not([data-role="visitor"]) .dvv:not(.is-list) .dvv__i:focus-visible{--z:60px}
@media (prefers-reduced-motion:reduce){.dvt-warp{display:none}html.dvt-warping body>*,html.dvt-arriving body>*{transform:none!important;filter:none!important;opacity:1!important;animation:none!important}}

/* ── v1.3.6 (operator): the top strip of every page — the price tape, Bridge, Chart and Connect pinned beside it ── */
/* one box model for the strip and the footer whatever the page's own (the landing's is border-box, most are not), so
   they measure the same everywhere and never run wider than a phone */
.dvt-strip,.dvt-strip *,.dvt-strip *::before,.dvt-strip *::after,.dvt-legal,.dvt-legal *{box-sizing:border-box}
.dvt-strip{position:sticky;top:0;z-index:80;display:flex;align-items:stretch;background:#05080B;border-bottom:1px solid rgba(232,90,18,.35);
  font:600 13px/1 'Public Sans',system-ui,-apple-system,sans-serif;
  /* under a notch or a rounded corner (viewport-fit=cover): the strip's background reaches the edge, its content does not */
  padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px)}
.dvt-strip__tape{flex:1;min-width:0;overflow:hidden;white-space:nowrap}
.dvt-strip__tape[hidden]{display:block;visibility:hidden}
.dvt-top__track{display:inline-flex;animation:dvt-top-scroll 42s linear infinite}
/* the tape holds still under a mouse, or for the keyboard; a finger's tap leaves no hover or focus behind, so on a touch
   screen it never sticks paused */
@media (hover:hover){.dvt-strip__tape:hover .dvt-top__track,.dvt-strip__tape:focus-within .dvt-top__track{animation-play-state:paused}}
.dvt-strip__tape:has(:focus-visible) .dvt-top__track{animation-play-state:paused}
.dvt-top__row{display:inline-flex;gap:6px;padding-right:6px}
/* the news scroll (v1.4.2): a slim second line under the prices, for a signed-in wallet only (top-news.js adds it, and
   .has-news on the strip); the price scroll above it is unchanged */
.dvt-strip.has-news{flex-wrap:wrap}
.dvt-strip__news{order:3;flex:1 0 100%;height:28px;overflow:hidden;white-space:nowrap;border-top:1px solid rgba(255,255,255,.07);background:#04070A;
  font:500 12px/28px 'Public Sans',system-ui,-apple-system,sans-serif}
.dvt-news__track{display:inline-flex;animation:dvt-top-scroll var(--news-s,90s) linear infinite}
@media (hover:hover){.dvt-strip__news:hover .dvt-news__track,.dvt-strip__news:focus-within .dvt-news__track{animation-play-state:paused}}
.dvt-news__row{display:inline-flex;align-items:center;gap:22px;padding-right:22px}
.dvt-news__k{color:#2EE88A;font:700 10.5px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.18em;padding-left:12px}
.dvt-news__i{color:#C9D4E2;text-decoration:none}.dvt-news__i:hover,.dvt-news__i:focus-visible{color:#fff;outline:none}
.dvt-news__i em{font-style:normal;color:#F2B33D;margin-right:4px}.dvt-news__i small{color:#6E7F96;margin-left:4px}
@media (prefers-reduced-motion:reduce){.dvt-strip__news{overflow-x:auto}.dvt-news__track{animation:none}.dvt-news__row[aria-hidden]{display:none}}
@media (max-width:640px){.dvt-strip__tape{order:1}.dvt-strip__news{order:2;font-size:11.5px}.dvt-strip__go{order:3}}
.dvt-top__wait{display:inline-block;color:#7DB596;padding:11px 16px}
.dvt-top__i{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;min-height:40px;color:#E6EDF3;text-decoration:none;border-radius:4px;font-variant-numeric:tabular-nums}
a.dvt-top__i:hover,a.dvt-top__i:focus-visible{background:rgba(31,199,212,.16);outline:none}
.dvt-top__i b{color:#FF8A3D;letter-spacing:.06em}
.dvt-top__i small{color:#7DB596;font-weight:400}
.dvt-top__i em{font-style:normal;color:#1FC7D4;font-size:11px;letter-spacing:.08em}
@keyframes dvt-top-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.dvt-strip__tape{overflow-x:auto}.dvt-top__track{animation:none}.dvt-top__row[aria-hidden]{display:none}}
.dvt-strip__go{flex:none;display:flex;align-items:center;gap:6px;padding:0 10px;border-left:1px solid rgba(255,255,255,.08);background:#05080B}
.dvt-strip__go a{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:16px;color:#E6EDF3;text-decoration:none;
  font:600 12.5px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em}
.dvt-strip__go a:hover,.dvt-strip__go a:focus-visible{background:rgba(255,255,255,.08);outline:none}
.dvt-strip__go .dvx-seat{min-height:32px}
/* phones (operator, 2026-10-15): row 1 is the tape alone, across the whole width; row 2 is Bridge, Chart and Connect,
   spread as 44 px targets; row 3 (the page's own, below the strip) is the Flight deck button, centred and prominent.
   A long seat label ("VIP · 0x…") is cut with an ellipsis, never wrapped */
@media (max-width:640px){
  .dvt-strip{flex-wrap:wrap}
  .dvt-strip__tape{flex:1 0 100%}
  .dvt-strip__go{flex:1 0 100%;justify-content:space-around;border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .dvt-top__i{min-height:44px;padding:0 10px;gap:6px}
  .dvt-top__i em,.dvt-top__i small{font-size:12px}
  .dvt-top__wait{padding:15px 12px}
  .dvt-strip__go{gap:0;padding:0 2px}
  .dvt-strip__go a{min-height:44px;min-width:44px;padding:0 7px;justify-content:center;font-size:12px;letter-spacing:.02em}
  .dvt-strip__go .dvx-seat{display:inline-block;max-width:7.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:44px}}
/* a finger, whatever the width: the tape's items, the pinned links and the menu button are 44 px targets */
@media (pointer:coarse){.dvt-top__i,.dvt-strip__go a,.dvt-strip__go .dvx-seat,.dvx-pd{min-height:44px}}

/* ── the footer of every page: DeltaV © THRUST, sales@, the disclaimer ── */
.dvt-legal{position:relative;z-index:45;margin:0;padding:22px 16px 28px;background:#05080B;border-top:1px solid rgba(232,90,18,.35);color:#9aa6a0;
  padding:22px max(16px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
  font:13px/1.6 'Public Sans',system-ui,-apple-system,sans-serif;text-align:center}
.dvt-legal__mark{margin:0 0 8px;color:#E6EDF3;font-weight:600;letter-spacing:.04em}
.dvt-legal__mark a{color:#FF8A3D}
.dvt-legal__note{max-width:92ch;margin:0 auto;font-size:12px;color:#8a948f;overflow-wrap:anywhere}   /* the contract address breaks on a 320 px phone */
.dvt-legal__note b{color:#c9d1cc}
@media (max-width:640px){.dvt-legal__mark a{display:inline-flex;align-items:center;min-height:44px}}

/* a point or link only the owner (the Helm) or a VIP (ALL) may see stays hidden whatever a page's own CSS sets for its
   links (site.css makes every nav link inline-flex on phones, which beat the [hidden] default) */
[data-dvt-owner][hidden],[data-dvt-vip][hidden]{display:none!important}

/* the pages' own tickers step aside for it (the chart's, the cockpit's; the cockpit's TICKER switch drives this one) */
.dvx-ticker,.dvc .dvc-ticker{display:none!important}

/* ── the pointed display: the menu in the cockpit's shape ── */
.dvx-pd{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid rgba(212,175,55,.55);border-radius:18px;
  background:transparent;color:#D4AF37;font:600 12.5px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.dvx-pd svg{fill:none;stroke:currentColor;stroke-width:1.6}.dvx-pd svg circle{fill:currentColor;stroke:none}
.dvx-pd:hover,.dvx-pd:focus-visible,.dvx-pd[aria-expanded="true"]{background:rgba(212,175,55,.12);outline:none}
/* the landing's row under the strip: the Flight deck button alone, centred */
.dvt-pdrow{position:relative;display:flex;justify-content:center;padding:10px 16px;background:#05080B;border-bottom:1px solid rgba(212,175,55,.18)}
/* the seat pill (v1.4.0): absolute at the row's left, beside the centred Flight deck; hidden for a visitor */
.dvt-pdrow__seat{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;
  border:1px solid currentColor;border-radius:16px;color:#2EE88A;font:700 11px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-decoration:none}
.dvt-pdrow__seat[hidden]{display:none}
.dvt-pdrow__seat::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.dvt-pdrow__seat[data-role-k="vip"]{color:#D4AF37}.dvt-pdrow__seat[data-role-k="owner"]{color:#F2D675}
@media (max-width:640px){.dvt-pdrow__seat{left:6px;min-height:44px;padding:0 8px}}
/* phones: row 3 is the Flight deck, centred and prominent; the brand shrinks to its mark at the left */
@media (max-width:640px){
  .dvx-pd{min-height:52px;padding:0 28px;gap:10px;border-width:2px;border-radius:26px;background:rgba(212,175,55,.1);color:#F2D675;font-size:15px;font-weight:700;
    box-shadow:0 0 0 1px rgba(212,175,55,.15),0 0 18px rgba(212,175,55,.18)}
  .dvx-pd svg{width:26px;height:26px}
  .dvx-nav{position:relative;justify-content:center}
  .dvx-nav .dvx-nav__brand{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:0;gap:0;padding:0 6px}
  .dvx-nav .dvx-nav__links{justify-content:center}}
.dvx-pdm{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;
  background:radial-gradient(ellipse at 50% 50%,rgba(4,10,8,.94),rgba(2,4,6,.98));backdrop-filter:blur(6px)}
.dvx-pdm[hidden]{display:none}
.dvx-pdm__deck{width:min(1180px,100%);height:min(86vh,760px);height:min(86dvh,760px);color:#E8F5EE}
.dvx-pdm__deck.is-list{height:auto;max-height:92vh;max-height:92dvh;overflow-y:auto}
.dvx-pdm .dvv__core{text-align:center}
.dvx-pdm__k{margin:0;font:600 11px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.24em;text-transform:uppercase;color:#7DB596}
.dvx-pdm__t{margin:6px 0;font:700 clamp(24px,4vw,36px)/1.1 ui-monospace,Menlo,Consolas,monospace;color:#F2D675}
.dvx-pdm__s{margin:0 auto;max-width:42ch;color:#9fb7aa;font-size:13.5px}
.dvx-pdm__s i{font-style:normal;color:#2EE88A}
@media (hover:none),(max-width:640px){.dvx-pdm__grow{display:none}}   /* phones list every destination; nothing to hover */
.dvx-pdm__go{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.dvx-pdm__btn{min-height:44px;padding:0 18px;border:1px solid #2EE88A;border-radius:22px;background:rgba(46,232,138,.08);color:#2EE88A;
  font:600 13px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;cursor:pointer}
.dvx-pdm__btn[aria-pressed="true"]{background:rgba(46,232,138,.25)}
.dvx-pdm__btn--x{border-color:rgba(255,255,255,.3);color:#E8F5EE;background:transparent}
html.pd-open,html.pd-open body{overflow:hidden}

/* ── phones (v1.3.7): a finger needs 44 px, iOS zooms into any field under 16 px, and nothing reads under 12 px ── */
@media (pointer:coarse){
  html body input:not([type=checkbox]):not([type=radio]):not([type=range]),html body select,html body textarea{font-size:16px!important}
  html body details>summary{min-height:44px}
  html body .dvx-pdm__btn,html body .dvx-plan>summary{min-height:44px}
  html body .dvx-stages a.dvx-stage,html body .dvx-nav a.dvx-seat{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}}
@media (max-width:640px){.dvx-pdm__k{font-size:12px}}

/* sealed until improved (operator, 2026-10-15): DAIO and TNT show as a blurred button that goes nowhere */
.dvt-gated,.dvt-gated[disabled]{filter:blur(2.5px);opacity:.55;cursor:not-allowed;pointer-events:none;user-select:none;-webkit-user-select:none}
button.dvt-gated:not(.dvv__i):not(.dvt-btn){font:inherit;color:inherit;background:none;border:1px solid currentColor;border-radius:3px;padding:0 .4em}

/* 7 chains, one bridge (v1.4.3): the FAQ's chain menu on the launch pad and on /bridge. Each logo (chainmarketcap /
   DeltaVerse coinlogos) sits on a light disc so every mark reads on the dark pages; each name opens the chain's own site */
.dvt-chains{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:8px;margin:10px 0;padding:0;list-style:none}
.dvt-chains li{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.02)}
.dvt-chain{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:inherit;text-decoration:none}
.dvt-chain img{flex:none;width:34px;height:34px;padding:3px;border-radius:50%;background:#F4F6F8;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.dvt-chain b{font-size:15px}
.dvt-chain:hover b,.dvt-chain:focus-visible b{text-decoration:underline;outline:none}
.dvt-chains small{opacity:.7;font-size:12.5px}
.dvt-chains__go{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
