/* RAID tile (raid.html): exchange-terminal family, light default + html[data-theme="dark"], every colour from the terminal.css tokens.
   Loaded after terminal.css. Owns the scrolling two-column grid (board + your activity) and every RAID widget; raid.js ids/classes here. */

/* ---------- shell ---------- */
html.gx,html.gx body{height:auto;min-height:100%}
body.gx-body{overflow-x:hidden;overflow-y:auto}
.app.gx.raid{height:auto;min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:40px auto 38px minmax(0,1fr) 24px;grid-template-areas:none;align-content:start}
.app.gx>.top,.app.gx>.hero,.app.gx>.ticker,.app.gx>.foot{grid-area:auto;grid-column:1 / -1}
.app.gx>.top{grid-row:1;height:40px;overflow:hidden}.app.gx>.hero{grid-row:2}.app.gx>.ticker{grid-row:3;height:38px}.app.gx>.foot{grid-row:5;height:24px}
.app.gx>.panel{grid-area:auto;min-height:0}
.app.gx>.rd,.app.gx>.sd{grid-row:4}
.app.gx>.rd{overflow:visible}
.app.gx .ph>span:first-child{white-space:nowrap;flex:none}
.app.gx .nav{min-width:0}
.app.gx .nav a{white-space:nowrap}
.app.gx .ph{height:30px;font-size:11.5px;letter-spacing:.06em;color:var(--head)}
.app.gx .ph.sub{height:26px;font-size:10.5px;margin-top:auto}
.app.gx .rd .ph.sub,.app.gx .sd .ph.sub{margin-top:0}
.app.gx [hidden],.is-hidden{display:none!important}
.nav a.on{color:var(--text)}
.tag{display:inline-block;font-style:normal;font-size:8.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--faint);padding:1px 4px;line-height:1.3;vertical-align:middle;margin-left:6px;color:var(--muted);white-space:nowrap}
.tag.est,.tag.sim{border-style:dashed}
.tag.sim{color:var(--peach-t);border-color:var(--peach-t)}
.tag.raid{color:var(--violet-t);border-color:var(--violet-t)}
.tag.cat{color:var(--acid-t);border-color:var(--acid-t)}
.tag.ok{color:var(--green);border-color:var(--green)}
.tag.bad{color:var(--red);border-color:var(--red)}
.tag.sol{color:var(--violet-t);border-color:var(--violet-t)}
.tag.rh{color:var(--green);border-color:var(--green)}

/* ---------- hero + stats ---------- */
.app.gx.raid .hero-brand>div{min-width:0}
.hn-funding::before{background:var(--acid);outline:1px solid var(--ink-line)}.hn-listed::before{background:var(--violet)}.hn-reserve::before{background:var(--peach)}
.ticker.stats .tk-v{gap:6px;align-items:center}
.ticker.stats .tk-v b{font-size:12px;font-weight:600;letter-spacing:.06em}
.dot.sim{background:var(--peach)}

/* ---------- tabs ---------- */
.rd .tabs{height:32px}
.rd .tab{background:none;border:0;border-bottom:1px solid transparent;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;cursor:pointer}
.rd .tab.on{border-bottom-color:var(--acid-t)}
.rd .tabpane.on{display:flex;flex-direction:column;overflow:visible}

/* ---------- leader ---------- */
.rd-leader{flex:none}
.rd-lead{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px 24px;padding:12px 12px 12px 14px;border-left:3px solid var(--acid);background:var(--panel2);cursor:pointer}
.rd-lead:hover{background:var(--bg)}
.rd-lead-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}
.rd-lead-head .disp{font-size:30px;line-height:1;color:var(--text)}
.rd-lead-head small{font-size:11px;color:var(--muted)}
.rd-lead-head code{font-size:10.5px;color:var(--muted)}
.rd-lead-prog{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.rd-lead-prog .bar{height:12px;background:var(--track)}
.rd-lead-prog .bar i{background:var(--acid);opacity:1}
html[data-theme="dark"] .rd-lead-prog .bar i{background:var(--acid-t)}
.rd-lead-nums{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);white-space:nowrap}
.rd-lead-nums b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text)}
.rd-lead-nums .pct{font-family:var(--sans);font-weight:900;font-size:18px;letter-spacing:-.02em;color:var(--acid-t)}
.rd-pledge{display:flex;flex-direction:column;gap:6px;align-self:end}
.rd-pledge-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.rd-pledge-row input{height:34px;font-size:14px}
.rd-pledge-row .btn{height:34px;padding:0 16px;font-size:13px}
.rd-pledge small{font-size:10px;line-height:1.4;color:var(--muted)}

