/* Honto の道具（/tools/）の見た目。本番の WordPress（SWELL＋snippet6）の色・書体・帯に合わせる（2026-10-05）
   色＝本番の --paper/--ink/--verm/--mute/--line。書体＝Fraunces（見出し）＋Inter（本文）。繁体字は Noto Sans TC へ落とす */
:root{--paper:#FAF8F4;--ink:#1A1A1A;--verm:#C73E2E;--mute:#6E6A63;--line:#EAE6DF;--bg:#FDFDFD;--ok:#2E7D4F;--okbg:#EAF5EE;--ng:#B3261E;--ngbg:#FBECEA;--warn:#8A5A00;--warnbg:#FFF4DE;--navy:#1E3A5F}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 Inter,-apple-system,"system-ui","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}
a{color:inherit}
img{max-width:100%;height:auto}
.ht-serif,h1,h2{font-family:Fraunces,Georgia,"Noto Serif TC",serif}
:lang(zh-Hant) h1,:lang(zh-Hant) h2{font-family:Fraunces,Georgia,"Noto Sans TC","PingFang TC",serif}

/* ── 上の帯（本番のヘッダーと同じ：クリーム・ロゴ左・大文字のメニュー） */
.ht-head{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.ht-head-in{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:0 48px;height:72px}
.ht-logo{display:flex;align-items:center;flex:none}
.ht-logo img{height:20px;width:auto;display:block}
.ht-nav{margin-left:auto;display:flex;align-items:center}
.ht-nav a{font-size:13px;letter-spacing:.09em;font-weight:600;text-transform:uppercase;text-decoration:none;padding:0 12px;border-left:1px solid #D9D4CB;line-height:1}
.ht-nav a:first-child{border-left:none}
.ht-nav a:hover,.ht-nav a[aria-current]{color:var(--verm)}
.ht-lang{display:flex;gap:6px;margin-left:12px}
.ht-lang a{font-size:12px;font-weight:600;text-decoration:none;padding:5px 9px;border:1px solid #D9D4CB;border-radius:999px;white-space:nowrap}
.ht-lang a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ht-menu-btn{display:none}
@media (max-width:1100px){
  .ht-head-in{padding:0 16px;height:56px;gap:12px}
  .ht-logo{margin:0 auto 0 0}
  .ht-logo img{height:24px}
  .ht-nav{display:none}
  .ht-menu-btn{display:block;background:none;border:0;padding:6px;cursor:pointer;color:var(--ink)}
  /* メニューは右から出る引き出し（設定と同じ形）。左を少し空けて、暗い所を押すと閉じる */
  .ht-nav{display:flex;flex-direction:column;align-items:stretch;position:fixed;top:0;right:0;bottom:0;left:min(15vw,64px);z-index:120;background:var(--paper);padding:64px 20px 24px;overflow-y:auto;box-shadow:-8px 0 24px rgba(0,0,0,.18);border-radius:14px 0 0 14px;transform:translateX(100%);visibility:hidden;transition:transform .28s ease,visibility .28s}
  .ht-head.open .ht-nav{transform:none;visibility:visible}
  .ht-nav a{border-left:none;border-bottom:1px solid var(--line);padding:14px 2px;font-size:14px}
  .ht-nav-close{position:absolute;top:10px;right:12px;width:44px;height:44px;border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:var(--ink)}
  .ht-nav-back{display:block;position:fixed;inset:0;z-index:119;background:rgba(26,26,26,.45);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s}
  .ht-nav-back.open{opacity:1;visibility:visible}
  .ht-lang{margin-left:0}
}

/* ── 本体 */
main{display:block}
.ht-wrap{max-width:760px;margin:0 auto;padding:28px 16px 8px}
.ht-crumb{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ht-crumb a{text-decoration:none;color:var(--verm)}
.ht-h1{font-size:clamp(28px,4.6vw,42px);line-height:1.12;font-weight:600;margin:0 0 10px;letter-spacing:-.01em}
.ht-lead{color:#3a3733;margin:0 0 18px;font-size:16px}
.ht-asof{display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--verm);margin-bottom:14px}

/* 道具の箱 */
.ht-work{background:#fff;border:1px solid var(--line);border-top:3px solid var(--verm);padding:20px 18px;margin:0 0 14px}
.ht-q{margin:0 0 18px}
.ht-q>.ht-ql{display:block;font-weight:700;font-size:15px;margin-bottom:8px}
.ht-q small{display:block;color:var(--mute);font-weight:400;font-size:13px;margin-top:2px}
.ht-opts{display:flex;flex-wrap:wrap;gap:8px}
.ht-opts label{position:relative;cursor:pointer}
.ht-opts input{position:absolute;opacity:0;pointer-events:none}
.ht-opts span{display:block;padding:10px 14px;border:1px solid #D9D4CB;background:var(--paper);font-size:15px;line-height:1.3;border-radius:6px}
.ht-opts input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.ht-opts input:focus-visible+span{outline:2px solid var(--verm);outline-offset:2px}
.ht-field{display:flex;flex-direction:column;gap:6px;flex:1 1 180px}
.ht-row{display:flex;flex-wrap:wrap;gap:12px}
.ht-in{font:inherit;font-size:16px;padding:10px 12px;border:1px solid #D9D4CB;border-radius:6px;background:#fff;color:var(--ink);width:100%;min-height:46px}
.ht-in:focus{outline:2px solid var(--verm);outline-offset:1px}
.ht-unit{display:flex;align-items:center;gap:8px}
.ht-unit b{font-weight:600;color:var(--mute)}
.ht-btn{font:inherit;font-weight:700;font-size:15px;letter-spacing:.04em;background:var(--verm);color:#fff;border:0;border-radius:6px;padding:12px 18px;cursor:pointer;min-height:46px}
.ht-btn:hover{background:#A83223}
.ht-btn.-ghost{background:#fff;color:var(--ink);border:1px solid #D9D4CB}
.ht-btn.-ghost:hover{border-color:var(--ink)}

/* 結果 */
.ht-out{margin-top:6px}
.ht-verdict{padding:14px 16px;border-radius:8px;font-weight:700;font-size:17px;line-height:1.45;margin-bottom:12px}
.ht-verdict.-ok{background:var(--okbg);color:var(--ok)}
.ht-verdict.-ng{background:var(--ngbg);color:var(--ng)}
.ht-verdict.-warn{background:var(--warnbg);color:var(--warn)}
.ht-big{font-family:Fraunces,Georgia,serif;font-size:34px;font-weight:600;line-height:1.1;margin:4px 0}
.ht-kv{display:grid;grid-template-columns:1fr auto;gap:6px 16px;margin:0 0 12px;padding:12px 14px;background:var(--paper);border-radius:8px}
.ht-kv dt{color:var(--mute);font-size:14px}
.ht-kv dd{margin:0;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.ht-list{margin:0 0 12px;padding:0;list-style:none;counter-reset:s}
.ht-list li{position:relative;padding:10px 0 10px 40px;border-bottom:1px solid var(--line);counter-increment:s}
.ht-list li::before{content:counter(s);position:absolute;left:0;top:9px;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ht-list li b{display:block}
.ht-warns{margin:0 0 12px;padding:0;list-style:none}
.ht-warns li{padding:8px 0 8px 26px;position:relative;font-size:15px}
.ht-warns li::before{content:"!";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;background:var(--verm);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ht-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ht-note{font-size:13px;color:var(--mute);margin:0 0 6px}
.ht-src{font-size:13px;color:var(--mute)}
.ht-src a{color:var(--navy)}
[hidden]{display:none!important}

/* 下の読み物（最初はたたむ・Google は中身を読める） */
.ht-lower{max-width:760px;margin:0 auto;padding:0 16px}
.ht-fold{position:relative;max-height:170px;overflow:hidden}
.ht-fold::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(253,253,253,0),var(--bg))}
.ht-fold.open{max-height:none}
.ht-fold.open::after{display:none}
.ht-more-w{text-align:center;margin:8px 0 28px}
.ht-more{font:inherit;font-weight:600;font-size:14px;background:#fff;border:1px solid #D9D4CB;border-radius:999px;padding:10px 20px;cursor:pointer}
.ht-sec{padding:18px 0;border-top:1px solid var(--line)}
.ht-sec:first-child{border-top:0}
.ht-sec h2{font-size:24px;line-height:1.25;font-weight:600;margin:0 0 10px}
.ht-sec p{margin:0 0 12px}
.ht-sec ul{margin:0 0 12px;padding-left:20px}
.ht-steps{list-style:none;margin:0;padding:0}
.ht-steps li{padding:8px 0}
.ht-steps b{display:block}
.ht-tbl{overflow-x:auto;margin:0 0 12px}
.ht-tbl table{border-collapse:collapse;width:100%;font-size:14px}
.ht-tbl th,.ht-tbl td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.ht-tbl th{background:var(--paper)}
details{border-bottom:1px solid var(--line);padding:10px 0}
summary{cursor:pointer;font-weight:700}
details p{margin:8px 0 0}

/* ほかの道具・関連記事（本番の墨の帯に寄せる） */
.ht-band{background:var(--paper);border-top:1px solid var(--line);padding:28px 16px 36px}
.ht-band-in{max-width:1080px;margin:0 auto}
.ht-band h2{font-size:13px;letter-spacing:.24em;text-transform:uppercase;font-family:Inter,sans-serif;font-weight:700;margin:0 0 16px;display:flex;gap:12px;align-items:center}
.ht-band h2::after{content:"";flex:1;height:1px;background:var(--line)}
.ht-grid{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (min-width:900px){.ht-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:520px){.ht-grid{grid-template-columns:1fr}}
.ht-card a{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:14px;text-decoration:none;height:100%}
.ht-card a:hover{border-color:var(--verm)}
.ht-card h3{font-size:15px;margin:0 0 4px;line-height:1.35}
.ht-card p{font-size:13px;color:var(--mute);margin:0;line-height:1.5}
.ht-ico{flex:none;width:40px;height:40px;border-radius:50%;background:var(--verm);display:flex;align-items:center;justify-content:center}
.ht-reads a{display:block;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}
.ht-reads a:hover{color:var(--verm)}

/* 下の帯（本番と同じ墨） */
.ht-foot{background:var(--ink);color:rgba(255,255,255,.85);padding:28px 16px 32px;text-align:center;font-size:14px}
.ht-foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;margin-bottom:10px}
.ht-foot nav a{text-decoration:none;font-weight:600;padding:0 10px;border-left:1px solid rgba(255,255,255,.6)}
.ht-foot nav a:last-child{border-right:1px solid rgba(255,255,255,.6)}
.ht-foot p{margin:4px 0;font-size:13px;color:rgba(255,255,255,.7)}

/* 一覧（/tools/） */
.ht-hub-hero{max-width:1080px;margin:0 auto;padding:36px 16px 10px}
.ht-hub-hero .ht-kicker{display:inline-block;background:var(--verm);color:#fff;font-size:12px;letter-spacing:.22em;padding:6px 12px;font-weight:600;margin-bottom:14px;text-transform:uppercase}
.ht-hub-list{max-width:1080px;margin:0 auto;padding:0 16px 32px}

/* 印刷・見せる用（カード系の道具で使う） */
@media print{.ht-head,.ht-foot,.ht-band,.ht-lower,.ht-more-w,.ht-acts{display:none!important}.ht-work{border:0}}

/* 道具のページ：入力と結果を横に並べる（パソコン）・キットベンチと同じく入力するたびに結果が変わる */
.ht-wrap.-wide{max-width:1120px}
.ht-wrap.-wide .ht-lead,.ht-wrap.-wide .ht-note{max-width:760px}
.ht-split{display:block}
@media (min-width:900px){
  .ht-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start}
  .ht-out{position:sticky;top:88px;border-left:1px solid var(--line);padding-left:24px}
}
@media (max-width:899px){.ht-out{border-top:1px solid var(--line);padding-top:18px}}
.ht-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:15px}
.ht-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--verm);flex:none}
.ht-h3{font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin:16px 0 4px}
.ht-field>span:first-child{font-size:14px;color:var(--mute)}

/* スマホ：結果が画面の外にある間、下に要約（押すと結果へ） */
.ht-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;width:100%;border:0;border-top:1px solid var(--line);padding:14px 16px calc(14px + env(safe-area-inset-bottom));font:inherit;font-weight:700;font-size:15px;text-align:left;cursor:pointer;background:#fff;color:var(--ink);box-shadow:0 -4px 16px rgba(0,0,0,.06)}
.ht-bar.-ok{background:var(--okbg);color:var(--ok)}
.ht-bar.-ng{background:var(--ngbg);color:var(--ng)}
.ht-bar.-warn{background:var(--warnbg);color:var(--warn)}
@media (min-width:900px){.ht-bar{display:none!important}}

/* 帯のメニューは折り返さない／言語の切り替えはパンくずの行の右／準備中のカード（puzuru と同じ） */
.ht-nav a{white-space:nowrap}
.ht-crumb{align-items:center}
.ht-crumb .ht-lang{margin-left:auto;text-transform:none;letter-spacing:0}
.ht-crumb .ht-lang a{color:var(--ink)}
.ht-crumb .ht-lang a[aria-current]{color:#fff}
main{min-height:62vh}
.ht-card .ht-cardin{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px dashed #D9D4CB;padding:14px;height:100%}
.ht-card.-soon .ht-ico{background:#B9B3AA}
.ht-soon{display:inline-block;margin-top:4px!important;font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--mute);border:1px solid #D9D4CB;border-radius:999px;padding:2px 9px}

/* 一覧の言語の切り替え／英語のページで繁体字の人への一行 */
.ht-hub-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.ht-hub-top .ht-kicker{margin-bottom:0}
.ht-hub-top .ht-lang{margin-left:auto}
.ht-hint{display:block;background:var(--ink);color:#fff;text-align:center;padding:10px 16px;font-weight:700;font-size:15px;text-decoration:none}

/* チェックボックスを縦に並べる・ボタンにしたリンク */
.ht-q .ht-check{margin:8px 0}
a.ht-btn{display:inline-flex;align-items:center;text-decoration:none}
select.ht-in{appearance:auto}
.ht-kv{grid-template-columns:auto 1fr}
.ht-kv dt{white-space:nowrap}
.ht-field>span.ht-ql:first-child{font-size:15px;color:var(--ink)}

/* 入国カードの写し（カードと同じ順） */
.ht-card-sheet{border:1px solid var(--ink);background:#fff;padding:14px 16px;margin-bottom:12px}
.ht-sheet-title{font-size:12px;letter-spacing:.14em;font-weight:700;margin:0 0 8px;border-bottom:1px solid var(--line);padding-bottom:6px}
.ht-sheet{margin:0;display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:0}
.ht-sheet dt{font-size:13px;color:var(--mute);padding:8px 8px 8px 0;border-bottom:1px solid var(--line)}
.ht-sheet dd{margin:0;padding:8px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:16px;word-break:break-word}
.ht-sheet dd.-empty{color:#B9B3AA;font-weight:400;font-size:14px}
@media print{.ht-split{display:block}.ht-form{display:none}.ht-out{border:0;padding:0}.ht-card-sheet{border:1px solid #000}}

/* 電圧・プラグ：プラグの絵のボタン／機器の行 */
.ht-plugs span{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:96px;font-size:13px}
.ht-plugs svg{color:var(--ink)}
.ht-plugs input:checked+span svg{color:#fff}
.ht-devrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 40px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.ht-devname{font-size:15px}
.ht-devdel{font:inherit;font-size:20px;line-height:1;width:40px;height:40px;border:1px solid #D9D4CB;border-radius:6px;background:#fff;cursor:pointer;color:var(--mute)}
@media (max-width:520px){.ht-devrow{grid-template-columns:minmax(0,1fr) 40px}.ht-devrow .ht-devv{grid-column:1/2;grid-row:2}}
.ht-devrow{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto 40px}
.ht-devw{display:flex;align-items:center;gap:4px}
.ht-devw input{width:80px;min-height:40px;padding:8px}
@media (max-width:520px){.ht-devrow{grid-template-columns:minmax(0,1fr) auto 40px}.ht-devrow .ht-devv{grid-column:1/-1;grid-row:2}}
@media (max-width:899px){body{padding-bottom:64px}}

/* 食べ物：品目のボタン（色＝判定）と、かばんの中の一覧 */
.ht-chips{margin-bottom:10px}
.ht-chips button{font:inherit;font-size:14px;padding:8px 12px;border:1px solid #D9D4CB;background:var(--paper);border-radius:999px;cursor:pointer}
.ht-chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ht-items{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.ht-item{font:inherit;font-size:14px;line-height:1.3;padding:9px 12px 9px 26px;border:1px solid #D9D4CB;background:#fff;border-radius:8px;cursor:pointer;position:relative;text-align:left}
.ht-item::before{content:"";position:absolute;left:10px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%}
.ht-item.-ok::before{background:var(--ok)}
.ht-item.-declare::before{background:#D4930D}
.ht-item.-no::before{background:var(--ng)}
.ht-item[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ht-bag{list-style:none;margin:0 0 12px;padding:0}
.ht-bag li{padding:10px 12px;border-left:4px solid var(--line);background:var(--paper);margin-bottom:8px;border-radius:0 6px 6px 0}
.ht-bag li.-ok{border-left-color:var(--ok)}
.ht-bag li.-declare{border-left-color:#D4930D}
.ht-bag li.-no{border-left-color:var(--ng)}
.ht-bag b{display:block;font-size:15px}
.ht-bag p{margin:2px 0 0;font-size:14px;color:#3a3733}
.ht-tag{float:right;font-size:12px;font-weight:700;margin-left:8px}
.ht-bag li.-ok .ht-tag{color:var(--ok)}.ht-bag li.-declare .ht-tag{color:var(--warn)}.ht-bag li.-no .ht-tag{color:var(--ng)}

/* 食事カード：日本語のカード／店員さんに見せる全画面 */
.ht-jcard{background:#fff;border:2px solid var(--ink);border-radius:10px;padding:16px;margin-bottom:12px}
.ht-jcard p{margin:0 0 12px}
.ht-jcard .ja{display:block;font-family:"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;font-size:17px;font-weight:700;line-height:1.6}
.ht-jcard .tr{display:block;font-size:13px;color:var(--mute);margin-top:2px}
.ht-jcard .head .ja{font-size:20px;border-bottom:2px solid var(--verm);padding-bottom:6px}
.ht-jcard .list .ja{font-size:24px;color:var(--ng)}
.ht-jcard .strong .ja{color:var(--ng)}
.ht-jcard .thanks{margin-bottom:0}
.ht-item.-plain::before{display:none}
.ht-item.-plain{padding-left:12px}
.ht-full{position:fixed;inset:0;z-index:100;background:#fff;overflow:auto;padding:16px}
.ht-full-in{max-width:760px;margin:0 auto}
.ht-jcard.-big .ja{font-size:24px}
.ht-jcard.-big .list .ja{font-size:32px}
.ht-full-ask{font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:20px;font-weight:700;margin:4px 0 10px}
.ht-answers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.ht-answers button{font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:20px;font-weight:700;padding:18px 6px;border-radius:10px;border:2px solid;cursor:pointer;background:#fff}
.ht-answers .-no{border-color:var(--ok);color:var(--ok)}.ht-answers .-yes{border-color:var(--ng);color:var(--ng)}.ht-answers .-unk{border-color:#D4930D;color:var(--warn)}
.ht-answer-out{font-size:22px;font-weight:700;padding:16px;border-radius:10px;margin-bottom:12px}
.ht-answer-out.-no{background:var(--okbg);color:var(--ok)}.ht-answer-out.-yes{background:var(--ngbg);color:var(--ng)}.ht-answer-out.-unk{background:var(--warnbg);color:var(--warn)}
.ht-full-foot{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}
.ht-sos{font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:28px;font-weight:800;color:#fff;background:var(--ng);padding:18px;border-radius:10px;margin-top:12px}
body.ht-noscroll{overflow:hidden}
.ht-btn:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:520px){.ht-answers button{font-size:16px;padding:16px 4px;word-break:keep-all}}
.ht-answers{grid-template-columns:repeat(3,1fr)}
.ht-sosbtn{background:var(--ng);display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.ht-sosbtn small{font-size:12px;font-weight:600;opacity:.9}
.ht-answers button{min-width:0;overflow-wrap:anywhere}
@media (max-width:520px){.ht-answers{grid-template-columns:repeat(2,1fr)}.ht-answers button{font-size:16px;padding:14px 4px}}
.ht-answer-out.-check{background:var(--warnbg);color:var(--warn)}.ht-answer-out.-without{background:var(--okbg);color:var(--ok)}

/* 右から出る設定（スマホだけ）。パソコンでは左の列のまま（10/5 チカ） */
.ht-panel-head,.ht-phone{display:none}
@media (max-width:899px){
  .ht-split.-panel{display:flex;flex-direction:column}
  .ht-split.-panel .ht-out{order:-1;border-top:0;padding-top:0}   /* 右から出る設定を持つ道具だけ（ほかの道具の順番は変えない） */
  .ht-panel{position:fixed;top:0;right:0;bottom:0;left:min(15vw,64px);box-shadow:-8px 0 24px rgba(0,0,0,.18);border-radius:14px 0 0 14px;z-index:90;background:var(--bg);overflow-y:auto;padding:0 16px 96px;transform:translateX(100%);transition:transform .28s ease,visibility .28s;visibility:hidden}
  .ht-panel.open{transform:none;visibility:visible}
  .ht-panel-head{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);border-bottom:1px solid var(--line);margin:0 -16px 14px;padding:10px 16px}
  .ht-panel-head b{font-size:17px}
  .ht-phone{display:inline-flex}
}
@media (prefers-reduced-motion:reduce){.ht-panel{transition:none}}

/* 設定の左の暗い所（押すと閉じる）。左を少し空ける＝ハンバーガーメニューの形（10/5 チカ「ちょい左側開けられる？」） */
.ht-panel-back{display:none}
@media (max-width:899px){
  .ht-panel-back{display:block;position:fixed;inset:0;z-index:89;background:rgba(26,26,26,.45);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s}
  .ht-panel-back.open{opacity:1;visibility:visible}
  .ht-panel-head{border-radius:14px 0 0 0}
}

/* 食事カード：画面をそのまま見せる（日本語を大きく、訳は小さく薄く）・設定の見出しにクリア */
.ht-panel-acts{display:flex;gap:8px}
.ht-jcard .ask .ja{font-size:16px;border-top:1px dashed var(--line);padding-top:10px}
@media (max-width:899px){
  .ht-split.-panel .ht-jcard .ja{font-size:20px;line-height:1.55}
  .ht-split.-panel .ht-jcard .head .ja{font-size:22px}
  .ht-split.-panel .ht-jcard .list .ja{font-size:30px}
  .ht-split.-panel .ht-jcard .tr{font-size:12px;opacity:.85}
}
@media (min-width:900px){.ht-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ht-panel-head b{font-size:15px}#alDone{display:none}}

.ht-nav-close,.ht-nav-back{display:none}
@media (max-width:1100px){.ht-nav-close,.ht-nav-back{display:block}}
@media (prefers-reduced-motion:reduce){.ht-nav,.ht-nav-back{transition:none}}
.ht-linkbtn{font:inherit;font-size:13px;color:var(--mute);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;text-align:left}

/* 一覧の下の読み物 */
.ht-hub-text{max-width:760px;margin:0 auto;padding:8px 16px 40px}
.ht-hub-text h2{font-size:24px;font-weight:600;margin:28px 0 10px}
.ht-hub-text ul{padding-left:20px;margin:0 0 12px}
.ht-hub-text li{margin:6px 0}
.ht-when{list-style:none;padding:0!important}
.ht-when li{padding:10px 0;border-bottom:1px solid var(--line)}
.ht-when b{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--verm);margin-bottom:2px}
.ht-when a{color:var(--ink)}

/* JRパス：乗る区間の行（日・区間・その他の運賃・消す） */
.ht-jprow{grid-template-columns:96px minmax(0,1fr) auto 40px}
.ht-jprow .ht-jpday{padding-right:4px}
.ht-jpyen input{width:90px}
#jpRows{margin-bottom:10px}
#jpRows:empty{display:none}
@media (max-width:520px){.ht-jprow{grid-template-columns:96px minmax(0,1fr) 40px}.ht-jprow .ht-jproute{grid-column:1/-1;grid-row:1}.ht-jprow .ht-jpday{grid-column:1/2;grid-row:2}.ht-jprow .ht-jpyen{grid-column:2/3;grid-row:2}.ht-jprow .ht-devdel{grid-column:3/4;grid-row:2}}

#jpPasses td:last-child,#jpPasses th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.ht-jpyen{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.ht-jpyen[hidden]{display:none}
.ht-jpyen .ht-check{font-size:14px}

/* ヘッダーの「設定」ボタン（右から出る設定を持つ道具・スマホだけ）。上についてくるので、どこからでも1回で開ける（10/5 チカ） */
.ht-tool-btn{display:none}
@media (max-width:899px){
  .ht-tool-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:14px;font-weight:600;line-height:1;padding:8px 12px;border:1px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap}
  .ht-tool-btn:focus-visible{outline:2px solid var(--verm);outline-offset:2px}
}
/* JRパス：設定の要約ボタン（スマホだけ）・パソコンでは完了ボタンを出さない */
.ht-jpsum{display:none}
@media (max-width:899px){.ht-jpsum{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:4px;text-align:left;margin-top:12px}.ht-jpsum b{font-weight:700}.ht-jpsum b::after{content:" ›"}.ht-jpsum span{color:var(--mute);font-size:14px;font-weight:500;overflow-wrap:anywhere}}
@media (min-width:900px){#jpDone{display:none}}

/* 予算：泊まる都市の行（都市・泊数・部屋代・部屋数・温泉・消す） */
.ht-bgstay{grid-template-columns:minmax(0,1fr) 40px;row-gap:10px;align-items:end}
.ht-bgstay .ht-bgcity{grid-column:1/2;grid-row:1}
.ht-bgstay .ht-devdel{grid-column:2/3;grid-row:1}
.ht-bgstay>.ht-field{grid-column:1/-1}
.ht-bgstay{grid-template-areas:none}
.ht-bgstay .ht-bgline{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;gap:8px;grid-column:1/-1;align-items:end}
.ht-bgstay .ht-bgonsen{grid-column:1/-1;font-size:14px}
#bgStays{margin-bottom:10px}

/* 単位の文字（yen・日圓）は行の高さを詰める：太字の漢字が入力欄より背が高いと、単位付きの欄だけ入力欄が下にずれる（10/6 予算計算の繁体字で3px・器が検出） */
.ht-unit b{line-height:1;white-space:nowrap;flex:none}   /* 「日圓」が縦に折れていた（10/6 免税の繁体字・スマホ） */
/* 受け付けない入力（小数・$・k など）は赤枠で知らせる（10/6 予算計算の仮想客チェック：黙って桁が化けていた） */
.ht-in.ht-bad{border-color:var(--ng);background:#FFF5F4;outline:0}
#bgFxNote.-bad{color:var(--ng);font-weight:600}
@media (min-width:900px){#bgDone{display:none}}
@media (min-width:900px){#trDone{display:none}}

/* 祝日と混雑：1日ずつの帯（色＝公式の区分） */
.ht-hcdays{list-style:none;margin:0 0 14px;padding:0}
.ht-hcdays li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}
.ht-hcdays li>b{font-size:14px;font-variant-numeric:tabular-nums}
.ht-hctags{display:flex;flex-wrap:wrap;gap:6px}
.ht-hctag{font-size:13px;line-height:1.3;padding:3px 8px;border-radius:999px;border:1px solid #D9D4CB;background:#fff;white-space:nowrap}
.ht-hctag.-hol{background:var(--verm);border-color:var(--verm);color:#fff}
.ht-hctag.-busiest{background:var(--ink);border-color:var(--ink);color:#fff}   /* 祝日の赤と見分ける（10/6 仮想客） */
.ht-hctag.-busy{background:var(--warnbg);border-color:#E3C58A;color:var(--warn)}
.ht-hctag.-off{background:var(--okbg);border-color:#A9CFB2;color:var(--ok)}
.ht-hctag.-noz{background:#FBE3DF;border-color:var(--verm);color:#7A1E14;font-weight:600}   /* 混雑の強い合図＝塗る */
.ht-hctag.-home{background:#EEF2F8;border-color:#B9C6DA;color:#2A4365}
.ht-hctag.-wk,.ht-hctag.-regular,.ht-hctag.-na{color:var(--mute)}
@media (max-width:520px){.ht-hcdays li{grid-template-columns:1fr}}
.ht-hcjump{margin:0 0 12px}
.ht-fold .ht-sec{scroll-margin-top:72px}   /* 祝日一覧へ飛んだ時、見出しが上の帯に隠れない（10/6） */

/* 答えが先・入力は右から（スマホ）＝ .ht-split.-sheet（10/6 チカ「長い。スクロールして打ち込むか？」）。パソコンは今のまま */
.ht-sheet-head,.ht-sheet-edit,.ht-detail-btn{display:none}
@media (max-width:899px){
  .ht-split.-sheet{display:flex;flex-direction:column}
  .ht-split.-sheet>.ht-out{order:-1;border-top:0;padding-top:0}
  .ht-split.-sheet>.ht-form{position:fixed;top:0;right:0;bottom:0;left:min(15vw,64px);box-shadow:-8px 0 24px rgba(0,0,0,.18);border-radius:14px 0 0 14px;z-index:90;background:var(--bg);overflow-y:auto;padding:0 16px 96px;transform:translateX(100%);transition:transform .28s ease,visibility .28s;visibility:hidden;margin:0}
  .ht-split.-sheet>.ht-form.open{transform:none;visibility:visible}
  .ht-sheet-head{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);border-bottom:1px solid var(--line);margin:0 -16px 14px;padding:10px 16px;border-radius:14px 0 0 0}
  .ht-sheet-live{font-weight:700;font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .ht-sheet-edit{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;font:inherit;padding:12px 14px;margin:0 0 14px;border:1px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}
  .ht-sheet-edit b{font-weight:700}.ht-sheet-edit b::after{content:" ✎"}
  .ht-sheet-edit span{color:var(--mute);font-size:14px;overflow-wrap:anywhere}
  .ht-sheet-edit span:empty{display:none}
  .ht-detail-btn{display:block;width:100%;font:inherit;font-weight:600;padding:12px;margin:4px 0 12px;border:1px dashed #C9C2B6;border-radius:8px;background:var(--paper);cursor:pointer}
  .ht-out:not(.-detail-open) .ht-detail{display:none}
}
@media (prefers-reduced-motion:reduce){.ht-split.-sheet>.ht-form{transition:none}}
@media (max-width:520px){.ht-bgstay .ht-bgline{grid-template-columns:60px minmax(0,1fr) 60px}}
/* 例の札（何か入れるまで）・引き出しの上の答えは4行まで（10/6 スマホの仮想客） */
.ht-example{font-size:13px;font-weight:600;color:var(--mute);margin:0 0 6px}
.ht-example::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#D4930D;margin-right:6px;vertical-align:1px}
@media (max-width:899px){.ht-sheet-live{-webkit-line-clamp:4}}

/* 持ち物チェック：打てるリスト */
.ht-pklist{list-style:none;margin:0 0 12px;padding:0}
.ht-pklist li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}
.ht-pklist label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;flex:1;min-width:0}
.ht-pklist input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--verm)}
.ht-pklist input:checked+span{color:var(--mute);text-decoration:line-through}
.ht-pklink{font-size:13px;white-space:nowrap}
/* 「条件を変える ✎」を目立たせる（10/6 チカ「ここもっと目立たせていい」）：朱の太枠・うすい朱の地・右に › */
@media (max-width:899px){
  .ht-sheet-edit{position:relative;border:2px solid var(--verm);background:#FDF1EE;padding:14px 44px 14px 16px;box-shadow:0 2px 0 rgba(199,62,46,.15)}
  .ht-sheet-edit b{color:var(--verm);font-size:17px}
  .ht-sheet-edit span{color:var(--ink);opacity:.75}
  .ht-sheet-edit::after{content:"›";position:absolute;right:14px;top:50%;transform:translateY(-52%);font-size:30px;line-height:1;color:var(--verm);font-weight:400}
  .ht-sheet-edit:active{transform:translateY(1px);box-shadow:none}
}
.ht-inwarn{margin:0 0 10px;padding:10px 12px;border-radius:8px;background:#FFF5F4;color:var(--ng);font-weight:600;font-size:14px}
.ht-inwarn[hidden]{display:none}
@media (max-width:899px){.ht-sheet-head .ht-btn{white-space:nowrap;flex:none}}   /* 繁体字の「完成」が縦に折れていた（10/6） */
.ht-alt{font-size:14px;line-height:1.55;margin:12px 0 0;padding:10px 12px;background:#F6F3EE;border-radius:6px}
.ht-alt:empty{display:none}
.ht-kv.-text{grid-template-columns:1fr;gap:2px}
.ht-kv.-text dt{font-size:13px;margin-top:10px}
.ht-kv.-text dt:first-child{margin-top:0}
.ht-kv.-text dd{text-align:left;font-weight:400;font-size:15px;line-height:1.55}
.ht-golinks{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.ht-golink{display:inline-block;padding:9px 14px;border:1px solid var(--ink);border-radius:6px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;background:var(--paper)}
.ht-golink.-main{background:var(--ink);color:#fff}
.ht-golink:focus-visible{outline:2px solid var(--verm);outline-offset:2px}
.ht-golinks{margin:0 0 12px}
@media (min-width:900px){.ht-hubgrid>.ht-card.-wide2{grid-column:span 2}}
