:root{--bg:#080b0f;--bg-2:#0d1218;--panel:rgba(12,17,23,.86);--panel-solid:#0f151c;--line:rgba(148,176,196,.14);--line-strong:rgba(148,176,196,.28);--text:#e8eef3;--muted:#8d9aa5;--faint:#5d6a75;--accent:#4ee6c1;--accent-deep:#1f9f86;--accent-glow:rgba(78,230,193,.22);--amber:#ffb547;--violet:#b19cff;--danger:#ff6b6b;--radius:14px;--radius-sm:9px;--shadow:0 24px 60px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4);--font-display:"Space Grotesk",system-ui,sans-serif;--font-ui:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit;color:inherit}::selection{background:var(--accent-glow)}.contours{background-image:url(/contours.svg);background-size:900px;background-repeat:repeat}.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}.site-head{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,rgba(8,11,15,.92),rgba(8,11,15,.7));border-bottom:1px solid var(--line)}.site-head .wrap{display:flex;align-items:center;gap:28px;height:64px}.site-head nav{display:flex;gap:22px;margin-left:auto}.site-head nav a{color:var(--muted);font-weight:500;font-size:14px}.site-head nav a:hover{color:var(--text);text-decoration:none}.site-head nav{align-items:center}.nav-cta{height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(78,230,193,.45);background:rgba(78,230,193,.08);color:var(--accent);font:600 13.5px/1 var(--font-ui);cursor:pointer;white-space:nowrap}.nav-cta:hover{background:rgba(78,230,193,.16);border-color:var(--accent)}.foot-link .short,.nav-cta .short,.sheet-add .short{display:none}@media (max-width:480px){.site-head .wrap{gap:12px}.site-head nav{gap:14px}.site-head .brand-word{height:16px}.nav-cta{padding:0 11px}.nav-cta .long{display:none}.nav-cta .short{display:inline}}@media (max-width:340px){.site-head nav a[href="/about"]{display:none}}.foot-nav{display:flex;flex-wrap:wrap;gap:8px 18px}.foot-link{padding:0;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer}.foot-link:hover{color:var(--text);text-decoration:underline}.sheet-add{margin-top:14px;height:40px;font-size:14px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{display:block;flex:none}.brand-word{display:block;width:auto}.site-foot{border-top:1px solid var(--line);margin-top:96px;padding:36px 0 48px;color:var(--faint);font-size:13px}.site-foot .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between}.site-foot a{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#04120e;box-shadow:0 8px 30px var(--accent-glow)}.btn-primary:hover{box-shadow:0 12px 40px rgba(78,230,193,.35)}.btn-ghost{background:hsla(0,0%,100%,.04);color:var(--text);border-color:var(--line-strong)}.btn-ghost:hover{background:hsla(0,0%,100%,.08)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font:600 11px/1.6 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.chip-official{color:var(--accent);border-color:rgba(78,230,193,.4);background:rgba(78,230,193,.08)}.chip-community{color:var(--violet);border-color:rgba(177,156,255,.4);background:rgba(177,156,255,.08)}.mono{font-family:var(--font-mono)}.sheet-hero{position:relative;z-index:10;isolation:isolate;min-height:min(92vh,920px);display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 84px;border-bottom:1px solid var(--line)}.hero-live{z-index:-2;background:#bfe6ec;overflow:hidden}.hero-live,.hero-map{position:absolute;inset:0}.hero-map{z-index:0}.hero-live .leaflet-container,.hero-live.leaflet-container{background:#bfe6ec;cursor:default}.hero-split{z-index:5;width:44px;margin-left:-22px;display:flex;align-items:flex-start;justify-content:center;padding-top:30vh;cursor:ew-resize;touch-action:none;outline:none}.hero-split,.hero-split:before{position:absolute;top:0;bottom:0}.hero-split:before{content:"";left:50%;width:2px;margin-left:-1px;background:hsla(0,0%,100%,.85);box-shadow:0 0 0 1px rgba(8,11,15,.25),0 0 14px rgba(8,11,15,.45)}.hero-split-grip{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(8,11,15,.82);color:var(--text);border:2px solid hsla(0,0%,100%,.85);box-shadow:0 6px 20px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .15s ease,border-color .15s ease}.hero-split:focus-visible .hero-split-grip,.hero-split:hover .hero-split-grip,.hero-split[data-dragging=true] .hero-split-grip{transform:scale(1.08);border-color:var(--accent);color:var(--accent)}.hero-split-tag{position:absolute;top:calc(30vh + 11px);padding:3px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;font:600 10px/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text);background:rgba(8,11,15,.72);border:1px solid var(--line-strong)}.hero-split-tag.left{right:58px}.hero-split-tag.right{left:58px}.sheet-hero .lead,.sheet-hero h1{pointer-events:none}.sheet-hero-shade{inset:0;z-index:-1;background:linear-gradient(90deg,var(--bg) 0,rgba(8,11,15,.94) 22%,rgba(8,11,15,.62) 40%,rgba(8,11,15,.12) 62%,rgba(8,11,15,0) 78%),linear-gradient(to top,var(--bg) 0,rgba(8,11,15,0) 26%),linear-gradient(to bottom,rgba(8,11,15,.55) 0,rgba(8,11,15,0) 16%)}.sheet-border,.sheet-hero-shade{position:absolute;pointer-events:none}.sheet-border{inset:18px;border:1px solid rgba(232,238,243,.22)}.tick-col,.tick-row{position:absolute}.tick-row{left:0;right:0;height:7px;background:repeating-linear-gradient(90deg,rgba(232,238,243,.45) 0 1px,transparent 1px 56px)}.tick-row.top{top:0}.tick-row.bottom{bottom:0}.tick-col{top:0;bottom:0;width:7px;background:repeating-linear-gradient(180deg,rgba(232,238,243,.45) 0 1px,transparent 1px 56px)}.tick-col.left{left:0}.tick-col.right{right:0}.sheet-hero-inner{position:relative;z-index:3}.sheet-hero h1{font:700 clamp(44px,7.4vw,96px)/.96 var(--font-display);letter-spacing:-.04em;margin:0 0 22px}.sheet-hero .lead{font-size:clamp(16px,1.5vw,19px);color:#b7c3cc;max-width:460px;margin:0}.hero-search{position:relative;max-width:560px;margin-top:30px}.hero-search>svg{position:absolute;z-index:1;left:18px;top:19px;color:var(--muted);pointer-events:none}.hero-search input{width:100%;height:58px;padding:0 20px 0 50px;border-radius:12px;outline:none;background:rgba(8,11,15,.78);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:16px}.hero-search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.hero-hits{position:absolute;z-index:20;top:64px;left:0;right:0;padding:6px;border-radius:12px;background:var(--panel-solid);border:1px solid var(--line-strong);box-shadow:var(--shadow)}.hero-hits a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text)}.hero-hits a:hover,.hero-hits a[data-active=true]{background:rgba(78,230,193,.1);text-decoration:none}.hero-hits small{color:var(--muted);font:500 11.5px/1.8 var(--font-mono);white-space:nowrap}.hero-none{display:block;padding:10px 12px;color:var(--faint);font-size:14px}.sheet-margin{position:absolute;right:44px;bottom:44px;display:flex;gap:18px;align-items:stretch;padding:14px 18px;border:1px solid rgba(232,238,243,.22);background:rgba(8,11,15,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono)}.north{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text);padding-right:16px;border-right:1px solid var(--line);font-weight:600;font-size:12px}.sheet-margin dl{display:grid;grid-template-columns:repeat(4,auto);grid-gap:4px 22px;gap:4px 22px;margin:0}.sheet-margin dt{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}.sheet-margin dd{margin:4px 0 0;font-size:14px;font-weight:600;color:var(--text)}.sheets{padding-top:88px}.legend,.sheets-head{border-top:1px solid var(--line)}.sheets-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;padding-top:22px;margin-bottom:30px}.legend h2,.sheets-head h2{font:700 34px/1 var(--font-display);letter-spacing:-.02em;margin:0}.sheets-head p{color:var(--muted);margin:0}.sheet-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.sheet-find{position:relative;flex:1 1 260px;max-width:420px}.sheet-find>svg{position:absolute;left:13px;top:12px;color:var(--muted);pointer-events:none}.sheet-filters input,.sheet-filters select{height:40px;border-radius:10px;outline:none;color:var(--text);font:500 14px var(--font-ui);background:hsla(0,0%,100%,.04);border:1px solid var(--line-strong)}.sheet-filters input{width:100%;padding:0 14px 0 40px}.sheet-filters select{padding:0 10px}.sheet-filters select option{background:var(--panel-solid)}.sheet-filters input:focus,.sheet-filters select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden}.chip,.seg button{height:40px;padding:0 14px;font:500 14px var(--font-ui);color:var(--muted);background:hsla(0,0%,100%,.04);border:0;cursor:pointer}.seg button+button{border-left:1px solid var(--line-strong)}.chip{border:1px solid var(--line-strong);border-radius:10px}.chip[data-on=true],.seg button[data-on=true]{color:var(--accent);background:rgba(78,230,193,.12)}.sheet-count{color:var(--muted);font:500 12.5px var(--font-mono);margin:0 0 22px}.sheet-count button{margin-left:12px;background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.sheet-empty{text-align:center;padding:48px 0;color:var(--muted)}.sheet-empty-note{margin-top:28px}.sheets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));grid-gap:36px 28px;gap:36px 28px}.sheet{display:block;color:var(--text)}.sheet:hover{text-decoration:none}.sheet-frame{position:relative;isolation:isolate;padding:10px;border:1px solid var(--line-strong);background:var(--panel-solid);transition:border-color .25s ease}.sheet-frame:before{content:"";position:absolute;inset:4px;border:1px solid var(--line);pointer-events:none;z-index:1}.sheet:hover .sheet-frame{border-color:rgba(78,230,193,.55)}.sheet-img{aspect-ratio:4/3;background-size:cover;background-position:50%;transition:filter .3s ease;filter:saturate(.85) brightness(.92)}.sheet:hover .sheet-img{filter:saturate(1) brightness(1)}.sheet-frame .sheet-img-sat{position:absolute;inset:10px;aspect-ratio:auto;opacity:0;transition:opacity .45s ease,filter .3s ease}.sheet:focus-visible .sheet-img-sat,.sheet:hover .sheet-img-sat{opacity:1}.sheet-sat-tag{position:absolute;z-index:2;left:18px;bottom:18px;padding:4px 8px;border-radius:6px;font:600 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:rgba(8,11,15,.72);border:1px solid var(--line)}.sheet:hover .sheet-sat-tag{color:var(--accent);border-color:rgba(78,230,193,.5)}.sheet-no{left:18px;font:600 11px/1 var(--font-mono);letter-spacing:.2em;padding:5px 8px;background:rgba(8,11,15,.8)}.sheet-no,.stamp{position:absolute;z-index:2;top:18px}.stamp{right:18px;transform:rotate(-4deg);font:700 10px/1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase;padding:5px 9px;border:1.5px solid;background:rgba(8,11,15,.7)}.stamp-official{color:var(--accent)}.stamp-community{color:var(--violet)}.stamp-updated{color:var(--amber);top:48px;transform:rotate(3deg)}.sheet-title{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;padding:16px 2px 0;align-items:start}.sheet-title h3{font:700 27px/1.05 var(--font-display);letter-spacing:-.02em;margin:2px 0 8px;overflow-wrap:anywhere}.sheet-title p{color:var(--muted);font-size:14px;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.sheet-facts{display:flex;flex-direction:column;gap:5px;text-align:right;font:500 11.5px/1.3 var(--font-mono);color:var(--faint);max-width:150px;overflow-wrap:anywhere}.sheet-scale{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:4px;color:var(--muted)}.sheet-scale i{display:block;height:6px;border:1.5px solid var(--muted);border-top:0}.sheet-blank .sheet-frame{aspect-ratio:4/3;display:grid;place-items:center;background:radial-gradient(60% 60% at 50% 50%,rgba(177,156,255,.08),transparent 70%),url(/contours-survey.svg) 50% /520px,var(--panel-solid)}.stamp-center{position:relative;top:auto;right:auto;z-index:2;font-size:12px;padding:8px 14px;transform:rotate(-6deg)}.sheet-blank .sheet-title{grid-template-columns:1fr}.legend{margin-top:96px;padding-top:22px;display:grid;grid-template-columns:minmax(0,300px) 1fr;grid-gap:20px 56px;gap:20px 56px}.legend-note{grid-column:1;color:var(--muted);font-size:14px;margin:0}.legend-list{grid-column:2;grid-row:1/span 2;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:16px 28px;gap:16px 28px}.legend-list li{display:flex;align-items:center;gap:14px;font-size:14px;color:#c9d3da}.sw{display:inline-block;width:38px;height:10px;flex:none}.sw-highway{background:#f2943c;box-shadow:inset 0 0 0 2px #603210;border-radius:6px;height:12px}.sw-main{background:#fcd66e;box-shadow:inset 0 0 0 2px #6e4c14;border-radius:5px}.sw-minor{background:#c6b8ac;box-shadow:inset 0 0 0 1.5px #4e443e;border-radius:4px;height:8px}.sw-track{background:#7a624c;height:3px;border-radius:2px}.sw-rail{height:5px;background:repeating-linear-gradient(90deg,#eceae4 0 5px,#403e3c 5px 10px);box-shadow:0 0 0 1px #403e3c}.sw-power{height:9px;background:linear-gradient(#78787e,#78787e) 0 50% /100% 1px no-repeat,radial-gradient(circle,#46464a 2.5px,transparent 3px) 0 0 /19px 9px}.sw-wall{height:3px;background:#58524c}.sw-fence{height:2px;background:#7c766e}.sw-building{width:14px;height:14px;margin:0 12px;background:#5c5854;box-shadow:inset 0 0 0 1px #423e3a,0 0 0 1px hsla(0,0%,100%,.15)}.sw-military{background:#626a50;box-shadow:inset 0 0 0 1px #3e4430,0 0 0 1px hsla(0,0%,100%,.15)}.sw-industrial{background:#785e50;box-shadow:inset 0 0 0 1px #4e3a30,0 0 0 1px hsla(0,0%,100%,.15)}.sw-religious{background:#7a6070;box-shadow:inset 0 0 0 1px #503a48,0 0 0 1px hsla(0,0%,100%,.15)}.sw-farm{background:#807056;box-shadow:inset 0 0 0 1px #544834,0 0 0 1px hsla(0,0%,100%,.15)}.sw-bush{height:16px;background:radial-gradient(circle,#96c07a 2.5px,transparent 3px) 0 0 /7px 7px}.sw-contour{height:16px;background:radial-gradient(ellipse 60% 40% at 50% 50%,transparent 46%,#b08c64 48% 54%,transparent 56%),radial-gradient(ellipse 90% 70% at 50% 50%,transparent 60%,#8c643e 62% 68%,transparent 70%)}.sw-forest{height:16px;background:radial-gradient(circle,#7eb06e 3px,transparent 3.5px) 0 0 /9px 8px}.sw-water{height:16px;background:#96cae2;border-radius:50% 40% 55% 45%}.sw-grid{height:16px;border:1px solid #5d8a96;background:linear-gradient(90deg,transparent 49%,#5d8a96 49% 51%,transparent 51%)}.kbd{display:inline-block;min-width:22px;padding:1px 6px;border-radius:6px;border:solid var(--line-strong);border-width:1px 1px 2px;font:600 11px/1.6 var(--font-mono);color:var(--text);text-align:center;background:hsla(0,0%,100%,.04)}.page{padding:72px 0 0}.page h1{font:700 clamp(34px,4.4vw,52px)/1.05 var(--font-display);letter-spacing:-.03em;margin:14px 0 18px}.page .lead{color:#b9c5ce;font-size:18px;max-width:680px}.prose{max-width:760px;min-width:0}.prose li,.prose p{overflow-wrap:anywhere}.prose h2{font:700 24px/1.2 var(--font-display);margin:48px 0 12px}.prose li,.prose p{color:#c3cdd5}.endpoint code,.prose code{font:500 13px/1.5 var(--font-mono);background:hsla(0,0%,100%,.05);border:1px solid var(--line);padding:1px 6px;border-radius:6px;color:var(--text)}.endpoint{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-solid);margin:16px 0;overflow:hidden}.endpoint-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);font:600 14px/1.4 var(--font-mono);flex-wrap:wrap}.endpoint-head span:last-child{overflow-wrap:anywhere;min-width:0}.endpoint-head .verb{color:#04120e;background:var(--accent);padding:2px 8px;border-radius:6px;font-size:12px}.endpoint-body{padding:14px 18px;color:var(--muted);font-size:14px;overflow-wrap:anywhere}.endpoint pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0;padding:14px 16px;border-radius:var(--radius-sm);background:#05080b;border:1px solid var(--line);overflow-x:auto;font:500 12.5px/1.6 var(--font-mono);color:#cfe9e2}.app{position:fixed;inset:0;background:#0b1116}.app-map{position:absolute;inset:0;z-index:0;isolation:isolate;background:#c4e9ee}.night{--tx:50vw;--ty:50vh;--r:60px;--edge:116px}.night-dark,.night-tint{position:absolute;inset:0;z-index:1;pointer-events:none}.night-tint{mix-blend-mode:multiply}.night-torch .night-tint{background:radial-gradient(circle at var(--tx) var(--ty),#fff3d9 0,#fff3d9 var(--r),#b9c3cc var(--edge),#2a3138 calc(var(--edge) + 60px))}.night-torch .night-dark{background:radial-gradient(circle at var(--tx) var(--ty),rgba(4,7,11,0) 0,rgba(4,7,11,0) calc(var(--r) * .8),rgba(4,7,11,.6) var(--edge),rgba(4,7,11,.9) calc(var(--edge) + 80px))}.night-red .night-tint{background:radial-gradient(circle at var(--tx) var(--ty),#ff4a38 0,#ff3b2b var(--r),#5a0c08 var(--edge),#1a0303 calc(var(--edge) + 60px))}.night-red .night-dark{background:radial-gradient(circle at var(--tx) var(--ty),rgba(8,1,1,0) 0,rgba(8,1,1,0) calc(var(--r) * .8),rgba(8,1,1,.62) var(--edge),rgba(6,1,1,.92) calc(var(--edge) + 80px))}@media (max-width:640px){.night{--r:54px;--edge:104px}}.leaflet-container{font-family:var(--font-ui);background:#bfe6ec;outline:none}.leaflet-control-attribution{display:none}.glass{background:var(--panel);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.app-top{position:absolute;z-index:1200;top:14px;left:14px;gap:10px;max-width:calc(100% - 28px)}.app-back,.app-top{display:flex;align-items:center}.app-back{height:48px;padding:0 16px 0 13px;gap:8px;flex:none;color:var(--text);font:600 14px/1 var(--font-ui);border:1px solid var(--line)}.app-back svg{color:var(--accent);transition:transform .15s ease}.app-back:hover{text-decoration:none;border-color:var(--line-strong)}.app-back:hover svg{transform:translateX(-2px)}.app-brand{height:48px;padding:0 14px 0 12px;display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text);flex:none}.app-brand .panel-state{display:inline-flex;color:var(--muted);padding-left:10px;border-left:1px solid var(--line);transition:color .2s}.app-brand[aria-pressed=true] .panel-state{color:var(--accent)}.app-brand:hover .panel-state{color:var(--text)}.switcher{position:relative;min-width:0}.switcher-btn{height:48px;padding:0 14px 0 16px;display:flex;align-items:center;gap:12px;cursor:pointer;border:1px solid var(--line);max-width:100%}.switcher-btn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-btn b{font:700 16px/1 var(--font-display)}.switcher-btn small{color:var(--muted);font-size:12px}.switcher-menu{position:absolute;z-index:1300;top:56px;left:0;width:300px;padding:6px;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.18) transparent}.switcher-menu::-webkit-scrollbar{width:8px}.switcher-menu::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.18);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.switcher-home{display:flex;align-items:center;gap:8px;padding:10px 10px 12px;margin-bottom:4px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600}.switcher-home:hover{color:var(--text);text-decoration:none}.switcher-item{display:flex;gap:12px;align-items:center;padding:8px;border-radius:10px;color:var(--text)}.switcher-item:hover{background:hsla(0,0%,100%,.06);text-decoration:none}.switcher-item[aria-current=true]{background:rgba(78,230,193,.08)}.switcher-thumb{width:54px;height:40px;border-radius:7px;background-size:cover;background-position:50%;border:1px solid var(--line);flex:none}.switcher-item b{display:block;font:600 14px/1.2 var(--font-display)}.switcher-item small{color:var(--muted);font-size:12px}.panel{position:absolute;z-index:1000;top:74px;left:14px;width:330px;max-height:calc(100% - 150px);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transition:transform .3s ease,opacity .25s ease}.panel[data-open=false]{transform:translateX(calc(-100% - 24px));opacity:0;pointer-events:none}.panel-section{padding:14px 16px;border-bottom:1px solid var(--line);flex:none}.panel-credit{display:none}.panel-section:last-child{border-bottom:0}.panel-title{font:600 11px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}.search{position:relative}.search input{width:100%;height:44px;padding:0 44px 0 40px;border-radius:11px;background:rgba(0,0,0,.35);border:1px solid var(--line-strong);outline:none}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search svg{position:absolute;z-index:1;left:13px;top:13px;color:var(--muted)}.search .kbd{position:absolute;right:10px;top:11px}.results{margin:8px -6px 0;max-height:280px;overflow-y:auto}.result{display:flex;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:9px;background:none;text-align:left;cursor:pointer}.result:hover,.result[data-active=true]{background:rgba(78,230,193,.1)}.result b{font-weight:600;font-size:14px}.result small{color:var(--muted);font:500 11px/1.9 var(--font-mono);white-space:nowrap}.result-coords{flex-direction:column;gap:2px}.result-coords b{display:inline-flex;align-items:center;gap:7px;color:var(--accent)}.result-coords small{white-space:normal;line-height:1.4}.empty{color:var(--faint);font-size:13px;padding:6px 4px}.toggles{display:grid;grid-gap:4px;gap:4px}.toggle{display:flex;align-items:center;justify-content:space-between;padding:7px 4px;cursor:pointer;font-size:14px}.toggle .kbd{margin-left:8px}.switch{width:36px;height:20px;border-radius:999px;background:hsla(0,0%,100%,.12);position:relative;transition:background .2s;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#cdd7de;transition:transform .2s,background .2s}.toggle input{display:none}.toggle input:checked+.switch{background:var(--accent-deep)}.toggle input:checked+.switch:after{transform:translateX(16px);background:#eafff9}.tools{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.tool{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;cursor:pointer;border-radius:11px;border:1px solid var(--line);background:hsla(0,0%,100%,.03);font-size:12.5px;font-weight:600}.tool:hover{border-color:var(--line-strong);background:hsla(0,0%,100%,.06)}.tool[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:rgba(78,230,193,.08)}.tool svg{width:20px;height:20px}.hint{margin:10px 0 0;color:var(--muted);font-size:12.5px;min-height:18px}.marks{margin-top:10px;display:grid;grid-gap:6px;gap:6px}.mark-row{display:flex;align-items:center;gap:8px}.mark-row input{flex:1 1;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:rgba(0,0,0,.3);outline:none;font-size:13px}.mark-row input:focus{border-color:var(--amber)}.mark-row button{border:0;background:none;color:var(--faint);cursor:pointer;padding:4px}.mark-row button:hover{color:var(--danger)}.mark-kind{width:14px;height:14px;padding:0!important;border-radius:50%;border:0;background:var(--kind)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--kind) 30%,transparent);flex:none;cursor:pointer}.mark-kind:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--kind) 45%,transparent)}.aim-label{display:inline-flex;flex-direction:column;gap:2px;transform:translate(14px,-50%);padding:5px 8px;border-radius:7px;white-space:nowrap;font:600 11.5px/1.2 var(--font-mono);color:#04120e;background:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.3)}.aim-label b{font-size:13px}.aim-label i{font-style:normal;font-weight:500;opacity:.72;font-size:10.5px}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:9px;background:rgba(0,0,0,.3);border:1px solid var(--line)}.segmented button{height:28px;padding:0 10px;border:0;border-radius:7px;background:none;color:var(--muted);font:600 12px/1 var(--font-ui);cursor:pointer}.segmented button:hover{color:var(--text)}.segmented button[aria-checked=true]{background:rgba(78,230,193,.14);color:var(--accent)}.segmented button[data-night=red][aria-checked=true]{background:rgba(255,70,50,.18);color:#ff6b5a}.tool[data-night=torch]{border-color:#ffd98a;color:#ffd98a;background:rgba(255,217,138,.08)}.tool[data-night=red]{border-color:#ff6b5a;color:#ff6b5a;background:rgba(255,70,50,.1)}.kind-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.kind-picker button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:hsla(0,0%,100%,.03);color:var(--muted);font:600 12px/1 var(--font-ui);cursor:pointer}.kind-picker button i{width:9px;height:9px;border-radius:50%;background:var(--kind)}.kind-picker button[aria-checked=true]{border-color:var(--kind);color:var(--text);background:color-mix(in srgb,var(--kind) 14%,transparent)}.ring-dot{background:none;border:2px solid var(--amber);box-shadow:none}.ring-row-text{flex:1 1;font-size:13px}.mark-dot{width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(255,181,71,.25);flex:none}.readout{position:absolute;z-index:1000;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:stretch;overflow:hidden;font:500 13px/1 var(--font-mono)}.readout>div{padding:11px 16px;border-right:1px solid var(--line);white-space:nowrap}.readout>div:last-child{border-right:0}.readout{max-width:calc(100% - 28px)}.readout>div{flex:none;overflow:hidden;text-overflow:ellipsis}.readout>div:first-child{width:112px}.readout>div:nth-child(2){width:152px}.readout>div:nth-child(3){width:340px;flex-shrink:1;min-width:0}.readout>.scalebar{width:152px}.readout label{display:block;font-size:9.5px;letter-spacing:.2em;color:var(--faint);margin-bottom:6px}.readout .grid-val{color:var(--accent);font-weight:600}.scalebar{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:110px}.scalebar i{display:block;height:6px;border:2px solid var(--text);border-top:0}.credit{position:absolute;z-index:1000;left:14px;bottom:16px;display:flex;gap:10px;align-items:center;padding:8px 12px;font-size:12px;color:var(--muted);border-radius:10px}.credit a{color:var(--text)}.credit>*+*{padding-left:10px;border-left:1px solid var(--line)}.removal-link{padding:0;border:0;background:none;font:inherit;color:var(--danger);cursor:pointer;white-space:nowrap}.removal-link:hover{text-decoration:underline}.credit>.removal-link{padding-left:10px;border-left:1px solid var(--line)}.credit{max-width:calc(100% - 28px)}.credit>*{white-space:nowrap}.credit>:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.built-for{display:flex;justify-content:space-between;gap:10px;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.built-for b{font:600 12px var(--font-mono);color:var(--text)}.modal-back{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:16px;background:rgba(4,7,10,.66);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .15s ease}@keyframes fade{0%{opacity:0}}.modal{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:26px 26px 22px;border-radius:var(--radius);color:var(--text);background:var(--panel-solid)}.modal h2{margin:0 32px 8px 0;font:600 21px/1.25 var(--font-display)}.modal-done p,.modal-lead{margin:0 0 18px;font-size:14px;line-height:1.55;color:var(--muted)}.modal-done strong{color:var(--text)}.modal-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer}.modal-close:hover{color:var(--text);background:hsla(0,0%,100%,.06)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:hsla(0,0%,100%,.03);color:var(--text);font:14px/1.4 var(--font-ui)}.field textarea{resize:vertical;min-height:96px}.field select option{background:var(--panel-solid)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.modal-error{margin:0 0 14px;padding:9px 12px;border-radius:var(--radius-sm);font-size:13px;color:#ffd0d0;background:hsla(0,100%,71%,.12);border:1px solid hsla(0,100%,71%,.35)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.modal .btn{height:42px;padding:0 18px;font-size:14px}.btn-danger{background:var(--danger);color:#1a0505}.btn-danger:disabled{opacity:.6;cursor:default;transform:none}@media (max-width:640px){.modal{padding:22px 18px 18px}.modal-actions .btn{flex:1 1;justify-content:center}}.zoom{position:absolute;z-index:1000;right:14px;bottom:16px;display:flex;flex-direction:column;overflow:hidden}.zoom button{width:44px;height:44px;border:0;background:none;font-size:20px;cursor:pointer}.zoom button+button{border-top:1px solid var(--line)}.zoom button:hover{background:hsla(0,0%,100%,.06)}.toast{position:absolute;z-index:1100;top:76px;left:50%;transform:translateX(-50%);padding:11px 18px;font-size:14px;font-weight:500;animation:pop .25s ease}@keyframes pop{0%{opacity:0;transform:translate(-50%,-8px)}}.panel-toggle{display:none}.place{position:absolute;transform:translate(-50%,-50%) rotate(var(--turn,0deg));white-space:nowrap;pointer-events:none;color:#17202a;font:600 11px/1 var(--font-ui);text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 2px #fff}.place.capital{font:800 17px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}.place.city{font:700 15px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase}.place.town{font-size:13px;font-weight:700}.place.village{font-size:12px}.place.landmark,.place.local{font-size:10.5px;font-weight:500;font-style:italic;color:#37414a}.place.hill,.place.ridge,.place.valley{color:#6b4a2b;font-size:10.5px;letter-spacing:.1em}.place.valley{font-size:12px;letter-spacing:.22em}.place.island{font-size:12.5px;font-style:italic;font-weight:700;color:#2f3a3f}.place.bay,.place.lake,.place.sea,.place.stream{color:#226b8d;font-style:italic}.place.bay,.place.lake{font-size:12px}.place.sea{font:700 15px/1 var(--font-display);letter-spacing:.3em;text-transform:uppercase;font-style:italic}.app[data-base=drawn] .place{font-family:Caveat,Segoe Print,cursive;font-weight:600;text-transform:none;letter-spacing:.01em;font-style:normal;color:#3d3a36;opacity:.92;transform:translate(-50%,-50%) rotate(calc(var(--turn, 0deg) + var(--jit, 0deg)));text-shadow:0 0 3px #efe3c4,0 0 3px #efe3c4,0 0 2px #efe3c4,.4px .3px 0 rgba(61,58,54,.45)}.app[data-base=drawn] .place.capital{font-size:25px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.app[data-base=drawn] .place.city{font-size:22px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.app[data-base=drawn] .place.town{font-size:19px;font-weight:700}.app[data-base=drawn] .place.village{font-size:17px}.app[data-base=drawn] .place.landmark,.app[data-base=drawn] .place.local{font-size:15px;font-weight:500;color:#4a4640}.app[data-base=drawn] .place.hill,.app[data-base=drawn] .place.ridge{font-size:15px;color:#6b4a2b;letter-spacing:.08em}.app[data-base=drawn] .place.valley{font-size:17px;color:#6b4a2b;letter-spacing:.2em}.app[data-base=drawn] .place.island{font-size:18px;font-weight:700;color:#3d3a36}.app[data-base=drawn] .place.bay,.app[data-base=drawn] .place.lake,.app[data-base=drawn] .place.stream{font-size:17px;color:#3f6079}.app[data-base=drawn] .place.sea{font-size:24px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#3f6079}.app[data-base=drawn] .grid-label{font-family:Caveat,cursive;font-size:13px;font-weight:600;color:rgba(61,58,54,.7);text-shadow:0 0 3px #efe3c4}.app[data-photo=true] .place{color:#f4f7f9;text-shadow:0 0 3px #000,0 0 3px #000,0 1px 2px #000}.app[data-photo=true] .place.landmark,.app[data-photo=true] .place.local{color:#dfe6ea}.app[data-photo=true] .place.hill,.app[data-photo=true] .place.ridge,.app[data-photo=true] .place.valley{color:#f1d9b5}.app[data-photo=true] .place.island{color:#f4f7f9}.app[data-photo=true] .place.bay,.app[data-photo=true] .place.lake,.app[data-photo=true] .place.sea,.app[data-photo=true] .place.stream{color:#bfe6f5}.app[data-photo=true] .grid-label{color:rgba(240,246,250,.85);text-shadow:0 0 3px #000}.base-row{cursor:default;margin-bottom:4px}.toggle.base-row{flex-direction:column;align-items:stretch;gap:8px}.base-row .segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));width:100%}.base-row .segmented:has(button:nth-child(4)){grid-template-columns:repeat(2,1fr)}.base-row .segmented button{padding:0 8px;white-space:nowrap;text-align:center}.app[data-photo=true] .grid-line{stroke:#e8f1f5}.grid-label{font:600 10px/1 var(--font-mono);color:rgba(20,40,50,.7);text-shadow:0 0 3px #fff;white-space:nowrap;pointer-events:none}.pin{width:22px;height:22px;margin:-22px 0 0 -11px}.pin svg{filter:drop-shadow(0 3px 5px rgba(0,0,0,.45))}.pin-label{position:absolute;left:50%;top:-10px;transform:translate(-50%,-100%);white-space:nowrap;font:600 12px/1 var(--font-ui);color:#111;background:var(--amber);padding:4px 7px;border-radius:6px}.target{position:relative;width:26px;height:26px;margin:-13px 0 0 -13px}.target i{position:absolute;inset:0;border-radius:50%;border:3px solid var(--accent);background:rgba(78,230,193,.18);box-shadow:0 0 0 2px rgba(4,18,14,.8)}.target i:after{content:"";top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%}.target b,.target i:after{position:absolute;left:50%;background:var(--accent)}.target b{bottom:34px;transform:translateX(-50%);white-space:nowrap;font:700 13px/1 var(--font-ui);color:#04120e;padding:6px 10px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.35)}.target b:after{content:"";position:absolute;left:50%;top:100%;margin-left:-6px;border:6px solid transparent;border-top:6px solid var(--accent)}.target .pulse{position:absolute;left:50%;top:50%;margin:-9px 0 0 -9px}.pulse{width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(78,230,193,.7);animation:pulse 1.6s ease-out 3}@keyframes pulse{to{box-shadow:0 0 0 36px rgba(78,230,193,0)}}.ring-label{font:600 12px/1 var(--font-mono);color:#1a1206;background:var(--amber);padding:4px 7px;border-radius:6px;white-space:nowrap;transform:translate(6px,-50%);display:inline-block}.map-menu{position:absolute;z-index:1400;min-width:220px;padding:6px;display:flex;flex-direction:column;animation:fade .12s ease}.map-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.map-menu-head b{display:block;font:600 14px/1.3 var(--font-mono)}.map-menu-head small{color:var(--muted);font-size:12px}.map-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:none;color:var(--text);font:500 13.5px/1 var(--font-ui);text-align:left;cursor:pointer}.map-menu button:hover{background:rgba(78,230,193,.1)}.map-menu button svg{color:var(--muted)}.map-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}.measure-label{font:600 12px/1 var(--font-mono);color:#04120e;background:var(--accent);padding:4px 7px;border-radius:6px;white-space:nowrap;transform:translate(10px,-50%);display:inline-block}@media (max-width:860px){.site-head nav{gap:14px}.sheet-margin{right:30px;bottom:30px}.sheet-margin .north{display:none}}@media (max-width:640px){.nav-discord .hide-sm,.site-head nav a.hide-sm{display:none}.sheet-hero{padding:300px 0 40px;min-height:auto}.sheet-hero-shade{background:linear-gradient(to bottom,rgba(8,11,15,.35) 0,rgba(8,11,15,0) 18%,rgba(8,11,15,.1) 38%,rgba(8,11,15,.94) 62%,var(--bg) 100%)}.sheet-border{inset:10px}.sheet-margin{position:relative;right:auto;bottom:auto;margin:36px 16px 0;align-self:flex-start;flex-wrap:wrap}.sheet-margin dl{grid-template-columns:repeat(2,auto)}.sheet-title{grid-template-columns:1fr}.sheet-facts{text-align:left;flex-direction:row;flex-wrap:wrap;gap:4px 14px;max-width:none}.sheet-scale{justify-content:flex-start}.legend{grid-template-columns:1fr}.legend-list,.legend-note{grid-column:1;grid-row:auto}.hero-hits small{display:none}.app-top{right:14px}.app-brand .brand-word{display:none}.app-back{padding:0 14px}.app-back span{display:none}.switcher{flex:1 1}.switcher-btn{width:100%;justify-content:space-between}.switcher-btn small{display:none}.panel,.switcher-menu{width:auto;right:0}.panel{top:auto;bottom:0;left:0;max-height:62%;border-radius:var(--radius) var(--radius) 0 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;transition:transform .3s ease,opacity .25s ease,max-height .25s ease,height .25s ease}.panel[data-size=full]{max-height:calc(100% - 128px);height:calc(100% - 128px)}.panel-toggle{position:-webkit-sticky;position:sticky;top:0;z-index:2;width:100%;padding:12px 0 8px!important;background:var(--panel-solid)!important;touch-action:none;cursor:-webkit-grab;cursor:grab}.app[data-sheet=open] .credit{display:none}.panel-credit{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px;color:var(--muted);padding-bottom:calc(14px + env(safe-area-inset-bottom))}.panel-credit a{color:var(--text)}.panel-credit>*+*,.panel-credit>.removal-link{padding-left:10px;border-left:1px solid var(--line)}.panel[data-open=auto],.panel[data-open=false]{transform:translateY(calc(100% + 20px));pointer-events:none}.panel-toggle{display:flex;justify-content:center;padding:10px 0 2px;border:0;background:none;cursor:pointer}.panel-toggle i{width:42px;height:4px;border-radius:4px;background:var(--line-strong)}.readout{top:72px;bottom:auto;left:14px;right:14px;transform:none;font-size:12px}.readout>div{padding:9px 12px;min-width:0;overflow:hidden;text-overflow:ellipsis}.readout>div:nth-child(2),.scalebar{display:none}.readout>div:first-child{width:96px}.readout>div:nth-child(3){flex:1 1;width:auto}.zoom{display:none}.credit{left:14px;right:auto;bottom:12px;font-size:11px;padding:6px 10px;flex-wrap:wrap;gap:3px 10px}.credit>:first-child{flex:1 0 100%}.credit>:nth-child(2){padding-left:0;border-left:0}.toast{top:124px;width:calc(100% - 28px);text-align:center}}.docs{display:grid;grid-template-columns:232px minmax(0,1fr);grid-gap:64px;gap:64px;padding-top:40px;padding-bottom:40px}.docs-body{min-width:0;max-width:980px}.docs-nav{position:-webkit-sticky;position:sticky;top:88px;align-self:start;max-height:calc(100vh - 110px);overflow-y:auto;gap:22px;font-size:13.5px;padding-right:6px;scrollbar-width:thin}.docs-nav,.docs-nav-group{display:flex;flex-direction:column}.docs-nav-group{gap:1px}.docs-nav p{margin:0 0 6px 10px;font:600 10.5px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.docs-nav a{position:relative;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;color:var(--muted);transition:color .15s,background .15s}.docs-nav a:hover{color:var(--text);background:hsla(0,0%,100%,.04);text-decoration:none}.docs-nav a[aria-current=true]{color:var(--accent);background:rgba(78,230,193,.08)}.docs-nav a[aria-current=true]:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--accent)}.verb-sm{font:700 9.5px/1 var(--font-mono);color:var(--accent);letter-spacing:.05em;opacity:.8}.docs-hero{scroll-margin-top:88px;position:relative;padding:36px 36px 30px;border:1px solid var(--line-strong);border-radius:18px;overflow:hidden;background:radial-gradient(900px 340px at 0 -20%,rgba(78,230,193,.13),transparent 62%),radial-gradient(600px 300px at 100% 0,rgba(177,156,255,.09),transparent 60%),var(--panel-solid)}.eyebrow{display:inline-block;font:600 11px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);padding:6px 10px;border:1px solid rgba(78,230,193,.35);border-radius:999px;background:rgba(78,230,193,.06);margin-bottom:18px}.docs-hero h1{font:700 clamp(30px,5vw,50px)/1.05 var(--font-display);letter-spacing:-.03em;margin:0 0 14px}.docs-lead{font-size:clamp(16px,2vw,18px);color:#b9c5ce;margin:0 0 20px;max-width:640px}.docs-facts{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:8px}.docs-facts li{font:600 12px/1 var(--font-mono);padding:7px 11px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);background:hsla(0,0%,100%,.02)}.base-url{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#05080b}.base-url span{font:600 10.5px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.base-url code{font:600 15px/1.4 var(--font-mono);color:var(--accent);flex:1 1;min-width:0;overflow-wrap:anywhere;background:none;border:0;padding:0}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:22px 0 6px}.step{padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:hsla(0,0%,100%,.025);display:flex;flex-direction:column;gap:6px}.step b{display:flex;align-items:center;gap:10px;font:600 15px/1.3 var(--font-display)}.step i{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;font:700 11px/1 var(--font-mono);font-style:normal;color:#04120e;background:var(--accent)}.step p{margin:0;font-size:13.5px;color:var(--muted);flex:1 1}.step a{font:600 12.5px/1.2 var(--font-mono);color:var(--accent);margin-top:4px;overflow-wrap:anywhere}.api-text>p,.docs-note,.docs-section>p{color:#c3cdd5}.docs-note{margin:18px 0 0;font-size:14px}.docs code,.docs-note code{font:500 13px/1.5 var(--font-mono);background:hsla(0,0%,100%,.05);border:1px solid var(--line);padding:1px 6px;border-radius:6px;color:var(--text);overflow-wrap:anywhere}.docs-muted{color:var(--faint);font-size:14px}.docs-section{padding-top:56px;margin-top:56px;border-top:1px solid var(--line);scroll-margin-top:80px}.docs-hero+.docs-section{margin-top:48px}.docs-section h2{font:700 clamp(22px,3vw,28px)/1.2 var(--font-display);margin:0 0 14px;letter-spacing:-.015em}.docs-section h3{font:600 12px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:26px 0 12px}.docs-section>p{max-width:72ch}.docs-section a{color:var(--accent)}.docs-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.docs-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-solid)}.docs-card b{font:600 15px/1.3 var(--font-display)}.docs-card p{color:var(--muted);font-size:14px;margin:8px 0 0}.callout{padding:14px 16px;border:1px solid rgba(78,230,193,.25);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:rgba(78,230,193,.05);max-width:none!important;font-size:14.5px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:4px 0 18px}.stats>div{padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-solid);display:flex;flex-direction:column;gap:4px}.stats b{font:700 30px/1 var(--font-display);color:var(--accent);letter-spacing:-.02em}.stats small{font:600 13px/1 var(--font-mono);color:var(--muted);margin-left:2px}.stats span{font-size:13px;color:var(--muted)}.rows{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;margin:16px 0;background:var(--panel-solid)}.row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(70px,.5fr) minmax(0,2.2fr);grid-gap:16px;gap:16px;padding:12px 16px;border-top:1px solid var(--line);font-size:14px;color:#c3cdd5;align-items:start}.rows-errors .row,.rows-styles .row{grid-template-columns:minmax(130px,.8fr) minmax(70px,.5fr) minmax(0,2.2fr)}.row:first-child{border-top:0}.row:not(.row-head):hover{background:hsla(0,0%,100%,.02)}.row-head{background:hsla(0,0%,100%,.03);font:600 10.5px/1.6 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}.row code{color:var(--accent)!important}.type{font:500 12px/1.5 var(--font-mono);color:var(--violet);overflow-wrap:anywhere}.status{font:700 12px/1 var(--font-mono);padding:4px 8px;border-radius:6px;display:inline-block}.status.info{color:var(--amber);background:rgba(255,181,71,.1)}.status.warn{color:var(--danger);background:hsla(0,100%,71%,.1)}.status.bad{color:var(--danger);background:hsla(0,100%,71%,.16)}.req{font:600 10px/1 var(--font-mono);font-style:normal;color:var(--amber);letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border:1px solid rgba(255,181,71,.35);border-radius:5px}.api-head{margin-bottom:8px}.route{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#05080b}.route code{font-size:14px!important;overflow-wrap:anywhere;flex:1 1;min-width:0;background:none!important;border:0!important;padding:0!important}.verb{font:700 11px/1 var(--font-mono);color:#04120e;background:var(--accent);padding:5px 8px;border-radius:6px}.api-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:22px;gap:22px;margin-top:8px}.api-code,.api-text{min-width:0}.api-code{gap:14px}.api-code,.params{display:flex;flex-direction:column}.params{list-style:none;margin:0;padding:0;gap:10px}.params li{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-solid)}.params li>div{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.params p{margin:6px 0 0;font-size:14px;color:var(--muted)}.code,.try{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#05080b;overflow:hidden;min-width:0}.code-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);font:600 11.5px/1 var(--font-mono);color:var(--faint);background:hsla(0,0%,100%,.02)}.code-bar em{font-style:normal}.code-bar em.ok{color:var(--accent)}.code-bar em.bad{color:var(--danger)}.code pre,.try pre{margin:0;padding:14px 16px;font:500 12.5px/1.65 var(--font-mono);color:#cfe9e2;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow-y:auto}.try-empty{color:var(--faint)!important}.tabs{display:flex;gap:4px}.tabs button{border:0;background:none;color:var(--faint);font:600 11.5px/1 var(--font-mono);padding:5px 8px;border-radius:6px;cursor:pointer}.tabs button[aria-selected=true]{color:var(--text);background:hsla(0,0%,100%,.07)}.copy,.try-run{border:1px solid var(--line-strong);background:hsla(0,0%,100%,.04);color:var(--text);font:600 11.5px/1 var(--font-mono);padding:6px 10px;border-radius:6px;cursor:pointer;white-space:nowrap}.try-run{background:var(--accent);color:#04120e;border-color:transparent}.copy:hover{border-color:var(--accent)}.try-run:disabled{opacity:.6;cursor:wait}@media (min-width:1180px){.api-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:32px}}@media (max-width:980px){.docs{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}.docs-nav{position:-webkit-sticky;position:sticky;top:64px;z-index:20;flex-direction:row;align-items:center;gap:4px;max-height:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap;margin:0 -16px 24px;padding:8px 16px;background:rgba(8,11,15,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);scrollbar-width:none}.docs-nav::-webkit-scrollbar{display:none}.docs-nav-group{flex-direction:row;align-items:center;gap:4px;flex:none}.docs-nav-group+.docs-nav-group{margin-left:10px;padding-left:14px;border-left:1px solid var(--line)}.docs-nav p{display:none}.docs-nav a{flex:none;border:1px solid var(--line);padding:6px 11px;border-radius:999px}.docs-nav a[aria-current=true]{border-color:rgba(78,230,193,.5)}.docs-nav a[aria-current=true]:before{display:none}.docs-section{padding-top:40px;margin-top:40px}.docs-hero,.docs-section{scroll-margin-top:130px}}@media (max-width:720px){.docs-hero{padding:22px 18px 20px;border-radius:14px}.docs-grid-2,.stats,.steps{grid-template-columns:minmax(0,1fr)}.base-url{gap:8px}.base-url code{flex:1 0 100%;order:3;font-size:13.5px}.row{grid-template-columns:minmax(0,1fr);gap:6px;padding:14px}.row-head{display:none}.row>span[data-label]:before{content:attr(data-label);display:block;font:600 10px/1.6 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.route{gap:8px}.route .copy{margin-left:auto}}.mapdemo{margin-top:18px;border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;background:var(--panel-solid)}.mapdemo-bar{flex-wrap:wrap;gap:10px}.mapdemo-bar b{color:var(--text);font-weight:600}.mapdemo-bar em{color:var(--muted);font-style:normal}.mapdemo-tools{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.mapdemo-frame{position:relative}.mapdemo-view,.mapdemo-view.leaflet-container{height:440px;background:#0b0f13}.mapdemo-empty{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;text-align:center;color:var(--muted);font-size:14px;pointer-events:none}.mapdemo-log{margin:0;padding:12px 16px;border-top:1px solid var(--line);font:500 12px/1.6 var(--font-mono);color:var(--muted);white-space:pre-wrap;word-break:break-all}@media (max-width:640px){.mapdemo-view{height:340px}}.map-update{padding:11px 12px;border-radius:10px;background:rgba(240,180,41,.08);border:1px solid rgba(240,180,41,.32);font-size:12.5px;line-height:1.5;color:var(--muted)}.map-update p{margin:0}.map-update b{color:var(--text)}.map-update-head{color:#f0b429;font:600 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px!important}.map-update-notes{margin-top:6px!important;font-style:italic;color:var(--faint)}.badge-pin{position:relative;width:26px;height:26px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));cursor:-webkit-grab;cursor:grab}.badge-pin svg{display:block}.icon-picker{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.icon-cat>span{display:block;font:600 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}.icon-cat>div{display:flex;flex-wrap:wrap;gap:5px}.icon-cat button{width:34px;height:34px;padding:2px;border-radius:9px;border:1px solid transparent;background:hsla(0,0%,100%,.03);cursor:pointer;display:grid;place-items:center}.icon-cat button:hover{background:hsla(0,0%,100%,.08)}.icon-cat button[aria-checked=true]{border-color:var(--accent);background:rgba(78,230,193,.1)}.mark-icon{display:grid;place-items:center;flex:none}.mark-icon-wrap{position:relative;flex:none;width:22px;height:22px;cursor:pointer}.mark-icon-pick{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.marks-head{margin:0 0 6px;font-size:11.5px;color:var(--accent)}.ping{position:relative;width:80px;height:80px;pointer-events:none}.ping i{position:absolute;inset:0;border-radius:50%;border:3px solid var(--c);animation:ping 1.4s ease-out 3;opacity:0}.ping i+i{animation-delay:.45s}.ping b{position:absolute;top:84%;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 11px/1 var(--font-ui);color:#0b0f13;background:var(--c);padding:3px 6px;border-radius:5px}@keyframes ping{0%{transform:scale(.15);opacity:1}to{transform:scale(1);opacity:0}}.group .hint{min-height:0}.group .bad{color:var(--danger)}.group-btn{height:32px;padding:0 12px;border-radius:8px;border:0;background:var(--accent);color:#04120e;font:600 13px var(--font-ui);cursor:pointer}.group-btn:disabled{opacity:.5;cursor:default}.group button:not(.group-btn):not(.kick):not(.group-toggle){height:32px;padding:0 11px;border-radius:8px;border:1px solid var(--line-strong);background:hsla(0,0%,100%,.04);color:var(--text);font:500 12.5px var(--font-ui);cursor:pointer}.group button.danger{color:var(--danger);border-color:hsla(0,100%,71%,.35)}.group-row{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.group-col{display:grid;grid-gap:6px;gap:6px;margin-top:8px}.group-form{display:grid;grid-gap:9px;gap:9px;margin-top:4px}.group-form label,.group-join label{display:grid;grid-gap:4px;gap:4px;font-size:12px;color:var(--muted)}.group-form input,.group-join input{height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--line-strong);background:rgba(0,0,0,.3);color:var(--text);outline:none;font-size:13px}.group-form input:focus,.group-join input:focus{border-color:var(--accent)}.group-name{display:flex;align-items:center;gap:8px;font:600 15px var(--font-display)}.group-name .locked{font:600 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--amber);border:1px solid rgba(255,181,71,.4);padding:1px 6px;border-radius:4px}.leader-tag{font-style:normal;color:var(--accent);font-size:10px;margin-left:6px}.members{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:4px;gap:4px}.members li{display:flex;align-items:center;gap:8px;font-size:13px}.members li i{width:9px;height:9px;border-radius:50%;flex:none}.members li small{color:var(--faint)}.members li.away{color:var(--muted)}.members .kick{margin-left:auto;border:0;background:none;color:var(--faint);font-size:11px;cursor:pointer}.members .kick:hover{color:var(--danger)}.leader{margin-top:10px}.leader summary{cursor:pointer;font-size:12.5px;color:var(--muted)}.group-join-back{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:rgba(4,6,9,.7);padding:16px}.group-join{width:min(380px,100%);display:grid;grid-gap:10px;gap:10px;padding:20px;border-radius:14px;background:var(--panel-solid);border:1px solid var(--line-strong)}.group-join h2{margin:0;font:700 20px var(--font-display)}.group-join p{margin:0;color:var(--muted);font-size:13.5px}.group-join a{color:var(--muted);font-size:13px}.group-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;text-align:left}.group-toggle svg{color:var(--faint);transition:transform .2s}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:8px;box-shadow:0 0 8px var(--accent);vertical-align:middle}@media (max-width:640px){.hero-split{padding-top:16vh}.hero-split-tag{top:calc(16vh + 11px)}}.nav-discord{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px;border-radius:999px;background:#5865f2;color:#fff!important;font:600 13.5px/1 var(--font-ui);text-decoration:none;white-space:nowrap}.nav-discord:hover{background:#4752c4;text-decoration:none}.panel-discord{display:flex;align-items:center;justify-content:center;gap:9px;height:38px;border-radius:9px;background:#5865f2;color:#fff;font:600 13px var(--font-ui);text-decoration:none}.panel-discord:hover{background:#4752c4;text-decoration:none}@media (max-width:480px){.nav-discord{padding:0 10px}}@media (max-width:430px){.site-head nav a.hide-xs{display:none}.site-head nav{gap:14px}}.sat-soon{margin:2px 0 10px;padding:8px 10px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);font-size:12.5px;line-height:1.4}.wn-back{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:18px;background:rgba(4,7,10,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:wn-in .25s ease}@keyframes wn-in{0%{opacity:0}to{opacity:1}}.wn{width:min(560px,100%);max-height:min(82vh,760px);display:flex;flex-direction:column;border:1px solid var(--line-strong,#2b3640);border-radius:16px;background:var(--panel-solid,#0f151b);box-shadow:0 24px 80px rgba(0,0,0,.55);overflow:hidden;animation:wn-up .3s ease}@keyframes wn-up{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.wn header{padding:22px 26px 10px}.wn-tag{display:inline-block;font:700 10.5px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent,#4ee6c1);border:1px solid rgba(78,230,193,.4);border-radius:999px;padding:5px 10px}.wn header h2{margin:12px 0 4px;font:700 26px/1.15 var(--font-display);letter-spacing:-.01em}.wn header time,.wn-post time{font:500 12px/1 var(--font-mono);color:var(--faint,#7c8a96)}.wn-body{padding:4px 26px 8px;overflow-y:auto}.wn footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 26px 20px;border-top:1px solid var(--line,#1e2830)}.wn footer a{color:var(--muted,#98a6b2);font-size:13.5px}.wn-ok{height:38px;padding:0 22px;border:0;border-radius:10px;background:var(--accent,#4ee6c1);color:#04120e;font:700 14px/1 var(--font-ui);cursor:pointer}.wn-ok:hover{background:#6ff0d0}.wn-page{padding-top:56px;padding-bottom:80px;max-width:760px}.wn-page h1{font:700 clamp(32px,4vw,44px)/1.05 var(--font-display);letter-spacing:-.03em;margin:0 0 8px}.wn-lead{color:#b9c5ce;font-size:17px;margin:0 0 18px}.wn-post{padding-top:30px;margin-top:30px;border-top:1px solid var(--line,#1e2830);scroll-margin-top:80px}.wn-post h2{font:700 24px/1.2 var(--font-display);margin:0 0 6px}.md{font-size:15px;line-height:1.6;color:#cbd5dc;overflow-wrap:anywhere}.md>:first-child{margin-top:10px}.md h2{font:700 19px/1.25 var(--font-display);margin:22px 0 8px}.md h2,.md h3{color:var(--text,#e8eef3)}.md h3{font:700 16px/1.3 var(--font-display);margin:18px 0 6px}.md h4,.md h5,.md h6{font:700 14px/1.3 var(--font-ui);color:var(--text,#e8eef3);margin:14px 0 4px}.md p{margin:10px 0}.md ol,.md ul{padding-left:22px;margin:10px 0}.md li,.md li>p{margin:4px 0}.md a{color:var(--accent,#4ee6c1);text-decoration:underline;text-underline-offset:2px}.md strong{color:var(--text,#e8eef3)}.md code{font:500 13px/1.5 var(--font-mono);background:hsla(0,0%,100%,.07);border:1px solid var(--line,#1e2830);padding:1px 6px;border-radius:6px}.md pre{margin:12px 0;padding:12px 14px;border:1px solid var(--line,#1e2830);border-radius:10px;background:#0a0f14;overflow-x:auto}.md pre code{background:none;border:0;padding:0}.md blockquote{margin:12px 0;padding:2px 14px;border-left:3px solid rgba(78,230,193,.5);color:#9fb0bd;background:rgba(78,230,193,.04);border-radius:0 8px 8px 0}.md hr{border:0;border-top:1px solid var(--line,#1e2830);margin:18px 0}.md img{max-width:100%;height:auto;border-radius:10px;margin:8px 0;border:1px solid var(--line,#1e2830)}.md table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px;display:block;overflow-x:auto}.md td,.md th{border:1px solid var(--line,#1e2830);padding:6px 10px;text-align:left}.md th{background:hsla(0,0%,100%,.04);color:var(--text,#e8eef3)}.md input[type=checkbox]{margin-right:6px;accent-color:var(--accent,#4ee6c1)}.md del{color:var(--faint,#7c8a96)}@media (max-width:560px){.wn footer,.wn header,.wn-body{padding-left:18px;padding-right:18px}.wn header h2{font-size:22px}}.panel-news{display:block;margin-top:10px;text-align:center;font-size:12.5px;color:var(--muted,#98a6b2)}.panel-news:hover{color:var(--accent,#4ee6c1)}.app-card{margin-top:28px;padding:24px 26px;border:1px solid var(--line-strong,#2b3640);border-radius:16px;background:var(--panel-solid,#0f151b)}.app-card h2{font:700 22px/1.2 var(--font-display);margin:0 0 8px}.app-card h3{font:700 15px/1.3 var(--font-display);margin:0 0 6px}.app-card p{color:#c3cdd5;margin:8px 0}.app-soon{border-color:rgba(78,230,193,.35);background:linear-gradient(180deg,rgba(78,230,193,.06),transparent 60%),var(--panel-solid,#0f151b)}.app-soon .wn-tag{margin-bottom:10px}.app-btn{height:46px;padding:0 28px;border:0;border-radius:12px;background:var(--accent,#4ee6c1);color:#04120e;font:700 15px var(--font-ui);cursor:pointer}.app-btn:disabled{background:#25323a;color:#7c8a96;cursor:default}.app-install{margin:14px 0 8px}.app-done{color:var(--accent,#4ee6c1);font-weight:600}.app-steps{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:18px}.app-list,.app-steps ol{padding-left:20px;margin:6px 0;color:#c3cdd5}.app-list li,.app-steps li{margin:6px 0}@media (max-width:640px){.app-steps{grid-template-columns:1fr}.app-card{padding:20px 18px}}.site-foot .made-by{flex:1 0 100%;display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:10px;padding-top:22px;border-top:1px dashed var(--line);color:var(--muted);text-decoration:none}.mb-small{font:500 11px var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}.mb-sig{position:relative;display:inline-block;font:700 34px/1 Caveat,cursive;color:var(--accent);padding:0 6px 10px;letter-spacing:.01em;transform:rotate(-2deg);text-shadow:0 0 22px var(--accent-glow);transition:transform .25s,text-shadow .25s}.mb-sig svg{position:absolute;left:-8px;right:-8px;bottom:-4px;width:calc(100% + 16px);height:22px;overflow:visible}.mb-ring{fill:none;stroke:var(--accent);stroke-width:.6;opacity:.22}.mb-ring.r2{opacity:.35}.mb-line{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240;animation:mb-draw 1.6s ease-out .3s forwards}.mb-dot{fill:var(--accent);opacity:0;animation:mb-dot .3s 1.7s forwards}@keyframes mb-draw{to{stroke-dashoffset:0}}@keyframes mb-dot{to{opacity:1}}.site-foot .made-by:hover .mb-sig{transform:rotate(-4deg) scale(1.06);text-shadow:0 0 30px var(--accent)}@media (prefers-reduced-motion:reduce){.mb-line{animation:none;stroke-dashoffset:0}.mb-dot{animation:none;opacity:1}}