/* ---------- ranked lists ---------- */
.rd-cols,.rd-row{display:grid;grid-template-columns:26px minmax(120px,1.2fr) minmax(120px,2fr) 88px 64px minmax(110px,150px);gap:10px;align-items:center;padding:0 10px;white-space:nowrap}
.rd-cols{height:22px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);flex:none}
.rd-list{flex:none}
.rd-row{min-height:34px;font-size:11.5px;border-bottom:1px solid var(--hair);color:var(--text);text-align:left;width:100%;background:none;border-left:0;border-right:0;border-top:0;cursor:pointer}
.rd-row:hover{background:var(--panel2)}
.rd-row .rk{font-family:var(--mono);color:var(--muted);font-size:11px}
.rd-row .sym{display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}
.rd-row .sym b{font-weight:700;font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.rd-row .sym small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.rd-row .bar{height:6px}
.rd-row .bar i{background:var(--violet);opacity:1}
.rd-row.is-done .bar i{background:var(--green)}
.rd-row .num{text-align:right}
.rd-row .st{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right;white-space:normal;line-height:1.25}
.rd-row.is-blocked .st{color:var(--red)}
.rd-row.is-listed .st{color:var(--green)}
.rd-row.is-exec .st{color:var(--peach-t)}
.rd-row .pct{font-family:var(--mono);font-size:10px;color:var(--muted);margin-left:6px}
.rd-list .empty{padding:10px}

/* ---------- listed cards ---------- */
.rd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;padding:10px;flex:none}
.rd-card{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);background:var(--panel2);box-shadow:var(--hard);cursor:pointer;text-align:left;color:var(--text)}
.rd-card:hover{border-color:var(--text)}
.rd-card-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rd-card-head .disp{font-size:22px;line-height:1}
.rd-card-head small{font-size:10.5px;color:var(--muted)}
.rd-card code{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-card-tags{display:flex;flex-wrap:wrap;gap:4px 0}
.rd-card-tags .tag{margin-left:0;margin-right:4px}
.rd-receipts{display:flex;flex-direction:column;gap:2px;font-size:10.5px;color:var(--muted)}
.rd-receipts a,.rd-receipts span.rc{font-family:var(--mono);color:var(--text)}
.rd-receipts a{text-decoration:underline;text-underline-offset:2px}
.rd-card.is-suspended{opacity:.7}

/* ---------- forms + buttons ---------- */
.raid .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 12px;border:2px solid var(--line);border-radius:2px;background:var(--panel);color:var(--text);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--hard-sm);white-space:nowrap;cursor:pointer}
.raid .btn:hover:not(:disabled){background:var(--bg)}
.raid .btn:active:not(:disabled){translate:1px 1px;box-shadow:none}
.raid .btn:disabled{color:var(--muted);border-color:var(--border);box-shadow:none;cursor:not-allowed;background:var(--panel2)}
.raid .btn.primary:not(:disabled){background:var(--pri-bg);border-color:var(--line);color:var(--pri-fg);font-weight:600}
.raid .btn.ghost{box-shadow:none;border-color:var(--border);color:var(--muted)}
.raid select,.raid input,.raid textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);height:28px;padding:0 8px;font-size:11.5px;width:100%;min-width:0;border-radius:0;outline:none}
.raid textarea{height:auto;padding:6px 8px;resize:vertical;line-height:1.4}
.raid select:focus,.raid input:focus,.raid textarea:focus{border-color:var(--text)}
.raid input.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.raid input::placeholder,.raid textarea::placeholder{color:var(--muted);opacity:.8}
.raid select{appearance:none;-webkit-appearance:none;padding-right:22px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 12px) 12px,calc(100% - 8px) 12px;background-size:4px 4px;background-repeat:no-repeat}
.raid select option{background:var(--panel);color:var(--text)}
.rd-form{display:flex;flex-direction:column;flex:none}
.rd-fields{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 10px;padding:10px;border-bottom:1px solid var(--border)}
.rd-fields-3{grid-template-columns:minmax(0,1fr) 160px auto;align-items:end}
.rd-fields label{display:flex;flex-direction:column;gap:3px;min-width:0}
.rd-fields label.wide{grid-column:1 / -1}
.rd-fields label>span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.rd-actions{display:flex;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.rd-state{font-size:11px;line-height:1.4;color:var(--muted);flex:1 1 200px;min-width:0}
.rd-state.is-error{color:var(--red)}
.rd-state.is-ok{color:var(--green)}

/* ---------- admission result / quote / detail ---------- */
.rd-result{padding:10px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex:none}
.rd-result h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rd-result h3.bad{color:var(--red)}.rd-result h3.ok{color:var(--green)}
.rd-reasons{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}
.rd-reasons li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;font-size:11px;line-height:1.4}
.rd-reasons code{color:var(--red);font-size:10.5px;white-space:nowrap}
.rd-reasons li.ok code{color:var(--green)}
.kvl{display:grid;grid-template-columns:1fr;flex:none}
.kvl div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--hair);min-width:0}
.kvl span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.kvl b{font-weight:500;font-size:11px;overflow-wrap:anywhere;line-height:1.4}
.kvl b code{font-size:10.5px}
.rd-disclosure{font-size:11px;line-height:1.45;color:var(--peach-t);border:1px solid var(--peach);border-left-width:3px;padding:7px 9px;background:var(--panel2)}
.rd-proto{margin:8px 10px 0;padding:6px 9px;border:1px dashed var(--peach-t);color:var(--peach-t);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;flex:none}
.rd-codes{padding:8px 10px;font-size:10.5px;line-height:1.6;color:var(--muted);white-space:normal;flex:none}
.rd-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:0 20px;padding:10px;flex:none}
.rd-detail-head{grid-column:1 / -1;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding-bottom:8px}
.rd-detail-head .disp{font-size:26px;line-height:1}
.rd-detail-head small{font-size:11px;color:var(--muted)}
.rd-detail-head code{font-size:10.5px;color:var(--muted)}
.rd-detail h4{margin:10px 0 4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rd-timeline{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;margin-top:4px}
.rd-timeline div{display:flex;flex-direction:column;gap:4px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);min-width:0}
.rd-timeline div i{display:block;height:6px;background:var(--track)}
.rd-timeline div.done i{background:var(--green)}
.rd-timeline div.current i{background:var(--acid);outline:1px solid var(--ink-line)}
html[data-theme="dark"] .rd-timeline div.current i{background:var(--acid-t);outline:0}
.rd-timeline div.stopped i{background:var(--red)}
.rd-timeline div.done,.rd-timeline div.current{color:var(--text)}
.rd-timeline div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-timeline div small{font-size:9px;letter-spacing:0;text-transform:none;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-contrib{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}
.rd-contrib li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:4px 0;border-bottom:1px solid var(--hair);font-size:11px;font-family:var(--mono);font-variant-numeric:tabular-nums}
.rd-contrib li span{color:var(--muted)}
.rd-contrib li.is-you b{color:var(--acid-t)}
.rd-detail .rd-pledge{margin-top:8px}
.rd-detail .rd-lead-prog .bar{height:10px}

