@font-face{font-family:"Barlow Condensed";font-weight:500;font-display:swap;src:url(fonts/barlow-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:italic;font-display:swap;src:url(fonts/barlow-condensed-latin-700-italic.woff2) format("woff2")}
@font-face{font-family:"Mrs Saint Delafield";font-weight:400;font-display:swap;src:url(fonts/mrs-saint-delafield-latin-400-normal.woff2) format("woff2")}
/* Hit Please（球你開好卡）共用樣式。
   版面沿用 Riftbound 單卡店，外觀取自 Logo：線條與按鈕都用 Logo 的深藍（道奇藍），
   淺色模式是白底深藍線；深色模式是夜間球場的深藍底，線條提亮才看得清楚。 */
:root{
  --navy:#062C5B;
  --bg:#F4F7FB; --panel:#FFFFFF; --raise:#E8EEF7; --ink:#0A1F3F; --muted:#51627D;
  --line:#062C5B; --hair:rgba(6,44,91,.2);
  --accent:#062C5B; --accent-ink:#FFFFFF; --accent-soft:#DDE7F5; --accent-text:#062C5B;
  --ok:#14724A; --bad:#B3261E; --warn:#8A5A00; --scrim:rgba(6,20,44,.5); --stamp:#FFFFFF;
  --f-display:"Barlow Condensed","Noto Sans TC",system-ui,sans-serif;
  --f-body:"Noto Sans TC",system-ui,-apple-system,sans-serif;
  --f-sign:"Mrs Saint Delafield","Noto Sans TC",cursive;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#071226; --panel:#0D1C36; --raise:#17294A; --ink:#EAF1FB; --muted:#A1B3CE;
  --line:#3B7BCB; --hair:rgba(110,165,235,.26);
  --accent:#F2F6FC; --accent-ink:#062C5B; --accent-soft:#17335E; --accent-text:#9CC4F5;
  --ok:#55CF97; --bad:#FF8A80; --warn:#F0BC5E; --scrim:rgba(0,0,0,.65); --stamp:#0D1C36;
  color-scheme:dark;
}
*{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(--panel);border:1px solid var(--hair);border-radius:6px;padding:8px 10px;width:100%;min-width:0}
input:hover,select:hover,textarea:hover{border-color:var(--line)}
textarea{resize:vertical;min-height:110px;font-size:13.5px}
:is(input,select,textarea,button,a,summary):focus-visible{outline:2px solid var(--line);outline-offset:2px}
label,.lbl{font-size:12.5px;font-weight:700;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)}

.btn{font:inherit;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:6px;padding:8px 14px;cursor:pointer;border:1.5px solid var(--line);background:transparent;color:var(--accent-text);white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--accent-soft)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{opacity:.88;background:var(--accent)}
.btn.danger{border-color:var(--bad);color:var(--bad)}
.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;text-decoration:underline}
.linkbtn:disabled{color:var(--muted);cursor:default;text-decoration:none}

/* 頂部 */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--panel);border-bottom:2px solid var(--line)}
.top .inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-block:6px}
.brand{display:block;margin-right:auto;line-height:0;flex:none}
.brand img{height:56px;width:auto}
.on-dark{display:none} :root[data-theme="dark"] .on-dark{display:block} :root[data-theme="dark"] .on-light{display:none}
.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:6px;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(--panel);overflow:hidden;color:var(--ink)}
.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.art .frame{position:absolute;inset:5cqw;border:1.5px solid var(--line);border-radius:2.5cqw;display:flex;flex-direction:column;padding:5cqw;overflow:hidden;background:var(--panel)}
.art .foil{position:absolute;left:0;top:0;bottom:0;width:4.5cqw;background:var(--pc,transparent)}
.art.parallel .frame{border-left-width:0;border-radius:0 2.5cqw 2.5cqw 0;left:4.5cqw;padding-left:7cqw}
.art .aset{font-size:6.2cqw;line-height:1.25;color:var(--muted)}
.art.stamped .aset{padding-right:34cqw}
.art .lastname{margin-top:auto;font-family:var(--f-display);font-style:italic;font-weight:700;line-height:.95;font-size:calc(var(--fit,20)*1cqw);color:var(--accent-text)}
.art .first{font-family:var(--f-body);font-style:normal;font-weight:500;font-size:6.6cqw;line-height:1.35;color:var(--ink)}
.art .sign{position:absolute;left:0;right:0;top:27%;text-align:center;font-family:var(--f-sign);font-size:calc(var(--sfit,22)*1cqw);line-height:1;color:var(--ink);transform:rotate(-6deg);white-space:nowrap;pointer-events:none}
.art .rule{display:flex;align-items:center;gap:3cqw;margin-top:3cqw;font-family:var(--f-display);font-weight:700;font-size:7.4cqw;color:var(--muted);white-space:nowrap}
.art .rule::before,.art .rule::after{content:"";flex:1;height:1px;background:var(--line)}
/* 評級卡：卡盒＋標籤 */
.art.slab .frame{top:21cqw;inset-inline:7cqw;bottom:6cqw}
.art.slab.parallel .frame{left:9cqw}
.art .label{position:absolute;inset:3.5cqw 3.5cqw auto;height:15cqw;border:1.5px solid var(--line);border-radius:2cqw;display:flex;align-items:center;gap:3cqw;padding:0 4cqw;background:var(--accent);color:var(--accent-ink);font-family:var(--f-display);font-weight:700;font-size:9.5cqw;z-index:1}
.art .label b{margin-left:auto;font-size:13cqw}
.art .stamp{position:absolute;right:3.5cqw;top:3.5cqw;z-index:1;background:var(--accent);color:var(--accent-ink);font-family:var(--f-display);font-weight:700;font-size:9.5cqw;line-height:1;padding:1.5cqw 3cqw;border-radius:1.5cqw;font-variant-numeric:tabular-nums}
.art>img~.stamp{right:3cqw;top:3cqw}
.art .real{position:absolute;left:3cqw;top:3cqw;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:700;border-radius:3px;padding:0 5px}

.tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;line-height:18px;padding:0 6px;border-radius:3px;border:1px solid var(--hair);color:var(--muted);white-space:nowrap}
.tag i{width:9px;height:9px;border-radius:50%;background:var(--pc);flex:none}
.tag.rc{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-family:var(--f-display);font-weight:700;letter-spacing:.03em}
.tag.strong{border-color:var(--line);color:var(--accent-text)}
.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:6px;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:1.5px solid var(--line);border-radius:6px;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:12.5px;color:var(--muted);text-align:left;font-weight:700;padding:6px 8px;border-bottom:1.5px solid var(--line);white-space:nowrap}
td{padding:7px 8px;border-bottom:1px solid var(--hair);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:5px;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 img{height:42px}.round span{display:none}}
