:root { color-scheme: light; --bg:#f5f3f5; --paper:#fff; --ink:#27212a; --muted:#66596a; --line:#ded8e0; --accent:#9a2558; --tint:#f4e6ed; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-size:16px; line-height:1.6; }
a { color:var(--accent); text-underline-offset:4px; }
a:hover { color:#711d43; }
::selection { background:var(--tint); color:var(--ink); }
:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
input { caret-color:var(--accent); }
.topbar { min-height:72px; background:var(--paper); border-bottom:1px solid var(--line); padding:16px max(24px,calc((100% - 1080px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { font-size:20px; font-weight:750; color:var(--ink); text-decoration:none; white-space:nowrap; }
.brand span { font-size:15px; color:var(--muted); margin-left:12px; font-weight:500; }
main { max-width:1128px; margin:0 auto; padding:36px 24px 16px; }
h1 { font-size:28px; line-height:1.3; margin:0 0 8px; }
h2 { font-size:20px; margin:0 0 16px; }
p { margin:8px 0 16px; max-width:75ch; }
.heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.heading p,.muted,.note,.section-heading span { color:var(--muted); font-size:14px; }
.filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:14px; padding:20px; background:var(--paper); border:1px solid var(--line); }
label { display:block; font-size:14px; font-weight:600; }
input { display:block; border:1px solid #9c909f; border-radius:6px; background:#fff; color:var(--ink); padding:10px 12px; min-height:44px; width:100%; font:inherit; margin-top:6px; }
input::placeholder { color:var(--muted); }
input:hover { border-color:var(--accent); }
button,.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid transparent; border-radius:6px; background:var(--accent); color:#fff; font:inherit; font-size:14px; font-weight:650; text-decoration:none; cursor:pointer; transition:background-color .15s ease; }
button:hover,.button:hover { background:#711d43; color:#fff; }
button:active { background:#531531; }
button:disabled { opacity:.55; cursor:wait; }
.secondary { background:var(--paper); color:var(--accent); border-color:#bda8b4; }
.secondary:hover { background:var(--tint); color:var(--accent); }
.check { display:flex; gap:8px; align-items:center; flex-basis:100%; font-weight:400; }
.check input { min-height:20px; width:20px; height:20px; margin:0; accent-color:var(--accent); }
section { margin-top:36px; }
.table-wrap { overflow-x:auto; background:var(--paper); border:1px solid var(--line); }
table { border-collapse:collapse; width:100%; font-size:15px; font-variant-numeric:tabular-nums; }
th,td { padding:14px 18px; text-align:right; border-bottom:1px solid var(--line); white-space:nowrap; }
th:first-child,td:first-child { text-align:left; }
thead th { background:#eeeaef; font-size:13px; color:#55465a; font-weight:650; }
tbody th { font-weight:500; }
tbody tr:last-child>* { border-bottom:0; }
tbody tr:hover { background:#faf6f9; }
.summary td { font-weight:650; font-size:20px; }
.summary th { white-space:normal; }
.empty { padding:30px 18px; white-space:normal; color:var(--muted); text-align:left; }
.note { margin-top:12px; }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.inline { display:flex; gap:12px; align-items:flex-end; max-width:660px; }
.inline input { flex:1; min-width:0; }
.inline button { flex-shrink:0; }
#link-result { margin-top:20px; }
#link-status { font-size:14px; color:var(--muted); min-height:22px; }
.login { max-width:420px; margin:7vh auto; background:var(--paper); padding:30px; border:1px solid var(--line); border-radius:12px; }
.login form { margin-top:24px; }
.login button { margin-top:20px; width:100%; }
.error { color:#a11532; }
.privacy { max-width:720px; margin:24px auto; }
.privacy p { margin-top:24px; }
footer { max-width:1128px; margin:24px auto 0; border-top:1px solid var(--line); padding:24px; font-size:13px; color:var(--muted); }
@media(max-width:600px) {
  .topbar { padding:14px 18px; gap:8px; }
  .topbar>a:last-child { font-size:13px; }
  main { padding:24px 18px; }
  h1 { font-size:24px; }
  .heading { align-items:flex-start; }
  .heading p { max-width:24ch; }
  .filters { padding:16px; gap:12px; }
  .filters>label:not(.check) { flex:1 1 calc(50% - 12px); min-width:0; }
  .filters>label:nth-child(3) { flex-basis:100%; }
  .filters>button,.filters>.export { flex:1; }
  th,td { padding:12px 10px; font-size:13px; }
  .summary td { font-size:18px; }
  .section-heading { display:block; margin-bottom:14px; }
  .section-heading h2 { margin-bottom:4px; }
  .login { padding:24px; margin-top:5vh; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important; } }
