@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#092d3b;--navy2:#134756;--ink:#17323c;--muted:#647880;--cyan:#087f91;--lime:#b6ed80;--border:#dce6e8;--paper:#f3f7f8;--white:#fff;--orange:#e79b55;--yellow:#e2cf59;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);font-size:16px;background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--cyan);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2395b4;outline-offset:3px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprite{display:none}.app-shell{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.rail{background:var(--navy);color:white;padding:34px 20px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:900}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:26px;font-weight:700;letter-spacing:-1px}.brand-mark{display:flex;align-items:center;justify-content:center;width:43px;height:48px;background:var(--lime);color:var(--navy);border-radius:12px 12px 12px 3px}.brand-mark svg{width:30px;height:30px;stroke-width:2.2}.brand-state{display:block;font-size:12px;letter-spacing:4.2px;color:#a5c5cd;margin-top:0px}.rail nav{margin-top:51px;display:grid;gap:10px}.nav-item{display:flex;align-items:center;gap:12px;color:#a9c7cf;background:none;border:0;border-radius:9px;padding:15px 13px;text-align:left;font-size:15px;font-weight:500}.nav-item.active{color:var(--navy);background:var(--lime);font-weight:700}.nav-item:hover:not(.active){background:var(--navy2);color:white}.rail-bottom{margin-top:auto;padding:28px 12px 0}.rail-bottom p{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;line-height:1.13;letter-spacing:.2px}.rail-bottom a{color:#a9c7cf;font-size:13px;line-height:1.6;display:block}.preview-badge{display:inline-block;margin-top:20px;border:1px solid #42646f;font-size:12px;letter-spacing:1px;border-radius:4px;padding:5px 7px;color:#b7d0d7}main{min-width:0}.topbar{height:112px;display:flex;justify-content:space-between;align-items:center;padding:0 34px;background:white;border-bottom:1px solid var(--border);gap:15px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--cyan)}h1{margin:5px 0 0;font-size:30px;letter-spacing:-1px;font-weight:700}h2{margin:6px 0 9px;font-size:28px;letter-spacing:-.8px}h3{font-size:21px;letter-spacing:-.4px;margin:12px 0}p{line-height:1.6}button{border:0}.source-button{border:1px solid var(--border);background:white;border-radius:7px;display:flex;align-items:center;gap:8px;padding:10px 13px;font-size:14px;color:var(--ink)}.view{display:none}.view.active{display:block}.explore-layout{display:grid;grid-template-columns:295px minmax(0,1fr);gap:0}.lake-directory{background:#fff;border-right:1px solid var(--border);padding:25px 18px;min-height:calc(100vh - 112px)}.search{height:47px;border:1px solid #cadadd;border-radius:8px;display:flex;align-items:center;padding:0 11px;gap:9px;color:var(--muted);background:#f7fafb}.search input{width:100%;min-width:0;border:0;background:transparent;outline:none;color:var(--ink);font-size:14px}.directory-caption{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:14px 0 18px;font-size:12px;color:var(--muted)}.text-button{padding:4px 0;color:var(--cyan);background:transparent;font-size:14px}.chips{display:flex;gap:7px;margin-bottom:17px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:white;border-radius:20px;font-size:12px;padding:7px 9px;color:var(--muted)}.chip.active{background:#e3f3f4;color:#0b6677;border-color:#a8d4db}.lake-list{display:grid;gap:9px;max-height:calc(100vh - 350px);min-height:340px;overflow:auto;padding-right:2px}.lake-card{display:block;width:100%;text-align:left;padding:15px 13px;border:1px solid var(--border);border-radius:9px;background:white;color:var(--ink);position:relative}.lake-card.active{border:1.5px solid var(--cyan);background:#eff8fa}.lake-card:hover{border-color:#70b4c0;background:#f5fbfc}.lake-card-top{display:flex;gap:7px;align-items:center;justify-content:space-between}.lake-card strong{font-size:16px;line-height:1.25}.lake-card .location{display:block;font-size:12px;margin:6px 0 12px;line-height:1.5;color:var(--muted)}.lake-tags{display:flex;gap:7px;flex-wrap:wrap}.tag{font-size:12px;color:#457080;background:#eef4f6;padding:3px 5px;border-radius:4px}.active .tag{background:white}.card-icon{color:var(--cyan);width:17px;height:17px}.directory-note{display:flex;gap:8px;font-size:12px;color:var(--muted);line-height:1.5;margin-top:23px}.directory-note svg{width:17px;height:17px;margin-top:2px}.lake-workspace{padding:24px 26px;min-width:0}.map-wrap{height:440px;border-radius:12px;overflow:hidden;position:relative;border:1px solid #bdd0d6;background:#ddebee}#map{height:100%;width:100%;background:#ddebee}.leaflet-container{font-family:inherit}.map-toolbar{position:absolute;left:15px;right:15px;top:15px;z-index:500;display:flex;gap:9px;justify-content:space-between;pointer-events:none}.map-toolbar>*{pointer-events:auto}.activity-label{background:white;border:1px solid #d9e3e8;border-radius:8px;padding:6px 12px;box-shadow:0 2px 10px #13374712;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.activity-label select{border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:600;max-width:160px;min-height:30px}.map-button{display:flex;gap:8px;align-items:center;border:1px solid #d9e3e8;background:white;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:14px;box-shadow:0 2px 10px #13374712}.layers-trigger{position:absolute;top:80px;right:15px;z-index:500;display:flex;align-items:center;gap:7px;border-radius:7px;background:white;padding:9px 11px;font-size:14px;color:var(--ink);box-shadow:0 2px 9px #13374720}.layer-panel{position:absolute;top:128px;right:15px;z-index:500;border-radius:8px;background:#fffffff2;padding:13px 12px;box-shadow:0 3px 12px #13374720;width:220px}.layer-panel.hidden{display:none}.layer-panel label{display:flex;align-items:center;gap:7px;font-size:13px;padding:6px 0;color:var(--ink)}.layer-panel input{accent-color:var(--cyan);width:15px;height:15px;margin:0 3px 0 0}.legend-icon{width:13px;display:inline-block;text-align:center}.ramp{color:#057f97}.buoy{color:#d27833}.depth{color:#326ab8}.legend-swatch{width:15px;height:9px;border-radius:2px}.band200{background:#e79b5590;border:1px solid #cf8c40}.band300{background:#e2cf5990;border:1px solid #c2ad2b}.layer-panel p{margin:8px 0 0;font-size:12px;line-height:1.4;color:var(--muted)}.map-message{position:absolute;z-index:500;left:15px;bottom:37px;background:#fffef5ee;color:#5f592c;border:1px solid #ddd5a1;border-radius:6px;font-size:12px;padding:7px 10px;max-width:calc(100% - 100px);display:none}.map-message.visible{display:block}.inspect-hint{position:absolute;z-index:500;left:15px;bottom:12px;color:var(--ink);background:#fffffff0;border-radius:5px;padding:5px 8px;font-size:12px;max-width:calc(100% - 170px)}.leaflet-control-zoom{margin-top:82px!important}.leaflet-control-attribution{font-size:10px!important}.ramp-marker{background:#067c91;color:white;border:2px solid white;border-radius:7px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #173f5440}.ramp-marker svg{width:17px;height:17px}.buoy-marker{background:#fff8ec;border:1.5px solid #bf6c2e;border-radius:4px;color:#bf6c2e;font-size:14px;text-align:center;line-height:19px;box-shadow:0 1px 3px #1112}.leaflet-popup-content{font-size:14px;line-height:1.5;min-width:200px}.leaflet-popup-content p{margin:7px 0}.leaflet-popup-content a{color:var(--cyan)}.lake-detail{margin-top:22px;background:white;border:1px solid var(--border);border-radius:11px;padding:25px}.detail-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.detail-heading h2{margin:5px 0 4px;font-size:27px}.muted{color:var(--muted);font-size:14px;line-height:1.6}.detail-heading p{margin:0;max-width:650px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #bdd3d9;background:white;padding:10px 13px;border-radius:7px;color:var(--cyan);text-decoration:none;font-size:14px;white-space:nowrap}.rule-strip{display:grid;grid-template-columns:repeat(3,1fr);border-radius:8px;background:#f0f6f7;margin-top:21px;padding:17px 12px;gap:12px}.rule-strip>div{display:flex;align-items:center;gap:10px;border-right:1px solid #d4e2e5;padding-right:10px}.rule-strip>div:last-child{border:0}.rule-number{font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:700;color:var(--navy);white-space:nowrap}.rule-number>span{font-size:17px}.rule-strip>div>span:last-child{font-size:12px;font-weight:600;line-height:1.4}.rule-strip small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}.activity-note{font-size:12px;color:var(--muted);margin:10px 1px 17px;line-height:1.5}.detail-tabs{display:flex;gap:25px;border-bottom:1px solid var(--border)}.detail-tabs button{border-bottom:2px solid transparent;padding:11px 0;background:none;font-size:14px;color:var(--muted);font-weight:500}.detail-tabs button.active{border-bottom-color:var(--cyan);color:var(--cyan)}#detail-body{padding-top:18px}.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-card{border:1px solid var(--border);border-radius:7px;padding:15px}.access-card h3{font-size:16px;margin:0 0 7px}.access-card p{font-size:12px;color:var(--muted);margin:4px 0;line-height:1.5}.access-card button{margin-top:10px}.access-meta{display:flex;gap:12px;flex-wrap:wrap}.empty-note{font-size:14px;color:var(--muted);background:#f7fafb;border-radius:7px;padding:17px;line-height:1.6}.depth-summary{display:flex;gap:15px;align-items:flex-start;flex-wrap:wrap}.depth-summary>div{flex:1;min-width:200px}.depth-summary h3{font-size:17px;margin-top:0}.depth-summary p{font-size:14px;color:var(--muted)}.content-view{padding:32px 38px 55px;max-width:1320px;margin:auto}.feature-banner{background:#e0f0f3;border-radius:13px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.feature-banner h2{font-size:43px;line-height:1.12;letter-spacing:-1.6px}.feature-banner p{color:#476671;max-width:550px}.banner-icon{width:130px;height:130px;color:#218094;stroke-width:.8;margin-right:35px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.content-card{border:1px solid var(--border);background:white;border-radius:10px;padding:25px;margin-bottom:20px}.content-card p{font-size:15px;color:#536a75}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.count-pill{padding:5px 10px;color:var(--cyan);border-radius:20px;font-size:13px;background:#e3f3f4}.check-item{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--border);font-size:15px;line-height:1.4;align-items:flex-start}.check-item input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--cyan);flex-shrink:0}.check-item:has(input:checked){color:#64828c}.checklist-card .text-button{margin-top:17px}.inline-link{font-size:14px}.emergency-card{border:1px solid #e1c9b0;background:#fff8ef;border-radius:10px;display:flex;gap:15px;align-items:center;padding:22px}.emergency-card svg{color:#ab632d;width:27px;height:27px}.emergency-card h3{font-size:18px;margin:0}.emergency-card p{font-size:14px;color:#77604e;margin:5px 0}.emergency-card>div{flex:1}.section-intro{margin:5px 0 30px}.section-intro h2{font-size:38px}.section-intro p{color:var(--muted)}.law-cards{display:grid;gap:18px}.law-card{display:grid;grid-template-columns:130px 1fr;gap:27px;background:white;border:1px solid var(--border);border-radius:10px;padding:25px}.law-value{font-family:'Barlow Condensed',sans-serif;font-size:56px;line-height:1.05;color:var(--cyan);display:block;border-right:1px solid var(--border);padding-right:15px}.law-value small{font-size:26px}.law-value svg{width:65px;height:65px;stroke-width:1}.law-card h3{margin:6px 0 9px}.law-card p{font-size:15px;color:#536a75;margin-top:0}.law-card a{display:inline-block;font-size:14px;margin-right:18px}.notice{display:flex;align-items:flex-start;gap:12px;margin-top:25px;background:#e9f0f2;border-radius:8px;padding:17px}.notice p{font-size:13px;color:var(--muted);margin:0}.notice svg{width:20px;height:20px}.mwsc-banner{background:var(--navy);color:white;border-radius:13px;padding:45px}.mwsc-banner .eyebrow{color:#9cbdc6}.mwsc-banner h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:66px;line-height:.99;letter-spacing:-1px;margin:22px 0}.mwsc-banner h2 em{font-style:normal;color:var(--lime)}.mwsc-banner p{max-width:650px;color:#b9d1d7;font-size:17px}.lime-button{display:inline-block;padding:13px 20px;background:var(--lime);color:var(--navy);border-radius:7px;font-size:15px;font-weight:600;text-decoration:none;margin-top:12px}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:30px 3px 5px}.mission-grid span{font-size:12px;letter-spacing:1.4px;color:var(--cyan);font-weight:700}.mission-grid h3{font-size:23px;line-height:1.2}.mission-grid p{font-size:15px;color:#536a75}.link-list{display:grid;gap:0}.link-list a{display:block;padding:12px 0;border-bottom:1px solid var(--border);font-size:15px}.link-list a:last-child{border:0}.event-card{background:#e0f0f3}.event-card h3{font-family:'Barlow Condensed',sans-serif;font-size:37px}.event-card .secondary-button{margin-top:10px}dialog{border:1px solid var(--border);border-radius:14px;padding:28px;max-width:680px;width:calc(100% - 32px);max-height:85vh;color:var(--ink);box-shadow:0 20px 80px #102f4d44}dialog::backdrop{background:#092d3b88}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.dialog-heading h2{font-size:26px}.icon-button{display:flex;align-items:center;justify-content:center;background:#edf3f5;border-radius:50%;width:36px;height:36px;color:var(--ink)}dialog p{font-size:14px;color:var(--muted)}.source-list dt{font-size:15px;font-weight:700;margin-top:18px}.source-list dd{font-size:14px;color:#566f7a;line-height:1.6;margin:5px 0 0}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--navy);color:white;max-width:calc(100% - 30px);padding:13px 19px;border-radius:9px;box-shadow:0 5px 30px #0003;font-size:14px;z-index:2000;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.error-box{padding:18px;border:1px solid #e8ba9e;border-radius:8px;color:#8c4a27;font-size:14px}
@media(min-width:1550px){.map-wrap{height:510px}.lake-list{max-height:650px}.lake-workspace{padding:28px 32px}.explore-layout{grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:1190px){.app-shell{grid-template-columns:182px 1fr}.rail{padding:28px 13px}.brand{font-size:22px;gap:8px}.brand-mark{width:37px;height:43px}.nav-item{gap:9px;padding:13px 10px;font-size:14px}.rail-bottom{padding-left:8px}.rail-bottom p{font-size:22px}.topbar{padding:0 25px}.explore-layout{grid-template-columns:245px 1fr}.lake-directory{padding:20px 13px}.lake-workspace{padding:20px 18px}.rule-strip{gap:10px;padding:13px 10px}.rule-strip>div{display:block}.rule-strip>div>span{display:block}.rule-strip small{font-size:11px}.source-button{font-size:13px}.detail-heading{align-items:flex-start}.detail-heading .secondary-button{padding:9px}.detail-heading .secondary-button span{display:none}.access-grid{grid-template-columns:1fr}.content-view{padding:28px}.feature-banner h2{font-size:35px}.banner-icon{margin:0;width:95px}.mwsc-banner h2{font-size:56px}}
@media(max-width:850px){.app-shell{display:block;padding-bottom:78px}.rail{height:auto;position:static;padding:17px 20px;display:block}.brand{font-size:24px;gap:11px}.brand-state{font-size:10px}.brand-mark{height:41px;width:39px}.rail nav{position:fixed;bottom:0;left:0;right:0;height:74px;display:grid;grid-template-columns:repeat(4,1fr);margin:0;gap:0;background:var(--navy);padding:5px 4px;z-index:1000;box-shadow:0 -3px 12px #0001;padding-bottom:max(5px,env(safe-area-inset-bottom))}.nav-item{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;font-size:12px;padding:7px 4px;border-radius:8px}.nav-item svg{height:21px;width:21px}.rail-bottom{display:none}.topbar{height:94px;padding:0 20px}h1{font-size:25px}.eyebrow{font-size:11px;letter-spacing:1.1px}.source-button{padding:8px}.source-button span{display:none}.explore-layout{display:flex;flex-direction:column}.lake-directory{min-height:0;border-right:0;padding:15px 20px 8px;display:grid;grid-template-columns:1fr auto;gap:10px 12px}.search{grid-column:1/-1;height:44px}.search input{font-size:16px}.directory-caption{margin:0;grid-column:1;align-items:center}.directory-caption #reset-search{display:none}.chips{margin:0;grid-column:2;flex-wrap:nowrap;gap:5px}.chip{padding:6px 8px;font-size:12px}.lake-list{display:flex;overflow-x:auto;max-height:initial;min-height:0;grid-column:1/-1;padding:4px 0 9px;gap:9px}.lake-card{min-width:205px;width:205px;padding:12px;flex-shrink:0}.lake-card .location{margin-bottom:8px}.lake-card strong{font-size:15px}.directory-note{display:none}.lake-workspace{padding:8px 16px 22px}.map-wrap{height:400px}.map-toolbar{left:10px;right:10px;top:10px;gap:6px}.activity-label{padding:4px 7px;gap:4px}.activity-label>select{font-size:13px;max-width:125px}.map-button{padding:8px}.map-button span{display:none}.layer-panel{top:109px;right:10px;width:205px;padding:9px 11px}.layers-trigger{top:64px;right:10px;font-size:13px;padding:8px}.layer-panel label{font-size:12px;padding:5px 0}.layer-panel p{font-size:11px}.leaflet-control-zoom{margin-top:66px!important}.inspect-hint{font-size:11px;max-width:calc(100% - 50px);bottom:25px}.map-message{bottom:55px;max-width:calc(100% - 30px);font-size:11px}.lake-detail{padding:20px 15px;margin-top:16px}.detail-heading h2{font-size:24px}.detail-heading p{font-size:12px}.rule-strip{margin-top:17px;padding:10px;gap:8px}.rule-number{font-size:32px}.rule-strip>div>span:last-child{font-size:11px}.rule-strip small{font-size:10px}.detail-tabs{gap:20px}.detail-tabs button{font-size:13px}.content-view{padding:20px 18px 25px}.feature-banner{padding:25px}.feature-banner h2{font-size:32px}.feature-banner p{font-size:14px}.banner-icon{display:none}.content-grid{grid-template-columns:1fr;gap:0;margin-top:20px}.content-card{padding:21px}.emergency-card{flex-wrap:wrap;padding:18px}.emergency-card .secondary-button{margin-left:40px}.section-intro h2{font-size:30px}.law-card{grid-template-columns:70px 1fr;gap:16px;padding:20px 16px}.law-value{font-size:36px;padding-right:10px}.law-value small{font-size:19px}.law-value svg{width:40px;height:40px}.law-card p{font-size:14px}.law-card h3{font-size:19px}.law-card a{font-size:13px;margin-top:5px}.mwsc-banner{padding:28px 23px}.mwsc-banner h2{font-size:48px}.mwsc-banner p{font-size:15px}.mission-grid{grid-template-columns:1fr;gap:14px;padding-top:25px}.mission-grid article{border-bottom:1px solid var(--border)}.mission-grid h3{font-size:22px}.toast{bottom:90px}.access-grid{grid-template-columns:1fr}.access-card p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.rule-strip>div>span:last-child{font-size:14px}.rule-strip small{font-size:12px}.layer-panel label{font-size:14px}.layer-panel{width:230px}.chip{font-size:13px}.detail-tabs button{font-size:14px}.inspect-hint,.map-message{font-size:12px}
@media(max-width:850px){.rule-strip>div>span:last-child{font-size:12px}.rule-strip small{font-size:12px}.layer-panel{width:220px}.layer-panel label{font-size:14px}.layer-panel p{font-size:12px}.eyebrow{font-size:12px}.chips{flex-wrap:wrap}.lake-directory{grid-template-columns:1fr}.directory-caption{grid-column:1}.chips{grid-column:1}.map-message{max-width:calc(100% - 30px)}}
/* Touch and viewport refinements keep the existing brand palette and layout. */
html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{overflow-wrap:anywhere}
button:disabled{opacity:.55;cursor:wait}.map-wrap{scroll-margin-top:12px}
.source-button,.secondary-button,.map-button,.layers-trigger,.icon-button,.chip,.detail-tabs button,.text-button{min-height:44px}
.icon-button{width:44px;height:44px}.detail-tabs button{white-space:nowrap}
.detail-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.layer-panel label{min-height:44px}.layer-panel input{width:20px;height:20px;flex-shrink:0}
.layer-panel{max-height:calc(100% - 148px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.leaflet-popup-content-wrapper{max-width:calc(100vw - 48px)}.leaflet-popup-content{max-height:46vh;max-height:46svh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.leaflet-popup-content{max-width:calc(100vw - 112px);min-width:min(200px,calc(100vw - 112px))}
.leaflet-container a.leaflet-popup-close-button{width:44px;height:44px;line-height:44px}.leaflet-popup-content{margin-right:30px}
.leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important}
.leaflet-control-attribution{max-width:calc(100% - 10px);overflow-wrap:anywhere}
dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100svh - 32px)}
body:has(dialog[open]){overflow:hidden}.dialog-heading{position:sticky;top:-28px;z-index:2;background:#fff;padding-top:5px;padding-bottom:8px}
.check-item{min-height:48px;cursor:pointer}.check-item input{width:22px;height:22px}
.activity-label select{min-height:36px;font-size:16px}.search input{font-size:16px}
@media(max-width:850px){
 .app-shell{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
 .rail{padding-top:calc(17px + env(safe-area-inset-top,0px));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .rail nav{height:calc(74px + env(safe-area-inset-bottom,0px));padding-bottom:calc(5px + env(safe-area-inset-bottom,0px));padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}
 .nav-item{min-height:54px}.nav-item span{font-size:12px}
 main{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
 .topbar{height:auto;min-height:94px;padding-top:16px;padding-bottom:16px}.topbar>div{min-width:0}h1{font-size:24px;line-height:1.15}.source-button{flex-shrink:0;width:44px;justify-content:center}
 .search{margin:0;height:48px}.chips{gap:7px}.chip{min-height:44px;padding:8px 12px;font-size:13px}.directory-caption #reset-search{display:inline-block}
 .lake-list{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.lake-card{scroll-snap-align:start;min-width:210px}
 .map-wrap{height:clamp(330px,52svh,480px)}.map-toolbar{align-items:flex-start}.activity-label{min-height:44px;padding:3px 8px;gap:5px}.activity-label select{font-size:16px;max-width:148px}.map-button{width:44px;height:44px;justify-content:center}
 .layers-trigger{top:64px;min-height:44px}.layer-panel{top:117px;max-height:calc(100% - 155px);padding:8px 12px;width:230px}.layer-panel label{font-size:14px}
 .rule-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rule-strip>div{min-width:0;padding-right:8px}.rule-number{font-size:32px}
 .detail-heading>div{min-width:0}.detail-heading .secondary-button{min-width:44px;height:44px;flex-shrink:0}.detail-tabs{gap:22px}.detail-tabs button{font-size:14px;min-height:48px}
 .content-card{min-width:0}.content-grid>*{min-width:0}.content-card a,.source-list a{overflow-wrap:anywhere}.law-card{grid-template-columns:64px minmax(0,1fr)}
 .toast{bottom:calc(86px + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(100% - 30px)}
 .keyboard-open .rail nav{visibility:hidden;pointer-events:none}.keyboard-open .toast{bottom:15px}
 dialog{padding:22px;width:calc(100% - 24px);max-height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)}.dialog-heading{top:-22px}
}
@media(max-width:850px) and (orientation:landscape){.map-wrap{height:360px}.rail{padding-top:12px;padding-bottom:12px}.topbar{min-height:78px}.lake-list{max-height:135px}}
@media(max-width:360px){.activity-label{gap:2px;padding:3px 5px}.activity-label select{max-width:136px}.map-toolbar{gap:4px}.rule-strip{gap:5px;padding:10px 7px}.rule-number{font-size:28px}.rule-strip small{font-size:12px}.mwsc-banner h2{font-size:42px}}

/* Reference agreement: independent of native dialog support. */
.agreement-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:rgba(9,45,59,.72);padding:24px;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:auto}
.agreement-overlay[hidden],.startup-recovery[hidden]{display:none}
.agreement-card{width:100%;max-width:520px;background:#fff;border-radius:20px;padding:28px;max-height:calc(100vh - 48px);max-height:calc(100svh - 48px);overflow:auto;overscroll-behavior:contain;box-shadow:0 22px 70px rgba(0,0,0,.2)}
.agreement-card h2{color:#092d3b;font-size:27px;line-height:1.2;margin:12px 0 18px}.agreement-card p{line-height:1.55}.agreement-check{display:flex;align-items:flex-start;gap:12px;margin:24px 0 20px;line-height:1.5;cursor:pointer}.agreement-check input{flex-shrink:0;width:22px;height:22px;accent-color:#087f91;margin-top:1px}.agreement-card .lime-button{width:100%;min-height:48px;border:0;cursor:pointer}.agreement-card .lime-button:disabled{opacity:.45;cursor:default}.agreement-session{font-size:12px;margin-bottom:0}.agreement-open{overflow:hidden}.agreement-open .app-shell{pointer-events:none;user-select:none}.startup-recovery{position:relative;z-index:1100;background:#fff5df;color:#092d3b;padding:16px 24px;line-height:1.5}
@media(max-width:480px){.agreement-card{padding:22px;border-radius:16px}.agreement-card h2{font-size:24px}}
