/* GWH DASHBOARD DESIGN SYSTEM (2026-10-13). One calm ground, one accent (the GWH green), tier colour only where it means a tier.
   Layout idea: a left rail of destinations, one hero number, four tiles under it, then one purpose per view.
   Everything is scoped to .gd-app so the other pages are untouched. Single dark theme on purpose: the whole site is dark. */

body.gd-page{
  --gd-bg:#03000d; --gd-card:rgba(10,5,24,.88); --gd-card-2:rgba(22,10,48,.9); --gd-in:rgba(6,2,18,.86);
  --gd-line:rgba(188,19,254,.22); --gd-line-2:rgba(188,19,254,.42);
  --gd-ink:#fff; --gd-ink-2:rgba(255,255,255,.7); --gd-ink-3:rgba(255,255,255,.44);
  --gd-accent:#14F195; --gd-cyan:#00ffff; --gd-purple:#bc13fe; --gd-pink:#ff00ff; --gd-gold:#ffcc00; --gd-bad:#ff4d6d;
  background:var(--gd-bg);color:var(--gd-ink);
  background-image:radial-gradient(ellipse 80% 60% at 10% 0%,rgba(188,19,254,.17) 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 90% 100%,rgba(0,255,255,.11) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(20,241,149,.045) 0%,transparent 60%);
  background-attachment:fixed;background-repeat:no-repeat;
}
body.gd-page #gwh-topnav{background:rgba(7,10,12,.96);border-bottom-color:var(--gd-line)}
body.gd-page .price-ticker{background:rgba(255,255,255,.02);border-bottom-color:var(--gd-line)}
body.gd-page #gwh-botnav{background:rgba(7,10,12,.97);border-top-color:var(--gd-line)}

.gd-app{
  --gd-color:#14F195;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px;line-height:1.5;color:var(--gd-ink);
  max-width:1180px;margin:0 auto;padding:22px 20px 56px;
  animation:gd-in .5s cubic-bezier(.2,.7,.2,1) both;
}
.gd-app *{box-sizing:border-box}
.gd-app a{color:inherit}
.gd-app button{font-family:inherit}
.gd-app :focus-visible{outline:2px solid var(--gd-accent);outline-offset:2px;border-radius:6px}
.gd-num,.gd-mono{font-family:'JetBrains Mono',ui-monospace,'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.gd-disp{font-family:'Sora','Inter',sans-serif}
@keyframes gd-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes gd-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes gd-blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes gd-sweep{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}
@keyframes gwh-earn-flash{0%{transform:translateY(0);opacity:1}100%{transform:translateY(-40px);opacity:0}}
@keyframes gwh-tick-up{from{color:#14F195}to{color:inherit}}

/* ── shell: rail + content ─────────────────────────────────────────── */
.gd-shell{display:grid;grid-template-columns:208px minmax(0,1fr);gap:26px;align-items:start}
.gd-rail{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px}
.gd-id{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--gd-line);border-radius:14px;background:var(--gd-card)}
.gd-avatar-tier{display:flex;align-items:center;justify-content:center;border-radius:50%!important;background:radial-gradient(circle at 30% 25%,var(--gd-av-glow),#0b1d17 72%)!important;box-shadow:0 0 0 2px var(--gd-av),0 0 12px var(--gd-av-glow)!important}.gd-avatar-tier b{font:800 13px Sora,sans-serif;color:var(--gd-av);letter-spacing:.2px}
.gd-avatar{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:conic-gradient(from 210deg,var(--gd-color),#0b1d17 55%,var(--gd-color));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.gd-id-addr{font-size:14px;font-weight:600;letter-spacing:.2px}
.gd-id-sub{font-size:12px;color:var(--gd-ink-3);margin-top:1px}
.gd-nav{display:flex;flex-direction:column;gap:2px}
.gd-nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:none;color:var(--gd-ink-2);font-size:15px;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background .15s,color .15s}
.gd-nav-item svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gd-nav-item:hover{background:rgba(255,255,255,.04);color:var(--gd-ink)}
.gd-nav-item.on{background:rgba(20,241,149,.08);border-color:rgba(20,241,149,.2);color:var(--gd-accent)}
.gd-nav-badge{margin-left:auto;font-size:12px;font-weight:600;padding:1px 7px;border-radius:99px;background:rgba(255,255,255,.07);color:var(--gd-ink-2)}
.gd-rail-links{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--gd-line)}
.gd-rail-link{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;color:var(--gd-ink-2);border:1px solid var(--gd-line);transition:.15s}
.gd-rail-link svg{width:15px;height:15px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gd-rail-link:hover{color:var(--gd-ink);border-color:var(--gd-line-2)}
.gd-rail-link.buy{background:var(--gd-accent);color:#04120b;border-color:var(--gd-accent)}
.gd-rail-link.buy:hover{filter:brightness(1.08);color:#04120b}
.gd-main{min-width:0}
.gd-view{display:none}
.gd-view.on{display:block;animation:gd-rise .35s ease both}
.gd-view-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.gd-h1{font-family:'Sora',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.2px;line-height:1.2}
.gd-lede{font-size:14px;color:var(--gd-ink-2);margin-top:3px;max-width:62ch}

/* ── cards and building blocks ─────────────────────────────────────── */
.gd-card{background:var(--gd-card);border:1px solid var(--gd-line);border-radius:16px;margin-bottom:14px;overflow:hidden}
.gd-card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 0}
.gd-card-t{font-size:13px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--gd-ink-2)}
.gd-card-meta{font-size:13px;color:var(--gd-ink-3)}
.gd-card-b{padding:14px 18px 18px}
.gd-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gd-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gd-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gd-grid2>.gd-card,.gd-grid3>.gd-card{margin-bottom:0}
.gd-stack{display:flex;flex-direction:column;gap:14px}
.gd-stack>.gd-card{margin-bottom:0}
.gd-tile{background:var(--gd-card);border:1px solid var(--gd-line);border-radius:14px;padding:14px 16px;min-width:0;transition:border-color .2s}
.gd-tile:hover{border-color:var(--gd-line-2)}
.gd-tile-l{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--gd-ink-3)}
.gd-tile-l svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gd-tile-v{font-family:'Sora',sans-serif;font-size:20px;font-weight:700;margin-top:8px;line-height:1.15;overflow-wrap:anywhere}
.gd-tile-s{font-size:13px;color:var(--gd-ink-3);margin-top:5px;line-height:1.4}
.gd-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.4px;border:1px solid var(--gd-line-2);color:var(--gd-ink-2);background:rgba(255,255,255,.03);white-space:nowrap}
.gd-chip.tier{color:var(--gd-color);border-color:color-mix(in srgb,var(--gd-color) 45%,transparent);background:color-mix(in srgb,var(--gd-color) 11%,transparent)}
.gd-chip.good{color:var(--gd-accent);border-color:rgba(20,241,149,.35);background:rgba(20,241,149,.08)}
.gd-chip.warn{color:var(--gd-gold);border-color:rgba(255,204,77,.35);background:rgba(255,204,77,.07)}
.gd-chip.bad{color:var(--gd-bad);border-color:rgba(255,93,108,.35);background:rgba(255,93,108,.07)}
.gd-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;transition:background .3s}
.gd-dot.on{background:var(--gd-accent);box-shadow:0 0 8px var(--gd-accent);animation:gd-blink 2.2s infinite}
.gd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;border:1px solid var(--gd-line-2);background:rgba(255,255,255,.04);color:var(--gd-ink);cursor:pointer;text-decoration:none;transition:.15s}
.gd-btn:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.07)}
.gd-btn.primary{background:var(--gd-accent);border-color:var(--gd-accent);color:#04120b}
.gd-btn.primary:hover{filter:brightness(1.08)}
.gd-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gd-empty{text-align:center;padding:26px 16px;color:var(--gd-ink-3);font-size:14px;border:1px dashed var(--gd-line-2);border-radius:12px;background:rgba(255,255,255,.012)}
.gd-empty b{display:block;color:var(--gd-ink-2);font-size:15px;font-weight:600;margin-bottom:4px}
.gd-empty .gd-btn{margin-top:12px}
.gd-hide .gd-money{filter:blur(9px);user-select:none;transition:filter .2s}
.gd-eye{width:30px;height:30px;border-radius:8px;border:1px solid var(--gd-line);background:rgba(255,255,255,.03);color:var(--gd-ink-3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.gd-eye:hover{color:var(--gd-ink)}
.gd-eye svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ── overview hero ─────────────────────────────────────────────────── */
.gd-hero{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--gd-color) 30%,var(--gd-line));border-radius:20px;padding:24px;margin-bottom:14px;
  background:radial-gradient(70% 130% at 100% 0%,color-mix(in srgb,var(--gd-color) 17%,transparent),transparent 62%),var(--gd-card);display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:24px;align-items:center;transition:border-color .5s}
.gd-hero::after{content:'';position:absolute;top:0;bottom:0;left:0;width:34%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.035),transparent);animation:gd-sweep 7s ease-in-out infinite;pointer-events:none}
.gd-eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--gd-ink-2);flex-wrap:wrap}
.gd-hero-val{font-family:'Sora',sans-serif;font-size:clamp(30px,5.2vw,46px);font-weight:700;letter-spacing:-1px;line-height:1.05;margin:12px 0 4px}
.gd-hero-val small{font-size:.42em;font-weight:600;letter-spacing:0;color:var(--gd-ink-2);margin-left:6px}
.gd-hero-sub{font-size:14px;color:var(--gd-ink-2)}
.gd-hero-sub b{color:var(--gd-ink);font-weight:600}
.gd-hero-row{display:flex;gap:26px;margin-top:18px;flex-wrap:wrap}
.gd-hero-row>div{min-width:0}
.gd-mini-l{font-size:12px;letter-spacing:.9px;text-transform:uppercase;color:var(--gd-ink-3);font-weight:600}
.gd-mini-v{font-size:16px;font-weight:600;margin-top:3px}
.gd-ring{position:relative;width:176px;height:176px;margin:0 auto}
.gd-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.gd-ring .trk{fill:none;stroke:rgba(255,255,255,.07);stroke-width:9}
.gd-ring .prg{fill:none;stroke:var(--gd-color);stroke-width:9;stroke-linecap:round;stroke-dasharray:427.3;stroke-dashoffset:427.3;transition:stroke-dashoffset 1.3s cubic-bezier(.2,.7,.2,1) .15s;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--gd-color) 55%,transparent))}
.gd-ring-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.gd-ring-n{font-family:'Sora',sans-serif;font-size:38px;font-weight:700;line-height:1;color:var(--gd-color)}
.gd-ring-t{font-size:12px;letter-spacing:.6px;font-weight:600;color:var(--gd-ink-2);margin-top:6px;text-transform:uppercase}
.gd-ring-cap{text-align:center;font-size:13px;color:var(--gd-ink-2);margin-top:10px;line-height:1.4}

