/* 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-stagebar{position:relative;display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.25)}
.dvx-stagebar>.dvx-stages{flex:1 1 auto;min-width:0;border-bottom:0;background:none}
/* v1.9.8: the strip's log — the flight plan, the Stardate's latest, the history (years of updates) */
.dvx-log{flex:none;display:flex}
.dvx-log>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;margin:4px 8px 4px 0;border:1px solid rgba(46,232,138,.4);border-radius:15px;color:#2EE88A;cursor:pointer;font:600 12.5px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;white-space:nowrap}
.dvx-log>summary::-webkit-details-marker{display:none}
.dvx-log[open]>summary,.dvx-log>summary:hover,.dvx-log>summary:focus-visible{background:rgba(46,232,138,.12);outline:none}
.dvx-log__panel{position:absolute;z-index:60;left:0;right:0;top:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-height:min(72vh,640px);overflow:auto;
  padding:16px 18px;background:#0A0E14;border-bottom:1px solid rgba(46,232,138,.25);box-shadow:0 18px 40px rgba(0,0,0,.55);color:#E6EDF3;font:13px/1.45 ui-monospace,Menlo,Consolas,monospace;text-align:left}
.dvx-log__panel h2{margin:0 0 8px;color:#D4AF37;font:700 12px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}
.dvx-log__panel ol{margin:0 0 8px;padding:0;list-style:none}
.dvx-log__panel li a{display:flex;align-items:flex-start;gap:8px;min-height:36px;padding:5px 6px;border-radius:6px;color:#E6EDF3;text-decoration:none}
.dvx-log__panel li a:hover,.dvx-log__panel li a:focus-visible{background:rgba(46,232,138,.08);outline:none}
.dvx-log__panel li a span{min-width:0;overflow-wrap:anywhere}.dvx-log__panel small{display:block;color:#FFB547;font-size:11.5px}
.dvx-log__panel time{flex:none;color:#7A8A99;font-size:11.5px;min-width:10ch}
.dvx-log__plan a b{flex:none;width:1.2em;text-align:center}.dvx-log__plan a.is-complete b,.dvx-log__list a b{color:#2EE88A}
.dvx-log__plan a.is-current{color:#FFB547}.dvx-log__plan a.is-next b{color:#7A8A99}.dvx-log__plan a.is-aim b{color:#F4F1E6}
.dvx-log__years{display:flex;flex-wrap:wrap;gap:6px}
.dvx-log__years li{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:12px}
.dvx-log__years li b{color:#C9D4E2}.dvx-log__years li span{color:#2EE88A}
.dvx-log__years li.is-now{border-color:rgba(46,232,138,.55)}.dvx-log__years li small{display:inline;color:#2EE88A}
.dvx-log__tot{margin:4px 0 8px;color:#7A8A99;font-size:12px}
.dvx-log__all{display:inline-flex;align-items:center;min-height:36px;color:#3FA9F5;text-decoration:none}
@media (max-width:900px){.dvx-log__panel{grid-template-columns:minmax(0,1fr);max-height:70vh}.dvx-log>summary span{display:none}}
@media (max-width:640px){.dvx-log>summary{min-height:44px;min-width:44px;justify-content:center}.dvx-log__panel li a,.dvx-log__all{min-height:44px}}
.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 var(--tape-s,180s) linear infinite}   /* v1.6.2 (operator, again: "slow down the price ticker"): a reading pace, ~28 px/s, set by top-ticker.js from the row's width (42s → 90s → by pace) */
/* 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}
/* press and hold (v1.5.0): the tape stops where it is while held; no text selection or long-press callout over it */
.dvt-strip__tape.is-held .dvt-top__track{animation-play-state:paused}
.dvt-strip__tape{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y}
.dvt-top__row{display:inline-flex;gap:6px;padding-right:6px}
/* the news scroll (v1.4.2; v1.6.3, operator: "have the news ticker go across the bottom of the page"): a slim bar fixed along
   the bottom edge, for a signed-in wallet only (top-news.js adds it to <body> and .has-newsbar to <html>). The page gets
   the bar's height as bottom padding, so the bar never covers the end of it; whatever else is fixed to the bottom steps up
   by the same height. Depth 82: the strip's band, under the Flight deck (90) */
.dvt-newsbar{position:fixed;left:0;right:0;bottom:0;z-index:82;height:calc(28px + env(safe-area-inset-bottom,0px));overflow:hidden;white-space:nowrap;
  padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);box-sizing:border-box;
  border-top:1px solid rgba(232,90,18,.35);background:#04070A;font:500 12px/28px 'Public Sans',system-ui,-apple-system,sans-serif}
html.has-newsbar body{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
html.has-newsbar .dvk[data-docked]{bottom:calc(28px + env(safe-area-inset-bottom,0px))}
html.has-newsbar #dvt .dvt-fire__gauge{margin-bottom:32px}
@media (max-width:640px){html.has-newsbar .brobot-launch{bottom:48px}}
.dvt-news__track{display:inline-flex;animation:dvt-top-scroll var(--news-s,180s) linear infinite}
@media (hover:hover){.dvt-newsbar:hover .dvt-news__track,.dvt-newsbar: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-newsbar{overflow-x:auto}.dvt-news__track{animation:none}.dvt-news__row[aria-hidden]{display:none}}
@media (max-width:640px){.dvt-newsbar{font-size:12px}}
.dvt-top__wait{display:inline-block;color:#7DB596;padding:11px 16px}
/* v1.9.4: the release's progress at the head of the tape: green checks, this version's burn, the next milestone */
.dvt-top__done{display:inline-flex;align-items:center;min-height:40px;padding:9px 16px;color:#2EE88A;font-weight:700;text-decoration:none;white-space:nowrap;border-right:1px solid rgba(46,232,138,.25)}
.dvt-top__done:hover,.dvt-top__done:focus-visible{background:rgba(46,232,138,.12);outline:none}
@media (max-width:640px){.dvt-top__done{min-height:44px;padding:0 12px}}
/* v1.9.7: the scroll's FLIGHT and NEWS modes, and its control in the strip */
.dvt-top__leg{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 14px;color:#C9D4E2;text-decoration:none;white-space:nowrap}
.dvt-top__leg b{font-weight:800}.dvt-top__leg small{color:#FFB547;font-size:11px;letter-spacing:.06em}
.dvt-top__leg.is-complete b{color:#2EE88A}.dvt-top__leg.is-current{color:#FFB547;box-shadow:inset 0 0 0 1px rgba(255,181,71,.45);border-radius:14px}
.dvt-top__leg.is-next b{color:#7A8A99}.dvt-top__leg.is-aim b{color:#F4F1E6}
.dvt-top__leg:hover,.dvt-top__leg:focus-visible,.dvt-top__news:hover,.dvt-top__news:focus-visible{background:rgba(46,232,138,.1);outline:none}
.dvt-top__k{display:inline-flex;align-items:center;padding:0 12px;color:#2EE88A;font:700 10.5px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.18em}
.dvt-top__news{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 14px;color:#E6EDF3;text-decoration:none;white-space:nowrap}
.dvt-top__news small{color:#7DB596}
.dvt-top__board{display:inline-flex;align-items:center;min-height:40px;padding:9px 14px;color:#D4AF37;font-weight:700;text-decoration:none;white-space:nowrap;border-left:1px solid rgba(212,175,55,.3)}
.dvt-top__mover{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:9px 12px;color:#E6EDF3;text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.dvt-top__mover small{color:#7A8A99}.dvt-top__mover.is-up b{color:#2EE88A}.dvt-top__mover.is-down b{color:#F2B33D}
.dvt-top__k.is-down{color:#F2B33D}
.dvt-top__board:hover,.dvt-top__board:focus-visible,.dvt-top__mover:hover,.dvt-top__mover:focus-visible{background:rgba(212,175,55,.1);outline:none}
@media (max-width:640px){.dvt-top__board,.dvt-top__mover{min-height:44px;padding:0 10px}}
.dvt-strip__mode{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0;border:1px solid rgba(46,232,138,.4);border-radius:16px;background:transparent;color:#2EE88A;font:700 14px ui-monospace,Menlo,Consolas,monospace;cursor:pointer}
.dvt-strip__mode:hover,.dvt-strip__mode:focus-visible{background:rgba(46,232,138,.12);outline:none}
@media (max-width:640px){.dvt-top__leg,.dvt-top__news{min-height:44px;padding:0 10px}.dvt-strip__mode{min-width:44px;min-height:44px}}
.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}

/* ── the seat's menu (thrust-guard.js): the signed-in address top right opens "To your seat" and "Log out" ── */
.dvt-seatmenu{position:fixed;z-index:120;min-width:220px;max-width:calc(100vw - 16px);margin:0;padding:6px;box-sizing:border-box;
  background:#0B0F14;border:1px solid rgba(46,232,138,.4);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.55);
  font:600 12.5px/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;color:#E6EDF3}
.dvt-seatmenu__k{margin:0;padding:8px 10px 10px;color:#2EE88A;border-bottom:1px solid rgba(255,255,255,.08)}
.dvt-seatmenu__k small{display:block;margin-top:4px;color:#7DB596;font:400 11px/1.3 'Public Sans',system-ui,sans-serif;letter-spacing:0}
.dvt-seatmenu__i{display:flex;align-items:center;width:100%;min-height:40px;margin:4px 0 0;padding:0 10px;box-sizing:border-box;border:0;border-radius:6px;
  background:none;color:#E6EDF3;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.dvt-seatmenu__i:hover,.dvt-seatmenu__i:focus-visible{background:rgba(46,232,138,.14);outline:none}
.dvt-seatmenu__i:focus-visible{box-shadow:inset 0 0 0 1px #2EE88A}
.dvt-seatmenu__out{color:#FF8A6A}
.dvt-seatmenu__out:hover,.dvt-seatmenu__out:focus-visible{background:rgba(255,106,74,.14);box-shadow:inset 0 0 0 1px rgba(255,106,74,.6)}
html[data-role="vip"] .dvt-seatmenu,html[data-role="owner"] .dvt-seatmenu{border-color:rgba(212,175,55,.5)}
html[data-role="vip"] .dvt-seatmenu__k,html[data-role="owner"] .dvt-seatmenu__k{color:#D4AF37}
@media (pointer:coarse){.dvt-seatmenu__i{min-height:44px}}
/* v1.8.5 (operator: "when I touch the sign in the border should turn candle green and remain green while signed in";
   "i like gold for recognized VIP maintain hierarchy distinction including for complete hierarchy"): the point's border
   says where you stand, step by step, under either theme (these colours are outside TNT.theme's palette, so it never
   re-inks them):
     touched / signing  candle green (the chart's rising candle, #36D399)
     BASE               candle green outline
     HOLDER             candle green outline, green fill, the dot lit
     VIP                gold: border, text and fill (recognised at 22,000 THRUST)
     OWNER              bright gold with a second gold ring and a glow
   Signing out or cancelling the signature returns the theme's border. */
.dvx-seat:active,.dvx-seat:focus-visible,.dvx-seat.is-touched,.dvx-seat[aria-busy="true"]{border-color:#36D399!important;box-shadow:0 0 0 1px rgba(54,211,153,.35)}
html[data-role="base"] .dvx-seat.is-in{border-color:#36D399!important;color:#36D399!important;background:transparent!important;box-shadow:none}
html[data-role="holder"] .dvx-seat.is-in{border-color:#36D399!important;color:#36D399!important;background:rgba(54,211,153,.14)!important;box-shadow:0 0 0 1px rgba(54,211,153,.3)}
html[data-role="vip"] .dvx-seat.is-in{border-color:#D9B23C!important;color:#D9B23C!important;background:rgba(217,178,60,.12)!important;box-shadow:0 0 0 1px rgba(217,178,60,.35)}
html[data-role="owner"] .dvx-seat.is-in{border-color:#F5D77A!important;color:#F5D77A!important;background:rgba(245,215,122,.12)!important;
  box-shadow:0 0 0 2px #0b0a08,0 0 0 3px #D9B23C,0 0 14px rgba(245,215,122,.45)}
/* v1.8.5 (operator: "onhover should turn it a shade of green"): hovering turns the point a lighter candle green (#6EE7B7)
   for anyone not yet recognised gold (signed out, BASE, HOLDER, switching); VIP and OWNER keep their gold on hover */
@media (hover:hover){
  html:not([data-role="vip"]):not([data-role="owner"]) .dvx-seat:hover,html .dvx-seat:not(.is-in):hover{border-color:#6EE7B7!important;color:#6EE7B7!important;background:rgba(110,231,183,.12)!important}
}
