/* City navigation and compact place pages. */
.brand img{display:block;flex:none;border-radius:6px}.breadcrumbs ol{display:flex;gap:10px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.breadcrumbs li+li:before{content:'/';margin-right:10px;color:var(--muted)}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.place-card{display:block;padding:26px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none}.place-card:hover{border-color:var(--ink);color:var(--ink)}.place-card h2{margin:14px 0 10px;font-size:24px}.place-card p{font-size:14px;color:var(--muted);margin:0}.place-card .eyebrow{font-size:10px}.related{justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 0 18px}.related a{text-decoration:underline;font-size:13px}.city-section{padding-bottom:22px}.city-note{margin-top:24px}.wait-summary{margin-top:20px}.reading-card h2.eyebrow{font-size:10px;letter-spacing:1px}.index-number{margin-top:22px}.freshness-note{font-size:12px}.footer-links{align-items:flex-end}.home-destination>.reading-card{margin:0}
@media(max-width:540px){.place-grid{grid-template-columns:1fr}.place-card{padding:22px}.footer-links{align-items:flex-start}.related{flex-direction:column;align-items:flex-start}.header-inner{column-gap:12px}nav{gap:12px}.brand{font-size:18px;gap:9px}}

.no-js [data-check],.no-js [data-share],.no-js [data-clear]{display:none}

/* Place-specific grades and explicit relative fallbacks share one colour palette. */
:root{--quiet:#14734d;--normal:#866000;--busy:#b42a32;--unavailable:#59676b}
.reading-card{--level:var(--unavailable)}.level-quiet{--level:var(--quiet)}.level-normal{--level:var(--normal)}.level-busy{--level:var(--busy)}.level-unavailable{--level:var(--unavailable)}
.reading-card .index-number,.busyness-label{color:var(--level)}
.busyness{margin-top:24px}.busyness .eyebrow{font-size:10px;letter-spacing:.6px}.busyness-label{font-size:38px;font-weight:700;line-height:1.25;letter-spacing:-.6px;margin:7px 0 0}
.reading-card .index-number{font-size:38px;letter-spacing:-1px;margin-top:20px}.experience-description{font-size:14px;line-height:1.6;margin:10px 0 0;color:var(--ink)}.level-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--muted);margin:14px 0}
.level-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.level-legend .quiet:before{background:var(--quiet)}.level-legend .normal:before{background:#d6a316}.level-legend .busy:before{background:var(--busy)}
.level-unavailable .level-legend{opacity:.5}.reading-card .status-pill{background:#edf0ed;color:#53666a}
@media(max-width:540px){.busyness-label{font-size:32px}.header-inner{row-gap:16px}.site-header nav{flex-wrap:wrap;gap:14px}.brand img{width:32px;height:32px}.busyness .eyebrow{font-size:9px}}

.action-message:empty{display:none}

/* Stable place catalogue, same-level navigation and optional local search. */
.directory-section{margin:40px 0}.directory-search{margin-bottom:24px}.directory-search label{display:block;font-weight:650;font-size:14px;margin-bottom:8px}.directory-search input{display:block;width:min(100%,520px);min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink)}.directory-search input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.no-js .directory-search{display:none}.place-grid{gap:16px}.place-card h2{overflow-wrap:anywhere}.sibling-section{margin:28px 0}.sibling-section summary{font-size:15px;padding:14px 0}.sibling-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px;align-items:start;font-size:13px;line-height:1.6}.sibling-links a{display:block;padding:5px 0;overflow-wrap:anywhere}.hero-copy h1{overflow-wrap:anywhere;font-size:clamp(34px,4.6vw,60px)}.visit-advisory{padding:18px;border-left:3px solid #936f25;background:#f1eada;font-size:13px;margin-top:22px}.related{flex-wrap:wrap}.place-boundary{max-width:42em}@media(max-width:650px){.sibling-links{grid-template-columns:repeat(2,minmax(0,1fr))}.place-grid{grid-template-columns:1fr}.hero-copy h1{font-size:38px}}

/* SVG points keep their semantic colour on hover and keyboard focus. */
.chart-dot[data-level]{fill:var(--unavailable)}.chart-dot[data-level="quiet"]{fill:var(--quiet)}.chart-dot[data-level="normal"]{fill:var(--normal)}.chart-dot[data-level="busy"]{fill:var(--busy)}.chart-dot:focus-visible{stroke:var(--ink);stroke-width:3;outline:none;r:6.5}
.chart-legend .normal:before{background:var(--normal)}
.copy-buffer{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0;pointer-events:none}

/* The inspector uses the existing paper/ink palette and never moves the plot. */
.history-chart{position:relative;isolation:isolate;--chart-level:var(--unavailable)}
.history-chart .x-label.is-obscured{visibility:hidden}.history-chart .chart-dot{cursor:crosshair}.history-chart .chart-dot.is-current{stroke:var(--white);stroke-width:2.5}
.chart-guide{stroke:var(--chart-level);stroke-width:1;stroke-dasharray:3 4;opacity:.6;pointer-events:none;vector-effect:non-scaling-stroke}
.chart-active-ring{fill:none;stroke:var(--chart-level);stroke-width:1.5;opacity:.65;pointer-events:none;vector-effect:non-scaling-stroke}
.chart-tooltip{position:absolute;z-index:3;width:156px;max-width:calc(100% - 8px);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);box-shadow:0 8px 24px #17383e18;line-height:1.3}
.chart-tooltip-grade{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650;color:var(--chart-level)}
.chart-tooltip-grade i{flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.chart-tooltip-value{display:flex;align-items:baseline;gap:8px;margin-top:6px}.chart-tooltip-value b{font-size:30px;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums}.chart-tooltip-value span{font-size:11px;color:var(--muted)}
.chart-time-tag{position:absolute;z-index:2;padding:5px 9px;border-radius:6px;background:var(--ink);color:var(--white);font-family:ui-monospace,monospace;font-size:11px;line-height:1.4;white-space:nowrap;box-shadow:0 2px 8px #17383e14;pointer-events:none}
@media(max-width:540px){.chart-tooltip{width:132px;padding:7px 10px;border-radius:9px}.chart-tooltip-grade{font-size:10px;gap:5px}.chart-tooltip-value{margin-top:3px;gap:6px}.chart-tooltip-value b{font-size:23px}.chart-tooltip-value span{font-size:10px}.chart-time-tag{font-size:10px;padding:4px 7px}}
@media print{.chart-tooltip,.chart-time-tag,.chart-guide,.chart-active-ring{display:none!important}}