/* tier path */
.gd-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.gd-step{--sc:#14F195;border:1px solid var(--gd-line);border-radius:12px;padding:11px 12px;background:var(--gd-in);position:relative;min-width:0}
.gd-step.done{border-color:color-mix(in srgb,var(--sc) 30%,transparent)}
.gd-step.cur{border-color:var(--sc);background:color-mix(in srgb,var(--sc) 10%,var(--gd-in));box-shadow:0 0 22px color-mix(in srgb,var(--sc) 16%,transparent)}
.gd-step-n{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:var(--sc)}
.gd-step-req{font-size:12px;font-weight:600;margin-top:3px;color:var(--gd-ink-2)}
.gd-step.cur .gd-step-req{color:var(--sc)}
.gd-step-l{font-size:12px;color:var(--gd-ink-3);margin-top:7px;line-height:1.55}

/* next steps */
.gd-acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gd-act{display:block;text-decoration:none;border:1px solid var(--gd-line);border-radius:12px;padding:13px 15px;background:var(--gd-in);transition:.15s;cursor:pointer}
.gd-act:hover{border-color:var(--gd-line-2);transform:translateY(-1px)}
.gd-act-t{font-size:15px;font-weight:600}
.gd-act-d{font-size:13px;color:var(--gd-ink-3);margin-top:3px;line-height:1.5}
.gd-act-go{font-size:13px;font-weight:600;color:var(--gd-accent);margin-top:9px}

/* system strip */
.gd-sys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.gd-eng{border:1px solid var(--gd-line);border-radius:12px;padding:11px 13px;background:var(--gd-in);min-width:0}
.gd-eng.live{border-color:rgba(20,241,149,.28)}
.gd-eng-n{font-size:12px;letter-spacing:.9px;text-transform:uppercase;font-weight:600;color:var(--gd-ink-3)}
.gd-eng-s{font-size:14px;font-weight:600;margin-top:4px;color:var(--gd-ink-3)}
.gd-eng-x{font-size:12px;color:var(--gd-ink-3);margin-top:2px;overflow-wrap:anywhere}
.gd-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.gd-fact-k{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--gd-ink-3);font-weight:600}
.gd-fact-v{font-size:15px;font-weight:600;margin-top:2px;overflow-wrap:anywhere}

/* ── farming ───────────────────────────────────────────────────────── */
.gd-meter{height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;margin:10px 0 4px}
.gd-meter>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gd-color),color-mix(in srgb,var(--gd-color) 55%,#fff));width:0;transition:width 1s ease}
.gd-pos{border:1px solid var(--gd-line);border-radius:14px;padding:14px 16px;background:var(--gd-in);margin-bottom:10px}
.gd-pos:last-child{margin-bottom:0}
.gd-pos.oor{border-color:rgba(255,204,77,.35)}
.gd-pos-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gd-pos-name{font-family:'Sora',sans-serif;font-size:16px;font-weight:700}
.gd-pos-badges{display:flex;gap:6px;flex-wrap:wrap}
.gd-pos-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.gd-pos-claim{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding:9px 12px;border-radius:10px;background:rgba(20,241,149,.07);border:1px solid rgba(20,241,149,.2);font-size:13px;color:var(--gd-ink-2)}
.gd-pos-claim b{color:var(--gd-accent);font-weight:600}
.gd-range{position:relative;height:5px;border-radius:99px;background:rgba(255,255,255,.07);margin-top:14px}
.gd-range-fill{position:absolute;inset:0 auto 0 0;border-radius:99px;background:linear-gradient(90deg,rgba(20,241,149,.15),rgba(20,241,149,.7))}
.gd-range-cursor{position:absolute;top:-4px;width:3px;height:13px;border-radius:2px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.7);transform:translateX(-50%)}
.gd-sig{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--gd-line);font-size:14px}
.gd-sig:last-child{border-bottom:none}
.gd-sig-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-sig-live{font-size:12px;color:var(--gd-gold);font-weight:600}
.gd-sig-apr{font-weight:600;color:var(--gd-accent);min-width:56px;text-align:right}
.gd-risk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gd-risk-opt{--rk:#14F195;border:1px solid var(--gd-line);border-radius:12px;padding:12px;background:var(--gd-in);cursor:pointer;text-align:center;transition:.15s}
.gd-risk-opt:hover{border-color:var(--gd-line-2)}
.gd-risk-opt.on{border-color:var(--rk);background:color-mix(in srgb,var(--rk) 9%,var(--gd-in))}
.gd-risk-opt-name{font-size:13px;font-weight:700;letter-spacing:.6px;color:var(--gd-ink-2)}
.gd-risk-opt.on .gd-risk-opt-name{color:var(--rk)}
.gd-risk-opt-sub{font-size:12px;color:var(--gd-ink-3);margin-top:3px}
.gd-note{font-size:13px;color:var(--gd-ink-3);line-height:1.6;margin-top:10px}
.gd-pulse{display:flex;align-items:center;gap:14px}
.gd-pulse-ring{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--gd-line-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.4s}
.gd-pulse-ring i{width:10px;height:10px;border-radius:50%;background:var(--gd-ink-3);transition:.4s}
.gd-pulse-ring.active{border-color:var(--gd-accent);box-shadow:0 0 18px rgba(20,241,149,.35)}
.gd-pulse-ring.active i{background:var(--gd-accent)}
.gd-pulse-t{font-weight:600;font-size:15px}
.gd-pulse-s{font-size:13px;color:var(--gd-ink-3);margin-top:1px}
.gd-pulse-n{margin-left:auto;font-weight:600;color:var(--gd-ink-2)}
.gd-tp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.gd-tp-stat-l{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--gd-ink-3);font-weight:600}
.gd-tp-stat-v{font-size:15px;font-weight:600;margin-top:2px}
.gd-scouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.gd-scout-row{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--gd-line);font-size:13px}
.gd-scout-row:last-child{border-bottom:none}
.gd-scout-action{font-size:12px;font-weight:700;letter-spacing:.6px;padding:2px 7px;border-radius:6px}
.gd-scout-action.buy{color:var(--gd-accent);background:rgba(20,241,149,.1)}
.gd-scout-action.sell{color:var(--gd-bad);background:rgba(255,93,108,.1)}
.gd-scout-msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gd-ink-2)}
.gd-scout-wr{color:var(--gd-ink-3)}
.gd-feed{max-height:420px;overflow-y:auto;scrollbar-width:thin}
.gd-act-item{display:flex;gap:12px;padding:9px 2px;border-bottom:1px solid var(--gd-line);font-size:14px;animation:gd-rise .3s ease both}
.gd-act-item:last-child{border-bottom:none}
.gd-act-ts{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--gd-ink-3);flex-shrink:0;padding-top:2px}
.gd-act-msg{color:var(--gd-ink-2);min-width:0;overflow-wrap:anywhere}
.gd-act-item.earn .gd-act-msg,.gd-act-item.dist .gd-act-msg{color:var(--gd-accent)}
.gd-act-item.warn .gd-act-msg{color:var(--gd-gold)}

