/* Partner directory: reuse the existing DeadShadow palette, type and brand assets. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.directory-meta { display:flex; gap:24px; flex-wrap:wrap; align-items:center; padding:0 0 24px; color:var(--secondary); font-size:12px; }
.directory-meta > span { display:flex; align-items:center; gap:10px; }
.directory-meta > span:last-child { margin-left:auto; font-size:9px; letter-spacing:.12em; }
.directory-tools { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:12px; }
.directory-search-wrap { display:flex; align-items:center; min-width:0; gap:14px; border:1px solid var(--stroke); border-radius:14px; background:var(--surface); padding:0 16px; }
.directory-search-wrap:focus-within { border-color:var(--purple); box-shadow:0 0 0 3px #a464fa14; }
.directory-search-wrap > span { font-size:28px; color:#b7a3d1; line-height:1; }
.directory-search-wrap input { width:100%; min-width:0; height:54px; background:transparent; color:var(--text); border:0; outline:0; font:14px Inter,system-ui,sans-serif; }
.directory-search-wrap input::placeholder { color:#898393; }
.directory-search-wrap input::-webkit-search-cancel-button { display:none; }
.directory-search-wrap button { background:transparent; border:0; color:#bdb4c9; font-size:24px; min-width:36px; min-height:44px; cursor:pointer; }
.directory-sort { position:relative; border:1px solid var(--stroke); border-radius:14px; background:var(--surface); }
.directory-sort select { appearance:none; width:100%; height:54px; border:0; border-radius:14px; padding:0 38px 0 16px; font:12px Inter,system-ui,sans-serif; background:transparent; color:var(--text); cursor:pointer; }
.directory-sort select:focus-visible { outline:2px solid var(--purple); outline-offset:3px; }
.directory-sort option { background:var(--surface); }
.directory-sort > span:last-child { position:absolute; right:16px; top:17px; pointer-events:none; color:#b7a3d1; }
.directory-filter-row { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-top:18px; }
.directory-filters { display:flex; gap:7px; flex-wrap:wrap; }
.directory-filters button { display:flex; align-items:center; gap:8px; min-height:44px; padding:10px 13px; border:1px solid var(--stroke); border-radius:999px; background:transparent; color:#aba4b9; font-size:11px; cursor:pointer; transition:background .2s,border-color .2s; }
.directory-filters button span { font:10px 'DM Mono',monospace; color:#9c8aaf; }
.directory-filters button:hover { border-color:#a464fa70; color:var(--text); }
.directory-filters button[aria-pressed=true] { background:#a464fa20; color:#e4ceff; border-color:#a464fa65; }
.directory-filters button[aria-pressed=true] span { color:#d2aaff; }
.directory-results-line { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:64px; }
.directory-results-line p { margin:0; color:#aba3b7; font:10px 'DM Mono',monospace; letter-spacing:.04em; }
.directory-results-line button { border:0; background:transparent; color:#cba4ff; font-size:11px; min-height:44px; cursor:pointer; }
.partner-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.directory-card { --card-accent:var(--purple); --dir-glow:rgba(164,100,250,.10); display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--stroke); border-radius:24px; background:radial-gradient(ellipse at 100% 0,var(--dir-glow),transparent 65%),var(--surface); transition:border-color .2s,transform .2s; }
.directory-card:hover { border-color:#ffffff30; transform:translateY(-2px); }
.directory-card.theme-botanical,.partner-dialog.theme-botanical { --card-accent:#b4d5a8; --dir-glow:rgba(131,174,119,.12); }
.directory-card.theme-lemon,.partner-dialog.theme-lemon { --card-accent:#dcf25c; --dir-glow:rgba(220,242,92,.08); }
.directory-card.theme-ice,.partner-dialog.theme-ice { --card-accent:#8ac9fa; --dir-glow:rgba(82,155,227,.12); }
.directory-card.theme-mint,.partner-dialog.theme-mint { --card-accent:var(--mint); --dir-glow:rgba(37,226,171,.09); }
.directory-card.theme-amber,.partner-dialog.theme-amber { --card-accent:var(--orange); --dir-glow:rgba(255,175,61,.10); }
.directory-card.theme-gold,.partner-dialog.theme-gold { --card-accent:#e3c173; --dir-glow:rgba(227,193,115,.09); }
.directory-card.theme-slate,.partner-dialog.theme-slate { --card-accent:#91aafa; --dir-glow:rgba(100,135,230,.12); }
.directory-card.theme-polymarket,.partner-dialog.theme-polymarket { --card-accent:#91b1ff; --dir-glow:rgba(46,92,255,.20); }
.directory-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#a79bb9; font-size:8px; }
.directory-card-top > .mono { letter-spacing:.08em; }
.directory-age { color:#c4b8d4; font:10px 'DM Mono',monospace; padding:4px 7px; border:1px solid var(--stroke); border-radius:6px; }
.directory-live { display:flex; align-items:center; gap:7px; font:8px 'DM Mono',monospace; }
.directory-live .live-dot { width:5px; height:5px; box-shadow:none; }
.directory-brand { margin:24px 0; min-height:46px; display:flex; align-items:center; }
.directory-logo { display:flex; align-items:center; gap:11px; min-width:0; width:100%; }
.directory-logo img { max-width:195px; max-height:45px; width:auto; height:auto; object-fit:contain; }
.brand-london-nootropics .directory-logo img { max-width:100%; filter:brightness(0) invert(1); }
.brand-dubby .directory-logo img { max-height:45px; max-width:155px; }
.brand-advanced .directory-logo img { width:190px; height:54px; max-height:54px; object-fit:cover; object-position:center; mix-blend-mode:screen; }
.brand-thunderpick .directory-logo img { width:34px; height:34px; }
.brand-49skins .directory-logo img { width:220px; max-width:100%; height:auto; }
.directory-card.theme-lime,.partner-dialog.theme-lime { --card-accent:#d7ff3a; --dir-glow:rgba(215,255,58,.12); }
.brand-thunderpick .directory-logo span { font-size:21px; font-weight:900; letter-spacing:-.055em; }
.brand-5bet .directory-logo img { height:42px; }
.directory-brand.brand-polymarket .directory-logo img,.directory-brand.brand-polymarket-com .directory-logo img { width:175px; max-width:70%; max-height:44px; }
.polymarket-domain { font-size:22px; font-weight:700; letter-spacing:-.04em; color:#91b1ff; white-space:nowrap; }
.directory-wordmark { font-weight:800; font-size:27px; letter-spacing:-.055em; color:#efefff; }
.directory-benefit { font-size:21px; font-weight:750; line-height:1.35; letter-spacing:-.045em; color:#f3eff9; margin:12px 0 10px; }
.directory-card-description { color:#a49aaa; font-size:12px; line-height:1.7; margin:0 0 24px; }
.directory-card-bottom { margin-top:auto; }
.directory-code-label,.directory-no-code > .mono { color:#a396b5; font-size:8px; letter-spacing:.13em; margin:0 0 7px; }
.directory-code { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; min-height:48px; border:1px dashed #ffffff2b; padding:12px; border-radius:11px; background:#00000022; color:#eae5f2; cursor:pointer; text-align:left; }
.directory-code:hover { background:#ffffff08; border-color:var(--card-accent); }
.directory-code code { min-width:0; overflow-wrap:anywhere; font:12px 'DM Mono',monospace; letter-spacing:.08em; }
.directory-code > span { display:flex; align-items:center; gap:7px; flex-shrink:0; font-size:10px; color:#bfb1d2; }
.directory-code:disabled { opacity:.65; cursor:wait; }
.directory-no-code { display:flex; flex-direction:column; gap:4px; height:68px; justify-content:center; color:#ada1ba; font-size:12px; }
.directory-no-code > .mono { margin:0; }
.directory-card-actions { display:flex; gap:8px; margin:12px 0 9px; }
.directory-details,.directory-visit { min-height:44px; display:flex; align-items:center; justify-content:center; gap:14px; border:1px solid #ffffff1d; border-radius:11px; font-size:11px; font-weight:700; }
.directory-details { flex:1; background:#ffffff05; color:#e0d5ef; cursor:pointer; }
.directory-details:hover { background:#ffffff0c; border-color:#a464fa70; }
.directory-visit { padding-inline:16px; background:var(--card-accent); color:#08080d; border-color:transparent; }
.directory-visit:hover { filter:brightness(1.12); }
.directory-link-caption { color:#9a8ca9; font-size:9px; overflow-wrap:anywhere; }
.directory-empty { border:1px dashed #a464fa45; border-radius:24px; padding:55px 20px; text-align:center; background:#a464fa05; }
.directory-empty > span { font-size:45px; color:var(--purple); }
.directory-empty h3 { font-size:25px; letter-spacing:-.05em; }
.directory-empty p { color:#a99ab9; font-size:13px; }
.directory-empty .button { margin-top:12px; cursor:pointer; }
.directory-disclosure { font-size:11px; line-height:1.8; color:#9e90ae; margin-top:24px; max-width:850px; }
.partner-dialog,.manual-copy-dialog { --card-accent:var(--purple); color:var(--text); background:radial-gradient(ellipse at top right,var(--dir-glow,rgba(164,100,250,.12)),transparent 65%),#101017; border:1px solid #ffffff25; border-radius:26px; padding:0; width:min(640px,calc(100% - 40px)); max-height:calc(100svh - 48px); overscroll-behavior:contain; box-shadow:0 30px 100px #00000088; }
.partner-dialog::backdrop,.manual-copy-dialog::backdrop { background:#030308bd; backdrop-filter:blur(8px); }
.detail-content { padding:32px; }
.detail-top { display:flex; justify-content:space-between; align-items:center; color:#ab9bbd; font-size:9px; }
.detail-top .mono { letter-spacing:.08em; }
.detail-close { width:44px; height:44px; border:1px solid var(--stroke); border-radius:50%; background:#ffffff05; color:#e7daf8; font-size:25px; cursor:pointer; }
.detail-close:hover { background:#ffffff12; }
.detail-brand { margin:22px 0 14px; }
.detail-brand .directory-logo img { max-width:250px; }
.detail-content > h2 { font-size:30px; letter-spacing:-.06em; margin:10px 0; }
.detail-banner { margin:20px 0 24px; overflow:hidden; border:1px solid #ffffff18; border-radius:16px; background:#08080d; }
.detail-banner img { display:block; width:100%; height:auto; object-fit:contain; }
.detail-description { color:#b4a5c2; font-size:13px; line-height:1.8; margin-bottom:24px; }
.detail-content h3 { font-size:9px; color:#baa8ce; letter-spacing:.14em; margin:0 0 12px; }
.detail-benefit { border:1px solid var(--stroke); border-radius:16px; background:#00000025; padding:22px; }
.detail-benefit.is-confirmed { border-color:#a6d4b438; }
.detail-benefit.is-confirmed h3 { color:#add3b8; }
.detail-benefit > p { font-size:23px; line-height:1.35; letter-spacing:-.04em; font-weight:750; margin:0 0 12px; }
.detail-benefit ul { padding-left:20px; margin:0; color:#e0d6ec; font-size:12px; line-height:1.8; }
.detail-benefit li + li { margin-top:6px; }
.deposit-tier-table { width:100%; table-layout:fixed; border-collapse:collapse; margin:12px 0 0; text-align:left; font-size:12px; }
.deposit-tier-table th { color:#c9b8dc; font:9px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; padding:8px 10px; border-bottom:1px solid #ffffff25; }
.deposit-tier-table td { padding:9px 10px; border-bottom:1px solid #ffffff12; color:#e8dff3; }
.deposit-tier-table td:last-child { color:#d1adff; font-weight:700; }
.deposit-tier-table tbody tr:last-child td { border-bottom:0; }
.deposit-tier-table tbody tr:nth-child(even) { background:#ffffff03; }
.deposit-tier-table--compact { margin:-10px 0 24px; font-size:11px; }
.deposit-tier-table--compact td { padding:7px 10px; }
.detail-note { padding-top:14px; color:#b4a4c4; font-size:11px; line-height:1.8; }
.detail-code,.detail-link,.detail-steps { margin-top:24px; }
.detail-code > p { color:#b4a4c4; font-size:13px; }
.detail-link-row { display:flex; align-items:center; gap:14px; background:#00000022; border:1px solid var(--stroke); padding:14px; border-radius:12px; }
.detail-link-row > a { flex:1; min-width:0; overflow-wrap:anywhere; color:#cab1e6; font:11px/1.8 'DM Mono',monospace; text-decoration:underline; text-underline-offset:3px; }
.copy-link { background:#ffffff05; border:1px solid var(--stroke); border-radius:9px; color:#e0d6ec; min-height:44px; padding:10px 12px; font-size:10px; flex-shrink:0; cursor:pointer; }
.copy-link:hover { border-color:var(--purple); }
.detail-steps ol { margin:0; padding-left:20px; color:#c1b4d0; font-size:12px; line-height:1.8; }
.detail-steps li + li { margin-top:8px; }
.detail-terms { color:#ae9abb; font-size:10px; line-height:1.8; margin-top:24px; }
.detail-terms a { text-decoration:underline; text-underline-offset:3px; color:#d3b4f3; }
.detail-cta { display:flex; align-items:center; justify-content:center; gap:14px; min-height:50px; border-radius:12px; background:var(--card-accent); color:#08080d; font-size:13px; font-weight:800; margin-top:20px; }
.copy-toast { position:fixed; z-index:160; bottom:24px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); background:#dfd0f1; color:#16101f; border:1px solid #ffffff55; padding:13px 20px; border-radius:14px; box-shadow:0 10px 40px #00000088; font-size:12px; pointer-events:none; }
.manual-copy-dialog { padding:28px; width:min(460px,calc(100% - 32px)); }
.manual-copy-dialog h2 { margin-top:0; font-size:25px; letter-spacing:-.05em; }
.manual-copy-dialog p { font-size:13px; color:#b4a4c4; line-height:1.7; }
.manual-copy-dialog textarea { width:100%; font:13px/1.6 'DM Mono',monospace; color:var(--text); background:#09090d; border:1px solid var(--stroke); border-radius:10px; padding:12px; margin:10px 0 18px; resize:vertical; }
.manual-copy-dialog button { cursor:pointer; width:100%; }
.clipboard-fallback { position:fixed; top:0; left:0; width:1px; height:1px; opacity:0; }
@media (max-width:1020px) { .partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) {
 .directory-heading { gap:18px; }
 .directory-meta { gap:12px 20px; }
 .directory-meta > span:last-child { margin-left:0; width:100%; }
 .directory-tools { grid-template-columns:minmax(0,1fr); gap:10px; }
 .directory-sort { width:180px; }
 .directory-sort select { height:44px; }
 .directory-sort > span:last-child { top:12px; }
 .directory-search-wrap input { font-size:16px; }
 .directory-filters { gap:7px; }
 .directory-filters button { font-size:10px; padding-inline:11px; }
 .directory-filter-row { gap:10px; }
 .partner-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
 .directory-card { padding:22px; }
 .directory-card-description { max-width:100%; }
 .directory-brand { margin-block:20px; }
 .directory-card-actions { gap:10px; }
 .partner-dialog { width:calc(100% - 24px); max-height:calc(100svh - 24px); border-radius:20px; }
 .detail-content { padding:22px; }
 .detail-link-row { flex-wrap:wrap; }
 .detail-link-row > a { flex-basis:100%; }
 .detail-benefit { padding:17px; }
 .detail-benefit > p { font-size:21px; }
 .detail-cta { white-space:normal; padding:12px; text-align:center; }
 .copy-toast { bottom:16px; width:max-content; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .directory-card,.directory-filters button { transition:none; } .directory-card:hover { transform:none; } }




/* NRV — official storefront logo, converted from black to white on dark cards. */
.directory-card.theme-nrv,.partner-dialog.theme-nrv { --card-accent:#f4f4f7; --dir-glow:rgba(225,235,255,.10); }
.brand-nrv .directory-logo img { width:195px; max-width:100%; height:auto; max-height:60px; object-fit:contain; filter:brightness(0) invert(1); }
