:root{
  --ink:#0D0B09; --panel:#15110E; --panel2:#1B1611; --line:#2B241D;
  --bone:#F4EEE3; --dim:#A79E93; --faint:#6F665B;
  --ember:#FF4A1F; --amber:#FFB03A; --up:#5FD68A; --dn:#FF6B5E;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --sans:Inter,Geist,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html{scrollbar-color:#3a3128 var(--ink)}
body{background:radial-gradient(700px 280px at 95% -5%,rgba(255,74,31,.10),transparent 60%),var(--ink);color:var(--bone);font-family:var(--sans);min-height:100vh}
button{font-family:var(--sans);cursor:pointer}
input{font-family:var(--sans)}
.mono{font-family:var(--mono)}
.up{color:var(--up)} .dn{color:var(--dn)} .dim{color:var(--dim)}
#app{max-width:480px;margin:0 auto;position:relative;min-height:100vh}
#sidebar{display:none}
#main{padding-bottom:96px}

/* header */
#topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;padding:12px 16px 10px;background:rgba(13,11,9,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px}
.mark{width:40px;height:40px;border-radius:11px;background:var(--panel2);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex:none}
.wordmark{font-weight:800;font-size:18.5px;letter-spacing:.5px;line-height:1}
.wordmark b{color:var(--ember)}
.wordmark-wrap{display:flex;flex-direction:column;gap:3px}
.wordmark-sub{font-size:9.5px;color:var(--dim);letter-spacing:1.6px;font-weight:600}
.head-search{display:none}
.pill{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 12px;font-size:11.5px;color:var(--dim)}
.pill b{color:var(--up);font-family:var(--mono);font-weight:600}
.api-pill{display:none;margin-left:auto}
.wallet-btn{margin-left:auto;background:var(--panel2);color:var(--bone);border:1px solid var(--line);border-radius:11px;padding:10px 14px;font-weight:700;font-size:13px;font-family:var(--mono);white-space:nowrap}
.wallet-btn.connected{border-color:rgba(95,214,138,.45)}
.wallet-btn .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--up);margin-right:7px;vertical-align:1px}