/* ── staking ───────────────────────────────────────────────────────── */
.gd-stake-main{font-family:'Sora',sans-serif;font-size:30px;font-weight:700;letter-spacing:-.5px;line-height:1.1;margin:8px 0 14px}
.gd-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gd-pending{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(20,241,149,.06);border:1px solid rgba(20,241,149,.18)}
.gd-pending-v{font-family:'Sora',sans-serif;font-size:18px;font-weight:700;color:var(--gd-accent);margin-top:3px}
.gd-dist{display:flex;align-items:center;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--gd-line)}
.gd-dist svg{width:78px;height:78px;transform:rotate(-90deg);flex-shrink:0}
.gd-ring-track{fill:none;stroke:rgba(255,255,255,.07);stroke-width:5}
.gd-ring-prog{fill:none;stroke:var(--gd-accent);stroke-width:5;stroke-linecap:round;stroke-dasharray:226.2;stroke-dashoffset:226.2;transition:stroke-dashoffset 1s linear}
.gd-dist-t{font-family:'Sora',sans-serif;font-size:22px;font-weight:700}
.gd-lock-opts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}
.gd-lock-opt{padding:11px 4px;border-radius:11px;border:1px solid var(--gd-line);background:var(--gd-in);cursor:pointer;text-align:center;transition:.15s;user-select:none}
.gd-lock-opt:hover{border-color:var(--gd-line-2)}
.gd-lock-opt.on{border-color:var(--gd-accent);background:rgba(20,241,149,.08)}
.gd-lo-dur{font-size:13px;font-weight:700}
.gd-lock-opt.on .gd-lo-dur{color:var(--gd-accent)}
.gd-lo-mult{font-size:12px;color:var(--gd-ink-3);margin-top:2px}
.gd-si-label{display:flex;justify-content:space-between;gap:8px;font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:600;color:var(--gd-ink-3);margin-bottom:7px}
.gd-si-bal{color:var(--gd-cyan);cursor:pointer;text-transform:none;letter-spacing:0}
.gd-si-bal:hover{color:#fff}
.gd-si-box{display:flex;border:1px solid var(--gd-line-2);border-radius:12px;background:var(--gd-in);overflow:hidden;transition:border-color .2s}
.gd-si-box:focus-within{border-color:var(--gd-accent)}
.gd-si-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--gd-ink);font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:600;padding:12px 14px}
.gd-si-input::-webkit-outer-spin-button,.gd-si-input::-webkit-inner-spin-button{-webkit-appearance:none}
.gd-si-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:8px 14px;border-left:1px solid var(--gd-line);gap:2px;flex-shrink:0}
.gd-si-sym{font-size:13px;font-weight:700}
.gd-si-usd{font-size:12px;color:var(--gd-ink-3)}
.gd-si-pcts{display:flex;gap:6px;margin:8px 0 14px}
.gd-si-pct{flex:1;padding:7px;border-radius:8px;border:1px solid var(--gd-line);background:rgba(255,255,255,.025);font-size:13px;font-weight:600;color:var(--gd-ink-2);cursor:pointer;text-align:center;transition:.15s}
.gd-si-pct:hover{border-color:var(--gd-accent);color:var(--gd-accent)}
.gd-compound-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--gd-line);border-radius:12px;margin-bottom:12px;background:var(--gd-in)}
.gd-compound-t{font-size:14px;font-weight:600}
.gd-compound-n{font-size:13px;color:var(--gd-ink-3);margin-top:2px;line-height:1.45}
.gd-toggle{width:40px;height:22px;border-radius:11px;border:1px solid var(--gd-line-2);cursor:pointer;transition:.25s;position:relative;flex-shrink:0;background:rgba(255,255,255,.08)}
.gd-toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.25s}
.gd-toggle.on{background:rgba(20,241,149,.3);border-color:rgba(20,241,149,.55)}
.gd-toggle.on::after{left:20px;background:var(--gd-accent)}
.gd-toggle:disabled{opacity:.45;cursor:not-allowed}
.gd-est{border:1px solid var(--gd-line);border-radius:12px;padding:4px 14px;margin-bottom:14px;background:var(--gd-in)}
.gd-est-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--gd-line);font-size:14px}
.gd-est-row:last-child{border-bottom:none}
.gd-est-lbl{color:var(--gd-ink-3)}
.gd-est-val{font-weight:600;text-align:right}
.gd-stakebtn{width:100%;padding:14px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:.2s}
.gd-stakebtn.active{background:var(--gd-accent);color:#04120b}
.gd-stakebtn.active:hover{filter:brightness(1.08)}
.gd-stakebtn.disabled{background:rgba(255,255,255,.05);border-color:var(--gd-line);color:var(--gd-ink-3);cursor:not-allowed}
.gd-manage{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.gd-manage-btn{padding:11px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--gd-line-2);background:rgba(255,255,255,.03);color:var(--gd-ink);transition:.15s}
.gd-manage-btn.claim:hover{border-color:var(--gd-accent);color:var(--gd-accent)}
.gd-manage-btn.unstake:hover{border-color:var(--gd-bad);color:var(--gd-bad)}
.gd-gov-num{font-family:'Sora',sans-serif;font-size:28px;font-weight:700;color:var(--gd-gold)}
.gd-gov-bar{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gd-gold),#ff9b4d);transition:width 1s ease}
.gd-gv-card{border:1px solid rgba(255,204,77,.25);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--gd-in)}
.gd-gv-card.closed{border-color:var(--gd-line)}
.gd-gv-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--gd-ink-3);margin-bottom:6px}
.gd-gv-title{font-weight:600;font-size:15px;margin-bottom:5px}
.gd-gv-desc{font-size:13px;color:var(--gd-ink-3);line-height:1.6;margin-bottom:10px}
.gd-gv-opt{display:block;width:100%;text-align:left;position:relative;overflow:hidden;background:var(--gd-card);border:1px solid var(--gd-line);border-radius:9px;padding:9px 11px;margin-bottom:6px;color:var(--gd-ink);font-size:14px;cursor:pointer}
.gd-gv-opt:disabled{cursor:default}
.gd-gv-opt .bar{position:absolute;left:0;top:0;bottom:0;background:rgba(255,204,77,.14)}
.gd-gv-opt span{position:relative;display:flex;justify-content:space-between;gap:8px}
.gd-gv-opt.mine{border-color:var(--gd-accent)}
.gd-gv-opt.win{border-color:var(--gd-gold)}
.gd-gv-foot{font-size:12px;color:var(--gd-ink-3);margin-top:5px}
.gd-gv-empty{padding:18px;text-align:center;color:var(--gd-ink-3);font-size:14px;border:1px dashed var(--gd-line-2);border-radius:12px}

/* ── before a wallet connects ──────────────────────────────────────── */
.gd-welcome{position:relative;overflow:hidden;border:1px solid var(--gd-line);border-radius:22px;padding:42px 32px;text-align:center;margin-bottom:16px;
  background:radial-gradient(60% 120% at 50% 0%,rgba(20,241,149,.12),transparent 66%),var(--gd-card)}
.gd-welcome h1{font-family:'Sora',sans-serif;font-size:clamp(26px,4.4vw,40px);font-weight:700;letter-spacing:-.8px;line-height:1.12;margin:12px auto 12px;max-width:20ch;text-wrap:balance}
.gd-welcome p{max-width:56ch;margin:0 auto 22px;color:var(--gd-ink-2);font-size:15px;line-height:1.65}
.gd-wallets{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px;font-size:13px;color:var(--gd-ink-3)}
.gd-lock-tile{opacity:.8}
.gd-skel{height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.1),rgba(255,255,255,.05));background-size:200% 100%;animation:gd-shim 2.2s linear infinite;margin-top:10px}
@keyframes gd-shim{from{background-position:200% 0}to{background-position:-200% 0}}
.gd-tiers-pre{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:22px}

/* ── the extra panels other scripts mount (features, manual LP, ambassador, dust): same look as the rest ── */
.gd-app #gwh-sovereign-features,.gd-app #gwh-ambassador-network{margin:0 0 14px!important;animation:none!important}
.gd-app .sf-section-hdr{margin:20px 0 12px!important}
.gd-app #gwh-sovereign-features *,.gd-app #gwh-ambassador-network *{font-family:'Inter',system-ui,sans-serif!important}
.gd-app #gwh-sovereign-features :is(.sf-section-title,.pnl-total,.shield-val,.amb-stat-v,.ahp-s-v,.rank-num,.rank-earned,.so-rate),.gd-app #gwh-ambassador-network :is(.amb-stat-v){font-family:'Sora',sans-serif!important}
.gd-app #gwh-sovereign-features :is(.amb-code-url,.rank-wallet),.gd-app #gwh-ambassador-network .amb-code-url{font-family:'JetBrains Mono',monospace!important}
.gd-app .sf-section-title{font-size:16px!important;letter-spacing:0!important;font-weight:700!important}
.gd-app .sf-section-line{background:var(--gd-line)!important}
.gd-app .sf-section-badge{font-family:'Inter',sans-serif!important;border-radius:99px!important}
.gd-app .sf-card{background:var(--gd-card)!important;border:1px solid var(--gd-line)!important;border-radius:16px!important}
.gd-app .sf-card:hover{border-color:var(--gd-line-2)!important}
.gd-app .sf-card-hdr{background:none!important;border-bottom:none!important;padding:14px 18px 0!important}
.gd-app .sf-card-title{font-size:13px!important;font-weight:600!important;letter-spacing:.9px!important;text-transform:uppercase}
.gd-app .sf-card-body{padding:14px 18px 18px!important}
.gd-app .sf-grid{gap:14px!important}
.gd-app #dust-panel{margin:0!important;border-radius:16px!important;border:1px solid var(--gd-line)!important;background:var(--gd-card)!important;padding:18px!important}
.gd-app #dust-panel *{font-family:'Inter',sans-serif}
.gd-app #dust-amt{font-family:'Sora',sans-serif!important}
.gd-app #dust-btn{border-radius:10px!important;font-size:14px!important;letter-spacing:0!important}
.gd-app #gwh-apex-mirror-card{margin:0!important;border-radius:16px!important;background:var(--gd-card)!important;border:1px solid var(--gd-line)!important}
/* 2026-10-21: the title (uppercase, wide letter spacing) and the "Top LPs now, Trading Boyz soon" chip (nowrap) did not fit on one line at phone width and the chip ran past the card edge. Let the header wrap and the chip break. */
.gd-app #gwh-apex-mirror-card .gd-card-hd{flex-wrap:wrap;row-gap:8px}
.gd-app #gwh-apex-mirror-card .gd-card-hd .gd-chip{white-space:normal;max-width:100%;line-height:1.35;text-align:left}
.gd-app #gwh-apex-mirror-card .gd-card-b{overflow-wrap:anywhere}

/* ── Add LP wizard (gwh-add-lp.js) ─────────────────────────────────── */
.gd-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;list-style:none;margin:0 0 18px;padding:0}
.gd-steps li{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--gd-line);border-radius:10px;font-size:13px;font-weight:600;color:var(--gd-ink-3);background:var(--gd-in);min-width:0}
.gd-steps li b{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;background:rgba(255,255,255,.07);color:var(--gd-ink-2);flex-shrink:0}
.gd-steps li.on{border-color:var(--gd-accent);color:var(--gd-ink)}
.gd-steps li.on b{background:var(--gd-accent);color:#04120b}
.gd-steps li.done{color:var(--gd-ink-2);cursor:pointer}
.gd-steps li.done b{background:rgba(20,241,149,.2);color:var(--gd-accent)}
.gd-seg{display:inline-flex;flex-wrap:wrap;max-width:100%;padding:3px;border:1px solid var(--gd-line);border-radius:10px;background:var(--gd-in);margin-bottom:12px;gap:2px}
.gd-seg button{border:none;background:none;color:var(--gd-ink-2);padding:7px 14px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}
.gd-seg button.on{background:rgba(255,255,255,.09);color:var(--gd-ink)}
.gd-prow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--gd-line);border-radius:12px;background:var(--gd-in);color:inherit;cursor:pointer;margin-bottom:8px;transition:.15s;font-family:inherit}
.gd-prow:hover{border-color:var(--gd-line-2)}
.gd-prow.sel{border-color:var(--gd-accent);background:rgba(20,241,149,.06)}
.gd-prow-n{font-weight:600;font-size:15px}
.gd-prow-s{font-size:13px;color:var(--gd-ink-3);margin-top:2px}
.gd-prow-r{font-weight:600;color:var(--gd-accent);white-space:nowrap}
.gd-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px;flex-wrap:wrap}
.gd-btn:disabled{opacity:.4;cursor:not-allowed}
.gd-review{border:1px solid var(--gd-line);border-radius:12px;padding:2px 14px;background:var(--gd-in)}
.gd-review-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--gd-line);font-size:14px}
.gd-review-row:last-child{border-bottom:none}
.gd-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:13px;color:var(--gd-ink-2);line-height:1.55;cursor:pointer}
.gd-check input{margin-top:3px;accent-color:var(--gd-accent);flex-shrink:0}
.gd-msg{font-size:13px;margin-top:10px;color:var(--gd-gold);line-height:1.6}
.gd-inp{background:var(--gd-in);border:1px solid var(--gd-line-2);border-radius:10px;color:var(--gd-ink);padding:10px 12px;font-family:'JetBrains Mono',monospace;font-size:15px;min-width:0;width:100%}
.gd-inp:focus{outline:none;border-color:var(--gd-accent)}
.gd-lbl{display:block;font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:600;color:var(--gd-ink-3);margin-bottom:7px}
.gd-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.gd-list{margin:0;padding-left:18px;color:var(--gd-ink-2);font-size:14px;line-height:1.8}
.gd-log{margin-top:12px;font-size:13px;color:var(--gd-ink-3)}
.gd-log pre{white-space:pre-wrap;max-height:180px;overflow-y:auto;background:var(--gd-in);border:1px solid var(--gd-line);border-radius:10px;padding:10px;margin:8px 0 0;font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.6}
@media(max-width:720px){.gd-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.gd-two{grid-template-columns:minmax(0,1fr)}}

