
/* 色の役割
   amber = 空港コードとブランド / green(felt, bar) = キャッシュ毎日・安め・主力 / red(chip) = 注意（高め・危険情報・要確認）
   一覧（出発案内板）は暗い盤面、詳細の引き出しは上部だけ盤面色で、本文は紙面色 */
:root{
  --ground:#EBEFEB;
  --surface:#F8FAF7;
  --surface-2:#F0F3EF;
  --ink:#111B16;
  --ink-2:#34423B;
  --muted:#56665E;
  --line:#D2D9D3;
  --felt:#145C44;
  --felt-soft:#DCEAE2;
  --chip:#B3322A;
  --chip-soft:#F6E1DD;
  --warn:#9A6200;
  --warn-soft:#F7EBCF;
  /* ライトモードは盤面も紙面色（出発案内板らしさは空港コードの金色と等幅数字で出す） */
  --board:#F8FAF7;
  --board-2:#EEF2EE;
  --board-3:#E3E9E4;
  --board-ink:#111B16;
  --board-muted:#56665E;
  --board-line:#D2D9D3;
  --amber:#9A6200;
  --bar:#145C44;
  --scrim:rgba(8,14,11,.55);
  --display:"Dela Gothic One","Hiragino Sans","Yu Gothic",sans-serif;
  --sans:"IBM Plex Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --top-h:52px;
  /* ツアー色（dataviz の検証済みカテゴリ配色。順序固定） */
  --t-WSOP:#2a78d6;
  --t-WSOP-ink:#fff;
  --t-WPT:#eb6834;
  --t-WPT-ink:#111b16;
  --t-EPT:#1baf7a;
  --t-EPT-ink:#111b16;
  --t-APPT:#eda100;
  --t-APPT-ink:#111b16;
  --t-APT:#e87ba4;
  --t-APT-ink:#111b16;
  --t-Triton:#008300;
  --t-Triton-ink:#fff;
  --t-PokerDream:#4a3aa7;
  --t-PokerDream-ink:#fff;
  --t-JOPT:#e34948;
  --t-JOPT-ink:#111b16;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ground:#0B110E;
    --surface:#111A15;
    --surface-2:#16211B;
    --ink:#E3EBE6;
    --ink-2:#C2CEC7;
    --muted:#93A69C;
    --line:#27372F;
    --felt:#62C29A;
    --felt-soft:#173328;
    --chip:#EE7A69;
    --chip-soft:#3A1E1A;
    --warn:#E9B65A;
    --warn-soft:#352914;
    --board:#060B09;
    --board-2:#0E1712;
    --board-3:#15211B;
    --board-ink:#E3EBE6;
    --board-muted:#8FA297;
    --board-line:#1E2D26;
    --amber:#F2BA4A;
    --bar:#62C29A;
    --scrim:rgba(0,0,0,.6);
    --t-WSOP:#3987e5;
    --t-WSOP-ink:#111b16;
    --t-WPT:#d95926;
    --t-WPT-ink:#111b16;
    --t-EPT:#199e70;
    --t-EPT-ink:#111b16;
    --t-APPT:#c98500;
    --t-APPT-ink:#111b16;
    --t-APT:#d55181;
    --t-APT-ink:#111b16;
    --t-Triton:#008300;
    --t-Triton-ink:#fff;
    --t-PokerDream:#9085e9;
    --t-PokerDream-ink:#111b16;
    --t-JOPT:#e66767;
    --t-JOPT-ink:#111b16;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ground:#0B110E;
  --surface:#111A15;
  --surface-2:#16211B;
  --ink:#E3EBE6;
  --ink-2:#C2CEC7;
  --muted:#93A69C;
  --line:#27372F;
  --felt:#62C29A;
  --felt-soft:#173328;
  --chip:#EE7A69;
  --chip-soft:#3A1E1A;
  --warn:#E9B65A;
  --warn-soft:#352914;
  --board:#060B09;
  --board-2:#0E1712;
  --board-3:#15211B;
  --board-ink:#E3EBE6;
  --board-muted:#8FA297;
  --board-line:#1E2D26;
  --amber:#F2BA4A;
  --bar:#62C29A;
  --scrim:rgba(0,0,0,.6);
  --t-WSOP:#3987e5;
  --t-WSOP-ink:#111b16;
  --t-WPT:#d95926;
  --t-WPT-ink:#111b16;
  --t-EPT:#199e70;
  --t-EPT-ink:#111b16;
  --t-APPT:#c98500;
  --t-APPT-ink:#111b16;
  --t-APT:#d55181;
  --t-APT-ink:#111b16;
  --t-Triton:#008300;
  --t-Triton-ink:#fff;
  --t-PokerDream:#9085e9;
  --t-PokerDream-ink:#111b16;
  --t-JOPT:#e66767;
  --t-JOPT-ink:#111b16;
}
*{box-sizing:border-box}
html{scroll-padding-top:150px}
body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
a{color:var(--felt)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:20px}
.mono{font-family:var(--mono)}
.num{font-variant-numeric:tabular-nums}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- top bar ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--ground);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:16px;min-height:var(--top-h)}
.brand{font-family:var(--display);font-size:17px;letter-spacing:.02em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand-mark{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--chip);box-shadow:inset 0 0 0 3px var(--chip),inset 0 0 0 5px var(--surface)}
.brand-mark::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--surface)}
.top nav{display:flex;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none;min-width:0}
.top nav::-webkit-scrollbar{display:none}
.top nav a{font-size:13px;color:var(--ink-2);text-decoration:none;padding:6px 10px;border-radius:4px;white-space:nowrap}
.top nav a:hover{background:var(--surface-2);color:var(--ink)}

/* ---------- hero ---------- */
.hero{padding-block:36px 24px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px;align-items:end}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,5vw,56px);line-height:1.15;margin:8px 0 14px;text-wrap:balance;letter-spacing:.01em}
.hero h1 em{font-style:normal;color:var(--felt)}
.hero h1 span{display:inline-block}
.lede{max-width:36em;color:var(--ink-2);margin:0}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.facts div{padding:12px 12px 12px 0;min-width:0}
.facts div+div{padding-left:12px;border-left:1px solid var(--line)}
.facts b{display:block;font-size:22px;font-weight:600;line-height:1.3;white-space:nowrap}
.facts span{display:block;font-size:12.5px;color:var(--muted);line-height:1.5}

