@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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.1y4-pdgsjb-pw.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.3lvt2whj97whp.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.2uwcyprjm3xu3.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.0k62hbripvv8p.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.3-6t-g6q0vh0a.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-20C4,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.2bn3s6zvc0dyp.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%}.ec5Qua_className{font-family:Inter,Inter Fallback;font-style:normal}.ec5Qua_variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.lmdqzG_className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.lmdqzG_variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Chivo Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2ff3581ba07a6380-s.42nykp_oaw4i5.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:Chivo Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/41461fdd00f20dc2-s.0zkaco30kda_a.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chivo Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/387ee14c0e0fe675-s.3-lut242jvm36.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:Chivo Mono Fallback;src:local(Arial);ascent-override:69.84%;descent-override:18.58%;line-gap-override:0.0%;size-adjust:134.59%}.HWbPFG_className{font-family:Chivo Mono,Chivo Mono Fallback;font-style:normal}.HWbPFG_variable{--font-chivo-mono:"Chivo Mono", "Chivo Mono Fallback"}
:root{--color-bg:#fafbfc;--color-surface-0:#fff;--color-surface-1:#f4f6f8;--color-surface-2:#e2e6e9;--color-text-primary:#1a2b23;--color-text-secondary:#5b6960;--color-text-tertiary:#66726b;--color-text-inverse:#ebf6f0;--color-border:#dee4e0;--color-border-strong:#c2ccc6;--color-primary:#2f7a56;--color-primary-hover:#3d9a6c;--color-primary-soft:#ebf6f0;--color-primary-muted:#c9e5d6;--color-secondary:#1a3328;--color-secondary-hover:#245840;--color-accent:#e8930c;--color-accent-hover:#d4860b;--color-accent-soft:#fff7eb;--color-accent-contrast:#1a1206;--color-success:#16a34a;--color-success-soft:#ecfdf5;--color-warning:#f39c12;--color-warning-soft:#fffbeb;--color-error:#dc2626;--color-error-soft:#fef2f2;--color-info:#0284c7;--color-info-soft:#f0f9ff;--color-high:#ea580c;--color-high-soft:#fff3eb;--color-accent-text:#9a6007;--color-success-text:#11813b;--color-warning-text:#9a6007;--color-error-text:#d82323;--color-info-text:#0275b0;--color-high-text:#c1480a;--color-primary-text:var(--color-primary);--color-primary-strong:var(--color-primary);--chart-1:#2f7a56;--chart-2:#2563eb;--chart-3:#7c3aed;--chart-4:#0891b2;--chart-5:#d97706;--chart-6:#db2777;--chart-7:#6366f1;--chart-8:#6b7280;--shadow-sm:0 1px 3px #1a332814;--shadow-md:0 4px 8px -1px #1a33281a, 0 2px 4px -2px #1a33280f;--shadow-lg:0 12px 20px -4px #1a33281f, 0 4px 8px -4px #1a33280f;--shadow-xl:0 24px 32px -6px #1a332824, 0 10px 14px -6px #1a33280f;--ring-color:var(--color-primary);--ring:0 0 0 3px var(--ring-color);--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;--font-body:var(--font-inter), "Inter", "Segoe UI", system-ui, sans-serif;--font-display:var(--font-space-grotesk), var(--font-inter), "Segoe UI", system-ui, sans-serif;--font-mono:var(--font-chivo-mono), "JetBrains Mono", "Consolas", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.05em;--tracking-wider:.08em;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--z-sticky:1;--z-section-nav:40;--z-menu:45;--z-banner:90;--z-nav-panel:99;--z-header:100;--z-backdrop:200;--z-drawer:210;--z-modal:300;--z-toast:400;--z-skip-link:1000;--header-h:64px;--section-nav-h:46px;--header-bg:var(--color-surface-0);--color-danger-solid:#c81e1e;--gradient-brand:linear-gradient(135deg, #1a3328 0%, #245840 50%, #3d9a6c 100%);--gradient-hero:linear-gradient(180deg, #2f7a560f 0%, transparent 60%);--gradient-shimmer:linear-gradient(90deg, transparent, #fff6, transparent);--glow-primary:0 0 20px #2f7a5626;--glow-error:0 0 20px #dc26264d;--glow-info:0 0 20px #0284c74d;--glass-bg:#fffc;--glass-border:#1a332814;--glass-blur:blur(12px)}:root[data-theme=dark]{--color-bg:#111113;--color-surface-0:#1a1a1e;--color-surface-1:#232328;--color-surface-2:#2e2e35;--color-text-primary:#ececef;--color-text-secondary:#b9b9c2;--color-text-tertiary:#9696a1;--color-text-inverse:#fafafc;--color-border:#2e2e35;--color-border-strong:#3d3d46;--color-primary:#3d9a6c;--color-primary-hover:#68b88e;--color-primary-soft:#3d9a6c24;--color-primary-muted:#3d9a6c47;--color-secondary:#245840;--color-secondary-hover:#2f7a56;--color-accent:#e8930c;--color-accent-hover:#f5a623;--color-accent-soft:#e8930c24;--color-accent-contrast:#111113;--color-success:#2ecc71;--color-success-soft:#2ecc711f;--color-warning:#f39c12;--color-warning-soft:#f39c121f;--color-error:#e74c3c;--color-error-soft:#e74c3c1f;--color-info:#38bdf8;--color-info-soft:#38bdf81f;--color-high:#fb923c;--color-high-soft:#fb923c24;--color-accent-text:var(--color-accent);--color-success-text:var(--color-success);--color-warning-text:var(--color-warning);--color-error-text:#ec6e61;--color-danger-solid:#c23b2e;--color-info-text:var(--color-info);--color-high-text:var(--color-high);--color-primary-text:#48b680;--color-primary-strong:var(--color-secondary-hover);--chart-1:#3d9a6c;--chart-2:#60a5fa;--chart-3:#a78bfa;--chart-4:#22d3ee;--chart-5:#fbbf24;--chart-6:#f472b6;--chart-7:#818cf8;--chart-8:#9ca3af;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 8px -1px #00000073, 0 2px 4px -2px #0000004d;--shadow-lg:0 12px 20px -4px #00000080, 0 4px 8px -4px #00000059;--shadow-xl:0 24px 32px -6px #0009, 0 10px 14px -6px #0006;--ring-color:var(--color-primary);--gradient-brand:linear-gradient(135deg, #1a3328 0%, #245840 50%, #3d9a6c 100%);--gradient-hero:linear-gradient(180deg, #3d9a6c29 0%, transparent 60%);--gradient-shimmer:linear-gradient(90deg, transparent, #ffffff14, transparent);--glow-primary:0 0 30px #3d9a6c40;--glow-error:0 0 30px #e74c3c66;--glow-info:0 0 30px #38bdf866;--glass-bg:#1a1a1ed9;--glass-border:#ececef0f;--glass-blur:blur(16px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg);transition:background-color var(--transition-slow), color var(--transition-slow)}input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}p a:not(.btn),.legal-body li a,.text-secondary a:not(.btn),.form-hint a{text-underline-offset:2px;text-decoration:underline}img,svg{max-width:100%;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.animate-fade-in-up{animation:.5s ease-out forwards fadeInUp}.animate-fade-in-down{animation:.5s ease-out forwards fadeInDown}.animate-slide-in-right{animation:.4s ease-out forwards slideInRight}.animate-scale-in{animation:.3s ease-out forwards scaleIn}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.skip-to-content{top:-100px;left:var(--space-4);z-index:var(--z-skip-link);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);transition:top var(--transition-fast);font-weight:600;position:absolute}.skip-to-content:focus{top:var(--space-4);color:var(--color-text-inverse)}.site-header{z-index:var(--z-header);height:var(--header-h);background:var(--header-bg);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-slow), border-color var(--transition-slow), box-shadow var(--transition-slow);position:sticky;top:0}.header-inner{max-width:1200px;height:100%;padding:0 var(--space-6);align-items:center;gap:var(--space-6);margin:0 auto;display:flex}.consent-banner{bottom:var(--space-4);z-index:var(--z-banner);align-items:center;gap:var(--space-4);max-width:720px;width:calc(100% - var(--space-8));padding:var(--space-4) var(--space-5);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;position:fixed;left:50%;transform:translate(-50%)}.consent-banner-text{font-size:var(--text-sm);color:var(--color-text-secondary);flex:1;margin:0}.consent-banner-actions{gap:var(--space-2);flex-shrink:0;display:flex}@media (max-width:640px){.consent-banner{text-align:center;flex-direction:column;align-items:stretch}}.legal-body h2{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-2)}.legal-body h2:first-child{margin-top:0}.legal-body p,.legal-body li{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.legal-body ul{padding-left:var(--space-6);margin:var(--space-2) 0 var(--space-4)}.legal-body p{margin-bottom:var(--space-3)}.header-brand{align-items:center;gap:var(--space-3);color:var(--color-text-primary);flex-shrink:0;text-decoration:none;display:flex}.header-brand:hover{color:var(--color-text-primary)}.header-logo{border-radius:var(--radius-lg);background:var(--color-secondary);width:32px;height:32px;color:var(--color-success);font-weight:700;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);justify-content:center;align-items:center;display:inline-flex}.header-logo-mark{width:auto;height:32px;display:block}[data-theme=dark] .logo-when-light,:root:not([data-theme=dark]) .logo-when-dark{display:none}.header-brand-text{font-weight:600;font-size:var(--text-base);letter-spacing:var(--tracking-tight)}.header-actions{align-items:center;gap:var(--space-3);flex-shrink:0;margin-left:auto;display:flex}.nav{align-items:center;gap:var(--space-1);display:flex}.nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--transition-fast), background-color var(--transition-fast);white-space:nowrap;align-items:center;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.nav-link:after{content:"";background:var(--color-primary);width:0;height:2px;transition:width var(--transition-normal), left var(--transition-normal);border-radius:1px;position:absolute;bottom:0;left:50%}.nav-link:hover{color:var(--color-text-primary);background:var(--color-surface-1)}.nav-link:hover:after{width:50%;left:25%}.nav-link[data-active=true]{color:var(--color-primary-text);background:var(--color-primary-soft)}.nav-link[data-active=true]:after{width:70%;left:15%}.nav-link-cta{color:var(--color-primary);font-weight:600}.mobile-menu-toggle{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;flex-shrink:0;display:none;position:relative}.mobile-menu-bar{width:18px;height:2px;transition:transform var(--transition-fast), opacity var(--transition-fast);background:currentColor;border-radius:1px;display:block;position:absolute;left:50%;transform:translate(-50%)}.mobile-menu-bar:first-child{top:12px}.mobile-menu-bar:nth-child(2){top:17px}.mobile-menu-bar:nth-child(3){top:22px}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-bar:first-child{top:17px;transform:translate(-50%)rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-bar:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-bar:nth-child(3){top:17px;transform:translate(-50%)rotate(-45deg)}.main-content{min-height:calc(100vh - var(--header-h));min-width:0;padding-top:var(--space-8);padding-bottom:var(--space-16);overflow-x:clip}.page-container{max-width:1200px;padding:0 var(--space-6);margin:0 auto}.page-header{margin-bottom:var(--space-8)}.page-header-title{font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);margin-bottom:var(--space-1)}.page-header-description{font-size:var(--text-base);color:var(--color-text-secondary);max-width:60ch}.card{background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:background-color var(--transition-slow), border-color var(--transition-slow), box-shadow var(--transition-normal), transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-sm{background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:background-color var(--transition-slow), border-color var(--transition-slow)}.card-interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.card-title{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-tight);margin-bottom:var(--space-1)}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);height:36px;font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;color:var(--color-text-primary);background:var(--color-surface-0);border:1px solid #0000;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn-primary,.btn-primary:hover{color:var(--color-text-inverse)}.btn-primary{background:var(--color-primary);border-color:#0000}.btn-primary:hover{background:color-mix(in srgb, var(--color-primary) 88%, black)}:root[data-theme=dark] .btn-primary{background:var(--color-secondary-hover)}:root[data-theme=dark] .btn-primary:hover{background:color-mix(in srgb, var(--color-secondary-hover) 88%, black)}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .btn-primary:hover{color:var(--color-text-inverse)}.btn.btn-primary:focus-visible{box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-primary)}.btn-accent{background:var(--color-accent);color:var(--color-accent-contrast);border-color:#0000;font-weight:600}.btn-accent:hover{background:var(--color-accent-hover);color:var(--color-accent-contrast)}.btn-secondary{background:var(--color-surface-0);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface-1);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-surface-1);color:var(--color-text-primary)}.btn-danger{background:var(--color-danger-solid);color:var(--color-text-inverse);border-color:var(--color-danger-solid)}.btn-danger:hover{background:color-mix(in srgb, var(--color-danger-solid) 85%, black);border-color:color-mix(in srgb, var(--color-danger-solid) 85%, black)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}.btn-primary[aria-disabled=true]:hover{background:var(--color-primary)}:root[data-theme=dark] .btn-primary[aria-disabled=true]:hover{background:var(--color-secondary-hover)}.btn-accent[aria-disabled=true]:hover{background:var(--color-accent)}.btn-secondary[aria-disabled=true]:hover{background:var(--color-surface-0);border-color:var(--color-border)}.btn-ghost[aria-disabled=true]:hover{color:var(--color-text-secondary);background:0 0}.btn-danger[aria-disabled=true]:hover{background:var(--color-danger-solid);border-color:var(--color-danger-solid)}.btn-lg{height:44px;padding:var(--space-3) var(--space-6);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-sm{height:28px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}@media (pointer:coarse){.btn{min-height:44px}.btn-sm{height:auto;min-height:40px}.tag-chip-remove{min-width:24px;min-height:24px}}.btn-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.table-container{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(to right, var(--color-surface-0) 30%, transparent), linear-gradient(to right, transparent, var(--color-surface-0) 70%) 100% 0, radial-gradient(farthest-side at 0 50%, #00000029, transparent), radial-gradient(farthest-side at 100% 50%, #00000029, transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table thead{background:var(--color-surface-1)}.table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-primary)}.table-container .table thead th{z-index:var(--z-sticky);background:var(--color-surface-1);box-shadow:inset 0 -1px 0 var(--color-border);border-bottom:none;position:sticky;top:0}.table-container-scroll{max-height:70vh;overflow-y:auto}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background:var(--color-surface-1)}.table-row-link{cursor:pointer}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;font-weight:500;line-height:1.4;display:inline-flex}.badge:before{content:"";border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px;display:inline-block}.badge-success{background:var(--color-success-soft);color:var(--color-success-text)}.badge-success:before{background:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.badge-warning:before{background:var(--color-warning)}.badge-error{background:var(--color-error-soft);color:var(--color-error-text)}.badge-error:before{background:var(--color-error)}.badge-high{background:var(--color-high-soft);color:var(--color-high-text)}.badge-high:before{background:var(--color-high)}.badge-critical{background:var(--color-error-soft);color:var(--color-error-text);font-weight:700}.badge-critical:before{background:var(--color-error)}.badge-info{background:var(--color-info-soft);color:var(--color-info-text)}.badge-info:before{background:var(--color-info)}.badge-neutral{background:var(--color-surface-2);color:var(--color-text-secondary)}.badge-neutral:before{background:var(--color-text-tertiary)}.form-group{margin-bottom:var(--space-4)}.form-label{margin-bottom:var(--space-1);font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500;display:block}.form-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary);display:block}.form-input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],input[type=url],input[type=tel],select,textarea{width:100%;height:36px;padding:0 var(--space-3);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);display:block}textarea{height:auto;padding:var(--space-2) var(--space-3);resize:vertical}.form-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:var(--ring);outline:none}.form-checkbox{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.form-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0}.form-checkbox span{font-size:var(--text-sm);color:var(--color-text-secondary)}a:focus-visible,select:focus-visible,input[type=checkbox]:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (forced-colors:active){:focus-visible,.btn:focus-visible{outline-offset:2px;outline:2px solid canvastext}}.form-error{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-error-text);display:block}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error)}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-soft)}.password-checklist{margin:var(--space-2) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.password-checklist li{font-size:var(--text-xs);color:var(--color-text-tertiary);align-items:center;gap:var(--space-1);display:flex}.password-checklist li.ok{color:var(--color-success-text)}.modal-backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--space-4);background:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-panel{background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:85vh;padding:var(--space-6);animation:.2s cubic-bezier(.16,1,.3,1) modalIn;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.modal-title{font-size:var(--text-lg);margin:0;font-weight:600}.drop-zone{justify-content:center;align-items:center;gap:var(--space-3);border:2px dashed var(--color-border-strong);border-radius:var(--radius-xl);min-height:180px;padding:var(--space-8) var(--space-6);text-align:center;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-normal), transform var(--transition-fast);background:var(--color-surface-0);flex-direction:column;display:flex;position:relative}.drop-zone:hover{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-2px)}.drop-zone[data-drag-over=true]{border-color:var(--color-primary);background:var(--color-primary-muted);box-shadow:var(--glow-primary), var(--shadow-lg);border-style:solid;transform:scale(1.01)}.drop-zone-icon{font-size:var(--text-3xl);color:var(--color-text-tertiary);line-height:1}.drop-zone-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.drop-zone-text strong{color:var(--color-primary);font-weight:600}.drop-zone-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.drop-zone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-info{align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-1);display:flex}.file-info-name{font-weight:600;font-size:var(--text-sm);margin:0}.file-info-size{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0}.file-info-remove{color:var(--color-text-tertiary);cursor:pointer;font-size:var(--text-lg);background:0 0;border:none;width:auto;height:auto;margin-left:auto;padding:0;line-height:1}.file-info-remove:hover{color:var(--color-error-text);box-shadow:none;background:0 0;transform:none}.progress{border-radius:var(--radius-full);background:var(--color-surface-2);height:8px;overflow:hidden}.progress-bar{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-indeterminate .progress-bar{width:33%;animation:1.4s ease-in-out infinite progressSlide}@keyframes progressSlide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}.progress-indeterminate .progress-bar{opacity:.45;width:100%;animation:none}}.skeleton{background:var(--color-surface-2);border-radius:var(--radius-md);animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-text-lg{height:24px;margin-bottom:var(--space-3)}.skeleton-block{border-radius:var(--radius-lg);height:80px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.empty-state{padding:var(--space-12) var(--space-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{border-radius:var(--radius-xl);background:var(--color-surface-1);width:48px;height:48px;color:var(--color-text-tertiary);font-size:var(--text-xl);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.empty-state-title{font-size:var(--text-base);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:600}.empty-state-description{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:40ch;margin-bottom:var(--space-4)}.breadcrumbs{align-items:center;gap:var(--space-1);min-width:0;margin-bottom:var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.breadcrumb-item,.breadcrumb-link{color:var(--color-text-secondary);text-decoration:none}.breadcrumb-item:hover,.breadcrumb-link:hover{color:var(--color-primary)}.breadcrumb-separator,.breadcrumb-sep{color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;margin:0 var(--space-1)}.breadcrumb-current{color:var(--color-text-primary);overflow-wrap:anywhere;min-width:0;font-weight:500}.toast-container{bottom:calc(var(--space-6) + var(--consent-banner-h,0px));right:var(--space-6);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column-reverse;display:flex;position:fixed}.toast{pointer-events:auto;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;max-width:400px;animation:toast-in var(--transition-slow) ease both;display:flex}.toast-leaving{animation:toast-out var(--transition-normal) ease both}.toast-icon{width:20px;height:20px;font-size:var(--text-base);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.toast-success .toast-icon{color:var(--color-success-text)}.toast-error .toast-icon{color:var(--color-error-text)}.toast-warning .toast-icon{color:var(--color-warning-text)}.toast-info .toast-icon{color:var(--color-info-text)}.toast-body{flex:1;min-width:0}.toast-title{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.toast-message{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px}.toast-dismiss{width:20px;height:20px;color:var(--color-text-tertiary);cursor:pointer;font-size:var(--text-lg);background:0 0;border:none;flex-shrink:0;padding:0;line-height:1}.toast-dismiss:hover{color:var(--color-text-primary);box-shadow:none;background:0 0;transform:none}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.97)}}.pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-6);display:flex}.pagination-info{font-size:var(--text-sm);color:var(--color-text-secondary);padding:0 var(--space-2)}.tabs{box-shadow:inset 0 -1px 0 var(--color-border);margin-bottom:var(--space-6);overscroll-behavior-x:contain;scrollbar-width:none;gap:0;max-width:100%;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;flex:none;font-weight:500}.tab:hover{color:var(--color-text-primary);box-shadow:none;background:0 0;transform:none}.tab[data-active=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.divider{background:var(--color-border);height:1px;margin:var(--space-6) 0;border:none}.theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-base);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:var(--color-surface-1);color:var(--color-text-primary);border-color:var(--color-border-strong);box-shadow:none;transform:none}.theme-toggle:focus-visible{box-shadow:var(--ring);outline:none}.user-menu{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-primary);background:var(--color-surface-0);transition:border-color var(--transition-fast), background-color var(--transition-fast);text-decoration:none;display:inline-flex}.user-menu:hover{background:var(--color-surface-1);border-color:var(--color-border-strong);color:var(--color-text-primary)}.user-avatar,.user-badge{border-radius:var(--radius-full);background:var(--color-primary);width:32px;height:32px;color:var(--color-text-inverse);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.user-label{font-size:var(--text-sm);color:var(--color-text-primary);padding-right:var(--space-1);font-weight:600}.user-signin{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500;text-decoration:none}.user-signin:hover{color:var(--color-primary)}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface-0);margin-top:var(--space-10)}.legal-footnote{align-items:center;gap:var(--space-3);padding-top:var(--space-4);padding-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-relaxed);flex-wrap:wrap;display:flex}.legal-footnote span{max-width:760px;margin-right:auto}.legal-footnote a{color:var(--color-text-secondary);text-underline-offset:2px;text-decoration:underline}.legal-footnote a:hover{color:var(--color-primary)}.hero{padding-top:var(--space-16);padding-bottom:var(--space-16);text-align:center;background:var(--gradient-hero);position:relative;overflow:hidden}.hero-bg-shapes{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-shape{opacity:.09;filter:blur(60px);border-radius:50%;position:absolute}.hero-shape-1{background:var(--color-primary);width:400px;height:400px;animation:8s ease-in-out infinite float;top:-100px;left:-100px}.hero-shape-2{background:var(--color-secondary);width:300px;height:300px;animation:10s ease-in-out infinite reverse float;top:50%;right:-50px}.hero-shape-3{background:var(--color-info);width:200px;height:200px;animation:12s ease-in-out infinite float;bottom:-50px;left:30%}.hero-content{text-align:center;max-width:750px;margin:0 auto var(--space-10);position:relative}.hero-badge{padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-text);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-6);border:1px solid var(--color-primary-muted);font-weight:600;display:inline-block}.feature-row{gap:var(--space-12);grid-template-columns:1fr 1fr;align-items:center;display:grid}.feature-row--flip .feature-visual{order:-1}.feature-visual{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);justify-content:center;align-items:center;min-height:220px;display:flex}@media (max-width:768px){.feature-row{gap:var(--space-6);grid-template-columns:1fr}.feature-row--flip .feature-visual{order:0}.feature-visual{min-height:180px;padding:var(--space-5)}}.hero-title{letter-spacing:-.03em;margin-bottom:var(--space-6);color:var(--color-text-primary);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}.hero-title-gradient{background:var(--gradient-brand);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradientShift}:root[data-theme=dark] .hero-title-gradient{background:linear-gradient(135deg,#3d9a6c 0%,#68b88e 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text}.hero-description{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-relaxed);max-width:55ch;margin:0 auto var(--space-6);font-weight:500}.hero-stats{justify-content:center;gap:var(--space-10);margin-bottom:var(--space-10);padding:var(--space-6) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex}.hero-stat{text-align:center}.hero-stat-value{font-size:var(--text-2xl);color:var(--color-text-primary);font-weight:700;display:block}.hero-stat-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1);font-weight:600;display:block}.feature-icon{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-1);min-width:48px;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-3);color:var(--color-text-primary);justify-content:center;align-items:center;padding:4px 10px;font-weight:700;line-height:1;display:inline-flex}.hero-feature-description{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}:root[data-theme=dark] .hero-feature-description{color:#c4cdd7}:root[data-theme=dark] .hero-description{color:#dee5ef}:root[data-theme=dark] .hero-stat-label{color:#d4dce7}:root[data-theme=dark] .page-header-description{color:#d4dbe6}.pricing-shell{gap:var(--space-6);display:grid}.pricing-hero{background:radial-gradient(120% 140% at 4% 8%, #34d3991a 0%, #34d39900 52%), radial-gradient(110% 130% at 96% 2%, #06b6d417 0%, #06b6d400 56%), var(--color-surface-0);border-color:color-mix(in oklab, var(--color-primary) 22%, var(--color-border))}.pricing-hero-points{margin-top:var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.pricing-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr);align-items:start;max-width:1200px;margin:0 auto;display:grid}@media (min-width:641px){.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pricing-grid>.pricing-card{grid-column:span 2}.pricing-grid>.pricing-card:nth-child(5){grid-column:2/span 2}}@media (min-width:1040px){.pricing-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.pricing-grid>.pricing-card:nth-child(4){grid-column:2/span 2}.pricing-grid>.pricing-card:nth-child(5){grid-column:4/span 2}}.pricing-card{text-align:left;padding:var(--space-8);min-height:100%;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);flex-direction:column;display:flex}.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.pricing-card-featured{border-color:var(--color-primary);box-shadow:var(--glow-primary);border-width:2px;position:relative}.pricing-card-featured:hover{box-shadow:var(--glow-primary), var(--shadow-xl);transform:translateY(-6px)scale(1.02)}.pricing-badge{padding:var(--space-1) var(--space-3);background:var(--color-primary-strong);color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);white-space:nowrap;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-tier{font-size:var(--text-lg);margin-bottom:var(--space-2);font-weight:600}.pricing-tier-label{border-radius:var(--radius-full);width:fit-content;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-secondary);border:1px solid var(--color-border);margin-bottom:var(--space-3);padding:2px 10px;display:inline-flex}.pricing-amount{font-size:var(--text-3xl);font-weight:700}.pricing-price{font-size:var(--text-2xl);margin-bottom:var(--space-4);font-weight:700}.pricing-period{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1);display:block}.pricing-features{text-align:left;margin-bottom:var(--space-6);flex:1;padding:0;list-style:none}.pricing-features li{padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.pricing-features li:last-child{border-bottom:none}.scan-header{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-5) var(--space-6);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.scan-header-main{flex:320px;min-width:0}.scan-header-title{font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;margin-bottom:var(--space-2)}.scan-header-meta{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.scan-header-score{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.scan-score-readout{align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex}.scan-score-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary);font-weight:600}.scan-score-value{font-size:var(--text-4xl);font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-weight:700;line-height:1}.scan-score-value small{font-size:var(--text-sm);color:var(--color-text-secondary);margin-left:2px;font-weight:500}.scan-score-pending{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:120px;display:flex}.scan-score-pending .scan-score-value{color:var(--color-text-tertiary)}.scan-actions{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.scan-actions-spacer{flex:auto}.scan-meta-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.scan-section{scroll-margin-top:calc(var(--header-h) + var(--section-nav-h) + var(--space-4));margin-bottom:var(--space-10)}.scan-section-title{font-size:var(--text-xl);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.section-nav{top:var(--header-h);z-index:var(--z-section-nav);gap:var(--space-1);scrollbar-width:none;margin:0 0 var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;position:sticky;overflow:auto hidden}.section-nav::-webkit-scrollbar{display:none}.section-nav a{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500}.section-nav a:hover{color:var(--color-text-primary)}.section-nav a[aria-current=location]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.summary-strip{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.summary-strip-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary);margin-bottom:var(--space-3);font-weight:600}.stat-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.fix-first-list{gap:var(--space-2);list-style:none;display:grid}.fix-first-item{align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.fix-first-rank{width:20px;font-size:var(--text-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.fix-first-name{min-width:0;font-size:var(--text-sm);color:var(--color-text-primary);flex:1;font-weight:600}.fix-first-meta{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:400;display:block}.fix-first-count{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-primary);flex-shrink:0;font-weight:700}.scan-progress{gap:var(--space-2);display:grid}.scan-progress-head{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);display:flex}.disclosure{background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.disclosure>summary{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);font-family:var(--font-display);font-size:var(--text-lg);cursor:pointer;font-weight:600;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:"";border-right:2px solid var(--color-text-secondary);border-bottom:2px solid var(--color-text-secondary);width:8px;height:8px;transition:transform var(--transition-fast);flex-shrink:0;transform:rotate(45deg)}.disclosure[open]>summary:after{transform:rotate(-135deg)}.disclosure-body{gap:var(--space-6);padding:0 var(--space-6) var(--space-6);display:grid}.disclosure-body h4{margin-bottom:var(--space-2)}.kv-table th{text-transform:none;letter-spacing:normal;width:40%;font-size:var(--text-sm);font-weight:500}.heatmap-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.heatmap-tile{width:100%;padding:var(--space-4);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg);border-left:4px solid var(--tile-accent,var(--color-primary));font:inherit;color:inherit;text-align:left;display:block}button.heatmap-tile{cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}button.heatmap-tile:hover{border-color:var(--color-border-strong);border-left-color:var(--tile-accent,var(--color-primary));box-shadow:var(--shadow-md)}button.heatmap-tile:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button.heatmap-tile[aria-pressed=true]{background:var(--color-primary-soft)}.heatmap-tile-header{justify-content:space-between;align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-2);display:flex}.heatmap-tile-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.heatmap-tile-stat{font-size:var(--text-sm);color:var(--color-text-secondary);justify-content:space-between;padding:2px 0;display:flex}.heatmap-tile-stat span:last-child{color:var(--color-text-primary);font-weight:600;font-family:var(--font-mono)}.explain-card{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);background:var(--color-surface-1)}.explain-card p{margin:0 0 var(--space-1);font-size:var(--text-sm)}.explain-card p:last-child{margin-bottom:0}.stat-card{background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary);margin-bottom:var(--space-1);font-weight:600;font-family:var(--font-mono)}.stat-value{font-size:var(--text-xl);font-weight:700;line-height:var(--leading-tight);color:var(--color-text-primary)}.stat-note{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.code-block{margin-top:var(--space-3);background:var(--color-secondary);color:var(--color-text-inverse);border-radius:var(--radius-lg);padding:var(--space-3);max-height:320px;font-size:var(--text-xs);font-family:var(--font-mono);overflow:auto}:root[data-theme=dark] .code-block{background:var(--color-bg);color:var(--color-text-primary)}.filter-row{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.filter-row select{width:auto;min-width:120px}.filter-input{flex:160px;min-width:0;max-width:280px}@media (max-width:640px){.filter-row select,.filter-input{flex:100%;max-width:none}}.filter-row label{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0;font-weight:500}.ops-list{gap:var(--space-3);display:grid}.ops-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-1);padding:var(--space-3) var(--space-4)}.ops-item-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.grid{gap:var(--space-4);display:grid}.grid>*{min-width:0}.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.col-span-full{grid-column:1/-1}.col-span-2{grid-column:span 2}.flex-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.flex-between{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.font-mono{font-family:var(--font-mono)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in,.stagger>*{animation:.3s both fade-in-up}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}@media (max-width:1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){:root{--header-h:56px;--section-nav-h:40px}.header-inner{gap:var(--space-2);padding:0 var(--space-4)}.header-actions{gap:var(--space-2)}.mobile-menu-toggle{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.mobile-menu-bar:first-child{top:16px}.mobile-menu-bar:nth-child(2),.mobile-menu-toggle[aria-expanded=true] .mobile-menu-bar:first-child,.mobile-menu-toggle[aria-expanded=true] .mobile-menu-bar:nth-child(3){top:21px}.mobile-menu-bar:nth-child(3){top:26px}.theme-toggle{width:44px;height:44px}.user-menu{min-height:44px}.user-signin{min-height:44px;padding:0 var(--space-2);align-items:center;display:inline-flex}.nav{top:var(--header-h);background:var(--color-surface-0);padding:var(--space-4);gap:var(--space-1);border-top:1px solid var(--color-border);visibility:hidden;transition:transform var(--transition-slow), visibility 0s linear var(--transition-slow);z-index:var(--z-nav-panel);flex-direction:column;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translate(100%)}.nav[data-open=true]{visibility:visible;transition:transform var(--transition-slow), visibility 0s;transform:translate(0)}.nav-link{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);font-size:var(--text-base);border-radius:var(--radius-lg)}.section-nav a{min-height:var(--section-nav-h);padding:0 var(--space-3);align-items:center;display:inline-flex}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.col-span-2{grid-column:span 1}.hero-title{font-size:var(--text-3xl)}.hero-stats{gap:var(--space-4);flex-direction:column}.scan-header{padding:var(--space-4)}.summary-strip{grid-template-columns:1fr}}@media (max-width:640px){.page-container{padding:0 var(--space-4)}.main-content{padding-top:var(--space-6);padding-bottom:var(--space-12)}.card{padding:var(--space-4);border-radius:var(--radius-lg)}.btn-row{flex-direction:column}.btn-row .btn{width:100%}.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{min-width:0;max-width:none}.legal-footnote{align-items:stretch;gap:0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.legal-footnote span{margin-right:0;margin-bottom:var(--space-2);grid-column:1/-1}.legal-footnote a{overflow-wrap:anywhere;align-items:center;min-height:44px;display:flex}.legal-footnote a[href^=mailto\:]{grid-column:1/-1}.user-label{display:none}}.suggestions-list{gap:var(--space-3);flex-direction:column;display:flex}.suggestion-item{padding:var(--space-3) var(--space-4);background:var(--color-surface-1);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.6}.suggestion-item p{margin:0 0 var(--space-1) 0}.suggestion-item p:last-child{margin-bottom:0}.suggestion-item strong{color:var(--color-text-primary)}.suggestion-item em{color:var(--color-text-secondary);font-style:italic}.suggestion-item code{font-family:var(--font-mono);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);padding:1px 5px;font-size:.85em}.pii-alert-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-error-soft);border:1px solid var(--color-error);border-left:4px solid var(--color-error);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.pii-alert-icon{border-radius:var(--radius-full);background:var(--color-error-soft);width:24px;height:24px;color:var(--color-error-text);font-weight:700;font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tag-chip{align-items:center;gap:var(--space-1);padding:2px var(--space-2);background:var(--color-primary-soft);color:var(--color-primary-text);border:1px solid var(--color-primary-muted);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;display:inline-flex}.tag-chip-remove{color:var(--color-primary);cursor:pointer;font-size:var(--text-sm);opacity:.6;background:0 0;border:none;width:auto;height:auto;margin-left:2px;padding:0;line-height:1}.tag-chip-remove:hover{opacity:1;color:var(--color-error-text);box-shadow:none;background:0 0;transform:none}.vba-module-card{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast)}.vba-module-card:hover{border-color:var(--color-border-strong)}.ai-summary-content h1,.ai-summary-content h2,.ai-summary-content h3,.ai-summary-content h4{margin-top:var(--space-3);margin-bottom:var(--space-2);font-weight:600}.ai-summary-content h3{font-size:var(--text-base)}.ai-summary-content h4{font-size:var(--text-sm)}.ai-summary-content p{margin-bottom:var(--space-2)}.ai-summary-content ul,.ai-summary-content ol{margin:var(--space-2) 0;padding-left:var(--space-5)}.ai-summary-content li{margin-bottom:var(--space-1);font-size:var(--text-sm)}.ai-summary-content code{font-family:var(--font-mono);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);padding:1px 5px;font-size:.85em}.ai-summary-content pre{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-xs);margin:var(--space-2) 0;overflow-x:auto}.ai-summary-content pre code{background:0 0;border:none;padding:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.text-primary{color:var(--color-primary)}.hover\:underline:hover{text-decoration:underline}.tabular-nums{font-variant-numeric:tabular-nums}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-1);color:var(--color-text-primary);font-size:var(--text-xs);white-space:nowrap;font-weight:500;line-height:1.4;display:inline-flex}.chip-muted{color:var(--color-text-secondary);background:0 0}.chip-count{font-variant-numeric:tabular-nums;font-weight:700}.chip-low,.chip-moderate,.chip-high,.chip-critical{border-color:color-mix(in srgb, var(--chip-accent) 45%, var(--color-border));background:color-mix(in srgb, var(--chip-accent) 10%, var(--color-surface-0))}.chip-low:before,.chip-moderate:before,.chip-high:before,.chip-critical:before{content:"";border-radius:var(--radius-full);background:var(--chip-accent);flex-shrink:0;width:8px;height:8px}.chip-low{--chip-accent:var(--color-success)}.chip-moderate{--chip-accent:var(--color-warning)}.chip-high{--chip-accent:var(--color-high)}.chip-critical{--chip-accent:var(--color-error);font-weight:700}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-left:3px solid var(--alert-accent,var(--color-info));border-radius:var(--radius-md);background:var(--alert-bg,var(--color-info-soft));color:var(--color-text-primary);font-size:var(--text-sm);display:flex}.alert-body{flex:1;min-width:0}.alert-title{font-weight:600;display:block}.alert-warning{--alert-accent:var(--color-warning);--alert-bg:var(--color-warning-soft)}.alert-success{--alert-accent:var(--color-success);--alert-bg:var(--color-success-soft)}.alert-error{--alert-accent:var(--color-error);--alert-bg:var(--color-error-soft)}.menu{display:inline-flex;position:relative}.menu-popover{z-index:var(--z-menu);min-width:220px;padding:var(--space-1);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 4px);left:0}.menu-popover-end{left:auto;right:0}.menu-item{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-primary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--color-surface-1);outline:none}.menu-item:focus-visible{box-shadow:var(--ring)}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item-hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.subnav{gap:var(--space-1);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.subnav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500}.subnav-link:hover{color:var(--color-text-primary)}.subnav-link[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.kpi-card{gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}.kpi-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);color:var(--color-text-primary)}.kpi-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kpi-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary);font-weight:600}.kpi-value{align-items:baseline;gap:var(--space-2);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1;display:flex}.kpi-cta{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-primary)}.refresh-bar{height:3px;margin-bottom:var(--space-3);visibility:hidden}.refresh-bar[data-active=true]{visibility:visible}.is-refreshing{opacity:.65;transition:opacity var(--transition-normal)}.bar-chart{height:120px;margin-top:var(--space-1);align-items:flex-end;gap:2px;display:flex}.bar-chart-bar{background:var(--color-primary);opacity:.8;min-width:3px;transition:opacity var(--transition-fast);border-radius:2px 2px 0 0;flex:1}.bar-chart-bar:hover{opacity:1}.bar-chart-meta{font-size:var(--text-xs);color:var(--color-text-secondary);justify-content:space-between;display:flex}.trend-chart{column-gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:auto 1fr;display:grid}.trend-axis{width:28px;height:120px;font-size:var(--text-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;position:relative}.trend-axis span{line-height:1;position:absolute;right:0;transform:translateY(50%)}.trend-plot{border-bottom:1px solid var(--color-border-strong);align-items:flex-end;gap:2px;height:120px;display:flex;position:relative}.trend-gridline{border-top:1px dashed var(--color-border);pointer-events:none;position:absolute;left:0;right:0}.trend-bar{opacity:.85;border-radius:2px 2px 0 0;flex:1;min-width:3px;position:relative}.trend-x{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary);grid-column:2;justify-content:space-between;display:flex}.th-sort{align-items:center;gap:var(--space-1);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.th-sort:hover{color:var(--color-text-primary)}.th-sort:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.legend{gap:var(--space-3);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:var(--space-1);display:inline-flex}.legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.code-inline-block{white-space:pre-wrap;font-family:var(--font-mono);font-size:var(--text-xs);display:block}.suggestion-card{padding:var(--space-3);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.chip-list{gap:var(--space-1);flex-wrap:wrap;display:flex}@media (min-width:769px) and (max-width:960px){.header-inner{gap:var(--space-3)}.nav-link{padding:var(--space-2)}}.chip-low .text-tertiary,.chip-moderate .text-tertiary,.chip-high .text-tertiary,.chip-critical .text-tertiary{color:var(--color-text-secondary)}.table-container:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.filename-wrap{overflow-wrap:anywhere;min-width:0}.filename-truncate{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:min(100%,36ch);display:inline-block;overflow:hidden}.filter-field{flex-direction:column;gap:2px;min-width:0;display:flex}.filter-field-label{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.filter-row.filter-row--labeled{align-items:flex-end}@media (max-width:640px){.filter-field{flex:100%}.filter-field .filter-input{width:100%;max-width:none}}@media (hover:none),(pointer:coarse){.kbd-hint{display:none}}.stack-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.stack-card{gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4);background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid}.stack-card[data-selected=true]{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface-0))}.stack-card-head{align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.stack-card-check{width:44px;height:44px;margin:calc(var(--space-2) * -1) 0 calc(var(--space-2) * -1) calc(var(--space-3) * -1);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stack-card-check input{width:18px;height:18px;accent-color:var(--color-primary)}.stack-card-title{min-width:0;color:var(--color-text-primary);overflow-wrap:anywhere;flex:1;font-weight:600;text-decoration:none}.stack-card-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.stack-card-reason{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--color-error-text);margin:0;overflow:hidden}.stack-card-text{font-size:var(--text-sm);color:var(--color-text-primary);overflow-wrap:anywhere;margin:0}.stack-card-foot{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.stack-card .btn{min-height:44px}.stack-card--clickable{cursor:pointer}.scan-fail-reason{text-overflow:ellipsis;white-space:nowrap;max-width:36ch;font-size:var(--text-xs);color:var(--color-error-text);display:block;overflow:hidden}
@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-subtle{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.animate-slide-up{animation:.5s ease-out forwards slideUp}.animate-pulse-subtle{animation:2s ease-in-out infinite pulse-subtle}.split-layout{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (min-width:1024px){.split-layout{gap:var(--space-8);grid-template-columns:350px 1fr}}.panel-sticky{top:var(--space-6);height:fit-content;position:sticky}.dash-card{background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.dash-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.risk-gauge-container{justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;width:200px;margin:0 auto;display:flex}.risk-gauge-dial{width:100%;position:relative}.risk-gauge-overlay{text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:14%;left:0;right:0}.risk-gauge-value{font-size:var(--text-4xl);font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-weight:800;line-height:1}.risk-gauge-score{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.risk-gauge-label{font-size:var(--text-sm)}.risk-gauge-container-sm{gap:var(--space-1);width:132px}.risk-gauge-container-sm .risk-gauge-value{font-size:var(--text-2xl)}.risk-gauge-container-sm .risk-gauge-score{font-size:var(--text-xs);margin-top:0}.feed-list{gap:var(--space-3);max-height:500px;padding-right:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.feed-item{appearance:none;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:var(--color-surface-1);border-radius:var(--radius-lg);color:inherit;font:inherit;text-align:left;transition:all var(--transition-fast);cursor:pointer;border:1px solid #0000;display:flex}.feed-item:hover{background:var(--color-surface-2);border-color:var(--color-border)}.feed-item.active{background:var(--color-surface-0);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.feed-icon{border-radius:var(--radius-full);background:var(--color-surface-2);width:32px;height:32px;color:var(--color-text-secondary);letter-spacing:.04em;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.feed-icon.completed{background:var(--color-success-soft);color:var(--color-success-text)}.feed-icon.failed{background:var(--color-error-soft);color:var(--color-error-text)}.feed-icon.running{background:var(--color-info-soft);color:var(--color-info-text)}.feed-icon.uploading,.feed-icon.pending{background:var(--color-surface-2);color:var(--color-text-secondary)}.feed-content{flex:1;min-width:0}.feed-title{font-weight:500;font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.feed-meta{gap:var(--space-2);font-size:var(--text-xs);color:color-mix(in srgb, var(--color-text-secondary) 88%, var(--color-text-primary));display:flex}.summary-grid{gap:var(--space-4);margin-top:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.summary-card{background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.summary-icon{font-size:var(--text-xl);background:var(--color-surface-1);border-radius:var(--radius-lg);width:40px;height:40px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.summary-heading{font-weight:600;font-size:var(--text-base);color:var(--color-text-primary)}.summary-body{font-size:var(--text-sm);color:color-mix(in srgb, var(--color-text-secondary) 75%, var(--color-text-primary));line-height:var(--leading-relaxed)}.drawer-backdrop{z-index:var(--z-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;animation:.2s ease-out fadeIn;position:fixed;inset:0}.drawer-panel{background:var(--color-surface-0);width:100%;max-width:600px;box-shadow:var(--shadow-xl);z-index:var(--z-drawer);overscroll-behavior:contain;padding:var(--space-8);animation:.3s cubic-bezier(.16,1,.3,1) forwards drawerSlideIn;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawerSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width:640px){.drawer-panel{width:100%;max-width:none;max-height:calc(100dvh - var(--space-12));padding:var(--space-4);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;animation-name:drawerSheetIn;top:auto;left:0;right:0;transform:translateY(100%)}.drawer-close{min-width:44px;min-height:44px}}.drawer-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;display:flex}.drawer-close{padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none}.drawer-close:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.folder-audit-header{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary-soft) 80%, transparent) 0%, transparent 65%);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.folder-audit-overview{margin-top:var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.folder-audit-pill{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-0);padding:6px var(--space-3);font-size:var(--text-sm);display:inline-flex}.folder-audit-pill strong{color:var(--color-text-primary);font-weight:700}.folder-audit-pill-label{color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.folder-audit-pill-wide{max-width:min(100%,440px)}.folder-audit-pill-wide strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.folder-audit-layout{align-items:start}.folder-audit-sidebar{gap:var(--space-4);flex-direction:column;display:flex}.folder-upload-card{background:radial-gradient(circle at top right, color-mix(in srgb, var(--color-primary-soft) 55%, transparent), transparent 45%), var(--color-surface-0)}.folder-drop-zone{margin-top:var(--space-4);min-height:200px}.folder-action-stack{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex}.folder-action-btn{width:100%}.folder-batch-partial-note{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin:0}.folder-processing-label{align-items:center;gap:var(--space-2);display:inline-flex}.folder-processing-dot{border-radius:var(--radius-full);background:currentColor;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse-subtle}.folder-progress-card{background:var(--color-surface-1)}.folder-progress-title{font-size:var(--text-sm);margin-bottom:var(--space-2);font-weight:700}.folder-progress-meta{justify-content:space-between;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-xs);margin-bottom:var(--space-2);display:flex}.folder-progress-track{height:10px}.folder-usage-card{background:var(--color-surface-0)}.folder-usage-label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2);font-weight:700}.folder-usage-row{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);display:flex}.folder-audit-main{gap:var(--space-6);display:grid}.folder-dashboard-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}.folder-risk-card{justify-content:center;align-items:center;min-height:340px;display:flex}.folder-empty-state{text-align:center;max-width:340px;color:var(--color-text-secondary)}.folder-empty-title{font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--space-2);font-weight:700}.folder-empty-copy{line-height:var(--leading-relaxed)}.folder-feed-card{background:linear-gradient(180deg, color-mix(in srgb, var(--color-primary-soft) 45%, transparent) 0%, transparent 35%), var(--color-surface-0);min-height:340px}.folder-card-title{margin-bottom:var(--space-4)}.feed-empty-state{padding-top:var(--space-12)}.feed-item:disabled{opacity:.7}.feed-item:focus-visible{box-shadow:var(--ring);outline:none}.feed-score{flex-shrink:0}.feed-score-label{border-radius:var(--radius-full);padding:2px var(--space-2);font-size:var(--text-xs);border:1px solid;align-items:center;font-weight:700;display:inline-flex}.feed-score-label.is-high{color:var(--color-error-text)}.feed-score-label.is-low{color:var(--color-success-text)}.folder-analysis-section{border-top:1px solid var(--color-border);padding-top:var(--space-6)}.folder-analysis-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.folder-analysis-title{font-size:var(--text-xl);font-weight:700;line-height:var(--leading-tight)}.folder-metric-list{gap:var(--space-2);flex-direction:column;display:flex}.folder-metric-row{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border);display:flex}.folder-metric-label{color:var(--color-text-secondary)}.folder-metric-value{font-family:var(--font-mono);color:var(--color-text-primary)}:root[data-theme=dark] .folder-audit-header{border-color:var(--color-border-strong);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary-soft) 70%, transparent) 0%, transparent 60%)}:root[data-theme=dark] .folder-audit-pill{background:var(--color-bg);border-color:var(--color-border-strong)}:root[data-theme=dark] .feed-item{background:var(--color-bg);border-color:var(--color-border)}:root[data-theme=dark] .feed-item:hover{background:var(--color-surface-0);border-color:var(--color-border-strong)}:root[data-theme=dark] .feed-item.active{background:var(--color-surface-0);border-color:color-mix(in srgb, var(--color-primary) 70%, var(--color-border-strong))}:root[data-theme=dark] .summary-card{background:var(--color-bg);border-color:var(--color-border-strong)}@media (min-width:960px){.folder-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1023px){.folder-audit-sidebar{position:static}}@media (max-width:640px){.folder-audit-header{padding:var(--space-4)}.folder-audit-pill{justify-content:space-between;width:100%}.folder-audit-pill-wide{max-width:none}}.nav-scrim{display:none}@media (max-width:768px){.nav-scrim{z-index:98;background:#0006;animation:.2s ease-out fadeIn;display:block;position:fixed;inset:56px 0 0}.nav{border-left:1px solid var(--color-border);width:min(20rem,86vw);box-shadow:var(--shadow-lg);visibility:hidden;transition:transform var(--transition-slow), visibility 0s linear .3s;left:auto}.nav[data-open=true]{visibility:visible;transition-delay:0s}.nav-link.nav-link-cta{margin-top:var(--space-3);background:var(--color-accent);color:var(--color-accent-contrast);order:5;justify-content:center;font-weight:600}.nav-link.nav-link-cta:after{display:none}.nav-link.nav-link-cta:hover{background:var(--color-accent-hover);color:var(--color-accent-contrast)}}.menu-item.menu-item-signout{margin-top:var(--space-1);border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);color:var(--color-text-secondary)}.consent-banner{bottom:var(--space-2);width:calc(100% - var(--space-4));gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg)}.consent-banner-text{font-size:var(--text-xs);line-height:1.45}body{padding-bottom:var(--consent-banner-h,0px)}@media (max-width:960px){.toast-container{bottom:calc(var(--space-4) + var(--consent-banner-h,0px))}}@media (max-width:640px){.consent-banner{text-align:left}.consent-banner-actions{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:640px),(pointer:coarse){.consent-banner-actions .btn{height:44px;min-height:44px;font-size:var(--text-sm)}}.upload-card .upload-subtitle{margin:var(--space-1) 0 var(--space-4)}.upload-actions,.upload-progress{margin-top:var(--space-4)}.upload-progress-text{margin-top:var(--space-2)}.upload-alert{margin:var(--space-4) 0 0}.upload-alert-line{margin-top:var(--space-1);display:block}.upload-alert-cta{margin-top:var(--space-2)}.file-info .file-info-action{margin-left:auto}.drop-zone-icon svg{display:block}.drop-zone:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.drop-zone[aria-disabled=true]{opacity:.55;cursor:not-allowed}.drop-zone[aria-disabled=true]:hover{border-color:var(--color-border-strong);background:var(--color-surface-0);box-shadow:none;transform:none}