/* ── responsive ────────────────────────────────────────────────────── */
@media(max-width:1020px){
  .gd-shell{grid-template-columns:minmax(0,1fr);gap:14px}
  .gd-rail{position:sticky;top:46px;z-index:30;margin:0 -20px;padding:8px 20px;background:rgba(7,10,12,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--gd-line);flex-direction:row;gap:0}
  .gd-id,.gd-rail-links{display:none}
  .gd-nav{flex-direction:row;gap:6px;overflow-x:auto;scrollbar-width:none;width:100%}
  .gd-nav::-webkit-scrollbar{display:none}
  .gd-nav-item{width:auto;flex-shrink:0;padding:8px 14px;border-radius:99px;border-color:var(--gd-line);font-size:14px;white-space:nowrap}
  .gd-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .gd-app{padding:14px 16px 90px}
  .gd-rail{margin:0 -16px;padding:8px 16px}
  .gd-hero{grid-template-columns:minmax(0,1fr);padding:20px 18px;gap:18px}
  .gd-ring{width:150px;height:150px}
  .gd-path{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-acts,.gd-grid2,.gd-grid3,.gd-sys,.gd-facts,.gd-scouts{grid-template-columns:minmax(0,1fr)}
  .gd-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-lock-opts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gd-pos-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-welcome{padding:30px 18px}
  .gd-tile-v{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  .gd-app,.gd-app *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ── Live position chart and sparkle (2026-10-14) ───────────────────────────────────────────────────────────────────────────────────────
   The chart is drawn by gwh-pos-chart.js: price line + the position's range band + a pulsing dot for now. The sparkle layer below gives every card a lit top edge, a soft green glow, and a lift on hover. */
.gd-pc{margin-top:14px;padding-top:12px;border-top:1px solid var(--gd-line)}
.gd-pc-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.gd-pc-px{font-size:13px;color:var(--gd-ink-2)}
.gd-pc-px b{font-weight:600}.gd-pc-px b.up{color:var(--gd-accent)}.gd-pc-px b.dn{color:var(--gd-bad)}
.gd-pc-svg{display:block;width:100%;height:auto;overflow:visible}
.gd-pc-svg .gr{stroke:rgba(186,255,226,.07);stroke-width:1}
.gd-pc-svg .s0{stop-color:var(--gd-cyan);stop-opacity:.30}.gd-pc-svg .s1{stop-color:var(--gd-cyan);stop-opacity:0}
.gd-pc-svg .ln{fill:none;stroke:var(--gd-cyan);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(56,220,255,.45))}
.gd-pc-svg .bd{fill:rgba(20,241,149,.11)}
.gd-pc-svg .be{stroke:rgba(20,241,149,.75);stroke-width:1;stroke-dasharray:4 4}
.gd-pc-svg .bt{fill:var(--gd-accent);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.gd-pc-svg .nl{stroke:rgba(56,220,255,.35);stroke-width:1;stroke-dasharray:2 4}
.gd-pc-svg .dot{fill:var(--gd-cyan);filter:drop-shadow(0 0 6px var(--gd-cyan))}
.gd-pc-svg .halo{fill:var(--gd-cyan);opacity:.28;transform-box:fill-box;transform-origin:center;animation:gdHalo 2.2s ease-out infinite}
.gd-pc-svg .pl{fill:var(--gd-ink-2);font-size:12px;font-family:'JetBrains Mono',ui-monospace,monospace}
.gd-pc-svg .pl.nowl{fill:var(--gd-cyan);font-weight:600}.gd-pc-svg .pl.bl{fill:var(--gd-accent);opacity:.85}
.gd-pc-svg .tl{fill:var(--gd-ink-3);font-size:12px}
.gd-pc-why{font-size:13px;color:var(--gd-ink-2);margin-top:4px;line-height:1.5}
.gd-pc-ph{font-size:13px;color:var(--gd-ink-3);padding:18px 0;text-align:center}
.gd-sparks{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 2px;font-size:12px;color:var(--gd-ink-3)}
.gd-sparks span{display:inline-flex;align-items:center;gap:6px}
.gd-sparks em{font-style:normal}
.gd-spark{width:96px;height:22px;overflow:visible}
.gd-spark path{fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gd-spark.f path{stroke:var(--gd-accent)}.gd-spark.f circle{fill:var(--gd-accent)}
.gd-spark.v path{stroke:var(--gd-cyan)}.gd-spark.v circle{fill:var(--gd-cyan)}
@keyframes gdHalo{0%{transform:scale(.5);opacity:.5}100%{transform:scale(2.1);opacity:0}}
@keyframes gdPulse{0%{box-shadow:0 0 0 0 rgba(20,241,149,.55)}70%{box-shadow:0 0 0 7px rgba(20,241,149,0)}100%{box-shadow:0 0 0 0 rgba(20,241,149,0)}}

/* sparkle: a lit top edge and a soft glow on every card and tile, a lift on hover */
body.gd-page .gd-card,body.gd-page .gd-tile{position:relative;background-image:linear-gradient(180deg,rgba(20,241,149,.05),rgba(20,241,149,0) 140px);box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 22px 44px -30px rgba(20,241,149,.38)}
body.gd-page .gd-card::before,body.gd-page .gd-tile::before{content:"";position:absolute;left:16px;right:16px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(20,241,149,.6),rgba(56,220,255,.45),transparent);opacity:.75;pointer-events:none}
body.gd-page .gd-card:hover,body.gd-page .gd-tile:hover{border-color:rgba(20,241,149,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(20,241,149,.07),0 26px 52px -28px rgba(20,241,149,.55)}
body.gd-page .gd-tile,body.gd-page .gd-card{transition:border-color .25s,box-shadow .25s,transform .25s}
body.gd-page .gd-tile:hover{transform:translateY(-2px)}
body.gd-page .gd-pos{background-image:linear-gradient(180deg,rgba(56,220,255,.045),rgba(56,220,255,0) 120px);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
body.gd-page .gd-chip.good{box-shadow:0 0 14px -4px rgba(20,241,149,.7)}
body.gd-page .gd-tile-v,body.gd-page .gd-num{text-shadow:0 0 18px rgba(20,241,149,.12)}
.gd-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gd-accent);animation:gdPulse 2s infinite}
@media(max-width:560px){.gd-pc-svg .pl{font-size:12px}.gd-pc-svg .tl{font-size:12px}.gd-pc-svg .bt{font-size:12px}.gd-pc-hd{flex-direction:column;align-items:flex-start}}

/* Strategy picker in the Add LP wizard (2026-10-14) */
.gd-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:12px 0}
.gd-preset{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--gd-line);border-radius:12px;background:var(--gd-in);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.gd-preset:hover{border-color:var(--gd-line-2);transform:translateY(-1px)}
.gd-preset.on{border-color:rgba(20,241,149,.55);background:linear-gradient(180deg,rgba(20,241,149,.10),rgba(20,241,149,.02));box-shadow:0 0 0 1px rgba(20,241,149,.12),0 14px 30px -18px rgba(20,241,149,.6)}
.gd-preset:focus-visible{outline:2px solid var(--gd-accent);outline-offset:2px}
.gd-preset-n{font-size:15px;font-weight:700;letter-spacing:.2px}
.gd-preset-s{font-size:12px;color:var(--gd-accent);letter-spacing:.3px}
.gd-preset-b{font-size:13px;color:var(--gd-ink-2);line-height:1.45}

/* Phones (2026-10-14): at 375px the cards read as tiny, so they take the full width and the type steps up. */
@media(max-width:560px){
  .gd-app{padding:10px 10px 96px}
  .gd-rail{margin:0 -10px;padding:8px 10px}
  .gd-card-hd{padding:16px 16px 0}
  .gd-card-b{padding:14px 16px 18px}
  .gd-card-t{font-size:14px}
  .gd-card-meta{font-size:14px}
  .gd-hero{padding:22px 16px}
  .gd-welcome{padding:28px 16px}
  .gd-tile{padding:16px}
  .gd-tile-l{font-size:13px}
  .gd-tile-v{font-size:24px}
  .gd-tile-s{font-size:14px;line-height:1.45}
  .gd-grid4{grid-template-columns:minmax(0,1fr)}
  .gd-note,.gd-lede{font-size:15px;line-height:1.55}
  .gd-prow{padding:14px}
  .gd-prow-n{font-size:17px}
  .gd-prow-s,.gd-pc-why,.gd-pc-px,.gd-sparks{font-size:14px}
  .gd-tp-stat-l{font-size:12px}
  .gd-btn{padding:12px 16px;font-size:15px}
  .gd-chip{font-size:13px;padding:4px 11px}
  .gd-pos{padding:14px}
  .gd-preset{padding:14px 16px}
  .gd-preset-n{font-size:17px}
  .gd-preset-s{font-size:13px}
  .gd-preset-b{font-size:14px}
}
.gd-pos-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gd-pos-hd .gd-prow-n{min-width:0}
.gd-pos-hd{flex-wrap:nowrap;align-items:flex-start}
.gd-pos-hd .gd-btn{flex-shrink:0;padding:8px 16px}
@media(max-width:560px){
  .gd-risk{grid-template-columns:minmax(0,1fr)}
  .gd-risk-opt{padding:14px 16px}
  .gd-seg{display:flex;flex-wrap:wrap}
  .gd-seg button{flex:1 1 auto}
}

/* ══ WILD (2026-10-14): the staking page's night sky, lights, type and colour on the dashboard ═══════════════════════════════════════════════════════════
   Ground: the staking violet-black with the purple, cyan and green glows, plus a fixed starfield that twinkles and drifts and a slow aurora. Cards: glass over that sky, a light that
   travels around the border, tiny twinkling stars inside, and coloured glow. Type: Sora for headings, labels and numbers, JetBrains Mono for the rest, as on the staking page.
   Everything animated stops under prefers-reduced-motion. The travelling light runs on the hero, the welcome card and the first four cards of a view, and on any card you hover. */
@property --gd-ang{syntax:'<angle>';inherits:false;initial-value:40deg}
@keyframes gdLight{to{--gd-ang:400deg}}
@keyframes gdTwinkle{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes gdStars{0%,100%{opacity:.35}50%{opacity:.85}}
@keyframes gdDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-220px,-220px,0)}}
@keyframes gdAurora{0%{transform:translate3d(-3%,-2%,0) scale(1)}100%{transform:translate3d(3%,3%,0) scale(1.14)}}

