/* RO 資料站 共用樣式：配色、字型、上方選單、按鈕、面板 */
:root{
  --bg:#eaeef2; --panel:#ffffff; --sunken:#f3f6f8; --fg:#1b2531; --muted:#5b6977;
  --line:#cdd6de; --accent:#2c66a8; --accent-soft:#dde8f5; --plus:#1f7a4d; --minus:#b3402f;
  --warn:#9a5b00; --warn-soft:#fbefd9; --like:#c2410c; --shadow:rgba(20,35,55,.16);
  --f-display:"Silkscreen","JetBrains Mono",monospace;
  --f-body:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  --f-num:"JetBrains Mono",ui-monospace,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#11161c; --panel:#19212a; --sunken:#151c23; --fg:#e2e8ee; --muted:#93a1af;
  --line:#2c3743; --accent:#79a9e6; --accent-soft:#1f2f44; --plus:#5cc893; --minus:#ef8a78;
  --warn:#e3a54a; --warn-soft:#33281a; --like:#fb923c; --shadow:rgba(0,0,0,.45); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#11161c; --panel:#19212a; --sunken:#151c23; --fg:#e2e8ee; --muted:#93a1af;
  --line:#2c3743; --accent:#79a9e6; --accent-soft:#1f2f44; --plus:#5cc893; --minus:#ef8a78;
  --warn:#e3a54a; --warn-soft:#33281a; --like:#fb923c; --shadow:rgba(0,0,0,.45); color-scheme:dark}

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.55}
a{color:var(--accent)}
h1{font-size:1.45rem;margin:0;text-wrap:balance}
h2{text-wrap:balance}

/* 上方選單 */
.top{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.topin{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.logo{font-family:var(--f-display);font-size:1rem;letter-spacing:.04em;color:var(--fg);text-decoration:none;white-space:nowrap}
.nav{display:flex;flex-wrap:wrap;gap:2px}
.nav a,.nav span{padding:6px 10px;border-radius:6px;font-size:.88rem;color:var(--muted);text-decoration:none}
.nav a:hover{color:var(--fg);background:var(--sunken)}
.nav a.on{background:var(--accent-soft);color:var(--accent);font-weight:700}
.nav span.soon{opacity:.55;cursor:default}

.wrap{max-width:1180px;margin:0 auto;padding:20px 16px 48px}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px}
.sub{color:var(--muted);font-size:.9rem;margin:2px 0 0}
.tag{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-weight:500}
.tag.warn{background:var(--warn-soft);color:var(--warn)}

button,.btn{font:inherit;font-size:.86rem;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--fg);
  padding:7px 14px;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
button:hover,.btn:hover{border-color:var(--accent)}
button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--panel);font-weight:700}
button[disabled]{opacity:.55;cursor:not-allowed}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px}
.ph{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line)}
.ph h2{margin:0;font-size:1rem}
.ph small{color:var(--muted);text-align:right}
.empty{padding:16px;color:var(--muted);font-size:.9rem}
.pos{color:var(--plus)} .neg{color:var(--minus)}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}
.job{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:4px;background:var(--accent-soft);color:var(--accent);margin-right:6px;vertical-align:2px;white-space:nowrap}

input[type=search],input[type=text],select,textarea{font:inherit;font-size:.9rem;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--fg)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border-radius:999px;padding:4px 12px;font-size:.84rem}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--panel)}

.foot{max-width:1180px;margin:0 auto;padding:0 16px 32px;color:var(--muted);font-size:.8rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
