:root {
  color-scheme:light;
  --btp-link:#10264D; --btp-surface:#FFFFFF; --btp-surface-raised:#D5F3E3;
  --btp-on-dark:#FFFFFF; --btp-on-gold:#10264D;
  --btp-placeholder:#E1EDE6; --btp-placeholder-line:#C3D9CC;
  --btp-place-action-height:0px;
}
html {font-size:100%; -webkit-text-size-adjust:100%; text-size-adjust:100%}
body {font-size:1rem}
body p,body li {font-size:1rem}
body :is(.btp-card,.place-card,.event-card) :is(p,li,span,small,summary,.btp-card-description,.btp-card-details,.btp-card-extra,.photo-credit) {font-size:1rem}
body :is(.btp-card,.place-card,.event-card) .sr-only {font-size:1rem}
body .btp-card :is(.btp-card-description,.btp-card-details,.btp-card-extra) {font-size:1rem;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
body .btp-card :is(.photo-credit,.event-art-credit,.btp-card-placeholder) {font-size:1rem!important}
body .btp-card :is(.photo-credit,.event-art-credit) a {font-size:inherit}
body .site-header :is(.header-cta,.header-plan,.button) {font-size:.8125rem!important;line-height:1.35;white-space:normal}
body .right-now-card .right-now-areas button {min-width:0;white-space:normal;overflow-wrap:anywhere;height:auto;min-height:44px}
body :is(.small,.eyebrow,.footer-note,.evidence-line,.photo-credit) {font-size:.8125rem}
body .analytics-choice button {font-size:.8125rem;min-width:0;flex:0 0 auto}
body .analytics-choice {gap:8px;padding-inline:8px}
body .analytics-message {min-width:0}
body .analytics-message a {font-size:.8125rem}
body .btp-card-badge {color:var(--btp-on-gold)}
body .btp-card :is(h2,h3) {overflow-wrap:anywhere}
body .wrap,body main,body section,body article,body fieldset {min-width:0}
body :is(p,li,h1,h2,h3,figcaption,a,button) {overflow-wrap:anywhere}
.place-summary {padding:16px;margin-block:16px 24px;border:1px solid var(--btp-teal-line);border-radius:12px;background:var(--btp-teal-tint);display:grid;gap:16px}
.place-summary p {margin:0}
.place-summary [data-summary-kind=checked] {border-top:1px solid var(--btp-teal-line);padding-top:16px}
#place-hours {scroll-margin-top:calc(var(--btp-sticky-top,120px) + 16px)}
.place-action-bar {display:none}
body.btp-place-actions-visible {padding-bottom:calc(var(--btp-body-base-padding,0px) + var(--btp-place-action-height))!important}
html {scroll-padding-bottom:calc(var(--btp-place-action-height) + var(--btp-consent-height,0px) + 16px)}
@media(max-width:767px) {
 .place-action-bar:not([hidden]) {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:fixed;inset:auto 0 0;z-index:55;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--btp-sand);border-top:1px solid var(--btp-control)}
 .place-action-bar a {display:flex;align-items:center;justify-content:center;height:48px;padding:8px 4px;font-size:.8125rem;line-height:1.2;font-weight:700;border:1px solid var(--btp-teal);border-radius:12px;color:var(--btp-on-dark);background:var(--btp-teal);text-decoration:none}
 .place-action-bar a:focus-visible {outline:3px solid var(--btp-coral);outline-offset:2px}
 body.btp-consent-visible .place-action-bar {display:none}
 body .site-header .wrap {gap:8px}
 body .site-header .brand {min-width:0}
 body .site-header .brand img {max-width:100%}
}
.event-placeholder {min-height:320px;pointer-events:none;box-shadow:none!important}
.event-placeholder .placeholder-image {aspect-ratio:16/9;background:var(--btp-placeholder)}
.placeholder-copy {padding:16px;display:grid;gap:16px}
.placeholder-copy span {display:block;height:16px;border-radius:8px;background:var(--btp-placeholder-line)}
.placeholder-copy span:first-child {height:24px;width:80%}
.placeholder-copy span:last-child {width:60%}
/* Static placeholders need no animation and respect reduced-motion naturally. */
@media all {
 html[data-btp-theme="dark"] {
  color-scheme:dark;
  --btp-teal:#10264D; --btp-lagoon:#10264D; --btp-harbor:#0B1B38; --btp-night:#0B1427;
  --btp-gold:#6ACD9B; --btp-coral:#FF9986; --btp-coral-on-dark:#FF9986;
  --btp-sand:#0B1427; --btp-sand-deep:#1B3454; --btp-line:#49637B;
  --btp-ink:#E9FFF0; --btp-ink-soft:#D1E8DC; --btp-white:#10264D;
  --btp-control:#A4C6B4; --btp-teal-line:#779C89; --btp-teal-tint:#1D4138;
  --btp-status-good:#A9E7C8; --btp-status-good-bg:#17382B;
  --btp-status-warn:#FFDB93; --btp-status-warn-bg:#3D2B10;
  --btp-status-danger:#FFB0A3; --btp-status-danger-bg:#46241F;
  --btp-link:#6ACD9B; --btp-surface:#10264D; --btp-surface-raised:#1B3454;
  --btp-on-dark:#FFFFFF; --btp-on-gold:#10264D;
  --btp-placeholder:#244459; --btp-placeholder-line:#49637B;
  --teal:var(--btp-link); --ink:var(--btp-ink); --muted:var(--btp-ink-soft);
  --line:var(--btp-line); --pale:var(--btp-surface); --selected:var(--btp-teal-tint); --gold:var(--btp-gold);
  --btp-shadow:0 2px 8px rgb(0 0 0 / 24%); --btp-shadow-hover:0 4px 12px rgb(0 0 0 / 32%);
 }
 html[data-btp-theme="dark"] body {background:var(--btp-sand);color:var(--btp-ink)}
 html[data-btp-theme="dark"] body :is(h1,h2,h3,h4,legend,label) {color:var(--btp-ink)}
 html[data-btp-theme="dark"] body a {color:var(--btp-link)}
 html[data-btp-theme="dark"] body :is(.button,.primary,.preferred-source-button),html[data-btp-theme="dark"] body .place-action-bar a {background:var(--btp-teal);color:var(--btp-on-dark)}
 html[data-btp-theme="dark"] body .time-card:not(:last-child) {color:var(--btp-on-dark)}
 html[data-btp-theme="dark"] body :is(.outline,.secondary) {background:var(--btp-surface);color:var(--btp-link);border-color:var(--btp-control)}
 html[data-btp-theme="dark"] body .btp-card .btp-card-badge,html[data-btp-theme="dark"] body .chosen-tag {color:var(--btp-on-gold)}
 html[data-btp-theme="dark"] body .skip {background:var(--btp-night);color:var(--btp-on-dark)}
 html[data-btp-theme="dark"] body .time-card:last-child,html[data-btp-theme="dark"] body .time-card:last-child :is(strong,span) {color:var(--btp-on-gold)}
 html[data-btp-theme="dark"] body .planner-shell :is(button[aria-pressed=true],button[aria-checked=true]) small {color:var(--btp-on-dark)}
 html[data-btp-theme="dark"] body .btp-chip[aria-pressed=true],html[data-btp-theme="dark"] body .right-now-areas button[aria-pressed=true] {background:var(--btp-teal)!important;color:var(--btp-on-dark)!important}
 html[data-btp-theme="dark"] body .planner-shell :is(button[aria-pressed=true],button[aria-checked=true]) {background:var(--btp-teal);color:var(--btp-on-dark)}
 html[data-btp-theme="dark"] body .site-footer,html[data-btp-theme="dark"] body .site-footer :is(a,h2,p,button) {color:var(--btp-on-dark)}
 html[data-btp-theme="dark"] body .analytics-choice [data-choice=allow] {background:var(--btp-teal);color:var(--btp-on-dark)}
 html[data-btp-theme="dark"] body .analytics-choice [data-choice=deny] {background:var(--btp-surface);color:var(--btp-link)}
 html[data-btp-theme="dark"] body .preferred-source-fallback {color:var(--btp-link)}
 html[data-btp-theme="dark"] body :is(input,select,textarea) {background:var(--btp-surface);color:var(--btp-ink);border-color:var(--btp-control)}
 /* Photographs, logos, maps and embedded videos retain their original pixels. */
}
@media print {.place-action-bar,.event-placeholder {display:none!important}body.btp-place-actions-visible{padding-bottom:0!important}}