/* views */
.view{display:none;padding:0 16px}
.view.on{display:block;animation:fade .18s ease-out}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* index */
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 2px 12px;border-bottom:1px solid var(--line)}
.stat{display:flex;flex-direction:column;gap:4px;min-width:0}
.stat .k{font-size:9.5px;color:var(--faint);letter-spacing:1.2px;font-weight:700}
.stat .v{font-family:var(--mono);font-size:15.5px;font-weight:600;white-space:nowrap;overflow:hidden}
.search-row{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 13px;margin:14px 0 4px}
.search-row input{flex:1;background:none;border:0;outline:0;color:var(--bone);font-size:13.5px;padding:13px 0;min-width:0}
.search-row input::placeholder{color:var(--faint)}
.tabs{display:flex;gap:7px;padding:12px 0 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tabs button{white-space:nowrap;background:rgba(244,238,227,.04);color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-size:11.5px;font-weight:700;letter-spacing:.6px;min-height:40px}
.tabs button.on{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.auto-strip{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:9px 1px 2px;font-size:10.5px;font-weight:800;letter-spacing:.8px;color:var(--amber)}
.auto-strip .auto-src{color:var(--faint);font-weight:600;letter-spacing:.4px;text-align:right}
.thead{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:10px 1px 7px;font-size:9.5px;color:var(--faint);letter-spacing:1.2px;font-weight:700;border-bottom:1px solid var(--line)}
.thead .th-right{text-align:right}
.tok{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;padding:12px 1px;border-bottom:1px solid rgba(244,238,227,.05);cursor:pointer;transition:background .18s ease}
.tok:active{background:rgba(244,238,227,.03)}
.tok.sel{background:rgba(255,74,31,.05);box-shadow:inset 2px 0 0 var(--ember)}
.tok .num{transition:color .3s ease}
.tok .num.tickup{color:var(--up)} .tok .num.tickdn{color:var(--dn)}
/* skeleton shimmer (first load only, layout-sized so nothing shifts) */
.sk{border-radius:8px;background:linear-gradient(100deg,rgba(244,238,227,.05) 40%,rgba(244,238,227,.11) 50%,rgba(244,238,227,.05) 60%);background-size:200% 100%;animation:shimmer 1.25s linear infinite}
@keyframes shimmer{from{background-position:180% 0}to{background-position:-20% 0}}
.sk-row{cursor:default;pointer-events:none}
.sk-circ{width:44px;height:44px;border-radius:50%}
.sk-line{height:12px;margin:5px 0}
.sk-line.w60{width:60%} .sk-line.w40{width:40%} .sk-line.w70{width:70px} .sk-line.w50{width:50px}
.sk-line.r{margin-left:auto}
.chart-box.loading{position:relative}
.chart-box.loading::after{content:"";position:absolute;inset:0;border-radius:10px;background:linear-gradient(100deg,rgba(244,238,227,.03) 40%,rgba(244,238,227,.08) 50%,rgba(244,238,227,.03) 60%);background-size:200% 100%;animation:shimmer 1.25s linear infinite;pointer-events:none}
/* watch star on rows + header */
.star-btn{background:none;border:0;padding:0;width:34px;height:34px;margin:-8px -4px -8px 0;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:var(--faint)}
.star-btn svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.star-btn.on{color:var(--amber)}
.star-btn.on svg{fill:var(--amber);stroke:var(--amber)}
.wb-star{display:inline-flex;margin-right:6px;vertical-align:-2px;color:inherit}
.wb-star svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;width:13px;height:13px}
.wb-star.on svg{fill:var(--amber);stroke:var(--amber)}
.pos-row .star-btn{margin:0;flex:none}
.empty-act{margin-top:12px;background:var(--panel2);border:1px solid var(--line);color:var(--bone);border-radius:11px;padding:11px 20px;font-size:13px;font-weight:700;min-height:44px}
.empty-act:active{background:var(--ember);color:#fff}
.inline-retry{background:none;border:1px solid var(--line);color:var(--amber);border-radius:7px;padding:4px 10px;font-size:11px;font-weight:700;margin-left:6px}
.av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#171208;flex:none}
.sym{font-weight:800;font-size:15.5px;letter-spacing:.2px}
.sub{color:var(--dim);font-size:11.5px;margin-top:3px}
.sub .verd{font-weight:800;font-size:10.5px;letter-spacing:.4px}
.verd.low{color:var(--up)} .verd.rev{color:var(--amber)} .verd.high{color:var(--dn)}
.num{font-family:var(--mono);font-size:13px;text-align:right;font-weight:600}
.chg{font-family:var(--mono);font-size:12px;text-align:right;margin-top:3px;font-weight:700}
.qb{display:flex;gap:5px;margin-top:7px;justify-content:flex-end}
.qb button{background:var(--panel2);border:1px solid var(--line);color:var(--bone);border-radius:8px;padding:7px 0;width:42px;min-height:40px;font-family:var(--mono);font-size:11.5px}
.qb button.sel{background:var(--bone);color:var(--ink);font-weight:700;border-color:var(--bone)}
.qb button:active{background:var(--ember);color:#fff}
.qb button:disabled{opacity:.32;cursor:not-allowed}
.feed-foot{padding:13px 1px 4px;font-size:12px;color:var(--dim);line-height:1.55}
.feed-note{color:var(--faint);font-size:11.5px}
.empty{padding:26px 6px;color:var(--dim);font-size:13.5px;line-height:1.6}

/* panels + tags */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px}
.tag{font-size:10px;font-weight:800;letter-spacing:.7px;border-radius:999px;padding:4px 10px;white-space:nowrap}
.tag.low{background:rgba(95,214,138,.13);color:var(--up)}
.tag.rev{background:rgba(255,176,58,.14);color:var(--amber)}
.tag.high{background:rgba(255,107,94,.14);color:var(--dn)}

/* token */
.tk-top{display:flex;align-items:center;gap:11px;padding:16px 0 4px}
.back-btn{background:var(--panel2);border:1px solid var(--line);border-radius:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex:none}
.tk-sym{font-size:19px;font-weight:800;letter-spacing:.3px}
.watch-btn{margin-left:auto;background:none;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:7px 13px;font-size:12px;font-weight:700;min-height:40px}
.tk-actions #alertBtn{margin-left:auto}
.tk-actions{display:flex;gap:8px;align-items:center;padding:8px 0 0 49px}
.ca-chip{display:inline-flex;align-items:center;gap:7px;background:var(--panel2);border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:8px 13px;font-size:11.5px;min-height:36px}
.ca-chip:active{color:var(--bone);border-color:var(--ember)}
.share-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700;min-height:36px}
.share-btn:active{color:var(--bone);border-color:var(--ember)}
@media (max-width:1099px){ .tk-actions{padding-left:0} }
.watch-btn.on{color:var(--amber);border-color:rgba(255,176,58,.5)}
.tk-venue{color:var(--dim);font-size:12.5px;padding:2px 0 0 49px}
.tk-price-row{display:flex;align-items:baseline;gap:12px;padding:10px 0 0 49px}
.tk-price{font-family:var(--mono);font-size:29px;font-weight:600}
.tk-change{font-family:var(--mono);font-size:15px;font-weight:700}
.tk-sub{color:var(--dim);font-size:12px;font-family:var(--mono);padding:5px 0 12px 49px}
.chart-wrap{padding:12px 12px 6px;margin-bottom:6px}
.chart-wrap canvas,.desk-chart canvas{width:100%;display:block}
.chart-meta{display:flex;gap:16px;padding:7px 2px 4px;font-family:var(--mono);font-size:11px;color:var(--faint)}
.chart-meta .cm.on{color:var(--ember);font-weight:700}
.chart-meta .cm-dip{margin-left:auto;color:var(--dim)}
.hold-strip{display:flex;justify-content:space-between;gap:10px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:13px;margin:8px 0 2px}
.hold-strip .avg{color:var(--dim);font-family:var(--mono);font-size:12px}
.sec-title{font-size:10.5px;letter-spacing:1.5px;color:var(--faint);font-weight:800;padding:18px 1px 9px}
.sec-title.big{font-size:13px;color:var(--bone);letter-spacing:1.2px;padding-top:20px}
.sec-title.row{display:flex;justify-content:space-between;align-items:baseline}
.sec-right{color:var(--dim);letter-spacing:.6px;font-size:10.5px}
.foot{padding:6px 14px}
.foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.foot-toggle{background:none;border:0;color:var(--amber);font-size:12.5px;font-weight:700;padding:11px 0 4px;min-height:40px}
.foot-help{padding:2px 0 8px}
.foot-help summary{color:var(--dim);font-size:12.5px;font-weight:700;cursor:pointer;padding:6px 0;list-style:none}
.foot-help summary::-webkit-details-marker{display:none}
.foot-help p{color:var(--faint);font-size:12px;line-height:1.6;padding:2px 0 4px}
/* swap settings (progressive disclosure) */
.set-row{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;border-top:1px dashed rgba(244,238,227,.07);color:var(--dim);font-size:12.5px;font-weight:700;padding:12px 1px 4px;min-height:44px;text-align:left}
.set-row .set-vals{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--faint);font-weight:600}
.set-row svg{transition:transform .18s ease}
.set-row.open svg{transform:rotate(180deg)}
.set-wrap{animation:fade .18s ease-out}
.fkv{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed rgba(244,238,227,.07);font-size:12.5px}
.fkv span{color:var(--dim)} .fkv b{font-family:var(--mono);font-weight:600;text-align:right}
.fkv b.warn{color:var(--amber)} .fkv b.bad{color:var(--dn)} .fkv b.nodata{color:var(--faint);font-family:var(--sans);font-style:italic;font-weight:500}
.foot-verdict{display:flex;justify-content:space-between;padding:9px 0 7px;font-size:12.5px}
.foot-verdict span{color:var(--dim)}
.amt-row{display:flex;gap:7px;align-items:stretch}
.amt-row button{flex:1;background:rgba(244,238,227,.04);border:1px solid var(--line);color:var(--bone);border-radius:11px;padding:12px 0;font-family:var(--mono);font-size:14px}
.amt-row button.on{background:var(--bone);color:var(--ink);font-weight:700;border-color:var(--bone)}
.amt-row input{flex:1;min-width:0;background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:11px;color:var(--bone);padding:12px 10px;font-family:var(--mono);font-size:13px;outline:0}
.amt-row .amt-unit{align-self:center;color:var(--dim);font-family:var(--mono);font-size:12.5px;padding:0 2px}
.routes{display:flex;flex-direction:column;gap:8px}
.route{border:1px solid var(--line);border-radius:13px;padding:11px 13px;background:rgba(0,0,0,.25)}
.route.best{border:1.5px solid transparent;background:linear-gradient(rgba(24,16,10,.96),rgba(24,16,10,.96)) padding-box,linear-gradient(90deg,var(--ember),var(--amber)) border-box;box-shadow:0 8px 24px rgba(255,74,31,.14)}
.route.lose{opacity:.55}
.route.unavail{opacity:.75;border-style:dashed;color:var(--dim);font-size:12.5px;display:flex;justify-content:space-between;gap:8px}
.rrow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rwho{font-weight:700;font-size:13.5px}
.rms{font-family:var(--mono);font-size:11px;color:var(--faint)}
.rout{font-family:var(--mono);font-size:14.5px}
.redge{font-family:var(--mono);font-size:11.5px;font-weight:700}
.best-tag{font-size:9.5px;font-weight:800;letter-spacing:.6px;color:#241300;background:linear-gradient(90deg,var(--amber),#FFD88A);border-radius:999px;padding:3px 9px}
.cost{padding:10px 1px 2px}
.kv{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px dashed rgba(244,238,227,.07)}
.kv span{color:var(--dim)} .kv b{font-family:var(--mono);font-weight:600}
.buy-btn{width:100%;background:var(--ember);color:#fff;border:0;border-radius:13px;padding:14px;font-size:15px;font-weight:800;margin-top:12px;transition:transform .12s}
.buy-btn:active{transform:scale(.98)}
.buy-btn.big{padding:16px;font-size:15.5px}
.buy-btn:disabled{opacity:.45}
.pending-note{margin-top:11px;border:1px solid rgba(255,176,58,.45);background:rgba(255,176,58,.08);color:var(--amber);border-radius:12px;padding:12px 13px;font-size:13px;line-height:1.55;font-weight:600}
.tk-note{color:var(--faint);font-size:11.5px;line-height:1.55;padding:11px 1px 0}

/* pnl */
.pnl-total{font-family:var(--mono);font-size:27px;font-weight:600;padding:2px 0 4px}
.pnl-card{padding:15px 16px;margin-bottom:12px}
.pos-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed rgba(244,238,227,.07);cursor:pointer}
.pos-row .ps{font-weight:800;font-size:14px}
.pos-row .pq{color:var(--dim);font-size:11.5px;font-family:var(--mono);margin-top:2px}
.pos-row .pv{text-align:right;font-family:var(--mono);font-size:13px}
.share-card{border-radius:18px;padding:18px;background:radial-gradient(320px 160px at 92% 0%,rgba(255,176,58,.20),transparent 60%),linear-gradient(160deg,#1C1410,#0D0B09);border:1px solid var(--line);margin-top:14px}
.share-card .sc-pct{font-family:var(--mono);font-size:34px;margin-top:10px}
.share-card .sc-meta{color:var(--dim);font-size:12.5px;margin-top:6px;line-height:1.55}

/* watch */
.alerts{padding:6px 16px 12px;margin-bottom:10px}
.alert-note{color:var(--faint);font-size:12px;line-height:1.55;padding-top:10px}

/* desktop swap panel (inside index, wide screens only) */
.swap-col{display:none}
.desk-chart{display:none;margin-top:14px;padding:13px 14px 8px}
.dc-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;font-size:13px;letter-spacing:.5px;padding-bottom:6px}
.dc-price{font-family:var(--mono);font-size:12.5px;color:var(--up)}
.sp-head{display:flex;justify-content:space-between;align-items:center}
.sp-k{font-size:10.5px;letter-spacing:1.5px;color:var(--faint);font-weight:800}
.sp-sym{font-size:19px;font-weight:800;padding-top:7px}
.sp-yourow{display:flex;justify-content:space-between;color:var(--dim);font-size:12px;padding:9px 0 7px}
.sp-best-note{color:var(--dim);font-size:12px;padding:11px 0 7px}
.auto-line{color:var(--amber);font-size:12px;font-weight:700;text-align:center;padding:11px 0 0}
.sp-foot{color:var(--faint);font-size:11.5px;text-align:center;padding:11px 0 2px;line-height:1.5}

/* bottom nav */
#bottomnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;justify-content:space-around;background:rgba(11,8,6,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:9px 4px calc(9px + env(safe-area-inset-bottom));z-index:50}
#bottomnav button{background:none;border:0;color:var(--faint);font-size:10px;font-weight:800;letter-spacing:1.1px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:3px 12px;position:relative}
#bottomnav button.on{color:var(--ember)}
#bottomnav button.on::before{content:"";position:absolute;top:-10px;left:22%;right:22%;height:2.5px;background:var(--ember);border-radius:2px}

.toast{position:fixed;top:14px;left:50%;transform:translateX(-50%);background:var(--bone);color:var(--ink);font-weight:700;font-size:13.5px;border-radius:999px;padding:11px 19px;z-index:80;display:none;box-shadow:0 12px 32px rgba(0,0,0,.55);max-width:92vw;text-align:center}

/* desktop terminal layout */
@media (min-width:1100px){
  #app{max-width:none;display:grid;grid-template-columns:228px 1fr;min-height:100vh}
  #sidebar{display:flex;flex-direction:column;gap:6px;background:#0A0806;border-right:1px solid var(--line);padding:22px 18px;position:sticky;top:0;height:100vh}
  #sidebar .brand{padding:2px 2px 16px}
  .side-label{font-size:10px;letter-spacing:1.6px;color:var(--faint);font-weight:800;padding:4px 8px 8px}
  .side-nav{display:flex;flex-direction:column;gap:3px}
  .side-nav button{background:none;border:0;color:var(--dim);text-align:left;font-size:14px;padding:11px 12px;border-radius:10px;font-weight:500}
  .side-nav button.on{background:var(--panel2);color:var(--bone);font-weight:700;box-shadow:inset 2.5px 0 0 var(--ember)}
  .side-foot{margin-top:auto;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:13px 14px}
  .side-net{font-size:9.5px;letter-spacing:1.4px;color:var(--dim);font-weight:800}
  .side-conn{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding-top:9px}
  .side-conn .dot{width:8px;height:8px;border-radius:50%;background:var(--up);flex:none}
  .side-block{color:var(--faint);font-family:var(--mono);font-size:11.5px;padding-top:5px}
  #main{padding:0 26px 40px;min-width:0}
  #topbar{margin:0 -26px;padding:14px 26px}
  .brand-mobile{display:none}
  .head-search{display:flex;flex:1;max-width:520px;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 13px;margin:0 auto}
  .head-search input{flex:1;background:none;border:0;outline:0;color:var(--bone);font-size:13.5px;padding:12px 0;min-width:0}
  .head-search input::placeholder{color:var(--faint)}
  .api-pill{display:block;margin-left:0}
  .wallet-btn{margin-left:0}
  .view{padding:0}
  .view.on{max-width:1460px}
  #view-token.on{max-width:880px}
  .search-row{display:none}
  .desk-grid{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:20px;align-items:start}
  .swap-col{display:block;padding:17px 18px;position:sticky;top:86px}
  .desk-chart{display:block}
  .strip{grid-template-columns:repeat(4,minmax(170px,230px));gap:14px;border-bottom:0;padding-top:18px}
  .stat{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:13px 15px}
  .stat .v{font-size:19px}
  .thead{grid-template-columns:1fr auto auto}
  #bottomnav{display:none}
}

/* ---------- pro chart ---------- */
.chart-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:2px 0 9px}
.seg{display:inline-flex;background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.seg button{background:none;border:0;color:var(--dim);font-size:11px;font-weight:700;font-family:var(--mono);padding:6px 10px;border-radius:999px;letter-spacing:.3px;min-height:36px}
.seg button.on{background:var(--bone);color:var(--ink)}
.chart-ohlc{font-size:10.5px;line-height:1.55;color:var(--dim);padding:0 2px 8px;min-height:42px}
.chart-ohlc b{color:var(--bone);font-weight:600}
.chart-ohlc .sep{color:var(--faint);padding:0 5px}
.chart-box{position:relative}
#tkChart{width:100%;height:272px;display:block;touch-action:none;cursor:crosshair}
.desk-chart canvas{height:210px;touch-action:none}

/* ---------- swap component ---------- */
.swap{padding:15px 15px 13px;margin-bottom:4px}
.side-seg{display:flex;background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:11px;padding:3px;gap:3px;margin-bottom:12px}
.swap-col .side-seg{margin-top:12px}
.side-seg button{flex:1;background:none;border:0;color:var(--dim);font-weight:800;font-size:12.5px;letter-spacing:1px;padding:9px 0;border-radius:8px}
.side-seg button.on{background:var(--ember);color:#fff}
.side-seg button[data-side="sell"].on{background:var(--panel2);color:var(--dn);box-shadow:inset 0 0 0 1px rgba(255,107,94,.5)}
.sw-card{background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:14px;padding:12px 13px}
.sw-card-top{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--dim)}
.sw-bal{font-family:var(--mono);font-size:11.5px;color:var(--faint)}
.sw-input-row{display:flex;align-items:center;gap:10px;padding-top:7px}
.sw-input-row input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--bone);font-family:var(--mono);font-size:25px;font-weight:600;padding:0}
.sw-asset{font-weight:800;font-size:14.5px;color:var(--bone);background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:5px 11px;white-space:nowrap}
.sw-usd{color:var(--faint);font-family:var(--mono);font-size:11.5px;padding-top:5px}
.chips{display:flex;gap:5px;align-items:center;padding-top:11px;flex-wrap:wrap}
.chips button{background:var(--panel2);border:1px solid var(--line);color:var(--dim);border-radius:8px;padding:6px 0;width:44px;min-height:38px;font-family:var(--mono);font-size:11px;font-weight:600}
.chips button:active{background:var(--ember);color:#fff;border-color:var(--ember)}
.chips button:disabled{opacity:.3}
.chip-sep{width:1px;height:18px;background:var(--line);margin:0 3px}
.presets{display:inline-flex;gap:5px}
.sw-flip{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:-7px auto -3px;position:relative;z-index:2;background:var(--panel2);border:1px solid var(--line);border-radius:50%}
.sw-flip:active{background:var(--ember)}
.sw-rate{display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--mono);font-size:12px;color:var(--dim);padding:7px 0 9px}
.rate-inv{background:none;border:1px solid var(--line);border-radius:7px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}
.sw-card.recv{border-color:rgba(255,176,58,.28)}
.sw-recv{font-family:var(--mono);font-size:25px;font-weight:600;padding-top:7px;word-break:break-all}
.sw-recv.flash{animation:recvflash .7s ease}
@keyframes recvflash{0%{color:var(--amber)}100%{color:var(--bone)}}
.route-path{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:11px}
.rp-chip{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;white-space:nowrap}
.rp-chip.venue{border-color:rgba(255,176,58,.45);color:var(--amber)}
.rp-arrow{color:var(--faint);font-family:var(--mono);font-size:11px}
.qbar{height:3px;background:rgba(244,238,227,.07);border-radius:99px;overflow:hidden;margin:12px 0 2px}
.qbar-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--ember),var(--amber));border-radius:99px}
.cost .kv b.imp-mid{color:var(--amber)}
.cost .kv b.imp-high{color:var(--dn)}
.impact-warn{margin-top:9px;border:1px solid rgba(255,107,94,.5);background:rgba(255,107,94,.08);color:var(--dn);border-radius:11px;padding:10px 12px;font-size:12.5px;line-height:1.5;font-weight:600}
.slip-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-top:11px}
.slip-row .slip-k{font-size:10.5px;letter-spacing:1.2px;color:var(--faint);font-weight:800;margin-right:3px}
.slip-row button{background:var(--panel2);border:1px solid var(--line);color:var(--dim);border-radius:8px;padding:7px 11px;min-height:38px;font-family:var(--mono);font-size:11.5px;font-weight:600}
.slip-row button.on{background:var(--bone);color:var(--ink);border-color:var(--bone);font-weight:700}
.slip-row input{width:64px;background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:8px;color:var(--bone);padding:7px 8px;font-family:var(--mono);font-size:11.5px;outline:0}
.slip-row input.on{border-color:var(--bone)}

