:root{--rw-green:#62d34a;--rw-green-2:#9bd54a;--rw-amber:#f5a623;--rw-red:#ef4444;--rw-blue:#38bdf8;--rw-panel:rgba(13,23,35,.96);--rw-line:rgba(148,163,184,.16)}
.rw-brand{max-width:1180px;margin:0 auto 14px;padding:18px 4px 0}.rw-back{display:inline-block;margin-bottom:14px;color:#8fa5bf;text-decoration:none}.rw-brand-row{display:flex;align-items:center;gap:16px}.rw-shield{width:64px;height:64px;border:1px solid rgba(98,211,74,.38);border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(98,211,74,.13),rgba(14,29,35,.6));font-size:30px;box-shadow:0 16px 40px rgba(0,0,0,.22)}.rw-brand h1{margin:3px 0 2px;font-size:clamp(1.75rem,4vw,2.65rem)}.rw-brand h1 strong{color:var(--rw-green)}.rw-brand p{margin:0;color:#9eb0c7}.rw-nav{position:sticky;top:70px;z-index:80;display:flex;gap:5px;max-width:1180px;margin:0 auto 20px;padding:7px;border:1px solid var(--rw-line);border-radius:17px;background:rgba(8,14,23,.92);backdrop-filter:blur(18px);overflow:auto}.rw-nav a{flex:1;min-width:max-content;padding:10px 15px;border-radius:12px;text-align:center;color:#9caec4;text-decoration:none;font-weight:800;font-size:.9rem}.rw-nav a:hover,.rw-nav a.active{background:rgba(98,211,74,.12);color:#caffbc}.rw-statusbar{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#9db0c8;font-size:.9rem}.rw-live-dot{width:9px;height:9px;border-radius:50%;background:var(--rw-green);box-shadow:0 0 16px rgba(98,211,74,.8)}.rw-notice{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(245,166,35,.28);border-radius:16px;background:rgba(245,166,35,.08);color:#f7deb6}.rw-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,.8fr);gap:20px}.rw-section{padding:20px;border:1px solid var(--rw-line);border-radius:24px;background:linear-gradient(150deg,rgba(18,29,44,.97),rgba(9,16,26,.99));box-shadow:0 22px 55px rgba(0,0,0,.22);margin-bottom:20px}.rw-section h2,.rw-section h3{margin:5px 0 14px}.rw-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.rw-section-head h2,.rw-section-head h3{margin:4px 0 0}.rw-section-head>a{color:#7fed64;text-decoration:none;font-weight:800}.rw-event-list{display:grid;gap:10px}.rw-event-card{border:1px solid var(--rw-line);border-left:4px solid #617087;border-radius:18px;background:rgba(5,10,18,.5);overflow:hidden}.rw-event-card.severity-critical{border-left-color:var(--rw-red)}.rw-event-card.severity-high{border-left-color:#f97316}.rw-event-card.severity-medium{border-left-color:var(--rw-amber)}.rw-event-card.severity-low{border-left-color:var(--rw-green)}.rw-event-main{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:14px;color:inherit;text-decoration:none}.rw-event-main:hover{background:rgba(255,255,255,.025)}.rw-event-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.07);font-size:21px}.rw-event-icon.large{width:58px;height:58px;font-size:28px}.rw-event-copy{display:grid;gap:3px;min-width:0}.rw-event-copy strong{color:#f3f7fb;font-size:1.02rem}.rw-event-copy>span:not(.rw-source){color:#b6c1d0;line-height:1.4}.rw-event-copy small{color:#7f93aa}.rw-source{color:#77dd63!important;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.rw-arrow{color:#72849a;font-size:28px}.rw-empty{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:22px;border:1px dashed rgba(148,163,184,.2);border-radius:17px;color:#aebbd0}.rw-map-shell{overflow:hidden;border:1px solid var(--rw-line);border-radius:18px;background:#0a121d}.rw-map{width:100%;background:#0a121d}.leaflet-container{font-family:inherit}.rw-route-list{display:grid;gap:9px}.rw-route{display:flex;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--rw-line);border-radius:15px;color:inherit;text-decoration:none;background:rgba(255,255,255,.025)}.rw-route>div{display:grid;gap:3px}.rw-route span{color:#869ab2;font-size:.85rem}.rw-route b{font-size:.78rem;text-align:right}.route-clear{color:#6ee7a0}.route-nearby{color:#facc15}.route-high{color:#fb923c}.route-critical{color:#f87171}.route-unknown{color:#94a3b8}.rw-social{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rw-line);padding:7px 10px}.rw-social-btn{border:0!important;background:transparent!important;box-shadow:none!important;color:#8497ad!important;padding:9px 7px!important;border-radius:11px!important;cursor:pointer}.rw-social-btn:hover{background:rgba(255,255,255,.04)!important;color:#e8eef6!important}.rw-social-btn.active{color:#fb7185!important}.rw-comment-panel{border-top:1px solid var(--rw-line);padding:10px 14px 14px}.rw-comments{display:grid}.rw-comment{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:11px 0;border-bottom:1px solid rgba(148,163,184,.09)}.rw-comment p{margin:4px 0 0;line-height:1.45}.rw-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#48d8c4,#5c79ff);font-weight:900;color:#071019;flex:0 0 auto}.rw-avatar img{width:100%;height:100%;object-fit:cover}.rw-comment-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:12px}.rw-comment-form input{margin:0}.rw-login-prompt{display:block;text-align:center;padding:12px;color:#67dfc9}.rw-detail{overflow:hidden;border:1px solid var(--rw-line);border-radius:26px;background:linear-gradient(150deg,rgba(17,29,43,.98),rgba(8,15,24,.99));box-shadow:0 25px 70px rgba(0,0,0,.28)}.rw-detail>*{margin-left:20px;margin-right:20px}.rw-detail>.rw-map-shell,.rw-detail>.rw-social,.rw-detail>.rw-comment-panel{margin-left:0;margin-right:0;border-radius:0}.rw-detail-head{display:flex;gap:15px;padding:23px 0 20px}.rw-detail-head h2{margin:4px 0 6px;font-size:clamp(1.5rem,4vw,2.2rem)}.rw-detail-head p{margin:0;color:#bdc7d4;line-height:1.55}.rw-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.rw-badges span{padding:7px 10px;border:1px solid var(--rw-line);border-radius:10px;background:rgba(255,255,255,.04);font-size:.8rem;color:#c7d0dc}.rw-badges .impact-critical{color:#fecaca;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.12)}.rw-badges .impact-high{color:#fed7aa;border-color:rgba(249,115,22,.35);background:rgba(249,115,22,.1)}.rw-badges .impact-medium{color:#fde68a}.rw-cleared{padding:13px 14px;border-radius:14px;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);color:#a7f3d0;margin-bottom:18px}.rw-detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;padding:22px 0}.rw-detail-grid dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.rw-detail-grid dl div{padding:12px;border:1px solid var(--rw-line);border-radius:14px}.rw-detail-grid dt{font-size:.72rem;color:#7890aa;text-transform:uppercase;font-weight:900}.rw-detail-grid dd{margin:4px 0 0;color:#eef3f8}.rw-camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.rw-camera-card{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:10px;border:1px solid var(--rw-line);border-radius:16px;color:inherit;text-decoration:none;background:rgba(255,255,255,.025)}.rw-camera-card:hover{border-color:rgba(98,211,74,.35)}.rw-camera-placeholder{min-height:76px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#1c2a3d,#0c1522);font-size:28px}.rw-camera-card>span:last-child{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}.rw-camera-card small{color:#8da0b7}.rw-camera-card em{font-style:normal;color:#75de62;font-size:.78rem}.rw-camera-list{margin-top:18px}.rw-camera-view{display:grid;place-items:center;text-align:center;padding:35px 18px;border:1px solid var(--rw-line);border-radius:20px;background:linear-gradient(160deg,rgba(7,13,22,.88),rgba(18,29,42,.85));margin-bottom:20px}.rw-camera-view>div{max-width:620px}.rw-camera-view span{font-size:45px}.rw-camera-actions{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0}.rw-filterbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.35fr) auto;gap:9px;margin:0 0 16px}.rw-filterbar input,.rw-filterbar select{margin:0}.rw-route-card{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:14px;border:1px solid var(--rw-line);border-radius:16px;margin:9px 0;background:rgba(255,255,255,.025)}.rw-route-card p{margin:6px 0;color:#a7b6c8}.rw-route-card form{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.rw-route-card form input{width:180px;margin:0}.rw-form{display:grid;gap:11px}.rw-form label{display:grid;gap:6px;color:#b6c3d2}.rw-form input,.rw-form select,.rw-form textarea{margin:0}.rw-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rw-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.rw-check input{width:auto}.rw-community-list{display:grid;gap:14px}.rw-community-card{border:1px solid rgba(111,176,255,.2);border-radius:20px;background:rgba(8,15,25,.62);overflow:hidden}.rw-community-card>a{display:block;padding:16px;color:inherit;text-decoration:none}.rw-community-head{display:flex;gap:11px}.rw-community-head>div{display:grid;gap:3px}.rw-community-head small{color:#8498b0}.rw-community-badge{display:inline-block;color:#86c7ff;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.rw-confirm{padding:16px;border:1px solid rgba(99,179,237,.22);border-radius:18px;margin-top:18px;margin-bottom:18px}.rw-confirm>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.rw-confirm button{background:rgba(255,255,255,.05)!important;border:1px solid var(--rw-line)!important}.rw-media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-bottom:18px}.rw-media-grid img{display:block;width:100%;height:280px;object-fit:cover;border-radius:14px}.rw-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.rw-stat{padding:16px;border:1px solid var(--rw-line);border-radius:16px;background:rgba(255,255,255,.025)}.rw-stat strong{display:block;font-size:1.8rem;color:#d9ffd1}.rw-stat span{color:#8fa2b9;font-size:.85rem}.rw-api-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}.rw-api-card{display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid var(--rw-line);border-radius:16px}.rw-api-card small{color:#8da0b7}.danger-text{color:#fca5a5!important}.rw-disclaimer{display:grid;gap:5px;max-width:1180px;margin:25px auto 5px;padding:17px;border:1px solid var(--rw-line);border-radius:18px;background:rgba(8,14,23,.7);color:#9eb0c5;font-size:.83rem}.rw-disclaimer strong{color:#c9d4df}.rw-report-form{max-width:760px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.rw-grid{grid-template-columns:1fr}.rw-stat-grid{grid-template-columns:repeat(2,1fr)}.rw-nav{top:62px}.rw-detail-grid{grid-template-columns:1fr}.rw-camera-grid{grid-template-columns:1fr}}
@media(max-width:640px){.rw-brand{padding-top:8px}.rw-shield{width:50px;height:50px;border-radius:16px;font-size:24px}.rw-brand p{font-size:.9rem}.rw-nav{margin-left:-4px;margin-right:-4px;border-radius:14px;top:58px}.rw-section{padding:15px;border-radius:20px}.rw-section-head{align-items:center}.rw-event-main{padding:12px;grid-template-columns:auto 1fr}.rw-arrow{display:none}.rw-event-icon{width:38px;height:38px}.rw-social{grid-template-columns:repeat(4,minmax(0,1fr));padding:5px}.rw-social-btn{font-size:.78rem!important}.rw-filterbar{grid-template-columns:1fr}.rw-camera-card{grid-template-columns:82px 1fr}.rw-detail>*{margin-left:14px;margin-right:14px}.rw-detail>.rw-map-shell,.rw-detail>.rw-social,.rw-detail>.rw-comment-panel{margin-left:0;margin-right:0}.rw-detail-head{padding-top:17px}.rw-detail-grid dl{grid-template-columns:1fr}.rw-two{grid-template-columns:1fr}.rw-route-card{flex-direction:column}.rw-route-card form{justify-content:flex-start}.rw-stat-grid,.rw-api-grid{grid-template-columns:1fr}.rw-media-grid{grid-template-columns:1fr}.rw-media-grid img{height:240px}.rw-comment-form{grid-template-columns:1fr}.rw-camera-actions{display:grid}.rw-map{height:340px!important}}
.rw-leaflet-icon{display:grid!important;place-items:center!important;background:#d23b3b!important;border:2px solid white!important;border-radius:50%!important;box-shadow:0 4px 12px rgba(0,0,0,.35)!important;font-size:16px}.rw-leaflet-icon.camera{background:#2778b8!important}.rw-leaflet-icon.community{background:#5b4ab8!important}
.rw-map-controls{display:flex;gap:7px;overflow:auto;padding:0 0 10px}.rw-map-controls button{min-width:max-content;border:1px solid var(--rw-line)!important;background:rgba(255,255,255,.035)!important;color:#9eb0c7!important;padding:8px 11px!important;border-radius:999px!important;font-size:.8rem!important}.rw-map-controls button.active{border-color:rgba(98,211,74,.38)!important;background:rgba(98,211,74,.12)!important;color:#bdf8ae!important}
.rw-report-link{font-size:.76rem;color:#8497ad;text-decoration:none}.rw-report-link:hover{color:#fca5a5}
.rw-official-alerts{display:grid;gap:9px;margin:0 0 16px}.rw-official-alerts>div{display:grid;gap:4px;padding:12px 14px;border:1px solid rgba(245,166,35,.25);border-radius:14px;background:rgba(245,166,35,.07)}.rw-official-alerts strong{color:#ffd28b}.rw-official-alerts span{color:#d7dee8}.rw-official-alerts small{color:#8fa1b8}
.rw-share-fallback{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:18px}.rw-share-backdrop{position:absolute;inset:0;background:rgba(2,6,14,.76);backdrop-filter:blur(8px)}.rw-share-card{position:relative;width:min(100%,390px);display:grid;gap:9px;padding:20px;border:1px solid var(--rw-line);border-radius:20px;background:#101927;box-shadow:0 25px 80px rgba(0,0,0,.5)}.rw-share-card h3{margin:0 30px 8px 0}.rw-share-card a,.rw-share-card .rw-copy-share{display:block;padding:12px 14px;border:1px solid var(--rw-line);border-radius:12px;background:rgba(255,255,255,.04)!important;color:#e8eef6!important;text-decoration:none;text-align:left}.rw-share-close{position:absolute;right:12px;top:10px;width:34px;height:34px;padding:0!important;border-radius:50%!important;background:rgba(255,255,255,.07)!important;color:#fff!important;font-size:22px!important}
.rw-area-list{margin-bottom:14px}.rw-area-form{padding:14px;border:1px solid var(--rw-line);border-radius:16px;margin-bottom:22px;background:rgba(255,255,255,.02)}

/* Leaflet isolation: Jon's Home globally sets img{max-width:100%}. Keep map tiles at their native 256px size and positioned by Leaflet. */
.rw-map.leaflet-container{position:relative;overflow:hidden;outline:0}
.rw-map .leaflet-tile,.rw-map .leaflet-marker-icon,.rw-map .leaflet-marker-shadow{max-width:none!important;max-height:none!important}
.rw-map .leaflet-tile{width:256px!important;height:256px!important}

/* 511GA camera snapshots */
.rw-camera-image-wrap{position:relative;display:block;width:100%;min-height:76px;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,#1c2a3d,#0c1522)}
.rw-camera-image-wrap.large{aspect-ratio:16/9;min-height:0;border-radius:16px;background:#060b12}
.rw-camera-image-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:28px;color:#8da0b7}
.rw-camera-image{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:76px;object-fit:cover;max-width:none!important}
.rw-camera-image-wrap.large .rw-camera-image{min-height:0;aspect-ratio:16/9;object-fit:contain;background:#060b12}
.rw-camera-image.is-broken{display:none}
.rw-camera-view{padding:16px}
.rw-camera-view>div.rw-camera-live{width:min(100%,760px);max-width:none;text-align:left}
.rw-camera-live-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px 4px}
.rw-camera-live-meta>div{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;row-gap:2px}
.rw-camera-live-meta small{grid-column:2;color:#8da0b7}
.rw-camera-live-meta .rw-live-dot{grid-row:1/3}
.rw-camera-source-link{display:inline-block;margin-top:8px;color:#7fed64;text-decoration:none;font-weight:800}
.rw-camera-big-icon{font-size:45px}
@media(max-width:640px){.rw-camera-live-meta{align-items:stretch;flex-direction:column}.rw-camera-live-meta .button{width:100%}}

/* Road Watch repost dialog */
.rw-repost-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px}
.rw-repost-card{position:relative;z-index:1;width:min(520px,100%);background:var(--panel,#101823);border:1px solid var(--line,#283649);border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.rw-repost-card h3{margin:.35rem 0 .35rem}.rw-repost-card p{margin:0 0 1rem;color:var(--muted,#a9b5c7)}
.rw-repost-card label{display:grid;gap:.5rem}.rw-repost-card textarea{width:100%;resize:vertical;min-height:88px}
.rw-repost-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
@media (max-width:600px){.rw-repost-modal{align-items:end;padding:12px}.rw-repost-card{border-radius:18px 18px 12px 12px}.rw-repost-actions>*{flex:1}}

/* Road Watch mobile width hardening — prevent page-level pinch-to-fit/overflow */
html,body{overflow-x:hidden}
.rw-brand,.rw-nav,.rw-statusbar,.rw-notice,.rw-grid,.rw-section,.rw-detail,.rw-filterbar,.rw-disclaimer{box-sizing:border-box;min-width:0;max-width:100%}
.rw-brand-row,.rw-brand-row>div:last-child,.rw-section-head,.rw-event-card,.rw-event-main,.rw-event-copy{min-width:0;max-width:100%}
.rw-event-copy strong,.rw-event-copy>span:not(.rw-source),.rw-event-copy small{overflow-wrap:anywhere;word-break:normal}

@media(max-width:640px){
  .rw-brand{width:100%;padding-left:2px;padding-right:2px}
  .rw-brand-row{align-items:flex-start;gap:11px}
  .rw-brand h1{font-size:clamp(1.72rem,8.4vw,2.15rem);line-height:1.08;overflow-wrap:normal}
  .rw-brand p{line-height:1.45}

  /* All five Road Watch tabs fit the phone width at normal browser zoom. */
  .rw-nav{
    width:100%;
    margin-left:0;
    margin-right:0;
    padding:6px;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:3px;
    overflow:visible;
  }
  .rw-nav a{
    min-width:0;
    padding:10px 2px;
    font-size:.72rem;
    line-height:1.1;
    white-space:nowrap;
  }

  .rw-section{width:100%}
  .rw-section-head{gap:8px}
  .rw-section-head h2,.rw-section-head h3{min-width:0}
  .rw-section-head>a{flex:0 0 auto;white-space:nowrap}
  .rw-event-main{width:100%;grid-template-columns:38px minmax(0,1fr);gap:10px}
  .rw-event-copy{width:100%}
  .rw-event-copy strong{font-size:.96rem;line-height:1.3}
  .rw-event-copy>span:not(.rw-source){font-size:.9rem;line-height:1.4}
  .rw-event-copy small{font-size:.78rem;line-height:1.35}
}

@media(max-width:390px){
  .rw-nav a{font-size:.68rem;padding-left:1px;padding-right:1px}
  .rw-brand h1{font-size:1.72rem}
}