/* the sky */
body.gd-page::before{content:"";position:fixed;inset:-240px;z-index:0;pointer-events:none;
  background-image:radial-gradient(1.4px 1.4px at 20px 30px,#fff,transparent 60%),radial-gradient(1px 1px at 90px 80px,rgba(255,255,255,.85),transparent 60%),radial-gradient(1.7px 1.7px at 150px 40px,#00ffff,transparent 60%),
    radial-gradient(1.3px 1.3px at 60px 150px,#ff00ff,transparent 60%),radial-gradient(1px 1px at 190px 130px,rgba(255,255,255,.9),transparent 60%),radial-gradient(1.9px 1.9px at 120px 190px,#14F195,transparent 60%);
  background-size:220px 220px;animation:gdStars 5s ease-in-out infinite,gdDrift 120s linear infinite}
body.gd-page::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(46vmax 36vmax at 12% 6%,rgba(188,19,254,.20),transparent 62%),radial-gradient(42vmax 34vmax at 94% 94%,rgba(0,255,255,.14),transparent 62%),radial-gradient(30vmax 24vmax at 50% 52%,rgba(20,241,149,.05),transparent 65%);
  animation:gdAurora 16s ease-in-out infinite alternate}
body.gd-page .gd-app{position:relative;z-index:1}
body.gd-page #gwh-topnav{background:rgba(3,0,13,.97);border-bottom-color:rgba(188,19,254,.22)}
body.gd-page #gwh-botnav{background:rgba(3,0,13,.97);border-top-color:rgba(188,19,254,.22)}
body.gd-page .price-ticker{background:rgba(188,19,254,.05);border-bottom-color:rgba(188,19,254,.16)}

/* type */
body.gd-page .gd-app{font-family:'JetBrains Mono',ui-monospace,'Courier New',monospace;font-size:14px;line-height:1.6}
body.gd-page .gd-num,body.gd-page .gd-mono{font-family:'JetBrains Mono',ui-monospace,monospace}
body.gd-page .gd-h1,body.gd-page .gd-hero-val,body.gd-page .gd-welcome h1,body.gd-page .gd-card-t,body.gd-page .gd-tile-l,body.gd-page .gd-tile-v,body.gd-page .gd-prow-n,
body.gd-page .gd-preset-n,body.gd-page .gd-chip,body.gd-page .gd-btn,body.gd-page .gd-nav-item,body.gd-page .gd-rail-link,body.gd-page .gd-steps li,body.gd-page .gd-tp-stat-l,body.gd-page .gd-lbl{font-family:'Sora',system-ui,sans-serif}
body.gd-page .gd-card-t,body.gd-page .gd-tile-l,body.gd-page .gd-tp-stat-l{letter-spacing:1px;font-weight:700}
body.gd-page .gd-h1,body.gd-page .gd-hero-val,body.gd-page .gd-welcome h1{font-weight:900;letter-spacing:.5px}
body.gd-page .gd-hero-val,body.gd-page .gd-welcome h1{background:linear-gradient(135deg,#fff 0%,#14F195 42%,#00ffff 72%,#bc13fe 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
body.gd-page .gd-tile-v{font-weight:700}

/* the cards: glass over the sky, coloured glow, twinkling stars inside */
body.gd-page .gd-card,body.gd-page .gd-hero,body.gd-page .gd-welcome{position:relative;isolation:isolate;border-color:rgba(188,19,254,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(188,19,254,.07),0 26px 64px -30px rgba(188,19,254,.65),0 0 52px -26px rgba(0,255,255,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
body.gd-page .gd-card{background-image:linear-gradient(180deg,rgba(188,19,254,.09),rgba(188,19,254,0) 170px)}
body.gd-page .gd-card::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;height:auto;border-radius:inherit;pointer-events:none;z-index:-1;opacity:.9;
  background:radial-gradient(1.7px 1.7px at 7% 24%,#fff,transparent 60%),radial-gradient(1.1px 1.1px at 19% 74%,#00ffff,transparent 60%),radial-gradient(1.7px 1.7px at 44% 14%,#ff00ff,transparent 60%),
    radial-gradient(1.1px 1.1px at 62% 82%,#fff,transparent 60%),radial-gradient(2.1px 2.1px at 86% 20%,#14F195,transparent 60%),radial-gradient(1.3px 1.3px at 94% 70%,#fff,transparent 60%),
    radial-gradient(1px 1px at 33% 52%,rgba(0,255,255,.8),transparent 60%),radial-gradient(1.4px 1.4px at 74% 46%,rgba(255,0,255,.8),transparent 60%);
  animation:gdTwinkle 4.2s ease-in-out infinite}
body.gd-page .gd-card:nth-of-type(2n)::before{animation-delay:-1.4s}
body.gd-page .gd-card:nth-of-type(3n)::before{animation-delay:-2.7s;animation-duration:5.4s}

/* the light that travels around the border */
body.gd-page .gd-card::after,body.gd-page .gd-welcome::after,body.gd-page .gd-hero::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:3;
  background:conic-gradient(from var(--gd-ang),transparent 0 56%,rgba(188,19,254,.95) 72%,rgba(255,0,255,.95) 80%,rgba(0,255,255,1) 89%,#fff 91.5%,transparent 95% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
body.gd-page .gd-hero::before,body.gd-page .gd-welcome::after,body.gd-page .gd-card:nth-of-type(-n+4)::after,body.gd-page .gd-card:hover::after{animation:gdLight 8s linear infinite}

/* tiles, chips, buttons, rail */
body.gd-page .gd-tile{background-image:linear-gradient(180deg,rgba(188,19,254,.10),rgba(188,19,254,0) 150px);border-color:rgba(188,19,254,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 48px -30px rgba(188,19,254,.6)}
body.gd-page .gd-tile::before{background:linear-gradient(90deg,transparent,rgba(188,19,254,.8),rgba(0,255,255,.7),transparent);opacity:.9}
body.gd-page .gd-tile:hover,body.gd-page .gd-card:hover{border-color:rgba(0,255,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(0,255,255,.12),0 28px 60px -26px rgba(188,19,254,.75),0 0 60px -22px rgba(0,255,255,.6)}
body.gd-page .gd-btn{border-color:rgba(188,19,254,.4);background:rgba(188,19,254,.07)}
body.gd-page .gd-btn:hover{border-color:rgba(0,255,255,.6);background:rgba(0,255,255,.08)}
body.gd-page .gd-btn.primary{background:linear-gradient(135deg,#14F195,#00ffff);border-color:transparent;color:#02100a;font-weight:800;box-shadow:0 0 26px -4px rgba(20,241,149,.75),0 0 40px -10px rgba(0,255,255,.5)}
body.gd-page .gd-btn.primary:hover{filter:brightness(1.12);box-shadow:0 0 32px -2px rgba(20,241,149,.9),0 0 52px -8px rgba(0,255,255,.7)}
body.gd-page .gd-chip{border-color:rgba(188,19,254,.4);background:rgba(188,19,254,.09)}
body.gd-page .gd-chip.good{border-color:rgba(20,241,149,.5);background:rgba(20,241,149,.09);box-shadow:0 0 16px -4px rgba(20,241,149,.75)}
body.gd-page .gd-chip.warn{box-shadow:0 0 14px -5px rgba(255,204,0,.6)}
body.gd-page .gd-chip.bad{box-shadow:0 0 14px -5px rgba(255,77,109,.6)}
body.gd-page .gd-nav-item{border-color:rgba(188,19,254,.2)}
body.gd-page .gd-nav-item.on{background:linear-gradient(135deg,rgba(188,19,254,.2),rgba(0,255,255,.1));border-color:rgba(0,255,255,.45);color:#fff;box-shadow:0 0 22px -8px rgba(0,255,255,.7)}
body.gd-page .gd-preset{background:rgba(6,2,18,.7);border-color:rgba(188,19,254,.28)}
body.gd-page .gd-preset.on{border-color:rgba(0,255,255,.7);background:linear-gradient(180deg,rgba(0,255,255,.10),rgba(188,19,254,.08));box-shadow:0 0 0 1px rgba(0,255,255,.2),0 14px 36px -16px rgba(0,255,255,.7)}
body.gd-page .gd-preset-s{color:var(--gd-cyan)}
body.gd-page .gd-pos{border-color:rgba(188,19,254,.26);background-image:linear-gradient(180deg,rgba(0,255,255,.05),rgba(0,255,255,0) 130px)}
body.gd-page .gd-pc{border-top-color:rgba(188,19,254,.25)}
body.gd-page .gd-inp,body.gd-page .gd-si-box{border-color:rgba(188,19,254,.32)}
body.gd-page .gd-prow{border-color:rgba(188,19,254,.24)}
body.gd-page .gd-ring{filter:drop-shadow(0 0 18px rgba(188,19,254,.5))}

@media(max-width:560px){
  body.gd-page::before{opacity:.8}
  body.gd-page .gd-card,body.gd-page .gd-hero,body.gd-page .gd-welcome{backdrop-filter:none;-webkit-backdrop-filter:none}   /* the blur is the costly part on a phone; the glass look stays through the translucent fill */
  body.gd-page .gd-card:nth-of-type(-n+4)::after{animation:none}                                               /* on a phone only the hero and the welcome card keep the travelling light, the rest light up when touched */
  body.gd-page .gd-app{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  body.gd-page::before,body.gd-page::after,body.gd-page .gd-card::before,body.gd-page .gd-card::after,body.gd-page .gd-welcome::after,body.gd-page .gd-hero::before{animation:none!important}
}
@media(max-width:1020px){body.gd-page .gd-rail{background:rgba(3,0,13,.94);border-bottom-color:rgba(188,19,254,.24)}}

/* Activity feed: openings and closings read at a glance (2026-10-14) */
.gd-act-item.open .gd-act-msg{color:var(--gd-cyan)}
.gd-act-item.close .gd-act-msg{color:#ff7ad9}
.gd-act-item.open::before,.gd-act-item.close::before,.gd-act-item.earn::before,.gd-act-item.warn::before{content:"";flex:0 0 7px;height:7px;margin-top:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}
.gd-act-item.open::before{color:var(--gd-cyan)}.gd-act-item.close::before{color:#ff7ad9}.gd-act-item.earn::before{color:var(--gd-accent)}.gd-act-item.warn::before{color:var(--gd-gold)}

/* Wider, bigger cards on a desktop screen (2026-10-14): the 1180px column left the cards small on a large monitor, so the page now uses up to 1560px (1760px on a very wide screen) and every card, tile and row steps up. */
@media(min-width:1021px){
  body.gd-page .gd-app{max-width:1560px;padding:28px 32px 64px;font-size:15px}
  .gd-shell{grid-template-columns:250px minmax(0,1fr);gap:32px}
  .gd-card-hd{padding:22px 28px 0}
  .gd-card-b{padding:20px 28px 28px}
  .gd-card-t{font-size:14px}
  .gd-card-meta{font-size:14px}
  .gd-tile{padding:24px 26px}
  .gd-tile-l{font-size:13px}
  .gd-tile-v{font-size:30px}
  .gd-tile-s{font-size:14px;line-height:1.5}
  .gd-hero{padding:36px 40px;grid-template-columns:minmax(0,1fr) 240px;gap:32px}
  .gd-hero-val{font-size:clamp(42px,4.4vw,64px)}
  .gd-hero-sub,.gd-eyebrow{font-size:15px}
  .gd-grid4,.gd-grid3,.gd-grid2{gap:20px}
  .gd-prow{padding:18px 20px}
  .gd-prow-n{font-size:17px}
  .gd-prow-s,.gd-pc-why,.gd-pc-px{font-size:14px}
  .gd-note,.gd-lede{font-size:15px;line-height:1.6}
  .gd-act-item{font-size:15px;padding:13px 4px}
  .gd-btn{padding:12px 20px;font-size:15px}
  .gd-pos{padding:20px 22px}
  .gd-preset{padding:16px 18px}
  .gd-presets{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
  .gd-nav-item{padding:12px 16px;font-size:15px}
  .gd-h1{font-size:28px}
}
@media(min-width:1700px){body.gd-page .gd-app{max-width:1760px}}

/* ── DASHBOARD LAYOUT (2026-10-15): bottom tab bar, Home P&L, Positions stats, Discover lists, More menu ───────────────────────────── */
/* the entrance fade must not use a transform on .gd-app: a transform (even one an animation holds) makes it the containing block of the fixed tab bar */
@keyframes gd-fade{from{opacity:0}to{opacity:1}}
.gd-app{animation-name:gd-fade}
.gd-tabbar{display:none}
.gd-tab{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 1px 7px;border:none;background:none;color:rgba(255,255,255,.46);font-size:clamp(10px,2.8vw,12px);font-weight:600;letter-spacing:0;cursor:pointer;border-top:2px solid transparent;transition:color .2s}
.gd-tab svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gd-tab span{white-space:nowrap}
.gd-tab.on{color:var(--gd-cyan);border-top-color:var(--gd-cyan);background:linear-gradient(180deg,rgba(0,255,255,.13),rgba(0,255,255,0) 80%);text-shadow:0 0 14px rgba(0,255,255,.55)}
.gd-tab-badge{position:absolute;top:3px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 5px;border-radius:99px;background:var(--gd-accent);color:#04120b;font-size:12px;font-weight:800;line-height:17px;text-align:center}
.gd-tab-badge[hidden],.gd-nav-badge[hidden]{display:none}
@media(max-width:1020px){
  .gd-rail{display:none}
  .gd-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9998;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(3,0,13,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(188,19,254,.34);box-shadow:0 -14px 40px -18px rgba(188,19,254,.55)}
  body.gd-page{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
  html body.gd-page nav#gwh-botnav{display:none!important}
  body.gd-page #gwh-toast{bottom:88px}
}

.gd-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:7px 14px 7px 10px;border:1px solid var(--gd-line-2);border-radius:99px;background:rgba(188,19,254,.08);color:var(--gd-ink-2);font-size:14px;font-weight:600;cursor:pointer}
.gd-back svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(180deg)}
.gd-back:hover{color:var(--gd-ink);border-color:var(--gd-cyan)}

.gd-menu{display:flex;flex-direction:column;gap:10px}
.gd-menu-item{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:1px solid var(--gd-line);border-radius:16px;background:var(--gd-card);background-image:linear-gradient(135deg,rgba(188,19,254,.09),rgba(0,255,255,.03));color:var(--gd-ink);text-align:left;text-decoration:none;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.gd-menu-item:hover{border-color:rgba(0,255,255,.5);transform:translateY(-1px);box-shadow:0 18px 40px -26px rgba(0,255,255,.55)}
.gd-menu-item>svg:first-child{width:24px;height:24px;flex-shrink:0;stroke:var(--gd-cyan);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gd-menu-item>svg:last-child{width:17px;height:17px;flex-shrink:0;stroke:var(--gd-ink-3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-left:auto}
.gd-menu-t{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.gd-menu-t b{font-size:17px;font-weight:700;font-family:'Sora',sans-serif}
.gd-menu-t i{font-style:normal;font-size:14px;color:var(--gd-ink-3);line-height:1.4}

.gd-pnl-big{text-align:left}
.gd-pnl-v{font-family:'Sora',sans-serif;font-size:clamp(30px,8vw,46px);font-weight:800;letter-spacing:-1px;line-height:1.05;margin:8px 0 4px}
.gd-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.gd-quick .gd-btn{flex:1 1 130px;justify-content:center;min-height:44px}
.gd-portfolio{padding:2px 0 0}
.gd-portfolio-v{font-family:'Sora',sans-serif;font-size:clamp(30px,8vw,44px);font-weight:800;letter-spacing:-1px;line-height:1.05;margin:8px 0 4px}
.gd-portfolio-v small{font-size:.42em;font-weight:600;color:var(--gd-ink-2);margin-left:6px}
.gd-portfolio-s{font-size:14px;color:var(--gd-ink-2)}
#gd-addlp-stats{margin-bottom:14px}
#gd-addlp-stats>.gd-card{margin-bottom:0}
#gd-addlp-stats .gd-portfolio{padding:18px 20px;border:1px solid var(--gd-line-2);border-radius:18px;background:var(--gd-card);background-image:linear-gradient(135deg,rgba(188,19,254,.16),rgba(0,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 54px -30px rgba(188,19,254,.7)}
.gd-postabs{display:flex;width:100%;margin-bottom:14px}
.gd-postabs button{flex:1 1 0;padding:10px 14px;font-size:15px}
.gd-postabs button.on{background:linear-gradient(135deg,rgba(188,19,254,.3),rgba(0,255,255,.16));color:#fff;box-shadow:0 0 18px -8px rgba(0,255,255,.7)}

/* Discover */
.gd-disc-top{display:flex;width:100%;margin-bottom:14px}
.gd-disc-top button{flex:1 1 0;padding:10px 14px;font-size:15px}
.gd-disc-top button.on{background:linear-gradient(135deg,rgba(188,19,254,.3),rgba(0,255,255,.16));color:#fff;box-shadow:0 0 18px -8px rgba(0,255,255,.7)}
.gd-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 1px 10px;margin:0 -1px}
.gd-chips::-webkit-scrollbar{display:none}
.gd-chips button{flex:0 0 auto;padding:8px 16px;border:1px solid var(--gd-line);border-radius:99px;background:var(--gd-in);color:var(--gd-ink-2);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}
.gd-chips button:hover{border-color:var(--gd-line-2);color:var(--gd-ink)}
.gd-chips button.on{background:linear-gradient(135deg,rgba(188,19,254,.34),rgba(0,255,255,.18));border-color:rgba(0,255,255,.5);color:#fff;box-shadow:0 0 18px -8px rgba(0,255,255,.7)}
.gd-disc-bar{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.gd-disc-bar .gd-chips{flex:1 1 280px;min-width:0}
.gd-disc-bar .gd-seg{margin-bottom:10px}
.gd-mrow{display:grid;grid-template-columns:minmax(0,1fr) 128px auto;gap:6px 18px;align-items:center;padding:14px 16px;margin-bottom:10px;border:1px solid var(--gd-line);border-radius:16px;background:var(--gd-in);transition:border-color .2s,box-shadow .2s}
.gd-mrow:hover{border-color:rgba(0,255,255,.45);box-shadow:0 18px 44px -28px rgba(0,255,255,.55)}
.gd-mrow-main{min-width:0}
.gd-mrow-n{display:inline-block;max-width:100%;font-family:'Sora',sans-serif;font-size:17px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.gd-mrow-n:hover{color:var(--gd-cyan)}
.gd-mrow-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.gd-mrow-chips .gd-chip{font-size:12px;padding:2px 9px}
.gd-mrow-y{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.gd-mrow-y b{font-size:20px;font-weight:700;color:var(--gd-accent);line-height:1.1}
.gd-mrow-y span{font-size:12px;color:var(--gd-ink-3);line-height:1.35}
.gd-mrow-r{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.gd-score{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:99px;border:1px solid var(--gd-line-2);font-size:13px;font-weight:700;color:var(--gd-ink-2);font-family:'JetBrains Mono',ui-monospace,monospace;white-space:nowrap}
.gd-score.good{color:var(--gd-accent);border-color:rgba(20,241,149,.5);background:rgba(20,241,149,.09);box-shadow:0 0 14px -5px rgba(20,241,149,.75)}
.gd-score.warn{color:var(--gd-gold);border-color:rgba(255,204,0,.45);background:rgba(255,204,0,.07)}
.gd-lpbtn{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:38px;padding:0 18px;border:none;border-radius:99px;background:linear-gradient(135deg,#bc13fe,#00c8ff);color:#fff;font-size:15px;font-weight:800;letter-spacing:.6px;cursor:pointer;box-shadow:0 0 22px -6px rgba(0,255,255,.75);transition:filter .2s,transform .2s}
.gd-lpbtn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.gd-lpbtn:disabled{opacity:.35;cursor:not-allowed;filter:grayscale(.6);box-shadow:none;transform:none}
.gd-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px;font-size:14px;color:var(--gd-ink-2)}
.gd-prow .gd-lpbtn{margin-top:8px;height:32px;min-width:48px;font-size:13px;pointer-events:none}
@media(max-width:700px){
  .gd-mrow{grid-template-columns:minmax(0,1fr) auto;padding:16px}
  .gd-mrow-main{grid-column:1/-1}
  .gd-mrow-n{font-size:18px}
  .gd-mrow-y{align-items:flex-start;text-align:left}
  .gd-mrow-y b{font-size:22px}
  .gd-mrow-y span{font-size:13px}
  .gd-lpbtn{height:44px;min-width:64px;font-size:16px}
  .gd-score{font-size:14px;padding:6px 11px}
  .gd-chips button{padding:10px 18px;font-size:15px}
  .gd-menu-item{padding:18px}
}
@media(min-width:1021px){
  .gd-mrow{padding:18px 22px;grid-template-columns:minmax(0,1fr) 150px auto}
  .gd-mrow-n{font-size:17px}
}
#gd-addlp-stats .gd-grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#gd-addlp-stats .gd-tile{padding:14px}
body.gd-page #gd-addlp-stats .gd-tile-l{letter-spacing:.5px;font-size:12px}
@media(min-width:1021px){#gd-addlp-stats .gd-grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.gd-postabs button,.gd-disc-top button{white-space:nowrap;padding:10px 6px}
.gd-about{margin-top:12px;border:1px solid var(--gd-line);border-radius:12px;padding:0 14px;background:var(--gd-in)}
.gd-about summary{cursor:pointer;padding:12px 0;font-size:14px;font-weight:600;color:var(--gd-ink-2)}
.gd-about .gd-note{margin:0 0 12px}

/* ══ PROFESSIONAL PASS (2026-10-22) ═══════════════════════════════════════════════════════════════════════════════════════════════════════════
   One calm dark ground, one accent, Inter for reading, Sora for headings, a mono face only for numbers and addresses. This layer comes last, so it wins over the
   "sky" layer above (stars, travelling border light, rainbow headings, glows). To get the old look back, delete everything from this comment to the end of the file. */
body.gd-page{--gd-ink-2:rgba(255,255,255,.80);--gd-ink-3:rgba(255,255,255,.58);--gd-line:rgba(255,255,255,.09);--gd-line-2:rgba(255,255,255,.17);--gd-card:#0d0b17;--gd-card-2:#131024;--gd-in:#09080f;
  background:#07060d;background-image:radial-gradient(60vmax 36vmax at 8% -6%,rgba(130,70,210,.11),transparent 60%)}
body.gd-page::before{display:none}
body.gd-page::after{background:none;animation:none}
body.gd-page .gd-app{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.gd-page .gd-num,body.gd-page .gd-mono{font-family:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;font-variant-numeric:tabular-nums}
/* headings */
body.gd-page .gd-h1,body.gd-page .gd-welcome h1,body.gd-page .gd-hero-val{font-weight:700;letter-spacing:-.02em}
body.gd-page .gd-h1{font-size:26px}
body.gd-page .gd-hero-val,body.gd-page .gd-welcome h1{background:none;-webkit-text-fill-color:currentColor;color:#fff}
body.gd-page .gd-hero-val{font-size:clamp(34px,4.2vw,52px);line-height:1.08}
body.gd-page .gd-welcome h1{font-size:clamp(28px,4.2vw,42px);line-height:1.15}
body.gd-page .gd-welcome p,body.gd-page .gd-lede{font-family:inherit;font-size:16px;line-height:1.6;color:var(--gd-ink-2)}
/* labels: sentence case, no wide tracking */
body.gd-page .gd-card-t,body.gd-page .gd-tile-l,body.gd-page .gd-tp-stat-l,body.gd-page .gd-mini-l,body.gd-page .gd-ring-t,body.gd-page .gd-lbl{text-transform:none;letter-spacing:0;font-weight:600}
body.gd-page .gd-card-t{font-size:15px;color:var(--gd-ink)}
body.gd-page .gd-tile-l,body.gd-page .gd-mini-l{font-size:13px;color:var(--gd-ink-3)}
body.gd-page .gd-tile-v{font-size:24px;font-weight:700;letter-spacing:-.01em}
body.gd-page .gd-tile-s,body.gd-page .gd-card-meta,body.gd-page .gd-note{font-size:14px;line-height:1.5;color:var(--gd-ink-3)}
body.gd-page .gd-mini-v{font-size:17px}
/* cards, tiles, hero: flat surface, hairline border, no glow, no travelling light, no stars */
body.gd-page .gd-card,body.gd-page .gd-hero,body.gd-page .gd-welcome,body.gd-page .gd-tile,body.gd-page .gd-pos,body.gd-page .gd-prow,body.gd-page .gd-preset,body.gd-page .gd-step{
  background-image:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--gd-line)}
body.gd-page .gd-card,body.gd-page .gd-tile{background-color:var(--gd-card)}
body.gd-page .gd-hero,body.gd-page .gd-welcome{background-color:var(--gd-card);background-image:radial-gradient(70% 140% at 100% 0%,color-mix(in srgb,var(--gd-color) 10%,transparent),transparent 65%)}
body.gd-page .gd-card::before,body.gd-page .gd-card::after,body.gd-page .gd-hero::before,body.gd-page .gd-hero::after,body.gd-page .gd-welcome::before,body.gd-page .gd-welcome::after,body.gd-page .gd-tile::before{content:none;display:none;animation:none}
body.gd-page .gd-tile:hover,body.gd-page .gd-card:hover,body.gd-page .gd-prow:hover{border-color:var(--gd-line-2);box-shadow:none}
body.gd-page .gd-card{border-radius:14px}
body.gd-page .gd-step.cur{box-shadow:none}
body.gd-page .gd-ring,body.gd-page .gd-ring .prg{filter:none}
/* chips, buttons, rail: quiet */
body.gd-page .gd-chip,body.gd-page .gd-chip.good,body.gd-page .gd-chip.warn,body.gd-page .gd-chip.bad{box-shadow:none;letter-spacing:0;font-size:13px;padding:3px 11px}
body.gd-page .gd-chip{border-color:var(--gd-line-2);background:rgba(255,255,255,.04)}
body.gd-page .gd-btn{border-color:var(--gd-line-2);background:rgba(255,255,255,.045);font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:15px;min-height:44px;border-radius:10px}
body.gd-page .gd-btn:hover{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.08)}
body.gd-page .gd-btn.primary{background:var(--gd-accent);border-color:var(--gd-accent);color:#04120b;box-shadow:none;font-weight:700}
body.gd-page .gd-btn.primary:hover{filter:brightness(1.07);box-shadow:none}
body.gd-page .gd-nav-item{font-family:'Inter',system-ui,sans-serif;font-size:15px;font-weight:500;border-color:transparent;min-height:44px}
body.gd-page .gd-nav-item.on{background:rgba(20,241,149,.10);border-color:rgba(20,241,149,.28);color:var(--gd-accent);box-shadow:none}
body.gd-page .gd-rail-link{font-family:'Inter',system-ui,sans-serif;font-size:14px;font-weight:600;border-color:var(--gd-line)}
body.gd-page .gd-preset.on{border-color:var(--gd-accent);background:rgba(20,241,149,.07);box-shadow:none}
body.gd-page .gd-preset-n{font-size:15px;font-weight:600}
body.gd-page .gd-preset-s{color:var(--gd-ink-3)}
body.gd-page .gd-inp,body.gd-page .gd-si-box{border-color:var(--gd-line-2)}
body.gd-page .gd-dot.on{box-shadow:none}
.gd-act-item.open::before,.gd-act-item.close::before,.gd-act-item.earn::before,.gd-act-item.warn::before{box-shadow:none}
/* text that sat in the mono face because the whole app did */
body.gd-page .gd-act,body.gd-page .gd-act *,body.gd-page .gd-empty,body.gd-page .gd-about,body.gd-page .gd-prow-s,body.gd-page .gd-pc-why{font-family:'Inter',system-ui,sans-serif}
/* the top bar, ticker and footer belong to every page: same calm treatment here */
body.gd-page .price-ticker{background:rgba(255,255,255,.025);border-bottom-color:var(--gd-line)}
body.gd-page #gwh-topnav,body.gd-page #gwh-botnav{background:rgba(7,6,13,.97);border-color:var(--gd-line)}
/* size and spacing on a desktop screen */
@media(min-width:1021px){
  body.gd-page .gd-app{max-width:1360px;padding:32px 32px 72px;font-size:15px}
  .gd-shell{grid-template-columns:232px minmax(0,1fr);gap:36px}
  .gd-card-hd{padding:20px 24px 0}
  .gd-card-b{padding:16px 24px 24px}
  .gd-card-t{font-size:15px}
  .gd-tile{padding:20px 22px}
  .gd-tile-l{font-size:13px}
  .gd-tile-v{font-size:26px}
  .gd-tile-s,.gd-card-meta,.gd-prow-s,.gd-pc-why,.gd-pc-px{font-size:14px}
  .gd-hero{padding:32px 36px}
  .gd-hero-sub,.gd-eyebrow{font-size:15px}
  .gd-grid4,.gd-grid3,.gd-grid2{gap:18px}
  .gd-prow{padding:16px 18px}
  .gd-prow-n{font-size:16px}
  .gd-btn{padding:11px 20px;font-size:15px}
  .gd-pos{padding:20px 22px}
  .gd-nav-item{padding:11px 14px;font-size:15px}
  .gd-h1{font-size:28px}
}
@media(min-width:1700px){body.gd-page .gd-app{max-width:1480px}}
/* size and spacing on a phone: one column, thumbs first, nothing under 12px, buttons at least 44px tall */
@media(max-width:720px){
  body.gd-page .gd-app{padding:16px 14px 40px;font-size:15px}
  body.gd-page .gd-h1{font-size:22px}
  body.gd-page .gd-welcome{padding:26px 18px}
  body.gd-page .gd-welcome h1{font-size:28px}
  body.gd-page .gd-hero{padding:22px 18px;grid-template-columns:minmax(0,1fr)}
  body.gd-page .gd-hero-val{font-size:34px}
  body.gd-page .gd-card-hd{padding:16px 16px 0}
  body.gd-page .gd-card-b{padding:14px 16px 18px}
  body.gd-page .gd-tile{padding:16px}
  body.gd-page .gd-tile-v{font-size:22px}
  body.gd-page .gd-grid4,body.gd-page .gd-grid3{gap:12px}
  body.gd-page .gd-btn{width:100%}
  body.gd-page .gd-chip{font-size:13px}
  body.gd-page .gd-act-item{font-size:14px}
}
/* six tiers now (T0 to T5): the path is six across on a desktop, three on a tablet, two on a phone; and the phone-wide rules in gwh-mobile.css (every link a flex row, every section padded 36px 5%) must not squash the cards */
body.gd-page .gd-path{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1020px){body.gd-page .gd-path{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){body.gd-page .gd-path{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1020px){
  body.gd-page section.gd-view{padding:0!important}
  body.gd-page a.gd-act{display:block!important;min-height:0!important}
  body.gd-page .gd-card-hd{flex-wrap:wrap;row-gap:4px}
  body.gd-page .gd-hero-row{gap:18px 26px}
}
@media(max-width:1020px){body.gd-page .gd-app section,body.gd-page .gd-app [class$="section"]{padding:0!important}body.gd-page .gd-app section.gd-card .gd-card-b,body.gd-page .gd-app section.gd-card .gd-card-hd{padding-left:16px;padding-right:16px}}
/* gwh-mobile.css gives every .gd-card a purple border, blur and 18px/16px padding with !important on a phone; the dashboard keeps its own card (padding lives in the header and body) */
@media(max-width:1020px){body.gd-page .gd-card{padding:0!important;background:var(--gd-card)!important;border:1px solid var(--gd-line)!important;border-radius:14px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}

/* ── POOL BRIEF, STRATEGY LIBRARY, LP LEADERBOARD (2026-10-26) ───────────────────────────────────────────────────────────── */
.gd-brieflink{display:inline-block;margin-left:8px;font-size:12px;font-weight:600;color:var(--gd-cyan);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gd-brieflink:hover{color:var(--gd-ink)}
.gd-brief{height:38px;padding:0 14px;font-size:13px;margin-right:6px}
body.gpb-lock{overflow:hidden}
.gpb-root:empty{display:none}
.gpb-ov{position:fixed;inset:0;background:rgba(3,0,13,.66);backdrop-filter:blur(2px);z-index:9000;animation:gpbfade .18s ease}
.gpb{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);z-index:9001;display:flex;flex-direction:column;background:var(--gd-bg,#03000d);border-left:1px solid var(--gd-line-2);box-shadow:-18px 0 50px rgba(0,0,0,.5);animation:gpbslide .22s ease;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--gd-ink,#fff)}
.gpb-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--gd-line)}
.gpb-title{font-family:'Sora',sans-serif;font-size:21px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.gpb-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.gpb-x{flex-shrink:0;width:38px;height:38px;border-radius:10px;border:1px solid var(--gd-line-2);background:rgba(255,255,255,.04);color:var(--gd-ink);font-size:22px;line-height:1;cursor:pointer}
.gpb-x:hover{background:rgba(255,255,255,.1)}
.gpb-body{flex:1;overflow-y:auto;padding:14px 18px 8px;overscroll-behavior:contain}
.gpb-ft{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--gd-line);background:rgba(10,5,24,.96)}
.gpb-ft .gd-btn{flex:1}
.gpb-ft .gd-btn.primary{flex:1.6}
.gpb-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:6px}
.gpb-sec{margin-top:16px}
.gpb-sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--gd-ink-3)}
.gpb-sec-h em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;color:var(--gd-ink-3);font-size:12px}
.gpb-chartwrap{border:1px solid var(--gd-line);border-radius:14px;background:var(--gd-card);padding:6px;overflow:hidden}
.gpb-svg{display:block;width:100%;height:230px;touch-action:pan-y}
.gpb-tip{min-height:20px;margin-top:8px;font-size:13px;color:var(--gd-ink-2);overflow-wrap:anywhere}
.gpb-tbl{width:100%;border-collapse:collapse;font-size:13px}
.gpb-tbl th{font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--gd-ink-3);text-align:right;padding:6px 6px;border-bottom:1px solid var(--gd-line)}
.gpb-tbl th:first-child,.gpb-tbl td:first-child{text-align:left}
.gpb-tbl td{text-align:right;padding:7px 6px;border-bottom:1px solid rgba(255,255,255,.05)}
.gpb-mix{display:flex;height:12px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.06)}
.gpb-mix i{display:block;background:linear-gradient(90deg,#bc13fe,#7a3cff)}
.gpb-mix i.y{background:linear-gradient(90deg,#14F195,#00c8ff)}
.gpb-mixl{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px;color:var(--gd-ink-2);line-height:1.45}
.gpb-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gpb-kv>div{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border:1px solid var(--gd-line);border-radius:12px;background:var(--gd-card)}
.gpb-kv span{font-size:12px;color:var(--gd-ink-3)}
.gpb-kv b{font-size:15px;font-weight:600}
@keyframes gpbslide{from{transform:translateX(30px);opacity:.4}to{transform:none;opacity:1}}
@keyframes gpbfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.gpb,.gpb-ov{animation:none}}
@media (max-width:620px){.gpb{width:100vw}.gpb-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.gpb-tbl th:nth-child(2),.gpb-tbl td:nth-child(2){display:none}}

.gst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-top:12px}
.gst-card{display:flex;flex-direction:column;gap:8px;padding:14px 15px;border:1px solid var(--gd-line);border-radius:16px;background:var(--gd-card);transition:border-color .2s}
.gst-card:hover{border-color:var(--gd-line-2)}
.gst-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gst-hd b{font-family:'Sora',sans-serif;font-size:18px}
.gst-spec{font-size:12.5px;color:var(--gd-ink-2);line-height:1.5}
.gst-blurb{font-size:13.5px;color:var(--gd-ink-2);margin:0;line-height:1.5}
.gst-fit{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border-radius:12px;border:1px dashed var(--gd-line-2);background:rgba(255,255,255,.02)}
.gst-fit.ok{border-style:solid;border-color:rgba(20,241,149,.3);background:rgba(20,241,149,.05)}
.gst-fit span{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--gd-ink-3)}
.gst-fit b{font-size:15px}
.gst-fit i{font-style:normal;font-size:12.5px;color:var(--gd-ink-2)}
.gst-fit em{font-style:normal;font-size:12px;color:var(--gd-ink-3)}
.gst-act{display:flex;gap:8px;margin-top:auto;padding-top:4px}
.gst-act .gd-btn{flex:1}
.gst-act .gd-btn.primary{flex:1.5}

.glb-row{margin-top:10px;padding:12px 13px;border:1px solid var(--gd-line);border-radius:14px;background:var(--gd-card)}
.glb-row.on{border-color:var(--gd-line-2)}
.glb-top{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.glb-rank{min-width:34px;font-size:14px;font-weight:700;color:var(--gd-ink-3);padding-top:2px}
.glb-id{font-size:16px;font-weight:700;letter-spacing:.3px}
.glb-nums{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap}
.glb-nums>div{display:flex;flex-direction:column;align-items:flex-end;min-width:68px}
.glb-nums span{font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--gd-ink-3)}
.glb-nums b{font-size:15px}
.glb-nums i{font-style:normal;font-size:12px;color:var(--gd-ink-3)}
.glb-bot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
.glb-open{margin-top:10px;border-top:1px solid var(--gd-line);padding-top:6px}
.glb-orow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.glb-obtn{display:flex;gap:6px;flex-shrink:0}
@media (max-width:620px){.glb-nums{margin-left:0;width:100%;justify-content:space-between}.glb-nums>div{align-items:flex-start}}

/* 2026-10-27 POOL LIVE: the live pool card shown from the strategy step on (gwh-pool-live.js) */
.gpl{margin-bottom:14px}
.gpl-live{display:inline-flex;align-items:center;gap:5px;margin-left:8px;font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--gd-accent);vertical-align:middle}
.gpl-live i{width:7px;height:7px;border-radius:50%;background:var(--gd-accent);animation:gplpulse 1.6s ease-in-out infinite}
@keyframes gplpulse{0%,100%{opacity:1}50%{opacity:.25}}
.gpl-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.gpl-tile{background:rgba(255,255,255,.03);border:1px solid var(--gd-line);border-radius:12px;padding:9px 11px;min-width:0}
.gpl-tile-l{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--gd-ink-3)}
.gpl-tile-v{font-size:17px;font-weight:700;margin-top:4px;overflow-wrap:anywhere}
.gpl-tile-v small{font-size:11px;font-weight:500;color:var(--gd-ink-3)}
.gpl-tile-s{font-size:11px;color:var(--gd-ink-3);margin-top:2px}
.gpl-sec{margin-top:12px}
.gpl-sec-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--gd-ink-2)}
.gpl-chart{background:rgba(255,255,255,.02);border:1px solid var(--gd-line);border-radius:12px;overflow:hidden}
.gpl-svg{display:block;width:100%;height:150px}
.gpl-tip{font-size:12px;color:var(--gd-ink-3);margin-top:6px;min-height:18px}
.gpl-ill{margin-top:10px;font-size:13px;line-height:1.5;color:var(--gd-ink-2)}
.gpl-hints{margin-top:10px;display:grid;gap:6px}
.gpl-hint{font-size:13px;line-height:1.45;padding:8px 10px;border-radius:10px;border-left:3px solid var(--gd-line-2,#444);background:rgba(255,255,255,.03)}
.gpl-hint.good{border-left-color:var(--gd-accent)}
.gpl-hint.warn{border-left-color:#f5b942;background:rgba(245,185,66,.07)}
@media (max-width:560px){.gpl-tile-v{font-size:15px}.gpl-svg{height:130px}}
/* strategy preview: the price chart with the range, the nine shape pictures and the selected shape (gwh-shapes.js, 2026-10-28) */
.gsh-wrap{margin:0 0 18px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01))}
.gsh-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.gsh-unit{font-size:12px;opacity:.6}
.gsh-chartbox{border-radius:10px;overflow:hidden;background:rgba(0,0,0,.18)}
.gsh-chart{display:block;width:100%;height:200px}
.gsh-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;opacity:.75;margin:8px 2px 12px}
.gsh-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.gsh-legend i.dash{background:none;border-top:2px dashed #e8f3ee;height:0;width:14px;border-radius:0}
.gsh-grid{display:grid;gap:12px}
.gsh-rl{font-size:12px;font-weight:700;letter-spacing:.4px;opacity:.8;margin-bottom:6px}
.gsh-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gsh-tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:inherit;cursor:pointer;text-align:left;font:inherit}
.gsh-tile:hover{border-color:rgba(255,255,255,.28)}
.gsh-tile.sel{border-color:var(--gd-accent,#14F195);box-shadow:0 0 0 1px var(--gd-accent,#14F195) inset;background:rgba(20,241,149,.07)}
.gsh-tile .gsh-svg.mini{width:100%;height:52px;display:block}
.gsh-tl{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.gsh-res{font-size:11px;opacity:.8}
.gsh-res.up{color:var(--gd-accent,#14F195)}
.gsh-res.dn{color:#ff7a8a}
.gsh-hv{position:absolute;top:-8px;right:8px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--gd-accent,#14F195);color:#06140f}
.gsh-sel{margin-top:14px;padding:12px;border-radius:12px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08)}
.gsh-sel-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;font-size:13px;margin-bottom:8px}
.gsh-sel-h span{opacity:.7;font-size:12px}
.gsh-svg{display:block;width:100%;height:150px}
.gsh-txt p{margin:8px 0 0;font-size:13px;line-height:1.55;opacity:.85}
@media (max-width:520px){.gsh-chart{height:160px}.gsh-svg{height:120px}.gsh-cells{gap:6px}.gsh-tile{padding:6px}}
