.india-choropleth{--india-map-stroke: #fff;--india-map-stroke-active: #0f1b38;--india-map-border-width: 2.5;--india-map-border-width-active: 2;--india-map-selection-width: 3;--india-map-small-marker-stroke: #53617b;--india-map-focus: #0f766e;--india-map-active: #ff725f;--india-map-empty: #e7edf0;--india-map-tooltip-bg: #fff;--india-map-tooltip-border: #b8c2ce;--india-map-text: #081435;--india-map-muted: #53617b;--india-map-line: #dce3e7;--india-map-reference-bg: #eef1f3;--india-map-reference-hatch: #9ba8af;--india-map-reference-stroke: #6f7d85;position:relative;color:var(--india-map-text)}.india-choropleth__toolbar{min-height:40px;display:flex;align-items:center;justify-content:flex-end}.india-choropleth__breadcrumb{display:flex;align-items:center;gap:.5rem;font:500 .875rem/1.3 system-ui,sans-serif}.india-choropleth__back{border:0;padding:.375rem;background:transparent;color:var(--india-map-focus);font:inherit;cursor:pointer}.india-choropleth__back:hover{text-decoration:underline}.india-choropleth__back:focus-visible{outline:3px solid color-mix(in srgb,var(--india-map-focus) 35%,transparent);outline-offset:2px}.india-choropleth__canvas{position:relative;width:100%}.india-choropleth__status{min-height:16rem;padding:2rem;border:1px dashed var(--india-map-line);display:grid;place-items:center;color:var(--india-map-muted);font:500 .9375rem/1.5 system-ui,sans-serif;text-align:center}.india-choropleth__svg{display:block;width:100%;height:auto;overflow:visible}.india-choropleth__region{stroke:var(--india-map-stroke);stroke-width:var(--india-map-border-width);stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:filter .16s ease,opacity .16s ease,stroke .16s ease,stroke-width .16s ease,transform .16s ease;transform-box:fill-box;transform-origin:center}.india-choropleth__region:focus{outline:none}.india-choropleth__region:focus-visible{outline:none}.india-choropleth__region--reference-merged{stroke:transparent}.india-choropleth--static .india-choropleth__region{cursor:default}.india-choropleth__region:is(:hover,:focus-visible),.india-choropleth__region--inspected{stroke:var(--india-map-stroke-active);stroke-width:var(--india-map-border-width-active);filter:drop-shadow(0 5px 4px rgb(8 20 53 / .14));transform:translateY(-2px)}.india-choropleth__selection{pointer-events:none;transition:transform .16s ease}.india-choropleth__selection--lifted{transform:translateY(-2px)}.india-choropleth__selection-halo{stroke:var(--india-map-stroke);stroke-width:calc(var(--india-map-selection-width) * 2);stroke-linejoin:round;vector-effect:non-scaling-stroke}.india-choropleth__selection-ring{stroke:var(--india-map-active);stroke-width:var(--india-map-selection-width);stroke-linejoin:round;vector-effect:non-scaling-stroke}.india-choropleth__reference-fill path{pointer-events:none;stroke:var(--india-map-reference-stroke);stroke-width:1;vector-effect:non-scaling-stroke}.india-choropleth__reference-outline path{pointer-events:none;stroke:var(--india-map-reference-stroke);stroke-width:1.6;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.india-choropleth__dimmed{opacity:.25;filter:grayscale(1)}.india-choropleth__region.india-choropleth__dimmed:is(:hover,:focus-visible){opacity:.6}.india-choropleth__svg--filtered .india-choropleth__region:not(.india-choropleth__dimmed){filter:drop-shadow(0 2px 3px rgb(8 20 53 / .28))}.india-choropleth__hit-areas path{cursor:pointer}.india-choropleth__small-markers circle{cursor:pointer;stroke:var(--india-map-small-marker-stroke);stroke-width:var(--india-map-border-width);vector-effect:non-scaling-stroke}.india-choropleth--static .india-choropleth__small-markers circle{pointer-events:none;cursor:default}.india-choropleth__value-leaders line{pointer-events:none;stroke:var(--india-map-small-marker-stroke);stroke-width:1;vector-effect:non-scaling-stroke}.india-choropleth__region-values{pointer-events:none;fill:var(--india-map-text);font:700 11px/1 system-ui,sans-serif;paint-order:stroke;stroke:#ffffffd1;stroke-width:3px;stroke-linejoin:round}.india-choropleth__region-values--district{font-size:9px}.india-choropleth__tooltip-anchor{position:absolute;z-index:1;pointer-events:none;transform:translate(calc(-50% + var(--india-map-tooltip-dx, 0px)),var(--india-map-tooltip-dy, calc(-100% - .75rem) ))}.india-choropleth__tooltip{min-width:8rem;padding:.75rem .875rem;border:1px solid var(--india-map-tooltip-border);border-radius:.625rem;display:grid;gap:.18rem;background:var(--india-map-tooltip-bg);box-shadow:0 .5rem 1.25rem #0814351c;font:500 .875rem/1.3 system-ui,sans-serif}.india-choropleth__tooltip strong{font-size:.875rem}.india-choropleth__tooltip b{font-size:1.2rem}.india-choropleth__tooltip small{color:var(--india-map-muted);font-size:.75rem}.india-choropleth__tooltip-bar{display:block;height:.3rem;margin:.1rem 0 .15rem;border-radius:.3rem;background:var(--india-map-empty);overflow:hidden}.india-choropleth__tooltip-bar>span{display:block;height:100%;border-radius:inherit;background:var(--india-map-active)}.india-choropleth__legend{margin-top:.75rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;color:var(--india-map-muted);font:.8125rem/1.3 system-ui,sans-serif}.india-choropleth__swatches{display:flex;gap:.25rem}.india-choropleth__swatch{width:clamp(1.75rem,7vw,4.25rem);height:.75rem;border-radius:.1rem}button.india-choropleth__swatch{box-sizing:content-box;margin:-.375rem 0;padding:0;border:0 solid transparent;border-top-width:.375rem;border-bottom-width:.375rem;background-clip:padding-box;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:opacity .16s ease,box-shadow .16s ease}button.india-choropleth__swatch:focus-visible{outline:3px solid color-mix(in srgb,var(--india-map-focus) 35%,transparent);outline-offset:1px}button.india-choropleth__swatch[aria-disabled=true]{cursor:default}.india-choropleth__swatch--active{box-shadow:0 0 0 2px var(--india-map-stroke),0 0 0 4px var(--india-map-active)}.india-choropleth__swatch--muted{opacity:.3}.india-choropleth__reference-key{width:1rem;height:.75rem;border:1px solid var(--india-map-reference-stroke);background:repeating-linear-gradient(45deg,var(--india-map-reference-bg) 0 3px,var(--india-map-reference-hatch) 3px 4px)}.india-choropleth__reference-key--solid{background:var(--india-map-reference-bg)}.india-choropleth__insights{margin-top:1rem}@media(prefers-reduced-motion:reduce){.india-choropleth__region,button.india-choropleth__swatch{transition:none}}.bharat-choropleth__status{padding:1.25rem;border-radius:.625rem;background:var(--india-map-empty, #eef1f7);color:var(--india-map-muted, #53617b);font:500 .875rem/1.45 system-ui,sans-serif;text-align:center}.bharat-choropleth__status--error{background:#fdeceb;color:#8a1c14}:root{--ink: #e8eef2;--muted: #93a4b3;--panel: #131a22;--panel-2: #18212b;--line: #24303c;--accent: #4fd1c0;--bg: #0b1017;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}a{color:var(--accent)}.app{max-width:1280px;margin:0 auto;padding:1.5rem 1.25rem 3rem}header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.brand{display:flex;gap:.85rem;align-items:center}.mark{display:grid;place-items:center;inline-size:2.6rem;block-size:2.6rem;border-radius:.7rem;background:linear-gradient(140deg,#2f9c90,#1c6f8f);font-weight:700;letter-spacing:.02em}header h1{margin:0;font-size:1.15rem;letter-spacing:-.01em}header p{margin:.15rem 0 0;color:var(--muted);font-size:.82rem}.ecosystems{display:flex;gap:.5rem}.ecosystems a{padding:.45rem .8rem;border:1px solid var(--line);border-radius:.5rem;color:var(--ink);font-size:.8rem;text-decoration:none}.ecosystems a:hover{border-color:var(--accent);color:var(--accent)}.indicators{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}.indicators button{padding:.55rem .95rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer}.indicators button:hover{color:var(--ink)}.indicators button.is-active{border-color:var(--accent);background:#4fd1c01f;color:var(--accent);font-weight:600}.indicators button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;margin-bottom:1.25rem}.kpis article{padding:.9rem 1rem;border:1px solid var(--line);border-radius:.75rem;background:var(--panel)}.kpis span{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}.kpis strong{display:block;margin:.3rem 0 .15rem;font-size:1.5rem;font-weight:650;letter-spacing:-.02em}.kpis small{color:var(--muted);font-size:.74rem}main{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:1rem;align-items:start}.map-panel,.rail{border:1px solid var(--line);border-radius:.9rem;background:var(--panel);padding:1.15rem}.panel-head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:start;justify-content:space-between;margin-bottom:.85rem}.panel-head h2{margin:0;font-size:1.05rem}.panel-head p{margin:.25rem 0 0;max-width:46ch;color:var(--muted);font-size:.82rem}.panel-actions{display:flex;flex-direction:column;align-items:end;gap:.35rem}.hint{color:var(--muted);font-size:.72rem}.toggle{display:inline-flex;gap:.4rem;align-items:center;color:var(--muted);font-size:.78rem;cursor:pointer}.toggle input{accent-color:var(--accent);inline-size:.9rem;block-size:.9rem}.toggle:hover{color:var(--ink)}.loading{padding:4rem 0;color:var(--muted);text-align:center}.rail h2{margin:0 0 .6rem;font-size:.95rem}.rail h3{margin:1.5rem 0 .5rem;font-size:.78rem;color:var(--muted);letter-spacing:.07em;text-transform:uppercase}.rail-label{margin:0;font-size:1.05rem;font-weight:600}.rail-value{margin:.1rem 0 .6rem;font-size:2rem;font-weight:650;color:var(--accent);letter-spacing:-.02em}.rail-empty{color:var(--muted);font-size:.85rem}.rail dl,.provenance dl{display:grid;gap:.35rem;margin:0}.rail dl div,.provenance dl div{display:flex;gap:.75rem;justify-content:space-between;padding:.4rem 0;border-block-start:1px solid var(--line);font-size:.82rem}.rail dt,.provenance dt{color:var(--muted)}.rail dd,.provenance dd{margin:0;text-align:end}.board{display:grid;gap:.25rem;margin:0;padding:0;list-style:none;counter-reset:none}.board button{display:grid;grid-template-columns:1.4rem 1fr auto;gap:.5rem;align-items:center;inline-size:100%;padding:.35rem .4rem;border:1px solid transparent;border-radius:.45rem;background:none;color:var(--ink);font:inherit;font-size:.8rem;text-align:start;cursor:pointer}.board button:hover{background:var(--panel-2)}.board button.is-selected{border-color:var(--accent);background:#4fd1c01a}.board button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.place{color:var(--muted);font-variant-numeric:tabular-nums}.who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar{display:none}.num{color:var(--muted);font-variant-numeric:tabular-nums}.provenance{margin-top:1rem;padding-top:.85rem;border-block-start:1px solid var(--line);font-size:.82rem}.provenance summary{color:var(--muted);cursor:pointer}.provenance summary:hover{color:var(--ink)}.provenance dl{margin-top:.6rem}.provenance dd{max-width:52ch}.sha{overflow-wrap:anywhere;color:var(--muted);font-size:.72rem}.caveat{margin:.7rem 0;padding:.6rem .75rem;border-inline-start:3px solid #c58a3d;border-radius:.3rem;background:#c58a3d1a;color:#e2c79a;font-size:.8rem}footer{margin-top:1.5rem;padding-top:1rem;border-block-start:1px solid var(--line);color:var(--muted);font-size:.78rem}footer p{max-width:90ch;margin:0}.india-choropleth{--india-map-stroke: #0b1017;--india-map-text: #e8eef2;--india-map-empty: #223041;--india-map-muted: #93a4b3;--india-map-tooltip-bg: #0f1720;--india-map-tooltip-border: #2b3d4f}.india-choropleth__region-values{fill:#0a1620;stroke:#ffffffeb;stroke-width:3.5px}@media(max-width:900px){main{grid-template-columns:minmax(0,1fr)}}
