.kfg{--kg-bg:#fff;--kg-soft:#f2f6f5;--kg-line:#d8e3df;--kg-text:#18332d;--kg-muted:#536a62;--kg-accent:#187564;color:var(--kg-text);margin:2rem 0 3rem;font-size:1rem;line-height:1.65}.dark .kfg{--kg-bg:#202925;--kg-soft:#19231f;--kg-line:#41554b;--kg-text:#e5f2eb;--kg-muted:#b5c8bc;--kg-accent:#8bdbc0}.kfg *,.kfg *::before,.kfg *::after{box-sizing:border-box}.kfg [hidden]{display:none!important}.kfg :is(h2,h3,h4,p,figure,dl){margin:0;color:inherit}.kfg h2{font-size:clamp(1.5rem,4vw,2.15rem);line-height:1.3;margin:.4rem 0 .7rem;letter-spacing:-.035em}.kfg h3{font-size:1.1rem;line-height:1.5;font-weight:700}.kfg h4{font-size:1.1rem;margin:.7rem 0}.kfg a{color:var(--kg-accent);text-decoration:underline;text-underline-offset:4px}.kfg :is(a,button,input,summary):focus-visible{outline:3px solid var(--kg-accent);outline-offset:4px}.kfg-heading{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.kfg-heading p,.kfg-context>p,.kfg-factor>p{color:var(--kg-muted)}.kfg-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--kg-accent)}.kfg-badge{border:1px solid var(--kg-line);border-radius:2rem;padding:.4rem .8rem;font-size:.78rem;white-space:nowrap;background:var(--kg-soft)}.kfg-overview{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.kfg-panel{border:1px solid var(--kg-line);border-radius:1.1rem;padding:clamp(1.1rem,3vw,1.8rem);background:var(--kg-bg);min-width:0}.kfg-gauge-panel{display:flex;flex-direction:column;justify-content:space-between;text-align:center}.kfg-gauge{position:relative;max-width:360px;width:100%;margin:1rem auto}.kfg-gauge svg{display:block;width:100%;height:auto;overflow:visible}.kfg-gauge-value{position:absolute;inset:30% 0 auto;display:flex;flex-direction:column;align-items:center}.kfg-gauge-value strong{font-size:clamp(2.8rem,6vw,3.6rem);font-weight:750;line-height:1.15;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.kfg-gauge-value span{margin-top:.25rem;font-size:.9rem}.kfg-needle{stroke:var(--kg-text)}.kfg-needle-dot{fill:var(--kg-text)}.kfg-svg-label{fill:var(--kg-muted);font-size:12px;font-family:inherit}.kfg-caption{font-size:.8rem;color:var(--kg-muted)!important}.kfg-context h3{font-size:1.3rem;margin:.7rem 0;letter-spacing:-.02em}.kfg-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0!important}.kfg-meta dt{font-size:.75rem;color:var(--kg-muted)}.kfg-meta dd{margin:.25rem 0 0;font-size:.87rem;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.kfg .kfg-status{padding:.75rem;border-radius:.6rem;background:var(--kg-soft);font-size:.8rem;margin-bottom:1rem}.kfg-text-link{font-size:.85rem}.kfg-trend{margin:1rem 0 1.8rem}.kfg-section-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.kfg-section-top p{font-size:.8rem;color:var(--kg-muted);margin-top:.3rem}.kfg-periods{display:flex;flex-wrap:wrap;gap:.3rem}.kfg-periods button{min-height:44px;min-width:48px;border:1px solid var(--kg-line);border-radius:.5rem;background:var(--kg-bg);color:var(--kg-text);font:inherit;font-size:.78rem;padding:.3rem .6rem;cursor:pointer}.kfg-periods button[aria-pressed=true]{background:var(--kg-accent);color:var(--kg-bg);border-color:var(--kg-accent);font-weight:700}.kfg-chart-empty{min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1.5rem;border:1px dashed var(--kg-line);border-radius:.7rem;background:var(--kg-soft)}.kfg-chart-empty>span{font-size:2.5rem;color:var(--kg-muted);margin-bottom:1rem}.kfg-chart-empty strong{font-size:.95rem}.kfg-chart-empty p{font-size:.8rem;color:var(--kg-muted);margin-top:.5rem}.kfg .kfg-trend>figure{display:block;width:100%;min-width:0}.kfg-trend svg{display:block;width:100%;height:auto;overflow:visible}.kfg-gridline{stroke:var(--kg-line);stroke-dasharray:3 4;stroke-width:1}.kfg-chart-line{fill:none;stroke:var(--kg-accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.kfg-chart-point{fill:var(--kg-accent)}.kfg-explore{padding:1rem;margin-top:1rem;border-radius:.6rem;background:var(--kg-soft)}.kfg-explore label{display:block;font-size:.8rem;color:var(--kg-muted)}.kfg-explore input{display:block;width:100%;min-height:44px;accent-color:var(--kg-accent);cursor:pointer}.kfg-explore output{display:block;font-size:.85rem;font-variant-numeric:tabular-nums;min-height:1.7em}.kfg-history{margin-top:1rem;font-size:.85rem}.kfg-history summary{cursor:pointer;min-height:44px;padding:.7rem 0;color:var(--kg-accent)}.kfg-table-scroll{overflow:auto;max-height:320px}.kfg table{width:100%;border-collapse:collapse;font-size:.8rem}.kfg th,.kfg td{text-align:left;padding:.65rem;border-bottom:1px solid var(--kg-line);white-space:nowrap}.kfg thead{position:sticky;top:0;background:var(--kg-bg)}.kfg tbody th{font-weight:400}.kfg-factors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.kfg-factor>p{font-size:.85rem}.kfg-factor-value{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}.kfg-factor-value strong{font-size:1.7rem;font-variant-numeric:tabular-nums}.kfg-factor-value span{font-size:.75rem;color:var(--kg-muted)}.kfg meter{width:100%;height:.7rem;margin-top:.5rem;accent-color:var(--kg-accent)}.kfg-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--kg-line);font-size:.75rem;color:var(--kg-muted);overflow-wrap:anywhere}.kfg-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}@media(max-width:700px){.kfg-overview,.kfg-factors{grid-template-columns:1fr}.kfg-gauge{max-width:310px}.kfg-gauge-value strong{font-size:3rem}.kfg-meta{gap:1rem .7rem}.kfg-factor{display:grid;grid-template-columns:1fr auto;column-gap:1rem}.kfg-factor .kfg-eyebrow,.kfg-factor h4,.kfg-factor>p{grid-column:1}.kfg-factor h4{margin:.3rem 0}.kfg-factor-value{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;align-items:end;justify-content:center;margin:0}.kfg-factor meter{grid-column:1/-1}.kfg-trend{padding:1rem}}