/* Library styles — shared by the store sidebar (.libside). Extracted from Library.razor. */
  #lib-root{ --lbg:#0b0e14; --lp:#151a26; --lp2:#1b2231; --le:#28324a; --le2:#38445f;
    --lt:#e9edf5; --lm:#aab5c9; --ldim:#7d89a0; --lacc:#3d8bfd; --lacc2:#6fb1ff;
    --lgold:#f5c76a; --lok:#43d68b; --lbad:#ff6b77;
    color:var(--lt); font-size:15px; line-height:1.6; }
  #lib-root h2{font-weight:800;font-size:28px;margin:14px 0 2px;color:var(--lt)}
  #lib-root .sub{color:var(--lm);margin:0 0 18px}
  #lib-root .topbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
  #lib-root .topbar input{background:#0e1117;color:var(--lt);border:1px solid var(--le);border-radius:8px;padding:9px 13px;font:inherit;outline:none;flex:1;min-width:220px;max-width:380px}
  #lib-root .topbar input:focus{border-color:var(--lacc)}
  #lib-root ::placeholder{color:var(--ldim)}
  #lib-root button{font:inherit;cursor:pointer;border:none;border-radius:8px}
  #lib-root .btn{background:var(--lacc);color:#fff;padding:9px 18px;font-weight:700}
  #lib-root .btn:hover{background:var(--lacc2);color:#04101f}
  #lib-root .btn:disabled{opacity:.45;cursor:default}
  #lib-root .btn.ok{background:var(--lok);color:#04140b}
  #lib-root .btn.ghost{background:var(--lp2);color:var(--lm);border:1px solid var(--le)}
  #lib-root .muted{color:var(--ldim)}
  #lib-root .ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px}
  #lib-root .gcard{background:var(--lp);border:1px solid var(--le);border-radius:12px;overflow:hidden;position:relative;transition:transform .18s,border-color .18s}
  #lib-root .gcard:hover{transform:translateY(-4px);border-color:var(--le2)}
  #lib-root .gcover{aspect-ratio:16/9;background:linear-gradient(135deg,#10141d,#1b2231);position:relative}
  #lib-root .gcover img{width:100%;height:100%;object-fit:cover;display:block}
  #lib-root .gcover .noart{position:absolute;inset:0;display:grid;place-items:center;color:var(--ldim);font:700 20px ui-monospace,monospace;letter-spacing:.08em}
  #lib-root .gbody{padding:10px 12px 12px;display:flex;align-items:flex-start;gap:8px}
  #lib-root .gbody b{flex:1;font-size:14.5px;line-height:1.35}
  #lib-root .chip{position:absolute;top:8px;left:8px;font-size:10.5px;font-weight:700;border-radius:12px;padding:2px 9px;letter-spacing:.03em;background:rgba(0,0,0,.62);backdrop-filter:blur(3px)}
  #lib-root .chip.red{color:var(--lbad)} #lib-root .chip.gold{color:var(--lgold)} #lib-root .chip.grey{color:var(--lm)}
  #lib-root .dots{background:transparent;color:var(--ldim);font-size:19px;line-height:1;padding:2px 8px;border-radius:6px;flex:none}
  #lib-root .dots:hover{background:var(--lp2);color:var(--lt)}
  #lib-root .menu{position:absolute;right:8px;bottom:44px;background:var(--lp2);border:1px solid var(--le2);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.55);z-index:20;min-width:210px;overflow:hidden}
  #lib-root .mi{display:block;width:100%;text-align:left;background:transparent;color:var(--lt);padding:10px 14px;font-size:13.5px}
  #lib-root .mi:hover{background:rgba(61,139,253,.14)}
  #lib-root .mi.off{color:var(--ldim);cursor:default}
  #lib-root .mi.off:hover{background:transparent}
  #lib-root .mi small{display:block;color:var(--ldim);font-size:11.5px}
  #lib-root .ovl{position:fixed;inset:0;background:rgba(4,6,10,.8);backdrop-filter:blur(6px);z-index:70;display:grid;place-items:center;padding:18px;overflow-y:auto}
  #lib-root .rkm{width:min(560px,100%);background:#10141d;border:1px solid var(--le2);border-radius:14px;padding:20px 22px;box-shadow:0 16px 48px rgba(0,0,0,.6);margin:auto}
  #lib-root .rkm.wide{width:min(860px,100%)}
  #lib-root .mh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
  #lib-root .mh b{font-size:17px}
  #lib-root .x{background:var(--lp2);color:var(--lm);width:30px;height:30px;border-radius:50%}
  #lib-root input.f{background:#0e1117;color:var(--lt);border:1px solid var(--le);border-radius:8px;padding:9px 12px;font:inherit;outline:none;width:100%;box-sizing:border-box}
  #lib-root .pickwrap{position:relative}
  #lib-root .pickdrop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--lp2);border:1px solid var(--le2);border-radius:10px;overflow:hidden;z-index:30;box-shadow:0 12px 32px rgba(0,0,0,.5)}
  #lib-root .pk{display:flex;gap:12px;align-items:center;padding:9px 12px;cursor:pointer}
  #lib-root .pk:hover{background:rgba(61,139,253,.13)}
  #lib-root .pk .pkt{flex:1;min-width:0}
  #lib-root .pk .pkt b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #lib-root .pk .pkt span{color:var(--ldim);font-size:12px}
  #lib-root .pill{font-size:11.5px;font-weight:700;border-radius:14px;padding:3px 11px;letter-spacing:.03em;white-space:nowrap}
  #lib-root .pill.green{background:rgba(67,214,139,.15);color:var(--lok)}
  #lib-root .pill.gold{background:rgba(245,199,106,.15);color:var(--lgold)}
  #lib-root .pill.red{background:rgba(255,107,119,.15);color:var(--lbad)}
  #lib-root .pill.grey{background:rgba(170,181,201,.12);color:var(--lm)}
  #lib-root .offer{display:flex;gap:12px;align-items:center;background:var(--lp2);border:1px solid var(--le);border-radius:10px;padding:10px 12px;margin-bottom:8px;flex-wrap:wrap}
  #lib-root .warn{color:var(--lbad);font-size:13px;margin-top:8px}
  #lib-root .fine{color:var(--ldim);font-size:12.5px;margin-top:22px;max-width:80ch}
  #lib-root .fine b{color:var(--lm)}
  #lib-root a{color:var(--lacc2);text-decoration:none}
  @media(max-width:760px){ #lib-root #trCols{grid-template-columns:1fr !important} }
/* ---- sidebar mode (inside /store) ---- */
#lib-root .libtools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
#lib-root .libtools input{background:#0e1117;color:var(--lt);border:1px solid var(--le);border-radius:8px;padding:8px 12px;font:inherit;outline:none;flex:1;min-width:120px}
#lib-root .libtools input:focus{border-color:var(--lacc)}
.libside h2{font-size:20px;margin:0}
.libside .libhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.libside .libclose{display:none;background:transparent;color:var(--lm);font-size:18px;padding:4px 8px}
.libside .sub{font-size:12.5px;margin:0 0 12px}
.libside .ggrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.libside .gcard:hover{transform:none;border-color:var(--le2)}
.libside .gbody b{font-size:12.5px}
.libside .fine{font-size:11.5px;margin-top:16px}
.libside .libsignin{background:var(--lp);border:1px solid var(--le);border-radius:12px;padding:16px;color:var(--lm);font-size:13.5px;line-height:1.6}
.libside .libsignin a{font-weight:700}
/* the sidebar keeps the library palette even when signed out (no #lib-root id then) */
.libside{ --lbg:#0b0e14; --lp:#151a26; --lp2:#1b2231; --le:#28324a; --le2:#38445f;
  --lt:#e9edf5; --lm:#aab5c9; --ldim:#7d89a0; --lacc:#3d8bfd; --lacc2:#6fb1ff;
  --lgold:#f5c76a; --lok:#43d68b; --lbad:#ff6b77; color:var(--lt); line-height:1.6 }
.libside h2{font-weight:800;color:var(--lt)}
.libside a{color:var(--lacc2);text-decoration:none}
.libside .sub{color:var(--lm)}
.libside .libclose{font:inherit;cursor:pointer;border:none;border-radius:8px}
