/* コンテンツページ共通スタイル(特性/ポケモン/わざ/タイプ)。既存サイトのトークンに準拠。 */
:root{
  --orange:#FF7A00; --orange-light:#FFB347; --blue:#1E5BB8; --blue-dark:#103D85;
  --yellow:#FFCB05; --green:#2E8B57; --red:#C0392B; --purple:#8b5cf6;
  --bg:#fafafa; --text:#1a1a1a; --muted:#666; --card-bg:#fff; --line:#e5e5e5;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);line-height:1.7;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}

.hero{background:#fff;padding:10px 20px;text-align:center;border-bottom:3px solid var(--yellow)}
.hero .logo{font-weight:800;font-size:20px;color:var(--orange);letter-spacing:.5px}
.hero .logo small{color:var(--muted);font-weight:500;font-size:12px;display:block;margin-top:2px}
.hero a{color:inherit}

.wrap{max-width:880px;margin:0 auto;padding:16px}
.crumbs{font-size:13px;color:var(--muted);margin:8px 0 16px}
.crumbs a{color:var(--muted)}
.crumbs b{color:var(--text)}

.card{background:var(--card-bg);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:18px;
  box-shadow:0 1px 3px rgba(0,0,0,.04)}
h1{font-size:26px;margin:0 0 6px}
h2{font-size:18px;margin:24px 0 10px;padding-left:10px;border-left:4px solid var(--orange)}
.lead{font-size:17px;color:#333;background:#fff8ee;border:1px solid #ffe2bd;border-radius:8px;padding:12px 14px;margin:10px 0}

.badge{display:inline-block;padding:3px 10px;border-radius:999px;color:#fff;font-size:13px;font-weight:700;margin:2px 4px 2px 0;white-space:nowrap}
.t-ノーマル{background:#9aa39b}.t-ほのお{background:#F08030}.t-みず{background:#6890F0}
.t-でんき{background:#F8D030;color:#5a4a00}.t-くさ{background:#78C850}.t-こおり{background:#98D8D8;color:#2a4a4a}
.t-かくとう{background:#C03028}.t-どく{background:#A040A0}.t-じめん{background:#E0C068;color:#4a3a10}
.t-ひこう{background:#A890F0}.t-エスパー{background:#F85888}.t-むし{background:#A8B820}
.t-いわ{background:#B8A038}.t-ゴースト{background:#705898}.t-ドラゴン{background:#7038F8}
.t-あく{background:#705848}.t-はがね{background:#B8B8D0;color:#33334a}.t-フェアリー{background:#EE99AC;color:#5a2a3a}

table{border-collapse:collapse;width:100%;font-size:15px;margin:6px 0}
th,td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
th{background:#f4f6f8;color:#444}
.stat-bar{height:14px;background:#eee;border-radius:7px;overflow:hidden;display:inline-block;width:140px;vertical-align:middle;margin-left:8px}
.stat-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--orange-light),var(--orange))}

.chips a{display:inline-block;background:#eef3fb;border:1px solid #d4e2f5;color:var(--blue-dark);
  border-radius:999px;padding:5px 12px;margin:4px 4px 0 0;font-size:14px}
.chips a:hover{background:#dce9fb;text-decoration:none}
.chips .plain{display:inline-block;background:#f3f3f3;border:1px solid #e3e3e3;color:#555;border-radius:999px;padding:5px 12px;margin:4px 4px 0 0;font-size:14px}

.move-table{font-size:13.5px}
.move-table th{white-space:nowrap}
/* 分類の色分け(pokemon_db_v9 と同配色: 物理=橙 / 特殊=青 / 変化=灰) */
.move-table td.cls-物理{background:#FFE0C8;color:#111;font-weight:700;text-align:center}
.move-table td.cls-特殊{background:#D0E8F8;color:#111;font-weight:700;text-align:center}
.move-table td.cls-変化{background:#ECECEC;color:#111;font-weight:700;text-align:center}
#mvCat button.catf{border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;margin:2px 4px 2px 0;color:#111;cursor:pointer;border:1px solid #0002}
#mvCat button.cat-物理{background:#FFE0C8}
#mvCat button.cat-特殊{background:#D0E8F8}
#mvCat button.cat-変化{background:#ECECEC}
#mvCat button.cat-物理.on{background:#B03A2E;color:#fff;box-shadow:0 0 0 2px #1a1a1a55}
#mvCat button.cat-特殊.on{background:#2874A6;color:#fff;box-shadow:0 0 0 2px #1a1a1a55}
#mvCat button.cat-変化.on{background:#6C3483;color:#fff;box-shadow:0 0 0 2px #1a1a1a55}
.move-table td.num{text-align:center;width:48px;white-space:nowrap}
.move-table td.mdesc{font-size:12.5px;color:#444;line-height:1.5}
.move-table td:first-child{white-space:nowrap}
.move-table .badge{font-size:12px;padding:2px 8px}
.table-scroll{overflow-x:auto}

/* 一覧グリッド(index) */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}
.grid a{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px}
.grid a:hover{border-color:var(--orange);text-decoration:none}
.grid a small{display:block;color:var(--muted);font-size:11px}

.note-sample{background:#fffbe6;border:1px dashed #e0c43a;border-radius:8px;padding:8px 12px;font-size:13px;color:#7a6a1a;margin:0 0 14px}

/* 一覧の操作UI(ソート/フィルター) */
.list-controls{margin:10px 0 14px}
.list-controls .search{width:100%;max-width:320px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px}
.type-filter{margin-top:10px}
.type-filter button{cursor:pointer;border:1px solid transparent;font-family:inherit}
.type-filter button.all{background:#eef0f3;color:#333;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;margin:2px 4px 2px 0}
.type-filter button.tf{padding:3px 10px;border-radius:999px;color:#fff;font-size:13px;font-weight:700;margin:2px 4px 2px 0;opacity:.45}
.type-filter button.tf.on,.type-filter button.all.on{opacity:1;box-shadow:0 0 0 2px #1a1a1a55}
.filter-count{font-size:13px;color:var(--muted);margin-left:6px}
.sort-group{font-size:13px;color:#555;margin:6px 0}
.sort-group .sortb{cursor:pointer;border:1px solid #ccc;background:#fff;color:#333;border-radius:999px;padding:3px 12px;margin:0 4px 4px 4px;font-size:13px;font-weight:600;font-family:inherit}
.sort-group .sortb.on{background:var(--orange);color:#fff;border-color:var(--orange)}

table.sortable th[data-k]{cursor:pointer;white-space:nowrap;user-select:none}
table.sortable th[data-k]:hover{background:#e9eef3}
table.sortable th[data-k]::after{content:"\2195";opacity:.35;font-size:11px;margin-left:3px}
table.sortable th.sort-asc::after{content:"\2191";opacity:1}
table.sortable th.sort-desc::after{content:"\2193";opacity:1}
.list-table td.num,.list-table th.num{text-align:center;width:52px}
.list-table td.name{white-space:nowrap;font-weight:600}
.list-table td .badge{font-size:11px;padding:2px 7px;margin:1px 3px 1px 0}
.list-table{font-size:13.5px}
.list-table td.abils{white-space:normal;min-width:120px}
.ab-chip{display:inline-block;background:#f0ecfb;border:1px solid #ddd0f5;color:#5b3aa6;border-radius:6px;padding:1px 7px;margin:1px 3px 1px 0;font-size:12px;cursor:help}
.ab-chip:hover{background:#e6dcf8;text-decoration:none}
/* マウスオーバー説明ポップアップ */
#c-tip{position:fixed;z-index:9999;max-width:280px;background:#1a2433;color:#e8eef6;border:1px solid #3a86ff;border-radius:8px;padding:8px 11px;font-size:13px;line-height:1.55;box-shadow:0 6px 18px rgba(0,0,0,.32);pointer-events:none}

/* 広告の予約枠(AdSense承認後に .ad-section__inner へ <ins> を入れる) */
.ad-section.in-content{margin:18px 0;padding:8px 10px 12px;border:1px dashed #dcdcdc;border-radius:10px;background:#fbfbfb;text-align:center}
.ad-section.in-content .pr-label{display:inline-block;font-size:11px;color:#aaa;letter-spacing:.05em;margin-bottom:4px}
.ad-section.in-content .ad-section__inner{min-height:48px;display:flex;align-items:center;justify-content:center}
.ad-section.in-content .ad-section__inner:empty::before{content:"広告枠(審査の通過後に表示されます)";color:#c4c4c4;font-size:12px}

/* 左右のサイド広告枠(縦長)。広い画面だけ表示し、狭い画面では隠す */
.side-rail{display:none}
.side-rail .railbox{border:1px dashed #dcdcdc;border-radius:10px;background:#fbfbfb;padding:8px;text-align:center}
.side-rail .pr-label{display:block;font-size:11px;color:#aaa;margin-bottom:4px}
.side-rail .ad-section__inner{min-height:600px;display:flex;align-items:center;justify-content:center}
.side-rail .ad-section__inner:empty::before{content:"広告枠";color:#c4c4c4;font-size:12px}
@media (min-width:1240px){
  .side-rail{display:block;position:fixed;top:80px;width:160px;z-index:40}
  .side-rail.left{left:max(12px, calc(50% - 760px))}
  .side-rail.right{right:max(12px, calc(50% - 760px))}
}

footer{margin-top:30px;padding:18px 20px;background:#1a1a1a;color:#bbb;text-align:center;font-size:12px;line-height:1.7}
footer .unofficial{color:#ffcf6b;font-weight:700;margin:0 0 4px}
footer a{color:#9fc0ef}
footer .links{margin:8px 0}