/* ---------- token avatars (real image, initial-letter fallback) ---------- */
.tav{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex:none;color:#171208;font-weight:800;vertical-align:middle}
.tav .tav-letter{line-height:1}
.tav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:0;transition:opacity .25s ease}
.tav img.ok{opacity:1}
.rp-chip.with-av{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px}
.pos-id{display:flex;align-items:center;gap:10px;min-width:0}
.tk-avatar{display:inline-flex;flex:none}

/* ---------- category badges + filter ---------- */
.cat-badge{font-size:8.5px;font-weight:800;letter-spacing:.8px;border-radius:999px;padding:2.5px 7px;vertical-align:2px;white-space:nowrap}
.cat-badge.meme{background:rgba(255,176,58,.13);color:var(--amber)}
.cat-badge.stable{background:rgba(95,214,138,.14);color:var(--up)}
.cat-badge.wrapped{background:rgba(167,158,147,.16);color:var(--dim)}
.cat-badge.stock{background:rgba(244,238,227,.12);color:var(--bone)}
.cat-badge.pad{background:rgba(255,74,31,.14);color:var(--ember)}
.cat-badge.other{background:rgba(167,158,147,.12);color:var(--dim)}
.catfilter{display:flex;gap:6px;padding:12px 0 0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.catfilter::-webkit-scrollbar{display:none}
.catfilter button{white-space:nowrap;background:none;border:1px solid var(--line);color:var(--faint);border-radius:999px;padding:6px 12px;font-size:10px;font-weight:800;letter-spacing:.9px;min-height:36px}
.catfilter button.on{color:var(--amber);border-color:rgba(255,176,58,.55);background:rgba(255,176,58,.07)}

/* ---------- pagination ---------- */
.loadmore-wrap{display:flex;flex-direction:column;align-items:center;gap:9px;padding:16px 0 6px}
.idx-count{font-family:var(--mono);font-size:11.5px;color:var(--faint)}
.loadmore-btn{background:var(--panel2);border:1px solid var(--line);color:var(--bone);border-radius:11px;padding:11px 22px;font-size:13px;font-weight:700;min-height:44px}
.loadmore-btn:active{background:var(--ember);color:#fff}
.loadmore-btn:disabled{opacity:.45}

/* ---------- token meta: warning, description, links ---------- */
.stable-warn{margin:0 0 10px 49px;border:1px solid rgba(255,107,94,.55);background:rgba(255,107,94,.09);color:var(--dn);border-radius:11px;padding:10px 12px;font-size:12.5px;line-height:1.5;font-weight:600}
.tk-meta{margin:0 0 12px 49px}
.tk-desc{color:var(--dim);font-size:13px;line-height:1.6}
.tk-desc.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.desc-btn{background:none;border:0;color:var(--amber);font-size:12px;font-weight:700;padding:5px 0 0}
.link-chips{display:flex;gap:6px;padding-top:8px;flex-wrap:wrap}
.link-chip{border:1px solid var(--line);background:var(--panel2);color:var(--bone);border-radius:999px;padding:6px 13px;font-size:12px;font-weight:700;text-decoration:none}
.link-chip:active{border-color:var(--ember);color:var(--ember)}
@media (max-width:1099px){ .stable-warn,.tk-meta{margin-left:0} }

/* ---------- home hero swap ---------- */
.hero-swap{margin:14px 0 4px;border-radius:18px;padding:15px 15px 13px;background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(120deg,rgba(255,74,31,.55),rgba(255,176,58,.28) 55%,rgba(255,74,31,.18)) border-box;border:1.5px solid transparent;box-shadow:0 12px 34px rgba(255,74,31,.10)}
.hm-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.hm-open{background:none;border:0;color:var(--dim);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;min-height:40px;padding:0 4px}
/* recent tokens under the hero swap */
.hm-recents{display:flex;gap:7px;align-items:center;padding:10px 1px 0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hm-recents::-webkit-scrollbar{display:none}
.hm-rec-k{font-size:9.5px;letter-spacing:1.2px;color:var(--faint);font-weight:800;flex:none}
.hm-rec-chip{display:inline-flex;align-items:center;gap:7px;background:var(--panel2);border:1px solid var(--line);color:var(--bone);border-radius:999px;padding:7px 13px 7px 8px;font-size:12.5px;font-weight:700;white-space:nowrap;min-height:38px;flex:none}
.hm-rec-chip.on{border-color:rgba(255,176,58,.55);color:var(--amber)}
.hm-rec-chip:active{background:var(--ember);color:#fff}
.hm-token{display:flex;align-items:center;gap:9px;width:100%;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:13px;padding:9px 12px;color:var(--bone);margin-bottom:10px;text-align:left}
.hm-tok-name{font-weight:800;font-size:16.5px}
.hm-chev{margin-left:auto;display:inline-flex}
.hm-grid{display:flex;flex-direction:column;gap:12px;margin-top:11px}
.hm-routes-label{font-size:10.5px;letter-spacing:1.5px;color:var(--faint);font-weight:800;padding-bottom:8px}
.hero-swap .sw-recv{font-size:27px}
@media (min-width:1100px){
  .hero-swap{margin-top:18px;padding:19px 20px 16px}
  .hm-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:start}
}

/* ---------- token picker sheet ---------- */
.picker-sheet{position:fixed;inset:0;background:rgba(5,3,2,.72);backdrop-filter:blur(3px);z-index:90;display:flex;align-items:flex-end;justify-content:center;animation:sheetfade .16s ease-out}
@keyframes sheetfade{from{opacity:0}to{opacity:1}}
.picker-panel{background:var(--panel);border:1px solid var(--line);border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:86vh;display:flex;flex-direction:column;padding:16px 16px calc(14px + env(safe-area-inset-bottom));animation:sheetup .2s ease-out}
@keyframes sheetup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.picker-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1.4px;color:var(--faint);font-weight:800}
.picker-close{background:var(--panel2);border:1px solid var(--line);border-radius:9px;width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.picker-search{margin:12px 0 6px}
.picker-list{overflow-y:auto;min-height:120px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.pk-sec{font-size:9.5px;letter-spacing:1.3px;color:var(--faint);font-weight:800;padding:12px 1px 2px}
/* alert preset sheet */
.al-presets{display:flex;flex-direction:column;gap:8px;padding-top:13px}
.al-preset{display:flex;justify-content:space-between;align-items:center;gap:10px;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:12px;padding:13px 14px;color:var(--bone);font-size:14px;font-weight:700;min-height:48px;text-align:left}
.al-preset:active{border-color:var(--ember)}
.al-preset-sub{font-family:var(--mono);font-size:11.5px;color:var(--dim);font-weight:600}
.alert-panel .loadmore-btn{margin-top:10px;width:100%}
.pk-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid rgba(244,238,227,.05);cursor:pointer}
.pk-main{min-width:0}
.pk-sym{font-weight:800;font-size:14px}
.pk-sub{color:var(--dim);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.pk-right{text-align:right}
.pk-view{background:var(--panel2);border:1px solid var(--line);color:var(--amber);border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700;min-height:36px}
.picker-panel .loadmore-btn{margin-top:10px}
@media (min-width:1100px){ .picker-sheet{align-items:center} .picker-panel{border-radius:20px;max-width:520px} }

/* ---- header currency toggle ---- */
.ccy-toggle{font:600 11px/1 var(--mono,monospace);letter-spacing:.08em;color:var(--bone);background:rgba(244,238,227,.06);border:1px solid rgba(244,238,227,.16);border-radius:999px;padding:7px 11px;cursor:pointer}
.ccy-toggle:hover{border-color:var(--ember)}
/* ---- sidebar external link + bottomnav link ---- */
.side-link{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:0;color:var(--dim);font:500 14px/1 inherit;padding:11px 12px;border-radius:10px;cursor:pointer;text-decoration:none}
.side-link:hover{color:var(--bone);background:rgba(244,238,227,.05)}
#bottomnav .nav-link{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--dim);text-decoration:none;font-size:8.5px;font-weight:700;letter-spacing:.06em;padding:5px 2px}
#bottomnav{gap:0}
#bottomnav button,#bottomnav .nav-link{flex:1}
#bottomnav button span{font-size:8.5px}
/* ---- fresh-launch tax warning ---- */
.tax-warn{margin:10px 16px 0;padding:10px 12px;border:1px solid rgba(255,176,58,.55);background:rgba(255,176,58,.10);color:#FFD9A0;border-radius:10px;font-size:12.5px;line-height:1.45}
/* ---- price alerts ---- */
.al-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.al-form select,.al-form input{background:rgba(244,238,227,.05);border:1px solid rgba(244,238,227,.14);color:var(--bone);border-radius:9px;padding:9px 10px;font-size:13px;min-width:0}
.al-form button{grid-column:1/-1;background:var(--ember);color:#160c07;border:0;border-radius:9px;padding:10px;font-weight:800;cursor:pointer}
.al-unit{font-size:11.5px;color:var(--dim);margin-bottom:8px}
.alert-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(244,238,227,.07)}
.alert-row.fired{opacity:.55}
.alert-status{font:700 10px/1 var(--mono,monospace);letter-spacing:.1em;padding:5px 8px;border-radius:999px}
.alert-status.on{color:var(--up);border:1px solid rgba(95,214,138,.4)}
.alert-status.fired{color:var(--amber);border:1px solid rgba(255,176,58,.45)}
.alert-del{background:none;border:0;color:var(--dim);font-size:18px;cursor:pointer;padding:2px 6px}
/* ---- activity ---- */
.act-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(244,238,227,.07)}
.act-row:last-child{border-bottom:0}
.act-tag{font:700 9.5px/1 var(--mono,monospace);letter-spacing:.1em;padding:5px 7px;border-radius:6px;background:rgba(244,238,227,.08);color:var(--bone);flex:none}
.act-tag.alert{color:var(--amber)} .act-tag.watch{color:var(--up)} .act-tag.ref{color:var(--ember)}
.act-mid{flex:1;min-width:0;font-size:13px}
.act-time{font-size:11px;color:var(--dim);margin-top:2px}
.act-right{text-align:right;font-family:var(--mono,monospace);font-size:13px}
.act-tx{color:var(--ember);text-decoration:none;font-weight:700}
.side-tag{font:700 9.5px/1 var(--mono,monospace);letter-spacing:.08em;padding:3px 6px;border-radius:5px}
.side-tag.buy{color:var(--up);background:rgba(95,214,138,.12)}
.side-tag.sell{color:var(--down);background:rgba(255,107,94,.12)}
/* ---- house liquidity ---- */
.pool-grid{display:grid;gap:12px}
.pool-pair{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pool-pair .tav:nth-child(2){margin-left:-14px;border:2px solid #171310}
.pool-actions{display:flex;gap:8px;margin-top:12px}
.pool-actions button{flex:1;padding:10px;border-radius:9px;border:1px solid rgba(244,238,227,.18);background:rgba(244,238,227,.05);color:var(--bone);font-weight:700;cursor:pointer}
.pool-actions button:first-child{background:var(--ember);color:#160c07;border-color:var(--ember)}
@media(min-width:1100px){.pool-grid{grid-template-columns:1fr 1fr}}
/* ---- referrals ---- */
.ref-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.ref-k{font-size:10.5px;letter-spacing:.12em;color:var(--dim);font-weight:700}
.ref-link{font-size:13px;margin-top:3px;word-break:break-all}
.ref-copy{background:rgba(244,238,227,.07);border:1px solid rgba(244,238,227,.18);color:var(--bone);border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer;flex:none}
.sc-ref{margin-top:10px;font-size:12px;color:var(--dim)}
.mono{font-family:var(--mono,monospace)}

/* Reviewed preview interface: Ember & Bone, with space for the facts. */
:root{--ink:#10100f;--panel:#191918;--panel2:#222220;--line:#343430;--dim:#b6b4aa;--faint:#96948c;--ember:#ff663d;--amber:#edbd75}
body{background:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
button,input,select,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
button{transition:background .15s,color .15s,border-color .15s}
button:hover{border-color:var(--dim)}
.skip-link{position:fixed;top:-60px;left:20px;z-index:200;padding:12px;background:var(--bone);color:var(--ink)}
.skip-link:focus{top:12px}
#app{max-width:760px} #main{padding-bottom:100px}
#topbar{background:rgba(16,16,15,.96);padding:14px 18px;gap:8px}
.mark{width:34px;height:34px;border-radius:10px}.brand{gap:8px}.wordmark{font-size:15px}.wordmark-sub{font-size:8px;letter-spacing:.9px}
.wallet-btn{font-size:12px;min-height:44px;padding:10px 12px}.ccy-toggle{min-height:44px;padding:9px}
.view{padding:0 18px}.market-intro{padding:30px 0 22px;display:flex;flex-direction:column;gap:20px}
.eyebrow{font:600 10px var(--mono);letter-spacing:1.8px;color:var(--amber);margin-bottom:12px}
h1{font-size:35px;line-height:1.08;letter-spacing:-1.7px;font-weight:600}
.market-intro p{font-size:13px;line-height:1.7;color:var(--dim);margin-top:12px}.desktop-br{display:none}
.preview-status{display:flex;gap:10px;align-items:center}.preview-status b{display:block;font-size:12px;font-weight:600}.preview-status span:not(.status-orbit){display:block;font-size:11px;color:var(--dim);margin-top:4px}
.status-orbit{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;position:relative}.status-orbit:after{content:"";position:absolute;inset:11px;background:var(--amber);border-radius:50%}
.launch-notice{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;background:#1e1c17;border:1px solid #494031;border-radius:12px;color:#c6bda9;font-size:12px;line-height:1.65}.launch-notice b{color:var(--bone);font-weight:600}.notice-icon{width:18px;height:18px;border:1px solid #9d8b69;border-radius:50%;flex:none;text-align:center;line-height:16px;margin-top:2px}
.strip{gap:8px;padding:18px 0;border:0}.stat{padding:10px 9px;border-left:1px solid var(--line);gap:7px}.stat:first-child{border-left:0}.stat .k{font-size:8px;letter-spacing:.8px;color:var(--dim)}.stat .v{font-size:12px;color:var(--bone)}
.hero-swap{margin:0 0 18px;padding:16px;background:var(--panel);border:1px solid #484139;box-shadow:none;border-radius:20px}.hm-head{gap:6px}.sp-k{font-size:10px;letter-spacing:1.2px;color:var(--dim)}
.hm-open{font-size:11px;min-height:44px}.hm-grid{gap:14px}.hm-token{min-height:54px;border-radius:12px;background:#22221f}.sw-card{background:#121211;border:1px solid var(--line);padding:14px;border-radius:13px}.sw-card.recv{border-color:#484139}.sw-recv{font-size:26px!important;word-break:normal;overflow-wrap:anywhere}.sw-input-row input{font-size:30px}.sw-card-top{font-size:12px}.sw-usd{font-size:11px;color:var(--dim)}
.reference{background:#20201c;border:1px solid #44443a;padding:14px}.reference .rwho{font-size:12px}.reference .rout{font-size:17px;margin-top:10px}.reference-note{font-size:12px;color:var(--dim);line-height:1.65;margin-top:9px}.best-tag{background:#343024;color:var(--amber);font-size:8px;padding:5px 7px}.route.unavail{font-size:11px;line-height:1.6;opacity:1}.rrow{align-items:start;flex-wrap:wrap}.hm-routes-label{font-size:9px;color:var(--dim)}
.cost .kv{font-size:12px;gap:12px;line-height:1.5}.cost .kv b{text-align:right;flex-shrink:0}.buy-btn{background:#34332e;color:#d0c8b8;font-size:13px!important;font-weight:600;min-height:48px;border:1px solid #595346;cursor:help}.buy-btn:hover{background:#403d33}.pending-note{font-size:12px;font-weight:400}
.auto-strip{font-size:9px;letter-spacing:.4px;color:var(--dim);padding-top:16px;line-height:1.6}.auto-src{font-size:8px}.catfilter,.tabs{flex-wrap:wrap;overflow:visible;gap:6px}.catfilter button{min-height:40px;font-size:9px;padding:7px 10px}.tabs button{min-height:44px;font-size:10px;padding:8px 12px}.catfilter button.on{color:var(--bone);border-color:#696253;background:#302c24}.tabs button.on{background:var(--bone)}
.search-row{margin:12px 0 8px;border-radius:12px}.search-row input{min-height:48px;font-size:13px}.thead{grid-template-columns:1fr auto;font-size:8px;letter-spacing:1px;padding:16px 0 10px}.th-right{display:none}.tok{grid-template-columns:38px minmax(0,1fr) minmax(90px,auto);gap:10px;padding:17px 3px}.tok>div{min-width:0}.tok .tav{width:38px!important;height:38px!important}.sym{font-size:14px;overflow-wrap:anywhere;line-height:1.5}.sym .cat-badge{display:none}.sub{font-size:10px;line-height:1.7}.sub .verd{display:block;font-size:8px;letter-spacing:.4px}.num{font-size:11px}.chg{font-size:11px;margin-top:5px}.star-btn{width:30px;height:30px;margin:-5px 0}.qb{gap:4px;margin-top:10px}.qb button{width:29px;min-height:40px;font-size:10px;border-radius:7px}.tok.sel{background:#1f1b17;box-shadow:inset 2px 0 var(--ember)}
#bottomnav{max-width:760px;padding:8px 3px calc(8px + env(safe-area-inset-bottom));background:rgba(20,20,18,.98)}#bottomnav button,#bottomnav .nav-link{min-width:0;min-height:48px;padding:5px 2px;gap:5px}#bottomnav button span,#bottomnav .nav-link span{font-size:7px;letter-spacing:.3px}#bottomnav button svg,#bottomnav .nav-link svg{width:19px;height:19px}#bottomnav button.on{color:var(--bone)}#bottomnav button.on:before{background:var(--ember)}
.tk-top{flex-wrap:wrap;gap:9px}.tk-sym{font-size:21px;overflow-wrap:anywhere;max-width:55%}.tk-top .tag{font-size:8px;padding:4px 6px}.tk-top .tk-avatar .tav{width:38px!important;height:38px!important}.tk-price-row,.tk-sub,.tk-venue{padding-left:0}.tk-price{font-size:24px}.tk-sub{font-size:11px;line-height:1.7}.tk-price-row{flex-wrap:wrap}.tk-actions{flex-wrap:wrap}.tk-actions>*{min-height:44px}.kv{gap:12px;line-height:1.5}.kv b{text-align:right}.fkv{flex-wrap:wrap;gap:6px}.foot-grid{gap:0 12px}.foot-help p{color:var(--dim)}.set-vals{max-width:75%;text-align:right;line-height:1.6}.seg button{min-height:40px}.al-form input,.al-form select{min-height:44px}.alert-row{flex-wrap:wrap}.alert-del{min-width:44px;min-height:44px}.al-preset{flex-wrap:wrap;line-height:1.6}.pk-row{gap:8px;grid-template-columns:32px minmax(0,1fr) auto}.pk-view{grid-column:2/4;min-height:40px}.pk-sub{max-width:100%}.pk-sym{font-size:13px}.picker-search{display:flex}.picker-close{width:44px;height:44px}.picker-head{font-size:10px}.toast{border-radius:14px;line-height:1.6}
@media(max-width:350px){#topbar{padding:12px;gap:5px}.view{padding:0 12px}.brand-mobile .mark{display:none}.wordmark{font-size:14px}.wallet-btn{padding:9px;font-size:11px}.ccy-toggle{font-size:10px}.stat{padding:8px 5px}.stat .v{font-size:10px}.hero-swap{padding:13px}.hm-head{flex-wrap:wrap}.tok{gap:7px;grid-template-columns:32px minmax(0,1fr) 91px}.tok .tav{width:30px!important;height:30px!important}.sym{font-size:12px}.sub{font-size:9px}.tk-sym{max-width:45%}.foot-grid{grid-template-columns:1fr}.hold-strip{flex-wrap:wrap}}
@media(min-width:700px) and (max-width:1099px){.hm-grid{display:grid;grid-template-columns:1fr 1fr}.hm-col:nth-child(2){grid-column:1/-1;grid-row:2}.market-intro{flex-direction:row;align-items:end;justify-content:space-between}.view{padding:0 26px}.stat .v{font-size:16px}}
@media(min-width:1100px){#app{max-width:none;grid-template-columns:208px minmax(0,1fr)}#sidebar{background:#131311;padding:24px 15px}.side-nav button{min-height:44px}.side-foot{background:var(--panel)}#main{padding:0 32px 50px}#topbar{margin:0 -32px;padding:16px 32px}.view{padding:0}.view.on{max-width:1500px;margin:0 auto}.market-intro{flex-direction:row;justify-content:space-between;align-items:end;padding:38px 0 26px}h1{font-size:48px;letter-spacing:-2.3px}.market-intro p{font-size:14px}.desktop-br{display:block}.preview-status{margin-bottom:5px}.launch-notice{font-size:12px}.strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:22px 0}.stat{background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:8px 18px}.stat .v{font-size:20px}.stat .k{font-size:9px}.hero-swap{padding:20px 22px;margin:0 0 26px}.hm-grid{grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:14px}.hm-col{min-width:0}.desk-grid{grid-template-columns:minmax(0,1fr) 340px;gap:24px}.swap-col{top:92px;padding:18px}.tok{grid-template-columns:42px minmax(0,1fr) minmax(120px,auto);padding:17px 8px}.tok .num{font-size:13px}.sub .verd{display:inline}.sym .cat-badge{display:inline}.qb button{width:38px}.tok .tav{width:40px!important;height:40px!important}.desk-chart{margin-top:22px}.catfilter{padding-top:0}.thead{font-size:9px}.tk-top .tk-sym{max-width:none}.pk-view{grid-column:auto}.pk-row{grid-template-columns:36px minmax(0,1fr) auto auto}}

h1{max-width:650px}@media(max-width:350px){h1{font-size:29px;letter-spacing:-1.2px}}

.price-unit{font-size:8px;color:var(--dim);font-weight:400}.buy-btn:disabled{opacity:1;color:#bdb6a9;background:#302f29;border-color:#514c41;cursor:not-allowed}

/* Wallet connection only: no relay account, signing or swap activation. */
.wallet-dialog{background:var(--panel,#201f1b);color:var(--text,#f4eee3);border:1px solid #4c473b;border-radius:20px;padding:22px;width:min(420px,calc(100% - 32px));max-height:85vh;overflow:auto;box-sizing:border-box}
.wallet-dialog::backdrop{background:#000b}.wallet-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.wallet-dialog h2{font-size:22px;margin:0}.wallet-dialog p{font-size:14px;line-height:1.55;color:#c2beb3}.wallet-dialog button,.wallet-mobile-link{display:block;background:#2b2a24;color:#f4eee3;border:1px solid #4c473b;padding:14px;border-radius:12px;margin:10px 0;cursor:pointer;text-align:center;text-decoration:none;width:100%;box-sizing:border-box}.wallet-dialog-head button{width:auto;margin:0;padding:9px}.wallet-note{font-size:12px!important}.tav-letter.logo-ready{visibility:hidden}.tav img{transition:none}
