/* CCcards PTCG 共用樣式。
   版面與外觀沿用 CCcards Riftbound：預設深色、Chakra Petch 標題字、斜切色條品牌字；
   強調色換成皮卡丘黃。黃色底上的字一律用深色，淺色模式的黃色文字改用深金色才看得清楚。 */
:root{
  --bg:#0E0E10; --panel:#17171A; --raise:#222226; --ink:#F4F4F1; --muted:#A3A39B; --line:#2E2E33; --hair:rgba(255,255,255,.1);
  --accent:#FFCB05; --accent-ink:#1A1A1A; --accent-soft:#3A3104; --accent-text:#FFD43B;
  --ok:#4CC38A; --bad:#FF6B78; --warn:#F2B54A; --foil:#7FC8F8; --thumb:#08080A; --scrim:rgba(0,0,0,.66);
  --f-display:"Chakra Petch","Noto Sans TC",system-ui,sans-serif;
  --f-body:"Noto Sans TC",system-ui,-apple-system,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#F6F5F0; --panel:#FFFFFF; --raise:#EEEDE6; --ink:#17170F; --muted:#5E5D55; --line:#DAD8CF; --hair:rgba(0,0,0,.1);
  --accent:#FFCB05; --accent-ink:#1A1A1A; --accent-soft:#FFF3C0; --accent-text:#8A6500;
  --ok:#23804F; --bad:#B42335; --warn:#8F5E00; --foil:#2D7FB8; --thumb:#1A1A1F; --scrim:rgba(20,20,24,.45);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--panel)}
.gutter{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.inner{max-width:1360px;margin:0 auto}
a{color:var(--accent-text)}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%;min-width:0}
input:hover,select:hover,textarea:hover{border-color:var(--muted)}
textarea{resize:vertical;min-height:110px;font-size:13.5px}
:is(input,select,textarea,button,a,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
label,.lbl{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.field{display:grid;gap:5px;min-width:0}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.note{font-size:12.5px;color:var(--muted);margin:0}
.note.bad{color:var(--bad)} .note.ok{color:var(--ok)} .note.warn{color:var(--warn)}
.mono{font-family:var(--f-mono)}

.btn{font:inherit;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:8px 14px;cursor:pointer;border:1px solid var(--line);background:var(--raise);color:var(--ink);white-space:nowrap;text-decoration:none}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent}
.btn.danger{border-color:var(--bad);color:var(--bad);background:transparent}
.btn.small{font-size:12.5px;padding:4px 9px;font-weight:500}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn svg{width:16px;height:16px;flex:none}
.round{border-radius:999px;padding:6px 11px;font-size:13px}
.linkbtn{font:inherit;font-size:12.5px;background:none;border:0;color:var(--accent-text);cursor:pointer;padding:2px}
.linkbtn:disabled{color:var(--muted);cursor:default}

/* 頂部：品牌字前面一條斜切黃色條 */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--panel);border-bottom:1px solid var(--line)}
.top .inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-block:11px}
.brand{font-family:var(--f-display);font-weight:700;font-size:22px;letter-spacing:.02em;white-space:nowrap;margin-right:auto;display:flex;align-items:baseline;color:var(--ink);text-decoration:none}
.brand::before{content:"";align-self:center;width:7px;height:22px;background:var(--accent);margin-right:10px;transform:skewX(-14deg)}
.brand small{font-family:var(--f-body);font-weight:500;font-size:12px;color:var(--accent-text);margin-left:8px;letter-spacing:.08em}
.top nav{display:flex;flex-wrap:wrap;gap:6px}
.top nav a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.who{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.who:empty{display:none}
.demo-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--warn);border:1px dashed var(--warn);border-radius:8px;padding:6px 10px}
.authbox{flex-basis:100%}
.authbox .btn.small{padding:5px 10px}

