@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_4f441b93-module__MrqnNq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_4f441b93-module__MrqnNq__variable{--font-display-loader:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_595f422f-module__dWlTPq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_595f422f-module__dWlTPq__variable{--font-body-loader:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_36834dc8-module__AC-A4q__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_36834dc8-module__AC-A4q__variable{--font-mono-loader:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ink:#f8fafc;--paper:#0b0f17;--surface:#111827;--surface-2:#1e293b;--line:#ffffff14;--muted:#94a3b8;--accent:#10b981;--accent-ink:#34d399;--accent-soft:#10b98126;--accent-2:#06b6d4;--accent-2-soft:#06b6d426;--accent-glow:#10b98159;--good:#34d399;--good-soft:#10b98126;--warn:#fbbf24;--warn-soft:#f59e0b26;--bad:#f87171;--bad-soft:#ef444426;--shadow:0 1px 2px #0006, 0 20px 40px -20px #000000b3;--font-display:var(--font-display-loader), system-ui, sans-serif;--font-body:var(--font-body-loader), system-ui, sans-serif;--font-mono:var(--font-mono-loader), ui-monospace, monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px}:root[data-theme=light]{--ink:#121a1f;--paper:#f4f7f6;--surface:#fff;--surface-2:#eaf0ef;--line:#d8e0de;--muted:#5c6a6c;--accent:#0e8f86;--accent-ink:#063c38;--accent-soft:#dcf1ee;--accent-2:#0891b2;--accent-2-soft:#d9f1f6;--accent-glow:#0e8f8638;--good:#2f9e5b;--good-soft:#e1f4e8;--warn:#b8791a;--warn-soft:#fbedd6;--bad:#c1433f;--bad-soft:#fbe4e2;--shadow:0 1px 2px #121a1f0f, 0 12px 32px -16px #121a1f47}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;padding:0}button,input,select,textarea{color:inherit;font-family:inherit}a{color:inherit}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-main{flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto;padding:0 16px 32px;display:flex}.app-main.wide{max-width:860px}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(20px);z-index:20;align-items:center;gap:10px;padding:14px 16px;display:flex;position:sticky;top:0}.topbar.stacked{flex-direction:column;align-items:stretch;gap:0;padding:0}.topbar-main{align-items:center;gap:10px;min-width:0;padding:12px 16px;display:flex}.topbar-sub{align-items:center;gap:10px;min-width:0;padding:0 16px 10px;display:flex}.topbar-actions{flex:none;align-items:center;gap:8px;display:flex}.logo{background:var(--accent);border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.logo svg{width:17px;height:17px;stroke:var(--surface)}.wordmark{font:700 var(--text-md)/1 var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar .spacer{flex:1}.who{flex:auto;align-items:baseline;gap:4px;min-width:0;display:flex;overflow:hidden}.who strong{font:600 var(--text-sm) var(--font-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.who span{font:400 var(--text-2xs) var(--font-body);color:var(--muted);white-space:nowrap;flex:none}.iconbtn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:40px;height:40px;color:var(--ink);border-radius:12px;flex:none;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex}.iconbtn svg{stroke:currentColor;width:18px;height:18px}.iconbtn:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent-2) 45%, var(--line))}.iconbtn-sm{border-radius:8px;width:26px;height:26px}.iconbtn-sm svg{width:12px;height:12px}.iconbtn:focus-visible,button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{font:600 var(--text-sm) var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;display:inline-flex}.btn-primary{background:var(--accent);color:var(--paper);transition:filter .15s,box-shadow .15s,transform .1s;box-shadow:0 0 #0000}.btn-primary:hover{filter:brightness(1.06);box-shadow:0 0 20px var(--accent-glow)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.55;cursor:progress;box-shadow:none}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-ghost:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent-2) 40%, var(--line))}.btn-danger{background:var(--bad);color:#fff}.btn-block{width:100%}.btn-sm{font-size:var(--text-xs);padding:6px 10px}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.back-link{cursor:pointer;color:var(--muted);font:600 var(--text-sm) var(--font-body);background:0 0;border:0;align-items:center;gap:8px;width:fit-content;padding:0;display:flex}.search-row{background:var(--surface-2);border:1.5px solid var(--line);border-radius:16px;align-items:center;gap:10px;padding:14px;transition:border-color .15s,box-shadow .15s;display:flex}.search-row:focus-within{border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-2-soft)}.search-row.sm{background:var(--surface);border-radius:12px;padding:10px 12px}.search-row input{font:500 var(--text-md) var(--font-body);color:var(--ink);background:0 0;border:0;outline:none;width:100%}.avatar-tile{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.4s}}.icon-pulse{animation:1.6s ease-in-out infinite iconPulse}@keyframes iconPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.icon-pulse{opacity:.85;animation:none}}.icon-rise{animation:.25s ease-out iconRise}@keyframes iconRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.icon-rise{animation:none}}.dot-live{background:var(--good);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block;position:relative}.dot-live:after{content:"";background:var(--good);opacity:.45;border-radius:50%;animation:1.6s ease-out infinite dotLive;position:absolute;inset:-4px}@media (prefers-reduced-motion:reduce){.dot-live:after{opacity:0;animation:none}}@keyframes dotLive{0%{opacity:.5;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.card-enter{animation:.18s ease-out cardEnter}@keyframes cardEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.card-enter{animation:none}}.skeleton{background:var(--surface-2);border-radius:8px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:1.4s infinite skeletonShimmer;position:absolute;inset:0;transform:translate(-100%)}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none;display:none}}@keyframes skeletonShimmer{to{transform:translate(100%)}}.pill{font:600 10.5px/1 var(--font-body);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:100px;padding:4px 8px;display:inline-block}.pill-good{background:var(--good-soft);color:var(--good);border-color:color-mix(in srgb, var(--good) 30%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--good) 25%, transparent)}.pill-bad{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb, var(--bad) 30%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--bad) 20%, transparent)}.pill-warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 30%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--warn) 20%, transparent)}.pill-neutral{background:var(--surface-2);color:var(--muted)}.card{background:color-mix(in srgb, var(--surface) 80%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);border-radius:18px;flex-direction:column;gap:10px;padding:16px;display:flex}.card h4{font:700 var(--text-md) var(--font-display);align-items:center;gap:8px;margin:0;display:flex}.card h4 svg{width:16px;height:16px;stroke:var(--accent)}.kv{font-size:var(--text-xs);grid-template-columns:auto 1fr;gap:6px 12px;display:grid}.kv dt{color:var(--muted)}.kv dd{font:500 var(--text-xs) var(--font-body);text-align:right;margin:0}.field{flex-direction:column;gap:5px;display:flex}.field label{font:600 var(--text-2xs) var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{font:500 16px var(--font-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;width:100%;padding:11px 13px}.field textarea{resize:vertical;font-family:var(--font-body)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-2-soft);outline:none}.result-ok{background:var(--good-soft);color:var(--good);font:600 var(--text-sm) var(--font-body);border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.result-ok.bad{background:var(--bad-soft);color:var(--bad)}.result-ok.neutral{background:var(--surface-2);color:var(--muted)}.result-ok svg{stroke:currentColor;flex:none;width:18px;height:18px;margin-top:1px}.list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.list-row:last-child{border-bottom:0}.list-row .lmeta strong{font:600 var(--text-sm) var(--font-body);display:block}.list-row .lmeta span{font:400 var(--text-2xs) var(--font-mono);color:var(--muted)}.list-row .lval{font:700 var(--text-md) var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.code-box{background:var(--surface);border:1px dashed var(--line);border-radius:10px;align-items:center;gap:8px;padding:9px 10px;display:flex}.code-box code{font:500 var(--text-2xs) var(--font-mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.toast{background:var(--ink);color:var(--paper);font:600 var(--text-sm) var(--font-body);box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:50;border-radius:100px;padding:11px 18px;transition:opacity .18s,transform .18s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(12px)}.toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}table{border-collapse:collapse;width:100%;font-size:var(--text-xs)}th{text-align:left;font:600 var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:0 8px 8px 0}td{border-bottom:1px solid var(--line);font:500 var(--text-xs) var(--font-body);padding:9px 8px 9px 0}.table-wrap{overflow-x:auto}.modal-overlay{z-index:100;background:#0c121480;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:480px;max-height:82dvh;box-shadow:var(--shadow);border-radius:18px 18px 0 0;flex-direction:column;display:flex;overflow:hidden}@media (min-width:560px){.modal-overlay{align-items:center;padding:20px}.modal{border-radius:18px;max-height:min(600px,86dvh)}}.modal-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;display:flex}.modal-header h4{font:700 var(--text-md) var(--font-display);margin:0}.modal-body{flex-direction:column;gap:12px;padding:16px 18px 22px;display:flex;overflow-y:auto}.section-label{font:600 var(--text-2xs)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.geogrid-pin,.geogrid-gps-marker{background:0 0;border:none}.geogrid-gps-dot{background:var(--accent);border:2px solid var(--surface);width:14px;height:14px;box-shadow:0 0 0 2px var(--accent), var(--shadow);border-radius:50%;display:block}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface);color:var(--ink)}.leaflet-popup-content-wrapper{border-radius:12px}.leaflet-container{background:var(--surface-2);font:500 var(--text-sm) var(--font-body)}.view-area{padding-bottom:84px}.tabbar{z-index:30;max-width:480px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);justify-content:center;gap:2px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-item{min-width:0;color:var(--muted);cursor:pointer;font:600 10px/1.1 var(--font-body);letter-spacing:.01em;white-space:nowrap;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:8px 2px;display:flex}.tabbar-item svg{stroke:currentColor;width:20px;height:20px}.tabbar-item span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.tabbar-item.active{color:var(--accent-ink)}.tabbar-item.active svg{filter:drop-shadow(0 0 6px var(--accent-glow))}
