:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"DM Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"Cascadia Code", "Fira Code", ui-monospace, monospace;--color-brand:#7c3aed;--color-brand-light:#8b5cf6;--color-brand-strong:#5b21b6;--brand-dim:#7c3aed24;--brand-glow:0 0 32px #7c3aed66;--color-accent:#f59e0b;--color-bg:#08091a;--color-surface:#0e1022;--color-surface-2:#14172a;--color-surface-3:#1a1e36;--color-glass:#08091ab8;--color-text:#e8eaff;--color-text-2:#9ba0c0;--color-muted:#6b7094;--color-line:#1e2240;--color-line-2:#272c4a;--color-danger:#ef4444;--color-danger-soft:#ef444424;--color-warning:#f59e0b;--color-warning-soft:#f59e0b24;--color-success:#10b981;--color-success-soft:#10b98124;--color-info:#60a5fa;--color-info-soft:#60a5fa24;--radius-sm:6px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 2px 12px #00000080;--shadow:0 8px 32px #0009;--shadow-lg:0 24px 80px #000000b3;--shadow-brand:0 4px 24px #7c3aed73;--transition:.15s ease;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--color-focus:var(--color-brand)}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);background-image:radial-gradient(70% 50% at 50% -5%,#7c3aed33 0%,#0000 65%),radial-gradient(40% 25% at 90% 90%,#6366f112 0%,#0000 60%);min-height:100vh;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.018em;margin:0;font-weight:700;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:4px}.skip-link{background:var(--color-brand);border-radius:var(--radius-sm);color:#fff;z-index:1000;transition:top var(--transition);padding:10px 16px;font-weight:700;position:absolute;top:-56px;left:12px}.skip-link:focus-visible{top:12px}.site-header{-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--color-line);z-index:100;background:#08091ab8;justify-content:space-between;align-items:center;height:60px;padding:0 32px;display:flex;position:sticky;top:0}.brand{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.015em;align-items:center;gap:10px;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.brand__icon{flex-shrink:0;width:28px;height:28px}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a{border-radius:var(--radius-sm);color:var(--color-muted);transition:color var(--transition), background var(--transition);padding:6px 12px;font-size:.875rem;font-weight:500}.site-nav a:hover{color:var(--color-text);background:#ffffff0f}.site-nav a[aria-current=page]{background:var(--brand-dim);color:var(--color-brand)}.hero-band{text-align:center;max-width:820px;margin:0 auto;padding:60px 24px 40px}.hero-badge{background:var(--brand-dim);color:var(--color-brand);font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;border:1px solid #7c3aed4d;border-radius:999px;margin-bottom:24px;padding:5px 14px;font-size:.72rem;font-weight:600;display:inline-block}.hero-title{background:linear-gradient(140deg,#e8eaff 30%,#a78bfa 100%);font-family:var(--font-display);letter-spacing:-.022em;-webkit-text-fill-color:transparent;white-space:pre-line;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.08}.hero-sub{color:var(--color-text-2);max-width:640px;margin:0 auto;font-size:1.05rem;line-height:1.65}.app-shell{max-width:1200px;margin:0 auto;padding:0 24px 80px}.tab-root{margin-top:8px}.tab-bar{border-bottom:1px solid var(--color-line);gap:2px;margin-bottom:32px;padding-bottom:1px;display:flex}.tab-btn{color:var(--color-muted);cursor:pointer;font-family:var(--font-display);transition:color var(--transition), border-color var(--transition);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 22px;font-size:.9rem;font-weight:600}.tab-btn:hover{color:var(--color-text)}.tab-btn--active{border-bottom-color:var(--color-brand);color:var(--color-brand)}.tab-content{min-height:400px}.audit-panel{grid-template-columns:360px 1fr;align-items:flex-start;gap:28px;display:grid}.form-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:28px;position:sticky;top:80px}.form-card__eyebrow{color:var(--color-brand);font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:700}.form-card__hint{color:var(--color-text-2);margin-bottom:20px;font-size:.875rem;line-height:1.6}.audit-form{gap:16px;display:grid}.field{gap:6px;display:grid}.field__label{color:var(--color-text-2);font-size:.85rem;font-weight:500}.field__input{background:var(--color-surface-2);border:1px solid var(--color-line-2);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;transition:border-color var(--transition), box-shadow var(--transition);width:100%;padding:10px 12px;font-size:.9rem}.field__input:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #7c3aed29}.field__input--textarea{resize:vertical;min-height:120px}.btn{border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-display);transition:all var(--transition);border:0;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.925rem;font-weight:700;text-decoration:none;display:inline-flex}.btn--primary{background:linear-gradient(135deg, var(--color-brand) 0%, #5b21b6 100%);box-shadow:var(--shadow-brand);color:#fff;width:100%}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 32px #7c3aed8c}.btn--primary:active{transform:translateY(0)}.result-area{min-height:200px}.result-surface{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);gap:24px;padding:28px;display:grid}.result-header{grid-template-columns:1fr auto;align-items:flex-start;gap:20px;display:grid}.eyebrow{color:var(--color-brand);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:700}.result-surface h2{font-family:var(--font-display);letter-spacing:-.014em;margin-bottom:8px;font-size:1.25rem;font-weight:700}.result-summary{color:var(--color-text-2);font-size:.9rem;line-height:1.6}.score-block{background:linear-gradient(135deg, var(--color-brand) 0%, #5b21b6 100%);border-radius:var(--radius);box-shadow:var(--shadow-brand);text-align:right;min-width:130px;padding:16px 20px}.score-label,.score-denominator{color:#ffffffa6;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600;display:block}.score-block strong{color:#fff;font-family:var(--font-display);font-size:2.4rem;font-weight:800;line-height:1;display:inline-block}.result-block h3{color:var(--color-muted);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;font-size:.75rem;font-weight:700}.signal-list,.pack-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.signal-card,.pack-item{background:var(--color-surface-2);border:1px solid var(--color-line-2);border-radius:var(--radius);padding:16px}.signal-severity{font-family:var(--font-display);letter-spacing:.05em;text-transform:capitalize;border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-block}.signal-card h3{color:var(--color-text);letter-spacing:0;text-transform:none;margin-bottom:6px;font-size:.875rem;font-weight:600}.signal-card p,.pack-item p{color:var(--color-text-2);margin-bottom:8px;font-size:.825rem;line-height:1.55}.signal-card small{color:var(--color-muted);font-family:var(--font-mono);font-size:.75rem}.signal-critical{box-shadow:inset 3px 0 0 var(--color-danger);border-color:#ef444459}.signal-critical .signal-severity{background:var(--color-danger-soft);color:#fca5a5}.signal-high{border-color:#f973164d;box-shadow:inset 3px 0 #f97316}.signal-high .signal-severity{color:#fdba74;background:#f9731624}.signal-medium{box-shadow:inset 3px 0 0 var(--color-warning);border-color:#f59e0b4d}.signal-medium .signal-severity{background:var(--color-warning-soft);color:#fcd34d}.signal-low{box-shadow:inset 3px 0 0 var(--color-success);border-color:#10b9814d}.signal-low .signal-severity{background:var(--color-success-soft);color:#6ee7b7}.pack-item span:first-child{background:var(--color-surface-3);border:1px solid var(--color-line);color:var(--color-muted);font-family:var(--font-display);letter-spacing:.05em;text-transform:capitalize;border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-block}.pack-ready span:first-child{background:var(--color-success-soft);color:#6ee7b7;border-color:#10b9814d}.pack-review span:first-child{background:var(--color-warning-soft);color:#fcd34d;border-color:#f59e0b4d}.pack-missing span:first-child{background:var(--color-danger-soft);color:#fca5a5;border-color:#ef44444d}.pack-item strong{color:var(--color-text);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.result-actions{color:var(--color-text-2);gap:8px;padding-left:20px;font-size:.9rem;line-height:1.55;display:grid}.secondary-action{border:1px solid var(--color-line-2);border-radius:var(--radius-sm);color:var(--color-text-2);cursor:pointer;font:inherit;transition:all var(--transition);background:0 0;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.secondary-action:hover{background:var(--brand-dim);border-color:var(--color-brand);color:var(--color-brand)}.form-status{color:var(--color-text-2);min-height:1.4em;font-size:.875rem}.tab-view-audit{gap:32px;display:grid}.methode-ad-row{margin-top:8px}.methode-panel{gap:40px;display:grid}.section-head{max-width:640px}.section-head__title{font-family:var(--font-display);letter-spacing:-.018em;margin-bottom:12px;font-size:1.6rem;font-weight:700}.section-head__sub{color:var(--color-text-2);font-size:.975rem;line-height:1.65}.steps-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.step-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition);padding:28px}.step-card:hover{border-color:#7c3aed59;box-shadow:0 8px 32px #7c3aed1a}.step-num{background:var(--brand-dim);color:var(--color-brand);font-family:var(--font-display);letter-spacing:.04em;border:1px solid #7c3aed4d;border-radius:999px;margin-bottom:16px;padding:4px 12px;font-size:.72rem;font-weight:800;display:inline-block}.step-title{font-family:var(--font-display);margin-bottom:12px;font-size:1.1rem;font-weight:700}.step-body{color:var(--color-text-2);margin-bottom:18px;font-size:.9rem;line-height:1.65}.step-tags{flex-wrap:wrap;gap:6px;display:flex}.badge{background:var(--color-surface-2);border:1px solid var(--color-line-2);color:var(--color-muted);letter-spacing:.03em;border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:600}.ressources-panel{gap:48px;display:grid}.section-block{gap:24px;display:grid}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.tool-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);padding:20px;display:block}.tool-card:hover{border-color:#7c3aed59;transform:translateY(-2px);box-shadow:0 4px 20px #7c3aed1a}.tool-card__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tool-name{color:var(--color-text);font-family:var(--font-display);font-size:.95rem;font-weight:700}.tool-desc{color:var(--color-text-2);font-size:.85rem;line-height:1.6}.faq-list{gap:8px;display:grid}.faq-item{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);transition:border-color var(--transition);overflow:hidden}.faq-item:hover{border-color:var(--color-line-2)}.faq-item summary{color:var(--color-text);cursor:pointer;font-family:var(--font-display);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-size:.925rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{color:var(--color-muted);content:"+";transition:transform var(--transition);flex-shrink:0;font-size:1.2rem;font-weight:400}.faq-item[open] summary:after{content:"−"}.faq-answer{color:var(--color-text-2);padding:0 20px 18px;font-size:.9rem;line-height:1.65}.ad-slot{background:var(--color-surface);border:1px dashed var(--color-line-2);border-radius:var(--radius);min-height:100px;padding:20px}.ad-slot[data-configured=false]{color:var(--color-muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}.legal-page{max-width:820px;padding:40px 0 80px}.legal-page h1{font-family:var(--font-display);letter-spacing:-.018em;margin-bottom:24px;font-size:2rem;font-weight:700}.legal-page p{color:var(--color-text-2);margin-bottom:16px;line-height:1.7}.admin-page{gap:32px;padding:40px 0 80px;display:grid}.admin-hero{max-width:720px}.admin-hero h1{font-family:var(--font-display);letter-spacing:-.018em;margin-bottom:12px;font-size:1.75rem;font-weight:700}.admin-hero .hero-copy{color:var(--color-text-2);font-size:.95rem;line-height:1.65}.ops-panel{border-top:1px solid var(--color-line);padding-top:24px}.ops-panel h2{font-family:var(--font-display);letter-spacing:.02em;margin-bottom:16px;font-size:1rem;font-weight:700}.ops-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.ops-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:18px}.ops-card[data-ops=sbom],.ops-card[data-ops=inventory]{box-shadow:inset 3px 0 0 var(--color-brand)}.ops-card[data-ops=notices],.ops-card[data-ops=copyleft]{box-shadow:inset 3px 0 0 var(--color-warning)}.ops-card[data-ops=source-offer],.ops-card[data-ops=dossier]{box-shadow:inset 3px 0 0 var(--color-danger)}.ops-card[data-ops=plugin-boundary],.ops-card[data-ops=owner]{box-shadow:inset 3px 0 0 var(--color-info)}.ops-badge,.ops-protection,.ops-method{background:var(--color-surface-2);border:1px solid var(--color-line);color:var(--color-muted);font-family:var(--font-display);border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.ops-card h3{margin-bottom:8px;font-size:.925rem;font-weight:600}.ops-card p{color:var(--color-text-2);font-size:.85rem;line-height:1.55}.ops-table{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);grid-template-columns:80px 1fr 90px;display:grid;overflow:hidden}.ops-table>*{border-bottom:1px solid var(--color-line);overflow-wrap:anywhere;min-width:0;padding:10px 14px;font-size:.875rem}.ops-table>:nth-last-child(-n+3){border-bottom:0}.ops-table-head{background:var(--color-surface-2);color:var(--color-muted);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.ops-table code{color:var(--color-brand);font-family:var(--font-mono);font-size:.825rem}.site-footer{border-top:1px solid var(--color-line);max-width:1200px;margin:60px auto 0;padding:32px 24px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-copy{color:var(--color-muted);font-size:.825rem}.footer-links{flex-wrap:wrap;gap:16px;display:flex}.footer-links a{color:var(--color-muted);transition:color var(--transition);font-size:.825rem}.footer-links a:hover{color:var(--color-text)}@media (width<=900px){.audit-panel{grid-template-columns:1fr}.form-card{position:static}.steps-grid{grid-template-columns:1fr;gap:16px}}@media (width<=680px){.site-header{padding:0 16px}.hero-band{padding:40px 16px 28px}.app-shell{padding:0 16px 60px}.tab-btn{padding:10px 14px;font-size:.85rem}.result-header{grid-template-columns:1fr}.score-block{text-align:left}.signal-list,.pack-grid,.tools-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}}
