@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-cyrillic-ext-300-normal.fefc551b7396b899b5ee.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-300-normal.bb744e52181efeb1e20a.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-cyrillic-300-normal.444fc46382ddebf9206b.woff2) format("woff2"),url(/static/media/inter-cyrillic-300-normal.4303dad54c0440af6b9d.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-greek-ext-300-normal.544089023996bb0a2e03.woff2) format("woff2"),url(/static/media/inter-greek-ext-300-normal.11f7f5fefca8b9a10797.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-greek-300-normal.36c1e0d5e770cc6a3971.woff2) format("woff2"),url(/static/media/inter-greek-300-normal.45fe2c6dbf7f7b48c190.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-vietnamese-300-normal.2a4055b17286ecdd503d.woff2) format("woff2"),url(/static/media/inter-vietnamese-300-normal.364184c9994e78d1ec87.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-latin-ext-300-normal.c339d02bc1066c5eb0eb.woff2) format("woff2"),url(/static/media/inter-latin-ext-300-normal.8eeafc82bf1e3850a262.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-latin-300-normal.eb229bb9406cc043d5a4.woff2) format("woff2"),url(/static/media/inter-latin-300-normal.07e0e0017a987f6c727e.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-ext-400-normal.39fbf8d2c4abc46f721f.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-400-normal.818b84180553acc613f3.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-400-normal.89455522650c3fb3654c.woff2) format("woff2"),url(/static/media/inter-cyrillic-400-normal.dd21c71421d58232ef03.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-ext-400-normal.f2ef63e732b18d636044.woff2) format("woff2"),url(/static/media/inter-greek-ext-400-normal.fc80974ec6969ee03fd2.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-400-normal.e685387f69602567b1da.woff2) format("woff2"),url(/static/media/inter-greek-400-normal.b412faded087fbcfa4ff.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-vietnamese-400-normal.44c9df135eec470b0ab6.woff2) format("woff2"),url(/static/media/inter-vietnamese-400-normal.aaa15d735e3826061950.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-ext-400-normal.210fb826cb25acbd4094.woff2) format("woff2"),url(/static/media/inter-latin-ext-400-normal.c616205185f0d3677df9.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-400-normal.eca1e21531598d5db58f.woff2) format("woff2"),url(/static/media/inter-latin-400-normal.2ea1079c0069eb040a52.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-ext-500-normal.b2740f247d3be4a05ca0.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-500-normal.e9974e820735012b025b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-500-normal.33a76a7cbcfcb7076534.woff2) format("woff2"),url(/static/media/inter-cyrillic-500-normal.72f7a9db87626ca30c76.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-ext-500-normal.4c6d520b97e3bb4ef613.woff2) format("woff2"),url(/static/media/inter-greek-ext-500-normal.47cc2391a7edf82cf4e1.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-500-normal.e7cec4ef4f6780e90a52.woff2) format("woff2"),url(/static/media/inter-greek-500-normal.6d34bacda2be54829b97.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-vietnamese-500-normal.63d02ea896a7406849b6.woff2) format("woff2"),url(/static/media/inter-vietnamese-500-normal.296d66c0bba9086788b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-ext-500-normal.cdb4dd5dc508fe6e7398.woff2) format("woff2"),url(/static/media/inter-latin-ext-500-normal.2f93aaa35e870cec4704.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-500-normal.b7c27c60f848f2083f45.woff2) format("woff2"),url(/static/media/inter-latin-500-normal.5014db633e71a7741bf5.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-ext-600-normal.8c6413cdd8004fde0a19.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-600-normal.d6d44e8705a633436dfe.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-600-normal.fdee7b66c2d88216b75f.woff2) format("woff2"),url(/static/media/inter-cyrillic-600-normal.8609e1b95284125f21cb.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-ext-600-normal.c3c138d889b8c929822c.woff2) format("woff2"),url(/static/media/inter-greek-ext-600-normal.c7983dac0ad6a359aef0.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-600-normal.984050ecee12eabe9366.woff2) format("woff2"),url(/static/media/inter-greek-600-normal.d8b0044cf6afdd52b07b.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-vietnamese-600-normal.6984cf5e8583fac83be3.woff2) format("woff2"),url(/static/media/inter-vietnamese-600-normal.04bb56ffa463ab55708d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-ext-600-normal.8148c3ae14dfaefc62ca.woff2) format("woff2"),url(/static/media/inter-latin-ext-600-normal.4d0d5017d71ea1750fc1.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-600-normal.69a8d1d484967aba2389.woff2) format("woff2"),url(/static/media/inter-latin-600-normal.f10265da6bd8d66999ac.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-cyrillic-ext-700-normal.b0c28c6752a13fa5abaf.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-700-normal.43f6f7e8a4205f05e58c.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-cyrillic-700-normal.533055ff3700190d8dfa.woff2) format("woff2"),url(/static/media/inter-cyrillic-700-normal.9f2de06ca9a7c8458434.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-greek-ext-700-normal.c9429f4b77b1f85e999d.woff2) format("woff2"),url(/static/media/inter-greek-ext-700-normal.0f8675bdd7f3fe3a3dba.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-greek-700-normal.3f04511ca7c0cea0cc2f.woff2) format("woff2"),url(/static/media/inter-greek-700-normal.8b95c1e2b193d0541864.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-vietnamese-700-normal.d1c85cabbe96efcaeb68.woff2) format("woff2"),url(/static/media/inter-vietnamese-700-normal.05b640f829d1ac5ff29d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-latin-ext-700-normal.bc59219ed344909a4f53.woff2) format("woff2"),url(/static/media/inter-latin-ext-700-normal.d4a91814dd3f1e022ab1.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-latin-700-normal.1104236696a5d2d1f236.woff2) format("woff2"),url(/static/media/inter-latin-700-normal.c73ae7252669254d2588.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/static/media/fraunces-vietnamese-wght-normal.c53893a52fe93c11cf60.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/static/media/fraunces-latin-ext-wght-normal.a4d05471980d7e6e6c04.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/static/media/fraunces-latin-wght-normal.5a4a82b52388ff7868e0.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root,[data-theme=dark]{--bg-canvas:#0a0a0a;--bg-surface:#111;--bg-elevated:#161616;--bg-sunken:#050505;--bg-hover:#ffffff0a;--bg-active:#ffffff14;--border-subtle:#1f1f1f;--border-default:#262626;--border-strong:#333;--border-accent:#dbcca5;--text-primary:#f5f5f5;--text-secondary:#a8a8a8;--text-muted:#6e6e6e;--text-inverse:#0a0a0a;--accent:#dbcca5;--accent-hover:#e8d9b0;--accent-active:#c4b68f;--accent-soft:#dbcca514;--accent-ring:#dbcca547;--accent-fg:#0a0a0a;--success:#6fa88f;--success-soft:#6fa88f1f;--warning:#d9b96a;--warning-soft:#d9b96a1f;--danger:#c97a6e;--danger-soft:#c97a6e1f;--info:#8fa8c9;--info-soft:#8fa8c91f;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-serif:"Fraunces Variable","Fraunces",Georgia,"Times New Roman",serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:17px;--text-xl:21px;--text-2xl:26px;--text-3xl:33px;--text-4xl:42px;--text-5xl:56px;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-widest:0.12em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--spacing-xs:var(--space-1);--spacing-sm:var(--space-2);--spacing-md:var(--space-4);--spacing-lg:var(--space-5);--spacing-xl:var(--space-8);--spacing-2xl:var(--space-10);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--radius-circle:50%;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 4px #00000059;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 32px #00000073;--shadow-xl:0 24px 60px #0000008c;--shadow-glow:0 0 0 1px var(--border-subtle),0 16px 50px #00000080;--shadow-color:#00000080;--focus-ring:0 0 0 3px var(--accent-ring);--bg-body:var(--bg-canvas);--bg-card:var(--bg-surface);--text-main:var(--text-primary);--border-color:var(--border-subtle);--input-bg:var(--bg-surface);--input-border:var(--border-subtle);--header-bg:var(--bg-canvas);--header-border:var(--border-subtle);--btn-hover:var(--bg-hover);--accent-color:var(--accent);--motion-fast:120ms;--motion-base:200ms;--motion-slow:320ms;--motion-ease:cubic-bezier(0.2,0.8,0.2,1)}[data-theme=light]{--bg-canvas:#fafaf8;--bg-surface:#fff;--bg-elevated:#fff;--bg-sunken:#f2f1ed;--bg-hover:#0000000a;--bg-active:#0000000f;--border-subtle:#eceae4;--border-default:#dad6cc;--border-strong:#bfb9aa;--text-primary:#1a1a1a;--text-secondary:#5c5c5c;--text-muted:#8a8a8a;--text-inverse:#fff;--accent:#b8a578;--accent-hover:#a89368;--accent-active:#8f7b52;--accent-soft:#b8a5781a;--accent-ring:#b8a5784d;--accent-fg:#fff;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 32px #0000001a;--shadow-xl:0 24px 60px #00000024;--shadow-glow:0 0 0 1px var(--border-subtle),0 16px 50px #00000014;--shadow-color:#0000000f}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03";color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);text-rendering:optimizeLegibility}h1{font-family:var(--font-serif);font-size:var(--text-4xl);font-variation-settings:"opsz" 96,"SOFT" 50;font-weight:400;line-height:var(--leading-tight)}h1,h2{color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0}h2{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:600;line-height:var(--leading-snug)}h3{font-size:var(--text-lg)}h3,h4{color:var(--text-primary);font-family:var(--font-sans);font-weight:600;line-height:var(--leading-snug);margin:0}h4{font-size:var(--text-md)}p{color:var(--text-primary);line-height:var(--leading-normal);margin:0}small{color:var(--text-secondary);font-size:var(--text-sm)}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}.eyebrow{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase}.tabular{font-feature-settings:"tnum","tnum";font-variant-numeric:tabular-nums}::selection{background:var(--accent);color:var(--accent-fg)}*,:after,:before{box-sizing:border-box}html{overflow-y:scroll}body,html{background:var(--bg-canvas)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);cursor:default;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);margin:0;transition:background-color .3s ease,color .3s ease;user-select:none;-webkit-user-select:none}#root{min-height:100vh}.app-container{margin:0 auto;max-width:1200px;padding:var(--space-6) var(--space-6) var(--space-4)}.rich-editor,input,select,textarea{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);cursor:text;font-family:inherit;font-size:var(--text-base);line-height:var(--leading-snug);padding:10px 12px;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease);user-select:text;-webkit-user-select:text;width:100%}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}.rich-editor:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.rich-editor{min-height:120px}.action-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:var(--text-base);font-weight:600;letter-spacing:var(--tracking-wide);margin-top:var(--space-5);padding:14px 20px;text-transform:uppercase;transition:background-color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease);width:100%}.action-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}[role=button]:focus-visible,a:focus-visible,button:focus-visible{box-shadow:var(--focus-ring);outline:none}.action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}*{scrollbar-color:var(--border-strong) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg-canvas);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-header{background-color:var(--header-bg);border:1px solid var(--header-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);margin-top:var(--spacing-md);overflow:hidden;padding:var(--spacing-lg) 0 var(--spacing-md);position:relative;text-align:center;transition:background-color .3s ease,border-color .3s ease}.app-header:after{background:var(--accent-color);border-radius:2px;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:80px}[data-theme=dark] .app-header{box-shadow:0 4px 24px #0006}.app-banner-img{display:block;height:90px;margin:0 auto;max-width:95%;object-fit:contain;width:auto}.tabs-container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.tabs-spacer{flex:1 1;min-width:var(--spacing-md)}.kebab-menu{position:relative}.kebab-menu,.kebab-trigger{align-items:center;display:flex}.kebab-trigger{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;font-size:22px;height:40px;justify-content:center;line-height:1;transition:background-color .2s,color .2s,box-shadow .2s;width:40px}.kebab-trigger:hover{background:var(--btn-hover);color:var(--text-main)}.kebab-trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.kebab-dropdown{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #0000002e;box-shadow:var(--shadow-md,0 4px 16px #0000002e);display:flex;flex-direction:column;min-width:190px;padding:6px 0;position:absolute;right:0;top:calc(100% + 6px);z-index:200}.kebab-item{align-items:center;background:#0000;border:none;color:var(--text-main);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 18px;text-align:left;transition:background-color .15s}.kebab-item:hover{background:var(--btn-hover)}.kebab-item:focus-visible{background:var(--btn-hover);box-shadow:var(--focus-ring);outline:none}.kebab-item__icon{flex-shrink:0;font-size:16px}.kebab-item--danger{color:#d9534f}.kebab-item--danger:hover{background:#d9534f1a}.kebab-item--secondary{color:var(--text-secondary)}.kebab-divider{background:var(--border-color);height:1px;margin:4px 0}.tab-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 25px;text-transform:uppercase;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}.tab-btn:hover{background:var(--btn-hover);color:var(--text-main);transform:translateY(-1px)}.tab-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.tab-btn.active,.tab-btn.active-match{background:var(--accent-color);border-color:var(--accent-color);border-bottom:3px solid var(--accent-fg);color:var(--accent-fg)}.tab-btn .dirty-badge{background:#f0ad4e;border-radius:50%;display:inline-block;height:8px;margin-left:6px;vertical-align:middle;width:8px}.tab-btn.active .dirty-badge{background:#fff}.tab-btn--preview{background:#444!important;border-color:#444!important;color:#fff!important}.tab-btn--preview:hover{background:#555!important;color:#fff!important}.tab-btn--danger{background:#d9534f!important;border-color:#d9534f!important;color:#fff!important}.tab-btn--danger:hover{background:#c9302c!important;color:#fff!important}.tab-btn--secondary{background:#666!important;border-color:#666!important;color:#fff!important}.tab-btn--secondary:hover{background:#555!important;color:#fff!important}.card{background:var(--bg-card);box-shadow:var(--shadow-md);margin-bottom:25px;padding:var(--spacing-xl);transition:background-color .3s ease,border-color .3s ease}.card,.display-options{border:1px solid var(--border-color);border-radius:var(--radius-md)}.display-options{background:var(--bg-body);display:flex;flex-direction:column;gap:10px;margin-top:15px;padding:15px}.display-options-label{color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:2px}.display-option-row{align-items:center;display:flex;gap:12px}.display-option-toggle{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;min-width:120px}.display-option-toggle input[type=checkbox]{accent-color:var(--accent-color);cursor:pointer;height:18px;width:18px}.display-option-input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);flex:1 1;font-size:14px;max-width:200px;padding:8px 12px;transition:border-color .2s}.display-option-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.progress-container{background:var(--border-color);height:10px;width:100%}.progress-bar-fill{transition:width .5s ease}.drop-zone{background:var(--bg-body);border:2px dashed var(--input-border);border-radius:var(--radius-md);padding:var(--spacing-2xl);transition:border-color .3s,background-color .3s}.drop-zone:hover{background:var(--bg-card);border-color:var(--text-main)}.drop-zone:focus-visible{border-color:var(--text-main);box-shadow:var(--focus-ring);outline:none}.item-action-btn{background:var(--bg-card);border:1px solid var(--input-border);color:var(--text-main);font-size:1rem;margin-left:8px;padding:var(--spacing-xs) var(--spacing-sm);transition:background-color .2s ease,border-color .2s ease,color .2s ease}.item-action-btn:hover{background-color:var(--btn-hover);border-color:var(--text-secondary)}.item-action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.item-action-btn.delete-btn{border-color:#d9534f;color:#d9534f}.item-action-btn.delete-btn:hover{background-color:#d9534f;color:#fff}.item-actions-container{align-items:center;display:flex;opacity:1}.theme-toggle-fixed{align-items:center;background-color:#fff;border:2px solid #000;border-radius:var(--radius-circle);box-shadow:0 4px 10px #0000001a;color:#000;cursor:pointer;display:flex;height:50px;justify-content:center;position:fixed;right:25px;top:25px;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;width:50px;z-index:9999}.theme-toggle-fixed:hover{background-color:#000;color:#fff;transform:scale(1.1)}.theme-toggle-fixed:focus-visible{box-shadow:var(--focus-ring);outline:none}[data-theme=dark] .theme-toggle-fixed{background-color:#000;border:2px solid #fff;box-shadow:0 4px 10px #ffffff1a;color:#fff}[data-theme=dark] .theme-toggle-fixed:hover{background-color:#fff;color:#000}.login-container{background:var(--bg-body);grid-template-columns:1fr 1fr}.login-brand{align-items:flex-start;background:linear-gradient(160deg,#0a0a0a,#141414);color:#fff;display:flex;justify-content:center;padding:60px 70px}.login-brand:before{background:radial-gradient(circle,#dbcca51f 0,#0000 60%);height:600px;right:-20%;top:-30%;width:600px}.login-brand-logo{margin-bottom:48px;max-width:280px;width:100%;z-index:1}.login-brand-tagline{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:28px;letter-spacing:-.3px;line-height:1.3;margin:0 0 20px;z-index:1}.login-brand-tagline em{color:var(--accent-color);font-style:normal}.login-brand-sub{color:#9e9e9e;font-size:14px;line-height:1.6;max-width:380px;z-index:1}.login-brand-accent-line{background:var(--accent-color);margin-bottom:28px;width:60px;z-index:1}.login-brand-footer{bottom:32px;color:#6b6b6b;font-size:11px;left:70px;letter-spacing:1.5px;position:absolute;z-index:1}.login-card{background:var(--bg-card);flex-direction:column;padding:0 80px;text-align:left}.login-card-inner{margin:0 auto}.login-card h2{color:var(--text-main);font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:700;letter-spacing:-.3px;margin:0 0 8px}.login-card-subtitle{color:var(--text-secondary);font-size:14px;margin:0 0 32px}.login-card input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-main);font-size:14px;margin-bottom:var(--spacing-md);padding:14px 16px;transition:border-color .2s,box-shadow .2s}.login-card input:focus{border-color:var(--accent-color)}.login-btn{background:var(--accent-color);border-radius:var(--radius-md);font-size:14px;letter-spacing:.3px;margin-top:8px;text-transform:uppercase;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease}.login-btn:hover{box-shadow:0 8px 20px #dbcca540}.login-btn:active{transform:translateY(0)}.login-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-error{background:#ef444414;border:1px solid #ef444440;border-radius:var(--radius-md);color:#ef4444;font-size:13px;margin-bottom:var(--spacing-md);padding:10px 14px}@media (max-width:900px){.login-container{grid-template-columns:1fr}.login-brand{min-height:240px;padding:40px 32px 32px}.login-brand-logo{margin-bottom:24px;max-width:200px}.login-brand-tagline{font-size:22px}.login-brand-footer{display:none}.login-card{padding:32px}.login-card-inner{max-width:100%}}.history-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.history-filters input,.history-filters select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-main);flex:1 1;min-width:120px;padding:var(--spacing-sm)}.history-score-filter{align-items:center;color:var(--text-secondary);display:flex;font-size:.85em;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.history-score-filter input[type=range]{flex:1 1}.history-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.history-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:var(--spacing-md) var(--spacing-lg);transition:border-color .2s,box-shadow .2s}.history-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.history-card:focus-visible{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.history-card-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.history-trigramme{background:#000;border-radius:6px;color:#fff;font-size:.85em;letter-spacing:1px;padding:4px var(--spacing-sm)}.history-titre{flex:1 1;font-size:1.05em;font-weight:600}.history-score{border-radius:var(--radius-pill);color:#fff;font-size:.9em;font-weight:700;padding:4px 12px}.history-card-meta{color:var(--text-secondary);display:flex;font-size:.85em;gap:var(--spacing-lg)}.modal-overlay{align-items:flex-start;background:#0009;bottom:0;left:0;overflow-y:auto;padding:var(--spacing-2xl);right:0;top:0;z-index:1000}.modal-content{max-height:90vh;max-width:800px;overflow-y:auto;padding:var(--spacing-xl);position:relative;width:100%}.modal-close{font-size:1.3em;font-weight:700;position:absolute;right:var(--spacing-md);top:var(--spacing-md)}.modal-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.detail-meta{background:var(--bg-body);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;font-size:.95em;gap:var(--spacing-lg);margin:var(--spacing-md) 0 25px 0;padding:var(--spacing-md)}.detail-section{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:25px;padding:var(--spacing-md)}.detail-section h3{margin-top:0}.detail-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.admin-create-section{background:var(--bg-body);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:20px;padding:24px}.admin-create-title{color:var(--text-secondary);font-size:15px;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.admin-create-form{display:flex;flex-direction:column;gap:16px}.admin-create-fields{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.admin-field-label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.admin-field-input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-main);font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.admin-field-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.admin-password-wrapper{position:relative}.admin-password-wrapper .admin-field-input{padding-right:42px}.admin-password-toggle{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;opacity:.6;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:opacity .2s}.admin-password-toggle:hover{opacity:1}.admin-create-actions{align-items:center;display:flex;gap:16px;justify-content:space-between}.admin-checkbox-label{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px}.admin-checkbox{accent-color:var(--accent-color);cursor:pointer;height:18px;width:18px}.admin-create-btn{background:var(--accent-color);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:10px 24px;text-transform:uppercase;transition:opacity .2s;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.admin-create-btn:hover{box-shadow:0 6px 18px #dbcca54d;transform:translateY(-1px)}.admin-create-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.admin-user-list{display:flex;flex-direction:column}.admin-user-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;padding:14px 0}.admin-user-row:last-child{border-bottom:none}.admin-user-name{align-items:center;display:flex;font-size:15px;gap:8px}.admin-user-date{color:var(--text-secondary);font-size:12px;margin-top:2px}.admin-badge{border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 10px}.admin-badge--admin{background:#000;color:#fff}.admin-badge--user{background:var(--border-color)}.admin-user-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.admin-action-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;font-size:13px;padding:6px 12px;transition:background-color .2s,border-color .2s;white-space:nowrap}.admin-action-btn:hover{background:var(--btn-hover);border-color:var(--text-secondary)}.admin-action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.admin-action-btn--danger{border-color:#d9534f;color:#d9534f}.admin-action-btn--danger:hover{background:#d9534f;color:#fff}.editor-tab{padding-bottom:100px}.editor-actionbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffe0;background:rgba(var(--actionbar-bg-rgb,255,255,255),.88);border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -2px 12px var(--shadow-color);justify-content:space-between;padding:12px 20px;position:-webkit-sticky;position:sticky;z-index:50}[data-theme=dark] .editor-actionbar{background:#141414e0}.editor-actionbar__status{flex:1 1;min-width:0}.editor-actionbar__actions{flex-shrink:0;gap:10px}.editor-actionbar__btn{border:none;border-radius:4px;border-radius:var(--radius-sm,4px);font-size:14px;font-weight:700;letter-spacing:.5px;padding:10px 20px;transition:opacity .2s ease,background .2s ease}.editor-actionbar__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.editor-actionbar__btn--ghost{border:1px solid var(--border-color);color:var(--text-main)}.editor-actionbar__btn--ghost:hover{background:var(--btn-hover)}.editor-actionbar__btn--primary{background:var(--accent-color);border:none;letter-spacing:1.5px;text-transform:uppercase}.editor-actionbar__btn--primary:hover{opacity:.88}.editor-actionbar__status-text{color:#777;color:var(--text-secondary,#777);font-size:13px;font-style:italic}.editor-actionbar__status-text--idle{opacity:.65}.logs-tab h2{margin-bottom:8px}.logs-toolbar{background:#fafafa;background:var(--bg-elevated,#fafafa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:4px;border-radius:var(--radius-sm,4px);gap:10px;margin:12px 0;padding:12px}.logs-toolbar input[type=text]{min-width:200px}.logs-toolbar input[type=text],.logs-toolbar select{background:#fff;background:var(--input-bg,#fff);border:1px solid #ccc;border:1px solid var(--input-border,#ccc);border-radius:4px;border-radius:var(--radius-sm,4px);color:var(--text-main);padding:6px 10px}.logs-toolbar select{cursor:pointer}.logs-btn{background:var(--accent-color);border-radius:4px;border-radius:var(--radius-sm,4px);color:#fff;color:var(--accent-fg,#fff);padding:6px 14px}.logs-btn:disabled{cursor:not-allowed;opacity:.6}.logs-autorefresh{font-size:14px;gap:6px}.logs-error{background:#dc32321a;border:1px solid #dc323266;border-radius:4px;border-radius:var(--radius-sm,4px);color:#c0392b;margin-bottom:10px;padding:10px}.logs-stats{color:#777;color:var(--text-secondary,#777);font-size:13px;margin-bottom:8px}.logs-viewer{background:#1a1a1a;background:var(--bg-code,#1a1a1a);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:4px;border-radius:var(--radius-sm,4px);color:#eaeaea;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12.5px;line-height:1.5;max-height:65vh;padding:8px 0}.logs-empty{opacity:.6;padding:30px}.log-row{grid-gap:8px;border-left:3px solid #0000;gap:8px;grid-template-columns:145px 70px 180px 1fr;padding:3px 12px;white-space:pre-wrap;word-break:break-word}.log-row:hover{background:#ffffff0a}.log-row--error{border-left-color:#e74c3c;color:#ff8b80}.log-row--warning{border-left-color:#f39c12;color:#ffd17a}.log-row--info{border-left-color:#3498db}.log-row--debug{border-left-color:#7f8c8d;opacity:.7}.log-timestamp{color:#888}.log-logger{color:#9bb4d1}body{user-select:text;-webkit-user-select:text}.app-container{max-width:1280px;padding-bottom:var(--space-4);padding-top:var(--space-6)}.app-header,.tabs-container{display:none}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:var(--space-5);padding:var(--space-6);transition:border-color var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.card:hover{border-color:var(--border-default)}.card h3{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);margin:0 0 var(--space-5);padding:0 0 var(--space-3);text-transform:uppercase}input,select,textarea{border-radius:var(--radius-sm);font-size:var(--text-base);padding:10px 12px}.app-topbar{backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);background:#0a0a0ad9;border-bottom:1px solid var(--border-subtle);position:-webkit-sticky;position:sticky;top:0;z-index:50}[data-theme=light] .app-topbar{background:#fafaf8e0}.app-topbar__inner{grid-gap:var(--space-6);align-items:center;display:grid;gap:var(--space-6);grid-template-columns:auto 1fr auto;margin:0 auto;max-width:1400px;min-height:60px;padding:var(--space-3) var(--space-6)}.app-topbar__brand{align-items:center;display:flex;gap:var(--space-3)}.app-topbar__mark{filter:brightness(0) invert(1);height:32px;object-fit:contain;opacity:.95;width:32px}[data-theme=light] .app-topbar__mark{filter:none}.app-topbar__wordmark{display:flex;flex-direction:column;gap:3px;line-height:1}.app-topbar__title{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-md);font-variation-settings:"opsz" 24;font-weight:500;letter-spacing:var(--tracking-tight)}.app-topbar__subtitle{color:var(--text-muted);font-size:10px}.app-topbar__nav{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);display:flex;gap:2px;justify-content:center;justify-self:center;padding:4px}.app-topbar__tab{background:#0000;border:none;border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;letter-spacing:0;padding:8px 16px;position:relative;text-transform:none;transition:color var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease);white-space:nowrap}.app-topbar__tab:hover{background:var(--bg-hover);color:var(--text-primary)}.app-topbar__tab.is-active{background:var(--accent);color:var(--accent-fg)}.app-topbar__tab.is-active:hover{background:var(--accent-hover)}.app-topbar__dirty{background:var(--warning);border-radius:50%;box-shadow:0 0 0 2px var(--bg-sunken);display:inline-block;height:6px;margin-left:6px;vertical-align:middle;width:6px}.app-topbar__tab.is-active .app-topbar__dirty{background:var(--accent-fg);box-shadow:0 0 0 2px var(--accent)}.app-topbar__actions{align-items:center;display:flex;gap:var(--space-1)}.app-topbar__iconbtn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:all var(--motion-fast) var(--motion-ease);width:36px}.app-topbar__iconbtn:hover{background:var(--bg-hover);border-color:var(--border-subtle);color:var(--text-primary)}.app-topbar__iconbtn--danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.app-topbar__burger{display:none}@media (max-width:880px){.app-topbar__inner{grid-template-columns:auto 1fr auto;padding:var(--space-3) var(--space-4)}.app-topbar__nav,.app-topbar__subtitle{display:none}.app-topbar__burger{display:inline-flex}.app-topbar__drawer{background:var(--bg-canvas);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4)}.app-topbar__drawer-item{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:var(--text-base);padding:12px 14px;text-align:left;transition:all var(--motion-fast) var(--motion-ease)}.app-topbar__drawer-item:hover{background:var(--bg-hover);color:var(--text-primary)}.app-topbar__drawer-item.is-active{background:var(--accent);color:var(--accent-fg)}.app-topbar__title{font-size:var(--text-sm)}}.display-options{background:#0000;border:none;display:block;margin-top:var(--space-5);padding:0}.display-options-label{color:var(--text-muted);display:block;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);margin:0 0 var(--space-3);text-transform:uppercase}.display-option-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:980px){.display-option-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.display-option-grid{grid-template-columns:1fr}}.toggle-card{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);position:relative;transition:all var(--motion-fast) var(--motion-ease)}.toggle-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.toggle-card.is-on{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-xs)}.toggle-card__header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.toggle-card__label{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.toggle-card__switch{background:var(--border-strong);border-radius:999px;flex-shrink:0;height:18px;position:relative;transition:background var(--motion-fast) var(--motion-ease);width:32px}.toggle-card__switch:after{background:var(--bg-canvas);border-radius:50%;box-shadow:var(--shadow-xs);content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform var(--motion-fast) var(--motion-ease);width:14px}.toggle-card.is-on .toggle-card__switch{background:var(--accent)}.toggle-card.is-on .toggle-card__switch:after{background:var(--accent-fg);transform:translateX(14px)}.toggle-card input[type=checkbox]{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.toggle-card__input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-top:var(--space-1);padding:7px 10px;width:100%}.toggle-card__input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.display-option-row{display:none}.editor-tab{padding-bottom:72px}.card>div[style*="border: 1px solid"][style*="border-radius: 4px"]{border:1px solid var(--border-subtle)!important;border-radius:var(--radius-md)!important;margin-bottom:var(--space-4)!important;overflow:hidden;transition:border-color var(--motion-fast) var(--motion-ease)}.card>div[style*="border: 1px solid"][style*="border-radius: 4px"]:hover{border-color:var(--border-default)!important}.section-header-bar{align-items:center;background:var(--bg-sunken);border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-3) var(--space-4)}.section-label{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase}.toolbar-btn{align-items:center;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-serif);font-size:var(--text-sm);height:28px;justify-content:center;padding:0;transition:all var(--motion-fast) var(--motion-ease);width:28px}.toolbar-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.toolbar-btn b,.toolbar-btn i,.toolbar-btn u{font-style:normal;font-weight:600}.toolbar-btn b{font-weight:800}.toolbar-btn i{font-family:var(--font-serif);font-style:italic}.toolbar-btn u{text-decoration:underline;text-underline-offset:2px}.toolbar-color-picker{align-items:center;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:inline-flex;height:28px;justify-content:center;overflow:hidden;position:relative;width:28px}.toolbar-color-picker:hover{border-color:var(--border-strong)}.toolbar-color-picker:after{align-items:center;background:var(--bg-canvas);color:var(--text-secondary);content:"A";display:flex;font-family:var(--font-serif);font-size:var(--text-sm);font-weight:600;inset:0;justify-content:center;pointer-events:none;position:absolute}.toolbar-color-picker input[type=color]{background:#0000;border:none;cursor:pointer;height:100%;inset:0;opacity:0;padding:0;position:absolute;width:100%}.section-header-bar .item-action-btn{background:#0000;font-size:var(--text-xs);height:28px;width:28px}.section-header-bar .item-action-btn:disabled{cursor:not-allowed;opacity:.3}.editor-tab div[style*="background:"][style*="#2d2d2d"],.editor-tab div[style*="background:"][style*="#f9f9f9"]{background:var(--bg-canvas)!important;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-md)!important}.editor-tab button[style*="background: var(--accent-color)"]{border-radius:var(--radius-sm)!important;font-size:var(--text-sm)!important;font-weight:600!important;letter-spacing:0!important;padding:9px 18px!important;text-transform:none!important;transition:all var(--motion-fast) var(--motion-ease)!important}.editor-tab button[style*="background: var(--accent-color)"]:hover{background:var(--accent-hover)!important;box-shadow:var(--shadow-md);transform:translateY(-1px)}.editor-tab button[style*="background: #ccc"]{background:#0000!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-sm)!important;color:var(--text-secondary)!important;font-size:var(--text-sm)!important;font-weight:600!important;padding:9px 18px!important}.editor-tab button[style*="background: #ccc"]:hover{border-color:var(--border-strong)!important;color:var(--text-primary)!important}.editor-tab div[style*="border-bottom: 1px solid var(--border-color)"]{border-bottom:1px solid var(--border-subtle)!important;padding:var(--space-3) var(--space-4)!important;transition:background var(--motion-fast) var(--motion-ease)}.editor-tab div[style*="border-bottom: 1px solid var(--border-color)"]:hover{background:var(--bg-hover)}.rich-editor{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);line-height:var(--leading-relaxed);min-height:100px;padding:var(--space-3) var(--space-4)!important}.rich-editor:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.rich-editor:empty:before{color:var(--text-muted);content:attr(data-placeholder);font-style:italic}.editor-actionbar{align-items:center;backdrop-filter:saturate(150%) blur(20px);-webkit-backdrop-filter:saturate(150%) blur(20px);background:#141414eb;border-radius:var(--radius-pill);border-top:1px solid var(--border-default);border:1px solid var(--border-default);bottom:var(--space-5);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-3);left:50%;margin:0;max-width:calc(100vw - var(--space-8));padding:5px 5px 5px var(--space-4);position:fixed;transform:translateX(-50%);width:-webkit-max-content;width:max-content;z-index:40}[data-theme=light] .editor-actionbar{background:#fffffff0;border-color:var(--border-default)}.editor-actionbar__status{align-items:center;border-right:1px solid var(--border-subtle);color:var(--text-secondary);display:flex;font-size:var(--text-xs);line-height:1;padding:0 var(--space-3) 0 var(--space-1)}.editor-actionbar__status-text{color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap}.editor-actionbar__status-text--idle{color:var(--text-muted)}.editor-actionbar__actions{align-items:center;display:flex;gap:var(--space-1)}.editor-actionbar__btn{border:1px solid #0000;border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:0;line-height:1.2;padding:7px 14px;text-transform:none;transition:all var(--motion-fast) var(--motion-ease);white-space:nowrap}.editor-actionbar__btn--ghost{background:#0000;border-color:var(--border-subtle);color:var(--text-secondary)}.editor-actionbar__btn--ghost:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.editor-actionbar__btn--primary{background:var(--accent);color:var(--accent-fg)}.editor-actionbar__btn--primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (max-width:600px){.editor-actionbar{align-items:stretch;border-radius:var(--radius-lg);flex-direction:column;gap:var(--space-2);left:var(--space-3);max-width:none;padding:var(--space-3);right:var(--space-3);transform:none;width:auto}.editor-actionbar__status{border-right:none;justify-content:center;padding-right:0}.editor-actionbar__actions{justify-content:space-between}.editor-actionbar__btn{flex:1 1}}.logs-tab{padding-top:var(--space-2)}.logs-tab h2{border-bottom:none;color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;letter-spacing:var(--tracking-tight);margin:0 0 var(--space-2);padding:0;text-transform:none}.logs-tab>p{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-6)}.logs-toolbar{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3)}.logs-toolbar input[type=text],.logs-toolbar select{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);height:36px;padding:8px 12px}.logs-toolbar input[type=text]{flex:1 1;min-width:220px}.logs-toolbar select{min-width:130px}.logs-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:var(--text-sm);font-weight:600;height:36px;letter-spacing:0;padding:0 16px;text-transform:none;transition:background var(--motion-fast) var(--motion-ease)}.logs-btn:hover{background:var(--accent-hover)}.logs-autorefresh{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:0 var(--space-2);-webkit-user-select:none;user-select:none}.logs-autorefresh input{cursor:pointer;height:auto;width:auto}.logs-error{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--text-sm);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4)}.logs-stats{color:var(--text-muted);letter-spacing:var(--tracking-wide);margin:0 0 var(--space-2);text-transform:uppercase}.logs-stats,.logs-viewer{font-family:var(--font-mono);font-size:var(--text-xs)}.logs-viewer{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);line-height:1.55;max-height:70vh;overflow-y:auto;padding:var(--space-2)}.logs-empty{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-8);text-align:center}.log-row{grid-gap:var(--space-3);align-items:baseline;background:#0000;border-left:2px solid #0000;border-radius:var(--radius-xs);color:var(--text-secondary);display:grid;gap:var(--space-3);grid-template-columns:92px 78px 130px 1fr;margin-bottom:1px;padding:6px var(--space-3);transition:background var(--motion-fast) var(--motion-ease)}.log-row:hover{background:var(--bg-hover)}.log-timestamp{font-feature-settings:"tnum";color:var(--text-muted);font-variant-numeric:tabular-nums}.log-level{align-items:center;background:var(--bg-hover);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-family:var(--font-sans);font-size:10px;font-weight:700;height:18px;justify-content:center;letter-spacing:var(--tracking-wide);padding:2px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.log-logger{color:var(--info)}.log-message{color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.log-row--info{border-left-color:var(--info)}.log-row--info .log-level{background:var(--info-soft);color:var(--info)}.log-row--warning{border-left-color:var(--warning)}.log-row--warning .log-level{background:var(--warning-soft);color:var(--warning)}.log-row--warning .log-message{color:#f0daa8}.log-row--error{border-left-color:var(--danger)}.log-row--error .log-level{background:var(--danger-soft);color:var(--danger)}.log-row--error .log-message{color:#f1b5ac}.log-row--debug{opacity:.6}.log-row--debug .log-level{background:var(--bg-hover);color:var(--text-muted)}@media (max-width:720px){.log-row{gap:4px;grid-template-columns:1fr;padding:var(--space-2) var(--space-3)}.log-logger{display:none}}.login-container{background:var(--bg-canvas);display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}@media (max-width:900px){.login-container{grid-template-columns:1fr}.login-brand{display:none!important}}.login-brand{background:radial-gradient(ellipse at top right,#dbcca51a,#0000 60%),linear-gradient(180deg,#0d0d0d,#060606);border-right:1px solid var(--border-subtle);color:var(--text-primary);display:flex!important;flex-direction:column;justify-content:space-between;overflow:hidden;padding:var(--space-12) var(--space-10);position:relative}.login-brand:before{background:radial-gradient(circle at 20% 30%,#dbcca514 0,#0000 40%),radial-gradient(circle at 80% 70%,#dbcca50f 0,#0000 50%);inset:0}.login-brand:after,.login-brand:before{content:"";pointer-events:none;position:absolute}.login-brand:after{background:radial-gradient(circle,var(--accent) 0,#0000 65%);border-radius:50%;filter:blur(40px);height:480px;opacity:.1;right:-120px;top:30%;width:480px}.login-brand-logo{filter:brightness(0) invert(1);height:56px;object-fit:contain;opacity:.95;position:relative;width:56px}.login-brand-tagline{color:var(--text-primary);font-family:var(--font-serif);font-size:clamp(36px,4.5vw,56px);font-weight:400;letter-spacing:var(--tracking-tight);line-height:1.05;margin:0;max-width:18ch;position:relative}.login-brand-tagline em{color:var(--accent);font-style:italic}.login-brand-sub{color:var(--text-secondary);font-size:var(--text-md);line-height:var(--leading-relaxed);max-width:38ch;position:relative}.login-brand-accent-line{background:var(--accent);height:2px;margin:var(--space-4) 0;position:relative;width:64px}.login-brand-footer{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);position:relative;text-transform:uppercase}.login-card{align-items:center;display:flex;justify-content:center;padding:var(--space-10)}.login-card-inner{max-width:380px;width:100%}.login-card h2{border-bottom:none;color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;letter-spacing:var(--tracking-tight);margin:0 0 var(--space-2);padding:0;text-transform:none}.login-card-subtitle{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-8)}.login-card input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);margin-bottom:var(--space-3);padding:12px 14px;transition:all var(--motion-fast) var(--motion-ease);width:100%}.login-card input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.login-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:var(--text-base);font-weight:600;letter-spacing:0;margin-top:var(--space-3);padding:14px;text-transform:none;transition:all var(--motion-fast) var(--motion-ease);width:100%}.login-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-error{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--text-sm);margin-top:var(--space-3);padding:var(--space-3)}.login-logo{display:none}.drop-zone{background:var(--bg-surface);border:2px dashed var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;padding:var(--space-12) var(--space-6);text-align:center;transition:all var(--motion-fast) var(--motion-ease)}.drop-zone:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.progress-container{background:var(--bg-sunken);border-radius:var(--radius-pill);height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:var(--radius-pill);height:100%;transition:width var(--motion-slow) var(--motion-ease)}.history-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-4);transition:all var(--motion-fast) var(--motion-ease)}.history-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.history-trigramme{background:var(--accent);border-radius:var(--radius-sm);color:var(--accent-fg);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);padding:4px 10px}.history-score{font-feature-settings:"tnum";color:var(--text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.admin-user-row{border-bottom:1px solid var(--border-subtle);padding:var(--space-3) var(--space-4);transition:background var(--motion-fast) var(--motion-ease)}.admin-user-row:hover{background:var(--bg-hover)}.admin-badge--admin{background:var(--accent);color:var(--accent-fg);font-weight:600;letter-spacing:var(--tracking-wide)}.admin-badge--admin,.admin-badge--user{border-radius:var(--radius-pill);font-size:var(--text-xs);padding:3px 8px;text-transform:uppercase}.admin-badge--user{background:var(--bg-hover);color:var(--text-secondary);font-weight:500}.item-action-btn{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all var(--motion-fast) var(--motion-ease);width:32px}.item-action-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.item-action-btn.delete-btn{border-color:#0000;color:var(--danger)}.item-action-btn.delete-btn:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.theme-toggle-fixed{display:none}.app-shell{background:var(--bg-canvas);display:flex;min-height:calc(100vh - 60px)}.app-shell__main{flex:1 1;flex:1 1 50%;min-width:0;overflow-y:auto}.app-shell__preview{background:var(--bg-sunken);border-left:1px solid var(--border-subtle);flex:1 1 50%;height:calc(100vh - 60px);min-width:0;overflow:hidden;position:-webkit-sticky;position:sticky;top:60px}.app-shell .editor-actionbar{left:25%}@media (max-width:1100px){.app-shell__preview{display:none}.app-shell .editor-actionbar{left:50%}}@media (max-width:767px){.app-container{padding:0 10px}.app-banner-img{height:60px}.app-header{margin-bottom:15px;margin-top:10px;padding:10px 0}.tabs-container{flex-direction:column;gap:8px}.tab-btn{font-size:13px;padding:10px;text-align:center}.card{padding:15px}.card,h2,h3{margin-bottom:15px}h2,h3{font-size:.95rem;padding-bottom:10px}.display-option-input{max-width:none}.history-card-meta,.history-filters{flex-direction:column}.history-card-meta{gap:5px}.history-score-filter{flex-direction:column;gap:8px}.modal-overlay{padding:10px}.modal-content{border-radius:8px;max-height:95vh;padding:20px}.item-actions-container{flex-wrap:wrap;gap:4px}.detail-actions{flex-direction:column}.admin-create-fields{grid-template-columns:1fr}.admin-create-actions{align-items:stretch;flex-direction:column}.admin-create-btn{text-align:center}.admin-user-row{align-items:flex-start;flex-direction:column;gap:10px}.admin-user-actions{flex-wrap:wrap}.theme-toggle-fixed{height:40px;right:10px;top:10px;width:40px}.theme-toggle-fixed svg{height:20px;width:20px}}@media (min-width:768px) and (max-width:1024px){.app-container{max-width:900px;padding:0 15px}.app-banner-img{height:75px}.tabs-container{gap:8px}.tab-btn{font-size:13px;padding:10px 15px}.card{padding:20px}}.file-upload-zone{align-items:center;background:var(--input-bg);border:2px dashed var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:32px 24px;text-align:center;transition:border-color .2s,background .2s}.file-upload-zone:hover{border-color:var(--accent-color)}.file-upload-zone:focus-visible{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.file-upload-zone--dragover{background:var(--bg-body);border-color:var(--accent-color)}.file-upload-zone--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.file-upload-icon{font-size:32px;line-height:1}.file-upload-label{color:var(--text-main);font-size:15px}.file-upload-hint{color:var(--text-secondary);font-size:13px}.file-upload-filename{color:var(--accent-color);font-size:14px;font-weight:500;margin-top:4px}.file-upload-input{display:none}.toast-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.toast{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px var(--shadow-color);color:var(--text-main);font-size:14px;gap:12px;line-height:1.4;max-width:420px;min-width:300px;padding:14px 18px;pointer-events:auto}.toast,.toast-icon{align-items:center;display:flex}.toast-icon{border-radius:50%;color:#fff;flex-shrink:0;font-size:13px;font-weight:700;height:22px;justify-content:center;width:22px}.toast-success .toast-icon{background:#22c55e}.toast-error .toast-icon{background:#ef4444}.toast-info .toast-icon{background:var(--accent-color)}.toast-message{flex:1 1}.toast-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:0 2px;transition:color .15s}.toast-close:hover{color:var(--text-main)}.toast-enter{animation:toast-slide-in .3s ease forwards}.toast-exit{animation:toast-slide-out .25s ease forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(40px)}}.modal-overlay{align-items:center;animation:modal-fade-in .2s ease forwards;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9000}.modal-content{animation:modal-slide-down .25s ease forwards;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px var(--shadow-color);color:var(--text-main);display:flex;flex-direction:column;max-height:85vh;width:90%}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:780px}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:18px 24px}.modal-header h2{color:var(--text-main);font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:22px;line-height:1;padding:4px 8px;transition:background .15s,color .15s}.modal-close:hover{background:var(--bg-body);color:var(--text-main)}.modal-body{flex:1 1;overflow-y:auto;padding:24px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-message{color:var(--text-main);font-size:15px;line-height:1.5;margin-bottom:24px}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-btn{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .15s,border-color .15s}.confirm-dialog-btn--cancel{background:var(--bg-body);color:var(--text-main)}.confirm-dialog-btn--cancel:hover{background:var(--input-bg)}.confirm-dialog-btn--confirm{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-fg);transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.confirm-dialog-btn--confirm:hover{box-shadow:0 6px 18px #dbcca54d;transform:translateY(-1px)}.confirm-dialog-btn--danger{background:#ef4444;border-color:#ef4444;color:#fff}.confirm-dialog-btn--danger:hover{background:#dc2626;border-color:#dc2626}.confirm-dialog-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.password-prompt-form{display:flex;flex-direction:column;gap:16px}.password-prompt-label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:6px}.password-prompt-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-main);font-size:14px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.password-prompt-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.password-prompt-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:13px;padding:8px 12px}[data-theme=dark] .password-prompt-error{background:#2a1313;border-color:#5b1f1f;color:#fca5a5}
/*# sourceMappingURL=main.8bbfe223.css.map*/