@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-ext-400-normal-CXAzuTZb.woff2)format("woff2"),url(/assets/figtree-latin-ext-400-normal-Gbh-3PTk.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-ext-500-normal-Du0rIuHj.woff2)format("woff2"),url(/assets/figtree-latin-ext-500-normal-BOEJvrb_.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-500-normal-BWnGEVsr.woff2)format("woff2"),url(/assets/figtree-latin-500-normal-B_yy1phn.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-ext-600-normal-DJlfifZj.woff2)format("woff2"),url(/assets/figtree-latin-ext-600-normal-CQqsimlV.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-ext-700-normal-CS4sQkGV.woff2)format("woff2"),url(/assets/figtree-latin-ext-700-normal-BoDi4KL2.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2)format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/syne-greek-600-normal-BpFII5Ja.woff2)format("woff2"),url(/assets/syne-greek-600-normal-BJs4kvyH.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/syne-latin-ext-600-normal-ZnizrDKU.woff2)format("woff2"),url(/assets/syne-latin-ext-600-normal-DEzBMW8B.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/syne-latin-600-normal-BiwQbQXw.woff2)format("woff2"),url(/assets/syne-latin-600-normal-dRu9QuIh.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-greek-700-normal-RbvlO3f8.woff2)format("woff2"),url(/assets/syne-greek-700-normal-C01yjWE_.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-ext-700-normal-DuyXglMe.woff2)format("woff2"),url(/assets/syne-latin-ext-700-normal-C-qCH-vM.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-700-normal-AF3Rs61n.woff2)format("woff2"),url(/assets/syne-latin-700-normal-Cd-_iCn5.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-greek-800-normal-n2LZS_yH.woff2)format("woff2"),url(/assets/syne-greek-800-normal-DtzFnRR0.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-ext-800-normal-CAQAsWuS.woff2)format("woff2"),url(/assets/syne-latin-ext-800-normal-B2iBRfEf.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-800-normal-EehdNYzx.woff2)format("woff2"),url(/assets/syne-latin-800-normal-BuJcbPcX.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");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}.install-prompt{margin:0 calc(-1 * var(--pad)) .75rem;padding:.55rem var(--pad);width:calc(100% + 2 * var(--pad));border-bottom:1px solid color-mix(in srgb, var(--pine) 16%, var(--line));background:color-mix(in srgb, var(--surface) 70%, var(--accent-soft));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;max-width:none;display:flex}.install-prompt-copy{min-width:min(100%,16rem);color:var(--pine);flex-direction:column;flex:14rem;gap:.15rem;font-size:.9rem;line-height:1.35;display:flex}.install-prompt-copy strong{font-family:var(--display);font-size:.98rem;font-weight:650}.install-prompt-copy span{color:var(--muted);font-size:.84rem}.install-prompt-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.install-prompt-primary{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--pine) 35%, var(--line));background:var(--pine);color:#f4f7f1;font:inherit;cursor:pointer;margin:0;padding:.4rem .85rem;font-size:.85rem;font-weight:650;text-decoration:none}.install-prompt-primary:hover{background:var(--pine-soft)}.install-prompt-dismiss{border-radius:var(--radius-sm);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:.4rem .65rem;font-size:.82rem}.install-prompt-dismiss:hover{color:var(--pine)}.route-crash{border:1px solid var(--line);border-left:4px solid var(--hi-vis);border-radius:var(--radius);background:var(--surface);flex-direction:column;align-items:flex-start;gap:.7rem;margin:.5rem 0 1rem;padding:1.2rem 1.1rem 1.2rem 1rem;display:flex}.route-crash-title{font-family:var(--font);color:var(--pine);margin:0;font-size:1.25rem;line-height:1.2}.route-crash-body{color:var(--ink);margin:0;line-height:1.5}.legal{color:#e8efe4;background:radial-gradient(80% 50% at 10% 0,#b543081f,#0000 55%),linear-gradient(165deg,#1d3529 0%,#16241b 45%,#0f1a14 100%);min-height:100dvh}.legal-top{border-bottom:1px solid #e8efe41f;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.legal-brand{color:inherit;font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.55rem;font-weight:700;text-decoration:none;display:inline-flex}.legal-brand-mark{width:1.75rem;height:1.75rem;display:inline-flex}.legal-sign-in{color:#ff7a33;font-weight:600;text-decoration:none}.legal-main{max-width:40rem;margin:0 auto;padding:2rem 1.25rem 3rem}.legal-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ff7a33;margin:0 0 .35rem;font-size:.75rem}.legal-main h1{font-family:var(--display);letter-spacing:.02em;margin:0 0 .35rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.legal-updated{color:#e8efe4a6;margin:0 0 1.5rem;font-size:.9rem}.legal-lede{color:#e8efe4e6;margin:0 0 1.5rem;line-height:1.55}.legal-section{margin:0 0 1.35rem}.legal-section h2{font-size:1.05rem;font-family:var(--display);letter-spacing:.03em;text-transform:uppercase;color:#ffb48a;margin:0 0 .4rem}.legal-section p{color:#e8efe4e0;margin:0;line-height:1.55}.legal-close{color:#e8efe4e0;margin:1.5rem 0 0;line-height:1.55}.legal-close a{color:#ff7a33}.legal-footer{border-top:1px solid #e8efe41f;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:1.25rem;font-size:.9rem;display:flex}.legal-footer a{color:#ff7a33;text-decoration:none}.legal-footer p{text-align:center;color:#e8efe48c;width:100%;margin:0;font-size:.8rem}.notfound{min-height:100dvh;color:var(--ink)}.notfound-top{max-width:var(--max);padding:1.1rem var(--pad) .4rem;align-items:center;margin:0 auto;display:flex}.notfound-brand{color:inherit;align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.notfound-brand-mark{width:2.55rem;height:2.55rem;color:var(--pine);background:#fff4e8;border-radius:.7rem;place-items:center;font-size:1.55rem;display:grid;box-shadow:0 2px 10px #16241b1f}.notfound-brand-name{font-family:var(--font);letter-spacing:-.02em;color:var(--pine);font-size:1.05rem;font-weight:800}.notfound-main{max-width:var(--max);padding:2.2rem var(--pad) 3rem;flex-direction:column;align-items:flex-start;gap:.85rem;margin:0 auto;display:flex}.notfound-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--hi-vis);margin:0;font-size:.72rem;font-weight:700}.notfound-main h1:after{content:"";background:var(--hi-vis);border-radius:999px;width:2.25rem;height:3px;margin-top:.45rem;display:block}.notfound-body{max-width:36rem;margin:0;line-height:1.55}.notfound-actions{flex-wrap:wrap;gap:.65rem;margin-top:.35rem;display:flex}.mkt-loading{color:#f5f8f2;min-height:100dvh;font-family:var(--font);background:#102319;place-items:center;margin:0;display:grid}.mkt-loading p{margin:0}html:has(.mkt){overscroll-behavior:none;background-color:#102319;background-image:none}html:has(.mkt) body{overscroll-behavior:none;background-color:#102319;background-image:none}html:has(.mkt) #root{overscroll-behavior:none;background-color:#102319;background-image:none}.mkt{background:var(--bg);min-height:100svh;color:var(--ink);overscroll-behavior-y:none}.mkt-hero{isolation:isolate;color:#f5f8f2;background:#102319;flex-direction:column;justify-content:space-between;min-height:100svh;display:flex;position:relative}.mkt-hero-scene{z-index:0;position:absolute;inset:0;overflow:hidden}.mkt-hero-img{object-fit:cover;object-position:center 38%;will-change:transform;width:100%;height:100%;animation:18s ease-in-out infinite alternate mkt-drift;display:block}@media (width>=900px){.mkt-hero-img{object-position:center 42%}}.mkt-hero-veil{z-index:0;pointer-events:none;background:linear-gradient(#060c0a80 0%,#060c0a1f 14%,#060c0a14 42%,#060c0ae0 100%),radial-gradient(70% 45% at 50% 18%,#d9510b29,#0000 55%);position:absolute;inset:0}.mkt-hero-bar{z-index:1;width:min(100%,70rem);padding:calc(.85rem + env(safe-area-inset-top,0px)) 1.25rem .85rem;justify-content:space-between;align-items:center;gap:.85rem;margin:0 auto;display:flex;position:relative}.mkt-hero-inner{z-index:1;width:min(100%,40rem);padding:1.25rem 1.35rem calc(2.75rem + env(safe-area-inset-bottom,0px));animation:mkt-rise .64s var(--ease);flex-direction:column;align-items:flex-start;gap:.85rem;margin:0 auto;display:flex;position:relative}.mkt-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.mkt-brand-mark{width:2.55rem;height:2.55rem;color:var(--pine);background:#fff4e8;border-radius:.7rem;flex-shrink:0;place-items:center;font-size:1.55rem;display:grid;box-shadow:0 2px 10px #00000047}.mkt-brand-name{font-family:var(--font);letter-spacing:-.02em;color:#f8faf5;text-shadow:0 2px 18px #00000059;margin:0;padding-block:.08em .18em;font-size:1.05rem;font-weight:800;line-height:1.35;overflow:visible}.mkt-kicker{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, #f5f8f2 78%, var(--accent));margin:0;font-size:.72rem;font-weight:700}.mkt-headline{font-family:var(--font);letter-spacing:-.03em;color:#f8faf5;text-shadow:0 2px 18px #00000059;text-wrap:balance;margin:0;padding-block:.12em .28em;font-size:clamp(1.85rem,5.4vw,2.85rem);font-weight:700;line-height:1.5;overflow:visible}.mkt-lede{color:#ecf2ea;text-shadow:0 1px 12px #00000059;max-width:34rem;margin:0;font-size:1.05rem;line-height:1.55}.mkt-cta{flex-direction:column;align-items:flex-start;gap:.65rem;margin-top:.35rem;display:flex}.mkt-cta-note{color:#e8eee6;max-width:28rem;margin:0;font-size:.88rem;line-height:1.45}.mkt-btn{appearance:none;border-radius:var(--radius-sm);min-height:2.85rem;font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;padding:.7rem 1.35rem;font-weight:700;text-decoration:none;display:inline-flex}.mkt-btn--compact{flex-shrink:0;min-height:2.4rem;padding:.45rem .95rem;font-size:.92rem}.mkt-hero .mkt-btn--primary{color:#fff;background:#c84f11;border-color:#f4a574;box-shadow:0 2px #00000047}.mkt-hero .mkt-btn--primary:hover{color:#fff;background:#b54308}.mkt-btn--primary{background:var(--accent);color:#fff;border-color:color-mix(in srgb, var(--accent) 70%, white);box-shadow:0 2px #00000038}.mkt-btn--primary:hover{background:var(--accent-deep);color:#fff}.mkt-section{gap:1.75rem 2.5rem;max-width:1120px;margin:0 auto;padding:clamp(3rem,8vw,5rem) 1.25rem;display:grid}@media (width>=860px){.mkt-section{grid-template-columns:minmax(14rem,.9fr) minmax(0,1.4fr);align-items:center}.mkt-section--flip{grid-template-columns:minmax(0,1.4fr) minmax(14rem,.9fr)}.mkt-section--flip .mkt-section-copy{order:2}.mkt-section--flip .mkt-stage{order:1}}.mkt-section-copy h2,.mkt-field-copy h2,.mkt-close h2{font-family:var(--font);letter-spacing:-.02em;margin:0 0 .65rem;padding-block:.1em .22em;font-weight:700;line-height:1.5;overflow:visible}.mkt-section-copy h2{color:var(--pine);font-size:clamp(1.55rem,3.2vw,2rem)}.mkt-section-copy p{color:var(--muted);max-width:28rem;margin:0;font-size:1.05rem;line-height:1.55}.mkt-stage{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(165deg, #ffffff8c, transparent 40%), var(--surface);animation:mkt-rise .7s var(--ease) both;overflow:hidden;box-shadow:0 18px 40px #16281e1a}.mkt-stage-chrome{border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--pine) 94%, black);align-items:center;padding:.7rem 1rem;display:flex}.mkt-stage-label{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, #f5f8f2 75%, var(--accent));padding-block:.06em .12em;font-size:.72rem;font-weight:700;line-height:1.35}.mkt-session-list,.mkt-focus-list{gap:.65rem;margin:0;padding:1rem;list-style:none;display:grid}.mkt-session-list li,.mkt-focus-list li{border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, white);flex-direction:column;gap:.2rem;padding:.75rem .85rem;display:flex}.mkt-session-list strong,.mkt-focus-list strong,.mkt-dog-card strong{font-family:var(--font);color:var(--pine);padding-block:.06em .16em;font-size:1.05rem;font-weight:700;line-height:1.45;overflow:visible}.mkt-session-list span,.mkt-focus-list span{color:var(--muted);font-size:.88rem}.mkt-dog-card,.mkt-offline-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, white);align-items:center;gap:.9rem;margin:1rem;padding:.9rem 1rem;display:flex}.mkt-offline-card{flex-direction:column;align-items:flex-start;gap:.65rem}.mkt-offline-card p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.mkt-offline-chip{color:#f5f8f2;background:#8a3a12;border-radius:999px;align-items:center;min-height:2rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.mkt-dog-avatar{background:color-mix(in srgb, var(--accent) 18%, white);width:3rem;height:3rem;color:var(--pine);font-family:var(--font);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.25rem;font-weight:700;display:grid}.mkt-dog-card span{color:var(--muted);font-size:.88rem;display:block}.mkt-close{text-align:center;border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:.85rem;max-width:36rem;margin:0 auto;padding:clamp(2.5rem,6vw,4rem) 1.25rem;display:flex}.mkt-close h2{color:var(--pine);font-size:clamp(1.45rem,3.2vw,1.9rem)}.mkt-close p{color:var(--muted);max-width:28rem;margin:0;line-height:1.55}.mkt-footer{text-align:center;padding:1.5rem 1.25rem 2.25rem}.mkt-footer p{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.mkt-footer-links{justify-content:center;gap:1rem;margin-top:.75rem;display:flex}.mkt-footer-links a{color:#8f2f08;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:700;text-decoration:none}.mkt-footer-links a:hover,.mkt-footer-links a:focus-visible{color:#6e2306;text-decoration:underline}@keyframes mkt-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes mkt-drift{0%{transform:scale(1.08)translate(0,0)}to{transform:scale(1.14)translate(-1.2%,-.7%)}}.mkt-field{isolation:isolate;color:#f5f8f2;background:#102319;position:relative}.mkt-field-media{aspect-ratio:16/9;width:100%;max-height:min(52vh,28rem);position:relative;overflow:hidden}.mkt-field-img{object-fit:cover;object-position:68% 58%;width:100%;height:100%;display:block}.mkt-field-copy{z-index:1;max-width:40rem;margin:0 auto;padding:1.35rem 1.25rem 1.75rem;position:relative}.mkt-field-copy h2{color:#f8faf5;font-size:clamp(1.4rem,3.2vw,1.8rem)}.mkt-field-copy p{color:#eaf0e9;margin:0;font-size:1.02rem;line-height:1.55}@media (width>=860px){.mkt-field{border-radius:0;grid-template-columns:1.35fr minmax(16rem,.85fr);align-items:stretch;max-width:1120px;margin:0 auto;display:grid}.mkt-field-media{aspect-ratio:auto;min-height:18rem;max-height:none}.mkt-field-copy{flex-direction:column;justify-content:center;margin:0;padding:2rem 1.75rem 2rem 1.25rem;display:flex}}@media (prefers-reduced-motion:reduce){.mkt-hero-img,.mkt-hero-inner,.mkt-stage{animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2ea;--bg-deep:#e2e8dc;--surface:#f7f9f4;--ink:#16241b;--muted:#4a5c4f;--line:#cfd8c8;--line-strong:#b7c4ae;--accent:#b54308;--accent-deep:#8f3606;--hi-vis:#c84f11;--accent-soft:#fff1e7;--accent-ink:#fff;--pine:#1d3529;--pine-soft:#355846;--ok:#246b4a;--warn:#8f6410;--danger:#9b2226;--radius:14px;--radius-sm:10px;--font:"Figtree", "Segoe UI", sans-serif;--display:"Syne", "Avenir Next", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--pad:clamp(1.1rem, 3.5vw, 1.75rem);--nav-h:4.6rem;--max:42rem;--ease:cubic-bezier(.22, 1, .36, 1);--rise:.48s var(--ease)}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body{font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 1100px 640px at 0% -10%, #d9510b21, transparent 58%), radial-gradient(ellipse 900px 560px at 100% 0%, #1d352924, transparent 52%), linear-gradient(180deg, #e7eee2 0%, var(--bg) 36%, var(--bg-deep) 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;line-height:1.5}a{color:var(--pine-soft);text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2{font-family:var(--font);letter-spacing:-.02em;color:var(--pine);margin:0;line-height:1.25}h1{font-size:clamp(1.5rem,3.2vw,1.85rem);font-weight:650}h2{letter-spacing:-.015em;font-size:1.05rem;font-weight:650}p{margin:0}button,input,select,textarea{font:inherit}.skip-link{z-index:100;background:var(--pine);color:#fff;border-radius:var(--radius-sm);padding:.55rem .8rem;text-decoration:none;position:absolute;top:.75rem;left:.75rem}.skip-link:not(:focus):not(:focus-visible){clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.skip-link:focus,.skip-link:focus-visible{clip:auto;clip-path:none;white-space:normal;pointer-events:auto;outline:2px solid var(--hi-vis,#ff6b00);outline-offset:2px;width:auto;height:auto;margin:0;overflow:visible}.app-frame{min-height:100dvh}.app-shell{min-height:100dvh;max-width:var(--max);padding:var(--pad);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 1.25rem);animation:rise-in var(--rise) both;flex-direction:column;margin:0 auto;display:flex}.app-header{border-bottom:1px solid color-mix(in srgb, var(--pine) 14%, transparent);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem;padding-bottom:1rem;display:flex}.header-brand{min-width:0}.header-actions{flex-shrink:0;padding-top:.15rem}.brand-lockup{color:var(--pine);align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.brand-name{font-family:var(--font);letter-spacing:-.02em;color:inherit;font-weight:800;line-height:1.1}.brand-kicker{font-family:var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);font-size:.68rem;font-weight:700;line-height:1.25}.brand-mark{background:var(--pine);color:#fff4e8;border-radius:.7rem;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;padding:.18rem;display:grid;overflow:hidden}.brand-mark>svg{width:100%;height:100%;display:block}.brand-md{font-size:1.28rem}.brand-md .brand-name{font-size:1.22rem}.brand-md .brand-mark{width:2.7rem;height:2.7rem;padding:.2rem}.brand-lg{font-size:clamp(2.1rem,7vw,2.85rem)}.brand-lg .brand-text{gap:.45rem}.brand-lg .brand-name{font-size:inherit;letter-spacing:-.025em;line-height:1.08}.brand-lg .brand-mark{border-radius:.95rem;width:3.55rem;height:3.55rem;padding:.28rem}.lede{color:var(--muted);max-width:38ch;margin-top:.45rem;font-size:.98rem;line-height:1.45}.banner{border-left:3px solid var(--accent);background:var(--accent-soft);color:#6f340c;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:.35rem;padding:.8rem .95rem;font-size:.94rem}.main{animation:rise-in .56s var(--ease) both;flex:1;animation-delay:70ms}.page-stack{gap:1.15rem}.stack{flex-direction:column;gap:.95rem;display:flex}.row{align-items:center;gap:.55rem;display:flex}.wrap{flex-wrap:wrap}.step-lede{max-width:40ch;margin:.35rem 0 0}.session-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.session-steps>li{min-width:0;display:flex}.session-step{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 70%, transparent);width:100%;min-width:0;color:var(--muted);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;margin:0;padding:.55rem .65rem;display:flex}.session-step:disabled{cursor:default;opacity:.55}.session-step:not(:disabled):hover{border-color:color-mix(in srgb, var(--pine) 35%, transparent)}.session-step-num{background:color-mix(in srgb, var(--pine) 12%, transparent);width:1.55rem;height:1.55rem;color:var(--pine-soft);border-radius:999px;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:750;display:inline-grid}.session-step-label{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:650;overflow:hidden}.session-step.is-current{border-color:color-mix(in srgb, var(--pine) 45%, transparent);background:var(--surface);color:var(--pine)}.session-step.is-current .session-step-num{background:var(--pine);color:#f4f7f2}.session-step.is-done{border-color:color-mix(in srgb, var(--ok) 35%, transparent);color:var(--pine-soft)}.session-step.is-done .session-step-num{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.session-step.is-todo{opacity:.85;border-style:dashed}.step-actions{margin-top:.35rem;padding-top:.35rem}.step-actions.row{justify-content:flex-start}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-heading h1:after{content:"";background:var(--hi-vis);border-radius:999px;width:2.25rem;height:3px;margin-top:.4rem;display:block}.page-heading-actions{align-items:center}.page-heading-actions .btn-compact{flex-shrink:0;padding:.42rem .8rem;font-size:.84rem}.page-heading>div{flex:1;min-width:0}.page-heading .lede{max-width:44ch;margin-top:.35rem}.session-heading{align-items:stretch}.session-heading-main{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.session-heading-row{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.session-when{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:1.15rem;font-weight:650;line-height:1.25;overflow:hidden}.session-meta{align-items:center;gap:.35rem .55rem;margin:0;font-size:.86rem;line-height:1.3}.session-place{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(42vw,16rem);color:var(--pine-soft);font-weight:550;overflow:hidden}.session-meta .status{flex-shrink:0}.eyebrow a{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:650;text-decoration:none}.eyebrow a:hover{color:var(--accent-deep)}.meta{flex-wrap:wrap;align-items:center;gap:.45rem .7rem;margin-top:.4rem;font-size:.92rem;display:flex}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:.84rem}.loading-line{color:var(--muted);font-size:.95rem}.empty,.error{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);padding:.9rem 1rem}.error{color:var(--danger);background:#fff4f4;border-color:#e8bcbc}.empty-state{animation:rise-in .6s var(--ease) both;flex-direction:column;align-items:flex-start;gap:.7rem;padding:1.5rem 0 .5rem;display:flex}.empty-field-photo{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--line);background:#102319;width:min(100%,28rem);overflow:hidden}.empty-field-photo img{object-fit:cover;object-position:68% 58%;width:100%;height:100%;display:block}.empty-mark{width:3.5rem;height:3.5rem;color:var(--pine);opacity:.88}.empty-title{font-family:var(--font);letter-spacing:-.015em;color:var(--pine);font-size:1.2rem;font-weight:650}.form-panel{border-top:1px solid var(--line);padding:1.15rem 0}.form-panel:first-of-type{border-top:0;padding-top:0}.field{flex-direction:column;gap:.4rem;display:flex}.field>span{letter-spacing:.08em;text-transform:uppercase;color:var(--pine-soft);font-size:.78rem;font-weight:700}.field-hint{color:var(--muted);letter-spacing:0;text-transform:none;margin:0;font-size:.82rem;font-weight:500}.component-block{border:1px solid var(--line);border-radius:var(--radius-sm);gap:.7rem;margin:0;padding:.85rem .9rem 1rem;display:grid}.component-block legend{letter-spacing:.08em;text-transform:uppercase;color:var(--pine-soft);align-items:center;gap:.5rem;padding:0 .35rem;font-size:.78rem;font-weight:700;display:flex}.component-remove{text-transform:none;letter-spacing:0;font-size:.8rem}.source-name-field{position:relative}.problem-component-title{margin:.35rem 0 .15rem;font-weight:750}.problem-kicker{color:var(--muted);font-weight:700}.tag-field{position:relative}.tag-input{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;flex-wrap:wrap;gap:.35rem;padding:.45rem .55rem;display:flex}.tag-chip{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;align-items:center;gap:.2rem;padding:.15rem .4rem;font-size:.82rem;font-weight:650;display:inline-flex}.tag-chip-remove{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 .1rem;font-size:1rem;line-height:1}.tag-input input{min-width:6rem;box-shadow:none;border:0;flex:8rem;padding:.35rem .2rem}.tag-suggest{z-index:8;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;margin:0;padding:.25rem;list-style:none;position:absolute;left:0;right:0;box-shadow:0 8px 24px #16241b1f}.tag-suggest-btn{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:.45rem .6rem;display:block}.tag-suggest-btn.is-active,.tag-suggest-btn:hover{background:var(--accent-soft)}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fff;padding:.8rem .9rem;transition:border-color .16s,box-shadow .16s}input::placeholder,textarea::placeholder{color:#5c6b62;opacity:1}input::-webkit-input-placeholder{color:#5c6b62;opacity:1}textarea::-webkit-input-placeholder{color:#5c6b62;opacity:1}input::-moz-placeholder{color:#5c6b62;opacity:1}textarea::-moz-placeholder{color:#5c6b62;opacity:1}input::-webkit-datetime-edit{color:#16241b;opacity:1}input::-webkit-datetime-edit-fields-wrapper{color:#16241b;opacity:1}input::-webkit-datetime-edit-text{color:#16241b;opacity:1}input::-webkit-datetime-edit-month-field{color:#16241b;opacity:1}input::-webkit-datetime-edit-day-field{color:#16241b;opacity:1}input::-webkit-datetime-edit-year-field{color:#16241b;opacity:1}input::-webkit-datetime-edit-hour-field{color:#16241b;opacity:1}input::-webkit-datetime-edit-minute-field{color:#16241b;opacity:1}input::-webkit-datetime-edit-ampm-field{color:#16241b;opacity:1}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.grid-2{gap:.8rem;display:grid}@media (width>=560px){.grid-2{grid-template-columns:1fr 1fr}}.btn{appearance:none;border-radius:var(--radius-sm);letter-spacing:-.01em;cursor:pointer;transition:transform .16s var(--ease), background-color .16s ease, border-color .16s ease, color .16s ease;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.78rem 1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-deep);color:#fff}.btn-secondary{border-color:color-mix(in srgb, var(--pine) 35%, transparent);color:var(--pine);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--pine);background:color-mix(in srgb, var(--pine) 5%, transparent)}.btn-ghost{color:var(--muted);background:0 0;padding-inline:.65rem;font-weight:650}.btn-ghost:hover:not(:disabled){color:var(--pine);background:color-mix(in srgb, var(--pine) 6%, transparent)}.btn-danger{border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent)}.session-danger{border-color:color-mix(in srgb, var(--danger) 22%, transparent)}.mission-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list-rise{animation:rise-in .52s var(--ease) both}.log-list-section{flex-direction:column;gap:.75rem;display:flex}.log-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem 1rem;display:flex}.log-list-heading-row{align-items:baseline;gap:.55rem;min-width:0;display:flex}.log-list-heading-row h2{margin:0}.log-list-count{font-variant-numeric:tabular-nums;color:var(--accent-deep);letter-spacing:-.02em;font-size:.95rem;font-weight:650}.sort-toggle{width:2.1rem;height:2.1rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;margin:0;padding:0;display:inline-grid}.sort-toggle:hover{color:var(--pine);background:color-mix(in srgb, var(--pine) 8%, transparent)}.sort-toggle:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.sort-icon{transition:transform .18s var(--ease,ease);display:block}.sort-icon-asc{transform:scaleY(-1)}.log-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.log-row{border-bottom:1px solid var(--line);color:inherit;transition:padding-left .18s var(--ease), background-color .16s ease;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;text-decoration:none;display:flex}.log-row:hover,.log-row:focus-visible{outline:none;padding-left:.35rem}.log-row-main{flex:1;gap:.15rem;min-width:0;display:grid}.log-date{font-family:var(--font);letter-spacing:-.015em;color:var(--pine);font-size:1.05rem;font-weight:650}.log-time{color:var(--muted);font-size:.82rem}.log-location{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.98rem;overflow:hidden}.log-row-meta{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.mission-row{border-bottom:1px solid var(--line);color:inherit;transition:background-color .16s ease, padding-left .18s var(--ease);justify-content:space-between;align-items:center;gap:.85rem;padding:1.05rem 0;text-decoration:none;display:flex}.mission-row:hover{padding-left:.35rem}.mission-row-body{flex:1;min-width:0}.mission-row-top{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;display:flex}.mission-name{font-family:var(--font);letter-spacing:-.015em;color:var(--pine);font-size:1.05rem;font-weight:650}.mission-place{color:var(--ink);margin-top:.35rem;font-size:.94rem}.mission-wx{font-family:var(--mono);color:var(--muted);margin-top:.25rem;font-size:.8rem}.chevron{color:var(--accent);transition:transform .18s var(--ease);flex-shrink:0;font-size:1.15rem}.mission-row:hover .chevron,.log-row:hover .chevron{transform:translate(3px)}.status{letter-spacing:.08em;text-transform:uppercase;background:color-mix(in srgb, var(--pine) 8%, white);color:var(--pine);border-radius:6px;align-items:center;padding:.16rem .5rem;font-size:.72rem;font-weight:750;display:inline-flex}.status-active{background:color-mix(in srgb, var(--ok) 16%, white);color:var(--ok)}.status-suspended{color:var(--warn);background:#f6e8c4}.status-closed{color:#5c5c5c;background:#e8e8e8}.entry-body{white-space:pre-wrap;color:var(--ink);margin-top:.35rem}.mission-notes{border-top:1px dashed var(--line);color:var(--muted);padding:.85rem 0 0}.bottom-nav{width:min(var(--max), 100%);padding:.5rem var(--pad) calc(.5rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border-top:1px solid color-mix(in srgb, var(--pine) 12%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav-link{color:var(--muted);letter-spacing:.01em;border-radius:var(--radius-sm);text-align:center;flex-direction:column;align-items:center;gap:.12rem;padding:.45rem .15rem;font-size:.7rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .16s,color .16s;display:flex}.bottom-nav-icon{color:inherit;place-items:center;display:grid}.bottom-nav-link.active{color:var(--pine);background:color-mix(in srgb, var(--hi-vis) 14%, white);box-shadow:inset 0 2px 0 var(--hi-vis)}.bottom-nav-link.active .bottom-nav-icon{color:var(--hi-vis)}@media (orientation:landscape) and (height<=540px){:root{--nav-h:3.15rem;--pad:.75rem}.app-shell{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + .65rem)}.app-header{margin-bottom:.55rem;padding-bottom:.45rem}.app-toolbar{margin-bottom:.4rem}.bottom-nav{padding:.28rem max(var(--pad), env(safe-area-inset-right,0px)) calc(.28rem + env(safe-area-inset-bottom,0px)) max(var(--pad), env(safe-area-inset-left,0px))}.bottom-nav-link{flex-direction:row;gap:.32rem;padding:.28rem .15rem;font-size:.72rem}}.auth-screen{background:#102319;align-items:end;min-height:100dvh;padding:clamp(1.4rem,5vw,2.4rem);display:grid;position:relative;overflow:hidden}.auth-hero-media{pointer-events:none;position:absolute;inset:0}.auth-hero-img{object-fit:cover;object-position:center 38%;width:100%;height:100%;animation:auth-media-in 1.1s var(--ease) both;display:block}@media (width>=900px){.auth-hero-img{object-position:center 42%}}.auth-hero-shade{background:linear-gradient(#08100c0d 0%,#08100c1a 42%,#08100c8c 68%,#060c0ae0 100%);position:absolute;inset:0}.auth-compose{z-index:1;color:#f5f8f2;width:min(27rem,100%);animation:rise-in .76s var(--ease) both;flex-direction:column;gap:1rem;animation-delay:.12s;display:flex;position:relative}.auth-compose .brand-lockup{color:#f8faf5}.auth-compose .brand-mark{color:var(--pine);background:#fff4e8}.auth-compose .brand-kicker{color:#ffc6a0}.auth-support{color:#f5f8f2e6;text-shadow:0 1px 12px #00000059;max-width:34ch;font-size:1.05rem;line-height:1.45}.auth-form{border-radius:var(--radius);background:#0a1610f0;border:1px solid #ffffff2e;margin-top:.15rem;padding:1rem 1rem 1.1rem}.auth-form .btn-primary{color:#fff;background:#b54308}.auth-form .field>span{color:#f5f8f2cc}.auth-form input,.auth-form input:disabled,.auth-form input:focus{caret-color:#f5f8f2;opacity:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:linear-gradient(#1a5c45,#1a5c45);border-color:#f5f8f273;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important}.auth-form input::placeholder{color:#c5d6cb;-webkit-text-fill-color:#c5d6cb;opacity:1}.auth-form input::placeholder{color:#c5d6cb;-webkit-text-fill-color:#c5d6cb;opacity:1}.auth-form input::-moz-placeholder{color:#c5d6cb;opacity:1}.auth-form input:autofill{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:autofill:hover{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:autofill:focus{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:autofill:active{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:disabled:autofill{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:-webkit-autofill{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:-webkit-autofill:hover{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:-webkit-autofill:focus{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:-webkit-autofill:active{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-form input:disabled:-webkit-autofill{caret-color:#f5f8f2;transition:background-color 99999s ease-out;color:#f5f8f2!important;-webkit-text-fill-color:#f5f8f2!important;background-color:#1a5c45!important;background-image:linear-gradient(#1a5c45,#1a5c45)!important;box-shadow:inset 0 0 0 1000px #1a5c45!important}.auth-hint{color:#f5f8f2b8;font-size:.9rem}.auth-status{color:#d8f0cf;font-weight:600}.auth-hero{width:min(24rem,100%);color:var(--ink);padding:1.4rem}@keyframes auth-media-in{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.check-row{align-items:flex-start;gap:.55rem;font-weight:600;display:flex}.check-row input{width:auto;margin-top:.2rem}.outcome-fieldset{border:0;min-inline-size:0;margin:0;padding:0}.outcome-fieldset legend{letter-spacing:.08em;text-transform:uppercase;color:var(--pine-soft);margin:0 0 .4rem;padding:0;font-size:.78rem;font-weight:700}.outcome-hint{margin:0 0 .55rem;font-size:.88rem}.settings-subhead{color:var(--pine);margin:.75rem 0 .25rem;font-size:.95rem;font-weight:700}.settings-outbox{gap:.25rem;margin:0;padding-left:1.1rem;font-size:.9rem;display:grid}.gps-live{color:var(--blaze,#e85d04);font-weight:600}.gps-live-btn{animation:1.6s ease-in-out infinite gps-pulse}@keyframes gps-pulse{50%{filter:brightness(1.08)}}.offline-toast{left:50%;bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));z-index:40;pointer-events:none;max-width:min(92vw,22rem);position:fixed;transform:translate(-50%)}.offline-chip{background:var(--pine);color:#f5f8f2;text-align:center;border-radius:999px;margin:0;padding:.45rem .85rem;font-size:.82rem;font-weight:600;box-shadow:0 8px 24px #16241b47}.offline-chip--down{background:#8a3a12}.wx-qual{flex-direction:column;gap:.55rem;display:flex}.wx-qual-lede{margin:0;font-size:.9rem}.wx-qual-grid{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.wx-qual-chip{border:1px solid color-mix(in srgb, var(--pine) 22%, transparent);background:color-mix(in srgb, var(--panel) 80%, #fff);color:var(--pine-soft);font:inherit;letter-spacing:-.01em;cursor:pointer;border-radius:999px;align-items:center;margin:0;padding:.45rem .75rem;font-size:.88rem;font-weight:650;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}button.wx-qual-chip:hover:not(:disabled){border-color:color-mix(in srgb, var(--pine) 45%, transparent);color:var(--pine)}button.wx-qual-chip:disabled{cursor:default;opacity:.7}.wx-qual-chip.is-on{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft);color:var(--accent-deep)}.wx-qual-read .wx-qual-chip{cursor:default}.wx-metrics-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:.35rem 0 0;font-size:.78rem;font-weight:700}.wx-readout{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--pine) 16%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--pine) 8%, #fff) 0%, #fff 55%), var(--surface);flex-direction:column;gap:.85rem;padding:1rem 1.05rem;display:flex}.wx-hero{align-items:flex-end;gap:.95rem;display:flex}.wx-temp{font-family:var(--display);letter-spacing:-.04em;color:var(--pine);margin:0;font-size:clamp(2.4rem,8vw,3rem);font-weight:700;line-height:.92}.wx-hero-text{flex-direction:column;gap:.15rem;min-width:0;padding-bottom:.2rem;display:flex}.wx-condition{color:var(--pine);margin:0;font-size:1.05rem;font-weight:650;line-height:1.25}.wx-sun,.wx-meta{margin:0;font-size:.88rem;line-height:1.3}.wx-meta{font-family:var(--mono);font-size:.78rem}.wx-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:0;display:grid}@media (width>=420px){.wx-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.wx-tile{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--pine) 5%, #fff);border:1px solid color-mix(in srgb, var(--pine) 10%, transparent);flex-direction:column;gap:.2rem;min-width:0;padding:.55rem .6rem;display:flex}.wx-tile dt{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem;font-weight:700}.wx-tile dd{font-family:var(--mono);color:var(--pine);margin:0;font-size:.98rem;font-weight:600;line-height:1.2}.section-heading-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.section-heading-row h2{margin:0}.icon-btn{border:1px solid color-mix(in srgb, var(--pine) 22%, transparent);background:color-mix(in srgb, var(--pine) 6%, transparent);width:2.15rem;height:2.15rem;color:var(--pine-soft);cursor:pointer;border-radius:8px;flex-shrink:0;place-items:center;margin:0;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){color:var(--pine);background:color-mix(in srgb, var(--pine) 12%, transparent)}.icon-btn:disabled{opacity:.55;cursor:default}.icon-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);outline:none}.icon-btn .is-spinning{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hit-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.hit-btn{text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:#fff;width:100%;padding:.7rem .85rem;transition:border-color .16s,background-color .16s}.hit-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.weather-preview{font-family:var(--mono);color:var(--pine);background:color-mix(in srgb, var(--pine) 5%, white);border-radius:var(--radius-sm);padding:.65rem .75rem;font-size:.92rem;font-weight:600}.wx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.1rem;margin:0;display:grid}.wx-grid dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:750}.wx-grid dd{font-family:var(--font);letter-spacing:-.015em;color:var(--pine);margin:.2rem 0 0;font-size:1.1rem;font-weight:650}.problem-list{margin:0;padding:0;list-style:none}.problem-card{border-bottom:1px solid var(--line);animation:rise-in .48s var(--ease) both;padding:1rem 0}.problem-card:first-child{padding-top:.25rem}.problem-card:last-child{border-bottom:0;padding-bottom:0}.problem-card-top{justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.problem-card-top>div{flex:1;min-width:0}.problem-card-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.4rem;display:flex}.toast-region{pointer-events:none;z-index:50;place-items:center;display:grid;position:fixed;inset:auto 0 5.8rem}.toast{pointer-events:auto;letter-spacing:-.01em;animation:rise-in .28s var(--ease) both;border-radius:999px;padding:.75rem 1.05rem;font-weight:650}.toast-success{background:var(--ok);color:#f3faf6}.toast-info{background:var(--pine);color:#f3f7f2}.toast-error{background:var(--danger);color:#fff6f6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-compact{padding:.35rem .7rem;font-size:.8rem}.locate-method{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 80%, #d8e4dc);border-radius:12px;grid-template-columns:1fr 1fr;gap:.4rem;padding:.25rem;display:grid}.locate-method-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;margin:0;padding:.65rem .75rem;font-size:.92rem;font-weight:650}.locate-method-btn.is-on{background:var(--pine);color:#f4f7f2}.locate-method-btn:not(.is-on):hover{color:var(--pine);background:color-mix(in srgb, var(--pine) 8%, transparent)}.locate-summary{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.locate-summary-text{flex:1;min-width:0}.locate-place{color:var(--pine);margin:0;font-weight:650;line-height:1.35}.location-pwa-note,.location-help{font-size:.92rem}.location-pwa-note{border-radius:var(--radius-sm);border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--accent-deep);margin:0;padding:.7rem .8rem}.location-help{color:var(--muted)}.location-help summary{cursor:pointer;color:var(--pine);font-weight:650}.location-help-body{padding-top:.55rem}.location-help-steps{flex-direction:column;gap:.75rem;margin:.4rem 0 0;padding-left:1.15rem;display:flex}.location-help-steps ul{margin:.35rem 0 0;padding-left:1.1rem}.locate-placed .location-map{width:100%}.where-layout{grid-template-columns:minmax(0,1fr) minmax(240px,.95fr);align-items:start;gap:1rem;display:grid}.where-fields{min-width:0}.location-map{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, #d8e4dc);border-radius:12px;flex-direction:column;gap:0;min-width:0;display:flex;overflow:hidden}.location-map-empty{text-align:center;place-content:center;gap:.45rem;min-height:12rem;padding:1rem 1.1rem}.location-map-slot{min-height:16rem}.location-map-toolbar{background:var(--pine);color:#f4f7f2;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .55rem .45rem .75rem;display:flex}.location-map-title{letter-spacing:.08em;text-transform:uppercase;color:#d7e4d8;font-size:.78rem;font-weight:700}.map-icon-btn{color:#fffaf4;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff47;border-radius:8px;place-items:center;width:2.15rem;height:2.15rem;margin:0;padding:0;display:inline-grid}.map-icon-btn:hover{background:#ffffff38}.map-icon-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent);outline:none}.location-map-canvas{z-index:0;cursor:grab;width:100%;height:16rem}.location-map-editable .location-map-canvas{cursor:crosshair}.location-map-editable .location-map-canvas .leaflet-marker-draggable{cursor:grab}.location-map-editable .location-map-canvas .leaflet-marker-draggable:active{cursor:grabbing}.map-pin-icon{background:0 0;border:0}.map-pin-icon .map-pin-head{background:var(--accent);border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-left:-8px;position:absolute;top:2px;left:50%;box-shadow:0 1px 4px #00000059}.map-pin-icon .map-pin-stem{background:var(--accent);border-radius:1px;width:3px;height:16px;margin-left:-1.5px;position:absolute;top:16px;left:50%;box-shadow:0 1px 2px #00000040}.location-map-portal{z-index:200;background:#0f1a14;flex-direction:column;width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;display:flex;position:fixed;inset:0}.location-map-portal .location-map{background:#0f1a14;border:0;border-radius:0;flex:1;width:100%;height:100%;min-height:0}.location-map-portal .location-map-toolbar{padding-top:max(.45rem, env(safe-area-inset-top));padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.55rem, env(safe-area-inset-right))}.location-map-portal .location-map-canvas{flex:1;height:auto;min-height:0}.location-map-expanded{height:100%}@media (width<=820px){.where-layout{grid-template-columns:1fr}.location-map-canvas{height:14rem}.location-map-slot{min-height:14rem}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.star-rating{align-items:center;gap:.05rem;display:inline-flex}.star-btn{color:color-mix(in srgb, var(--pine) 22%, transparent);cursor:pointer;background:0 0;border:0;margin:0;padding:.2rem;line-height:0}.star-btn.is-on{color:var(--accent)}.star-btn:hover:not(:disabled){color:var(--accent-deep)}.star-btn:disabled{opacity:.55;cursor:not-allowed}.train-catalog,.train-priority,.train-plan{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.train-catalog-row,.train-priority-row,.train-plan-row{border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);align-items:center;gap:.55rem;padding:.65rem .1rem;display:flex}.train-catalog-row:last-child,.train-priority-row:last-child,.train-plan-row:last-child{border-bottom:0}.train-catalog-main{flex-direction:column;flex:1;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.train-catalog-text,.train-priority-text{flex:1;min-width:0}.train-catalog-label{color:var(--pine);margin:0;font-weight:650}.train-reorder{flex-direction:row;flex-shrink:0;gap:.3rem;display:inline-flex}.train-nudge{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, white);min-width:2.75rem;min-height:2.75rem;color:var(--pine);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:10px;place-items:center;margin:0;padding:0;font-size:1.15rem;font-weight:700;line-height:1;display:grid}.train-nudge:hover:not(:disabled){border-color:color-mix(in srgb, var(--pine) 35%, transparent);background:color-mix(in srgb, var(--pine) 8%, white)}.train-nudge:disabled{opacity:.35;cursor:default}.train-combo-builder{gap:.65rem;display:grid}@media (width>=640px){.train-combo-builder{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.train-combo-add{padding-bottom:.05rem}}.train-combo-add .btn{width:100%;min-height:2.75rem}.train-priority-rank{background:color-mix(in srgb, var(--pine) 12%, transparent);width:1.55rem;height:1.55rem;color:var(--pine);border-radius:999px;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:750;display:grid}.dog-switcher{align-items:center;gap:.35rem;display:flex}.dog-switcher-btn,.dog-avatar-btn{background:color-mix(in srgb, var(--pine) 10%, white);cursor:pointer;border:2px solid #0000;border-radius:999px;flex-shrink:0;place-items:center;width:2.4rem;height:2.4rem;margin:0;padding:0;display:grid;overflow:hidden}.dog-switcher-btn.is-active,.dog-card.is-active .dog-avatar-btn{border-color:var(--accent)}.dog-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.dog-avatar-fallback{color:var(--pine);font-size:.95rem;font-weight:750}.dog-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.dog-card{border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);align-items:center;gap:.65rem;padding:.55rem .1rem;display:flex}.dog-card:last-child{border-bottom:0}.dog-card-text{flex:1;min-width:0}.dog-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;display:flex}.dog-add-panel{border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);padding:.75rem 0}.setup-dog-shell{padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom,0px))}.setup-dog-page .page-heading{margin-bottom:.25rem}.header-actions{align-items:center;gap:.55rem}.sos-trigger{min-height:2.5rem}.sos-backdrop{z-index:80;background:#0f1a148c;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.sos-dialog{background:var(--surface);border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--danger) 28%, var(--line));width:min(24rem,100%);padding:1.25rem 1.2rem 1.1rem;box-shadow:0 16px 40px #16241b47}.sos-dialog h2{font-family:var(--display);color:var(--danger);margin:0 0 .55rem;font-size:1.25rem}.confirm-dialog h2{font-family:var(--font)}.sos-dialog p{color:var(--muted);margin:0 0 1.1rem;line-height:1.45}.sos-dialog-actions{justify-content:flex-end;gap:.55rem;display:flex}.sos-send{background:var(--danger);color:#fff;border-color:var(--danger)}.sos-send:hover:not(:disabled){background:#7a1418;border-color:#7a1418}.app-toolbar{justify-content:space-between;align-items:center;gap:.65rem;margin:0 0 .85rem;display:flex}.app-toolbar .dog-switcher{flex:1;min-width:0}.wind-map-trigger{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft);min-height:2.75rem;color:var(--accent-deep);letter-spacing:.01em;cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;margin:0;padding:.45rem .75rem;font-size:.84rem;font-weight:750;display:inline-flex}.wind-map-trigger:hover{background:color-mix(in srgb, var(--accent) 16%, white)}.wind-map-portal{z-index:210;color:#f4f7f2;background:#102319;position:fixed;inset:0}.wind-map-dialog{flex-direction:column;height:100dvh;max-height:100dvh;display:flex}.wind-map-toolbar{padding:max(.55rem, env(safe-area-inset-top)) max(.65rem, env(safe-area-inset-right)) .45rem max(.9rem, env(safe-area-inset-left));color:#f4f7f2;background:#16241b;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.wind-map-toolbar h2{font-family:var(--display);color:#fff4e8;margin:0;font-size:1.15rem}.wind-map-toolbar-actions{gap:.3rem;display:flex}.wind-map-body{min-height:0;padding:.85rem max(1rem, env(safe-area-inset-right)) max(1.1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));flex-direction:column;flex:1;align-items:stretch;gap:.85rem;display:flex;overflow:auto}.wind-map-hint{color:#c5d4c8;max-width:36rem;margin:0;font-size:.92rem;line-height:1.45}.wind-compass{width:min(22rem,100%);margin:.2rem auto 0;position:relative}.wind-compass-svg{width:100%;height:auto;display:block}.wind-compass-bezel{fill:#1b3328;stroke:color-mix(in srgb, var(--accent) 55%, #f4f7f2);stroke-width:3px}.wind-compass-face{fill:#0f1e16;stroke:#f4f7f22e;stroke-width:1px}.wind-compass-tick{stroke:#8aa392;stroke-width:2px}.wind-compass-tick-major{stroke:#e8f0e6;stroke-width:2.4px}.wind-compass-n{fill:var(--accent);font-size:16px;font-weight:800;font-family:var(--display)}.wind-compass-cardinal{fill:#d7e4d8;font-size:13px;font-weight:700;font-family:var(--font)}.wind-compass-lubber{fill:#fff4e8}.wind-line-halo{stroke:#fff4e8;stroke-width:14px;stroke-linecap:round}.wind-line{stroke:#e85d04;stroke-width:8px;stroke-linecap:round}.wind-line-head{fill:#e85d04;stroke:#fff4e8;stroke-width:1.2px}.wind-line-scent{stroke:#8ec5ff;stroke-width:3px;stroke-dasharray:6 7;stroke-linecap:round;opacity:.85}.wind-compass-hub{fill:#fff4e8;stroke:#e85d04;stroke-width:2px}.wind-compass-you{letter-spacing:.12em;text-transform:uppercase;color:#fff4e8;pointer-events:none;margin:0;font-size:.68rem;font-weight:800;position:absolute;top:1.55rem;left:50%;transform:translate(-50%)}.wind-compass.is-aligned .wind-line,.wind-compass.is-aligned .wind-line-head{stroke:#ff8a3d;fill:#ff8a3d}.wind-compass.is-aligned .wind-line-halo{stroke:#ffe3c4}.wind-map-dialog.is-aligned .wind-compass-bezel{stroke:#ff8a3d}.wind-map-status{text-align:center;color:#f4f7f2;margin:0;font-weight:700}.wind-map-dialog.is-aligned .wind-map-status{color:#ffb070}.wind-map-readout{text-align:center}.wind-map-from{font-family:var(--display);letter-spacing:-.03em;color:#fff4e8;margin:0;font-size:1.85rem;font-weight:800}.wind-map-north{color:#9db5a4;margin:.15rem 0 0;font-size:.82rem;font-weight:650}.wind-map-speed{margin:.15rem 0 0;font-size:1.05rem;font-weight:650}.wind-map-speed .muted{color:#9db5a4}.wind-map-body .location-help,.wind-map-body .location-help summary{color:#d7e4d8}.wind-map-body .location-help{border-radius:var(--radius-sm);background:#ffffff14;padding:.35rem .7rem}.wind-map-body .btn-block{width:100%}@media (orientation:landscape) and (height<=540px){.wind-map-toolbar{padding-top:max(.35rem, env(safe-area-inset-top))}.wind-map-body{grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(11rem,38vh) minmax(0,1fr);align-items:center;gap:.45rem 1.1rem;padding-top:.45rem;display:grid}.wind-map-hint{grid-area:1/2;max-width:none;font-size:.85rem}.wind-compass{grid-area:1/1/span 4;width:min(38vh,16rem);margin:0 auto}.wind-map-status,.wind-map-readout,.wind-map-north,.wind-map-body .location-help,.wind-map-body .btn-block{grid-column:2}}
