/* One calm frame for the BviviFy tools. Map dimensions and semantic states remain local. */
.site-shell-page{--shell-paper:#f6f5ef;--shell-ink:#173b35;--shell-muted:#596d65;--shell-line:#d8ddd2;--shell-lime:#d5f76b}
.site-shell-nav{position:relative;z-index:20;border-bottom:1px solid var(--shell-line);background:var(--shell-paper);color:var(--shell-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:13px;line-height:1.4;letter-spacing:0}
.site-shell-inner{width:100%;max-width:1500px;min-height:64px;margin:0 auto;padding:8px clamp(20px,4vw,56px);display:flex;align-items:center;gap:24px;box-sizing:border-box}
.site-shell-home{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;color:var(--shell-ink);font-size:13px;font-weight:750;letter-spacing:-.035em;text-decoration:none;border-right:1px solid var(--shell-line);padding-right:24px}
.site-shell-links{display:flex;align-items:center;flex-wrap:wrap;gap:3px;list-style:none;margin:0;padding:0;min-width:0;flex:1}
.site-shell-links li{margin:0;padding:0;min-width:0}
.site-shell-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 11px;border-radius:8px;box-sizing:border-box;text-decoration:none;color:var(--shell-muted);font-size:13px;font-weight:550;white-space:nowrap;transition:color .16s,background .16s}
.site-shell-links a:hover{color:var(--shell-ink);background:#e8ebdf}
.site-shell-links a[aria-current=page]{color:var(--shell-ink);background:var(--shell-lime);font-weight:750}
.site-shell-links .site-shell-external{color:var(--shell-ink)}
.site-shell-toggle{display:none}
.site-shell-nav [hidden]{display:none!important}
.site-shell-nav a:focus-visible,.site-shell-nav button:focus-visible{outline:3px solid #197660;outline-offset:3px}
.site-shell-skip{position:fixed;top:-100px;left:16px;z-index:2000;padding:12px 18px;border-radius:8px;background:var(--shell-lime);color:var(--shell-ink);font:600 14px/1.5 system-ui,sans-serif;text-decoration:none}
.site-shell-skip:focus{top:12px}
.site-shell-page .skip{z-index:2000}
.site-shell-page main:focus{outline:none}

/* Workspace tokens improve the existing components without changing their layouts. */
.site-shell-workspace{--navy:#173b35;--ink:#173b35;--muted:#596d65;--bg:#f6f5ef;--paper:#fffefa;--line:#d8ddd2;--green:#176b58;--mint:#edf2e6;--radius:12px;background:var(--shell-paper);color:var(--shell-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;-webkit-font-smoothing:antialiased}
.site-shell-workspace>.topbar{height:auto;min-height:90px;padding:18px clamp(20px,5vw,72px);background:var(--shell-paper);border-bottom:0;gap:20px;flex-wrap:wrap}
.site-shell-workspace>.topbar .brand{gap:12px}
.site-shell-workspace>.topbar .brand-icon{width:40px;height:40px;flex-basis:40px}
.site-shell-workspace>.topbar .brand-wordmark{width:126px;height:auto;object-fit:contain}
.site-shell-workspace>.topbar .brand-copy small{font-size:10px;letter-spacing:.08em;margin-top:1px;color:var(--shell-muted)}
.site-shell-workspace>.topbar>a:not(.brand){min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--shell-muted);font-size:13px}
.site-shell-workspace .badge{border-radius:5px;background:#edf0e6;border-color:var(--shell-line)}
.site-shell-workspace .status{font-size:12px;line-height:1.6}
.site-shell-workspace .intro,.site-shell-workspace .acv-heading,.site-shell-workspace .rfm-heading,.site-shell-workspace .concert-hero{margin-bottom:32px}
.site-shell-workspace h1{letter-spacing:-.045em;font-weight:650;line-height:1.28;text-wrap:balance}
.site-shell-workspace:not(.site-shell-atlas):not(.site-shell-discover) h1{font-size:clamp(30px,3.2vw,48px)}
.site-shell-workspace h2,.site-shell-workspace h3{letter-spacing:-.025em;text-wrap:balance}
.site-shell-workspace .lead{font-size:15px;line-height:1.85;max-width:72ch}
.site-shell-workspace .eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700}
.site-shell-workspace:not(.site-shell-atlas):not(.site-shell-discover) .panel{border-color:var(--shell-line);box-shadow:none;border-radius:12px;background:var(--paper)}
.site-shell-workspace .notice{border-radius:10px;line-height:1.8}
.site-shell-workspace .tabs{scrollbar-width:thin;scrollbar-color:#c7d1be transparent;gap:24px}
.site-shell-workspace .tab,.site-shell-workspace .rfm-nav{min-height:48px;font-size:13px}
.site-shell-workspace .tabs .tab.active{border-color:#176b58}
.site-shell-workspace button.primary,.site-shell-workspace button.secondary,.site-shell-workspace a.primary,.site-shell-workspace a.secondary{min-height:44px;border-radius:9px;font-size:13px;padding:10px 16px}
.site-shell-workspace input:not([type=checkbox]):not([type=radio]):not([type=file]),.site-shell-workspace select{min-height:44px;border-radius:8px;border-color:#c8d3c5;font-size:14px;color:var(--shell-ink)}
.site-shell-workspace:not(.site-shell-atlas):not(.site-shell-discover) label{font-size:12px;line-height:1.6}
.site-shell-workspace:not(.site-shell-atlas):not(.site-shell-discover) th{background:#f0f2e9;color:#4f665a;font-size:12px}
.site-shell-workspace:not(.site-shell-atlas):not(.site-shell-discover) td{font-size:13px;font-variant-numeric:tabular-nums}
.site-shell-workspace .ins-kpi{background:#edf1e3;border-color:var(--shell-line);border-radius:10px}
.site-shell-workspace .ins-kpi strong{font-size:32px;letter-spacing:-.04em}
.site-shell-workspace .ins-modes button{border-radius:10px;font-size:17px}
.site-shell-workspace .acv-kpi,.site-shell-workspace .rfm-kpi{border-radius:10px;background:var(--shell-ink)}
.site-shell-workspace .acv-kpi strong,.site-shell-workspace .rfm-kpi strong{color:var(--shell-lime);letter-spacing:-.04em}
.site-shell-workspace .concert-summary>div{border-radius:10px;background:#fffefa;border-color:var(--shell-line)}
.site-shell-workspace .concert-summary strong{font-size:28px;letter-spacing:-.04em}
.site-shell-workspace .prediction-card,.site-shell-workspace .concert-card{border-radius:10px;border-color:var(--shell-line)}
.site-shell-workspace .concert-card{padding:18px}
.site-shell-workspace .concert-card h3{font-size:16px;line-height:1.6}
.site-shell-workspace .concert-card time{color:#7b5a22}
.site-shell-workspace .prediction-lab,.site-shell-workspace .concert-filters{padding:24px}
.site-shell-workspace .source-card .note{font-size:13px}
.site-shell-workspace .source-facts{font-size:11px}
.site-shell-workspace .source-card a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
.site-shell-workspace footer{font-size:12px;line-height:1.7;color:var(--shell-muted)}
.site-shell-workspace footer a{min-height:44px;display:inline-flex;align-items:center}
.site-shell-workspace :is(button,a,input,select,summary):focus-visible{outline:3px solid #197660;outline-offset:3px}
.site-shell-workspace :is(button,a,input,select){touch-action:manipulation}

/* The standalone workspaces retain their established geometry and controls. */
.site-shell-tripiq>header{background:var(--shell-ink);min-height:90px;padding-block:18px}
.site-shell-tripiq>header .brand-wordmark{display:block;width:126px;height:auto;padding:4px 7px;border-radius:4px;background:var(--shell-paper)}
.site-shell-tripiq .panel,.site-shell-tripiq .offer{border-color:var(--shell-line);border-radius:12px;box-shadow:none}
.site-shell-tripiq .recommendation{border-radius:12px;box-shadow:none}
.site-shell-tripiq .privacy{border-radius:8px;font-size:12px;border-color:#c2ceb7}
.site-shell-discover{--surface:#f6f5ef;--text:#173b35;--border:#d8ddd2;--brand:#173b35;--lime:#d5f76b}
.site-shell-discover>header{padding-block:14px;background:var(--shell-ink)}
.site-shell-discover>header .wordmark{filter:none;background:var(--shell-paper);border-radius:6px;padding:4px 7px}
.site-shell-discover .place-panel{border-radius:12px}
.site-shell-discover #place-map{border-radius:12px}
.site-shell-discover .result{border-radius:10px}
.site-shell-atlas{--dark:#173b35;--green:#176b58;--lime:#d5f76b}
.site-shell-atlas>.topbar{min-height:76px;padding-block:12px}
.site-shell-atlas .workspace{height:calc(100dvh - 248px)}
.site-shell-atlas .intro{margin-bottom:0}
.site-shell-atlas .edition{font-size:10px}

@media(max-width:1100px){
 .site-shell-inner{min-height:60px;gap:16px;justify-content:space-between;flex-wrap:wrap;padding:8px 24px}
 .site-shell-home{border-right:0;padding-right:0}
 .site-shell-enhanced .site-shell-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;max-width:calc(100% - 84px);padding:10px 0 10px 12px;border:0;border-radius:6px;background:transparent;color:var(--shell-ink);font:600 13px/1.4 system-ui,-apple-system,sans-serif;cursor:pointer;box-sizing:border-box}
 .site-shell-toggle-mark{font-size:23px;line-height:1;font-weight:400;min-width:16px;text-align:center}
 .site-shell-links{flex-basis:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 0 16px;border-top:1px solid var(--shell-line)}
 .site-shell-links[hidden]{display:none!important}
 .site-shell-links a{justify-content:flex-start;background:#ecefe4;padding:12px 14px;white-space:normal;height:100%;min-height:48px}
 .site-shell-links a[aria-current=page]{background:var(--shell-lime)}
}
@media(max-width:720px){
 .site-shell-inner{padding:7px 18px;min-height:58px;gap:0 12px}
 .site-shell-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px 0 14px}
 .site-shell-toggle{font-size:12px;gap:12px}
 .site-shell-workspace>.topbar{min-height:76px;padding:14px 18px;gap:10px}
 .site-shell-workspace>.topbar .brand-icon{width:32px;height:32px;flex-basis:32px}
 .site-shell-workspace>.topbar .brand-wordmark{width:112px}
 .site-shell-workspace>.topbar .brand-copy small{display:none}
 .site-shell-workspace .topright{max-width:100%}
 .site-shell-workspace .status{font-size:11px}
 .site-shell-workspace .intro,.site-shell-workspace .acv-heading,.site-shell-workspace .rfm-heading,.site-shell-workspace .concert-hero{margin-bottom:24px}
 .site-shell-workspace:not(.site-shell-atlas):not(.site-shell-discover) h1{font-size:31px;line-height:1.35}
 .site-shell-workspace .lead{font-size:14px;line-height:1.85}
 .site-shell-workspace .tabs{gap:20px}
 .site-shell-workspace .tab,.site-shell-workspace .rfm-nav{font-size:12px}
 .site-shell-workspace .prediction-lab,.site-shell-workspace .concert-filters{padding:18px}
 .site-shell-workspace .concert-summary strong{font-size:24px}
 .site-shell-discover .place-panel{border-radius:18px 18px 0 0}
 .site-shell-tripiq>header{padding:16px 18px;gap:12px}
 .site-shell-tripiq>header nav{font-size:12px}
 .site-shell-tripiq .intro{display:block}
 .site-shell-atlas .intro{margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){
 .site-shell-nav *{transition:none!important;scroll-behavior:auto!important}
}
@media(max-width:640px){.site-shell-atlas .workspace{height:auto;min-height:0}}
@media print{.site-shell-nav,.site-shell-skip{display:none!important}}
/* Mode links need their own row; width alone cannot defeat flex-basis:0. */
@media(max-width:767px){
 .site-shell-discover>header nav{flex:1 0 100%;order:3;width:100%;min-width:0}
 .site-shell-discover>header nav a{white-space:nowrap;min-height:44px;display:flex;align-items:center;justify-content:center}
}
@media(max-width:600px){
 #footfall-main .event-time-filters label{flex:1 0 100%;min-width:0}
 #footfall-main .event-time-filters input{width:100%;min-width:0}
}
