@font-face{font-family:Archivo;src:url(/fonts/archivo-var.woff2) format("woff2-variations");
font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/fonts/plexmono-400.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--sea:#BEE0EC;--sea-deep:#9DCEDF;--sea-line:rgba(11,34,51,.13);
--ink:#0B2233;--ink-60:rgba(11,34,51,.62);--ink-35:rgba(11,34,51,.35);
--paper:#fff;--edge:rgba(11,34,51,.10);--act:#1007A1;--act-soft:rgba(16,7,161,.08);--pad:20px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--sea);color:var(--ink);font-family:Inter,system-ui,sans-serif;
font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}
.wrap{max-width:760px;margin:0 auto;padding:0 var(--pad)}
h1,h2,h3,.disp{font-family:Archivo,system-ui,sans-serif;font-variation-settings:"wdth" 112;letter-spacing:-.02em;line-height:1.03}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.02em}
a{color:inherit}
:focus-visible{outline:3px solid var(--act);outline-offset:3px;border-radius:4px}
.bar{position:sticky;top:0;z-index:30;background:rgba(190,224,236,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--sea-line)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;height:58px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.brand img.mark{width:22px;height:22px;display:block}
.brand img.wm{height:15px;width:auto;display:block}
.brand s{width:1px;height:16px;background:var(--edge);display:block;margin:0 2px}
.brand span{font-family:Archivo,sans-serif;font-weight:800;font-variation-settings:"wdth" 118;
font-size:14px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink)}
.bar .ios{font-size:13px;font-weight:600;color:var(--act);text-decoration:none}
.hero{padding:32px 0 8px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-60)}
h1{font-size:clamp(32px,8.5vw,54px);font-weight:800;margin:14px 0 12px;font-variation-settings:"wdth" 105}
.lede{font-size:16px;color:var(--ink-60);max-width:44ch}
.steps{margin:30px 0 6px}
.steps h2{font-size:22px;font-weight:800;letter-spacing:-.01em;margin-bottom:14px}
.steps ol{list-style:none;display:grid;gap:10px;counter-reset:s}
.steps li{background:var(--paper);border-radius:14px;padding:16px 18px 16px 20px;position:relative;box-shadow:0 1px 2px rgba(11,34,51,.06),0 6px 16px rgba(11,34,51,.04)}
.steps li b{display:block;font-size:17px;font-weight:700;margin-bottom:5px}
.steps li b::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;color:var(--act);letter-spacing:.1em;margin-right:10px;vertical-align:1px}
.steps li span{font-size:15px;line-height:1.5;color:var(--ink-60)}
.steps .note{font-size:13px;color:var(--ink-35);margin-top:12px}
@media(min-width:620px){.steps ol{grid-template-columns:repeat(3,1fr)}}
.chart{position:relative;margin:22px 0 6px;border-radius:18px;overflow:hidden;
background:linear-gradient(180deg,var(--sea-deep),#B4DCEA);border:1px solid var(--sea-line)}
.chart svg{display:block;width:100%;height:auto}
.grat{stroke:var(--sea-line);stroke-width:1;fill:none}
.gtxt{font-family:"IBM Plex Mono",monospace;font-size:13px;fill:var(--ink-35)}
.rtxt{font-family:Archivo,sans-serif;font-weight:700;font-size:16px;fill:rgba(11,34,51,.28);letter-spacing:.22em}
.pin circle.h{fill:#fff;opacity:0}
.pin:hover circle.h,.pin:focus circle.h{opacity:.5}
.pin[hidden]{display:none}
.legend{display:flex;gap:16px;flex-wrap:wrap;padding:12px 2px 0;font-size:12px;color:var(--ink-60)}
.legend span{display:flex;align-items:center;gap:6px}
.legend b{width:9px;height:9px;border-radius:50%;display:block}
.filters{display:flex;gap:8px;overflow-x:auto;padding:22px 0 4px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;border:1px solid var(--edge);background:var(--paper);border-radius:999px;
padding:12px 18px;font-size:14px;font-weight:500;line-height:1.35;font-family:inherit;color:var(--ink);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.count{padding:16px 2px 8px;font-size:13px;color:var(--ink-60)}
.list{display:grid;gap:10px;padding-bottom:10px;list-style:none}
.card{display:block;text-decoration:none;background:var(--paper);border-radius:14px;
padding:16px 18px 16px 20px;position:relative;overflow:hidden;
box-shadow:0 1px 2px rgba(11,34,51,.07),0 6px 18px rgba(11,34,51,.05);transition:transform .16s ease,box-shadow .16s ease}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
.card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(11,34,51,.08),0 12px 26px rgba(11,34,51,.09)}
.card h2,.card h3{font-size:20px;font-weight:700;margin-bottom:7px}
.meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-60)}
.tag{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
color:var(--c);border:1px solid var(--c);border-radius:999px;padding:3px 9px}
.coords{margin-top:11px;color:var(--ink-35);display:flex;gap:14px}
li[hidden]{display:none}
.empty{background:var(--paper);border-radius:14px;padding:28px 20px;text-align:center}
.btn{display:inline-block;background:var(--act);color:#fff;border:0;border-radius:999px;
padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--edge)}
.crumb{padding:26px 0 0;font-size:13px;color:var(--ink-60)}
.crumb a{color:var(--act);text-decoration:none}
.detail{padding:12px 0 8px}
.detail h1{font-size:clamp(30px,7.5vw,46px);margin:12px 0 14px}
.rows{margin:26px 0;border-top:1px solid var(--edge)}
.rows div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--edge);font-size:15px}
.rows dt{color:var(--ink-60)}
.rows dd{font-weight:500;text-align:right}
.panelcard{background:var(--paper);border-radius:16px;padding:22px 20px;margin:22px 0}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.near{margin-top:34px}
.near h2{font-size:20px;font-weight:700;margin-bottom:12px}
footer{margin-top:48px;padding:0 0 40px}
footer .frule{height:1px;background:var(--sea-line);margin-bottom:28px}
footer .fmark{height:22px;width:auto;display:block;margin-bottom:18px;opacity:.9}
footer .disp{font-size:22px;font-weight:800;margin-bottom:8px}
footer p{font-size:14px;color:var(--ink-60);max-width:46ch;margin-bottom:18px}
.legal{margin-top:16px;display:flex;gap:18px;flex-wrap:wrap}
.legal a{font-size:13px;color:var(--ink-60);text-decoration:none}
.legal a:hover{color:var(--act)}
.tiny{margin-top:24px;font-size:12px;color:var(--ink-35);letter-spacing:.1em;text-transform:uppercase}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.doc{max-width:680px;margin:0 auto;padding:0 20px 60px}
.doc h1{font-size:clamp(30px,7vw,44px);font-weight:800;margin:34px 0 10px}
.doc .eff{font-size:13px;color:var(--ink-35);letter-spacing:.02em;margin-bottom:30px}
.doc h2{font-size:20px;font-weight:700;margin:34px 0 10px}
.doc p,.doc li{font-size:16px;line-height:1.62;color:rgba(11,34,51,.80);margin-bottom:12px}
.doc ul{padding-left:22px}
.doc li{margin-bottom:8px}
.doc a{color:var(--act)}
.doc .box{background:var(--paper);border-radius:14px;padding:20px 22px;margin:24px 0}
.doc .box p:last-child{margin-bottom:0}
.doc .toc{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;padding:0 0 6px}
.doc .toc a{text-decoration:none;font-weight:600}