@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{color-scheme:dark;--font-sans: "Inter", "Geist", -apple-system, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "Geist Mono", "SF Mono", ui-monospace, Menlo, monospace;--font-features: "liga";--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--text-hero: clamp(40px, 5vw, 56px);--weight-regular: 400;--weight-medium: 500;--weight-bold: 600;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 80px;--space-10: 96px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 9999px;--shadow-border: 0px 0px 0px 1px rgba(143, 170, 123, .12);--shadow-sm: 0px 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0px 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0px 8px 32px rgba(0, 0, 0, .5);--shadow-card: 0px 0px 0px 1px rgba(143, 170, 123, .1), 0px 4px 16px rgba(0, 0, 0, .3), 0px 2px 4px rgba(0, 0, 0, .2);--shadow-focus: 0px 0px 0px 3px rgba(139, 195, 74, .35);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-1: .12s;--dur-2: .18s;--dur-3: .26s;--color-canvas: #111a10;--color-canvas-deep: #0d1209;--color-panel: #1a2316;--color-elevated: #1e2d1e;--color-surface-faint: #243324;--color-green: #8fbb58;--color-green-hover: #a3d06a;--color-green-link: #9cc34e;--color-green-muted: rgba(143, 187, 88, .15);--color-green-glow: rgba(143, 187, 88, .25);--color-amber: #c4a97d;--color-amber-muted: rgba(196, 169, 125, .15);--color-olive: #7a8f5b;--color-text-bright: #f0f4ec;--color-text-primary: #d4dcc8;--color-text-secondary: #8fa278;--color-text-tertiary: #5e7349;--color-text-quaternary: #3d5030;--color-ok: #6bc24e;--color-warn: #d4a94d;--color-bad: #cf5c5c;--color-info: #5b9fd6;--color-border-default: rgba(143, 170, 123, .15);--color-border-subtle: rgba(143, 170, 123, .08);--color-border-strong: rgba(143, 170, 123, .25);--color-focus: #8fbb58;--bg: var(--color-canvas);--bg-2: var(--color-canvas-deep);--surface-1: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .07);--surface-glass: rgba(255, 255, 255, .06);--border-1: var(--color-border-default);--border-2: var(--color-border-subtle);--text-1: var(--color-text-bright);--text-2: var(--color-text-secondary);--text-3: var(--color-text-tertiary);--focus: var(--color-focus);--panel: var(--surface-1);--panel-2: var(--surface-2);--border: var(--border-1);--text: var(--text-1);--muted: var(--text-2);--muted-2: var(--text-3);--accent: var(--color-green);--accent-2: var(--color-green-link);--ok: var(--color-ok);--warn: var(--color-warn);--bad: var(--color-bad)}[data-theme=light]{color-scheme:light;--bg: #f4f5ef;--bg-2: #e8ebe3;--surface-1: rgba(30, 45, 30, .05);--surface-2: rgba(30, 45, 30, .08);--border-1: rgba(30, 45, 30, .12);--border-2: rgba(30, 45, 30, .08);--text-1: #1a2316;--text-2: #4d6140;--text-3: #6b7f5a;--shadow-border: 0px 0px 0px 1px rgba(30, 45, 30, .1);--shadow-card: 0px 0px 0px 1px rgba(30, 45, 30, .08), 0px 2px 8px rgba(0, 0, 0, .08);--shadow-focus: 0px 0px 0px 3px rgba(107, 143, 70, .25);--focus: #5a7840}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-feature-settings:var(--font-features);font-size:var(--text-md);line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(600px 400px at 15% 10%,rgba(143,187,88,.08),transparent 60%),radial-gradient(500px 400px at 85% 5%,rgba(196,169,125,.06),transparent 55%),radial-gradient(600px 400px at 50% 95%,rgba(143,187,88,.05),transparent 50%)}a{color:inherit;text-decoration:none;transition:color var(--dur-2) var(--ease-out)}a:hover{color:var(--color-green-hover)}::selection{background:#8fbb584d}:focus-visible{outline:none;box-shadow:var(--shadow-focus)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}[data-theme=light] body:before{background:radial-gradient(600px 400px at 15% 10%,rgba(143,187,88,.1),transparent 60%),radial-gradient(500px 400px at 85% 5%,rgba(196,169,125,.08),transparent 55%)}.container{width:min(1200px,calc(100% - 2 * var(--space-5)));margin:0 auto}.panel{background:var(--surface-glass);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}[data-effects=reduced] .panel{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.hr{height:1px;background:var(--border);border:0;margin:0}.muted{color:var(--muted)}.kbd{font-size:var(--text-xs);font-family:var(--font-mono);padding:2px 6px;border-radius:4px;border:1px solid var(--border);color:var(--muted);background:var(--surface-1)}.h1{font-family:var(--font-sans);font-feature-settings:var(--font-features);font-size:var(--text-hero);line-height:1.08;margin:0;font-weight:var(--weight-bold);letter-spacing:-.03em;color:var(--text-1)}.h2{font-family:var(--font-sans);font-feature-settings:var(--font-features);font-size:clamp(22px,2.6vw,30px);line-height:1.15;margin:0;font-weight:var(--weight-medium);letter-spacing:-.02em;color:var(--text-1)}.h3{font-family:var(--font-sans);font-feature-settings:var(--font-features);font-size:var(--text-xl);line-height:1.33;margin:0;font-weight:var(--weight-semi);letter-spacing:-.01em;color:var(--text-1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:var(--radius-pill);border:none;background:var(--surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-1);font-family:var(--font-sans);font-feature-settings:var(--font-features);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:.01em;transition:background var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out);user-select:none;cursor:pointer;outline:none;box-shadow:var(--shadow-border)}.btn:focus-visible{box-shadow:var(--shadow-focus)}.btn:hover{background:#ffffff1a;box-shadow:var(--shadow-border),0 0 16px #8fbb5814}.btn:active{background:#ffffff0d}.btn-primary{background:var(--color-green);color:#111a10;border-radius:var(--radius-pill);padding:10px 24px;box-shadow:0 0 20px #8fbb5840;border:none;font-weight:var(--weight-bold)}.btn-primary:hover{background:var(--color-green-hover);box-shadow:0 0 28px #8fbb5859}.btn-primary:active{background:var(--color-green)}.btn-primary:focus-visible{box-shadow:var(--shadow-focus),0 0 20px #8fbb5840}.btn-ghost{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;color:var(--text-2);border:none}.btn-ghost:hover{background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow-border)}.btn-sm{padding:5px 12px;font-size:var(--text-xs)}.btn-lg{padding:12px 28px;font-size:var(--text-md)}.btn-full{width:100%}.field{display:flex;flex-direction:column;gap:8px}.input,.select{width:100%;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--surface-1);color:var(--text-1);font-family:var(--font-sans);font-feature-settings:var(--font-features);font-size:var(--text-md);transition:border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out);outline:none}.input::placeholder{color:var(--color-text-tertiary)}.input:focus,.select:focus{border-color:var(--color-green);box-shadow:var(--shadow-focus)}.select{appearance:none}.badge{display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);padding:3px 10px;border-radius:var(--radius-pill);border:1px solid var(--color-border-default);color:var(--text-1);background:var(--surface-1);font-weight:var(--weight-medium);letter-spacing:.02em}.badge-ok{border-color:#6bc24e59;background:var(--color-green-muted);color:var(--color-green)}.badge-warn{border-color:#d4a94d59;background:var(--color-amber-muted);color:var(--color-amber)}.badge-bad{border-color:#cf5c5c59;background:#cf5c5c1f;color:var(--color-bad)}.site-header{padding:var(--space-5) 0 var(--space-4)}.app-header{padding:var(--space-4) 0 var(--space-3)}.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.nav-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-right{display:flex;align-items:center;gap:8px;position:relative}@media(max-width:780px){.nav-actions{display:none}}.brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}.brand-icon{width:34px;height:34px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--surface-1);border:1px solid var(--color-border-default)}.brand-dot{width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,var(--color-green),var(--color-olive));display:block}.brand-name{font-weight:var(--weight-bold);letter-spacing:-.01em;color:var(--text-1)}.main{padding-bottom:var(--space-7)}.hero{padding:var(--space-8) 0}.hero-copy{max-width:780px}.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-5)}.grid-12{margin-top:var(--space-6);display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-3)}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-12{grid-column:span 12}@media(max-width:1024px){.col-4{grid-column:span 6}}@media(max-width:780px){.col-6{grid-column:span 12}}@media(max-width:640px){.col-4{grid-column:span 12}}.section{padding:var(--space-5)}.section+.section{margin-top:var(--space-4)}.row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-start;justify-content:space-between}.row-right{display:flex;gap:8px;align-items:center}.stats{margin-top:var(--space-3);display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-3)}.stat{grid-column:span 3;padding:16px 18px;border-radius:var(--radius-lg);background:var(--surface-glass);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid var(--border);box-shadow:var(--shadow-sm)}@media(max-width:900px){.stat{grid-column:span 6}}@media(max-width:560px){.stat{grid-column:span 12}}.stat-value{font-size:22px;font-weight:var(--weight-bold);letter-spacing:-.02em;color:var(--text-1)}.stat-label{margin-top:4px;color:var(--muted);font-size:var(--text-sm);letter-spacing:.02em}.alert{padding:12px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.empty-state{padding:16px 18px;border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--border)}.empty-state-title{font-weight:var(--weight-bold);letter-spacing:-.01em;color:var(--text-1)}.empty-state-desc{margin-top:4px;font-size:var(--text-sm);color:var(--muted)}.error-state .alert-body{color:var(--text)}.alert-title{font-weight:var(--weight-bold);letter-spacing:-.01em;margin-bottom:6px;color:var(--text-1)}.alert-body{color:var(--text-2)}.alert-neutral{border-color:var(--border)}.alert-info{border-color:#5b9fd659;background:#5b9fd614}.alert-ok{border-color:#6bc24e59;background:var(--color-green-muted)}.alert-warn{border-color:#d4a94d59;background:var(--color-amber-muted)}.alert-bad{border-color:#cf5c5c59;background:#cf5c5c14}.spinner{display:inline-block;border:2px solid var(--border);border-top-color:var(--accent);border-radius:9999px;animation:spin .9s linear infinite;vertical-align:text-bottom}.spinner-sm{width:14px;height:14px}.spinner-md{width:18px;height:18px}.spinner-lg{width:24px;height:24px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-2)}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-text{height:1em;border-radius:6px}.skeleton-rect{border-radius:var(--radius-md)}.skeleton-circle{border-radius:9999px}.skeleton-list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md)}.skeleton-audit-item{opacity:0;animation:skeleton-fade-in .3s ease forwards}@keyframes skeleton-fade-in{to{opacity:1}}[data-effects=reduced] .btn,[data-effects=reduced] .panel{transition:none}[data-effects=reduced] .spinner,[data-effects=reduced] .skeleton{animation:none}[data-effects=reduced] .skeleton:after{animation:none}[data-effects=reduced] .skeleton-audit-item{animation:none;opacity:1}.fade-in{animation:fadeInUp var(--dur-3) var(--ease-out) both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}.grossular-page{position:relative;min-height:100vh}[data-theme=dark] .grossular-page{background-color:#0c1614;background-image:radial-gradient(ellipse 110% 75% at 100% -5%,rgba(62,207,142,.22),transparent 52%),radial-gradient(ellipse 70% 55% at -5% 105%,rgba(200,230,120,.08),transparent 48%),linear-gradient(165deg,#070f0d,#0c1614 38%,#0e1a17);background-attachment:fixed}[data-theme=light] .grossular-page{background-color:#ecf4ef;background-image:radial-gradient(ellipse 100% 65% at 92% 0%,rgba(62,207,142,.18),transparent 48%),radial-gradient(ellipse 65% 50% at 0% 100%,rgba(180,200,80,.1),transparent 42%),linear-gradient(180deg,#f5faf7,#ecf4ef 55%,#e8f1ec);background-attachment:fixed}.grossular-page .app-header,.grossular-page .site-header{position:sticky;top:0;z-index:20;margin-bottom:var(--space-2);padding:var(--space-4) 0 var(--space-4);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15)}[data-effects=reduced] .grossular-page .app-header,[data-effects=reduced] .grossular-page .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=dark] .grossular-page .app-header,[data-theme=dark] .grossular-page .site-header{background:linear-gradient(180deg,#080e0ce0,#080e0c80);border-bottom:1px solid rgba(62,207,142,.14);box-shadow:0 12px 32px -20px #0009}[data-theme=light] .grossular-page .app-header,[data-theme=light] .grossular-page .site-header{background:linear-gradient(180deg,#ffffffdb,#ffffff73);border-bottom:1px solid rgba(26,61,50,.1);box-shadow:0 8px 28px -18px #0d281e1f}.grossular-page .main{padding-top:var(--space-1)}[data-theme=dark] .grossular-page .panel{border-radius:18px;background:linear-gradient(155deg,#ffffff12,#ffffff05);border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 1px #3ecf8e0f inset,0 28px 56px -32px #0000008c}[data-theme=light] .grossular-page .panel{border-radius:18px;background:#ffffffc7;border:1px solid rgba(26,61,50,.1);box-shadow:0 1px #3ecf8e1f inset,0 22px 44px -28px #0c241c24}[data-effects=reduced] .grossular-page .panel{box-shadow:var(--shadow-border)}.grossular-page .stat{position:relative;padding:16px 18px 16px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff09;box-shadow:0 10px 28px -16px #0006}[data-theme=light] .grossular-page .stat{border:1px solid rgba(26,61,50,.09);background:#ffffff8c;box-shadow:0 10px 28px -18px #0c241c1a}.grossular-page .stat:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--stat-edge, rgba(62, 207, 142, .85))}.grossular-page .stat--accent{--stat-edge: linear-gradient(180deg, #d4e87a 0%, #3ecf8e 100%)}.grossular-page .stat--ok{--stat-edge: #34d399}.grossular-page .stat--warn{--stat-edge: #fbbf24}.grossular-page .stat--bad{--stat-edge: #f87171}.grossular-page .stat-value{font-variant-numeric:tabular-nums;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.04em;color:var(--text-1)}.grossular-page .stat-label{letter-spacing:.01em}.grossular-page .brand-dot{background:linear-gradient(145deg,#e8f0a8,#7dd87a 45%,#1f6f52);box-shadow:0 0 14px #3ecf8e59}.grossular-page .mobile-menu-link.active{background:linear-gradient(135deg,#3ecf8e59,#1f6f528c);color:#f4fff9}