/* 卡圖：官方卡圖或賣家實拍；圖片載入失敗時顯示文字卡面 */
.art{position:relative;aspect-ratio:5/7;width:100%;max-width:100%;container-type:inline-size;background:var(--thumb);overflow:hidden;color:#fff}
.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art img.photo{object-fit:contain;background:#000}
.art .ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:2cqw;padding:7cqw;background:linear-gradient(160deg,#2A2A30,#0B0B0D);border:1px solid var(--line)}
.art .ph::before{content:"";position:absolute;left:7cqw;top:7cqw;width:5cqw;height:16cqw;background:var(--accent);transform:skewX(-14deg)}
.art .ph b{font-family:var(--f-display);font-weight:700;font-size:10cqw;line-height:1.15;overflow-wrap:anywhere}
.art .ph span{font-family:var(--f-mono);font-size:6.5cqw;color:#BDBDB5}
.art .mark{position:absolute;top:3.5cqw;left:3.5cqw;font-size:11px;font-weight:700;color:#fff;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:0 5px;white-space:nowrap;z-index:1}
.art .lang{position:absolute;top:3.5cqw;right:3.5cqw;font-size:11px;font-weight:700;border-radius:4px;padding:0 5px;z-index:1;background:var(--accent);color:var(--accent-ink)}
.art .slab{position:absolute;left:3.5cqw;right:3.5cqw;bottom:3.5cqw;z-index:1;display:flex;align-items:center;gap:2cqw;background:rgba(10,10,12,.86);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:4px;padding:1cqw 3cqw;font-family:var(--f-display);font-weight:700;font-size:9cqw}
.art .slab b{margin-left:auto;color:var(--accent);font-size:11cqw}
@container (max-width:90px){.art .mark,.art .lang,.art .slab{display:none}}

.tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;line-height:18px;padding:0 6px;border-radius:4px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.tag i{width:9px;height:9px;border-radius:50%;background:var(--pc,#888);flex:none}
.tag.strong{border-color:var(--accent);color:var(--accent-text)}
.tag.foil{border-color:var(--foil);color:var(--foil)}
.tag.rar{font-family:var(--f-display);font-weight:700;color:var(--ink)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px;font-size:13.5px;z-index:90;max-width:calc(100vw - 32px)}
.confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px;padding:10px;border:1px solid var(--accent);border-radius:8px;background:var(--panel)}
.confirm .acts{margin-left:auto;display:flex;gap:8px}
.money{font-family:var(--f-display);font-weight:700;font-variant-numeric:tabular-nums}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font-size:12px;color:var(--muted);text-align:left;font-weight:700;letter-spacing:.04em;padding:6px 8px;border-bottom:2px solid var(--ink);white-space:nowrap}
td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.num{text-align:right;font-variant-numeric:tabular-nums}
.empty{color:var(--muted);text-align:center;padding:36px 10px}
.stepper{display:inline-flex;align-items:center;gap:4px}
.stepper button{font:inherit;width:26px;height:26px;border-radius:7px;border:1px solid var(--line);background:transparent;color:var(--accent-text);cursor:pointer;line-height:1;padding:0}
.stepper b,.stepper input{min-width:26px;text-align:center;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:480px){.brand{font-size:19px}.brand small{display:none}.round span{display:none}}

/* 訂單留言與付款資訊 */
.opanel{display:grid;gap:10px;font-size:14px}
.paybox{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;gap:7px;background:var(--raise)}
.paybox .ptitle{font-weight:700}
.paybox .bank{white-space:pre-line;overflow-wrap:anywhere}
.last5{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.last5 .l5i{width:7.5em;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.storeedit summary{cursor:pointer;font-size:13px;color:var(--accent-text)}
.storeform{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:6px}
.thread{display:grid;gap:7px}
.thread .ttitle{font-weight:700}
.tmsg{max-width:88%;justify-self:start;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--panel);overflow-wrap:anywhere}
.tmsg.mine{justify-self:end;background:var(--accent-soft);border-color:transparent}
.tmsg .tmeta{font-size:11.5px;color:var(--muted);margin-bottom:1px}
.tmsg .tbody{white-space:pre-line}
.tmsg a{color:var(--accent-text);text-decoration:underline}
.tform{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.tform textarea{min-height:40px;resize:vertical}
.tnote{font-size:12.5px}.tnote:empty{display:none}
