/*!
 * Deluxiam "Nova" theme — frontend only.
 * ## What changed
 *   Brand-new design system for the public site + user dashboard (replaces the old
 *   template CSS: bootstrap.min.css + style.min.css + select2 + owl for these pages).
 * ## When changed (Adelaide time)
 *   2026-09-26 19:52 ACST (Adelaide)
 * ## What things were changed
 *   New file. No backend file touched. Keeps every class the existing custom JS toggles
 *   (d-none, spinner, error, modal/collapse/fade/show, filter-panel, show-copied, invisible…).
 *   UPDATE 2026-09-27 03:12 ACST (Adelaide): + instant-swap widget styles, two-way (fixed-rate) amounts, compact homepage swap box,
 *   tighter hero so the whole first screen fits before scrolling.
 *   UPDATE 2026-09-27 03:16 ACST (Adelaide): laptop/short-screen tiers (max-height 860 / 700) so the hero, swap box and
 *   Create account / Sign in stay above the fold; right-side wallet card scales with window height.
 *   UPDATE 2026-09-27 03:28 ACST (Adelaide): self-hosted Sora font (fonts/, SIL OFL - no Google request), instant tap progress bar
 *   (#nvProgress) and a quicker page cross-fade for smoother page switches.
 *   UPDATE 2026-09-27 03:40 ACST (Adelaide): calm desktop first screen (>=980px only): bigger swap box, Create account / Sign in under
 *   the wallet card, kicker + trust row shown on phones only. Replaced the 03:16 laptop tiers. Phone layout unchanged.
 *   UPDATE 2026-09-27 03:47 ACST (Adelaide): short laptops (e.g. 1920x1080 @150% = ~1265x585) - wallet card scaled as one piece with zoom
 *   tiers, tighter swap under 640px height, wider swap box (560px); ticker fully visible. Hero badge/trust row removed on all screens.
 *   UPDATE 2026-09-27 07:33 ACST (Adelaide): badge + trust row back (user changed mind). Phones = exactly the earlier layout; desktop shows the
 *   trust row under Create account / Sign in (.nv-trust-r). + a max-height 780 tier so 1536x730 laptops also fit.
 */

/* ============ 0. Self-hosted font (one variable file per script, weights 500-800) ============ */
@font-face{font-family:"Sora";font-style:normal;font-weight:500 800;font-display:swap;src:url("fonts/sora-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Sora";font-style:normal;font-weight:500 800;font-display:swap;src:url("fonts/sora-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ============ 1. Tokens ============ */
:root{
  --bg:#05050b; --bg-2:#0a0a15; --bg-3:#10101e;
  --surface:rgba(255,255,255,.035); --surface-2:rgba(255,255,255,.065); --surface-3:rgba(255,255,255,.1);
  --solid:#0e0e1b; --solid-2:#151527;
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.15);
  --text:#f5f5fc; --text-2:#b3b3cc; --text-3:#72728e;
  --brand:#8b5cf6; --brand-2:#22d3ee; --brand-3:#a3e635; --brand-ink:#c4b5fd;
  --grad:linear-gradient(135deg,#a78bfa 0%,#7c3aed 38%,#2563eb 70%,#22d3ee 100%);
  --grad-text:linear-gradient(100deg,#c4b5fd 0%,#8b5cf6 30%,#22d3ee 70%,#a3e635 100%);
  --pos:#34d399; --pos-bg:rgba(52,211,153,.12); --neg:#fb7185; --neg-bg:rgba(251,113,133,.12);
  --warn:#fbbf24; --warn-bg:rgba(251,191,36,.12); --info:#60a5fa; --info-bg:rgba(96,165,250,.12);
  --r-xs:8px; --r-sm:12px; --r:18px; --r-lg:26px; --r-xl:34px;
  --shadow:0 18px 50px -18px rgba(0,0,0,.75); --shadow-sm:0 6px 20px -8px rgba(0,0,0,.6);
  --glow:0 10px 36px -8px rgba(124,58,237,.65);
  --ease:cubic-bezier(.2,.8,.2,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --display:"Sora",var(--font);
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --side:264px; --top:68px; --tab:70px;
  --safe-b:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
html[data-theme="light"]{
  --bg:#f5f4fb; --bg-2:#eceaf7; --bg-3:#e4e1f3;
  --surface:rgba(255,255,255,.72); --surface-2:#ffffff; --surface-3:#f1effa;
  --solid:#ffffff; --solid-2:#f7f6fd;
  --border:rgba(24,18,66,.09); --border-2:rgba(24,18,66,.16);
  --text:#0d0c1d; --text-2:#48476a; --text-3:#8a89a6; --brand-ink:#6d28d9;
  --shadow:0 18px 50px -22px rgba(40,28,110,.28); --shadow-sm:0 6px 18px -10px rgba(40,28,110,.3);
  --glow:0 10px 30px -10px rgba(124,58,237,.55);
  --pos:#059669; --neg:#e11d48; --warn:#b45309;
  color-scheme:light;
}

/* ============ 2. Base ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:400 15px/1.55 var(--font);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
@media (min-width:768px){body{font-size:15.5px}}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,h5,h6{font-family:var(--display);font-weight:700;line-height:1.15;margin:0 0 .4em;letter-spacing:-.02em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
hr{border:0;border-top:1px solid var(--border);margin:1.2rem 0}
::selection{background:rgba(139,92,246,.45);color:#fff}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.tnum{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono)}
.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:nvShift 8s ease-in-out infinite alternate}
@keyframes nvShift{to{background-position:100% 0}}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
/* instant tap feedback while the next page loads (only appears if the switch takes >90ms) */
#nvProgress{position:fixed;top:0;left:0;right:0;height:2.5px;z-index:9999;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);background:var(--grad);box-shadow:0 0 10px rgba(139,92,246,.7);opacity:0;transition:opacity .25s}
#nvProgress.is-on{opacity:1;animation:nvProg 9s cubic-bezier(.08,.8,.2,1) forwards}
@keyframes nvProg{0%{transform:scaleX(0)}8%{transform:scaleX(.4)}100%{transform:scaleX(.95)}}
a,button,[role=button],label,summary{touch-action:manipulation}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Aurora backdrop (GPU only: transform + opacity, no filter blur) */
.nv-aurora{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;contain:strict}
.nv-aurora::before,.nv-aurora::after{content:"";position:absolute;inset:-25%;will-change:transform}
.nv-aurora::before{background:
  radial-gradient(38% 30% at 18% 12%,rgba(139,92,246,.30),transparent 70%),
  radial-gradient(30% 26% at 88% 8%,rgba(34,211,238,.20),transparent 70%),
  radial-gradient(34% 30% at 70% 92%,rgba(99,102,241,.18),transparent 70%);
  animation:nvAurora 26s ease-in-out infinite alternate}
.nv-aurora::after{background:radial-gradient(26% 22% at 30% 80%,rgba(163,230,53,.08),transparent 70%);animation:nvAurora 34s ease-in-out infinite alternate-reverse}
html[data-theme="light"] .nv-aurora::before{opacity:.55}
html[data-theme="light"] .nv-aurora::after{opacity:.6}
@keyframes nvAurora{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(3%,2%,0) rotate(4deg)}100%{transform:translate3d(-3%,-2%,0) rotate(-3deg)}}
.nv-grid-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(70% 55% at 50% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(70% 55% at 50% 0%,#000 20%,transparent 75%);opacity:.55}

/* ============ 3. Utilities (incl. classes used by existing custom JS) ============ */
.d-none,.di-none,.hidden{display:none!important}
.cross-none{display:none}
.d-block,.di-block{display:block!important}
.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-grid{display:grid!important}
.invisible{visibility:hidden!important}
.visually-hidden,.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.flex-wrap{flex-wrap:wrap}.flex-column{flex-direction:column}.flex-1{flex:1 1 0;min-width:0}
.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}
.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.justify-content-end{justify-content:flex-end}
.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}
.w-100{width:100%}.h-100{height:100%}.position-relative{position:relative}.position-absolute{position:absolute}
.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:24px}
.m-0{margin:0!important}.mb-0{margin-bottom:0!important}.mt-0{margin-top:0!important}
.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:24px}.mt-6{margin-top:32px}
.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:24px}
.ms-1{margin-inline-start:4px}.ms-2{margin-inline-start:8px}.me-1{margin-inline-end:4px}.me-2{margin-inline-end:8px}
.text-white{color:#fff!important}
.muted,.text-muted{color:var(--text-2)!important}.faint{color:var(--text-3)!important}
.text-success{color:var(--pos)!important}.text-danger,.text-F30{color:var(--neg)!important}.text-warning{color:var(--warn)!important}.text-primary{color:var(--brand-ink)!important}.text-info{color:var(--info)!important}
.small,small{font-size:.84em}.fw-bold,strong,b{font-weight:650}
.break{word-break:break-all;overflow-wrap:anywhere}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cursor-pointer{cursor:pointer}
.row{display:flex;flex-wrap:wrap;margin-inline:-8px}
.row>*{padding-inline:8px;width:100%}
@media (min-width:768px){.col-md-6{width:50%}.col-md-4{width:33.333%}.col-md-8{width:66.666%}}
@media (min-width:992px){.col-lg-4{width:33.333%}.col-lg-8{width:66.666%}.col-lg-6{width:50%}}
.col-6{width:50%}

/* ============ 4. Buttons ============ */
.nv-btn,.btn{--h:48px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h);padding:0 20px;
  border-radius:14px;border:1px solid transparent;font:600 15px/1 var(--font);letter-spacing:-.005em;cursor:pointer;user-select:none;
  white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .16s var(--ease),box-shadow .2s var(--ease),background-color .2s,border-color .2s,opacity .2s;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation}
.nv-btn:active,.btn:active{transform:scale(.97)}
.nv-btn[disabled],.btn[disabled],.nv-btn.is-busy,.btn.is-busy{opacity:.6;pointer-events:none}
.nv-btn-primary,.btn-primary,.bg-primary.btn,.green-btn{color:#fff;background:var(--grad);background-size:140% 140%;box-shadow:var(--glow)}
.nv-btn-primary::after,.btn-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 62%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.nv-btn-primary:hover::after,.btn-primary:hover::after{transform:translateX(120%)}
.nv-btn-primary:hover,.btn-primary:hover{box-shadow:0 14px 40px -8px rgba(124,58,237,.8)}
.nv-btn-soft,.btn-secondary,.btn-secondary-cancel{color:var(--text);background:var(--surface-2);border-color:var(--border)}
.nv-btn-soft:hover,.btn-secondary:hover{background:var(--surface-3);border-color:var(--border-2)}
.nv-btn-ghost{color:var(--text-2);background:transparent;border-color:var(--border)}
.nv-btn-ghost:hover{color:var(--text);border-color:var(--border-2);background:var(--surface)}
.nv-btn-danger,.btn-danger,.btn-secondary-delete{color:#fff;background:linear-gradient(135deg,#fb7185,#e11d48);box-shadow:0 10px 30px -10px rgba(225,29,72,.7)}
.nv-btn-block,.d-grid>.btn,.d-grid>.nv-btn{width:100%}
.nv-btn-lg,.btn-lg{--h:56px;font-size:16px;border-radius:16px}
.nv-btn-sm,.btn-sm{--h:38px;padding:0 14px;font-size:13.5px;border-radius:11px}
.nv-btn-icon{--h:42px;width:var(--h);padding:0;border-radius:13px}
.nv-link{color:var(--brand-ink);font-weight:600}
.nv-link:hover{text-decoration:underline;text-underline-offset:3px}
.nv-ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.35);pointer-events:none;animation:nvRipple .55s var(--ease) forwards}
@keyframes nvRipple{to{transform:scale(2.6);opacity:0}}
.btn-close,.nv-x{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:.2s}
.btn-close:hover,.nv-x:hover{color:var(--text);background:var(--surface-3)}
.btn-close::before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Spinner (used by existing JS: .spinner + d-none toggle) */
.spinner-border{display:inline-block;width:20px;height:20px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nvSpin .7s linear infinite;vertical-align:-3px}
.spinner-border-sm{width:16px;height:16px;border-width:2px}
@keyframes nvSpin{to{transform:rotate(360deg)}}
.nv-btn .spinner,.btn .spinner{margin:0!important}

/* ============ 5. Forms ============ */
.nv-field{position:relative;margin-top:18px}
.nv-field:first-child{margin-top:0}
.nv-label,.form-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-2);letter-spacing:.01em}
.nv-label .star,.form-label .star,.star{color:var(--neg)}
.form-control,.nv-input,select.select2,.form-select{width:100%;height:54px;padding:0 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);
  font:500 16px/1.2 var(--font);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s;-webkit-appearance:none;appearance:none}
