:root{--fg:#111;--bg:#fff;--muted:#4a4a4a;--line:#8a8a8a;--surface:#f2f4f7;--accent:#0a4f96;--accent-fg:#fff;--warn-bg:#fff3cd;--warn-fg:#5c3c00;--map-bg:#eef3f7;color:var(--fg);background:var(--bg);font-family:system-ui,Hiragino Sans,BIZ UDPGothic,Meiryo,sans-serif;font-size:18px;line-height:1.6}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0;font-size:1.5rem}.title{color:inherit;align-items:center;gap:.5rem;text-decoration:none;display:flex}.title-icon{width:36px;height:36px}h2{margin:1.5rem 0 .5rem;font-size:1.2rem}p{margin:.25rem 0}a{color:var(--accent);overflow-wrap:anywhere}.app{max-width:42rem;margin:0 auto;padding:1rem}.app-header{border-bottom:2px solid var(--fg);padding-bottom:.5rem}.muted{color:var(--muted)}.small{font-size:.85rem}.lead{margin:1rem 0;font-size:1.1rem}.warn{background:var(--warn-bg);color:var(--warn-fg);border-radius:6px;padding:.5rem .75rem}.warn-text{color:var(--warn-fg)}button,input,select{font:inherit}button{cursor:pointer;min-height:48px}button:disabled{cursor:not-allowed;opacity:.5}.button-primary{background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;padding:.75rem 1rem;font-weight:700}.button-secondary{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;flex-direction:column;align-items:center;padding:.5rem .75rem;display:inline-flex}.button-secondary.wide{text-align:left;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%}fieldset{border:1px solid var(--line);border-radius:8px;margin:1rem 0}.choices{flex-wrap:wrap;gap:.5rem;display:flex}.choice{align-items:center;gap:.25rem;min-height:48px;padding:0 .5rem;display:flex}.field{flex-direction:column;gap:.25rem;margin:.75rem 0;display:flex}.field input,.field select{max-width:100%;min-height:44px}form .button-primary{width:100%;margin-top:1rem;font-size:1.2rem}.now{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:.75rem 0;display:flex}.now-time{font-size:1.6rem;font-weight:700}.now-place{font-size:1.3rem;font-weight:700}.place-info{margin:.75rem 0}.stranded{border:2px solid var(--warn-fg);border-radius:8px;margin:1rem 0;padding:.75rem}.stranded h2{margin-top:0}.alternatives{padding-left:1.2rem}.alternatives>li{margin-bottom:.75rem}.alternatives dl{margin:.25rem 0}.alternatives dt{font-size:.85rem;font-weight:700}.alternatives dd{margin:0 0 .25rem}.map{margin:1rem 0}.map svg{border-radius:8px;width:100%;height:auto;display:block}.map-bg{fill:var(--map-bg)}.map-trail{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:4 3}.map-spot{fill:var(--bg);stroke:var(--accent);stroke-width:2px}.map-stop{fill:var(--muted)}.map-here{fill:var(--accent);stroke:var(--bg);stroke-width:2px}.map-label{fill:var(--fg);font-size:10px}.walks,.buses{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.bus{border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem}.actions{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0;display:flex}.actions .button-primary{flex:1}.itinerary{border-collapse:collapse;width:100%;font-size:.95rem}.itinerary th,.itinerary td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.4rem .3rem}.itinerary td:first-child{white-space:nowrap}.note{background:var(--surface);border-radius:6px;margin:1rem 0;padding:.75rem}.print-only{overflow-wrap:anywhere;display:none}@media print{:root{font-size:11pt}.app{max-width:none;padding:0}.no-print{display:none!important}.print-only{display:block}.itinerary{font-size:10pt}.itinerary tr{break-inside:avoid}a{color:inherit;text-decoration:none}}h3{margin:1rem 0 .25rem;font-size:1rem}.sources{border-top:2px solid var(--fg);color:var(--muted);margin-top:2rem;padding-top:1rem}.sources ul{margin:.25rem 0;padding-left:1.2rem}.button-secondary.wide>span:last-child{white-space:nowrap}