/* ---------- 国旗 ---------- */
.flag{display:inline-block;width:20px;height:15px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.14);vertical-align:-2px;margin-right:7px;object-fit:cover;flex:none}
.flag.lg{width:32px;height:24px;border-radius:3px;vertical-align:-3px;margin-right:10px}

/* ---------- 気になる都市の保存（★） ---------- */
.fav-btn{display:inline-flex;align-items:center;justify-content:center;margin:5px 6px 0 0;font:inherit;font-size:12px;line-height:1.5;border:1px solid var(--board-line);background:transparent;color:var(--board-muted);border-radius:999px;padding:1px 10px;cursor:pointer;vertical-align:middle}
.fav-btn:hover{border-color:var(--board-muted);color:var(--board-ink)}
.fav-btn[aria-pressed="true"]{color:var(--amber);border-color:var(--amber)}
.d-close.fav-btn{margin:0;font-size:13px;border-radius:4px;padding:5px 12px}
.fav-only{flex:none;font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:5px 12px;cursor:pointer;white-space:nowrap}
.fav-only .n{margin-left:6px;font-size:12px;color:var(--muted)}
.fav-only[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.fav-only[aria-pressed="true"] .n{color:inherit;opacity:.75}

/* ---------- 都市の比較 ---------- */
.cmp-btn{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font:inherit;font-size:12px;line-height:1.5;border:1px solid var(--board-line);background:transparent;color:var(--board-muted);border-radius:999px;padding:1px 10px;cursor:pointer}
.cmp-btn:hover{border-color:var(--board-muted);color:var(--board-ink)}
.cmp-btn[aria-pressed="true"]{background:var(--bar);border-color:var(--bar);color:var(--board)}
.d-close.cmp-btn{margin-top:0;font-size:13px;border-radius:4px;padding:5px 12px}
.cmp-bar{position:fixed;left:0;right:0;margin-inline:auto;width:fit-content;bottom:14px;z-index:40;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 24px);padding:8px 8px 8px 16px;background:var(--ink);color:var(--surface);border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.22);font-size:13px}
.cmp-bar .cb-l{opacity:.75}
.cmp-bar .cb-c{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 10px;border-radius:999px;background:rgba(127,127,127,.25)}
.cmp-bar .cb-c button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:2px 6px}
.cmp-bar .cb-go{display:inline-block;padding:6px 14px;border-radius:10px;background:var(--felt);color:#fff;font-weight:600;text-decoration:none}
.cmp-bar .cb-go[aria-disabled="true"]{opacity:.5;pointer-events:none}
.cmp-bar .cb-clear{border:0;background:transparent;color:inherit;opacity:.75;cursor:pointer;font:inherit;font-size:12px;text-decoration:underline}
.cmp-bar .cb-msg{flex-basis:100%;text-align:center;font-size:12px;color:var(--amber)}
.cmp-bar[hidden],body.locked .cmp-bar{display:none}
.cmp{padding-bottom:40px}
.cmp-tools{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 16px}
.cmp-tools select{font:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}
.cmp-tools .ctl{min-width:0;max-width:100%}
.cmp-tools #cmp-add{min-width:14em;max-width:100%}
.cmp-tools label[for="cmp-add"]{flex:1 1 14em}
.cmp-tools label[for="cmp-add"] select{width:100%}
.cmp-grid{--n:2;display:grid;grid-template-columns:8.5em repeat(var(--n),minmax(0,1fr));border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}
.cmp-k,.cmp-v{padding:10px 12px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.6;min-width:0;overflow-wrap:anywhere}
.cmp-v+.cmp-v{border-left:1px solid var(--line)}
.cmp-k{font-size:12.5px;color:var(--muted);background:var(--surface-2)}
.cmp-head{border-top:0;background:var(--surface)}
.cmp-head .ch-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.cmp-head .code{font-size:15px;color:var(--felt)}
.cmp-head b{display:block;font-size:16px;line-height:1.4}
.cmp-head .ch-c{font-size:12.5px;color:var(--muted)}
.cmp-head .ch-x{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:4px;cursor:pointer;font-size:12px;padding:1px 7px}
.cmp-head .ch-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:12.5px}
.cmp-v .big{display:block;font-size:16px;font-weight:600}
.cmp-v .sm{display:block;font-size:12.5px;color:var(--muted)}
.cmp-v .best{display:inline-block;margin-left:6px;font-size:11.5px;font-weight:600;color:var(--felt);border:1px solid var(--felt);border-radius:3px;padding:0 5px;vertical-align:2px}
.cmp-v ul{margin:0;padding-left:1.1em}
.cmp-v .loading{color:var(--muted);font-size:12.5px}
.cmp-empty{border:1px dashed var(--line);border-radius:8px;padding:28px 16px;text-align:center;color:var(--muted)}
.cmp-empty a{font-weight:600}
@media (max-width:720px){
  .cmp-grid{grid-template-columns:repeat(var(--n),minmax(0,1fr))}
  .cmp-k{grid-column:1/-1;padding:5px 10px;font-weight:600}
  .cmp-k.cmp-head{display:none}
  .cmp-v{padding:8px 10px;font-size:13px;border-top:0}
  .cmp-head{border-top:0}
  .cmp-v .big{font-size:15px}
  .cmp-bar{bottom:10px;padding:8px 10px;border-radius:12px}
}

/* ---------- page head ---------- */
.page-head{padding-block:26px 6px}
.page-head h1,.cal-h1{font-size:clamp(24px,3.4vw,32px);font-weight:600;margin:6px 0 4px;line-height:1.3}
.page-head .lede{font-size:14px;color:var(--muted)}
.top nav a[aria-current="page"]{background:var(--surface-2);color:var(--ink);font-weight:600}