/* ---------- token image (shared with the site Listings page): round; placeholder = mosmark four-tile + first letter ---------- */
.ls-logo{position:relative;width:44px;height:44px;flex:none;border-radius:50%;overflow:hidden;border:1px solid var(--border);background:var(--panel);display:inline-block;vertical-align:middle}
.ls-logo.lg{width:56px;height:56px}
.ls-logo.sm{width:22px;height:22px;border-width:0}
.ls-logo img{display:block;width:100%;height:100%;object-fit:cover}
.ls-logo .ls-ph{display:none;position:absolute;inset:0;place-items:center;font-style:normal;background:conic-gradient(from 45deg,var(--violet) 0 25%,var(--peach) 0 50%,var(--acid) 0 75%,var(--ink) 0)}
.ls-logo .ls-ph b{font-family:var(--sans);font-weight:900;font-size:18px;line-height:1;color:var(--text);background:var(--panel);width:60%;height:60%;border-radius:50%;display:grid;place-items:center;letter-spacing:-.02em}
.ls-logo.lg .ls-ph b{font-size:22px}
.ls-logo.sm .ls-ph b{font-size:9px}
.ls-logo.is-fallback img{display:none}
.ls-logo.is-fallback .ls-ph{display:grid}
.ls-ca{cursor:pointer;gap:8px}
.ls-ca code{font-size:10.5px}
.ls-ca .copy-state{font-style:normal;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ls-ca.copied .copy-state{color:var(--green)}
.ls-cta{display:flex;flex-direction:column;gap:6px;padding:10px;flex:none}
.ls-cta .btn{justify-content:center}
.ls-cta small{font-size:10.5px;color:var(--muted);line-height:1.4}

/* ---------- auction ---------- */
.kv.rd-auction-kv{padding-top:2px}
.kv.rd-auction-kv b{white-space:normal;font-size:11.5px;line-height:1.35}
.rd-table{flex:none}
.rd-table td:first-child{font-weight:600}
.rd-table td.num{font-family:var(--mono)}
.rd-table tr.is-won td{color:var(--text)}
.rd-table tr.is-won td:nth-child(4){color:var(--acid-t);font-weight:700}
.rd-table td.muted{color:var(--muted)}
.rd-bids .rd-row{grid-template-columns:26px minmax(120px,1.2fr) minmax(120px,2fr) 100px 64px minmax(110px,150px)}
.rd-bids .rd-row .bar i{background:var(--peach)}
.rd-bids .rd-row .sym b{display:flex;align-items:center;gap:6px}
.rd-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 10px;padding:8px 10px;border:1px solid var(--acid-t);border-left-width:3px;background:var(--panel2);font-size:11px;line-height:1.4;flex:none;flex-wrap:wrap}
.rd-cta b{font-weight:700}
.rd-fields-bid{grid-template-columns:minmax(0,1fr) 160px auto;align-items:end}
.rd-pick{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px;border:1px solid var(--border);background:var(--bg);min-width:0;overflow:hidden;white-space:nowrap}
.rd-pick b{font-family:var(--mono);font-size:12px}
.rd-pick small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.rd-elig-wrap{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border)}
.rd-elig-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px;max-height:240px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}
.rd-elig-h{grid-column:1 / -1;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text);padding:6px 0 2px}
.rd-elig{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"img sym ca" "img name ca";gap:0 8px;align-items:center;padding:4px 6px;border:1px solid var(--border);background:var(--bg);text-align:left;color:var(--text);cursor:pointer;min-width:0}
.rd-elig .ls-logo{grid-area:img}.rd-elig b{grid-area:sym;font-family:var(--mono);font-size:11.5px}.rd-elig small{grid-area:name;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-elig code{grid-area:ca;font-size:9.5px;color:var(--muted)}
.rd-elig:hover{border-color:var(--text)}
.rd-elig.is-on{border-color:var(--acid-t);background:var(--panel2)}
.rd-elig.is-on b{color:var(--acid-t)}
.rd-nomatch{display:flex;flex-direction:column;gap:8px;align-items:flex-start;grid-column:1 / -1}
.rd-nomatch small{color:var(--muted)}

/* ---------- side panel ---------- */
.rd-history{list-style:none;margin:0;padding:2px 10px 8px;overflow:auto;flex:none;max-height:300px;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}
.rd-history li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--hair);font-size:11px}
.rd-history li span{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;color:var(--text);white-space:nowrap}
.rd-history li div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rd-history li b{font-weight:600}
.rd-history li small{font-size:10px;line-height:1.35;color:var(--muted);white-space:normal}
.rd-history li a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.rd-history .rd-empty{display:block;color:var(--muted);border:0;padding:8px 0}
.rd-history li[data-tone="peach"] b{color:var(--peach-t)}
.rd-history li[data-tone="green"] b{color:var(--green)}
.rd-history li[data-tone="red"] b{color:var(--red)}
.kv.rd-how{grid-template-columns:1fr;padding-bottom:8px}
.kv.rd-how span{color:var(--text);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.kv.rd-how b{white-space:normal;font-weight:400;font-size:11px;line-height:1.4;color:var(--muted)}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .app.gx.raid{grid-template-columns:minmax(0,1fr) 300px}
  .rd-lead{grid-template-columns:minmax(0,1fr) 240px}
  .rd-cols,.rd-row{grid-template-columns:26px minmax(100px,1fr) minmax(100px,1.6fr) 80px 56px minmax(96px,130px)}
  .rd-detail{grid-template-columns:1fr}
}
@media(max-width:860px){
  .app.gx.raid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:auto}
  .app.gx>.top,.app.gx>.hero,.app.gx>.ticker,.app.gx>.rd,.app.gx>.sd,.app.gx>.foot{grid-row:auto}
  .app.gx>.top{height:auto;overflow:visible}
  .hero-nums{grid-template-columns:1fr 1fr}
  .hn{min-width:0}
  .hn-reserve{grid-column:1 / -1}
  .hn b.disp{font-size:17px;overflow:hidden;text-overflow:ellipsis}
  .app.gx>.ticker{height:44px}
  .app.gx .ph.sub{margin-top:0}
  .rd .tabs{height:44px}
  .rd-lead{grid-template-columns:1fr;padding:10px}
  .rd-lead-head .disp{font-size:24px}
  .rd-cols{display:none}
  .rd-row{grid-template-columns:22px minmax(0,1fr) 72px;grid-template-areas:"rk sym pooled" "rk bar st";row-gap:4px;padding:6px 10px}
  .rd-row .rk{grid-area:rk}.rd-row .sym{grid-area:sym}.rd-row .bar{grid-area:bar}.rd-row .pooled{grid-area:pooled}.rd-row .backers{display:none}.rd-row .st{grid-area:st}
  .rd-bids .rd-row{grid-template-columns:22px minmax(0,1fr) 72px}
  .rd-fields,.rd-fields-3,.rd-fields-bid{grid-template-columns:1fr}
  .rd-elig-list{grid-template-columns:1fr}
  .rd-cards{grid-template-columns:1fr}
  .rd-timeline{grid-template-columns:repeat(4,1fr)}
  .rd-history{max-height:240px}
  .app.gx>.foot{height:auto}
}


