.flood-simulation-page{--flood-ink:#16382f;--flood-green:#1b6c54;--flood-blue:#287fa3;--flood-red:#c82333;--flood-line:#d5e3dd;color:#263c35}.flood-simulation-header{align-items:start}.flood-simulation-header__actions{display:flex;max-width:390px;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.flood-simulation-header__actions .bousai-button{min-height:38px;padding:.55rem .75rem;font-size:.78rem}.flood-simulation-warning{display:flex;gap:.9rem;align-items:flex-start;margin:0 0 1rem;border:2px solid #dd9d32;border-radius:.8rem;background:#fff8e7;padding:1rem 1.1rem}.flood-simulation-warning>span{display:grid;width:1.7rem;height:1.7rem;flex:0 0 auto;place-items:center;border-radius:50%;background:#b76b10;color:#fff;font-weight:900}.flood-simulation-warning h2{margin:0 0 .25rem;color:#583b0d;font-size:1rem}.flood-simulation-warning p{margin:0;color:#6e5528;font-size:.84rem;line-height:1.75}.flood-simulation-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1.2rem;border:1px solid var(--flood-line);background:#fff}.flood-simulation-facts article{min-height:145px;padding:1rem 1.1rem;border-right:1px solid var(--flood-line)}.flood-simulation-facts article:last-child{border:0}.flood-simulation-facts span{display:block;margin-bottom:.35rem;color:#708079;font-size:.68rem;font-weight:900;letter-spacing:.08em}.flood-simulation-facts strong{display:block;margin-bottom:.35rem;color:var(--flood-ink);font-size:1rem}.flood-simulation-facts p{margin:0;color:#53665f;font-size:.78rem;line-height:1.65}.flood-simulation-lab{margin:0 0 2.2rem;border:1px solid #b8d0c5;border-radius:1.1rem;background:#f4f8f6;box-shadow:0 14px 32px rgb(15 58 42 / .08);overflow:hidden}.flood-simulation-lab__header{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem;background:#fff}.flood-simulation-lab__header h2{margin:.2rem 0 0;color:var(--flood-ink);font-size:1.45rem}.flood-simulation-lab__header>p{margin:0;color:#597067;font-size:.75rem}.flood-simulation-mode{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--flood-line);border-bottom:1px solid var(--flood-line);background:#fff}.flood-simulation-mode button{min-height:54px;border:0;border-right:1px solid var(--flood-line);background:#fff;padding:.6rem;color:#52675f;font:inherit;font-size:.8rem;font-weight:900;cursor:pointer}.flood-simulation-mode button:last-child{border-right:0}.flood-simulation-mode button:hover{background:#f1f7f4}.flood-simulation-mode button.is-active{background:#173f34;color:#fff;box-shadow:inset 0 -4px #6dd0aa}.flood-simulation-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start}.flood-simulation-map-column{min-width:0;padding:1rem}.flood-simulation-map-wrap{position:relative;border:1px solid #b9ccc4;border-radius:.8rem;background:#e7efeb;overflow:hidden}.flood-simulation-map{height:610px;min-height:480px}.flood-simulation-map-legend{position:absolute;z-index:800;bottom:12px;left:12px;width:min(285px,calc(100% - 24px));border:1px solid rgb(25 66 52 / .22);border-radius:.65rem;background:rgb(255 255 255 / .94);padding:.72rem .8rem;box-shadow:0 4px 14px rgb(0 0 0 / .12);backdrop-filter:blur(5px)}.flood-simulation-map-legend strong{display:block;margin-bottom:.38rem;color:var(--flood-ink);font-size:.77rem}.flood-simulation-map-legend ul{display:flex;flex-wrap:wrap;gap:.25rem .65rem;margin:0;padding:0;list-style:none;color:#4a5f57;font-size:.67rem}.flood-simulation-map-legend li{display:flex;gap:.28rem;align-items:center}.flood-simulation-map-legend i{width:.72rem;height:.72rem;flex:0 0 auto;border-radius:.12rem;background:#ccc}.flood-simulation-map-legend i.is-observed{border:2px dashed #c82333;background:rgb(223 48 67 / .28)}.flood-simulation-map-legend i.is-depth-1{background:#f2d36a}.flood-simulation-map-legend i.is-depth-2{background:#f39a43}.flood-simulation-map-legend i.is-depth-3{background:#df5b3e}.flood-simulation-map-legend i.is-depth-4{background:#8c2a69}.flood-simulation-map-legend i.is-down{background:#168b87}.flood-simulation-map-legend i.is-up{background:#71307e}.flood-simulation-map-legend i.is-threshold-low{background:#b62839}.flood-simulation-map-legend i.is-threshold-base{background:#ed7c3b}.flood-simulation-map-legend i.is-threshold-high{background:#5ea99a}.flood-simulation-map-legend small{display:block;margin-top:.42rem;color:#7b6750;font-size:.62rem}.flood-simulation-map-legend[data-mode=observed] [data-legend]:not([data-legend=observed]),.flood-simulation-map-legend[data-mode=simulated] [data-legend]:not([data-legend=simulated]),.flood-simulation-map-legend[data-mode=difference] [data-legend]:not([data-legend=difference]),.flood-simulation-map-legend[data-mode=threshold] [data-legend]:not([data-legend=threshold]){display:none}.flood-simulation-timeline,.flood-simulation-rain-chart{margin-top:.8rem;border:1px solid var(--flood-line);border-radius:.75rem;background:#fff;padding:.85rem 1rem}.flood-simulation-timeline__title,.flood-simulation-rain-chart header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.flood-simulation-timeline__title strong{color:var(--flood-ink);font-size:.92rem}.flood-simulation-timeline__title span,.flood-simulation-rain-chart header p{color:#64776f;font-size:.7rem}.flood-simulation-timeline>input{width:100%;margin:.75rem 0 .55rem;accent-color:var(--flood-blue)}.flood-simulation-playback{display:flex;gap:.42rem;align-items:center}.flood-simulation-playback button,.flood-simulation-playback select{min-height:34px;border:1px solid #b7ccc3;border-radius:.38rem;background:#fff;padding:.35rem .65rem;color:var(--flood-ink);font:inherit;font-size:.72rem;font-weight:800}.flood-simulation-playback button{cursor:pointer}.flood-simulation-playback label{margin-left:auto;color:#667870;font-size:.7rem}.flood-simulation-rain-chart h3{margin:0;color:var(--flood-ink);font-size:.9rem}.flood-simulation-rain-chart canvas{display:block;width:100%;height:220px;margin-top:.45rem}.flood-simulation-controls{position:sticky;top:12px;max-height:calc(100vh - 24px);border-left:1px solid var(--flood-line);background:#fff;overflow:auto}.flood-simulation-controls>details{border-bottom:1px solid var(--flood-line)}.flood-simulation-controls summary{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;background:#fff;padding:1rem;color:var(--flood-ink);font-size:.88rem;font-weight:900}.flood-simulation-controls summary::-webkit-details-marker{display:none}.flood-simulation-controls summary::after{content:'＋';color:#43826d;font-size:1rem}.flood-simulation-controls details[open] summary{border-bottom:1px solid #e3ece8}.flood-simulation-controls details[open] summary::after{content:'−'}.flood-simulation-control-body{display:grid;gap:.9rem;padding:1rem;background:#f8fbfa}.flood-simulation-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.flood-simulation-quick button{min-height:34px;border:1px solid #aacabd;border-radius:.4rem;background:#fff;color:#276d55;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}.flood-simulation-range{display:grid;gap:.38rem}.flood-simulation-range>span{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#53675f;font-size:.74rem}.flood-simulation-range b{color:#294a3e}.flood-simulation-range output{border-radius:999px;background:#e0eee8;padding:.15rem .5rem;color:#17654c;font-size:.69rem;font-weight:900}.flood-simulation-range input{width:100%;accent-color:#197557}.flood-simulation-layer-list{display:grid;gap:.4rem;padding:1rem;background:#f8fbfa}.flood-simulation-layer-list label{display:flex;gap:.5rem;align-items:center;min-height:38px;border:1px solid #d8e5df;border-radius:.45rem;background:#fff;padding:.45rem .6rem;color:#3b5a4e;font-size:.76rem;font-weight:800}.flood-simulation-layer-list input{width:1rem;height:1rem;accent-color:#197557}.flood-simulation-cell{margin:1rem;border:1px solid #b8d4c8;border-radius:.7rem;background:#f4fbf7;padding:.9rem}.flood-simulation-cell h3{margin:.1rem 0 .55rem;color:var(--flood-ink);font-size:.95rem}.flood-simulation-cell dl{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:0}.flood-simulation-cell dl div{border:1px solid #d8e6df;border-radius:.4rem;background:#fff;padding:.45rem}.flood-simulation-cell dt{color:#748078;font-size:.61rem}.flood-simulation-cell dd{margin:.15rem 0 0;color:#214e3e;font-size:.75rem;font-weight:900}.flood-simulation-cell>p:last-child{margin:.6rem 0 0;color:#6f5b3d;font-size:.66rem;line-height:1.55}.flood-simulation-actions{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:1rem}.flood-simulation-actions button{min-height:40px;border:1px solid #b6cec3;border-radius:.42rem;background:#fff;color:#245642;font:inherit;font-size:.69rem;font-weight:900;cursor:pointer}.flood-simulation-actions button:first-child{border-color:#8aab9e;background:#eaf3ef}.flood-simulation-results,.flood-simulation-explain,.flood-simulation-reference,.flood-simulation-sources{margin:0 0 2.3rem}.flood-simulation-results>header h2,.flood-simulation-explain>header h2,.flood-simulation-sources>header h2{margin:.2rem 0 1rem;color:var(--flood-ink);font-size:1.5rem}.flood-simulation-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--flood-line);background:#fff}.flood-simulation-metrics article{min-height:110px;border-right:1px solid var(--flood-line);padding:.9rem}.flood-simulation-metrics article:last-child{border-right:0}.flood-simulation-metrics span{display:block;min-height:34px;color:#6c7974;font-size:.65rem;line-height:1.45}.flood-simulation-metrics strong{display:block;margin-top:.25rem;color:var(--flood-ink);font-size:1.22rem}.flood-simulation-metrics small{color:#8a5a2d;font-size:.65rem}.flood-simulation-analysis{display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:.75rem;margin-top:.75rem}.flood-simulation-analysis>article{border:1px solid var(--flood-line);border-radius:.75rem;background:#fff;padding:1rem}.flood-simulation-analysis h3{margin:0 0 .75rem;color:var(--flood-ink);font-size:.95rem}.flood-simulation-analysis p{color:#617169;font-size:.71rem;line-height:1.55}.flood-simulation-gauge{position:relative;height:14px;border-radius:999px;background:linear-gradient(90deg,#64b899 0 69%,#e2b753 69% 77%,#d86954 77%);overflow:hidden}.flood-simulation-gauge i{position:absolute;left:calc(var(--gauge-value,0%) - 2px);top:-3px;width:4px;height:20px;border-radius:2px;background:#172f28}.flood-simulation-analysis>article>strong{display:block;margin-top:.55rem;color:#245c49}.flood-simulation-water-total{margin:.1rem 0 .6rem}.flood-simulation-water-bars{display:grid;gap:.38rem;margin:0 0 .65rem;padding:0;list-style:none}.flood-simulation-water-bars li{display:grid;grid-template-columns:70px minmax(0,1fr) 78px;gap:.4rem;align-items:center;color:#5a6e65;font-size:.66rem}.flood-simulation-water-bars i{display:block;width:var(--flow-width,2%);height:9px;border-radius:2px;background:#5fa18b}.flood-simulation-water-bars li:nth-child(2) i{background:#4186a2}.flood-simulation-water-bars li:nth-child(3) i{background:#e0ad4c}.flood-simulation-water-bars li:nth-child(4) i{background:#c94e50}.flood-simulation-water-bars b{text-align:right;color:#334f43;font-size:.65rem}.flood-simulation-analysis small{color:#7e6d5b;font-size:.62rem}.flood-simulation-causes{display:grid;gap:.35rem;margin:0}.flood-simulation-causes div{display:flex;justify-content:space-between;gap:.6rem;border-bottom:1px dashed #d8e2de;padding-bottom:.32rem;font-size:.7rem}.flood-simulation-causes dt{color:#60746b}.flood-simulation-causes dd{margin:0;color:#2f5546;font-weight:900}.flood-simulation-explain{border-top:2px solid #9fc6ad;padding-top:1.3rem}.flood-simulation-explain__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--flood-line);background:#fff}.flood-simulation-explain article{position:relative;min-height:210px;border-right:1px solid var(--flood-line);padding:1.15rem}.flood-simulation-explain article:last-child{border:0}.flood-simulation-explain article>span{display:grid;width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;background:#dcece5;color:#1d6b51;font-size:.72rem;font-weight:900}.flood-simulation-explain h3{margin:.7rem 0 .45rem;color:var(--flood-ink);font-size:.94rem}.flood-simulation-explain p{margin:0;color:#52665d;font-size:.78rem;line-height:1.7}.flood-simulation-reference{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.2rem;align-items:start;border:1px solid #e0c3c7;border-radius:1rem;background:#fff8f8;padding:1.25rem}.flood-simulation-reference h2{margin:.25rem 0 .65rem;color:#63232b;font-size:1.35rem}.flood-simulation-reference p,.flood-simulation-reference li{color:#6a5255;font-size:.79rem;line-height:1.7}.flood-simulation-reference ul{padding-left:1.15rem}.flood-simulation-reference figure{margin:0}.flood-simulation-reference img{display:block;width:100%;max-height:520px;border:1px solid #dbc6c9;border-radius:.6rem;background:#fff;object-fit:contain}.flood-simulation-reference figcaption{margin-top:.4rem;color:#80686b;font-size:.64rem}.flood-simulation-sources{border-top:2px solid #9fc6ad;padding-top:1.3rem}.flood-simulation-sources>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.flood-simulation-sources article{border:1px solid var(--flood-line);border-radius:.7rem;background:#fff;padding:1rem}.flood-simulation-sources h3{margin:0 0 .5rem;color:var(--flood-ink);font-size:.93rem}.flood-simulation-sources p,.flood-simulation-sources li{color:#53675e;font-size:.75rem;line-height:1.7}.flood-simulation-sources ul{margin:.3rem 0 .6rem;padding-left:1rem}.flood-simulation-sources a{color:#17684f;font-weight:900}.flood-popup{min-width:205px;color:#29473c;line-height:1.55}.flood-popup strong{display:block;margin-bottom:.25rem}.flood-popup__badge{display:inline-block;border-radius:999px;background:#fbe0e2;padding:.12rem .38rem;color:#a62634;font-size:.62rem;font-weight:900}.flood-popup p{margin:.45rem 0;font-size:.74rem}.flood-popup dl{margin:.4rem 0}.flood-popup dl div{display:flex;justify-content:space-between;gap:.5rem}.flood-popup dd{margin:0;font-weight:900}.flood-depth-note{border:1px solid #9d1c2c!important;background:#fff!important;color:#8c1725!important;font-size:.66rem!important;font-weight:900!important;box-shadow:0 2px 5px rgb(0 0 0 / .12)!important}.leaflet-container{font-family:inherit}
@media(max-width:1050px){.flood-simulation-workspace{grid-template-columns:minmax(0,1fr) 300px}.flood-simulation-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.flood-simulation-metrics article:nth-child(3){border-right:0}.flood-simulation-metrics article:nth-child(-n+3){border-bottom:1px solid var(--flood-line)}.flood-simulation-explain__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flood-simulation-explain article{border-bottom:1px solid var(--flood-line)}.flood-simulation-explain article:nth-child(2n){border-right:0}.flood-simulation-explain article:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:820px){.flood-simulation-header{display:grid;gap:1rem}.flood-simulation-header__actions{max-width:none;justify-content:flex-start}.flood-simulation-facts{grid-template-columns:1fr}.flood-simulation-facts article{min-height:0;border-right:0;border-bottom:1px solid var(--flood-line)}.flood-simulation-workspace{grid-template-columns:1fr}.flood-simulation-controls{position:static;max-height:none;border-top:1px solid var(--flood-line);border-left:0}.flood-simulation-map{height:520px}.flood-simulation-analysis{grid-template-columns:1fr 1fr}.flood-simulation-analysis>article:last-child{grid-column:1/-1}.flood-simulation-reference{grid-template-columns:1fr}.flood-simulation-sources>div{grid-template-columns:1fr 1fr}.flood-simulation-sources article:last-child{grid-column:1/-1}}
@media(max-width:600px){.flood-simulation-header__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.flood-simulation-header__actions .bousai-button{width:100%}.flood-simulation-warning{padding:.85rem}.flood-simulation-mode{grid-template-columns:1fr 1fr}.flood-simulation-mode button:nth-child(2){border-right:0}.flood-simulation-mode button:nth-child(-n+2){border-bottom:1px solid var(--flood-line)}.flood-simulation-lab__header{display:grid;align-items:start;padding:1rem}.flood-simulation-map-column{padding:.65rem}.flood-simulation-map{height:440px;min-height:400px}.flood-simulation-map-legend{bottom:8px;left:8px;width:calc(100% - 16px)}.flood-simulation-timeline__title{display:grid;gap:.15rem}.flood-simulation-playback{flex-wrap:wrap}.flood-simulation-playback label{margin-left:0}.flood-simulation-metrics{grid-template-columns:1fr 1fr}.flood-simulation-metrics article,.flood-simulation-metrics article:nth-child(3){border-right:1px solid var(--flood-line);border-bottom:1px solid var(--flood-line)}.flood-simulation-metrics article:nth-child(2n){border-right:0}.flood-simulation-metrics article:nth-last-child(-n+2){border-bottom:0}.flood-simulation-analysis,.flood-simulation-sources>div{grid-template-columns:1fr}.flood-simulation-analysis>article:last-child,.flood-simulation-sources article:last-child{grid-column:auto}.flood-simulation-explain__grid{grid-template-columns:1fr}.flood-simulation-explain article,.flood-simulation-explain article:nth-child(2n){min-height:0;border-right:0;border-bottom:1px solid var(--flood-line)}.flood-simulation-explain article:last-child{border-bottom:0}.flood-simulation-actions{grid-template-columns:1fr}.flood-simulation-reference{padding:.95rem}}
@media(prefers-reduced-motion:reduce){.flood-simulation-mode button{transition:none}}
.flood-simulation-presets{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.flood-simulation-presets button{display:grid;gap:.08rem;min-height:55px;border:1px solid #97bcad;border-radius:.5rem;background:#fff;padding:.45rem .5rem;color:#205d47;font:inherit;text-align:left;cursor:pointer}.flood-simulation-presets button:last-child{border-color:#79a6ba;background:#f1f8fb;color:#205a72}.flood-simulation-presets strong{font-size:.72rem}.flood-simulation-presets span{font-size:.61rem}.flood-simulation-layer-list label.is-hazard{border-color:#b8c7dc;background:#f7f9fd;color:#315576}.flood-simulation-layer-list label.is-hazard input{accent-color:#326f9a}.flood-simulation-layer-list>p{margin:.25rem 0 0;border-top:1px solid #dce6e1;padding-top:.65rem;color:#6f5b3d;font-size:.65rem;line-height:1.6}.flood-simulation-hazard-context{margin:0 0 2.3rem;border-top:2px solid #9fb9cc;padding-top:1.3rem}.flood-simulation-hazard-context header h2{margin:.2rem 0 1rem;color:var(--flood-ink);font-size:1.5rem}.flood-simulation-hazard-context>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.flood-simulation-hazard-context article{border:1px solid var(--flood-line);border-radius:.75rem;background:#fff;padding:1rem}.flood-simulation-hazard-context article>span{display:inline-block;border-radius:999px;padding:.18rem .5rem;font-size:.64rem;font-weight:900}.flood-simulation-hazard-context span.is-flood{background:#dfe9f6;color:#245d87}.flood-simulation-hazard-context span.is-inner{background:#dff2f4;color:#176b73}.flood-simulation-hazard-context span.is-model{background:#e4f0e8;color:#246548}.flood-simulation-hazard-context h3{margin:.65rem 0 .4rem;color:var(--flood-ink);font-size:.94rem}.flood-simulation-hazard-context p{margin:0;color:#53675e;font-size:.76rem;line-height:1.7}.flood-simulation-hazard-context a{display:inline-block;margin-top:.7rem;color:#17684f;font-size:.74rem;font-weight:900}@media(max-width:820px){.flood-simulation-hazard-context>div{grid-template-columns:1fr}}