/* A visible theme control in both header layouts. */
.theme-toggle {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--btp-control);border-radius:12px;background:var(--btp-surface);color:var(--btp-ink);font:700 .8125rem/1.3 var(--btp-font-body,system-ui);white-space:nowrap;flex:none}
.header-inner > .theme-toggle {order:3}
.b3-phone-bar > .theme-toggle {order:1;margin-left:auto;padding:8px}
.b3-phone-bar > .b3-menu-open {order:2;margin-left:0}
.b3-phone-bar > .b3-brand {order:0}
.planner-theme-control {display:flex;justify-content:flex-end;padding:8px 16px;background:var(--btp-sand)}
.theme-toggle:focus-visible {outline:3px solid var(--btp-coral);outline-offset:3px}
html[data-btp-theme="dark"] .brand img,html[data-btp-theme="dark"] .b3-brand img {background:#E9FFF0;border-radius:6px;padding:4px}
@media(max-width:767px){.b3-phone-bar{gap:8px}.b3-brand{max-width:150px}.theme-toggle{font-size:.8125rem}}
@media print{.theme-toggle,.planner-theme-control{display:none!important}}

/* Glass day/night control. The light shifts from the lower edge at night to the upper edge by day. */
html:root body .theme-toggle {position:relative;display:inline-flex;min-width:86px!important;width:86px;height:46px;min-height:46px;padding:0!important;border:1px solid #9baac5!important;border-radius:16px!important;background:linear-gradient(145deg,#dce5f2,#9dafc5)!important;box-shadow:inset 0 2px 6px #293d5c77,0 2px 5px #07122544;touch-action:pan-y;overflow:visible}
html:root body .theme-toggle[aria-pressed="true"] {background:linear-gradient(150deg,#0b1020,#151e31 55%,#070c17)!important;border-color:#52647f!important;box-shadow:inset 0 2px 7px #000b,0 2px 7px #050a1599}
.theme-glass-orb {position:absolute;top:3px;left:3px;width:38px;height:38px;display:grid;place-items:center;isolation:isolate;border:1px solid #ffffffe8;border-radius:13px;background:linear-gradient(155deg,#ffffffc9 0%,#dae8ff7a 42%,#90a7ca88 100%);box-shadow:inset 0 1px 2px #fff,inset 0 -3px 6px #526f9e66,0 -2px 2px #fff,0 -4px 8px #d5e7ff,0 3px 7px #152d5488;transform:translateX(40px);transition:transform .4s cubic-bezier(.2,1.4,.5,1),background .35s,box-shadow .35s;pointer-events:none}
.theme-glass-orb::before {content:"";position:absolute;inset:1px;border-radius:11px;background:linear-gradient(165deg,#ffffff73,transparent 44%,#bcd5ff28);box-shadow:inset 1px 0 2px #fff8,inset -1px 0 2px #8facda66;z-index:-1}
.theme-glass-orb::after {content:"";position:absolute;left:5px;right:5px;top:-2px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 3px 2px #e6f5ff,0 0 10px 3px #91bcff;opacity:.95;transition:top .35s,box-shadow .35s}
.theme-toggle[aria-pressed="true"] .theme-glass-orb {transform:translateX(0);border-color:#d5e2ffb8;background:linear-gradient(155deg,#b7c9e777 0%,#53668599 46%,#263c77d9 100%);box-shadow:inset 0 1px 3px #fff9,inset 0 -3px 7px #9ebcff88,0 3px 2px #c6d8ff,0 5px 10px #6e98ff,0 6px 16px #7399ffb3}
.theme-toggle[aria-pressed="true"] .theme-glass-orb::after {top:calc(100% - 1px);box-shadow:0 0 3px 2px #cbdcff,0 0 10px 4px #769bff}
.theme-sun,.theme-moon {font:22px/1 system-ui,sans-serif;grid-area:1/1;text-shadow:0 0 5px currentColor}.theme-sun{color:#8a5a00}.theme-moon{display:none;color:#fff4d7}.theme-toggle[aria-pressed="true"] .theme-sun{display:none}.theme-toggle[aria-pressed="true"] .theme-moon{display:block}
.theme-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.theme-glass-orb,.theme-glass-orb::after{transition:none}}

.theme-toggle[data-theme-dragging] .theme-glass-orb {transform:translateX(var(--theme-drag-x));transition:none}

/* WebGL paints the glass over the CSS fallback; the icons stay in the accessible button. */
.theme-glass-canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;z-index:0}
.theme-glass-orb .theme-sun,.theme-glass-orb .theme-moon{position:relative;z-index:1}
@media(max-width:767px){html:root body .theme-toggle{width:94px;min-width:94px!important;height:50px;min-height:50px}.theme-glass-orb{width:42px;height:42px;transform:translateX(44px)}.theme-toggle[aria-pressed="true"] .theme-glass-orb{transform:translateX(0)}.theme-toggle[data-theme-dragging] .theme-glass-orb{transform:translateX(var(--theme-drag-x))}}
