.decision25{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--c-border);border-radius:14px;background:var(--c-surface);color:var(--c-ink)}
.decision25 h3{margin:0 0 1rem;font-size:1.25rem;line-height:1.6}.decision25 p{margin:.7rem 0}.decision25 .source{margin:1rem 0 0}.decision25 .atomic{white-space:nowrap;display:inline-block}.decision25 strong{color:inherit}.decision25 .emph{font-size:1.5rem;font-weight:800;line-height:1.6}.decision25 dl{margin:0}.decision25 dd{margin:0}.decision25 ol{padding-left:1.5rem}.decision25 li{margin:.65rem 0}
.dining-ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem}.dining-ledger>div{border-top:4px solid var(--c-primary);padding:.75rem 0}.dining-ledger dt{font-weight:700}.dining-ledger dd p{padding:.4rem 0;border-bottom:1px solid var(--c-border)}.dining-balance{padding:.75rem 0;border-top:2px solid var(--c-ink);font-weight:700}
.route-fork{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.route-fork section{border-left:4px solid var(--c-primary);padding-left:1rem}.route-fork .rail-branch{border-left-style:double;border-left-width:6px}.route-fork h4{margin:0 0 .6rem;font-size:1.1rem}.route-fork dl>div{margin:.8rem 0}.route-fork dt{font-size:.95rem}.route-fork dd{font-weight:700}
.payment-bands{display:grid;grid-template-columns:auto 1fr;gap:.8rem 1rem;align-items:center}.payment-bands .band{display:flex;flex-wrap:wrap;gap:.35rem;padding:.7rem;border:1px solid var(--c-border)}.payment-bands .base-part{border-left:4px solid var(--c-ink);padding-left:.5rem}.payment-bands .extra-part{border-left:4px double var(--c-primary);padding-left:.5rem}.payment-bands .band-label{font-weight:700}
.storage-paths>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;border-top:1px solid var(--c-border);padding:1rem 0}.storage-paths dt{font-weight:700}.storage-paths dd{border-left:3px solid var(--c-primary);padding-left:1rem}
.lounge-stamps{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0!important}.lounge-stamps li{margin:0;padding:.4rem .7rem;border:2px solid var(--c-primary);border-radius:6px;font-weight:700}.lounge-stamps .paid-visit{border-style:dashed;border-color:var(--c-ink)}.pass-costs>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;padding:.7rem 0;border-bottom:1px solid var(--c-border)}.pass-costs dd{font-weight:700}
.mile-scales{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem}.mile-scales>div{padding:1rem 0;border-bottom:4px solid var(--c-primary)}.mile-scales dt{font-weight:700}.mile-scales dd{padding-top:.5rem}.mile-test{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--c-ink)}
.ticket-checkpoints{list-style:none;padding:0!important;}.ticket-checkpoints li{display:grid;grid-template-columns:2.25rem 1fr;gap:.8rem;padding:.6rem 0}.ticket-checkpoints .decision-step{display:grid;place-items:center;align-self:start;width:2.25rem;height:2.25rem;line-height:1;border:2px solid var(--c-primary);border-radius:50%;font-weight:800}.ticket-checkpoints p{margin:.25rem 0}.ticket-total{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:1rem 0;border-top:1px solid var(--c-border)}
.belc-receipts{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.belc-receipts>div{border-top:3px solid var(--c-ink);border-bottom:3px double var(--c-ink);padding:.8rem 0}.belc-receipts dl>div{padding:.5rem 0;border-bottom:1px dashed var(--c-border)}.belc-receipts dd{font-weight:700}.belc-result{padding:.75rem 0;font-weight:800}
.fare-journey{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:center}.fare-journey>dl{padding:1rem 0;border-top:3px solid var(--c-primary)}.fare-journey dt{font-weight:700}.fare-journey .fare-arrow{font-size:1.6rem}.fare-exclusion{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--c-ink)}
.hakodate-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-left:1.5rem!important;align-items:stretch}.hakodate-route>li{padding:.8rem;border:1px solid var(--c-border)}.hakodate-route .lounge-stop{border:3px solid var(--c-primary)}.family-cost>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;border-bottom:1px solid var(--c-border);padding:.65rem 0}.family-cost dd{font-weight:800}
@media(max-width:599px){.decision25{padding:1rem}.dining-ledger,.route-fork,.mile-scales,.belc-receipts{grid-template-columns:1fr}.storage-paths>div{grid-template-columns:1fr}.payment-bands{grid-template-columns:1fr;gap:.3rem}.payment-bands .band{margin-bottom:.7rem}.fare-journey{grid-template-columns:1fr}.fare-journey .fare-arrow{transform:rotate(90deg);justify-self:center}.hakodate-route{grid-template-columns:1fr}.decision25 .emph{font-size:1.3rem}}
