@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_bd2806{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_bd2806{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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-weight:500;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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-weight:600;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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-weight:700;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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-weight:800;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_a1e55b{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_a1e55b{--font-body:"Figtree","Figtree Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,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(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,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(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:134.59%}.__className_7e0dc4{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_7e0dc4{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#F2F5F1;--surface:#FFFFFF;--surface-2:#E9EFE8;--line:#DAE2D8;--ink:#14211A;--muted:#56655C;--faint:#87958C;--leaf:#13804F;--leaf-soft:#DCF1E4;--on-leaf:#FFFFFF;--sun:#C98A00;--sun-bright:#F2B400;--sun-soft:#FBEFC8;--sky:#2459C4;--sky-soft:#E1EAFB;--alert:#C2372F;--alert-soft:#FAE2DF;--warn:#A86200;--warn-soft:#FAEBD3;--lcd:#CAD8B2;--lcd-ink:#1D2913;--lcd-edge:#A6B98A;--scrim:rgba(14,22,17,.45);--shadow:0 1px 2px rgba(20,33,26,.05),0 8px 24px rgba(20,33,26,.07);--f-display:var(--font-display),var(--font-body),system-ui,sans-serif;--f-body:var(--font-body),system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:var(--font-mono),ui-monospace,"SFMono-Regular",Menlo,monospace;--r:18px;--r-sm:12px;--nav-h:66px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0E1411;--surface:#161E19;--surface-2:#1F2923;--line:#2B3730;--ink:#E6EEE8;--muted:#A0AEA5;--faint:#77857C;--leaf:#3DC183;--leaf-soft:#173427;--on-leaf:#06140D;--sun:#F2C14A;--sun-bright:#F6C343;--sun-soft:#3A2F10;--sky:#82A7F6;--sky-soft:#17243D;--alert:#FF8278;--alert-soft:#3C1A17;--warn:#F2AE4A;--warn-soft:#3A2810;--lcd:#1D2918;--lcd-ink:#C5E39A;--lcd-edge:#34462B;--scrim:rgba(0,0,0,.62);--shadow:0 1px 2px rgba(0,0,0,.35),0 10px 28px rgba(0,0,0,.3);color-scheme:dark}}:root[data-theme=dark]{--bg:#0E1411;--surface:#161E19;--surface-2:#1F2923;--line:#2B3730;--ink:#E6EEE8;--muted:#A0AEA5;--faint:#77857C;--leaf:#3DC183;--leaf-soft:#173427;--on-leaf:#06140D;--sun:#F2C14A;--sun-bright:#F6C343;--sun-soft:#3A2F10;--sky:#82A7F6;--sky-soft:#17243D;--alert:#FF8278;--alert-soft:#3C1A17;--warn:#F2AE4A;--warn-soft:#3A2810;--lcd:#1D2918;--lcd-ink:#C5E39A;--lcd-edge:#34462B;--scrim:rgba(0,0,0,.62);--shadow:0 1px 2px rgba(0,0,0,.35),0 10px 28px rgba(0,0,0,.3);color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:70;background:var(--surface)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;text-align:inherit}input,select,textarea{font:inherit;color:var(--ink)}h1,h2,h3,p{margin:0}:focus-visible{outline:2.5px solid var(--sky);outline-offset:2px;border-radius:10px}.ic{display:block;flex-shrink:0}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.top{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}.top-in{max-width:1180px;margin:0 auto;gap:12px;padding-block:10px}.brand,.top-in{display:flex;align-items:center}.brand{gap:9px;font-family:var(--f-display);font-weight:800;font-size:19px;letter-spacing:-.01em}.mark{width:32px;height:32px;border-radius:10px;background:var(--leaf);color:var(--on-leaf);display:grid;place-items:center}.roles{display:flex;gap:3px;background:var(--surface-2);border-radius:12px;padding:3px;margin-inline:auto}.roles button{display:flex;align-items:center;gap:6px;padding:7px 11px;border-radius:9px;font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}.roles button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}@media (max-width:560px){.roles .lbl{display:none}.roles button{padding:7px 10px}}.tools{display:flex;align-items:center;gap:6px}.ibtn{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--ink);position:relative;border:1px solid var(--line);background:var(--surface)}.ibtn:hover{background:var(--surface-2)}.badge-n{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--alert);color:var(--surface);font-size:10.5px;font-weight:800;display:grid;place-items:center}.dot-n{position:absolute;top:8px;right:9px;width:8px;height:8px;background:var(--alert);box-shadow:0 0 0 2px var(--surface)}.avatar,.dot-n{border-radius:50%}.avatar{width:40px;height:40px;background:var(--ink);color:var(--surface);font-family:var(--f-display);font-weight:800;display:grid;place-items:center}@media (max-width:400px){.brand>span:not(.mark):not(.vtag){display:none}}.shell{max-width:1180px;margin:0 auto;display:block}.rail{display:none}main{min-width:0;padding-block:20px calc(var(--nav-h) + 100px + env(safe-area-inset-bottom,0px))}.page{max-width:780px;margin:0 auto}.page.wide{max-width:1080px}@media (min-width:900px){.shell{display:grid;grid-template-columns:224px minmax(0,1fr);grid-gap:8px;gap:8px}.rail{display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top,0px) + 72px);align-self:start;padding:20px 0 20px max(16px,env(safe-area-inset-left,0px))}.rail .nv{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;font-weight:700;color:var(--muted)}.rail .nv[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.rail .nv[aria-current=page] .ic{color:var(--leaf)}.tabbar{display:none!important}.shell.solo{grid-template-columns:minmax(0,1fr)}main{padding-block:28px 60px}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--surface);border-top:1px solid var(--line);display:flex;padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.tabbar .nv{flex:1 1;height:var(--nav-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;font-weight:700;color:var(--faint)}.tabbar .nv[aria-current=page]{color:var(--ink)}.tabbar .nv[aria-current=page] .ic{color:var(--leaf)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ph{display:grid;grid-gap:6px;gap:6px;margin-bottom:18px}.ph h1{font-family:var(--f-display);font-size:clamp(26px,5vw,34px);font-weight:800;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}.ph p{color:var(--muted);max-width:60ch}.sec{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:28px 0 10px}.sec h2{font-family:var(--f-display);font-size:18px;letter-spacing:-.01em;text-wrap:balance}.link,.sec h2{font-weight:700}.link{font-size:13.5px;color:var(--leaf)}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.strong{font-weight:800}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}.card.flat{background:var(--surface-2);border-color:transparent}.stack{display:grid;grid-gap:10px;gap:10px}.stack-lg{display:grid;grid-gap:14px;gap:14px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px}.grid2,.grid3{display:grid;gap:10px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px}@media (max-width:560px){.grid3{grid-template-columns:1fr}}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}@media (min-width:640px){.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;grid-gap:2px;gap:2px;min-width:0}.tile .k{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted)}.tile .v{font-family:var(--f-display);font-size:21px;font-weight:700;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .s{font-size:12px}.k .ic,.tile .s{color:var(--faint)}.t-sun .k .ic{color:var(--sun)}.t-leaf .k .ic{color:var(--leaf)}.t-sky .k .ic{color:var(--sky)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:12px;font-weight:700;font-size:14.5px;line-height:1.2;transition:transform .08s,background .15s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--leaf);color:var(--on-leaf)}.btn-soft{background:var(--surface-2);color:var(--ink)}.btn-line{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-line:hover,.btn-soft:hover{border-color:var(--faint)}.btn-danger{background:var(--alert-soft);color:var(--alert)}.btn-sm{padding:8px 13px;font-size:13px;border-radius:10px}.btn-block{width:100%}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.btn-row .btn{flex:1 1 140px}.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.qa{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-weight:700;font-size:14px;min-width:0}.qa .ic{color:var(--leaf)}.qa:hover{border-color:var(--leaf)}@media (max-width:400px){.qa{font-size:13px;padding:12px 10px}}.seg{display:flex;gap:3px;background:var(--surface-2);padding:4px;border-radius:14px;overflow-x:auto;scrollbar-width:none;margin-bottom:16px}.seg::-webkit-scrollbar{display:none}.seg button{padding:8px 13px;border-radius:10px;font-weight:700;font-size:13.5px;color:var(--muted);white-space:nowrap;flex-shrink:0}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chips.scroll::-webkit-scrollbar{display:none}.chip{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;flex-shrink:0}.chip[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.pill.ok{background:var(--leaf-soft);color:var(--leaf)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.info{background:var(--sky-soft);color:var(--sky)}.pill.sun{background:var(--sun-soft);color:var(--sun)}.pill.mute{background:var(--surface-2);color:var(--muted)}.rows{display:grid}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);min-width:0}.rows>.row:first-child{border-top:0;padding-top:2px}.rows>.row:last-child{padding-bottom:2px}.row .ico{width:38px;height:38px;border-radius:11px;background:var(--surface-2);display:grid;place-items:center;color:var(--muted);flex-shrink:0}.row .grow{flex:1 1;min-width:0}.row .t{font-weight:700;font-size:14.5px}.row .s{font-size:13px;color:var(--muted)}.row.tap{cursor:pointer}.kv{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}.kvs>.kv:first-child{border-top:0;padding-top:0}.kv>span:first-child{color:var(--muted)}.kv>span:last-child{font-weight:700;text-align:right}.lcd{background:var(--lcd);color:var(--lcd-ink);border:1px solid var(--lcd-edge);border-radius:10px;padding:8px 12px;font-family:var(--f-mono);box-shadow:inset 0 2px 7px rgba(0,0,0,.14);display:inline-grid;gap:1px;min-width:0}.lcd .u{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.78;font-weight:600}.lcd .d{font-size:24px;font-weight:600;letter-spacing:.06em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.lcd .d small{font-size:12px;letter-spacing:.04em;margin-left:4px}.lcd.big .d{font-size:32px}.lcd-row{display:flex;flex-wrap:wrap;gap:8px}.now{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:18px;gap:18px;align-items:center}@media (max-width:420px){.now{grid-template-columns:1fr}}.ring{position:relative;width:118px;height:118px}.ring svg{transform:rotate(-90deg)}.ring .trk{stroke:var(--surface-2)}.ring .val{stroke:var(--leaf);transition:stroke-dashoffset .6s}.ring .lab{position:absolute;inset:0;display:grid;place-items:center;text-align:center;line-height:1.05}.ring .lab b{font-family:var(--f-display);font-size:28px;font-weight:800}.ring .lab span{font-size:11.5px;color:var(--muted);font-weight:700}.src{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-weight:800;font-size:13px}.src.Solar{background:var(--sun-soft);color:var(--sun)}.src.Battery{background:var(--leaf-soft);color:var(--leaf)}.src.Generator{background:var(--warn-soft);color:var(--warn)}.src.Grid{background:var(--sky-soft);color:var(--sky)}.streak{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.streak b{font-family:var(--f-display);font-size:17px}.banner{display:flex;align-items:center;gap:14px;border-radius:16px;padding:14px 16px;border:1px solid var(--line);background:var(--surface);width:100%;text-align:left}.banner .ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.banner .grow{flex:1 1;min-width:0}.banner.ok{background:var(--leaf-soft);border-color:transparent}.banner.ok .ico{background:var(--surface);color:var(--leaf)}.banner.bad{background:var(--alert-soft);border-color:transparent}.banner.bad .ico{background:var(--surface);color:var(--alert)}.banner.warn{background:var(--warn-soft);border-color:transparent}.banner.warn .ico{background:var(--surface);color:var(--warn)}.banner.info{background:var(--sky-soft);border-color:transparent}.banner.info .ico{background:var(--surface);color:var(--sky)}.banner.ink{background:var(--ink);color:var(--surface);border-color:transparent}.banner.ink .ico{background:var(--leaf);color:var(--on-leaf)}.banner.ink .s{color:var(--surface);opacity:.75}.banner .t{font-weight:800}.banner .s{font-size:13px;color:var(--muted)}.bars{display:flex;align-items:flex-end;gap:5px;height:96px}.bars i{flex:1 1;min-width:0;border-radius:5px 5px 2px 2px;background:var(--leaf);opacity:.42}.bars i.hi{opacity:1}.bars.sky i{background:var(--sky)}.axis{justify-content:space-between;font-size:11px;color:var(--faint);margin-top:6px}.axis,.pair{display:flex}.pair{align-items:flex-end;gap:5px;height:110px}.pair .m{flex:1 1;flex-direction:column;align-items:center;gap:4px;min-width:0;justify-content:flex-end}.pair .b,.pair .m{display:flex;height:100%}.pair .b{gap:2px;align-items:flex-end;width:100%}.pair .b i{flex:1 1;border-radius:4px 4px 1px 1px;min-height:2px}.pair .g{background:var(--sky)}.pair .so{background:var(--sun-bright)}.pair .lb{font-size:10px;color:var(--faint);font-weight:700}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;font-weight:700;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.meter{height:8px;background:var(--surface-2);overflow:hidden}.meter,.meter i{border-radius:999px}.meter i{display:block;height:100%;background:var(--leaf)}.steps{display:flex;gap:5px}.steps i{flex:1 1;height:5px;border-radius:4px;background:var(--line)}.steps i.done{background:var(--leaf)}.steps i.now{background:var(--sky)}.step-labels{display:flex;gap:5px;margin-top:6px}.step-labels span{flex:1 1;font-size:10.5px;font-weight:700;color:var(--faint);text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-labels .done{color:var(--leaf)}.step-labels .now{color:var(--sky)}.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}@media (min-width:600px){.opts{grid-template-columns:repeat(3,minmax(0,1fr))}}.opt{display:flex;align-items:center;gap:10px;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);font-weight:700;min-width:0}.opt .ic{color:var(--muted)}.opt[aria-pressed=true]{border-color:var(--leaf);background:var(--leaf-soft)}.opt[aria-pressed=true] .ic{color:var(--leaf)}.appl{border:1.5px solid var(--line);border-radius:14px;background:var(--surface);padding:12px}.appl.on{border-color:var(--leaf)}.appl-h{display:flex;align-items:center;gap:10px;width:100%}.appl-h .ico{width:38px;height:38px;border-radius:11px;background:var(--surface-2);display:grid;place-items:center;color:var(--muted)}.appl.on .appl-h .ico{background:var(--leaf-soft);color:var(--leaf)}.appl-d{display:grid;grid-gap:10px;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.ctr{justify-content:space-between;gap:10px;font-size:13.5px;color:var(--muted)}.ctr,.stp{display:flex;align-items:center}.stp{gap:8px}.stp button{width:30px;height:30px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center}.stp b{min-width:28px;text-align:center;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sw{width:44px;height:26px;border-radius:999px;background:var(--line);position:relative;flex-shrink:0;transition:background .15s}.sw:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}.sw[aria-checked=true]{background:var(--leaf)}.sw[aria-checked=true]:after{left:21px}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:13px;font-weight:700;color:var(--muted)}.in{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:15px}.in:focus{outline:2px solid var(--leaf);outline-offset:0;border-color:transparent}textarea.in{min-height:80px}input[type=range]{width:100%;accent-color:var(--leaf)}.form{display:grid;grid-gap:12px;gap:12px}.form .two{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}@media (max-width:420px){.form .two{grid-template-columns:1fr}}.report-top{background:var(--ink);color:var(--surface);border-radius:var(--r);padding:20px}.report-top h2{font-family:var(--f-display);font-size:23px;font-weight:800;line-height:1.15;letter-spacing:-.015em;margin:8px 0 6px;text-wrap:balance}.report-top .muted{color:var(--surface);opacity:.72}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:16px}.report-grid div{background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 12px}.report-grid span{display:block;font-size:12px;color:var(--muted);font-weight:700}.report-grid b{font-family:var(--f-display);font-size:17px}.doc{background:var(--surface);border:2px solid var(--ink);border-radius:14px;padding:20px;position:relative}.doc:before{content:"";position:absolute;inset:5px;border:1px solid var(--line);border-radius:10px;pointer-events:none}.doc h3{font-family:var(--f-display);font-size:20px;font-weight:800;letter-spacing:-.01em;margin:4px 0 2px}.doc .idline{font-family:var(--f-mono);font-size:12px;color:var(--muted)}.letter{font-size:13.5px;line-height:1.6;border-radius:12px;max-height:48vh}.qr{display:grid;grid-template-columns:repeat(11,1fr);grid-gap:1px;gap:1px;width:88px;height:88px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-shrink:0}.qr i{background:var(--ink);border-radius:1px}.qr i.o{background:transparent}.tablewrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.t th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);text-align:right;padding:0 0 8px;font-weight:800;border-bottom:1px solid var(--line)}table.t td:first-child,table.t th:first-child{text-align:left}table.t td{padding:9px 0 9px 10px;border-bottom:1px solid var(--line);text-align:right;font-weight:600}table.t td:first-child{padding-left:0;color:var(--muted);font-weight:600}table.t tr:last-child td{border-bottom:0}.c-bad{color:var(--alert)}.c-ok{color:var(--leaf)}.c-sky{color:var(--sky)}.c-sun{color:var(--sun)}.c-warn{color:var(--warn)}.pp{background:var(--ink);color:var(--surface);border-radius:22px;padding:20px;display:grid;grid-gap:14px;gap:14px;position:relative;overflow:hidden}.pp:after{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-110px;border-radius:50%;border:40px solid var(--leaf);opacity:.18}.pp>*{position:relative;z-index:1}.pp .meta{font-size:13px;opacity:.75}.pp h2{font-family:var(--f-display);font-size:26px;font-weight:800;letter-spacing:-.02em}.pp .id{font-family:var(--f-mono);font-size:12px;opacity:.7;letter-spacing:.04em}.pp .tag{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:800}.pp .tag .ic{color:var(--leaf)}.pp-share{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--muted)}.tl-i{display:grid;grid-template-columns:30px minmax(0,1fr);grid-gap:12px;gap:12px;padding-bottom:16px;position:relative}.tl-i:before{content:"";position:absolute;left:14px;top:30px;bottom:0;width:2px;background:var(--line)}.tl-i:last-child:before{display:none}.tl-dot{background:var(--leaf-soft);color:var(--leaf)}.flow{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;overflow-x:auto}.flow svg{display:block;margin:0 auto;min-width:300px;max-width:560px;width:100%}.flow .ln{fill:none;stroke:var(--line);stroke-width:2.5}.flow .ln.on{stroke:var(--leaf)}.flow .ln.sun{stroke:var(--sun-bright)}.flow .dashd{stroke-dasharray:5 5}.flow .nd rect{fill:var(--surface-2);stroke:var(--line);stroke-width:1.5}.flow .nd.s rect{fill:var(--sun-soft);stroke:var(--sun-bright)}.flow .nd.l rect{fill:var(--leaf-soft);stroke:var(--leaf)}.flow .nd.b rect{fill:var(--sky-soft);stroke:var(--sky)}.flow .nd.w rect{fill:var(--warn-soft);stroke:var(--warn)}.flow .nd{cursor:pointer}.flow .nd:hover rect{stroke-width:2.5}.flow text{fill:var(--ink);font-family:var(--f-body);font-size:10px;font-weight:700}.flow text.sub{fill:var(--muted);font-weight:600;font-size:9px}.flow .pulse{fill:var(--leaf)}.flow .pulse.sun{fill:var(--sun-bright)}.tank{width:64px;height:118px;border:2px solid var(--line);border-radius:10px;position:relative;overflow:hidden;background:var(--surface-2);flex-shrink:0}.tank i{left:0;right:0;bottom:0;transition:height .5s}.tank b,.tank i{position:absolute}.tank b{inset:auto 0 6px;text-align:center;font-family:var(--f-mono);font-size:13px;color:var(--ink)}.map svg{display:block;width:100%;min-width:300px}.map .z rect{stroke-width:1.5}.map .z{cursor:pointer}.map .z.power rect{fill:var(--leaf-soft);stroke:var(--leaf)}.map .z.outage rect{fill:var(--alert-soft);stroke:var(--alert)}.map .z.partial rect{fill:var(--warn-soft);stroke:var(--warn)}.map .z.me rect{stroke-width:3.5}.map text{fill:var(--ink);font-family:var(--f-body);font-size:10px;font-weight:700}.map text.st{font-size:9px;font-weight:800}.map .z.power text.st{fill:var(--leaf)}.map .z.outage text.st{fill:var(--alert)}.map .z.partial text.st{fill:var(--warn)}.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--alert);margin-right:6px;animation:blink 1.4s infinite}@keyframes blink{50%{opacity:.25}}.dotc{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dotc.power{background:var(--leaf)}.dotc.outage{background:var(--alert)}.dotc.partial{background:var(--warn)}.onb{position:fixed;inset:0;z-index:90;background:var(--bg);overflow-y:auto;padding-block:calc(env(safe-area-inset-top,0px) + 28px) calc(env(safe-area-inset-bottom,0px) + 28px)}.onb-in{max-width:520px;margin:0 auto;display:grid;grid-gap:18px;gap:18px}.dawn{height:150px;position:relative;overflow:hidden;border-radius:22px;background:var(--surface-2)}.dawn .sunc{position:absolute;left:50%;bottom:-70px;width:180px;height:180px;margin-left:-90px;border-radius:50%;background:var(--sun-bright);box-shadow:0 0 0 22px var(--sun-soft),0 0 0 46px var(--surface);animation:rise 1.6s ease-out both}@keyframes rise{0%{transform:translateY(50px)}to{transform:none}}.dawn .hz{bottom:0;height:22px;background:var(--leaf)}.dawn .hz,.dawn .hz:before{position:absolute;left:0;right:0}.dawn .hz:before{content:"";top:-12px;height:12px;background:repeating-linear-gradient(90deg,var(--ink) 0 4px,transparent 4px 46px);opacity:.25}.onb h1{font-family:var(--f-display);font-size:clamp(30px,7vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}.who{display:grid;grid-gap:10px;gap:10px}.who a,.who button{display:flex;gap:14px;align-items:center;padding:16px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);text-align:left;width:100%}.who a:hover,.who button:hover{border-color:var(--leaf)}.who .ico{width:46px;height:46px;border-radius:14px;background:var(--leaf-soft);color:var(--leaf);display:grid;place-items:center;flex-shrink:0}.who .t{font-weight:800;font-size:16px}.who .s{font-size:13.5px;color:var(--muted)}.sheet-wrap{position:fixed;inset:0;z-index:80;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:580px;max-height:88vh;overflow-y:auto;border-radius:22px 22px 0 0;padding:20px max(18px,env(safe-area-inset-left,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-right,0px));animation:up .2s ease}@keyframes up{0%{transform:translateY(30px);opacity:.4}to{transform:none;opacity:1}}@media (min-width:700px){.sheet-wrap{align-items:center}.sheet{border-radius:22px;padding:24px}}.sheet-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.sheet-h h3{font-family:var(--f-display);font-size:21px;font-weight:800;letter-spacing:-.015em;text-wrap:balance}.fab{position:fixed;z-index:46;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;padding:13px 18px;border-radius:999px;background:var(--ink);color:var(--surface);font-weight:800;box-shadow:var(--shadow)}.fab .ic{color:var(--sun-bright)}@media (min-width:900px){.fab{bottom:calc(24px + env(safe-area-inset-bottom,0px))}}.fab.red{right:auto;left:50%;transform:translateX(-50%);background:var(--alert)}.fab.red,.fab.red .ic{color:var(--surface)}.coach{position:fixed;z-index:85;left:0;right:0;bottom:0;margin-left:auto;max-width:460px;height:min(86vh,740px);background:var(--surface);border-radius:22px 22px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 40px rgba(0,0,0,.2);border:1px solid var(--line)}@media (min-width:700px){.coach{right:16px;left:auto;bottom:16px;width:440px;border-radius:22px}}.coach-h{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.coach-h .ico{width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--sun-bright);display:grid;place-items:center}.coach-b{flex:1 1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}.msg{max-width:88%;padding:10px 13px;border-radius:15px;font-size:14px;line-height:1.5}.msg.bot{background:var(--surface);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}.msg.me{background:var(--ink);color:var(--surface);align-self:flex-end;border-bottom-right-radius:5px}.msg.card-msg{max-width:100%;width:100%;padding:0;border:0;background:none}.typing{display:flex;gap:4px;padding:4px 2px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--faint);animation:bob 1.1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bob{40%{transform:translateY(-5px)}}.coach-s{display:flex;gap:6px;overflow-x:auto;padding:10px 14px;border-top:1px solid var(--line);scrollbar-width:none}.coach-s::-webkit-scrollbar{display:none}.coach-f{padding:10px 14px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}.chatlog,.coach-f{display:flex;gap:8px}.chatlog{flex-direction:column;max-height:46vh;overflow-y:auto;padding:4px 0 10px}.toast{position:fixed;z-index:95;left:50%;bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:11px 16px;border-radius:12px;font-size:14px;font-weight:700;max-width:min(92vw,460px);text-align:center;box-shadow:var(--shadow)}@media (min-width:900px){.toast{bottom:28px}}.empty{padding:22px;text-align:center;color:var(--muted);font-size:14px}.vpp{background:var(--ink);border-radius:var(--r);padding:20px;display:grid;grid-gap:10px;gap:10px}.vpp,.vpp .muted{color:var(--surface)}.vpp .muted{opacity:.7}.vpp .chip{background:transparent;color:var(--surface);border-color:var(--muted)}.hr{height:1px;background:var(--line);margin:14px 0}[hidden]{display:none!important}a.btn{text-decoration:none}.btn-dark{background:var(--ink);color:var(--surface)}.h3{font-family:var(--f-display);font-size:19px;font-weight:800;letter-spacing:-.02em;margin:4px 0 2px;line-height:1.2}.tabbar .nv{font-size:10.5px;padding:0 2px;text-align:center;line-height:1.15}@media (max-width:360px){.tabbar .nv span{font-size:9.5px}}.dawn{height:clamp(190px,46vw,250px);background:#120F22;border-radius:24px;isolation:isolate}.dawn canvas.sunfx{position:absolute;inset:0;width:100%;height:100%;display:block}.dawn .sunlbl{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:rgba(10,8,18,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#FFF4D6;font-size:12px;font-weight:700;border:1px solid rgba(255,220,150,.25)}.dawn .sunlbl b{font-family:var(--f-mono);font-weight:600;color:#FFD45C;min-width:48px}.lightc{margin-top:12px;border-width:1.5px}.lightc.is-off{border-color:color-mix(in srgb,var(--alert) 35%,var(--line))}.lightc.is-on{border-color:var(--leaf);background:linear-gradient(180deg,var(--leaf-soft),var(--surface) 70%)}.lightc.is-pt{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.lc-h{display:flex;gap:12px;align-items:center}.lc-bulb{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;background:var(--surface-2);color:var(--faint)}.is-on .lc-bulb{background:var(--sun-bright);color:#3A2600;box-shadow:0 0 0 6px var(--sun-soft);animation:glow 2.4s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 0 11px var(--sun-soft)}}.is-off .lc-bulb{background:var(--alert-soft);color:var(--alert)}.lc-big{font-family:var(--f-display);font-weight:800;font-size:21px;letter-spacing:-.02em;line-height:1.15}.dayline{display:grid;grid-template-columns:repeat(24,1fr);grid-gap:2px;gap:2px;height:22px}.dayline i{border-radius:3px;background:var(--surface-2)}.dayline i.on{background:var(--leaf)}.dayline i.off{background:var(--alert);opacity:.7}.dayline i.pt{background:var(--warn)}.dayline i.f{background:var(--surface-2);opacity:.5}.lc-btns{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.lc-btns .btn{justify-content:center;padding-inline:10px}.lightpop{position:fixed;z-index:88;top:calc(var(--top-h,64px) + 10px + env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));max-width:460px;margin:0 auto;display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;background:var(--surface);border:1.5px solid var(--leaf);box-shadow:0 18px 50px rgba(0,0,0,.25);animation:drop .35s ease-out}.lightpop .lp-ico{width:42px;height:42px;border-radius:13px;background:var(--sun-bright);color:#3A2600;display:grid;place-items:center;flex-shrink:0}.lightpop .t{font-weight:800}.lightpop .s{font-size:13.5px;color:var(--muted)}@keyframes drop{0%{transform:translateY(-16px)}}.ajo{display:grid;grid-gap:14px;gap:14px}.ajo-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ajo-pot{padding:12px;border-radius:14px;background:var(--surface-2)}.ajo-n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--surface-2);color:var(--muted);flex-shrink:0;font-family:var(--f-mono)}.ajo-n.d{background:var(--leaf);color:var(--on-leaf)}.ajo-n.n{background:var(--sun-bright);color:#3A2600}.fam-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fam-top .chips{overflow-x:auto;scrollbar-width:none;max-width:100%}.fam{display:grid;grid-gap:12px;gap:12px}.fam-bat{padding:12px;border-radius:14px;background:var(--surface-2);margin-top:4px}.fam-acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}@media (min-width:700px){.fam-acts{grid-template-columns:repeat(4,minmax(0,1fr))}}.fam-acts .qa{gap:6px}.fam-acts .qa .tiny{font-weight:500}.coach-lang{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;border-bottom:1px solid var(--line);scrollbar-width:none}.coach-lang::-webkit-scrollbar{display:none}.coach-lang .chip{padding:5px 11px;font-size:12.5px}.coach-f{position:relative;align-items:center}.coach-f .mic{flex-shrink:0}.coach-rec{display:none;position:absolute;inset:0;align-items:center;gap:10px;padding:10px 14px calc(14px + env(safe-area-inset-bottom,0px));background:var(--surface)}.coach-f.rec .coach-rec{display:flex}.rdot{width:10px;height:10px;border-radius:50%;background:var(--alert);animation:blink 1s infinite;flex-shrink:0}.wave{display:flex;align-items:center;gap:2px;height:26px;flex:1 1;min-width:0}.wave i{flex:none;width:3px;border-radius:2px;background:currentColor;opacity:.55;display:block}.wave.recw i{height:30%;animation:wv .9s ease-in-out infinite;color:var(--alert)}.wave.recw i:nth-child(3n){animation-delay:.15s}.wave.recw i:nth-child(3n+1){animation-delay:.3s}.wave.recw i:nth-child(4n){animation-delay:.45s}@keyframes wv{50%{height:95%}}.vn{display:flex;align-items:center;gap:10px;min-width:200px}.vplay{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--leaf);color:var(--on-leaf);flex-shrink:0}.vn.me .vplay{background:var(--sun-bright);color:#3A2600}.vn .dur{font-size:12px;opacity:.8}.vn.playing .wave i{animation:vnp var(--dur) linear forwards;opacity:1}@keyframes vnp{0%{opacity:.4}to{opacity:1}}.vn.playing .vplay{animation:glow 1.2s ease-in-out infinite}.vtag{font-family:var(--f-mono);font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--sun-soft);color:var(--sun);letter-spacing:0}.vppc{border:1.5px solid var(--sun-bright)}.vlive{display:grid;grid-gap:12px;gap:12px}.vl-top{display:flex;align-items:center;gap:8px}.vl-top b{flex:1 1}.vl-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.vl-box{padding:12px;border-radius:14px;background:var(--surface-2);display:grid;grid-gap:6px;gap:6px}.vl-big{font-family:var(--f-display);font-weight:800;font-size:28px;line-height:1}.pill.bad{background:var(--alert-soft);color:var(--alert)}@media (max-width:640px){.grid2{grid-template-columns:minmax(0,1fr)}}body,html{margin:0}a{color:inherit;text-decoration:none}.link a,a.link{color:var(--leaf);font-weight:700}select.in{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}textarea.in{min-height:96px;resize:vertical}.err{color:var(--alert)}.err,.okmsg{font-size:13.5px;font-weight:600}.okmsg{color:var(--leaf)}.center-page{min-height:100dvh;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-left))}.auth-card{width:100%;max-width:420px;display:grid;grid-gap:16px;gap:16px}.otp{letter-spacing:.5em;font-family:var(--f-mono);font-size:22px;text-align:center}.zgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px}.ztile{border-radius:14px;padding:12px;border:1.5px solid var(--line);background:var(--surface);text-align:left;display:grid;grid-gap:4px;gap:4px}.ztile.on{border-color:var(--leaf);background:var(--leaf-soft)}.ztile.off{border-color:var(--alert);background:var(--alert-soft)}.ztile.low{border-color:var(--warn);background:var(--warn-soft)}.ztile[aria-pressed=true]{outline:2.5px solid var(--ink);outline-offset:1px}.ztile .n{font-weight:800;font-size:14px}.ztile .st{font-size:12px;font-weight:700}.chatbox{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;padding:4px 2px 10px}.bubble{max-width:82%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.bubble.me{align-self:flex-end;background:var(--ink);color:var(--surface);border-bottom-right-radius:4px}.bubble.them{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:4px}.bubble .tm{display:block;font-size:10.5px;opacity:.6;margin-top:3px}.letter{white-space:pre-wrap;font-family:var(--f-mono);font-size:12.5px;line-height:1.55;background:var(--surface-2);border-radius:14px;padding:14px;max-height:420px;overflow:auto}.landing-hero{display:grid;grid-gap:18px;gap:18px;max-width:560px;margin:0 auto}.feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.footer{max-width:780px;margin:30px auto 0;padding:20px 0 40px;border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.skel{height:84px;border-radius:var(--r);animation:blink 1.4s infinite}.evt,.skel{background:var(--surface-2)}.evt{align-self:center;font-size:12px;font-weight:700;color:var(--muted);border-radius:999px;padding:5px 12px;text-align:center;max-width:92%}.who.choice{gap:8px}.who.choice button{padding:12px 14px;gap:12px;border-radius:14px}.who.choice .ico{width:40px;height:40px;border-radius:12px}.who.choice .t{display:block;font-size:15px;line-height:1.25}.who.choice .s{display:block;font-size:13px;line-height:1.35;margin-top:2px}.who.choice button[aria-pressed=true]{border-color:var(--leaf);background:var(--leaf-soft);box-shadow:0 0 0 1px var(--leaf) inset}.who.choice button[aria-pressed=true] .ico{background:var(--leaf);color:var(--on-leaf)}.ztile.unstable{border-color:var(--sun-bright);background:repeating-linear-gradient(135deg,var(--sun-soft) 0 10px,var(--surface) 10px 20px)}.undo-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.bar-list{display:grid;grid-gap:10px;gap:10px}.bar-list .bl-row{display:grid;grid-gap:4px;gap:4px}.bar-list .bl-top{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}.bar-list .bl-top b{font-weight:700}.ins-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ins-grid .card h3{font-size:14px;font-weight:800;margin:0 0 12px;display:flex;gap:8px;align-items:center}.undo-bar .btn{white-space:nowrap;flex-shrink:0}.tile small{font-size:12px;font-weight:600;color:var(--muted);margin-left:2px}a.tile:hover{border-color:var(--leaf)}.tile.warn{border-color:var(--warn);background:var(--warn-soft)}.banner .btn-row .btn{flex:0 0 auto}.band-chart{position:relative;gap:6px;height:140px;border-bottom:1px solid var(--line);padding-top:4px}.band-chart,.band-col{display:flex;align-items:flex-end}.band-col{flex:1 1;min-width:0;height:100%}.band-col i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:var(--leaf);min-height:2px}.band-col i.low{background:var(--alert)}.band-line{left:0;border-top:2px dashed var(--warn);z-index:1;pointer-events:none}.band-line,.band-line em{position:absolute;right:0}.band-line em{top:-20px;font-style:normal;font-size:11px;font-weight:800;color:var(--warn);background:var(--surface);padding:0 4px;border-radius:4px}.band-x{display:flex;gap:6px}.band-x span{flex:1 1;min-width:0;display:grid;text-align:center}.band-x b{color:var(--ink);font-weight:700}.cost-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.cost-in label{display:inline-flex;align-items:center;gap:4px}.in.in-xs{width:56px;padding:6px 8px;font-size:14px;border-radius:9px}.tips{margin:0;padding-left:20px}.tips li{line-height:1.5}.land-h1{font-family:var(--f-display);font-size:clamp(32px,7.5vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1.04;text-wrap:balance}.land-sub{font-size:15.5px;line-height:1.55;max-width:56ch}.land-today{display:grid;grid-gap:8px;gap:8px}.landing-hero .tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}.who a.who-main{border-color:var(--leaf);background:var(--leaf-soft)}.who a.who-main .ico{background:var(--leaf);color:var(--on-leaf)}.journey{display:grid;grid-gap:10px;gap:10px;margin-top:6px}.journey-h{display:flex;gap:12px;align-items:center}.journey-h h2{font-family:var(--f-display);font-size:20px;font-weight:800;letter-spacing:-.015em;line-height:1.2;text-wrap:balance}.journey-n{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;flex-shrink:0;background:var(--ink);color:var(--surface);font-weight:800;font-size:14px}.journey .feat{grid-template-columns:1fr}@media (min-width:640px){.journey .feat{grid-template-columns:repeat(3,minmax(0,1fr))}}.setup .row .ico{border-radius:999px}.setup .row.done .t{text-decoration:line-through;color:var(--muted)}.setup .row.done .ico{background:var(--leaf);color:var(--on-leaf)}.src-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}:root{--pm0:#E3E8E5;--pm0r:#C9D3CD;--pm1:#D9583F;--pm2:#EFA14A;--pm3:#EDCB62;--pm4:#8DCB98;--pm5:#1E7F4E;--pm-line:#FFFFFF;--pm-sea:#E6EEF2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--pm0:#26302B;--pm0r:#3A4740;--pm1:#C0553F;--pm2:#C88A3A;--pm3:#B9A24A;--pm4:#4F9C66;--pm5:#38C483;--pm-line:#0E1411;--pm-sea:#131C20}}:root[data-theme=dark]{--pm0:#26302B;--pm0r:#3A4740;--pm1:#C0553F;--pm2:#C88A3A;--pm3:#B9A24A;--pm4:#4F9C66;--pm5:#38C483;--pm-line:#0E1411;--pm-sea:#131C20}.chrome{max-width:780px;margin:0 auto}.chrome:empty{display:none}main:has(.page.wide) .chrome{max-width:1080px}.backbar{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:7px 12px 7px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:13.5px;color:var(--ink);max-width:100%}.backbar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backbar:hover{border-color:var(--faint)}.pinfo{display:flex;gap:12px;align-items:flex-start;background:var(--sky-soft);border-radius:14px;padding:12px 14px;margin:0 0 16px}.pinfo .ico{width:30px;height:30px;border-radius:9px;background:var(--surface);color:var(--sky);display:grid;place-items:center;flex-shrink:0}.pinfo p{font-size:14px;line-height:1.45;margin:0}.pinfo b{display:block;font-size:13px;color:var(--sky);margin-bottom:2px}.pinfo .x{margin-left:auto;white-space:nowrap;padding:2px 0}.pinfo .x,.pinfo-chip{font-size:12.5px;font-weight:800;color:var(--sky)}.pinfo-chip{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px}.ph h1.h1-tag{font-size:clamp(24px,3.6vw,34px);line-height:1.15;max-width:24ch}.sec-sub{margin:-4px 0 12px;font-size:14px;color:var(--muted);max-width:60ch}.psc{display:grid;grid-gap:12px;gap:12px;align-content:start;text-align:left;width:100%;min-width:0;color:inherit;text-decoration:none}.psc.tap{cursor:pointer;transition:border-color .15s,box-shadow .15s}.psc.tap:hover{border-color:var(--faint);box-shadow:var(--shadow)}.psc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.psc-k{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.psc-place{font-weight:800;font-size:16px;line-height:1.25;margin-top:4px;color:var(--ink)}.psc-meta{font-size:12.5px;color:var(--muted);margin-top:2px}.psc-grade{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 10px;border-radius:999px;background:var(--surface-2);font-size:12.5px;font-weight:800;color:var(--ink)}.psc-grade i{width:9px;height:9px;border-radius:50%}.psc-num{display:flex;align-items:baseline;gap:6px;margin-top:2px}.psc-num b{font-family:var(--f-display);font-size:56px;line-height:.92;font-weight:800;letter-spacing:-.035em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.psc-num span{font-size:17px;font-weight:700;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.psc-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.psc-bar i{display:block;height:100%;border-radius:999px}.psc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:12px}.psc-stats>div{display:grid;grid-gap:3px;gap:3px;padding:0 10px;border-left:1px solid var(--line);min-width:0;align-content:start}.psc-stats>div:first-child{padding-left:0;border-left:0}.psc-stats b{font-family:var(--f-display);font-size:20px;font-weight:800;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.psc-stats b small{font-family:var(--f-body);font-size:12px;font-weight:700;color:var(--muted);margin-left:2px}.psc-stats span{font-size:12px;color:var(--muted);line-height:1.3}.psc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}.psc-foot .link{gap:6px}.psc-foot .link,.psc-go{display:inline-flex;align-items:center}.psc-go{gap:4px;font-weight:800;font-size:13.5px;color:var(--leaf)}.psc-note{padding:10px 12px;border-radius:10px}.psc-empty,.psc-note{font-size:13.5px;background:var(--surface-2)}.psc-empty{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border-radius:12px}.psc-empty span{color:var(--muted)}@media (max-width:380px){.psc-num b{font-size:48px}.psc-stats b{font-size:17px}}.pm-two{display:grid;grid-gap:12px;gap:12px}@media (min-width:760px){.pm-two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.pm-two>.card,.pm-two>section{margin:0}}.onb-pm{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;text-align:left;width:100%;padding:14px 16px;border-radius:16px;background:var(--ink);color:var(--surface);border:0;text-decoration:none}.onb-pm .ico{width:44px;height:44px;border-radius:12px;background:var(--sun-bright);color:#14211A;display:grid;place-items:center}.onb-pm .t{font-weight:800;font-size:16px}.onb-pm .s{font-size:13px;opacity:.78}.pm-grid{display:grid;grid-gap:14px;gap:14px;margin-top:6px}.pm-mapcol{order:-1}.pm-mapcol,.pm-panel{min-width:0}@media (min-width:900px){.pm-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);align-items:start}.pm-mapcol{order:0;position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px)}}.pm-frame{background:var(--pm-sea);border:1px solid var(--line);border-radius:var(--r,18px);padding:10px;position:relative;overflow:hidden}.pm-frame .cap{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 4px 8px}.pm-svg{display:block;width:100%;height:auto;aspect-ratio:726/591;cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none}.pm-svg.drag{cursor:-webkit-grabbing;cursor:grabbing}.pm-svg .st{stroke-width:.8;cursor:pointer;transition:opacity .2s;outline:none}.pm-svg .st:focus-visible,.pm-svg .st:hover{opacity:.82}.pm-svg .st.dim{opacity:.4}.pm-svg .bd{stroke:var(--pm-line);stroke-width:1.3}.pm-svg .bd,.pm-svg .ol{fill:none;pointer-events:none;vector-effect:non-scaling-stroke}.pm-svg .ol{stroke:var(--ink);stroke-width:1.4;opacity:.55}.pm-svg .lbl{font-family:var(--f-body);font-weight:800;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-linejoin:round;pointer-events:none;text-anchor:middle}.pm-zoom{position:absolute;right:18px;top:44px;display:grid;grid-gap:6px;gap:6px}.pm-zoom button{width:38px;height:38px;border-radius:11px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;box-shadow:var(--shadow);color:var(--ink)}.pm-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted);padding:8px 4px 2px}.pm-legend span{display:inline-flex;align-items:center;gap:5px}.pm-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}.pm-tip{position:absolute;left:14px;top:44px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 11px;font-size:13px;box-shadow:var(--shadow);pointer-events:none;max-width:220px}.pm-tip b{display:block}@media (hover:none){.pm-tip{display:none}}.pm-sum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.pm-sum>div{display:grid;grid-gap:2px;gap:2px;padding:0 12px;border-left:1px solid var(--line)}.pm-sum>div:first-child{padding-left:0;border-left:0}.pm-sum b{font-family:var(--f-display);font-size:24px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pm-sum span{font-size:12.5px;color:var(--muted)}.rank{display:grid}.rank .row{gap:10px}.rank button.row{width:100%;text-align:left;background:none;border-left:0;border-right:0;border-bottom:0;color:inherit;font:inherit}.rank .row.on{background:var(--surface-2);border-radius:10px;padding-inline:8px}.rank .no{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:12.5px;color:var(--ink);background:var(--surface-2);flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rank .no[style],.scorepill{color:#14211A}.scorepill{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:44px;text-align:center;padding:4px 8px;border-radius:9px;font-weight:800;font-size:13px}.tb-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.tb,.tb-row{display:grid}.tb-row{grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.tb-row:first-child{border-top:0}.tb-row.mine{background:var(--sun-soft);margin:0 -10px;padding-inline:10px;border-radius:12px}.tb-row.mine,.tb-row.mine+.tb-row{border-top-color:transparent}.tb-b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:800;color:#14211A}.tb-t{font-size:13.5px}.tb-t b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tb-bar{position:relative;height:6px;background:var(--surface-2);margin-top:6px}.tb-bar,.tb-bar i{border-radius:999px}.tb-bar i{display:block;height:100%;background:var(--leaf)}.tb-bar i.low{background:var(--warn)}.tb-bar em{position:absolute;top:-3px;width:2px;height:12px;background:var(--ink);border-radius:2px;opacity:.6}.tb-r{text-align:right;display:grid;grid-gap:1px;gap:1px}.tb-r b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14.5px}.tb-r span{font-size:11.5px;color:var(--muted);white-space:nowrap}label.btn{position:relative;cursor:pointer}.sr-file{position:absolute;inset:0;opacity:0;width:1px;height:1px;overflow:hidden;pointer-events:none}.scanbox{border:1.5px dashed var(--line);border-radius:16px;padding:18px;display:grid;grid-gap:12px;gap:12px;text-align:center}.bill-prev,.scanbox{background:var(--surface-2)}.bill-prev{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);max-height:260px}.bill-prev img{display:block;width:100%;height:260px;object-fit:contain}button.row{background:none;border:0;border-top:1px solid var(--line);font:inherit;color:inherit;cursor:pointer}.rw{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;width:100%;text-align:left;color:inherit}a.rw:hover{border-color:var(--sun-bright)}.rw .coin{width:54px;height:54px;border-radius:50%;background:var(--sun-soft);color:var(--sun);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:15px;border:2px solid var(--sun-bright);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rw .lv{height:8px;background:var(--surface-2);overflow:hidden;margin-top:7px}.rw .lv,.rw .lv i{display:block;border-radius:999px}.rw .lv i{height:100%;background:var(--sun-bright)}.rw .small .ic{display:inline;vertical-align:-2px;color:var(--sun)}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px}.badge{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-gap:4px;gap:4px;text-align:center;justify-items:center;font-size:12.5px}.badge .bi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--sun-soft);color:var(--sun)}.badge.lock{opacity:.55}.badge.lock .bi{background:var(--surface-2);color:var(--faint)}.lstrip{display:flex;align-items:center;gap:6px;margin:0 0 12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.lstrip::-webkit-scrollbar{display:none}.ls-i{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;max-width:100%;padding:6px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap}.ls-i:first-child{flex-shrink:1;min-width:0}.ls-t{overflow:hidden;text-overflow:ellipsis}.ls-i .ic{color:var(--muted)}.ls-i.warn{border-color:var(--warn);background:var(--warn-soft)}.ls-i.warn .ic{color:var(--warn)}.ls-i .dt{width:9px;height:9px;border-radius:50%;background:var(--faint);flex-shrink:0}.ls-i.on .dt{background:var(--leaf);box-shadow:0 0 0 3px var(--leaf-soft);animation:lspulse 2.4s ease-in-out infinite}.ls-i.off .dt{background:var(--alert);box-shadow:0 0 0 3px var(--alert-soft)}.ls-i.pt .dt{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.ls-i:hover{border-color:var(--faint)}.ls-ago{flex-shrink:0;font-size:11.5px;color:var(--faint);padding-left:2px;white-space:nowrap}@keyframes lspulse{50%{box-shadow:0 0 0 5px var(--leaf-soft)}}@media (prefers-reduced-motion:reduce){.ls-i.on .dt{animation:none}}.a2hs{position:fixed;z-index:79;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(var(--nav-h) + 14px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px 12px;gap:10px 12px;align-items:center;animation:up .25s ease}@media (min-width:900px){.a2hs{bottom:24px;left:auto;right:24px;margin:0;width:420px}}.a2hs .ico{width:46px;height:46px;border-radius:13px;background:var(--leaf);color:var(--on-leaf);display:grid;place-items:center}.a2hs .t{font-weight:800}.a2hs .s{font-size:13px;color:var(--muted)}.a2hs .btn-row{grid-column:1/-1}.steps-how{counter-reset:h;display:grid;grid-gap:12px;gap:12px;list-style:none;margin:0;padding:0}.steps-how li{display:grid;grid-template-columns:30px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;padding-top:2px}.steps-how li:before{counter-increment:h;content:counter(h);width:28px;height:28px;border-radius:9px;background:var(--leaf-soft);color:var(--leaf);display:grid;place-items:center;font-weight:800;margin-top:-3px}.kbd{display:inline-flex;gap:4px;padding:1px 7px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line);font-weight:800;font-size:13px;white-space:nowrap}.kbd,.lc-meta{align-items:center}.lc-meta{display:flex;flex-wrap:wrap;gap:6px 8px;margin:6px 0 12px}.alert-pr{display:flex;gap:14px;align-items:flex-start;border-color:var(--leaf)}.alert-pr .ico{width:44px;height:44px;border-radius:13px;background:var(--leaf-soft);color:var(--leaf);display:grid;place-items:center;flex-shrink:0}.nb-dot{width:12px;height:12px;border-radius:50%;background:var(--faint);flex-shrink:0;margin:0 13px}.nb-dot.on{background:var(--leaf);box-shadow:0 0 0 4px var(--leaf-soft)}.nb-dot.off{background:var(--alert);box-shadow:0 0 0 4px var(--alert-soft)}.nb-dot.pt{background:var(--warn);box-shadow:0 0 0 4px var(--warn-soft)}.tl{list-style:none;margin:0;padding:0;grid-gap:0;gap:0}.tl,.tl li{display:grid}.tl li{grid-template-columns:30px minmax(0,1fr);grid-gap:12px;gap:12px;padding:10px 0;position:relative;font-size:14.5px}.tl li:not(:last-child):after{content:"";position:absolute;left:14px;top:38px;bottom:-8px;width:2px;background:var(--line)}.tl-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);position:relative;z-index:1}.tl li.on .tl-dot{background:var(--leaf-soft);color:var(--leaf)}.tl li.off .tl-dot{background:var(--alert-soft);color:var(--alert)}.tl li.pt .tl-dot{background:var(--warn-soft);color:var(--warn)}.inv-ico{width:46px;height:46px;border-radius:14px;background:var(--sun-soft);color:var(--sun);display:grid;place-items:center;flex-shrink:0}.inv-link{font-family:var(--f-mono,ui-monospace,monospace);font-size:13.5px;border-radius:10px;padding:10px 12px;overflow-wrap:anywhere}.inv-link,.recap-card{background:var(--surface-2)}.recap-card{margin-top:14px;max-width:440px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.recap-card img{display:block;width:100%;height:auto}.btn-nepa{background:var(--sun-bright);color:#14211A;box-shadow:0 2px 0 rgba(0,0,0,.08)}.btn-nepa:hover{filter:brightness(1.04)}.confetti{position:fixed;inset:0;pointer-events:none;z-index:200;overflow:hidden}.confetti i{position:absolute;width:8px;height:12px;border-radius:2px;opacity:0;animation:nepa 1.4s cubic-bezier(.2,.7,.3,1) forwards}@keyframes nepa{0%{opacity:1;transform:translate(-50%,-50%) rotate(0)}70%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy) + 260px)) rotate(var(--r))}}.tips{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.tip{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}.tip p{margin:0;font-size:13.5px;line-height:1.45}.tip .ico{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--leaf-soft,var(--surface-2));color:var(--leaf)}.tip.warn .ico{background:var(--sun-soft);color:var(--sun)}.tip .btn{flex:none}@media (max-width:520px){.tip{flex-wrap:wrap}.tip .btn{margin-left:46px}}.land-first{display:grid;grid-gap:14px;gap:14px;padding:4svh 0 2svh;min-height:min(70svh,560px);align-content:start}.land-demo{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px -16px rgba(0,0,0,.25)}.land-demo .lc-bulb{background:var(--sun-bright);color:#3A2600;box-shadow:0 0 0 6px var(--sun-soft);animation:glow 2.4s ease-in-out infinite}.btn-lg{padding:15px 20px;font-size:16px;border-radius:14px}.land-alt{margin:0;text-align:center}.land-alt a{color:var(--leaf);font-weight:700}.land-more{display:grid;grid-gap:8px;gap:8px;margin-top:8px}details.journey{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px}details.journey summary{list-style:none;cursor:pointer}details.journey summary::-webkit-details-marker{display:none}details.journey .chev{color:var(--muted);transition:transform .15s;margin-left:auto;flex:none;display:grid}details.journey[open] .chev{transform:rotate(90deg)}details.journey[open] .feat{margin-top:10px}details.journey .journey-h h2{font-size:17px}.wrapped{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;margin-inline:-2px}.wrapped figure{margin:0;flex:0 0 auto;width:min(62vw,240px);scroll-snap-align:start;display:grid;grid-gap:8px;gap:8px}.wrapped img{width:100%;aspect-ratio:9/16;border-radius:16px;display:block;box-shadow:0 10px 30px -18px rgba(0,0,0,.45)}@media (min-width:1000px){.landing-hero{max-width:1080px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;align-items:start}.land-first{grid-column:1;grid-row:1/span 8;position:-webkit-sticky;position:sticky;top:40px;min-height:0;padding-top:8vh}.landing-hero>:not(.land-first){grid-column:2}.land-more{margin-top:8vh}}