:root{--bg:#f4f1ea;--bg-alt:#eae6dc;--bg-muted:#e2ddd2;--surface:#fdfcf8;--surface-2:#f9f6ee;--surface-3:#f4f1ea;--ink:#1e2a26;--ink-soft:#4b5853;--ink-faint:#8a9490;--ink-ghost:#bfc9c5;--border:#dfd9cb;--border-strong:#c8c0af;--rule:#ede8de;--brand-50:#ecfdf5;--brand-100:#d1fae5;--brand-200:#a7f3d0;--brand-300:#6ee7b7;--brand-400:#34d399;--brand-500:#0ead77;--brand-600:#0c9b69;--brand-700:#0a7a54;--brand-800:#065e3f;--brand-900:#064e35;--forest-50:#eef4f1;--forest-100:#d5e6dd;--forest-200:#a8ccba;--forest-300:#6ead91;--forest-400:#3d7a5a;--forest-500:#2a5c42;--forest-600:#1e4230;--forest-700:#1e2a26;--forest-800:#151f1c;--forest-900:#0d1511;--forest:#1e2a26;--forest-mid:#2a5c42;--accent:#0a7a54;--accent-bright:#0ead77;--accent-hover:#065e3f;--accent-active:#064e35;--accent-soft:#d1fae5;--accent-ring:rgba(10,122,84,.22);--score-high:#0ead77;--score-high-bg:#ecfdf5;--score-high-text:#065e3f;--score-mid:#d97706;--score-mid-bg:#fffbeb;--score-mid-text:#92400e;--score-low:#dc2626;--score-low-bg:#fef2f2;--score-low-text:#991b1b;--font-display:'Fraunces',Georgia,'Times New Roman',serif;--font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-mono:'JetBrains Mono','Fira Code','Cascadia Code',ui-monospace,monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-5xl:64px;--weight-normal:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;--weight-black:800;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.55;--leading-relaxed:1.7;--tracking-tight:-.03em;--tracking-snug:-.02em;--tracking-normal:-.01em;--tracking-wide:.02em;--tracking-widest:.08em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;--radius-xs:4px;--radius-sm:8px;--radius:12px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(30,42,38,.04);--shadow-sm:0 1px 3px rgba(30,42,38,.05),0 1px 2px rgba(30,42,38,.04);--shadow-md:0 4px 8px rgba(30,42,38,.06),0 10px 20px rgba(30,42,38,.08);--shadow-lg:0 12px 24px rgba(30,42,38,.08),0 32px 56px rgba(30,42,38,.10);--shadow-xl:0 24px 48px rgba(30,42,38,.10),0 48px 80px rgba(30,42,38,.12);--shadow-accent:0 4px 16px rgba(10,122,84,.28);--shadow-accent-lg:0 8px 28px rgba(10,122,84,.36);--ease:cubic-bezier(.2,.8,.2,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-bounce:cubic-bezier(.34,1.56,.64,1);--ease-spring:cubic-bezier(.175,.885,.32,1.275);--max-w:1280px;--max-w-narrow:900px;--max-w-wide:1440px;--max-w-prose:680px;--z-base:0;--z-raised:10;--z-dropdown:30;--z-sticky:40;--z-nav:50;--z-modal:60;--z-toast:70;--z-tooltip:80}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-snug);color:var(--ink)}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}img,svg{display:block;max-width:100%}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--sp-8)}@media (max-width:640px){.container{padding:0 var(--sp-5)}}::selection{background:var(--accent-soft);color:var(--brand-800)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-xs)}.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.30;animation:blob-float 26s ease-in-out infinite alternate}.blob-1{width:560px;height:560px;background:radial-gradient(circle,#c6e0cf 0%,transparent 70%);top:-200px;right:-150px}.blob-2{width:400px;height:400px;background:radial-gradient(circle,#d9f0e4 0%,transparent 70%);top:50%;left:-120px;animation-delay:-10s}@keyframes blob-float{0%{transform:translate(0,0) scale(1)}100%{transform:translate(28px,-22px) scale(1.06)}}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semi);letter-spacing:var(--tracking-wide);text-transform:uppercase}.badge-brand{background:var(--accent-soft);color:var(--brand-800)}.badge-high{background:var(--score-high-bg);color:var(--score-high-text)}.badge-mid{background:var(--score-mid-bg);color:var(--score-mid-text)}.badge-low{background:var(--score-low-bg);color:var(--score-low-text)}.badge-muted{background:var(--bg-muted);color:var(--ink-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:10px 22px;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-semi);letter-spacing:var(--tracking-normal);line-height:1;cursor:pointer;transition:background var(--ease) .18s,transform var(--ease-bounce) .2s,box-shadow var(--ease) .18s;border:none}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-accent-lg)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-muted);color:var(--ink);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--border);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:var(--bg-muted);color:var(--ink)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-hover{transition:transform var(--ease) .2s,box-shadow var(--ease) .2s}.card-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.score-bar-wrap{height:6px;background:var(--bg-muted);border-radius:var(--radius-full);overflow:hidden}.score-bar-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width .6s var(--ease)}.affiliate-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--ink-faint);padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-alt)}