/* Creator Search styles. Brand tokens on :root (see DESIGN notes in CLAUDE.md). */
/* Layout: compact top bar, filter rail + results (grid or table), side panels for a creator and for the shortlist. */
:root{
  --bg:#F7F7F5; --bg2:#F7F7F5; --surface:#FFFFFF; --ink:#111111; --muted:#6B7280; --line:#ECEAE6; --soft:#F1EFEB;
  --indigo:#5B4FE6; --indigo-d:#4A3ED1; --teal:#0097A7; --plum:#3E1E63; --lav:#EFEAFE; --lav-ink:#3E1E63; --pill-line:#D9D2FB;
  --on-accent:#FFFFFF; --p-food-bg:#FFE9D6; --p-food:#8A4A12; --p-family-bg:#FDE2EC; --p-family:#8C2452; --p-travel-bg:#DDF1FB; --p-travel:#155E86; --p-beauty-bg:#F6E1F7; --p-beauty:#7A2A80; --p-fashion-bg:#EDE6FF; --p-fashion:#4B3AA8; --p-fitness-bg:#DFF5E7; --p-fitness:#1F6B3E; --p-ent-bg:#FFF3C9; --p-ent:#7A5A00; --p-home-bg:#EAF0DA; --p-home:#4D5E1C; --p-tech-bg:#E2E8FF; --p-tech:#2D46A0; --p-pets-bg:#F6EAD9; --p-pets:#7A5225; --p-art-bg:#FFE4E0; --p-art:#97392C; --p-biz-bg:#E3EEF0; --p-biz:#25555E; --p-life-bg:#F1EFEB; --p-life:#4B4740;
  --c1-bg:#E1F4F6; --c1:#00727E; --c2-bg:#ECE9FF; --c2:#4A3ED1; --c3-bg:#F2E8FB; --c3:#5B2A8C;
  --ok:#0F7B5F; --ok-bg:#E3F4EE; --warn:#8A5A00; --warn-bg:#FBF1DC; --low:#B42318; --low-bg:#FDECEA;
  --shadow:0 8px 24px rgba(17,17,17,.06);
  --head:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --body:Poppins,"Helvetica Neue",Arial,sans-serif;
  --grad:linear-gradient(90deg,#0097A7 0%,#5B4FE6 50%,#3E1E63 100%);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#141318; --bg2:#141318; --surface:#1D1C23; --ink:#F2F1F6; --muted:#A3A3AF; --line:#2E2C36; --soft:#25232C;
  --indigo:#A49BFF; --indigo-d:#8F85FF; --teal:#3FCAD8; --lav:#2E2652; --lav-ink:#E2DCFF; --pill-line:#4C4180;
  --on-accent:#16112B; --p-food-bg:#3A2716; --p-food:#FFC08A; --p-family-bg:#3B1B29; --p-family:#FF9FC6; --p-travel-bg:#14303F; --p-travel:#8ED3F7; --p-beauty-bg:#341C38; --p-beauty:#E9A6F0; --p-fashion-bg:#26203F; --p-fashion:#BDB1FF; --p-fitness-bg:#15301F; --p-fitness:#8FE0AE; --p-ent-bg:#352B10; --p-ent:#F5D46B; --p-home-bg:#272D17; --p-home:#C3D88A; --p-tech-bg:#1B2140; --p-tech:#A7B7FF; --p-pets-bg:#33281B; --p-pets:#E5BE8C; --p-art-bg:#3A1E1A; --p-art:#FFA898; --p-biz-bg:#182B2E; --p-biz:#94CCD6; --p-life-bg:#2A2825; --p-life:#D6D1C7;
  --c1-bg:#123A40; --c1:#6FDCE7; --c2-bg:#2C2760; --c2:#B7B0FF; --c3-bg:#3A2552; --c3:#E0B9FF;
  --ok:#5ED3AE; --ok-bg:#16322A; --warn:#F2C46B; --warn-bg:#352A14; --low:#FF8A80; --low-bg:#3A1E1C; --shadow:0 8px 24px rgba(0,0,0,.35);
  --grad:linear-gradient(90deg,#35C2D1 0%,#9C93FF 55%,#C6A6F2 100%); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#141318; --bg2:#141318; --surface:#1D1C23; --ink:#F2F1F6; --muted:#A3A3AF; --line:#2E2C36; --soft:#25232C;
  --indigo:#A49BFF; --indigo-d:#8F85FF; --teal:#3FCAD8; --lav:#2E2652; --lav-ink:#E2DCFF; --pill-line:#4C4180;
  --on-accent:#16112B; --p-food-bg:#3A2716; --p-food:#FFC08A; --p-family-bg:#3B1B29; --p-family:#FF9FC6; --p-travel-bg:#14303F; --p-travel:#8ED3F7; --p-beauty-bg:#341C38; --p-beauty:#E9A6F0; --p-fashion-bg:#26203F; --p-fashion:#BDB1FF; --p-fitness-bg:#15301F; --p-fitness:#8FE0AE; --p-ent-bg:#352B10; --p-ent:#F5D46B; --p-home-bg:#272D17; --p-home:#C3D88A; --p-tech-bg:#1B2140; --p-tech:#A7B7FF; --p-pets-bg:#33281B; --p-pets:#E5BE8C; --p-art-bg:#3A1E1A; --p-art:#FFA898; --p-biz-bg:#182B2E; --p-biz:#94CCD6; --p-life-bg:#2A2825; --p-life:#D6D1C7;
  --c1-bg:#123A40; --c1:#6FDCE7; --c2-bg:#2C2760; --c2:#B7B0FF; --c3-bg:#3A2552; --c3:#E0B9FF;
  --ok:#5ED3AE; --ok-bg:#16322A; --warn:#F2C46B; --warn-bg:#352A14; --low:#FF8A80; --low-bg:#3A1E1C; --shadow:0 8px 24px rgba(0,0,0,.35);
  --grad:linear-gradient(90deg,#35C2D1 0%,#9C93FF 55%,#C6A6F2 100%); color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.5;min-height:100vh}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:25;background:var(--bg)}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:24;background:var(--bg);border-bottom:1px solid var(--line)}
.topbar-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:14px;padding-block:10px}
.logo{height:34px;width:auto;flex:none}
.logo-dark{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-light{display:none}:root:not([data-theme="light"]) .logo-dark{display:block}}
:root[data-theme="dark"] .logo-light{display:none}:root[data-theme="dark"] .logo-dark{display:block}
.ttl{min-width:0}
.eyebrow{font-family:var(--head);font-weight:700;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink)}
.ttl h1{font-family:var(--head);font-weight:700;font-size:24px;letter-spacing:-.02em;line-height:1.1;margin:2px 0 0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.topbar .sp{flex:1}
.mbar-in{max-width:1400px;margin:0 auto;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.mbar-in::-webkit-scrollbar{display:none}
.mi{font-size:13px;font-weight:600;padding:9px 14px;color:var(--muted);border-bottom:2px solid transparent;text-decoration:none;white-space:nowrap}
.mi[aria-current="page"]{color:var(--indigo);border-bottom-color:var(--indigo)}
.mi.soon{cursor:default}
@media (max-width:480px){.topbar-in{gap:10px}.ttl h1{font-size:18px}.logo{height:30px}}
.mi.soon em{font-style:normal;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-left:4px;padding:1px 6px;border-radius:999px;background:var(--soft);color:var(--muted)}
.searchbox{flex:0 1 360px;min-width:0}
.wrap{max-width:1400px;margin:0 auto;padding-block:20px 120px}
.layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(122px + env(safe-area-inset-top,0px));max-height:calc(100vh - 142px);overflow:auto}
.panel .phead{display:none}
@media (max-width:900px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .panel{position:fixed;inset:auto 0 0 0;top:auto;max-height:82vh;border-radius:20px 20px 0 0;z-index:41;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateY(105%);transition:transform .25s ease;visibility:hidden}
  .panel.open{transform:none;visibility:visible}
  .panel .phead{display:flex;justify-content:space-between;align-items:center}
  .searchbox{display:none}
}
.mob,.btn.mob{display:none}
@media (max-width:900px){.mob,.btn.mob{display:inline-flex}.desk{display:none!important}}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.flabel{font-size:12px;font-weight:600;color:var(--ink)}
.hint{font-size:11.5px;color:var(--muted);line-height:1.4}
input[type=search],input[type=number],input[type=text],select{font:inherit;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 11px;width:100%;min-width:0}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:inherit;font-size:12px;font-weight:600;border-radius:999px;padding:5px 11px;border:1px solid var(--pill-line);background:var(--surface);color:var(--lav-ink);cursor:pointer;transition:background .15s,transform .1s}
.chip:hover{background:var(--lav)}
.chip:active{transform:scale(.97)}
.chip[aria-pressed="true"]{background:var(--indigo);color:var(--on-accent);box-shadow:0 4px 12px rgba(91,79,230,.35)}
.check{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer}
.check input{margin-top:3px;accent-color:var(--indigo)}
.btn{font:inherit;font-weight:600;font-size:13px;border-radius:999px;padding:8px 15px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;text-decoration:none}
.btn.primary{background:var(--indigo);color:var(--on-accent);box-shadow:0 6px 16px rgba(91,79,230,.3)}
.btn.primary:hover{background:var(--indigo-d)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.sm{font-size:12px;padding:6px 12px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px}
.count{font-size:13px;color:var(--muted)}
.count b{color:var(--ink);font-variant-numeric:tabular-nums}
#count{font-size:15px}#count b{font-family:var(--head);font-size:22px;color:var(--ink);margin-right:2px}
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px}
.seg button{font:inherit;font-size:12px;font-weight:600;border:0;background:transparent;color:var(--muted);padding:5px 12px;border-radius:999px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--indigo);color:var(--on-accent);box-shadow:0 3px 10px rgba(91,79,230,.3)}
.toolbar select{width:auto}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.active{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.afl{font:inherit;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 6px 4px 11px;background:var(--lav);color:var(--lav-ink);border:0;cursor:pointer}
.afl span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--surface);font-size:12px;line-height:1}
.aclear{font:inherit;font-size:12px;font-weight:600;color:var(--indigo);background:none;border:0;cursor:pointer;padding:4px 6px}
/* grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:14px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.tile:hover{border-color:var(--pill-line);box-shadow:0 12px 30px rgba(17,17,17,.09);transform:translateY(-2px)}
.tile{transition:border-color .15s,box-shadow .15s,transform .15s}
.who{display:flex;gap:12px;align-items:center;min-width:0}
.av{flex:none;width:56px;height:56px;border-radius:50%;background:var(--lav);color:var(--indigo);display:grid;place-items:center;font-weight:700;font-size:18px;overflow:hidden}

.av img{width:100%;height:100%;object-fit:cover;display:block}
.av.sm{width:36px;height:36px;font-size:13px}
.names{min-width:0}
.nm{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.er{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.er .big{font-family:var(--head);font-weight:700;font-size:30px;color:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1}
.er .lbl{font-size:12px;color:var(--muted)}
.bm{font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px;white-space:nowrap}
.bm{font-size:11px}.bm.up{background:var(--ok-bg);color:var(--ok)}.bm.mid{background:var(--soft);color:var(--muted)}.bm.down{background:var(--low-bg);color:var(--low)}
.sub2{display:flex;gap:14px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.sub2 b{color:var(--ink);font-weight:600}
.meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:22px}
.pill{font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--lav);color:var(--lav-ink)}

.pill.p-food{background:var(--p-food-bg);color:var(--p-food)}.pill.p-family{background:var(--p-family-bg);color:var(--p-family)}.pill.p-travel{background:var(--p-travel-bg);color:var(--p-travel)}.pill.p-beauty{background:var(--p-beauty-bg);color:var(--p-beauty)}.pill.p-fashion{background:var(--p-fashion-bg);color:var(--p-fashion)}.pill.p-fitness{background:var(--p-fitness-bg);color:var(--p-fitness)}.pill.p-ent{background:var(--p-ent-bg);color:var(--p-ent)}.pill.p-home{background:var(--p-home-bg);color:var(--p-home)}.pill.p-tech{background:var(--p-tech-bg);color:var(--p-tech)}.pill.p-pets{background:var(--p-pets-bg);color:var(--p-pets)}.pill.p-art{background:var(--p-art-bg);color:var(--p-art)}.pill.p-biz{background:var(--p-biz-bg);color:var(--p-biz)}.pill.p-life{background:var(--p-life-bg);color:var(--p-life)}
.pill.k1{background:var(--c1-bg);color:var(--c1)}.pill.k2{background:var(--c2-bg);color:var(--c2)}.pill.k3{background:var(--c3-bg);color:var(--c3)}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.stale{font-size:11px;color:var(--muted)}
.tacts{display:flex;gap:8px;align-items:center;margin-top:auto}
.tacts .tbtn{flex:1 1 0;min-width:0;text-align:center;padding:7px 6px;font-size:11.5px;white-space:nowrap}
.tacts{gap:6px}
.tile{position:relative}
.tile .who{padding-right:30px}
.tile>.menuwrap{position:absolute;top:10px;right:10px;margin:0}
.tbtn{font:inherit;font-size:12px;font-weight:600;border-radius:999px;padding:6px 12px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap}
.tbtn.on{background:var(--lav);border-color:var(--lav);color:var(--indigo)}
.tbtn.on:hover{border-color:var(--pill-line)}
.tbtn:not(.on):hover{background:var(--soft)}
.menuwrap{position:relative}
.dots{font:inherit;font-size:16px;font-weight:700;width:30px;height:30px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--indigo);cursor:pointer;line-height:1}
.menu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(17,17,17,.16);padding:6px;z-index:6;display:flex;flex-direction:column}
.menu button{font:inherit;font-size:13px;text-align:left;background:none;border:0;border-radius:8px;padding:8px 10px;color:var(--ink);cursor:pointer;white-space:nowrap}
.dots:hover,.dots[aria-expanded="true"]{background:var(--soft);border-color:var(--line)}
.menu button:hover,.menu button:focus-visible{background:var(--soft)}
.pitch{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pitch p{margin:0;font-size:14px;line-height:1.6}
.pitch .row{display:flex;gap:8px;flex-wrap:wrap}
.more{display:flex;justify-content:center;margin-top:18px}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:40px 20px;text-align:center;color:var(--muted)}
/* table */
.tablewrap{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow-x:auto;box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:860px;font-variant-numeric:tabular-nums}
th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);position:sticky;top:0}
th.num,td.num{text-align:right}
th button{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;cursor:pointer;padding:0}
th button[aria-sort]{color:var(--indigo)}
td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
tr.rowc{cursor:pointer}
tr.rowc:hover td{background:var(--soft)}
td .who{gap:10px}
td .nm{font-size:13.5px}
.cbx{width:18px;height:18px;accent-color:var(--indigo);cursor:pointer}
/* side panels */
.scrim{position:fixed;inset:0;background:rgba(17,17,17,.38);z-index:30}
.side{position:fixed;top:0;right:0;bottom:0;width:min(600px,100%);background:var(--bg);border-left:1px solid var(--line);z-index:31;overflow-y:auto;box-shadow:-12px 0 32px rgba(0,0,0,.18);padding-block:calc(18px + env(safe-area-inset-top,0px)) calc(28px + env(safe-area-inset-bottom,0px));padding-left:20px;padding-right:max(20px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:16px}
.shead{display:flex;gap:14px;align-items:center}
.shead .names{flex:1}
.shead .nm{font-size:18px;white-space:normal}
.x{font:inherit;font-size:24px;line-height:1;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px;flex:none}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}
.tabs button{font:inherit;font-weight:600;font-size:13px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:8px 12px;cursor:pointer;margin-bottom:-1px}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--indigo)}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.kpi:nth-child(odd) .v{color:var(--teal)}.kpi:nth-child(even) .v{color:var(--indigo)}
.kpi .v{font-family:var(--head);font-weight:700;font-size:26px;font-variant-numeric:tabular-nums}
.kpi .k{font-size:12px;color:var(--muted)}
.kpi .bm{display:inline-block;margin-top:4px}
canvas.card{width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow);background:#F7F7F5;display:block}
.dactions{display:flex;flex-wrap:wrap;gap:8px}
.note{font-size:12px;border-radius:12px;padding:10px 12px}
.note.warn{background:var(--warn-bg);color:var(--warn)}
.note.ok{background:var(--ok-bg);color:var(--ok)}
.dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-variant-numeric:tabular-nums;margin:0}
.dl dt{color:var(--muted)} .dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.copy{font:inherit;font-size:12px;font-weight:600;color:var(--indigo);background:none;border:0;cursor:pointer;padding:0 0 0 8px}
.sec{display:flex;flex-direction:column;gap:10px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ptile{position:relative;display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--lav);color:var(--lav-ink);text-decoration:none;max-width:100%}
.ptile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.ptile:hover img{transform:scale(1.04)}
.ptile .ph{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:600}
.ptile .cap{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;background:linear-gradient(transparent,rgba(17,17,17,.72));color:#fff;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.plist{display:flex;flex-direction:column;gap:6px}
.prow{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:12.5px;font-variant-numeric:tabular-nums}
.prow .ty{font-size:11px;font-weight:600;color:var(--lav-ink);background:var(--lav);border-radius:999px;padding:2px 8px}
.prow a{color:var(--indigo);font-weight:600;text-decoration:none}
.prow .mut{color:var(--muted)}
/* shortlist */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(17,17,17,.06);padding-block:10px calc(10px + env(safe-area-inset-bottom,0px))}
.bar-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:12px}
.stack{display:flex;flex:1 1 auto;min-width:0;align-items:center}
.stack .av{width:32px;height:32px;font-size:11px;border:2px solid var(--surface);margin-left:-8px}
.stack .av:first-child{margin-left:0}
.stack .t{font-weight:600;margin-right:12px;white-space:nowrap}
.stack .h{color:var(--muted);font-size:12px;margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slrow{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.slrow .mut{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.ord{display:flex;gap:4px}
.ord button{font:inherit;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.ord button:disabled{opacity:.35;cursor:default}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(76px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:999px;font-size:13px;z-index:50}
.progress{font-size:12px;color:var(--muted)}
.lblrow{display:flex;align-items:center;gap:6px}
.field:has(.tip){position:relative}
.tip{display:inline-flex}
.tipbtn{font:inherit;font-size:11px;font-weight:700;width:18px;height:18px;border-radius:50%;border:1px solid var(--pill-line);background:var(--lav);color:var(--indigo);cursor:help;display:grid;place-items:center;padding:0;line-height:1}
.tiptext{position:absolute;left:0;right:0;top:28px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:400;line-height:1.45;padding:9px 11px;border-radius:10px;box-shadow:var(--shadow);z-index:5;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s;pointer-events:none}
.tiptext::before{content:"";position:absolute;left:74px;top:-5px;border:5px solid transparent;border-top:0;border-bottom-color:var(--ink)}
.tip:hover .tiptext,.tip:focus-within .tiptext{opacity:1;visibility:visible;transform:none}
#qMobWrap{display:none}
@media (max-width:600px){.ttl .eyebrow{display:none}.ttl h1{font-size:19px}}
@media (max-width:900px){#qMobWrap{display:flex}}
@media (prefers-reduced-motion:reduce){.ptile img,.tile,.panel{transition:none}}

/* Sign-in gate */
body{margin:0}html{color-scheme:light dark}
#gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--bg);padding:16px}
#gate .c{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:32px 28px;display:flex;flex-direction:column;gap:14px}
#gate img{height:56px;width:auto;align-self:flex-start}#gate h2{margin:4px 0 0;font:700 28px var(--head);letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
#gate p{margin:0;font-size:13px;color:var(--muted)}#gate .err{color:var(--low)}#gate .okm{color:var(--ok)}
/* shortlist builder */
button.mi{font:inherit;font-size:13px;font-weight:600;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer}
button.mi:hover{color:var(--ink)}
.tsel{position:absolute;top:57px;left:57px;z-index:2;display:flex;opacity:0;transition:opacity .15s}
.tile:hover .tsel,.tile.sel .tsel,.tsel:focus-within{opacity:1}
@media (hover:none){.tsel{opacity:1}}
.tsel input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border-radius:50%;background:var(--surface);border:2px solid var(--pill-line);box-shadow:0 0 0 2px var(--surface),0 2px 6px rgba(17,17,17,.12);cursor:pointer;display:grid;place-content:center;transition:background .15s,border-color .15s}
.tsel input:hover{border-color:var(--indigo)}
.tsel input::after{content:"";width:9px;height:5px;border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);transform:translate(0,-1px) rotate(-45deg);opacity:0}
.tsel input:checked{background:var(--indigo);border-color:var(--indigo)}
.tsel input:checked::after{opacity:1}
.tsel input:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.tile.sel,.tile.sel:hover{border-color:var(--indigo);box-shadow:0 0 0 1px var(--indigo),var(--shadow)}
.bar[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:45;background:rgba(17,17,17,.38);display:flex;justify-content:center;align-items:flex-start;padding:max(70px,env(safe-area-inset-top,0px)) 16px 16px;overflow-y:auto}
.mbox{width:100%;max-width:520px;background:var(--surface);border-radius:16px;box-shadow:0 12px 32px rgba(17,17,17,.16);padding:22px;display:flex;flex-direction:column;gap:14px}
.mtitle{font-size:18px;font-weight:600;margin-top:2px}
.camplist{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto}
.copt{font:inherit;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;cursor:pointer;background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.copt[aria-checked="true"]{background:var(--lav);border-color:var(--pill-line)}
.copt .sub{display:block;font-size:12px;color:var(--muted)}
.copt .rd{flex:none;width:18px;height:18px;border-radius:50%;box-sizing:border-box;border:2px solid var(--pill-line);background:var(--surface)}
.copt[aria-checked="true"] .rd{border:6px solid var(--indigo)}
.campnew{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.campnew .field:last-child{grid-column:1/-1}
.mact{display:flex;justify-content:flex-end;gap:10px}
.linkrow{display:flex;gap:8px}
.slitem{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}
.slitem .top{display:grid;grid-template-columns:22px auto 1fr auto;gap:10px;align-items:center}
.slitem .no{color:var(--muted);font-weight:600;text-align:center}
.slitem .names{min-width:0}
.slitem .mut{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.slitem .why{font:inherit;font-size:13px;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 11px;width:100%;min-width:0;resize:vertical;line-height:1.45}
.tag-manual{align-self:flex-start;font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--warn-bg);color:var(--warn)}
.tag-conf{display:inline-block;margin-left:6px;vertical-align:1px;font-size:10.5px;font-weight:600;border-radius:999px;padding:2px 8px;background:var(--lav);color:var(--lav-ink)}
.slmeta{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}
.slmeta b{font-weight:600;color:var(--ink)}
.slmeta a{color:var(--indigo)}
@media (max-width:520px){.campnew{grid-template-columns:minmax(0,1fr)}.slitem .top{grid-template-columns:auto 1fr auto}.slitem .no{display:none}}

.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--indigo);text-decoration:underline;cursor:pointer;text-align:left}
.linkbtn:disabled{opacity:.5;cursor:default}
#addLinks{width:100%;resize:vertical;font:inherit;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink)}
@media (max-width:480px){#addBtn{padding-inline:12px}}

/* Shortlists page */
.slpage{display:flex;flex-direction:column;gap:18px}
.slp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.slp-title{font-family:var(--head);font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--ink)}
.slp-head .hint{margin:4px 0 0}
.slcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.slcw{position:relative;display:flex}
.slcw>.menuwrap{position:absolute;top:12px;right:12px}
.slcard{flex:1;padding-right:52px!important;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;cursor:pointer;min-height:150px}
.slcard:hover{border-color:var(--pill-line);box-shadow:var(--shadow,0 8px 24px rgba(17,17,17,.06))}
.slcard:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.slc-name{font-weight:700;font-size:16px;line-height:1.3}
.slc-sub{font-size:13px;color:var(--muted)}
.slcard .stack{display:flex;margin-top:auto}
.slcard .stack>*{margin-right:-8px;border:2px solid var(--surface)}
.slc-foot{font-size:12px;color:var(--muted)}
.slempty{background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:28px;text-align:center}
.slempty p{margin:4px 0}

.updq{display:flex;flex-direction:column;gap:8px}
.updrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:14px}
.updrow[hidden]{display:none}
.updrow .btn{flex:none}
@media (max-width:480px){#updBtn,#addBtn{padding-inline:12px}}

.btn.danger{background:#C62828;color:#fff;border-color:#C62828}
.btn.danger:hover{background:#A51F1F}
.menu button.del{color:#C62828}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .menu button.del{color:#FF8A80}}
:root[data-theme="dark"] .menu button.del{color:#FF8A80}
.sheetlinks{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:13px}
.sheetlinks[hidden]{display:none}
.sheetlinks a{color:var(--indigo);font-weight:600}
.campnew .field.wide{grid-column:1/-1}
.whyhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.whyhead .linkbtn{font-size:12px}
.slitem .why.busy{opacity:.55}

/* Brands mentioned recently (profile panel) */
.brands{display:flex;flex-wrap:wrap;gap:6px}
.bpill{font-size:12px;background:var(--lav);color:var(--lav-ink);padding:3px 9px;border-radius:999px;text-decoration:none}
.bpill:hover{color:var(--indigo)}
.bhint{flex-basis:100%;font-size:11.5px;color:var(--muted)}
/* Ask Lyra (#lyra) */
.ly-in{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:22px;align-items:start}
.ly-form{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}
.ly-who{display:flex;gap:12px;align-items:center}.ly-who .hint{margin:2px 0 0}
.ly-av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;background:var(--lav)}.ly-av.sm{width:34px;height:34px}
.ly-title{font-family:var(--head);font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0}
.ly-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--soft);padding:4px;border-radius:12px}
.ly-tabs button{font:inherit;font-size:13px;border:0;background:transparent;color:var(--muted);border-radius:9px;padding:8px;cursor:pointer}
.ly-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(17,17,17,.08)}
.ly-fields{display:flex;flex-direction:column;gap:12px}
.ly-form textarea{font:inherit;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:9px 11px;width:100%;resize:vertical}
.ly-form .opt{font-weight:400;color:var(--muted)}
.ly-file{display:flex;align-items:center;gap:8px;border:1px dashed var(--pill-line);border-radius:10px;padding:10px 12px;cursor:pointer;font-size:13px;color:var(--lav-ink);background:var(--surface)}
.ly-file input{position:absolute;opacity:0;width:1px;height:1px}.ly-file:focus-within{outline:2px solid var(--indigo);outline-offset:2px}
.ly-go{width:100%;padding:11px 16px;font-size:14px}
.ly-out{display:flex;flex-direction:column;gap:14px;min-width:0}
.ly-say{display:flex;gap:10px;align-items:flex-start}.ly-say p{margin:6px 0 0;font-size:14px;line-height:1.6;max-width:70ch}
.ly-dots::after{content:"…";display:inline-block;animation:lydot 1.2s steps(4) infinite;width:1.2em;overflow:hidden;vertical-align:bottom}
@keyframes lydot{0%{width:0}100%{width:1.2em}}
@media (prefers-reduced-motion:reduce){.ly-dots::after{animation:none}}
.ly-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.ly-h{font-family:var(--head);font-size:15px;font-weight:700;margin:0}
.ly-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;font-size:13px}
.ly-dl dt{color:var(--muted)}.ly-dl dd{margin:0}
.ly-pills{display:flex;flex-wrap:wrap;gap:6px}
.ly-missing{margin:0;font-size:12.5px;background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:8px 10px}
.ly-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ly-plan{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:10px}
.ly-plan.pick{border:2px solid var(--indigo)}
.ly-plan-h{display:flex;justify-content:space-between;align-items:center;gap:8px}.ly-plan-h h3{margin:0;font-family:var(--head);font-size:17px}
.ly-plan .hint{margin:0;font-size:12.5px}
.ly-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ly-stats div{background:var(--soft);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}
.ly-stats b{font-family:var(--head);font-size:19px}.ly-stats b.t{color:var(--teal)}.ly-stats b.i{color:var(--indigo)}.ly-stats span{font-size:11.5px;color:var(--muted)}
.ly-plan ul,.ly-ideas{margin:0;padding-left:18px;font-size:12.5px;line-height:1.6}
.ly-plan .btn{margin-top:auto}
.ly-next{display:flex}
.ly-res{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}
.ly-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ly-cr{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start}
.ly-n{font-family:var(--head);font-weight:700;color:var(--muted);width:18px;text-align:right;padding-top:8px;flex:none}
.ly-cr-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.ly-cr-top{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.ly-nm{font:inherit;font-weight:600;font-size:14px;color:var(--ink);background:none;border:0;padding:0;cursor:pointer;text-align:left}.ly-nm:hover{color:var(--indigo)}
.ly-why{margin:0;font-size:13px;line-height:1.55}
.ly-x{font:inherit;font-size:18px;line-height:1;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;flex:none}.ly-x:hover{color:var(--ink)}
.ly-side{position:sticky;top:12px}.ly-side .hint{margin:0}
.ly-acts{display:flex;flex-direction:column;gap:8px}
@media (max-width:1100px){.ly-res{grid-template-columns:1fr}.ly-side{position:static}.ly-plans{grid-template-columns:1fr}}
@media (max-width:900px){.ly-in{grid-template-columns:1fr}.ly-form{position:static}}
@media (max-width:600px){.mi{padding:9px 9px}.mi.soon{display:none}}
/* Search TikTok (#tiktok) */
.mi em.beta{font-style:normal;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-left:4px;padding:1px 6px;border-radius:999px;background:var(--lav);color:var(--lav-ink)}
.ttpage{display:flex;flex-direction:column;gap:16px}
.tt-note{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;max-width:640px}
.tt-note p{margin:0}
.tt-form{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;grid-template-columns:150px minmax(160px,1fr) 220px 170px 170px auto;gap:12px;align-items:end}
.ttgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.ttc{cursor:default;display:flex;flex-direction:column;gap:12px;padding:16px}
.ttc-top{display:flex;gap:12px;align-items:center;min-width:0}.ttc-top .names{display:flex;flex-direction:column;min-width:0}.ttc-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ttc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ttc-stats div{background:var(--soft);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column}
.ttc-stats b{font-family:var(--head);font-size:15px}.ttc-stats span{font-size:11px;color:var(--muted)}
.tt-more{display:flex;justify-content:center}
@media (max-width:1100px){.tt-form{grid-template-columns:1fr 1fr}.tt-form .tt-kw{grid-column:1/-1}}
@media (max-width:600px){.mi em.beta{display:none}.tt-form{grid-template-columns:1fr}}
