:root{--surface-2:var(--surface-secondary);--surface-3:var(--surface-tertiary);--font-display:var(--font-bricolage-grotesque,"Bricolage Grotesque", system-ui, sans-serif);--display-weight:400}.c-wrap{max-width:1320px;margin:0 auto;padding:0 32px}.pg-page{padding:56px 0 120px}.pg-head{grid-template-columns:1fr auto;align-items:flex-end;gap:32px;margin-bottom:64px;display:grid}.pg-head .crumbs{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);gap:10px;margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:flex}.pg-head .crumbs a{color:var(--muted);text-decoration:none}.pg-head .crumbs a:hover{color:var(--foreground)}.pg-head h1{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(48px,7vw,120px);line-height:.92;font-weight:var(--display-weight);margin:0}.pg-head h1 em{color:var(--accent);font-style:italic}.pg-head .lede{color:var(--ink-dim);max-width:540px;margin-top:22px;font-size:17px;line-height:1.55}.pg-head .meta{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:right;max-width:220px;font-family:JetBrains Mono,monospace;font-size:10.5px;line-height:1.7}.pg-head .meta b{font-family:var(--font-display);letter-spacing:-.01em;color:var(--foreground);margin-bottom:6px;font-size:26px;font-weight:500;display:block}.btn{letter-spacing:.005em;font-size:14px;font-family:var(--font-display);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;text-decoration:none;transition:transform .2s,background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--foreground);color:var(--background)}.btn-primary:hover{background:var(--accent);color:var(--accent-foreground)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-ghost{color:var(--foreground);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.ph{background:var(--surface-secondary);background-image:repeating-linear-gradient(135deg, var(--separator) 0, var(--separator) 1px, transparent 1px, transparent 9px);border-radius:4px;position:relative;overflow:hidden}.pg-sec-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--separator);margin-bottom:28px;padding-bottom:14px;font-family:JetBrains Mono,monospace;font-size:10.5px}.pg-info-card{border:1px solid var(--separator);border-radius:6px;flex-direction:column;gap:12px;padding:28px;transition:transform .2s;display:flex;overflow:hidden}.pg-info-card:hover{transform:translateY(-2px)}.pg-field{flex-direction:column;gap:6px;display:flex}.pg-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px;display:block}.pg-input{border:1px solid var(--separator);background:var(--field-background);width:100%;color:var(--field-foreground);font-size:14px;font-family:var(--font-display);appearance:none;border-radius:6px;outline:none;padding:12px 16px;transition:border-color .15s}.pg-input:focus{border-color:var(--accent)}.pg-input::placeholder{color:var(--field-placeholder)}.pg-field-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.pg-error{color:var(--danger);margin-top:2px;font-size:11.5px}.pg-form-section{border-top:1px solid var(--separator);padding:32px 0}.pg-form-section:first-of-type{border-top:none;padding-top:0}.pg-submit-row{border-top:1px solid var(--separator);justify-content:flex-end;align-items:center;gap:18px;margin-top:12px;padding-top:32px;display:flex}.pg-confirm{text-align:center;padding:80px 0}.pg-confirm .ok-mark{border:1.5px solid var(--separator);width:48px;height:48px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;font-size:22px;display:flex}.pg-confirm h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(28px,4vw,48px);font-weight:var(--display-weight);margin:0 0 10px}.pg-confirm .ref{letter-spacing:.06em;color:var(--accent);margin:14px 0;font-family:JetBrains Mono,monospace;font-size:18px}.pg-confirm .sub{color:var(--ink-dim);max-width:400px;margin:0 auto;font-size:15px;line-height:1.6}.pg-prose{max-width:760px}.pg-prose h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(22px,3vw,32px);font-weight:var(--display-weight);margin:56px 0 14px}.pg-prose h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(16px,2vw,20px);font-weight:var(--display-weight);color:var(--foreground);margin:32px 0 10px}.pg-prose p{color:var(--ink-dim);margin-bottom:18px;font-size:15px;line-height:1.65}.pg-prose ul{color:var(--ink-dim);margin-bottom:18px;padding-left:22px;font-size:15px;line-height:1.65;list-style:outside}.pg-prose hr{border:none;border-top:1px solid var(--separator);margin:48px 0}.pg-about-hero{aspect-ratio:16/7;border-radius:6px;margin:0 0 96px;position:relative;overflow:hidden}.pg-filter-strip{flex-wrap:wrap;gap:8px;margin-bottom:40px;display:flex}.leaflet-popup-content-wrapper{background:var(--background)!important;color:var(--foreground)!important;border:1px solid var(--separator)!important;border-radius:6px!important;box-shadow:0 4px 24px #0000002e!important}.leaflet-popup-tip-container .leaflet-popup-tip{background:var(--background)!important;box-shadow:none!important}.leaflet-popup-close-button{color:var(--muted)!important}.leaflet-popup-close-button:hover{color:var(--foreground)!important}.lf-popup{padding:2px 0;font-family:system-ui,sans-serif}.lf-popup-name{color:var(--foreground);margin-bottom:4px;font-size:13px;font-weight:600}.lf-popup-meta{color:var(--muted);font-size:11px;font-family:var(--font-jetbrains-mono,monospace);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.lf-popup-link{color:var(--accent);font-size:11px;text-decoration:underline}.leaflet-bar a{background:var(--background)!important;color:var(--foreground)!important;border-color:var(--separator)!important}.leaflet-bar a:hover{background:var(--surface-secondary)!important}@media (max-width:1080px){.pg-head{grid-template-columns:1fr}.pg-head .meta{text-align:left}}@media (max-width:680px){.c-wrap{padding:0 20px}.pg-page{padding:40px 0 80px}.pg-head{margin-bottom:44px}.pg-head h1{font-size:clamp(40px,12vw,80px)}.pg-field-grid{grid-template-columns:1fr}.pg-submit-row{flex-direction:column;align-items:stretch}.pg-submit-row .btn{text-align:center;justify-content:center}.pg-about-hero{aspect-ratio:16/9;margin-bottom:48px}}@media (max-width:480px){.c-wrap{padding:0 16px}.pg-page{padding:32px 0 64px}.pg-head h1{font-size:clamp(32px,11vw,48px)}}.theme-toggle{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--separator);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:10.5px;transition:color .15s,border-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--foreground);border-color:var(--foreground)}.nav-cta{border:1px solid var(--foreground);letter-spacing:.01em;color:var(--foreground);background:0 0;border-radius:999px;padding:9px 18px;font-size:13.5px;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.nav-cta:hover{background:var(--foreground);color:var(--background)}.mosaic-tile{transition:translate .3s}.mosaic-tile:hover{translate:0 var(--tile-hover,-4px)}@media (min-width:768px){.mosaic-tile{translate:0 var(--tile-base,0)}.mosaic-tile:hover{translate:0 var(--tile-hover,-4px)}}
:root{--rv-ease:cubic-bezier(.16, 1, .3, 1);--rv-ease-soft:cubic-bezier(.33, .9, .35, 1);--rv-dur:.9s;--rv-stagger:80ms;--hero-glow-1:#00b66f8c;--hero-glow-2:#0094966b;--hero-glow-3:#84bf4b52;--hero-glow-blur:72px;--hero-glow-opacity:.85;--hero-shadow:#00885657;--hero-shadow-ambient:#11343729;--splash-base:#e6f7f8;--splash-c1:#30c8839e;--splash-c2:#00baca8c;--splash-c3:#fbbd6e7a;--splash-blob-blur:90px;--splash-vignette:#cce3e499;--splash-grain-opacity:.05;--splash-track:#0f1d1f29}@supports (color:lab(0% 0 0)){:root{--hero-glow-1:lab(65.3422% -63.4856 27.8897/.55);--hero-glow-2:lab(54.944% -42.1916 -13.46/.42);--hero-glow-3:lab(71.5111% -34.157 50.5219/.32);--hero-shadow:lab(49.7588% -50.9048 19.8944/.34);--hero-shadow-ambient:lab(19.1668% -12.198 -5.85638/.16);--splash-base:lab(96.1192% -5.69528 -2.38674);--splash-c1:lab(71.9362% -52.605 23.1494/.62);--splash-c2:lab(68.6378% -38.3281 -20.4231/.55);--splash-c3:lab(81.3321% 16.5721 48.6709/.48);--splash-vignette:lab(88.6484% -7.90569 -3.30745/.6);--splash-track:lab(9.70558% -6.13675 -2.95454/.16)}}.dark,[data-theme=dark]{--hero-glow-1:#00cb7f6b;--hero-glow-2:#00a7a957;--hero-glow-3:#94d4573d;--hero-glow-blur:84px;--hero-glow-opacity:1;--hero-shadow:#00bd7947;--hero-shadow-ambient:#00000080;--splash-base:#000506;--splash-c1:#00a35e9e;--splash-c2:#00809394;--splash-c3:#b2640066;--splash-blob-blur:100px;--splash-vignette:#000101b8;--splash-grain-opacity:.075;--splash-track:#ffffff29}@supports (color:lab(0% 0 0)){.dark,[data-theme=dark]{--hero-glow-1:lab(72.4359% -66.6618 29.2923/.42);--hero-glow-2:lab(62.1087% -48.6813 -15.5044/.34);--hero-glow-3:lab(78.5806% -36.3362 53.4915/.24);--hero-shadow:lab(67.5559% -60.8161 23.7986/.28);--hero-shadow-ambient:lab(0% 0 0/.5);--splash-base:lab(1.09285% -1.42769 -.877526);--splash-c1:lab(58.371% -63.9712 28.0828/.62);--splash-c2:lab(48.8259% -39.977 -30.702/.58);--splash-c3:lab(50.7053% 28.9496 63.7816/.4);--splash-vignette:lab(.204334% -.278056 -.172934/.72);--splash-track:lab(100% 0 0/.16)}}@keyframes rv-up{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes rv-fade{0%{opacity:0}to{opacity:1}}@keyframes rv-scale{0%{opacity:0;transform:scale(.955)}to{opacity:1;transform:none}}@keyframes rv-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:none}}@keyframes rv-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}@keyframes rv-blur{0%{opacity:0;filter:blur(12px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:none}}@keyframes rv-frame{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:none}}[data-reveal]{opacity:0}[data-reveal][data-revealed=true]{animation:var(--rv-name,rv-up) var(--rv-dur) var(--rv-ease) var(--rv-delay,0s) both}[data-reveal-group]>*{opacity:0}[data-reveal-group][data-revealed=true]>*{animation:var(--rv-name,rv-up) var(--rv-dur) var(--rv-ease) calc(var(--rv-base,0s) + var(--rv-stagger) * var(--rv-i,0)) both}[data-reveal-group]>:first-child{--rv-i:0}[data-reveal-group]>:nth-child(2){--rv-i:1}[data-reveal-group]>:nth-child(3){--rv-i:2}[data-reveal-group]>:nth-child(4){--rv-i:3}[data-reveal-group]>:nth-child(5){--rv-i:4}[data-reveal-group]>:nth-child(6){--rv-i:5}[data-reveal-group]>:nth-child(7){--rv-i:6}[data-reveal-group]>:nth-child(8){--rv-i:7}[data-reveal-group]>:nth-child(9){--rv-i:8}[data-reveal-group]>:nth-child(10){--rv-i:9}[data-reveal-group]>:nth-child(11){--rv-i:10}[data-reveal-group]>:nth-child(12){--rv-i:11}[data-reveal-group]>:nth-child(n+13){--rv-i:12}html[data-splash=active] .hero-frame,html[data-splash=active] .hero-media,html[data-splash=active] .hero-glow,html[data-splash=active] .hero-rise{animation-play-state:paused}.hero-shell{isolation:isolate;position:relative}.hero-glow{z-index:0;pointer-events:none;background:radial-gradient(58% 62% at 26% 62%, var(--hero-glow-1), transparent 72%), radial-gradient(56% 58% at 74% 44%, var(--hero-glow-2), transparent 72%), radial-gradient(46% 50% at 52% 88%, var(--hero-glow-3), transparent 74%);filter:blur(var(--hero-glow-blur));opacity:0;animation:hero-glow-in 1.7s var(--rv-ease) .2s both;border-radius:50%;position:absolute;inset:16% clamp(20px,6vw,90px) -5%}@keyframes hero-glow-in{0%{opacity:0;transform:scale(.82)translateY(30px)}to{opacity:var(--hero-glow-opacity);transform:none}}.hero-frame{z-index:1;box-shadow:0 34px 90px -34px var(--hero-shadow), 0 10px 34px -18px var(--hero-shadow-ambient);animation:hero-frame-in 1.25s var(--rv-ease) both;position:relative}@keyframes hero-frame-in{0%{opacity:0;border-radius:30px;transform:translateY(26px)scale(.955)}to{opacity:1;border-radius:.75rem;transform:none}}.hero-media{animation:hero-media-in 2.1s var(--rv-ease) both;position:absolute;inset:0}@keyframes hero-media-in{0%{transform:scale(1.16)}to{transform:scale(1)}}.hero-rise{animation:hero-rise .9s var(--rv-ease) var(--hero-rise-delay,0s) both}@keyframes hero-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.cookie-banner{animation:cookie-in .78s var(--rv-ease) both}.cookie-banner[data-leaving=true]{animation:cookie-out .32s var(--rv-ease-soft) both}@keyframes cookie-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes cookie-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(100%)}}html[data-splash=active]{overflow:hidden}html[data-splash=seen] .splash{display:none}.splash{z-index:10000;isolation:isolate;background:var(--splash-base);place-items:center;padding:24px;animation:.7s 14s forwards splash-failsafe;display:grid;position:fixed;inset:0;overflow:hidden}.splash[data-leaving=true]{animation:splash-out .76s var(--rv-ease) forwards}@keyframes splash-failsafe{0%{opacity:1}to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes splash-out{0%{opacity:1}to{opacity:0;visibility:hidden;pointer-events:none}}.splash-field{pointer-events:none;animation:splash-field-in 1.4s var(--rv-ease) both;position:absolute;inset:0;overflow:hidden}.splash-field:after{content:"";background:radial-gradient(122% 92% at 50% 42%, transparent 38%, var(--splash-vignette) 100%);position:absolute;inset:0}.splash-blob{filter:blur(var(--splash-blob-blur));border-radius:50%;position:absolute}.splash-blob-1{background:radial-gradient(circle, var(--splash-c1), transparent 66%);width:78vmax;height:78vmax;animation:19s ease-in-out infinite alternate splash-drift-1,11s ease-in-out infinite splash-breathe;top:-30vmax;left:-24vmax}.splash-blob-2{background:radial-gradient(circle, var(--splash-c2), transparent 66%);width:72vmax;height:72vmax;animation:23s ease-in-out infinite alternate splash-drift-2,13s ease-in-out -4s infinite splash-breathe;top:-14vmax;right:-28vmax}.splash-blob-3{background:radial-gradient(circle, var(--splash-c3), transparent 68%);width:64vmax;height:64vmax;animation:17s ease-in-out infinite alternate splash-drift-3,9s ease-in-out -7s infinite splash-breathe;bottom:-30vmax;left:18%}.splash-grain{pointer-events:none;opacity:var(--splash-grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes splash-field-in{0%{opacity:0}to{opacity:1}}@keyframes splash-drift-1{0%{transform:translate(0,0)scale(1)}to{transform:translate(16vmax,10vmax)scale(1.14)}}@keyframes splash-drift-2{0%{transform:translate(0,0)scale(1.08)}to{transform:translate(-14vmax,14vmax)scale(.94)}}@keyframes splash-drift-3{0%{transform:translate(0,0)scale(.96)}to{transform:translate(12vmax,-12vmax)scale(1.16)}}@keyframes splash-breathe{0%,to{opacity:.55}50%{opacity:1}}.splash-card{z-index:1;text-align:center;width:min(420px,100%);animation:splash-card-in 1.1s var(--rv-ease) .12s both;padding:0 20px;position:relative}.splash[data-leaving=true] .splash-card{animation:splash-card-out .62s var(--rv-ease) forwards}@keyframes splash-card-in{0%{opacity:0;transform:translateY(22px)scale(.94)}to{opacity:1;transform:none}}@keyframes splash-card-out{0%{opacity:1;filter:blur();transform:none}to{opacity:0;filter:blur(6px);transform:scale(1.05)}}.splash-mark{animation:splash-mark-in 1.2s var(--rv-ease) .26s both;justify-content:center;align-items:center;display:inline-flex;position:relative}.splash-mark:before{content:"";filter:blur(16px);background:radial-gradient(circle,#00c37b6b,#0000 68%);background:radial-gradient(circle,lab(69.8644% -59.6775 26.2377/.42),#0000 68%);border-radius:50%;animation:3.4s ease-in-out infinite splash-halo;position:absolute;inset:-46%}.splash-mark img{z-index:1;position:relative}@keyframes splash-mark-in{0%{opacity:0;filter:blur(8px);transform:scale(.72)}to{opacity:1;filter:blur();transform:none}}@keyframes splash-halo{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}.splash-wordmark{animation:splash-rise .9s var(--rv-ease) .46s both}.splash-rule{animation:splash-rule .9s var(--rv-ease) .62s both;transform-origin:50%}@keyframes splash-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes splash-rule{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:none}}.splash-lines{height:58px;position:relative}.splash-line{opacity:0;animation:splash-line 6.8s var(--rv-ease) infinite both;animation-delay:calc(.76s + 1.7s * var(--i,0));justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@keyframes splash-line{0%{opacity:0;filter:blur(7px);transform:translateY(15px)}5%{opacity:1;filter:blur();transform:none}20%{opacity:1;filter:blur();transform:none}25%{opacity:0;filter:blur(7px);transform:translateY(-15px)}to{opacity:0;filter:blur(7px);transform:translateY(15px)}}.splash-bar{background:var(--splash-track);height:3px;animation:splash-rise .9s var(--rv-ease) .7s both;border-radius:999px;position:relative;overflow:hidden}.splash-bar-fill{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg, var(--accent), #00cb7f);width:100%;height:100%;animation:7.2s cubic-bezier(.12,.78,.3,1) .7s both splash-fill;display:block;transform:scaleX(0)}@supports (color:lab(0% 0 0)){.splash-bar-fill{background:linear-gradient(90deg, var(--accent), lab(72.1872% -59.575 26.1974))}}.splash-bar:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#0000,#fff9,#0000);background:linear-gradient(90deg,#0000,lab(100% 0 0/.6),#0000);width:38%;animation:1.9s ease-in-out .9s infinite splash-comet;position:absolute;inset:0}@keyframes splash-fill{0%{transform:scaleX(.015)}18%{transform:scaleX(.34)}46%{transform:scaleX(.63)}to{transform:scaleX(.92)}}@keyframes splash-comet{0%{transform:translate(-110%)}to{transform:translate(320%)}}.splash-meta{animation:splash-rise .9s var(--rv-ease) .82s both}@media (prefers-reduced-motion:reduce){[data-reveal],[data-reveal-group]>*,.hero-frame,.hero-media,.hero-rise,.cookie-banner,.cookie-banner[data-leaving=true]{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.hero-glow{opacity:var(--hero-glow-opacity);animation:none!important;transform:none!important}.splash-field,.splash-blob{opacity:1!important;animation:none!important;transform:none!important}.splash,.splash-card,.splash-mark,.splash-wordmark,.splash-rule,.splash-bar,.splash-meta{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.splash-mark:before,.splash-bar:after{animation:none!important}.splash-line{opacity:0;filter:none!important;animation:none!important;transform:none!important}.splash-line:first-child{opacity:1}.splash-bar-fill{transform:scaleX(.35);animation:none!important}.splash[data-leaving=true]{opacity:0!important;visibility:hidden!important;pointer-events:none!important}}
