:root{--navy:#071827;--band:#0d1d2e;--heading:#172c47;--ink:#24324b;--card-heading:#23364f;--muted:#6b7482;--paper:#fff;--cream:#f7f4ee;--gold:#efc779;--ochre:#927039;--line:#e0e3e8;--panel:#f6f1ea;--panel-line:#cfc5b8}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.7 "Noto Sans JP",sans-serif}button,select{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button{border:0;background:none}button:disabled{cursor:default;opacity:.6}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h2,h3{text-wrap:balance}h2{font-size:22px;line-height:1.55;color:var(--heading)}h3,h4{font-size:18px;line-height:1.45;color:var(--card-heading)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.app{max-width:920px;margin:auto}.notice{padding:7px 18px;background:var(--cream);text-align:center;color:var(--ochre);font-size:12px}.masthead{background:var(--navy);color:white;padding:16px 28px 0;display:flex;align-items:center;justify-content:space-between;gap:13px}.masthead img{width:160px;height:auto;display:block}.masthead>span{font-size:12px;letter-spacing:.12em;color:var(--gold)}.intro{padding:16px 28px 23px;background:var(--navy);color:#fff}.intro h1{font:700 32px/1.45 "Noto Serif JP",serif;letter-spacing:.02em}.intro p{font-size:14.5px;color:#e4eaf0;margin-top:7px}.search-controls{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid var(--line);padding:13px 28px 0}.conditions{display:flex;gap:13px;align-items:center;justify-content:space-between;margin-bottom:13px}.origin{border:1px solid var(--line);border-radius:7px;min-height:54px;padding:7px 13px;text-align:left;flex:1;max-width:320px;display:flex;align-items:center;gap:13px}.origin strong{display:flex;justify-content:space-between;align-items:center;flex:1;font-size:16px}.mini-label{font-size:12px;color:var(--muted)}.stay-condition{display:flex;flex-direction:column;font-size:12px}.stay-condition strong{font-size:13.5px}.stay-condition span{color:var(--muted)}.mode-switch{display:flex;gap:20px}.mode-switch button{padding:9px 4px 11px;min-height:44px;font-size:14.5px;font-weight:700;border-bottom:3px solid transparent;color:var(--muted)}.mode-switch button[aria-pressed=true]{border-color:var(--ochre);color:var(--heading)}main{padding:25px 28px 31px}.section-intro p{font-size:13.5px;color:var(--muted);margin-top:7px}.category-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0}.category-tabs button{border:1px solid var(--line);border-radius:7px;min-height:44px;font-size:14.5px;font-weight:700;padding:8px}.category-tabs button[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:#fff}.category-tabs button:hover,.mode-switch button:hover{box-shadow:inset 0 -2px 0 var(--ochre)}.result-panels h3{margin-bottom:13px}.result-toolbar{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:13px}.sort-control{display:flex;align-items:center;flex-wrap:wrap;gap:7px;flex:1}.sort-control label,.budget-control label{font-size:12px;color:var(--muted)}select{font-size:16px;background:white;border:1px solid var(--line);border-radius:7px;min-height:44px;padding:7px 25px 7px 10px;max-width:100%}.budget-control{display:flex;align-items:center;gap:7px}.result-count{font-size:12px;color:var(--muted);margin-bottom:10px}.result-count strong{color:var(--heading)}.insight{background:var(--panel);border:1px solid var(--panel-line);border-radius:9px;padding:13px 16px;margin-bottom:16px;font-size:13.5px;box-shadow:inset 0 3px 0 #c89d58}.insight strong{color:var(--ochre)}.insight .explain{display:block;font-size:12px;color:var(--muted);margin-top:4px}.result-card{border:1px solid var(--line);border-radius:7px;background:white;margin-bottom:13px;padding:16px;transition:border-color .18s}.result-card:hover{border-color:var(--panel-line)}.result-card.best-card{border-color:var(--ochre)}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.area{font-size:12px;color:var(--ochre)}.status{font-size:12px;line-height:1.6;color:var(--heading);border:1px solid var(--line);border-radius:5px;padding:3px 7px}.best-card .status{color:var(--ochre);border-color:var(--panel-line);background:var(--cream)}.result-card h4{margin-bottom:5px}.meta{font-size:12px;color:var(--muted)}.card-main{display:flex;gap:13px;align-items:flex-end;justify-content:space-between;margin-top:13px}.price-label{font-size:12px;color:var(--muted)}.price{font-weight:700;font-size:21px;color:var(--heading);white-space:nowrap}.price small{font-size:12px;font-weight:400;margin-left:3px}.price-text{font-size:14.5px;font-weight:700;color:var(--heading)}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border-bottom:1px solid var(--ochre);padding:7px 0;color:var(--heading);font-size:14.5px;font-weight:700;text-align:left}.cta:hover{color:var(--ochre)}.card-foot{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:9px;margin-top:13px;font-size:12px;color:var(--muted)}.card-foot strong{color:var(--ink)}.support-note{font-size:12px;color:var(--muted);margin:13px 0}.fallback{display:flex;align-items:center;justify-content:space-between;gap:13px;background:var(--cream);border-radius:7px;padding:13px 16px;margin-top:13px}.fallback p{font-size:12px;color:var(--muted)}.fallback strong{display:block;color:var(--heading);font-size:14.5px}.fallback .cta{flex-shrink:0}.other-facilities{background:var(--panel);border:1px solid var(--panel-line);border-radius:9px;padding:0 16px;margin-top:25px;font-size:12px}.other-facilities summary{padding:13px 0;cursor:pointer;min-height:44px;font-size:13.5px;font-weight:700}.other-facilities p{color:var(--muted)}.other-facilities ul{margin:10px 0 16px;padding-left:19px;line-height:1.9}.page-note{font-size:12px;color:var(--muted);margin-top:16px}.empty{padding:25px 16px;border:1px solid var(--line);border-radius:7px;text-align:center}.empty p{font-size:13.5px;margin-bottom:7px}.night-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0}.night-steps button{border:1px solid var(--line);border-radius:7px;padding:9px 7px;font-size:13.5px;font-weight:700;min-height:62px}.night-steps span{display:block;font-family:"Noto Serif JP",serif;font-size:14.5px;color:var(--ochre)}.night-steps button[aria-pressed=true]{background:var(--cream);border-color:var(--ochre)}.night-note{font-size:12px;color:var(--muted);padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.night-content h3{margin-bottom:13px}footer{background:var(--band);color:#d7dee8;font-size:12px;padding:20px 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px}footer strong{color:white}dialog{padding:0;border:1px solid var(--panel-line);border-radius:9px;width:calc(100% - 36px);max-width:540px;max-height:85dvh;color:var(--ink);background:white;box-shadow:0 12px 28px rgba(18,35,54,.07)}dialog::backdrop{background:rgba(7,24,39,.55)}.sheet-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:13px;border-top:3px solid #c89d58;border-bottom:1px solid var(--panel-line);background:var(--panel);padding:7px 18px;font-size:12px;color:var(--ochre)}.close-button{min-height:44px;font-size:13.5px;color:var(--ink);font-weight:700}.close-button span{font-size:21px;margin-left:8px}.sheet-body{padding:20px}.sheet-body h2{font-size:22px;margin:5px 0 8px}.sheet-body h3{margin:22px 0 10px;font-size:18px}.sheet-price{background:var(--cream);border-radius:7px;padding:13px;margin:16px 0}.sheet-price p{font-size:12px}.vendor-row{display:flex;justify-content:space-between;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.vendor-row.is-best{background:var(--cream);padding:12px 10px;border-radius:7px}.vendor-row strong{font-size:14.5px}.vendor-row .price{font-size:18px}.vendor-row .cta{font-size:12px}.vendor-right{text-align:right}.sheet-list{padding-left:20px;font-size:13.5px;line-height:1.9}.demo-disclaimer{font-size:12px;color:var(--muted);margin-top:16px}.station-choice{display:block;text-align:left;padding:13px;width:100%;border:1px solid var(--ochre);border-radius:7px;margin:16px 0;background:var(--cream)}.station-choice span{display:block;font-size:12px;color:var(--muted)}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:10;max-width:calc(100% - 36px);width:max-content;background:var(--band);color:white;border:1px solid var(--gold);border-radius:7px;padding:12px 16px;font-size:13.5px}
@media(max-width:767px){.masthead{padding:13px 18px 0}.masthead img{width:145px}.masthead>span{font-size:12px;letter-spacing:.06em}.intro{padding:15px 18px 20px}.intro h1{font-size:27px;line-height:1.48}.intro p{font-size:13.5px}.search-controls{padding:12px 18px 0}.conditions{gap:10px;margin-bottom:7px}.origin{padding:6px 10px;gap:7px}.origin .mini-label{display:none}.stay-condition strong{font-size:12px}.mode-switch{gap:20px}main{padding:23px 18px 31px}.category-tabs{gap:5px;margin:16px 0}.category-tabs button{font-size:13.5px;padding:7px 3px}.result-card{padding:13px}.price{font-size:18px}.card-main{gap:10px}.card-main .cta{font-size:13.5px}.result-toolbar{gap:7px;align-items:flex-end}.sort-control{display:block}.sort-control label{display:block;margin-bottom:4px}.budget-control{display:block}.budget-control label{display:block;margin-bottom:4px}.sort-control select{width:100%}.budget-control select{width:100%}.fallback{align-items:flex-start;flex-direction:column;gap:5px}.fallback .cta{align-self:flex-end}dialog{margin:auto 0 0;max-width:none;width:100%;max-height:86dvh;border-radius:9px 9px 0 0}.sheet-body{padding:18px}.sheet-top{padding:7px 18px}.night-steps button{font-size:12px;padding:9px 3px}footer{padding:20px 18px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

section[role="tabpanel"],#night-section{scroll-margin-top:155px}
.notice button{font-size:12px;color:var(--ochre);text-decoration:underline;text-underline-offset:4px;min-height:44px;margin-left:8px}.feed-status{font-size:12px;color:var(--muted);margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:10px}.source-check{margin-top:7px}.vendor-row>div:first-child{min-width:0}.vendor-row .meta{overflow-wrap:anywhere}
