/* Shared layout for the arena, city map and destination details. */
:root{--header:64px;--edge:20px;--panel:320px;--safe-b:env(safe-area-inset-bottom,0px);--surface:rgba(255,255,251,.97);--ui-shadow:0 8px 32px #173e3417,0 1px 4px #173e340a}
.topbar{height:var(--header);padding:0 var(--edge);background:#fffffc;border-bottom:1px solid #dce3d6}
.brand-mark{width:36px;height:36px;border-radius:10px}
.brand-type strong{font-size:19px}
.brand-type>span{font-size:8px;letter-spacing:1.7px}
.view-tabs{border-radius:12px;padding:3px}
.view-tab{height:38px;min-width:108px;font-size:13px}
.topbar-actions{gap:4px}
.icon-button,.topbar-actions .icon-button{width:40px;height:40px}
.festival-open{height:40px;border-radius:10px;font-size:12px;padding:0 14px}
#experience{inset:var(--header) 0 0}
#map{inset:0}
.sidebar{left:var(--edge);top:var(--edge);bottom:34px;width:var(--panel);max-height:760px;padding:20px 18px 0;border-radius:18px;border:1px solid #ffffffd9;background:var(--surface);box-shadow:var(--ui-shadow);overflow:hidden;transition:opacity .16s,transform .2s}
.sidebar-heading .eyebrow{font-size:9px;letter-spacing:1.5px}
.sidebar-heading h1{font-size:27px;line-height:1.1;letter-spacing:-1px;margin:10px 0 9px;font-weight:700}
.sidebar-heading p{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.4;margin:0;color:#647566}
.date-dot{width:6px;height:6px;background:#85a64a;border-radius:50%}
.sidebar .search-wrap{height:44px;margin-top:18px;background:#f1f4eb;border-color:#e1e6da;border-radius:11px}
.search-wrap input{font-size:13px;padding-left:38px}
.search-wrap kbd{font-size:11px;width:18px;height:21px}
.sidebar .category-filters{gap:4px;margin-top:10px;flex-wrap:nowrap}
.filter{height:36px;font-size:10px;padding:0 7px;border-radius:8px;font-weight:600;gap:4px}
.filter .icon{width:13px;height:13px}
.places-open{margin-top:8px;min-height:40px;padding:9px 11px;border-radius:10px;font-size:12px;background:#f1f5e7;border-color:#dce5ce}
.sidebar .list-heading{margin:17px 0 6px}
.list-heading>span:first-child{font-size:9px;letter-spacing:1.25px;color:#63755e}
.live-indicator{font-size:10px}
.sidebar .destinations{min-height:60px;margin:0 -6px;padding:0 6px 6px;scrollbar-width:thin}
.sidebar .destination,.sidebar .destination-item{padding:10px 8px;margin:2px 0;gap:12px;min-height:64px;border-radius:11px}
.sidebar .destination-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px;font-size:16px}
.destination-copy{gap:4px}
.destination-copy strong,.poi-destination .destination-copy>strong{font-size:14px;line-height:1.3}
.destination-copy>span,.poi-destination .destination-copy>span{font-size:11px;line-height:1.4;color:#6a796a}
.destination-arrow{font-size:19px;color:#879a75}
.sidebar .entrances{padding:12px 0}
.entrances-title{font-size:11px;margin-bottom:9px}
.sidebar .entrance-buttons button{height:40px;font-size:11px;border-radius:9px;padding:0 8px}
.sidebar .sidebar-bottom{margin:0 -18px;padding:10px 8px;font-size:9px;gap:4px;background:#f7f9f2}
.panel-toggle{display:flex;align-items:center;justify-content:center;position:absolute;top:12px;right:10px;left:auto;width:36px;height:36px;padding:0;border-radius:9px;color:#6d7f65}
.panel-toggle:hover{background:#eef2e7}
.panel-toggle .icon{width:17px;height:17px;transform:rotate(90deg)}
.panel-toggle-label,.sheet-handle{display:none}
.panel-open{position:absolute;top:var(--edge);left:var(--edge);z-index:6;display:none;align-items:center;gap:9px;height:44px;padding:0 16px;border:1px solid #fff;border-radius:12px;background:var(--surface);box-shadow:var(--ui-shadow);font-weight:650;font-size:13px}
body[data-panel-open=false]:not(.has-selection) .panel-open{display:flex}
@media(min-width:761px){body[data-panel-open=false] .sidebar{opacity:0;pointer-events:none;transform:translateX(-18px);visibility:hidden}}
.has-selection .sidebar{visibility:hidden;pointer-events:none}
.map-context{position:absolute;top:var(--edge);left:calc(var(--panel) + var(--edge)*2);z-index:4;display:flex;flex-direction:column;gap:9px;pointer-events:none}
.map-heading{position:static;gap:0;order:-1}
.map-eyebrow{display:none}
.map-heading-location{font-size:12px;font-weight:650;color:#3b5946;text-shadow:0 1px 3px #fff}
.map-heading-location>span{display:none}
.building-state{position:static;display:flex;align-self:flex-start;max-width:none;font-size:11px;padding:8px 10px;border-radius:8px;border:1px solid #ffffffc7;background:#fffff4df;box-shadow:0 2px 8px #173e3408}
body[data-panel-open=false]:not(.has-selection) .map-context{left:var(--edge);top:76px}
.map-legend{right:84px;top:var(--edge);gap:13px;font-size:10px;padding:9px 12px;border:1px solid #ffffffb5;border-radius:9px;background:#fffff5dc}
.map-controls{right:var(--edge);top:var(--edge);bottom:auto;gap:8px;z-index:6}
.control-button{width:44px;height:44px;border-radius:11px;background:var(--surface);box-shadow:var(--ui-shadow);font-size:12px;color:#365843}
.control-button:hover{transform:none;background:#eef4df}
.control-button .icon{width:20px;height:20px}
.compass{height:54px;font-size:9px;gap:0}
.compass .icon{width:20px;height:24px}
.zoom-controls{border-radius:12px;box-shadow:var(--ui-shadow)}
.zoom-controls>.control-button{width:42px;height:44px}
.map-dock{position:absolute;z-index:9;left:calc(50% + var(--panel)/2);bottom:34px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px;background:#173e34f5;color:#f7faed;border:1px solid #ffffff35;border-radius:17px;box-shadow:0 8px 28px #123a342b;max-width:calc(100% - var(--panel) - 70px)}
.level-switch{position:static;transform:none;background:none;box-shadow:none;border:0;display:flex;gap:3px;padding:0;border-radius:0}
.level-switch button{height:42px;font-size:12px;padding:0 12px;gap:7px;border-radius:10px;color:#e0e9d4;white-space:nowrap}
.level-switch button:hover{background:#ffffff16}
.level-switch button.active,.level-switch button[aria-pressed=true]{background:#edf5dc;color:#224839;box-shadow:0 1px 5px #0001}
.level-switch .icon{width:17px;height:17px}
.level-short{display:none}
.map-tools{display:flex;align-items:center;gap:3px;padding-left:8px;border-left:1px solid #ffffff26}
.map-tools>.control-button,.map-tools .season-control>.control-button{width:42px;height:42px;border:0;box-shadow:none;background:transparent;border-radius:10px;color:#e0e9d4}
.map-tools .control-button:hover{background:#ffffff16;color:#fff}
.map-tools .control-button[data-season]{color:#e0e9d4}
.activity-toggle{position:relative;inset:auto;display:flex;padding:0;gap:0;font-size:12px}
.activity-toggle>span{display:none}
.activity-toggle[aria-pressed=true]{background:#ffffff19;color:#e7f4bf}
.activity-toggle[aria-pressed=false]{background:none;color:#a4b4a6}
#map-options-toggle{display:none}
[data-tooltip]{position:relative}
[data-tooltip]:hover::after,[data-tooltip]:focus-visible::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%);padding:7px 10px;border-radius:7px;background:#163d34;color:#fff;font-size:11px;white-space:nowrap;pointer-events:none;box-shadow:var(--ui-shadow)}
.season-panel{bottom:calc(100% + 18px);right:-48px;top:auto;width:250px;border-radius:15px;padding:17px;color:#244b3d}
.season-panel p{font-size:12px}
.season-options button{font-size:12px;min-height:44px}
.detail-card{left:var(--edge);right:auto;top:var(--edge);bottom:auto;width:var(--panel);max-height:calc(100% - var(--edge) - 34px);padding:17px 19px 20px;border-radius:18px;box-shadow:var(--ui-shadow);background:var(--surface);overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.detail-top{flex-direction:row-reverse;margin:0 0 16px;min-height:36px}
.detail-back{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;min-height:40px;padding:0 8px 0 0;border-radius:8px}
.detail-back:hover{color:#6a8b32}
.detail-back .icon{width:17px;height:17px;transform:rotate(180deg)}
.detail-badge{font-size:9px;padding:7px 9px;letter-spacing:.7px}
.detail-card h2{font-size:28px;line-height:1.12;letter-spacing:-.7px}
.detail-meta{font-size:12px;line-height:1.5}
.detail-copy,.detail-card .detail-copy{font-size:13px;line-height:1.65;margin:14px 0;color:#52694f}
.detail-courts{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.detail-courts button{min-width:44px;height:40px;border-radius:9px;background:#edf3df;border:1px solid #dce6cb;font-size:12px;font-weight:650}
.detail-courts button:hover{background:#dcecba}
.route-options{margin-top:14px;padding-top:14px}
.route-select-wrap{height:42px}
.route-select-wrap select{font-size:12px}
.primary-button{min-height:44px;font-size:13px;border-radius:10px}
.route-info{font-size:11px;line-height:1.6}
.text-button{min-height:40px;font-size:12px;padding:8px 0}
.map-hint{left:calc(var(--panel) + var(--edge)*2);bottom:11px;font-size:10px;gap:5px}
.map-hint i{margin:0 3px}
.map-footer{left:var(--edge);right:auto;bottom:calc(8px + var(--safe-b));flex-direction:column;align-items:flex-start;gap:3px;font-size:9px;color:#435e48}
.map-footer>span:first-child{max-width:var(--panel);font-size:8px}
.loading-screen{padding-left:var(--panel)}
.festival-guide{border-radius:20px 0 0 20px}
.guide-tabs button{min-height:44px}
.poi-filters button{min-height:36px;font-size:11px}
.poi-directions a{min-height:40px;align-items:center}
@media(min-width:1600px){:root{--edge:28px;--panel:344px}.sidebar{padding:23px 22px 0}.sidebar .sidebar-bottom{margin:0 -22px}.sidebar-heading h1{font-size:30px}.filter{padding:0 9px;font-size:11px}.sidebar .destination{min-height:72px}.detail-card{padding:20px 23px}}
@media(min-width:761px) and (max-width:1150px){:root{--panel:292px;--edge:16px}.filter{font-size:10px;padding:0 6px}.filter .icon{display:none}.map-heading{display:none}.map-legend{right:78px;font-size:9px;gap:10px}.level-long{display:none}.level-short{display:inline}.level-switch button{padding:0 10px}.map-dock{gap:5px;padding:5px;max-width:none}.map-tools{gap:0;padding-left:5px}.map-tools>.control-button,.map-tools .season-control>.control-button{width:38px}.map-hint{display:none}.view-tab{min-width:94px}.brand-type>span{letter-spacing:1.4px}}
@media(min-width:761px) and (max-height:800px){.sidebar{top:var(--edge);bottom:34px;padding-top:17px}.sidebar-heading .eyebrow{font-size:8px}.sidebar-heading h1{font-size:25px;margin:8px 0}.sidebar-heading p{font-size:11px}.sidebar .search-wrap{height:42px;margin-top:13px}.sidebar .list-heading{margin:12px 0 4px}.sidebar .destination{min-height:52px;padding:6px 8px;margin:1px 0}.sidebar .entrances{padding:10px 0}.sidebar .sidebar-bottom{padding:8px}.sidebar .destination-icon{width:35px;height:35px;flex-basis:35px}}
@media(min-width:761px) and (max-height:660px){.sidebar-heading .eyebrow,.sidebar-heading p,.entrances-title,.sidebar-bottom{display:none}.sidebar-heading h1{font-size:23px;margin:0}.sidebar .search-wrap{margin-top:12px}.sidebar .entrances{padding:8px 0}.sidebar .list-heading{margin-top:10px}.sidebar .destination{min-height:49px}.sidebar .destination-copy>span{font-size:10px}}
@media(min-width:761px) and (max-width:950px){.map-dock{left:auto;right:16px;transform:none}.map-tools{display:none;position:absolute;bottom:calc(100% + 10px);right:0;padding:8px;border:1px solid #ffffff35;background:#173e34;border-radius:13px;box-shadow:var(--ui-shadow)}.tools-open .map-tools{display:flex}#map-options-toggle{display:flex;width:42px;height:42px;background:#ffffff13;color:white;border:0;box-shadow:none}.map-legend{display:none}.season-panel{right:0}.topbar-actions #fullscreen{display:none}}
@media(max-width:760px){
 :root{--header:112px;--edge:12px;--panel:0px;--sheet:96px}
 .topbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:56px 48px;column-gap:8px;padding:0 14px 8px;height:var(--header)}
 .brand{gap:8px;width:max-content}.brand-mark{width:32px;height:32px;padding:4px}.brand-type strong{font-size:17px;letter-spacing:-.6px}.brand-type>span{font-size:7px;letter-spacing:1.35px}
 .topbar-actions{grid-column:2;grid-row:1;gap:2px}.topbar-actions .icon-button{width:40px;height:44px}.topbar-actions .icon-button .icon{width:20px;height:20px}#fullscreen{display:none}
 .festival-open{width:auto;height:40px;min-width:44px;padding:0 10px;font-size:11px;gap:6px}.festival-open>span{display:inline}.festival-open .icon{width:17px;height:17px}
 .view-tabs{position:static;grid-column:1/-1;grid-row:2;transform:none;width:100%;height:44px;justify-self:stretch;padding:3px;gap:3px;border-radius:11px}.view-tab{flex:1;min-width:0;height:38px;font-size:12px;padding:0 10px;gap:7px}.view-tab .icon{display:block;width:16px;height:16px}
 #experience{inset:var(--header) 0 0}#map{inset:0 0 calc(var(--sheet) + 20px) 0}
 .sidebar,body[data-category=poi] .sidebar:not(.collapsed){left:12px;right:12px;top:auto;bottom:calc(24px + var(--safe-b));width:auto;height:min(66dvh,540px);max-height:calc(100% - 16px);padding:34px 14px 0;border-radius:18px;transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:height .22s;box-shadow:0 8px 40px #153d3424}
 .sidebar.collapsed,.sidebar.is-collapsed{height:var(--sheet);max-height:var(--sheet);padding-bottom:12px;transform:none;opacity:1;visibility:visible;pointer-events:auto}
 .panel-toggle{top:0;left:0;right:0;width:100%;height:32px;display:flex;align-items:center;justify-content:center;gap:6px;touch-action:none;border-radius:18px 18px 0 0;font-size:10px;color:#687b60}
 .panel-toggle .sheet-handle{display:block;width:26px;height:3px;background:#bac8ae;border-radius:3px;margin:0 3px 0 0}.panel-toggle .panel-toggle-label{display:inline;height:auto;width:auto;background:none;margin:0}.panel-toggle .icon{width:13px;height:13px;transform:none}.sidebar.collapsed .panel-toggle .icon{transform:rotate(180deg)}
 .sidebar-heading{display:none}.sidebar .search-wrap,.sidebar.collapsed .search-wrap{height:46px;margin:0 0 10px;border-radius:11px}.search-wrap input{font-size:16px;padding:0 12px 0 38px}.search-wrap kbd{display:none}
 .sidebar .category-filters{margin:0;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:1px 0 6px;scrollbar-width:none}.filter{height:40px;font-size:12px;padding:0 10px;flex-shrink:0;gap:5px}.filter .icon{width:14px;height:14px}
 .places-open{margin-top:3px;min-height:42px;font-size:12px;padding:10px}.sidebar .list-heading{margin:12px 0 4px}.list-heading>span:first-child{font-size:9px}.live-indicator{font-size:10px}.sidebar .destinations{min-height:45px;margin:0 -4px;padding:0 4px 8px}.sidebar .destination{min-height:62px;padding:9px 6px}.sidebar .destination-icon{width:38px;height:38px;flex-basis:38px}.destination-copy strong,.poi-destination .destination-copy>strong{font-size:14px}.destination-copy>span,.poi-destination .destination-copy>span{font-size:12px}
 .sidebar .entrances{display:block;padding:9px 0 12px}.entrances-title{display:none}.sidebar .entrance-buttons button{height:44px;font-size:12px}.sidebar .sidebar-bottom{display:none}.sidebar.collapsed .entrances{display:none}
 body[data-panel-open=false]:not(.has-selection) .panel-open{display:none}.has-selection .sidebar{visibility:hidden;pointer-events:none}
 .map-context,body[data-panel-open=false]:not(.has-selection) .map-context{left:12px;top:12px;gap:0}.map-heading{display:none}.building-state{font-size:10px;max-width:calc(100vw - 84px);padding:8px 9px}.map-legend{display:none}
 .map-controls{right:12px;top:12px;bottom:auto;gap:7px}.control-button{width:44px;height:44px}.compass{height:50px;font-size:9px}.zoom-controls>.control-button{width:42px;height:44px}.control-button .icon{width:20px;height:20px}
 .map-dock{left:12px;right:12px;bottom:calc(var(--sheet) + 34px + var(--safe-b));transform:none;max-width:none;gap:4px;padding:5px;border-radius:15px;justify-content:space-between;z-index:9}
 .level-switch{flex:1;gap:2px;justify-content:space-between}.level-switch button{flex:1;height:44px;padding:0 7px;font-size:11px;gap:5px;justify-content:center}.level-switch .icon{width:16px;height:16px}.level-long{display:none}.level-short{display:inline}
 #map-options-toggle{display:flex;flex-shrink:0;width:44px;height:44px;background:#ffffff13;color:#fff;border:0;box-shadow:none}
 .map-tools{display:none;position:absolute;right:0;bottom:calc(100% + 10px);border:1px solid #ffffff35;border-radius:14px;background:#173e34;box-shadow:var(--ui-shadow);padding:8px;gap:5px}.tools-open .map-tools{display:flex}.map-tools>.control-button,.map-tools .season-control>.control-button{width:46px;height:46px}
 .season-panel{right:-60px;bottom:calc(100% + 20px);top:auto;width:248px;padding:15px}.season-options button{font-size:12px;min-height:44px}
 [data-tooltip]::after{display:none}
 body[data-panel-open=true] .map-dock,body[data-panel-open=true] .map-controls{visibility:hidden;pointer-events:none}.has-selection .map-dock{visibility:hidden;pointer-events:none}.has-selection .map-controls{visibility:visible;pointer-events:auto}
 .detail-card{top:auto;left:12px;right:12px;bottom:calc(24px + var(--safe-b));width:auto;max-height:60%;padding:12px 18px 18px;border-radius:18px}.detail-top{margin-bottom:10px}.detail-back{min-height:44px;font-size:13px}.detail-card h2{font-size:26px}.detail-meta{font-size:12px}.detail-card .detail-copy{font-size:13px;margin:10px 0;line-height:1.6}.detail-courts button{height:44px}.route-select-wrap{height:44px}.route-select-wrap select{font-size:16px;min-width:140px}.primary-button{min-height:46px;font-size:13px}.route-info{font-size:12px}.detail-card .route-options{margin-top:12px;padding-top:12px}
 .map-hint{display:none}.map-footer{left:12px;right:12px;bottom:calc(6px + var(--safe-b));font-size:8px;gap:8px}.map-footer>span:first-child{font-size:7px;max-width:53%}.loading-screen{padding:0 20px 120px}.festival-guide{border-radius:0}.guide-header{padding-top:22px}.guide-tabs button{min-height:44px}.poi-filters button{min-height:40px;font-size:12px}
}
@media(max-width:370px){.brand-type>span{font-size:6px}.brand-type strong{font-size:16px}.brand-mark{width:28px;height:28px}.brand{gap:6px}.festival-open{padding:0 8px}.festival-open>span{display:none}.level-switch button{font-size:10px;padding:0 5px}.level-switch .icon{width:14px;height:14px}.sidebar .filter{font-size:11px;padding:0 8px}}
@media(max-width:760px) and (max-height:560px) and (orientation:landscape){:root{--header:56px;--sheet:88px}#map{inset:0}.topbar{grid-template-columns:auto 1fr auto;grid-template-rows:56px;padding:0 12px;gap:12px}.view-tabs{grid-column:2;grid-row:1;max-width:240px;justify-self:center}.topbar-actions{grid-column:3}.brand-type>span{display:none}.festival-open>span{display:none}.sidebar,body[data-category=poi] .sidebar:not(.collapsed){right:auto;width:310px;height:calc(100% - 30px)}.sidebar.collapsed{height:88px}.map-dock{left:auto;right:12px;bottom:26px;width:300px}.map-controls{flex-direction:row}.zoom-controls{flex-direction:row}.zoom-controls>.control-button:first-child{border-bottom:0;border-right:1px solid #e7eddf}.compass{height:44px}.map-context{display:none}.detail-card{right:auto;width:310px;max-height:calc(100% - 32px)}.has-selection .map-dock{visibility:visible;pointer-events:auto}.map-footer>span:first-child{display:none}.map-footer{justify-content:flex-end}}

@media(max-width:950px){
 .map-tools [data-tool-label]{flex-direction:column;gap:5px;min-width:61px;height:60px!important}
 .map-tools [data-tool-label]::after{content:attr(data-tool-label);display:block;position:static;transform:none;padding:0;background:none;box-shadow:none;color:inherit;font-size:9px;line-height:1;white-space:nowrap}
 .map-tools #view-toggle{font-size:15px;font-weight:750}
 .map-tools .season-panel{right:-80px}
}

/* Preserve reachability when browser zoom, a keyboard or a short window reduces height. */
.sidebar .destination-copy,.detail-card p,.modal-card p{overflow-wrap:anywhere}
.modal-card,.season-panel{overscroll-behavior:contain;scrollbar-width:thin}
@media(max-height:620px){
 .sidebar:not(.collapsed){overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding:16px}
 .sidebar:not(.collapsed)>.destinations{flex:0 0 auto;min-height:0;overflow:visible}
 .sidebar:not(.collapsed)>.entrances,.sidebar:not(.collapsed)>.sidebar-heading,.sidebar:not(.collapsed)>.places-open{flex-shrink:0}
 .guide-header{padding:16px 22px 12px}
 .guide-header h2{font-size:25px;margin:5px 0}
 .guide-header p{display:none}
 .guide-tabs{padding:0 16px 8px}
 .guide-footer{padding:9px 20px calc(9px + env(safe-area-inset-bottom));font-size:11px}
 .guide-footer>span{display:none}
}
@media(max-width:760px) and (max-height:560px) and (orientation:portrait){
 .sidebar,body[data-category=poi] .sidebar:not(.collapsed){height:calc(100% - 48px);max-height:calc(100% - 48px)}
 .sidebar.collapsed,.sidebar.is-collapsed{height:var(--sheet);max-height:var(--sheet)}
 .map-context{display:none}
}
@media(max-width:380px){
 .route-options{flex-wrap:wrap}
 .route-select-wrap{flex:1}
 .route-select-wrap select{width:100%;min-width:0}
}
/* Native help dialog keeps the map inert and owns its backdrop. */
dialog.modal{display:none;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:24px;border:0;background:transparent;color:var(--ink);overflow:hidden}
dialog.modal[open]{display:grid;place-items:center}
dialog.modal::backdrop{background:transparent}
dialog.modal .modal-card{max-height:calc(100dvh - 48px);overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:760px){dialog.modal{padding:12px}dialog.modal .modal-card{max-height:calc(100dvh - 24px)}}

/* Keep the corner credit and map attribution clear of navigation on small screens. */
@media(min-width:761px) and (max-width:1400px){.map-dock{bottom:60px}}
@media(max-width:760px){
 #map{bottom:calc(var(--sheet) + 44px)}
 .sidebar,body[data-category=poi] .sidebar:not(.collapsed),.detail-card{bottom:calc(48px + var(--safe-b));max-height:calc(100% - 60px)}
 .detail-card{max-height:min(60%,calc(100% - 60px))}
 .map-dock{bottom:calc(var(--sheet) + 58px + var(--safe-b))}
 .map-footer{right:auto;bottom:calc(8px + var(--safe-b));max-width:calc(100% - 156px);gap:3px;font-size:8px}
 .map-footer>span:first-child{max-width:100%;font-size:7px}
}
@media(max-width:760px) and (max-height:560px) and (orientation:landscape){
 #map{bottom:0}
 .map-dock{bottom:calc(56px + var(--safe-b))}
 .sidebar,body[data-category=poi] .sidebar:not(.collapsed){height:calc(100% - 60px)}
 .sidebar.collapsed{height:88px}
}