textarea.form-control{height:auto;min-height:110px;padding:14px 16px;line-height:1.5;resize:vertical}
.form-control::placeholder{color:var(--text-3);opacity:1}
.form-control:hover{border-color:var(--border-2)}
.form-control:focus,select.select2:focus{border-color:rgba(139,92,246,.7);box-shadow:0 0 0 4px rgba(139,92,246,.18);background:var(--surface-3)}
.form-control[readonly]{background:var(--surface);cursor:default}
select.form-control,select.select2,.form-select,select.nv-select{padding-inline-end:44px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239a9ab8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
select option{background:var(--solid);color:var(--text)}
.nv-amount{height:64px;font:650 24px/1 var(--display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.nv-input-wrap{position:relative}
.nv-input-wrap .form-control{padding-inline-end:52px}
.nv-input-suffix{position:absolute;top:0;right:6px;height:54px;display:flex;align-items:center;gap:6px}
.nv-input-wrap.has-coin .form-control{padding-inline-start:54px}
.nv-coin-slot{position:absolute;left:12px;top:13px;width:28px;height:28px;border-radius:50%;pointer-events:none;background:var(--surface-3);overflow:hidden}
.nv-coin-slot img{width:100%;height:100%;object-fit:cover}
.eye-icon,.eye-icon-hide{position:absolute;right:8px;top:8px;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--text-3);cursor:pointer;z-index:2}
.eye-icon:hover,.eye-icon-hide:hover{color:var(--text);background:var(--surface-3)}
.eye-icon svg path,.eye-icon-hide svg path{fill:currentColor}
#show_hide_password,#password-div{position:relative}
#show_hide_password .form-control,#password-div .form-control{padding-inline-end:52px}
label.error,span.error,div.error,.error,.custom-error,.amountLimit,.amount-limit-error,.receiverError,.file-error{display:block;margin-top:7px;font-size:12.5px;font-weight:600;color:var(--neg)}
.custom-error:empty,.amountLimit:empty,.amount-limit-error:empty,.receiverError:empty{margin:0}
.has-validation-error .form-control{border-color:rgba(251,113,133,.7);box-shadow:0 0 0 4px rgba(251,113,133,.12)}
.nv-help{margin-top:8px;font-size:12.5px;color:var(--text-3)}
input[type=file].form-control{height:auto;padding:12px}
input[type=file]::file-selector-button{margin-inline-end:12px;padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-3);color:var(--text);font-weight:600;cursor:pointer}
input[type=checkbox]{width:20px;height:20px;accent-color:#8b5cf6}
.nv-switch{position:relative;display:inline-block;width:52px;height:30px;flex:none}
.nv-switch input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer;z-index:1}
.nv-switch span{position:absolute;inset:0;border-radius:99px;background:var(--surface-3);border:1px solid var(--border);transition:.25s}
.nv-switch span::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:transform .3s var(--spring)}
.nv-switch input:checked+span{background:var(--grad);border-color:transparent}
.nv-switch input:checked+span::after{transform:translateX(22px)}

/* Coin select wrapper (logo inside native select) */
.nv-select-wrap{position:relative}
.nv-select-wrap select{padding-inline-start:52px}
.nv-select-wrap .nv-coin-slot{top:13px}

/* ============ 6. Cards & surfaces ============ */
.nv-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm)}
html[data-theme="light"] .nv-card{background:var(--surface-2)}
.nv-card-pad-lg{padding:28px}
@media (min-width:768px){.nv-card{padding:26px}.nv-card-pad-lg{padding:36px}}
.nv-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.nv-card-title h3,.nv-card-title h2{margin:0;font-size:17px;letter-spacing:-.01em}
.nv-glass{background:rgba(14,14,27,.62);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}
html[data-theme="light"] .nv-glass{background:rgba(255,255,255,.7)}
.nv-gborder{position:relative}
.nv-gborder::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(167,139,250,.7),rgba(34,211,238,.35) 40%,transparent 70%,rgba(163,230,53,.35));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.nv-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:30px 0 14px}
.nv-section-title h2,.nv-section-title h3{margin:0;font-size:18px}
.nv-section-title a{font-size:13.5px;font-weight:600;color:var(--brand-ink);display:inline-flex;align-items:center;gap:4px}
.nv-divider{height:1px;background:var(--border);margin:18px 0}
.nv-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;background:var(--surface-2);border:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--text-2)}
.nv-dot{width:8px;height:8px;border-radius:50%;background:var(--pos);box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:nvPulse 2s infinite}
@keyframes nvPulse{70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}

/* Pills / badges */
.nv-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:99px;font-size:11.5px;font-weight:700;letter-spacing:.02em;background:var(--surface-3);color:var(--text-2);white-space:nowrap}
.nv-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.nv-pill.is-success,.nv-pill.bg-success{background:var(--pos-bg);color:var(--pos)}
.nv-pill.is-warning,.nv-pill.bg-warning{background:var(--warn-bg);color:var(--warn)}
.nv-pill.is-danger,.nv-pill.bg-danger{background:var(--neg-bg);color:var(--neg)}
.nv-pill.is-primary,.nv-pill.bg-primary{background:rgba(139,92,246,.14);color:var(--brand-ink)}
.nv-pill.is-info{background:var(--info-bg);color:var(--info)}
.nv-chg{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}
.nv-chg.up{color:var(--pos)}.nv-chg.down{color:var(--neg)}

/* Coin avatar */
.nv-coin{position:relative;flex:none;width:42px;height:42px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 1px var(--border)}
.nv-coin img{width:100%;height:100%;object-fit:cover}
.nv-coin.sm{width:32px;height:32px}.nv-coin.lg{width:56px;height:56px}.nv-coin.xl{width:72px;height:72px}
.nv-avatar{flex:none;width:40px;height:40px;border-radius:14px;object-fit:cover;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border)}

/* ============ 7. App shell (user area) ============ */
.nv-shell{min-height:100vh;display:flex}
.nv-side{position:fixed;inset:0 auto 0 0;width:var(--side);z-index:40;display:none;flex-direction:column;padding:22px 16px 18px;border-right:1px solid var(--border)}
.nv-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 22px;font:800 19px/1 var(--display);letter-spacing:-.03em}
.nv-brand-mark{width:36px;height:36px;flex:none;filter:drop-shadow(0 6px 16px rgba(124,58,237,.55))}
.nv-nav{display:flex;flex-direction:column;gap:3px;overflow-y:auto;scrollbar-width:none;flex:1}
.nv-nav::-webkit-scrollbar{display:none}
.nv-nav-label{margin:16px 12px 6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.nv-nav a{position:relative;display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;border-radius:13px;color:var(--text-2);font-weight:550;font-size:14.5px;transition:background-color .2s,color .2s}
.nv-nav a svg{width:20px;height:20px;flex:none;opacity:.9}
.nv-nav a:hover{background:var(--surface-2);color:var(--text)}
.nv-nav a.is-active{color:var(--text);background:linear-gradient(90deg,rgba(139,92,246,.2),rgba(139,92,246,.04));box-shadow:inset 0 0 0 1px rgba(139,92,246,.25)}
.nv-nav a.is-active::before{content:"";position:absolute;left:-16px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--grad)}
.nv-side-foot{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--border)}
.nv-user-chip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:14px}
.nv-user-chip:hover{background:var(--surface-2)}
.nv-user-chip .nm{font-weight:650;font-size:14px;line-height:1.2}
.nv-user-chip .em{font-size:12px;color:var(--text-3);line-height:1.3}
.nv-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}
.nv-top{position:sticky;top:0;z-index:30;height:var(--top);display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid transparent;transition:border-color .2s,background-color .2s}
.nv-top.is-stuck{border-bottom-color:var(--border)}
.nv-top .nv-brand{padding:0;font-size:17px}
.nv-top .nv-brand-mark{width:30px;height:30px}
.nv-top-title{font:700 17px/1 var(--display);letter-spacing:-.02em;display:none}
.nv-top-actions{margin-inline-start:auto;display:flex;align-items:center;gap:8px}
.nv-icon-btn{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;transition:.2s}
.nv-icon-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-2)}
.nv-icon-btn svg{width:20px;height:20px}
.nv-content{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:10px 16px calc(var(--tab) + 36px + var(--safe-b))}
.main-containt{width:100%} /* no animation/opacity/transform here: it would trap Bootstrap modals under the backdrop */
@keyframes nvFade{from{opacity:0}to{opacity:1}}
@keyframes nvRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.nv-foot{padding:18px 16px calc(var(--tab) + 24px + var(--safe-b));text-align:center;font-size:12.5px;color:var(--text-3)}
@media (min-width:1024px){
  .nv-side{display:flex}
  .nv-main{margin-inline-start:var(--side)}
  .nv-top{padding:0 32px}
  .nv-top .nv-brand{display:none}
  .nv-top-title{display:block}
  .nv-content{padding:20px 32px 40px}
  .nv-foot{padding:18px 32px 28px}
  .nv-tabbar,.nv-fab-wrap{display:none!important}
}

