@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7e832ad540183e91-s.280oih_b74u9j.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2094fb60fd9c8287-s.3qxy1tqak831c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c875c6f5d3e977ac-s.p.1h18_wedhzk4h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.2b_sldcwg6mn_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.1emuuracu50qd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.43zbiuwnnoiok.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.0ynx40_3oa9rk.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.1975l3y3401x_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.2o7m9ogm38dql.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.3ji57o093q1kd.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.19xuq3td7fwu_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.3o_v2fun1jzxk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.11ypmpdlzqdb_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.3go-kn2r40gie.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.3bh2vc0w-r-ll.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_3e157e41-module__euozaW__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_3e157e41-module__euozaW__variable{--font-poppins:"Poppins", "Poppins Fallback"}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/08f3d05b771d66cc-s.09q3flbxo0w4e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/413670c8b897121b-s.p.3u0t_c_yzgtgw.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/72b93e0389b54497-s.3fcxnszjbtksy.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab8c2f9dfe50fb3c-s.p.09e83-4vqkr8v.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/57f2d0e8dd065b18-s.2taqxaqrv3ssw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/966a1ae9b0187c65-s.p.3_xwflgq9fbqb.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/25d906941e607a44-s.1x31jf7v-_3a0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/666deae7c569669f-s.p.2t1pwrt0o-zp3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/cce0da533fe89a78-s.20mrlfyovr0p8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/411573def610439a-s.p.2wx1mw4dt7_s5.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0f35197ba25d2b5b-s.10770ssbdafq9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e4b5e1d5de235207-s.p.0xwse1x-bzy3s.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/cdf71b3840042aba-s.2m8zx_hq13x-4.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/86fee4a10e2832ea-s.p.2_z8r5dfkst21.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b1ef0ab36ab59f4e-s.1nxoen_49_z0x.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9fdf3a539c009271-s.p.0oqt8towxai-k.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai Fallback;src:local(Arial);ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_thai_ff490c61-module__Wcynda__className{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.ibm_plex_sans_thai_ff490c61-module__Wcynda__variable{--font-plex-thai:"IBM Plex Sans Thai", "IBM Plex Sans Thai Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_d52a7f62-module__awzX8G__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_d52a7f62-module__awzX8G__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f9fb;--surface:#fff;--surface-2:#eff1f5;--surface-3:#e8f6fc;--border:#dde1ea;--border-strong:#c4cad8;--ink:#1b2b6b;--ink-muted:#5a6282;--ink-faint:#666e8d;--brand:#1a7fa8;--brand-bright:#29abe2;--brand-dark:#16719a;--brand-tint:#e8f6fc;--on-brand:#fff;--focus:#1e96ca;--sun:#f7b731;--sun-lt:#fef3cd;--brand-gradient:linear-gradient(to right, var(--brand-bright), var(--sun));--good:#22c55e;--good-strong:#15803d;--good-tint:#ecfdf5;--good-border:#bbf7d0;--bad:#dc2626;--bad-strong:#c62828;--bad-tint:#fef2f2;--bad-border:#fecaca;--warn:#f59e0b;--warn-strong:#b45309;--warn-tint:#fffbeb;--warn-border:#fde68a;--info:#3b82f6;--radius:.75rem;--radius-sm:.45rem;--radius-md:.6rem;--radius-lg:.75rem;--radius-xl:1.05rem;--radius-2xl:1.35rem;--radius-full:999px;--font-body:var(--font-poppins), var(--font-plex-thai), system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "SFMono-Regular", monospace;--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.875rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-display:2rem;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--ring-hairline:inset 0 0 0 1px #1b2b6b1a;--shadow-sticky:0 1px 2px #1b2b6b0f;--dur-fast:.12s;--dur-base:.18s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}
*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}textarea,input,select{font:inherit}h1,h2,h3,p{overflow-wrap:anywhere;min-width:0;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-text-size-adjust:100%;text-size-adjust:100%;line-height:1.55}a{color:var(--brand-dark)}::placeholder{color:var(--ink-faint)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus);outline:none;transition:none}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:30;background:var(--surface);box-shadow:var(--shadow-sticky);position:sticky;top:0}.app-header:after{content:"";background:var(--brand-gradient);height:3px;display:block}.header-inner{max-width:640px;padding:var(--space-sm) var(--space-md);margin:0 auto}.brand-row{align-items:center;gap:var(--space-xs);display:flex}.brand-mark{object-fit:contain;flex-shrink:0;width:36px;height:36px}.brand-text h1{font-size:var(--text-md);letter-spacing:-.01em;font-weight:600}.brand-text p{margin-top:var(--space-3xs);font-size:var(--text-xs);color:var(--ink-muted)}.app-main{width:100%;max-width:640px;padding:var(--space-md) var(--space-md) 96px;flex:1;margin:0 auto}.screen{gap:var(--space-sm);flex-direction:column;display:flex}.bottom-tabs{z-index:20;gap:var(--space-3xs);padding:var(--space-2xs) var(--space-2xs) calc(var(--space-2xs) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;inset:auto 0 0}.bottom-tab{align-items:center;gap:var(--space-3xs);min-width:0;padding:var(--space-xs) var(--space-2xs);border-radius:var(--radius-md);color:var(--ink-muted);font-size:var(--text-2xs);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex-direction:column;flex:1;font-weight:500;text-decoration:none;display:flex}.bottom-tab svg{width:20px;height:20px}.bottom-tab[aria-current=page]{background:var(--brand-tint);color:var(--brand-dark)}.card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--ring-hairline);padding:var(--space-md)}.lede,.muted{color:var(--ink-muted);font-size:var(--text-sm)}.section-num-label{margin-bottom:var(--space-2xs);color:var(--brand-dark);font-size:var(--text-2xs);letter-spacing:.02em;font-weight:600}.row-between{justify-content:space-between;align-items:center;gap:var(--space-xs);display:flex}.stack{gap:var(--space-sm);flex-direction:column;display:flex}.inline{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.area-meta{margin-top:var(--space-3xs);color:var(--ink-muted);font-size:var(--text-xs)}.field+.field{margin-top:var(--space-sm)}.field label{margin-bottom:var(--space-2xs);color:var(--ink);font-size:var(--text-sm);font-weight:500;display:block}input,select,textarea{padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);font-size:var(--text-md);transition:border-color var(--dur-fast) var(--ease-out)}select[multiple]{min-width:190px;max-width:240px;padding:var(--space-2xs);line-height:1.7}.field input,.field select,.field textarea{width:100%}.field textarea{resize:vertical;min-height:84px}.field-hint{margin-top:var(--space-2xs);color:var(--ink-faint);font-size:var(--text-xs)}.branch-filter-wrap{align-items:center;gap:var(--space-xs) var(--space-sm);margin-top:var(--space-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.branch-filter-wrap>.btn{grid-column:span 2;place-self:stretch start}@media (min-width:560px){.branch-filter-wrap{grid-template-columns:repeat(auto-fit,minmax(0,max-content));justify-content:start}.branch-filter-wrap>.btn{grid-column:auto}.branch-filter-wrap input,.branch-filter-wrap select{max-width:260px}}.branch-filter-wrap label{color:var(--ink-muted);font-size:var(--text-xs);white-space:nowrap;font-weight:500}.branch-filter-wrap input,.branch-filter-wrap select{width:100%;min-width:0}.form-error,.form-ok{padding:var(--space-sm);border-radius:var(--radius-lg);font-size:var(--text-sm)}.form-error{background:var(--bad-tint);color:var(--bad-strong);box-shadow:inset 0 0 0 1px var(--bad-border)}.form-ok{background:var(--good-tint);color:var(--good-strong);box-shadow:inset 0 0 0 1px var(--good-border)}a.btn{color:inherit;text-decoration:none}.btn{justify-content:center;align-items:center;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-base);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;font-weight:500;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);width:100%;color:var(--on-brand)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 84%, var(--surface))}.btn-ghost{border-color:var(--border);background:var(--surface);color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-text{padding:var(--space-xs) var(--space-2xs);color:var(--brand-dark);font-size:var(--text-sm)}.btn-text:hover:not(:disabled){text-decoration:underline}.btn-compact{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);flex-shrink:0}.btn-danger{border-color:var(--bad-border);background:var(--bad-tint);color:var(--bad-strong)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--bad-tint) 60%, var(--surface))}.confirm-note{margin-top:var(--space-2xs);color:var(--bad-strong);font-size:var(--text-xs)}.nav-row{gap:var(--space-xs);display:flex}.nav-row .btn-primary{flex:1;width:auto}.pill{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-full);background:var(--surface-2);color:var(--ink-muted);font-size:var(--text-2xs);white-space:nowrap;box-shadow:inset 0 0 0 1px var(--border);font-weight:600;display:inline-block}.pill.tone-good{background:var(--good-tint);color:var(--good-strong);box-shadow:inset 0 0 0 1px var(--good-border)}.pill.tone-bad{background:var(--bad-tint);color:var(--bad-strong);box-shadow:inset 0 0 0 1px var(--bad-border)}.pill.tone-warn{background:var(--warn-tint);color:var(--warn-strong);box-shadow:inset 0 0 0 1px var(--warn-border)}.pill.tone-brand{background:var(--brand-tint);color:var(--brand-dark);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 30%, transparent)}.progress-wrap{gap:var(--space-2xs);flex-direction:column;display:flex}.progress-label{justify-content:space-between;gap:var(--space-2xs);color:var(--ink-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.progress-label .step-crumb{color:var(--ink);font-weight:500}.progress-track{border-radius:var(--radius-full);background:var(--surface-3);height:4px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:var(--brand);transform-origin:0;width:100%;height:100%;transition:transform var(--dur-base) var(--ease-out)}.role-grid{gap:var(--space-xs);margin-top:var(--space-2xs);grid-template-columns:minmax(0,1fr);display:grid}.role-card{align-items:flex-start;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);display:flex}.role-card:hover{border-color:var(--brand)}.role-card:active{transform:translateY(1px)}.role-card[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint)}.role-checkbox{width:20px;height:20px;margin-top:var(--space-3xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);flex-shrink:0;justify-content:center;align-items:center;display:flex}.role-card[aria-pressed=true] .role-checkbox{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.role-checkbox svg{width:12px;height:12px;display:none}.role-card[aria-pressed=true] .role-checkbox svg{display:block}.role-name{font-size:var(--text-base);font-weight:600;display:block}.role-sub{margin-top:var(--space-3xs);color:var(--ink-muted);font-size:var(--text-xs);display:block}.role-card.is-locked{border-color:var(--good-border);background:var(--good-tint);cursor:not-allowed}.role-card.is-locked:hover{border-color:var(--good-border)}.role-card.is-locked:active{transform:none}.role-card.is-locked .role-checkbox{border-color:var(--good-strong);background:var(--good-strong);color:var(--on-brand)}.role-card.is-locked .role-checkbox svg{display:block}.role-done-note{margin-top:var(--space-2xs);color:var(--good-strong);font-size:var(--text-xs);font-weight:500;display:block}.all-done-note{margin-top:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-lg);background:var(--good-tint);box-shadow:inset 0 0 0 1px var(--good-border);color:var(--good-strong);font-size:var(--text-sm);text-align:center;font-weight:500}.all-done-sub{margin-top:var(--space-2xs);color:var(--ink-muted);font-size:var(--text-xs);font-weight:400;display:block}.section-questions{gap:var(--space-xs);flex-direction:column;display:flex}.q-card{padding:var(--space-sm);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--ring-hairline)}.card .q-card{background:var(--surface-2);box-shadow:none}.q-text{margin-bottom:var(--space-sm);font-size:var(--text-base);font-weight:500}.seg-group{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.seg-btn{padding:var(--space-sm) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink-muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-weight:500}.seg-btn:active{transform:translateY(1px)}.seg-btn.is-selected.tone-good{border-color:var(--good-border);background:var(--good-tint);color:var(--good-strong)}.seg-btn.is-selected.tone-bad{border-color:var(--bad-border);background:var(--bad-tint);color:var(--bad-strong)}.seg-btn.is-selected.tone-neutral{border-color:color-mix(in srgb, var(--brand) 35%, transparent);background:var(--brand-tint);color:var(--brand-dark)}.sub-block{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.sub-block-label{margin-bottom:var(--space-xs);color:var(--ink-muted);font-size:var(--text-xs);font-weight:500}.detail-wrap{margin-top:var(--space-sm)}.detail-wrap label{margin-bottom:var(--space-2xs);color:var(--bad-strong);font-size:var(--text-xs);font-weight:500;display:block}.detail-wrap textarea{width:100%;min-height:80px;padding:var(--space-sm);border:1px solid var(--bad-border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);font-size:var(--text-base);resize:vertical}.review-stats{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.review-stats.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-tile{padding:var(--space-sm);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--ring-hairline)}.stat-tile .stat-num{font-family:var(--font-mono);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.stat-tile .stat-label{margin-top:var(--space-3xs);color:var(--ink-muted);font-size:var(--text-2xs)}.stat-tile.tone-good{background:var(--good-tint);box-shadow:inset 0 0 0 1px var(--good-border)}.stat-tile.tone-good .stat-num{color:var(--good-strong)}.stat-tile.tone-bad{background:var(--bad-tint);box-shadow:inset 0 0 0 1px var(--bad-border)}.stat-tile.tone-bad .stat-num{color:var(--bad-strong)}.stat-tile.tone-warn{background:var(--warn-tint);box-shadow:inset 0 0 0 1px var(--warn-border)}.stat-tile.tone-warn .stat-num{color:var(--warn-strong)}.flag-list{gap:var(--space-xs);flex-direction:column;display:flex}.flag-item,.skip-item{padding:var(--space-sm);border-radius:var(--radius-lg)}.flag-item{background:var(--bad-tint);box-shadow:inset 0 0 0 1px var(--bad-border)}.skip-item{background:var(--warn-tint);box-shadow:inset 0 0 0 1px var(--warn-border)}.flag-crumb{color:var(--ink-muted);font-size:var(--text-xs);font-weight:500}.flag-q{margin-top:var(--space-3xs);font-size:var(--text-base);font-weight:600;line-height:1.4}.flag-meta{gap:var(--space-2xs) var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.flag-latest{margin-top:var(--space-xs);font-size:var(--text-sm);white-space:pre-wrap}.flag-latest .flag-when{color:var(--ink-muted);font-size:var(--text-xs);display:block}.flag-detail,.skip-reason{margin-top:var(--space-2xs);font-size:var(--text-sm);white-space:pre-wrap}.flag-detail{color:var(--bad-strong)}.skip-reason{color:var(--warn-strong)}.all-clear-note{padding:var(--space-sm);border-radius:var(--radius-lg);background:var(--good-tint);box-shadow:inset 0 0 0 1px var(--good-border);color:var(--good-strong);font-size:var(--text-sm)}.all-clear-note.tone-warn{background:var(--warn-tint);box-shadow:inset 0 0 0 1px var(--warn-border);color:var(--warn-strong)}.set-grid{gap:var(--space-xs);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:380px){.set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.set-card{flex-direction:column;display:flex}.set-card.is-done{background:var(--good-tint);box-shadow:inset 0 0 0 1px var(--good-border)}.set-card-head{align-items:flex-start;gap:var(--space-2xs);flex-direction:column;display:flex}@media (min-width:560px){.set-card-head{justify-content:space-between;gap:var(--space-xs);flex-direction:row}}.set-card-name{font-size:var(--text-sm);overflow-wrap:break-word;min-width:0;font-weight:600}.set-card-head .pill{flex-shrink:0}.set-card-meta{align-items:center;gap:var(--space-2xs) var(--space-xs);margin-top:var(--space-xs);color:var(--ink-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.set-card-empty{margin-top:var(--space-xs);color:var(--ink-muted);font-size:var(--text-xs)}.inspection-row{margin-top:var(--space-xs);padding-top:var(--space-xs)}.inspection-row+.inspection-row{border-top:1px dashed var(--border)}.inspection-row .btn-text{padding-left:0}.overview-head-row{justify-content:space-between;align-items:flex-start;gap:var(--space-xs);display:flex}.branch-pick-note{padding:var(--space-xl) var(--space-sm);color:var(--ink-muted);font-size:var(--text-sm);text-align:center}.status-grid{gap:var(--space-xs);margin-top:var(--space-sm);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:560px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-card{justify-content:space-between;align-items:center;gap:var(--space-xs);min-height:48px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--ring-hairline);color:inherit;transition:background var(--dur-fast) var(--ease-out);text-decoration:none;display:flex}.status-card:hover{background:var(--surface-2)}.status-card:active{transform:translateY(1px)}.status-title{min-width:0;font-size:var(--text-base);overflow-wrap:break-word;line-height:1.4}.status-card .status-code{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600}.status-sep{margin:0 var(--space-2xs);color:var(--ink-faint)}.status-card .status-name{color:var(--ink-muted)}.status-card .status-count{font-variant-numeric:tabular-nums;flex-shrink:0}.status-card.is-done{background:var(--good-tint);box-shadow:inset 0 0 0 1px var(--good-border)}.status-card.is-partial{background:var(--warn-tint);box-shadow:inset 0 0 0 1px var(--warn-border)}.stat-filter{margin-top:var(--space-sm)}.stat-filter .stat-tile{color:inherit;transition:box-shadow var(--dur-fast) var(--ease-out);text-decoration:none;display:block}.stat-filter .stat-tile:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}.stat-filter .stat-tile.is-active{box-shadow:inset 0 0 0 2px var(--brand)}.stat-filter .stat-tile:active{transform:translateY(1px)}.filter-note{margin-top:var(--space-xs);color:var(--ink-muted);font-size:var(--text-xs)}.page-title{font-size:var(--text-lg);font-weight:600}.section-title{margin-bottom:var(--space-sm);font-size:var(--text-md);font-weight:600}.sidebar-title{font-size:var(--text-base);font-weight:600}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mb-2xs{margin-bottom:var(--space-2xs)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.ml-auto{margin-left:auto}.mono{font-family:var(--font-mono)}.filter-label{color:var(--ink-muted);font-size:var(--text-xs);font-weight:500}.checkbox-label{font-size:var(--text-sm);font-weight:500}.input-code{width:7rem}.input-name{width:100%;min-width:12rem;max-width:22rem}.input-auto{width:auto}.review-list li{padding:var(--space-2xs) 0}.login-form-placeholder{min-height:280px}.login-main{padding-top:var(--space-2xl);padding-bottom:var(--space-lg)}.login-brand{gap:var(--space-sm);flex-direction:column;display:flex}.login-logo{width:min(180px,60%);height:auto}.seg-btn-compact{padding:var(--space-xs) var(--space-sm)}.admin-sidebar-foot{padding-top:var(--space-sm);margin-top:auto}.overview-head-row .inline{flex-wrap:nowrap}.table-wrap{border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--ring-hairline);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--text-sm)}table.data th,table.data td{padding:var(--space-sm);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}table.data th{background:var(--surface-2);color:var(--ink-muted);font-size:var(--text-xs);font-weight:600}table.data tr:last-child td{border-bottom:0}table.data td.wrap{white-space:normal;min-width:240px}@media (max-width:820px){table.data,table.data tbody,table.data tr,table.data td{width:100%;display:block}table.data thead{display:none}table.data tr{padding:var(--space-xs) 0;border-bottom:1px solid var(--border)}table.data tr:last-child{border-bottom:0}table.data td{gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);white-space:normal;border-bottom:0;grid-template-columns:96px minmax(0,1fr);display:grid}table.data td.wrap{min-width:0}table.data td:before{content:attr(data-label);color:var(--ink-muted);font-size:var(--text-xs);padding-top:var(--space-3xs);font-weight:600}}.admin-shell{min-height:100dvh;display:flex}.admin-sidebar{gap:var(--space-2xs);width:232px;padding:var(--space-md) var(--space-sm);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.admin-sidebar a{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);color:var(--ink-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;display:block}.admin-sidebar a:hover{background:var(--surface-2);color:var(--ink)}.admin-sidebar a[aria-current=page]{background:var(--brand-tint);color:var(--brand-dark)}.admin-content{min-width:0;max-width:1180px;padding:var(--space-lg) var(--space-lg) var(--space-3xl);flex:1}@media (max-width:820px){.admin-shell{flex-direction:column}.admin-sidebar{align-items:center;gap:var(--space-xs);width:auto;padding:var(--space-sm) var(--space-md);border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap}.admin-sidebar .brand-row{flex:auto;margin-bottom:0}.admin-sidebar form{margin-top:0!important;padding-top:0!important}.admin-sidebar nav{gap:var(--space-2xs);-webkit-overflow-scrolling:touch;flex:1 0 100%;display:flex;overflow-x:auto}.admin-sidebar a{white-space:nowrap}.admin-content{padding:var(--space-md) var(--space-md) var(--space-3xl)}}@media (min-width:480px){.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:active:not(:disabled),.seg-btn:active,.role-card:active{transform:none}.progress-fill{transition:none}}