/* ======================================================================================================================
   Listings page: pump.fun-style coin cards in the exchange-terminal family. Everything above is the shared listing
   component set (byte-identical to gacha-ui/raid.css); this block owns the grid, cards, token images, the contract-address
   chip and the "List a coin" panel. Every colour is a terminal.css token. */

/* ---------- tabs bar: "List a coin" lives at the right of the tab strip ---------- */
.ls .tabs{gap:8px}
.ls .tabs-r{padding-right:0}
.ls-list-btn{align-self:center;margin:0 6px 0 4px;height:24px;padding:0 12px}
.ls-submit{border-bottom:1px solid var(--border);background:var(--panel2);flex:none}
.ls-submit .ph-r a{margin-left:10px}
.ls-filters{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 0;flex:none}
.ls-filters .g-chip{height:24px;padding:0 9px;border:1px solid var(--border);background:var(--bg);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.ls-filters .g-chip:hover{border-color:var(--faint);color:var(--text)}
.ls-filters .g-chip.is-active{color:var(--acid-t);border-color:var(--acid-t)}


/* ---------- grid + cards ---------- */
.ls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding:10px;flex:none}
.ls-grid .empty{grid-column:1 / -1}
.ls-card{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);background:var(--panel2);box-shadow:var(--hard);cursor:pointer;color:var(--text);min-width:0;text-align:left}
.ls-card:hover,.ls-card:focus-visible{border-color:var(--text);outline:0}
.ls-card.is-leader{grid-column:1 / -1;border-left:3px solid var(--acid);padding:14px 14px 12px}
.ls-card.is-new{outline:2px solid var(--acid-t);outline-offset:-2px}
.ls-card.is-blocked{opacity:.85}
.ls-card.is-cat{background:var(--panel)}
.ls-card-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0}
.ls-card-id{display:flex;flex-direction:column;gap:2px;min-width:0}
.ls-card-sym{display:flex;align-items:center;gap:6px;min-width:0}
.ls-card-sym b{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ls-card-sym b.disp{font-family:var(--sans);font-size:28px;line-height:1}
.ls-card-sym .tag{margin-left:0;flex:none}
.ls-card-name{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ls-status-col{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:5px;align-self:start}
.ls-status-col .tag{margin-left:0}
.ls-status{white-space:normal;text-align:left;max-width:none;line-height:1.25}
.ls-card.is-leader .ls-status-col{align-self:center}
.ls-card-ca{display:flex;align-items:center;gap:6px;min-width:0}
.ls-prog{display:flex;flex-direction:column;gap:5px}
.ls-prog .bar{height:8px;background:var(--track)}
.ls-prog .bar i{background:var(--violet);opacity:1}
.ls-card.is-leader .ls-prog .bar{height:12px}
.ls-card.is-leader .ls-prog .bar i{background:var(--acid)}
html[data-theme="dark"] .ls-card.is-leader .ls-prog .bar i{background:var(--acid-t)}
.ls-card.is-done .ls-prog .bar i,.ls-card.is-exec .ls-prog .bar i{background:var(--green)}
.ls-prog-nums{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--muted);white-space:nowrap;min-width:0}
.ls-prog-nums span{overflow:hidden;text-overflow:ellipsis}
.ls-prog-nums b{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}
.ls-prog-nums .pct{font-family:var(--sans);font-weight:900;font-size:14px;letter-spacing:-.02em;color:var(--violet-t)}
.ls-card.is-leader .ls-prog-nums .pct{font-size:20px;color:var(--acid-t)}
.ls-lead-foot{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10px 24px;align-items:end;margin-top:2px}
.ls-lead-foot>span{font-size:11px;line-height:1.4}
.ls-reasons{display:flex;flex-wrap:wrap;gap:4px;font-size:10px}
.ls-reasons code{color:var(--red)}
.ls-card .rd-receipts{gap:3px}
.rd-row .sym{flex-direction:row;align-items:center;gap:8px}
.rd-row .sym>span{display:flex;flex-direction:column;gap:1px;min-width:0}
.rd-detail-head .ls-logo{margin-right:2px}
.rd-detail-cat{grid-template-columns:1fr}
.kvl b .ls-ca{vertical-align:baseline}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .ls-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
  .ls-lead-foot{grid-template-columns:minmax(0,1fr) 260px}
}
@media(max-width:860px){
  .ls .tabs{flex-wrap:nowrap}
  .ls .tabs-r{display:none}
  .ls-list-btn{margin-left:auto;height:32px}
  .ls-grid{grid-template-columns:1fr}
  .ls-card.is-leader{padding:10px}
  .ls-card-sym b.disp{font-size:22px}
  .ls-lead-foot{grid-template-columns:1fr}
  .ls-status{max-width:110px}
}