/* Bottom tab bar (mobile) */
.nv-tabbar{position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe-b));z-index:45;height:var(--tab);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;border-radius:24px;border:1px solid var(--border);box-shadow:0 20px 50px -12px rgba(0,0,0,.7)}
.nv-tabbar a,.nv-tabbar button{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10.5px;font-weight:650;color:var(--text-3);background:none;border:0;cursor:pointer;transition:color .2s}
.nv-tabbar svg{width:22px;height:22px;transition:transform .3s var(--spring)}
.nv-tabbar .is-active{color:var(--text)}
.nv-tabbar .is-active svg{transform:translateY(-1px) scale(1.08);color:var(--brand-ink)}
.nv-fab{width:56px;height:56px;margin-top:-26px;border-radius:20px;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:0 12px 30px -6px rgba(124,58,237,.9),0 0 0 6px var(--bg);transition:transform .3s var(--spring)}
.nv-fab svg{width:26px;height:26px;color:#fff!important;transition:transform .35s var(--spring)}
.nv-tabbar button[aria-expanded="true"] .nv-fab svg{transform:rotate(45deg)}

/* Sheets (action sheet / more menu) */
.nv-sheet{position:fixed;inset:0;z-index:80;display:none}
.nv-sheet.is-open{display:block}
.nv-sheet-backdrop{position:absolute;inset:0;background:rgba(3,3,10,.6);opacity:0;transition:opacity .25s}
.nv-sheet.is-in .nv-sheet-backdrop{opacity:1}
.nv-sheet-panel{position:absolute;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;padding:10px 18px calc(22px + var(--safe-b));border-radius:28px 28px 0 0;border:1px solid var(--border);border-bottom:0;background:var(--solid);transform:translateY(100%);transition:transform .38s var(--ease)}
.nv-sheet.is-in .nv-sheet-panel{transform:none}
.nv-sheet-grip{width:42px;height:5px;border-radius:9px;background:var(--border-2);margin:4px auto 16px}
.nv-sheet h3{font-size:17px;margin:0 0 14px}
.nv-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.nv-action{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px;border-radius:18px;background:var(--surface-2);border:1px solid var(--border);font-size:12.5px;font-weight:650;color:var(--text);transition:transform .2s var(--spring),background-color .2s}
.nv-action:active{transform:scale(.95)}
.nv-action i{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:#fff;font-style:normal}
.nv-action i svg{width:22px;height:22px}
.nv-list-menu{display:flex;flex-direction:column;gap:4px;margin-top:14px}
.nv-list-menu a{display:flex;align-items:center;gap:14px;padding:13px 12px;border-radius:14px;font-weight:600;color:var(--text)}
.nv-list-menu a:hover{background:var(--surface-2)}
.nv-list-menu a svg{width:20px;height:20px;color:var(--text-2)}
.nv-list-menu a .chev{margin-inline-start:auto;width:16px;height:16px;color:var(--text-3)}
@media (min-width:1024px){.nv-sheet-panel{left:50%;right:auto;bottom:auto;top:50%;width:440px;border-radius:26px;border-bottom:1px solid var(--border);transform:translate(-50%,-46%) scale(.96);opacity:0;transition:transform .3s var(--ease),opacity .25s}.nv-sheet.is-in .nv-sheet-panel{transform:translate(-50%,-50%);opacity:1}.nv-sheet-grip{display:none}}

/* Dropdown (desktop user menu) */
.nv-drop{position:relative}
.nv-drop-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:250px;padding:8px;border-radius:18px;border:1px solid var(--border);background:var(--solid);box-shadow:var(--shadow);opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;pointer-events:none;transition:.18s var(--ease);z-index:60}
.nv-drop.is-open .nv-drop-menu{opacity:1;transform:none;pointer-events:auto}
.nv-drop-menu .hd{padding:10px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}
.nv-drop-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;font-size:14px;font-weight:550;color:var(--text-2)}
.nv-drop-menu a:hover{background:var(--surface-2);color:var(--text)}
.nv-drop-menu a svg{width:18px;height:18px}

/* Page head */
.nv-page-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:14px;margin:6px 0 22px}
.nv-page-head h1{font-size:26px;margin:0}
.nv-page-head p{margin:6px 0 0;color:var(--text-2);max-width:620px}
@media (min-width:768px){.nv-page-head h1{font-size:32px}}

/* ============ 8. Dashboard ============ */
.nv-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:24px 20px 20px;border:1px solid var(--border);
  background:radial-gradient(120% 90% at 0% 0%,rgba(139,92,246,.38),transparent 55%),radial-gradient(90% 90% at 100% 0%,rgba(34,211,238,.22),transparent 55%),radial-gradient(90% 120% at 50% 120%,rgba(37,99,235,.28),transparent 60%),var(--solid)}
