@media (prefers-color-scheme: dark){ :root{ color-scheme:dark; } }

  :root{ color-scheme:dark; --bg:#0d0a1a; --card:#1b1440; --line:rgba(255,255,255,.09); --gold:#ffcf4a; --pur:#8b6cff;
    --txt:#eef0ff; --dim:#9a93c8; --ok:#39e6a8; --hot:#ff5b6e; --ebay:#7bd0ff; --merc:#ff8a5b; --in:#100c26; --white:#fff; }
  /* 焦點可見(24條無障礙):鍵盤走訪一律有可見外框(不靠 +border 微差) */
  :focus-visible{ outline:2px solid var(--pur); outline-offset:2px; }
  /* 尊重使用者減少動態偏好(24條):關掉動畫/轉場,holo 效果靜止 */
  @media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
  *{ box-sizing:border-box; margin:0; }
  body{ font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif; color:var(--txt);
    background:radial-gradient(130% 90% at 50% -10%,#2a1a5e,#150f30 45%,#0a0716); min-height:100vh; }
  a{ color:inherit; text-decoration:none; }
  .wrap{ max-width:1280px; margin:0 auto; padding:0 16px; }
  header{ position:sticky; top:0; z-index:20; backdrop-filter:blur(10px); background:rgba(13,10,26,.82); border-bottom:1px solid var(--line); }
  .hd{ display:flex; align-items:center; gap:14px; height:60px; }
  .brand{ font-weight:900; font-size:22px; display:flex; align-items:center; gap:8px; }
  .brand b{ background:linear-gradient(180deg,#fff,var(--gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
  .mkt{ display:inline-flex; align-items:center; gap:5px; padding:8px 16px; border-radius:999px;
    border:1px solid rgba(200,140,60,.45); color:#e9c584; text-decoration:none; font-size:13.5px;
    font-weight:700; letter-spacing:.05em; white-space:nowrap; transition:all .2s; }
  .mkt:hover{ background:rgba(200,140,60,.15); border-color:#c89a58; }
  .search{ flex:1; max-width:560px; position:relative; }
  .search input{ width:100%; height:42px; border-radius:12px; border:1px solid var(--line); background:var(--in); color:#fff; padding:0 42px 0 14px; font-size:15px;  }
  .search input:focus{ border-color:var(--pur); }
  .search .ic{ position:absolute; right:14px; top:11px; color:var(--dim); }
  .count{ color:var(--dim); font-size:12.5px; white-space:nowrap; }
  .cur{ display:flex; gap:3px; }
  .cur button{ background:var(--in); border:1px solid var(--line); color:var(--dim); font-size:12px; padding:5px 9px; cursor:pointer; border-radius:7px; font-weight:800; }
  .cur button.on{ color:#2a1a00; border-color:transparent; background:linear-gradient(180deg,var(--gold),#e8a317); }
  @media(max-width:640px){ .brand{ font-size:19px; } .count{ display:none; } }
  /* RWD-360 */ @media(max-width:430px){ .hd{ flex-wrap:wrap; height:auto; padding:8px 0; gap:8px 10px; } .search{ order:5; flex:1 0 100%; max-width:none; } .mkt{ padding:7px 12px; font-size:12.5px; } }

  .sub{ background:rgba(139,108,255,.08); border-bottom:1px solid var(--line); color:var(--dim); font-size:12.5px; text-align:center; padding:7px; }
  .layout{ display:grid; grid-template-columns:228px 1fr; gap:22px; align-items:start; padding:22px 0; }
  @media(max-width:820px){ .layout{ grid-template-columns:1fr; } }
  .side{ position:sticky; top:14px; display:flex; flex-direction:column; gap:9px; }
  @media(max-width:820px){ .side{ position:static; } }
  .fclear{ padding:10px 14px; text-align:center; font-size:13px; font-weight:700; color:var(--dim); cursor:pointer; border:1px dashed var(--line); border-radius:11px; }
  .fclear.on{ color:#2a1a00; border-style:solid; border-color:transparent; background:linear-gradient(180deg,var(--gold),#e8a317); }
  .fgroup{ background:var(--in); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
  .fhead{ display:flex; align-items:center; justify-content:space-between; padding:11px 14px; cursor:pointer; font-size:13.5px; font-weight:700; color:var(--txt); user-select:none; }
  .fhead:hover{ background:rgba(255,255,255,.03); }
  .fhead .caret{ color:var(--dim); font-size:11px; transition:transform .2s; }
  .fgroup.open .fhead .caret{ transform:rotate(90deg); }
  .fcount{ color:var(--dim); font-weight:400; font-size:11px; margin-left:6px; }
  .fitems{ display:none; flex-wrap:wrap; gap:6px; padding:0 12px 12px; }
  .fgroup.open .fitems{ display:flex; }
  .fitems.scroll{ max-height:280px; overflow:auto; }
  .fitem{ padding:5px 11px; border-radius:16px; border:1px solid var(--line); background:var(--card); color:var(--dim); font-size:12.5px; cursor:pointer; }
  .fitem.on{ color:#2a1a00; font-weight:800; border-color:transparent; background:linear-gradient(180deg,var(--gold),#e8a317); }
  .main{ min-width:0; max-width:1100px; }

  .grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
  .pager{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:7px; margin:26px 0 8px; }
  .pager .pg{ min-width:36px; height:36px; padding:0 11px; border:1px solid var(--line); background:rgba(255,255,255,.03); color:var(--dim); border-radius:9px; cursor:pointer; font-size:13.5px; font-weight:600; transition:.15s; }
  .pager .pg:hover:not(:disabled){ border-color:var(--gold); color:#fff; }
  .pager .pg.on{ background:var(--gold,#c9a84a); border-color:var(--gold,#c9a84a); color:#1a1204; }
  .pager .pg:disabled{ opacity:.35; cursor:default; }
  .pager .pg-dot{ color:var(--dim); padding:0 2px; }
  .c{ border-radius:15px; padding:5px; cursor:pointer; transition:transform .15s, box-shadow .15s; box-shadow:0 5px 15px rgba(0,0,0,.4);
      background:linear-gradient(150deg,#ffe89a,#e0b855 32%,#9c7b34 70%,#6f5320); }
  .c.t-sar{ background:linear-gradient(135deg,#9fe9ff,#c6a2ff 34%,#ffaede 60%,#ffe79a 88%); }   /* SAR 彩虹箔 */
  .c.t-hr{ background:linear-gradient(140deg,#fff6c2,#ffd24d 45%,#bd821f); }                    /* HR/UR 金箔 */
  .c.t-ar{ background:linear-gradient(150deg,#e3ecff,#9fb6e6 42%,#6274b3); }                    /* AR 銀藍 */
  .c:hover{ transform:translateY(-5px) scale(1.015); box-shadow:0 16px 34px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.45); }
  .cframe{ background:linear-gradient(165deg,#2a1f5e,#140e30); border-radius:10px; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(0,0,0,.45); }
  .c .img{ aspect-ratio:63/88; background:linear-gradient(160deg,#241a52,#140e30); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
  .c .img img{ width:100%; height:100%; object-fit:contain; }
  .c .img .emoji{ font-size:52px; }
  .c .img .g{ position:absolute; top:7px; left:7px; background:var(--hot); color:#fff; font-weight:900; font-size:10.5px; padding:3px 7px; border-radius:6px; z-index:2; box-shadow:0 2px 6px rgba(0,0,0,.45); }
  .c .img .num{ position:absolute; bottom:6px; left:7px; background:rgba(10,7,26,.82); color:#e8e2ff; font-size:9.5px; font-weight:700; letter-spacing:.3px; padding:2px 6px; border-radius:5px; z-index:2; }
  .c .img .holo{ position:absolute; inset:0; background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.25) 48%,transparent 60%); transform:translateX(-110%); transition:transform .65s ease; pointer-events:none; }
  .c:hover .img .holo{ transform:translateX(110%); }
  .c .bd{ padding:10px 11px 12px; background:linear-gradient(180deg,#1c1544,#171139); }
  .c .nm{ font-weight:800; font-size:14px; line-height:1.3; }
  .c .jp{ color:var(--dim); font-size:11.5px; margin:2px 0 8px; min-height:14px; }
  .c .pr{ display:flex; justify-content:space-between; align-items:center; }
  .c .pr .lab{ color:var(--dim); font-size:11px; }
  .c .pr .v{ font-weight:900; font-size:16px; color:var(--gold); }
  .c .pr .na{ color:var(--dim); font-size:12px; }

  .mask{ position:fixed; inset:0; background:rgba(6,4,16,.72); backdrop-filter:blur(4px); display:none; align-items:flex-start; justify-content:center; z-index:40; padding:40px 16px; overflow:auto; }
  .mask.on{ display:flex; }
  .modal{ width:100%; max-width:980px; padding:5px; border-radius:24px; overflow:hidden;
    background:linear-gradient(135deg,#ffe28a,#c9a0ff 28%,#9fe9ff 52%,#ffb0e0 76%,#ffe28a);
    box-shadow:0 28px 90px rgba(0,0,0,.68), 0 0 66px rgba(139,108,255,.5); }
  .minner{ display:flex; background:linear-gradient(160deg,#1b1444,#100a2a); border-radius:20px; overflow:hidden; height:640px; }
  @media(max-width:660px){ .minner{ flex-direction:column; height:auto; } }
  .mleft{ flex:none; width:400px; align-self:stretch; background:radial-gradient(120% 80% at 50% 0,#2a1f63,#0c0922); display:flex; align-items:center; justify-content:center; padding:26px; overflow:hidden; }
  @media(max-width:660px){ .mleft{ width:100%; height:420px; } }
  .mleft img{ max-width:100%; max-height:100%; object-fit:contain; cursor:zoom-in; display:block; border-radius:9px; box-shadow:0 10px 34px rgba(0,0,0,.5); }
  .mleft .ph{ font-size:90px; }
  .mright{ flex:1; min-width:0; padding:30px 30px 26px; max-height:90vh; overflow-y:auto; display:flex; flex-direction:column; }
  .msec{ background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:17px 19px; margin-top:16px; }
  .msec .h{ font-size:13px; color:var(--gold); margin-bottom:10px; font-weight:700; }
  .msec .none{ color:var(--dim); font-size:12px; }
  .mhead{ display:flex; align-items:flex-start; gap:12px; }
  .mhead h3{ font-size:21px; font-weight:900; line-height:1.22; }
  .mhead .s{ color:var(--dim); font-size:13px; margin-top:4px; }
  .mhead .x{ margin-left:auto; cursor:pointer; color:var(--dim); font-size:23px; flex:none; line-height:1; }
  .tags{ margin:12px 0 15px; }
  .tags .tag{ display:inline-block; background:#241a52; border:1px solid var(--line); color:var(--dim); font-size:11px; padding:3px 9px; border-radius:7px; margin:0 5px 6px 0; }
  .pbox{ background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:6px 20px; margin-top:4px; }
  table{ width:100%; border-collapse:collapse; }
  th,td{ padding:12px 6px; text-align:center; border-bottom:1px solid var(--line); font-size:14.5px; width:25%; }
  tr:last-child td{ border-bottom:none; }
  .pbox th,.pbox td{ padding:11px 5px; font-size:13.5px; }
  th{ color:var(--dim); font-size:12px; text-align:center; }
  .psa10{ color:var(--gold); font-weight:900; } .psa9{ color:#cfe3ff; font-weight:900; } .psa8{ color:#bfb9e0; font-weight:900; }
  .pcell{ text-decoration:none; color:inherit; white-space:nowrap; } .pcell:hover .twd{ text-decoration:underline; } .pcell .qarrow{ font-size:10px; color:var(--dim); margin-left:3px; vertical-align:top; }
  .src.ebay b{ color:var(--ebay); } .src.merc b{ color:var(--merc); }
  .twd{ font-weight:900; } .orig{ color:var(--dim); font-size:11.5px; }
  .foot{ display:flex; gap:10px; margin-top:auto; padding-top:15px; flex-wrap:wrap; }
  .foot a{ flex:1; text-align:center; padding:10px; border-radius:11px; font-weight:800; font-size:13px; border:1px solid var(--line); }
  .foot a.eb{ color:var(--ebay); } .foot a.mc{ color:var(--merc); }
  .note{ color:var(--dim); font-size:11.5px; margin-top:12px; line-height:1.6; }
  .lbox{ position:fixed; inset:0; background:rgba(6,4,16,.92); backdrop-filter:blur(6px); display:none; align-items:center; justify-content:center; z-index:60; padding:24px; cursor:zoom-out; }
  .lbox.on{ display:flex; }
  .lbox img{ max-width:96vw; max-height:92vh; border-radius:12px; box-shadow:0 24px 70px rgba(0,0,0,.65); }
  .lbox .lx{ position:fixed; top:18px; right:22px; color:#fff; font-size:30px; cursor:pointer; opacity:.85; }
  .empty{ color:var(--dim); text-align:center; padding:60px 20px; }
  footer{ border-top:1px solid var(--line); color:var(--dim); font-size:12.5px; text-align:center; padding:24px 12px 34px; margin-top:16px; }

/* #184 Facet 模組樣式 + huca 深色主題對映 */
/* facet.css — 通用聯動篩選器樣式(#184)。主題無關:用 CSS 變數,host 未定義則走深色預設。
   字級階層鐵則:選項(--facet-item-fs)不大於群標題(--facet-title-fs)。 */
.facet {
  --facet-bg: var(--fc-bg, #181c24);
  --facet-line: var(--fc-line, #262c38);
  --facet-txt: var(--fc-txt, #e8ebf1);
  --facet-dim: var(--fc-dim, #9aa3b5);
  --facet-acc: var(--fc-acc, #d61f2b);
  --facet-item-bg: var(--fc-item-bg, #1f2430);
  --facet-title-fs: var(--fc-title-fs, 13px);   /* 群標題 */
  --facet-item-fs: var(--fc-item-fs, 12px);     /* 選項:必 ≤ 標題 */
  display: flex; flex-direction: column; gap: 8px; box-sizing: border-box;
}
.facet * { box-sizing: border-box; }
/* 搜尋(最上·不收合) */
.facet-search { position: relative; }
.facet-q { width: 100%; background: var(--facet-bg); border: 1px solid var(--facet-line); border-radius: 9px; color: var(--facet-txt); padding: 8px 30px 8px 11px; font-size: var(--facet-title-fs); font-family: inherit; }
.facet-q:focus {  border-color: var(--facet-acc); }
.facet-q-ic { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--facet-dim); font-size: 14px; pointer-events: none; }
/* 全部清除 */
.facet-clear { text-align: center; font-size: var(--facet-item-fs); font-weight: 700; color: var(--facet-dim); cursor: pointer; border: 1px dashed var(--facet-line); border-radius: 9px; padding: 8px; background: none; font-family: inherit; }
.facet-clear:hover { color: var(--facet-txt); border-color: var(--facet-dim); }
.facet-clear.on { opacity: .7; cursor: default; }
/* 群 */
.facet-group { background: var(--facet-bg); border: 1px solid var(--facet-line); border-radius: 11px; overflow: hidden; }
.facet-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; cursor: pointer; user-select: none; }
.facet-head:hover { background: rgba(255,255,255,.03); }
.facet-title { font-size: var(--facet-title-fs); font-weight: 700; color: var(--facet-txt); display: flex; align-items: center; gap: 5px; min-width: 0; }
.facet-ico { flex: none; }
.facet-count { color: var(--facet-dim); font-weight: 400; font-size: calc(var(--facet-item-fs) - 1px); margin-left: 4px; }
.facet-head-r { display: flex; align-items: center; gap: 8px; flex: none; }
/* 每群重置鈕(小·僅該群有選才顯) */
.facet-reset { font-size: calc(var(--facet-item-fs) - .5px); font-weight: 800; color: var(--facet-acc); background: rgba(214,31,43,.12); border: 1px solid transparent; border-radius: 20px; padding: 1px 8px; cursor: pointer; white-space: nowrap; }
.facet-reset:hover { border-color: var(--facet-acc); }
.facet-caret { color: var(--facet-dim); font-size: 11px; transition: transform .2s; }
.facet-group.open .facet-caret { transform: rotate(90deg); }
/* 選項(預設收合→隱藏;.open 才顯) */
.facet-items { display: none; flex-wrap: wrap; gap: 6px; padding: 0 12px 11px; }
.facet-group.open .facet-items { display: flex; }
.facet-items.scroll { max-height: 190px; overflow-y: auto; }
.facet-item { font-size: var(--facet-item-fs); padding: 4px 10px; border-radius: 15px; border: 1px solid var(--facet-line); background: var(--facet-item-bg); color: var(--facet-dim); cursor: pointer; font-family: inherit; line-height: 1.4; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.facet-item:hover { color: var(--facet-txt); }
.facet-item.on { background: rgba(214,31,43,.14); border-color: var(--facet-acc); color: var(--facet-txt); font-weight: 700; }
.facet-item.dim { opacity: .38; font-weight: 400; }   /* 零結果:變灰排後(防框架跳動·#189);交集下(#234)點它會變無結果 */
.facet-item.dim:hover { opacity: .7; }
.facet-empty { color: var(--facet-dim); font-size: var(--facet-item-fs); padding: 2px 0; }

#filters.facet{--fc-bg:var(--in);--fc-line:var(--line);--fc-txt:var(--txt);--fc-dim:var(--dim);--fc-acc:var(--hot);--fc-item-bg:var(--card);--fc-title-fs:12.5px;--fc-item-fs:11.5px}



  .sbtn{ position:fixed; right:20px; bottom:22px; z-index:50; display:flex; align-items:center; gap:8px; cursor:pointer;
    padding:12px 18px; border-radius:30px; border:1px solid rgba(255,255,255,.14); color:#2a1a00; font-weight:800; font-size:14px;
    background:linear-gradient(180deg,var(--gold,#ffcf4a),#e8a317); box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 22px rgba(255,207,74,.3); }
  .sbtn:hover{ transform:translateY(-2px); }
  .smask{ position:fixed; inset:0; z-index:60; background:rgba(6,4,16,.72); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:20px; }
  .smask.on{ display:flex; }
  .scard{ width:100%; max-width:440px; background:linear-gradient(160deg,#1c1544,#140e30); border:1px solid var(--line,rgba(255,255,255,.09)); border-radius:18px; padding:26px 24px; box-shadow:0 24px 70px rgba(0,0,0,.6); max-height:92vh; overflow:auto; }
  .scard h3{ font-size:19px; margin-bottom:4px; }
  .scard .desc{ color:var(--dim,#9a93c8); font-size:12.5px; margin-bottom:16px; line-height:1.6; }
  .scard label{ display:block; color:var(--dim,#9a93c8); font-size:12.5px; margin:12px 0 5px; }
  .scard input[type=text], .scard textarea{ width:100%; border-radius:10px; border:1px solid var(--line,rgba(255,255,255,.09)); background:var(--in,#100c26); color:#fff; padding:10px 12px; font-size:14px;  font-family:inherit; }
  .scard input:focus, .scard textarea:focus{ border-color:var(--pur,#8b6cff); }
  .scard .drop{ border:1px dashed var(--line,rgba(255,255,255,.14)); border-radius:10px; padding:14px; text-align:center; color:var(--dim,#9a93c8); font-size:12.5px; cursor:pointer; }
  .scard .drop img{ max-height:120px; border-radius:8px; margin-top:8px; }
  .scard .row{ display:flex; gap:10px; }
  .scard .row>div{ flex:1; }
  .sact{ display:flex; gap:10px; margin-top:20px; }
  .sact button{ flex:1; height:44px; border:none; border-radius:11px; cursor:pointer; font-weight:800; font-size:14px; }
  .sact .go{ color:#2a1a00; background:linear-gradient(180deg,var(--gold,#ffcf4a),#e8a317); }
  .sact .cx{ color:var(--dim,#9a93c8); background:transparent; border:1px solid var(--line,rgba(255,255,255,.12)); }
  .smsg{ text-align:center; font-size:13px; margin-top:12px; min-height:18px; }
  .slink{ display:block; text-align:center; margin-top:14px; color:var(--pur,#8b6cff); font-size:12.5px; }