/* ---------- toolbar ---------- */
.toolbar{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--top-h));z-index:20;background:var(--ground);padding-block:10px;display:grid;gap:8px;border-bottom:1px solid transparent}
.toolbar.stuck{border-bottom-color:var(--line)}
.scroll-x{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.scroll-x::-webkit-scrollbar{display:none}
.chip-btn{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:4px 12px;border-radius:999px;cursor:pointer;font-size:13px;line-height:1.6;white-space:nowrap}
.chip-btn:hover{border-color:var(--muted);color:var(--ink)}
.chip-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.chip-btn .n{font-family:var(--mono);opacity:.6;margin-left:4px;font-size:12px}
.tb-row{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.tb-more{display:contents}
.tb-toggle{display:none}
.ctl{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap}
.ctl select{font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:5px 8px}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.stepper button{width:30px;height:30px;border:0;background:none;cursor:pointer;font-size:16px}
.stepper button:hover{background:var(--surface-2)}
.stepper output{min-width:44px;text-align:center;font-family:var(--mono);font-size:13px}
.spacer{flex:1}
.q-search{font-size:14px;border:1px solid var(--line);border-radius:6px;padding:7px 12px;background:var(--surface);color:var(--ink);min-width:16em;flex:1 1 16em;max-width:26em}
.grp-btn .gsum{margin-left:auto;font-weight:400;font-size:12.5px;color:var(--board-muted);text-align:right;line-height:1.5}
.grp-btn .gsum b{color:var(--board-ink);font-weight:600}
.open-all{border:1px solid var(--board-line);background:none;color:var(--board-ink);border-radius:4px;padding:3px 10px;font-size:12.5px;cursor:pointer}
.open-all:hover{background:var(--board-2)}
.budget-box{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.budget-box .ctl{color:var(--ink-2);font-weight:600}
.budget-box select{font-weight:400}

/* ---------- departure board ---------- */
.board{background:var(--board);color:var(--board-ink);border-radius:8px;overflow:hidden;border:1px solid var(--board-line)}
.board-head{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 18px;border-bottom:1px solid var(--board-line);flex-wrap:wrap}
.board-title{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.board-sub{font-size:12.5px;color:var(--board-muted)}
.legend{border-bottom:1px solid var(--board-line);font-size:12.5px;color:var(--board-muted)}
.legend summary{cursor:pointer;padding:9px 18px;list-style:none;display:flex;align-items:center;gap:8px}
.legend summary::-webkit-details-marker{display:none}
.legend summary::before{content:"＋";font-family:var(--mono);color:var(--amber)}
.legend[open] summary::before{content:"−"}
.legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 20px;padding:2px 18px 14px}
.legend-grid div{display:flex;align-items:center;gap:10px}
table.dep{width:100%;border-collapse:collapse;color:var(--board-ink);font-size:14px}
.dep th{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--board-muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--board-line);white-space:nowrap}
.dep td{padding:12px;border-bottom:1px solid var(--board-line);vertical-align:top}
.dep tbody tr[data-id]{cursor:pointer;transition:background .15s}
.dep tbody tr[data-id]:hover{background:var(--board-2)}
.dep tbody tr[aria-current="true"]{background:var(--board-2);box-shadow:inset 3px 0 0 var(--amber)}
.dep tr.grp th{padding:0;border-bottom:1px solid var(--board-line);background:var(--board)}
.grp-btn{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:14px 12px 8px;cursor:pointer;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--board-ink);letter-spacing:0;text-transform:none}
.grp-btn:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}
.grp-btn::before{content:"";width:7px;height:7px;border-right:2px solid var(--board-muted);border-bottom:2px solid var(--board-muted);transform:rotate(45deg);margin:-3px 2px 0 4px;transition:transform .15s}
.grp-btn[aria-expanded="false"]::before{transform:rotate(-45deg);margin-top:0}
.grp-btn .cnt{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--board-muted);letter-spacing:.04em}
.dep td.c-dest{min-width:200px;width:22%}
.dep td.c-stake{min-width:150px}
.dest{display:grid;grid-template-columns:3.6em minmax(0,1fr);gap:0 10px;align-items:start}
.code{font-family:var(--mono);font-weight:600;font-size:17px;letter-spacing:.05em;color:var(--amber);line-height:1.5}
.dest b{display:block;font-weight:600;font-size:15px;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.dest .sub{display:block;font-size:12.5px;color:var(--board-muted);line-height:1.6}
.dest .hit{display:block;font-size:12.5px;font-weight:600;color:var(--amber);line-height:1.6}
.sub{color:var(--board-muted)}
.dep .stake-main{font-family:var(--mono);font-weight:600;font-size:14px;white-space:nowrap}
.dep .stake-sub{display:block;font-size:12.5px;color:var(--board-muted);line-height:1.6}
.series{font-size:13px;color:var(--board-ink);line-height:1.55;min-width:9em}
.trend{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.rt{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.5;padding:1px 8px;border-radius:3px;white-space:nowrap;border:1px solid var(--line);color:var(--ink-2)}
.rt b{font-weight:600}
.board .rt{border-color:var(--board-line);color:var(--board-ink)}
/* 高い・低いは色ではなく量で示す（赤は危険情報だけに使う） */
.meter{display:inline-flex;align-items:flex-end;gap:2px;height:11px}
.meter i{width:3px;background:currentColor;opacity:.28;border-radius:1px}
.meter i:nth-child(1){height:5px}.meter i:nth-child(2){height:8px}.meter i:nth-child(3){height:11px}
.meter.m1 i:nth-child(1),.meter.m2 i:nth-child(-n+2),.meter.m3 i{opacity:1}
.crowd{display:flex;flex-wrap:wrap;gap:4px}
.ct{font-size:12px;line-height:1.5;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.board .ct{background:var(--board-3);color:var(--board-ink)}
.costcell{min-width:180px}
.cost-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cost-mid{font-size:17px;font-weight:600;line-height:1.3;white-space:nowrap}
.cost-range{font-family:var(--mono);font-size:12px;color:var(--board-muted);white-space:nowrap}
.cost-parts{font-size:12px;color:var(--board-muted)}
.mrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mlabel{font-size:12px;color:var(--board-muted);min-width:3.4em}
.bank{margin-top:8px;padding-top:7px;border-top:1px dashed var(--board-line)}
.bank-v{font-size:15px;font-weight:600;white-space:nowrap}
.bank-basis{font-size:12px;color:var(--board-muted)}
.tier{display:inline-flex;align-items:center;height:20px;border:1px solid transparent;font-size:12px;font-weight:600;padding:0 7px;border-radius:3px;line-height:1;white-space:nowrap}
.tier{border-color:var(--board-line);color:var(--board-ink);gap:4px}
.tier .yen{font-family:var(--mono);letter-spacing:-.04em;color:var(--amber)}
.tier .yen s{text-decoration:none;opacity:.3}
.empty-row td{text-align:center;color:var(--board-muted);padding:28px}
.games{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.g{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.5;padding:1px 9px 1px 7px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.g::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.g b{font-weight:600}
.g.daily{background:var(--felt);color:var(--surface)}
.g.part{border:1px dashed var(--muted);color:var(--ink-2)}
.g.part::before{background:none;border:1.5px solid currentColor;width:4px;height:4px}
.g.none{color:var(--muted)}
.g.none::before{background:none;border:1px solid currentColor;width:5px;height:5px}
.board .g.daily{background:var(--bar);color:var(--board)}
.board .g.part{border-color:var(--board-muted);color:var(--board-ink)}
.board .g.none{color:var(--board-muted)}
.risk{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:0 7px;border-radius:3px;line-height:1.7;white-space:nowrap}
.risk.r0{color:var(--muted);border:1px solid var(--line)}
.risk.r1{background:var(--warn-soft);color:var(--warn)}
.risk.r2,.risk.r3,.risk.r4{background:var(--chip-soft);color:var(--chip)}
.board .risk.r0{color:var(--board-muted);border-color:var(--board-line)}
.board .risk.r1{background:transparent;color:var(--amber);border:1px solid var(--amber)}
.board .risk.r2,.board .risk.r3,.board .risk.r4{background:var(--chip);color:#fff}
.tbd{display:inline-block;font-size:.76em;line-height:1.5;padding:0 5px;margin:0 1px;border:1px solid var(--line);border-radius:3px;color:var(--muted);background:none;font-weight:400;white-space:nowrap;vertical-align:.08em;cursor:help}
.board .tbd{border-color:var(--board-line);color:var(--board-muted)}
.tbd-count{font-size:12.5px;color:var(--muted);margin:10px 0 0}

/* ---------- drawer (city detail) ---------- */
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40;opacity:0;transition:opacity .2s}
.scrim.on{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(720px,94vw);z-index:50;background:var(--surface);color:var(--ink);display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.25);transform:translateX(100%);transition:transform .25s ease}
.drawer.on{transform:none}
.d-top{background:var(--board);color:var(--board-ink);padding:calc(env(safe-area-inset-top,0px) + 14px) 22px 0;flex:none}
.d-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.d-close{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--board-line);background:var(--board-2);color:var(--board-ink);border-radius:4px;padding:5px 12px;cursor:pointer;font-size:13px}
.d-close:hover{background:var(--board-3)}
.d-step{display:flex;gap:6px}
.d-step button{border:1px solid var(--board-line);background:none;color:var(--board-muted);border-radius:4px;padding:5px 10px;cursor:pointer;font-size:12.5px}
.d-step button:hover{color:var(--board-ink);background:var(--board-2)}
.d-step button:disabled{opacity:.35;cursor:default}
.d-id{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 16px;align-items:end;margin-top:14px}
.d-code{font-family:var(--mono);font-weight:600;font-size:44px;line-height:.95;letter-spacing:.03em;color:var(--amber)}
.d-id h2{font-size:24px;font-weight:600;line-height:1.3;margin:0;text-wrap:balance}
.d-id h2 small{font-size:13px;font-weight:400;color:var(--board-muted);margin-left:8px}
.d-id .place{font-size:12.5px;color:var(--board-muted)}
.d-lv{text-align:right;font-size:12px;color:var(--board-muted)}
.d-lv .trend{align-items:flex-end;margin-top:4px}
.d-top .rt{border-color:var(--board-line);color:var(--board-ink)}

.d-top .ct{background:var(--board-3);color:var(--board-ink)}
.d-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--board-line);border:1px solid var(--board-line);border-radius:6px;overflow:hidden;margin:16px 0 0}
.d-card{background:var(--board-2);padding:10px 12px;min-width:0}
.d-card .k{display:block;font-size:12px;color:var(--board-muted);letter-spacing:.06em}
.d-card .v{display:block;font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.d-card .v.mono{font-family:var(--mono);font-size:15px}
.d-card .s{display:block;font-size:12px;color:var(--board-muted);line-height:1.55}
.d-card .games{flex-direction:row;flex-wrap:wrap;margin-top:3px}
.d-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:12px -22px 0;padding:0 18px}
.d-nav::-webkit-scrollbar{display:none}
.d-nav button{flex:none;border:0;background:none;color:var(--board-muted);padding:9px 10px;cursor:pointer;font-size:13px;border-bottom:2px solid transparent}
.d-nav button:hover{color:var(--board-ink)}
.d-nav button[aria-current="true"]{color:var(--board-ink);border-bottom-color:var(--amber)}
.d-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:6px 22px calc(env(safe-area-inset-bottom,0px) + 40px)}
.d-sec{padding-top:22px;scroll-margin-top:8px}
.sec-label{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.sec-label::after{content:"";flex:1;height:1px;background:var(--line)}
.d-summary{margin:0 0 10px;color:var(--ink-2)}
.level-note{margin:0;color:var(--ink-2);font-size:14px}

.rooms{display:grid;gap:12px}
.room{border:1px solid var(--line);border-radius:6px;background:var(--surface);overflow:hidden}
.room > summary{list-style:none;cursor:pointer;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:start}
.room > summary::-webkit-details-marker{display:none}
.room > summary:hover{background:var(--surface-2)}
.room h3{font-size:15.5px;margin:0;line-height:1.45}
.room .area{font-size:12.5px;color:var(--muted);line-height:1.5;margin:0}
.room .r-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.room .r-main{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--felt);white-space:nowrap}
.room .games{flex-direction:row;flex-wrap:wrap;grid-column:1/-1}
.r-open{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;justify-self:end;grid-column:1/-1}
.r-open::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.room[open] .r-open::after{transform:rotate(-135deg);margin-top:3px}
.room[open] .r-open .lbl::after{content:"閉じる"}
.room:not([open]) .r-open .lbl::after{content:"詳しく"}
.room-meta{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.tag{font-family:var(--mono);font-size:12px;padding:1px 8px;border-radius:3px;background:var(--felt-soft);color:var(--felt);white-space:nowrap}
.tag.n{background:var(--surface-2);color:var(--ink-2)}
.room-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line)}
.room-grid > div{padding:12px 14px;min-width:0}
.room-grid > div + div{border-left:1px solid var(--line)}
.col-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.col-h .k{font-size:12.5px;font-weight:600;color:var(--ink)}
.k{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}
.srange{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 10px;border:1px solid var(--line);border-radius:4px}
.srange div{padding:6px 8px;min-width:0}
.srange div+div{border-left:1px solid var(--line)}
.srange dt{font-size:12px;color:var(--muted)}
.srange dd{margin:0;font-family:var(--mono);font-size:13px;font-weight:600;overflow-wrap:anywhere}
.srange div.main{background:var(--felt-soft)}
.srange div.main dd{color:var(--felt)}
.s-note{font-size:12.5px;color:var(--muted);margin:-4px 0 10px}
.stakes{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:3px}
.stakes li{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;font-size:13px;line-height:1.55}
.stakes .s{font-family:var(--mono);font-weight:600}
.stakes .b{color:var(--muted);font-size:12.5px}
.rake{font-size:13.5px;line-height:1.65;margin:0 0 10px}
.none-note{font-size:13px;color:var(--muted);margin:0}
.room-foot{padding:10px 14px 12px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-2);display:grid;gap:6px}
.room-foot a{font-size:13px;word-break:break-all}