html[data-theme="light"] .nv-hero{background:radial-gradient(120% 90% at 0% 0%,rgba(139,92,246,.22),transparent 55%),radial-gradient(90% 90% at 100% 0%,rgba(34,211,238,.18),transparent 55%),#fff}
.nv-hero::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.06'%3E%3Ccircle cx='190' cy='30' r='60'/%3E%3Ccircle cx='190' cy='30' r='100'/%3E%3Ccircle cx='190' cy='30' r='140'/%3E%3C/g%3E%3C/svg%3E") top right/360px no-repeat;pointer-events:none}
.nv-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nv-hello{font-size:14px;color:var(--text-2);font-weight:550}
.nv-balance-label{margin-top:18px;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.nv-balance{margin-top:6px;font:800 clamp(38px,9vw,58px)/1.02 var(--display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:2px}
.nv-balance .cur{font-size:.55em;font-weight:700;color:var(--text-2);margin-inline-end:4px}
.nv-balance .dec{font-size:.55em;color:var(--text-2)}
.nv-quick{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}
.nv-quick a{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12.5px;font-weight:650;color:var(--text)}
.nv-quick a i{width:56px;height:56px;border-radius:19px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;transition:transform .3s var(--spring),background-color .2s,box-shadow .2s}
html[data-theme="light"] .nv-quick a i{background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.14);color:#5b21b6}
.nv-quick a:hover i{transform:translateY(-3px);background:rgba(255,255,255,.14);box-shadow:0 12px 26px -10px rgba(124,58,237,.8)}
.nv-quick a:active i{transform:scale(.92)}
.nv-quick a i svg{width:24px;height:24px}
.nv-quick a:first-child i{background:var(--grad);border-color:transparent;box-shadow:var(--glow);color:#fff}
.nv-dash-grid{display:grid;gap:16px;margin-top:16px}
@media (min-width:1024px){.nv-dash-grid{grid-template-columns:1.55fr 1fr;align-items:start}.nv-hero{padding:32px}.nv-quick{max-width:470px}}

/* Privacy mode */
html.nv-private [data-private]{filter:blur(9px);opacity:.9;transition:filter .25s}
html.nv-private [data-private]:hover{filter:blur(5px)}

/* Donut */
.nv-donut-wrap{display:flex;align-items:center;gap:20px}
.nv-donut{position:relative;width:132px;height:132px;flex:none}
.nv-donut svg{width:100%;height:100%;transform:rotate(-90deg)}
.nv-donut circle{fill:none;stroke-width:3.4;stroke-linecap:round;transition:stroke-width .2s,opacity .2s}
.nv-donut .track{stroke:var(--surface-3)}
.nv-donut .seg{animation:nvDraw 1.1s var(--ease) both}
@keyframes nvDraw{from{stroke-dasharray:0 100}}
.nv-donut-c{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.nv-donut-c b{display:block;font:800 20px/1 var(--display)}
.nv-donut-c span{font-size:11px;color:var(--text-3);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.nv-legend{display:flex;flex-direction:column;gap:9px;flex:1;min-width:0}
.nv-legend div{display:flex;align-items:center;gap:9px;font-size:13.5px}
.nv-legend i{width:10px;height:10px;border-radius:3px;flex:none}
.nv-legend span{flex:1;min-width:0;color:var(--text-2)}
.nv-legend b{font-variant-numeric:tabular-nums}

/* Asset rows */
.nv-assets{display:flex;flex-direction:column}
.nv-asset{display:flex;align-items:center;gap:13px;padding:13px 10px;margin:0 -10px;border-radius:16px;transition:background-color .2s}
.nv-asset:hover{background:var(--surface-2)}
.nv-asset .nm{font-weight:650;font-size:15px;line-height:1.25}
.nv-asset .sub{font-size:12.5px;color:var(--text-3);display:flex;gap:8px;align-items:center}
.nv-asset .val{margin-inline-start:auto;text-align:end}
.nv-asset .val b{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.nv-asset .val span{font-size:12.5px;color:var(--text-3);font-variant-numeric:tabular-nums}
.nv-spark{width:74px;height:30px;flex:none;display:none}
@media (min-width:480px){.nv-spark{display:block}}
.nv-spark polyline{fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}

/* Security / level ring */
.nv-level{display:flex;align-items:center;gap:16px}
.nv-ring{position:relative;width:74px;height:74px;flex:none}
.nv-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.nv-ring circle{fill:none;stroke-width:3.2}
.nv-ring .track{stroke:var(--surface-3)}
.nv-ring .bar{stroke:url(#nvGrad);stroke-linecap:round;animation:nvDraw 1.2s var(--ease) both}
.nv-ring b{position:absolute;inset:0;display:grid;place-items:center;font:800 18px/1 var(--display)}
.nv-steps{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.nv-steps a,.nv-steps div{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:13px;font-size:13.5px;font-weight:550;background:var(--surface-2);color:var(--text-2)}
.nv-steps .ok{color:var(--text);background:transparent;border:1px dashed var(--border)}
.nv-steps .ok .ck{background:var(--pos);border-color:var(--pos);color:#04130d}
.nv-steps .ck{width:22px;height:22px;flex:none;border-radius:50%;border:1.5px solid var(--border-2);display:grid;place-items:center}
.nv-steps .ck svg{width:12px;height:12px}
.nv-steps .go{margin-inline-start:auto;color:var(--brand-ink);font-size:12.5px;font-weight:700}

/* Market ticker */
.nv-ticker{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--border);background:var(--surface);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.nv-ticker-track{display:flex;width:max-content;animation:nvMarquee 38s linear infinite}
.nv-ticker:hover .nv-ticker-track{animation-play-state:paused}
@keyframes nvMarquee{to{transform:translateX(-50%)}}
.nv-tick{display:flex;align-items:center;gap:10px;padding:12px 22px;white-space:nowrap;border-inline-end:1px solid var(--border)}
.nv-tick img{width:22px;height:22px;border-radius:50%}
.nv-tick .c{font-weight:700;font-size:13.5px}
.nv-tick .p{font-variant-numeric:tabular-nums;font-size:13.5px;color:var(--text-2)}

/* ============ 9. Transactions ============ */
.nv-tx-group{margin-top:18px}
.nv-tx-group>h4{margin:0 4px 8px;font:700 12px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.nv-tx-list{display:flex;flex-direction:column;gap:6px}
.nv-tx{display:flex;align-items:center;gap:13px;width:100%;padding:13px 14px;border-radius:18px;border:1px solid var(--border);background:var(--surface);text-align:start;cursor:pointer;transition:transform .2s var(--ease),background-color .2s,border-color .2s}
.nv-tx:hover{background:var(--surface-2);border-color:var(--border-2)}
.nv-tx:active{transform:scale(.985)}
.nv-tx .ic{position:relative}
.nv-tx .ic .dir{position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--bg);color:#fff}
.nv-tx .ic .dir svg{width:10px;height:10px}
.nv-tx .ic .dir.in{background:var(--pos)}.nv-tx .ic .dir.out{background:#8b5cf6}
.nv-tx .t{font-weight:650;font-size:14.5px;line-height:1.3}
.nv-tx .s{font-size:12.5px;color:var(--text-3);line-height:1.35}
.nv-tx .a{margin-inline-start:auto;text-align:end;flex:none}
.nv-tx .a b{display:block;font-size:14.5px;font-variant-numeric:tabular-nums}
.nv-tx .a b.in{color:var(--pos)}
.nv-tx .a .nv-pill{margin-top:5px;height:20px;font-size:10.5px;padding:0 8px}
.nv-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.fil-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;border:1px solid var(--border);background:var(--surface);cursor:pointer}
.fil-btn img{width:18px;height:18px}
html:not([data-theme="light"]) .fil-btn img{filter:invert(1) brightness(1.4)}
.filter-panel{display:none;padding:16px;margin-bottom:14px;border-radius:20px;border:1px solid var(--border);background:var(--surface)}
.nv-filter-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}
@media (min-width:1280px){.nv-filter-grid{grid-template-columns:1.4fr 1fr 1fr 1fr auto}}
#daterange-btn{display:flex;align-items:center;gap:10px;height:54px;padding:0 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;color:var(--text-2);font-size:14px;font-weight:550;grid-column:1/-1}
@media (min-width:1280px){#daterange-btn{grid-column:auto}}
#daterange-btn svg{width:18px;height:18px;flex:none}
#daterange-btn p{margin:0;flex:1}
.nv-filter-actions{display:flex;gap:8px;grid-column:1/-1}
@media (min-width:1280px){.nv-filter-actions{grid-column:auto}}
.nv-filter-actions>*{flex:1}

/* Pagination (Laravel bootstrap-5 view + custom) */
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;list-style:none;padding:0;margin:22px 0 0}
.pagination li a,.pagination li span,.page-link{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:13.5px;font-weight:650;color:var(--text-2);transition:.2s}
.pagination li a:hover,.page-link:hover{color:var(--text);border-color:var(--border-2)}
.pagination li.active a,.pagination li.active span,.page-item.active .page-link{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--glow)}
.pagination li.disabled a,.pagination li.disabled span,.page-item.disabled .page-link{opacity:.4;pointer-events:none}
nav[role=navigation] p.small,nav .small.text-muted{display:none}
nav[role=navigation]>.d-flex{display:block!important}
nav[role=navigation] .d-sm-flex{display:block!important}

/* ============ 10. Flows (deposit / send / convert / withdraw) ============ */
.nv-flow{max-width:580px;margin:0 auto}
.nv-flow-head{text-align:center;margin-bottom:22px}
.nv-flow-head h1{font-size:26px;margin:0}
.nv-flow-head p{margin:8px auto 0;color:var(--text-2);max-width:440px}
.nv-flow-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:22px;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:var(--glow)}
.nv-flow-icon svg{width:30px;height:30px}
.nv-stepper{display:flex;align-items:center;justify-content:center;gap:0;margin:0 auto 24px;max-width:360px}
.nv-stepper .st{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--text-3);flex:none;width:72px;text-align:center}
.nv-stepper .st i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12.5px;border:1.5px solid var(--border-2);background:var(--bg-2);color:var(--text-3);transition:.3s}
.nv-stepper .st.done i{background:var(--pos);border-color:var(--pos);color:#04130d}
.nv-stepper .st.now i{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--glow)}
.nv-stepper .st.now,.nv-stepper .st.done{color:var(--text)}
.nv-stepper .ln{flex:1;height:2px;border-radius:2px;background:var(--border-2);margin-top:-22px;position:relative;overflow:hidden}
.nv-stepper .ln.done::after{content:"";position:absolute;inset:0;background:var(--grad);animation:nvFill .6s var(--ease) both}
@keyframes nvFill{from{transform:translateX(-100%)}}
.nv-note{display:flex;gap:12px;padding:14px 16px;border-radius:16px;font-size:13.5px;line-height:1.5;background:var(--info-bg);color:var(--text-2);border:1px solid rgba(96,165,250,.2)}
.nv-note svg{width:20px;height:20px;flex:none;color:var(--info);margin-top:1px}
.nv-note.warn{background:var(--warn-bg);border-color:rgba(251,191,36,.25)}.nv-note.warn svg{color:var(--warn)}
.nv-note.danger{background:var(--neg-bg);border-color:rgba(251,113,133,.25)}.nv-note.danger svg{color:var(--neg)}
.nv-note b{color:var(--text)}
.nv-rows{border-radius:18px;border:1px solid var(--border);background:var(--surface);padding:4px 16px}
.nv-rows .r{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px dashed var(--border);font-size:14.5px}
.nv-rows .r:last-child{border-bottom:0}
.nv-rows .r span{color:var(--text-2)}
.nv-rows .r b{font-variant-numeric:tabular-nums;text-align:end}
.nv-rows .r.total b{font-size:18px;font-family:var(--display)}
.nv-big-amount{text-align:center;margin:6px 0 20px}
.nv-big-amount span{display:block;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.nv-big-amount b{display:block;margin-top:8px;font:800 clamp(30px,8vw,42px)/1.05 var(--display);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.nv-back{display:flex;justify-content:center;margin-top:16px}
.nv-back a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:11px;font-weight:600;font-size:14px;color:var(--text-2)}
.nv-back a:hover{color:var(--text);background:var(--surface-2)}
.nv-back svg{width:16px;height:16px}
.nv-swap-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}
.nv-swap-mid{height:54px;display:grid;place-items:center}
.nv-swap-mid span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);color:var(--brand-ink);animation:nvSwayX 3s ease-in-out infinite}
.nv-swap-mid svg{width:18px;height:18px}
@keyframes nvSwayX{50%{transform:translateX(3px)}}
@media (max-width:480px){.nv-swap-grid{grid-template-columns:1fr}.nv-swap-mid{height:auto;margin:-2px 0}.nv-swap-mid span{transform:rotate(90deg);animation:none}}
.nv-balance-hint{font-size:12px;font-weight:600;color:var(--text-3);margin-inline-start:auto}
.nv-balance-hint .balance-color{color:var(--text-2)}
.nv-refresh{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:12.5px;color:var(--text-3)}
.nv-refresh svg{width:22px;height:22px;transform:rotate(-90deg)}
.nv-refresh circle{fill:none;stroke-width:3}
.nv-refresh .t{stroke:var(--surface-3)}.nv-refresh .b{stroke:var(--brand);stroke-linecap:round;stroke-dasharray:100 100;animation:nvCount 60s linear forwards}
@keyframes nvCount{to{stroke-dashoffset:100}}

/* Coin tiles (deposit) */
.nv-coin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (min-width:480px){.nv-coin-grid{grid-template-columns:repeat(4,1fr)}}
.nv-coin-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 6px 12px;border-radius:18px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:transform .2s var(--spring),border-color .2s,background-color .2s,box-shadow .2s}
.nv-coin-tile:hover{background:var(--surface-2);transform:translateY(-2px)}
.nv-coin-tile b{font-size:14px}
.nv-coin-tile small{font-size:11px;color:var(--text-3);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-coin-tile.is-on{border-color:rgba(139,92,246,.75);background:rgba(139,92,246,.1);box-shadow:0 0 0 4px rgba(139,92,246,.15)}
.nv-coin-tile.is-on::after{content:"";position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--grad) ;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-1.8 17.3-5-5 1.9-1.9 3.1 3.1 6.9-6.9 1.9 1.9z'/%3E%3C/svg%3E") center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-1.8 17.3-5-5 1.9-1.9 3.1 3.1 6.9-6.9 1.9 1.9z'/%3E%3C/svg%3E") center/contain}

/* Receive / QR */
.nv-qr-card{position:relative;margin:0 auto;width:min(292px,100%);padding:3px;border-radius:32px;background:conic-gradient(from var(--a,0deg),#a78bfa,#22d3ee,#a3e635,#f472b6,#a78bfa);animation:nvSpinA 6s linear infinite;box-shadow:0 30px 60px -20px rgba(124,58,237,.6)}
.nv-qr-inner{position:relative;padding:16px;border-radius:29px;background:#fff}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes nvSpinA{to{--a:360deg}}
.nv-qr-card #wallet-address{display:grid;place-items:center;aspect-ratio:1}
.nv-qr-card #wallet-address canvas,.nv-qr-card #wallet-address img{width:100%!important;height:auto!important;image-rendering:pixelated}
.nv-qr-logo{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;border:5px solid #fff;background:#fff;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.nv-qr-logo img{width:100%;height:100%;object-fit:cover}
.nv-address{margin-top:22px;padding:14px 16px;border-radius:16px;border:1px dashed var(--border-2);background:var(--surface);font:500 14.5px/1.55 var(--mono);text-align:center;word-break:break-all;user-select:all}
.nv-address-input{position:fixed;top:0;left:0;opacity:0;pointer-events:none;height:1px;width:1px}

/* Success */
.nv-success{text-align:center;padding-top:6px}
.nv-check{width:96px;height:96px;margin:4px auto 18px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(52,211,153,.25),rgba(52,211,153,0) 70%)}
.nv-check svg{width:74px;height:74px}
.nv-check circle{fill:none;stroke:var(--pos);stroke-width:3;stroke-dasharray:160;stroke-dashoffset:160;animation:nvStroke .7s var(--ease) .1s forwards}
.nv-check path{fill:none;stroke:var(--pos);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50;animation:nvStroke .45s var(--ease) .6s forwards}
@keyframes nvStroke{to{stroke-dashoffset:0}}
.nv-success h2{font-size:26px;margin:0}
.nv-success p{color:var(--text-2);margin:8px auto 0;max-width:420px}
.nv-confetti{position:fixed;inset:0;pointer-events:none;z-index:90}
.nv-receipt-user{display:flex;align-items:center;gap:14px;justify-content:center;margin:20px 0;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--border);text-align:start}

/* ============ 11. Wallet cards ============ */
.nv-wallet-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:640px){.nv-wallet-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1180px){.nv-wallet-grid{grid-template-columns:repeat(3,1fr)}}
.nv-wcard{--c:#8b5cf6;position:relative;overflow:hidden;border-radius:26px;padding:20px;border:1px solid var(--border);background:var(--solid);
  background:radial-gradient(120% 100% at 100% 0%,color-mix(in srgb,var(--c) 34%,transparent),transparent 60%),radial-gradient(90% 90% at 0% 100%,color-mix(in srgb,var(--c) 14%,transparent),transparent 60%),var(--solid);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);transform-style:preserve-3d}
.nv-wcard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -20px color-mix(in srgb,var(--c) 70%,transparent)}
.nv-wcard::after{content:"";position:absolute;right:-40px;top:-40px;width:170px;height:170px;border-radius:50%;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);box-shadow:0 0 0 26px color-mix(in srgb,var(--c) 6%,transparent),0 0 0 52px color-mix(in srgb,var(--c) 4%,transparent);pointer-events:none}
.nv-wcard-top{display:flex;align-items:center;gap:12px}
.nv-wcard-top .nm{font-weight:700;font-size:15.5px;line-height:1.2}
.nv-wcard-top .cd{font-size:12px;color:var(--text-3);font-weight:650;letter-spacing:.06em}
.nv-wcard-bal{margin-top:22px;font:800 26px/1.1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;word-break:break-all}
.nv-wcard-usd{margin-top:4px;font-size:14px;color:var(--text-2);font-variant-numeric:tabular-nums}
.nv-wcard-last{margin-top:14px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3)}
.nv-wcard-last svg{width:14px;height:14px}
.nv-wcard-act{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.nv-wcard-act .nv-btn{--h:42px;font-size:14px;border-radius:13px}
.nv-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.nv-search{position:relative;flex:1;min-width:200px}
.nv-search input{height:46px;padding-inline-start:44px;border-radius:14px}
.nv-search svg{position:absolute;left:15px;top:14px;width:18px;height:18px;color:var(--text-3);pointer-events:none}
.nv-toggle-chip{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--text-2);cursor:pointer;user-select:none}
.nv-toggle-chip input{accent-color:#8b5cf6}

/* ============ 12. Lists (addresses, api keys, tickets) ============ */
.nv-items{display:flex;flex-direction:column;gap:10px}
.nv-item{display:flex;align-items:center;gap:14px;padding:16px;border-radius:20px;border:1px solid var(--border);background:var(--surface);transition:background-color .2s,border-color .2s}
.nv-item:hover{background:var(--surface-2);border-color:var(--border-2)}
.nv-item .bd{flex:1;min-width:0}
.nv-item .t{font-weight:650;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nv-item .s{margin-top:3px;font-size:13px;color:var(--text-3)}
.nv-item .acts{display:flex;align-items:center;gap:6px;flex:none}
.nv-ibtn{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:.2s}
.nv-ibtn:hover{color:var(--text);border-color:var(--border-2)}
.nv-ibtn.danger:hover{color:var(--neg);border-color:rgba(251,113,133,.5)}
.nv-ibtn svg{width:17px;height:17px}
.nv-empty{text-align:center;padding:42px 20px;border-radius:26px;border:1px dashed var(--border-2);background:var(--surface)}
.nv-empty .art{width:120px;height:120px;margin:0 auto 14px}
.nv-empty h3{font-size:18px;margin:0}
.nv-empty p{color:var(--text-2);margin:8px auto 0;max-width:380px}
.nv-empty .nv-btn{margin-top:18px}
.nv-banner{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,rgba(251,113,133,.14),rgba(251,113,133,.04));border:1px solid rgba(251,113,133,.25);margin-bottom:18px;font-size:14px;color:var(--text-2)}
.nv-banner svg{width:22px;height:22px;flex:none;color:var(--neg)}
.nv-banner b{color:var(--text)}

/* Tickets chat */
.nv-chat{display:flex;flex-direction:column;gap:16px;margin-top:18px}
.nv-msg{display:flex;gap:10px;max-width:92%}
.nv-msg .bub{padding:12px 15px;border-radius:18px 18px 18px 6px;background:var(--surface-2);border:1px solid var(--border);font-size:14.5px;line-height:1.55;color:var(--text);overflow-wrap:anywhere}
.nv-msg .meta{font-size:12px;color:var(--text-3);margin:0 4px 6px;display:flex;gap:8px;align-items:center}
.nv-msg.me{margin-inline-start:auto;flex-direction:row-reverse}
.nv-msg.me .bub{border-radius:18px 18px 6px 18px;background:linear-gradient(135deg,rgba(139,92,246,.3),rgba(37,99,235,.22));border-color:rgba(139,92,246,.35)}
.nv-msg.me .meta{justify-content:flex-end}
.nv-msg .nv-avatar{width:34px;height:34px;border-radius:12px}
.nv-file{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:7px 12px;border-radius:11px;background:var(--surface);border:1px solid var(--border);font-size:12.5px;color:var(--text-2)}
.nv-file svg{width:15px;height:15px}

/* Profile */
.nv-profile-hero{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.nv-profile-pic{position:relative;width:92px;height:92px;flex:none}
.nv-profile-pic img{width:100%;height:100%;border-radius:30px;object-fit:cover;box-shadow:0 0 0 3px var(--bg),0 0 0 5px rgba(139,92,246,.6)}
.nv-profile-pic a{position:absolute;right:-6px;bottom:-6px;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:var(--glow);border:3px solid var(--bg)}
.nv-profile-pic a svg{width:16px;height:16px}
.camera #upload{display:none}
.nv-kv{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:1400px){.nv-kv{grid-template-columns:1fr 1fr;column-gap:34px}}
@media (min-width:640px) and (max-width:1023px){.nv-kv{grid-template-columns:1fr 1fr;column-gap:28px}}
.nv-kv div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px dashed var(--border);font-size:14.5px}
.nv-kv div span{color:var(--text-3)}
.nv-kv div b{text-align:end;font-weight:600;overflow-wrap:anywhere}
.nv-setting{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:.2s;width:100%;text-align:start}
.nv-setting:hover{border-color:var(--border-2)}
.nv-setting i{width:42px;height:42px;flex:none;border-radius:14px;display:grid;place-items:center;background:rgba(139,92,246,.14);color:var(--brand-ink)}
.nv-setting i svg{width:20px;height:20px}
.nv-setting .bd{flex:1;min-width:0}
.nv-setting .bd b{display:block;font-size:14.5px}
.nv-setting .bd span{font-size:13px;color:var(--text-3)}
.nv-setting .chev{width:18px;height:18px;color:var(--text-3)}

/* ============ 13. Bootstrap-compatible modal / collapse / tooltip / alerts ============ */
.modal-open{overflow:hidden}
.modal{position:fixed;inset:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}
.modal-dialog{position:relative;width:auto;margin:14px;pointer-events:none;max-width:520px}
.modal.fade .modal-dialog{transition:transform .32s var(--ease),opacity .25s;transform:translateY(24px) scale(.98);opacity:0}
.modal.show .modal-dialog{transform:none;opacity:1}
.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 28px)}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:var(--solid);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);outline:0;overflow:hidden}
.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 12px}
.modal-title{margin:0;font:700 18px/1.2 var(--display);color:var(--text)}
.modal-body{position:relative;flex:1 1 auto;padding:8px 20px 20px}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 20px}
.modal-backdrop{position:fixed;inset:0;z-index:1050;width:100vw;height:100vh;background:#03030a}
.modal-backdrop.fade{opacity:0;transition:opacity .25s}
.modal-backdrop.show{opacity:.7}
@media (min-width:576px){.modal-dialog{margin:48px auto}.modal-dialog-centered{min-height:calc(100% - 96px)}}
@media (max-width:575.98px){
  .modal-dialog,.modal-dialog-centered{margin:0;min-height:100%;display:flex;align-items:flex-end;max-width:none}
  .modal-content{border-radius:28px 28px 0 0;border-bottom:0;max-height:92vh;overflow:auto;padding-bottom:var(--safe-b)}
  .modal.fade .modal-dialog{transform:translateY(100%);opacity:1}
  .modal.show .modal-dialog{transform:none}
  .modal-header::before{content:"";position:absolute;left:50%;top:8px;width:42px;height:5px;margin-left:-21px;border-radius:9px;background:var(--border-2)}
  .modal-header{padding-top:24px}
}
.modal-lg{max-width:680px}
.fade{transition:opacity .2s linear}
.fade:not(.show){opacity:0}
.collapse:not(.show){display:none}
.collapsing{height:0;overflow:hidden;transition:height .3s var(--ease)}
.tooltip{display:none!important}

/* Toast alerts (session messages) */
.nv-toasts{position:fixed;z-index:1100;top:14px;left:12px;right:12px;display:flex;flex-direction:column;gap:10px;pointer-events:none}
@media (min-width:640px){.nv-toasts{left:auto;right:20px;top:20px;width:380px}}
.nv-toast{pointer-events:auto;display:flex;gap:12px;align-items:flex-start;padding:14px 14px 14px 16px;border-radius:18px;border:1px solid var(--border-2);background:var(--solid);box-shadow:var(--shadow);animation:nvToastIn .45s var(--spring) both}
.nv-toast.out{animation:nvToastOut .3s var(--ease) forwards}
@keyframes nvToastIn{from{opacity:0;transform:translateY(-14px) scale(.96)}}
@keyframes nvToastOut{to{opacity:0;transform:translateY(-10px) scale(.97)}}
.nv-toast .ic{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center}
.nv-toast .ic svg{width:18px;height:18px}
.nv-toast.success .ic{background:var(--pos-bg);color:var(--pos)}
.nv-toast.error .ic{background:var(--neg-bg);color:var(--neg)}
.nv-toast.warning .ic{background:var(--warn-bg);color:var(--warn)}
.nv-toast .bd{flex:1;min-width:0}
.nv-toast .bd b{display:block;font-size:14.5px}
.nv-toast .bd p{margin:2px 0 0;font-size:13.5px;color:var(--text-2);overflow-wrap:anywhere}
.nv-toast button{flex:none;width:28px;height:28px;border:0;border-radius:9px;background:transparent;color:var(--text-3);cursor:pointer}
.nv-toast button:hover{background:var(--surface-2);color:var(--text)}

/* Copied flag used by merchant.min.js */
.copy-parent-div{opacity:0;transform:translateY(4px);transition:.2s;font-size:12px;font-weight:700;color:var(--pos)}
.copy-parent-div.show-copied{opacity:1;transform:none}

/* Third-party skins */
.swal-overlay{background-color:rgba(3,3,10,.7)!important}
.swal-modal{background:var(--solid)!important;border:1px solid var(--border)!important;border-radius:24px!important}
.swal-title{color:var(--text)!important;font-family:var(--display)!important}
.swal-text{color:var(--text-2)!important;text-align:center}
.swal-button{background:var(--grad)!important;border-radius:12px!important;box-shadow:none!important}
.swal-icon--success__hide-corners,.swal-icon--success::before,.swal-icon--success::after{background:var(--solid)!important}
.swal2-popup{background:var(--solid)!important;color:var(--text)!important;border-radius:24px!important}
.daterangepicker{background:var(--solid)!important;border:1px solid var(--border)!important;border-radius:18px!important;color:var(--text)!important;font-family:var(--font)!important;box-shadow:var(--shadow)!important}
.daterangepicker::before,.daterangepicker::after{display:none!important}
.daterangepicker .calendar-table{background:transparent!important;border-color:transparent!important}
.daterangepicker td.off,.daterangepicker td.off.in-range{background:transparent!important;color:var(--text-3)!important}
.daterangepicker td.available:hover,.daterangepicker th.available:hover{background:var(--surface-3)!important}
.daterangepicker td.in-range{background:rgba(139,92,246,.18)!important;color:var(--text)!important}
.daterangepicker td.active,.daterangepicker td.active:hover{background:#7c3aed!important}
.daterangepicker .ranges li{border-radius:9px}
.daterangepicker .ranges li:hover{background:var(--surface-3)!important}
.daterangepicker .ranges li.active{background:#7c3aed!important}
.daterangepicker .calendar-table .next span,.daterangepicker .calendar-table .prev span{border-color:var(--text-2)!important}
.daterangepicker .drp-buttons{border-top-color:var(--border)!important}
.daterangepicker select{background:var(--surface-2)!important;color:var(--text)!important;border-color:var(--border)!important}
.daterangepicker .drp-buttons .btn{--h:34px;height:34px}
.iti{width:100%}
.iti__country-list{background:var(--solid)!important;border-color:var(--border)!important;color:var(--text);border-radius:14px;box-shadow:var(--shadow)}
.iti__country.iti__highlight{background:var(--surface-3)!important}
.iti__selected-flag{border-radius:14px 0 0 14px}
.toast-top-right{top:16px;right:16px}
#toast-container>div{border-radius:16px!important;box-shadow:var(--shadow)!important;opacity:1!important}
.g-recaptcha{transform-origin:left top}
@media (max-width:360px){.g-recaptcha{transform:scale(.88)}}

/* ============ 14. Public site (landing, auth, docs) ============ */
.nv-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 18px}
.nv-nav-pub{position:sticky;top:0;z-index:50;transition:background-color .25s,border-color .25s}
.nv-nav-pub.is-stuck{border-bottom:1px solid var(--border)}
.nv-nav-pub .nv-wrap{height:70px;display:flex;align-items:center;gap:14px}
.nv-nav-links{display:none;align-items:center;gap:4px;margin-inline-start:18px}
.nv-nav-links a{padding:8px 13px;border-radius:11px;font-weight:600;font-size:14.5px;color:var(--text-2)}
.nv-nav-links a:hover{color:var(--text);background:var(--surface-2)}
.nv-nav-cta{margin-inline-start:auto;display:flex;align-items:center;gap:8px}
.nv-nav-cta .nv-btn{--h:42px;padding:0 16px;font-size:14px;border-radius:13px}
.nv-nav-cta .hide-sm{display:none}
@media (min-width:900px){.nv-nav-links{display:flex}.nv-nav-cta .hide-sm{display:inline-flex}}
.nv-mnav{display:none;position:fixed;inset:70px 0 auto 0;z-index:49;padding:10px 18px 18px;border-bottom:1px solid var(--border)}
.nv-mnav.is-open{display:block;animation:nvRise .3s var(--ease)}
.nv-mnav a{display:block;padding:13px 6px;font-weight:600;border-bottom:1px solid var(--border)}
@media (min-width:900px){.nv-burger{display:none!important}}

/* Hero */
.nv-lhero{position:relative;padding:40px 0 30px}
@media (min-width:900px){.nv-lhero{padding:70px 0 50px}}
.nv-lhero-grid{display:grid;gap:40px;align-items:center}
@media (min-width:980px){.nv-lhero-grid{grid-template-columns:1.08fr .92fr}}
.nv-lhero h1{font-size:clamp(40px,8.4vw,78px);line-height:.98;letter-spacing:-.055em;margin:18px 0 0;font-weight:800}
.nv-lhero .lead{font-size:clamp(16px,2.2vw,19px);line-height:1.6;color:var(--text-2);max-width:560px;margin:22px 0 0}
.nv-lhero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.nv-lhero-cta .nv-btn{--h:58px;padding:0 26px;font-size:16px;border-radius:18px}
.nv-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;font-size:13.5px;font-weight:600;color:var(--text-2)}
.nv-trust span{display:inline-flex;align-items:center;gap:8px}
.nv-trust svg{width:18px;height:18px;color:var(--pos)}

/* Orbit visual */
.nv-orbit{position:relative;width:min(470px,92vw);aspect-ratio:1;margin:0 auto;perspective:1000px}
.nv-orbit .ring{position:absolute;inset:0;border-radius:50%;border:1px dashed var(--border-2);animation:nvRot 60s linear infinite}
.nv-orbit .ring.r2{inset:13%;animation-duration:44s;animation-direction:reverse}
.nv-orbit .ring.r3{inset:27%;border-style:solid;border-color:var(--border);animation-duration:36s}
@keyframes nvRot{to{transform:rotate(360deg)}}
.nv-orbit .ring .coin{position:absolute;width:48px;height:48px;margin:-24px;border-radius:50%;overflow:hidden;background:var(--solid);box-shadow:0 10px 26px -6px rgba(0,0,0,.6),0 0 0 4px var(--bg);animation:nvRot 60s linear infinite reverse}
.nv-orbit .ring.r2 .coin{animation-duration:44s;animation-direction:normal;width:42px;height:42px;margin:-21px}
.nv-orbit .ring .coin img{width:100%;height:100%;object-fit:cover}
.nv-orbit-glow{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.55),rgba(34,211,238,.18) 45%,transparent 70%)}
.nv-vcard{position:absolute;left:50%;top:50%;width:min(300px,64vw);aspect-ratio:1.586;margin:0;transform:translate(-50%,-50%) rotateX(var(--rx,8deg)) rotateY(var(--ry,-14deg));transform-style:preserve-3d;border-radius:22px;padding:18px 20px;color:#fff;overflow:hidden;
  background:linear-gradient(135deg,#1e1b4b 0%,#4c1d95 45%,#1d4ed8 100%);box-shadow:0 40px 80px -24px rgba(76,29,149,.9),inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .5s var(--ease);animation:nvFloat 6s ease-in-out infinite}
@keyframes nvFloat{50%{margin-top:-10px}}
.nv-vcard::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.22) 45%,transparent 60%);transform:translateX(var(--sx,-30%));transition:transform .5s var(--ease)}
.nv-vcard::after{content:"";position:absolute;right:-50px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.55),transparent 65%)}
.nv-vcard .top{position:relative;display:flex;justify-content:space-between;align-items:center;font:800 15px/1 var(--display);letter-spacing:-.02em}
.nv-vcard .chip{width:34px;height:26px;border-radius:7px;background:linear-gradient(135deg,#fde68a,#d97706);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.nv-vcard .lbl{position:relative;margin-top:22px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.7;font-weight:700}
.nv-vcard .bal{position:relative;margin-top:4px;font:800 clamp(24px,6vw,32px)/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.nv-vcard .bot{position:relative;display:flex;justify-content:space-between;margin-top:18px;font-size:11.5px;opacity:.85;font-weight:600;font-variant-numeric:tabular-nums}
.nv-float-chip{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:var(--solid);border:1px solid var(--border);box-shadow:var(--shadow);font-size:12.5px;font-weight:650;white-space:nowrap;animation:nvFloat 7s ease-in-out infinite}
.nv-float-chip i{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-style:normal;color:#fff}
.nv-float-chip i svg{width:16px;height:16px}
.nv-float-chip small{display:block;color:var(--text-3);font-size:11px;font-weight:600}
.nv-float-chip.c1{left:-2%;top:18%}.nv-float-chip.c2{right:-4%;bottom:16%;animation-delay:-3s}
@media (max-width:520px){.nv-float-chip.c1{left:0;top:6%}.nv-float-chip.c2{right:0;bottom:4%}}

/* Landing sections */
.nv-sec{padding:64px 0}
@media (min-width:900px){.nv-sec{padding:96px 0}}
.nv-sec-head{text-align:center;max-width:720px;margin:0 auto 40px}
.nv-sec-head h2{font-size:clamp(30px,5.4vw,50px);letter-spacing:-.045em;margin:16px 0 0;line-height:1.04}
.nv-sec-head p{margin:16px auto 0;color:var(--text-2);font-size:17px;max-width:600px}
.nv-market{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.nv-market{grid-template-columns:repeat(4,1fr)}}
.nv-mcard{padding:16px;border-radius:22px;border:1px solid var(--border);background:var(--surface);transition:transform .3s var(--ease),border-color .3s}
.nv-mcard:hover{transform:translateY(-3px);border-color:var(--border-2)}
.nv-mcard .h{display:flex;align-items:center;gap:10px}
.nv-mcard .h b{font-size:14.5px}
.nv-mcard .h small{display:block;color:var(--text-3);font-size:11.5px}
.nv-mcard .p{margin-top:14px;font:750 19px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nv-mcard .nv-chg{margin-top:6px}
.nv-mcard svg.nv-spark{display:block;width:100%;height:36px;margin-top:10px}
.nv-bento{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:760px){.nv-bento{grid-template-columns:repeat(6,1fr)}.nv-bento .b1{grid-column:span 4}.nv-bento .b2{grid-column:span 2}.nv-bento .b3,.nv-bento .b4,.nv-bento .b5{grid-column:span 2}.nv-bento .b6{grid-column:span 6}}
.nv-feat{position:relative;overflow:hidden;padding:26px;border-radius:28px;border:1px solid var(--border);background:var(--surface);min-height:200px;transition:border-color .3s}
.nv-feat:hover{border-color:var(--border-2)}
.nv-feat .fi{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff;margin-bottom:18px}
.nv-feat .fi svg{width:24px;height:24px}
.nv-feat h3{font-size:20px;margin:0}
.nv-feat p{margin:8px 0 0;color:var(--text-2);max-width:460px}
.nv-feat .spot{position:absolute;inset:0;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(139,92,246,.14),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}
.nv-feat:hover .spot{opacity:1}
.nv-sim{max-width:560px;margin:0 auto;padding:22px;border-radius:30px}
.nv-sim-row{padding:16px;border-radius:20px;background:var(--surface-2);border:1px solid var(--border)}
.nv-sim-row label{font-size:12.5px;font-weight:650;color:var(--text-3)}
.nv-sim-row .ln{display:flex;align-items:center;gap:10px;margin-top:8px}
.nv-sim-row input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--text);font:800 30px/1.1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;padding:0}
.nv-sim-row select{flex:none;width:auto;height:44px;border-radius:13px;padding:0 38px 0 14px;font-weight:700;background-position:right 12px center}
.nv-sim-flip{display:grid;place-items:center;margin:-12px 0;position:relative;z-index:1}
.nv-sim-flip button{width:46px;height:46px;border-radius:15px;border:4px solid var(--bg);background:var(--grad);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .45s var(--spring)}
.nv-sim-flip button:hover{transform:rotate(180deg)}
.nv-sim-flip svg{width:20px;height:20px}
.nv-sim-meta{display:flex;justify-content:space-between;gap:10px;margin:14px 4px 18px;font-size:13px;color:var(--text-3)}
.nv-steps3{display:grid;gap:14px}
@media (min-width:860px){.nv-steps3{grid-template-columns:repeat(3,1fr)}}
.nv-step3{position:relative;padding:26px;border-radius:28px;border:1px solid var(--border);background:var(--surface)}
.nv-step3 .n{font:800 56px/1 var(--display);letter-spacing:-.06em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.nv-step3 h3{margin:14px 0 0;font-size:20px}
.nv-step3 p{margin:8px 0 0;color:var(--text-2)}
.nv-tm{display:grid;gap:18px;align-items:center}
@media (min-width:900px){.nv-tm{grid-template-columns:.9fr 1.1fr}}
.nv-tm-coins{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.nv-tm-coins button{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 8px;border-radius:13px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:650;font-size:13.5px;cursor:pointer;transition:.2s}
.nv-tm-coins button img{width:24px;height:24px;border-radius:50%}
.nv-tm-coins button.is-on{border-color:rgba(139,92,246,.7);color:var(--text);background:rgba(139,92,246,.12)}
.nv-tm-result{font:800 clamp(40px,8vw,64px)/1 var(--display);letter-spacing:-.05em;margin-top:18px;font-variant-numeric:tabular-nums}
.nv-tm-chart{height:240px;padding:18px;border-radius:26px}
.nv-tm-chart svg{width:100%;height:100%;overflow:visible}
.nv-sec-grid{display:grid;gap:14px}
@media (min-width:760px){.nv-sec-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.nv-sec-grid{grid-template-columns:repeat(4,1fr)}}
.nv-shield{padding:24px;border-radius:26px;border:1px solid var(--border);background:var(--surface)}
.nv-shield i{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(52,211,153,.12);color:var(--pos);margin-bottom:16px}
.nv-shield i svg{width:22px;height:22px}
.nv-shield h3{font-size:17px;margin:0}
.nv-shield p{margin:8px 0 0;color:var(--text-2);font-size:14.5px}
.nv-faq{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.nv-faq details{border-radius:20px;border:1px solid var(--border);background:var(--surface);transition:border-color .2s,background-color .2s}
.nv-faq details[open]{background:var(--surface-2);border-color:var(--border-2)}
.nv-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;font-weight:650;font-size:16px}
.nv-faq summary::-webkit-details-marker{display:none}
.nv-faq summary i{width:30px;height:30px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--surface-3);transition:transform .3s var(--spring)}
.nv-faq summary i svg{width:14px;height:14px}
.nv-faq details[open] summary i{transform:rotate(45deg)}
.nv-faq details p{padding:0 20px 18px;margin:0;color:var(--text-2)}
.nv-final{position:relative;overflow:hidden;text-align:center;padding:56px 22px;border-radius:36px;border:1px solid var(--border);
  background:radial-gradient(80% 120% at 50% 0%,rgba(139,92,246,.4),transparent 60%),radial-gradient(60% 80% at 100% 100%,rgba(34,211,238,.22),transparent 60%),var(--solid)}
.nv-final h2{font-size:clamp(30px,6vw,56px);letter-spacing:-.05em;margin:0}
.nv-final p{color:var(--text-2);margin:14px auto 0;max-width:520px;font-size:17px}
.nv-final .nv-btn{margin-top:26px;--h:58px;padding:0 30px;font-size:16px;border-radius:18px}
.nv-footer{padding:56px 0 calc(28px + var(--safe-b));border-top:1px solid var(--border);margin-top:40px}
.nv-footer-grid{display:grid;gap:30px}
@media (min-width:860px){.nv-footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.nv-footer h4{font:700 12px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin:0 0 16px}
.nv-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.nv-footer ul a{color:var(--text-2);font-weight:550}
.nv-footer ul a:hover{color:var(--text)}
.nv-footer .about{color:var(--text-2);max-width:360px;margin-top:14px;font-size:14.5px}
.nv-socials{display:flex;flex-wrap:wrap;gap:8px}
.nv-socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:17px}
.nv-socials a:hover{color:var(--text);border-color:var(--border-2)}
.nv-socials a>div{display:grid;place-items:center;width:100%;height:100%}
.nv-socials a svg{width:40px;height:40px}
.nv-socials a svg rect{fill:transparent!important}
.nv-socials a svg path{fill:currentColor}
.nv-footer-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:22px;border-top:1px solid var(--border);font-size:13px;color:var(--text-3)}
.nv-install{display:none}
.nv-install.is-ready{display:inline-flex}

/* Reveal on scroll */
.nv-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.nv-reveal.is-in{opacity:1;transform:none}
html.no-js .nv-reveal{opacity:1;transform:none}

/* Auth */
.nv-auth{min-height:100vh;display:grid}
@media (min-width:1000px){.nv-auth{grid-template-columns:1fr 1fr}}
.nv-auth-art{display:none;position:relative;overflow:hidden;padding:44px;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border);
  background:radial-gradient(90% 70% at 20% 10%,rgba(139,92,246,.42),transparent 60%),radial-gradient(70% 60% at 90% 90%,rgba(34,211,238,.26),transparent 60%),var(--bg-2)}
@media (min-width:1000px){.nv-auth-art{display:flex}}
.nv-auth-art h2{font-size:48px;letter-spacing:-.05em;line-height:1.02;margin:0}
.nv-auth-art p{color:var(--text-2);font-size:17px;max-width:440px;margin:16px 0 0}
.nv-auth-art .nv-orbit{width:340px;margin:10px 0}
.nv-auth-list{display:flex;flex-direction:column;gap:12px}
.nv-auth-list div{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--text-2)}
.nv-auth-list i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);color:var(--pos)}
.nv-auth-list i svg{width:16px;height:16px}
.nv-auth-main{display:flex;flex-direction:column;padding:18px 18px calc(28px + var(--safe-b))}
.nv-auth-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}
.nv-auth-body{flex:1;display:flex;align-items:center;justify-content:center}
.nv-auth-card{width:100%;max-width:440px}
.nv-auth-card h1{font-size:32px;letter-spacing:-.04em;margin:0}
.nv-auth-card .sub{color:var(--text-2);margin:10px 0 26px}
.nv-auth-card .sub a{color:var(--brand-ink);font-weight:650}
.nv-auth-foot{text-align:center;font-size:13px;color:var(--text-3);margin-top:24px}
.nv-back-link{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:12px;font-weight:600;font-size:14px;color:var(--text-2);border:1px solid var(--border);background:var(--surface)}
.nv-back-link:hover{color:var(--text)}
.nv-back-link svg{width:16px;height:16px}
.nv-pw-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:9px}
.nv-pw-meter i{height:4px;border-radius:4px;background:var(--surface-3);transition:background-color .3s}
.nv-pw-meter[data-s="1"] i:nth-child(-n+1){background:var(--neg)}
.nv-pw-meter[data-s="2"] i:nth-child(-n+2){background:var(--warn)}
.nv-pw-meter[data-s="3"] i:nth-child(-n+3){background:#60a5fa}
.nv-pw-meter[data-s="4"] i{background:var(--pos)}
.nv-policy{font-size:13px;color:var(--text-3);text-align:center;margin-top:16px}

/* Docs */
.nv-docs{padding:30px 0 60px}
.nv-doc-card{margin-top:22px}
.nv-doc-card h2{font-size:22px;margin:0}
.nv-doc-card .ep{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;border-radius:10px;background:var(--surface-2);font:600 13px/1 var(--mono);color:var(--text-2);word-break:break-all}
.nv-doc-card .ep b{color:#fff;background:#16a34a;padding:3px 7px;border-radius:6px;font-size:11px}
.nv-tabs{display:flex;gap:6px;margin-top:18px;overflow-x:auto;scrollbar-width:none}
.nv-tabs::-webkit-scrollbar{display:none}
.nv-tabs button{flex:none;height:36px;padding:0 14px;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:650;font-size:13px;cursor:pointer}
.nv-tabs button.is-on{background:var(--grad);border-color:transparent;color:#fff}
.nv-code{position:relative;margin-top:10px}
.nv-code pre{margin:0;padding:18px;border-radius:18px;background:#070712;border:1px solid var(--border);overflow:auto;font:13px/1.65 var(--mono);color:#dcdcf5;max-height:460px}
html[data-theme="light"] .nv-code pre{background:#0f0e1d}
.nv-code .cp{position:absolute;top:10px;right:10px;height:32px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;font-weight:650;font-size:12.5px;cursor:pointer}
.nv-code .cp:hover{background:rgba(255,255,255,.16)}
.nv-prose{color:var(--text-2);font-size:16px;line-height:1.75}
.nv-prose h1,.nv-prose h2,.nv-prose h3{color:var(--text);margin-top:1.6em}
.nv-prose a{color:var(--brand-ink);text-decoration:underline}
.nv-prose img{border-radius:16px}
.nv-prose table{width:100%;border-collapse:collapse}
.nv-prose td,.nv-prose th{border:1px solid var(--border);padding:8px}

/* Error / notice pages */
.nv-notice{max-width:560px;margin:40px auto;text-align:center}
.nv-notice .ico{width:84px;height:84px;margin:0 auto 18px;border-radius:28px;display:grid;place-items:center;background:var(--neg-bg);color:var(--neg)}
.nv-notice .ico svg{width:38px;height:38px}

/* Misc fixes */
[hidden]{display:none!important}
#loading{place-items:center}
#loading[style*="block"]{display:grid!important}
.nv-auth-card .nv-flow-icon{margin-bottom:16px}
.nv-auth-card .nv-back-link + h1{margin-top:22px}
.row{row-gap:18px}
.row>.nv-field{margin-top:0}
.nv-field + .row,.row + .nv-field,.row + .row{margin-top:18px}
.d-grid.gap-2{gap:8px}
.nv-ticket-grid{display:grid;gap:16px}
.nv-ticket-info{order:-1}
@media (min-width:1100px){.nv-ticket-grid{grid-template-columns:330px minmax(0,1fr);align-items:start}.nv-ticket-info{position:sticky;top:calc(var(--top) + 16px)}}
button.eye-icon,button.eye-icon-hide{background:none;border:0;padding:0}
@media (min-width:1000px){.nv-auth-top .nv-brand{visibility:hidden}}
.nv-auth{grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.nv-auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.nv-auth-main,.nv-auth-body,.nv-auth-card,.nv-main,.nv-content,.nv-flow,.nv-card{min-width:0}
@media (max-width:999.98px){.nv-auth-body{align-items:flex-start;padding-top:8px}}
.nv-label .star{margin-inline-start:3px;margin-inline-end:auto}
.nv-label .star + *{margin-inline-start:auto}
input,select,textarea{min-width:0;max-width:100%}
.nv-lhero{overflow:hidden;overflow:clip}
html[data-theme="light"] .nv-quick a:first-child i{background:var(--grad);border-color:transparent;color:#fff}

/* ============ 15. Instant swap widget (added 2026-09-27) ============ */
.nv-swap{max-width:500px;width:100%;margin:0 auto;padding:18px;border-radius:30px;background:var(--solid);box-shadow:0 40px 90px -30px rgba(124,58,237,.55)}
html[data-theme="light"] .nv-swap{background:#fff}
.nv-swap-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.nv-seg{display:inline-flex;padding:4px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);gap:2px}
.nv-seg button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:var(--text-2);font-weight:650;font-size:13px;cursor:pointer;transition:background-color .2s,color .2s}
.nv-seg button.is-on{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.nv-seg-lg{display:flex;width:100%;max-width:580px;margin:0 auto 22px}
.nv-seg-lg button{flex:1;justify-content:center;height:44px;font-size:14px}
.nv-seg .nv-new{font-size:9.5px;font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:6px;background:rgba(163,230,53,.18);color:#a3e635}
.nv-seg button.is-on .nv-new{background:rgba(255,255,255,.22);color:#fff}
.nv-swap-row{padding:14px 14px 12px;border-radius:22px;background:var(--surface-2);border:1px solid var(--border);transition:border-color .2s,box-shadow .2s}
.nv-swap-row:focus-within{border-color:rgba(139,92,246,.6);box-shadow:0 0 0 4px rgba(139,92,246,.14)}
.nv-swap-row.is-get{background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(34,211,238,.06));border-color:rgba(139,92,246,.22)}
.nv-swap-row .lbl{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:650;color:var(--text-3)}
.nv-swap-row .ln{display:flex;align-items:center;gap:10px;margin-top:6px}
.nv-swap-row input,.nv-swap-row output{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--text);font:800 clamp(24px,6.5vw,32px)/1.15 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-coin-btn{flex:none;display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 12px 0 8px;border-radius:16px;border:1px solid var(--border-2);background:var(--solid);color:var(--text);cursor:pointer;transition:transform .2s var(--spring),border-color .2s}
html[data-theme="light"] .nv-coin-btn{background:#fff}
.nv-coin-btn:hover{border-color:rgba(139,92,246,.6)}
.nv-coin-btn:active{transform:scale(.96)}
.nv-coin-btn .t{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.nv-coin-btn .t b{font-size:15px}
.nv-coin-btn .t small{font-size:10.5px;color:var(--text-3);font-weight:650}
.nv-coin-btn .chev{color:var(--text-3)}
.nv-cicon{position:relative;flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--surface-3)}
.nv-cicon img{width:100%;height:100%;object-fit:cover}
.nv-cicon.is-txt::after{content:attr(data-t);font:800 10px/1 var(--font);color:#fff;letter-spacing:-.02em}
.nv-cicon.is-txt{background:var(--grad)}
.nv-swap-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 4px 4px;font-size:13px;color:var(--text-2);font-weight:550}
.nv-swap-note{margin:0 4px 14px;font-size:12px;color:var(--text-3)}
.nv-swap-feats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:14px;font-size:12px;font-weight:600;color:var(--text-3)}
.nv-swap-feats span{display:inline-flex;align-items:center;gap:6px}
.nv-swap-feats svg{width:14px;height:14px;color:var(--pos)}
.nv-swap.nv-pulse{animation:nvPulseCard .9s var(--ease)}
@keyframes nvPulseCard{30%{box-shadow:0 0 0 6px rgba(139,92,246,.35),0 40px 90px -30px rgba(124,58,237,.55)}}
.nv-cp{max-height:86vh;display:flex;flex-direction:column}
.nv-cp-list{overflow:auto;margin:0 -6px;padding:0 6px 6px;flex:1;min-height:200px;max-height:62vh}
.nv-cp-h{margin:12px 4px 8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.nv-cp-pop{display:flex;flex-wrap:wrap;gap:6px}
.nv-cp-pop button{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 12px 0 7px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:700;font-size:13px;cursor:pointer}
.nv-cp-pop button small{color:var(--text-3);font-weight:600;font-size:10.5px}
.nv-cp-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 10px;border:0;border-radius:14px;background:none;color:var(--text);text-align:start;cursor:pointer}
.nv-cp-row:hover,.nv-cp-row.is-on{background:var(--surface-2)}
.nv-cp-row .t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.nv-cp-row .t b{font-size:15px}
.nv-cp-row .t small{font-size:12.5px;color:var(--text-3)}
@media (min-width:1024px){.nv-cp{width:480px!important}}
.nv-pairs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.nv-pairs button{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 10px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:700;font-size:14px;cursor:pointer;transition:transform .2s var(--spring),border-color .2s,background-color .2s}
.nv-pairs button:hover{border-color:rgba(139,92,246,.55);background:var(--surface-2);transform:translateY(-2px)}
.nv-pairs .ic2{display:inline-flex}
.nv-pairs .ic2 .nv-cicon+.nv-cicon{margin-inline-start:-8px;box-shadow:0 0 0 2px var(--bg)}
.nv-pairs svg.ar{width:14px;height:14px;color:var(--text-3)}
.nv-swap-hero .nv-lhero-grid{align-items:center}
@media (min-width:980px){.nv-swap-hero .nv-lhero-grid{grid-template-columns:1fr 480px}}
.nv-partners{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.nv-partners span{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:99px;border:1px dashed var(--border-2);font-size:12.5px;font-weight:700;color:var(--text-2)}
.nv-wallet-sec{display:grid;gap:30px;align-items:center}
@media (min-width:980px){.nv-wallet-sec{grid-template-columns:1fr 1fr}}
.nv-lhero-grid{grid-template-columns:minmax(0,1fr)}
@media (min-width:980px){.nv-lhero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.nv-swap-hero .nv-lhero-grid{grid-template-columns:minmax(0,1fr) 480px}}
.nv-swap,.nv-swap-row,.nv-swap-row .ln{min-width:0}
.nv-swap-head{flex-wrap:wrap}
@media (max-width:400px){.nv-swap{padding:14px;border-radius:26px}.nv-seg button{padding:0 10px;font-size:12.5px}.nv-coin-btn{padding:0 10px 0 7px;gap:7px}}
.nv-wallet-sec{overflow-x:clip}
@media (max-width:520px){.nv-wallet-sec .nv-orbit{width:76vw}.nv-wallet-sec .nv-float-chip{font-size:11.5px;padding:8px 11px}}

/* swap hero: widget right under the headline on phones, beside the text on desktop */
.nv-swap-hero .nv-lhero-grid{grid-template-areas:"top" "widget" "rest";gap:24px}
.nv-shero-top{grid-area:top}.nv-shero-widget{grid-area:widget}.nv-shero-rest{grid-area:rest}
.nv-shero-rest .lead{margin-top:0}
@media (min-width:980px){.nv-swap-hero .nv-lhero-grid{grid-template-columns:minmax(0,1fr) 480px;grid-template-areas:"top widget" "rest widget";row-gap:22px;align-items:start}.nv-shero-top{align-self:end}}
/* v3: swap box under the hero headline (wallet-first page) */
.nv-hero-swap{margin-top:26px;max-width:500px}
.nv-hero-swap .nv-swap{margin:0;max-width:none}
.nv-lhero .nv-hero-swap + .nv-lhero-cta{margin-top:24px}
/* two-way swap amounts: "You get" is typeable (fixed-rate reverse quote) */
.nv-swap-row input::placeholder{color:var(--text-3)}
.nv-swap-lock{display:none;align-items:center;gap:3px;margin-inline-start:6px;padding:1px 7px;border-radius:99px;background:rgba(139,92,246,.16);color:var(--brand-ink);font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px}
.nv-swap.is-fixed .nv-swap-lock{display:inline-flex}
.nv-swap.is-fixed .nv-swap-est{display:none}
.nv-swap.is-fixed .nv-swap-row.is-get{border-color:rgba(139,92,246,.45)}
.nv-swap-row.is-get input{cursor:text}
/* compact swap box in the homepage hero + tighter hero, so the whole first screen fits before scrolling */
.nv-hero-swap{max-width:440px;margin-top:16px}
.nv-hero-swap .nv-swap{padding:12px;border-radius:24px;box-shadow:0 28px 70px -30px rgba(124,58,237,.55)}
.nv-hero-swap .nv-swap-head{margin-bottom:9px}
.nv-hero-swap .nv-seg{padding:3px}
.nv-hero-swap .nv-seg button{height:28px;padding:0 10px;font-size:12px}
.nv-hero-swap .nv-pill{height:22px;font-size:10.5px}
.nv-hero-swap .nv-swap-row{padding:8px 12px;border-radius:17px}
.nv-hero-swap .nv-swap-row .lbl{font-size:11.5px}
.nv-hero-swap .nv-swap-row .ln{margin-top:1px;gap:8px}
.nv-hero-swap .nv-swap-row input{font-size:clamp(20px,5.6vw,24px)}
.nv-hero-swap .nv-coin-btn{height:40px;border-radius:13px;padding:0 9px 0 6px;gap:7px}
.nv-hero-swap .nv-coin-btn .nv-cicon{width:24px!important;height:24px!important}
.nv-hero-swap .nv-coin-btn .t b{font-size:13.5px}
.nv-hero-swap .nv-coin-btn .t small{font-size:10px}
.nv-hero-swap .nv-sim-flip{margin:-8px 0}
.nv-hero-swap .nv-sim-flip button{width:32px;height:32px;border-radius:10px;border-width:3px}
.nv-hero-swap .nv-sim-flip svg{width:15px;height:15px}
.nv-hero-swap .nv-swap-meta{margin:8px 4px;font-size:12px}
.nv-hero-swap .nv-swap-note,.nv-hero-swap .nv-swap-feats{display:none}
.nv-hero-swap [data-swap-go]{--h:44px;font-size:14.5px;border-radius:14px}
.nv-lhero{padding:14px 0 18px}
@media (min-width:900px){.nv-lhero{padding:22px 0 26px}}
.nv-lhero h1{font-size:clamp(34px,7vw,62px);margin-top:12px}
.nv-lhero .nv-lhero-cta{margin-top:16px;gap:10px}
.nv-lhero .nv-lhero-cta .nv-btn{--h:50px;padding:0 22px;font-size:15px;border-radius:16px}
.nv-lhero .nv-trust{margin-top:14px;gap:8px 18px;font-size:13px}
@media (min-width:980px){.nv-lhero-grid{align-items:center;gap:30px}}
@media (max-width:420px){.nv-lhero .nv-lhero-cta .nv-btn{--h:48px;padding:0 18px}.nv-lhero .nv-trust{font-size:12.5px}}
@media (max-width:420px){
  .nv-hero-swap .nv-swap-head{flex-wrap:nowrap;gap:6px}
  .nv-hero-swap .nv-seg button{padding:0 8px;font-size:11.5px;gap:4px}
  .nv-hero-swap .nv-seg svg{display:none}
  .nv-hero-swap .nv-pill{font-size:10px;padding:0 8px;height:21px}
  .nv-lhero h1{margin-top:10px}
}
/* Hero first screen, calm version. Phones: headline, swap box, Create account / Sign in, then the wallet card.
   DESKTOP (>=980px): headline + wide swap box on the left, wallet card with Create account / Sign in under it on the
   right, live ticker visible at the bottom. On short laptop screens (e.g. 1920x1080 at 150% scaling = ~1265x585) the
   wallet card is scaled as ONE piece with `zoom`, so the card, rings, coins and chips keep their proportions. */
.nv-lhero-cta-r{display:none}
.nv-lhero .nv-trust-r{display:none}
@media (min-width:980px){
  .nv-lhero-grid{align-items:center;gap:48px}
  .nv-lhero-grid>div:first-child>.nv-lhero-cta{display:none}
  .nv-lhero{padding:clamp(12px,4vh,44px) 0 clamp(12px,3.4vh,36px)}
  .nv-lhero h1{font-size:clamp(44px,4.4vw,68px);margin-top:0}
  .nv-hero-swap{max-width:560px;margin-top:clamp(14px,3vh,28px)}
  .nv-hero-swap .nv-swap{padding:16px;border-radius:28px}
  .nv-hero-swap .nv-swap-head{margin-bottom:12px}
  .nv-hero-swap .nv-seg button{height:32px;padding:0 12px;font-size:12.5px}
  .nv-hero-swap .nv-pill{height:24px;font-size:11px}
  .nv-hero-swap .nv-swap-row{padding:12px 14px 11px;border-radius:20px}
  .nv-hero-swap .nv-swap-row .lbl{font-size:12px}
  .nv-hero-swap .nv-swap-row .ln{margin-top:3px}
  .nv-hero-swap .nv-swap-row input{font-size:27px}
  .nv-hero-swap .nv-coin-btn{height:46px;border-radius:15px;padding:0 11px 0 7px;gap:8px}
  .nv-hero-swap .nv-coin-btn .nv-cicon{width:28px!important;height:28px!important}
  .nv-hero-swap .nv-coin-btn .t b{font-size:14.5px}
  .nv-hero-swap .nv-coin-btn .t small{font-size:10.5px}
  .nv-hero-swap .nv-sim-flip{margin:-10px 0}
  .nv-hero-swap .nv-sim-flip button{width:38px;height:38px;border-radius:12px}
  .nv-hero-swap .nv-sim-flip svg{width:17px;height:17px}
  .nv-hero-swap .nv-swap-meta{margin:11px 4px 12px;font-size:12.5px}
  .nv-hero-swap [data-swap-go]{--h:50px;font-size:15.5px;border-radius:16px}
  .nv-lhero-side{display:flex;flex-direction:column;align-items:center;min-width:0}
  .nv-lhero .nv-orbit{width:450px;margin:0 auto}
  .nv-lhero-cta-r{display:flex;justify-content:center;margin-top:calc(24px + clamp(6px,1.6vh,16px))!important}
  .nv-lhero .nv-lhero-cta-r .nv-btn{--h:52px;padding:0 26px}
  .nv-lhero h1{margin-top:clamp(10px,1.8vh,16px)}
  .nv-lhero-grid>div:first-child>.nv-trust{display:none}
  .nv-lhero .nv-trust-r{display:flex;justify-content:center;margin-top:16px}
}
@media (min-width:980px) and (max-height:860px){.nv-lhero .nv-orbit{zoom:.9}}
@media (min-width:980px) and (max-height:780px){
  .nv-lhero{padding:14px 0 18px}
  .nv-lhero h1{font-size:clamp(40px,3.9vw,56px)}
  .nv-hero-swap{margin-top:16px}
  .nv-hero-swap .nv-swap{padding:14px}
  .nv-hero-swap .nv-swap-row{padding:10px 13px 9px}
  .nv-hero-swap .nv-swap-row input{font-size:25px}
  .nv-hero-swap .nv-coin-btn{height:42px}
  .nv-hero-swap .nv-swap-meta{margin:9px 4px 10px}
  .nv-hero-swap [data-swap-go]{--h:46px}
  .nv-lhero .nv-orbit{zoom:.84}
  .nv-lhero .nv-lhero-cta-r .nv-btn{--h:48px}
}
@media (min-width:980px) and (max-height:720px){
  .nv-nav-pub .nv-wrap{height:58px}
  .nv-lhero h1{font-size:clamp(38px,3.8vw,52px)}
  .nv-hero-swap .nv-swap{padding:13px}
  .nv-hero-swap .nv-swap-row{padding:9px 13px 8px}
  .nv-hero-swap .nv-swap-row input{font-size:23px}
  .nv-hero-swap .nv-coin-btn{height:40px}
  .nv-hero-swap .nv-swap-meta{margin:8px 4px 9px}
  .nv-hero-swap [data-swap-go]{--h:44px}
  .nv-lhero .nv-orbit{zoom:.78}
  .nv-lhero .nv-lhero-cta-r .nv-btn{--h:46px}
  .nv-lhero .nv-kicker{padding:5px 11px;font-size:12px}
  .nv-lhero .nv-trust-r{margin-top:12px;font-size:12.5px}
  .nv-lhero{padding:10px 0 14px}
}
@media (min-width:980px) and (max-height:640px){
  .nv-nav-pub .nv-wrap{height:56px}
  .nv-lhero h1{font-size:clamp(36px,3.6vw,46px)}
  .nv-hero-swap{margin-top:12px}
  .nv-hero-swap .nv-swap{padding:11px}
  .nv-hero-swap .nv-swap-head{margin-bottom:8px}
  .nv-hero-swap .nv-seg button{height:28px}
  .nv-hero-swap .nv-swap-row{padding:6px 12px 5px}
  .nv-hero-swap .nv-swap-row .lbl{font-size:11px}
  .nv-hero-swap .nv-swap-row input{font-size:21px}
  .nv-hero-swap .nv-coin-btn{height:36px}
  .nv-hero-swap .nv-coin-btn .nv-cicon{width:24px!important;height:24px!important}
  .nv-hero-swap .nv-sim-flip{margin:-9px 0}
  .nv-hero-swap .nv-sim-flip button{width:32px;height:32px}
  .nv-hero-swap .nv-swap-meta{margin:6px 4px 7px}
  .nv-hero-swap [data-swap-go]{--h:40px;font-size:14.5px}
  .nv-lhero .nv-orbit{zoom:.7}
  .nv-lhero .nv-lhero-cta-r .nv-btn{--h:44px}
  .nv-lhero .nv-kicker{padding:4px 10px;font-size:11.5px}
  .nv-lhero h1{margin-top:8px}
  .nv-lhero .nv-trust-r{margin-top:10px;font-size:12px}
  .nv-lhero-cta-r{margin-top:calc(20px + 6px)!important}
}
@media (min-width:980px) and (max-height:560px){.nv-lhero .nv-orbit{zoom:.62}}
