/* Self-hosted Playfair Display (added 2026-07-18) — the CSS referenced it in --serif
   but nothing loaded it, so it silently fell back to Georgia. Variable woff2, latin. */
@font-face{
  font-family:"Playfair Display";
  font-style:normal;
  font-weight:400 900;
  font-display:swap;
  src:url("fonts/playfair-display.woff2") format("woff2");
}
:root{
  /* champagne / platinum couture (migrated from warm gold 2026-07-30 — matches blikky.us) */
  --bg:#07070b; --bg2:#0c0c12; --ink:#f4f2ec; --muted:#9a99a4; --faint:#615f6b;
  --gold:#e9e4d4; --gold2:#c8c1ab; --gold-grad:linear-gradient(120deg,#fbf7ec,#e9e4d4 30%,#cfd6e0 62%,#9aa3b2 100%);
  --sheen:linear-gradient(105deg,#c8c1ab 0%,#e9e4d4 35%,#ffffff 48%,#e9e4d4 61%,#9aa3b2 100%);
  --emerald:#79d19b; --sapphire:#6aa8ff; --amethyst:#a68bff; --crimson:#e0574e;
  --glass:rgba(255,255,255,.03); --glass2:rgba(255,255,255,.06);
  --stroke:rgba(207,214,224,.14); --stroke2:rgba(255,255,255,.07);
  --shadow:0 40px 90px -50px rgba(0,0,0,.9);
  --serif:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--sans); color:var(--ink); background:var(--bg);
  background-image:
    radial-gradient(900px 520px at 12% -8%, rgba(233,228,212,.10), transparent 60%),
    radial-gradient(1000px 700px at 100% 0%, rgba(166,139,255,.07), transparent 55%),
    radial-gradient(760px 700px at 50% 120%, rgba(106,168,255,.05), transparent 60%),
    linear-gradient(180deg,#09090e,#07070b);
  background-attachment:fixed; -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
@keyframes shine{to{background-position:-250% 0}}

/* ---- shell ---- */
.app{display:grid;grid-template-columns:264px 1fr;min-height:100vh}
.sidebar{
  position:sticky;top:0;height:100vh;padding:26px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  backdrop-filter:blur(14px);border-right:1px solid var(--stroke2);
  display:flex;flex-direction:column;gap:6px;
}
.brand{display:flex;align-items:baseline;gap:8px;padding:6px 10px 22px}
.brand .mark{font-family:var(--serif);font-weight:800;font-size:30px;letter-spacing:.5px;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 26px rgba(233,228,212,.25)}
.brand .sub{font-size:10px;letter-spacing:.28em;color:var(--faint);text-transform:uppercase}
.nav-item{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:12px;
  color:var(--muted);font-size:16px;font-weight:600;transition:.18s;border:1px solid transparent}
.nav-item .ic{width:20px;text-align:center;font-size:15px;opacity:.9}
.nav-item:hover{background:var(--glass);color:var(--ink)}
.nav-item.active{color:#1a1206;font-weight:700;background:var(--gold-grad);
  box-shadow:0 8px 24px rgba(233,228,212,.28);border-color:rgba(255,255,255,.2)}
.nav-item.active .ic{opacity:1}
.side-foot{margin-top:auto;padding:12px 10px;color:var(--faint);font-size:11px;line-height:1.6}
.crew-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:16px;margin-bottom:20px}
@media(max-width:860px){.crew-roster{grid-template-columns:1fr}}
.crew-links{margin-top:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}
.cl-head{font:600 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.cl-empty{color:var(--faint);font-size:12px;margin-bottom:8px}
.cl-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.cl-link{flex:1;color:var(--gold);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-link:hover{text-decoration:underline}
.cl-ext{opacity:.6;font-size:11px}
.cl-add{display:flex;gap:6px;margin-top:8px}
.cl-add .cl-in{font-size:12px;padding:7px 9px;flex:0 0 32%}
.cl-add .cl-url{flex:1}
.cl-btn{padding:7px 12px}
.cl-msg{font-size:11px;color:var(--faint);margin-top:5px}
.crew-card{padding:22px;display:flex;flex-direction:column;gap:14px}
.crew-head{display:flex;align-items:center;gap:14px}
.crew-totem{width:62px;height:62px;flex:none;border-radius:16px;display:grid;place-items:center;background:radial-gradient(120% 120% at 30% 20%,rgba(233,228,212,.14),rgba(0,0,0,.35));border:1px solid rgba(233,228,212,.4);box-shadow:0 8px 24px rgba(0,0,0,.35),inset 0 0 20px rgba(233,228,212,.06)}
.crew-totem svg{width:44px;height:44px;filter:drop-shadow(0 2px 6px rgba(233,228,212,.25))}
.crew-name{font-family:var(--serif);font-size:22px;font-weight:800}
.crew-role{color:var(--gold);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.crew-focus{display:flex;flex-wrap:wrap;gap:8px}
.crew-chip{font-size:12.5px;padding:6px 12px;border-radius:20px;background:var(--glass);border:1px solid rgba(255,255,255,.1);color:var(--ink)}
.crew-chip.primary{background:var(--gold-grad);color:#1a1206;font-weight:700;border-color:transparent}
.crew-note{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0}

.main{padding:38px 44px 80px;max-width:1280px}
.page-head{margin-bottom:26px}
.page-head h1{font-family:var(--serif);font-size:34px;font-weight:800;letter-spacing:-.01em;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-head p{color:var(--muted);margin-top:6px;font-size:14.5px}

/* ---- glass cards ---- */
.glass{background:var(--glass);border:1px solid var(--stroke2);border-radius:18px;
  box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.grid{display:grid;gap:18px}
.metric-grid{grid-template-columns:repeat(4,1fr)}
.metric{padding:20px 22px;position:relative;overflow:hidden}
.metric .lab{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em}
.metric .val{font-family:var(--serif);font-size:34px;font-weight:800;margin-top:10px;color:var(--ink)}
.metric .val.gold{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.metric .delta{font-size:12px;margin-top:6px;color:var(--emerald)}
.metric::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle,rgba(233,228,212,.16),transparent 70%)}
.two{grid-template-columns:1.5fr 1fr}
.card-h{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 6px}
.card-h h3{font-size:15px;font-weight:700;letter-spacing:.02em}
.card-h .tag{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.14em}
.card-b{padding:8px 22px 20px}
.feed-row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px;color:var(--muted)}
.feed-row:last-child{border:none}
.feed-row b{color:var(--ink);font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none}
.launch-grid{grid-template-columns:repeat(3,1fr);gap:14px;padding:0 22px 20px}
.launch{padding:18px;border-radius:14px;background:var(--glass2);border:1px solid var(--stroke);
  transition:.18s;cursor:pointer}
.launch:hover{transform:translateY(-2px);border-color:var(--gold2);box-shadow:0 10px 30px rgba(233,228,212,.15)}
.launch .em{font-size:22px}
.launch .nm{margin-top:10px;font-weight:700;font-size:14px}
.launch .ds{margin-top:4px;color:var(--faint);font-size:12px}

/* ---- industry tab ---- */
.searchbar{display:flex;align-items:center;gap:12px;padding:14px 18px;margin-bottom:20px}
.searchbar input{flex:1;background:transparent;border:none;outline:none;color:var(--ink);font-size:16px;font-family:var(--sans)}
.searchbar input::placeholder{color:var(--faint)}
.searchbar .k{color:var(--faint);font-size:12px;border:1px solid var(--stroke2);border-radius:8px;padding:3px 8px}
.ind-stats{display:flex;gap:22px;margin-bottom:22px;color:var(--muted);font-size:13px}
.ind-stats b{color:var(--gold);font-family:var(--serif);font-size:18px;margin-right:5px}
.camp-grid{grid-template-columns:repeat(2,1fr);gap:18px}
.camp{padding:0;overflow:hidden}
.camp-top{display:flex;align-items:center;gap:12px;padding:18px 20px 12px}
.camp-badge{width:42px;height:42px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:800;font-size:18px;color:#0a0810}
.camp-name{font-family:var(--serif);font-size:19px;font-weight:800}
.camp-tier{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:2px}
.camp-note{padding:0 20px 14px;color:var(--muted);font-size:13px;line-height:1.55}
.contacts{border-top:1px solid rgba(255,255,255,.06)}
.contact{padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.04)}
.contact:last-child{border:none}
.contact .cl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.contact .cn{font-weight:600;font-size:14px}
.contact .cr{font-size:11.5px;color:var(--amethyst);background:rgba(185,140,255,.1);padding:2px 8px;border-radius:20px}
.contact .meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:12px;padding:3px 9px;border-radius:8px;background:var(--glass2);border:1px solid var(--stroke2);color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.chip.mail{border-color:rgba(52,211,153,.3);color:var(--emerald)}
.chip.phone{border-color:rgba(91,140,255,.3);color:var(--sapphire)}
.chip.social{border-color:rgba(233,228,212,.3);color:var(--gold)}
.contact .cnote{margin-top:6px;color:var(--faint);font-size:12px;line-height:1.5}
.stub{padding:40px 24px;text-align:center;color:var(--muted)}
.stub .em{font-size:40px}
.stub h3{font-family:var(--serif);color:var(--ink);font-size:22px;margin:12px 0 6px}
@media(max-width:1000px){.app{grid-template-columns:1fr}
  .sidebar{position:sticky;top:0;z-index:50;height:auto;border-right:none;border-bottom:1px solid rgba(233,228,212,.16);padding:8px 12px;background:#0e0b12;display:flex;flex-direction:column;gap:6px}
  .sidebar .brand{margin:0}
  .side-foot{display:none}
  #nav{display:flex;flex-direction:row;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:3px}
  .nav-item{flex:0 0 auto;flex-direction:column;gap:3px;padding:8px 11px;white-space:nowrap;border-radius:10px;font-size:10px;text-align:center;min-width:60px}
  .nav-item>span:last-child{font-size:10px;line-height:1.15}
  .nav-item .ic{width:22px;height:22px;margin:0 auto}
  .nav-item:not(.active)::before{display:none}
  .metric-grid{grid-template-columns:repeat(2,1fr)}.camp-grid,.two,.launch-grid{grid-template-columns:1fr}}

/* ---- SVG icon system ---- */
.ic-svg{vertical-align:middle;flex:none}
.nav-item .ic{display:flex;align-items:center;justify-content:center;width:28px;height:28px}
.nav-item .ic .ic-svg{display:block}
.launch .em{color:var(--gold);height:26px;display:flex;align-items:center}
.launch .em .ic-svg{filter:drop-shadow(0 0 10px rgba(233,228,212,.30))}
.chip{align-items:center}
.chip .ic-svg{opacity:.9}
.searchbar .s-ic{display:flex;align-items:center;color:var(--faint)}
.doc-card{display:flex;gap:12px;align-items:flex-start;padding:16px 20px}
.doc-ic{color:var(--gold);margin-top:1px;display:flex;flex:none}
.stub-ic{color:var(--gold);display:flex;justify-content:center;margin-bottom:8px}
.badge{display:inline-flex;align-items:center;margin-left:5px;vertical-align:middle}
.badge.ok{color:var(--emerald)}
.badge.warn{color:#e8b64b}

/* ---- auth gate ---- */
.gate{display:none;min-height:100vh;align-items:center;justify-content:center;padding:24px}
.login{width:100%;max-width:380px;padding:34px 30px;display:flex;flex-direction:column;gap:12px;text-align:center}
.login-mark{font-family:var(--serif);font-weight:800;font-size:38px;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 30px rgba(233,228,212,.25)}
.login-sub{color:var(--faint);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px}
.login-msg{color:var(--muted);font-size:12.5px;min-height:16px}
.field{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--stroke2);border-radius:11px;padding:11px 13px;color:var(--ink);font-family:var(--sans);font-size:14px;outline:none;transition:.16s}
.field:focus{border-color:var(--gold2);box-shadow:0 0 0 3px rgba(233,228,212,.10)}
select.field{cursor:pointer}
.btn{background:var(--gold-grad);color:#1a1206;font-weight:700;border:none;border-radius:11px;padding:11px 16px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s}
.btn:hover{box-shadow:0 8px 24px rgba(233,228,212,.30);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--stroke2);border-radius:11px;padding:10px 16px;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s}
.btn-ghost:hover{color:var(--ink);border-color:var(--gold2)}
.btn-ghost.sm{padding:7px 12px;font-size:12.5px}
/* ---- topbar ---- */
.topbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-bottom:20px}
.who{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}
/* ---- forms + tracker ---- */
.addform-wrap{padding-bottom:16px}
.addform{display:flex;flex-wrap:wrap;gap:10px;padding:4px 22px 6px}
.addform .field{width:auto;flex:1;min-width:120px}
.addform .num{max-width:120px}
.crew-add .field{min-width:130px}
.ttable-wrap{overflow-x:auto}
.ttable{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}
.ttable th{text-align:left;color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;padding:10px 14px;border-bottom:1px solid var(--stroke2)}
.ttable td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.045);vertical-align:middle}
.ttable tfoot td{border-bottom:none;border-top:1px solid var(--stroke2);color:var(--gold);font-family:var(--serif);font-size:15px}
.ttable .ttl{font-weight:600;color:var(--ink);max-width:320px}
.ttable .sub{color:var(--faint);font-size:11.5px;font-weight:400;margin-top:2px}
.rowlink{color:var(--sapphire);vertical-align:middle}
.mini-num{width:82px;background:rgba(255,255,255,.04);border:1px solid var(--stroke2);border-radius:8px;padding:6px 8px;color:var(--ink);font-size:13px;outline:none}
.mini-num:focus{border-color:var(--gold2)}
.mini-sel{background:rgba(20,16,26,.9);border:1px solid var(--stroke2);border-radius:8px;padding:6px 8px;color:var(--ink);font-size:12.5px;cursor:pointer;outline:none}
.mini-sel.st-posted{color:var(--emerald);border-color:rgba(52,211,153,.3)}
.mini-sel.st-in_progress{color:var(--gold);border-color:rgba(233,228,212,.3)}
.icon-btn{background:transparent;border:1px solid transparent;border-radius:8px;padding:5px;color:var(--faint);cursor:pointer;display:inline-flex;transition:.16s}
.icon-btn:hover{color:var(--crimson);border-color:rgba(255,107,129,.3)}
.stub-mini{padding:26px;text-align:center;color:var(--faint);font-size:14px}
.fld-lab{display:flex;flex-direction:column;gap:5px;color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.1em}

/* ---- contact priority: primary email/phone vs tertiary ---- */
.contact .prim{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.contact .tert-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
.chip.lg{font-size:12.5px;padding:6px 11px;font-weight:600;border-radius:9px}
.chip.mail.lg{background:rgba(52,211,153,.13);border-color:rgba(52,211,153,.42);color:#66e6c0}
.chip.phone.lg{background:rgba(91,140,255,.13);border-color:rgba(91,140,255,.42);color:#9db8ff}
a.chip{text-decoration:none;transition:.15s}
a.chip:hover{transform:translateY(-1px);filter:brightness(1.12)}
.chip.tert{font-size:11px;padding:2.5px 8px;background:transparent;border-color:var(--stroke2);color:var(--faint)}
.unv{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:#e8b64b;border:1px solid rgba(232,182,75,.35);border-radius:6px;padding:3px 7px;align-self:center}

/* ===================== VISUAL POLISH ===================== */
/* diagonal varying monogram texture */
.gate{background-image:url('blikky-bg.svg?v=6');background-size:300px auto;background-position:0 0;animation:blk-drift 120s linear infinite;position:relative;z-index:1}
.sidebar{background-image:url('blikky-bg.svg?v=6'),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));background-size:230px auto,cover;background-repeat:repeat,no-repeat;background-position:0 0,0 0;animation:blk-drift-s 150s linear infinite;position:relative;z-index:1}
.app{position:relative;z-index:1}
.dash-aura{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(48% 42% at 14% 0%, rgba(233,228,212,.12), transparent 60%),
    radial-gradient(44% 42% at 93% 8%, rgba(193,153,255,.07), transparent 62%),
    radial-gradient(52% 48% at 84% 100%, rgba(233,228,212,.10), transparent 64%),
    url('blikky-bg.svg?v=6');
  background-size:cover,cover,cover,380px auto;
  background-repeat:no-repeat,no-repeat,no-repeat,repeat;
  background-position:0 0,0 0,0 0,0 0;
  animation:blk-aura 170s linear infinite}
@keyframes blk-drift{to{background-position:300px 300px}}
@keyframes blk-drift-s{to{background-position:230px 230px,0 0}}
@keyframes blk-aura{to{background-position:0 0,0 0,0 0,380px 380px}}
.brand-sigil{align-self:center;width:34px;height:34px;flex:none;display:inline-block;vertical-align:middle;margin-right:9px;filter:drop-shadow(0 2px 9px rgba(233,228,212,.45))}
.brand-sigil svg{width:100%;height:100%;display:block}
.brand-sigil .spin{transform-origin:24px 24px;animation:sig-spin 64s linear infinite}
@keyframes sig-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.gate,.sidebar,.dash-aura{animation:none}.brand-sigil .spin{animation:none}}

/* animated shimmer on the wordmarks */
.brand .mark,.login-mark{background-image:linear-gradient(110deg,#9aa3b2,#fbf7ec 24%,#e9e4d4 45%,#f7ecc0 55%,#c8c1ab 76%,#9aa3b2);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:blk-shimmer 7s linear infinite}
@keyframes blk-shimmer{to{background-position:-220% center}}

/* gold hairline accents */
.camp,.login,.addform-wrap{position:relative;overflow:hidden}
.camp::before,.login::before{content:'';position:absolute;top:0;left:14%;right:14%;height:1px;background:linear-gradient(90deg,transparent,rgba(233,228,212,.6),transparent);z-index:3}

/* opulent sheen sweeps on hover */
.launch,.doc-card{position:relative;overflow:hidden}
.launch::after,.camp::after,.doc-card::after,.metric::before{content:'';position:absolute;top:0;left:-75%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(233,228,212,.14),transparent);transform:skewX(-18deg);transition:left .6s cubic-bezier(.2,.6,.2,1);pointer-events:none;z-index:2}
.launch:hover::after,.camp:hover::after,.doc-card:hover::after,.metric:hover::before{left:135%}

/* hover lift + gold glow */
.metric,.doc-card{transition:transform .22s,box-shadow .22s,border-color .22s}
.metric:hover,.doc-card:hover{transform:translateY(-3px);border-color:rgba(233,228,212,.42);box-shadow:0 16px 40px rgba(0,0,0,.5),0 0 26px rgba(233,228,212,.13)}
.camp{transition:border-color .25s,box-shadow .25s}
.camp:hover{border-color:rgba(233,228,212,.3);box-shadow:0 22px 55px rgba(0,0,0,.55),0 0 32px rgba(233,228,212,.09)}
.launch{transition:transform .18s,border-color .18s,box-shadow .18s}

/* nav hover accent bar */
.nav-item{position:relative;overflow:hidden}
.nav-item:not(.active)::before{content:'';position:absolute;left:0;top:22%;bottom:22%;width:2px;border-radius:0 2px 2px 0;background:var(--gold-grad);transform:scaleY(0);transition:transform .2s}
.nav-item:not(.active):hover::before{transform:scaleY(1)}

/* button light sweep */
.btn{position:relative;overflow:hidden}
.btn::after{content:'';position:absolute;top:0;left:-85%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .5s;pointer-events:none}
.btn:hover::after{left:150%}

/* primary chip hover glow */
.chip.lg{transition:transform .15s,box-shadow .15s}
.chip.mail.lg:hover{box-shadow:0 5px 16px rgba(52,211,153,.28)}
.chip.phone.lg:hover{box-shadow:0 5px 16px rgba(91,140,255,.28)}

/* ---- tertiary link visibility + clickability ---- */
.chip.tert{color:var(--muted);border-color:var(--stroke2)}
a.chip.tert{cursor:pointer;text-decoration:none}
a.chip.tert:hover{color:var(--gold);border-color:var(--gold2);background:rgba(233,228,212,.07)}
/* ---- BlikkyOS wordmark ---- */
.brand{align-items:baseline}
.mark-os{font-family:var(--serif);font-weight:700;font-size:15px;color:var(--gold2);margin-left:1px;letter-spacing:.01em}
.login-os{font-size:.5em;color:var(--gold2);margin-left:1px;vertical-align:baseline}
/* ---- GrandioseBaddie board ---- */
.gb-link{color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:4px;border-bottom:1px solid rgba(233,228,212,.3)}
.gb-link:hover{border-color:var(--gold)}
.gb-card{overflow:hidden;display:flex;flex-direction:column;padding:0}
.gb-img{display:block;aspect-ratio:4/5;background:rgba(0,0,0,.3);overflow:hidden}
.gb-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gb-card:hover .gb-img img{transform:scale(1.04)}
.gb-noimg{display:flex;align-items:center;justify-content:center;color:var(--gold2);opacity:.4}
.gb-body{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.gb-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gb-title{font-weight:700;font-size:14.5px}
.gb-notes{color:var(--muted);font-size:13px;line-height:1.5}
.gb-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:6px}
.gb-by{color:var(--faint);font-size:12px;font-style:italic}

/* ---- industry CRUD + outreach tracker ---- */
.ind-addcamp{margin-bottom:18px}
.ind-addcamp summary,.add-contact summary{cursor:pointer;color:var(--muted);font-size:13px;list-style:none;display:flex;align-items:center;gap:7px;padding:12px 18px}
.ind-addcamp summary::-webkit-details-marker,.add-contact summary::-webkit-details-marker{display:none}
.ind-addcamp summary:hover,.add-contact summary:hover{color:var(--gold)}
.add-contact{border-top:1px solid rgba(255,255,255,.06);margin-top:4px}
.add-contact summary{padding:11px 20px;font-size:12.5px}
.ac-form{display:flex;flex-wrap:wrap;gap:8px;padding:2px 20px 16px}
.ac-form input{flex:1;min-width:110px;background:rgba(255,255,255,.04);border:1px solid var(--stroke2);border-radius:9px;padding:9px 11px;color:var(--ink);font-size:13px;outline:none;font-family:var(--sans)}
.ac-form input:focus{border-color:var(--gold2)}
.ct-tools{margin-left:auto;display:inline-flex;gap:2px;opacity:0;transition:.15s}
.contact:hover .ct-tools{opacity:1}
.icon-btn.xs{padding:3px}
.icon-btn.xs:hover{color:var(--gold);border-color:var(--gold2)}
.icon-btn.xs[title^="Delete"]:hover{color:var(--crimson);border-color:rgba(255,107,129,.3)}
.camp .camp-top .icon-btn.xs{opacity:0;transition:.15s}
.camp:hover .camp-top .icon-btn.xs{opacity:.7}
.outreach{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.os-note{flex:1;min-width:120px;background:rgba(255,255,255,.03);border:1px solid var(--stroke2);border-radius:8px;padding:6px 9px;color:var(--muted);font-size:12px;outline:none;font-family:var(--sans)}
.os-note:focus{border-color:var(--gold2);color:var(--ink)}
.os-date{font-size:11px;color:var(--faint)}
.mini-sel.os-none{color:var(--faint)}
.mini-sel.os-contacted{color:var(--gold);border-color:rgba(233,228,212,.35)}
.mini-sel.os-replied{color:var(--sapphire);border-color:rgba(91,140,255,.35)}
.mini-sel.os-deal{color:var(--emerald);border-color:rgba(52,211,153,.4)}
.mini-sel.os-passed{color:var(--faint)}
.ct-edit{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0}
.ct-edit input{flex:1;min-width:130px;background:rgba(255,255,255,.04);border:1px solid var(--stroke2);border-radius:9px;padding:9px 11px;color:var(--ink);font-size:13px;outline:none;font-family:var(--sans)}
.ct-edit input:focus{border-color:var(--gold2)}
.ct-edit-btns{display:flex;gap:8px;width:100%}
.btn.sm{padding:8px 14px;font-size:13px}

/* ---- intelligence layer: fit + warm-path ---- */
.ind-controls{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.ind-sort{display:inline-flex;align-items:center;gap:6px;background:var(--glass);border:1px solid var(--stroke2);color:var(--muted);font:inherit;font-size:12.5px;padding:7px 13px;border-radius:20px;cursor:pointer;transition:.15s}
.ind-sort:hover{color:var(--gold);border-color:var(--gold2)}
.ind-sort.on{color:#1a1206;background:var(--gold-grad);border-color:transparent;font-weight:700}
.aff-active{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.aff-active b{color:var(--gold)}
.aff-active button{background:transparent;border:1px solid var(--stroke2);color:var(--faint);font:inherit;font-size:11px;padding:3px 9px;border-radius:8px;cursor:pointer}
.aff-active button:hover{color:var(--crimson);border-color:rgba(255,107,129,.3)}
.fit{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:6px;vertical-align:middle;margin-left:4px;font-weight:700}
.fit-hi{color:#1a1206;background:var(--gold-grad)}
.fit-mid{color:var(--gold);border:1px solid rgba(233,228,212,.35)}
.aff-row{display:flex;flex-wrap:wrap;gap:6px;padding:2px 20px 4px}
.aff-chip{background:rgba(255,255,255,.03);border:1px solid var(--stroke2);color:var(--faint);font:inherit;font-size:10.5px;padding:3px 9px;border-radius:20px;cursor:pointer;transition:.15s}
.aff-chip:hover{color:var(--sapphire);border-color:rgba(91,140,255,.4)}
.aff-chip.on{color:#1a1206;background:linear-gradient(135deg,#93b4ff,#5b8cff);border-color:transparent;font-weight:700}

/* best-targets panel (command center) */
.bt-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:.15s}
.bt-row:last-child{border:none}
.bt-row:hover{background:rgba(233,228,212,.04);padding-left:6px}
.bt-name{font-weight:600;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip.mail.lg{font-size:12px;padding:4px 10px}
.bt-row .fit{flex-shrink:0}

/* ===== BlikkyOS polish: front-door-grade cards / nav / headers ===== */
.nav-item.active{box-shadow:0 10px 26px -12px rgba(233,228,212,.6)}
.metric,.crew-card,.glass.two-col,.doc-card,.camp{transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.metric:hover,.crew-card:hover{transform:translateY(-3px);border-color:var(--stroke2);box-shadow:0 22px 50px -28px rgba(0,0,0,.82),0 0 34px -12px rgba(233,228,212,.3)}
.metric{box-shadow:inset 0 2px 0 rgba(233,228,212,.32)}
.page-head h1{position:relative}
.page-head h1::after{content:"";display:block;width:46px;height:2px;margin-top:13px;background:var(--gold-grad);border-radius:2px;opacity:.75}
@keyframes blk-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){#view>.page-head{animation:blk-rise .5s cubic-bezier(.2,.8,.2,1) both}#view .crew-roster>*,#view .metric-grid>*,#view .camp-grid>*{animation:blk-rise .55s cubic-bezier(.2,.8,.2,1) both}#view .crew-roster>*:nth-child(2),#view .metric-grid>*:nth-child(2){animation-delay:.05s}#view .crew-roster>*:nth-child(3),#view .metric-grid>*:nth-child(3){animation-delay:.1s}#view .metric-grid>*:nth-child(4){animation-delay:.15s}}

/* --- OS wordmark: tight sexy gold suffix + grouped nav --- */
.brand .wordmark{display:inline-flex;align-items:baseline;gap:0;line-height:1}
.mark-os{margin-left:2px;font-family:var(--serif);font-size:15px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-group-label{font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:17px 12px 8px;opacity:.85}
#nav>.nav-group-label:first-child{margin-top:4px}
@media(max-width:1000px){.nav-group-label{display:none}}

/* --- Esoterica: login gate + topbar --- */
.login{align-items:center}
.login-sigil{width:60px;height:60px;display:block;margin:2px auto 14px;filter:drop-shadow(0 3px 16px rgba(233,228,212,.5));animation:blk-float 6s ease-in-out infinite}
.login-sigil svg{width:100%;height:100%;display:block}
.login-sigil .spin{transform-origin:24px 24px;animation:sig-spin 64s linear infinite}
.login-aura{position:fixed;top:50%;left:50%;width:640px;height:640px;transform:translate(-50%,-50%);z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(233,228,212,.13),rgba(233,228,212,.05) 42%,transparent 68%);filter:blur(6px);animation:blk-pulse 9s ease-in-out infinite}
.gate .login{position:relative;z-index:2}
.login-mark{margin-bottom:2px}
.login-mark .mark-os{font-size:.52em}
@keyframes blk-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes blk-pulse{0%,100%{opacity:.7}50%{opacity:1}}
/* topbar: left brand flourish + gold hairline */
.topbar{justify-content:space-between;position:relative;padding-bottom:16px}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(233,228,212,.42),rgba(233,228,212,.08) 55%,transparent);box-shadow:0 0 14px rgba(233,228,212,.14)}
.tb-brand{display:inline-flex;align-items:center;gap:9px}
.tb-sigil{width:24px;height:24px;display:inline-block;flex:none;filter:drop-shadow(0 1px 6px rgba(233,228,212,.4))}
.tb-sigil svg{width:100%;height:100%;display:block}
.tb-sigil .spin{transform-origin:24px 24px;animation:sig-spin 64s linear infinite}
.tb-mark{font-family:var(--serif);font-weight:800;font-size:16px;letter-spacing:.4px;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tb-mark .mark-os{font-size:.62em}
.tb-spacer{flex:1}
@media(max-width:1000px){.tb-mark{display:none}}
@media(prefers-reduced-motion:reduce){.login-sigil,.login-aura,.login-sigil .spin,.tb-sigil .spin{animation:none}}

/* --- Gate: request-access mode --- */
.gate-alt{font-size:12.5px;color:var(--muted);text-align:center;margin-top:7px;line-height:1.5}
.gate-alt a{color:var(--gold);cursor:pointer;border-bottom:1px solid rgba(233,228,212,.32)}
.gate-alt a:hover{border-color:var(--gold)}
.gate-ta{min-height:78px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;padding-top:10px}

/* --- The Gate (applicants) --- */
.nav-badge{margin-left:auto;font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;background:var(--amethyst);color:#140f22;border-radius:20px;padding:3px 7px}
.nav-item.active .nav-badge{background:rgba(26,18,6,.72);color:var(--gold)}
.gate-sub{font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:28px 0 12px}
.applist{display:flex;flex-direction:column;gap:12px}
.applist.dim{opacity:.62}
.appl{padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}
.appl-ava{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:18px;background:rgba(233,228,212,.08);border:1px solid var(--stroke2);color:var(--gold);flex:none}
.appl-n{font-family:var(--serif);font-size:16.5px;font-weight:700;display:flex;align-items:center;gap:9px}
.appl-tag{font:600 8.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:20px;border:1px solid}
.appl-tag.pend{color:var(--amethyst);border-color:rgba(157,138,214,.42)}
.appl-tag.ok{color:var(--emerald);border-color:rgba(95,185,138,.42)}
.appl-tag.no{color:var(--crimson);border-color:rgba(209,96,122,.42)}
.appl-e{font:500 12px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--gold);margin-top:4px}
.appl-w{font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.5;max-width:64ch}
.appl-t{font:500 10.5px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);margin-top:8px}
.appl-act{display:flex;flex-direction:column;gap:8px}
.bok,.bno{border:1px solid;border-radius:9px;padding:8px 15px;font-size:12.5px;font-weight:600;background:none;transition:.14s;white-space:nowrap;cursor:pointer}
.bok{color:var(--emerald);border-color:rgba(95,185,138,.4)}.bok:hover{background:var(--emerald);color:#06140d}
.bno{color:var(--crimson);border-color:rgba(209,96,122,.35)}.bno:hover{background:var(--crimson);color:#1c0810}
@media(max-width:640px){.appl{grid-template-columns:1fr;gap:12px}.appl-act{flex-direction:row}}

/* ===== Chunk 2: ember background + Command Center home ===== */
#dash-embers{position:fixed;inset:0;z-index:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){#dash-embers{display:none}}
.hub-eyebrow{font:600 10.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;text-shadow:0 0 14px rgba(233,228,212,.3)}
.hub-h1{font-family:var(--serif);font-size:clamp(28px,3.6vw,40px);font-weight:800;line-height:1.06;letter-spacing:-.4px}
.hub-h1 em{font-style:normal;background:var(--sheen);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shine 5.5s linear infinite}
.hub-sub{color:var(--muted);font-size:15px;margin-top:10px;max-width:64ch}
.hub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:24px}
.hstat{padding:22px 20px;min-height:140px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.hstat::after{content:"";position:absolute;right:-28px;top:-28px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(233,228,212,.12),transparent 70%)}
.hstat-tag{align-self:flex-start;font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);background:rgba(233,228,212,.08);border:1px solid rgba(233,228,212,.3);border-radius:20px;padding:6px 11px}
.hstat-v{font-family:var(--serif);font-size:48px;font-weight:800;line-height:1;margin-top:auto;font-variant-numeric:tabular-nums;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 14px rgba(233,228,212,.35))}
.hstat-d{font-size:12px;color:var(--muted)}
.hstat-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hstat-edit{background:none;border:1px solid var(--stroke2);border-radius:8px;color:var(--muted);width:27px;height:27px;display:grid;place-items:center;cursor:pointer;transition:.14s;flex:none}
.hstat-edit:hover{border-color:var(--gold);color:var(--gold)}
.hstat-row{display:flex;align-items:center;gap:10px;margin-top:9px;flex-wrap:wrap}
.hstat-trend{font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;padding:4px 8px;border-radius:20px}
.hstat-trend.up{color:var(--emerald);background:rgba(95,185,138,.1)}
.hstat-trend.dn{color:var(--crimson);background:rgba(209,96,122,.1)}
.hs-in{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--stroke2);border-radius:9px;padding:9px 11px;color:var(--ink);font-size:12.5px;font-family:inherit;margin-bottom:8px}
.hs-in:focus{outline:none;border-color:var(--gold)}
.hs-actions{display:flex;gap:8px;margin-top:2px}

/* ===== Command Center portals ===== */
.hub-portals{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:24px}
.portal{padding:24px 22px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:.16s;min-height:172px}
.portal:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 22px 48px -22px rgba(233,228,212,.42)}
.portal-i{color:var(--gold);filter:drop-shadow(0 2px 12px rgba(233,228,212,.45))}
.portal-t{font-family:var(--serif);font-size:20px;font-weight:800}
.portal-d{font-size:12.5px;color:var(--muted);line-height:1.5;flex:1}
.portal-go{font:600 10.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.portal.soon{opacity:.55}.portal.soon:hover{transform:none;border-color:var(--stroke2);box-shadow:none}
.portal.soon .portal-i,.portal.soon .portal-t,.portal.soon .portal-go{color:var(--faint)}
@media(max-width:900px){.hub-portals{grid-template-columns:1fr}}

/* ===== Beat Library ===== */
.upl{padding:20px;margin:6px 0 20px;display:flex;flex-direction:column;gap:10px}
.upl[hidden]{display:none}
.upl-ta{min-height:66px;resize:vertical;font-family:inherit}
.upl-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.upl-note{font-size:12px;color:var(--faint)}.upl-note b{color:var(--amethyst)}
.upl-actions{display:flex;align-items:center;gap:12px;margin-top:2px}
.upl-msg{font-size:12.5px;color:var(--muted)}
@media(max-width:640px){.upl-row{grid-template-columns:1fr}}
.trackwrap{margin:6px 0 10px}
.lib-sec{font-family:var(--serif);font-size:17.5px;font-weight:700;color:var(--ink);margin:26px 0 14px;display:flex;align-items:center;gap:11px}
.lib-sec:first-child{margin-top:8px}
.lib-count{font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--gold);border:1px solid var(--stroke2);border-radius:20px;padding:3px 8px}
.tracks{columns:340px;column-gap:16px}
.track{padding:20px;display:flex;flex-direction:column;break-inside:avoid;margin:0 0 16px;width:100%}
.track-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.track-flag{font:600 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:20px;border:1px solid var(--stroke2);color:var(--muted)}
.track-flag.t-instrumental{color:var(--sapphire);border-color:rgba(74,124,214,.4)}
.track-flag.t-full{color:var(--emerald);border-color:rgba(95,185,138,.4)}
.track-flag.t-unfinished{color:var(--amethyst);border-color:rgba(157,138,214,.4)}
.track-flag.t-open{color:var(--gold);border-color:rgba(233,228,212,.4)}
.track-meta{display:flex;align-items:center;gap:10px}
.track-plays{font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);display:inline-flex;align-items:center;gap:4px}
.track-t{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.15}
.track-by{font-size:12.5px;color:var(--gold);margin-top:3px}
.track-d{font-size:13px;color:var(--muted);line-height:1.5;margin-top:10px}
.track-frame{margin-top:14px}
.track-audio{width:100%;height:42px;border-radius:10px}
.track-nourl{font-size:12px;color:var(--faint);padding:12px;text-align:center;border:1px dashed var(--stroke2);border-radius:10px}
.track-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;flex-wrap:wrap}
.track-reacts{display:flex;flex-wrap:wrap;gap:6px}
.rbtn{background:rgba(255,255,255,.03);border:1px solid var(--stroke2);border-radius:9px;padding:5px 8px;font-size:14px;cursor:pointer;transition:.13s;display:inline-flex;align-items:center;gap:4px;line-height:1}
.rbtn:hover{border-color:var(--gold);transform:translateY(-1px)}
.rbtn.on{border-color:var(--gold);background:rgba(233,228,212,.12)}
.rbtn span{font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--gold)}
.track-flags{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.track-plat{font:600 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border:1px solid var(--stroke2);border-radius:20px;padding:4px 8px}
.track-frame .emb{width:100%;border:0;border-radius:12px;display:block;background:#0a0810}
.emb-audio{height:152px}
.emb-audio.emb-tall{height:352px}
.emb-video{aspect-ratio:16/9;height:auto}
.emb-vert{height:520px;max-height:64vh}
.emb-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold);border:1px solid var(--stroke2);border-radius:10px;padding:11px 15px;font-size:13px;text-decoration:none;transition:.14s}
.emb-link:hover{border-color:var(--gold)}
.upl-or{font-size:12px;color:var(--muted);margin-top:2px}.upl-or span{color:var(--faint)}

/* ===== #5: modernize remaining tabs (shared components) ===== */
.page-head h1{font-size:37px;text-shadow:0 0 24px rgba(233,228,212,.14)}
.page-head p{font-size:15px;max-width:64ch}
.metric{transition:border-color .2s,transform .2s,box-shadow .2s;min-height:120px}
.metric:hover{border-color:var(--stroke2);transform:translateY(-3px);box-shadow:0 20px 42px -24px rgba(0,0,0,.9),0 0 26px -14px rgba(233,228,212,.4)}
.metric .val{filter:drop-shadow(0 2px 12px rgba(233,228,212,.22))}
.metric .lab{font-size:10px}
.launch{transition:.16s}
.launch:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 18px 40px -20px rgba(233,228,212,.34)}
.launch .em{filter:drop-shadow(0 2px 10px rgba(233,228,212,.4))}
.launch .nm{font-family:var(--serif);font-size:15px}
.camp{transition:border-color .2s,box-shadow .2s}
.camp:hover{border-color:var(--stroke2);box-shadow:0 20px 44px -24px rgba(0,0,0,.9),0 0 24px -14px rgba(233,228,212,.3)}
.camp-name{font-size:20px}
.camp-badge{box-shadow:0 0 18px -6px rgba(233,228,212,.5)}
.glass{transition:border-color .2s,box-shadow .2s}
/* #3: non-founders can view but not edit core data (RLS also enforces this) */
body.nf .addform-wrap,body.nf .ind-addcamp,body.nf .add-contact,body.nf .doc-editbar,body.nf .culdoc-new,body.nf .doc-badge{display:none!important}

/* ===== #7: Tools tab showcase ===== */
.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start;margin-bottom:6px}
.toolc{padding:22px}
.toolc.span2{grid-column:1/-1}
.toolc.soon{opacity:.55}
.toolc-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.toolc-flag{font:600 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:20px;border:1px solid var(--stroke2);color:var(--muted)}
.toolc-flag.ok{color:var(--emerald);border-color:rgba(95,185,138,.4)}
.toolc-flag.gold{color:var(--gold);border-color:rgba(233,228,212,.4)}
.toolc-flag.soon{color:var(--faint)}
.toolc-plat{font:600 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.toolc-t{font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.15}
.toolc-d{font-size:13.5px;color:var(--muted);line-height:1.55;margin-top:8px}
.toolc-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.toolc-foot{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.ab{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap;background:rgba(255,255,255,.03);border:1px solid var(--stroke2);border-radius:12px;padding:12px 14px}
.ab-play{background:var(--gold-grad);color:#160e03;border:none;border-radius:10px;padding:9px 16px;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}
.ab-tg{display:flex;gap:6px}
.ab-tg button{background:rgba(255,255,255,.04);border:1px solid var(--stroke2);border-radius:9px;padding:8px 12px;font-size:12px;color:var(--muted);cursor:pointer;transition:.14s}
.ab-tg button.on{background:rgba(233,228,212,.14);border-color:var(--gold);color:var(--gold)}
.ab-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--emerald)}
.dcalc{margin-top:16px;background:rgba(255,255,255,.03);border:1px solid var(--stroke2);border-radius:12px;padding:16px}
.dcalc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.dcalc label{display:flex;flex-direction:column;gap:6px;font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.dcalc input{background:rgba(255,255,255,.04);border:1px solid var(--stroke2);border-radius:9px;padding:10px 12px;color:var(--ink);font-size:14px;font-family:inherit}
.dcalc input:focus{outline:none;border-color:var(--gold)}
.dcalc-out{margin-top:14px}
.dc-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--stroke2);font-size:14px;color:var(--ink)}
.dc-line b{font-family:var(--serif);font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.dc-line.lbl b{color:var(--crimson)}
.dc-line.own b{color:var(--emerald)}
.dc-diff{margin-top:14px;padding:12px 14px;border-radius:10px;background:rgba(95,185,138,.1);border:1px solid rgba(95,185,138,.3);font-size:13.5px;color:var(--ink)}
.dc-diff b{color:var(--emerald)}
@media(max-width:760px){.tools-grid{grid-template-columns:1fr}.toolc.span2{grid-column:auto}.dcalc-row{grid-template-columns:1fr}}

/* ===== #8: gated factory module (.cg-*) + ice-blur gate ===== */
.cg-models{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 14px}
.cg-mtab{background:rgba(255,255,255,.04);border:1px solid var(--stroke2);border-radius:20px;padding:8px 16px;color:var(--muted);cursor:pointer;font-size:13px;transition:.14s}
.cg-mtab.on{background:var(--gold-grad);color:#160e03;border-color:transparent;font-weight:600}
.cg-mtab.add{color:var(--faint)}
/* Model tab: name + operator on ONE baseline. The stacked uppercase caption made
   the active gold pill unreadable and left operator-less models (Gia) misaligned. */
.cg-mtab{display:inline-flex;align-items:baseline;gap:8px;line-height:1.1}
.cg-mnm{font-weight:600}
.cg-mop{font-size:11px;letter-spacing:.02em;opacity:.6;font-weight:500}
.cg-mtab.on .cg-mop{opacity:.72;color:#3b2a06}

/* SET chips (outfit / theme level) */
.cg-sets{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.cg-set{background:rgba(157,138,214,.07);border:1px solid rgba(157,138,214,.26);border-radius:14px;padding:6px 13px;color:var(--muted);cursor:pointer;font:500 12px/1 inherit;display:inline-flex;align-items:center;gap:7px;transition:.14s}
.cg-set:hover{border-color:var(--amethyst,#9d8ad6);color:var(--ink)}
.cg-set span{font:600 11px/1 ui-monospace,monospace;opacity:.55}
.cg-set.on{background:linear-gradient(135deg,#9d8ad6,#7d68c0);color:#120c22;border-color:transparent;font-weight:600}
.cg-set.on span{opacity:.8}

/* Collapsible SET group */
.lib-set{margin:0 0 10px;border:1px solid var(--stroke2);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.015)}
.lib-set.open{background:rgba(255,255,255,.03)}
.lib-set-h{width:100%;display:flex;align-items:center;gap:12px;padding:13px 16px;background:none;border:0;cursor:pointer;color:var(--ink);text-align:left;font:inherit;transition:.14s}
.lib-set-h:hover{background:rgba(255,255,255,.04)}
.lib-caret{color:var(--gold);font-size:12px;width:12px;flex:none}
.lib-set-n{font:600 15px/1.2 inherit;letter-spacing:.01em}
.lib-set-c{font:600 11px/1 ui-monospace,monospace;color:#160e03;background:var(--gold-grad);padding:3px 8px;border-radius:9px}
.lib-set-r{margin-left:auto;font:500 11px/1 inherit;color:var(--faint);letter-spacing:.04em}
.lib-set .lib-sec{margin:14px 16px 8px}
.lib-set .cg-grid{padding:0 16px 14px}

/* The reveal control must stay reachable: the frosted container is thousands of
   pixels tall, and absolute positioning parked the button off-screen. */
/* The reveal control must stay reachable: the container is thousands of pixels
   tall and absolute positioning parked the button off-screen. */
.cg-nsfw:not(.revealed) .cg-blur-msg{position:sticky;top:12px;z-index:6}
.cg-tiers{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.cg-chip{background:rgba(255,255,255,.03);border:1px solid var(--stroke2);border-radius:14px;padding:5px 12px;color:var(--muted);cursor:pointer;font:500 12px/1 inherit;display:inline-flex;align-items:center;gap:7px;transition:.14s}
.cg-chip:hover{border-color:var(--gold);color:var(--ink)}
.cg-chip span{font:600 11px/1 ui-monospace,monospace;opacity:.6}
.cg-chip.on{background:var(--gold-grad);color:#160e03;border-color:transparent;font-weight:600}
.cg-chip.on span{opacity:.75}
.cg-chip.t-adult,.cg-chip.t-operator{border-color:rgba(157,138,214,.4)}
.cg-card{cursor:zoom-in}
/* Filenames are long and were clipping mid-word against the card edge. One line,
   ellipsis, and the full name on hover via title=. */
.cg-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Tier reads as a corner badge. As a static block it sat outside the fixed
   aspect-ratio card and never rendered at all. */
.cg-meta{position:absolute;top:7px;left:7px;font:600 9px/1 ui-monospace,monospace;
  letter-spacing:.06em;text-transform:uppercase;color:#f2ead7;
  background:rgba(12,9,18,.72);backdrop-filter:blur(3px);
  border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:3px 6px}
.cg-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.cg-count{font:500 12px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint)}
.cg-up{cursor:pointer}
.cg-wrap{margin-bottom:12px}
.cg-nsfw{position:relative;border-radius:14px;overflow:hidden;min-height:220px}
/* The index is always readable; images simply are not rendered until reveal.
   Blurring an 800-image grid bled a haze over the headings, fought
   overflow:hidden, and still paid the cost of building every <img>. */
.cg-gate{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px;padding:12px 16px;border:1px solid rgba(200,220,245,.18);border-radius:12px;background:linear-gradient(135deg,rgba(190,215,240,.10),rgba(150,175,220,.05))}
.cg-gate-t{font-size:12.5px;color:var(--muted);flex:1;min-width:180px}
.cg-hidden{font:500 11.5px/1 inherit;color:var(--faint);letter-spacing:.03em;padding:2px 16px 14px;font-style:italic}
.cg-blur-msg{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:18px 0;background:linear-gradient(135deg,rgba(190,215,240,.12),rgba(150,175,220,.06));backdrop-filter:blur(3px);border:1px solid rgba(200,220,245,.18);border-radius:14px}
.cg-nsfw.revealed .cg-blur-msg{display:none}
.cg-lock{font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:#c9def5;border:1px solid rgba(190,215,240,.4);border-radius:20px;padding:9px 15px;background:rgba(190,215,240,.1)}
.cg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin-bottom:8px}
.cg-card{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--stroke2);aspect-ratio:3/4;background:#141019}
.cg-card img{width:100%;height:100%;object-fit:cover;display:block}
.cg-noimg{width:100%;height:100%}
.cg-del{position:absolute;top:6px;right:6px;background:rgba(10,8,16,.72);border:1px solid var(--stroke2);border-radius:8px;color:var(--muted);padding:4px 5px;cursor:pointer;opacity:0;transition:.15s}
.cg-card:hover .cg-del{opacity:1}
.cg-del:hover{color:var(--crimson)}
.cg-title{position:absolute;left:0;right:0;bottom:0;padding:8px 10px 7px;font:500 10.5px/1.3 "JetBrains Mono",ui-monospace,monospace;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72))}

/* ===== BLIKKY BEATS FOR THE CULT (free-beats gift, top of Library) — enterprise pass ===== */
.fb-hero{position:relative;margin:22px 0 34px;padding:34px 32px 26px;border-radius:22px;overflow:hidden;
  background:radial-gradient(90% 120% at 0% -10%,rgba(233,228,212,.14),transparent 55%),radial-gradient(80% 120% at 100% 110%,rgba(52,211,153,.06),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.006));
  border:1px solid var(--stroke);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 26px 66px rgba(0,0,0,.45)}
.fb-eyebrow{display:inline-flex;align-items:center;gap:9px;font:700 10.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.fb-h2{margin:15px 0 10px;font:800 clamp(28px,4vw,40px)/1.0 var(--serif,serif);letter-spacing:-.015em;color:#fff;text-wrap:balance}
.fb-h2 em{font-style:normal;background:var(--sheen);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 5.5s linear infinite}
.fb-sub{max-width:66ch;color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 16px}
.fb-add-row{margin-bottom:12px}
.fb-addform{margin-bottom:18px}
.fb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.fb-card{position:relative;padding:20px 20px 16px;border-radius:18px;display:flex;flex-direction:column;gap:12px;overflow:hidden;
  background:linear-gradient(168deg,rgba(255,255,255,.05),rgba(255,255,255,.012) 60%),var(--bg2);
  border:1px solid var(--stroke2);box-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 16px 38px rgba(0,0,0,.36);
  transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s,box-shadow .22s}
.fb-card::before{content:"";position:absolute;inset:0;border-radius:18px;padding:1px;background:linear-gradient(150deg,rgba(233,228,212,.5),transparent 42%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .22s;pointer-events:none}
.fb-card:hover{transform:translateY(-4px);border-color:rgba(233,228,212,.26);box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 26px 54px rgba(0,0,0,.5),0 0 36px rgba(233,228,212,.06)}
.fb-card:hover::before{opacity:1}
.fb-ch{display:flex;align-items:center;gap:9px}
.fb-tag{font:700 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#160e03;background:var(--gold-grad);border-radius:100px;padding:5px 10px}
.fb-plat{font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);background:rgba(255,255,255,.05);border:1px solid var(--stroke2);border-radius:7px;padding:4px 8px}
.fb-del{margin-left:auto;color:var(--faint)}
.fb-del:hover{color:var(--crimson)}
.fb-ct{font:700 21px/1.15 var(--serif,serif);color:#fff;letter-spacing:-.01em}
.fb-cnote{font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:-4px}
.fb-cframe{margin-top:2px}
.fb-cframe .emb{width:100%;border:none;border-radius:12px}
.fb-cframe .emb-audio{height:152px}
.fb-cframe .emb-link,.fb-cframe .track-nourl{display:inline-flex;font-size:12.5px;color:var(--muted);padding:10px 0}
.fb-cfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.fb-dls{display:flex;flex-wrap:wrap;gap:8px}
.fb-usedby{font:700 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--emerald,#34d399);border:1px solid rgba(52,211,153,.32);background:rgba(52,211,153,.08);border-radius:100px;padding:4px 9px}
.fb-card.fb-used{opacity:.9}
.btn.sm.ghost{background:transparent;border:1px solid var(--stroke2);color:var(--muted)}
@media(max-width:760px){.fb-grid{grid-template-columns:1fr}.fb-hero{padding:26px 22px 22px}}
.lk-hero{background:radial-gradient(90% 120% at 0% -10%,rgba(52,211,153,.13),transparent 55%),radial-gradient(80% 120% at 100% 110%,rgba(233,228,212,.06),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.006))}
.lk-hero .fb-eyebrow{color:var(--emerald,#34d399)}
.lk-stage{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted);margin:2px 0 4px;cursor:pointer}
.lk-stage input{width:15px;height:15px;accent-color:var(--emerald,#34d399)}

/* ===== Artist Outreach cockpit ===== */
.oa-add{padding:20px 22px;margin-bottom:22px;border-radius:18px}
.oa-add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px}
.oa-add-detail{width:100%;min-height:56px;resize:vertical;margin-bottom:10px}
.oa-add-foot{display:flex;align-items:center;gap:14px}
.oa-alias-hint{font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);letter-spacing:.04em}
.oa-alias-hint b{color:var(--gold);text-transform:uppercase}
.oa-group{margin:0 0 26px}
.oa-group-head{display:flex;align-items:baseline;gap:11px;margin:0 0 13px;padding-bottom:8px;border-bottom:1px solid var(--stroke2)}
.oa-group-t{font:800 15px/1 var(--serif,serif);color:#fff;letter-spacing:.01em}
.oa-group-c{font:700 10px/1 "JetBrains Mono",ui-monospace,monospace;color:#160e03;background:var(--gold-grad);border-radius:100px;padding:4px 8px}
.oa-group-h{font:500 11.5px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);letter-spacing:.02em}
.oa-hotgroup .oa-group-t{background:linear-gradient(100deg,#34d399,#a7f3d0 55%,#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.oa-hotgroup .oa-group-c{background:linear-gradient(100deg,#34d399,#0f7a58);color:#04140d}
.oa-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:15px}
.oa-card{position:relative;padding:16px 17px 14px;border-radius:16px;display:flex;flex-direction:column;gap:11px;
  background:linear-gradient(168deg,rgba(255,255,255,.05),rgba(255,255,255,.012) 60%),var(--bg2);
  border:1px solid var(--stroke2);box-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 14px 34px rgba(0,0,0,.34);transition:border-color .22s,box-shadow .22s,transform .22s}
.oa-card:hover{transform:translateY(-2px);border-color:rgba(233,228,212,.24)}
.oa-warm{border-color:rgba(52,211,153,.4);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 14px 40px rgba(0,0,0,.4),0 0 34px rgba(52,211,153,.14)}
.oa-c-head{display:flex;align-items:center;gap:11px}
.oa-ava{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:800 15px/1 var(--serif,serif);color:#160e03;background:var(--gold-grad)}
.oa-warm .oa-ava{background:linear-gradient(140deg,#34d399,#0f7a58);color:#eafff6}
.oa-id{flex:1;min-width:0}
.oa-nm{font:700 15px/1.2 var(--serif,serif);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oa-sub{font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);letter-spacing:.05em;margin-top:3px}
.oa-del{color:var(--faint)}.oa-del:hover{color:var(--crimson)}
.oa-chips{display:flex;flex-wrap:wrap;gap:6px}
.oa-chip{font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.05);border:1px solid var(--stroke2);border-radius:7px;padding:4px 8px;text-decoration:none}
.oa-chip-alias{color:var(--gold);border-color:rgba(233,228,212,.3);background:rgba(233,228,212,.08)}
a.oa-chip:hover{color:#fff;border-color:var(--stroke)}
.oa-lab{display:block;font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}
.oa-warn{color:#efc06a;background:rgba(239,192,106,.12);border-radius:5px;padding:2px 6px;margin-left:6px;letter-spacing:.04em}
.oa-detail,.oa-mini,.oa-draft-ta{width:100%;background:rgba(0,0,0,.22);border:1px solid var(--stroke2);border-radius:9px;color:var(--ink,#f4f1ea);font:400 12.5px/1.5 inherit;padding:8px 10px;resize:vertical}
.oa-detail{min-height:44px}
.oa-detail:focus,.oa-mini:focus,.oa-draft-ta:focus{outline:none;border-color:rgba(233,228,212,.4)}
.oa-draft-block{border-top:1px dashed var(--stroke2);padding-top:10px}
.oa-draft-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 12px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--muted)}
.oa-mtr{font:600 8.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);background:rgba(255,255,255,.05);border-radius:5px;padding:3px 6px;margin-left:6px}
.oa-mtr-hot{color:#04140d;background:linear-gradient(100deg,#34d399,#a7f3d0)}
.oa-vaultblock .oa-draft-head span:first-child{color:var(--emerald,#34d399)}
.oa-draft{margin-top:9px}
.oa-draft-ta{min-height:96px}
.oa-draft-act{display:flex;align-items:center;gap:10px;margin-top:7px}
.oa-draft-note{font:500 10.5px/1.3 "JetBrains Mono",ui-monospace,monospace;color:var(--faint)}
.oa-foot{display:flex;flex-direction:column;gap:8px;margin-top:2px}
.oa-stage-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.oa-stage-sel{background:rgba(0,0,0,.25);border:1px solid var(--stroke2);border-radius:8px;color:var(--ink,#f4f1ea);font:600 11.5px/1 "JetBrains Mono",ui-monospace,monospace;padding:7px 9px;cursor:pointer}
.oa-breathe{font:500 10px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);letter-spacing:.04em;font-style:italic}
.oa-bulk{margin:-8px 0 22px}
.oa-bulk-note{font-size:12.5px;color:var(--muted);line-height:1.5;margin:12px 0 8px}
.oa-bulk-note code{font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--gold);background:rgba(233,228,212,.1);border-radius:5px;padding:2px 6px}
.oa-bulk-ta{width:100%;min-height:96px;resize:vertical;font:400 12px/1.5 "JetBrains Mono",ui-monospace,monospace}
.oa-fire{margin:0 0 26px;padding:16px 18px;border-radius:16px;border:1px solid rgba(52,211,153,.35);background:radial-gradient(90% 120% at 0% -10%,rgba(52,211,153,.1),transparent 55%),var(--bg2);box-shadow:0 0 34px rgba(52,211,153,.1)}
.oa-fire-head{display:flex;align-items:baseline;gap:11px;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid var(--stroke2)}
.oa-fire-t{font:800 15px/1 var(--serif,serif);background:linear-gradient(100deg,#34d399,#a7f3d0 55%,#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.oa-fire-c{font:700 10px/1 "JetBrains Mono",ui-monospace,monospace;color:#04140d;background:linear-gradient(100deg,#34d399,#0f7a58);border-radius:100px;padding:4px 8px}
.oa-fire-h{font:500 11.5px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint)}
.oa-fire-row{padding:11px 0;border-bottom:1px dashed var(--stroke2)}
.oa-fire-row:last-child{border-bottom:0}
.oa-fire-rid{font-size:13px;color:var(--muted);margin-bottom:7px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.oa-fire-rid b{color:#fff;font-family:var(--serif,serif);font-size:15px}
.oa-fire-rid a{color:var(--gold);font:600 10px/1 "JetBrains Mono",ui-monospace,monospace}
.oa-fire-sig{font:500 10px/1.2 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);background:rgba(255,255,255,.04);border-radius:5px;padding:3px 6px}
.oa-fire-ta{width:100%;min-height:70px;background:rgba(0,0,0,.22);border:1px solid var(--stroke2);border-radius:9px;color:var(--ink,#f4f1ea);font:400 12.5px/1.5 inherit;padding:9px 11px;resize:vertical}
.oa-fire-ta:focus{outline:none;border-color:rgba(52,211,153,.4)}
.oa-fire-act{display:flex;gap:9px;margin-top:7px;align-items:center}
@media(max-width:760px){.oa-board{grid-template-columns:1fr}}

/* ===== Custom waveform audio player (shared: free beats + vault) ===== */
.wp{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:13px;background:rgba(0,0,0,.3);border:1px solid var(--stroke2)}
.wp-play{flex:none;width:40px;height:40px;border-radius:50%;border:none;background:var(--gold-grad);color:#150d02;cursor:pointer;display:grid;place-items:center;transition:transform .15s,box-shadow .15s;box-shadow:0 5px 15px rgba(233,228,212,.26)}
.wp-play:hover{transform:scale(1.07)}.wp-play:active{transform:scale(.95)}
.wp-play svg{width:16px;height:16px;fill:currentColor}
.wp .i-pause{display:none}.wp.playing .i-play{display:none}.wp.playing .i-pause{display:block}
.wp.playing .wp-play{box-shadow:0 0 0 4px rgba(233,228,212,.14),0 5px 15px rgba(233,228,212,.3)}
.wp-wave{flex:1;display:flex;align-items:center;gap:2px;height:38px;cursor:pointer}
.wp-wave i{flex:1;min-width:2px;height:30%;background:rgba(255,255,255,.15);border-radius:2px;transition:background .12s}
.wp-wave i.on{background:linear-gradient(180deg,#fbf7ec,#c8c1ab)}
.wp.playing .wp-wave i.on{box-shadow:0 0 6px rgba(233,228,212,.4)}
.wp-time{flex:none;font:600 10.5px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);min-width:34px;text-align:right}

/* ===== Access Denied (private rooms) ===== */
.denied{max-width:520px;margin:8vh auto;text-align:center;padding:44px 34px;border-radius:22px;
  background:radial-gradient(90% 120% at 50% -10%,rgba(255,107,129,.08),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005));
  border:1px solid var(--stroke2);box-shadow:var(--shadow)}
.denied-mark{width:74px;height:74px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;color:var(--gold);border:1px solid rgba(233,228,212,.28);background:rgba(233,228,212,.05)}
.denied-code{font:700 12px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.4em;color:var(--faint);margin-top:14px}
.denied-h{font:800 34px/1.05 var(--serif,serif);color:#fff;margin:8px 0 12px}
.denied-p{color:var(--muted);font-size:14.5px;line-height:1.6;max-width:44ch;margin:0 auto}
.doc-sign{margin-top:38px;padding-top:20px;border-top:1px solid var(--stroke2);font:italic 600 22px/1 var(--serif,serif);text-align:right;
  background:linear-gradient(100deg,#c8c1ab,#fbf7ec,#e9e4d4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ===== #9: gated operator console (.sw-*) ===== */
.sw-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 8px}
.sw-kpi{padding:16px 18px;border-radius:14px}
.sw-kv{font:700 26px/1 var(--serif,serif);color:#8fe3c9;text-shadow:0 0 18px rgba(90,220,180,.35)}
.sw-ks{font-size:14px;color:var(--faint)}
.sw-kl{margin-top:6px;font:600 10.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.sw-sec{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 12px;font:600 12px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sw-camps{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.sw-camp{padding:15px 16px;border-radius:14px;position:relative;transition:.16s}
.sw-camp.on{border-color:rgba(90,220,180,.4);box-shadow:0 0 0 1px rgba(90,220,180,.18),0 0 22px rgba(90,220,180,.08)}
.sw-cx{display:flex;align-items:center;gap:8px;font-size:14px}
.sw-cx b{color:#fff}
.sw-dot{width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}
.sw-dot.live{background:#5adcb4;box-shadow:0 0 9px #5adcb4;animation:swpulse 2s infinite}
@keyframes swpulse{50%{opacity:.4}}
.sw-plat{font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:rgba(255,255,255,.05);border-radius:6px;padding:3px 7px}
.sw-cseed{margin:8px 0 6px;font:500 12px/1.3 "JetBrains Mono",ui-monospace,monospace;color:var(--muted)}
.sw-cmeta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.sw-pill{font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#160e03;background:var(--gold-grad);border-radius:20px;padding:4px 9px}
.sw-am{font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint)}
.sw-cnote{margin-top:8px;font-size:12px;color:var(--muted);line-height:1.4}
.sw-cact{display:flex;align-items:center;gap:8px;margin-top:12px}
.sw-del{margin-left:auto;background:none;border:1px solid var(--stroke2);border-radius:8px;color:var(--faint);padding:5px 6px;cursor:pointer;transition:.14s}
.sw-del:hover{color:var(--crimson);border-color:var(--crimson)}
.btn.xs{font-size:11px;padding:5px 11px;border-radius:20px}
.btn.ghost{background:transparent;color:var(--muted)}
.sw-accts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.sw-acct{padding:14px 15px;border-radius:14px}
.sw-ah{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sw-ah b{color:#fff;font-size:14px}
.sw-st{font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;border-radius:20px;padding:4px 8px}
.sw-st.ok{color:#8fe3c9;background:rgba(90,220,180,.12);border:1px solid rgba(90,220,180,.3)}
.sw-st.warm{color:#e8c07a;background:rgba(230,180,90,.1);border:1px solid rgba(230,180,90,.28)}
.sw-st.rot{color:#9fb4e8;background:rgba(120,150,230,.1);border:1px solid rgba(120,150,230,.28)}
.sw-st.ban{color:var(--crimson);background:rgba(255,77,94,.1);border:1px solid rgba(255,77,94,.3)}
.sw-am2{display:flex;gap:6px;align-items:center;margin:9px 0}
.sw-role{font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint)}
.sw-own{font-size:11px;color:var(--faint)}
.sw-ledger{display:flex;flex-direction:column;gap:1px;border-radius:12px;overflow:hidden;border:1px solid var(--stroke2)}
.sw-lrow{display:flex;align-items:center;gap:10px;padding:9px 13px;background:rgba(255,255,255,.015);font-size:12px}
.sw-lrow:hover{background:rgba(255,255,255,.04)}
.sw-lo{font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:20px;padding:4px 8px;flex:none}
.sw-lo.ok{color:#8fe3c9;background:rgba(90,220,180,.12)}
.sw-lo.warm{color:#e8c07a;background:rgba(230,180,90,.1)}
.sw-lo.ban{color:var(--crimson);background:rgba(255,77,94,.1)}
.sw-lacct{font:600 12px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--muted);flex:none}
.sw-ltext{color:var(--txt,#e8e2d8);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sw-ltarget{color:var(--faint);flex:none}
.sw-ltarget:hover{color:#8fe3c9}
.sw-lt{font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);flex:none}
.sw-lrow .sw-del{margin-left:0;border:none;padding:3px}
.sw-launch{margin-top:30px;padding:22px 24px;border-radius:16px}
.sw-lh{display:flex;align-items:center;gap:9px;font:600 13px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#8fe3c9;margin-bottom:14px}
.sw-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--muted);line-height:1.5}
.sw-steps code{font:500 12px/1 "JetBrains Mono",ui-monospace,monospace;background:rgba(90,220,180,.1);color:#8fe3c9;border-radius:5px;padding:2px 6px}
.sw-bound{margin-top:16px;padding:12px 15px;border-radius:11px;background:rgba(255,77,94,.05);border:1px solid rgba(255,77,94,.16);font-size:12.5px;color:var(--muted);line-height:1.5}
.sw-bound b{color:var(--crimson)}
@media(max-width:820px){.sw-kpis{grid-template-columns:repeat(2,1fr)}}
.glass.hub-door{padding:22px 24px;margin-top:20px;display:grid;grid-template-columns:auto auto auto 1fr;gap:26px;align-items:center;background:linear-gradient(120deg,rgba(157,138,214,.12),rgba(233,228,212,.035))}
.hdoor-n{font-family:var(--serif);font-size:46px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.hdoor-n.p{color:var(--amethyst);text-shadow:0 0 18px rgba(157,138,214,.4)}
.hdoor-n.a{color:var(--gold);text-shadow:0 0 18px rgba(233,228,212,.4)}
.hdoor-l{font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.hdoor-div{width:1px;align-self:stretch;background:linear-gradient(180deg,transparent,var(--stroke2),transparent)}
.hub-door .btn{justify-self:end}
.hdoor-note{justify-self:end;font-size:12.5px;color:var(--faint);max-width:17ch;text-align:right}
.hub-feedcols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
h3.neon-g{color:var(--gold);text-shadow:0 0 16px rgba(233,228,212,.45),0 0 4px rgba(233,228,212,.6)}
h3.neon-v{color:#c9bcf2;text-shadow:0 0 16px rgba(157,138,214,.42),0 0 4px rgba(169,150,228,.6)}
.tag.amethyst{color:var(--amethyst);border-color:rgba(157,138,214,.4)}
.hub-chat{display:flex;flex-direction:column;height:378px}
.chat-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:13px;padding:4px 2px}
.chat-load{color:var(--faint);font-size:13px;text-align:center;margin:auto}
.cmsg{display:flex;gap:10px}
.cmsg-av{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:13px;font-weight:700;background:rgba(233,228,212,.1);border:1px solid var(--stroke2);color:var(--gold)}
.cmsg-h{display:flex;align-items:baseline;gap:8px}
.cmsg-n{font-weight:600;font-size:13px;color:var(--ink)}
.cmsg-t{font:500 10px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint)}
.cmsg-c{font-size:13.5px;color:var(--muted);line-height:1.5;margin-top:2px;word-break:break-word}
.chat-in{display:flex;gap:8px;margin-top:13px;border-top:1px solid var(--stroke2);padding-top:13px}
.chat-in input{flex:1;background:rgba(255,255,255,.03);border:1px solid var(--stroke2);border-radius:10px;padding:10px 13px;color:var(--ink);font-size:13.5px;font-family:inherit}
.chat-in input:focus{outline:none;border-color:var(--amethyst)}
.chat-in button{background:var(--gold-grad);color:#160e03;border:none;border-radius:10px;padding:0 15px;font-weight:700;font-size:13px;cursor:pointer}
.hub-ethos{padding:24px;margin-top:20px}
.hethos-h{font-family:var(--serif);font-size:24px;font-weight:700;font-style:italic;margin-bottom:8px;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hub-ethos p{color:var(--muted);font-size:14px;max-width:72ch}.hub-ethos p b{color:var(--ink)}
.sec-lead{font-family:var(--serif);font-size:20px;font-weight:700;margin:30px 0 14px}
.hub-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.qa{padding:20px 18px;display:flex;flex-direction:column;gap:9px;cursor:pointer;transition:.15s}
.qa:hover{border-color:var(--gold);transform:translateY(-3px)}
.qa-i{color:var(--gold);filter:drop-shadow(0 2px 10px rgba(233,228,212,.4))}
.qa-t{font-family:var(--serif);font-weight:700;font-size:17px}
.qa-d{font-size:12.5px;color:var(--muted)}
@media(max-width:900px){.hub-stats,.hub-quick{grid-template-columns:1fr}.hub-feedcols{grid-template-columns:1fr}.glass.hub-door{grid-template-columns:1fr 1fr;gap:16px}}

/* ===== Chunk 3: Media factories + Library ===== */
.modrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-top:22px}
.mod{padding:24px}
.mod.active{border-color:rgba(95,185,138,.28)}
.mod.gated{border-color:rgba(157,138,214,.28)}
.mod-h{display:flex;align-items:center;gap:13px;margin-bottom:13px}
.mod-ico{width:46px;height:46px;border-radius:13px;flex:none;display:grid;place-items:center;color:var(--gold);background:rgba(233,228,212,.08);border:1px solid var(--stroke2);box-shadow:0 0 20px -6px rgba(233,228,212,.5)}
.mod.gated .mod-ico{color:var(--amethyst);background:rgba(157,138,214,.08);border-color:rgba(157,138,214,.3);box-shadow:0 0 20px -6px rgba(157,138,214,.5)}
.mod-nm{font-family:var(--serif);font-size:18.5px;font-weight:700}
.mod-d{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:15px}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}
.chip{font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;border:1px solid var(--stroke2);border-radius:8px;padding:6px 9px;color:var(--ink)}
.chip.on{border-color:rgba(95,185,138,.4);color:var(--emerald)}
.chip.soon{color:var(--faint)}
.chip.model{border-color:rgba(233,228,212,.3);color:var(--gold)}
.mod-foot{display:flex;align-items:center;gap:10px}
.safe-note{font:500 11px/1.4 "JetBrains Mono",ui-monospace,monospace;color:var(--amethyst);letter-spacing:.02em;margin-bottom:12px;display:flex;align-items:center;gap:5px}
a.btn,a.btn-ghost{text-decoration:none}
.btn.sm,.btn-ghost.sm{padding:9px 15px;font-size:12.5px;border-radius:10px}
.res{display:grid;grid-template-columns:repeat(auto-fill,minmax(282px,1fr));gap:16px;margin-top:8px}
.rc{padding:22px;display:flex;flex-direction:column;gap:10px;text-decoration:none}
.rc.rc-link{cursor:pointer}
.rc:hover{border-color:var(--stroke2);transform:translateY(-4px)}
.rc-h{display:flex;align-items:center;justify-content:space-between}
.rc-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--gold);background:rgba(233,228,212,.08);border:1px solid var(--stroke2)}
.rc-t{font-family:var(--serif);font-size:16.5px;font-weight:700}
.rc-d{font-size:13px;color:var(--muted);line-height:1.55;flex:1}
.rc-m{font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);letter-spacing:.03em}
.tag.ok{color:var(--emerald);border-color:rgba(95,185,138,.4)}
.tag.soon{color:var(--faint)}

/* ===== Chunk 4: member sigils + footer ===== */
@keyframes sig-spin{to{transform:rotate(360deg)}}
.crew-totem.mem-sig{width:auto;height:auto;overflow:visible;flex:none;background:none;border:none;box-shadow:none;display:flex;align-items:center}
.mem-sig .spin{transform-origin:24px 24px;animation:sig-spin 66s linear infinite}
@media(prefers-reduced-motion:reduce){.mem-sig .spin{animation:none}}
.hub-foot{padding:26px 36px 32px;margin-top:28px;border-top:1px solid var(--stroke2);color:var(--faint);font:500 11.5px/1.6 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em}
.hub-foot b{color:var(--gold);font-weight:700}

/* login first-timer hint */
.gate-hint{margin-top:12px;font-size:12px;line-height:1.5;color:var(--faint);text-align:center;border-top:1px solid var(--stroke2);padding-top:12px}

/* BandLab inline embed */
.emb-bandlab{width:100%;border:none;border-radius:12px;height:180px}

/* ===== New Releases feed (home) ===== */
.rel-addrow{margin:2px 0 10px}
.rel-addform{display:flex;flex-direction:column;gap:7px;margin-bottom:12px;padding:12px;border-radius:12px;background:rgba(0,0,0,.22);border:1px solid var(--stroke2)}
.field.sm{padding:8px 11px;font-size:12.5px;border-radius:9px}
.rel-item{padding:12px 0;border-bottom:1px solid var(--stroke2)}
.rel-item:last-child{border-bottom:none}
.rel-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rel-artist{font:700 12px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.rel-title{font:700 15px/1.2 var(--serif,serif);color:#fff}
.rel-date{font:500 10.5px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--faint);margin-left:auto}
.rel-del{color:var(--faint)}
.rel-del:hover{color:var(--crimson)}
.rel-frame{margin-top:9px}
.rel-frame .emb-bandlab{height:170px}
.rel-link{display:inline-flex;margin-top:7px;font-size:12.5px;color:var(--emerald);text-decoration:none;border-bottom:1px solid rgba(52,211,153,.3)}
.rel-note{margin-top:6px;font-size:12px;color:var(--muted);line-height:1.4}

/* ===== Swarm gift card (Tools) ===== */
.swarm-tool{position:relative;overflow:hidden;border-color:rgba(58,217,164,.28)!important;
  background:linear-gradient(168deg,rgba(58,217,164,.07),rgba(255,255,255,.008) 55%),var(--bg2)!important}
.swarm-tool:hover{border-color:rgba(58,217,164,.45)!important;box-shadow:0 0 0 1px rgba(58,217,164,.14),0 24px 54px rgba(0,0,0,.5),0 0 44px rgba(58,217,164,.08)!important}
.swarm-mesh{position:absolute;top:0;right:0;width:56%;height:100%;opacity:.5;pointer-events:none;
  mask-image:linear-gradient(270deg,#000,transparent);-webkit-mask-image:linear-gradient(270deg,#000,transparent)}
.swarm-mesh svg{width:100%;height:100%;filter:drop-shadow(0 0 6px rgba(58,217,164,.5))}
.swarm-tool>*{position:relative;z-index:1}
.toolc-flag.sw{color:#0a1a14;background:linear-gradient(100deg,#7df5cf,#2fb98d);border-radius:20px}
.toolc-plat.sw{color:#5df0c0;border-color:rgba(58,217,164,.3)}
.sw-title{background:linear-gradient(100deg,#8ff5d4,#3ad9a4,#1f9e78);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.02em}
.swarm-hook{margin:8px 0 12px;font:800 clamp(20px,2.6vw,28px)/1.08 var(--serif,serif);color:#fff;text-wrap:balance}
.swarm-hook span{color:#5df0c0;text-shadow:0 0 20px rgba(58,217,164,.35)}
.swarm-note{margin-top:12px;padding:11px 14px;border-radius:11px;background:rgba(58,217,164,.06);border:1px solid rgba(58,217,164,.16);font-size:12.5px;line-height:1.5;color:var(--muted)}
.swarm-note code{font:600 12px/1 "JetBrains Mono",ui-monospace,monospace;color:#5df0c0;background:rgba(58,217,164,.12);border-radius:5px;padding:2px 6px}
.btn.sm.sw-dl{background:linear-gradient(100deg,#7df5cf,#2fb98d);color:#0a1a14;border:none;box-shadow:0 6px 18px rgba(58,217,164,.22)}
.btn.sm.sw-dl:hover{filter:brightness(1.07)}
.swarm-sig{font:italic 700 18px/1 var(--serif,serif);background:linear-gradient(100deg,#8ff5d4,#3ad9a4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.swarm-tool .toolc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* ---------- THE LIVING LIBRARY (artist discovery asset) ---------- */
.oa-lib{margin-top:34px;padding-top:28px;border-top:1px solid rgba(233,228,212,.16)}
.oa-lib-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.oa-lib-t{font-family:var(--serif,Georgia,serif);font-size:1.5rem;font-weight:600;color:var(--gold,#e9e4d4);letter-spacing:.2px}
.oa-lib-c{margin-left:12px;font-size:.82rem;color:var(--muted,#9aa)}
.oa-lib-desc{margin:8px 0 16px;max-width:720px;color:var(--muted,#9aa);font-size:.9rem;line-height:1.5}
.lib-fils{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.lib-fil{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);color:var(--muted,#9aa);border-radius:999px;padding:6px 13px;font-size:.8rem;cursor:pointer;transition:.16s;text-transform:capitalize}
.lib-fil:hover{border-color:rgba(233,228,212,.4);color:#e8dcc0}
.lib-fil span{opacity:.6;font-size:.74rem;margin-left:3px}
.lib-fil-on{background:rgba(233,228,212,.13);border-color:rgba(233,228,212,.55);color:var(--gold,#e9e4d4)}
.lib-fil-gold{border-color:rgba(233,228,212,.3);color:var(--gold,#e9e4d4)}
.lib-fil-gold.lib-fil-on{background:linear-gradient(180deg,rgba(233,228,212,.22),rgba(233,228,212,.1))}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px}
.lib-grid.lib-collapsed{max-height:430px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.lib-card{position:relative;background:linear-gradient(168deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.09);border-radius:15px;padding:16px 15px 14px;transition:.18s;overflow:hidden}
.lib-card:hover{border-color:rgba(233,228,212,.42);transform:translateY(-2px);box-shadow:0 10px 34px -14px rgba(0,0,0,.7)}
.lib-card-reached{border-color:rgba(233,228,212,.5);background:linear-gradient(168deg,rgba(233,228,212,.1),rgba(233,228,212,.02))}
.lib-card-reached::before{content:"";position:absolute;inset:0;border-radius:15px;box-shadow:inset 0 0 0 1px rgba(233,228,212,.25);pointer-events:none}
.lib-badge{position:absolute;top:11px;right:11px;font-size:.62rem;letter-spacing:.4px;text-transform:uppercase;padding:3px 8px;border-radius:999px;cursor:pointer;border:1px solid rgba(255,255,255,.14);color:var(--muted,#9aa);background:rgba(0,0,0,.25);transition:.16s;opacity:.5}
.lib-card:hover .lib-badge{opacity:1}
.lib-badge:hover{border-color:rgba(233,228,212,.6);color:#e9e4d4}
.lib-badge.on{opacity:1;color:#1a1406;font-weight:700;background:linear-gradient(180deg,#f0d888,#d8b24e);border-color:#e9e4d4;box-shadow:0 2px 12px -3px rgba(233,228,212,.6)}
.lib-nm{font-family:var(--serif,Georgia,serif);font-size:1.12rem;font-weight:600;color:#f2e9d4;margin:6px 40px 1px 0;line-height:1.15;word-break:break-word}
.lib-sub{font-size:.76rem;color:var(--muted,#9aa);margin-bottom:9px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lib-foll{color:#c9b98e;opacity:.85}
.lib-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.lib-pill{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:6px;background:rgba(233,228,212,.15);color:#e9e4d4;border:1px solid rgba(233,228,212,.3)}
.lib-pill-alias{background:rgba(140,120,220,.14);color:#bcaaf0;border-color:rgba(160,140,230,.3)}
.lib-pill-emo{background:rgba(220,120,170,.14);color:#e79ac0;border-color:rgba(220,120,170,.3)}
.lib-pill-rnb{background:rgba(120,180,220,.14);color:#8fc4e6;border-color:rgba(120,180,220,.3)}
.lib-sig{font-size:.82rem;color:#c4b59a;line-height:1.45;margin-bottom:9px;font-style:italic;opacity:.9}
.lib-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.lib-tags span{font-size:.68rem;color:var(--muted,#9aa);background:rgba(255,255,255,.04);padding:2px 6px;border-radius:5px}
.lib-toprow{margin-bottom:9px}
.lib-top{display:inline-block;font-size:.76rem;color:#1a1406;font-weight:700;background:linear-gradient(180deg,#f0d888,#d8b24e);padding:5px 11px;border-radius:7px;text-decoration:none;transition:.16s}
.lib-top:hover{filter:brightness(1.08)}
.lib-links{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.lib-lnk{font-size:.76rem;color:#c9b98e;text-decoration:none;text-transform:capitalize;transition:.16s}
.lib-lnk:hover{color:#e9e4d4}
@media(max-width:560px){.lib-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

/* ---------- FIRST-TOUCH LOOP ---------- */
.ft-panel{margin-bottom:22px;border:1px solid rgba(233,228,212,.3)}
.ft-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.ft-t{font-family:var(--serif,Georgia,serif);font-size:1.25rem;color:var(--gold,#e9e4d4);font-weight:600;display:block}
.ft-sub{display:block;color:var(--muted,#9aa);font-size:.86rem;margin-top:4px;max-width:640px;line-height:1.5}
#ftBody{margin-top:20px;border-top:1px solid rgba(233,228,212,.14);padding-top:18px}
.ft-voice{margin-bottom:18px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:12px 16px}
.ft-voice summary{cursor:pointer;color:var(--gold,#e9e4d4);font-size:.86rem;letter-spacing:.02em}
.ft-voice label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted,#9aa);margin:12px 0 5px}
.ft-voice textarea{min-height:52px;width:100%}
.ft-voice-row{display:flex;gap:12px;flex-wrap:wrap}.ft-voice-row>div{flex:1;min-width:120px}
.ft-prog{display:flex;align-items:center;gap:14px;margin-bottom:14px;color:var(--muted,#9aa);font-size:.8rem}
.ft-bar{flex:1;height:4px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
.ft-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold,#e9e4d4),#ffab3d);transition:width .4s;box-shadow:0 0 8px rgba(233,228,212,.5)}
.ft-card{background:linear-gradient(165deg,rgba(233,228,212,.06),rgba(255,171,61,.02));border:1px solid rgba(233,228,212,.28);border-radius:16px;padding:22px}
.ft-artist{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.ft-nm{font-family:var(--serif,Georgia,serif);font-size:1.3rem;color:#f2e9d4;font-weight:600}
.ft-meta{font-size:.82rem;color:var(--muted,#9aa);margin-top:2px}
.ft-signal{font-size:.9rem;color:#c4b59a;font-style:italic;margin-bottom:14px;line-height:1.5}
.ft-signal em{color:var(--gold)}
.ft-tags{display:block;font-style:normal;font-size:.72rem;color:var(--muted,#9aa);margin-top:5px;opacity:.8}
.ft-vibe-row{display:flex;gap:10px;margin-bottom:12px}.ft-vibe-row input{flex:1}
.ft-draft{width:100%;min-height:110px;background:rgba(0,0,0,.28);border:1px solid rgba(233,228,212,.3);border-radius:12px;color:#f0e7d2;padding:14px;font-family:inherit;font-size:1rem;line-height:1.6;resize:vertical}
.ft-draft:focus{outline:none;border-color:var(--gold,#e9e4d4)}
.ft-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.ft-done{text-align:center;padding:30px;color:var(--sand,#c9b98e);font-size:1.02rem;line-height:1.6}

/* ═══════════════════════════════════════════════════════════════════════════
   THE PEEK — a preview of the hub behind frosted glass, under the sign-in card.

   ★ WHY IT EXISTS. A sign-in screen asks for an email in exchange for NOTHING
   VISIBLE. Showing the shape of what is inside converts because the value is
   already on screen and the glass is the only thing between them and it.

   ★ AND WHY IT IS A MOCK RATHER THAN THE REAL DASHBOARD. Two hard reasons:
     1. CSS blur is NOT security. The DOM underneath is readable from view-source
        by anyone who cares, so blurring real data publishes it to exactly the
        people most likely to look.
     2. The real nav carries private program names, some of which are marked
        never-deploy. A "real" preview would leak them in public HTML.
   So the peek renders a curated, public-safe shell: the chrome, the shape, the
   density. It is a photograph of the building, not a key to it.
   ═══════════════════════════════════════════════════════════════════════════ */
.hq-peek { position:fixed; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.hq-peek[hidden] { display:none; }
.hq-peek .peek-inner {
  position:absolute; inset:-2%; display:grid; grid-template-columns:238px 1fr;
  filter: blur(8px) saturate(1.08); opacity:.92; transform:scale(1.02);
}
@media (max-width:820px){ .hq-peek .peek-inner { grid-template-columns:1fr; } }
.hq-peek .peek-side { border-right:1px solid var(--line,#23232c); padding:22px 18px; }
.hq-peek .peek-main { padding:22px 26px; }
.hq-peek .peek-row { height:11px; border-radius:6px; background:rgba(233,228,212,.17); margin:13px 0; }
.hq-peek .peek-row.w70{width:70%} .hq-peek .peek-row.w50{width:50%} .hq-peek .peek-row.w85{width:85%}
.hq-peek .peek-tiles { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px; }
.hq-peek .peek-tile { height:86px; border-radius:12px; border:1px solid rgba(233,228,212,.16); background:linear-gradient(160deg, rgba(233,228,212,.10), rgba(233,228,212,.03)); }
.hq-peek .peek-panel { height:190px; border-radius:14px; border:1px solid rgba(233,228,212,.13); background:linear-gradient(160deg, rgba(233,228,212,.07), rgba(233,228,212,.02)); margin-bottom:16px; }
.hq-peek .peek-label {
  font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted,#8b8b97); margin:0 0 12px;
}
/*  A scrim under the card so the login stays legible over any part of the peek.
    Without it the form fights the blur and both lose. */
.hq-peek::after {
  content:""; position:absolute; inset:0;
  background: radial-gradient(56% 50% at 50% 45%, rgba(7,7,11,.72), rgba(7,7,11,.42) 62%, rgba(7,7,11,.80));
}
/*  Honest label. The peek is a preview and saying so costs nothing, where NOT
    saying so is the kind of small dishonesty that gets noticed later. */
.peek-note {
  position:fixed; left:0; right:0; bottom:16px; text-align:center; z-index:3;
  font-size:11.5px; letter-spacing:.04em; color:var(--muted,#8b8b97); pointer-events:none;
}
@media (prefers-reduced-motion: reduce){ .hq-peek .peek-inner { transform:none; } }

/*  The gate's own drifting background pattern sat on top of the peek and hid it
    entirely. With the peek behind it, the gate becomes a transparent layer that
    holds only the card -- the backdrop is the preview now. The pattern is kept
    for the case where the peek is not rendered, so nothing regresses to a bare
    black screen. */
body:has(#hqPeek:not([hidden])) .gate {
  background-image: none;
  animation: none;
  background-color: transparent;
}

/*  While the peek is up, the sigil aura is the thing competing with it: both are fixed at
    z-index 0, and two full-screen backdrops fighting reads as neither. The aura fades so
    the preview is the backdrop, and returns the moment the peek goes away. */
body:has(#hqPeek:not([hidden])) .dash-aura { opacity: .25; }
