:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-deep:#07111f;--bg-panel:#0b1625;--bg-panel-raised:#101c2c;--bg-hover:#eaf3f70f;--bg-active:#57c7d91f;--glass-bg:#0b1625bd;--glass-strong:#0b1625e6;--glass-border:#eaf3f717;--border:#8fa4b324;--text-light:#eaf3f7;--text-dim:#93a6b5;--text-faint:#66798a;--accent:#57c7d9;--accent-strong:#7fd8e6;--accent-ink:#04222b;--accent-warm:#e8c97a;--danger:#e8806f;--shadow-sm:0 2px 8px #02081047;--shadow-md:0 10px 30px #02081061;--shadow-lg:0 24px 60px #02081080;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.22s;--blur:saturate(160%) blur(18px);--gutter:16px;--topbar-h:52px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-deep:#eef3f6;--bg-panel:#fff;--bg-panel-raised:#f4f7f9;--bg-hover:#101c2c0d;--bg-active:#1f8fa31f;--glass-bg:#fffc;--glass-strong:#fffffff0;--glass-border:#101c2c14;--border:#101c2c1a;--text-light:#0d1a29;--text-dim:#536878;--text-faint:#7d8f9c;--accent:#1f8fa3;--accent-strong:#187585;--accent-ink:#fff;--accent-warm:#a8771d;--danger:#c2513f;--shadow-sm:0 2px 8px #101c2c1a;--shadow-md:0 10px 30px #101c2c24;--shadow-lg:0 24px 60px #101c2c33}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{overscroll-behavior:none;height:100%;margin:0}body{background:var(--bg-deep);color:var(--text-light);font-feature-settings:"cv11", "ss01";letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,Segoe UI,sans-serif}button,input{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-layout{height:100dvh;position:relative;overflow:hidden}.map-wrapper{position:absolute;inset:0}.map-container{background:#04121f;width:100%;height:100%}.glass,.brand,.search,.top-nav,.icon-btn--glass,.map-btn,.category-panel,.explore-area-btn,.nearby-notice,.country-chip,.traveling-notice,.timeline-float,.toast{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:.69rem;font-weight:650}.empty-state{color:var(--text-dim);margin:0;padding:.75rem .25rem;font-size:.88rem;line-height:1.5}.error-text{color:var(--danger);text-align:center;margin:0;font-size:.84rem}.btn{white-space:nowrap;height:40px;transition:background var(--dur) var(--ease), transform var(--dur) var(--ease), opacity var(--dur);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:0 1.05rem;font-size:.88rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-strong)}.btn--primary:disabled{opacity:.6}.btn--ghost{background:var(--bg-hover);border-color:var(--border);color:var(--text-light)}.btn--ghost:hover{background:#eaf3f71a}.btn--sm{height:34px;padding:0 .85rem;font-size:.82rem}.btn--block{width:100%}.icon-btn{width:34px;height:34px;color:var(--text-light);transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg-hover)}.icon-btn--glass{width:44px;height:44px}.icon-btn--glass:hover{background:var(--glass-strong);transform:scale(1.04)}.icon-btn--overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#07111f80}.icon-btn--overlay:hover{background:#07111fb8}.icon-btn--saved{color:var(--accent-warm)}.icon-btn--accent{background:var(--accent);color:var(--accent-ink)}.icon-btn--accent:hover{background:var(--accent-strong)}.link-btn{color:var(--accent);background:0 0;border:none;align-items:center;gap:.4rem;margin-top:.85rem;padding:0;font-size:.9rem;font-weight:600;display:inline-flex}.link-btn:hover{color:var(--accent-strong)}.link-btn svg{transition:transform var(--dur) var(--ease)}.link-btn:hover svg{transform:translate(3px)}.count-pill{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);border-radius:999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.68rem;font-weight:700;display:inline-flex}.chip-row{flex-wrap:wrap;gap:.45rem;display:flex}.chip{border:1px solid var(--border);height:32px;color:var(--text-dim);white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur), border-color var(--dur);background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:0 .8rem;font-size:.8rem;font-weight:550;display:inline-flex}.chip:hover:not(:disabled){color:var(--text-light);background:var(--bg-hover)}.chip--active,.chip--on{background:var(--bg-active);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--text-light)}.chip--partial{color:var(--text-light);border-style:dashed}.chip:disabled{opacity:.4}.chip-dot{background:var(--dot-color,var(--accent));border-radius:50%;width:8px;height:8px}.chip--off .chip-dot{opacity:.35}.chip--type svg{color:var(--dot-color)}.type-badge,.type-dot{color:#07111f;background:var(--dot-color,var(--accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.type-badge--sm,.type-dot--sm{width:20px;height:20px}.type-badge--neutral{color:var(--text-light);background:#93a6b538}.top-bar{top:calc(var(--gutter) + var(--safe-top));left:var(--gutter);right:var(--gutter);z-index:1200;pointer-events:none;transition:opacity .26s var(--ease), transform .26s var(--ease);align-items:center;gap:.6rem;display:flex;position:absolute}.top-bar>*{pointer-events:auto}.brand{height:44px;color:var(--text-light);border-radius:999px;flex-shrink:0;align-items:center;gap:.6rem;padding:0 1rem 0 .45rem;display:flex}.brand-text{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.brand-wordmark{letter-spacing:.16em;font-size:.86rem;font-weight:750}.brand-tagline{color:var(--text-dim);letter-spacing:.01em;font-size:.66rem;font-weight:500}.search{min-width:0;max-width:540px;height:44px;transition:max-width .3s var(--ease), box-shadow var(--dur);border-radius:999px;flex:1;align-items:center;gap:.6rem;padding:0 .6rem 0 .95rem;display:flex;position:relative}.search:focus-within{box-shadow:var(--shadow-md), 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent)}.search-icon{color:var(--text-dim);flex-shrink:0}.search input{min-width:0;height:100%;color:var(--text-light);background:0 0;border:none;outline:none;flex:1;font-size:.92rem}.search input::placeholder{color:var(--text-dim)}.search input::-webkit-search-cancel-button{appearance:none}.search-clear{background:var(--bg-hover);width:22px;height:22px;color:var(--text-dim);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.search-results{background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);max-height:min(62vh,480px);animation:pop-in .18s var(--ease);border-radius:18px;margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.search-group{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:.6rem .65rem .3rem;font-size:.66rem;font-weight:650;display:block}.search-item{text-align:left;width:100%;color:var(--text-light);background:0 0;border:none;border-radius:12px;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:.88rem;display:flex}.search-item:hover,.search-item--active{background:var(--bg-hover)}.search-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.search-item-meta{color:var(--text-dim);white-space:nowrap;font-size:.75rem}.search-empty{color:var(--text-dim);padding:.8rem;font-size:.85rem}.top-nav{border-radius:999px;flex-shrink:0;align-items:center;gap:2px;height:44px;margin-left:auto;padding:4px;display:flex}.top-nav-item{height:34px;color:var(--text-dim);white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur);background:0 0;border:none;border-radius:999px;align-items:center;gap:.45rem;padding:0 .85rem;font-size:.84rem;font-weight:550;display:flex;position:relative}.top-nav-item:hover{color:var(--text-light)}.top-nav-item--active{background:var(--bg-active);color:var(--text-light)}.top-nav-badge{background:var(--accent-warm);color:#2a1b03;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 .28rem;font-size:.62rem;font-weight:700;display:inline-flex}.top-bar-actions{flex-shrink:0;gap:.5rem;display:flex}.settings-menu{position:relative}.menu-popover{z-index:1300;background:var(--glass-strong);min-width:230px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);animation:pop-in .18s var(--ease);border-radius:18px;flex-direction:column;padding:.35rem;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu-popover>button{text-align:left;color:var(--text-light);white-space:nowrap;background:0 0;border:none;border-radius:12px;align-items:center;gap:.65rem;padding:.6rem .7rem;font-size:.86rem;display:flex}.menu-popover>button svg{color:var(--text-dim)}.menu-popover>button:hover{background:var(--bg-hover)}.menu-item--mobile{display:none!important}.menu-lang{border-top:1px solid var(--border);margin-top:.3rem;padding:.6rem .7rem .4rem}.menu-lang span{color:var(--text-dim);margin-bottom:.45rem;font-size:.7rem;display:block}.menu-lang-options{flex-wrap:wrap;gap:.3rem;display:flex}.lang-chip{border:1px solid var(--border);letter-spacing:.04em;min-width:36px;height:28px;color:var(--text-dim);background:0 0;border-radius:8px;padding:0 .5rem;font-size:.72rem;font-weight:650}.lang-chip--active{background:var(--bg-active);border-color:color-mix(in srgb, var(--accent) 50%, transparent);color:var(--text-light)}.category-panel{top:calc(var(--gutter) + var(--topbar-h) + 12px + var(--safe-top));left:var(--gutter);width:280px;max-height:calc(100% - var(--topbar-h) - 190px - var(--safe-top));z-index:1100;border-radius:var(--radius-lg);transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;flex-direction:column;display:flex;position:absolute;overflow:hidden}.category-panel-mobile-bar{display:none}.category-panel-scroll{min-height:0;padding:.9rem .5rem .6rem;overflow-y:auto}.category-panel-head{justify-content:space-between;align-items:center;gap:.5rem;padding:0 .5rem .6rem;display:flex}.category-panel-head .chip{height:28px;font-size:.75rem}.category-groups,.category-types{margin:0;padding:0;list-style:none}.category-group-row{align-items:center;display:flex}.category-group-toggle,.category-type{text-align:left;min-width:0;color:var(--text-light);transition:background var(--dur) var(--ease), opacity var(--dur);background:0 0;border:none;border-radius:12px;flex:1;align-items:center;gap:.7rem;padding:.5rem .55rem;font-size:.9rem;font-weight:550;display:flex}.category-group-toggle:hover:not(:disabled),.category-type:hover:not(:disabled){background:var(--bg-hover)}.category-group--off .category-group-toggle,.category-type:not(.category-type--on){opacity:.45}.category-group--empty .category-group-toggle,.category-type:disabled{opacity:.35}.category-icon{background:color-mix(in srgb, var(--dot-color) 18%, transparent);width:30px;height:30px;color:var(--dot-color);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.category-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.category-count{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:500}.category-expand{width:30px;height:30px;color:var(--text-dim);transition:transform var(--dur) var(--ease), background var(--dur);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.category-expand:hover{background:var(--bg-hover)}.category-expand--open{transform:rotate(180deg)}.category-types{animation:fade-in .2s var(--ease);padding:.15rem 0 .35rem 1.35rem}.category-type{gap:.6rem;padding:.4rem .5rem;font-size:.83rem;font-weight:500}.category-panel-actions{border-top:1px solid var(--border);gap:.4rem;margin-top:.5rem;padding:.7rem .5rem .2rem;display:flex}.category-panel-actions .btn{flex:1;height:34px;padding:0 .6rem;font-size:.8rem}.category-panel-list{padding:.6rem 0 .2rem}.list-heading{color:var(--text-dim);margin:0 0 .3rem;padding:0 .6rem;font-size:.72rem;font-weight:600}.panel-backdrop{display:none}.place-list{flex-direction:column;gap:2px;display:flex}.place-row{text-align:left;width:100%;color:var(--text-light);transition:background var(--dur) var(--ease);background:0 0;border:none;border-radius:12px;align-items:center;gap:.75rem;padding:.55rem .6rem;display:flex}.place-row:hover{background:var(--bg-hover)}.place-row--active{background:var(--bg-active)}.place-row-thumb{object-fit:cover;background:var(--bg-panel-raised);border-radius:10px;flex-shrink:0;width:44px;height:44px}.place-row-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.place-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.place-row-meta{color:var(--text-dim);font-size:.74rem}.place-row-distance{color:var(--accent-warm);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem;font-weight:600}.list-group+.list-group{margin-top:.8rem}.list-group-title{color:var(--text-dim);align-items:center;gap:.5rem;margin:0 0 .25rem;padding:0 .6rem;font-size:.75rem;font-weight:650;display:flex}.map-controls{right:var(--gutter);z-index:1000;transition:right .3s var(--ease), top .3s var(--ease), transform .3s var(--ease);flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.map-btn{width:42px;height:42px;color:var(--text-light);transition:transform var(--dur) var(--ease), background var(--dur);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.map-btn:hover:not(:disabled){background:var(--glass-strong);transform:scale(1.06)}.map-btn:active:not(:disabled){transform:scale(.95)}.map-btn--busy svg{animation:1.1s linear infinite spin}.map-btn-group{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);border-radius:999px;flex-direction:column;display:flex;overflow:hidden}.map-btn-group .map-btn{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0}.map-btn-group .map-btn+.map-btn{border-top:1px solid var(--glass-border)}.layers-wrap{position:relative}.map-btn--active{color:var(--accent-strong)}.layers-panel{background:var(--glass-strong);width:252px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:pop-in .18s var(--ease);gap:12px;padding:14px;display:grid;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.layers-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:.72rem;font-weight:650}.layers-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.layers-option{color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-items:center;gap:6px;padding:0;font-size:.75rem;font-weight:550;display:grid}.layers-option.is-active{color:var(--text-light)}.layers-thumb{aspect-ratio:1;border-radius:var(--radius-sm);width:100%;max-width:100%;box-shadow:inset 0 0 0 1px var(--glass-border);transition:border-color var(--dur), transform var(--dur) var(--ease);border:2px solid #0000}.layers-option:hover .layers-thumb{transform:scale(1.04)}.layers-option.is-active .layers-thumb{border-color:var(--accent)}.layers-option:focus-visible .layers-thumb{outline:2px solid var(--accent-strong);outline-offset:2px}.layers-thumb--satellite{background:radial-gradient(circle at 30% 35%,#3e6b3a 0 18%,#0000 19%),radial-gradient(circle at 70% 65%,#5a6e3a 0 22%,#0000 23%),radial-gradient(circle at 60% 25%,#6b5a3a 0 10%,#0000 11%),linear-gradient(160deg,#0d2a44,#12385a)}.layers-thumb--relief{background:radial-gradient(circle at 35% 40%,#f3efe4 0 8%,#c9b98f 9% 20%,#0000 21%),radial-gradient(circle at 68% 62%,#e4dcc4 0 10%,#b9b08a 11% 24%,#0000 25%),linear-gradient(150deg,#cfdcc0,#a9c1a0 55%,#a8c6d6 56%)}.layers-thumb--street{background:linear-gradient(90deg,#0000 46%,#fff 46% 54%,#0000 54%),linear-gradient(#0000 64%,#f6d58a 64% 70%,#0000 70%),linear-gradient(35deg,#0000 60%,#fff 60% 64%,#0000 64%),linear-gradient(160deg,#eae6df,#dfe8d6)}.layers-toggle{border-top:1px solid var(--glass-border);color:var(--text-light);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;font-size:.85rem;font-weight:550;display:flex}.layers-toggle input{opacity:0;pointer-events:none;position:absolute}.layers-switch{background:var(--border);width:38px;height:22px;transition:background var(--dur);border-radius:999px;flex:none;position:relative}.layers-switch:after{content:"";background:var(--text-light);width:16px;height:16px;transition:transform var(--dur) var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.layers-toggle input:checked+.layers-switch{background:var(--accent)}.layers-toggle input:checked+.layers-switch:after{background:var(--accent-ink);transform:translate(16px)}.layers-toggle input:focus-visible+.layers-switch{outline:2px solid var(--accent-strong);outline-offset:2px}.map-label{pointer-events:none;white-space:nowrap;color:#fff;text-shadow:0 0 3px #020810f2,0 1px 2px #020810e6;font-size:11.5px;font-weight:600;line-height:1}.map-label--country{letter-spacing:.08em;text-transform:uppercase;color:#ffffffd1;font-size:11px;font-weight:700}.map-label--region{letter-spacing:.1em;text-transform:uppercase;color:#e9debeeb;font-size:10px;font-weight:600}.map-label--province{color:#d6e4ecd9;font-size:10px;font-style:italic;font-weight:500}.map-label--city:before,.map-label--town:before{content:"";vertical-align:middle;background:currentColor;border-radius:50%;width:4px;height:4px;margin-right:4px;display:inline-block;box-shadow:0 0 0 1.5px #020810cc}.map-label--big{font-size:13px;font-weight:700}.map-label--town{color:#ffffffeb;font-weight:500}@media (width<=768px){.layers-panel{top:auto;bottom:0;transform:none}}@media (prefers-reduced-motion:reduce){.layers-panel{animation:none}}.map-back-btn{z-index:1000;left:var(--gutter);top:calc(var(--gutter) + var(--topbar-h) + 12px + var(--safe-top));animation:pop-in .22s var(--ease);position:absolute}.map-pin{--pin-color:var(--accent);color:#07111f;background:var(--pin-color);cursor:pointer;width:26px;height:26px;animation:marker-in .26s var(--ease);transition:transform .2s var(--ease), box-shadow .2s var(--ease);border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 1.5px #ffffffd1,0 3px 10px #00000073}.map-pin-glyph{place-items:center;display:grid}.map-pin--conflict{border-radius:7px;width:23px;height:23px;transform:rotate(45deg)}.map-pin--conflict .map-pin-glyph{transform:rotate(-45deg)}.map-pin--history{border-radius:8px}.map-pin:hover{transform:scale(1.14)}.map-pin--conflict:hover{transform:rotate(45deg)scale(1.14)}.map-pin--active{box-shadow:0 0 0 2px #fff, 0 0 0 6px color-mix(in srgb, var(--pin-color) 38%, transparent), 0 0 24px color-mix(in srgb, var(--pin-color) 65%, transparent);z-index:2;transform:scale(1.3)}.map-pin--conflict.map-pin--active{transform:rotate(45deg)scale(1.3)}.map-pin:focus-visible,.map-cluster:focus-visible{outline-offset:3px;outline:2px solid #fff}.map-cluster{--cluster-color:var(--accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-variant-numeric:tabular-nums;min-width:34px;height:34px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--cluster-color) 80%, transparent), 0 0 0 4px color-mix(in srgb, var(--cluster-color) 16%, transparent), 0 6px 16px #00000073;cursor:pointer;animation:marker-in .28s var(--ease);transition:transform .2s var(--ease);background:#091321cc;border-radius:999px;justify-content:center;align-items:center;padding:0 .55rem;font-size:.8rem;font-weight:650;display:flex}.map-cluster:hover{transform:scale(1.08)}.map-cluster--md{min-width:40px;height:40px;font-size:.86rem}.map-cluster--lg{min-width:48px;height:48px;font-size:.92rem}.marker-moving{--pin-color:var(--accent-warm);color:#07111f;background:var(--pin-color);width:28px;height:28px;box-shadow:0 0 0 2px #fff, 0 0 16px color-mix(in srgb, var(--pin-color) 70%, transparent);border-radius:50%;place-items:center;animation:.9s ease-in-out infinite alternate pulse-move;display:grid}.marker-impact{--pin-color:var(--accent);place-items:center;width:44px;height:44px;display:grid;position:relative}.marker-impact-core{background:var(--pin-color);width:12px;height:12px;box-shadow:0 0 0 2px #fff, 0 0 14px var(--pin-color);animation:impact-pop .4s var(--ease);border-radius:50%}.marker-impact-ring{border:2px solid var(--pin-color);animation:impact-ring 1.2s var(--ease) forwards;border-radius:50%;position:absolute;inset:0}.marker-impact-ring--late{opacity:0;animation-delay:.25s}.marker-dot{border:2px solid #fff;border-radius:50%;width:11px;height:11px;box-shadow:0 0 6px #00000080}.marker-user{background:#3fa7ff;border:3px solid #fff;border-radius:50%;width:16px;height:16px;animation:2.2s ease-out infinite user-pulse;box-shadow:0 0 #3fa7ff73,0 2px 6px #0006}.place-card{--dot-color:var(--accent);z-index:1150;top:calc(var(--gutter) + var(--topbar-h) + 12px + var(--safe-top));right:var(--gutter);width:380px;max-height:calc(100% - var(--topbar-h) - 2 * var(--gutter) - 12px - var(--safe-top));background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:card-in .3s var(--ease);transition:width .32s var(--ease), max-height .32s var(--ease);flex-direction:column;display:flex;position:absolute;overflow:hidden}.place-card--story{width:min(540px, calc(100% - 2 * var(--gutter)));bottom:var(--gutter);max-height:none}.place-card-handle{display:none}.place-card-toolbar{z-index:3;pointer-events:none;gap:.4rem;display:flex;position:absolute;top:12px;left:12px;right:12px}.place-card-toolbar>*{pointer-events:auto}.place-card-toolbar-spacer{flex:1}.place-card-scroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}.place-hero{background:var(--bg-panel-raised);height:210px;margin:0;position:relative;overflow:hidden}.place-card--story .place-hero{height:290px}.place-hero:after{content:"";background:linear-gradient(180deg, #07111f59 0%, #07111f00 32%, #07111f00 60%, var(--glass-strong) 100%);pointer-events:none;position:absolute;inset:0}.place-hero-img{object-fit:cover;width:100%;height:100%;animation:fade-in .4s var(--ease);display:block}.place-hero--empty{height:150px;color:var(--dot-color);background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--dot-color) 22%, transparent) 0%, transparent 70%);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex}.place-card--story .place-hero--empty{height:190px}.place-hero--empty span{color:var(--text-dim);letter-spacing:.02em;font-size:.72rem}.place-hero--empty:after{display:none}.place-card-body{padding:.4rem 1.4rem 1.6rem;position:relative}.place-eyebrow{color:var(--dot-color);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;display:inline-flex}.place-title{letter-spacing:-.022em;margin:.45rem 0 .7rem;font-size:1.5rem;font-weight:700;line-height:1.15}.place-card--story .place-title{font-size:1.85rem}.place-meta{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.place-meta span{color:var(--text-dim);align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.place-meta .place-meta-distance{color:var(--accent-warm);font-weight:600}.place-section{margin-top:1.5rem}.place-section>.eyebrow{margin-bottom:.7rem}.place-question{letter-spacing:-.01em;margin:0 0 .45rem;font-size:.98rem;font-weight:650}.place-text{color:color-mix(in srgb, var(--text-light) 88%, transparent);margin:0;font-size:.94rem;line-height:1.62}.place-card--story .place-text{font-size:1rem;line-height:1.7}.facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.fact{background:var(--bg-hover);border-radius:12px;min-width:0;padding:.65rem .8rem}.fact dt{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:.35rem;font-size:.66rem;font-weight:650;display:flex}.fact dd{overflow-wrap:anywhere;margin:.3rem 0 0;font-size:.86rem;font-weight:500;line-height:1.4}.gallery{gap:.5rem;display:flex;overflow-x:auto}.gallery-thumb{background:0 0;border:2px solid #0000;border-radius:10px;flex-shrink:0;width:76px;height:54px;padding:0;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gallery-thumb--active{border-color:var(--accent)}.location-row{background:var(--bg-hover);border-radius:14px;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem .9rem;display:flex}.location-coords{font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;font-weight:600}.location-note{color:var(--text-dim);margin:.15rem 0 0;font-size:.74rem}.status-badge{color:#9fd9b6;background:#7cc59a17;border:1px solid #7cc59a38;border-radius:14px;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;display:flex}.status-badge--pending{color:var(--accent-warm);background:#e8c97a14;border-color:#e8c97a3d}.status-badge--checked{color:var(--accent);background:#57c7d914;border-color:#57c7d93d}.status-badge strong,.source-link strong{font-size:.82rem;font-weight:650;display:block}.status-badge span,.source-link span span{color:var(--text-dim);font-size:.76rem;line-height:1.45;display:block}.source-link{background:var(--bg-hover);color:var(--text-light);transition:background var(--dur);border-radius:14px;align-items:flex-start;gap:.65rem;margin-top:.5rem;padding:.75rem .85rem;text-decoration:none;display:flex}.source-link:hover{background:#eaf3f71a}.source-link>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.keep-exploring{background:var(--bg-active);border-radius:16px;margin-top:1.6rem;padding:1rem 1.1rem}.keep-exploring p{margin:0;font-size:.92rem;font-weight:600}.keep-exploring .link-btn{margin-top:.4rem}.detail-image--vintage{filter:grayscale()contrast(1.08)sepia(.2)}.detail-image--sepia{filter:sepia(.3)contrast(1.04)}.event-timeline{margin-top:1.5rem}.event-timeline-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.event-timeline-progress{background:var(--border);border-radius:2px;height:2px;margin:.8rem 0;overflow:hidden}.event-timeline-progress-bar{background:var(--accent);height:100%;transition:width .4s var(--ease)}.event-timeline-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.event-timeline-item{opacity:.55;animation:fade-up .4s var(--ease);grid-template-columns:24px auto 1fr;align-items:baseline;gap:.55rem;font-size:.84rem;display:grid}.event-timeline-item--current{opacity:1}.event-timeline-icon{background:var(--bg-hover);width:24px;height:24px;color:var(--accent);border-radius:50%;align-self:center;place-items:center;display:inline-grid}.event-timeline-time{color:var(--accent-warm);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650}.event-timeline-text{color:var(--text-light);line-height:1.45}.event-timeline-disclaimer{color:var(--text-dim);margin:.7rem 0 0;font-size:.72rem}.explore-area-btn,.nearby-notice,.traveling-notice,.toast{top:calc(var(--gutter) + var(--topbar-h) + 12px + var(--safe-top));z-index:1050;position:absolute;left:50%;transform:translate(-50%)}.explore-area-btn{height:40px;color:var(--text-light);white-space:nowrap;animation:drop-in .26s var(--ease);transition:background var(--dur);border-radius:999px;align-items:center;gap:.5rem;padding:0 .55rem 0 1rem;font-size:.84rem;font-weight:600;display:flex}.explore-area-btn:hover{background:var(--glass-strong)}.explore-area-count{background:var(--accent);min-width:26px;height:26px;color:var(--accent-ink);border-radius:999px;justify-content:center;align-items:center;padding:0 .45rem;font-size:.74rem;font-weight:700;display:inline-flex}.nearby-notice{width:max-content;max-width:min(560px, calc(100% - 2 * var(--gutter)));animation:drop-in .3s var(--ease);border-radius:999px;align-items:center;gap:.7rem;padding:.5rem .5rem .5rem .6rem;display:flex}.nearby-notice-icon{background:var(--bg-active);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.nearby-notice-body{min-width:0}.nearby-notice-text{margin:0;font-size:.86rem;font-weight:550}.nearby-notice-sub{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin:.1rem 0 0;font-size:.74rem;overflow:hidden}.traveling-notice{max-width:calc(100% - 2 * var(--gutter));animation:drop-in .28s var(--ease);border-radius:999px;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem .55rem;display:flex}.traveling-notice-icon{color:#07111f;background:var(--dot-color,var(--accent));border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;animation:.9s ease-in-out infinite alternate pulse-move;display:inline-grid}.traveling-notice-text{min-width:0}.traveling-notice-title{margin:0;font-size:.82rem;font-weight:600}.traveling-notice-subtitle{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.74rem;overflow:hidden}.toast{z-index:1260;width:min(440px, calc(100% - 2 * var(--gutter)));color:var(--text-light);cursor:pointer;animation:drop-in .28s var(--ease);border-radius:16px;align-items:center;gap:.55rem;padding:.75rem 1rem;font-size:.86rem;line-height:1.4;display:flex}.toast svg{color:var(--accent-warm);flex-shrink:0}.country-chip{z-index:1060;bottom:calc(var(--gutter) + 132px + var(--safe-bottom));height:38px;color:var(--text-dim);white-space:nowrap;--tx:-50%;animation:fade-up .26s var(--ease);border-radius:999px;align-items:center;gap:.5rem;padding:0 .3rem 0 .85rem;font-size:.82rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.country-chip strong{color:var(--text-light)}.country-chip .icon-btn{width:28px;height:28px}.featured-row{z-index:900;left:calc(var(--gutter) + 280px + var(--gutter));right:calc(var(--gutter) + 58px);bottom:calc(var(--gutter) + 18px + var(--safe-bottom));pointer-events:none;animation:fade-up .4s var(--ease);flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute}.featured-row-title{letter-spacing:.1em;text-transform:uppercase;color:#eaf3f7b8;text-shadow:0 1px 6px #0009;margin:0;font-size:.68rem;font-weight:650}.featured-row-list{scrollbar-width:none;pointer-events:auto;gap:.6rem;max-width:100%;padding:2px;display:flex;overflow-x:auto}.featured-tile{border:1px solid var(--glass-border);background:var(--bg-panel);width:150px;height:86px;box-shadow:var(--shadow-md);transition:transform .26s var(--ease);border-radius:14px;flex-shrink:0;padding:0;position:relative;overflow:hidden}.featured-tile:hover{transform:translateY(-3px)}.featured-tile img{object-fit:cover;width:100%;height:100%;display:block}.featured-tile-text{color:#fff;text-align:left;background:linear-gradient(#0000,#040a12d9);flex-direction:column;align-items:flex-start;padding:1.4rem .6rem .45rem;display:flex;position:absolute;inset:auto 0 0}.featured-tile-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.74rem;font-weight:650;overflow:hidden}.featured-tile-meta{opacity:.75;align-items:center;gap:.25rem;font-size:.64rem;display:inline-flex}.timeline-float{z-index:960;left:50%;bottom:calc(var(--gutter) + 18px + var(--safe-bottom));width:min(560px, calc(100% - 2 * var(--gutter)));--tx:-50%;animation:fade-up .28s var(--ease);border-radius:999px;align-items:center;gap:.7rem;padding:.45rem .5rem;display:flex;position:absolute;transform:translate(-50%)}.timeline-float .icon-btn--accent{width:36px;height:36px}.timeline-slider{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.timeline-year{color:var(--text-dim);text-align:center;font-size:.74rem}.timeline-year strong{color:var(--accent-warm);font-variant-numeric:tabular-nums;font-size:.92rem}input[type=range]{width:100%;accent-color:var(--accent)}.range-double{height:26px;position:relative}.range-double input[type=range]{pointer-events:none;appearance:none;background:0 0;margin:0;position:absolute;top:9px;left:0;right:0}.range-double input[type=range]::-webkit-slider-thumb{pointer-events:auto;appearance:none;background:#fff;border-radius:50%;width:18px;height:18px;margin-top:-8px;box-shadow:0 1px 4px #0006}.range-double input[type=range]::-moz-range-thumb{pointer-events:auto;background:#fff;border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #0006}.range-double input[type=range]::-webkit-slider-runnable-track{background:var(--border);border-radius:2px;height:3px}.range-double input[type=range]::-moz-range-track{background:var(--border);border-radius:2px;height:3px}.switch-row{color:var(--text-light);cursor:pointer;align-items:center;gap:.65rem;margin-top:.7rem;font-size:.86rem;display:flex}.switch-row input{opacity:0;pointer-events:none;position:absolute}.switch{background:var(--border);width:38px;height:22px;transition:background var(--dur);border-radius:999px;flex-shrink:0;position:relative}.switch:after{content:"";width:18px;height:18px;transition:transform var(--dur) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}.switch-row input:checked+.switch{background:var(--accent)}.switch-row input:checked+.switch:after{transform:translate(16px)}.switch-row input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.sheet-backdrop{z-index:2000;padding:var(--gutter);padding-top:calc(var(--gutter) + var(--safe-top));padding-bottom:calc(var(--gutter) + var(--safe-bottom));animation:fade-in .2s var(--ease);background:#03080f61;display:flex;position:fixed;inset:0}.sheet-backdrop--center,.sheet-backdrop--wide{justify-content:center;align-items:center}.sheet-backdrop--right{background:#03080f38;justify-content:flex-end}.sheet-backdrop--left{background:#03080f38;justify-content:flex-start}.sheet{background:var(--glass-strong);width:420px;max-width:100%;max-height:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:sheet-in .28s var(--ease);outline:none;flex-direction:column;display:flex;position:relative}.sheet--right{animation-name:card-in}.sheet--left{animation-name:card-in-left}.sheet--wide{width:min(980px,100%);max-height:min(820px,100%)}.sheet--small{width:400px}.sheet-handle{display:none}.sheet-header{align-items:flex-start;gap:.6rem;padding:1.15rem 1.15rem .7rem 1.35rem;display:flex}.sheet-header-text{flex:1;min-width:0}.sheet-header h2{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700}.sheet-subtitle{color:var(--text-dim);margin:.2rem 0 0;font-size:.84rem;line-height:1.4}.sheet-body{overscroll-behavior:contain;min-height:0;padding:.3rem 1rem 1.2rem;overflow-y:auto}.sheet-text{color:var(--text-dim);margin:0 0 1.2rem;font-size:.92rem;line-height:1.55}.filters-sheet .sheet-body{padding:.2rem 1.35rem 0}.filter-section{border-bottom:1px solid var(--border);padding:.9rem 0}.filter-section:first-child{padding-top:.2rem}.filter-section>.eyebrow{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.65rem;display:flex}.filter-value{letter-spacing:0;text-transform:none;color:var(--text-light);font-size:.8rem;font-weight:600}.filter-footer{background:linear-gradient(180deg, transparent, var(--glass-strong) 30%);justify-content:flex-end;gap:.5rem;padding:.85rem 0 1.15rem;display:flex;position:sticky;bottom:0}.country-picker{flex-direction:column;gap:.4rem;display:flex}.country-picker-search{background:var(--bg-hover);height:38px;color:var(--text-dim);border-radius:12px;align-items:center;gap:.5rem;padding:0 .8rem;display:flex}.country-picker-search input{min-width:0;color:var(--text-light);background:0 0;border:none;outline:none;flex:1;font-size:.86rem}.country-picker-list{flex-direction:column;gap:1px;max-height:210px;display:flex;overflow-y:auto}.country-option{text-align:left;color:var(--text-light);background:0 0;border:none;border-radius:10px;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:.86rem;display:flex}.country-option span:nth-child(2){flex:1}.country-option:hover{background:var(--bg-hover)}.country-option--active{background:var(--bg-active)}.country-code{letter-spacing:.04em;width:26px;color:var(--text-faint);font-size:.66rem;font-weight:700}.country-count{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.74rem}.nearby-summary{border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:.65rem;margin-bottom:.4rem;padding:.2rem .35rem 1rem;display:flex}.nearby-headline{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.2}.nearby-sub{color:var(--text-dim);margin:-.3rem 0 0;font-size:.84rem}.breakdown{flex-wrap:wrap;gap:.35rem .9rem;display:flex}.breakdown-item{color:var(--text-dim);align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.breakdown-item svg{color:var(--dot-color)}.breakdown--filter{gap:.4rem;padding:0 .35rem .8rem}.empty-block{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.6rem 1rem 2rem;display:flex}.empty-block-icon{background:var(--bg-active);width:60px;height:60px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.stories-filter{padding:0 .35rem .9rem}.stories-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.75rem;padding:0 .35rem;display:grid}.story-card{aspect-ratio:4/3;border:1px solid var(--glass-border);background:var(--bg-panel-raised);text-align:left;border-radius:16px;padding:0;position:relative;overflow:hidden}.story-card img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease);display:block}.story-card:hover img{transform:scale(1.04)}.story-card-overlay{color:#fff;background:linear-gradient(#0000,#040a12e0);flex-direction:column;gap:.25rem;padding:2.4rem .85rem .8rem;display:flex;position:absolute;inset:auto 0 0}.story-card-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#ffffffd1;align-items:center;gap:.3rem;font-size:.64rem;font-weight:650;display:inline-flex}.story-card-eyebrow svg{color:var(--dot-color)}.story-card-title{font-size:.95rem;font-weight:650;line-height:1.25}.stats-list{flex-direction:column;gap:.4rem;margin:0;padding:0 .35rem;display:flex}.stats-row{background:var(--bg-hover);border-radius:12px;flex-direction:column;gap:.15rem;padding:.7rem .85rem;display:flex}.stats-row dt{color:var(--text-dim);align-items:center;gap:.45rem;font-size:.74rem;display:flex}.stats-row dd{margin:0;font-size:.9rem;font-weight:600}.stats-breakdown{color:var(--text-dim);margin:.8rem .35rem 0;font-size:.78rem}.onboarding{text-align:center;align-items:center;padding:2rem 1.6rem 1.4rem}.onboarding-mark{background:var(--bg-active);width:76px;height:76px;color:var(--accent);border-radius:24px;place-items:center;margin-bottom:1rem;display:grid}.onboarding h2{letter-spacing:-.02em;margin:0 0 .6rem;font-size:1.25rem}.onboarding-dots{justify-content:center;gap:.4rem;margin-bottom:1.3rem;display:flex}.onboarding-dots .dot{background:var(--border);width:6px;height:6px;transition:width var(--dur) var(--ease), background var(--dur);border-radius:50%}.onboarding-dots .dot--active{background:var(--accent);border-radius:999px;width:18px}.onboarding-actions{gap:.6rem;width:100%;display:flex}.onboarding-actions .btn{flex:1}.onboarding-next{background:var(--accent);height:42px;color:var(--accent-ink);border:none;border-radius:999px;flex:1;padding:0 1.25rem;font-size:.9rem;font-weight:600}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{margin-bottom:var(--safe-bottom)}.maplibregl-ctrl-scale{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:0 0 6px 6px;background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;color:var(--text-dim)!important;border-top:none!important;padding:.05rem .4rem!important;font-size:.64rem!important}.maplibregl-ctrl-attrib{font-size:.66rem}.maplibregl-ctrl-attrib.maplibregl-compact{color:var(--text-dim);background:var(--glass-bg)!important}.maplibregl-ctrl-attrib a{color:var(--text-dim)!important}.app-layout[data-tier=region] .brand-text,.app-layout[data-tier=local] .brand-text{display:none}.app-layout[data-tier=region] .brand,.app-layout[data-tier=local] .brand{padding:0 .45rem}.app-layout[data-tier=region] .top-nav-label,.app-layout[data-tier=local] .top-nav-label{display:none}.app-layout[data-tier=region] .top-nav-item,.app-layout[data-tier=local] .top-nav-item{padding:0 .6rem}.app-layout[data-tier=region] .search{max-width:380px}.app-layout:not([data-tier=world]) .category-panel:not(.category-panel--open){opacity:0;visibility:hidden;pointer-events:none;transform:translate(-12px)}.app-layout[data-tier=local]:not(.search-open) .top-bar{opacity:0;pointer-events:none;transform:translateY(-10px)}.app-layout[data-tier=local]:not(.search-open) .top-bar>*{pointer-events:none}.app-layout[data-tier=local] .map-back-btn,.app-layout[data-tier=local] .explore-area-btn,.app-layout[data-tier=local] .nearby-notice,.app-layout[data-tier=local] .toast,.app-layout[data-tier=local] .traveling-notice{top:calc(var(--gutter) + var(--safe-top))}.app-layout[data-tier=local] .country-chip{display:none}.app-layout.has-card .map-controls{right:calc(var(--gutter) + 380px + 12px)}.app-layout.has-story .map-controls{right:calc(var(--gutter) + min(540px, calc(100% - 2 * var(--gutter))) + 12px)}.app-layout.has-card .category-panel:not(.category-panel--open),.app-layout.has-timeline .category-panel:not(.category-panel--open){opacity:0;visibility:hidden;pointer-events:none}.app-layout.has-card .country-chip,.app-layout.has-timeline .country-chip{display:none}@media (width<=1180px) and (width>=769px){.top-nav-label{display:none}.top-nav-item{padding:0 .6rem}}@media (width<=768px){:root{--gutter:12px;--topbar-h:46px}.top-bar{top:calc(10px + var(--safe-top));gap:.5rem}.brand{height:46px;padding:0 .4rem}.brand-text{display:none}.search{max-width:none;height:46px}.app-layout[data-tier=region] .search{max-width:none}.game-btn{display:none!important}.menu-item--mobile{display:flex!important}.top-bar-actions .icon-btn--glass{width:46px;height:46px}.top-nav{left:50%;bottom:calc(12px + var(--safe-bottom));height:56px;transition:opacity .26s var(--ease), transform .26s var(--ease);gap:0;margin:0;padding:5px;position:fixed;transform:translate(-50%)}.top-nav-item{flex-direction:column;justify-content:center;gap:2px;min-width:70px;height:46px;padding:0 .5rem;font-size:.64rem;font-weight:600}.top-nav-label,.app-layout[data-tier=region] .top-nav-label{display:block}.top-nav-badge{position:absolute;top:3px;right:14px}.app-layout.has-card .top-nav,.app-layout.has-timeline .top-nav,.app-layout.panel-open .top-nav,.app-layout[data-tier=local] .top-nav{opacity:0;pointer-events:none;transform:translate(-50%,16px)}.app-layout[data-tier=local]:not(.search-open) .top-nav{opacity:0}.menu-popover{max-width:calc(100vw - 2 * var(--gutter));right:0}.category-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:1600;width:auto;max-height:82dvh;padding-bottom:var(--safe-bottom);background:var(--glass-strong);border-bottom:none;position:fixed;inset:auto 0 0}.category-panel:not(.category-panel--open),.app-layout .category-panel:not(.category-panel--open){opacity:1;visibility:hidden;pointer-events:none;transform:translateY(100%)}.category-panel--open{visibility:visible;transform:translateY(0)}.category-panel-mobile-bar{flex-shrink:0;justify-content:center;align-items:center;padding:.55rem 0 .15rem;display:flex;position:relative}.category-panel-mobile-bar .icon-btn{position:absolute;top:.35rem;right:.6rem}.panel-backdrop{z-index:1550;animation:fade-in .2s var(--ease);background:#03080f6b;display:block;position:fixed;inset:0}.sheet-handle{background:#93a6b566;border-radius:999px;width:38px;height:4px;margin:0 auto;display:block}.map-controls{top:auto;bottom:calc(84px + var(--safe-bottom));transform:none}.map-btn{width:40px;height:40px}.app-layout[data-tier=local] .map-controls{bottom:calc(24px + var(--safe-bottom))}.app-layout.has-card .map-controls,.app-layout.has-story .map-controls{right:var(--gutter);top:calc(10px + var(--safe-top) + 58px);bottom:auto}.app-layout.has-card[data-tier=local] .map-controls{top:calc(10px + var(--safe-top))}.app-layout.has-card .map-btn-group,.app-layout.has-story .map-controls{display:none}.map-back-btn{top:calc(10px + var(--safe-top) + 58px)}.place-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:auto;max-height:44dvh;transition:transform .16s var(--ease);padding-bottom:var(--safe-bottom);animation:sheet-up .32s var(--ease);border-bottom:none;position:fixed;inset:auto 0 0}.place-card--story{width:auto;top:calc(var(--safe-top) + 24px);max-height:none}.place-card-handle{background:0 0;border:none;flex-shrink:0;justify-content:center;width:100%;padding:.5rem 0 .35rem;display:flex}.place-card-toolbar{top:30px}.place-hero{border-radius:16px;height:130px;margin:0 .75rem}.place-card--story .place-hero{height:230px}.place-hero:after{background:linear-gradient(#07111f66 0%,#07111f00 40%)}.place-card-body{padding:1rem 1.15rem 1.4rem}.place-title{font-size:1.32rem}.place-card--story .place-title{font-size:1.55rem}.facts-grid{grid-template-columns:minmax(0,1fr)}.sheet-backdrop,.sheet-backdrop--right,.sheet-backdrop--left,.sheet-backdrop--center,.sheet-backdrop--wide{justify-content:stretch;align-items:flex-end;padding:0}.sheet,.sheet--wide,.sheet--small{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:88dvh;padding-top:.55rem;padding-bottom:var(--safe-bottom);animation:sheet-up .32s var(--ease);border-bottom:none}.sheet--center.sheet--small.onboarding{padding-top:1.6rem}.stories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.story-card-title{font-size:.82rem}.featured-row{display:none}.explore-area-btn,.nearby-notice,.traveling-notice,.toast{top:calc(10px + var(--safe-top) + 58px)}.nearby-notice{width:calc(100% - 2 * var(--gutter));border-radius:18px}.country-chip{bottom:calc(80px + var(--safe-bottom))}.timeline-float{bottom:calc(16px + var(--safe-bottom))}.maplibregl-ctrl-scale{display:none}}@media print{body *{visibility:hidden}.place-card,.place-card *{visibility:visible}.place-card{width:100%;max-width:720px;max-height:none;box-shadow:none;color:#000;background:#fff;border:none;margin:0 auto;position:absolute;inset:0}.place-card-scroll{overflow:visible}.place-card-toolbar,.place-card-handle,.keep-exploring,.link-btn{display:none}}.crash-screen{background:var(--bg-deep);z-index:5000;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.crash-card{text-align:center;max-width:360px;color:var(--text-light)}.crash-icon{place-items:center;display:grid}.crash-card p{color:var(--text-dim);margin:.5rem 0 1.25rem;line-height:1.5}.game-overlay{z-index:2200;background:var(--bg-deep);padding-top:var(--safe-top);flex-direction:column;display:flex;position:fixed;inset:0}.game-header{background:var(--bg-panel);border-bottom:1px solid var(--border);z-index:3;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.game-title{align-items:center;gap:.5rem;display:inline-flex}.game-stats{color:var(--text-dim);margin-left:auto;font-size:.8rem}.game-close{background:var(--bg-hover);width:34px;height:34px;color:var(--text-light);border:none;border-radius:50%;flex-shrink:0;place-items:center;margin-left:auto;display:inline-grid}.game-stats+.game-close{margin-left:0}.game-body{flex:1;min-height:0;position:relative}.game-map{position:absolute;inset:0}.game-center{flex:1;justify-content:center;align-items:center;padding:1rem;display:flex;overflow-y:auto}.game-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:1.6rem}.game-card h2{margin:.25rem 0 .6rem}.game-card p{color:var(--text-dim);margin:0 0 .8rem;line-height:1.5}.game-small{font-size:.78rem}.game-card-icon{background:var(--bg-active);width:64px;height:64px;color:var(--accent);border-radius:20px;place-items:center;margin:0 auto .4rem;display:grid}.game-clue{background:var(--glass-strong);width:min(340px,100% - 1.5rem);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);z-index:2;border-radius:16px;gap:.7rem;padding:.55rem;display:flex;position:absolute;top:.75rem;left:.75rem}.game-clue-img{object-fit:cover;background:#04121f;border-radius:10px;flex-shrink:0;width:110px;height:84px}.game-clue-info{flex-direction:column;gap:.3rem;min-width:0;font-size:.8rem;display:flex}.game-clue-line{font-weight:600}.game-hint{color:var(--text-dim);font-size:.75rem}.game-hint strong{color:var(--accent-warm)}.game-hint-btn{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:999px;align-self:flex-start;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.72rem;display:inline-flex}.game-actions{left:50%;bottom:calc(2.9rem + var(--safe-bottom));z-index:2;flex-direction:column;align-items:center;gap:.5rem;width:min(440px,100% - 1.5rem);display:flex;position:absolute;transform:translate(-50%)}.game-actions>.onboarding-next{width:100%;box-shadow:var(--shadow-md);flex:none}.game-actions>.onboarding-next:disabled{opacity:.55;cursor:not-allowed}.game-tip{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--text-light);border-radius:999px;margin:0;padding:.4rem .85rem;font-size:.78rem}.game-result{background:var(--glass-strong);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);text-align:center;box-shadow:var(--shadow-lg);border-radius:18px;padding:.9rem 1rem}.game-result-points{color:var(--accent-warm);font-size:1.5rem;font-weight:700}.game-result-line{color:var(--text-light);margin-top:.2rem;font-size:.85rem}.game-result-buttons{gap:.6rem;margin-top:.8rem;display:flex}.game-secondary{border:1px solid var(--border);color:var(--text-light);background:0 0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .8rem;font-size:.82rem;display:inline-flex}.game-pin{filter:drop-shadow(0 3px 4px #0009);line-height:0}.game-pin--real{color:#07111f;background:var(--pin-color,var(--accent));filter:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 0 0 2px #fff,0 4px 12px #00000080}.game-final-score{color:var(--accent-warm);font-size:2.2rem;font-weight:800}.game-final-score span{color:var(--text-dim);font-size:1rem;font-weight:600}.game-rating{font-weight:600;color:var(--text-light)!important}.game-final-list{text-align:left;margin:0 0 .4rem;padding:0;font-size:.78rem;list-style:none}.game-final-list li{border-bottom:1px solid var(--border);color:var(--text-light);justify-content:space-between;gap:.6rem;padding:.35rem 0;display:flex}.game-final-list li span:last-child{color:var(--text-dim);white-space:nowrap}@media (width<=768px){.game-clue-img{width:92px;height:72px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translate(var(--tx,0), 8px)}to{opacity:1;transform:translate(var(--tx,0), 0)}}@keyframes drop-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes pop-in{0%{opacity:0;transform:scale(.97)translateY(-4px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes card-in-left{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes marker-in{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@keyframes pulse-move{0%{transform:scale(1)}to{transform:scale(1.12)}}@keyframes impact-ring{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(2.4)}}@keyframes impact-pop{0%{transform:scale(.3)}60%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes user-pulse{0%{box-shadow:0 0 #3fa7ff73,0 2px 6px #0006}70%{box-shadow:0 0 0 14px #3fa7ff00,0 2px 6px #0006}to{box-shadow:0 0 #3fa7ff00,0 2px 6px #0006}}@keyframes spin{to{transform:rotate(360deg)}}.place-card-toolbar{background:linear-gradient(180deg, color-mix(in srgb, var(--glass-strong) 92%, transparent) 0%, color-mix(in srgb, var(--glass-strong) 55%, transparent) 65%, transparent 100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:12px;top:0;left:0;right:0}@media (width<=768px){.place-card-toolbar{padding:8px 12px;top:22px}.app-layout.has-story .top-bar{opacity:0;pointer-events:none;transform:translateY(-10px)}.app-layout.has-story .top-bar>*{pointer-events:none}.app-layout.has-story .map-back-btn{display:none}}.game-map .maplibregl-ctrl-group{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);overflow:hidden;background:var(--glass-bg)!important;box-shadow:var(--shadow-md)!important;border-radius:999px!important}.game-map .maplibregl-ctrl-group button{background:0 0!important;width:38px!important;height:38px!important}.game-map .maplibregl-ctrl-group button+button{border-top:1px solid var(--glass-border)!important}:root:not([data-theme=light]) .game-map .maplibregl-ctrl-zoom-in span,:root:not([data-theme=light]) .game-map .maplibregl-ctrl-zoom-out span{filter:invert()}@media (width<=768px){.nearby-notice-text{font-size:.8rem;line-height:1.3}.nearby-notice .btn--sm{height:32px;padding:0 .7rem;font-size:.76rem}}.map-pin-wrap{isolation:isolate}.map-pin-wrap .map-pin{z-index:1;position:relative}.pin-fx{pointer-events:none;z-index:0;width:0;height:0;display:none;position:absolute;top:50%;left:50%}.fx-live .pin-fx{display:block}.pin-fx i,.scene i{font-style:normal;display:block;position:absolute}.fx-flash{opacity:0;background:radial-gradient(circle,#fffbe0 0%,#ffcf5a 30%,#ff7a2a 55%,#ff5a1e00 72%);border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px}.pin-fx .fx-flash{animation:fx-flash 2.8s var(--fx-delay,0s) infinite}.pin-fx .fx-flash--a{top:-12px;left:-16px}.pin-fx .fx-flash--b{animation-delay:calc(var(--fx-delay,0s) + .9s);top:-4px;left:17px}.pin-fx .fx-flash--c{animation-delay:calc(var(--fx-delay,0s) + 1.8s);top:18px;left:-2px}@keyframes fx-flash{0%,to{opacity:0;transform:scale(.3)}5%{opacity:1;transform:scale(1.3)}16%{opacity:0;transform:scale(1.7)}}.fx-smoke{opacity:0;background:radial-gradient(circle,#d6d2cccc 0%,#aaa6a06b 48%,#96928c00 72%);border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px}.pin-fx .fx-smoke{animation:fx-smoke-rise 4.2s var(--fx-delay,0s) infinite ease-out}.pin-fx .fx-smoke--a{--drift:-6px;top:-22px;left:-4px}.pin-fx .fx-smoke--b{--drift:9px;animation-delay:calc(var(--fx-delay,0s) + 1.4s);top:-22px;left:5px}.pin-fx .fx-smoke--c{--drift:2px;animation-delay:calc(var(--fx-delay,0s) + 2.8s);top:-25px;left:0}@keyframes fx-smoke-rise{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:.95}to{opacity:0;transform:translate(var(--drift,6px), -44px) scale(2.8)}}.pin-fx--fire .fx-smoke,.pin-fx--wreck .fx-smoke,.pin-fx--mine .fx-smoke{background:radial-gradient(circle,#96908aeb 0%,#76706a8c 48%,#64605c00 72%)}.pin-fx--fire .fx-smoke,.pin-fx--wreck .fx-smoke{animation-duration:3.4s}.fx-flame{transform-origin:50% 100%;opacity:0;background:radial-gradient(at 50% 78%,#fff5b8 0%,#ffbe45 32%,#ff6a1f 62%,#e63c1400 76%);border-radius:50% 50% 42% 42%/64% 64% 36% 36%;width:10px;height:15px;margin:-17px 0 0 -5px}.pin-fx .fx-flame{opacity:1;animation:.62s ease-in-out infinite alternate fx-flame;top:-10px}.pin-fx .fx-flame--a{left:-5px}.pin-fx .fx-flame--b{height:12px;margin-top:-14px;animation-delay:.25s;left:5px}.pin-fx .fx-flame--c{height:18px;margin-top:-20px;animation-delay:.4s;left:0}@keyframes fx-flame{0%{opacity:.8;transform:scale(.85,.78)skew(-5deg)}to{opacity:1;transform:scale(1.1,1.22)skew(6deg)}}.fx-ember{opacity:0;background:#ffcf6a;border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;box-shadow:0 0 4px #ff7a2a}.pin-fx .fx-ember{animation:fx-ember 1.9s var(--fx-delay,0s) infinite ease-out;top:-26px}.pin-fx .fx-ember--a{--drift:-10px;left:-3px}.pin-fx .fx-ember--b{--drift:12px;animation-delay:calc(var(--fx-delay,0s) + .9s);left:4px}@keyframes fx-ember{0%{opacity:0;transform:translate(0)}10%{opacity:1}to{opacity:0;transform:translate(var(--drift,8px), -34px)}}.fx-ripple{opacity:0;border:2px solid #a0dcf8e6;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px}.pin-fx .fx-ripple{animation:fx-ripple 2.8s var(--fx-delay,0s) infinite ease-out}.pin-fx .fx-ripple--late{animation-delay:calc(var(--fx-delay,0s) + 1.4s)}.pin-fx .fx-ripple--slow{animation-duration:4s;animation-delay:calc(var(--fx-delay,0s) + .7s)}@keyframes fx-ripple{0%{opacity:.95;transform:scale(.45)}to{opacity:0;transform:scale(2.6)}}.pin-fx--naval .fx-flash--a{top:4px;left:-16px}.pin-fx--naval .fx-flash--b{top:-4px;left:16px}.fx-bubble{opacity:0;background:#e1f5ff2e;border:1.5px solid #e1f5fff2;border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px}.pin-fx .fx-bubble{animation:fx-bubble 3s var(--fx-delay,0s) infinite ease-in}.pin-fx .fx-bubble--a{top:-18px;left:-7px}.pin-fx .fx-bubble--b{animation-delay:calc(var(--fx-delay,0s) + .8s);top:-17px;left:6px}.pin-fx .fx-bubble--c{animation-delay:calc(var(--fx-delay,0s) + 1.6s);top:-20px;left:0}.pin-fx .fx-bubble--d{animation-delay:calc(var(--fx-delay,0s) + 2.3s);top:-19px;left:9px}@keyframes fx-bubble{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-28px)scale(1.25)}}.fx-glow{opacity:0;background:radial-gradient(circle,#ff9632d9 0%,#ff5a1e61 45%,#ff461400 72%);border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px}.pin-fx .fx-glow{animation:fx-glow 2.2s var(--fx-delay,0s) infinite ease-in-out}.pin-fx .fx-glow--small{width:34px;height:34px;margin:-17px 0 0 -17px}@keyframes fx-glow{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.18)}}.pin-fx--volcano .fx-smoke--a{top:-24px;left:-3px}.pin-fx--volcano .fx-smoke--b{top:-26px;left:3px}.pin-fx--volcano .fx-smoke--c{top:-28px;left:0}.fx-dust{opacity:0;background:radial-gradient(#d6be96d9 0%,#bea68066 50%,#b49c7800 72%);border-radius:50%;width:30px;height:12px;margin:-6px 0 0 -15px}.pin-fx .fx-dust{animation:fx-dust 3.2s var(--fx-delay,0s) infinite ease-out;top:16px}.pin-fx .fx-dust--a{left:-10px}.pin-fx .fx-dust--b{animation-delay:calc(var(--fx-delay,0s) + 1.1s);left:10px}.pin-fx .fx-dust--c{animation-delay:calc(var(--fx-delay,0s) + 2.1s);top:14px;left:0}@keyframes fx-dust{0%{opacity:0;transform:translateY(0)scale(.4)}18%{opacity:1}to{opacity:0;transform:translateY(-10px)scale(2.3)}}.fx-meteor{transform-origin:100%;opacity:0;--angle:35deg;background:linear-gradient(90deg,#ffdca000,#ffecc8b3 60%,#fffbe8);border-radius:2px;width:54px;height:2.5px;margin:-1.25px 0 0 -54px;top:0;left:0;box-shadow:0 0 6px #ffdc96cc}.pin-fx .fx-meteor{animation:fx-meteor 4.2s var(--fx-delay,0s) infinite ease-in}.pin-fx .fx-meteor--b{--angle:58deg;width:34px;animation-delay:calc(var(--fx-delay,0s) + 2.1s);margin-left:-34px}@keyframes fx-meteor{0%{opacity:0;transform:rotate(var(--angle)) translateX(-80px) scaleX(.4)}6%{opacity:1}20%{opacity:1;transform:rotate(var(--angle)) translateX(-6px) scaleX(1)}26%,to{opacity:0;transform:rotate(var(--angle)) translateX(0) scaleX(.6)}}.pin-fx .fx-flash--impact{animation:fx-impact 4.2s var(--fx-delay,0s) infinite}@keyframes fx-impact{0%,19%{opacity:0;transform:scale(.3)}23%{opacity:1;transform:scale(1.4)}36%,to{opacity:0;transform:scale(1.8)}}.fx-rain{opacity:0;background:linear-gradient(#c8e1ff00,#d2e8fff2);border-radius:1px;width:1.6px;height:13px;top:-18px}.pin-fx .fx-rain{animation:.75s linear infinite fx-rain}.pin-fx .fx-rain--a{left:-14px}.pin-fx .fx-rain--b{animation-delay:.2s;left:-5px}.pin-fx .fx-rain--c{animation-delay:.42s;left:5px}.pin-fx .fx-rain--d{animation-delay:.6s;left:14px}@keyframes fx-rain{0%{opacity:0;transform:translate(4px,-14px)rotate(16deg)}20%{opacity:1}to{opacity:0;transform:translate(-4px,16px)rotate(16deg)}}.fx-bolt{opacity:0;background:radial-gradient(circle,#f0f6fff2 0%,#bed2ff73 35%,#aabeff00 70%);border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;top:-16px;left:0}.pin-fx .fx-bolt{animation:fx-bolt 5.2s var(--fx-delay,0s) infinite}@keyframes fx-bolt{0%,86%{opacity:0}88%{opacity:1}90%{opacity:.15}92%{opacity:.85}96%,to{opacity:0}}.fx-crest{opacity:0;border:2.5px solid #e1f3fff2;border-bottom:0;border-radius:36px 36px 0 0;width:36px;height:18px;margin:-18px 0 0 -18px;top:-4px;left:0}.pin-fx .fx-crest{animation:fx-crest 2.8s var(--fx-delay,0s) infinite ease-out}.pin-fx .fx-crest--late{animation-delay:calc(var(--fx-delay,0s) + 1.4s)}@keyframes fx-crest{0%{opacity:0;transform:translate(-22px)scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(22px)scale(1.3)}}.fx-slick{opacity:.95;background:radial-gradient(#342c24f2 0%,#28221cb3 45%,#1e1a1600 72%);border-radius:50%;width:52px;height:26px;margin:-13px 0 0 -26px;top:6px;left:0;box-shadow:0 0 0 1px #c8b48c2e}.pin-fx .fx-slick{animation:fx-slick 6s var(--fx-delay,0s) infinite ease-in-out alternate}.pin-fx .fx-slick--sheen{background:radial-gradient(at 38% 40%,#aa6ef08c 0%,#46bea06b 32%,#e6be464d 52%,#0000 72%);animation:7s linear infinite fx-sheen}@keyframes fx-slick{0%{transform:scale(.82,.78)}to{transform:scale(1.18,1.1)}}@keyframes fx-sheen{to{transform:rotate(360deg)}}.fx-shadow{background:radial-gradient(#0000008c,#0000 70%);border-radius:50%;width:20px;height:6px;margin:-3px 0 0 -10px;top:18px;left:0}.pin-fx .fx-shadow{animation:3.4s ease-in-out infinite fx-shadow}.fx-live .pin-fx--balloon~.map-pin{animation:3.4s ease-in-out infinite balloon-bob}@keyframes balloon-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes fx-shadow{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.fx-haze{opacity:.6;background:radial-gradient(#cdc8b499 0%,#bebaa64d 50%,#b4b0a000 72%);border-radius:50%;width:60px;height:28px;margin:-14px 0 0 -30px}.pin-fx .fx-haze{animation:fx-haze 7s var(--fx-delay,0s) infinite ease-in-out alternate}.pin-fx .fx-haze--a{top:-6px;left:-10px}.pin-fx .fx-haze--b{animation-delay:calc(var(--fx-delay,0s) + 2.3s);top:6px;left:12px}.pin-fx .fx-haze--c{animation-delay:calc(var(--fx-delay,0s) + 4.1s);top:-16px;left:4px}@keyframes fx-haze{0%{opacity:.45;transform:translate(-9px)scale(.9)}to{opacity:.95;transform:translate(9px)scale(1.15)}}.pin-fx{transform:scale(var(--fx-scale,1));transition:transform .25s ease-out}@media (hover:hover){.fx-on .map-pin-wrap:hover .pin-fx{transform:scale(calc(var(--fx-scale,1) * 1.4));display:block}}.pin-mag{pointer-events:none;z-index:0;--mag-size:36px;width:0;height:0;display:none;position:absolute;top:50%;left:50%}.mag-live .pin-mag{display:block}.pin-mag--2{--mag-size:50px}.pin-mag--3{--mag-size:68px}.pin-mag--4{--mag-size:92px}.pin-mag i{width:var(--mag-size);height:var(--mag-size);margin:calc(var(--mag-size) / -2) 0 0 calc(var(--mag-size) / -2);border:2px solid var(--pin-color,#e8c97a);background:radial-gradient(circle, color-mix(in srgb, var(--pin-color,#e8c97a) 30%, transparent) 0%, transparent 70%);opacity:0;animation:mag-pulse 3.8s var(--fx-delay,0s) infinite ease-out;border-radius:50%;display:block;position:absolute}.pin-mag i+i{animation-delay:calc(var(--fx-delay,0s) + 1.9s)}.pin-mag--3 i,.pin-mag--4 i{animation-duration:3.2s}.pin-mag--3 i+i,.pin-mag--4 i+i{animation-delay:calc(var(--fx-delay,0s) + 1.6s)}@keyframes mag-pulse{0%{opacity:.75;transform:scale(.35)}to{opacity:0;transform:scale(1.25)}}.pin-today{pointer-events:none;z-index:0;border:2px dashed #f3d27a;border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;position:absolute;top:50%;left:50%;box-shadow:0 0 14px 3px #f3d27a8c}.pin-today i{opacity:0;border:1.5px solid #f3d27ab3;border-radius:50%;display:block;position:absolute;inset:-7px}.fx-on .pin-today{animation:9s linear infinite today-spin}.fx-on .pin-today i{animation:2.4s ease-out infinite today-glow}@keyframes today-spin{to{transform:rotate(360deg)}}@keyframes today-glow{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.map-pin-wrap--today .map-pin{box-shadow:0 0 0 2px #f3d27a,0 3px 10px #00000073}.map-pin-wrap--born .map-pin{animation:.9s cubic-bezier(.2,1.4,.4,1) both pin-born}.map-pin-wrap--born:after{content:"";border:2.5px solid var(--pin-color,#e8c97a);width:56px;height:56px;box-shadow:0 0 12px var(--pin-color,#e8c97a);pointer-events:none;opacity:0;border-radius:50%;margin:-28px 0 0 -28px;animation:1.2s ease-out both born-ring;position:absolute;top:50%;left:50%}@keyframes pin-born{0%{transform:scale(0)}60%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes born-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.8)}}.scene{--scene-scale:1.45;pointer-events:none;width:240px;height:140px;animation:.6s ease-in forwards scene-out;animation-delay:var(--scene-end,5.4s)}@keyframes scene-out{to{opacity:0}}.scene--battle,.scene--naval{--scene-end:5.5s}.scene--sinking{--scene-end:3.6s}.scene--crash{--scene-end:3.8s}.scene--derail{--scene-end:3.4s}.scene--eruption{--scene-end:4s}.scene--blast{--scene-end:3.4s}.scene-vignette{opacity:0;background:radial-gradient(#040a12a8 0%,#040a126b 42%,#040a1200 70%);border-radius:50%;animation:.5s ease-out forwards vignette-in;inset:-70px -80px}@keyframes vignette-in{to{opacity:1}}.scene-stage{transform:scale(var(--scene-scale));position:absolute;inset:0}.scene--battle .scene-stage,.scene--naval .scene-stage{animation:.32s ease-in-out 1.95s 4 stage-shake}.scene--crash .scene-stage{animation:.3s ease-in-out 1.15s 3 stage-shake}.scene--derail .scene-stage{animation:.28s ease-in-out .95s 3 stage-shake}.scene--blast .scene-stage{animation:.3s ease-in-out .1s 3 stage-shake}.scene--eruption .scene-stage{animation:.4s ease-in-out .1s 3 stage-shake}@keyframes stage-shake{0%,to{transform:scale(var(--scene-scale)) translate(0, 0)}25%{transform:scale(var(--scene-scale)) translate(-2px, 1px)}50%{transform:scale(var(--scene-scale)) translate(2px, -1px)}75%{transform:scale(var(--scene-scale)) translate(-1px, -1px)}}.scene-ground{background:radial-gradient(#3c2e1c99 0%,#3c2e1c00 70%);border-radius:50%;height:18px;top:82px;left:14px;right:14px}.scene-sea{background:radial-gradient(#78bee680 0%,#78bee600 70%);border-radius:50%;height:20px;animation:1.6s ease-in-out infinite alternate scene-sea;top:76px;left:10px;right:10px}.scene-sea--far{opacity:.6;height:12px;animation-delay:.8s;top:64px;left:40px;right:40px}@keyframes scene-sea{to{transform:scaleX(1.06)translateY(1px)}}.scene-side{opacity:0;filter:drop-shadow(0 1px 1.5px #000c);gap:4px;display:flex;position:absolute;top:44px}.scene--battle .scene-side{flex-direction:column;gap:0}.scene-side--a{color:#ff6f58;animation:2s ease-out .15s forwards side-a,.8s ease-in 3.8s forwards side-fade;right:50%}.scene-side--b{color:#6eaaf5;animation:2s ease-out .15s forwards side-b,.8s ease-in 3.8s forwards side-fade;left:50%}.scene--naval .scene-side{gap:3px;top:58px}.scene-row{align-items:flex-end;gap:1px;display:flex}.scene-row--back{opacity:.72;margin-bottom:-16px;transform:scale(.84)}.scene-side--a .scene-row--back{transform-origin:100% 100%;margin-right:14px}.scene-side--b .scene-row--back{transform-origin:0 100%;margin-left:14px}.scene-side--b .scene-row{flex-direction:row-reverse}@keyframes side-a{0%{opacity:0;transform:translate(-70px)}12%{opacity:1}to{opacity:1;transform:translate(-4px)}}@keyframes side-b{0%{opacity:0;transform:translate(70px)}12%{opacity:1}to{opacity:1;transform:translate(4px)}}@keyframes side-fade{to{opacity:.4}}.scene--battle .scene-unit{animation:.4s ease-in-out infinite alternate unit-march;display:block}.scene--battle .scene-unit--1{animation-delay:.13s}.scene--battle .scene-unit--2{animation-delay:.26s}.scene--battle .scene-unit--flag{animation-delay:.2s}.scene-side--b .scene-unit svg{transform:scaleX(-1)}@keyframes unit-march{to{transform:translateY(-2px)}}.fx-flag{display:block}.fx-flag-cloth{transform-origin:4px 8px;animation:.6s ease-in-out infinite alternate flag-wave}@keyframes flag-wave{to{transform:skewY(8deg)scaleX(.88)}}.scene--naval .scene-unit{animation:1.2s ease-in-out infinite alternate unit-bob;display:block}.scene--naval .scene-unit--1{margin-top:4px;animation-delay:.4s}.scene--naval .scene-unit--2{animation-delay:.8s}@keyframes unit-bob{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(2px)rotate(2deg)}}.fx-shot{opacity:0;background:linear-gradient(90deg,#ffe69600,#fff2b0);border-radius:2px;width:12px;height:2px;margin:-1px 0 0 -6px;left:50%}.fx-shot--0{animation:.36s linear .7s 3 both shot-ab;top:56px}.fx-shot--1{animation:.36s linear .85s 3 both shot-ba;top:62px}.fx-shot--2{animation:.36s linear 1.05s 3 both shot-ab;top:52px}.fx-shot--3{animation:.36s linear 1.2s 3 both shot-ba;top:66px}.fx-shot--4{animation:.36s linear 1.4s 3 both shot-ab;top:59px}.fx-shot--5{animation:.36s linear 1.55s 3 both shot-ba;top:54px}@keyframes shot-ab{0%{opacity:0;transform:translate(-46px)}15%,85%{opacity:1}to{opacity:0;transform:translate(46px)}}@keyframes shot-ba{0%{opacity:0;transform:translate(46px)scaleX(-1)}15%,85%{opacity:1}to{opacity:0;transform:translate(-46px)scaleX(-1)}}.scene .fx-dust{animation:1.3s ease-out .3s 2 both fx-dust;top:86px}.scene .fx-dust--a{left:60px}.scene .fx-dust--b{animation-delay:.6s;left:180px}.scene-clash{position:absolute;inset:0}.fx-burst{opacity:0;width:0;height:0;animation:.9s ease-out forwards burst-show;top:66px;left:50%}.fx-burst-core{background:radial-gradient(circle,#fffbe0 0%,#ffd35a 28%,#ff8a2a 52%,#dc3c1400 72%);border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px}.fx-burst-ring{width:38px;height:38px;animation:.9s ease-out forwards burst-ring;animation-delay:inherit;border:2px solid #ffd682e6;border-radius:50%;margin:-19px 0 0 -19px}@keyframes burst-show{0%{opacity:0;transform:scale(.2)}18%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1.7)}}@keyframes burst-ring{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(2.4)}}.scene--battle .fx-burst--1,.scene--naval .fx-burst--1{margin-left:-12px;animation-delay:1.95s}.scene--battle .fx-burst--2,.scene--naval .fx-burst--2{margin-top:-8px;margin-left:14px;animation-delay:2.25s}.scene--battle .fx-burst--3,.scene--naval .fx-burst--3{margin-top:6px;animation-delay:2.55s}.scene--battle .fx-burst--4,.scene--naval .fx-burst--4{margin-top:-4px;margin-left:-20px;animation-delay:2.85s}.scene--battle .fx-burst--5,.scene--naval .fx-burst--5{margin-top:4px;margin-left:20px;animation-delay:3.15s}.fx-debris{opacity:0;width:4px;height:4px;animation:1s cubic-bezier(.2,.6,.5,1) forwards debris;animation-delay:var(--debris-delay,2s);background:#3a2c22;border-radius:1px;margin:-2px 0 0 -2px;top:66px;left:50%;box-shadow:0 0 3px #ff8a2a}.fx-debris--0{--dx:-34px;--dy:-30px}.fx-debris--1{--dx:30px;--dy:-36px}.fx-debris--2{--dx:-14px;--dy:-44px}.fx-debris--3{--dx:40px;--dy:-18px}.fx-debris--4{--dx:-42px;--dy:-14px}.scene--battle .fx-debris,.scene--naval .fx-debris{--debris-delay:2s}.scene--battle .fx-debris--3,.scene--naval .fx-debris--3,.scene--battle .fx-debris--4,.scene--naval .fx-debris--4{--debris-delay:2.6s}@keyframes debris{0%{opacity:1;transform:translate(0)rotate(0)}55%{opacity:1;transform:translate(calc(var(--dx) * .7), var(--dy)) rotate(160deg)}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 28px)) rotate(300deg)}}.scene .fx-smoke{width:32px;height:32px;margin:-16px 0 0 -16px;animation:2.6s ease-out forwards scene-smoke;top:62px;left:50%}.scene--battle .fx-smoke--a,.scene--naval .fx-smoke--a{margin-left:-24px;animation-delay:2.1s}.scene--battle .fx-smoke--b,.scene--naval .fx-smoke--b{margin-left:4px;animation-delay:2.5s}.scene--battle .fx-smoke--c,.scene--naval .fx-smoke--c{margin-left:18px;animation-delay:2.9s}.scene--battle .fx-smoke--d,.scene--naval .fx-smoke--d{margin-left:-8px;animation-delay:3.3s}@keyframes scene-smoke{0%{opacity:0;transform:translateY(0)scale(.5)}18%{opacity:.95}to{opacity:0;transform:translateY(-50px)scale(2.6)}}.fx-muzzle{opacity:0;background:radial-gradient(circle,#fffbe0 0%,#ffb547 50%,#ff782800 72%);border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;top:64px}.fx-muzzle--0,.fx-muzzle--2{left:72px}.fx-muzzle--1,.fx-muzzle--3{left:168px}.fx-muzzle--0{animation:.35s ease-out 1.1s 2 both muzzle}.fx-muzzle--1{animation:.35s ease-out 1.45s 2 both muzzle}.fx-muzzle--2{animation:.35s ease-out 1.8s 2 both muzzle}.fx-muzzle--3{animation:.35s ease-out 2.15s 2 both muzzle}@keyframes muzzle{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(1.9)}}.fx-ball{opacity:0;background:#2a2a2a;border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;top:64px;left:50%;box-shadow:0 0 0 1px #fff0c8b3,0 0 5px #ffb450cc}.fx-ball--0{animation:.8s linear 1.1s 2 both ball-ab}.fx-ball--1{animation:.8s linear 1.45s 2 both ball-ba}.fx-ball--2{animation:.8s linear 1.8s 2 both ball-ab}.fx-ball--3{animation:.8s linear 2.15s 2 both ball-ba}@keyframes ball-ab{0%{opacity:1;transform:translate(-48px)}50%{transform:translateY(-28px)}95%{opacity:1}to{opacity:0;transform:translate(48px,6px)}}@keyframes ball-ba{0%{opacity:1;transform:translate(48px)}50%{transform:translateY(-28px)}95%{opacity:1}to{opacity:0;transform:translate(-48px,6px)}}.fx-splash{transform-origin:bottom;opacity:0;background:linear-gradient(#e1f2ff00,#e1f2fff2);border-radius:3px 3px 1px 1px;width:7px;height:26px;margin:-26px 0 0 -3.5px;top:72px}.fx-splash--0,.fx-splash--2{left:166px}.fx-splash--1,.fx-splash--3{left:74px}.fx-splash--0{animation:.6s ease-out 1.9s 2 both splash}.fx-splash--1{animation:.6s ease-out 2.25s 2 both splash}.fx-splash--2{animation:.6s ease-out 2.6s 2 both splash}.fx-splash--3{animation:.6s ease-out 2.95s 2 both splash}@keyframes splash{0%{opacity:0;transform:scaleY(.2)}30%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.15)}}.scene-label{text-overflow:ellipsis;white-space:nowrap;color:#fff;opacity:0;background:#060e18d1;border-radius:999px;max-width:108px;padding:2px 6px;font-size:10px;font-weight:600;line-height:1.4;animation:.4s ease-out .4s forwards label-in;position:absolute;top:100px;overflow:hidden}.scene-label--a{border-left:3px solid #ff6f58;right:calc(50% + 6px)}.scene-label--b{border-left:3px solid #6eaaf5;left:calc(50% + 6px)}@keyframes label-in{to{opacity:1}}.scene-result{text-overflow:ellipsis;white-space:nowrap;color:#1a1206;opacity:0;background:linear-gradient(#f3d98e,#e0b752);border-radius:999px;max-width:220px;padding:4px 10px;font-size:11.5px;font-weight:700;animation:.5s ease-out 3.6s forwards result-in;position:absolute;top:14px;left:50%;overflow:hidden;transform:translate(-50%,6px);box-shadow:0 3px 12px #00000080}@keyframes result-in{to{opacity:1;transform:translate(-50%)}}.scene-sink-clip{height:74px;position:absolute;top:4px;left:50px;right:50px;overflow:hidden}.scene-vessel{color:#e7edf2;filter:drop-shadow(0 1px 2px #000000b3);transform-origin:70% 90%;animation:3.2s ease-in-out forwards vessel-sink;display:block;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.scene-vessel svg{display:block}@keyframes vessel-sink{0%{transform:translate(-50%)translateY(0)rotate(0)}15%{transform:translate(-50%)translateY(1px)rotate(-3deg)}30%{transform:translate(-50%)translateY(0)rotate(3deg)}45%{transform:translate(-50%)translateY(4px)rotate(10deg)}to{transform:translate(-50%)translateY(48px)rotate(24deg)}}.fx-funnel{opacity:0;background:radial-gradient(circle,#5a5652e6 0%,#5a565200 70%);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;animation:.8s ease-out .1s 3 both funnel;top:2px;left:50%}@keyframes funnel{0%{opacity:.95;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(-10px,-16px)scale(1.8)}}.scene-waterline{background:linear-gradient(90deg,#96d2f000,#aadcf5f2,#96d2f000);border-radius:2px;height:3px;top:77px;left:40px;right:40px}.scene--sinking .fx-ripple{width:44px;height:14px;margin:-7px 0 0 -22px;animation:1.3s ease-out 1.5s 2 both fx-ripple;top:78px;left:50%}.scene--sinking .fx-ripple--late{animation-delay:1.9s}.scene--sinking .fx-ripple--last{animation-delay:2.3s}.scene--sinking .fx-bubble{animation:1.4s ease-in both fx-bubble;top:76px;left:50%}.scene--sinking .fx-bubble--0{margin-left:-12px;animation-delay:1.9s}.scene--sinking .fx-bubble--1{margin-left:4px;animation-delay:2.1s}.scene--sinking .fx-bubble--2{margin-left:-3px;animation-delay:2.3s}.scene--sinking .fx-bubble--3{margin-left:11px;animation-delay:2.5s}.scene--sinking .fx-bubble--4{margin-left:-8px;animation-delay:2.7s}.scene--sinking .fx-bubble--5{margin-left:7px;animation-delay:2.9s}.scene-craft{color:#eef3f6;width:0;height:0;animation:1.25s cubic-bezier(.5,0,.9,.6) forwards craft-dive;position:absolute;top:70px;left:50%}.scene-craft svg,.scene-craft .scene-glyph{filter:drop-shadow(0 1px 2px #000000b3);display:block;position:absolute;top:-11px;left:-23px}.scene-trail{transform-origin:100%;background:linear-gradient(90deg,#96928c00,#bebab4e6);border-radius:2px;width:80px;height:3px;top:0;right:18px}@keyframes craft-dive{0%{opacity:0;transform:translate(-96px,-66px)rotate(26deg)}12%{opacity:1}92%{opacity:1;transform:translate(-4px,-2px)rotate(36deg)}to{opacity:0;transform:translate(0)rotate(38deg)scale(.8)}}.fx-ground-fire{transform-origin:50% 100%;opacity:0;background:radial-gradient(at 50% 70%,#ffe08a 0%,#ff8a2a 40%,#dc3c1400 72%);border-radius:50%;width:54px;height:18px;margin:-9px 0 0 -27px;animation:.5s ease-in-out 1.2s infinite alternate both ground-fire;top:74px;left:50%}@keyframes ground-fire{0%{opacity:.7;transform:scale(.9,.8)}to{opacity:1;transform:scale(1.08,1.3)}}.scene--crash .fx-burst{top:70px}.scene--crash .fx-burst--1{animation-delay:1.15s}.scene--crash .fx-burst--2{margin-top:-6px;margin-left:12px;animation-delay:1.4s}.scene--crash .fx-burst--3{margin-top:-2px;margin-left:-12px;animation-delay:1.7s}.scene--crash .fx-debris{--debris-delay:1.18s;top:70px}.scene--crash .fx-smoke{top:64px}.scene--crash .fx-smoke--a{margin-left:-12px;animation-delay:1.3s}.scene--crash .fx-smoke--b{margin-left:8px;animation-delay:1.65s}.scene--crash .fx-smoke--c{animation-delay:2s}.scene--crash .fx-smoke--d{margin-left:-4px;animation-delay:2.35s}.scene-rails{background:repeating-linear-gradient(90deg,#ebe6dcd9 0 2px,#ebe6dc00 2px 9px),linear-gradient(#dcdcdcbf,#dcdcdcbf) 0 0/100% 1px no-repeat,linear-gradient(#dcdcdcbf,#dcdcdcbf) 0 100%/100% 1px no-repeat;height:4px;top:82px;left:20px;right:50px}.scene-train{color:#e8edf1;filter:drop-shadow(0 1px 2px #000000b3);transform-origin:80% 100%;animation:1.9s forwards train-run;display:block;position:absolute;top:58px;left:88px}.scene-train svg{display:block}@keyframes train-run{0%{opacity:0;animation-timing-function:cubic-bezier(.2,.6,.4,1);transform:translate(-110px)}8%{opacity:1}50%{transform:translate(0)}56%{transform:translate(3px)rotate(-1deg)}62%{transform:translate(-2px)rotate(1deg)}68%{transform:translate(2px)rotate(-2deg)}to{opacity:1;transform:translate(6px)translateY(3px)rotate(-14deg)}}.fx-spark{opacity:0;background:#fff1a8;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;animation:.6s ease-out 2 both spark;top:82px;left:140px;box-shadow:0 0 5px #ffb547}.fx-spark--0{--dx:16px;--dy:-18px;animation-delay:.9s}.fx-spark--1{--dx:24px;--dy:-6px;animation-delay:.98s}.fx-spark--2{--dx:8px;--dy:-26px;margin-left:-20px;animation-delay:1.06s}.fx-spark--3{--dx:-14px;--dy:-16px;margin-left:-34px;animation-delay:1.14s}.fx-spark--4{--dx:20px;--dy:-22px;margin-left:10px;animation-delay:1.22s}.fx-spark--5{--dx:-8px;--dy:-24px;margin-left:-10px;animation-delay:1.3s}@keyframes spark{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--dx), var(--dy))}}.scene--derail .fx-burst{animation-delay:1.25s;top:70px;left:160px}.scene--derail .fx-smoke{top:64px}.scene--derail .fx-smoke--a{margin-left:20px;animation-delay:1.2s}.scene--derail .fx-smoke--b{margin-left:34px;animation-delay:1.5s}.scene--derail .fx-smoke--c{margin-left:8px;animation-delay:1.8s}.scene-cone{clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);opacity:.95;background:linear-gradient(#6a4a36,#3b2a20);width:80px;height:38px;margin-left:-40px;top:36px;left:50%}.scene--eruption .fx-glow{width:64px;height:64px;margin:-32px 0 0 -32px;animation:.9s ease-in-out infinite fx-glow;top:38px;left:50%}.fx-lava{opacity:0;background:#ff8a2a;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;animation:1.3s ease-out 2 both lava;top:38px;left:50%;box-shadow:0 0 6px #ff5a1a}.fx-lava--0{--dx:-24px;--dy:-36px;animation-delay:.2s}.fx-lava--1{--dx:20px;--dy:-42px;animation-delay:.38s}.fx-lava--2{--dx:4px;--dy:-50px;animation-delay:.56s}.fx-lava--3{--dx:-34px;--dy:-24px;animation-delay:.74s}.fx-lava--4{--dx:32px;--dy:-28px;animation-delay:.92s}.fx-lava--5{--dx:-10px;--dy:-46px;animation-delay:1.1s}.fx-lava--6{--dx:14px;--dy:-34px;animation-delay:1.28s}@keyframes lava{0%{opacity:1;transform:translate(0)}50%{transform:translate(calc(var(--dx) * .55), var(--dy))}to{opacity:0;transform:translate(var(--dx), 12px)}}.scene--eruption .fx-smoke{top:26px}.scene--eruption .fx-smoke--a{animation-delay:.1s}.scene--eruption .fx-smoke--b{margin-left:-10px;animation-delay:.6s}.scene--eruption .fx-smoke--c{margin-left:10px;animation-delay:1.1s}.scene--eruption .fx-smoke--d{margin-left:-2px;animation-delay:1.6s}.scene--blast .fx-burst--1{animation-delay:.1s}.scene--blast .fx-burst--2{margin-top:-8px;margin-left:14px;animation-delay:.4s}.scene--blast .fx-burst--3{margin-top:4px;margin-left:-14px;animation-delay:.7s}.scene--blast .fx-debris{--debris-delay:.12s}.fx-shock{opacity:0;border:2px solid #ffecc8cc;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;animation:1.1s ease-out .15s forwards burst-ring;top:66px;left:50%}.fx-shock--late{animation-delay:.55s}.scene--blast .fx-smoke--a{margin-left:-14px;animation-delay:.4s}.scene--blast .fx-smoke--b{margin-left:10px;animation-delay:.7s}.scene--blast .fx-smoke--c{animation-delay:1s}.scene--blast .fx-smoke--d{margin-left:-4px;animation-delay:1.3s}.scene--airraid{--scene-end:5.9s}.scene--airraid .scene-stage{animation:.3s ease-in-out 1.15s 7 stage-shake}.scene-bomber{color:#d9dee3;filter:drop-shadow(0 2px 2px #000000b3);opacity:0;animation:2.6s linear both bomber-fly;display:block;position:absolute;left:0}.scene-bomber svg{display:block}@keyframes bomber-fly{0%{opacity:0;transform:translate(-70px,2px)}8%{opacity:1}50%{transform:translate(115px,-1px)}92%{opacity:1}to{opacity:0;transform:translate(300px,2px)}}.fx-prop{transform-origin:44.6px 10px;animation:.12s linear infinite prop-spin}@keyframes prop-spin{50%{transform:scaleY(.25)}}.fx-bomb{opacity:0;background:#1c1c1c;border-radius:1.5px 1.5px 2px 2px;width:3px;height:7px;margin-left:-1.5px;animation:.55s cubic-bezier(.45,0,1,1) both bomb-fall;box-shadow:0 0 0 .6px #ffffff59}@keyframes bomb-fall{0%{opacity:1;transform:translate(0)rotate(-20deg)}95%{opacity:1}to{opacity:0;transform:translate(10px, var(--drop,50px)) rotate(10deg)}}.scene--airraid .fx-burst{width:0;height:0}.scene--airraid .fx-burst-core{border-radius:50% 50% 40% 40%;width:34px;height:34px;margin:-30px 0 0 -17px}.fx-ground-fire--raid{width:26px;height:12px;margin:-10px 0 0 -13px;animation-duration:.45s}.scene .fx-smoke--raid{background:radial-gradient(circle,#2e2a26f2 0%,#28242099 48%,#1e1c1a00 72%);width:26px;height:26px;margin:-13px 0 0 -13px;animation:3.4s ease-out forwards raid-smoke}@keyframes raid-smoke{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:1}to{opacity:0;transform:translate(8px,-58px)scale(2.8)}}.fx-flak{opacity:0;background:radial-gradient(circle,#ffdc8cf2 0%,#3c3834f2 35%,#32302c80 60%,#28262400 75%);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;animation:1.4s ease-out both flak-burst}@keyframes flak-burst{0%{opacity:0;transform:scale(.2)}10%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.2)translateY(-3px)}}.fx-splash--raid{animation:.7s ease-out both splash;top:90px}.scene-sea--raid{height:26px;top:74px;left:6px;right:6px}.scene-moored{color:#b9c4cc;filter:drop-shadow(0 1px 1.5px #000c);animation:1.6s ease-in-out infinite alternate unit-bob;display:block;position:absolute;top:68px}.scene-moored svg{display:block}.scene-ground--raid{height:14px;top:84px}.scene-city i{background:linear-gradient(#4a535c,#2b3238);border-radius:1px 1px 0 0;width:12px;position:absolute;bottom:52px;box-shadow:inset 0 -2px #0000004d}.scene--airraid .scene-label{top:104px}.scene--airraid .scene-result{animation-delay:4.2s}@media (width<=640px){.scene{--scene-scale:1.2}}.scene-replay{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;display:flex}.scene-replay-note{color:var(--text-dim);font-size:11.5px}@media (prefers-reduced-motion:reduce){.pin-fx,.pin-mag,.scene{display:none!important}}.anniversary-notice-icon{color:#1a1206;background:linear-gradient(#f3d98e,#e0b752);box-shadow:0 0 12px #f3d27a8c}.anniversary-notice-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#f3d27a;margin:0;font-size:.7rem;font-weight:650}.anniversary-notice .nearby-notice-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.anniversary-notice .nearby-notice-body{min-width:0}:root[data-theme=light] .anniversary-notice-eyebrow{color:#8a5d00}.map-pin-wrap .map-cluster{z-index:1;position:relative}.pin-today--cluster{width:56px;height:56px;margin:-28px 0 0 -28px}.map-pin-wrap--today .map-cluster{box-shadow:0 0 0 2px #f3d27a,0 0 16px #f3d27a99}.born-ripple{pointer-events:none;z-index:3;width:0;height:0}.born-ripple i{border:2.5px solid var(--pin-color,#e8c97a);width:60px;height:60px;box-shadow:0 0 14px var(--pin-color,#e8c97a), inset 0 0 10px var(--pin-color,#e8c97a);opacity:0;border-radius:50%;margin:-30px 0 0 -30px;animation:1.3s ease-out both born-ring;position:absolute;top:0;left:0}.born-ripple i+i{background:radial-gradient(circle, #fff 0%, var(--pin-color,#e8c97a) 45%, transparent 72%);width:18px;height:18px;box-shadow:none;border:0;margin:-9px 0 0 -9px;animation:.9s ease-out both born-flash}@keyframes born-flash{0%{opacity:1;transform:scale(.4)}40%{opacity:1;transform:scale(1.6)}to{opacity:0;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.born-ripple{display:none}}.map-pin-wrap--steady .map-cluster{animation:none}.layers-note{color:var(--text-dim);margin:-2px 0 0;font-size:.72rem;line-height:1.35}.map-moving .pin-fx i,.map-moving .pin-mag i,.map-moving .pin-today,.map-moving .pin-today i{animation-play-state:paused}.map-particles{pointer-events:none;position:absolute;top:0;left:0}.particles-on .pin-fx .fx-smoke,.particles-on .pin-fx .fx-flame,.particles-on .pin-fx .fx-ember,.particles-on .pin-fx--dust .fx-dust{display:none}.map-pin{background:radial-gradient(circle at 34% 26%, #ffffff9e 0, #fff0 42%), radial-gradient(circle at 50% 50%, var(--pin-color) 52%, color-mix(in srgb, var(--pin-color) 62%, #000) 100%);box-shadow:inset 0 -2px 3px #00000052,inset 0 1px 1px #ffffff80,0 0 0 1.5px #ffffffe0,0 0 0 3px #050c1659,0 5px 10px #00000080}.map-pin-glyph svg{filter:drop-shadow(0 1px #fff6)}.map-pin--active{box-shadow:inset 0 -2px 3px #00000052, inset 0 1px 1px #ffffff80, 0 0 0 2px #fff, 0 0 0 6px color-mix(in srgb, var(--pin-color) 38%, transparent), 0 0 24px color-mix(in srgb, var(--pin-color) 65%, transparent)}.pin-ground{pointer-events:none;z-index:0;background:radial-gradient(#0000008c 0,#0000 70%);border-radius:50%;width:26px;height:9px;margin:11px 0 0 -13px;position:absolute;top:50%;left:50%}.map-pin-wrap .map-pin:hover{transform:translateY(-3px)scale(1.16)}.map-pin-wrap .map-pin--conflict:hover{transform:translateY(-3px)rotate(45deg)scale(1.16)}.pin-name{text-overflow:ellipsis;white-space:nowrap;color:#f3f6fa;pointer-events:none;z-index:1;background:#070f1bb8;border-radius:999px;max-width:150px;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.5;display:none;position:absolute;top:100%;left:50%;overflow:hidden;transform:translate(-50%,7px)}.pins-near .pin-name{display:block}.pins-near .map-pin-wrap .map-pin{width:32px;height:32px}.pins-near .map-pin-wrap .map-pin--conflict{width:28px;height:28px}.pins-near .map-pin-glyph svg{width:17px;height:17px}.pins-near .pin-ground{width:32px;margin:14px 0 0 -16px}.pins-far .map-pin-wrap .map-pin{width:20px;height:20px}.pins-far .map-pin-wrap .map-pin--conflict{width:17px;height:17px}.pins-far .map-pin-glyph svg{width:11px;height:11px}.pins-far .pin-ground{display:none}.pin-card{z-index:1200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:260px;box-shadow:0 0 0 1px color-mix(in srgb, var(--pin-color,#fff) 35%, transparent), 0 14px 34px #0000008c;color:#eef2f7;pointer-events:none;opacity:0;transition:opacity .16s var(--ease), transform .16s var(--ease);background:#09121ff0;border-radius:14px;position:fixed;overflow:hidden;transform:translateY(6px)scale(.97)}.pin-card--below{transform:translateY(-6px)scale(.97)}.pin-card--in{opacity:1;transform:none}.pin-card-img{object-fit:cover;background:#13233a;width:100%;height:120px;display:block}.pin-card-body{gap:3px;padding:10px 12px 11px;display:grid}.pin-card-type{color:var(--pin-color);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;font-size:10.5px;font-weight:700;display:flex}.pin-card-name{font-size:14px;line-height:1.25}.pin-card-meta{color:#a9b5c4;font-size:12px}@media (hover:none){.pin-card{display:none}}.maplibregl-marker[style*="opacity: 0"]{pointer-events:none}.pins-near .pin-name--hidden{display:none}.map-quake{animation:.11s linear infinite map-quake}@keyframes map-quake{0%{transform:translate(0)}25%{transform:translate(-3px,2px)}50%{transform:translate(2px,-2px)}75%{transform:translate(-2px,-1px)}to{transform:translate(3px,1px)}}.scene--quake{--scene-end:3.8s}.scene--tsunami{--scene-end:4s}.scene-ground--quake{background:radial-gradient(#5c462cb3 0%,#5c462c00 70%);height:22px;top:84px}.scene .scene-building{transform-origin:50% 100%;background:linear-gradient(#6d7279,#3d4248);border-radius:1px 1px 0 0;width:16px;animation:.16s ease-in-out 10 alternate both building-shake;bottom:48px;box-shadow:inset 0 -2px #0000004d,inset 3px 0 #ffffff14}.scene .scene-building--falls{animation:.16s ease-in-out 6 alternate building-shake,.9s cubic-bezier(.5,0,.9,.6) 1.1s forwards building-fall}@keyframes building-shake{0%{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}@keyframes building-fall{0%{transform:rotate(2deg)scaleY(1)}to{opacity:.6;transform:rotate(14deg)scaleY(.25)}}.scene-cracks{position:absolute;inset:0;overflow:visible}.scene-crack{fill:none;stroke:#1a120a;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60px;filter:drop-shadow(0 0 2px #ffaa5a73);animation:.6s ease-out both crack-open}@keyframes crack-open{to{stroke-dashoffset:0}}.scene .fx-seismic{opacity:0;border:2px solid #ffc88cd9;border-radius:50%;width:40px;height:14px;margin:-7px 0 0 -20px;animation:1.5s ease-out both seismic;top:96px;left:50%}@keyframes seismic{0%{opacity:.95;transform:scale(.4)}to{opacity:0;transform:scale(5)}}.scene-sea--tsunami{background:radial-gradient(#4696c899 0%,#4696c800 72%);height:30px;top:74px;left:0;right:50px}.scene .scene-shore{background:radial-gradient(#aa966eb3 0%,#aa966e00 72%);border-radius:50%;height:14px;top:82px;left:166px;right:6px}.scene-city--shore i{background:linear-gradient(#9a8f80,#5d554b);width:10px;animation:.5s ease-in 1.35s forwards house-hit;bottom:54px}@keyframes house-hit{to{opacity:.25;transform:translate(6px)rotate(18deg)}}.scene-wave{color:#3080b6f2;filter:drop-shadow(0 2px 3px #00000080);transform-origin:100% 100%;animation:1.5s cubic-bezier(.4,0,.7,1) .1s both wave-run,.7s ease-in 1.6s forwards wave-break;display:block;position:absolute;top:40px;left:-20px}.scene-wave svg{display:block}@keyframes wave-run{0%{opacity:.4;transform:translate(0)scale(.35,.25)}60%{opacity:1}to{opacity:1;transform:translate(110px)scale(1)}}@keyframes wave-break{0%{transform:translate(110px)scale(1)}to{opacity:0;transform:translate(126px)scale(1.15,.35)}}.scene .fx-foam{opacity:0;background:radial-gradient(#f0fafff2 0%,#f0faff00 70%);border-radius:50%;width:50px;height:18px;margin-left:-10px;animation:1.4s ease-out 1.35s both foam;top:76px;left:176px}.scene .fx-foam--b{animation-delay:1.55s;top:70px;left:196px}@keyframes foam{0%{opacity:0;transform:scale(.4)}25%{opacity:1}to{opacity:0;transform:scale(1.8,1.2)}}.scene .fx-ripple--tsunami{border-color:#aadcf5b3;width:30px;height:10px;margin:-5px 0 0 -15px;animation:1.6s ease-out both fx-ripple;top:88px;left:40px}@media (prefers-reduced-motion:reduce){.map-quake{animation:none}}.tours{padding:0 .35rem 1rem}.tours-title{align-items:center;gap:.4rem;margin:0 0 .2rem;display:flex}.tours-subtitle{color:var(--text-dim);margin:0 0 .7rem;font-size:.85rem}.tours-row{scroll-snap-type:x mandatory;grid-auto-columns:minmax(190px,1fr);grid-auto-flow:column;gap:.65rem;padding-bottom:.3rem;display:grid;overflow-x:auto}.tour-card{aspect-ratio:16/10;border:1px solid var(--glass-border);text-align:left;scroll-snap-align:start;background:linear-gradient(135deg,#15304a,#0b1625);border-radius:14px;padding:0;position:relative;overflow:hidden}.tour-card img{object-fit:cover;filter:saturate(.9);width:100%;height:100%;transition:transform .5s var(--ease);display:block}.tour-card:hover img{transform:scale(1.05)}.tour-card-overlay{color:#fff;background:linear-gradient(#040a121a,#040a12e6);flex-direction:column;justify-content:flex-end;gap:.2rem;padding:.75rem .8rem;display:flex;position:absolute;inset:0}.tour-card-play{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:.6rem;right:.6rem;box-shadow:0 4px 12px #0006}.tour-card-title{font-size:.95rem;font-weight:700;line-height:1.2}.tour-card-meta{color:#ffffffc7;align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.tour-bar{z-index:1100;left:50%;top:calc(var(--gutter) + var(--topbar-h) + 14px + var(--safe-top));max-width:calc(100vw - 2 * var(--gutter));border:1px solid var(--glass-border);background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-md);color:var(--text-light);animation:pop-in .26s var(--ease);border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .5rem .4rem .45rem;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}.tour-bar-icon{background:var(--bg-active);width:32px;height:32px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.tour-bar-body{flex-direction:column;min-width:0;margin-right:.3rem;display:flex}.tour-bar-title{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:650;overflow:hidden}.tour-bar-step{color:var(--text-dim);font-size:.72rem}.tour-bar-progress{background:var(--accent);transform-origin:0;width:100%;height:2px;animation:linear forwards tour-progress;position:absolute;bottom:0;left:0}@keyframes tour-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=768px){.tour-bar{gap:.1rem;left:62px;right:62px;transform:none}.tour-bar-body{flex:1}}.tour-voice-panel{z-index:1100;left:50%;top:calc(var(--gutter) + var(--topbar-h) + 72px + var(--safe-top));width:min(320px, calc(100vw - 2 * var(--gutter)));border:1px solid var(--glass-border);background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-md);color:var(--text-light);animation:pop-in .2s var(--ease);border-radius:16px;flex-direction:column;gap:.7rem;padding:.8rem .9rem;display:flex;position:fixed;transform:translate(-50%)}.tour-voice-row{color:var(--text-dim);flex-direction:column;gap:.35rem;font-size:.75rem;display:flex}.tour-voice-row select{border:1px solid var(--glass-border);background:var(--bg-active);width:100%;min-height:36px;color:var(--text-light);font:inherit;border-radius:10px;padding:0 .6rem;font-size:.85rem}.tour-voice-rates{gap:.35rem;display:flex}.tour-voice-rates button{border:1px solid var(--glass-border);min-height:34px;color:var(--text-light);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:1;font-size:.82rem;font-weight:600}.tour-voice-rates button.is-active{border-color:var(--accent);background:var(--bg-active);color:var(--accent)}@media (width<=768px){.tour-voice-panel{width:auto;left:62px;right:62px;transform:none}.tour-bar-icon{display:none}.tour-bar .icon-btn{width:28px;min-width:28px;height:32px}}.map-btn--surprise:hover svg{transition:transform .2s var(--ease);transform:rotate(-18deg)}.icon-btn--busy{opacity:.55;pointer-events:none}.anniversary-notice-thumb{object-fit:cover;width:40px;height:40px;box-shadow:0 0 0 2px var(--accent-warm);border-radius:10px;flex:none}.passport{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-panel-raised);margin-bottom:1.1rem;padding:.9rem 1rem .8rem}.passport-title{align-items:center;gap:.45rem;margin:0 0 .3rem;font-size:1rem;display:flex}.passport-title svg{color:var(--accent-warm)}.passport-summary{color:var(--text-dim);margin:0 0 .5rem;font-size:.85rem}.passport-bar,.badge-progress{background:var(--border);border-radius:999px;height:6px;display:block;overflow:hidden}.passport-bar i,.badge-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-warm));height:100%;display:block}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.55rem;margin:.85rem 0 .5rem;padding:0;list-style:none;display:grid}.badge{border:1px solid var(--border);color:var(--text-dim);border-radius:12px;justify-items:start;gap:.2rem;padding:.6rem .65rem;font-size:.78rem;display:grid}.badge strong{color:var(--text-light);font-size:.84rem}.badge-icon{background:var(--border);width:34px;height:34px;color:var(--text-faint);border-radius:50%;place-items:center;display:grid}.badge--done{border-color:color-mix(in srgb, var(--accent-warm) 45%, transparent);background:color-mix(in srgb, var(--accent-warm) 8%, transparent)}.badge--done .badge-icon{background:radial-gradient(circle at 35% 30%, #fff3c9, var(--accent-warm) 55%, #a9842f);color:#3b2a05;box-shadow:0 2px 8px #e8c97a66}.badge-goal{line-height:1.3}.badge-progress{width:100%;height:4px;margin-top:.15rem}.passport-note{color:var(--text-faint);margin:0;font-size:.72rem}.badge-toast{z-index:1300;left:50%;bottom:calc(96px + var(--safe-bottom));border:1px solid color-mix(in srgb, var(--accent-warm) 45%, transparent);background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-lg);color:var(--text-light);animation:badge-in .52s var(--ease), badge-out .4s ease-in 3.8s forwards;border-radius:999px;align-items:center;gap:.7rem;padding:.6rem 1rem .6rem .6rem;display:flex;position:fixed;transform:translate(-50%)}.badge-toast-icon{background:radial-gradient(circle at 35% 30%, #fff3c9, var(--accent-warm) 55%, #a9842f);color:#3b2a05;width:40px;height:40px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-warm) 22%, transparent);border-radius:50%;place-items:center;display:grid}.badge-toast-body{flex-direction:column;display:flex}.badge-toast-eyebrow{color:var(--accent-warm);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}@keyframes badge-in{0%{opacity:0;transform:translate(-50%,16px)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes badge-out{to{opacity:0;transform:translate(-50%,10px)}}.game-daily{border:1px solid color-mix(in srgb, var(--accent-warm) 40%, transparent);background:color-mix(in srgb, var(--accent-warm) 7%, transparent);border-radius:14px;justify-items:center;gap:.4rem;margin:.4rem 0 .9rem;padding:.85rem 1rem;font-size:.88rem;display:grid}.game-daily strong{color:var(--accent-warm);align-items:center;gap:.35rem;display:inline-flex}.game-daily-score{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:650}.icon-btn--on{color:var(--accent)}.era-row{margin-bottom:.7rem}
