/* Afterglow / navigation development. Kept separate from the other concepts. */
.afterglow { --ag-header: 78px; --ag-context: 61px; }
html:has(.afterglow) { scroll-padding-top: 160px; }
.afterglow [id] { scroll-margin-top: 0; }
.afterglow .ag-header-shell { position: sticky; top: 0; z-index: 60; background: #2b202b; color: #fff3e8; border-bottom: 1px solid #ffffff1f; }
.afterglow .site-header { position: relative; inset: auto; min-height: var(--ag-header); border: 0; gap: 24px; }
.afterglow .site-header .brand { flex-shrink: 0; }
.afterglow .nav { gap: 27px; }
.afterglow .nav > a { font-size: 14px; position: relative; }
.afterglow .nav > a[aria-current="location"]:after { content: ''; height: 2px; background: #efc2a8; position: absolute; bottom: 2px; left: 0; right: 0; }
.afterglow .ag-search-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; border: 1px solid #c1a3ad; color: inherit; background: transparent; border-radius: 25px; padding: 9px 17px; font-size: 13px; }
.afterglow .ag-header-actions { display: flex; align-items: center; gap: 10px; }
.afterglow .ag-header-actions .menu-toggle { color: #fff3e8; border-color: #80636e; }
.afterglow .cinema { min-height: 0; }
.afterglow .cinema-inner { padding-top: 49px; padding-bottom: 28px; }
.afterglow h1 { font-size: clamp(63px, 5.9vw, 85px); line-height: 1; margin: 21px 0 25px; }
.afterglow .cinema-copy { max-width: 370px; }
.afterglow .cinema .btn { margin-top: 24px; }
.afterglow .cinema-credit { top: 150px; }
.afterglow .night-companion { position: relative; bottom: auto; margin-top: 41px; box-shadow: none; grid-template-columns: 1.3fr 1fr 1fr auto; padding: 22px 26px; gap: 24px; }
.afterglow .night-companion .btn { margin: 0; min-height: 46px; }
.afterglow .companion-location { padding-right: 23px; }
.afterglow .companion-location .location-field select { width: 100%; max-width: 240px; }
.afterglow .ag-change-place { color: #775b60; background: none; padding: 0; border: 0; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; min-height: 30px; }
.afterglow .ag-context { position: sticky; top: var(--ag-header); z-index: 40; background: #faf1e6f5; backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.afterglow .ag-context-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: var(--ag-context); }
.afterglow .ag-context-place { display: flex; align-items: center; gap: 9px; background: none; color: var(--ink); border: 0; padding: 8px 0; min-height: 44px; font-size: 14px; }
.afterglow .ag-context-place strong { font-weight: 600; }
.afterglow .ag-context-links { display: flex; align-items: center; gap: 29px; }
.afterglow .ag-context-links a { display: inline-flex; align-items: center; min-height: 60px; font-size: 13px; border-bottom: 2px solid transparent; }
.afterglow .ag-context-links a[aria-current="location"] { border-color: var(--accent); color: var(--accent); font-weight: 600; }
.afterglow .ag-mobile-nav { display: none; }
.ag-section { padding: 64px 0; }
.ag-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.ag-section-head h2 { margin-top: 11px; font-size: 46px; }
.ag-section-head > p { font-size: 14px; color: var(--muted); max-width: 335px; line-height: 1.7; }
.ag-forecast-layout { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fffaf3; }
.ag-forecast-summary { padding: 30px; border-right: 1px solid var(--line); }
.ag-forecast-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 26px; }
.ag-forecast-top .location-field { max-width: 260px; flex: 1; }
.ag-forecast-top select { font-size: 22px; width: 100%; }
.ag-save { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; min-width: 44px; padding: 8px 13px; border: 1px solid var(--line); background: transparent; border-radius: 25px; color: var(--ink); font-size: 13px; white-space: nowrap; }
.ag-save[aria-pressed=true] { background: #edd9d7; border-color: #8b3542; color: #762535; }
.ag-save[aria-pressed=true] svg { fill: #8b3542; stroke: #8b3542; }
.ag-verdict { font-family: var(--display); font-size: 37px; line-height: 1.1; font-weight: 500; margin-bottom: 14px; }
.ag-verdict.good { color: #3c5830; }
.ag-verdict.mixed { color: #80520c; }
.ag-verdict.limited, .ag-verdict.unknown { color: #775b60; }
.ag-forecast-summary > p { font-size: 15px; color: var(--muted); line-height: 1.75; max-width: 450px; }
.ag-viewing-window { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 0; margin-top: 20px; border-block: 1px solid var(--line); }
.ag-viewing-window strong { font-size: 23px; font-weight: 500; letter-spacing: -.035em; }
.ag-viewing-window .eyebrow { max-width: 125px; font-size: 10px; }
.ag-summary-links { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.ag-summary-links .text-link { font-size: 12px; gap: 8px; }
.ag-forecast-detail { padding: 30px; background: #f6e9df; }
.ag-forecast-detail .periods { margin-bottom: 25px; }
.ag-forecast-detail .periods button { border-radius: 24px; min-width: 94px; }
.ag-weather-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ag-weather-grid > div { border-right: 1px solid var(--line); }
.ag-weather-grid > div:last-child { border: 0; }
.ag-weather-grid dt { font-size: 12px; color: var(--muted); }
.ag-weather-grid dd { margin: 7px 0 3px; font-size: 27px; font-weight: 500; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ag-weather-grid small { display: block; font-size: 10px; color: var(--muted); }
.ag-hours-heading { margin-top: 29px; margin-bottom: 11px; display: flex; justify-content: space-between; gap: 20px; font-size: 11px; color: var(--muted); }
.ag-forecast-detail .hours { height: 104px; }
.ag-forecast-detail .ag-hours-empty { display: flex; align-items: center; border-block: 1px dashed #bba2a2; }
.ag-hours-empty p { font-size: 14px; color: var(--muted); line-height: 1.6; max-width: 320px; }
.afterglow .status.unknown { color: #775b60; }
.ag-forecast-detail .hour i { max-width: none; }
.ag-forecast-detail .forecast-note { margin-top: 21px; font-size: 11px; }
.ag-explanation { margin-top: 18px; border-bottom: 1px solid var(--line); }
.ag-explanation summary { display: flex; justify-content: space-between; gap: 15px; list-style: none; cursor: pointer; padding: 16px 0; min-height: 50px; font-size: 14px; }
.ag-explanation summary:after { content: '+'; font-size: 20px; }
.ag-explanation[open] summary:after { content: '−'; }
.ag-explanation p { color: var(--muted); font-size: 14px; line-height: 1.75; padding-bottom: 18px; max-width: 850px; }
.ag-demo-note { font-size: 11px; color: var(--muted); margin-top: 18px; line-height: 1.7; }
.ag-demo-note strong { color: var(--ink); font-weight: 600; }
.ag-places-section { border-top: 1px solid var(--line); }
.ag-place-tools { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; align-items: end; gap: 15px; margin-bottom: 23px; }
.ag-filter-field label { display: block; font-size: 12px; margin-bottom: 7px; }
.ag-filter-field input { width: 100%; min-height: 48px; padding: 11px 15px; border: 1px solid #aa9296; border-radius: 6px; color: var(--ink); background: #fffaf3; }
.ag-filter-field input::placeholder { color: #775b60; opacity: 1; }
.ag-toggle-group { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 7px; }
.ag-toggle-group button { border: 0; padding: 10px 14px; min-height: 40px; border-radius: 4px; background: transparent; color: var(--muted); font-size: 12px; }
.ag-toggle-group button[aria-pressed=true] { background: #442a30; color: #fff4e9; }
.ag-place-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); border: 1px solid var(--line); border-radius: 11px; overflow: hidden; min-height: 515px; }
.ag-place-list { background: #fffaf3; padding: 12px 24px; max-height: 520px; overflow: auto; scrollbar-color: #b99f9f #fffaf3; scrollbar-width: thin; }
.ag-place-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; border: 0; border-bottom: 1px solid #e6d5d1; background: transparent; padding: 18px 10px; text-align: left; color: var(--ink); min-height: 83px; }
.ag-place-row:last-child { border-bottom: 0; }
.ag-place-row strong { font-size: 18px; font-weight: 500; display: block; }
.ag-place-row small { font-size: 12px; color: var(--muted); display: block; margin-top: 3px; }
.ag-place-row [data-row-status] { text-align: right; font-size: 12px; color: #536844; }
.ag-place-row[aria-pressed=true] { background: #efe2d9; box-shadow: inset 3px 0 #8b3542; border-radius: 5px; }
.ag-place-row:hover { background: #f6ece4; }
.ag-place-row:focus-visible { outline-offset: -3px; }
.ag-map { position: relative; min-height: 515px; background: #e9d9cf; overflow: hidden; isolation: isolate; }
.ag-map:before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(#fff6 1px, transparent 1px), linear-gradient(90deg,#fff6 1px,transparent 1px); background-size: 56px 56px; z-index: -1; }
.ag-map .map-art { position: absolute; width: 500px; height: 615px; left: 50%; top: -40px; transform: translateX(-50%); }
.ag-map .land { fill: #c3c3a9; stroke: #999c83; stroke-width: 1; }
.ag-map .land-sweden,.ag-map .land-finland,.ag-map .land-russia { fill: #ded7bf; stroke: #bcb49b; }
.ag-map-title { position: absolute; left: 22px; top: 20px; right: 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 10px; letter-spacing: .07em; color: #66554f; }
.ag-map-overlay { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; z-index: 1; }
.ag-map-overlay circle { fill: #fff5e9; stroke: #8b3542; stroke-width: 2; }
.ag-map-overlay .active-point { fill: #8b3542; stroke: #fff5e9; stroke-width: 3; }
.ag-map-pin { position: absolute; transform: translate(-50%, -50%); z-index: 2; border: 0; color: #442a30; background: #fff8ee; padding: 10px 14px; min-height: 44px; border-radius: 6px; font-size: 13px; box-shadow: 0 2px 10px #442a301a; }
.ag-map-pin[aria-pressed=true] { background: #8b3542; color: #fff4e9; }
.ag-map-note { position: absolute; bottom: 15px; left: 20px; right: 20px; color: #66554f; font-size: 10px; }
.ag-map-selection { position: absolute; left: 20px; bottom: 47px; z-index: 3; padding: 16px 19px; background: #fff8ee; border-radius: 7px; border: 1px solid #d0b9ae; max-width: min(300px, calc(100% - 40px)); box-shadow: 0 5px 20px #442a3010; }
.ag-map-selection .eyebrow { font-size: 9px; color: #775b60; }
.ag-map-selection strong { font-size: 22px; font-weight: 500; display: block; margin: 5px 0; }
.ag-map-selection p { font-size: 11px; color: #775b60; }
.ag-map-selection a { font-size: 12px; text-decoration: underline; text-underline-offset: 4px; min-height: 40px; display: inline-flex; align-items: center; gap: 12px; }
.ag-map-selection .ag-map-outside { margin-top: 9px; font-size: 12px; line-height: 1.5; max-width: 245px; }
.ag-place-layout.ag-list-only { grid-template-columns: 1fr; min-height: 0; }
.ag-list-only .ag-place-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 30px; max-height: 510px; }
.ag-list-only .ag-map { display: none; }
.ag-place-empty { padding: 30px 5px; font-size: 14px; color: var(--muted); }
.ag-places-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 14px; }
.ag-places-bottom p { font-size: 12px; color: var(--muted); }
.ag-places-bottom .text-link { font-size: 12px; }
.ag-plan-section { background: #f0ded9; }
.ag-plan-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 70px; align-items: start; }
.ag-plan-intro h2 { margin: 12px 0 21px; max-width: 330px; }
.ag-plan-intro p { font-size: 15px; color: var(--muted); line-height: 1.75; max-width: 345px; }
.ag-plan-intro .btn { margin-top: 25px; }
.ag-plan-paths { display: grid; gap: 0; }
.ag-plan-path { display: grid; grid-template-columns: 32px 1fr 22px; gap: 18px; align-items: center; padding: 26px 0; border-top: 1px solid #ceb0b5; }
.ag-plan-path:last-child { border-bottom: 1px solid #ceb0b5; }
.ag-plan-path > span:first-child { font-size: 11px; color: var(--muted); }
.ag-plan-path h3 { font-family: 'Source Sans 3',sans-serif; font-size: 21px; font-weight: 500; margin-bottom: 7px; }
.ag-plan-path p { font-size: 13px; color: var(--muted); }
.ag-plan-path:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.afterglow .human-intro { padding-top: 64px; padding-bottom: 44px; }
.afterglow .evening { padding-bottom: 64px; }
.afterglow .editorial { background: transparent; border-top: 1px solid var(--line); }
.ag-guide-topics { display: flex; flex-wrap: wrap; gap: 9px; margin: -8px 0 27px; }
.ag-guide-topics a { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid var(--line); border-radius: 25px; padding: 8px 17px; font-size: 13px; }
.ag-guide-topics a:hover { background: #f0ded9; }
.ag-footer-back { font-size: 13px; display: inline-flex; align-items: center; gap: 15px; min-height: 44px; }
.ag-search-dialog { width: min(590px, calc(100% - 32px)); max-height: calc(100dvh - 48px); border: 1px solid #c5aeb3; border-radius: 14px; color: #442a30; background: #fff8ef; padding: 0; box-shadow: 0 25px 100px #150e2666; }
.ag-search-dialog::backdrop { background: #201725b5; backdrop-filter: blur(4px); }
.ag-dialog-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; padding: 25px 27px 17px; }
.ag-dialog-head h2 { font-family: 'Barlow Semi Condensed',sans-serif; font-size: 35px; font-weight: 500; margin-top: 6px; }
.ag-dialog-head button { border: 1px solid #d9bfc0; background: none; width: 44px; height: 44px; border-radius: 50%; color: #442a30; font-size: 25px; flex-shrink: 0; }
.ag-dialog-search { padding: 0 27px; }
.ag-dialog-search label { display: block; font-size: 12px; margin-bottom: 7px; }
.ag-dialog-search input { width: 100%; min-height: 50px; border: 1px solid #aa9296; border-radius: 6px; color: #442a30; background: #fffdf9; padding: 12px 15px; font-size: 17px; }
.ag-dialog-search input::placeholder { color: #775b60; opacity: 1; }
.ag-search-count { padding: 12px 27px 6px; font-size: 11px; color: #775b60; }
.ag-search-results { padding: 0 17px 17px; max-height: min(350px, 42dvh); overflow: auto; overscroll-behavior: contain; }
.ag-search-results button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 64px; padding: 12px; background: transparent; border: 0; border-bottom: 1px solid #e7d7d3; color: #442a30; text-align: left; border-radius: 4px; }
.ag-search-results button:hover, .ag-search-results button:focus-visible { background: #efdfd6; }
.ag-search-results button:focus-visible { outline-offset: -3px; }
.ag-search-results strong { display: block; font-size: 17px; font-weight: 500; }
.ag-search-results small { display: block; font-size: 11px; color: #775b60; }
.ag-search-results .ag-place-empty { padding-inline: 12px; }
.ag-dialog-footer { border-top: 1px solid #d9bfc0; padding: 15px 27px; font-size: 11px; color: #775b60; line-height: 1.6; }
.ag-toast { position: fixed; left: 50%; bottom: 25px; transform: translateX(-50%); z-index: 80; background: #442a30; color: #fff4e9; border-radius: 7px; padding: 13px 20px; font-size: 14px; max-width: calc(100% - 40px); text-align: center; box-shadow: 0 4px 25px #442a3033; }
.afterglow .skip:focus { top: 10px; z-index: 100; }

@media(max-width:1100px) {
  .afterglow .nav { gap: 19px; }
  .afterglow .nav > a { font-size: 13px; }
  .ag-header-actions .ag-search-trigger { padding: 9px 13px; }
  .ag-header-actions .ag-search-trigger span { display: none; }
  .afterglow .night-companion { gap: 17px; }
  .ag-forecast-summary,.ag-forecast-detail { padding: 25px; }
  .ag-viewing-window strong { font-size: 20px; }
  .ag-weather-grid { gap: 12px; }
  .ag-weather-grid dd { font-size: 24px; }
  .ag-place-tools { grid-template-columns: minmax(180px,1fr) auto; }
  .ag-place-tools .ag-view-mode { display: none; }
  .ag-plan-grid { gap: 40px; }
}
@media(max-width:850px) {
  .afterglow .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #302431; color: #fff2e8; padding: 16px; border: 1px solid #775b60; border-radius: 0 0 8px 8px; box-shadow: 0 20px 30px #1b102733; }
  .afterglow .nav.open { display: flex; flex-direction: column; align-items: stretch; gap: 2px; }
  .afterglow .nav > a { min-height: 47px; padding: 10px 15px; font-size: 15px; }
  .afterglow .nav > a[aria-current="location"]:after { left: 15px; right: auto; width: 24px; }
  .afterglow .menu-toggle { display: block; min-width: 60px; }
  .afterglow .ag-header-actions .ag-search-trigger span { display: inline; }
  .afterglow .night-companion { grid-template-columns: 1.1fr 1fr auto; }
  .afterglow .night-companion .companion-status { display: none; }
  .afterglow .ag-context-links { gap: 18px; }
  .afterglow .ag-context-links a { font-size: 12px; }
  .ag-forecast-layout { grid-template-columns: 1fr; }
  .ag-forecast-summary { border-right: 0; border-bottom: 1px solid var(--line); }
  .ag-forecast-detail { padding-block: 26px; }
  .ag-forecast-top { margin-bottom: 20px; }
  .ag-forecast-summary > p { max-width: none; }
  .ag-verdict { font-size: 36px; }
  .ag-viewing-window { margin-top: 18px; }
  .ag-place-layout { grid-template-columns: 1fr 1fr; }
  .ag-place-list { padding: 10px 15px; }
  .ag-place-row { gap: 12px; }
  .ag-place-row strong { font-size: 16px; }
  .ag-place-row [data-row-status] { font-size: 10px; }
  .ag-map .map-art { width: 430px; height: 529px; top: 10px; }
  .ag-map { padding-bottom: 50px; }
  .ag-map-selection { position: relative; margin: 455px 15px 0; left: auto; bottom: auto; max-width: none; }
  .ag-plan-grid { grid-template-columns: 1fr; gap: 30px; }
  .ag-plan-intro p,.ag-plan-intro h2 { max-width: 500px; }
}
@media(max-width:600px) {
  .afterglow { --ag-header: 65px; padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  html:has(.afterglow) { scroll-padding-top: 84px; scroll-padding-bottom: 85px; }
  .afterglow [id] { scroll-margin-top: 0; }
  .afterglow .site-header { min-height: var(--ag-header); gap: 10px; }
  .afterglow .site-header .brand-name { font-size: 21px; }
  .afterglow .site-header .brand-symbol { width: 26px; height: 26px; }
  .afterglow .site-header .brand-name small { display: none; }
  .afterglow .ag-header-actions .ag-search-trigger { padding: 8px 11px; width: 44px; }
  .afterglow .ag-header-actions .ag-search-trigger span { display: none; }
  .afterglow .menu-toggle { min-width: 51px; min-height: 43px; }
  .afterglow .ag-header-actions { gap: 6px; }
  .afterglow .cinema-inner { padding-top: 33px; padding-bottom: 24px; }
  .afterglow h1 { font-size: clamp(45px,13.4vw,60px); margin: 20px 0 23px; }
  .afterglow .cinema-copy { font-size: 15px; max-width: 330px; }
  .afterglow .cinema-inner > .btn { display: none; }
  .afterglow .night-companion { margin-top: 27px; padding: 20px; grid-template-columns: 1fr 1fr; gap: 13px 20px; }
  .afterglow .night-companion .companion-status { display: block; }
  .afterglow .companion-location { padding: 0; border: 0; grid-column: 1/-1; }
  .afterglow .companion-location .location-field { gap: 12px; justify-content: space-between; }
  .afterglow .companion-location select { font-size: 20px; min-width: 0; max-width: 210px; }
  .afterglow .ag-change-place { font-size: 11px; }
  .afterglow .night-companion .window { font-size: 18px; }
  .afterglow .night-companion .btn { grid-column: 1/-1; justify-content: space-between; min-height: 47px; }
  .afterglow .ag-context { position: static; background: #faf1e6; backdrop-filter: none; }
  .afterglow .ag-context-inner { min-height: 53px; }
  .afterglow .ag-context-links { display: none; }
  .afterglow .ag-context-place { width: 100%; justify-content: space-between; }
  .afterglow .ag-context-place > span:first-of-type { margin-right: auto; }
  .afterglow .ag-mobile-nav { display: grid; grid-template-columns: repeat(5,1fr); position: fixed; bottom: 0; left: 0; right: 0; z-index: 65; padding: 6px 10px max(7px,env(safe-area-inset-bottom)); border-top: 1px solid #d9bfc0; background: #fff8ef; box-shadow: 0 -3px 25px #442a3010; }
  .ag-mobile-nav a,.ag-mobile-nav button { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 4px; color: #775b60; border: 0; background: none; border-radius: 5px; font: inherit; font-size: 10px; min-height: 48px; padding: 4px 2px; }
  .ag-mobile-nav .icon { width: 20px; height: 20px; }
  .ag-mobile-nav a[aria-current=location] { background: #efdfd6; color: #762535; font-weight: 600; }
  .ag-section { padding-block: 42px; }
  .ag-section-head { display: block; margin-bottom: 22px; }
  .ag-section-head h2 { font-size: 38px; margin-top: 9px; }
  .ag-section-head > p { margin-top: 17px; font-size: 14px; }
  .ag-forecast-summary,.ag-forecast-detail { padding: 21px; }
  .ag-forecast-top { gap: 12px; }
  .ag-save { padding: 8px 12px; }
  .ag-save span { display: none; }
  .ag-forecast-top select { font-size: 20px; }
  .ag-verdict { font-size: 33px; }
  .ag-forecast-summary > p { font-size: 14px; }
  .ag-viewing-window { padding: 18px 0; gap: 17px; }
  .ag-viewing-window strong { font-size: 20px; }
  .ag-viewing-window .eyebrow { font-size: 9px; max-width: 115px; }
  .ag-summary-links { flex-wrap: wrap; gap: 2px 15px; }
  .ag-weather-grid { gap: 9px; }
  .ag-weather-grid dt { font-size: 10px; }
  .ag-weather-grid dd { font-size: 24px; }
  .ag-weather-grid small { font-size: 9px; }
  .ag-forecast-detail .hour { font-size: 9px; }
  .ag-hours-heading { font-size: 10px; margin-top: 23px; }
  .ag-place-tools { grid-template-columns: 1fr; gap: 12px; }
  .ag-place-tools .ag-view-mode { display: none; }
  .ag-toggle-group { width: max-content; }
  .ag-place-layout { grid-template-columns: 1fr; min-height: 0; }
  .ag-place-list { max-height: 355px; padding: 4px 15px; }
  .ag-place-row { min-height: 75px; padding: 14px 10px; }
  .ag-place-row strong { font-size: 17px; }
  .ag-place-row [data-row-status] { font-size: 11px; }
  .ag-map { min-height: 0; border-top: 1px solid var(--line); }
  .ag-map .map-art { width: 390px; height: 480px; top: 5px; }
  .ag-map-pin { padding: 8px 11px; font-size: 12px; }
  .ag-map-selection { margin-top: 425px; padding: 12px 17px; bottom: auto; }
  .ag-map-selection strong { font-size: 20px; }
  .ag-map-title { font-size: 9px; }
  .ag-map-note { font-size: 9px; }
  .ag-places-bottom { align-items: start; gap: 10px; }
  .ag-places-bottom p { max-width: 160px; font-size: 11px; padding-top: 7px; }
  .ag-places-bottom .text-link { font-size: 11px; gap: 7px; }
  .ag-plan-path { gap: 13px; grid-template-columns: 25px 1fr 18px; padding: 22px 0; }
  .ag-plan-path h3 { font-size: 19px; }
  .ag-plan-path p { font-size: 12px; }
  .afterglow .human-intro { padding-top: 44px; padding-bottom: 32px; }
  .afterglow .evening { padding-bottom: 44px; }
  .ag-guide-topics { gap: 7px; }
  .ag-guide-topics a { padding: 8px 13px; font-size: 12px; }
  .ag-dialog-head { padding: 22px 20px 16px; }
  .ag-dialog-search { padding: 0 20px; }
  .ag-dialog-head h2 { font-size: 30px; }
  .ag-search-count { padding-inline: 20px; }
  .ag-search-results { padding-inline: 10px; }
  .ag-dialog-footer { padding: 13px 20px; }
  .ag-toast { bottom: 84px; font-size: 13px; width: max-content; }
}
@media(max-width:370px) {
  .afterglow .site-header .brand-name { font-size: 19px; }
  .afterglow .site-header .brand-symbol { width: 24px; height: 24px; }
  .afterglow .site-header .brand { gap: 6px; }
  .afterglow .ag-header-actions .ag-search-trigger { width: 42px; }
  .afterglow .menu-toggle { min-width: 44px; }
  .afterglow .night-companion { padding: 17px; gap: 13px 12px; }
  .afterglow .night-companion .window { font-size: 16px; }
  .ag-forecast-summary,.ag-forecast-detail { padding: 18px; }
  .ag-viewing-window strong { font-size: 18px; }
  .ag-weather-grid dd { font-size: 21px; }
  .ag-place-row [data-row-status] { font-size: 10px; }
}
@media(prefers-reduced-motion:reduce) { .ag-search-dialog::backdrop { backdrop-filter: none; } }