.costs{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:6px}
.costs td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}
.costs td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:10px}
.costs .x{display:block;font-size:12.5px;color:var(--muted)}
.costs tr.total td{border-bottom:0;border-top:2px solid var(--ink);font-weight:600;padding-top:10px}
.cost-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px;margin-top:14px}
.cost-notes p{margin:0;font-size:13.5px;color:var(--ink-2)}
.side-note{font-size:12.5px;color:var(--muted);margin:6px 0 0}
.facts-dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0;border-top:1px solid var(--line)}
.facts-dl div{padding:11px 14px 11px 0;border-bottom:1px solid var(--line);min-width:0}
.facts-dl div:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}
.facts-dl div.wide{grid-column:1/-1;padding-left:0;border-left:0}
.facts-dl dt{font-size:12px;color:var(--muted)}
.facts-dl dd{margin:2px 0 0;font-size:14px;line-height:1.7}
.tips{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.tips li{position:relative;padding-left:18px;font-size:14px}
.tips li::before{content:"";position:absolute;left:2px;top:.75em;width:7px;height:7px;border-radius:50%;background:var(--felt)}
.src{border:1px solid var(--line);border-radius:6px}
.src summary{cursor:pointer;padding:10px 14px;font-size:13.5px;color:var(--ink-2)}
.src ol{font-size:13px;color:var(--muted);margin:0;padding:0 14px 12px 34px}
.src li{word-break:break-all}
.src a{color:var(--muted)}
.conf{display:inline-block;font-size:13px;padding:3px 10px;border-radius:4px;background:var(--felt-soft);color:var(--felt);margin-top:12px}
.conf.low{background:var(--chip-soft);color:var(--chip)}
.conf.medium{background:var(--surface-2);color:var(--ink-2)}

/* ---------- budget ---------- */
.ctl input[type=number]{width:5.5em;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:5px 8px;font-family:var(--mono)}
.ctl input[type=number]::placeholder{color:var(--muted);font-family:var(--sans)}
.budget-on{outline:2px solid var(--felt);outline-offset:1px}
.sum-line{margin-top:6px;font-size:12.5px;color:var(--board-ink)}
.sum-line b{font-weight:600}
.sum-line.over{color:var(--chip)}

/* ---------- calendar ---------- */
.cal{padding-block:48px 8px;scroll-margin-top:150px}
.cal h2{font-family:var(--sans);font-weight:600;font-size:clamp(22px,3vw,28px);margin:8px 0 6px}
.cal > p{color:var(--muted);font-size:13.5px;margin:0 0 16px;max-width:60em}
.cal-months{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:16px}
.cal-months::-webkit-scrollbar{display:none}
.cal-list{display:grid;gap:22px}
.cal-month h3{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--muted);margin:0 0 8px;display:flex;align-items:center;gap:10px}
.cal-month h3::after{content:"";flex:1;height:1px;background:var(--line)}
.cal-month h3 .n{font-family:var(--sans);letter-spacing:0;font-size:12px}
.ev{display:grid;grid-template-columns:9.5em minmax(0,1fr) auto;gap:4px 16px;align-items:baseline;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface)}
.ev:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}
.ev:last-child{border-bottom:0;border-bottom-left-radius:6px;border-bottom-right-radius:6px}
.cal-month .evs{border:1px solid var(--line);border-radius:6px;overflow:hidden}
.ev .when{font-family:var(--mono);font-size:13px;font-weight:600;white-space:nowrap}
.ev .when small{display:block;font-family:var(--sans);font-weight:400;font-size:12px;color:var(--muted)}
.ev .what b{font-weight:600}
.ev .what span{display:block;font-size:13px;color:var(--muted)}
.ev .where{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;padding:3px 10px;font-size:13px;cursor:pointer;white-space:nowrap;color:var(--ink)}
.ev .where:hover{border-color:var(--muted)}
.ev .where .code{font-size:12px;color:var(--felt);margin-right:6px;line-height:1}
.cal-empty{color:var(--muted);font-size:14px}
.cal-bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:14px}
.seg2{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface)}
.seg2 button{border:0;background:none;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--ink-2)}
.seg2 button[aria-pressed="true"]{background:var(--ink);color:var(--surface)}
.cal-search{font-size:13px;border:1px solid var(--line);border-radius:4px;padding:6px 10px;background:var(--surface);color:var(--ink);min-width:14em}
.gcal-link{font-size:12px;white-space:nowrap}
.ev .what{grid-column:2;grid-row:1}
.ev .acts{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
/* 月表示（Googleカレンダー風） */
.mnav{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.mnav button{border:1px solid var(--line);background:var(--surface);border-radius:4px;width:34px;height:32px;cursor:pointer;font-size:15px}
.mnav button:disabled{opacity:.35;cursor:default}
.mnav h3{font-size:18px;margin:0;min-width:7.5em;font-weight:600}
.mnav .today-btn{width:auto;padding:0 12px;font-size:13px}
.approx-box{border:1px dashed var(--line);border-radius:6px;padding:8px 12px;margin-bottom:10px;font-size:13px;color:var(--ink-2)}
.approx-box b{font-size:12px;color:var(--muted);font-weight:600;margin-right:8px}
.approx-box button{border:0;background:var(--surface-2);border-radius:999px;padding:2px 10px;margin:2px 4px 2px 0;font-size:12.5px;cursor:pointer;color:var(--ink)}
.mgrid{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface)}
.mhead{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}
.mhead div{font-size:12px;color:var(--muted);text-align:center;padding:6px 0}
.mhead div:first-child{color:var(--chip)}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:24px repeat(6,min-content) 1fr;position:relative;min-height:110px;border-bottom:1px solid var(--line)}
.week:last-child{border-bottom:0}
.week .day{grid-row:1/-1;border-left:1px solid var(--line);padding:3px 5px;font-size:12px;color:var(--ink-2)}
.week .day:first-child{border-left:0}
.week .day.we{background:color-mix(in srgb,var(--surface-2) 70%,var(--surface))}
.week .day.out{background:var(--surface-2);color:var(--muted)}
.week .day.today .dn{background:var(--felt);color:var(--surface);border-radius:999px;padding:0 6px}
.week .dn{display:inline-block;font-family:var(--mono);font-size:12px;line-height:1.6}
.ebar{position:relative;z-index:1;margin:1px 2px;padding:1px 6px;border-radius:4px;font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:0;text-align:left;background:var(--felt);color:var(--surface)}
.ebar:hover{filter:brightness(1.1)}
[data-tour="WSOP"]{--tc:var(--t-WSOP);--tci:var(--t-WSOP-ink)}
[data-tour="WPT"]{--tc:var(--t-WPT);--tci:var(--t-WPT-ink)}
[data-tour="EPT"]{--tc:var(--t-EPT);--tci:var(--t-EPT-ink)}
[data-tour="APPT"]{--tc:var(--t-APPT);--tci:var(--t-APPT-ink)}
[data-tour="APT"]{--tc:var(--t-APT);--tci:var(--t-APT-ink)}
[data-tour="Triton"]{--tc:var(--t-Triton);--tci:var(--t-Triton-ink)}
[data-tour="PokerDream"]{--tc:var(--t-PokerDream);--tci:var(--t-PokerDream-ink)}
[data-tour="JOPT"]{--tc:var(--t-JOPT);--tci:var(--t-JOPT-ink)}
.ebar[data-tour]{background:var(--tc);color:var(--tci)}
.ebar.approx[data-tour]{background:transparent;color:var(--ink);border:1px dashed var(--tc)}
.tdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--tc);margin-right:6px;flex:none;vertical-align:baseline}
.ttag{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:2px}
.ev[data-tour]{box-shadow:inset 4px 0 0 var(--tc)}
.ebar.approx{background:var(--felt-soft);color:var(--felt);border:1px dashed var(--felt)}
.ebar.cont-l{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}
.ebar.cont-r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}
.more{position:relative;z-index:1;font-size:12px;color:var(--muted);padding:0 6px;background:none;border:0;text-align:left;cursor:pointer}
@media (max-width:720px){
  .week{min-height:84px}
  .ebar{font-size:12px;padding:0 3px}
  .cal-search{min-width:0;flex:1}
}
.d-series{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.d-series li{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.d-series .when{font-family:var(--mono);font-size:13px;font-weight:600}
.d-series .when small{display:block;font-family:var(--sans);font-weight:400;font-size:12px;color:var(--muted)}
.d-series span.m{display:block;font-size:13px;color:var(--muted)}

/* ---------- 広告（PR）と導線 ---------- */
.prbar{background:var(--surface-2);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.prbar .wrap{padding-block:5px}
.pr{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;border:1px solid var(--muted);color:var(--muted);border-radius:3px;padding:0 5px;margin-right:6px;line-height:1.6}
.aff{margin-top:16px;border:1px solid var(--line);border-radius:6px;padding:12px 14px;background:var(--surface-2)}
.aff-h{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;display:flex;align-items:center}
.aff-btns{display:flex;flex-wrap:wrap;gap:8px}
.aff-btns a{display:inline-flex;flex-direction:column;gap:0;text-decoration:none;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:7px 12px;color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.4}
.aff-btns a small{font-size:12px;font-weight:400;color:var(--muted)}
.aff-btns a:hover{border-color:var(--felt)}
.fb{margin:14px 0 0;padding:10px 12px;border:1px dashed var(--line);border-radius:6px;font-size:13px;color:var(--muted)}
.fb a{font-weight:600;margin-right:8px}
.fb span{display:inline-block}
.rel-box{margin-top:12px;border-left:3px solid var(--felt);padding:8px 12px;background:var(--surface)}
.rel-box a{font-weight:600;text-decoration:none}
.rel-box p{margin:2px 0 0;font-size:13px;color:var(--muted)}

/* ---------- general guide ---------- */
.guide{padding-block:56px 24px;scroll-margin-top:70px}
.guide h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,3.4vw,34px);margin:8px 0 22px;text-wrap:balance}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.guide-grid article{padding:18px 20px 22px 0;min-width:0}
.guide-grid article + article{padding-left:20px;border-left:1px solid var(--line)}
.guide-grid article:nth-child(n+4){border-top:1px solid var(--line)}
.guide-grid article:nth-child(4){padding-left:0;border-left:0}
.guide-grid h3{font-size:15px;margin:0 0 8px}
.guide-grid p,.guide-grid li{font-size:14px;color:var(--ink-2);margin:0}
.guide-grid ul{margin:0;padding-left:18px;display:grid;gap:4px}
.fx-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;margin-top:10px;font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.fx-list span{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted var(--line)}
.nogo{margin-top:40px;scroll-margin-top:70px}
.nogo h3{font-size:16px;margin:0 0 4px}
.nogo > p{font-size:13.5px;color:var(--muted);margin:0 0 12px}
.nogo ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 24px;border-top:1px solid var(--line)}
.nogo li{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.nogo li b{color:var(--ink)}
footer{padding-block:28px 48px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);margin-top:24px}
footer p{margin:0 0 6px;max-width:70em}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .dep th.c-series,.dep td.c-series{display:none}
}
@media (max-width:960px){
  .hero{grid-template-columns:1fr;gap:20px;padding-top:26px}
  .guide-grid{grid-template-columns:1fr 1fr}
  .guide-grid article:nth-child(n){padding:18px 16px 20px 0;border-left:0;border-top:1px solid var(--line)}
  .guide-grid article:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
  .guide-grid article:nth-child(-n+2){border-top:0}
}
@media (max-width:720px){
  .wrap{padding-inline:16px}
  .brand{font-size:14px;gap:8px}
  .top nav a{padding:6px 7px;font-size:12.5px}
  .top nav .nl{display:none}
  .top .wrap{gap:10px}
  .top nav a{padding:6px 6px}
  .hero{padding-block:14px 8px;gap:12px}
  .hero h1{font-size:24px;margin:4px 0 6px}
  .eyebrow{font-size:11.5px}
  .lede{font-size:13.5px;line-height:1.65}
  .facts div{padding:7px 8px 7px 0}
  .facts div+div{padding-left:8px}
  .facts b{font-size:17px}
  .facts span{font-size:12px}
  .tb-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:5px 10px;font-size:13px;color:var(--ink);cursor:pointer;max-width:100%}
  .tb-toggle .sum{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tb-more{display:none}
  .toolbar.open .tb-more{display:flex;flex-wrap:wrap;gap:10px 16px;width:100%;padding-top:4px}
  .tb-more .scroll-x{width:100%}
  .spacer{display:none}
  .dep thead{display:none}
  .dep tbody tr[data-id]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 14px;border-bottom:1px solid var(--board-line)}
  .dep td{padding:0;border:0}
  .dep tr.grp,.dep tr.grp th{display:block}
  .dep td.c-dest{grid-column:1;min-width:0;width:auto}
  .dep td.c-stake{min-width:0}
  table.dep{table-layout:fixed;max-width:100%}
  .dep td.c-level{grid-column:1/-1;text-align:left}
  .dep td.c-level .trend{flex-direction:row;flex-wrap:wrap;align-items:center}
  .grp-btn{flex-wrap:wrap}
  .grp-btn{padding:11px 12px 9px}
  .grp-btn .gsum{margin-left:0;flex-basis:100%;text-align:left;padding-left:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}
  .ct{white-space:normal}
  .dep td.c-games{grid-column:1/-1}
  .games{flex-direction:row;flex-wrap:wrap}
  .dep td.c-stake{grid-column:1/-1}
  .dep td.c-stake .stake-sub,.dep td.c-stake .rake-line{display:none}
  .dep td.c-cost{grid-column:1/-1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}
  .dep td.c-cost .cost-mid{font-size:15px}
  .dep td.c-cost .cost-range,.dep td.c-cost .cost-parts,.dep td.c-cost .bank-basis{display:none}
  .dep td.c-cost .bank{margin:0;padding:0;border:0}
  .dep td.c-cost .bank-v{font-size:14px}
  .mlabel{min-width:0}
  .drawer{width:100vw;box-shadow:none}
  .d-top{padding-inline:16px}
  .d-nav{margin-inline:-16px;padding-inline:12px}
  .d-scroll{padding-inline:16px}
  .d-code{font-size:34px}
  .d-id h2{font-size:20px}
  .d-cards{grid-template-columns:1fr 1fr}
  .d-step{display:none}
  .room-grid{grid-template-columns:1fr}
  .room-grid > div + div{border-left:0;border-top:1px solid var(--line)}
  .facts-dl{grid-template-columns:1fr}
  .facts-dl div:nth-child(even){padding-left:0;border-left:0}
  .guide-grid{grid-template-columns:1fr}
  .guide-grid article:nth-child(n){padding:16px 0;border-left:0;border-top:1px solid var(--line)}
  .guide-grid article:first-child{border-top:0}
  .nogo li{grid-template-columns:6em minmax(0,1fr)}
  .ev{grid-template-columns:1fr auto}
  .ev .what{grid-column:1/-1;grid-row:2}
  .ev .acts{grid-column:2}
  .d-series li{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- 都市ページ ---------- */
body.citypage{min-height:100vh}
.cp{max-width:900px;margin-inline:auto;padding:0 20px 40px}
.crumb{font-size:12.5px;color:var(--muted);margin:16px 0 10px}
.crumb a{color:var(--muted)}
.cp-hero{border-radius:8px;padding:20px 22px 0 !important}
.cp-h1{font-size:24px;font-weight:600;line-height:1.35;margin:0;text-wrap:balance}
.cp-h1 small{font-size:13px;font-weight:400;color:var(--board-muted);margin-left:8px}
.cp-id{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap}
.cp-id .d-code{font-size:42px}
.cp-h1 span{font-size:.62em;font-weight:600;margin-left:2px}
.cp-trend{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--board-muted)}
.cp-trend .trend{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}
.cp-hero{padding-bottom:20px !important}
.cp-nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 52px);z-index:15;background:var(--ground);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 0;border-bottom:1px solid var(--line)}
.cp-nav::-webkit-scrollbar{display:none}
.cp-nav a{flex:none;font-size:13px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);text-decoration:none}
.cp-nav a:hover{border-color:var(--muted);color:var(--ink)}
.cp .d-intro .d-summary{font-size:15px}
.cp .d-sec p,.cp .d-sec li,.cp .facts-dl dd{max-width:44em}
.cp .d-sec{scroll-margin-top:118px}
.cp h2.sec-label{font-weight:400}
.rel{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.rel li{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:8px 12px;display:flex;flex-direction:column}
.rel a{text-decoration:none;color:var(--ink);font-weight:600}
.rel a .code{font-size:12px;color:var(--felt);margin-right:6px;line-height:1}
.rel span{font-size:12px;color:var(--muted)}
.pn{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
.pn a{text-decoration:none;font-size:14px}
.citylinks{margin-top:40px}
.citylinks h3{font-size:16px;margin:0 0 4px}
.citylinks > p{font-size:13.5px;color:var(--muted);margin:0 0 12px}
.citylinks .reg{margin-bottom:14px}
.citylinks .reg b{display:block;font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:4px}
.citylinks .reg div{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px}
.legal h2{font-size:17px;margin:28px 0 8px}
.legal p{max-width:62em;color:var(--ink-2)}
.cp-title{font-size:26px;margin:20px 0 6px}
@media (max-width:720px){
  .cp{padding-inline:16px}
  .cp-hero{padding:16px 16px 0 !important}
  .cp-h1{font-size:21px}
  .cp-id .d-code{font-size:32px}
  .cp-hero .d-cards{grid-template-columns:1fr 1fr}
}

/* ---------- トップ・準備ページ ---------- */
.top nav a[aria-current="page"]{background:var(--surface-2);color:var(--ink);font-weight:600}
.home-sec{padding-block:28px 8px;border-top:1px solid var(--line);margin-top:20px}
.home-sec h2{font-size:20px;font-weight:600;margin:0 0 14px}
.home-sec .more{margin:14px 0 0;font-size:14px}
.home-sec .more a{font-weight:600;text-decoration:none}
.home-find{border-top:0;margin-top:0;padding-top:8px}
.mx-banner{display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap;margin-top:10px;padding:12px 16px;border:1px solid var(--felt);border-radius:8px;background:color-mix(in srgb,var(--felt) 6%,var(--surface));text-decoration:none;color:var(--ink)}
.mx-banner b{font-size:15px}
.mx-banner span{font-size:13px;color:var(--muted);flex:1 1 20em}
.mx-banner .mx-go{flex:none;font-weight:600;color:var(--felt)}
.home-search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.home-search input{flex:1 1 280px;min-width:0;font:inherit;font-size:16px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.home-search select{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.home-search button{font:inherit;font-size:15px;font-weight:600;padding:10px 22px;border:0;border-radius:8px;background:var(--felt);color:#fff;cursor:pointer}
.home-search button:hover{filter:brightness(1.08)}
.home-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.home-cards a{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .15s}
.home-cards a:hover{border-color:var(--felt)}
.home-cards b{font-size:15px}
.home-cards span{font-size:13px;color:var(--muted)}
.home-cities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.home-cities a{display:flex;flex-direction:column;gap:10px;height:100%;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .15s}
.home-cities a:hover{border-color:var(--felt)}
.hc-id{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.hc-id .code{font-family:var(--mono);font-weight:700;font-size:18px;color:var(--felt)}
.hc-id b{font-size:17px}
.hc-c{font-size:13px;color:var(--muted)}
.home-cities dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;border-top:1px solid var(--line);padding-top:10px}
.home-cities dl div:first-child{grid-column:1/-1}
.home-cities dl div:first-child dd{font-size:15px}
.shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
.guide-links{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-cities dt{font-size:12px;color:var(--muted)}
.home-cities dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.home-evs{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.home-evs li{display:grid;grid-template-columns:9em minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.home-evs .when{font-weight:600;font-size:14px}
.home-evs .when small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.home-evs b{display:block;font-size:15px}
.home-evs .m{display:block;font-size:13px;color:var(--muted)}
.guidepage .guide{padding-top:26px}
.guide-h1{font-size:clamp(24px,3.4vw,32px);font-weight:600;margin:6px 0 4px}
.guidepage .lede{margin-bottom:18px;color:var(--muted);font-size:14px}
.guide article[id],.guide #nogo,.guide #cities{scroll-margin-top:70px}
.g-toc{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px}
.g-toc a{font-size:13px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);text-decoration:none}
.g-toc a:hover{border-color:var(--felt);color:var(--ink)}
.reg-c{margin-top:6px;font-size:13px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.reg-c span{color:var(--muted)}
.reg-c a{font-weight:600}
.countrypage .lede{max-width:44em;color:var(--ink-2);margin:6px 0 4px}
.countrypage .eyebrow{margin-top:8px}
.country-cities{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.country-cities dl{grid-template-columns:repeat(3,minmax(0,1fr))}
.hc-trend{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hc-trend .trend{display:contents}
.hc-sum{margin:0;font-size:13px;color:var(--ink-2);line-height:1.6}
.articlepage .lede{max-width:46em;color:var(--ink-2);margin:6px 0 10px}
.ar-sec{margin-top:26px}
.ar-sec h2{font-size:19px;margin:0 0 10px}
.ar-sec p,.ar-sec li{max-width:46em}
.ar-sec ul,.ar-sec ol{padding-left:1.3em}
.ar-sec li{margin:4px 0}
.ar-steps li{margin:8px 0}
.ar-extra{margin:0;font-size:13px;color:var(--ink-2)}
.ar-list{list-style:none;padding:0!important;margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.ar-list li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line);margin:0;max-width:none}
.ar-list li a{font-weight:600;text-decoration:none;color:var(--ink)}
.ar-list li span{font-size:13px;color:var(--muted)}
.ar-table-wrap{overflow-x:auto}
.ar-table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px;background:var(--surface);color:var(--ink)}
.ar-table th,.ar-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.ar-table thead th{background:var(--surface-2);font-size:15px}
.ar-table tbody th{font-weight:600;color:var(--muted);font-size:13px;white-space:nowrap}
.ar-more{margin-top:18px;font-size:14px}
.mxpage{max-width:1040px}
.mxpage .lede{max-width:48em;color:var(--ink-2);margin:6px 0 12px}
.mx-legend{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--ink-2)}
.mx-dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.mx-dot-sm{width:7px;height:7px;background:var(--muted);vertical-align:1px}
.mx-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.mx-hint{display:none;margin:8px 12px 0;font-size:12px;color:var(--muted)}
.mx-svg{display:block;width:100%;min-width:720px;height:auto;font-family:var(--sans)}
.mx-q{fill:transparent}
.mx-q-lb{fill:color-mix(in srgb,var(--felt) 6%,transparent)}
.mx-q-rt{fill:color-mix(in srgb,var(--amber) 7%,transparent)}
.mx-qt{font-size:15px;font-weight:700;fill:var(--ink)}
.mx-qs{font-size:12px;fill:var(--muted)}
.mx-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}
.mx-split{stroke:var(--ink-2);stroke-width:1.5;stroke-dasharray:6 4;opacity:.6}
.mx-tick{font-size:12px;fill:var(--muted)}
.mx-axis{font-size:12.5px;fill:var(--ink-2)}
.mx-pt circle{stroke:var(--surface);stroke-width:1.5;opacity:.9;transition:r .15s}
.mx-pt:not(.main) circle{fill:var(--muted)!important;opacity:.55}
.mx-pt:hover circle,.mx-pt:focus circle{opacity:1;stroke:var(--ink);stroke-width:2}
.mx-lead{stroke:var(--muted);stroke-width:1}
.mx-lb{font-size:15px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.mx-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.mx-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px 16px}
.mx-card h2{font-size:17px;margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.mx-card .mx-pos{font-size:12px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 6px}
.mx-card .mx-n{margin-left:auto;font-size:12.5px;font-weight:400;color:var(--muted)}
.mx-card > p{margin:4px 0 10px;font-size:13px;color:var(--muted)}
.mx-card ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.mx-card li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;border-top:1px solid var(--line);padding-top:4px}
.mx-card li a{font-weight:600;text-decoration:none;color:var(--ink)}
.mx-card li span{color:var(--muted);text-align:right;font-size:12.5px}
@media (max-width:720px){
  .mx-hint{display:block}
  .mx-cards{grid-template-columns:1fr}
}
@media (max-width:720px){
  .home .hero{padding-block:18px 8px}
  .home-search button{flex:1 1 100%}
  .home-search select{flex:1 1 100%}
  .home-evs li{grid-template-columns:1fr;gap:2px}
  .shortcuts,.guide-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-cards a{padding:10px 12px}
}
