:root{color:#f1f5f9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#f1f5f9;--standard:#e2e8f0;--muted:#94a3b8;--quiet:#64748b;--line:#33415599;--surface:#1e293b;--accent:#14b8a6;--accent-light:#2dd4bf;--map-radius:#5eead4;--map-region:#fbbf24;background:#0f172a;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#0f172a;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--ink);background:#0f172a;margin:0}button,a{font:inherit}a:focus-visible{outline:1px solid var(--accent);outline-offset:3px}#root{min-height:100vh}.site-shell{grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,1600px);min-height:100svh;margin:0 auto;padding:0 clamp(24px,5vw,80px);display:grid}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;min-height:96px;display:flex}.brand-link{width:max-content;display:inline-flex}.brand-logo{width:112px;height:auto;display:block}.login-link{color:#ccfbf1;background:#134e4ab3;border:1px solid #14b8a673;border-radius:6px;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:12px;font-weight:600;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.login-link:hover{color:#f0fdfa;background:#0f766eb8;border-color:#2dd4bfa3}.login-link__icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:16px;height:16px}.hero{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;gap:clamp(48px,7vw,112px);padding:clamp(72px,12vh,152px) 0;display:grid}.hero__content{width:min(760px,100%);animation:.52s cubic-bezier(.16,1,.3,1) both content-arrive}.hero__tagline{color:var(--muted);flex-wrap:wrap;gap:.4em;margin:0 0 22px;font-size:clamp(13px,1.2vw,16px);font-weight:500;line-height:1.5;display:flex}.hero__dest,.hero__era{color:var(--accent-light);font-weight:600}.hero h1{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(56px,8.4vw,120px);font-weight:600;line-height:.96}.hero__support{max-width:650px;color:var(--muted);margin:clamp(30px,4vw,48px) 0 0;font-size:clamp(17px,1.45vw,20px);font-weight:400;line-height:1.65}.spatial-signal{width:100%;max-width:420px;color:var(--accent);justify-self:end}.spatial-signal__graphic{width:100%;height:auto;display:block;overflow:visible}.spatial-signal__grid,.spatial-signal__corners,.spatial-signal__territory,.spatial-signal__roads path,.spatial-signal__local-areas path,.spatial-signal__selected-halo,.spatial-signal__selected-boundary,.spatial-signal__radius-halo,.spatial-signal__radius-line,.spatial-signal__map-ticks{fill:none;vector-effect:non-scaling-stroke}.spatial-signal__grid{stroke:#3341556b;stroke-width:1px}.spatial-signal__corners{stroke:#64748ba8;stroke-width:1px}.spatial-signal__territory{fill:#1e293b47;stroke:#64748ba8;stroke-width:1px;vector-effect:non-scaling-stroke}.spatial-signal__roads path{stroke:#64748b40;stroke-linecap:round;stroke-width:1px}.spatial-signal__roads path:first-child{stroke:#94a3b857;stroke-width:1.25px}.spatial-signal__local-areas path{stroke:#7dd3fc57;stroke-linecap:round;stroke-linejoin:round;stroke-width:1px}.spatial-signal__selected-fill{fill:var(--map-region);opacity:0;animation:5s linear infinite region-fill-loop}.spatial-signal__selected-halo{stroke:var(--map-region);stroke-linejoin:round;stroke-width:7px;opacity:0;filter:blur(2px);animation:5s linear infinite region-halo-loop}.spatial-signal__selected-boundary{stroke:var(--map-region);stroke-linejoin:round;stroke-width:2px;stroke-dasharray:420;stroke-dashoffset:420px;animation:5s linear infinite region-boundary-loop}.spatial-signal__radius{transform-origin:246px 272px;opacity:0;animation:5s linear infinite radius-loop}.spatial-signal__radius-fill{fill:var(--accent-light);fill-opacity:.09}.spatial-signal__radius-halo{stroke:var(--map-radius);stroke-width:7px;stroke-opacity:.17;filter:blur(2px)}.spatial-signal__radius-line{stroke:var(--map-radius);stroke-dasharray:4 4;stroke-width:2px}.spatial-signal__map-point{fill:var(--accent-light);stroke:#fff;stroke-width:2px;transform-box:fill-box;transform-origin:50%;opacity:0;animation-duration:5s;animation-timing-function:linear;animation-iteration-count:infinite}.spatial-signal__map-point.is-one{animation-name:map-point-one-loop}.spatial-signal__map-point.is-two{animation-name:map-point-two-loop}.spatial-signal__map-point.is-three{animation-name:map-point-three-loop}.spatial-signal__map-point.is-four{animation-name:map-point-four-loop}.spatial-signal__map-point.is-five{animation-name:map-point-five-loop}.spatial-signal__cluster{transform-box:fill-box;transform-origin:50%;opacity:0;animation:5s linear infinite cluster-loop}.spatial-signal__cluster circle{fill:#0f766e;stroke:#fff;stroke-width:2px}.spatial-signal__cluster text{fill:#fff;dominant-baseline:central;text-anchor:middle;font-size:12px;font-weight:600}.spatial-signal__focus{transform-box:fill-box;transform-origin:50%;opacity:0;animation:5s linear infinite focus-loop}.spatial-signal__focus-halo{fill:var(--map-radius);opacity:.2}.spatial-signal__focus-ring{fill:#0f172a;stroke:var(--map-radius);stroke-width:2.5px}.spatial-signal__focus-centre{fill:var(--map-radius)}.spatial-signal__map-ticks{stroke:#fbbf24b8;stroke-linecap:round;stroke-width:1px}.site-footer{border-top:1px solid var(--line);align-items:center;min-height:72px;display:flex}.site-footer p{color:var(--quiet);margin:0;font-size:11px;line-height:1.5}@keyframes content-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes region-boundary-loop{0%{opacity:0;stroke-dashoffset:420px}2%{opacity:1;stroke-dashoffset:420px}24%,88%{opacity:1;stroke-dashoffset:0}96%,to{opacity:0;stroke-dashoffset:0}}@keyframes region-halo-loop{0%,10%{opacity:0}24%,88%{opacity:.16}96%,to{opacity:0}}@keyframes region-fill-loop{0%,12%{opacity:0}25%,88%{opacity:.1}96%,to{opacity:0}}@keyframes radius-loop{0%,20%{opacity:0;transform:scale(.72)}38%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}@keyframes map-point-one-loop{0%,30%{opacity:0;transform:scale(.5)}36%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}@keyframes map-point-two-loop{0%,34%{opacity:0;transform:scale(.5)}40%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}@keyframes map-point-three-loop{0%,38%{opacity:0;transform:scale(.5)}44%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}@keyframes map-point-four-loop{0%,42%{opacity:0;transform:scale(.5)}48%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}@keyframes map-point-five-loop{0%,46%{opacity:0;transform:scale(.5)}52%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}@keyframes cluster-loop{0%,50%{opacity:0;transform:scale(.5)}58%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}@keyframes focus-loop{0%,24%{opacity:0;transform:scale(.6)}34%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}@media (width<=980px){.hero{grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:40px}}@media (width<=640px){.site-shell{padding-inline:20px}.site-header{gap:16px;min-height:78px}.brand-logo{width:104px}.login-link{min-height:36px;padding-inline:10px}.hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;padding:clamp(76px,13vh,110px) 0 48px}.hero__tagline{margin-bottom:18px}.hero h1{font-size:clamp(52px,17vw,72px);line-height:.98}.hero__support{margin-top:28px;font-size:16px;line-height:1.6}.spatial-signal{justify-self:end;width:220px;margin-top:40px}.site-footer{min-height:64px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spatial-signal__selected-boundary{opacity:1;stroke-dashoffset:0;animation:none!important}.spatial-signal__selected-halo{opacity:.16;animation:none!important}.spatial-signal__selected-fill{opacity:.1;animation:none!important}.spatial-signal__radius,.spatial-signal__map-point,.spatial-signal__cluster,.spatial-signal__focus{opacity:1;transform:none;animation:none!important}}