/* ---------- round 4: poster cards, stepper, RAID panel, details ---------- */
.app.gx.raid.listings{grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:40px auto auto 24px;align-content:start}
.app.gx.listings>.rd{min-height:420px}
.app.gx.listings>.rd,.app.gx.listings>.sd{grid-row:3}
.app.gx.listings>.foot{grid-row:4}
.app.gx.listings .hero-brand p{margin-top:6px;font-size:13px;color:var(--muted);max-width:52ch;line-height:1.5}
.ls-note{padding:8px 12px 0;font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.ls-note:empty{display:none}
.ls-grid{gap:18px;padding:14px}
.ls-card{gap:10px;padding:14px 14px 12px;border:2px solid var(--line);background:var(--panel);box-shadow:var(--hard);border-radius:2px}
.ls-card:hover,.ls-card:focus-visible{background:var(--panel2);border-color:var(--line)}
.ls-card.is-leader{grid-column:1 / -1}
.ls-card-sym{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ls-card-sym .dot{width:8px;height:8px}
.ls-card-sym b.disp{font-size:26px;line-height:1;font-weight:400;letter-spacing:.01em}
.ls-card.is-leader .ls-card-sym b.disp{font-size:36px}
.ls-card-name{font-size:11px;color:var(--muted)}
.ls-card-stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.ls-card-stats b{color:var(--text);font-weight:600}
.ls-card-ca{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ls-status-col .tag.ok{border-color:var(--acid-t);color:var(--acid-t)}
.ls-details{margin:6px 12px 12px;border:2px solid var(--line);border-radius:2px;background:var(--panel)}
.ls-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);user-select:none}
.ls-details>summary::-webkit-details-marker{display:none}
.ls-details>summary::before{content:"+";font-family:var(--mono);width:8px}
.ls-details[open]>summary{color:var(--text);border-bottom:2px solid var(--line)}
.ls-details[open]>summary::before{content:"−"}
.ls-details .ph.sub{margin-top:0}
/* stepper */
.stepper{padding:0 0 4px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:12px 12px 0}
.steps li{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:6px;border-top:3px solid var(--track);text-align:center}
.steps li.on{color:var(--text);border-top-color:var(--violet)}
.steps li.done{color:var(--text);border-top-color:var(--acid)}
.step-pane{display:none;flex-direction:column;gap:10px;padding:12px}
.step-pane.on{display:flex}
.step-pane label{display:flex;flex-direction:column;gap:4px}
.step-pane label>span{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.step-pane input,.step-pane select,.step-pane textarea{font:inherit;color:var(--text);background:var(--bg);border:2px solid var(--line);border-radius:2px;padding:8px 10px;font-size:13px;min-height:38px}
.step-pane input.num{font-family:var(--mono)}
.step-copy{font-size:12px;color:var(--muted);line-height:1.5;max-width:60ch}
.step-kv{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.step-kv div{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px solid var(--hair)}
.step-kv span{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.step-kv b{font-size:12px;font-weight:500}
.step-actions{display:flex;gap:8px;justify-content:flex-end}
.step-actions .btn{height:36px;padding:0 16px}
/* RAID panel */
.raid-clock{display:flex;flex-direction:column;gap:2px;padding:14px 12px 10px;border-bottom:1px solid var(--border)}
.raid-l{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.raid-clock b.disp{font-size:44px;line-height:1;color:var(--text)}
.raid-clock small{font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.raid-top{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border)}
.raid-top .raid-top-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.raid-top b.disp{font-size:26px;line-height:1;color:var(--violet-t)}
.raid-top small{font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.raid-top .empty{padding:6px 0}
.raid-board{display:flex;flex-direction:column}
.raid-row{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(60px,1.2fr) auto;gap:10px;align-items:center;min-height:38px;padding:4px 12px;border:0;border-bottom:1px solid var(--hair);background:none;color:var(--text);text-align:left;cursor:pointer;font:inherit}
.raid-row:hover{background:var(--panel2)}
.raid-row .rk{font-family:var(--mono);font-size:10px;color:var(--muted)}
.raid-row .sym{display:flex;flex-direction:column;min-width:0}
.raid-row .sym b{font-family:var(--mono);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.raid-row .sym small{font-size:10px;color:var(--muted)}
.raid-row .bar{height:8px;background:var(--track);position:relative;overflow:hidden}
.raid-row .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--violet)}
.raid-row.is-top .bar i{background:var(--acid)}
.raid-row .num{font-family:var(--mono);font-size:11.5px;font-weight:600}
.raid-bid{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:8px;align-items:end;padding:12px;border-top:2px solid var(--line)}
.raid-bid label{display:flex;flex-direction:column;gap:4px;min-width:0}
.raid-bid label>span{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.raid-bid select,.raid-bid input{font:inherit;color:var(--text);background:var(--bg);border:2px solid var(--line);border-radius:2px;height:38px;padding:0 10px;min-width:0;width:100%}
.raid-amt{display:flex;align-items:center;gap:6px}
.raid-amt b{font-family:var(--mono);font-size:11px}
.raid-bid .btn{height:38px;padding:0 18px}
.raid-bid .rd-state{grid-column:1 / -1}
.raid-bid .rd-state:empty{display:none}
@media(max-width:860px){
  .app.gx.raid.listings{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto}
  .app.gx.listings>.top,.app.gx.listings>.hero,.app.gx.listings>.rd,.app.gx.listings>.sd,.app.gx.listings>.foot{grid-row:auto;grid-column:1}
  .app.gx.listings>.top{height:auto;overflow:visible}
  .app.gx.listings>.foot{height:auto}
  .app.gx.listings>.rd{min-height:0}
  .ls-grid{grid-template-columns:1fr;gap:14px;padding:12px}
  .raid-bid{grid-template-columns:1fr}
  .raid-clock b.disp{font-size:36px}
  .step-kv{grid-template-columns:1fr}
}
