@font-face{font-family:BIZ UDPGothic;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/BIZUDPGothic-400-B25G9kDx.woff2)format("woff2")}@font-face{font-family:BIZ UDPGothic;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/BIZUDPGothic-700-D2NwdBCr.woff2)format("woff2")}:root{--canvas:#efe9df;--bg:#fbf7f0;--surface:#fff;--chip:#efe9df;--line:#e7e1d6;--line-strong:#d6cdbe;--ink:#233a2e;--ink-soft:#33493c;--muted:#4a5d52;--accent:#2f6b4f;--accent-dark:#1e4a36;--accent-tint:#e4efe8;--alert:#b4410c;--alert-tint:#f8e5da;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:BIZ UDPGothic,Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}#root{min-height:100svh}.app-shell{width:min(100%,430px);min-height:100svh;color:var(--ink);background:var(--bg);margin:auto}.app-header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:16px 24px;display:flex}.app-header h1{letter-spacing:0;margin:0;font-size:22px}.brand-mark{background:0 0;border-radius:14px;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.normal-status,.shelter-heading>span{color:#1b7444;white-space:nowrap;background:#e2f5e9;border-radius:20px;margin-left:auto;padding:8px 12px;font-weight:700}.normal-status i{background:#2ca361;border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.content section{margin-bottom:22px}.content h2{color:var(--muted);letter-spacing:0;margin:0 0 12px;font-size:19px}.alert.alert-danger{color:#9c2f24;background:#ffe5e1}.search-history{gap:6px;display:grid}.search-history-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.search-history-head button{color:var(--accent);background:0 0;border:0;padding:4px 8px;font-size:12px}.search-history ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.search-history li button{border:1px solid var(--line-strong);color:var(--ink);text-align:left;background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.alert-action{color:inherit;background:#fff;border:1px solid;border-radius:20px;margin-top:10px;padding:10px 16px;font-size:14px;font-weight:700;display:block}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--alert)!important;font-size:11px!important}.empty-state,.loading-state,.error-state{color:var(--muted);background:var(--chip);border-radius:16px;padding:16px;font-size:14px}.error-state{color:#9c2f24;background:#ffe5e1}.jr{background:#c43c12}.tram{background:#17804a}.bus{background:#3974c6}.shelter-view>h2{color:var(--ink);margin-bottom:16px;font-size:24px}.alert{color:var(--muted);background:var(--chip);border-radius:18px;padding:14px}.server-down{color:#6b4a00;background:#fff3cd;border-bottom:1px solid #f0d58a;border-radius:0;gap:2px;padding:10px 24px;font-size:13px;display:grid}.app-shell.map-mode>.server-down{flex:none}.shelter-heading>span{color:var(--accent);background:var(--accent-tint);padding:8px 10px;font-size:12px}.bottom-nav{z-index:2;border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(5,1fr);width:min(100%,430px);padding:10px 4px 12px;display:grid;position:fixed;bottom:0}.bottom-nav button{color:var(--muted);background:0 0;border:0;justify-items:center;gap:4px;font-size:11px;display:grid;position:relative}.bottom-nav button span{opacity:.45;filter:grayscale();border-radius:999px;place-items:center;width:52px;height:32px;font-size:22px;display:grid}.bottom-nav button.active{color:var(--accent-dark);font-size:12px;font-weight:800}.bottom-nav button.active span{opacity:1;filter:none;background:var(--accent-tint)}.bottom-nav button.active:before{background:var(--accent);content:"";border-radius:0 0 4px 4px;width:64%;height:4px;position:absolute;top:-10px;left:18%}@media (width>=431px){.app-shell{box-shadow:0 0 40px var(--line-strong)}}.normal-status.alert-status{color:#9c2f24;background:#ffe5e1}.normal-status.alert-status i{background:#d64532}.normal-status.unknown-status{color:var(--muted);background:#e8edf2}.normal-status.unknown-status i{background:#8a99a8}.data-credit{color:var(--muted);margin:18px 0 8px;font-size:11px}.nearby-stops>span{color:var(--muted);font-size:12px}.nearby-stops>div{flex-wrap:wrap;gap:6px;display:flex}.rail-line-head>span{color:#1b7444;white-space:nowrap;background:#e2f5e9;border-radius:12px;padding:5px 9px;font-size:12px;font-weight:700}.rail-line.troubled .rail-line-head>span{color:#9c2f24;background:#ffe5e1}.rail-line-head>a{color:var(--accent);font-size:13px;font-weight:700}.navi-next>b{background:#ffffff26;border-radius:16px;place-items:center;width:56px;height:56px;font-size:34px;display:grid}.app-shell.map-mode{flex-direction:column;height:100svh;display:flex;overflow:hidden}.app-shell.map-mode>.app-header,.app-shell.map-mode>.location-picker{flex:none}.location-picker-map>p{color:var(--muted);margin:0;font-size:13px}.experiment-overlay{z-index:2000;background:#123555e6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.experiment-card{text-align:center;background:#fff;border-radius:22px;width:min(100%,380px);padding:28px 24px}.experiment-card h2{margin:4px 0 12px;font-size:22px}.experiment-card p{margin:0 0 20px;line-height:1.7}.experiment-id{color:var(--muted);font-size:13px;font-weight:700}.back-action{border:2px solid var(--accent);min-height:44px;color:var(--accent-dark);background:var(--surface);border-radius:999px;place-self:start;align-items:center;margin-bottom:8px;padding:8px 18px 8px 14px;font-size:16px;font-weight:700;display:inline-flex}.back-action:active{background:var(--accent-tint)}.ui-icon{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em;display:inline-block}.ui-icon-filled path,.ui-icon-filled polygon{fill:currentColor}.weather-img{vertical-align:middle;filter:drop-shadow(0 1px 1px #4a607a59);width:1.6em;height:1.6em;display:inline-block}.ui-icon-small{vertical-align:-.1em;width:.9em;height:.9em;margin-left:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.crash-screen{align-content:start;gap:16px;padding:32px 20px;display:grid}.crash-screen h1{margin:0;font-size:1.25rem}.crash-title{margin:0;font-size:1.125rem;font-weight:700}.crash-retry{color:#fff;background:var(--alert,#b4410c);min-height:48px;font:inherit;border:0;border-radius:12px;font-weight:700}.crash-guide{margin:0;line-height:1.7}.weather-card{color:#fff;background:linear-gradient(135deg,#449bd8,#2364ad);border-radius:26px;padding:22px 18px 16px}.weather-top,.shelter-main,.shelter-meta{align-items:center;display:flex}.weather-top{justify-content:space-between;font-size:14px}.current-weather{justify-content:center;align-items:center;gap:12px;min-width:0;margin-top:22px;display:flex}.current-weather span{font-size:52px}.current-weather strong{white-space:nowrap;min-width:0;font-size:clamp(32px,11.5vw,56px);line-height:1.1}.weather-card p{text-align:center;font-size:16px}.forecast-row{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr auto;align-items:center;gap:10px;padding:13px 0;font-size:13px;display:grid}.forecast-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.forecast{text-align:center;border-top:1px solid #78b1e2;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin-top:20px;padding-top:14px;display:grid}.forecast div{gap:7px;font-size:13px;display:grid}.forecast b{font-size:22px}.forecast strong{font-size:15px}.weather-icon{white-space:nowrap}.current-weather .weather-icon-change{font-size:clamp(24px,7.5vw,34px)}.forecast .weather-icon-change{font-size:19px;line-height:27px}.forecast-row .weather-icon{font-size:18px}.weather-arrow{opacity:.6;width:.8em;height:.8em}.shelter-card{border:1px solid var(--line);background:#fff;border-radius:22px}.transport-badge{color:#fff;border-radius:10px;place-items:center;min-width:44px;padding:7px 5px;font-size:13px;display:grid}.hint{color:var(--muted);background:#fff;border:1px dashed #cfd9e4;border-radius:18px;padding:14px;font-size:13px}button.hint{text-align:left;cursor:pointer;border:0;width:100%}.notification-error{color:#b42318;margin:0;font-weight:700}.weather-view .weather-card{margin-bottom:18px}.cache-note{color:#856404;font-size:13px}.forecast-hint{color:var(--muted,#5b6660);margin:0 0 4px;font-size:12px}.forecast-day{border-bottom:1px solid var(--line)}.forecast-day:last-child{border-bottom:0}.forecast-day .forecast-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:84px 1fr auto;font-size:13px}.forecast-row b i{opacity:.6;margin-left:6px;font-size:10px;font-style:normal}.forecast-timeline{text-align:center;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;margin:-4px 0 10px;padding:0;list-style:none;display:grid}.forecast-timeline li{justify-items:center;gap:1px;font-size:12px;display:grid}.forecast-timeline small{color:var(--muted,#5b6660);font-size:11px}.forecast-timeline .weather-icon{font-size:18px}.forecast-detail{background:var(--accent-tint,#e4efe8);border-radius:14px;margin:0 0 12px;padding:10px 12px;font-size:13px}.forecast-detail-text{margin:0 0 8px;font-weight:700}.forecast-detail-note{margin:6px 0 0}.forecast-hours{border-collapse:collapse;width:100%;font-size:13px}.forecast-hours caption{text-align:left;margin-bottom:4px;font-weight:700}.forecast-hours th,.forecast-hours td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:4px}.forecast-hours thead th{font-size:11px;font-weight:400}.forecast-hours .weather-icon{font-size:15px}.forecast-pops{margin:8px 0 0}.forecast-pops dt{font-weight:700}.forecast-pops dd{flex-wrap:wrap;gap:4px 12px;margin:2px 0 0;display:flex}.transit-title-row{align-items:center;margin-bottom:14px;display:flex}.transit-title-row h2{color:var(--ink);margin:0;font-size:24px}.live-badge{color:#a8362a;background:#ffe5e1;border-radius:12px;margin-left:auto;padding:6px 9px;font-size:12px;font-weight:700}.transit-source{color:var(--muted);font-size:12px}.clear-search{border:1px solid var(--line-strong);color:var(--accent);background:#fff;border-radius:999px;justify-self:start;margin-top:4px;padding:8px 14px;font-size:13px;font-weight:700}.stop-input{position:relative}.stop-selection .stop-input input{padding-right:44px}.stop-input-clear{width:34px;height:34px;color:var(--muted);background:var(--chip);border:0;border-radius:50%;font-size:18px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.show-more-trips{border:1px dashed var(--line-strong);color:var(--accent);background:#fff;border-radius:16px;padding:12px;font-weight:700}.stop-selection{gap:8px;margin-bottom:16px;display:grid}.stop-selection label{color:var(--muted);font-size:14px;font-weight:700}.stop-selection input{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:14px;padding:12px 14px}.stop-selection input:focus{border-color:var(--accent);outline:2px solid var(--accent-tint)}.stop-picker{gap:8px;display:grid}.stop-candidates{border:1px solid var(--line-strong);background:#fff;border-radius:14px;margin:-4px 0 0;padding:4px;list-style:none;display:grid;box-shadow:0 4px 12px #52677922}.stop-candidates button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;padding:11px 12px;font-size:15px}.stop-candidates button:hover,.stop-candidates button:focus-visible{background:var(--accent-tint);outline:0}.transit-list{gap:12px;margin-top:16px;display:grid}.arrival-card{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:20px;padding:16px}.arrival-card:hover,.arrival-card:focus-visible{border-color:var(--accent);outline:0}.arrival-head,.arrival-route{align-items:center;display:flex}.arrival-head{justify-content:space-between}.arrival-head span{color:#1b7444;background:#e2f5e9;border-radius:14px;padding:6px 9px;font-size:13px;font-weight:700}.arrival-head span.delayed{color:#8a5a00;background:#fff2d7}.arrival-route{gap:10px;margin-top:12px}.arrival-route b{color:var(--accent)}.arrival-route span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.transit-source{margin-top:16px;display:block}.selected-trip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:16px}.selected-trip-title{justify-content:space-between;align-items:center;margin-top:18px;font-size:20px;display:flex}.selected-trip-title span{color:#1b7444;background:#e2f5e9;border-radius:14px;padding:7px 10px;font-size:13px}.selected-trip-title span.delayed{color:#8a5a00;background:#fff2d7}.selected-trip dl{margin:18px 0 0}.selected-trip dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.selected-trip dt{color:var(--muted)}.selected-trip dd{text-align:right;margin:0;font-weight:700}.data-note{color:var(--muted);margin:16px 0 0;font-size:12px}.arrival-route b{font-size:18px}.arrival-route b small{color:var(--muted);margin-left:4px;font-size:13px;font-weight:700}.trip-legs{background:var(--bg);border-radius:14px;gap:6px;margin-top:12px;padding:10px 12px;display:grid}.trip-leg{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.trip-leg strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.trip-leg time{font-size:20px;font-weight:800}.trip-leg time small{color:var(--muted);margin-left:2px;font-size:12px}.leg-label{color:#fff;background:var(--accent);border-radius:8px;padding:3px 8px;font-size:12px;font-weight:800}.leg-label.alight{background:var(--muted)}.arrival-source{color:var(--muted);margin-top:10px;font-size:12px;display:block}.selected-trip .arrival-route{margin-top:4px}.selected-trip .trip-legs{margin-bottom:12px}.nearby-stops{gap:6px;display:grid}.nearby-stops button{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:999px;align-items:baseline;gap:6px;padding:8px 12px;font-size:14px;font-weight:700;display:inline-flex}.nearby-stops button small{color:var(--muted);font-size:11px;font-weight:400}.nearby-stops button.selected{color:#fff;border-color:var(--accent);background:var(--accent)}.nearby-stops button.selected small{color:#dbe8f6}.stop-hint{color:var(--muted);margin:0;font-size:12px}.arrival-route .fare{color:var(--ink);margin-left:auto;font-size:15px;font-weight:800}.range-switch{grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;display:grid}.range-switch button{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:12px;padding:10px 8px;font-size:13px;font-weight:700}.range-switch button.selected{color:#fff;border-color:var(--ink);background:var(--ink)}.range-note{color:var(--muted);background:var(--accent-tint);border-radius:12px;margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:1.6}.range-note strong{color:var(--ink)}.timetable{border:1px solid var(--line);background:#fff;border-radius:16px;gap:0;margin-top:12px;display:grid;overflow:hidden}.timetable-past-toggle{border:0;border-bottom:1px solid var(--line);color:var(--accent);background:var(--bg);padding:10px;font-size:13px;font-weight:700}.timetable-row{border-bottom:1px solid var(--chip);grid-template-columns:52px 1fr;display:grid}.timetable-row:last-child{border-bottom:0}.timetable-row.current{background:#fff8e6}.timetable-hour{color:var(--ink);background:var(--bg);justify-content:center;align-items:flex-start;padding:10px 0;font-size:18px;display:flex}.timetable-row.current .timetable-hour{color:#fff;background:#9a6a00}.timetable-hour small{margin-top:4px;font-size:11px}.timetable-minutes{flex-wrap:wrap;gap:4px;padding:6px;display:flex}.timetable-minutes button{min-width:64px;max-width:120px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;justify-items:start;padding:4px 8px;display:grid}.timetable-minutes button:hover,.timetable-minutes button:focus-visible{background:var(--accent-tint);outline:0}.timetable-minutes strong{font-size:18px}.timetable-minutes small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.timetable-minutes em{color:#8a5a00;font-size:10px;font-style:normal;font-weight:700}.timetable-minutes button.departed strong,.timetable-minutes button.departed small{color:#a3adb8}.timetable-minutes button.departed{background:#f1f3f6}.timetable-minutes button.departed strong{font-weight:500;text-decoration:line-through}.rail-section{margin-bottom:22px}.rail-lines{gap:8px;display:grid}.rail-line{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px}.rail-line+.rail-line{margin-top:0}.rail-section>.rail-line{margin-top:8px}.rail-line.troubled{background:#fff7f2;border-color:#f0c1ad}.rail-line-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.rail-line-head strong{color:var(--ink);font-size:15px;display:block}.rail-line-head small{color:var(--muted);font-size:11px}.rail-line p,.rail-express p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.rail-line a,.rail-express a,.rail-note a{color:var(--accent)}.rail-express{background:#fff7f2;border-radius:14px;padding:10px 12px}.rail-express strong{color:#9c2f24;font-size:13px}.rail-note{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.6}.regular-toggle{border:1px solid var(--line-strong);color:var(--accent);background:var(--surface);border-radius:999px;justify-self:start;margin-top:12px;padding:10px 16px;font-size:15px;font-weight:700}.regular-toggle.selected{border-color:var(--accent);background:var(--accent-tint)}.shelter-detail-button{width:100%;color:var(--accent);background:var(--accent-tint);border:0;border-radius:12px;margin-top:12px;padding:10px;font-weight:700}.show-more-shelters{border:1px dashed var(--line-strong);width:100%;color:var(--accent);background:#fff;border-radius:16px;margin-bottom:12px;padding:12px;font-weight:700}.access-toggle{border:1px solid var(--line-strong);color:var(--muted);background:#fff;border-radius:18px;margin-left:auto;padding:8px 12px;font-size:13px;font-weight:700}.access-toggle.selected{color:var(--accent);background:var(--accent-tint);border-color:#9fc4e8}.detail-status-row{color:#1b7444;background:#e2f5e9;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.detail-status-row span{color:var(--muted);font-size:13px}.shelter-detail-list{border-top:1px solid var(--line);gap:0;margin:18px 0;display:grid}.shelter-detail-list div{border-bottom:1px solid var(--line);grid-template-columns:92px 1fr;gap:12px;padding:13px 0;display:grid}.shelter-detail-list dt{color:var(--muted);font-size:13px}.shelter-detail-list dd{color:var(--ink);margin:0;font-size:14px}.route-summary{border-top:1px solid #f0c1ad;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.route-summary strong{color:var(--alert);font-size:17px}.route-summary span{color:var(--muted);font-size:12px}.shelter-heading{align-items:center;gap:10px;margin:28px 0 14px;display:flex}.shelter-heading h2{color:var(--ink);margin:0;font-size:19px}.shelter-card{margin-bottom:14px;padding:18px 16px 0}.shelter-main{gap:12px}.rank{color:#fff;border-radius:12px;flex:0 0 38px;place-items:center;height:38px;font-size:20px;display:grid}.rank.green{background:#2ca361}.rank.yellow{background:#9a6a00}.shelter-main strong{font-size:16px}.shelter-main p{color:var(--muted);margin:4px 0 0;font-size:13px}.availability{white-space:nowrap;border-radius:18px;margin-left:auto;padding:9px 11px;font-size:13px;font-weight:700}.availability.green{color:#1b7444;background:#e2f5e9}.availability.yellow{color:#a47711;background:#fff2d7}.shelter-meta{border-top:1px solid var(--line);color:var(--muted);gap:14px;margin-top:14px;padding:14px 0;font-size:13px}.shelter-meta b{color:var(--accent);background:var(--accent-tint);border-radius:9px;padding:5px 8px}.shelter-meta b.estimate{color:#8056c7;background:#f0eafa}.favorite-overlay{z-index:1500;background:#123555cc;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.favorite-dialog{background:#fff;border-radius:22px;gap:10px;width:min(100%,400px);max-height:88vh;padding:22px 18px;display:grid;overflow-y:auto}.favorite-dialog h2{margin:0;font-size:20px}.favorite-dialog p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.7}.favorite-dialog input{border:1px solid var(--line-strong);border-radius:12px;min-height:46px;padding:0 14px;font-size:16px}.favorite-dialog .favorite-hint{color:var(--muted);font-size:12px;font-weight:700}.favorite-candidates{gap:8px;margin:0;padding:0;list-style:none;display:grid}.favorite-candidates button{border:1px solid var(--line);text-align:left;background:#f7f9fb;border-radius:12px;gap:2px;width:100%;padding:12px;display:grid}.favorite-candidates small{color:var(--muted)}.favorite-actions{gap:8px;display:grid}.favorite-actions button{border:1px solid var(--line-strong);min-height:44px;color:var(--ink-soft);background:#fff;border-radius:12px;font-weight:700}.evacuation-checklist{border:1px solid var(--line);background:#fff;border-radius:18px;margin:18px 0;padding:14px 16px}.evacuation-checklist summary{cursor:pointer;justify-content:space-between;font-size:16px;font-weight:800;display:flex}.evacuation-checklist summary span{color:var(--muted);font-size:13px}.checklist-lead{color:var(--ink-soft);font-size:13px;line-height:1.7}.evacuation-checklist fieldset{border:0;gap:6px;margin:12px 0 0;padding:0;display:grid}.evacuation-checklist legend{font-weight:800}.evacuation-checklist small{color:var(--muted)}.evacuation-checklist label{align-items:center;gap:10px;min-height:36px;font-size:15px;display:flex}.evacuation-checklist input{width:22px;height:22px}.shelter-filters{color:var(--ink);gap:6px;margin-top:16px;font-size:14px;font-weight:700;display:grid}.shelter-filters label{align-items:center;gap:10px;display:flex}.shelter-filters select{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;padding:8px 10px;font-size:15px}.shelter-filters small{color:var(--muted);font-weight:400}.sort-switch{gap:4px;margin-left:auto;display:flex}.sort-switch button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:700}.sort-switch button.selected{color:#fff;border-color:var(--ink);background:var(--ink)}.shelter-view>.access-toggle{margin-bottom:14px}.availability.gray{color:var(--muted);background:var(--chip)}.availability.red{color:#9c2f24;background:#ffe5e1}.rank.gray{background:var(--muted)}.hazard-warning{margin-bottom:14px;line-height:1.6}.unverified-heading{color:#9c2f24;margin:22px 0 10px;font-size:14px}.shelter-card.unverified{border:1px dashed #e0a39b}.alert.offline-note{color:#33414f;background:var(--chip);border-color:#c9d3de}.detail-status-row.status-gray{color:#4b5b6b;background:var(--chip)}.detail-status-row.status-yellow{color:#9a6a00;background:#fff4d6}.detail-status-row.status-red{color:#c2412d;background:#fde5e1}.order-change-note{color:var(--alert)}.map-frame{margin:0 -24px 16px;position:relative}.navigation-map{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#e8ece9;height:300px;margin:0}.map-frame-full{margin:0;position:absolute;inset:0}.map-frame-full .navigation-map{border:0;height:100%}.navigation-map .maplibregl-ctrl-attrib{font-size:10px}.map-type-switcher{z-index:2;gap:6px;display:flex;position:absolute;top:12px;left:12px}.map-type-switcher button{border:1px solid var(--line);color:var(--ink);background:#fffd;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #52677933}.map-type-switcher button.selected{color:#fff;border-color:var(--ink);background:var(--ink)}.map-buttons{z-index:2;gap:8px;display:grid;position:absolute;bottom:92px;right:12px}.map-frame-full .map-buttons{justify-items:end;top:72px;bottom:auto}.map-locate-button,.map-compass-button{border:1px solid var(--line);width:44px;height:44px;color:var(--accent);background:#fff;border-radius:50%;place-items:center;font-size:20px;display:grid;box-shadow:0 2px 8px #52677933}.map-locate-button.active{color:#fff;border-color:var(--accent);background:var(--accent)}.map-compass-button{color:#c8372a;font-size:14px;position:relative}.map-compass-button span{line-height:1;display:block}.map-compass-button small{color:var(--ink);font-size:9px;font-weight:800;position:absolute;bottom:3px}.current-location-marker{place-items:center;width:22px;height:22px;display:grid;position:relative}.current-location-marker span{background:var(--accent);border:3px solid #fff;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 0 0 7px #2468b255,0 2px 6px #526779}.current-location-marker i{border-bottom:30px solid #2468b266;border-left:14px solid #0000;border-right:14px solid #0000;width:0;height:0;display:none;position:absolute;bottom:50%;left:50%;transform:translate(-50%)}.current-location-marker.has-heading i{display:block}.destination-marker{place-items:center;width:30px;height:30px;display:grid}.destination-marker span{color:#fff;background:var(--ink);border:3px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;display:grid;box-shadow:0 2px 6px #52677999}.poi-marker{cursor:pointer;align-items:center;gap:3px;display:flex}.poi-marker.selected{z-index:1}.poi-marker .poi-label{max-width:96px;color:var(--poi-color,var(--muted));text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff;-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;font-size:11px;font-weight:700;line-height:14px;display:-webkit-box;overflow:hidden}.poi-marker.selected .poi-label{font-size:12px}.poi-marker .poi-icon,.poi-badge{border:2px solid var(--poi-color,var(--muted));color:var(--poi-color,var(--muted));background:#fff;border-radius:50%;place-items:center;font-size:14px;display:grid;box-shadow:0 1px 4px #12355555}.poi-marker .poi-icon{flex-shrink:0;width:28px;height:28px}.poi-badge{width:32px;height:32px}.poi-marker.selected .poi-icon{border-width:3px;width:38px;height:38px;font-size:20px;box-shadow:0 0 0 4px #fffc,0 2px 8px #123555aa}.poi-station{--poi-color:var(--accent)}.poi-shopping{--poi-color:#9a6a00}.poi-food{--poi-color:var(--alert)}.poi-public{--poi-color:var(--muted)}.poi-hospital{--poi-color:#c8372a}.poi-education{--poi-color:#8056c7}.poi-leisure{--poi-color:#1b7444}.poi-point{--poi-color:var(--ink)}.poi-shelter{--poi-color:#17804a}.poi-shelter .poi-icon,.poi-badge.poi-shelter{color:#fff;background:#17804a;border-color:#fff;border-radius:8px;font-size:13px;font-weight:800}.map-frame-full.navigating .map-buttons{top:auto;bottom:40px}.map-loading{color:var(--muted);place-items:center;font-size:13px;display:grid}.map-overlay-switcher{justify-items:end;gap:8px;display:grid}.map-overlay-switcher button,.map-type-toggle,.map-type-options button,.map-overlay-kinds button{border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fffd;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #52677933}.map-overlay-switcher button,.map-type-toggle{min-width:92px;min-height:40px}.map-overlay-switcher button.selected,.map-type-options button.selected,.map-overlay-kinds button.selected{color:#fff;border-color:var(--accent);background:var(--accent)}.map-overlay-panel{z-index:2;background:#fffe;border-radius:14px;gap:6px;padding:8px 10px;display:grid;position:absolute;top:72px;left:12px;right:112px;box-shadow:0 2px 10px #52677944}.map-frame-full.navigating .map-overlay-panel{top:auto;bottom:40px}.map-overlay-panel section{gap:6px;display:grid}.map-overlay-panel small{color:var(--muted);font-size:10px;line-height:1.4}.map-overlay-kinds{gap:6px;display:flex}.map-overlay-kinds button{box-shadow:none}.map-overlay-legend{color:var(--ink);flex-wrap:wrap;gap:2px 5px;margin:0;padding:0;font-size:10px;list-style:none;display:flex}.map-overlay-legend li{align-items:center;gap:2px;display:flex}.map-overlay-legend span{border:1px solid #0000001f;border-radius:3px;width:10px;height:10px}.map-overlay-rain{grid-template-columns:auto auto 1fr;align-items:center;gap:8px;display:grid}.map-overlay-rain button{color:#fff;background:var(--accent);border:0;border-radius:50%;width:36px;height:36px;font-size:14px}.map-overlay-rain strong{color:var(--ink);white-space:nowrap;font-size:15px}.map-overlay-rain input{width:100%;min-width:0}.map-overlay-rain strong small{font-size:11px;font-weight:700}.map-overlay-error{color:var(--alert);margin:0;font-size:12px}.map-type-menu{position:relative}.map-type-options{background:#fffe;border-radius:14px;gap:6px;padding:6px;display:flex;position:absolute;top:0;right:calc(100% + 8px);box-shadow:0 2px 10px #52677944}.map-type-options button{white-space:nowrap;box-shadow:none}.shelter-route-screen .map-frame-full .map-buttons,.shelter-route-screen .map-frame-full .map-overlay-panel{top:12px}.shelter-route-screen .map-frame-full.navigating .map-buttons,.shelter-route-screen .map-frame-full.navigating .map-overlay-panel{top:auto}.place-sheet{background:#fffaf7;border:1px solid #f0c1ad;border-radius:20px;margin:0 0 14px;padding:16px}.place-sheet-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.place-sheet h2{color:var(--ink);margin:5px 0 0;font-size:19px}.place-sheet-heading button{width:30px;height:30px;color:var(--muted);background:#f7e9e2;border:0;border-radius:50%;font-size:22px}.place-sheet p{color:var(--muted);margin:10px 0;font-size:13px}.navi-search{margin-bottom:12px;position:relative}.navi-search input{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:14px;padding:13px 40px 13px 14px;font-size:16px}.navi-search input:focus{border-color:var(--accent);outline:2px solid var(--accent-tint)}.navi-search button{width:28px;height:28px;color:var(--muted);background:var(--chip);border:0;border-radius:50%;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.navi-start{color:#fff;background:var(--alert);border:0;border-radius:14px;width:100%;margin-top:12px;padding:14px;font-size:17px;font-weight:800}.navi-panel{color:#fff;background:var(--ink);border-radius:20px;gap:10px;margin-bottom:12px;padding:16px;display:grid}.navi-panel.arrived{background:#1b7444}.navi-next{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.navi-next small{font-size:22px;font-weight:800;display:block}.navi-next strong{font-size:17px;line-height:1.4}.navi-rerouting{color:var(--ink);background:#fff2d7;border-radius:10px;margin:0;padding:8px 10px;font-size:13px}.navi-remaining{border-top:1px solid #fff3;justify-content:space-between;padding-top:10px;font-size:13px;display:flex}.navi-remaining strong{margin:0 2px;font-size:18px}.navi-stop{color:#fff;background:0 0;border:1px solid #fff6;border-radius:12px;padding:10px;font-weight:700}.navi-screen{flex:1;min-height:0;margin-bottom:72px;position:relative}.navi-top{z-index:1000;position:absolute;top:12px;left:12px;right:12px}.navi-top .navi-panel{margin:0;box-shadow:0 4px 16px #12355555}.navi-search-box{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #52677955}.navi-search-box .navi-search{align-items:center;gap:8px;margin:0;padding:0 8px 0 14px;display:flex}.navi-search-box .navi-search input{background:0 0;border:0;outline:0;flex:1;padding:13px 4px}.navi-search-box .navi-search input:focus{outline:0}.navi-search-box .navi-search button{flex:none;position:static;transform:none}.navi-history{border-top:1px solid var(--chip);padding:10px 14px 12px}.navi-results{border-top:1px solid var(--chip);max-height:46svh;margin:0;padding:0;list-style:none;overflow-y:auto}.navi-results li+li{border-top:1px solid var(--chip)}.navi-results button{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.navi-results button strong{font-size:15px;display:block}.navi-results button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.navi-results-note{color:var(--muted);padding:12px 14px;font-size:13px}.navi-bottom{z-index:1000;max-height:60%;position:absolute;bottom:12px;left:12px;right:12px;overflow-y:auto}.bottom-sheet{z-index:1000;flex-direction:column;max-height:60%;padding:0;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.bottom-sheet[data-dragging]{max-height:none}.sheet-top{touch-action:none;cursor:grab;flex:none;padding:0 16px 4px}.sheet-handle{cursor:grab;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:28px;padding:0;display:flex}.sheet-handle span{background:#b9c3bd;border-radius:999px;width:40px;height:5px}.sheet-rest{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 16px 16px;overflow-y:auto}.bottom-sheet[data-snap=peek]:not([data-dragging]) .sheet-rest{display:none}.bottom-sheet[data-dragging] .sheet-rest{overflow:hidden}.bottom-sheet[data-snap=peek]:not([data-dragging]) .sheet-top{padding-bottom:12px}.bottom-sheet[data-snap=peek]:not([data-dragging]) .shelter-sheet-head{margin-bottom:0}.navi-map-note{color:var(--muted);background:#ffffffe6;border-radius:12px;margin:0;padding:8px 12px;font-size:12px;box-shadow:0 1px 6px #52677944}.navi-sheet{background:#fff;border:0;margin:0;box-shadow:0 -2px 16px #52677955}.navi-sheet p{color:var(--muted);margin:6px 0 0;font-size:14px}.place-hours b{margin-right:8px;font-weight:800}.place-hours b.open{color:#1b7444}.place-hours b.closed{color:#c8372a}.place-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.place-links a,.place-links button{border:1px solid var(--line-strong);color:var(--accent);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;text-decoration:none}.navi-start:disabled{opacity:.6}.navi-sheet .eyebrow{text-transform:none}.navi-voice{background:#fff2;border:1px solid #fff5;border-radius:50%;flex:none;width:44px;height:44px;margin-left:auto;font-size:20px}.travel-modes{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;display:grid}.travel-modes button{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:15px;font-weight:700;display:flex}.travel-modes button.selected{border-color:var(--accent);color:#fff;background:var(--accent)}.shelter-sheet h2{color:var(--ink);margin:0;font-size:20px}.shelter-sheet-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.shelter-others{border:1px solid var(--line-strong);min-height:40px;color:var(--accent-dark);background:var(--surface);border-radius:999px;flex:none;padding:8px 14px;font-size:14px;font-weight:700}.shelter-sheet .detail-status-row{padding:10px 14px}.shelter-more{margin-top:12px}.shelter-more>summary{color:var(--accent);cursor:pointer;padding:10px 0;font-size:15px;font-weight:700}.place-floor-note{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.navi-search input[type=search]::-webkit-search-cancel-button{appearance:none;display:none}.navi-search input[type=search]::-webkit-search-decoration{appearance:none;display:none}.content.location-picker{border-bottom:1px solid var(--line);background:#fff8f2;padding:16px 24px}.location-picker-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.location-picker-heading p{margin:0 0 12px;font-size:14px;line-height:1.6}.location-picker-heading button{background:var(--chip);border:0;border-radius:50%;flex:none;width:32px;height:32px;font-size:18px}.location-picker-list{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.location-picker-list button,.location-picker-actions button{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:44px;padding:8px 6px;font-weight:700}.location-picker-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.location-picker-actions button.primary{border-color:var(--alert);color:#fff;background:var(--alert)}.location-picker-actions button:disabled{opacity:.6}.location-picker-mapbox{position:relative}.location-picker-mapbox .map-frame{margin-bottom:8px}.location-picker-crosshair{z-index:500;color:var(--alert);pointer-events:none;font-size:36px;font-weight:700;line-height:1;position:absolute;top:150px;left:50%;transform:translate(-50%,-50%)}.location-bar{background:#fff8f2;border-bottom:1px solid #f1d6c8;justify-content:space-between;align-items:center;gap:8px;padding:8px 24px;font-size:13px;font-weight:700;display:flex}.location-bar button{border:1px solid var(--alert);color:var(--alert);background:#fff;border-radius:999px;flex:none;padding:6px 12px;font-weight:700}.app-shell.map-mode>.location-bar{flex:none}.level-0{--level-color:var(--accent)}.level-1{--level-color:#7a6200}.level-2{--level-color:#9a4f0e}.level-3{--level-color:var(--alert)}.level-bar{grid-template-columns:repeat(var(--levels), 1fr);border:1px solid var(--line-strong);background:var(--surface);border-radius:14px;display:grid;overflow:hidden}.level-bar button{border:0;border-left:1px solid var(--line);min-height:44px;color:var(--ink);background:0 0;padding:8px 4px;font-size:13px;font-weight:700}.level-bar button:first-child{border-left:0}.level-bar button.selected{color:#fff;background:var(--level-color)}.level-bar button:disabled{opacity:.6}.report-line{color:var(--ink);margin:8px 0 0;font-size:14px;font-weight:700}.report-line.tone-reference,.report-list .tone-reference dd{color:var(--muted);font-weight:400}.report-open{border:1px solid var(--accent);width:100%;color:var(--accent);background:var(--surface);border-radius:16px;margin-top:10px;padding:12px;font-size:15px;font-weight:700}.shelter-report-form,.shelter-reports{gap:10px;margin-top:12px;display:grid}.shelter-report-form h3,.shelter-reports h3{color:var(--ink);margin:0;font-size:16px}.shelter-reports h3 small{color:var(--muted);margin-left:4px;font-size:12px;font-weight:400}.report-item{gap:4px;display:grid}.report-item>span{color:var(--ink);font-size:14px;font-weight:700}.report-note,.report-empty{color:var(--muted);margin:0;font-size:12px}.report-message{color:var(--ink);background:var(--accent-tint);border-radius:12px;margin:0;padding:10px 12px;font-size:13px}.report-list{gap:6px;margin:0;display:grid}.report-list div{grid-template-columns:88px 1fr;align-items:start;gap:8px;display:grid}.report-list dt{color:var(--muted);font-size:13px}.report-list dd{color:var(--ink);gap:4px;margin:0;font-size:13px;font-weight:700;display:grid}.report-list .tone-none dd{color:var(--muted);font-weight:400}.report-distribution{background:var(--line);border-radius:4px;height:8px;display:flex;overflow:hidden}.report-distribution span{background:var(--level-color)}.rating-dialog{gap:14px;display:grid}.rating-dialog h2:focus{outline:none}.scene-choices{border:0;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.scene-choices legend{color:var(--ink);margin-bottom:6px;font-size:14px;font-weight:700}.scene-choices button{border:1px solid var(--line-strong);min-height:36px;color:var(--ink);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:13px}.scene-choices button.selected{color:#fff;border-color:var(--accent);background:var(--accent)}.recommend-card ol{gap:8px;margin:8px 0 0;padding-left:20px;display:grid}.recommend-card li{gap:2px;display:grid}.recommend-card li span{color:var(--muted);font-size:12px}.app-shell{background:var(--bg)}.app-header{border-bottom:1px solid var(--line);background:var(--bg);padding:12px 20px}.app-header h1{font-size:19px;font-weight:700}.brand-mark{border-radius:12px;width:36px;height:36px}.content{padding:20px 20px 104px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.alert,.empty-state,.loading-state,.error-state{border-radius:18px}.bottom-nav{background:var(--bg);border-top:0;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 12px 14px}.bottom-nav button{min-height:60px;color:var(--ink);background:var(--chip);border-radius:18px;gap:2px;padding:8px 4px;font-size:14px;font-weight:400}.bottom-nav button svg{width:24px;height:24px}.bottom-nav button.active{color:#fff;background:var(--accent);font-size:14px;font-weight:700}.bottom-nav button.active:before{content:none}.app-shell.alerting .bottom-nav button.active{background:var(--alert)}.today-card{width:100%;color:var(--ink);text-align:left;background:var(--surface);border:0;border-radius:22px;gap:6px;padding:18px 18px 16px;display:grid}button.today-card:active{background:var(--accent-tint)}.card-label{color:var(--muted);font-size:14px}.card-value{font-size:32px;font-weight:700;line-height:1.2}.card-sub{color:var(--ink-soft);align-items:center;gap:6px;font-size:14px;line-height:1.5;display:flex}.card-sub .weather-icon{font-size:16px}.page-title{margin:0;font-size:26px;font-weight:700}.page-lead{color:var(--muted);margin:6px 0 16px;line-height:1.6}.today-view{gap:12px;display:grid}.today-date{color:var(--muted);margin:0;font-size:14px}.today-headline{margin:0 0 8px;font-size:28px;font-weight:700;line-height:1.4}.today-note{color:var(--muted);margin:0;line-height:1.6}.today-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.today-pair .card-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.weather-sub>span{word-break:keep-all;overflow-wrap:anywhere}.prepare-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.prepare-head strong{font-size:19px;font-weight:700}.prepare-head span{color:var(--muted);font-size:14px}.progress{background:var(--line);border-radius:6px;height:12px;margin:6px 0 4px;display:block;overflow:hidden}.progress span{background:var(--accent);border-radius:6px;height:100%;display:block}.my-shelter{grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.my-shelter-icon{width:52px;height:52px;color:var(--accent);background:var(--accent-tint);border-radius:16px;place-items:center;display:grid}.my-shelter-text{gap:2px;display:grid}.my-shelter-text strong{font-size:19px;font-weight:700}.my-shelter-meta{color:var(--muted);text-align:right;justify-items:end;font-size:13px;display:grid}.today-status{background:var(--surface);border-radius:22px;padding:4px 18px;display:grid}.today-status-row{min-height:52px;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:15px;display:flex}.today-status-row+.today-status-row{border-top:1px solid var(--line)}.today-status-row small{color:var(--muted);margin-left:6px;font-size:12px}.status-value{max-width:55%;color:var(--accent-dark);text-align:right;flex:none;font-weight:700}.status-value.unknown{color:var(--muted);font-weight:400}.status-value.advisory,.status-value.warning,.status-value.has-notice{color:var(--alert)}.today-status-row.urgent{background:var(--alert-tint);border-radius:14px;margin:4px -10px;padding:10px}.today-alert-box{border:2px solid var(--alert);background:var(--alert-tint);border-radius:22px;gap:4px;padding:16px 18px;display:grid}.today-alert-box strong{color:#9c3509;font-size:19px}.today-alert-box p{margin:0;font-weight:700}.today-alert-box small{color:var(--muted)}.today-alert-box button{color:#fff;background:var(--accent);border:0;border-radius:14px;min-height:46px;margin-top:8px;font-weight:700}.today-setup{background:var(--surface);border-radius:22px;gap:10px;padding:16px 18px;display:grid}.today-setup h2{justify-content:space-between;margin:0;font-size:17px;display:flex}.today-setup h2 span{color:var(--muted);font-size:15px}.today-setup ul{margin:0;padding:0;list-style:none}.today-setup li+li{border-top:1px solid var(--line)}.today-setup li button{width:100%;min-height:48px;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;font-size:15px;display:flex}.today-setup li button:disabled{opacity:.6}.setup-check{border:2px solid var(--line-strong);color:#fff;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.today-setup li button.done .setup-check{border-color:var(--accent);background:var(--accent)}.today-setup li button.done .setup-label{color:var(--muted)}.setup-label{flex:1}.today-setup li small{color:var(--muted);font-size:13px}.setup-note{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.setup-note.center{text-align:center}.notices-view h2{margin:4px 0 0}.notices-note,.notices-empty{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.notices-group{gap:8px;display:grid}.notices-group h3{margin:8px 0 0;font-size:17px}.notice-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.notice-item{background:var(--surface);border-radius:16px;gap:4px;padding:12px 14px;display:grid}.notice-item.urgent{border:2px solid var(--alert);background:var(--alert-tint)}.notice-item p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.6}.notice-head{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.notice-kind{color:var(--accent-dark);background:var(--accent-tint);border-radius:999px;padding:2px 10px;font-weight:700}.notice-item.urgent .notice-kind{color:#fff;background:var(--alert)}.notice-title{font-size:16px;line-height:1.5}.notice-history summary{min-height:44px;color:var(--accent);cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:700;list-style:none;display:flex}.notice-history summary::-webkit-details-marker{display:none}.notice-history summary:after{content:"▼";font-size:11px}.notice-history[open] summary:after{content:"▲"}.notice-history ol{gap:4px;margin:0;padding:0 0 4px;font-size:14px;list-style:none;display:grid}.notice-history time{min-width:5.5em;color:var(--muted);display:inline-block}.notices-source{color:var(--muted);font-size:12px;line-height:1.6}.my-shelter-detailed .my-shelter-warning,.my-shelter-detailed .my-shelter-actions{grid-column:1/-1}.my-shelter-warning{color:var(--alert);margin:0;font-weight:700}.my-shelter-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.my-shelter-actions button{min-height:44px;color:var(--accent-dark);background:var(--chip);border:0;border-radius:14px;padding:0 16px;font-weight:700}.my-shelter-actions .my-shelter-open{color:#fff;background:var(--accent)}.today-date-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.notification-chip{border:1.5px solid var(--accent);min-height:32px;color:var(--accent-dark);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.notification-chip.off{border-color:var(--line-strong);color:var(--muted)}.checklist-more{color:var(--accent-dark);margin-left:10px;font-size:13px}.outing-location{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:6px 20px 0;font-size:13px;display:flex}.outing-location button{color:var(--accent-dark);background:0 0;border:0;padding:4px 0;font-weight:700}.app-shell.map-mode>.outing-location{flex:none}.app-shell.navigating-now>.outing-location{display:none}.today-caution{border:2px solid var(--alert);background:var(--alert-tint);border-radius:22px;gap:6px;padding:16px 18px;display:grid}.today-caution strong{color:var(--alert);font-size:17px}.today-caution p{margin:0;line-height:1.6}.today-caution button{color:#fff;background:var(--alert);border:0;border-radius:14px;justify-self:start;padding:10px 16px;font-weight:700}.emergency-view{padding-bottom:104px}.emergency-banner{color:#fff;background:var(--alert);padding:24px 22px 26px}.emergency-level{flex-wrap:wrap;gap:4px 14px;margin:0;font-size:17px;font-weight:700;display:flex}.emergency-banner h2{margin:10px 0 0;font-size:30px;font-weight:700;line-height:1.35}.emergency-area{margin:10px 0 0;font-size:14px;line-height:1.6}.emergency-steps{gap:14px;margin:0;padding:20px;list-style:none;display:grid}.emergency-step{background:var(--surface);border-radius:22px;gap:10px;padding:18px;display:grid}.emergency-step.primary{border:3px solid var(--alert)}.step-head{align-items:center;gap:14px;display:flex}.step-head h3{margin:0;font-size:20px;font-weight:700}.step-head p,.emergency-step>p{color:var(--ink-soft);margin:2px 0 0;font-size:15px;line-height:1.6}.step-number{width:44px;height:44px;color:var(--ink);background:var(--chip);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.primary .step-number{color:#fff;background:var(--alert);width:52px;height:52px;font-size:22px}.step-action{color:#fff;background:var(--alert);border:0;border-radius:40px;min-height:60px;font-size:21px;font-weight:700}.step-action:disabled{opacity:.55;cursor:default}.step-link{color:var(--alert);background:0 0;border:0;justify-self:start;padding:6px 0;font-weight:700}.emergency-step a{color:var(--alert);font-weight:700}.prepare-view{gap:14px;display:grid}.prepare-view .page-lead{margin:-8px 0 0}.prepare-view .evacuation-checklist{margin:0}.contact-card h3{margin:0 0 8px;font-size:18px;font-weight:700}.contact-card p{margin:0;line-height:1.6}.contact-card dl{gap:6px;margin:8px 0;display:grid}.contact-card dl div{background:var(--chip);border-radius:14px;gap:12px;padding:10px 12px;display:flex}.contact-card dt{flex:none;font-weight:700}.contact-card dd{margin:0}.contact-card a{color:var(--accent-dark)}.outing-switch{background:var(--chip);border-radius:18px;grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;margin:12px 20px 0;padding:5px;display:grid}.outing-switch button{min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:14px;font-weight:700}.outing-switch button.active{color:#fff;background:var(--accent)}.app-shell.map-mode>.outing-switch{flex:none;margin-bottom:8px}.weather-card{background:linear-gradient(135deg, #3f7f62, var(--accent))}.navi-panel{border-radius:18px;gap:8px;padding:12px 14px}.navi-next{gap:12px}.navi-next small{font-size:19px}.navi-next strong{font-size:15px}.navi-remaining{flex-wrap:wrap;align-items:center;gap:4px 10px;padding-top:8px;font-size:13px}.navi-remaining strong{font-size:16px}.navi-destination{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:700;overflow:hidden}.navi-remaining .navi-stop{border-radius:10px;margin-left:auto;padding:6px 12px;font-size:13px}.navi-notice{color:var(--ink);background:#fff3cd;border-radius:12px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:14px;line-height:1.5;display:flex}.navi-notice button{color:var(--ink);background:0 0;border:0;flex:none;margin-left:auto;padding:0 6px;font-size:18px}.app-shell.navigating-now>.app-header{display:none}.navi-ongoing{color:#fff;text-align:left;background:var(--ink);border:0;align-items:center;gap:10px;width:100%;padding:10px 20px;font-weight:700;display:flex}.navi-ongoing span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.app-shell.map-mode>.navi-ongoing{flex:none}.kept-screen{display:contents}.kept-screen[hidden]{display:none}.map-compass-button.heading-up{color:var(--accent)}.app-shell.navigating-now>.outing-switch{display:none}.rail-section>summary{cursor:pointer;background:var(--surface);border-radius:18px;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:10px;padding:14px 16px;list-style:none;display:flex}.rail-section>summary::-webkit-details-marker{display:none}.rail-section>summary h2{margin:0;font-size:18px}.rail-summary{color:var(--accent-dark);font-size:14px;font-weight:700}.rail-summary.troubled{color:#9c2f24}.rail-toggle{color:var(--ink);background:var(--chip);border-radius:12px;margin-left:auto;padding:4px 12px;font-size:13px;font-weight:700}.checklist-bulk{gap:8px;margin:10px 0 0;display:flex}.checklist-bulk button{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);background:var(--surface);border-radius:14px;flex:1;font-weight:700}.checklist-bulk button:disabled{opacity:.5;cursor:default}.confirm-overlay{z-index:1600;background:#233a2e8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{width:min(100%,360px);color:var(--ink);background:var(--bg);border-radius:22px;gap:10px;padding:22px 20px 18px;display:grid;box-shadow:0 12px 32px #233a2e2e}.confirm-dialog h2{margin:0;font-size:19px;font-weight:700}.confirm-dialog p{color:var(--ink-soft);margin:0;line-height:1.6}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.confirm-actions button{border:0;border-radius:16px;min-height:48px;font-weight:700}.confirm-cancel{color:var(--ink);background:var(--chip)}.confirm-ok{color:#fff;background:var(--accent)}.confirm-ok.danger{background:var(--alert)}.card-register{color:var(--accent);font-size:19px;font-weight:700}.shelter-view .my-shelter{margin-bottom:18px}.today-top{gap:12px;display:grid}.app-shell[data-season]{isolation:isolate;position:relative}.season-layer{z-index:-1;pointer-events:none;width:min(100%,430px);position:fixed;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.season-layer>span{display:block;position:absolute}.season-layer svg{width:100%;height:100%;display:block}.app-shell.map-mode .season-layer,.app-shell.navigating-now .season-layer{display:none}.app-shell[data-season-style=washi]{background-color:var(--bg);background-image:var(--season-fiber)}.app-shell[data-season-style=washi] .app-header{background:color-mix(in srgb, var(--bg) 78%, transparent)}.app-shell[data-season-style=washi] .today-headline{background:linear-gradient(var(--season-accent), var(--season-accent)) left bottom / 88px 1.5px no-repeat;padding-bottom:10px}.app-shell[data-season-style=washi] .today-card .card-label{color:var(--season-accent)}.app-shell[data-season-style=washi] :is(.today-card,.today-status,.today-setup,.notice-item,.forecast-card,.rail-section>summary,.shelter-card,.evacuation-checklist,.arrival-card,.selected-trip,.timetable,.rail-line:not(.troubled)):not(:active){background-color:#ffffffd9}.app-shell[data-season-dark] :is(.today-card,.today-status,.today-setup,.notice-item,.forecast-card,.rail-section>summary,.shelter-card,.evacuation-checklist,.arrival-card,.selected-trip,.timetable,.rail-line:not(.troubled)):not(:active){background-color:#ffffffed}.app-shell[data-season-dark] :is(.today-card,.today-status,.today-setup,.today-alert-box,.notice-item,.forecast-card,.notification-chip,.rail-section>summary,.rail-line,.shelter-card,.shelter-others,.evacuation-checklist,.hint,.arrival-card,.selected-trip,.timetable,.stop-candidates,.navi-sheet,.navi-search-box,.navi-results,.confirm-dialog,.favorite-dialog,.experiment-card,.search-history,.location-picker,.location-bar button,.back-action,.access-toggle,.sort-switch,.show-more-shelters,.clear-search,.show-more-trips,.nearby-stops,.range-switch,.regular-toggle,.travel-modes,.place-links,.report-open,.level-bar,.scene-choices,.alert-action,.map-locate-button,.map-compass-button,.shelter-filters select,.rail-toggle,.range-note,.normal-status,input,select,textarea){--ink:#233a2e;--ink-soft:#33493c;--muted:#4a5d52;--accent-dark:#1e4a36;--bg:#fbf7f0;--chip:#efe9df;--line:#e7e1d6;--line-strong:#d6cdbe;color:var(--ink)}.app-shell[data-season-dark] .order-change-note{color:#ffc4a3}.app-shell[data-season]:not([data-season-dark]) .order-change-note{color:#9c3509}.season-month img{width:100%;display:block;position:absolute;left:0}.season-month .season-top{top:0}.season-month .season-bottom{bottom:84px}.season-month .season-full{height:100%;top:0}.app-shell[data-season=m07] .season-full{opacity:.45}.app-shell[data-season][data-season-style=falling]{--bg:#fbf3e4;--chip:#f4e6cf;--line:#eadfca;--line-strong:#dccbad;background-color:#fbf3e4;background-image:none}.app-shell[data-season][data-season-style=falling] .today-top{background:linear-gradient(135deg,#fdebd3,#f9dcbb);border-radius:24px;margin:-4px -4px 0;padding:16px 18px}.season-falling .falling-leaf{opacity:.85;animation-name:leaf-fall;animation-timing-function:linear;animation-iteration-count:infinite;top:-60px}@keyframes leaf-fall{0%{transform:translate(0, 0) rotate(var(--leaf-rotate))}25%{transform:translate(18px, 28vh) rotate(calc(var(--leaf-rotate) + 60deg))}50%{transform:translate(-12px, 56vh) rotate(calc(var(--leaf-rotate) + 120deg))}75%{transform:translate(14px, 84vh) rotate(calc(var(--leaf-rotate) + 200deg))}to{transform:translate(0, 112vh) rotate(calc(var(--leaf-rotate) + 260deg))}}@media (prefers-reduced-motion:reduce){.season-falling .falling-leaf{transform:rotate(var(--leaf-rotate));animation:none;top:8%}}.emergency-notices{color:#fff;background:0 0;border:1.5px solid #fff;border-radius:999px;justify-self:start;min-height:40px;margin-top:10px;padding:8px 16px;font-weight:700}.checklist-mode{grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 10px;display:grid}.checklist-mode button{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);background:var(--surface);border-radius:12px;font-weight:700}.checklist-mode button.selected{border-color:var(--accent);color:#fff;background:var(--accent)}.rating-item{border:0;border-bottom:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:8px 4px;font-size:15px;display:flex}.rating-item small{max-width:55%;color:var(--accent-dark);text-align:right;flex:none;font-size:12px}.checklist-anchor{scroll-margin-top:12px}.prepare-card{text-align:left;border:0;width:100%}.prepare-open-hint{color:var(--accent-dark);font-weight:700}.forecast-card{background:var(--surface);border-radius:22px;padding:14px 18px 4px}.forecast-card h2{margin:0 0 4px}.forecast-card .forecast-row:last-child{border-bottom:0}.season-tip{text-align:left;gap:4px;width:100%;display:grid}.season-tip strong{font-size:17px}.season-tip .card-sub{line-height:1.6}.tip-action{color:var(--accent-dark);justify-self:end;font-size:14px;font-weight:700}
