/* ─────────────────────────────────────────
   都道府県エリア グリッドマップ 共通スタイル
   area_grid.css — 他ページからも利用可能
   ───────────────────────────────────────── */

/* ─── エリアセクション共通ラッパー ─── */
.tokyo-area{background:var(--bg-panel,linear-gradient(180deg,rgba(255,255,255,0.01),rgba(0,0,0,0.06)));padding:10px;border-radius:12px;border:1px solid var(--border-soft,rgba(255,255,255,0.43));box-shadow:inset 0 1px 0 rgba(255,255,255,0.02);margin-bottom:12px;margin-top:10px;box-sizing:border-box;width:100%;min-width:0;position:relative}
.tokyo-area .grid{display:block;padding:6px;overflow-x:scroll}
.tokyo-area .map-table td{height:65px;border:0 solid #fd8f8f52;text-align:center;vertical-align:middle;padding:6px;box-sizing:border-box;word-break:break-word;min-width:48px}
.tokyo-area .map-table a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none;color:var(--text-main,#dfdede);border-radius:10px;padding:1px;background:var(--bg-subtle,linear-gradient(180deg,rgba(255,255,255,0.02),rgba(0,0,0,0.12)));border:1px solid var(--border-soft,rgba(255,255,255,0.08));box-shadow:inset 0 1px 3px rgba(255,255,255,0.2),inset 0 -4px 10px rgba(0,0,0,0.45),0 2px 5px rgba(0,0,0,0.4);transition:transform .12s ease,box-shadow .18s ease,background .18s ease;overflow:hidden}
.tokyo-area .map-table a:hover{transform:translateY(-3px);background:var(--item-hover-bg,linear-gradient(180deg,rgba(255,255,255,0.04),rgba(0,0,0,0.08)));box-shadow:0 6px 18px rgba(0,0,0,0.45);color:var(--text-title,#fff)}
body.theme-light .tokyo-area .map-table a{border-color:rgba(0,0,0,0.1);box-shadow:inset 2px 2px 5px rgba(255,255,255,0.9),inset -1px -2px 5px rgba(0,0,0,0.1),0 1px 3px rgba(0,0,0,0.12)}
body.theme-light .tokyo-area .map-table a:hover{box-shadow:0 4px 12px rgba(0,0,0,0.18)}
.tokyo-area .area-name{line-height:1.15;padding:2px 1px}
.tokyo-area .panels{display:none;gap:10px}
.tokyo-area .panel{flex:0 0 100%;padding:8px;box-sizing:border-box}
.tokyo-area .panels-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.tokyo-area .panel .panel-grid{display:grid;grid-template-columns:1fr;gap:8px}
.tokyo-area .panel .tile{background:transparent;min-height:56px;display:flex;align-items:center;justify-content:flex-start;border-radius:12px/6px;transition:background .18s ease;padding:8px;box-sizing:border-box}
.tokyo-area .panel .tile a{display:block;width:100%;height:100%;text-align:left;padding:6px;text-decoration:none;color:var(--text-main,#dfdede)}
.tokyo-area .panel .tile a:hover{background:var(--item-hover-bg,#8f8b8b)}
.tokyo-area .hint{color:var(--text-subtle,#666);font-size:13px;margin-bottom:10px}
.tokyo-area-simple{background:var(--bg-panel,linear-gradient(180deg,rgba(255,255,255,0.03),rgba(0,0,0,0.28)));border:1px solid var(--border-soft,rgba(255,255,255,0.08));border-radius:12px;padding:14px;box-shadow:0 10px 22px rgba(0,0,0,0.22)}
.prefecture-title{margin:0 0 12px 0;color:var(--text-title,#e8f3ff);font-size:16px;display:flex;align-items:center;gap:8px;font-weight:700;border-bottom:2px solid var(--border-soft,rgba(142,197,255,0.58))}
.prefecture-title .icon{color:var(--text-link,#8ec5ff);font-size:18px;line-height:1}
.tokyo-area-list{list-style:none;margin:0;padding:2px;display:flex;flex-wrap:wrap;gap:8px 10px}
.tokyo-area-list li{display:flex}
.tokyo-area-list li a{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:8px;background:var(--chip-bg,#1c1c1c);border:1px solid var(--chip-border,#433f3f);color:var(--chip-text,#f5f5f5);font-weight:600;letter-spacing:0.1px;text-decoration:none;line-height:1.1;transition:all .15s ease}
.tokyo-area-list li a:hover{color:var(--chip-hover-text,#ffb347);border-color:var(--chip-hover-border,#ff9a2f);background:var(--chip-hover-bg,rgba(255,154,47,0.08));box-shadow:0 4px 12px rgba(0,0,0,0.25)}
.tokyo-area-list .arrow{display:none}
.tokyo-area-empty{margin:0;color:var(--text-info,#ddd);font-size:14px}
.tokyo-scroll-hint{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .28s ease}
.tokyo-area.has-overflow .tokyo-scroll-hint{opacity:1}

/* ─── 分割ペイン（東西）スタイル ─── */
.tokyo-map-wrapper{width:100%;box-sizing:border-box}
.tokyo-panes{display:flex;gap:12px;align-items:stretch;overflow:hidden}
.tokyo-pane{
  flex:1;
  min-width:0;
  display:block;
  transition:opacity 0.3s ease,transform 0.3s ease;
  min-height:280px;
}
.tokyo-pane .map-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  height:100%;
}

/* コントロールボタン（ワイド画面では非表示） */
.tokyo-pane-controls{display:none;gap:8px;justify-content:center;margin-top:8px}
.tokyo-arrow{
  background:#858484;
  border:1px solid rgba(255,255,255,0.04);
  color:#fff;
  padding:8px 12px;
  border-radius:8px;
  cursor:pointer;
  transition:background-color 0.2s ease,transform 0.2s ease;
}
.tokyo-arrow:hover{background:#252525;transform:scale(1.05)}
.tokyo-arrow:focus{outline:2px solid rgba(217,75,106,0.18)}
.tokyo-arrow:active{transform:scale(0.95)}

/* ワイド：2ペイン並列表示（>=800px） */
@media (min-width:800px){
  .tokyo-area{overflow:visible}
  .tokyo-panes{overflow:visible}
  .tokyo-pane{display:block}
  .tokyo-pane-controls{display:none}
}

/* ナロー：シングルペインモード（JSが .pane-single を付与） */
@media (max-width:799px){
  .tokyo-panes{display:block;min-height:280px}
  .tokyo-area.pane-single .tokyo-pane{display:none;min-height:280px}
  .tokyo-area.pane-single .tokyo-pane.active{display:block}
  .tokyo-area.pane-single .tokyo-pane .map-table td{height:auto}
  .tokyo-area.pane-single .tokyo-pane .map-table a{justify-content:center}
  .tokyo-pane-controls{display:flex}
}

/* map-table 幅・崩れ防止 */
.tokyo-area .map-table{border-collapse:collapse;margin:0;table-layout:fixed;width:100%;max-width:100%}
.tokyo-area,.tokyo-panes,.tokyo-pane{min-width:0}

/* ─── ラベルセル ─── */
.map-table td.tky-label{text-align:center;vertical-align:middle;font-size:11px;line-height:1.4;color:var(--text-subtle,#888);padding:6px 4px}
.map-table td.tky-label strong{display:block;font-size:13px;font-weight:700;color:var(--text-main,#ddd);margin-top:2px}
body.theme-light .map-table td.tky-label{color:#555}
body.theme-light .map-table td.tky-label strong{color:#222}
