:root{--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg:clamp(1.125rem, 1rem + .75vw, 1.5rem);--text-xl:clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--text-2xl:clamp(2rem, 1.2rem + 2.5vw, 3.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--color-bg:#0b1014;--color-surface:#11161d;--color-surface-2:#151c24;--color-surface-offset:#1b242f;--color-text:#f4f5f7;--color-text-muted:#9da5b3;--color-text-faint:#677184;--color-primary:#23a6c4;--color-primary-hover:#1b8ba4;--color-primary-active:#137084;--color-border-subtle:#ffffff0f;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 8px 24px #00000080;--transition-interactive:.18s cubic-bezier(.16, 1, .3, 1);--content-default:1040px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.6}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}a,button,[role=button]{transition:color var(--transition-interactive), background var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive), transform var(--transition-interactive)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{max-width:var(--content-default);padding-inline:var(--space-4);margin-inline:auto}.page{min-height:100vh;color:var(--color-text);background:radial-gradient(circle at 0 0,#1a222f 0,#0b1014 60%)}.page-main{padding-bottom:var(--space-16)}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#0a0c10e6,#0a0c10b3,#0000);border-bottom:1px solid #ffffff0a;position:sticky;top:0}.header-inner{padding-block:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.header-left{align-items:center;gap:var(--space-3);display:flex}.logo-mark{border-radius:var(--radius-full);background:radial-gradient(circle at 30% 20%,#37c8e5,#116278);justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 0 0 1px #090f1acc,0 8px 24px #0009}.logo-dot{border-radius:var(--radius-full);background:#f5f7fa;width:12px;height:12px}.logo-text{flex-direction:column;display:flex}.logo-title{font-size:var(--text-base);letter-spacing:.03em;font-weight:600}.logo-subtitle{font-size:var(--text-xs);color:var(--color-text-muted)}.header-nav{align-items:center;gap:var(--space-4);font-size:var(--text-sm);display:flex}.nav-link{color:var(--color-text-muted)}.nav-link:hover{color:var(--color-text)}.header-actions{align-items:center;display:flex}.btn-primary,.btn-secondary{padding-inline:var(--space-4);padding-block:var(--space-2);border-radius:var(--radius-full);font-size:var(--text-sm);box-shadow:var(--shadow-sm);border:1px solid #0000;font-weight:500}.btn-primary{background:linear-gradient(135deg, var(--color-primary), #4bd1ee);color:#05070a}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-hover), #35bbd7);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{color:var(--color-text);background:#ffffff05;border-color:#ffffff1f}.btn-secondary:hover{background:#ffffff0a;border-color:#ffffff52}.hero{padding-block:var(--space-10)}.hero-inner{gap:var(--space-10);grid-template-columns:minmax(0,1.7fr) minmax(0,1.1fr);align-items:center;display:grid}.hero-kicker{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase}.hero-title{margin-top:var(--space-2);font-size:var(--text-2xl);letter-spacing:-.03em;line-height:1.1}.hero-subtitle{margin-top:var(--space-3);color:var(--color-text-muted);max-width:48rem}.hero-search{margin-top:var(--space-4);gap:var(--space-2);align-items:center;display:flex}.hero-search-input{min-width:0;padding-inline:var(--space-3);padding-block:var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);color:var(--color-text);font-size:var(--text-sm);background:#03070ee6;flex:1}.hero-search-input::placeholder{color:var(--color-text-faint)}.hero-meta{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.hero-meta-pill{padding-inline:var(--space-2);border-radius:var(--radius-full);background:#ffffff0a;padding-block:2px}.hero-panel{justify-content:flex-end;display:flex}.hero-panel-card{border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md);background:radial-gradient(circle at 0 0,#223145,#11161d);border:1px solid #ffffff0f}.hero-panel-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--color-text-faint)}.hero-panel-title{margin-top:var(--space-2);font-size:var(--text-lg);font-weight:600}.hero-panel-text{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.section{padding-block:var(--space-4)}.section-header{margin-bottom:var(--space-4)}.section-title{font-size:var(--text-xl)}.section-subtitle{margin-top:var(--space-2);color:var(--color-text-muted)}.map-layout{gap:var(--space-6);grid-template-columns:minmax(0,1.9fr) minmax(0,1.1fr);align-items:flex-start;display:grid}.geo-map-wrapper{width:100%;height:420px}.geo-map{border-radius:var(--radius-md);width:100%;height:100%}.layer-toggle-row{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.pill{font-size:var(--text-xs);padding-inline:var(--space-3);border-radius:var(--radius-full);color:var(--color-text-muted);background:#ffffff05;border:1px solid #ffffff0f;padding-block:6px}.pill-active{color:#05070a;background:radial-gradient(circle at 10% 0,#4bd1ee,#23a6c4);border-color:#0000}.area-card{border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);text-align:left;border:1px solid #ffffff14}.area-card--active{border-color:var(--color-primary);box-shadow:0 0 0 1px #23a6c480}.map-shell{border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-md);background:#080c14e6;border:1px solid #ffffff14}.map-shell-header{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3);align-items:center;display:flex}.map-shell-kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--color-text-faint)}.map-shell-title{font-size:var(--text-lg)}.map-shell-badges{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.map-shell-badge{font-size:var(--text-xs);padding-inline:var(--space-2);border-radius:var(--radius-full);color:var(--color-text-muted);background:#ffffff0a;padding-block:4px}.map-shell-body{border-radius:var(--radius-md);background:radial-gradient(circle at top,#24344c,#101521);border:1px solid #ffffff14;overflow:hidden}.map-shell-placeholder{padding:var(--space-5)}.map-shell-layer-label{font-size:var(--text-sm);margin-bottom:var(--space-2)}.map-shell-text{font-size:var(--text-sm);color:var(--color-text-muted);max-width:52rem}.map-shell-text+.map-shell-text{margin-top:var(--space-2)}.map-shell-footer{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.stats-row{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.stat-card{border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);border:1px solid #ffffff14}.stat-label{font-size:var(--text-xs);color:var(--color-text-faint)}.stat-value{margin-top:var(--space-1);font-size:var(--text-lg);font-weight:600}.stat-detail{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.area-list{border-radius:var(--radius-lg);padding:var(--space-4);background:#0a0e14e6;border:1px solid #ffffff0f}.area-list-header{margin-bottom:var(--space-3)}.area-list-title{font-size:var(--text-base);font-weight:600}.area-list-subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.area-list-grid{gap:var(--space-3);display:grid}.area-card{border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);border:1px solid #ffffff14}.area-card-header{margin-bottom:var(--space-2)}.area-card-name{font-size:var(--text-sm);font-weight:600}.area-card-code{font-size:var(--text-xs);color:var(--color-text-muted)}.area-card-tags{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.area-card-tag{font-size:var(--text-xs);padding-inline:var(--space-2);border-radius:var(--radius-full);background:#ffffff0a;padding-block:3px}.area-card-score{font-size:var(--text-xs);color:var(--color-text-muted)}.site-footer{padding-block:var(--space-8);background:radial-gradient(circle at top,#121923,#06080d);border-top:1px solid #ffffff14}.footer-inner{gap:var(--space-6);grid-template-columns:minmax(0,2fr) minmax(0,1.3fr);display:grid}.footer-title{font-size:var(--text-sm);font-weight:600}.footer-text{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.footer-link{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-primary);display:inline-block}.footer-link:hover{color:var(--color-primary-hover)}.footer-bottom{padding-block:var(--space-3);border-top:1px solid #ffffff0f}.footer-bottom-inner{justify-content:space-between;align-items:center;display:flex}.footer-bottom-text{font-size:var(--text-xs);color:var(--color-text-faint)}@media (max-width:960px){.hero-inner{grid-template-columns:minmax(0,1fr)}.hero-panel{justify-content:flex-start}.map-layout,.footer-inner{grid-template-columns:minmax(0,1fr)}.header-nav{display:none}}
