:root{--bg:#fff;--fg:#1d2433;--muted:#5b6475;--line:#e3e6ec;--accent:#0b6e4f;--accent-fg:#fff;--soft:#f4f6f9;--warn:#fff4d6}
@media (prefers-color-scheme:dark){:root{--bg:#12161d;--fg:#e6e9ef;--muted:#a0a8b8;--line:#2a313d;--accent:#3fbf8f;--accent-fg:#0b1a14;--soft:#1a2029;--warn:#3a3218}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.7 system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif}
a{color:var(--accent)}
.pr-bar{background:var(--soft);color:var(--muted);font-size:12px;padding:6px 16px;text-align:center}
.sample-bar{background:#c0392b;color:#fff;text-align:center;font-weight:700;padding:4px}
header{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);max-width:1200px;margin:0 auto}
.logo{font-weight:700;font-size:18px;color:var(--fg);text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:4px 16px}
nav a{color:var(--muted);text-decoration:none;font-size:14px}
nav a.on{color:var(--fg);font-weight:700}
main{max-width:1200px;margin:0 auto;padding:16px}
h1{font-size:22px;margin:16px 0 8px}h2{font-size:18px;margin:24px 0 8px}
.hero p{color:var(--muted);margin:0}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.filters input,.filters select{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px}
.filters input{flex:1;min-width:180px}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
th{background:var(--soft);cursor:pointer;user-select:none;position:sticky;top:0}
th[data-num],td[data-v]{text-align:right}
th.asc::after{content:" ▲"}th.desc::after{content:" ▼"}
tr:hover td{background:var(--soft)}
.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);padding:3px 12px;border-radius:999px;text-decoration:none;font-size:13px}
.btn small{margin-left:4px;font-size:10px;opacity:.85;border:1px solid currentColor;border-radius:3px;padding:0 3px}
.new{background:#d9480f;color:#fff;font-size:10px;padding:1px 5px;border-radius:3px}
.note{color:var(--muted);font-size:13px}
.empty{text-align:center;color:var(--muted);padding:24px}
.more{text-align:right}
footer{max-width:1200px;margin:32px auto 0;padding:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.muted{color:var(--muted);font-size:13px;text-align:left}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:16px 0}
.card{display:block;border:1px solid var(--line);border-radius:10px;padding:16px;text-decoration:none;color:var(--fg)}
.card:hover{background:var(--soft)}
.card b{display:block;font-size:17px;margin-bottom:4px;color:var(--accent)}
.card span{color:var(--muted);font-size:13px}
