@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter","Inter Fallback"}
@font-face{font-family:Kanit;font-style:normal;font-weight:100;font-display:swap;src:url(../media/1bd12f1f0d40402b-s.beff5071.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:100;font-display:swap;src:url(../media/2ec66c0d5e281f90-s.1787c5b4.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:Kanit;font-style:normal;font-weight:100;font-display:swap;src:url(../media/ebeb2266fff6b3b5-s.e2410c10.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:Kanit;font-style:normal;font-weight:100;font-display:swap;src:url(../media/4be8bbe4f5c6e82b-s.p.d97cff87.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:Kanit;font-style:normal;font-weight:200;font-display:swap;src:url(../media/6705967e36b90104-s.ded490bd.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:200;font-display:swap;src:url(../media/1810fef5da817f8d-s.eb65691f.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:Kanit;font-style:normal;font-weight:200;font-display:swap;src:url(../media/9c1b054fb0d95d0e-s.1cebf5c9.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:Kanit;font-style:normal;font-weight:200;font-display:swap;src:url(../media/215322a467b9be5a-s.p.72403987.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:Kanit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/d598b2fbe51cc254-s.3ec552e0.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7e531266682ee0b2-s.d634be4c.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:Kanit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/4bc62d0d5f9ae771-s.d74f0500.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:Kanit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/fdbfb7080a87a334-s.p.3be6c8ae.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:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/577b8067601e9847-s.e644b68f.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5d1ea58cfb9c551d-s.7dda2f4b.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:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d1bdedfd2fe13894-s.b093ab45.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:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1e23e5114abf0db3-s.p.b3163490.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:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/34da6f6f5d0d57a5-s.96754dc3.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c5ef4f45c466146b-s.cfb14465.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:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e9c5fb40545fcd2-s.a32f81c5.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:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/89d4f80f11029d6d-s.p.eabc3dff.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:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/876b05e81fb36bf6-s.5eeb9c45.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5128e7653d6f3744-s.71b7b808.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:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/07bc3d3e69c8b6e8-s.a98998d3.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:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/118b6ed7ac256a99-s.p.772b3575.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:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a244653d74e7372f-s.686004b0.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7ff43f20b4a94066-s.56af7f28.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:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d5ac005905e340fc-s.823aae1d.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:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c750adf2ddf22b70-s.p.fc7dc774.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:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5cd84bccd140a27e-s.a0602b11.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/76724868bba90169-s.50e05bf8.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:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/affb3a7a977decf3-s.3a9d0fd2.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:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5db3af44c16866f3-s.p.72e262d7.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:Kanit;font-style:normal;font-weight:900;font-display:swap;src:url(../media/073882072f72ca37-s.54d7950a.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:900;font-display:swap;src:url(../media/7f33a509678d7a30-s.95fef08a.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:Kanit;font-style:normal;font-weight:900;font-display:swap;src:url(../media/d0ed2b25cc87a567-s.aaec0f21.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:Kanit;font-style:normal;font-weight:900;font-display:swap;src:url(../media/5ad4ff46ac72da73-s.p.d1ceb8d7.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:Kanit Fallback;src:local(Arial);ascent-override:108.49%;descent-override:38.96%;line-gap-override:0.0%;size-adjust:101.39%}.kanit_88ef568e-module__QXBpZW__className{font-family:Kanit,Kanit Fallback;font-style:normal}.kanit_88ef568e-module__QXBpZW__variable{--font-kanit:"Kanit","Kanit Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7ea1d0f9-module__6GV5LG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7ea1d0f9-module__6GV5LG__variable{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
:root{--bg-body:#fff;--bg-surface:#f5f5f7;--bg-secondary:#e8e8ed;--bg-glass:#ffffffd9;--text-primary:#1d1d1f;--text-secondary:#86868b;--text-tertiary:#a1a1a6;--accent:#111;--accent-hover:#222;--accent-subtle:#11111114;--accent-rgb:17,17,17;--success:#34c759;--error:#ff3b30;--shadow-soft:0 4px 24px #0000000a;--shadow-hover:0 8px 32px #00000014;--shadow-popup:0 4px 20px #00000026;--radius-lg:24px;--radius-md:18px;--radius-sm:12px}body.theme-dark{--bg-body:#050509;--bg-surface:#111118;--bg-secondary:#1a1a22;--bg-glass:#0f0f19e6;--text-primary:#f5f5f7;--text-secondary:#9e9eaf;--text-tertiary:#6f6f80;--accent:#f5f5f7;--accent-hover:#fff;--accent-subtle:#f5f5f71a;--accent-rgb:245,245,247;--shadow-soft:0 4px 24px #0009;--shadow-hover:0 12px 42px #000c;--shadow-popup:0 4px 20px #00000080}*{box-sizing:border-box}body{font-family:var(--font-kanit),var(--font-inter),-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;height:100vh;margin:0;padding:0;display:flex;overflow:hidden}.auth-wrapper{background:var(--bg-body);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-surface);width:100%;max-width:400px;box-shadow:var(--shadow-soft);border:1px solid #0000000a;border-radius:20px;flex-direction:column;gap:16px;padding:24px 22px 20px;display:flex}.auth-brand{align-items:center;gap:10px;font-size:1rem;font-weight:600;display:flex}.auth-header{flex-direction:column;gap:4px;margin-top:4px;display:flex}.auth-title{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:600}.auth-subtitle{color:var(--text-secondary);margin:0;font-size:.85rem}.auth-tabs{background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:4px;margin-top:12px;padding:0;display:flex}.auth-tab{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:999px;flex:1;padding:6px 14px;font-size:.8rem}.auth-tab.active{color:var(--text-primary);box-shadow:none;background:#0000000a}body.theme-dark .auth-tab.active{background:#ffffff1a}.auth-form{flex-direction:column;gap:12px;margin-top:6px;display:flex}.auth-row{gap:12px;display:flex}.auth-field{flex-direction:column;flex:1;gap:4px;display:flex}.auth-field label{color:var(--text-secondary);font-size:.8rem}.auth-field input{background:var(--bg-body);color:var(--text-primary);border:1px solid #00000014;border-radius:999px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:.9rem}.auth-field input:focus{border-color:var(--accent)}.auth-submit{background:var(--accent);width:100%;color:var(--bg-body);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:10px 16px;font-size:.9rem;font-weight:500;display:inline-flex}body.theme-dark .auth-submit{color:#111}.auth-submit:hover{background:var(--accent-hover)}.auth-hint{color:var(--text-tertiary);margin:4px 0 0;font-size:.75rem}.auth-error-msg{color:var(--error);margin-top:-4px;font-size:.8rem}.app-shell{height:calc(100vh - 60px);padding-top:60px;display:flex}.chat-shell{flex-direction:column;flex:1;display:flex;position:relative}header{background:var(--bg-surface);z-index:100;border-bottom:1px solid #00000008;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.header-left{align-items:center;gap:16px;display:flex}.sidebar-toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.sidebar-toggle-btn:hover{color:var(--text-primary);background:#0000000d}body.theme-dark .sidebar-toggle-btn:hover{background:#ffffff1a}.brand{letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:10px;font-size:.95rem;font-weight:600;display:flex}.brand-logo{width:auto;height:24px;display:block}.status-dot-brand{border-radius:50%;width:8px;height:8px;transition:background .3s,box-shadow .3s}.status-dot-brand.connected{background:var(--success);box-shadow:0 0 8px #34c75966}.status-dot-brand.disconnected{background:var(--error)}.header-actions{align-items:center;gap:12px;display:flex;position:relative}.header-divider{display:none}.header-icon-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.header-icon-btn:hover{color:var(--text-primary);background:#0000000a}body.theme-dark .header-icon-btn:hover{background:#ffffff1a}.status-icon{cursor:default;width:32px;height:32px;padding:0}.status-icon:hover{background:0 0}.status-dot{border-radius:50%;width:8px;height:8px;transition:background .3s}.status-icon.connected .status-dot{background:var(--success);box-shadow:0 0 8px #34c75966}.status-icon.disconnected .status-dot{background:var(--error)}.user-menu{align-items:center;gap:12px;padding-left:8px;display:flex}.user-info{flex-direction:column;align-items:flex-end;display:flex}.user-name{color:var(--text-primary);font-size:.85rem;font-weight:500}.logout-btn{color:var(--text-tertiary)}.logout-btn:hover{color:var(--error);background:#ff3b301a}.mobile-menu-btn{cursor:pointer;color:var(--text-primary);background:#0000000a;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;transition:all .2s;display:flex}body.theme-dark .mobile-menu-btn{background:#ffffff14}.mobile-menu-btn:hover{background:#00000014}body.theme-dark .mobile-menu-btn:hover{background:#ffffff1f}.menu-chevron{color:var(--text-tertiary);transition:transform .2s}.menu-chevron.open{transform:rotate(180deg)}.mobile-dropdown{background:var(--bg-surface);width:240px;box-shadow:var(--shadow-popup);transform-origin:100% 0;z-index:1000;border:1px solid #0000000d;border-radius:16px;flex-direction:column;gap:4px;margin-top:8px;padding:8px;animation:.15s cubic-bezier(.16,1,.3,1) scaleIn;display:flex;position:absolute;top:100%;right:0}body.theme-dark .mobile-dropdown{border-color:#ffffff1a}.mobile-user-info{flex-direction:column;gap:2px;padding:8px 12px;display:flex}.mobile-user-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.mobile-user-role{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.mobile-menu-divider{background:#0000000d;height:1px;margin:4px 0}body.theme-dark .mobile-menu-divider{background:#ffffff1a}.mobile-menu-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:.9rem;transition:all .2s;display:flex}.mobile-menu-item:hover{color:var(--text-primary);background:#0000000a}body.theme-dark .mobile-menu-item:hover{background:#ffffff0d}.mobile-menu-item.danger{color:var(--error)}.mobile-menu-item.danger:hover{background:#ff3b301a}.menu-badge{background:#0000000f;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:.7rem;font-weight:600}body.theme-dark .menu-badge{background:#ffffff1a}.sidebar{background:var(--bg-surface);z-index:100;border-right:1px solid #0000000a;flex-direction:column;gap:20px;width:280px;height:calc(100vh - 60px);padding:16px 12px;transition:width .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.sidebar.closed{width:68px;padding:16px 10px;overflow:visible}.sidebar-top{flex-direction:column;display:flex}.new-chat-main-btn{background:var(--accent);width:100%;height:44px;color:var(--bg-body);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;overflow:hidden}body.theme-dark .new-chat-main-btn{color:#111}.new-chat-main-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.sidebar.closed .new-chat-main-btn{border-radius:50%;width:44px;padding:0}.icon-plus{font-size:1.2rem;line-height:1}.sidebar.closed .label{display:none}.sidebar-content-wrapper{flex-direction:column;flex:1;gap:24px;padding-right:4px;display:flex;overflow:hidden auto}.sidebar.closed .sidebar-content-wrapper{overflow:visible}.sidebar-content-wrapper::-webkit-scrollbar{width:4px}.sidebar-content-wrapper::-webkit-scrollbar-thumb{background-color:#0000001a;border-radius:4px}body.theme-dark .sidebar-content-wrapper::-webkit-scrollbar-thumb{background-color:#ffffff1a}.sidebar-group{flex-direction:column;gap:10px;display:flex;position:relative}.sidebar-group-header{height:32px;color:var(--text-secondary);align-items:center;gap:10px;padding:0 8px;display:flex}.sidebar.closed .sidebar-group-header{cursor:default;justify-content:center;padding:0}.sidebar-group-icon{justify-content:center;align-items:center;width:24px;font-size:1.1rem;display:flex}.sidebar-group-title{text-transform:uppercase;letter-spacing:.05em;flex:1;font-size:.75rem;font-weight:600}.sidebar-group-action{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:.9rem}.sidebar-group-action:hover{color:var(--text-primary);background:#0000000d}.sidebar-group-body{flex-direction:column;gap:4px;display:flex}.sidebar-group:hover .sidebar-group-body.popup-mode{opacity:1;pointer-events:auto;display:flex;transform:translate(0)}.sidebar-group-body.popup-mode{background:var(--bg-surface);box-shadow:var(--shadow-popup);z-index:1000;opacity:0;border:1px solid #0000000d;border-radius:16px;width:340px;max-height:400px;margin-left:0;padding:16px 16px 16px 20px;transition:opacity .2s,transform .2s;display:none;position:absolute;top:-10px;left:calc(100% - 4px);overflow-y:auto;transform:translate(-5px)}.sidebar-group-body.popup-mode .popup-header{margin-bottom:12px;padding-bottom:8px;font-size:.85rem}.sidebar-group-body.popup-mode .schedule-item{background:var(--bg-body);border:1px solid #0000000a;margin-bottom:6px;padding:10px}body.theme-dark .sidebar-group-body.popup-mode .schedule-item{border-color:#ffffff14}.sidebar-group-body.popup-mode .sidebar-item-title{white-space:normal;margin-bottom:4px;font-size:.9rem;line-height:1.4}.sidebar-group-body.popup-mode .sidebar-item-meta-time{opacity:.8;font-size:.75rem;display:block}.sidebar-group-body.popup-mode:before{content:"";z-index:-1;width:20px;position:absolute;top:0;bottom:0;left:0}body.theme-dark .sidebar-group-body.popup-mode{border:1px solid #ffffff1a}.popup-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #0000000d;margin-bottom:4px;padding-bottom:8px;font-size:.8rem;font-weight:600}.schedule-list,.conversations-list{flex-direction:column;gap:2px;display:flex}.sidebar-item,.schedule-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;width:100%;padding:8px 10px;transition:background .15s}.sidebar-item:hover,.schedule-item:hover{background:#0000000a}body.theme-dark .sidebar-item:hover,body.theme-dark .schedule-item:hover{background:#ffffff0d}.sidebar-item.active{background:var(--bg-body);box-shadow:0 2px 8px #0000000a}body.theme-dark .sidebar-item.active{background:#ffffff14}.sidebar-item-row{align-items:flex-start;gap:10px;display:flex}.sidebar-item-text{flex:1;min-width:0}.sidebar-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.sidebar-item-meta-time{color:var(--text-tertiary);margin-top:2px;font-size:.7rem}.sidebar-item-meta-row{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.schedule-delete{color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;padding:6px;font-size:.9rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;transform:scale(.9)}.schedule-item:hover .schedule-delete,.sidebar-item:hover .schedule-delete{opacity:1;transform:scale(1)}.schedule-delete:hover{color:var(--error);background:#ff00001a}.sidebar-empty{color:var(--text-tertiary);text-align:center;padding:8px;font-size:.8rem}#chat-container{scroll-behavior:smooth;flex-direction:column;flex:1;gap:20px;width:100%;max-width:100%;margin:0 auto;padding:80px 32px 120px;transition:padding-right .4s cubic-bezier(.16,1,.3,1);display:flex;overflow-y:auto}#chat-container.sidebar-open{padding-right:480px}.message-group{opacity:0;flex-direction:column;gap:4px;animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInUp;display:flex;transform:translateY(10px)}.message-meta{color:var(--text-tertiary);margin:0 10px;font-size:.7rem;font-weight:500}.message-bubble{max-width:80%;box-shadow:var(--shadow-soft);border-radius:18px;padding:10px 16px;font-size:.9rem;line-height:1.5;position:relative}.message-group.user{align-items:flex-end}.message-group.user .message-bubble{background:var(--accent);color:var(--bg-body);border-bottom-right-radius:4px}body.theme-dark .message-group.user .message-bubble{color:#111}.message-group.ai{align-items:flex-start}.message-group.ai .message-bubble{background:var(--bg-surface);color:var(--text-primary);border-bottom-left-radius:4px}.parsed-message{border-left:3px solid #ccc;padding-left:12px}.parsed-message.success{border-left-color:var(--success)}.parsed-message.error{border-left-color:var(--error)}.scheduled-task-card{border-radius:var(--radius-md);background:var(--bg-surface);border:1px dashed #0000001f;margin-top:4px;padding:10px 12px;font-size:.85rem}body.theme-dark .scheduled-task-card{border-color:#ffffff1a}.scheduled-task-title{margin-bottom:4px;font-weight:500}.scheduled-task-prompt{color:var(--text-secondary);margin-bottom:4px;font-size:.8rem}.scheduled-task-meta{color:var(--text-tertiary);align-items:center;gap:6px;font-size:.75rem;display:flex}.scheduled-task-label{color:var(--text-primary);font-weight:500}.message-bubble pre{background:var(--bg-surface);border-radius:var(--radius-sm);font-family:var(--font-jetbrains-mono),monospace;color:var(--text-primary);border:1px solid #0000000a;margin:8px 0 0;padding:12px;font-size:.85rem;overflow-x:auto}body.theme-dark .message-bubble pre{border-color:#ffffff1a}.message-bubble code{font-family:var(--font-jetbrains-mono),monospace;background:#0000000a;border-radius:4px;padding:2px 5px;font-size:.9em}body.theme-dark .message-bubble code{background:#ffffff1a}#input-wrapper{z-index:200;width:90%;max-width:800px;transition:all .3s cubic-bezier(.16,1,.3,1);position:fixed;bottom:30px;left:50%;transform:translate(-50%)}#input-wrapper.main-sidebar-open{width:calc(90% - 280px);max-width:700px;left:calc(50% + 140px);transform:translate(-50%)}#input-wrapper.right-sidebar-open{width:calc(90% - 450px);max-width:700px;left:calc(50% - 225px);transform:translate(-50%)}#input-wrapper.main-sidebar-open.right-sidebar-open{width:calc(90% - 730px);max-width:600px;left:calc(50% - 85px);transform:translate(-50%)}@media (max-width:768px){#input-wrapper,#input-wrapper.sidebar-open,#input-wrapper.main-sidebar-open,#input-wrapper.right-sidebar-open,#input-wrapper.main-sidebar-open.right-sidebar-open{z-index:1001;width:94%;max-width:100%;bottom:20px;left:50%;transform:translate(-50%)}}#input-container{background:var(--bg-glass);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-hover);border:1px solid #ffffff80;border-radius:32px;align-items:center;gap:8px;padding:6px;transition:all .3s;display:flex}body.theme-dark #input-container{border-color:#ffffff1a}#input-container:focus-within{background:var(--bg-body);transform:translateY(-2px);box-shadow:0 12px 40px #0000001f}#messageInput{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:14px 16px;font-family:inherit;font-size:16px}#messageInput::placeholder{color:var(--text-tertiary)}.btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.btn-primary{background:var(--accent);color:var(--bg-body)}body.theme-dark .btn-primary{color:#111}.btn-primary:hover{background:var(--accent-hover);transform:scale(1.05)}.btn-primary:disabled{background:var(--text-tertiary);cursor:not-allowed;opacity:.7}.stop-btn .stop-icon{background-color:var(--bg-body);border-radius:2px;width:12px;height:12px}body.theme-dark .stop-btn .stop-icon{background-color:#111}#input-container.input-processing #messageInput{filter:blur(2px);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;transition:all .3s}#input-container.input-processing .action-btn,#input-container.input-processing .persona-badge{opacity:.5;pointer-events:none}.btn-secondary{color:var(--text-secondary);background:0 0}.btn-secondary:hover{color:var(--text-primary);background:#0000000d}body.theme-dark .btn-secondary:hover{background:#ffffff1a}.process-log{font-family:var(--font-jetbrains-mono),monospace;color:var(--text-secondary);background:var(--bg-surface);border-radius:var(--radius-sm);border-left:2px solid #e5e5ea;max-width:90%;margin-top:4px;margin-left:10px;padding:10px 14px;font-size:.75rem}body.theme-dark .process-log{border-left-color:#ffffff1a}.process-line{align-items:center;gap:8px;display:inline-flex}.process-line .process-icon{opacity:.6}.dot-loader{gap:4px;display:inline-flex}.dot-loader .dot{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite dotPulse}.dot-loader .dot:nth-child(2){animation-delay:.2s}.dot-loader .dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.thinking-trigger{background:var(--bg-surface);cursor:pointer;border:1px solid #0000;border-radius:20px;flex-direction:column;align-items:flex-start;gap:4px;width:fit-content;max-width:100%;margin-left:10px;padding:12px 20px;transition:all .2s;display:inline-flex}.thinking-trigger:hover{background:#0000000d;border-color:#0000001a}body.theme-dark .thinking-trigger:hover{background:#ffffff1a;border-color:#ffffff1a}.trigger-header{align-items:center;gap:8px;display:flex}.thinking-icon{font-size:.9rem}.thinking-text{color:var(--text-primary);font-size:.85rem;font-weight:500;font-family:var(--font-jetbrains-mono)}.thinking-meta{color:var(--text-tertiary);font-size:.7rem;font-family:var(--font-jetbrains-mono);flex-direction:column;gap:2px;margin-left:2px;display:flex}.thinking-timer{opacity:.9}.thinking-progress-wrapper{flex-direction:column;gap:2px;width:100%;min-width:120px;margin-top:2px;display:flex}.thinking-progress-row{align-items:center;gap:8px;width:100%;display:flex}.thinking-progress-track{background:#0000000f;border-radius:2px;flex:1;height:4px;overflow:hidden}.thinking-progress-fill{background:var(--text-secondary);border-radius:2px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.thinking-progress-text{color:var(--text-tertiary);font-size:.7rem}.loader-mini-inline{border:2px solid #0000001a;border-left-color:var(--text-primary);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:1s linear infinite spin}body.theme-dark .loader-mini-inline{border-color:#fff3 #fff3 #fff3 #fff}.thinking-progress{color:var(--text-tertiary);font-size:.7rem}.thinking-note{color:var(--text-tertiary);opacity:.8;white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:.7rem;overflow:hidden}.loader-mini{border:2px solid #0000001a;border-left-color:#111;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}body.theme-dark .loader-mini{border-color:#fff3 #fff3 #fff3 #fff}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.side-panel-overlay{z-index:9990;pointer-events:none;background:0 0;position:fixed;inset:0}.side-panel{background:var(--bg-surface);z-index:9991;border-left:1px solid #0000000d;flex-direction:column;width:450px;max-width:90vw;height:100vh;animation:.4s cubic-bezier(.16,1,.3,1) slideIn;display:flex;position:fixed;top:0;right:0;box-shadow:-10px 0 40px #0000000a}body.theme-dark .side-panel{border-left-color:#ffffff0d;box-shadow:-10px 0 40px #00000080}.side-panel-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;height:50px;padding:0 24px;display:flex}body.theme-dark .side-panel-header{border-bottom-color:#ffffff0d}.side-panel-header h3{margin:0;font-size:1rem;font-weight:600}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.5rem}.close-btn:hover{color:var(--text-primary)}.side-panel-content{flex:1;padding:24px;overflow-y:auto}.panel-timestamp{color:var(--text-tertiary);font-size:.75rem;font-family:var(--font-jetbrains-mono);margin-bottom:16px}.thinking-history{flex-direction:column;gap:24px;padding-left:8px;display:flex}.thinking-step{border-left:2px solid #f0f0f2;padding-bottom:24px;padding-left:24px;animation:.3s ease-out fadeIn;position:relative}body.theme-dark .thinking-step{border-left-color:#ffffff1a}.thinking-step:last-child{border-left-color:#0000}.thinking-step:before{content:"";background:var(--bg-body);border:2px solid #ccc;border-radius:50%;width:8px;height:8px;transition:all .3s;position:absolute;top:0;left:-5px}.step-label{color:var(--text-secondary);text-transform:uppercase;font-size:.7rem;font-weight:600;font-family:var(--font-jetbrains-mono);margin-bottom:6px}.thinking-step.step-plan{border-left-color:#007aff33}.thinking-step.step-plan:before{border-color:#007aff}.thinking-step.step-plan .step-label{color:#007aff}.thinking-step.step-action{border-left-color:#34c75933}.thinking-step.step-action:before{border-color:#34c759}.thinking-step.step-action .step-label{color:#34c759}.thinking-step.step-result{border-left-color:#ff950033}.thinking-step.step-result:before{border-color:#ff9500}.thinking-step.step-result .step-label{color:#ff9500}.thinking-step.step-thinking:before{border-color:#86868b}.step-duration{color:var(--text-tertiary);font-size:.7rem;font-family:var(--font-jetbrains-mono);margin-bottom:4px}.panel-text{font-family:var(--font-jetbrains-mono);white-space:pre-wrap;color:var(--text-primary);background:0 0;border:none;padding:0;font-size:.85rem;line-height:1.6}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.json-viewer{background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid #0000000d;margin-top:6px;overflow:hidden}body.theme-dark .json-viewer{border-color:#ffffff1a}.json-header{background:var(--bg-body);cursor:pointer;color:var(--text-secondary);justify-content:space-between;padding:6px 10px;font-size:.75rem;font-weight:500;display:flex}body.theme-dark .json-header{background:#ffffff0d}.json-content{color:var(--text-primary);margin:0;padding:10px;font-size:.75rem;display:none;overflow-x:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-popup);border:1px solid #0000000d;flex-direction:column;gap:20px;padding:24px;animation:.2s cubic-bezier(.16,1,.3,1) scaleIn;display:flex}body.theme-dark .modal-content{border-color:#ffffff1a}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.modal-body{flex-direction:column;gap:16px;display:flex}.detail-item{flex-direction:column;gap:4px;display:flex}.detail-item label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.detail-value{color:var(--text-primary);word-break:break-word;font-size:.95rem;line-height:1.5}.detail-value.mono{font-family:var(--font-jetbrains-mono),monospace;background:#0000000a;border-radius:6px;width:fit-content;padding:4px 8px;font-size:.85rem}body.theme-dark .detail-value.mono{background:#ffffff1a}.modal-footer{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.detail-sub-value{color:var(--text-tertiary);margin-top:4px;font-size:.8rem}.detail-sub-value.mono{font-family:var(--font-jetbrains-mono),monospace}.btn-danger-filled{background:var(--error);color:#fff;cursor:pointer;border:none;border-radius:999px;width:100%;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.btn-danger-filled:hover{background:#ff2d20;transform:scale(1.02);box-shadow:0 4px 12px #ff3b3040}.btn-danger{color:var(--error);cursor:pointer;background:#ff3b301a;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.btn-danger:hover{background:#ff3b3033}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.app-shell{padding-top:56px}.sidebar{z-index:1000;border-right:none;position:fixed;top:56px;bottom:0;left:0;transform:translate(-100%);box-shadow:2px 0 12px #00000026;width:280px!important;display:flex!important}.sidebar.open{transform:translate(0)}.sidebar.closed{padding:16px 12px;transform:translate(-100%);width:280px!important}.sidebar.closed .sidebar-content-wrapper{overflow-y:auto}.sidebar.closed .label{display:inline}.sidebar.closed .new-chat-main-btn{border-radius:12px;width:100%;padding:0 16px}.sidebar.closed .sidebar-group-header{justify-content:flex-start;padding:0 8px}.sidebar-backdrop{z-index:99;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;transition:opacity .3s;display:block;position:fixed;inset:0}.sidebar-backdrop.active{opacity:1;pointer-events:auto}.chat-shell{flex:1;width:100%}header{height:56px;padding:0 16px}#chat-container{padding:80px 16px 120px}#chat-container.sidebar-open{padding-right:16px}.side-panel{border-left:none;width:100%;max-width:100%;height:calc(100vh - 56px);top:56px}#input-wrapper.sidebar-open{left:50%}.message-bubble{max-width:95%;padding:12px 16px;font-size:.95rem}.persona-badge-label{padding:4px 8px;font-size:.65rem}.persona-text,.persona-text-secondary{display:none}.persona-badge{margin-right:0}.thinking-trigger{margin-left:0;padding:10px 14px}.thinking-note{max-width:200px}.auth-row{flex-direction:column;gap:12px}@media (min-width:769px){.sidebar-backdrop{display:none}}}.sidebar-backdrop{display:none}@media (max-width:768px){.sidebar-backdrop{opacity:0;pointer-events:none;display:block}}.persona-menu{background:var(--bg-surface);box-shadow:var(--shadow-popup);z-index:500;transform-origin:0 100%;border:1px solid #0000000d;border-radius:16px;flex-direction:column;gap:4px;width:260px;padding:8px;animation:.2s cubic-bezier(.16,1,.3,1) scaleIn;display:flex;position:absolute;bottom:70px;left:6px}@media (max-width:768px){.persona-menu{z-index:1100;transform-origin:bottom;width:calc(100vw - 32px);max-width:320px;bottom:70px;left:50%;transform:translate(-50%)}}body.theme-dark .persona-menu{border-color:#ffffff1a}.persona-menu-header{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:8px 10px 4px;font-size:.75rem;font-weight:600}.persona-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;transition:all .2s;display:flex}.persona-menu-item:hover{background:#0000000a}body.theme-dark .persona-menu-item:hover{background:#ffffff0d}.persona-menu-item.active{background:var(--bg-body);box-shadow:0 2px 8px #0000000a}body.theme-dark .persona-menu-item.active{background:#ffffff1a}.persona-icon{color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.persona-menu-item.active .persona-icon{color:var(--text-primary)}.persona-info{flex-direction:column;gap:2px;display:flex}.persona-name{color:var(--text-primary);font-size:.85rem;font-weight:500}.persona-desc{color:var(--text-tertiary);font-size:.7rem;line-height:1.3}.persona-divider{border:0;border-top:1px solid #0000000d;margin:4px 0}body.theme-dark .persona-divider{border-top-color:#ffffff1a}.persona-menu-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.persona-menu-item.disabled:hover{background:0 0}.persona-locked-hint{color:var(--text-tertiary);text-transform:none;letter-spacing:normal;margin-left:6px;font-size:.65rem;font-weight:400}.persona-badge{flex-shrink:0;align-items:center;margin-right:4px;transition:opacity .2s;display:flex}.persona-badge:hover{opacity:.8}.persona-badge-label{color:var(--text-secondary);white-space:nowrap;background:#0000000a;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.7rem;font-weight:500;display:inline-flex}body.theme-dark .persona-badge-label{color:var(--text-tertiary);background:#ffffff1a}.speed-icon{color:var(--accent);margin-right:2px}.connecting-status{-webkit-backdrop-filter:none;width:100%;height:54px;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.connecting-text{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:16px;font-size:.85rem;font-weight:500;animation:1.5s ease-in-out infinite pulseText;display:flex}.connecting-text:before,.connecting-text:after{content:"";background-color:var(--text-tertiary);opacity:.4;width:60px;height:1px;display:block}@keyframes pulseText{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}@keyframes pulse-badge{0%{opacity:.8}50%{opacity:1;transform:scale(1.05)}to{opacity:.8}}.plan-viewer{flex-direction:column;gap:16px;width:100%;display:flex}.plan-goal-section{border-radius:var(--radius-sm);background:#00000005;border:1px solid #0000000d;padding:12px 16px}body.theme-dark .plan-goal-section{background:#ffffff08;border-color:#ffffff14}.plan-goal-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.plan-label{letter-spacing:.05em;color:var(--text-tertiary);font-size:.7rem;font-weight:700}.plan-goal-text{color:var(--text-primary);font-size:.95rem;font-weight:500;line-height:1.4}.plan-goal-clickable{cursor:pointer;border-radius:6px;justify-content:space-between;margin:-4px 0;padding:4px 0;transition:background .2s}.plan-goal-clickable:hover{background:#00000008}body.theme-dark .plan-goal-clickable:hover{background:#ffffff0d}.plan-summary{align-items:center;gap:16px;display:flex}.plan-summary-stats{align-items:center;gap:12px;display:flex}.plan-summary-stat{background:#0000000a;border-radius:6px;flex-direction:column;align-items:center;min-width:50px;padding:4px 10px;display:flex}body.theme-dark .plan-summary-stat{background:#ffffff14}.plan-summary-stat.error{background:#ff3b301a}.plan-summary-stat.error .plan-summary-value{color:var(--error)}.plan-summary-label{text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.03em;font-size:.6rem;font-weight:600}.plan-summary-value{color:var(--text-primary);font-size:.85rem;font-weight:700}.plan-summary-running{background:rgba(var(--accent-rgb),.1);color:var(--accent);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;animation:2s ease-in-out infinite pulse-badge;display:flex}.plan-summary-running-icon{animation:1s linear infinite spin}.plan-steps-container{flex-direction:column;gap:12px;display:flex}.plan-step-card{background:var(--bg-body);border-radius:var(--radius-md);border:1px solid #0000000f;flex-direction:column;gap:10px;padding:14px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000005}body.theme-dark .plan-step-card{background:var(--bg-secondary);border-color:#ffffff1a}body.theme-dark .plan-step-card button{color:var(--text-secondary);background:#ffffff08;border-color:#ffffff1a}body.theme-dark .plan-step-card button:hover{background:#ffffff0d}body.theme-dark .plan-step-card pre{background:var(--bg-body);border:1px solid #ffffff0d}.plan-step-header{justify-content:space-between;align-items:center;display:flex}.plan-step-badge{background:var(--accent);color:var(--bg-body);text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:.65rem;font-weight:700}body.theme-dark .plan-step-badge{color:#111}.plan-step-tool{font-family:var(--font-jetbrains-mono);color:var(--text-secondary);background:#0000000a;border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:.75rem;display:flex}body.theme-dark .plan-step-tool{background:#ffffff0f}.plan-step-description{color:var(--text-primary);font-size:.9rem;font-weight:500}.plan-step-command{color:#d4d4d4;font-size:.8rem;font-family:var(--font-jetbrains-mono);background:#1e1e1e;border:1px solid #ffffff1a;border-radius:8px;padding:10px;overflow-x:auto}.plan-step-reasoning{color:var(--text-tertiary);background:#00000005;border-radius:8px;align-items:flex-start;gap:8px;padding:8px;font-size:.8rem;line-height:1.4;display:flex}body.theme-dark .plan-step-reasoning{background:#ffffff08}.reasoning-icon{opacity:.7;flex-shrink:0;margin-top:2px}.thinking-trigger.thinking-glow,.log-execution-detail.thinking-glow{position:relative;overflow:hidden;border-color:#0000!important}.thinking-trigger.thinking-glow:before,.log-execution-detail.thinking-glow:before{content:"";z-index:0;pointer-events:none;background:conic-gradient(#0000 0deg 80deg,#22c55ecc 120deg,#0000 160deg);width:200%;height:200%;animation:3s linear infinite borderSpin;position:absolute;top:-50%;left:-50%}.thinking-trigger.thinking-glow:after,.log-execution-detail.thinking-glow:after{content:"";background:var(--bg-surface);border-radius:inherit;z-index:1;pointer-events:none;position:absolute;inset:1px}.thinking-trigger.thinking-glow>*,.log-execution-detail.thinking-glow>*{z-index:2;position:relative}@keyframes borderSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body.theme-dark .thinking-trigger.thinking-glow:before,body.theme-dark .log-execution-detail.thinking-glow:before{background:conic-gradient(#0000 0deg 80deg,#34d399e6 120deg,#0000 160deg)}.log-execution-detail.status-pending{opacity:.6;filter:grayscale()}.log-execution-card.thinking-glow,.plan-step-card.thinking-glow,.step-action-status.thinking-glow{position:relative;overflow:hidden;border-color:#0000!important}.log-execution-card.thinking-glow:before,.plan-step-card.thinking-glow:before,.step-action-status.thinking-glow:before{content:"";z-index:0;pointer-events:none;background:conic-gradient(#0000 0deg 80deg,#22c55ecc 120deg,#0000 160deg);width:200%;height:200%;animation:3s linear infinite borderSpin;position:absolute;top:-50%;left:-50%}.log-execution-card.thinking-glow:after,.plan-step-card.thinking-glow:after,.step-action-status.thinking-glow:after{content:"";background:var(--bg-surface);border-radius:inherit;z-index:1;pointer-events:none;position:absolute;inset:1px}.log-execution-card.thinking-glow>*,.plan-step-card.thinking-glow>*,.step-action-status.thinking-glow>*{z-index:2;position:relative}body.theme-dark .log-execution-card.thinking-glow:before,body.theme-dark .plan-step-card.thinking-glow:before,body.theme-dark .step-action-status.thinking-glow:before{background:conic-gradient(#0000 0deg 80deg,#34d399e6 120deg,#0000 160deg)}.collapsible-message{width:100%;position:relative}.collapsible-content{position:relative}.truncated-preview{white-space:pre-wrap;word-break:break-word}.truncate-ellipsis{color:var(--text-tertiary)}.collapse-toggle-btn{color:var(--text-tertiary);cursor:pointer;font-size:.7rem;font-family:var(--font-jetbrains-mono),monospace;background:0 0;border:none;align-items:center;gap:4px;margin-top:6px;padding:0;transition:color .15s;display:inline-flex}.collapse-toggle-btn:hover{color:var(--text-secondary)}.collapse-toggle-btn svg{flex-shrink:0}.plan-execution-view{flex-direction:column;gap:8px;width:100%;display:flex}.plan-execution-view .plan-iteration-section{border-radius:var(--radius-sm);transition:all .3s}.plan-execution-view .plan-iteration-section.active{background:0 0}.plan-execution-view .plan-iteration-section.failed{background:var(--bg-surface);opacity:.85;border:1px solid #ff3b3026}.plan-execution-view .plan-iteration-section.superseded{background:var(--bg-surface);opacity:.75;border:1px solid #0000000f}body.theme-dark .plan-execution-view .plan-iteration-section.failed{border-color:#ff3b3040}body.theme-dark .plan-execution-view .plan-iteration-section.superseded{border-color:#ffffff14}.plan-iteration-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.plan-iteration-badge.active{color:var(--success);background:#22c55e1a}.plan-iteration-badge.failed{color:var(--error);background:#ff3b301a}.plan-iteration-badge.superseded{color:var(--text-tertiary);background:#0000000d}body.theme-dark .plan-iteration-badge.superseded{background:#ffffff14}.plan-step-card.skipped{opacity:.5;filter:grayscale(.8);border-left:3px solid var(--text-tertiary)}.plan-step-card.skipped .plan-step-badge{background:var(--text-tertiary)}.plan-progress-badge{color:var(--text-secondary);background:#0000000a;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}body.theme-dark .plan-progress-badge{background:#ffffff14}.plan-progress-badge.complete{color:var(--success);background:#22c55e1a}.plan-update-separator{align-items:center;gap:12px;margin:8px 0;padding:12px 0;display:flex}.plan-update-separator .separator-line{background:linear-gradient(to right,transparent,var(--accent),transparent);flex:1;height:1px}.plan-update-separator .separator-badge{background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),rgba(var(--accent-rgb),.05));border:1px solid rgba(var(--accent-rgb),.2);color:var(--accent);white-space:nowrap;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:.8rem;font-weight:700;display:flex}.replan-reason-box{color:var(--error);background:#ff3b300d;border:1px solid #ff3b301a;border-radius:6px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:.8rem;display:flex}.replan-reason-box svg{flex-shrink:0;margin-top:2px}.running-step-indicator{color:var(--text-primary);background:#00000008;border:1px solid #0000000f;border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:.875rem;display:flex}body.theme-dark .running-step-indicator{background:#ffffff08;border-color:#ffffff14}.running-step-indicator .tool-badge{font-family:var(--font-jetbrains-mono),monospace;background:var(--bg-surface);border-radius:3px;padding:2px 6px;font-weight:700}.elapsed-time-badge{color:var(--text-tertiary);font-size:.8rem;font-family:var(--font-jetbrains-mono),monospace;background:#0000000a;border-radius:4px;padding:2px 8px}body.theme-dark .elapsed-time-badge{background:#ffffff14}.security-report-viewer{flex-direction:column;gap:20px;width:100%;max-width:100%;animation:.4s ease-out fadeInUp;display:flex}.report-header{border-radius:var(--radius-lg);background:linear-gradient(135deg,#ff2d5514,#ff95000d);border:1px solid #ff2d5526;align-items:center;gap:16px;padding:20px 24px;display:flex;position:relative;overflow:hidden}.report-header:before{content:"";background:linear-gradient(90deg,#ff2d55,#ff9500,#fc0);height:3px;position:absolute;top:0;left:0;right:0}body.theme-dark .report-header{background:linear-gradient(135deg,#ff2d551f,#ff950014);border-color:#ff2d5540}.report-header-icon{color:#fff;background:linear-gradient(135deg,#ff2d55,#ff6b35);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 8px 24px #ff2d5540}.report-header-content{flex:1}.report-label{text-transform:uppercase;letter-spacing:.1em;color:#ff2d55;margin-bottom:4px;font-size:.7rem;font-weight:700;display:block}.report-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.report-summary{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid #0000000d;gap:14px;padding:16px 20px;display:flex}body.theme-dark .report-summary{border-color:#ffffff14}.summary-icon{color:#007aff;background:#007aff1a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.summary-content{flex:1}.summary-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:6px;font-size:.7rem;font-weight:600;display:block}.summary-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}.report-findings{flex-direction:column;gap:16px;display:flex}.findings-header{border-bottom:1px solid #0000000f;align-items:center;gap:10px;padding-bottom:12px;display:flex}body.theme-dark .findings-header{border-bottom-color:#ffffff14}.findings-header svg{color:#ff9500}.findings-header h3{color:var(--text-primary);flex:1;margin:0;font-size:1rem;font-weight:600}.findings-count{color:var(--text-tertiary);background:#0000000a;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600}body.theme-dark .findings-count{background:#ffffff14}.findings-list{flex-direction:column;gap:12px;display:flex}.finding-card{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid #0000000d;transition:all .2s;overflow:hidden}body.theme-dark .finding-card{border-color:#ffffff14}.finding-card:hover{box-shadow:var(--shadow-soft)}.finding-header{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.finding-header:hover{background:#00000005}body.theme-dark .finding-header:hover{background:#ffffff08}.finding-index{background:var(--accent);width:28px;height:28px;color:var(--bg-body);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}body.theme-dark .finding-index{color:#111}.finding-title{color:var(--text-primary);flex:1;margin:0;font-size:.95rem;font-weight:600}.expand-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:transform .2s;display:flex}.finding-body{flex-direction:column;gap:16px;padding:0 16px 16px;display:flex}.finding-description{color:var(--text-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--accent);background:#00000005;margin:0;padding:12px;font-size:.85rem;line-height:1.6}body.theme-dark .finding-description{background:#ffffff08}.data-section{background:var(--bg-body);border-radius:var(--radius-sm);border:1px solid #0000000a;overflow:hidden}body.theme-dark .data-section{border-color:#ffffff0f}.data-header{cursor:pointer;background:#00000005;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .15s;display:flex}body.theme-dark .data-header{background:#ffffff08}.data-header:hover{background:#0000000a}body.theme-dark .data-header:hover{background:#ffffff0d}.data-header-left{color:var(--text-primary);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.data-header-left svg{color:var(--text-secondary)}.data-count{background:var(--accent);color:var(--bg-body);border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:700}body.theme-dark .data-count{color:#111}.risk-summary{gap:6px;display:flex}.risk-chip{border-radius:999px;padding:3px 8px;font-size:.65rem;font-weight:700}.risk-chip.critical{color:#ff2d55;background:#ff2d551a}.risk-chip.high{color:#ff9500;background:#ff95001a}.subdomains-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;padding:12px;display:grid}.subdomain-card{background:var(--bg-surface);border:1px solid #0000000a;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}body.theme-dark .subdomain-card{border-color:#ffffff0f}.subdomain-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.subdomain-risk-indicator{border-radius:2px;width:4px;height:100%;min-height:32px}.subdomain-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.subdomain-name{font-family:var(--font-jetbrains-mono),monospace;color:var(--text-primary);word-break:break-all;font-size:.8rem}.subdomain-risk-badge{text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:4px;width:fit-content;padding:2px 6px;font-size:.6rem;font-weight:700}.security-copy-btn{color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.subdomain-card:hover .security-copy-btn{opacity:1}.security-copy-btn:hover{color:var(--text-primary);background:#0000000d}body.theme-dark .security-copy-btn:hover{background:#ffffff1a}.waf-card{border-radius:var(--radius-md);background:linear-gradient(135deg,#34c75914,#34c75905);border:1px solid #34c75926;align-items:center;gap:16px;padding:16px 20px;display:flex}body.theme-dark .waf-card{background:linear-gradient(135deg,#34c7591f,#34c7590a);border-color:#34c75933}.waf-icon{color:var(--success)}.waf-info{flex-direction:column;flex:1;gap:2px;display:flex}.waf-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-size:.7rem;font-weight:600}.waf-name{color:var(--text-primary);font-size:1.1rem;font-weight:700}.waf-status{border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:flex}.waf-status.protected{color:var(--success);background:#34c75926}.infrastructure-info{border-bottom:1px solid #0000000a;flex-wrap:wrap;gap:8px;padding:12px;display:flex}body.theme-dark .infrastructure-info{border-bottom-color:#ffffff0f}.info-chip{color:var(--text-secondary);background:#00000008;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;display:flex}body.theme-dark .info-chip{background:#ffffff0f}.info-chip svg{color:var(--text-tertiary)}.ports-list{flex-direction:column;gap:6px;padding:12px;display:flex}.port-card{background:var(--bg-surface);border:1px solid #0000000a;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}body.theme-dark .port-card{border-color:#ffffff0f}.port-number{font-family:var(--font-jetbrains-mono),monospace;color:var(--text-primary);align-items:center;gap:6px;min-width:90px;font-size:.85rem;font-weight:600;display:flex}.port-number svg{color:var(--text-tertiary)}.port-details{flex:1;align-items:center;gap:8px;display:flex}.port-service{color:var(--text-secondary);text-transform:uppercase;font-size:.8rem;font-weight:500}.port-status{text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:.65rem;font-weight:700}.port-status.open{color:var(--success);background:#34c7591a}.port-status.closed{color:var(--error);background:#ff3b301a}.port-status.filtered{color:#fc0;background:#ffcc001a}.port-extra{color:var(--text-tertiary);margin-left:auto;font-size:.75rem}.failed-section{background:#ff3b3008;border-color:#ff3b301a}body.theme-dark .failed-section{background:#ff3b300f;border-color:#ff3b3026}.failed-header{color:var(--error);border-bottom:1px solid #ff3b301a;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;font-weight:600;display:flex}.failed-list{flex-direction:column;gap:10px;padding:12px;display:flex}.failed-item{background:var(--bg-body);border:1px solid #ff3b301a;border-radius:10px;padding:12px}.failed-item-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.failed-icon{color:var(--error)}.failed-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.failed-reason{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.5}.generic-data{font-family:var(--font-jetbrains-mono),monospace;color:var(--text-secondary);white-space:pre-wrap;background:0 0;margin:0;padding:12px;font-size:.75rem;overflow-x:auto}.report-conclusion{flex-direction:column;gap:16px;display:flex}.conclusion-header{border-bottom:1px solid #0000000f;align-items:center;gap:10px;padding-bottom:12px;display:flex}body.theme-dark .conclusion-header{border-bottom-color:#ffffff14}.conclusion-header svg{color:#007aff}.conclusion-header h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.conclusion-section{flex-direction:column;gap:16px;display:flex}.conclusion-intro p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.7}.recommendations{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid #0000000d;overflow:hidden}body.theme-dark .recommendations{border-color:#ffffff14}.recommendations-header{color:#b8860b;background:#ffcc0014;border-bottom:1px solid #ffcc001a;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;font-weight:600;display:flex}body.theme-dark .recommendations-header{color:#fc0;background:#ffcc001f;border-bottom-color:#ffcc0026}.recommendations-list{background:#0000000a;flex-direction:column;gap:1px;display:flex}body.theme-dark .recommendations-list{background:#ffffff0a}.recommendation-item{background:var(--bg-surface);gap:14px;padding:14px 16px;display:flex}.rec-number{color:#fff;background:linear-gradient(135deg,#ff9500,#ff6b35);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.rec-content{flex-direction:column;flex:1;gap:4px;display:flex}.rec-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.rec-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.security-report-preview{border-radius:var(--radius-md);background:linear-gradient(135deg,#ff2d550f,#ff950008);border:1px solid #ff2d551f;flex-direction:column;gap:12px;padding:16px;display:flex;position:relative;overflow:hidden}.security-report-preview:before{content:"";background:linear-gradient(90deg,#ff2d55,#ff9500,#fc0);height:2px;position:absolute;top:0;left:0;right:0}body.theme-dark .security-report-preview{background:linear-gradient(135deg,#ff2d551a,#ff95000d);border-color:#ff2d5533}.security-preview-header{align-items:center;gap:12px;display:flex}.security-preview-icon{color:#fff;background:linear-gradient(135deg,#ff2d55,#ff6b35);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.security-preview-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.preview-label{text-transform:uppercase;letter-spacing:.08em;color:#ff2d55;font-size:.65rem;font-weight:700}.preview-target{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.security-preview-stats{flex-wrap:wrap;gap:8px;display:flex}.preview-stat{color:var(--text-secondary);background:#0000000a;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}body.theme-dark .preview-stat{background:#ffffff14}.preview-stat svg{color:var(--text-tertiary)}.preview-stat.success{color:var(--success);background:#34c7591a}.preview-stat.success svg{color:var(--success)}.preview-stat.warning{color:#ff9500;background:#ff95001a}.preview-stat.warning svg{color:#ff9500}.security-preview-summary{color:var(--text-secondary);border-top:1px solid #0000000a;margin:0;padding-top:4px;font-size:.8rem;line-height:1.5}body.theme-dark .security-preview-summary{border-top-color:#ffffff0f}@media (max-width:768px){.security-report-preview{gap:10px;padding:12px}.security-preview-icon{width:36px;height:36px}.preview-target{font-size:.85rem}.preview-stat{padding:3px 8px;font-size:.7rem}}.tool-status-bar{background:var(--bg-surface);border-radius:var(--radius-sm);font-family:var(--font-jetbrains-mono),monospace;border:1px solid #34c75933;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px 16px;font-size:.8rem;animation:.3s ease-out toolStatusSlideIn;display:flex;position:relative;overflow:hidden}@keyframes toolStatusSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tool-status-bar.error{background:linear-gradient(135deg,#ff3b300d,#0000);border-color:#ff3b304d}.tool-status-progress{z-index:0;background:linear-gradient(90deg,#34c75914,#34c75926);height:100%;transition:width .5s ease-out;position:absolute;top:0;left:0}.tool-status-bar.error .tool-status-progress{background:linear-gradient(90deg,#ff3b300d,#ff3b301a)}.tool-status-content{z-index:1;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.tool-status-left{align-items:center;gap:10px;display:flex}.tool-status-spinner{border:2px solid #34c7594d;border-top-color:var(--success);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:1s linear infinite toolSpin}@keyframes toolSpin{to{transform:rotate(360deg)}}.tool-status-error-icon{color:var(--error);flex-shrink:0}.tool-status-name{text-transform:uppercase;color:var(--success);letter-spacing:.05em;font-weight:700}.tool-status-bar.error .tool-status-name{color:var(--error)}.tool-status-step{background:var(--success);color:#fff;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600}.tool-status-bar.error .tool-status-step{background:var(--error)}.tool-status-right{align-items:center;gap:12px;display:flex}.tool-status-elapsed{color:var(--text-tertiary);align-items:center;gap:4px;font-size:.7rem;display:flex}.tool-status-time{color:var(--text-secondary);text-align:right;min-width:60px;font-weight:500}.tool-status-cancel{color:var(--error);cursor:pointer;background:#ff3b301a;border:1px solid #ff3b3033;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.7rem;font-weight:600;transition:all .15s}.tool-status-cancel:hover{background:#ff3b3033;border-color:#ff3b304d}.tool-status-error-msg{z-index:1;color:var(--error);border-top:1px solid #ff3b301a;padding-top:6px;font-size:.75rem;position:relative}body.theme-dark .tool-status-bar{border-color:#34d39940}body.theme-dark .tool-status-bar.error{border-color:#ff3b3059}body.theme-dark .tool-status-spinner{border-color:#34d399 #34d3994d #34d3994d}body.theme-dark .tool-status-name{color:#34d399}body.theme-dark .tool-status-step{color:#111;background:#34d399}@media (max-width:768px){.tool-status-bar{padding:8px 12px}.tool-status-content{flex-wrap:wrap}.tool-status-left{flex:1}.tool-status-right{border-top:1px solid #0000000d;justify-content:flex-end;width:100%;margin-top:6px;padding-top:6px}body.theme-dark .tool-status-right{border-top-color:#ffffff0d}.tool-status-elapsed{display:none}.security-report-viewer{gap:16px}.report-header{text-align:center;flex-direction:column;gap:12px;padding:16px}.report-header-icon{width:48px;height:48px}.report-title{font-size:1.1rem}.subdomains-grid{grid-template-columns:1fr}.waf-card{text-align:center;flex-direction:column}.port-card{flex-direction:column;align-items:flex-start;gap:8px}.port-details{justify-content:space-between;width:100%}.port-extra{width:100%;margin-top:4px;margin-left:0}}
