:root{--sm-ink:#18333a;--sm-blue:#173b4b;--sm-deep:#0c2835;--sm-cyan:#297e9b;--sm-cream:#f3f5f2;--sm-line:#d8e3e4;--sm-muted:#57717a}
.smoke-tool{background:#f4f7f6;color:var(--sm-ink);font-family:Arial,Helvetica,sans-serif;overflow:hidden;line-height:1.5;min-height:100vh}
.smoke-tool *{box-sizing:border-box}.smoke-tool h1,.smoke-tool h2,.smoke-tool h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.035em;line-height:1.15}.smoke-tool h1,.smoke-tool h2,.smoke-tool h3,.smoke-tool p{margin-top:0}.smoke-tool button,.smoke-tool select{font:inherit}.smoke-wrap{max-width:1190px;margin:0 auto;padding-left:24px;padding-right:24px}
.smoke-header{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:16px;background:#f4f7f6}.smoke-header a{text-decoration:none}.smoke-brand{font-weight:800;font-size:12px;letter-spacing:.13em;color:#204553}.smoke-brand span{color:#397e97}.smoke-header nav{display:flex;gap:22px;flex-wrap:wrap}.smoke-header nav a{color:#45616b;font-size:13px;font-weight:700}.smoke-header nav a:hover,.smoke-tool a:hover{text-decoration:underline}
.smoke-hero{position:relative;background:linear-gradient(102deg,#11323f,#224960 55%,#82949c);color:#fff;min-height:320px;overflow:hidden;isolation:isolate}.smoke-hero-content{position:relative;padding-top:51px;padding-bottom:53px;z-index:2}.smoke-overline{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:800;color:#bbdce5}.smoke-overline.dark{color:#2c7188}.smoke-hero h1{font-size:clamp(40px,5.4vw,72px);max-width:760px;margin:16px 0 13px;line-height:1.08}.smoke-hero em{font-weight:400;color:#ccf0f0}.smoke-hero p{font-size:17px;line-height:1.65;max-width:630px;color:#ecf4f4}.smoke-hero-pills{display:flex;gap:8px;flex-wrap:wrap}.smoke-hero-pills span{font-size:12px;border:1px solid #ffffff59;border-radius:99px;background:#244a5db0;padding:6px 12px;color:#e5f3f6}
.smoke-hero-art{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}.smoke-sun{position:absolute;right:20%;top:16%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#e6dcc5a8,#bbced147 55%,transparent 72%);filter:blur(10px)}.smoke-horizon{position:absolute;right:-4%;left:37%;bottom:0;height:46%;background:linear-gradient(#a1b8ba1a 0%,#d3dfd340 10%,#7797a472 15%,#44657b55 40%,#102f43 93%);transform:skewX(-8deg)}.smoke-mist{position:absolute;right:-10%;height:72px;width:70%;background:radial-gradient(ellipse at center,#e6f7efa6,transparent 70%);filter:blur(22px);opacity:.6;transform:rotate(-4deg)}.smoke-mist.one{bottom:24%}.smoke-mist.two{bottom:9%;right:8%;opacity:.37}.smoke-mist.three{bottom:35%;right:-20%;opacity:.29}
.smoke-status-strip{display:flex;justify-content:space-between;gap:22px;background:#fff;border:1px solid var(--sm-line);border-radius:13px;margin:24px 0 34px;padding:22px 25px;box-shadow:0 10px 35px #2346530b}.smoke-status-strip small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--sm-muted);font-weight:800}.smoke-status-strip h2{font-size:25px;margin:6px 0}.smoke-status-strip p{color:var(--sm-muted);font-size:14px;max-width:740px;margin:0}.smoke-updated{text-align:right;white-space:nowrap;align-self:center}.smoke-updated span{display:block;color:#22738e;font-family:Georgia,serif;font-size:38px;line-height:1.2}.smoke-updated small{font-size:10px;margin-top:5px}
.smoke-section-line{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.smoke-section-line h2{font-size:clamp(27px,3vw,36px);margin:5px 0 0}.smoke-section-line p{max-width:430px;margin:0;color:var(--sm-muted);font-size:13px}.smoke-top,.smoke-explore,.smoke-detail,.smoke-science,.smoke-faq{margin-bottom:54px;scroll-margin-top:20px}.smoke-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.smoke-top-card{background:white;border:1px solid var(--sm-line);border-radius:12px;padding:18px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:9px;min-width:0;color:var(--sm-ink)}.smoke-top-card:hover,.smoke-top-card:focus-visible{border-color:#4f9aad;box-shadow:0 8px 25px #23465316}.smoke-top-kicker{font-size:11px;letter-spacing:.09em;color:#66818b;font-weight:800;text-transform:uppercase}.smoke-top-card>strong{font:700 22px Georgia,serif}.smoke-top-card>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.smoke-top-card>small{color:var(--sm-muted);font-size:12px}
.smoke-tone{display:inline-flex;align-items:center;justify-content:center;padding:6px 11px;border-radius:20px;white-space:nowrap;font-size:11px;font-weight:800;background:#e6ecee;color:#5b7380}.smoke-tone.strong{color:#196249;background:#e0f3e9}.smoke-tone.possible{color:#80601b;background:#fbf1d9}.smoke-tone.low{color:#676c72;background:#e8edee}.smoke-score{font:700 38px Georgia,serif;color:#1d637b;white-space:nowrap}.smoke-score small{font:500 12px Arial,sans-serif;color:#738990;margin-left:2px}
.smoke-explore-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.95fr);gap:16px;align-items:stretch}.smoke-map-wrap{position:relative;min-height:490px;border-radius:12px;overflow:hidden;border:1px solid #d0dfe0;background:#dce9ec}.smoke-map{width:100%;height:490px;z-index:0}.smoke-map-loading,.smoke-map-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffef0e8;padding:12px 20px;border-radius:9px;z-index:400;text-align:center;font-size:13px}.smoke-map-legend{position:absolute;left:13px;bottom:12px;z-index:401;background:#fffffff2;border:1px solid #dae6e8;border-radius:9px;display:flex;gap:13px;flex-wrap:wrap;padding:9px 12px;max-width:calc(100% - 26px);font-size:11px}.smoke-map-legend span{display:flex;align-items:center;gap:6px}.smoke-map-legend i{display:inline-block;border-radius:50%;height:9px;width:9px;background:#8ea5b1}.smoke-map-legend i.strong{background:#1d8a67}.smoke-map-legend i.possible{background:#e2a735}
.smoke-map-pin{display:block;width:19px;height:19px;border:3px solid white;border-radius:50%;background:#899ca8;box-shadow:0 1px 8px #17445e75;transition:transform .15s}.smoke-map-pin.strong{background:#1e9570}.smoke-map-pin.possible{background:#e5b446}.smoke-map-pin.low{background:#8d9a9d}.smoke-map-pin.active{transform:scale(1.36);outline:2px solid #163948;outline-offset:3px}.smoke-map-marker{background:transparent;border:0}
.smoke-sidebar{background:#fff;border:1px solid var(--sm-line);border-radius:12px;min-width:0;display:flex;flex-direction:column}.smoke-sidebar-heading{padding:18px 18px 11px}.smoke-sidebar-heading h3{font-size:21px;margin:0 0 12px}.smoke-sidebar-heading label{font-size:12px;color:var(--sm-muted);margin-right:10px}.smoke-sidebar select{border:1px solid #bdd0d4;border-radius:7px;padding:6px 9px;background:white;color:#23424c;font-size:12px;max-width:100%}.smoke-location-list{overflow-y:auto;max-height:400px;flex:1;padding:3px 9px 11px}.smoke-location{width:100%;padding:11px 10px;border:1px solid transparent;border-radius:8px;background:white;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px;cursor:pointer;color:#173b4b}.smoke-location:hover{background:#f2f8f8}.smoke-location.selected{background:#e6f2f5;border-color:#9bcbd6}.smoke-location strong,.smoke-location small{display:block}.smoke-location strong{font-size:13px}.smoke-location small{font-size:11px;color:#6b8085;line-height:1.4;margin-top:2px}.smoke-location-score{font:700 21px Georgia,serif;color:#296a81}
.smoke-detail-grid{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:16px}.smoke-panel{border:1px solid var(--sm-line);background:white;border-radius:12px;padding:22px;min-width:0}.smoke-label{font-size:11px;color:#5a7982;text-transform:uppercase;font-weight:800;letter-spacing:.1em}.smoke-result{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e1ebed;padding:13px 0 18px}.smoke-result .smoke-score{font-size:61px}.smoke-result span{font-weight:800;text-align:right}.smoke-result span small{display:block;font-weight:400;color:#637a81;font-size:12px}.smoke-panel>p{font-size:13px;color:#607982;line-height:1.65;margin:17px 0}.smoke-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.smoke-metrics>div{background:#f0f6f7;border-radius:9px;padding:12px}.smoke-metrics small{display:block;font-size:11px;color:#607982}.smoke-metrics strong{font:700 25px Georgia,serif;color:#16465a}.smoke-small{font-size:11px!important}.smoke-panel .smoke-warning{color:#946336;border-left:3px solid #dfa549;padding-left:10px}.smoke-view-note{border-top:1px solid #e3ebed;padding-top:14px}
.smoke-panel h3{font-size:23px;margin:7px 0 15px}.smoke-chart-day{display:grid;grid-template-columns:115px minmax(60px,1fr) 65px;gap:8px 10px;align-items:center;padding:10px 0;border-bottom:1px solid #e5eeef}.smoke-chart-label strong,.smoke-chart-label span{display:block}.smoke-chart-label strong{font-size:13px}.smoke-chart-label span{font-size:11px;color:#6a838c}.smoke-chart-track{height:12px;border-radius:9px;background:#e8f0f1;overflow:hidden}.smoke-chart-fill{height:100%;background:#829ca6;border-radius:9px;min-width:1px}.smoke-chart-fill.strong{background:#219474}.smoke-chart-fill.possible{background:#d7ad47}.smoke-chart-number{font:700 23px Georgia,serif;text-align:right;color:#245d72}.smoke-chart-number small{font:11px Arial,sans-serif;color:#83979b}.smoke-chart-note{grid-column:2/4;color:#5c7981;font-size:11px}.smoke-chart-foot{margin:13px 0 0;font-size:11px;color:#70858b}.smoke-empty{background:#f2f6f7;border:1px dashed #bad0d6;border-radius:9px;padding:20px;color:#58757d;font-size:13px}
.smoke-hour-panel{margin-top:18px;border-top:1px solid #dde7e9;padding-top:17px}.smoke-hour-head h3{font-size:19px;margin:0 0 5px}.smoke-hour-head p{font-size:11px;color:#607982}.smoke-hour-bars{height:100px;display:flex;gap:4px;align-items:flex-end;border-bottom:1px solid #b8cdd1}.smoke-hour-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.smoke-hour-line{width:min(100%,18px);background:#a2bcc8;min-height:2px;border-radius:4px 4px 0 0}.smoke-hour-line.strong{background:#27927b}.smoke-hour-col small{font-size:9px;color:#78929a;line-height:15px}.smoke-hour-axis{font-size:10px;color:#66808b;margin-top:7px}
.smoke-science-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.smoke-science-card{background:#e9f1f2;border:1px solid #d3e3e6;border-radius:12px;padding:23px}.smoke-science-card span{color:#2c8093;font:700 26px Georgia,serif}.smoke-science-card h3{font-size:21px;margin:14px 0 9px}.smoke-science-card p{font-size:13px;color:#516b74;line-height:1.65;margin:0}.smoke-caution{border-left:4px solid #ca9658;background:#f7f1e8;padding:17px 19px;border-radius:0 9px 9px 0;margin-top:18px;font-size:13px;line-height:1.6}.smoke-caution a{color:#176682;font-weight:700}
.smoke-faq h2{font-size:30px}.smoke-faq details{border-bottom:1px solid #d8e3e4;padding:15px 5px}.smoke-faq summary{font-weight:700;cursor:pointer;color:#264f5c}.smoke-faq details p{margin:9px 0 0;font-size:14px;max-width:860px;color:#55717a;line-height:1.65}
.smoke-footer{padding:20px 0 45px;border-top:1px solid #d2e0e1;font-size:12px;color:#607982}.smoke-footer>div{max-width:790px}.smoke-footer strong{color:#284f5e}.smoke-footer p{line-height:1.65;margin:8px 0}.smoke-sources{display:flex;flex-wrap:wrap;gap:13px}.smoke-footer a{color:#226c85;font-weight:700}
@media(max-width:920px){.smoke-explore-grid{grid-template-columns:minmax(0,1fr)}.smoke-sidebar{min-height:unset}.smoke-location-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:340px}.smoke-map,.smoke-map-wrap{height:450px;min-height:450px}.smoke-detail-grid{grid-template-columns:1fr}}
@media(max-width:620px){.smoke-wrap{padding-left:15px;padding-right:15px}.smoke-header{align-items:flex-start;padding-top:13px;padding-bottom:13px;flex-direction:column;gap:7px}.smoke-header nav{gap:14px}.smoke-hero{min-height:0}.smoke-hero-content{padding-top:34px;padding-bottom:36px}.smoke-hero h1{font-size:42px}.smoke-hero p{font-size:15px}.smoke-status-strip{padding:18px;flex-direction:column}.smoke-status-strip h2{font-size:23px}.smoke-updated{align-self:flex-start;text-align:left;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.smoke-updated span{font-size:30px}.smoke-section-line{display:block}.smoke-section-line>p{margin-top:9px}.smoke-top-grid,.smoke-science-grid{grid-template-columns:1fr}.smoke-map,.smoke-map-wrap{height:365px;min-height:365px}.smoke-map-legend{font-size:10px;gap:6px}.smoke-location-list{display:block;max-height:310px}.smoke-panel{padding:17px}.smoke-chart-day{grid-template-columns:90px minmax(30px,1fr) 48px;column-gap:6px}.smoke-chart-number{font-size:18px}.smoke-chart-note{font-size:10px}.smoke-result .smoke-score{font-size:49px}}
@media(prefers-reduced-motion:reduce){.smoke-tool *{scroll-behavior:auto!important;transition:none!important}}


/* Ice-aware status and webcam-source verification */
.smoke-ice-readout{margin-top:15px;padding:14px 15px;background:#eaf3f4;border:1px solid #cae0e3;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.smoke-ice-readout>div:first-child{min-width:0}.smoke-ice-readout small{display:block;font-size:11px;color:#5e7981;font-weight:600}
.smoke-ice-readout strong{display:block;font-size:14px;color:#174b5a;line-height:1.4;margin-top:4px}
.smoke-ice-value{font:700 25px Georgia,serif;color:#245e78;text-align:right;white-space:nowrap}
.smoke-ice-value small{font:11px Arial,sans-serif;white-space:normal;max-width:120px}
.smoke-panel .smoke-ice-note{margin:8px 0 12px!important;font-size:11px!important}
.smoke-cameras{margin-bottom:55px;scroll-margin-top:20px}
.smoke-cameras-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px}
.smoke-camera-card,.smoke-camera-howto{background:#fff;border:1px solid var(--sm-line);border-radius:12px;padding:24px}
.smoke-camera-kicker{text-transform:uppercase;color:#2a8093;letter-spacing:.12em;font-size:11px;font-weight:800}
.smoke-camera-card h3,.smoke-camera-howto h3{font-size:24px;margin:10px 0 15px}
.smoke-camera-card p,.smoke-camera-howto p,.smoke-camera-howto li{font-size:13px;color:#57737d;line-height:1.65}
.smoke-camera-howto ol{padding-left:22px;margin:6px 0 18px}.smoke-camera-howto li{margin:0 0 10px}
.smoke-camera-link{display:inline-flex;align-items:center;justify-content:center;color:#fff!important;background:#175a71;padding:11px 18px;border-radius:8px;font-size:13px;font-weight:800;text-decoration:none;margin:6px 0}
.smoke-camera-link:hover,.smoke-camera-link:focus-visible{background:#1e728d;text-decoration:none!important}
.smoke-camera-link.secondary{background:#e6f0f2;color:#1c647e!important}
.smoke-camera-fine{font-size:11px!important;color:#84969b!important;margin-top:10px}
.smoke-camera-card .smoke-camera-notice{padding-left:10px;border-left:3px solid #d8ad67;color:#835c2b}
@media(max-width:740px){.smoke-cameras-grid{grid-template-columns:1fr}}
@media(max-width:480px){.smoke-camera-card,.smoke-camera-howto{padding:18px}.smoke-ice-readout{align-items:flex-start;flex-direction:column}.smoke-ice-value{text-align:left}.smoke-ice-value small{max-width:unset}}


/* V3: shore-relative NWS wind direction: separate qualitative viewing guidance */
.smoke-rank-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px}
.smoke-rank-tabs button{font-size:13px;border:1px solid #c4d8dd;background:#fff;padding:9px 15px;border-radius:8px;color:#2a6578;cursor:pointer;font-weight:700}
.smoke-rank-tabs button.active{border-color:#2b7085;background:#1d5a6d;color:#fff}
.smoke-rank-tabs button:focus-visible{outline:2px solid #3ba1bd;outline-offset:2px}
.smoke-rank-foot,.smoke-rank-note{margin:12px 0 0;font-size:12px;line-height:1.55;color:#607982}
.smoke-rank-note{border-left:3px solid #d2a65d;padding:8px 13px;background:#faf4e8}
.smoke-drift-label{border-radius:20px;padding:5px 10px;display:inline-flex;align-items:center;font-size:11px;font-weight:800;background:#e4ecef;color:#54717b;white-space:normal;line-height:1.4}
.smoke-drift-label.alongshore{background:#dff2ed;color:#1b7558}
.smoke-drift-label.shoreward{background:#e5effa;color:#265e88}
.smoke-drift-label.lakeward{background:#f7f0df;color:#81651e}
.smoke-drift-label.uncertain,.smoke-drift-label.unknown{background:#e8edf0;color:#687a80}
.smoke-view-section{margin:0 0 54px;scroll-margin-top:20px}
.smoke-view-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}
.smoke-wind-card{min-width:0;background:#fff;border:1px solid var(--sm-line);border-radius:12px;padding:22px}
.smoke-wind-card h3{font-size:24px;margin:8px 0 14px}
.smoke-wind-card p{font-size:13px;color:#56747d;line-height:1.6}
.smoke-wind-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.smoke-wind-card-head>div{flex:1;min-width:0}
.smoke-wind-card-head h3{margin:10px 0;max-width:240px}
.smoke-wind-rose{width:180px;max-width:46%;height:auto;flex-shrink:0}
.smoke-compass-cardinal{font:bold 13px Arial,sans-serif;fill:#647f88}
.smoke-compass-shore{font:bold 10px Arial,sans-serif;fill:#164154}
.smoke-wind-unknown{min-height:110px;min-width:120px;display:grid;place-items:center;text-align:center;font-size:12px;color:#6a8590;max-width:200px}
.smoke-wind-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}
.smoke-wind-facts>div{background:#eff5f6;border:1px solid #e0ebed;border-radius:9px;padding:12px;min-width:0}
.smoke-wind-facts small{display:block;font-size:10px;color:#67828a}
.smoke-wind-facts strong{font:700 20px Georgia,serif;color:#205d73}
.smoke-wind-card .smoke-wind-caveat{font-size:11px;color:#6c858d;border-top:1px solid #e2eded;padding-top:10px}
.smoke-view-days{margin:10px 0 17px}
.smoke-view-day{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:13px 0;border-bottom:1px solid #e0eaec}
.smoke-view-day>div{min-width:0}
.smoke-view-day>div:last-child{text-align:right}
.smoke-view-day strong{display:block;font-size:13px}
.smoke-view-day small{display:block;color:#70858c;font-size:11px;margin-top:4px}
.smoke-view-day .smoke-drift-label{font-size:12px}
@media(max-width:850px){.smoke-view-grid{grid-template-columns:1fr}}
@media(max-width:420px){.smoke-wind-card{padding:16px}.smoke-wind-rose{width:130px}.smoke-wind-card-head h3{font-size:20px}.smoke-view-day{align-items:flex-start}.smoke-view-day small{font-size:10px}.smoke-drift-label{font-size:10px}}


/* V4: historical one-day-ahead forecasts, deliberately separate from sightings */
.smoke-history{margin-bottom:55px;scroll-margin-top:20px}
.smoke-history-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:15px}
.smoke-history-card{min-width:0;background:#fff;border:1px solid var(--sm-line);border-radius:12px;padding:22px}
.smoke-history-card h3{font-size:24px;margin:7px 0 13px}
.smoke-history-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}
.smoke-history-range{display:flex;gap:5px;flex-shrink:0;background:#f0f5f5;padding:4px;border-radius:9px}
.smoke-history-range button{cursor:pointer;border:0;background:transparent;border-radius:6px;padding:7px 9px;font-size:12px;color:#496b75;font-weight:700}
.smoke-history-range button.active{background:#26687c;color:#fff}
.smoke-history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.smoke-history-stats>div{background:#f0f6f7;border:1px solid #e1ebed;border-radius:9px;padding:12px}
.smoke-history-stats small{display:block;font-size:11px;color:#5b7a83;line-height:1.4}
.smoke-history-stats strong{display:block;font:700 26px Georgia,serif;color:#22677b;margin-top:8px}
.smoke-history-chart{height:200px;display:flex;align-items:stretch;gap:5px;padding:6px 0 4px;overflow-x:auto;border-bottom:1px solid #dae5e7}
.smoke-history-entry{flex:1 0 20px;min-width:20px;display:flex;flex-direction:column;gap:5px;text-align:center}
.smoke-history-chart-top{min-height:33px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;font-size:10px;color:#69848a}
.smoke-history-chart-top strong{color:#295b6d;font-size:12px}
.smoke-history-bar{height:118px;display:flex;align-items:flex-end;background:#edf2f3;border-radius:5px 5px 0 0;overflow:hidden}
.smoke-history-bar>div{width:100%;min-height:1px;border-radius:4px 4px 0 0;background:#9cb8c0}
.smoke-history-bar.high>div{background:#218f72}.smoke-history-bar.mid>div{background:#c0a051}.smoke-history-bar.low>div{background:#94aeb6}
.smoke-history-bar.missing{background:repeating-linear-gradient(135deg,#f3f3f3,#f3f3f3 5px,#e1e8e9 5px,#e1e8e9 10px)}
.smoke-history-entry>small{font-size:9px;color:#71888d;white-space:nowrap}
.smoke-history-card .smoke-history-foot{font-size:11px;color:#688087;line-height:1.6;margin:14px 0}
.smoke-history-method{background:#edf3f4;padding:13px 14px;font-size:12px;color:#51717a;line-height:1.7;border-radius:8px;margin-top:12px}
.smoke-history-method strong{color:#265363}
.smoke-evidence-card>p{font-size:13px;line-height:1.6;color:#5d7780}
.smoke-evidence-empty{background:#f1f5f5;border:1px dashed #b9cfd5;border-radius:9px;padding:22px 17px;font-size:13px;line-height:1.7;color:#5f7981;display:flex;gap:8px;flex-direction:column}
.smoke-evidence-empty strong{color:#245566}
.smoke-evidence-method{border-top:1px solid #d9e5e7;margin-top:20px;padding-top:17px;font-size:12px}
.smoke-evidence-method strong{font-size:13px;color:#234b59}
.smoke-evidence-method p{color:#657e86;line-height:1.7;margin:10px 0}
.smoke-evidence-method a{color:#236c82;font-weight:700;text-decoration:underline}
.smoke-evidence-row{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-bottom:1px solid #dae5e7;font-size:12px}
.smoke-evidence-row strong{color:#244e60}
.smoke-evidence-row a{color:#1c6680}
.smoke-evidence-confirmed{color:#238364;font-size:11px;font-weight:800}
@media(max-width:890px){.smoke-history-grid{grid-template-columns:1fr}}
@media(max-width:620px){.smoke-history-card{padding:16px}.smoke-history-stats{gap:5px}.smoke-history-stats>div{padding:9px}.smoke-history-stats strong{font-size:21px}.smoke-history-entry{min-width:27px}.smoke-history-chart{height:205px}}


/* Keyless vector-map rollout: controlled fallback and legible credits */
.smoke-map-source{position:absolute;top:10px;right:12px;z-index:402;border-radius:6px;background:#fffffff2;border:1px solid #d1dee1;padding:5px 8px;color:#3b6b75;font-size:10px;font-weight:700;pointer-events:none}
.smoke-map .maplibregl-ctrl-attrib,.smoke-map .maplibregl-ctrl-attrib-inner{font-size:10px}
.smoke-map .maplibregl-ctrl-top-left{z-index:405}
.smoke-map-marker{cursor:pointer;background:transparent;border:0;padding:4px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;line-height:1}
.smoke-map-marker:focus-visible{outline:3px solid #145475;outline-offset:4px;border-radius:50%}
.smoke-map-marker .smoke-map-pin{flex:0 0 auto}
@media(max-width:620px){.smoke-map-source{top:12px;right:10px;font-size:9px;padding:4px 5px}}


/* A first-party geographical safety net when WebGL or an external basemap fails */
.smoke-static-wrap{position:absolute;inset:0;z-index:1;overflow:hidden;background:#f2f4ed}
.smoke-static-geography{width:100%;height:100%;display:block}
.smoke-static-label{font-family:Georgia,serif;font-size:15px;letter-spacing:2px;font-weight:bold;fill:#32758a;opacity:.82;paint-order:stroke;stroke:#cae6ed;stroke-width:4px;stroke-linejoin:round}
.smoke-static-north{font:700 15px system-ui,sans-serif;fill:#416d7d}
.smoke-static-pins{position:absolute;inset:0;z-index:4;pointer-events:none}
.smoke-static-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}
.smoke-static-credit{position:absolute;bottom:6px;right:8px;max-width:55%;font-size:9px;color:#526e76;background:#faffffee;padding:3px 6px;border-radius:4px;z-index:1}
.smoke-map-wrap:has(.smoke-static-wrap) .smoke-map-legend{bottom:12px}
@media(max-width:620px){.smoke-static-label{font-size:17px;letter-spacing:1px}.smoke-static-credit{bottom:53px;right:8px;font-size:8px}}

.smoke-buoy-note{background:#fff8e9;border:1px solid #e4c895;border-left:3px solid #bf9040;padding:12px;border-radius:7px;font-size:12px!important;line-height:1.65!important;color:#694d28!important}
.smoke-buoy-note strong{color:#5c421b}
.smoke-buoy-note a{font-weight:800;color:#215f7c;text-decoration:underline}

.smoke-daily-source{background:#e9f3f5;border-left:3px solid #327c8d;padding:11px;border-radius:6px;color:#325967!important;line-height:1.6!important}
.smoke-daily-source a{font-weight:700;text-decoration:underline}


/* Real licensed steam-fog photograph: compact, readable hero, credited in-view. */
.smoke-hero{background:#193843;min-height:365px}
.smoke-hero-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:0}
.smoke-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,29,39,.94) 0%,rgba(7,32,43,.86) 37%,rgba(8,38,52,.37) 72%,rgba(8,38,52,.17) 100%),linear-gradient(0deg,rgba(5,31,41,.68) 0%,transparent 45%)}
.smoke-hero-content{padding-top:54px;padding-bottom:80px}
.smoke-hero-photo-credit{position:absolute;z-index:3;right:max(24px,calc((100vw - 1142px)/2));bottom:11px;max-width:min(550px,calc(100% - 40px));text-align:right;font-size:10px;line-height:1.5;letter-spacing:.015em;color:#f1f4f6;background:#092b38cc;border-radius:5px;padding:5px 9px}
.smoke-hero-photo-credit a{color:#ecf9fc;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.smoke-hero-photo-credit a:hover{color:#fff}
.smoke-hero h1{text-shadow:0 2px 17px #102a3fa8}
.smoke-hero-pills span{background:#18394fb8}
@media(max-width:720px){
  .smoke-hero{min-height:0}
  .smoke-hero-scrim{background:linear-gradient(90deg,rgba(4,26,36,.94),rgba(8,31,43,.65)),linear-gradient(0deg,rgba(4,26,36,.65),transparent 70%)}
  .smoke-hero-photo{object-position:60% 50%}
  .smoke-hero-content{padding-top:36px;padding-bottom:96px}
  .smoke-hero-photo-credit{left:15px;right:15px;text-align:left;max-width:calc(100% - 30px);font-size:9px}
}

/* Selected lookout's external-provider camera: click to load, never autoplay sound. */
.smoke-camera-player,.smoke-camera-start{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:linear-gradient(135deg,#143341,#24536d)}
.smoke-camera-player iframe,.smoke-camera-player>img{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.smoke-camera-start{padding:0;cursor:pointer;text-align:center;color:#fff;box-shadow:0 7px 20px #12354c23}
.smoke-camera-start>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.70)}
.smoke-camera-start:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0d273bbb,transparent 55%);z-index:1}
.smoke-camera-start:hover img{filter:brightness(.9)}
.smoke-camera-start:focus-visible{outline:3px solid #3ba0b2;outline-offset:3px}
.smoke-camera-play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:11px;padding:13px 19px;border-radius:9px;background:#f4faf9;color:#16465a;font-size:14px;font-weight:800;box-shadow:0 9px 25px #081f2980;white-space:nowrap}
.smoke-camera-play>span{font-size:18px}
.smoke-camera-player-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:3px 14px;font-size:10px;line-height:1.5;color:#587885;margin:10px 0}
.smoke-player-block{margin:15px 0 18px}
.smoke-player-block .smoke-camera-link{margin:5px 10px 0 0}
.smoke-camera-noembed,.smoke-camera-snapshot-empty{background:#edf4f5;border:1px dashed #b7ced5;border-radius:10px;padding:25px;display:flex;flex-direction:column;gap:10px;color:#5d7882;font-size:12px;line-height:1.65}
.smoke-camera-noembed strong{color:#23566b;font-size:14px}
.smoke-camera-snapshot-empty{height:100%;justify-content:center;text-align:center}
.smoke-camera-refresh{margin:10px 0;padding:9px 13px;background:#e0eff3;border:1px solid #a9cbd3;color:#1e6177;border-radius:7px;font-weight:700;cursor:pointer}
.smoke-camera-refresh:focus-visible{outline:2px solid #368e9f;outline-offset:2px}
.smoke-camera-card{min-width:0}
.smoke-cameras-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}
@media(max-width:900px){.smoke-cameras-grid{grid-template-columns:1fr}}
@media(max-width:580px){.smoke-camera-card,.smoke-camera-howto{padding:16px}.smoke-camera-play{padding:11px 13px;font-size:12px}}


/* Photo must be recognizable, not concealed by the text scrim. */
@media(min-width:721px){
  .smoke-hero{background:#0d2b3b}
  .smoke-hero-photo{left:48%;right:0;width:52%;object-position:center 55%}
  .smoke-hero-scrim{background:linear-gradient(90deg,#0a2c3bf7 0%,#0d3142f0 43%,#0c354b70 56%,transparent 70%)}
  .smoke-hero-content{padding-right:33%;padding-top:50px;padding-bottom:81px}
  .smoke-hero h1{max-width:690px}
  .smoke-hero p{max-width:600px}
}
@media(max-width:720px){
  .smoke-hero{background:#0a2e40}
  .smoke-hero-photo{top:auto;bottom:0;left:0;width:100%;height:210px;object-fit:cover;object-position:center 70%}
  .smoke-hero-content{padding-bottom:247px}
  .smoke-hero-scrim{background:linear-gradient(180deg,#0a2e40 0%,#0a2e40 53%,#0a2e4000 72%)}
  .smoke-hero-photo-credit{bottom:12px}
}



/* Camera watch board: quick navigation without preloading five video streams. */
.smoke-camera-picks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 15px}
.smoke-camera-pick{appearance:none;border:1px solid #c6dade;background:#fff;border-radius:10px;padding:11px 12px;min-width:0;text-align:left;display:flex;flex-direction:column;gap:3px;cursor:pointer;color:#265366;min-height:110px;transition:border-color .15s,box-shadow .15s,background .15s}
.smoke-camera-pick:hover{border-color:#579bb0;box-shadow:0 5px 16px #123b4319}
.smoke-camera-pick.selected{background:#e7f4f6;border:2px solid #2e8599;padding:10px 11px}
.smoke-camera-pick:focus-visible{outline:3px solid #1f7890;outline-offset:2px}
.smoke-camera-pick-lake{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#5e8795}
.smoke-camera-pick strong{font-size:13px;line-height:1.3}
.smoke-camera-pick small{font-size:10px;line-height:1.45;color:#64838e;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.smoke-camera-preview-title{position:absolute;z-index:2;top:13px;left:14px;right:14px;color:#e2f1f4;font-size:11px;text-align:left;font-weight:700;text-shadow:0 1px 5px #0b1d29b8;line-height:1.5;pointer-events:none}
.smoke-top-camera-hint{display:inline-flex;align-self:flex-start;background:#eaf4f6;border:1px solid #c2dde3;padding:4px 7px;border-radius:5px;color:#236379;font-size:10px;font-weight:800;line-height:1.3}
.smoke-list-cam-flag{color:#1d7483!important;font-weight:700!important}
@media(max-width:1000px){.smoke-camera-picks{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.smoke-camera-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.smoke-camera-pick{min-height:96px;padding:10px}.smoke-camera-pick.selected{padding:9px}}
@media(prefers-reduced-motion:reduce){.smoke-camera-pick{transition:none}}


/* Frankfort's original beach player plus a second verified Lake Michigan view */
.smoke-camera-source-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.smoke-camera-source-switch button{cursor:pointer;border:1px solid #acc8d2;background:#f0f6f7;color:#245c6b;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:700;line-height:1.3}
.smoke-camera-source-switch button.active{background:#1d6478;color:white;border-color:#1d6478}
.smoke-camera-source-switch button:focus-visible{outline:3px solid #267c92;outline-offset:2px}
@media(max-width:460px){.smoke-camera-source-switch{display:grid;grid-template-columns:1fr}.smoke-camera-source-switch button{width:100%}}


/* Frankfort: an unavailable resort feed must never be the main playable surface. */
.smoke-camera-unavailable{background:#f7f3eb;border:1px solid #ddc9a6;border-left:4px solid #ad8754;border-radius:9px;margin-top:15px;padding:13px 15px;color:#654e2f;font-size:12px;line-height:1.6}
.smoke-camera-unavailable strong{font-size:13px;color:#745329}
.smoke-camera-unavailable p{margin:7px 0}
.smoke-camera-unavailable a{color:#245a71;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.smoke-camera-unavailable a:focus-visible{outline:2px solid #207794;outline-offset:2px}
