/* [explore] Bars & Restaurants explore hub + sub-pages (lib/explore.js). Staging Oct 25 2026. No scripts. */
.ex-page{overflow-wrap:anywhere}
.ex-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:2px 0;margin:6px 0 4px;padding:0;font-size:13px;color:var(--muted)}
.ex-crumbs li{display:inline-flex;align-items:center}
.ex-crumbs li+li::before{content:"\203A";margin:0 8px;color:#9aa8b5}
.ex-crumbs a{color:#264b6b;text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.ex-crumbs a:hover{text-decoration:underline}
.ex-crumbs [aria-current]{color:var(--ink);font-weight:600}
.ex-banner{display:flex;gap:14px;align-items:center;margin:8px 0 18px;padding:18px 20px;border-radius:14px;border:1px solid #d7e2ea;background:linear-gradient(135deg,var(--ex-a,#eef5fc),var(--ex-b,#fff));box-shadow:0 2px 10px rgba(11,37,64,.07)}
.ex-banner h1{margin:0;font-size:1.7rem;line-height:1.15}
.ex-banner .dek{margin:6px 0 0;font-size:1rem;color:#33475b}
.ex-banner .meta{margin:6px 0 0}
.ex-b-ic{font-size:2.6rem;line-height:1;flex:0 0 auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}
/* themes */
.ex-t-new{--ex-a:#fff4d6;--ex-b:#fffdf6;--ex-c:#b7791f}
.ex-t-top{--ex-a:#fde9c8;--ex-b:#fff9ef;--ex-c:#b45309}
.ex-t-pizza{--ex-a:#ffe1d6;--ex-b:#fff8f5;--ex-c:#c2410c}
.ex-t-brew{--ex-a:#f7e7c1;--ex-b:#fffaf0;--ex-c:#92600a}
.ex-t-wine{--ex-a:#f4dce6;--ex-b:#fff7fa;--ex-c:#9d174d}
.ex-t-em{--ex-a:#eadfd6;--ex-b:#fbf8f5;--ex-c:#6b4226}
.ex-t-wf{--ex-a:#d6eefa;--ex-b:#f5fbff;--ex-c:#0369a1}
.ex-t-fl{--ex-a:#daf3e3;--ex-b:#f6fdf8;--ex-c:#15803d}
.ex-t-close{--ex-a:#e7ebef;--ex-b:#f8fafb;--ex-c:#475569}
.ex-t-town{--ex-a:#e2ecfb;--ex-b:#f7faff;--ex-c:#1d4ed8}
.ex-t-dog{--ex-a:#efe6fb;--ex-b:#fbf8ff;--ex-c:#6d28d9}
.ex-t-dice{--ex-a:#dff7f4;--ex-b:#f6fffd;--ex-c:#0f766e}
/* highlight cards */
.ex-hls{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:4px 0 8px}
.ex-hl{border:1px solid #e3e9ee;border-top:4px solid var(--ex-c,#0b2540);border-radius:12px;background:linear-gradient(180deg,var(--ex-b,#fff),#fff);padding:12px 16px;box-shadow:0 1px 6px rgba(11,37,64,.05)}
.ex-hl h2{margin:0 0 6px;font-size:1.05rem}
.ex-hl h2 a{color:var(--ink);text-decoration:none}
.ex-hl ul{list-style:none;margin:0;padding:0}
.ex-hl li{padding:6px 0;border-bottom:1px solid #eef2f5;font-size:.95rem;line-height:1.35}
.ex-hl li:last-child{border-bottom:0}
.ex-hl .badge{font-size:10px}
.ex-rank{display:inline-block;min-width:28px;font-weight:800;color:var(--ex-c,#0b2540)}
.ex-more{display:inline-flex;align-items:center;min-height:40px;font-weight:700;color:var(--ex-c,#0b2540);text-decoration:none}
.ex-more:hover{text-decoration:underline}
/* tiles */
.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:6px 0 18px}
.ex-tile{position:relative;display:flex;flex-direction:column;gap:3px;min-height:150px;padding:14px 16px 12px;border-radius:14px;border:1px solid rgba(11,37,64,.1);background:linear-gradient(145deg,var(--ex-a,#eef5fc) 0%,var(--ex-b,#fff) 100%);color:var(--ink);text-decoration:none;box-shadow:0 1px 4px rgba(11,37,64,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;overflow:hidden}
.ex-tile:hover,.ex-tile:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(11,37,64,.12);border-color:var(--ex-c,#0b2540)}
.ex-tile:focus-visible{outline:3px solid var(--ex-c,#0b2540);outline-offset:2px}
.ex-ic{font-size:2.1rem;line-height:1.1}
.ex-tt{font-weight:800;font-size:1.1rem;line-height:1.2}
.ex-sub{font-size:.85rem;color:#3d5266;font-weight:600}
.ex-teaser{font-size:.85rem;color:#51657a}
.ex-go{margin-top:auto;padding-top:6px;font-size:.85rem;font-weight:800;color:var(--ex-c,#0b2540)}
.ex-tile::after{content:"";position:absolute;right:-26px;top:-26px;width:90px;height:90px;border-radius:50%;background:var(--ex-c,#0b2540);opacity:.07}
.ex-grid-sm{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.ex-tile-sm{min-height:112px;padding:11px 13px 10px}
.ex-tile-sm .ex-ic{font-size:1.6rem}
.ex-tile-sm .ex-tt{font-size:1rem}
.ex-towns .ex-tile{min-height:0}
.ex-towns .ex-tile:not(.ex-tile-sm){min-height:120px}
.ex-h3{font-size:1rem;margin:18px 0 6px}
.ex-wander{margin-top:30px;padding-top:6px;border-top:1px dashed #d7e2ea}
.hx-page .jump.ex-x,.hx-page .jump.ex-chips{gap:8px}
.ex-n{display:inline-block;margin-left:4px;padding:0 7px;border-radius:999px;background:#eef5fc;color:#264b6b;font-size:12px;font-weight:700}
/* town picks */
.ex-pc-tag{margin:0 0 4px !important}
.ex-pc-tag a{display:inline-block;padding:2px 9px;border-radius:999px;background:#eef5fc;color:#1d4ed8;font-size:12px;font-weight:700;text-decoration:none}
.ex-pc-tag a:hover{background:#dbe8fb}
@media (max-width:640px){
  .ex-banner{padding:14px 14px;gap:10px;border-radius:12px}
  .ex-banner h1{font-size:1.35rem}
  .ex-b-ic{font-size:2rem}
  .ex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ex-tile{min-height:132px;padding:12px 12px 10px;border-radius:12px}
  .ex-ic{font-size:1.8rem}
  .ex-tt{font-size:1rem}
  .ex-teaser{display:none}
  .ex-grid-sm .ex-tile{min-height:104px}
  .ex-hls{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.ex-tile{transition:none}.ex-tile:hover{transform:none}}
/* compact pipeline rows */
.ex-mini{list-style:none;margin:0 0 16px;padding:2px 14px;background:#fff;border:1px solid #e3e9ee;border-radius:10px;box-shadow:0 1px 6px rgba(11,37,64,.05);columns:2 360px;column-gap:28px}
.ex-mini li{break-inside:avoid;padding:9px 0;border-bottom:1px solid #eef2f5}
.ex-mi-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.ex-mi-top b{font-size:.98rem;line-height:1.3}
.ex-mini .badge{font-size:10px;margin:0}
.ex-mini .meta{margin:3px 0 0;font-size:.82rem}
.ex-mi-more summary{cursor:pointer;font-size:.82rem;font-weight:700;color:#264b6b;min-height:32px;display:inline-flex;align-items:center}
.ex-mi-more p{margin:2px 0 4px;font-size:.88rem}
.ex-pc::before{content:attr(data-ic)}
/* [explore2] Construction, Night Sky, Courts & Law, Events, Live Cams hubs + homepage "Explore the Wire" grid (lib/explore2.js). Staging Oct 25 2026. */
.ex-t-close-r{--ex-a:#ffe0dc;--ex-b:#fff8f7;--ex-c:#c0262d}
.ex-t-road{--ex-a:#ffe8c7;--ex-b:#fffaf2;--ex-c:#c2570c}
.ex-t-build{--ex-a:#e3e8f0;--ex-b:#f8fafc;--ex-c:#3f5873}
.ex-t-biz{--ex-a:#d9f5e5;--ex-b:#f5fdf9;--ex-c:#13804a}
.ex-t-done{--ex-a:#d5f3ef;--ex-b:#f4fdfb;--ex-c:#0f766e}
.ex-t-sky{--ex-a:#dfe3fb;--ex-b:#f7f8ff;--ex-c:#3730a3}
.ex-t-meteor{--ex-a:#e9defc;--ex-b:#faf7ff;--ex-c:#6d28d9}
.ex-t-cal{--ex-a:#dbeafe;--ex-b:#f5f9ff;--ex-c:#1d4ed8}
.ex-t-ufo{--ex-a:#d8f6e9;--ex-b:#f4fdf8;--ex-c:#047857}
.ex-t-dark{--ex-a:#dfe4ee;--ex-b:#f7f9fc;--ex-c:#1e293b}
.ex-t-law{--ex-a:#e0e7f5;--ex-b:#f7f9fd;--ex-c:#1e3a8a}
.ex-t-verdict{--ex-a:#f6dfe1;--ex-b:#fdf7f8;--ex-c:#9f1239}
.ex-t-gov{--ex-a:#dcecf9;--ex-b:#f5fafe;--ex-c:#075985}
.ex-t-newlaw{--ex-a:#e2f3d9;--ex-b:#f8fdf5;--ex-c:#3f6212}
.ex-t-wknd{--ex-a:#fff0c2;--ex-b:#fffcf0;--ex-c:#a16207}
.ex-t-ev{--ex-a:#fde0ef;--ex-b:#fff7fb;--ex-c:#be185d}
.ex-t-launch{--ex-a:#ffe3d3;--ex-b:#fff8f4;--ex-c:#c2410c}
.ex-t-port{--ex-a:#d4eefc;--ex-b:#f4fbff;--ex-c:#0e7490}
.ex-t-river{--ex-a:#d1f1f0;--ex-b:#f3fcfc;--ex-c:#0f766e}
.ex-t-air{--ex-a:#e0f2fe;--ex-b:#f5fbff;--ex-c:#0369a1}
.ex-t-wx{--ex-a:#d9efff;--ex-b:#f5faff;--ex-c:#0284c7}
.ex-t-radar{--ex-a:#d7f7dd;--ex-b:#f4fdf6;--ex-c:#15803d}
.ex-t-cam{--ex-a:#fde2e2;--ex-b:#fff7f7;--ex-c:#dc2626}
.con-chip-done{background:#d5f3ef;color:#0f5e57}
.ex-mini-con{column-gap:28px}
.ex-mini-con .con-chip{font-size:10px}
.ex-mini-con .con-live{margin:3px 0 0;font-size:.82rem}
.ex-list{list-style:none;margin:4px 0 8px;padding:0 14px;background:#fff;border:1px solid #e3e9ee;border-radius:10px}
.ex-list li{padding:9px 0;border-bottom:1px solid #eef2f5;line-height:1.35}
.ex-list li:last-child{border-bottom:0}
.ex-list li:target{background:#fff8dc}
.ex-more-box{margin:18px 0;border:1px solid #e3e9ee;border-radius:12px;background:#fff;padding:0 14px}
.ex-more-box>summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center;color:#264b6b}
.ex-more-box[open]{padding-bottom:10px}
.lx-teaser h3 a{color:inherit;text-decoration:none}
.lx-teaser h3 a:hover{text-decoration:underline}
.lx-teaser:target,.legal-item:target{outline:3px solid #f2c94c;outline-offset:2px}
.legal-section .ex-more{margin-top:2px}
/* homepage grid: compact, colorful, icon + title + live count */
.ex-home{margin:22px 0 10px}
.ex-grid-home{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ex-tile-home{min-height:92px;padding:11px 12px 10px;gap:2px}
.ex-tile-home .ex-ic{font-size:1.6rem}
.ex-tile-home .ex-tt{font-size:.98rem}
.ex-tile-home .ex-sub{font-size:.78rem}
.ex-tile-home::after{width:64px;height:64px;right:-20px;top:-20px}
@media (max-width:640px){
  .ex-grid.ex-grid-home{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ex-tile.ex-tile-home{min-height:84px;padding:9px 8px 8px;border-radius:12px;align-items:flex-start}
  .ex-tile-home .ex-ic{font-size:1.4rem}
  .ex-tile-home .ex-tt{font-size:.84rem;line-height:1.15}
  .ex-tile-home .ex-sub{font-size:.7rem;line-height:1.2}
  .ex-page .cam-grid{grid-template-columns:1fr}
}
/* homepage Latest: compact thumbnail rows on phones (same stories, same order) */
@media (max-width:640px){
  main .grid.home-latest{display:block}
  main .grid.home-latest .card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start;margin:0;padding:10px 0;border:0;border-bottom:1px solid #e3e9ee;border-radius:0;box-shadow:none;background:none}
  main .grid.home-latest .card-img{display:block;width:96px;height:72px;margin:0;overflow:hidden;border-radius:8px;aspect-ratio:auto}
  main .grid.home-latest .card-img img{width:96px;height:72px;object-fit:cover;aspect-ratio:auto}
  main .grid.home-latest .card-body{padding:0}
  main .grid.home-latest .card-body .dek{display:none}
  main .grid.home-latest .card-body h3{font-size:1rem;line-height:1.25;margin:2px 0 3px}
  main .grid.home-latest .card-body .meta{font-size:.75rem}
}
