@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pacifico.woff2)format("woff2");unicode-range:U+20,U+61,U+65,U+67,U+69,U+6C-6F,U+71-73,U+75}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/fonts/nunito-sans.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:italic;font-weight:200 1000;font-display:swap;src:url(/fonts/nunito-sans-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/playfair-display.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/playfair-display-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-brand:"Pacifico", cursive;--font-serif:"Playfair Display", Georgia, serif;--font-heading:"Nunito Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Nunito Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-ui:"Nunito Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-code:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-body-scale:1;--font-body-line-height:1.75;--header-height:80px;--header-height-mobile:56px;--header-translate-y:0px;--header-bottom:var(--header-height,80px);--header-visible-height:var(--header-height,80px);--text-2xs:.72rem;--text-xs:.8rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.08rem;--text-lg:1.15rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2.25rem;--text-display:3rem;--color-bg-page:#faf9f6;font-family:var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--lightningcss-light,#0f172a) var(--lightningcss-dark,#f8fafc);font-size-adjust:from-font;interpolate-size:allow-keywords;scrollbar-width:thin;scrollbar-color:var(--lightningcss-light,#cbd5e1) var(--lightningcss-dark,#475569) transparent;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--lightningcss-light,#faf9f6) var(--lightningcss-dark,#090d16);font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:has(>head>meta[name=color-scheme][content=dark]){--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root:has(>head>meta[name=color-scheme][content=light]){--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{scrollbar-gutter:stable;background-color:var(--lightningcss-light,#faf9f6) var(--lightningcss-dark,#090d16);width:100%;min-height:100%;scroll-behavior:auto!important}body{min-width:320px;min-height:100dvh;font-family:var(--font-body);color:var(--lightningcss-light,#0f172a) var(--lightningcss-dark,#f8fafc);background-color:var(--lightningcss-light,#faf9f6) var(--lightningcss-dark,#090d16);width:100%;margin:0;position:relative;overflow-x:clip}*{box-sizing:border-box;margin:0;padding:0}img{max-width:100%;height:auto;display:block}a{color:var(--lightningcss-light,#2563eb) var(--lightningcss-dark,#60a5fa);-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--lightningcss-light,#1d4ed8) var(--lightningcss-dark,#93c5fd)}h1,h2,h3,h4,h5,h6{text-wrap:balance}h1{font-size:3.2em;line-height:1.1}p,li{text-wrap:pretty}@supports not (scrollbar-color:auto){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px}::-webkit-scrollbar-track{background:0 0}}button,input,textarea,select{font-family:inherit}button{cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:all .2s}button:focus-visible{outline-offset:2px;outline:2px solid var(--lightningcss-light,#0f172a) var(--lightningcss-dark,#60a5fa)}:root,.location-history-app,#place-modal,dialog{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root,.location-history-app,#place-modal,dialog{--lightningcss-light: ;--lightningcss-dark:initial}}:is(:root,.location-history-app,#place-modal,dialog)[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:is(:root,.location-history-app,#place-modal,dialog):has(>head>meta[name=color-scheme][content=dark]){--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:is(:root,.location-history-app,#place-modal,dialog)[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:is(:root,.location-history-app,#place-modal,dialog):has(>head>meta[name=color-scheme][content=light]){--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,.location-history-app,#place-modal,dialog{--bg-canvas:#faf8f5;--bg-surface:#fff;--bg-surface-elevated:#f5f3ef;--bg-surface-hover:#ebe7e1;--bg-surface-subtle:#fcfbf9;--bg-surface-glass:#fffffff0;--glass-border:#e8e4dc;--glass-border-subtle:#f0ece4;--border-subtle:#ebe7df;--border-strong:#d5cfc4;--glass-shadow:0 1px 3px #1c19170a, 0 4px 12px #1c191708;--shadow-sm:0 1px 2px #1c19170d;--shadow-md:0 4px 12px -2px #1c19170f, 0 2px 6px -1px #1c191708;--shadow-lg:0 12px 28px -6px #1c191717, 0 4px 12px -2px #1c19170a;--shadow-modal:0 24px 48px -12px #1c19172e, 0 8px 16px -4px #1c191714;--accent-primary:#2563eb;--accent-primary-hover:#1d4ed8;--accent-primary-subtle:#eff6ff;--accent-primary-border:#bfdbfe;--danger-text:#dc2626;--danger-text-hover:#b91c1c;--danger-bg-subtle:#fef2f2;--danger-border-subtle:#fecaca;--accent-terracotta:#c2410c;--accent-terracotta-subtle:#fff7ed;--accent-amber:#d97706;--accent-amber-subtle:#fef3c7;--accent-amber-glow:#d9770626;--accent-emerald:#059669;--accent-emerald-subtle:#ecfdf5;--accent-emerald-glow:#05966926;--accent-indigo:#4338ca;--accent-indigo-subtle:#eef2ff;--accent-violet:#6d28d9;--accent-violet-glow:#6d28d926;--accent-cyan:#0284c7;--accent-cyan-glow:#0284c726;--accent-rose:#e11d48;--text-primary:#1c1917;--text-secondary:#57534e;--text-muted:#78716c;--text-tertiary:#a8a29e;--font-heading:"Nunito Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Nunito Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-brand:"Pacifico", cursive;--font-ui:"Nunito Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.24s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.3s cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])){--bg-canvas:#090d16;--bg-surface:#0f172a;--bg-surface-elevated:#1e293b;--bg-surface-hover:#334155;--bg-surface-subtle:#131d31;--bg-surface-glass:#0f172aeb;--glass-border:#334155;--glass-border-subtle:#1e293b;--border-subtle:#1e293b;--border-strong:#475569;--glass-shadow:0 1px 3px #0006, 0 4px 12px #0000004d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px -2px #0006;--shadow-lg:0 12px 28px -6px #00000080;--shadow-modal:0 24px 48px -12px #000000b3;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-tertiary:#64748b;--accent-primary:#3b82f6;--accent-primary-hover:#60a5fa;--accent-primary-subtle:#3b82f633;--accent-primary-border:#3b82f673;--accent-terracotta:#fb923c;--accent-terracotta-subtle:#fb923c33;--accent-amber:#fbbf24;--accent-amber-subtle:#fbbf2433;--accent-emerald:#34d399;--accent-emerald-subtle:#34d39933;--accent-indigo:#818cf8;--accent-indigo-subtle:#818cf833;--danger-text:#f87171;--danger-text-hover:#fca5a5;--danger-bg-subtle:#ef444426;--danger-border-subtle:#ef444459}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .location-history-app{--bg-canvas:#090d16;--bg-surface:#0f172a;--bg-surface-elevated:#1e293b;--bg-surface-hover:#334155;--bg-surface-subtle:#131d31;--bg-surface-glass:#0f172aeb;--glass-border:#334155;--glass-border-subtle:#1e293b;--border-subtle:#1e293b;--border-strong:#475569;--glass-shadow:0 1px 3px #0006, 0 4px 12px #0000004d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px -2px #0006;--shadow-lg:0 12px 28px -6px #00000080;--shadow-modal:0 24px 48px -12px #000000b3;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-tertiary:#64748b;--accent-primary:#3b82f6;--accent-primary-hover:#60a5fa;--accent-primary-subtle:#3b82f633;--accent-primary-border:#3b82f673;--accent-terracotta:#fb923c;--accent-terracotta-subtle:#fb923c33;--accent-amber:#fbbf24;--accent-amber-subtle:#fbbf2433;--accent-emerald:#34d399;--accent-emerald-subtle:#34d39933;--accent-indigo:#818cf8;--accent-indigo-subtle:#818cf833;--danger-text:#f87171;--danger-text-hover:#fca5a5;--danger-bg-subtle:#ef444426;--danger-border-subtle:#ef444459}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) #place-modal{--bg-canvas:#090d16;--bg-surface:#0f172a;--bg-surface-elevated:#1e293b;--bg-surface-hover:#334155;--bg-surface-subtle:#131d31;--bg-surface-glass:#0f172aeb;--glass-border:#334155;--glass-border-subtle:#1e293b;--border-subtle:#1e293b;--border-strong:#475569;--glass-shadow:0 1px 3px #0006, 0 4px 12px #0000004d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px -2px #0006;--shadow-lg:0 12px 28px -6px #00000080;--shadow-modal:0 24px 48px -12px #000000b3;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-tertiary:#64748b;--accent-primary:#3b82f6;--accent-primary-hover:#60a5fa;--accent-primary-subtle:#3b82f633;--accent-primary-border:#3b82f673;--accent-terracotta:#fb923c;--accent-terracotta-subtle:#fb923c33;--accent-amber:#fbbf24;--accent-amber-subtle:#fbbf2433;--accent-emerald:#34d399;--accent-emerald-subtle:#34d39933;--accent-indigo:#818cf8;--accent-indigo-subtle:#818cf833;--danger-text:#f87171;--danger-text-hover:#fca5a5;--danger-bg-subtle:#ef444426;--danger-border-subtle:#ef444459}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) dialog{--bg-canvas:#090d16;--bg-surface:#0f172a;--bg-surface-elevated:#1e293b;--bg-surface-hover:#334155;--bg-surface-subtle:#131d31;--bg-surface-glass:#0f172aeb;--glass-border:#334155;--glass-border-subtle:#1e293b;--border-subtle:#1e293b;--border-strong:#475569;--glass-shadow:0 1px 3px #0006, 0 4px 12px #0000004d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px -2px #0006;--shadow-lg:0 12px 28px -6px #00000080;--shadow-modal:0 24px 48px -12px #000000b3;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-tertiary:#64748b;--accent-primary:#3b82f6;--accent-primary-hover:#60a5fa;--accent-primary-subtle:#3b82f633;--accent-primary-border:#3b82f673;--accent-terracotta:#fb923c;--accent-terracotta-subtle:#fb923c33;--accent-amber:#fbbf24;--accent-amber-subtle:#fbbf2433;--accent-emerald:#34d399;--accent-emerald-subtle:#34d39933;--accent-indigo:#818cf8;--accent-indigo-subtle:#818cf833;--danger-text:#f87171;--danger-text-hover:#fca5a5;--danger-bg-subtle:#ef444426;--danger-border-subtle:#ef444459}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .badge-home{color:#60a5fa;background:#3b82f626;border-color:#3b82f64d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .cat-badge.cat-home{color:#60a5fa;background:#3b82f626;border-color:#3b82f64d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-badge-home{color:#60a5fa;background:#3b82f626;border-color:#3b82f64d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-semantic-tag.badge-home{color:#60a5fa;background:#3b82f626;border-color:#3b82f64d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .badge-work{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b4d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .cat-badge.cat-work{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b4d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-badge-work{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b4d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-semantic-tag.badge-work{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b4d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .badge-search{color:#34d399;background:#10b98126;border-color:#10b9814d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .cat-badge.cat-search{color:#34d399;background:#10b98126;border-color:#10b9814d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-badge-search{color:#34d399;background:#10b98126;border-color:#10b9814d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-semantic-tag.badge-search{color:#34d399;background:#10b98126;border-color:#10b9814d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .badge-place{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .cat-badge.cat-place{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-badge-place{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-badge-city{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-semantic-tag.badge-place{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-semantic-tag.badge-city{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .badge-social{color:#f472b6;background:#ec489926;border-color:#ec48994d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .cat-badge.cat-social{color:#f472b6;background:#ec489926;border-color:#ec48994d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .search-semantic-tag.badge-social{color:#f472b6;background:#ec489926;border-color:#ec48994d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-popup-badge.is-explored{color:#60a5fa;background:#3b82f633}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-popup-badge.is-passed{color:#2dd4bf;background:#14b8a633}:is(:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-popup-badge.is-max,:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-popup-badge.is-goal){color:#fbbf24;background:#f59e0b33}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-popup-badge.is-unexplored{color:#94a3b8;background:#64748b33}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-metric-item.is-max:not(:disabled) .squares-metric-num{color:#fbbf24}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-metric-item.is-max:hover:not(:disabled){border-color:#fbbf2480}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-goal-btn{color:#fde68a;background:#fbbf241f;border-color:#fbbf24b3}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-goal-btn:hover{background:#fbbf2438}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-goal-cta{color:#fbbf24}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .popup-custom-note{color:#fde68a;background:#fbbf241f}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .rank-badge.rank-1{color:#fcd34d;background:#f59e0b26;border-color:#fbbf244d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .rank-badge.rank-2{color:#cbd5e1;background:#94a3b826;border-color:#94a3b84d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .rank-badge.rank-3{color:#fdba74;background:#f9731626;border-color:#fb923c4d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .milestone-icon-wrap.icon-earth{color:#38bdf8}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .milestone-icon-wrap.icon-moon{color:#c084fc}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .milestone-icon-wrap.icon-compass{color:#fbbf24}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .milestone-icon-wrap.icon-route{color:#34d399}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .split-weekday{color:#a5b4fc}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .split-weekend{color:#f9a8d4}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .trends-badge-pill.accent-rose{color:#fda4af}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .memory-away-tag{color:#fda4af}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .trends-badge-pill.accent-emerald{color:#6ee7b7}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .memory-new{color:#6ee7b7}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .spont-cadence-value{color:#6ee7b7}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .curfew-stat-value.is-depart{color:#fbbf24}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .curfew-stat-value.is-return{color:#a5b4fc}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .about-dataset-status-pill{color:#34d399}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .data-dialog-badge{color:#34d399}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .clear-dialog-backup-btn.is-downloaded{color:#34d399}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()brightness(1.8)}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-home.is-selected{color:#93c5fd;background:#3b82f626;border-color:#60a5fa80;box-shadow:0 0 0 3px #3b82f626}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-familyFriends.is-selected{color:#f9a8d4;background:#ec489926;border-color:#f472b680;box-shadow:0 0 0 3px #ec489926}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-work.is-selected{color:#fcd34d;background:#f59e0b26;border-color:#fbbf2480}:is(:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-home.is-selected svg,:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-home:hover svg){color:#60a5fa}:is(:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-familyFriends.is-selected svg,:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-familyFriends:hover svg){color:#f472b6}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.is-guess{box-shadow:none}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-home.is-guess{background:#3b82f614}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-label-option.opt-work.is-guess{background:#f59e0b14}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-home-kind{background:#3b82f614;border-color:#3b82f64d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-home-kind-label{color:#93c5fd}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-home-kind-toggle{background:#3b82f626}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-home-kind-opt{color:#93c5fd}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-home-kind-opt:hover{color:#dbeafe}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .place-home-kind-opt.is-selected{color:#fff;box-shadow:none;background:#2563eb}}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])),:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .location-history-app,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) #place-modal,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) dialog{--bg-canvas:#090d16;--bg-surface:#0f172a;--bg-surface-elevated:#1e293b;--bg-surface-hover:#334155;--bg-surface-subtle:#131d31;--bg-surface-glass:#0f172aeb;--glass-border:#334155;--glass-border-subtle:#1e293b;--border-subtle:#1e293b;--border-strong:#475569;--glass-shadow:0 1px 3px #0006, 0 4px 12px #0000004d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px -2px #0006;--shadow-lg:0 12px 28px -6px #00000080;--shadow-modal:0 24px 48px -12px #000000b3;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-tertiary:#64748b;--accent-primary:#3b82f6;--accent-primary-hover:#60a5fa;--accent-primary-subtle:#3b82f633;--accent-primary-border:#3b82f673;--accent-terracotta:#fb923c;--accent-terracotta-subtle:#fb923c33;--accent-amber:#fbbf24;--accent-amber-subtle:#fbbf2433;--accent-emerald:#34d399;--accent-emerald-subtle:#34d39933;--accent-indigo:#818cf8;--accent-indigo-subtle:#818cf833;--danger-text:#f87171;--danger-text-hover:#fca5a5;--danger-bg-subtle:#ef444426;--danger-border-subtle:#ef444459}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .badge-home,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .cat-badge.cat-home,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-badge-home,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-semantic-tag.badge-home{color:#60a5fa;background:#3b82f626;border-color:#3b82f64d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .badge-work,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .cat-badge.cat-work,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-badge-work,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-semantic-tag.badge-work{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b4d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .badge-search,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .cat-badge.cat-search,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-badge-search,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-semantic-tag.badge-search{color:#34d399;background:#10b98126;border-color:#10b9814d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .badge-place,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .cat-badge.cat-place,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-badge-place,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-badge-city,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-semantic-tag.badge-place,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-semantic-tag.badge-city{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .badge-social,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .cat-badge.cat-social,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .search-semantic-tag.badge-social{color:#f472b6;background:#ec489926;border-color:#ec48994d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-popup-badge.is-explored{color:#60a5fa;background:#3b82f633}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-popup-badge.is-passed{color:#2dd4bf;background:#14b8a633}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-popup-badge.is-max,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-popup-badge.is-goal{color:#fbbf24;background:#f59e0b33}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-popup-badge.is-unexplored{color:#94a3b8;background:#64748b33}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-metric-item.is-max:not(:disabled) .squares-metric-num{color:#fbbf24}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-metric-item.is-max:hover:not(:disabled){border-color:#fbbf2480}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-goal-btn{color:#fde68a;background:#fbbf241f;border-color:#fbbf24b3}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-goal-btn:hover{background:#fbbf2438}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-goal-cta{color:#fbbf24}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .popup-custom-note{color:#fde68a;background:#fbbf241f}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .rank-badge.rank-1{color:#fcd34d;background:#f59e0b26;border-color:#fbbf244d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .rank-badge.rank-2{color:#cbd5e1;background:#94a3b826;border-color:#94a3b84d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .rank-badge.rank-3{color:#fdba74;background:#f9731626;border-color:#fb923c4d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .milestone-icon-wrap.icon-earth{color:#38bdf8}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .milestone-icon-wrap.icon-moon{color:#c084fc}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .milestone-icon-wrap.icon-compass{color:#fbbf24}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .milestone-icon-wrap.icon-route{color:#34d399}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .split-weekday{color:#a5b4fc}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .split-weekend{color:#f9a8d4}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .trends-badge-pill.accent-rose,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .memory-away-tag{color:#fda4af}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .trends-badge-pill.accent-emerald,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .memory-new,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .spont-cadence-value{color:#6ee7b7}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .curfew-stat-value.is-depart{color:#fbbf24}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .curfew-stat-value.is-return{color:#a5b4fc}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .about-dataset-status-pill,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .data-dialog-badge,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .clear-dialog-backup-btn.is-downloaded{color:#34d399}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()brightness(1.8)}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-home.is-selected{color:#93c5fd;background:#3b82f626;border-color:#60a5fa80;box-shadow:0 0 0 3px #3b82f626}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-familyFriends.is-selected{color:#f9a8d4;background:#ec489926;border-color:#f472b680;box-shadow:0 0 0 3px #ec489926}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-work.is-selected{color:#fcd34d;background:#f59e0b26;border-color:#fbbf2480}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-home.is-selected svg,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-home:hover svg{color:#60a5fa}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-familyFriends.is-selected svg,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-familyFriends:hover svg{color:#f472b6}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.is-guess{box-shadow:none}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-home.is-guess{background:#3b82f614}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-label-option.opt-work.is-guess{background:#f59e0b14}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-home-kind{background:#3b82f614;border-color:#3b82f64d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-home-kind-label{color:#93c5fd}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-home-kind-toggle{background:#3b82f626}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-home-kind-opt{color:#93c5fd}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-home-kind-opt:hover{color:#dbeafe}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .place-home-kind-opt.is-selected{color:#fff;box-shadow:none;background:#2563eb}.location-history-app *,.location-history-app :before,.location-history-app :after,#place-modal *,#place-modal :before,#place-modal :after{box-sizing:border-box}.location-history-app{width:100%;height:100%;min-height:0;box-shadow:none;background-color:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:none;border-radius:0;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}@media (max-width:768px){.location-history-app{border-radius:0;height:100%;min-height:0}}.location-history-app.is-fullscreen{z-index:99999!important;border:none!important;border-radius:0!important;width:100vw!important;height:100vh!important;max-height:100vh!important;margin:0!important;position:fixed!important;inset:0!important}.app-bar{background:var(--bg-canvas);border-bottom:1px solid var(--border-subtle);z-index:1000;justify-content:space-between;align-items:center;gap:16px;height:60px;padding:0 20px;display:flex;position:relative}.app-bar-start{flex-shrink:0;align-self:stretch;align-items:center;gap:28px;display:flex}.brand-group{border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;margin:0 -6px;padding:4px 6px;display:flex}.brand-group:hover .brand-title{color:var(--accent-terracotta)}.brand-group:focus-visible{outline:2px solid var(--accent-terracotta);outline-offset:2px}.brand-mark{flex-shrink:0;display:block}.brand-mark-outline,.brand-mark-arrow{stroke:var(--accent-terracotta);stroke-linecap:round;stroke-linejoin:round}.brand-mark-outline{fill:none}.brand-mark-arrow{fill:var(--accent-terracotta)}.brand-mark-dot{fill:var(--text-primary)}.brand-text{flex-direction:column;gap:2px;display:flex}.brand-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text-primary);transition:color var(--transition-fast);font-size:19px;font-weight:600;line-height:1.1}.brand-subtitle{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;text-overflow:ellipsis;max-width:clamp(155px,100vw - 870px,260px);font-size:13px;font-weight:500;line-height:1.2;overflow:hidden}.view-navigation{border-left:1px solid var(--border-subtle);gap:4px;padding-left:24px;display:flex}.view-nav-tab{font-family:var(--font-ui);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;padding:6px 12px 8px;font-size:14px;font-weight:600;display:flex;position:relative}.view-nav-tab:after{content:"";background:var(--accent-terracotta);height:2px;transition:transform var(--transition-normal);border-radius:2px;position:absolute;bottom:1px;left:12px;right:12px;transform:scaleX(0)}.view-nav-tab:hover,.view-nav-tab.active{color:var(--text-primary)}.view-nav-tab.active:after{transform:scaleX(1)}.view-nav-tab:focus-visible{outline:2px solid var(--text-primary);outline-offset:-4px;border-radius:var(--radius-sm)}.search-container{align-items:center;width:360px;min-width:180px;max-width:420px;display:flex;position:relative}.search-input-wrapper{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-sizing:border-box;width:100%;height:36px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);align-items:center;padding:0 12px;display:flex;position:relative}.search-input-wrapper:hover{border-color:var(--border-strong)}.search-input-wrapper:focus-within{background:var(--bg-surface);border-color:var(--accent-primary);box-shadow:0 0 0 3px #1d4ed81f}.search-icon{color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.search-icon svg{flex-shrink:0!important;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;display:block!important}.search-input-wrapper:focus-within .search-icon{color:var(--accent-primary)}.search-input{width:100%;height:100%;color:var(--text-primary);min-width:0;box-shadow:none;box-sizing:border-box;appearance:none;background:0 0;border:none;outline:none;flex:1;margin-left:8px;padding:0;font-family:inherit;font-size:14px;font-weight:500}.search-input::placeholder{color:var(--text-muted)}.search-input::-webkit-search-decoration{-webkit-appearance:none;display:none}.search-input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.search-input::-webkit-search-results-button{-webkit-appearance:none;display:none}.search-input::-webkit-search-results-decoration{-webkit-appearance:none;display:none}.search-clear-btn{color:var(--text-muted);cursor:pointer;width:22px;height:22px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;display:flex}.search-clear-btn svg{flex-shrink:0!important;width:14px!important;min-width:14px!important;height:14px!important;min-height:14px!important;display:block!important}.search-clear-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.search-clear-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.search-clear-btn[hidden]{display:none!important}.app-bar-end{align-items:center;gap:4px;display:flex}.pill-btn{border-radius:var(--radius-sm);height:32px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;display:flex}.pill-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.pill-btn:disabled{cursor:default;opacity:.7}.pill-btn.is-primary{background:var(--accent-primary);color:#fff;margin-left:6px;padding:0 14px}.pill-btn.is-primary:hover{background:var(--accent-primary-hover);color:#fff}.pill-btn.active{background:var(--accent-primary-subtle);color:var(--accent-primary)}.filters-toggle{display:none}.pill-btn.is-danger{color:var(--danger-text)}.pill-btn.is-danger:hover{background:var(--danger-bg-subtle);border-color:var(--danger-border-subtle);color:var(--danger-text-hover)}.pill-btn.support-btn{width:34px;color:var(--danger-text);justify-content:center;margin-left:2px;padding:0;text-decoration:none}.pill-btn.support-btn:hover{background:var(--danger-bg-subtle);color:var(--danger-text)}.pill-btn.support-btn svg{transition:transform var(--transition-fast)}.pill-btn.support-btn:hover svg{transform:scale(1.12)}.theme-toggle-btn{cursor:pointer;border-radius:var(--radius-full);color:inherit;transition:opacity var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;padding:2px;line-height:1;display:inline-flex}.theme-toggle-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.theme-toggle-btn:hover .theme-toggle-track{opacity:.88}.theme-toggle-track{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);width:52px;height:28px;transition:background-color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);box-sizing:border-box;border-radius:9999px;justify-content:space-between;align-items:center;padding:0 5px;display:inline-flex;position:relative}.theme-toggle-btn.is-dark .theme-toggle-track{background:#1e293b;border-color:#334155}.theme-toggle-icon{pointer-events:none;z-index:1;width:16px;height:16px;transition:opacity var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex}.theme-toggle-icon-sun{color:#d97706;opacity:.35}.theme-toggle-btn.is-light .theme-toggle-icon-sun{opacity:.9}.theme-toggle-icon-moon{color:#94a3b8;opacity:.35}.theme-toggle-btn.is-dark .theme-toggle-icon-moon{color:#a5b4fc;opacity:.9}.theme-toggle-thumb{width:22px;height:22px;transition:transform .22s cubic-bezier(.4, 0, .2, 1), background-color var(--transition-fast);z-index:2;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003,0 0 1px #0000001a}.theme-toggle-btn.is-dark .theme-toggle-thumb{background:#0f172a;transform:translate(24px);box-shadow:0 1px 3px #00000080,inset 0 0 0 1px #334155}.theme-toggle-thumb-icon{justify-content:center;align-items:center;display:flex}.theme-toggle-thumb-icon.is-sun{color:#d97706}.theme-toggle-thumb-icon.is-moon{color:#fbbf24}@media (prefers-reduced-motion:reduce){.theme-toggle-thumb,.theme-toggle-track,.theme-toggle-icon{transition:none!important}}.storage-pill{border-right:1px solid var(--border-subtle);color:var(--text-muted);white-space:nowrap;cursor:help;font-variant-numeric:tabular-nums;outline:none;align-items:center;gap:6px;margin-right:4px;padding:0 12px 0 4px;font-size:13px;font-weight:600;display:flex;position:relative}.storage-pill-tip,.app-bar [data-tip]:after{z-index:1000;border-radius:var(--radius-sm);color:#fff;white-space:normal;text-align:left;opacity:0;visibility:hidden;pointer-events:none;width:max-content;max-width:320px;transition:opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);background:#1c1917f0;padding:8px 11px;font-size:13px;font-weight:500;line-height:1.45;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-4px);box-shadow:0 8px 24px #0003}.storage-pill:hover .storage-pill-tip,.storage-pill:focus-visible .storage-pill-tip{opacity:1;visibility:visible;transition-delay:.15s;transform:translateY(0)}.app-bar [data-tip]{position:relative}.app-bar [data-tip]:after{content:attr(data-tip);white-space:nowrap}@media (hover:hover){.app-bar [data-tip]:hover:after{opacity:1;visibility:visible;transition-delay:.15s;transform:translateY(0)}}.app-bar [data-tip]:focus-visible:after{opacity:1;visibility:visible;transform:translateY(0)}.storage-pill:focus-visible{box-shadow:0 0 0 2px var(--accent-primary-border);border-radius:var(--radius-sm)}.storage-pill.is-evictable svg{color:var(--accent-amber)}.storage-pill.is-unsaved{border-radius:var(--radius-full);background:var(--accent-amber-subtle);color:var(--accent-amber);border-right:none;padding:4px 10px}@media (max-width:1320px){.app-bar-start{gap:20px}.view-navigation{padding-left:12px}.view-nav-tab{padding-left:10px;padding-right:10px}.view-nav-tab:after{left:10px;right:10px}.storage-pill-suffix{display:none}.pill-btn:not(.is-primary){justify-content:center;width:34px;padding:0}.pill-btn:not(.is-primary) span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.app-body{background:var(--bg-canvas);flex:1;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);width:380px;min-width:380px;height:100%;transition:margin-left var(--transition-normal);z-index:500;scrollbar-width:thin;scrollbar-color:#d6d3cd transparent;flex-direction:column;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:#d6d3cd;border-radius:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar.collapsed{margin-left:-380px}@media (max-width:768px){.sidebar{z-index:1000;width:min(340px,85vw);min-width:0;position:absolute;top:0;bottom:0;left:0;box-shadow:4px 0 24px #00000026}.sidebar.collapsed{margin-left:-100%}}.side-section,.dashboard-hud,.timeline-scrubber-panel{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:14px;padding:18px 20px;display:flex}.metric-card{transition:all var(--transition-fast)}.section-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.section-head-actions{align-items:center;gap:8px;display:flex}.sidebar-close-btn{width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.section-heading{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);font-size:17px;font-weight:800;line-height:1.2}.section-meta{color:var(--text-secondary);background:var(--bg-surface-elevated);border-radius:var(--radius-full);border:1px solid var(--border-subtle);letter-spacing:.01em;padding:3px 10px;font-size:14px;font-weight:700;line-height:1.2}.distance-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.distance-top{justify-content:space-between;align-items:center;display:flex}.eyebrow{color:var(--text-secondary);font-size:13px;font-weight:500}.unit-toggle{background:var(--border-subtle);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.unit-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.unit-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.distance-value{align-items:baseline;gap:6px;display:flex}.distance-value .metric-digits{letter-spacing:-.03em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1.1}.distance-value .metric-unit-tag{color:var(--text-muted);font-size:14px;font-weight:700}.distance-context{color:var(--text-secondary);font-size:13px}.mode-share{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.mode-tag{color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:3px 8px;font-size:12px;font-weight:600}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stat-tile{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;transition:all var(--transition-fast);cursor:default;flex-direction:column;padding:12px 14px;display:flex}.stat-value{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:20px;font-weight:800;line-height:1.1}.stat-value.font-span{font-size:16px}.stat-sub{color:var(--text-tertiary);margin-top:1px;font-size:12px}.btn-reset-filter{background:var(--bg-surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-full);height:24px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.btn-reset-filter:hover{color:var(--accent-primary);background:var(--accent-primary-subtle);border-color:var(--accent-primary-border)}.btn-reset-filter:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.btn-reset-filter.is-active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 1px 3px #2563eb4d}.btn-reset-filter.is-active:hover{color:#fff;background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.year-range-filter{flex-shrink:0;align-items:center;gap:6px;display:flex}.year-range-filter .year-range-select{padding-left:8px;font-size:12.5px}.year-range-filter.is-set .year-range-select,.date-field-input.is-set{color:var(--accent-primary);border-color:var(--accent-primary);font-weight:600}.time-filter-bar{z-index:960;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-shrink:0;align-items:center;gap:16px;padding:8px 20px;display:flex;position:relative}.time-filter-bar.is-active{background:var(--accent-primary-subtle);border-bottom-color:var(--accent-primary-border);box-shadow:inset 4px 0 0 var(--accent-primary)}.time-filter-inner{flex-wrap:wrap;flex:auto;align-items:center;gap:8px 20px;min-width:0;display:flex}.time-filter-bar .time-filter-dates{flex-flow:wrap;flex:0 auto;align-items:center;gap:8px 16px;width:auto}.time-filter-bar .date-preset-grid{flex-wrap:wrap;gap:6px;display:flex}.time-filter-bar .date-preset-btn{padding:5px 10px;font-size:12px}.time-filter-bar .date-inputs-row{flex-wrap:nowrap;flex:0 auto}.time-filter-bar .date-input-field{min-width:125px}.time-filter-bar .date-field-input{height:30px;font-size:12.5px}.time-filter-status{white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:12.5px;display:flex}.time-filter-all{color:var(--text-muted)}.time-filter-chip{border-radius:var(--radius-full);border:1px solid var(--accent-primary-border);background:var(--bg-surface);height:26px;color:var(--accent-primary);align-items:center;gap:5px;padding:0 10px;font-weight:600;display:inline-flex}.time-filter-chip strong{font-weight:750}.time-filter-bar .btn-reset-filter{height:26px}.time-filter-unit{flex-shrink:0;align-self:center;margin-left:4px;position:relative}.time-filter-unit:before{content:"";background:var(--border-subtle);width:1px;position:absolute;top:3px;bottom:3px;left:-11px}.time-filter-unit .unit-btn{letter-spacing:.01em;min-width:30px;height:26px;padding:0 9px}.time-filter-unit .unit-btn:not(.active):hover{color:var(--text-primary)}.time-filter-unit .unit-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.time-filter-bar.is-active .time-filter-unit:before{background:var(--accent-primary-border)}.date-range-filter{flex-direction:column;gap:8px;width:100%;display:flex}.date-preset-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.date-preset-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:5px 4px;font-size:11.5px;font-weight:600;line-height:1.2;display:inline-flex}.date-preset-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover);border-color:var(--border-strong)}.date-preset-btn.active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 1px 3px #2563eb40}.date-inputs-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.date-input-field{flex:1 0 auto;align-items:center;gap:4px;min-width:105px;display:flex}.date-input-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;font-size:11px;font-weight:600}.date-field-input{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:auto;min-width:0;height:28px;color:var(--text-primary);transition:border-color var(--transition-fast), background var(--transition-fast);flex:1;padding:0 6px;font-family:inherit;font-size:12px}.date-field-input::-webkit-calendar-picker-indicator{cursor:pointer;background:var(--text-secondary);width:14px;height:14px;transition:background var(--transition-fast);margin-left:4px;padding:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") 50%/contain no-repeat}.date-field-input::-webkit-calendar-picker-indicator:hover{background:var(--accent-primary)}.date-field-input:focus{background:var(--bg-surface);border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #2563eb26}.date-sep{color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:600}.year-chart{flex-direction:column;gap:2px;display:flex}.slider-ticks-row{justify-content:space-between;align-items:flex-end;height:36px;padding:0 4px;display:flex}.tick-col{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:0;display:flex;position:relative}.tick-dot{width:4px;height:14px;transition:all var(--transition-fast);background:#d6d3cd;border-radius:2px}.tick-col:hover .tick-dot{background:var(--accent-primary);height:22px}.tick-year{color:var(--text-tertiary);font-size:10.5px;font-weight:600}.tick-col:hover .tick-year{color:var(--accent-primary)}.range-slider-outer{align-items:center;height:22px;display:flex;position:relative}.range-slider-track-wrap{width:100%;height:6px;position:relative}.slider-base-track{background:var(--border-subtle);border-radius:3px;position:absolute;inset:0}.slider-active-highlight{background:var(--accent-primary);border-radius:3px;height:100%;position:absolute}.slider-handle{appearance:none;pointer-events:none;background:0 0;width:100%;margin:0;position:absolute;top:50%;transform:translateY(-50%)}.slider-handle::-webkit-slider-thumb{pointer-events:auto;appearance:none;border:2.5px solid var(--accent-primary);cursor:grab;background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .1s;box-shadow:0 1px 4px #1c191733}.slider-handle::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider-handle::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.25)}.timeline-controls{justify-content:space-between;align-items:center;display:flex}.playback-btn-group{align-items:center;gap:8px;width:100%;display:flex}.btn-ctrl{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.btn-ctrl:hover{background:var(--bg-surface-elevated);color:var(--text-primary);border-color:var(--border-strong)}.btn-play{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);flex:1;gap:6px}.btn-play:hover{background:var(--accent-primary-hover);color:#fff;border-color:var(--accent-primary-hover)}.btn-step{width:32px}.btn-ctrl svg,.btn-step svg{flex-shrink:0;display:block;width:14px!important;min-width:14px!important;height:14px!important;min-height:14px!important}.btn-speed{min-width:44px;padding:0 8px}.mode-dot{border-radius:50%;width:6px;height:6px}.mode-flight{background:#0284c7}.mode-road{background:#d97706}.mode-transit{background:#059669}.mode-walk{background:#7c3aed}.destinations-tabs{border-bottom:1px solid var(--border-subtle);gap:12px;display:flex}.dest-tab{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:4px;padding:6px 0;font-size:13px;font-weight:600;display:flex}.dest-tab:hover{color:var(--text-primary)}.dest-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.dest-tab-count{background:var(--bg-surface-elevated);color:var(--text-muted);border-radius:var(--radius-full);padding:1px 6px;font-size:11px}.destinations-list{scrollbar-width:thin;scrollbar-color:#d6d3cd transparent;flex-direction:column;gap:4px;max-height:380px;display:flex;overflow-y:auto}.dest-item{border-radius:var(--radius-md);text-align:left;cursor:pointer;width:100%;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;display:flex}.dest-item:hover{background:var(--bg-surface-subtle);border-color:var(--border-subtle)}.dest-rank{color:var(--text-tertiary);flex-shrink:0;width:22px;font-size:12px;font-weight:700}.dest-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dest-name-row{align-items:center;gap:6px;display:flex}.dest-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.dest-cat-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dest-cat-dot.cat-home{background:var(--accent-cyan)}.dest-cat-dot.cat-work{background:var(--accent-amber)}.dest-cat-dot.cat-search{background:var(--accent-emerald)}.dest-cat-dot.cat-place{background:var(--accent-violet)}.dest-cat-dot.cat-social{background:#db2777}.dest-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dest-bar-track{background:var(--bg-surface-elevated);border-radius:2px;width:100%;height:3px;margin-top:3px;overflow:hidden}.dest-bar-fill{background:var(--accent-primary);border-radius:2px;height:100%}.dest-stat{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.dest-stat-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.destinations-footer{border-top:1px dashed var(--border-subtle);margin-top:8px;padding:10px 4px 4px}.btn-dest-explore-all{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;font-weight:600;display:flex}.btn-dest-explore-all:hover{background:var(--accent-primary-subtle);border-color:var(--accent-primary-border);color:var(--accent-primary)}.stage{isolation:isolate;background:#e7e5e0;flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}#map,.map-container{background-color:#f5f3ef;width:100%;height:100%;position:absolute;inset:0}.map-toolbar{z-index:900;align-items:center;gap:8px;display:flex;position:absolute;top:14px;right:14px}.segmented-control.mode-switcher{background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);padding:3px;display:flex}.segment-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:flex}.segment-btn:hover{color:var(--text-primary)}.segment-btn.active{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-sm)}.segment-icon{flex-shrink:0}.map-fab{border-radius:var(--radius-md);background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-border);width:36px;height:36px;box-shadow:var(--shadow-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.map-fab svg{stroke:currentColor;flex-shrink:0!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;display:block!important}.map-fab:hover{background:var(--bg-surface-elevated);box-shadow:var(--shadow-lg);transform:scale(1.05)}.map-fab.sidebar-open-btn{z-index:900;position:absolute;top:14px;left:14px}.map-fab.save-image-fab{display:flex}.map-fab.save-image-fab:disabled{cursor:wait;opacity:.7}.map-fab:disabled:hover{transform:none}.map-fab:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (max-width:768px){.map-fab.sidebar-open-btn{top:60px}.map-fab.save-image-fab{position:absolute;top:46px;right:0}.stage #map .maplibregl-ctrl-top-right{right:60px}#map .maplibregl-ctrl-bottom-left{bottom:12px;left:12px}.map-legend{max-width:calc(100vw - 28px);bottom:14px;right:14px}.map-toolbar{left:12px;right:12px}.segmented-control.mode-switcher{flex:1;min-width:0}.segment-btn{flex:1;justify-content:center;min-width:0;padding:6px 4px}}@media (max-width:360px){.segment-icon{display:none!important}}#map .maplibregl-ctrl-top-right{top:60px;right:14px}#map .maplibregl-ctrl-bottom-left{bottom:14px;left:14px}#map .maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin:0}.basemap-switcher-control{background:var(--bg-surface-glass)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;border:1px solid var(--glass-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important;gap:2px!important;padding:3px!important;display:flex!important}.basemap-btn{color:var(--text-secondary)!important;border-radius:var(--radius-sm)!important;cursor:pointer!important;transition:all var(--transition-fast)!important;background:0 0!important;border:none!important;align-items:center!important;gap:4px!important;padding:4px 10px!important;font-size:12px!important;font-weight:600!important;display:flex!important}.basemap-btn:hover{color:var(--text-primary)!important;background:var(--bg-surface-elevated)!important}.basemap-btn.active{background:var(--accent-primary)!important;color:#fff!important;box-shadow:var(--shadow-sm)!important;font-weight:700!important}.map-legend{z-index:900;background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(14px)saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-user-select:none;user-select:none;width:272px;max-width:calc(100vw - 40px);padding:12px 14px;transition:width .2s cubic-bezier(.16,1,.3,1),padding .2s cubic-bezier(.16,1,.3,1),border-radius .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;position:absolute;bottom:20px;right:20px;box-shadow:0 4px 20px -2px #0f172a1f,0 2px 6px -1px #0f172a0a}.map-legend.collapsed{background:var(--bg-surface-glass);border:1px solid var(--glass-border);border-radius:9999px;width:auto;padding:8px 14px;box-shadow:0 2px 12px #0f172a1a}.legend-header{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.legend-header:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:6px}.legend-title-wrap{align-items:center;gap:7px;display:flex}.legend-icon{color:var(--accent-primary);flex-shrink:0}.legend-title{color:var(--text-secondary);font-size:12px;font-weight:600}.legend-toggle-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:#0000000a;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.legend-toggle-btn:hover{color:var(--text-primary);background:#00000014}.legend-chevron,.legend-toggle-btn svg{transition:transform var(--transition-fast);stroke:currentColor!important;flex-shrink:0!important;width:14px!important;min-width:14px!important;height:14px!important;min-height:14px!important;display:block!important}.map-legend.collapsed .legend-chevron{transform:rotate(180deg)}.legend-items{flex-direction:column;gap:4px;margin-top:10px;display:flex}.map-legend.collapsed .legend-items{display:none}.legend-row{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform .1s ease;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:5px 8px;font-family:inherit;font-size:12.5px;font-weight:500;display:flex}.legend-row:hover{background:#f1f5f9e6}.legend-row:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.legend-row.active-filter{color:var(--accent-primary);background:#0284c714;border-color:#0284c747;font-weight:600}.legend-left{align-items:center;gap:9px;min-width:0;display:flex}.legend-symbol{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.symbol-home{color:#fff;background:#0284c7;border-radius:5px;width:20px;height:20px;box-shadow:0 1px 3px #0284c759}.symbol-work{color:#fff;background:#d97706;border-radius:5px;width:20px;height:20px;box-shadow:0 1px 3px #d9770659}.symbol-search{color:#fff;background:#059669;border-radius:5px;width:20px;height:20px;box-shadow:0 1px 3px #05966959}.symbol-dot{width:20px;height:20px}.symbol-dot .place-dot-marker{cursor:pointer;width:14px;height:14px}.symbol-cluster{width:20px;height:20px}.legend-label{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.legend-subtext{color:var(--text-muted);font-size:11px;font-weight:400}.legend-count{color:var(--text-muted);font-variant-numeric:tabular-nums;background:#0000000a;border-radius:9999px;flex-shrink:0;padding:1px 6px;font-size:11.5px;font-weight:600}.legend-row.active-filter .legend-count{background:var(--accent-primary);color:#fff}.legend-cluster-demo{pointer-events:none;width:18px;height:18px;font-size:10px}.legend-row.legend-cluster-info{cursor:default;opacity:.85}.legend-row.legend-cluster-info:hover{background:0 0}.legend-row.legend-info-row{cursor:default}.legend-hint{color:var(--text-muted);text-align:center;border-top:1px solid #e2e8f0cc;margin-top:6px;padding-top:6px;font-size:12px}.legend-reset-btn{width:100%;color:var(--accent-primary);cursor:pointer;transition:all var(--transition-fast);background:#0284c714;border:1px solid #0284c740;border-radius:7px;justify-content:center;align-items:center;gap:5px;margin-top:6px;padding:5px 8px;font-size:12px;font-weight:600;display:flex}.legend-reset-btn:hover{background:#0284c729;border-color:#0284c766}.legend-marker{border-radius:50%;flex-shrink:0;width:10px;height:10px}.heat-gradient-wrap{flex-direction:column;gap:4px;display:flex}.heat-gradient-bar{background:linear-gradient(90deg,#3b82f6,#06b6d4,#10b981,#f59e0b,#ef4444);border-radius:4px;width:100%;height:8px;box-shadow:inset 0 1px 2px #0000001f}.heat-labels{color:var(--text-muted);justify-content:space-between;font-size:10.5px;font-weight:500;display:flex}.heat-controls-group{border-top:1px solid #e2e8f0cc;flex-direction:column;gap:8px;margin-top:8px;padding-top:8px;display:flex}.heat-control-row{flex-direction:column;gap:3px;display:flex}.heat-ctrl-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:11.5px;font-weight:600;display:flex}.heat-ctrl-val{font-variant-numeric:tabular-nums;color:var(--accent-primary);font-weight:700}.heat-mode-pills{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.heat-mode-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;padding:4px 6px;font-size:11.5px;font-weight:600}.heat-mode-btn:hover{color:var(--text-primary);background:#0284c714}.heat-mode-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#0284c71f}.heat-range-input{width:100%;height:6px;accent-color:var(--accent-primary);cursor:pointer;margin:3px 0}.city-pin-demo{border-radius:50%;flex-shrink:0;display:inline-block}.demo-hub{background:linear-gradient(135deg,#0284c7,#0ea5e9);border:1.5px solid #fff;width:14px;height:14px;box-shadow:0 0 0 3px #0ea5e940}.demo-center{background:#fff;border:2.5px solid #0284c7;width:12px;height:12px}.demo-local{background:#64748b;border:1.5px solid #fff;width:9px;height:9px;box-shadow:0 0 0 1px #94a3b8}.squares-grid-toggle{border-radius:var(--radius-sm);background:#0000000a;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px;padding:3px;display:grid}.squares-grid-btn{color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:baseline;gap:5px;padding:5px 6px;font-family:inherit;font-size:12px;font-weight:700;display:flex}.squares-grid-btn small{color:var(--text-muted);font-size:10.5px;font-weight:600}.squares-grid-btn:hover{color:var(--text-primary)}.squares-grid-btn.active{color:var(--accent-primary);background:#fff;box-shadow:0 1px 3px #0f172a1f}.squares-grid-btn:focus-visible,.squares-metric-item.is-action:focus-visible,.squares-goal-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.squares-metrics-grid{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:8px;display:grid}.squares-metric-item{border-radius:var(--radius-sm);text-align:center;background:#00000008;border:1px solid #0000;flex-direction:column;align-items:center;padding:6px 4px;font-family:inherit;display:flex}.squares-metric-item.is-action{cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast)}.squares-metric-item.is-action:hover:not(:disabled){background:var(--accent-primary-subtle);border-color:var(--accent-primary-border)}.squares-metric-item.is-max:not(:disabled) .squares-metric-num{color:#b45309}.squares-metric-item.is-max:hover:not(:disabled){background:var(--accent-amber-subtle);border-color:#fcd34d}.squares-metric-item:disabled{cursor:default}.squares-metric-num{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800;line-height:1.2}.squares-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-top:1px;font-size:10.5px;font-weight:600}.squares-goal-btn{border-radius:var(--radius-sm);background:var(--accent-amber-subtle);color:#92400e;text-align:left;cursor:pointer;width:100%;transition:background var(--transition-fast);border:1px dashed #f59e0b;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:7px 9px;font-family:inherit;font-size:12px;line-height:1.35;display:flex}.squares-goal-btn:hover{background:#fde68a}.squares-goal-cta{flex-shrink:0;font-weight:800}.squares-points{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.squares-points input{accent-color:#0d9488;margin:0}.squares-key{color:var(--text-secondary);grid-template-columns:1fr 1fr;gap:4px 10px;margin-bottom:6px;font-size:11.5px;font-weight:600;display:grid}.squares-key-item{align-items:center;gap:6px;display:inline-flex}.squares-swatch{border-radius:2px;flex-shrink:0;width:11px;height:11px}.sw-explored{background:#3b82f657;border:1px solid #2563ebd9}.sw-passed{background:#14b8a64d;border:1px solid #0d9488cc}.sw-goal{background:#fbbf2438;border:1.5px dashed #d97706}.squares-legend-foot{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:11px;font-weight:600;display:flex}.maplibregl-map.squares-hover-visited .maplibregl-canvas{cursor:pointer}.squares-popup{flex-direction:column;gap:6px;display:flex}.squares-popup-head{justify-content:space-between;align-items:center;gap:8px;padding-right:40px;display:flex}.squares-popup-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);padding:2px 7px;font-size:11px;font-weight:800}.squares-popup-badge.is-explored{color:#1d4ed8;background:#3b82f624}.squares-popup-badge.is-passed{color:#0f766e;background:#14b8a624}.squares-popup-badge.is-max,.squares-popup-badge.is-goal{background:var(--accent-amber-subtle);color:#b45309}.squares-popup-badge.is-unexplored{color:#475569;background:#64748b1f}.squares-popup-size{color:var(--text-muted);font-size:12px;font-weight:600}.squares-popup-title{color:var(--text-primary);font-size:14px;font-weight:700}.squares-popup-note{color:var(--text-secondary);border-top:1px solid var(--border-subtle);padding-top:6px;font-size:12.5px;font-weight:600}.squares-popup-id{font-family:var(--font-mono,monospace);color:var(--text-tertiary);font-size:11px}.custom-div-icon,.custom-cluster-wrapper{background:0 0!important;border:none!important}.cluster-badge{font-variant-numeric:tabular-nums;color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-weight:800;transition:transform .14s,box-shadow .14s;display:flex;box-shadow:0 2px 8px #1c191738,0 0 0 2px #ffffffe6}.cluster-badge:hover{transform:scale(1.14);box-shadow:0 4px 16px #1c191752,0 0 0 3px #fff}.cluster-small{background:#3b82f6;font-size:12px}.cluster-medium{background:#1d4ed8;font-size:13px}.cluster-large{background:#0f172a;font-size:14px;box-shadow:0 4px 14px #0f172a59,0 0 0 2.5px #fffffff2}.place-dot-marker{cursor:pointer;background:#6366f1;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;transition:transform .12s,box-shadow .12s,background-color .12s;display:flex;box-shadow:0 1px 4px #1c19174d}.place-dot-marker:hover{background:#4f46e5;transform:scale(1.45);box-shadow:0 2px 8px #4f46e573,0 0 0 2px #fff}.place-dot-core{background:#fff;border-radius:50%;width:4px;height:4px}.marker-pin-wrapper{filter:drop-shadow(0 2px 5px #1c191747);cursor:pointer;transition:transform .12s}.marker-pin-wrapper:hover{transform:scale(1.15)translateY(-2px)}.location-history-app .maplibregl-popup{z-index:1000}.maplibregl-popup-content{border-radius:var(--radius-md);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);background:var(--bg-surface)!important;color:var(--text-primary)!important}.maplibregl-popup-anchor-top .maplibregl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--bg-surface)!important}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--bg-surface)!important}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--bg-surface)!important}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--bg-surface)!important}.timeline-popup-container .maplibregl-popup-content{border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);line-height:1.4;font-family:var(--font-ui);padding:16px;background:var(--bg-surface)!important;color:var(--text-primary)!important}.timeline-popup-container .maplibregl-popup-close-button{background:var(--bg-surface-elevated,#1e293b);border:1px solid var(--glass-border,#ffffff26);color:var(--text-muted,#94a3b8);cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex;top:10px;right:10px}.timeline-popup-container .maplibregl-popup-close-button:hover{color:#ef4444;background:#ef444426;border-color:#ef444466;transform:scale(1.08)}.heat-hover-ring{border:2px solid var(--accent-primary);box-sizing:border-box;pointer-events:none;background:#2563eb40;border-radius:50%;width:16px;height:16px}.heat-tooltip-box{pointer-events:none}.heat-tooltip-box.is-tappable{pointer-events:auto;cursor:pointer}.heat-tooltip-box.is-tappable .heat-hover-meta{color:var(--accent-primary);font-weight:600}.heat-tooltip-box .maplibregl-popup-content{border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-family:var(--font-ui);padding:6px 10px;font-size:13px;line-height:1.35;background:var(--bg-surface)!important;border:1px solid var(--glass-border)!important;color:var(--text-primary)!important}.heat-hover-sub,.heat-hover-meta{color:var(--text-secondary);font-size:12px}.timeline-popup{flex-direction:column;gap:8px;display:flex}.popup-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.popup-header-right{align-items:center;display:flex}.popup-visits-count{color:var(--accent-primary);font-size:12px;font-weight:600}.popup-title{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700}.popup-location{color:var(--text-secondary);margin:0;font-size:13px}.popup-grid{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px;padding:8px;display:grid;overflow:hidden}.popup-grid-item{flex-direction:column;min-width:0;display:flex;overflow:hidden}.item-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.item-val{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.popup-details-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center;width:100%;margin-top:6px;padding:7px 12px;font-size:13px;font-weight:500}.popup-details-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-strong);color:var(--text-primary)}dialog#place-modal,dialog.export-modal-dialog{border-radius:var(--radius-lg);overscroll-behavior:contain;opacity:0;transition-behavior:allow-discrete;background:0 0;border:none;width:90vw;max-width:540px;margin:auto;padding:0;transition-property:opacity,display,overlay;transition-duration:.2s;transition-timing-function:cubic-bezier(.16,1,.3,1);position:fixed;inset:0;overflow:visible}dialog#place-modal>:not(.place-toast),dialog.export-modal-dialog>:not(.place-toast){transition:transform .2s cubic-bezier(.16,1,.3,1);transform:scale(.96)}dialog.export-modal-dialog{max-width:440px}dialog.export-modal-dialog.lh-dialog-wide{max-width:560px}dialog#place-modal[open],dialog.export-modal-dialog[open]{opacity:1}@starting-style{dialog#place-modal[open],dialog.export-modal-dialog[open]{opacity:0}}dialog#place-modal[open]>:not(.place-toast),dialog.export-modal-dialog[open]>:not(.place-toast){transform:none}@starting-style{dialog#place-modal[open]>:not(.place-toast),dialog.export-modal-dialog[open]>:not(.place-toast){transform:scale(.96)}}dialog#place-modal::backdrop{-webkit-backdrop-filter:blur(4px);overscroll-behavior:contain;transition-behavior:allow-discrete;background:#0f172a7a;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter,display,overlay;transition-duration:.2s;transition-timing-function:ease-out;overflow:hidden}dialog.export-modal-dialog::backdrop{-webkit-backdrop-filter:blur(4px);overscroll-behavior:contain;transition-behavior:allow-discrete;background:#0f172a7a;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter,display,overlay;transition-duration:.2s;transition-timing-function:ease-out;overflow:hidden}dialog#place-modal[open]::backdrop{-webkit-backdrop-filter:blur(4px);background:#0f172a7a}dialog.export-modal-dialog[open]::backdrop{-webkit-backdrop-filter:blur(4px);background:#0f172a7a}@starting-style{dialog#place-modal[open]::backdrop{-webkit-backdrop-filter:blur();background:0 0}dialog.export-modal-dialog[open]::backdrop{-webkit-backdrop-filter:blur();background:0 0}}@media (prefers-reduced-motion:reduce){dialog#place-modal,dialog.export-modal-dialog{transition-duration:50ms}dialog#place-modal>:not(.place-toast),dialog.export-modal-dialog>:not(.place-toast){transition:none;transform:none}@starting-style{dialog#place-modal[open]>:not(.place-toast),dialog.export-modal-dialog[open]>:not(.place-toast){transform:none}}}.modal-surface{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);color:var(--text-primary);overscroll-behavior:contain;flex-direction:column;gap:16px;max-height:calc(100dvh - 38px);padding:24px;display:flex;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;display:flex}.modal-badge-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.badge{border-radius:4px;align-items:center;padding:2px 7px;font-size:12px;font-weight:500;display:inline-flex}.badge-home{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.badge-work{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-search{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.badge-place{color:#292524;background:#f5f5f4;border:1px solid #e7e5e4}.badge-social{color:#be185d;background:#fdf2f8;border:1px solid #fbcfe8}.country-pill{color:var(--text-secondary);background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:500}.modal-title{color:var(--text-primary);letter-spacing:-.015em;margin:0;font-size:19px;font-weight:700}.modal-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:14px}.modal-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-surface-elevated)}.modal-metrics-ribbon{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);grid-template-columns:repeat(3,1fr);display:grid}.modal-metric-card{text-align:center;flex-direction:column;min-width:0;padding:10px 6px;display:flex}.modal-metric-card+.modal-metric-card{border-left:1px solid var(--glass-border)}.metric-number{color:var(--accent-primary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;line-height:1.25}.metric-unit{margin-left:3px;font-size:12.5px;font-weight:600}.metric-caption{color:var(--text-secondary);white-space:nowrap;margin-top:1px;font-size:12px;font-weight:500}.modal-details-grid{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:14px;font-size:14px;display:flex}.detail-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;display:flex}.detail-row>:last-child{margin-left:auto}.detail-label{color:var(--text-secondary)}.detail-value{color:var(--text-primary);text-align:right;font-weight:600}.coord-copy-wrapper{align-items:center;gap:8px;display:flex}.coord-copy-wrapper .detail-value{white-space:nowrap}.btn-copy{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-flex}.btn-copy:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.modal-section{flex-direction:column;gap:6px;display:flex}.section-title{color:var(--text-primary);font-size:13px;font-weight:600}.yearly-pills-container{flex-wrap:wrap;gap:6px;max-height:90px;display:flex;overflow-y:auto}.year-stat-pill{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.year-stat-pill .yr{color:var(--text-secondary)}.year-stat-pill .cnt{color:var(--accent-primary);font-weight:600}.modal-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.modal-footer button,.modal-footer a{white-space:nowrap}@media (max-width:480px){.modal-footer-start{flex-basis:100%}.modal-footer>.btn-primary,.modal-footer>.btn-secondary{white-space:normal;flex:1;justify-content:center;align-self:stretch}}.modal-footer-start{align-items:center;gap:2px;margin-right:auto;display:flex}.modal-quiet-btn{border-radius:var(--radius-sm);font:inherit;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:7px 8px;font-size:13.5px;font-weight:600;display:inline-flex}.modal-quiet-btn:hover{background:var(--bg-surface-elevated);color:var(--text-primary)}.modal-quiet-btn.is-danger:hover{background:var(--danger-bg-subtle);color:var(--danger-text-hover)}.place-merged-note{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-surface-subtle);flex-direction:column;gap:4px;margin-top:8px;padding:8px 10px;display:flex}.place-merged-title{color:var(--text-secondary);font-size:13px;font-weight:700}.place-merged-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.place-merged-list li{align-items:baseline;gap:8px;font-size:13px;display:flex}.place-merged-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);overflow:hidden}.place-merged-visits{color:var(--text-muted);flex:none;margin-right:auto}.btn-primary{background:var(--accent-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast);border:none;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.btn-secondary:hover{color:var(--text-primary);background:#e9e4d9}.modal-title-group{flex:1;min-width:0}.place-title-btn{border-radius:var(--radius-sm);max-width:100%;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:text;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:8px;margin:-3px -8px;padding:3px 8px;display:inline-flex}.place-title-btn:hover{background:var(--bg-surface-elevated);border-color:var(--glass-border)}.place-title-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.place-title-text{overflow-wrap:anywhere}.place-title-pencil{color:var(--text-tertiary);opacity:.55;transition:opacity var(--transition-fast), color var(--transition-fast);flex-shrink:0}.place-title-btn:hover .place-title-pencil,.place-title-btn:focus-visible .place-title-pencil{opacity:1;color:var(--accent-primary)}.place-rename-form{align-items:center;gap:6px;margin:-4px 0 0 -9px;display:flex}.place-rename-input{border:1px solid var(--accent-primary-border);border-radius:var(--radius-sm);background:var(--bg-surface);min-width:0;height:36px;box-shadow:0 0 0 3px var(--accent-primary-subtle);font-family:var(--font-heading);letter-spacing:-.015em;color:var(--text-primary);outline:none;flex:1;padding:0 8px;font-size:18px;font-weight:700}.place-rename-input::placeholder{color:var(--text-tertiary);font-weight:600}.place-rename-btn{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-surface-elevated);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.place-rename-btn svg{flex:none;width:15px;min-width:15px;max-width:none;height:15px}.place-rename-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.place-rename-btn.is-save{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.place-rename-btn.is-save:hover{background:var(--accent-primary-hover)}.place-rename-hint{color:var(--text-muted);margin:6px 0 0;font-size:14px}.place-rename-note{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:6px 0 0;font-size:14px;display:flex}.place-rename-original{color:var(--text-secondary);font-weight:600}.place-inline-link{font:inherit;color:var(--accent-primary);cursor:pointer;text-underline-offset:2px;transition:text-decoration-color var(--transition-fast);background:0 0;border:none;padding:0;font-size:13px;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.place-inline-link:hover{text-decoration-color:currentColor}.place-label-panel{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-surface-subtle);flex-direction:column;gap:10px;padding:12px 14px 13px;display:flex}.place-label-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.place-label-title{color:var(--text-primary);margin:0;font-size:13.5px;font-weight:700}.place-saved-status{color:var(--accent-emerald);opacity:0;transition:opacity var(--transition-normal), transform var(--transition-normal);align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:inline-flex;transform:translateY(2px)}.place-saved-status.is-visible{opacity:1;transform:none}.place-label-options{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.place-label-option{text-align:center;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-surface);min-height:54px;box-shadow:var(--shadow-sm);line-height:1.2;font-family:var(--font-ui);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.place-label-option svg{width:16px;max-width:none;height:16px;color:var(--text-tertiary);transition:color var(--transition-fast);flex:none}.place-label-option:hover{border-color:var(--border-strong);color:var(--text-primary)}.place-label-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.place-label-option.opt-home:hover svg{color:#0284c7}.place-label-option.opt-familyFriends:hover svg{color:#db2777}.place-label-option.opt-work:hover svg{color:var(--accent-amber)}.place-label-option.is-selected{cursor:default}.place-label-option.opt-home.is-selected{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 3px #0284c71a}.place-label-option.opt-familyFriends.is-selected{color:#be185d;background:#fdf2f8;border-color:#f9a8d4;box-shadow:0 0 0 3px #db27771a}.place-label-option.opt-work.is-selected{color:#b45309;box-shadow:0 0 0 3px var(--accent-amber-glow);background:#fffbeb;border-color:#fcd34d}.place-label-option.opt-none.is-selected{background:var(--bg-surface-elevated);border-color:var(--border-strong);color:var(--text-primary);box-shadow:none}.place-label-option.opt-home.is-selected svg{color:#0284c7}.place-label-option.opt-familyFriends.is-selected svg{color:#db2777}.place-label-option.opt-work.is-selected svg{color:var(--accent-amber)}.place-label-option.opt-none.is-selected svg{color:var(--text-secondary)}.place-label-option.is-guess{box-shadow:none;cursor:pointer;border-style:dashed}.place-label-option.opt-home.is-guess{background:#f5f9ff}.place-label-option.opt-work.is-guess{background:#fffdf5}.place-label-guess-tag{border-radius:var(--radius-full);background:var(--bg-surface);letter-spacing:.02em;text-transform:uppercase;border:1px solid;padding:0 6px;font-size:10.5px;font-weight:700;line-height:15px;position:absolute;top:-8px;right:8px}.place-home-kind{border-radius:var(--radius-md);background:#f5f9ff;border:1px solid #dbeafe;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 8px 8px 12px;animation:.18s ease-out place-home-kind-in;display:flex}@keyframes place-home-kind-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.place-home-kind-label{color:#1e40af;font-size:13.5px;font-weight:600}.place-home-kind-toggle{border-radius:var(--radius-full);background:#e0ecff;padding:3px;display:inline-flex}.place-home-kind-opt{border-radius:var(--radius-full);font-family:var(--font-ui);color:#3b5b9a;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;padding:5px 12px;font-size:13px;font-weight:600}.place-home-kind-opt:hover{color:#1d4ed8}.place-home-kind-opt:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.place-home-kind-opt.is-selected{background:var(--bg-surface);color:#1d4ed8;cursor:default;box-shadow:0 1px 2px #1d4ed82e}.place-label-foot{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.place-label-help{color:var(--text-muted);margin:0;font-size:13px;line-height:1.4}.place-label-short{display:none}@media (max-width:480px){dialog#place-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:100%;margin:auto 0 0}@media (prefers-reduced-motion:no-preference){dialog#place-modal{transform:translateY(32px)}dialog#place-modal[open]{transform:none}@starting-style{dialog#place-modal[open]{transform:translateY(32px)}}}#place-modal .modal-surface{max-height:calc(100dvh - 24px);padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;gap:12px}#place-modal .modal-title{font-size:18px}.place-label-panel{gap:8px;padding:10px 12px 11px}.place-label-option{gap:3px;min-height:50px;padding:6px 2px;font-size:12.5px}.place-label-long{display:none}.place-label-short{display:inline}.place-label-option.is-guess{padding-top:11px}.place-label-guess-tag{font-size:9.5px;line-height:13px;top:-7px;right:50%;transform:translate(50%)}.place-home-kind{padding:5px 5px 5px 10px}.place-home-kind-label{white-space:nowrap;font-size:13px}.place-home-kind-opt{white-space:nowrap;padding:5px 10px;font-size:12.5px}.modal-metric-card{padding:8px 4px}.metric-number{font-size:17px}.modal-details-grid{gap:8px;padding:10px 12px;font-size:13.5px}.coord-copy-wrapper .detail-value{font-size:12.5px}.modal-footer-long{display:none}}.search-dropdown{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;min-width:360px;max-height:400px;box-shadow:var(--shadow-lg);z-index:2000;flex-direction:column;gap:3px;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto}.search-dropdown[hidden]{display:none!important}.search-dropdown::-webkit-scrollbar{width:6px}.search-dropdown::-webkit-scrollbar-track{background:var(--bg-surface-elevated);border-radius:var(--radius-sm)}.search-dropdown::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#d8d2c4}.search-dropdown::-webkit-scrollbar-thumb:hover{background:#94a3b8}.search-item{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:12px;padding:8px 10px;display:flex}.search-item:hover{background:var(--bg-surface-elevated)}.search-item.highlighted,.search-item[aria-selected=true]{background:var(--bg-surface-elevated);border-color:var(--border-strong);box-shadow:inset 3px 0 0 var(--text-primary)}.search-no-results{color:var(--text-muted);text-align:center;padding:14px 12px;font-size:14px}.search-no-results strong{color:var(--text-primary)}.search-item-badge{border-radius:var(--radius-sm);width:32px;height:32px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.search-item-badge svg{flex-shrink:0!important;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;display:block!important}.search-badge-home{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.search-badge-work{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.search-badge-search{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.search-badge-city{color:#44403c;background:#f5f5f4;border:1px solid #e7e5e4}.search-badge-place{color:#292524;background:#f5f5f4;border:1px solid #e7e5e4}.search-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-item-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.search-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.search-item-name mark,.search-item-subtitle mark{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px;background:0 0;font-weight:700}.search-visits-tag{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--glass-border);color:var(--text-secondary);white-space:nowrap;flex-shrink:0;padding:2px 6px;font-size:12px;font-weight:600}.search-item-subtitle-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.search-item-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.search-semantic-tag{white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:500}.search-semantic-tag.badge-home{color:#1d4ed8;background:#eff6ff}.search-semantic-tag.badge-work{color:#b45309;background:#fef3c7}.search-semantic-tag.badge-search{color:#047857;background:#ecfdf5}.search-semantic-tag.badge-city{color:#44403c;background:#f5f5f4}.search-semantic-tag.badge-place{color:#292524;background:#f5f5f4}.search-semantic-tag.badge-social{color:#be185d;background:#fdf2f8}.analytics-panel{z-index:980;background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:min(760px,100vw - 32px);box-shadow:var(--shadow-lg);transition:all var(--transition-normal);flex-direction:column;gap:10px;padding:12px 16px 14px;display:flex;position:absolute;top:145px;left:auto;right:16px}.analytics-panel.collapsed{display:none}.analytics-panel-header{justify-content:space-between;align-items:center;display:flex}.analytics-panel-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.analytics-panel-title svg{color:var(--accent-primary)}.analytics-panel-actions{align-items:center;gap:8px;display:flex}.btn-icon-sm{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--glass-border);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.btn-icon-sm:hover{color:var(--text-primary);background:#e9e4d9}.btn-icon-sm svg{stroke:currentColor!important;flex-shrink:0!important;width:14px!important;min-width:14px!important;height:14px!important;min-height:14px!important;display:block!important}.analytics-charts-grid{grid-template-columns:1.6fr 1fr;gap:14px;width:100%;display:grid}.chart-card{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.chart-card-header{justify-content:space-between;align-items:center;min-height:22px;display:flex}.chart-card-title{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.chart-card-title svg{color:var(--accent-primary)}.chart-card-hint{color:var(--text-muted);letter-spacing:normal;text-transform:none;font-size:14px;font-weight:500}.chart-filter-indicator{align-items:center;gap:6px;display:inline-flex}.badge-active-year{background:var(--bg-surface-elevated);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:4px;padding:2px 6px;font-size:12px;font-weight:500}.btn-clear-chart-filter{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;line-height:1}.btn-clear-chart-filter:hover{color:var(--text-primary);background:#e9e4d9}.chart-canvas-container{width:100%;height:170px;min-height:150px;position:relative}.mode-chart-layout{align-items:center;gap:14px;display:flex}.mode-canvas-wrapper{flex-shrink:0;width:150px;height:150px;position:relative}.mode-legend-list{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.mode-legend-item{background:var(--bg-surface);border:1px solid var(--glass-border);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border-radius:5px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;display:flex}.mode-legend-item:hover{background:var(--bg-surface-elevated);border-color:var(--border-strong);transform:translate(2px)}.mode-legend-label{color:var(--text-primary);align-items:center;gap:6px;display:flex}.mode-legend-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mode-icon{font-size:13px}.mode-legend-pct{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:12px;font-weight:700}.route-hover-tooltip{pointer-events:none}.route-hover-tooltip .maplibregl-popup-content{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);box-shadow:var(--shadow-lg);padding:6px 10px;font-family:inherit}.route-tooltip-inner{flex-direction:column;gap:2px;display:flex}.route-tooltip-head{color:var(--text-primary);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.route-tooltip-date{color:var(--text-secondary);font-size:11px}.route-tooltip-stats{color:var(--accent-primary);font-size:12px;font-weight:600}.popup-custom-note{color:#92400e;border-left:2px solid var(--accent-amber);background:#fef3c7;border-radius:4px;margin:0;padding:4px 8px;font-size:12px;font-style:italic}.custom-label-form{flex-direction:column;gap:6px;display:flex}.custom-note-row{gap:6px;display:flex}.custom-input{background:var(--bg-surface);border:1px solid var(--glass-border);color:var(--text-primary);transition:border-color var(--transition-fast);border-radius:6px;outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:13px}.custom-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #2563eb26}.btn-save-custom{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500}.btn-save-custom:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.places-list-view{z-index:950;background-color:var(--bg-canvas);--view-padding:16px 24px 64px;padding:var(--view-padding);-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow:hidden auto}.places-list-view.tab-with-footer,.trends-view.tab-with-footer{flex-direction:column;padding:0}.tab-with-footer>.tab-body{padding:var(--view-padding);flex:1 0 auto}.places-list-page{flex-direction:column;gap:16px;max-width:1400px;margin:0 auto;display:flex}.list-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:8px 4px 4px;display:flex}.list-header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.list-trash-btn{border:1px solid var(--glass-border);border-radius:var(--radius-full);background:var(--bg-surface);font:inherit;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);align-items:center;gap:7px;padding:7px 10px 7px 12px;font-size:13.5px;font-weight:600;display:inline-flex}.list-trash-btn[hidden]{display:none}.list-trash-btn:hover{background:var(--bg-surface-elevated);color:var(--text-primary)}.list-trash-count{border-radius:var(--radius-full);background:var(--bg-surface-hover);text-align:center;min-width:20px;padding:1px 6px;font-size:12px}.list-title-group{flex-direction:column;display:flex}.list-page-title{color:var(--text-primary);letter-spacing:-.02em;font-size:20px;font-weight:700}.list-page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:14px}.list-page-hint{color:var(--text-muted);margin-top:2px;font-size:14px}.place-edited-mark{border-radius:var(--radius-full);background:var(--accent-primary-subtle);width:18px;height:18px;color:var(--accent-primary);justify-content:center;align-items:center;display:inline-flex}.list-quick-stats{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.quick-stat-item{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;min-width:80px;padding:6px 14px;display:flex;box-shadow:0 1px 3px #282e260d}.stat-number{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;line-height:1.1}.stat-label{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:500}.list-toolbar{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);z-index:20;box-shadow:0 -8px 0 8px var(--bg-canvas), 0 6px 16px -8px #282e262e;flex-direction:column;gap:10px;padding:12px 16px;display:flex;position:sticky;top:-8px}.list-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.list-search-wrap{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-sizing:border-box;min-width:240px;max-width:440px;height:36px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);flex:1;align-items:center;padding:0 12px;display:flex;position:relative}.list-search-wrap:hover{border-color:var(--border-strong)}.list-search-wrap:focus-within{background:var(--bg-surface);border-color:var(--accent-primary);box-shadow:0 0 0 3px #1d4ed81f}.list-search-icon{color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.list-search-icon svg{flex-shrink:0!important;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;display:block!important}.list-search-wrap:focus-within .list-search-icon{color:var(--accent-primary)}.list-search-input{width:100%;height:100%;color:var(--text-primary);min-width:0;box-shadow:none;box-sizing:border-box;appearance:none;background:0 0;border:none;outline:none;flex:1;margin-left:8px;padding:0;font-family:inherit;font-size:14px;font-weight:500}.list-search-input::placeholder{color:var(--text-muted)}.list-search-input::-webkit-search-decoration{-webkit-appearance:none;display:none}.list-search-input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.list-search-input::-webkit-search-results-button{-webkit-appearance:none;display:none}.list-search-input::-webkit-search-results-decoration{-webkit-appearance:none;display:none}.list-search-clear{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.list-search-clear:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.list-category-pills{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.list-cat-btn{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:5px 11px;font-size:13px;font-weight:500}.list-cat-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.list-cat-btn.active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:var(--shadow-sm);font-weight:600}.list-toolbar-secondary{flex-wrap:wrap;align-items:center;gap:12px;padding-top:2px;font-size:13px;display:flex}.list-select-group{align-items:center;gap:6px;display:flex}.list-select-label{color:var(--text-muted);font-size:12px;font-weight:500}.list-select{appearance:none;background-color:var(--bg-surface-elevated);background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);border:1px solid var(--glass-border);border-radius:var(--radius-sm);height:30px;color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding:0 32px 0 10px;font-family:inherit;font-size:13px}.list-select:hover{border-color:var(--border-strong)}.list-select:focus{outline:2px solid var(--accent-primary);outline-offset:1px}.list-reset-btn{height:30px;padding:0 12px;font-size:12.5px}.list-result-count{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-weight:500}.list-table-wrapper{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow-x:auto;box-shadow:0 1px 3px #282e260d;container-type:inline-size}.places-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:13.5px}.places-table thead{z-index:10;background:var(--bg-surface-elevated);position:sticky;top:0}.places-table th{color:var(--text-muted);border-bottom:1px solid var(--glass-border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:500}.places-table tbody tr{cursor:pointer;transition:background var(--transition-fast);content-visibility:auto;contain-intrinsic-size:auto none auto 52px}.places-table tbody tr:hover{background:var(--bg-surface-elevated)}.places-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--glass-border-subtle)}.places-table td{vertical-align:middle;padding:10px 14px}.col-rank{text-align:center;width:44px}.rank-badge{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.rank-badge.rank-top{border-radius:4px;padding:1px 5px;font-weight:700;display:inline-block}.rank-badge.rank-1{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.rank-badge.rank-2{color:#475569;background:#f3f0e9;border:1px solid #d8d2c4}.rank-badge.rank-3{color:#c2410c;background:#ffedd5;border:1px solid #fed7aa}.place-cell-content{flex-direction:column;gap:2px;max-width:420px;display:flex}.place-name-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.place-name-text{color:var(--text-primary);font-size:14px;font-weight:600}.cat-badge{border-radius:4px;padding:1px 6px;font-size:11px;font-weight:500}.cat-badge.cat-work{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.cat-badge.cat-home{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.cat-badge.cat-place{color:#292524;background:#f5f5f4;border:1px solid #e7e5e4}.cat-badge.cat-search{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.cat-badge.cat-social{color:#be185d;background:#fdf2f8;border:1px solid #fbcfe8}.place-addr-line{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.location-cell{white-space:nowrap;flex-direction:column;gap:1px;display:flex}.loc-city{color:var(--text-primary);font-weight:500}.loc-country{color:var(--text-muted);font-size:12px}.visits-cell{flex-direction:column;gap:3px;width:100px;display:flex}.visits-number{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.visits-bar-track{background:var(--glass-border);border-radius:2px;height:4px;overflow:hidden}.visits-bar-fill{background:var(--accent-primary);border-radius:2px;height:100%}.duration-text{font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;font-size:13px}.period-cell{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;font-size:12.5px;display:flex}.table-actions-group{align-items:center;gap:5px;display:flex}.btn-action-sm{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:5px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.btn-action-sm:hover{color:var(--text-primary);background:#e9e4d9;border-color:#d8d2c4}.btn-show-map:hover{color:var(--accent-primary)}.btn-gmaps-link:hover{color:var(--accent-emerald)}.list-empty-state{text-align:center;padding:48px 24px}.empty-title{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.empty-sub{color:var(--text-muted);margin-bottom:16px;font-size:14px}.list-pagination-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:4px 2px;display:flex}.pagination-page-size{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.list-select-sm{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);height:28px;color:var(--text-primary);cursor:pointer;border-radius:5px;padding:0 6px;font-size:12.5px}.pagination-controls{align-items:center;gap:4px;display:flex}.page-btn{background:var(--bg-surface);border:1px solid var(--glass-border);min-width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.page-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-surface-elevated);border-color:#d8d2c4}.page-btn.active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary);font-weight:600}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-ellipsis{color:var(--text-muted);padding:0 3px;font-size:12px}.pagination-jump{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}@container (width<=820px){.col-span,.col-duration{display:none}}@container (width<=600px){.col-location{display:none}.places-table th,.places-table td{padding-left:6px;padding-right:6px}.places-table .col-rank{width:32px}.places-table td.col-place{width:100%;max-width:0}.place-cell-content{max-width:none}.place-name-text{overflow-wrap:anywhere}.visits-cell{width:auto}.btn-show-map span{display:none}.btn-action-sm{padding:6px}}.city-pin-container{background:0 0!important;border:none!important;justify-content:center!important;align-items:center!important;display:flex!important;overflow:visible!important}.city-pin-container:hover{z-index:99999!important}.city-pin-pill{background:var(--bg-surface);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);cursor:pointer;white-space:nowrap;font-family:var(--font-family);color:var(--text-primary);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);transform-origin:bottom;-webkit-user-select:none;user-select:none;z-index:500;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #0000001f,0 1px 3px #00000014}.city-pin-pill:hover{border-color:var(--border-strong);transform:translateY(-2px)scale(1.04);box-shadow:0 8px 20px #00000026,0 2px 6px #00000014;z-index:1000!important}.city-pin-flag{font-size:14px;line-height:1}.city-pin-name{letter-spacing:-.01em}.city-pin-badge{background:var(--bg-surface-elevated);color:var(--text-secondary);font-variant-numeric:tabular-nums;border:1px solid var(--border-subtle);border-radius:10px;justify-content:center;align-items:center;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.city-pin-pill.hub-huge{background:var(--accent-primary);color:#fff;border-color:#ffffff59;padding:5px 12px 5px 10px;font-size:14px;box-shadow:0 4px 14px #00000040}.city-pin-pill.hub-huge .city-pin-badge{color:#fff;background:#ffffff38;border:none}.city-pin-pill.hub-major{border-color:var(--border-strong);box-shadow:0 3px 10px #0000001a}.city-pin-pill.hub-major .city-pin-badge{background:var(--bg-surface-elevated);color:var(--text-primary)}.city-pin-pill.hub-minor{opacity:.95;padding:3px 8px 3px 6px;font-size:12px}.city-pin-pill.hub-minor .city-pin-badge{padding:0 4px;font-size:10.5px}.city-pin-dot{background:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:auto;z-index:50;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s;display:flex;position:relative;box-shadow:0 1px 4px #00000040}.city-pin-dot:hover{transform:scale(1.3);box-shadow:0 3px 10px #00000059;z-index:10000!important}.city-dot-flag{display:none}.city-dot-tooltip{opacity:0;pointer-events:none;color:#fff;white-space:nowrap;z-index:10001;-webkit-backdrop-filter:blur(6px);background:#1c1917f0;border:1px solid #ffffff2e;border-radius:6px;align-items:center;gap:6px;padding:4px 9px;font-size:12.5px;font-weight:500;transition:opacity .16s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 8px 24px #0000004d}.city-dot-tooltip:after{content:"";border:4px solid #0000;border-top-color:#1c1917f0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.city-pin-dot:hover .city-dot-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.city-dot-badge{color:#fff;background:#fff3;border-radius:8px;justify-content:center;align-items:center;padding:1px 5px;font-size:10.5px;font-weight:600;display:inline-flex}.city-pin-dot.hub-huge{background:var(--text-primary);border-color:#fff;width:18px;height:18px;box-shadow:0 2px 8px #0000004d}.city-pin-dot.hub-major{background:var(--accent-primary);width:14px;height:14px;box-shadow:0 1px 6px #00000040}.city-pin-dot.hub-minor{opacity:.9;width:10px;height:10px}.city-popup-window .maplibregl-popup-content{background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--glass-border);box-shadow:var(--shadow-modal);-webkit-backdrop-filter:blur(12px);overscroll-behavior:contain;max-height:min(520px,100vh - 220px);padding:16px;overflow-y:auto}.btn-city-popup-close{background:var(--bg-surface-elevated,#1e293b);border:1px solid var(--glass-border,#ffffff26);color:var(--text-muted,#94a3b8);cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:10px;padding:0;display:inline-flex}.btn-city-popup-close:hover{color:#ef4444;background:#ef444426;border-color:#ef444466;transform:scale(1.08)}.city-popup-card{flex-direction:column;gap:12px;display:flex}.city-popup-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.city-badge-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.city-flag-icon{font-size:16px;line-height:1}.city-rank-badge{background:var(--bg-surface-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:9999px;align-items:center;padding:2px 7px;font-size:12px;font-weight:500;display:inline-flex}.city-popup-title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:17px;font-weight:700}.city-popup-subtitle{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.city-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.city-metric-box{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;gap:2px;min-width:0;padding:6px 8px;display:flex;overflow:hidden}.city-metric-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.city-metric-val{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.city-popup-section{border-top:1px solid var(--glass-border);flex-direction:column;gap:6px;padding-top:4px;display:flex}.city-section-header{justify-content:space-between;align-items:center;display:flex}.city-section-title{color:var(--text-secondary);font-size:12px;font-weight:600}.city-section-meta{color:var(--text-muted);font-size:11px}.city-years-bar-grid{background:var(--bg-surface-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);align-items:flex-end;gap:4px;height:52px;padding:4px 6px;display:flex;overflow-x:auto}.city-year-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:22px;height:100%;display:flex}.city-year-bar-track{background:#0000000a;border-radius:3px;align-items:flex-end;width:100%;max-width:14px;height:28px;display:flex;overflow:hidden}.city-year-bar-fill{background:var(--accent-primary);width:100%;transition:height var(--transition-fast);border-radius:3px}.city-year-col.peak-year .city-year-bar-fill{background:var(--accent-amber)}.city-year-label{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10.5px}.city-year-val{display:none}.city-top-places-list{flex-direction:column;gap:4px;max-height:140px;display:flex;overflow-y:auto}.city-top-place-row{background:var(--bg-surface-elevated);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:8px;padding:5px 8px;display:flex}.city-top-place-row:hover{background:var(--bg-surface-hover);border-color:var(--accent-primary);transform:translate(2px)}.place-rank-num{color:var(--text-muted);text-align:center;width:14px;font-size:12px;font-weight:700}.place-info-col{flex-direction:column;flex:1;min-width:0;display:flex}.place-info-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.place-info-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.place-visits-tag{color:var(--text-secondary);white-space:nowrap;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.city-popup-actions{margin-top:4px}.btn-explore-city{border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;display:flex;background:var(--accent-primary)!important;color:#fff!important;border:1px solid var(--accent-primary)!important}.btn-explore-city span{color:#fff!important}.btn-explore-city:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);background:var(--accent-primary-hover)!important;border-color:var(--accent-primary-hover)!important;color:#fff!important}@media (max-width:600px){.city-popup-window .maplibregl-popup-content{padding:12px}.city-popup-card{gap:9px}.city-popup-title{font-size:16px}.city-popup-subtitle{font-size:12.5px}.btn-city-popup-close{width:26px;height:26px}.city-metrics-grid{gap:4px}.city-metric-box{gap:0;padding:4px 7px}.city-metric-label{font-size:10.5px}.city-metric-val{font-size:12.5px}.city-popup-section{gap:5px}.city-years-bar-grid{height:42px;padding:3px 6px}.city-year-bar-track{height:20px}.city-top-places-list{gap:3px;max-height:116px}.city-top-place-row{padding:4px 8px}.btn-explore-city{padding:7px 12px}}.import-section{background:var(--bg-surface-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding:16px 20px;display:flex}.import-head-left{color:var(--accent-primary);align-items:center;gap:7px;display:flex}.import-badge.active-imported{color:var(--accent-emerald);background:var(--accent-emerald-subtle);border-color:#0596694d}.import-card{background:var(--bg-surface);border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:14px;position:relative}.import-card.drag-over{border-color:var(--accent-primary);background:var(--accent-primary-subtle);box-shadow:0 0 0 3px #1d4ed826}.import-desc{color:var(--text-secondary);margin-bottom:10px;font-size:14px;line-height:1.45}.import-desc strong{color:var(--text-primary)}.import-action-row{align-items:center;gap:8px;display:flex}.btn-import-upload{border-radius:var(--radius-sm);background:var(--accent-primary);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-fast);text-align:center;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-import-upload:hover,.btn-import-upload:focus-visible{background:var(--accent-primary-hover);box-shadow:var(--shadow-sm)}.import-hint{color:var(--text-muted);text-align:center;margin-top:8px;font-size:14px}.import-spinner-wrap{align-items:center;gap:10px;margin-bottom:10px;display:flex}.import-spinner{border:2.5px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.import-progress-text{color:var(--text-primary);font-size:13px;font-weight:600}.import-progress-bar-wrap{background:var(--border-subtle);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.import-progress-bar-fill{background:var(--accent-primary);border-radius:var(--radius-full);height:100%;transition:width .2s}.import-success-meta{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.import-success-icon{background:var(--accent-emerald-subtle);width:24px;height:24px;color:var(--accent-emerald);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.import-meta-text{flex-direction:column;gap:2px;min-width:0;display:flex}.import-meta-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.import-meta-sub{color:var(--text-muted);font-size:12px;line-height:1.3}.import-btn-group{gap:8px;display:flex}.btn-import-secondary{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;text-align:center;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.btn-import-secondary:hover,.btn-import-secondary:focus-visible{background:var(--bg-surface-hover);color:var(--text-primary)}.btn-import-reset{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;flex:1;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.btn-import-reset:hover{color:var(--accent-rose);background:#e11d4814;border-color:#e11d4840}.import-error{background:var(--danger-bg-subtle);border:1px solid var(--danger-border-subtle);color:var(--danger-text-hover);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;line-height:1.4}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin-icon{animation:.9s linear infinite spin;display:block}.map-toast{z-index:2500;background:var(--bg-surface-elevated);border:1px solid var(--accent-primary-border);border-radius:var(--radius-md);color:var(--text-primary);pointer-events:none;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;animation:.2s cubic-bezier(.16,1,.3,1) slideInDown;display:flex;position:absolute;top:76px;right:20px;box-shadow:0 8px 24px -4px #0f172a26}.map-toast svg{color:var(--accent-primary);flex-shrink:0}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes exportModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes exportModalScaleUp{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.export-modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(4px);background-color:#0f172a7a;justify-content:center;align-items:center;padding:1rem;animation:.18s ease-out forwards exportModalFadeIn;display:flex;position:fixed;inset:0}.export-modal-surface{background:var(--bg-surface,#fff);border:1px solid var(--glass-border,#e2e8f0);border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-modal,0 24px 48px -12px #0f172a38);box-sizing:border-box;flex-direction:column;gap:1.15rem;width:100%;max-width:440px;padding:1.5rem;animation:.18s cubic-bezier(.16,1,.3,1) forwards exportModalScaleUp;display:flex}.export-modal-header{justify-content:space-between;align-items:center;display:flex}.export-modal-title-group{align-items:center;gap:.65rem;display:flex}.export-modal-icon{width:18px;height:18px;color:var(--accent-primary,#1d4ed8);flex-shrink:0}.export-modal-icon.is-danger{color:#dc2626}.export-modal-title{font-family:var(--font-heading,sans-serif);color:var(--text-primary,#1c1917);margin:0;font-size:1.15rem;font-weight:700}.export-modal-close{color:var(--text-muted,#78716c);cursor:pointer;border-radius:var(--radius-sm,6px);background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;transition:all .15s;display:flex}.export-modal-close:hover{background:var(--bg-surface-elevated,#f5f3ef);color:var(--text-primary,#1c1917)}.export-modal-desc{color:var(--text-secondary,#57534e);margin:0;font-size:.88rem;line-height:1.45}.export-modal-options{background:var(--bg-surface-subtle,#fcfbf9);border:1px solid var(--border-subtle,#ebe7df);border-radius:var(--radius-md,10px);flex-direction:column;gap:.75rem;padding:.85rem 1rem;display:flex}.export-option-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:.75rem;display:flex}.export-option-row input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent-primary,#1d4ed8);flex-shrink:0;margin-top:.2rem}.export-option-text{flex-direction:column;gap:.15rem;display:flex}.export-option-label{color:var(--text-primary,#1c1917);font-size:.9rem;font-weight:600}.export-option-sub{color:var(--text-muted,#78716c);font-size:.84rem;line-height:1.35}.export-modal-footer{justify-content:flex-end;align-items:center;gap:.65rem;margin-top:.25rem;display:flex}.export-modal-surface.lh-dialog-wide{max-width:560px;max-height:min(760px,100dvh - 32px);overflow-y:auto}dialog.backup-modal-dialog{max-width:500px}.backup-modal-surface{max-width:500px;max-height:min(720px,100dvh - 32px);overflow-y:auto}.backup-info-list{background:var(--bg-surface-subtle,#fcfbf9);border:1px solid var(--border-subtle,#ebe7df);border-radius:var(--radius-md,10px);flex-direction:column;gap:12px;padding:13px 15px;display:flex}.backup-info-item{align-items:flex-start;gap:10px;display:flex}.backup-info-item-icon{background:var(--accent-primary-subtle,#eff6ff);width:22px;height:22px;color:var(--accent-primary,#2563eb);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.backup-info-item-content{flex-direction:column;gap:2px;min-width:0;display:flex}.backup-info-item-title{color:var(--text-primary,#1c1917);font-size:.88rem;font-weight:600}.backup-info-item-desc{color:var(--text-secondary,#57534e);font-size:.82rem;line-height:1.4}.backup-reminder-box{border-radius:var(--radius-md,10px);color:#92400e;background:#fffbeb;border:1px solid #fde68a;align-items:flex-start;gap:11px;padding:12px 14px;display:flex}.backup-reminder-icon{color:#b45309;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;display:flex}.backup-reminder-text{flex-direction:column;gap:4px;font-size:.83rem;line-height:1.45;display:flex}.backup-reminder-text strong{color:#78350f;font-size:.87rem;font-weight:700}.backup-reminder-text p{color:#92400e;margin:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .pill-btn.is-danger{color:#f87171}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .pill-btn.is-danger:hover{color:#fca5a5;background:#ef444426;border-color:#ef44444d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .export-modal-icon.is-danger{color:#f87171}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .backup-reminder-box{color:#fde68a;background:#d977061f;border-color:#d977064d}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .backup-reminder-icon{color:#fbbf24}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .backup-reminder-text strong{color:#fef3c7}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .backup-reminder-text p{color:#fde68a}}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .pill-btn.is-danger{color:#f87171}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .pill-btn.is-danger:hover{color:#fca5a5;background:#ef444426;border-color:#ef44444d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .export-modal-icon.is-danger{color:#f87171}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .backup-reminder-box{color:#fde68a;background:#d977061f;border-color:#d977064d}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .backup-reminder-icon{color:#fbbf24}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .backup-reminder-text strong{color:#fef3c7}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .backup-reminder-text p{color:#fde68a}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-sm{padding:5px 10px;font-size:13px}.btn-danger{border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:background var(--transition-fast);background:#dc2626;border:1px solid #b91c1c;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.btn-danger.btn-sm{padding:5px 10px;font-size:13px}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.6;cursor:progress}.place-inline-link.is-danger{color:var(--danger-text)}.merge-search{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-surface);height:40px;color:var(--text-tertiary);align-items:center;gap:8px;padding:0 12px;display:flex}.merge-search:focus-within{border-color:var(--accent-primary-border);box-shadow:0 0 0 3px var(--accent-primary-subtle)}.merge-search svg{flex:none}.merge-search-input{min-width:0;font:inherit;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14.5px}.merge-list-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin-bottom:-10px;font-size:12.5px;font-weight:700}.merge-list,.trash-list{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-surface-subtle);max-height:300px;margin:0;padding:4px;list-style:none;overflow-y:auto}.merge-option{border-radius:var(--radius-sm);width:100%;font:inherit;text-align:left;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:9px 10px;display:flex}.merge-option:hover{background:var(--bg-surface-elevated)}.merge-option.is-selected{background:var(--accent-primary-subtle);border-color:var(--accent-primary-border)}.merge-radio{border:1.5px solid var(--border-strong);background:var(--bg-surface);border-radius:50%;flex:none;width:16px;height:16px}.merge-option.is-selected .merge-radio{border-color:var(--accent-primary);box-shadow:inset 0 0 0 3.5px var(--bg-surface);background:var(--accent-primary)}.merge-option-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.merge-option-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.merge-option-sub,.trash-item-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.merge-option-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;gap:1px;font-size:12.5px;display:flex}.merge-option-meta span:first-child{color:var(--text-secondary);font-weight:600}.merge-empty,.trash-empty{color:var(--text-muted);text-align:center;padding:18px 12px;font-size:14px}.merge-name-choice{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.merge-name-choice legend{color:var(--text-primary);margin-bottom:6px;padding:0;font-size:13.5px;font-weight:700}.merge-name-option{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.merge-name-option.is-selected{border-color:var(--accent-primary-border);background:var(--accent-primary-subtle);color:var(--text-primary);font-weight:600}.merge-name-option input{accent-color:var(--accent-primary);margin:0}.trash-bulk{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:-6px;font-size:13.5px;display:flex}.trash-bulk-actions{gap:14px;display:flex}.trash-confirm{border:1px solid var(--danger-border-subtle);border-radius:var(--radius-md);background:var(--danger-bg-subtle);color:var(--danger-text);flex-direction:column;gap:10px;padding:12px 14px;font-size:14px;display:flex}.trash-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.trash-list{padding:0}.trash-item{align-items:center;gap:12px;padding:10px 12px;display:flex}.trash-item+.trash-item{border-top:1px solid var(--glass-border-subtle)}.trash-item-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.trash-item-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.trash-item-actions{flex:none;align-items:center;gap:8px;display:flex}.trash-item-warn{color:var(--danger-text);font-size:12.5px;font-weight:600}.trash-purge-btn{font:inherit;color:var(--danger-text);cursor:pointer;background:0 0;border:none;padding:5px 4px;font-size:13px;font-weight:600}.trash-purge-btn:hover:not(:disabled){text-underline-offset:2px;text-decoration:underline}.place-toast{z-index:4000;border-radius:var(--radius-md);color:#fafaf9;background:#1c1917;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:10px 10px 10px 16px;font-size:14px;font-weight:500;animation:.22s cubic-bezier(.16,1,.3,1) placeToastIn;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px -8px #1c191773}.place-toast>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes placeToastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.place-toast-action{border-radius:var(--radius-sm);font:inherit;color:#93c5fd;cursor:pointer;background:0 0;border:none;flex:none;padding:4px 8px;font-weight:700}.place-toast-action:hover{background:#ffffff14}.place-toast-close{border-radius:var(--radius-sm);color:#a8a29e;cursor:pointer;background:0 0;border:none;flex:none;padding:4px;display:inline-flex}.place-toast-close:hover{color:#fafaf9}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (pointer:coarse){.btn-step,.btn-ctrl,.legend-collapse-btn,.sidebar-collapse-btn{min-width:40px;min-height:40px}}.map-stage-wrap{width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.about-view{z-index:50;background-color:var(--bg-canvas,#faf9f6);-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden auto}.about-page{box-sizing:border-box;flex-direction:column;flex:1;gap:28px;width:100%;max-width:860px;margin:0 auto;padding:36px 24px 64px;display:flex}.about-intro-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.015em;margin:0 0 .65rem;font-size:clamp(1.8rem,1.5rem + 1vw,2.3rem);font-weight:700;line-height:1.2}.about-intro-lede{color:var(--text-secondary);margin:0 0 .75rem;font-size:1.05rem;line-height:1.65}.about-intro-aside{color:var(--text-secondary);background:var(--bg-surface);border-left:3px solid var(--accent-primary);border-radius:var(--radius-sm);margin:0;padding:12px 18px;font-size:.92rem;line-height:1.6;box-shadow:0 1px 2px #00000008}.about-dataset-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:18px;padding:24px;display:flex;box-shadow:0 1px 3px #0000000a}.about-dataset-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.about-dataset-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.about-dataset-status-pill{border-radius:var(--radius-full);color:#059669;background:#10b9811f;border:1px solid #10b98140;align-items:center;gap:6px;padding:4px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.about-dataset-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.about-dataset-stat-tile{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.about-dataset-stat-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.about-dataset-stat-lbl{color:var(--text-secondary);font-size:12.5px}.about-dataset-actions{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:10px;padding-top:14px;display:flex}.btn-primary-action{background:var(--accent-primary);color:#fff;font-family:var(--font-ui);cursor:pointer;border:none;border-radius:7px;align-items:center;gap:6px;padding:.55rem 1.15rem;font-size:.88rem;font-weight:600;transition:background-color .15s,transform .1s;display:inline-flex}.btn-primary-action:hover{background:var(--accent-primary-hover)}.btn-secondary-action{background:var(--bg-surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);font-family:var(--font-ui);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:.55rem 1.15rem;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-secondary-action:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.btn-secondary-action.is-danger{color:var(--danger-text);border-color:var(--danger-border-subtle)}.btn-secondary-action.is-danger:hover{background:var(--danger-bg-subtle);border-color:var(--danger-border-subtle);color:var(--danger-text-hover)}.about-guide-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:14px;padding:24px;display:flex;box-shadow:0 1px 3px #0000000a}.about-guide-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.about-guide-steps{color:var(--text-secondary);margin:0;padding-left:1.25rem;font-size:.93rem;line-height:1.7}.about-guide-steps li{margin-bottom:.35rem}.about-preview{flex-direction:column;gap:8px;display:flex}.about-preview-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.about-preview-title-row{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.about-preview-title{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.about-preview-hint{color:var(--text-muted);font-size:.8rem}.about-preview-scroll-btns{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.about-preview-scroll-btn{border:1px solid var(--border-subtle);background:var(--bg-surface);min-block-size:26px;min-inline-size:26px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.about-preview-scroll-btn:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.about-preview-scroll-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.about-preview-scroll-btn:disabled{opacity:.38;cursor:default}@media (pointer:coarse){.about-preview-scroll-btn{min-block-size:34px;min-inline-size:34px}}.about-preview-strip{scroll-snap-type:x proximity;scrollbar-width:thin;touch-action:pan-x pan-y;gap:10px;margin:0;padding:2px 2px 8px;list-style:none;display:flex;overflow-x:auto}.about-preview-item{scroll-snap-align:start;flex:none}.about-preview-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-sm);cursor:zoom-in;text-align:left;flex-direction:column;align-items:flex-start;gap:6px;padding:6px 6px 7px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.about-preview-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.about-preview-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.about-preview-thumb-frame{border:1px solid var(--glass-border-subtle);background:var(--bg-surface-elevated);border-radius:6px;display:block;overflow:hidden}.about-preview-thumb{object-fit:contain;width:auto;max-width:none;height:112px;display:block}.about-preview-label{color:var(--text-secondary);white-space:nowrap;padding:0 2px;font-size:.78rem;font-weight:600;line-height:1.2}.about-preview-card:hover .about-preview-label{color:var(--text-primary)}dialog.about-lightbox-dialog{border-radius:var(--radius-lg);overscroll-behavior:contain;opacity:0;transition-behavior:allow-discrete;background:0 0;border:none;width:min(94vw,1140px);max-width:1140px;max-height:calc(100dvh - 32px);margin:auto;padding:0;transition-property:opacity,transform,display,overlay;transition-duration:.18s;transition-timing-function:cubic-bezier(.16,1,.3,1);position:fixed;inset:0;overflow:auto;transform:scale(.97)}dialog.about-lightbox-dialog:modal{overscroll-behavior:contain}dialog.about-lightbox-dialog[open]{opacity:1;transform:scale(1)}@starting-style{dialog.about-lightbox-dialog[open]{opacity:0;transform:scale(.97)}}dialog.about-lightbox-dialog::backdrop{-webkit-backdrop-filter:blur(5px);overscroll-behavior:contain;transition-behavior:allow-discrete;background:#0f172a9e;transition-property:background-color,-webkit-backdrop-filter,backdrop-filter,display,overlay;transition-duration:.18s;transition-timing-function:ease-out;overflow:hidden}@starting-style{dialog.about-lightbox-dialog[open]::backdrop{-webkit-backdrop-filter:blur();background:0 0}}.about-lightbox-surface{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);color:var(--text-primary);flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.about-lightbox-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.about-lightbox-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.about-lightbox-title-group{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.about-lightbox-title{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:1rem;font-weight:700}.about-lightbox-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.about-lightbox-caption{color:var(--text-secondary);margin:0;font-size:.86rem;line-height:1.45}.about-lightbox-stage{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);justify-content:center;align-items:center;height:min(72dvh,660px);padding:12px 52px;display:flex;position:relative;overflow:hidden}.about-lightbox-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:var(--shadow-md);border-radius:6px}.about-lightbox-nav{border:1px solid var(--border-subtle);background:var(--bg-surface-glass);min-block-size:36px;min-inline-size:36px;color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.about-lightbox-nav.is-prev{left:10px}.about-lightbox-nav.is-next{right:10px}.about-lightbox-nav:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.about-lightbox-nav:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (max-width:640px){.about-preview-thumb{height:98px}.about-lightbox-surface{padding:12px}.about-lightbox-stage{height:min(62dvh,440px);padding:8px 42px}}@media (prefers-reduced-motion:reduce){.about-preview-card:hover{transform:none}dialog.about-lightbox-dialog{transition-duration:50ms;transform:none}@starting-style{dialog.about-lightbox-dialog[open]{transform:none}}}.about-features{flex-direction:column;gap:10px;display:flex}.about-features-title{font-family:var(--font-heading);color:var(--text-primary);margin:0 0 4px;font-size:1.25rem;font-weight:700}.about-features-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.about-feature{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:14px 18px;display:flex;box-shadow:0 1px 2px #00000008}.about-feature-icon{background:var(--bg-canvas);width:32px;height:32px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.about-feature-title{color:var(--text-primary);margin:0 0 2px;font-size:.95rem;font-weight:600}.about-feature-body{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.about-faq{flex-direction:column;gap:10px;display:flex}.about-faq-title{font-family:var(--font-heading);color:var(--text-primary);margin:0 0 4px;font-size:1.25rem;font-weight:700}.about-faq-item{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008}.about-faq-item summary{cursor:pointer;color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:.95rem;font-weight:600;list-style:none;display:flex}.about-faq-item summary::-webkit-details-marker{display:none}.about-faq-chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .15s}.about-faq-item[open] .about-faq-chevron{transform:rotate(180deg)}.about-faq-answer{color:var(--text-secondary);padding:0 18px 14px;font-size:.9rem;line-height:1.6}.about-faq-answer p{margin:0 0 .6rem}.about-faq-answer p:last-child{margin-bottom:0}.about-faq-answer ul,.about-faq-list{margin:.35rem 0 .6rem;padding-left:1.25rem}.about-faq-answer li,.about-faq-list li{margin-bottom:.4rem;line-height:1.55}.about-faq-answer li:last-child,.about-faq-list li:last-child{margin-bottom:0}.about-attribution{flex-direction:column;gap:8px;padding-top:8px;display:flex}.about-attribution-title{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700}.about-attribution-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}.about-attribution-text a{color:var(--accent-primary,#2563eb);text-underline-offset:2px;text-decoration:underline}.about-attribution-text a:hover{color:var(--accent-primary-hover,#1d4ed8)}.trends-view{z-index:50;background-color:var(--bg-canvas,#faf9f6);--view-padding:28px 32px 80px;padding:var(--view-padding);-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow:hidden auto}.trends-page{flex-direction:column;gap:24px;max-width:1360px;margin:0 auto;display:flex}.trends-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.trends-title-group{flex-direction:column;gap:4px;display:flex}.trends-title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.trends-subtitle{color:var(--text-secondary);margin:0;font-size:14px}.trends-header-actions{align-items:center;gap:12px;display:flex}.trends-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.trends-kpi-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:18px 20px;display:flex;box-shadow:0 1px 3px #0000000a}.trends-kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12.5px;font-weight:600}.trends-kpi-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.2}.trends-kpi-sub{color:var(--text-secondary);font-size:13px}.trends-milestones-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.trends-milestone-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:flex-start;gap:14px;padding:16px 18px;display:flex;box-shadow:0 1px 3px #0000000a}.trends-milestone-card:hover{border-color:var(--border-strong);box-shadow:0 3px 8px #0000000f}.milestone-icon-wrap{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.milestone-icon-wrap.icon-earth{color:#0284c7;background:#0ea5e91f}.milestone-icon-wrap.icon-moon{color:#9333ea;background:#a855f71f}.milestone-icon-wrap.icon-compass{color:#d97706;background:#f59e0b1f}.milestone-icon-wrap.icon-route{color:#059669;background:#10b9811f}.milestone-content{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.milestone-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:600}.milestone-value{color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.2}.milestone-truncate{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.milestone-sub{color:var(--text-secondary);font-size:12.5px;line-height:1.3}.trends-charts-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.trends-charts-grid.grid-dual-primary{grid-template-columns:3fr 2fr}.trends-charts-grid>*{min-width:0}.trends-insight-banner{background:var(--bg-surface-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-secondary);align-items:baseline;gap:8px;padding:8px 12px;font-size:13px;line-height:1.45;display:flex}.insight-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary);background:#1c191714;border-radius:9999px;flex-shrink:0;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-block}.trends-season-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.trends-season-pill{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:9999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.trends-split-badge{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.split-weekday{color:#4f46e5}.split-weekend{color:#db2777}.split-sep{color:var(--text-muted);font-weight:400}.trends-badge-pill{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:9999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.trends-chart-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000000a}.trends-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.trends-chart-title{color:var(--text-primary);font-size:14.5px;font-weight:600}.trends-chart-hint{color:var(--text-muted);font-size:14px}.trends-canvas-container{width:100%;height:320px;position:relative}.trends-section-nav{background:var(--bg-canvas,#faf8f5);scrollbar-width:none;border-bottom:1px solid #0000;gap:6px;margin:-6px -32px 0;padding:10px 32px;display:flex;overflow-x:auto}.trends-section-nav::-webkit-scrollbar{display:none}.trends-section-chip{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;padding:6px 13px;font-size:13.5px;font-weight:600}.trends-section-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.trends-section-chip:focus-visible,.trends-segmented button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.trends-section{flex-direction:column;gap:16px;scroll-margin-top:12px;display:flex}.trends-section-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-top:8px;display:flex}.trends-section-title{letter-spacing:-.015em;color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.trends-section-desc{color:var(--text-muted);margin:0;font-size:14px}.trends-segmented{border-radius:var(--radius-full);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);gap:2px;padding:3px;display:inline-flex}.trends-segmented button{border-radius:var(--radius-full);color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:5px 12px;font-size:13px;font-weight:700}.trends-segmented button:hover{color:var(--text-primary)}.trends-segmented button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 2px #1c19171a}.trends-badge-pill.accent-rose{color:#be123c;background:#f43f5e14;border-color:#f43f5e40;font-weight:700}.trends-badge-pill.accent-emerald{color:#047857;background:#10b9811a;border-color:#10b98140;font-weight:700}.trend-card-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface-subtle);color:var(--text-secondary);text-align:center;padding:28px 20px;font-size:14px;line-height:1.55}.trend-subheading{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:12px;font-weight:700}.trend-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.trend-stat{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.trend-stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11.5px;font-weight:700}.trend-stat-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800;line-height:1.3}.trend-stat-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trend-stat-sub{color:var(--text-secondary);font-size:12.5px;line-height:1.35}.trend-skeleton-card{min-height:200px}.trend-skeleton-line,.trend-skeleton-block{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-surface-elevated) 25%, var(--bg-surface-hover) 50%, var(--bg-surface-elevated) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite trend-shimmer}.trend-skeleton-line{height:12px}.trend-skeleton-line.w-40{width:40%;height:14px}.trend-skeleton-line.w-60{width:60%;margin-top:-8px}@keyframes trend-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.trend-skeleton-line,.trend-skeleton-block{animation:none}}.life-clock-layout{grid-template-columns:minmax(260px,380px) minmax(0,1fr);align-items:center;gap:32px;display:grid}.life-clock-figure{justify-content:center;display:flex}.life-clock-svg{width:100%;max-width:380px;height:auto;font-family:var(--font-ui);-webkit-user-select:none;user-select:none;display:block;overflow:visible}.clock-face{fill:var(--bg-surface-elevated)}.clock-empty{fill:#78716c14}.clock-tick{stroke:var(--border-strong);stroke-width:1px}.clock-tick.major{stroke:var(--text-tertiary);stroke-width:1.5px}.clock-hour-label{fill:var(--text-muted);font-size:11.5px;font-weight:700}.clock-selected{fill:none;stroke:var(--text-primary);stroke-width:1.75px;pointer-events:none}.clock-selected.pinned{fill:#1c191714;stroke-width:2.75px}.life-clock-svg:focus{outline:none}.life-clock-svg:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px;border-radius:50%}.clock-now-dot{fill:var(--accent-terracotta);stroke:#fff;stroke-width:1.5px}.clock-hit{fill:#0000;cursor:crosshair}.clock-center-time{letter-spacing:.06em;text-transform:uppercase;fill:var(--text-muted);font-size:11.5px;font-weight:700}.clock-center-cat{font-size:19px;font-weight:800}.clock-center-sub{fill:var(--text-secondary);font-size:13px;font-weight:600}.life-clock-side{flex-direction:column;gap:14px;min-width:0;display:flex}.life-clock-insight{color:var(--text-secondary);margin:0;font-size:15.5px;line-height:1.5}.life-clock-insight strong{color:var(--text-primary)}.life-clock-legend{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.life-clock-slice{border-radius:var(--radius-md);background:var(--bg-surface-elevated);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.life-clock-slice-time{letter-spacing:-.01em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.life-clock-slice-state{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;padding:2px 9px;font-size:12px;font-weight:800}.life-clock-slice-state.state-now{color:var(--accent-terracotta);background:#c2410c1a}.life-clock-slice-state.state-hover{color:var(--text-secondary);background:#1c191712}.life-clock-slice-state.state-pinned{background:var(--accent-primary);color:#fff}.life-clock-slice-tip{color:var(--text-muted);margin-left:auto;font-size:12.5px}.life-clock-resume{border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-ui);cursor:pointer;margin-left:auto;padding:5px 12px;font-size:13px;font-weight:700}.life-clock-resume:hover{border-color:var(--text-secondary)}.life-clock-resume:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.life-clock-legend-head,.life-clock-legend li{border-radius:var(--radius-sm);transition:background-color var(--transition-fast);grid-template-columns:10px minmax(96px,1fr) minmax(60px,1.4fr) 46px 72px;align-items:center;gap:10px;padding:6px 8px;font-size:14px;display:grid}.life-clock-legend-head{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:-8px;padding:0 8px;font-size:11.5px;font-weight:700}.life-clock-legend-head .col-where{grid-column:2}.life-clock-legend-head .col-avg{text-align:right;grid-column:3/span 2}.life-clock-legend-head .col-at{text-align:right;white-space:nowrap;grid-column:5}.life-clock-legend li{cursor:pointer;transition:background-color var(--transition-fast), opacity var(--transition-fast), box-shadow var(--transition-fast)}.life-clock-legend li.is-active,.life-clock-legend li:hover{background:var(--bg-surface-elevated)}.life-clock-legend li.is-dimmed{opacity:.5}.life-clock-legend li.is-dimmed:hover{opacity:.8}.life-clock-legend li:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.legend-swatch{border-radius:3px;width:10px;height:10px}.legend-name{color:var(--text-primary);white-space:nowrap;font-weight:600}.legend-bar{border-radius:var(--radius-full);background:#1c19170f;height:6px;overflow:hidden}.legend-bar span{border-radius:var(--radius-full);height:100%;transition:width .4s;display:block}.legend-hours{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}.legend-now{border-radius:var(--radius-full);text-align:center;font-variant-numeric:tabular-nums;min-width:52px;transition:background-color var(--transition-fast), color var(--transition-fast);justify-self:end;padding:3px 8px;font-size:14px;font-weight:800}.legend-now.is-zero{color:var(--text-tertiary);font-weight:600}.life-clock-places .trend-subheading{align-items:baseline;gap:10px;display:flex}.life-clock-places-clear{color:var(--accent-terracotta);font-family:var(--font-ui);letter-spacing:normal;text-transform:none;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:12px;font-weight:700}.life-clock-places-clear:hover{text-decoration:underline}.life-clock-places-empty{color:var(--text-muted);margin:0;padding:6px 8px;font-size:14px}.life-clock-places ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.life-clock-places li{border-radius:var(--radius-sm);background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);grid-template-columns:10px minmax(0,1fr) auto 48px;align-items:center;gap:10px;padding:6px 8px;font-size:14px;display:grid}.life-clock-place-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.life-clock-place-cat{color:var(--text-muted);font-size:12.5px}.life-clock-place-share{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:800}.life-clock-places li.is-other .life-clock-place-name{color:var(--text-muted);font-weight:600}.life-clock-footnote{color:var(--text-muted);margin:0;font-size:14px;line-height:1.45}.year-dots-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:center;gap:32px;display:grid}.year-dots-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.year-dots-grid{grid-template-columns:32px repeat(var(--year-dots-cols,31), minmax(0, 1fr));touch-action:pan-y;place-items:center;gap:4px 3px;display:grid}.year-dots-tick{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-weight:600;line-height:1}.year-dots-tick.is-weekend{color:var(--text-secondary);font-weight:800}.year-dots-month{color:var(--text-muted);justify-self:start;font-size:12px;font-weight:700;line-height:1}.year-dots-month .m-short{display:none}.year-dot{aspect-ratio:1;width:100%;max-width:18px;transition:opacity var(--transition-fast), transform var(--transition-fast);border-radius:50%}.year-dot.is-empty{background:var(--border-subtle)}.year-dot.is-future{box-shadow:inset 0 0 0 1px var(--border-subtle)}.year-dot.is-outside{background:var(--border-subtle);transform:scale(.35)}.year-dot.is-dim{opacity:.15}.year-dot.is-today{box-shadow:0 0 0 2px var(--bg-surface), 0 0 0 3.5px var(--text-primary)}.year-dot.is-recorded{cursor:pointer}.year-dot.is-hover{box-shadow:0 0 0 2px var(--bg-surface), 0 0 0 3.5px var(--text-secondary);transform:scale(1.35)}.year-dot.is-selected{box-shadow:0 0 0 2px var(--bg-surface), 0 0 0 4px var(--accent-primary);transform:scale(1.35)}.year-dots-side{flex-direction:column;gap:14px;min-width:0;display:flex}.year-dots-year{font-variant-numeric:tabular-nums;min-width:56px}.memory-nav-btn:disabled{opacity:.35;cursor:default;border-color:var(--border-subtle);color:var(--text-secondary)}.year-dots-readout{flex-direction:column;gap:6px;display:flex}.year-dots-readout-day{white-space:nowrap;align-items:center;gap:8px;min-width:0;height:28px;display:flex;overflow:hidden}.year-dots-readout-date{color:var(--text-primary);font-size:15px;font-weight:800}.year-dots-readout-cat{border-radius:var(--radius-full);padding:2px 9px;font-size:13px;font-weight:700}.year-dots-readout-cat.is-empty{color:var(--text-muted);background:var(--bg-surface-elevated)}.year-dots-readout-hint{color:var(--text-muted);font-size:14px}.year-dots-readout-actions{align-items:center;gap:4px;display:flex}.year-dots-readout-actions.is-idle{visibility:hidden}.year-dots-clear{color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;padding:5px 8px;font-size:13px;font-weight:700}.year-dots-clear:hover{color:var(--text-primary)}.year-dots-clear:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.year-dots-legend{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.year-dots-legend li{border-radius:var(--radius-sm);cursor:default;transition:background-color var(--transition-fast), opacity var(--transition-fast);grid-template-columns:10px minmax(96px,1fr) minmax(40px,1fr) 64px;align-items:center;gap:10px;padding:6px 8px;font-size:14px;display:grid}.year-dots-legend li:hover{background:var(--bg-surface-elevated)}.year-dots-legend li.is-dimmed{opacity:.5}.trend-stat-row.year-dots-stats{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1100px){.year-dots-layout{grid-template-columns:minmax(0,1fr);gap:20px}.year-dots-grid{max-width:720px}.year-dots-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px 24px;display:grid}.year-dots-readout{grid-column:1/-1}.trend-stat-row.year-dots-stats{grid-template-columns:minmax(0,1fr)}}@media (max-width:768px){.year-dots-grid{grid-template-columns:14px repeat(var(--year-dots-cols,31), minmax(0, 1fr));gap:3px 2px}.year-dots-month .m-long{display:none}.year-dots-month .m-short{display:inline}.year-dots-tick{font-size:10px}.year-dots-side{grid-template-columns:minmax(0,1fr)}.trend-stat-row.year-dots-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.memory-nav{align-items:center;gap:6px;display:flex}.memory-nav-btn{border:1px solid var(--border-subtle);background:var(--bg-surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.memory-nav-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.memory-nav-date{text-align:center;min-width:108px;color:var(--text-primary);font-size:14px;font-weight:800}.memory-nav-today,.memory-more,.memory-jump{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);color:var(--text-primary);font-family:var(--font-ui);cursor:pointer;padding:5px 12px;font-size:13px;font-weight:700}.memory-nav-today:hover,.memory-more:hover,.memory-jump:hover{border-color:var(--border-strong)}.memory-nav-btn:focus-visible,.memory-nav-today:focus-visible,.memory-more:focus-visible,.memory-jump:focus-visible,.memory-map-btn:focus-visible,.curfew-col:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.memory-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.memory-grid:not(.is-expanded) .memory-tile.is-extra{display:none}.memory-tile{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:linear-gradient(180deg, var(--bg-surface-subtle), var(--bg-surface));min-width:0;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;gap:8px;padding:12px 14px 10px;display:flex;position:relative;overflow:hidden}.memory-tile:before{content:"";opacity:.7;background:linear-gradient(90deg,#6366f1,#10b981);height:3px;position:absolute;inset:0 0 auto}.memory-tile.is-away:before{background:linear-gradient(90deg,#f43f5e,#f59e0b)}.memory-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.memory-tile-top{align-items:baseline;gap:8px;display:flex}.memory-tile-year{letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800;line-height:1.1}.memory-tile-meta{color:var(--text-muted);white-space:nowrap;font-size:12.5px}.memory-away-tag{border-radius:var(--radius-full);color:#be123c;letter-spacing:.05em;text-transform:uppercase;background:#f43f5e1a;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:800}.memory-tile-where{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:-4px;font-size:14.5px;font-weight:700;overflow:hidden}.memory-strip{border-radius:var(--radius-full);background:linear-gradient(90deg,#0000 calc(25% - .5px),#1c19171f calc(25% - .5px) calc(25% + .5px),#0000 calc(25% + .5px)),linear-gradient(90deg,#0000 calc(50% - .5px),#1c19171f calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),linear-gradient(90deg,#0000 calc(75% - .5px),#1c19171f calc(75% - .5px) calc(75% + .5px),#0000 calc(75% + .5px)),#1c19170f;height:12px;position:relative;overflow:hidden}.memory-seg{box-shadow:1px 0 0 var(--bg-surface);border-radius:3px;position:absolute;top:0;bottom:0}.memory-strip-ticks{color:var(--text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-5px;font-size:10.5px;display:flex}.memory-chips{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.memory-chips li{align-items:center;gap:7px;min-width:0;font-size:13px;display:flex}.memory-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.memory-chip-name{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.memory-chip-dur{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12.5px}.memory-new{border-radius:var(--radius-full);color:#047857;background:#10b9811f;flex-shrink:0;padding:0 6px;font-size:11px;font-weight:800}.memory-chip-time{text-align:right;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:0 0 54px;font-size:12px}.memory-chips li.memory-chip-more{color:var(--text-muted);padding-left:75px;font-size:12.5px}.memory-tile-foot{border-top:1px dashed var(--border-subtle);align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.memory-travel{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.memory-map-btn{border:1px solid var(--border-subtle);background:var(--bg-surface);width:28px;height:28px;color:var(--accent-primary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.memory-map-btn:hover{background:var(--accent-primary-subtle);border-color:var(--accent-primary-border)}.memory-more{align-self:center}.memory-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface-subtle);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:18px 16px;display:flex}.memory-empty p{color:var(--text-secondary);margin:0;font-size:14px}.tn-story{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;display:flex}.tn-view-note{color:var(--text-muted);flex:100%;align-items:center;gap:8px;margin:0 0 -4px;font-size:14px;display:flex}.tn-view-pill{border-radius:var(--radius-full);background:var(--accent-primary);color:#fff;letter-spacing:.04em;text-transform:uppercase;padding:1px 8px;font-size:11.5px;font-weight:800}.tn-readout .tn-readout-days{color:var(--text-muted)}.tn-story-text{color:var(--text-secondary);flex:380px;margin:0;font-size:14.5px;line-height:1.5}.tn-story-text strong{color:var(--text-primary)}.tn-badges{flex-wrap:wrap;gap:8px;display:flex}.tn-badge{border-radius:var(--radius-full);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:7px;padding:5px 11px;font-size:13px;display:inline-flex}.tn-badge strong{color:var(--text-primary)}.tn-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tn-panel{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-surface-subtle);flex-direction:column;gap:8px;min-width:0;padding:12px 14px 10px;display:flex}.tn-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.tn-panel-head .trend-subheading{margin:0}.tn-readout{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;display:inline-flex}.tn-readout>span{align-items:center;gap:5px;display:inline-flex}.tn-readout strong{color:var(--text-primary);font-size:14px}.tn-chart{width:100%;height:220px;position:relative}.tn-chart svg{font-family:var(--font-ui);cursor:crosshair;touch-action:pan-y;display:block;overflow:visible}.tn-chart svg:focus{outline:none}.tn-chart svg:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.tn-grid{stroke:var(--border-subtle);stroke-width:1px;stroke-dasharray:3 4}.tn-grid.is-midnight{stroke:var(--border-strong);stroke-dasharray:none}.tn-axis-label{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.tn-axis-label.is-active{fill:var(--text-primary);font-weight:800}.tn-area{fill-opacity:.82;stroke:var(--bg-surface);stroke-width:1px;stroke-linejoin:round}.tn-cursor{stroke:var(--text-primary);stroke-width:1.25px;stroke-dasharray:3 3;opacity:.55;pointer-events:none}.tn-band-out{fill:#6366f112}.tn-band-work{fill:#f59e0b29}.tn-point{transition:r var(--transition-fast)}.tn-legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;font-size:12.5px;display:flex}.tn-legend>span{align-items:center;gap:6px;display:inline-flex}.tn-band-swatch{background:#f59e0b38;border-radius:3px;width:14px;height:10px}@media (max-width:1100px){.tn-panels{grid-template-columns:minmax(0,1fr)}}.curfew-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.curfew-stat{border-radius:var(--radius-md);background:var(--bg-surface-elevated);flex-direction:column;gap:2px;min-width:0;padding:12px 14px;display:flex}.curfew-stat-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:11.5px;font-weight:700}.curfew-stat-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.2}.curfew-stat-value.is-depart{color:#b45309}.curfew-stat-value.is-return{color:#4338ca}.curfew-stat-sub{color:var(--text-secondary);font-size:12.5px;line-height:1.35}.curfew-trend{color:var(--text-secondary);margin:0;font-size:14.5px;line-height:1.5}.curfew-trend strong{color:var(--text-primary)}.curfew-readout{border-radius:var(--radius-md);background:var(--bg-surface-elevated);color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 12px;font-size:14px;display:flex}.curfew-readout strong{color:var(--text-primary);font-size:14px}.curfew-readout-days{color:var(--text-muted);margin-left:auto;font-size:12.5px}.curfew-chart{grid-template-columns:58px minmax(0,1fr);padding-bottom:26px;display:grid}.curfew-axis,.curfew-plot{height:240px;position:relative}.curfew-axis span{color:var(--text-muted);white-space:nowrap;font-size:11.5px;font-weight:600;position:absolute;right:10px;transform:translateY(-50%)}.curfew-axis span.is-midnight{color:var(--text-secondary);font-weight:800}.curfew-grid{border-top:1px dashed var(--border-subtle);height:0;position:absolute;left:0;right:0}.curfew-grid.is-midnight{border-top:1px solid var(--border-strong)}.curfew-cols{gap:4px;display:flex;position:absolute;inset:0}.curfew-col{cursor:pointer;min-width:0;transition:background-color var(--transition-fast);background:0 0;border:none;border-radius:10px;flex:1;padding:0;position:relative}.curfew-col:hover,.curfew-col.is-active{background:#6366f10f}.curfew-track{width:min(22px,70%);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.curfew-out{border-radius:var(--radius-full);background:linear-gradient(#f59e0b8c,#6366f18c);position:absolute;left:32%;right:32%}.curfew-spread{border-radius:var(--radius-full);background:#6366f129;border:1px solid #6366f14d;position:absolute;left:0;right:0}.curfew-dot{width:11px;height:11px;transition:width var(--transition-fast), height var(--transition-fast);border:2px solid #fff;border-radius:50%;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #1c191740}.curfew-dot.is-depart,.curfew-dot-swatch.is-depart{background:#f59e0b}.curfew-dot.is-return,.curfew-dot-swatch.is-return{background:#6366f1}.curfew-col.is-active .curfew-dot{width:14px;height:14px}.curfew-col-label{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}.curfew-col.is-active .curfew-col-label{color:var(--text-primary);font-weight:800}.curfew-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;font-size:12.5px;display:flex}.curfew-legend>span{align-items:center;gap:6px;display:inline-flex}.curfew-dot-swatch{border-radius:50%;width:10px;height:10px}.curfew-spread-swatch{border-radius:var(--radius-full);background:#6366f129;border:1px solid #6366f14d;width:10px;height:14px}.gravity-map{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);z-index:0;width:100%;height:300px;position:relative;overflow:hidden}.gravity-map .maplibregl-ctrl-group{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:var(--bg-surface)!important}.gravity-map .maplibregl-ctrl-group button{width:26px;height:26px;background-color:var(--bg-surface)!important}.gravity-map .maplibregl-ctrl-group button:hover{background-color:var(--bg-surface-hover)!important}.gravity-map .maplibregl-ctrl-attrib{font-size:10.5px}.gravity-map .maplibregl-ctrl-attrib.maplibregl-compact{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background-color:var(--bg-surface)!important;color:var(--text-secondary)!important}.gravity-map .maplibregl-ctrl-attrib a{color:var(--text-secondary)!important}.gravity-map .maplibregl-ctrl-attrib a:hover{color:var(--text-primary)!important}.gravity-map .maplibregl-ctrl-attrib-button{background-color:var(--bg-surface)!important}[data-theme=dark] .gravity-map .maplibregl-ctrl-attrib-button{filter:invert(.85)}.gravity-tooltip .maplibregl-popup-content{font-family:var(--font-ui);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:5px 9px;font-size:12.5px;line-height:1.35;border:1px solid var(--border-strong)!important;background:var(--bg-surface)!important;color:var(--text-primary)!important}.gravity-tooltip strong{color:var(--text-primary)!important}.gravity-tooltip.maplibregl-popup-anchor-top .maplibregl-popup-tip,.gravity-tooltip.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.gravity-tooltip.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--bg-surface)!important}.gravity-tooltip.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.gravity-tooltip.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.gravity-tooltip.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--bg-surface)!important}.gravity-tooltip.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--bg-surface)!important}.gravity-tooltip.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--bg-surface)!important}.gravity-center-icon span{background:#f59e0b4d;border:3px solid #d97706;border-radius:50%;width:22px;height:22px;display:block;box-shadow:0 0 0 5px #d9770626}.gravity-legend{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.gravity-legend-ramp{border-radius:var(--radius-full);width:90px;height:6px}.gravity-legend-center{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.gravity-center-swatch{background:#f59e0b4d;border:2.5px solid #d97706;border-radius:50%;width:12px;height:12px}.spont-hero{grid-template-columns:minmax(0,1fr) minmax(190px,250px);align-items:center;gap:20px;display:grid}.spont-cadence{flex-direction:column;gap:4px;display:flex}.spont-cadence-value{letter-spacing:-.02em;color:#047857;font-size:30px;font-weight:800;line-height:1.1}.spont-cadence-sub{color:var(--text-secondary);font-size:13.5px}.spont-gauge{flex-direction:column;gap:6px;display:flex}.spont-gauge-track{border-radius:var(--radius-full);background:linear-gradient(90deg,#cbd5e1,#6ee7b7 55%,#059669);height:8px;position:relative}.spont-gauge-marker{width:16px;height:16px;box-shadow:var(--shadow-sm);background:#fff;border:3px solid #047857;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.spont-gauge-ends{color:var(--text-muted);justify-content:space-between;font-size:11.5px;display:flex}.spont-spark{flex-direction:column;gap:4px;display:flex}.spont-spark-readout{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:12.5px;display:flex}.spont-spark-readout strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.spont-spark-svg{cursor:crosshair;touch-action:pan-y;width:100%;height:96px;display:block}.spont-spark-line{fill:none;stroke:#10b981;stroke-width:2px;stroke-linejoin:round}.spont-spark-cursor{stroke:var(--text-tertiary);stroke-width:1px;stroke-dasharray:3 3}.spont-spark-years{border-top:1px solid var(--border-subtle);height:14px;position:relative}.spont-spark-years span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11.5px;position:absolute;top:2px}.spont-recent{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.spont-recent li{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);justify-content:space-between;align-items:baseline;gap:12px;padding:7px 10px;display:flex}.spont-recent-name{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.spont-recent-meta{color:var(--text-muted);flex-shrink:0;font-size:12.5px}.trends-badge-pill.accent-blue{color:#1d4ed8;background:#3b82f61a;border-color:#3b82f647;font-weight:700}.squares-header-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.squares-filter-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-full);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);align-items:center;gap:6px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.squares-filter-toggle:hover{color:var(--text-primary);border-color:var(--border-medium)}.squares-filter-toggle input[type=checkbox]{cursor:pointer;accent-color:#0d9488;width:14px;height:14px;margin:0}.squares-filter-toggle input[type=checkbox]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.squares-chart{flex-direction:column;gap:6px;display:flex}.squares-chart-plot{width:100%;min-height:184px}.squares-chart-svg{cursor:crosshair;touch-action:pan-y;display:block;overflow:visible}.squares-bar rect{fill:#3b82f6;transition:fill var(--transition-fast)}.squares-bar.is-dim rect{fill:#dbeafe}.squares-baseline{stroke:var(--border-subtle);stroke-width:1px}.squares-hover-band{fill:#3b82f614}.squares-total-line{fill:none;stroke:#1e3a8a;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.squares-total-dot{fill:var(--bg-surface);stroke:#1e3a8a;stroke-width:2px}.squares-total-dot.is-dim{stroke:#93c5fd}.squares-year-label{font-family:var(--font-ui);font-variant-numeric:tabular-nums;fill:var(--text-muted);font-size:11.5px}.squares-legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 16px;font-size:12px;display:flex}.squares-legend span{align-items:center;gap:6px;display:inline-flex}.squares-legend-block{background:#3b82f6;border-radius:2px;width:10px;height:10px}.squares-legend-line{background:#1e3a8a;border-radius:1px;width:16px;height:2px}.squares-growth{flex-wrap:wrap;align-items:flex-end;gap:10px 18px;margin:0;padding:0;list-style:none;display:flex}.squares-growth-step{flex-direction:column;align-items:center;gap:2px;min-width:40px;display:flex;position:relative}.squares-growth-step+.squares-growth-step:before{content:"›";color:var(--text-tertiary);font-size:16px;line-height:1;position:absolute;top:16px;left:-14px}.squares-growth-step.is-dim{opacity:.4}.squares-growth-glyph{justify-content:center;align-items:flex-end;display:flex}.squares-glyph-fill{fill:#f59e0b4d;stroke:#d97706;stroke-width:1px}.squares-glyph-grid line{stroke:#d9770666;stroke-width:.75px}.squares-growth-size{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:800}.squares-growth-year{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.trends-badge-pill.accent-indigo{color:#4338ca;background:#6366f11a;border-color:#6366f142;font-weight:700}.passport-flag{font-family:Twemoji Country Flags,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-style:normal;font-weight:400;line-height:1}.passport-flag-code{font-family:var(--font-ui);letter-spacing:.04em;color:var(--text-secondary);font-size:12px;font-weight:800}.passport-pages{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:repeating-linear-gradient(135deg, transparent 0 9px, #6366f10b 9px 10px), var(--bg-surface-subtle);padding:16px 16px 18px;position:relative}.passport-years{flex-wrap:wrap;gap:16px 22px;margin:0;padding:0;list-style:none;display:flex}.passport-year{flex-direction:column;gap:8px;display:flex}.passport-year-label{border-bottom:1px dashed var(--border-strong);letter-spacing:.06em;color:var(--text-muted);font-variant-numeric:tabular-nums;padding-bottom:4px;font-size:11.5px;font-weight:800}.passport-stamps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.passport-stamp{background:var(--bg-surface);border:1px solid var(--border-subtle);width:52px;height:52px;box-shadow:var(--shadow-sm);cursor:default;transition:transform var(--transition-bounce), box-shadow var(--transition-fast), opacity var(--transition-fast), filter var(--transition-fast);border-radius:12px;outline:none;place-items:center;display:grid;position:relative;transform:rotate(-2deg)}.passport-stamp:nth-child(3n+2){transform:rotate(1.5deg)}.passport-stamp:nth-child(3n){transform:rotate(-.5deg)}.passport-stamp .passport-flag{font-size:34px}.passport-stamp:hover,.passport-stamp:focus-visible,.passport-stamp.is-active{box-shadow:var(--shadow-md);z-index:1;transform:translateY(-3px)scale(1.08)}.passport-stamp:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.passport-stamp.is-dim{opacity:.35;filter:grayscale()}.passport-stamp.is-dim:hover,.passport-stamp.is-dim.is-active{opacity:.8;filter:none}.passport-stamp-no{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:9.5px;font-weight:800;position:absolute;bottom:2px;right:4px}.passport-stamp-new{width:10px;height:10px;box-shadow:0 0 0 2px var(--bg-surface);background:#10b981;border-radius:50%;position:absolute;top:-3px;right:-3px}.passport-tip{z-index:5;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);min-width:176px;max-width:230px;box-shadow:var(--shadow-lg);color:var(--text-secondary);pointer-events:none;padding:8px 11px 9px;font-size:12.5px;line-height:1.45;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.passport-tip.align-left{transform:translate(-26px,calc(-100% - 10px))}.passport-tip.align-right{transform:translate(calc(26px - 100%),calc(-100% - 10px))}.passport-tip:after{content:"";border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);background:var(--bg-surface);width:9px;height:9px;margin-top:-4px;margin-left:-5px;position:absolute;top:100%;left:50%;transform:rotate(45deg)}.passport-tip.align-left:after{left:26px}.passport-tip.align-right:after{left:calc(100% - 26px)}.passport-tip-head{color:var(--text-primary);align-items:center;gap:7px;margin-bottom:4px;font-size:14px;display:flex}.passport-tip-head .passport-flag{font-size:20px}.passport-tip-row{justify-content:space-between;gap:14px;display:flex}.passport-tip-row strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.passport-tip-sub{color:var(--text-muted);font-weight:600}.trend-stat-value .passport-flag{margin-right:2px;font-size:17px}@media (max-width:768px){.passport-pages{padding:12px}.passport-stamp{border-radius:10px;width:44px;height:44px}.passport-stamp .passport-flag{font-size:28px}}@media (prefers-reduced-motion:reduce){.passport-stamp,.passport-stamp:nth-child(3n+2),.passport-stamp:nth-child(3n){transition:none}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .trends-badge-pill.accent-blue{color:#93c5fd}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .trends-badge-pill.accent-indigo{color:#a5b4fc}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-bar.is-dim rect{fill:#3b82f638}:is(:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-total-line,:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-total-dot){stroke:#c7d2fe}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-total-dot.is-dim{stroke:#93c5fd66}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-legend-line{background:#c7d2fe}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .squares-glyph-fill{fill:#f59e0b38;stroke:#f59e0b}:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .passport-pages{background:repeating-linear-gradient(135deg, transparent 0 9px, #a5b4fc0d 9px 10px), var(--bg-surface-subtle)}}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .trends-badge-pill.accent-blue{color:#93c5fd}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .trends-badge-pill.accent-indigo{color:#a5b4fc}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-bar.is-dim rect{fill:#3b82f638}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-total-line,:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-total-dot{stroke:#c7d2fe}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-total-dot.is-dim{stroke:#93c5fd66}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-legend-line{background:#c7d2fe}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .squares-glyph-fill{fill:#f59e0b38;stroke:#f59e0b}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .passport-pages{background:repeating-linear-gradient(135deg, transparent 0 9px, #a5b4fc0d 9px 10px), var(--bg-surface-subtle)}@media (max-width:1100px){.life-clock-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:20px}}@media (max-width:768px),(max-height:560px){.list-toolbar{position:static;box-shadow:0 1px 3px #282e260d}}@media (max-width:768px){.time-filter-bar{gap:12px;padding:8px 12px}.time-filter-inner{scrollbar-width:none;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 16px),#0000)}.time-filter-inner::-webkit-scrollbar{display:none}.time-filter-unit{margin-left:0}.time-filter-unit:before{left:-7px}.time-filter-inner,.time-filter-bar .time-filter-dates,.time-filter-bar .date-preset-grid{flex-wrap:nowrap}.time-filter-inner{gap:12px}.time-filter-inner>*{flex-shrink:0}.time-filter-status{order:-1;margin-left:0}.time-filter-all{display:none}.trends-section-nav{margin:-4px -12px 0;padding:8px 12px}.trends-section-title{font-size:16px}.life-clock-layout,.spont-hero{grid-template-columns:minmax(0,1fr)}.life-clock-svg{max-width:320px}.life-clock-insight{font-size:14px}.life-clock-legend-head,.life-clock-legend li{grid-template-columns:10px minmax(84px,1fr) minmax(30px,.8fr) 42px 68px;gap:8px;padding:6px 4px}.life-clock-legend-head{padding:0 4px}.life-clock-slice-tip{display:none}.curfew-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.curfew-stat-value{font-size:19px}.curfew-chart{grid-template-columns:48px minmax(0,1fr)}.curfew-axis span{font-size:10.5px;right:6px}.curfew-cols{gap:2px}.memory-header{align-items:flex-start}.memory-grid{scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:none;grid-auto-columns:88%;grid-auto-flow:column;margin:0 -20px;padding:2px 20px 6px;scroll-padding:0 20px;overflow-x:auto}.memory-grid::-webkit-scrollbar{display:none}.memory-grid .memory-tile,.memory-grid:not(.is-expanded) .memory-tile.is-extra{scroll-snap-align:start;display:flex}.memory-more{display:none}.memory-chip-time{flex-basis:48px;font-size:11.5px}.memory-chips li{gap:6px}.memory-chips li.memory-chip-more{padding-left:67px}.trend-stat-row{grid-template-columns:minmax(0,1fr)}.gravity-map{height:260px}.spont-cadence-value{font-size:26px}}.tab-empty-state{background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:520px;margin:60px auto;padding:40px 24px;display:flex;box-shadow:0 2px 8px #00000008}.tab-empty-icon{color:var(--text-muted);margin-bottom:4px}.tab-empty-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.tab-empty-desc{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.tab-empty-btn{background:var(--accent-primary);color:#fff;font-family:var(--font-ui);cursor:pointer;border:none;border-radius:7px;margin-top:8px;padding:.55rem 1.25rem;font-size:.88rem;font-weight:600;transition:background-color .15s}.tab-empty-btn:hover{background:var(--accent-primary-hover)}@media (min-width:1101px) and (max-width:1180px){.brand-subtitle{display:none}}@media (max-width:1100px){.app-bar{flex-wrap:wrap;justify-content:flex-start;gap:10px 8px;height:auto;padding:10px 12px 0}.app-bar-start{display:contents}.brand-group{flex:1 1 0;order:1;gap:8px;min-width:0}.brand-text{min-width:0}.brand-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-bar-end{order:2;align-items:center;gap:2px;margin-left:auto;display:flex}.view-navigation{border-left:none;order:3;grid-template-columns:repeat(4,1fr);gap:4px;width:calc(100% + 24px);margin:0 -12px;padding:0 8px;display:grid}.view-nav-tab{border-radius:var(--radius-md) var(--radius-md) 0 0;min-height:40px;transition:color var(--transition-fast), background-color var(--transition-fast);justify-content:center;padding:4px 4px 8px;font-size:14.5px}.view-nav-tab.active{color:var(--accent-terracotta);background:var(--accent-terracotta-subtle)}.view-nav-tab:after{border-radius:3px 3px 0 0;height:3px;bottom:0;left:0;right:0}.search-container{order:4;margin-bottom:10px;width:100%!important;max-width:100%!important}}@media (max-width:768px){.location-history-app{border-radius:0!important;height:100%!important;min-height:0!important}.brand-mark{width:28px;height:28px}.brand-title{font-size:17px}.brand-subtitle,.storage-pill:not(.is-unsaved){display:none}.pill-btn.is-primary{margin-left:4px;padding:0 12px}.app-bar-end:has(.storage-pill) .pill-btn.is-primary{justify-content:center;width:34px;padding:0}.storage-pill-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-bar-end:has(.storage-pill) .pill-btn.is-primary span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.filters-toggle{display:flex;position:relative}.pill-btn.filters-toggle .filters-toggle-dot{clip-path:none;background:var(--accent-terracotta);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg-canvas);border-radius:50%;position:absolute;top:5px;right:5px;overflow:visible}.filters-hidden .app-bar .search-container,.filters-hidden .time-filter-bar{display:none!important}.sidebar{z-index:1050;width:min(340px,86vw);min-width:0;transition:transform .25s cubic-bezier(.16,1,.3,1);position:absolute;top:0;bottom:0;left:0;transform:translate(0);box-shadow:4px 0 24px #00000040}.sidebar.collapsed{margin-left:0;transform:translate(-100%)}.trends-view{--view-padding:16px 12px 64px}.trends-charts-grid,.trends-charts-grid.grid-dual-primary{grid-template-columns:1fr}.trends-milestones-grid{grid-template-columns:1fr;gap:10px}.trends-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.trends-canvas-container{height:250px}.about-page{padding:20px 14px 48px}}.about-data-tools{border-top:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding-top:14px;display:flex}.about-data-tools-title{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:700}.about-data-tools-text p{color:var(--text-secondary);max-width:640px;margin:0;font-size:14px;line-height:1.5}.about-data-tools-actions{flex-wrap:wrap;gap:10px;display:flex}.about-data-tools-actions label{cursor:pointer}.data-dialog-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0;display:grid}.data-dialog-facts>div{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:0;padding:8px 10px}.data-dialog-facts dt{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.data-dialog-facts dd{color:var(--text-primary);margin:2px 0 0;font-size:14px;font-weight:600}.data-dialog-note{color:#92400e;border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a;margin:0;padding:8px 10px;font-size:14px;line-height:1.45}.data-dialog-options{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.data-dialog-option{border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.data-dialog-option.is-selected{border-color:var(--accent-primary-border);background:var(--accent-primary-subtle)}.data-dialog-option.is-disabled{opacity:.5;cursor:not-allowed}.data-dialog-option input{accent-color:var(--accent-primary);flex-shrink:0;margin:3px 0 0}.data-dialog-option-text{flex-direction:column;gap:3px;min-width:0;display:flex}.data-dialog-option-title{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:6px;font-size:14.5px;font-weight:600;display:flex}.data-dialog-badge{color:#059669;border-radius:var(--radius-full);background:#10b9811f;border:1px solid #10b98140;padding:1px 7px;font-size:11.5px;font-weight:600}.data-dialog-option-detail{color:var(--text-secondary);font-size:13.5px;line-height:1.45}.data-dialog-option-counts{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.data-dialog-footnote{color:var(--text-muted);margin:0;font-size:14px}.data-dialog-progress{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:12px 0 4px;font-size:14px;display:flex}.data-dialog-progress-bar{background:var(--border-subtle);border-radius:2px;width:100%;max-width:320px;height:4px;overflow:hidden}.data-dialog-progress-bar>div{background:var(--accent-primary);height:100%;transition:width .3s}.data-dialog-error{color:var(--danger-text);margin:0;font-size:14px;line-height:1.5}.clear-dialog-backup-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.clear-dialog-backup-main{flex-direction:column;gap:3px;min-width:0;display:flex}.clear-dialog-backup-title{color:var(--text-primary);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.clear-dialog-backup-icon{width:16px;height:16px;color:var(--accent-primary);flex-shrink:0}.clear-dialog-backup-desc{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.clear-dialog-backup-btn{white-space:nowrap;cursor:pointer;flex-shrink:0}.clear-dialog-backup-btn.is-downloaded{color:#059669;background:#10b98114;border-color:#10b98166}@media (max-width:480px){.clear-dialog-backup-card{flex-direction:column;align-items:stretch;gap:10px}.clear-dialog-backup-btn{align-self:flex-start}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not(:has(>head>meta[name=color-scheme][content=light])) .data-dialog-note{color:#fde68a;background:#d9770626;border-color:#d977064d}}:is(:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark])) .data-dialog-note{color:#fde68a;background:#d9770626;border-color:#d977064d}.trends-share-group{align-items:center;gap:8px;display:inline-flex}.trends-share-btn{border-radius:var(--radius-full);border:1px solid var(--glass-border);background:var(--bg-surface);height:38px;color:var(--text-primary);font-family:var(--font-ui);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm,0 1px 2px #1c19170f);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);align-items:center;gap:8px;padding:0 15px 0 12px;font-size:13.5px;font-weight:700;display:inline-flex}.trends-share-btn:hover:not(:disabled){border-color:var(--border-strong);box-shadow:var(--shadow-md,0 4px 12px -2px #1c19171f);transform:translateY(-1px)}.trends-share-btn:active:not(:disabled){transform:translateY(0)}.trends-share-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.trends-share-btn:disabled{opacity:.5;cursor:progress}.trends-share-btn.is-primary{background:var(--text-primary);color:var(--bg-canvas);border-color:#0000}.trends-share-btn.is-primary:hover:not(:disabled){background:color-mix(in srgb, var(--text-primary) 88%, var(--bg-canvas));border-color:#0000}.format-glyph{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.format-glyph-accent{stroke:#6366f1;stroke-width:2.4px}.trends-share-btn.is-primary .format-glyph-accent{stroke:#a5b4fc}@media (max-width:560px){.trends-header-actions,.trends-share-group{width:100%}.trends-share-btn{flex:1;justify-content:center}}.share-modal{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-modal,0 24px 48px -12px #0f172a38);grid-template-columns:minmax(0,1fr) 330px;animation:.18s cubic-bezier(.16,1,.3,1) forwards exportModalScaleUp;display:grid;overflow:hidden}.share-preview-pane{background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--accent-indigo,#4338ca) 7%, transparent), transparent 55%), var(--bg-surface-elevated);justify-content:center;align-items:center;min-height:560px;padding:32px;display:flex;position:relative}.share-preview-canvas{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:min(66vh,600px);transition:opacity .15s;display:block;box-shadow:0 18px 40px -12px #0f172a59,0 2px 6px #0f172a14}.share-preview-canvas.is-rendering{opacity:.5}.share-preview-spinner{color:var(--text-muted);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.share-controls{border-left:1px solid var(--border-subtle);flex-direction:column;gap:18px;padding:22px 22px 18px;display:flex;overflow-y:auto}.share-controls-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:22px;font-weight:700}.share-field{flex-direction:column;gap:8px;display:flex}.share-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11.5px;font-weight:800}.share-format-options{gap:8px;display:grid}.share-format-option{border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);text-align:left;font-family:var(--font-ui);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);grid-template-columns:42px 1fr 20px;align-items:center;gap:12px;padding:10px 12px;display:grid}.share-format-option:hover{border-color:var(--border-strong)}.share-format-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.share-format-option[aria-checked=true]{border-color:var(--text-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-primary) 9%, transparent)}.share-format-glyph{background:var(--bg-surface-elevated);width:42px;height:42px;color:var(--text-secondary);border-radius:10px;justify-content:center;align-items:center;display:flex}.share-format-glyph .format-glyph{width:24px;height:24px}.share-format-text{flex-direction:column;gap:1px;min-width:0;display:flex}.share-format-title{font-size:14px;font-weight:700}.share-format-check{border:1.5px solid var(--border-strong);color:#0000;width:20px;height:20px;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.share-format-option[aria-checked=true] .share-format-check{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-surface)}.card-style-options{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.card-style-option{border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-ui);text-align:center;cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;font-size:12.5px;font-weight:700;line-height:1.2;display:flex}.card-style-option:hover:not(:disabled){border-color:var(--border-strong)}.card-style-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.card-style-option[aria-checked=true]{border-color:var(--text-primary);color:var(--text-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-primary) 9%, transparent)}.card-style-option:disabled{cursor:not-allowed;opacity:.45}.card-style-glyph{width:40px;height:40px}.card-style-glyph-frame{fill:var(--bg-surface-elevated);stroke:var(--border-subtle);stroke-width:1.2px}.card-style-glyph-ink{stroke:currentColor;stroke-width:2.4px;stroke-linecap:round}.card-style-glyph-ink.is-bold{stroke-width:4.5px}.card-style-glyph-moon{fill:var(--lightningcss-light,#d4cec2) var(--lightningcss-dark,#9e988e)}.card-style-glyph-mare{fill:var(--lightningcss-light,#aea698) var(--lightningcss-dark,#6f6960)}.card-style-glyph-route{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:.01 4.2}.share-theme{align-self:flex-start}.share-theme button{align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.share-actions{flex-direction:column;gap:8px;margin-top:auto;display:flex}.share-download,.share-secondary{font-family:var(--font-ui);border-radius:var(--radius-full);cursor:pointer;transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.share-download{background:var(--text-primary);height:44px;color:var(--bg-canvas);border:none;font-size:14.5px}.share-download:hover:not(:disabled){background:color-mix(in srgb, var(--text-primary) 88%, var(--bg-canvas));transform:translateY(-1px)}.share-secondary-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.share-secondary{border:1px solid var(--glass-border);background:var(--bg-surface);height:38px;color:var(--text-primary);font-size:13.5px}.share-secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-surface-elevated)}.share-download:disabled,.share-secondary:disabled{opacity:.55;cursor:progress;transform:none}.share-download:focus-visible,.share-secondary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.share-status{min-height:18px;color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;margin:2px 0 0;font-size:12.5px;display:flex}.share-status svg{color:var(--lightningcss-light,#059669) var(--lightningcss-dark,#34d399)}.share-status.is-error{color:var(--lightningcss-light,#dc2626) var(--lightningcss-dark,#f87171)}@media (max-width:760px){.share-modal{grid-template-columns:1fr;overflow-y:auto}.share-preview-pane{min-height:0;padding:20px}.share-preview-canvas{max-height:46vh}.share-controls{border-left:none;border-top:1px solid var(--border-subtle);overflow:visible}}@media (prefers-reduced-motion:reduce){.share-modal{animation:none}.trends-share-btn,.share-download{transition:none}}.card-style-year{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-top:2px;font-size:13px;font-weight:700;display:flex}
