:root{color-scheme:dark;--flora-color-canvas:#1E1E1E;--flora-color-surface:#242424;--flora-color-surface-raised:#2C2C2C;--flora-color-surface-sunken:#181818;--flora-color-scrim:rgba(15,15,15,0.72);--flora-color-border:#3A3A3A;--flora-color-border-strong:#4F4F4F;--flora-color-text-primary:#D9D9D9;--flora-color-text-secondary:#A3A3A3;--flora-color-text-muted:#7A7A7A;--flora-color-text-on-accent:#FFFFFF;--flora-color-accent:#EE3000;--flora-color-accent-strong:#D62A00;--flora-color-accent-pressed:#B02200;--flora-color-accent-text:#FF6B47;--flora-color-accent-subtle:#3A1208;--flora-color-success:#2FBF71;--flora-color-warning:#F5A524;--flora-color-danger:#FF4D4D;--flora-color-info:#6FA8FF;--flora-color-focus:#FF6B47;--flora-space-0:0;--flora-space-1:0.25rem;--flora-space-2:0.5rem;--flora-space-3:0.75rem;--flora-space-4:1rem;--flora-space-5:1.5rem;--flora-space-6:2rem;--flora-space-7:3rem;--flora-space-8:4rem;--flora-radius-sm:4px;--flora-radius-md:8px;--flora-radius-lg:12px;--flora-radius-xl:16px;--flora-radius-full:9999px;--flora-font-sans:"Geist Sans","Mona Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--flora-font-mono:"Geist Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--flora-color-canvas);color:var(--flora-color-text-primary);font-family:var(--flora-font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--flora-color-accent-text)}:focus-visible{outline:2px solid var(--flora-color-focus);outline-offset:2px;border-radius:var(--flora-radius-sm)}.shell{max-width:960px;margin:0 auto;padding:var(--flora-space-7) var(--flora-space-5) var(--flora-space-8)}.brand{display:flex;align-items:center;gap:var(--flora-space-3);margin-bottom:var(--flora-space-7)}.brand img{height:28px;width:auto}.brand span{font-family:var(--flora-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--flora-color-text-muted);border:1px solid var(--flora-color-border);border-radius:var(--flora-radius-full);padding:2px var(--flora-space-2)}.hero h1{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 var(--flora-space-3);max-width:22ch}.hero p{margin:0;max-width:62ch;color:var(--flora-color-text-secondary)}.grid{display:grid;grid-gap:var(--flora-space-4);gap:var(--flora-space-4);margin-top:var(--flora-space-7);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:var(--flora-color-surface);border:1px solid var(--flora-color-border);border-radius:var(--flora-radius-lg);padding:var(--flora-space-4)}.card h2{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--flora-color-text-muted);margin:0 0 var(--flora-space-3);font-weight:600}.status{display:flex;align-items:center;gap:var(--flora-space-2);font-family:var(--flora-font-mono);font-size:.95rem}.dot{width:8px;height:8px;border-radius:var(--flora-radius-full);flex:none}.dot--ok{background:var(--flora-color-success)}.dot--degraded{background:var(--flora-color-warning)}.dot--down{background:var(--flora-color-danger)}.deps{list-style:none;margin:var(--flora-space-3) 0 0;padding:0;display:grid;grid-gap:var(--flora-space-2);font-size:.875rem;color:var(--flora-color-text-secondary)}.deps,.deps li{gap:var(--flora-space-2)}.deps li{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--flora-color-border);padding-top:var(--flora-space-2)}.deps code{font-family:var(--flora-font-mono);color:var(--flora-color-text-primary)}.steps{margin:0;padding-left:1.1rem;color:var(--flora-color-text-secondary);font-size:.9375rem;grid-gap:var(--flora-space-2)}.steps,.swatches{display:grid;gap:var(--flora-space-2)}.swatches{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));grid-gap:var(--flora-space-2);margin-top:var(--flora-space-2)}.swatch{border:1px solid var(--flora-color-border);border-radius:var(--flora-radius-md);overflow:hidden}.swatch span{display:block;height:40px}.swatch code{display:block;font-family:var(--flora-font-mono);font-size:.6875rem;color:var(--flora-color-text-secondary);padding:var(--flora-space-2)}.swatch code,footer{border-top:1px solid var(--flora-color-border)}footer{margin-top:var(--flora-space-7);padding-top:var(--flora-space-4);color:var(--flora-color-text-muted);font-size:.8125rem}.shell--narrow{max-width:520px}.grid--wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.topbar{gap:var(--flora-space-4);flex-wrap:wrap;padding:var(--flora-space-3) var(--flora-space-5);background:var(--flora-color-surface);border-bottom:1px solid var(--flora-color-border)}.topbar,.topbar-brand{display:flex;align-items:center}.topbar-brand{gap:var(--flora-space-2);color:var(--flora-color-text-primary);text-decoration:none}.topbar-nav{display:flex;gap:var(--flora-space-4);font-size:.9375rem}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:var(--flora-space-3)}.badge{font-family:var(--flora-font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--flora-color-accent-text);background:var(--flora-color-accent-subtle);border-radius:var(--flora-radius-full);padding:2px var(--flora-space-2)}.card-title{font-size:1.25rem;margin:0 0 var(--flora-space-2)}.subhead{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--flora-color-text-muted);margin:var(--flora-space-4) 0 0}.muted{color:var(--flora-color-text-secondary);font-size:.9375rem}.form{display:grid;grid-gap:var(--flora-space-3);gap:var(--flora-space-3);margin-top:var(--flora-space-4)}.field{display:grid;grid-gap:var(--flora-space-1);gap:var(--flora-space-1);font-size:.875rem}.field>span{color:var(--flora-color-text-secondary)}.field small{color:var(--flora-color-text-muted);font-size:.75rem}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--flora-space-3);gap:var(--flora-space-3)}input,select{font:inherit;font-size:.9375rem;color:var(--flora-color-text-primary);background:var(--flora-color-surface-sunken);border:1px solid var(--flora-color-border-strong);border-radius:var(--flora-radius-md);padding:var(--flora-space-2) var(--flora-space-3);width:100%}input:disabled,select:disabled{color:var(--flora-color-text-muted);background:var(--flora-color-surface)}.actions{display:flex;gap:var(--flora-space-2);flex-wrap:wrap;margin-top:var(--flora-space-2)}.button{font:inherit;font-size:.9375rem;font-weight:500;color:var(--flora-color-text-primary);background:var(--flora-color-surface-raised);border:1px solid var(--flora-color-border-strong);border-radius:var(--flora-radius-md);padding:var(--flora-space-2) var(--flora-space-4);cursor:pointer}.button:hover{border-color:var(--flora-color-accent)}.button--primary{color:var(--flora-color-text-on-accent);background:var(--flora-color-accent-strong);border-color:var(--flora-color-accent-strong)}.button--primary:hover{background:var(--flora-color-accent);border-color:var(--flora-color-accent)}.button--primary:active{background:var(--flora-color-accent-pressed)}.button--ghost{background:transparent;padding:var(--flora-space-1) var(--flora-space-3);font-size:.875rem}.alert,.notice{margin:var(--flora-space-4) 0 0;padding:var(--flora-space-3);border-radius:var(--flora-radius-md);font-size:.9375rem;border:1px solid}.alert{color:var(--flora-color-danger);border-color:var(--flora-color-danger);background:rgba(255,77,77,.08)}.notice{color:var(--flora-color-success);border-color:var(--flora-color-success);background:rgba(47,191,113,.08)}.member-list{list-style:none;margin:var(--flora-space-3) 0 0;padding:0;display:grid;grid-gap:var(--flora-space-3);gap:var(--flora-space-3)}.member-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--flora-space-3);flex-wrap:wrap;border-top:1px solid var(--flora-color-border);padding-top:var(--flora-space-3)}.member-list code{font-family:var(--flora-font-mono);font-size:.875rem}.inline-form{display:flex;align-items:center;gap:var(--flora-space-2)}.inline-form select{width:auto}textarea{font:inherit;font-size:.9375rem;color:var(--flora-color-text-primary);border:1px solid var(--flora-color-border-strong);border-radius:var(--flora-radius-md);padding:var(--flora-space-2) var(--flora-space-3);width:100%;resize:vertical}.progress,textarea{background:var(--flora-color-surface-sunken)}.progress{height:6px;border-radius:var(--flora-radius-full);border:1px solid var(--flora-color-border);overflow:hidden;margin:var(--flora-space-3) 0}.progress span{display:block;height:100%;background:var(--flora-color-accent);transition:width .24s ease}@media (prefers-reduced-motion:reduce){.progress span{transition:none}}.filters{display:flex;gap:var(--flora-space-2);flex-wrap:wrap;margin:var(--flora-space-5) 0 var(--flora-space-4)}.chip{font-size:.875rem;color:var(--flora-color-text-secondary);border:1px solid var(--flora-color-border-strong);border-radius:var(--flora-radius-full);padding:var(--flora-space-1) var(--flora-space-3);text-decoration:none}.chip--on{color:var(--flora-color-text-primary);border-color:var(--flora-color-accent)}.table-wrap{overflow-x:auto;border:1px solid var(--flora-color-border);border-radius:var(--flora-radius-lg);background:var(--flora-color-surface)}.table{width:100%;border-collapse:collapse;font-size:.9375rem}.table td,.table th{text-align:left;padding:var(--flora-space-3);border-bottom:1px solid var(--flora-color-border);white-space:nowrap}.table thead th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--flora-color-text-muted);font-weight:600}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:0}.table tbody th{font-weight:500}.tag{font-size:.75rem;border-radius:var(--flora-radius-full);padding:2px var(--flora-space-2);border:1px solid}.tag--neutral{color:var(--flora-color-text-secondary);border-color:var(--flora-color-border-strong)}.tag--attention{color:var(--flora-color-warning);border-color:var(--flora-color-warning)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.score{display:inline-flex;align-items:center;gap:var(--flora-space-2);font-family:var(--flora-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score--big{font-size:1.5rem;margin:0 0 var(--flora-space-2)}.tag--hot{color:var(--flora-color-accent-text);border-color:var(--flora-color-accent)}.tag--muted{color:var(--flora-color-text-muted);border-color:var(--flora-color-border-strong)}.filters-sep{width:1px;align-self:stretch;background:var(--flora-color-border);margin:0 var(--flora-space-1)}.breakdown{list-style:none;margin:var(--flora-space-4) 0 0;padding:0;display:grid;grid-gap:var(--flora-space-4);gap:var(--flora-space-4)}.breakdown-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--flora-space-2);font-size:.875rem}.breakdown-head strong{font-family:var(--flora-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar{height:4px;border-radius:var(--flora-radius-full);background:var(--flora-color-surface-sunken);border:1px solid var(--flora-color-border);overflow:hidden;margin:var(--flora-space-2) 0}.bar span{display:block;height:100%;background:var(--flora-color-accent)}.reasons{margin:0;grid-gap:var(--flora-space-1);gap:var(--flora-space-1);font-size:.8125rem;color:var(--flora-color-text-secondary)}.findings,.reasons{list-style:none;padding:0;display:grid}.findings{margin:var(--flora-space-4) 0 0;grid-gap:var(--flora-space-5);gap:var(--flora-space-5)}.findings>li{border-top:1px solid var(--flora-color-border);padding-top:var(--flora-space-3);display:grid;grid-gap:var(--flora-space-2);gap:var(--flora-space-2);font-size:.9375rem}.finding-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--flora-space-2)}.findings p{margin:0}.findings details summary{cursor:pointer;font-size:.875rem;color:var(--flora-color-accent-text)}.findings details[open] summary{margin-bottom:var(--flora-space-2)}.message-preview{white-space:pre-wrap;font-family:var(--flora-font-sans);line-height:1.6;color:var(--flora-color-text-primary);background:var(--flora-color-surface-sunken);border:1px solid var(--flora-color-border);border-radius:var(--flora-radius-md);padding:var(--flora-space-3)}.claims,.message-preview{font-size:.9375rem;margin:var(--flora-space-3) 0 0}.claims{list-style:none;padding:0;display:grid;grid-gap:var(--flora-space-3);gap:var(--flora-space-3)}.claims>li{border-left:2px solid var(--flora-color-accent);padding-left:var(--flora-space-3)}.claims p{margin:0}.button:disabled{opacity:.5;cursor:not-allowed}