.chart-lab{padding:64px max(4vw,24px) 68px;border-bottom:1px solid var(--line);background:#e8ede7}.chart-lab__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.chart-lab__head h2{font-size:clamp(45px,5vw,72px);letter-spacing:-.055em;line-height:1;margin:0 0 8px}.chart-lab__head p:last-child{max-width:580px;color:#52635d;margin:0;line-height:1.6}.chart-lab__badge{border:1px solid #b8c9c0;border-radius:50px;padding:9px 13px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.chart-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.chart-presets button{border:1px solid #9bb4a9;background:#f7faf4;color:#234541;border-radius:40px;padding:10px 15px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.chart-presets button:hover{background:#d6e6dc;transform:translateY(-2px)}.chart-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#f7f9f4;padding:18px;border:1px solid #c9d6cd}.chart-controls label{display:grid;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#4d625a;min-width:0}.chart-controls select{width:100%;min-width:0;min-height:44px;border:1px solid #bfcfc4;border-radius:3px;background:white;color:#163c38;padding:8px;font-size:12px;letter-spacing:0;text-transform:none}.chart-controls select:disabled{opacity:.55}.chart-warning{min-height:24px;margin:9px 0 0;color:#8b483d;font-size:12px}.chart-output{display:grid;grid-template-columns:minmax(0,1fr) 270px;background:#fffefa;border:1px solid #c9d6cd;min-height:470px}.chart-output__main{padding:24px;min-width:0}.chart-output__title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dbe3db;padding-bottom:19px;margin-bottom:17px}.chart-output__title .eyebrow{margin:0 0 4px}.chart-output__title h3{font-size:clamp(26px,2.6vw,39px);line-height:1.12;margin:0;letter-spacing:-.035em}.chart-output__title button{flex:none;background:#173b3f;color:white;border:0;border-radius:3px;padding:10px 13px;font-size:11px;font-weight:700}.chart-output__aside{padding:27px 20px;border-left:1px solid #dbe3db;background:#f4f7f1;font-size:12px;line-height:1.6;color:#4f625a}.chart-output__aside .eyebrow{color:#245956}.chart-output__aside p{margin:0 0 18px}.chart-key{display:grid;gap:6px;border-top:1px solid #d6e0d7;padding-top:15px}.chart-key span{display:flex;align-items:center;gap:7px}.chart-key i{display:inline-block;width:12px;height:12px;background:#277d81;border-radius:100%}.chart-key span:nth-child(2) i{background:#b56d57}.chart-stage{min-height:300px}.ranked-chart{display:grid;gap:7px}.ranked-row{width:100%;display:grid;grid-template-columns:minmax(130px,26%) minmax(0,1fr) 73px;align-items:center;gap:12px;background:transparent;border:0;border-bottom:1px solid #e9ece6;color:#183331;text-align:left;min-height:46px;padding:5px 1px;transition:background .2s}.ranked-row:hover,.ranked-row:focus-visible{background:#e9f0e8}.ranked-row__name{display:grid;line-height:1.2;min-width:0}.ranked-row__name b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranked-row__name small{font-size:10px;color:#71827a}.ranked-row__tracks{display:grid;gap:4px}.ranked-row__track{display:block;height:8px;background:#e5ede7;border-radius:8px;overflow:hidden}.ranked-row__track i{height:100%;background:#277d81;border-radius:8px;display:block;animation:chart-grow .65s ease-out both}.ranked-row__track.second i{background:#b56d57}.ranked-row strong{text-align:right;font-size:12px}.stacked-track{height:14px;display:flex;border-radius:9px;overflow:hidden;background:#dfe7e1}.stacked-track i:first-child{background:#277d81;animation:chart-grow .65s ease-out both}.stacked-track i:last-child{background:#b56d57}.chart-axis-note{font-size:11px;color:#63776b}.scatter-wrap{width:100%}.scatter-chart{display:block;width:100%;height:auto;max-height:540px;overflow:visible}.scatter-chart line{stroke:#9db5aa;stroke-width:1.5}.scatter-chart text{fill:#5b7067;font:12px 'DM Sans',Arial,sans-serif}.scatter-point{fill:#277d81;stroke:white;stroke-width:2;cursor:pointer;opacity:.75;transition:r .18s,opacity .18s}.scatter-point:hover,.scatter-point:focus{r:10;opacity:1;stroke:#173b3f;stroke-width:3;outline:none}.scatter-axis-labels{display:flex;justify-content:space-between;gap:10px;color:#596c63;font-size:11px}.chart-empty{padding:50px 20px;text-align:center;color:#687e73}.chart-table{margin-top:18px;border:1px solid #c9d6cd;background:#f8faf5}.chart-table summary{padding:14px 18px;font-size:12px;font-weight:700;cursor:pointer}.chart-table__scroll{max-height:480px;overflow:auto}.chart-table table{border-collapse:collapse;width:100%;font-size:12px}.chart-table th,.chart-table td{padding:9px 12px;border-top:1px solid #dde6dc;text-align:right}.chart-table th:first-child{text-align:left}.chart-table thead th{position:sticky;top:0;background:#e6eee4}.chart-table tbody tr:nth-child(even){background:#f0f5ee}.chart-table tbody button{border:0;background:none;color:#174f58;text-align:left;text-decoration:underline;cursor:pointer;font-size:12px}@keyframes chart-grow{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@media(max-width:1050px){.chart-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-output{grid-template-columns:1fr}.chart-output__aside{border-left:0;border-top:1px solid #dbe3db;display:grid;grid-template-columns:1fr 1fr;gap:14px}.chart-output__aside .eyebrow{grid-column:1/-1;margin:0}.chart-key{grid-column:1/-1}}@media(max-width:650px){.chart-lab{padding-top:42px;padding-bottom:45px}.chart-lab__head{display:block}.chart-lab__badge{display:inline-block;margin-top:17px}.chart-controls{padding:12px;gap:10px}.chart-output__main{padding:16px}.chart-output__title{align-items:start;flex-direction:column}.chart-output__aside{display:block}.ranked-row{grid-template-columns:minmax(94px,32%) minmax(0,1fr) 52px;gap:6px}.ranked-row__name b{font-size:11px}.ranked-row strong{font-size:10px}.scatter-axis-labels{display:grid}.chart-presets button{font-size:11px;padding:8px 10px}}@media(max-width:380px){.chart-controls{grid-template-columns:1fr 1fr}.chart-controls select{font-size:11px;padding:6px}.chart-lab__badge{white-space:normal}}@media(prefers-reduced-motion:reduce){.ranked-row__track i,.stacked-track i{animation:none}.chart-presets button,.scatter-point{transition:none}}
.ranked-row__track.diverging{position:relative;background:linear-gradient(90deg,#f3e7e2 0 49.8%,#5d746c 49.8% 50.2%,#e3eee8 50.2% 100%);overflow:visible}.ranked-row__track.diverging i{position:absolute;top:0;bottom:0;height:100%;display:block;animation:none}.ranked-row__track.diverging i.negative{right:50%;background:#b56d57;border-radius:8px 0 0 8px}.ranked-row__track.diverging i.positive{left:50%;background:#277d81;border-radius:0 8px 8px 0}.ranked-row strong small{display:block;color:#9a674e;font-size:10px;font-weight:600}.chart-output__title button:disabled{opacity:.45;cursor:not-allowed}.chart-key[hidden]{display:none}@media(max-width:420px){.chart-controls{grid-template-columns:1fr}.chart-controls select{font-size:12px}}
.chart-jump{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:11px 16px;background:#173b3f;color:#fff;font-size:12px;font-weight:700;text-decoration:none;border-radius:3px;transition:background .2s,transform .2s}.chart-jump:hover{background:#277d81;transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.chart-jump{transition:none}}
.chart-controls label[hidden]{display:none}.single-chart__axis{display:flex;justify-content:space-between;margin:0 73px 8px max(130px,26%);padding-left:12px;color:#536a60;font-size:10px;font-weight:700}.single-chart__benchmark{margin:0 0 12px;padding:10px 12px;border-left:3px solid #277d81;background:#edf4ee;color:#31584e;font-size:11px;line-height:1.45}.single-chart__benchmark strong{color:#173b3f}.ranked-chart--single{max-height:1250px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#8dbab0 #eef3ed}.ranked-row--single{min-height:40px;grid-template-columns:minmax(130px,26%) minmax(0,1fr) 73px}.ranked-row--single .ranked-row__name b{overflow:visible;text-overflow:clip;white-space:normal}.ranked-row--single .ranked-row__name em{font-style:normal;color:#799288;font-size:10px}.ranked-row--single .ranked-row__name small{font-size:9px}.ranked-row--single .ranked-row__track{height:11px;background:linear-gradient(90deg,#e2eeeb,#edf4ef)}.ranked-row--single .ranked-row__track i{background:linear-gradient(90deg,#6caaa4,#17616a)}.ranked-row--single strong{font-size:12px;color:#14555c}@media(max-width:650px){.single-chart__axis{margin:0 48px 8px 32%;padding-left:6px}.ranked-row--single{grid-template-columns:minmax(94px,32%) minmax(0,1fr) 48px;gap:6px}.ranked-row--single .ranked-row__name small{font-size:8px}.ranked-row--single strong{font-size:10px}}@media(max-width:380px){.ranked-row--single .ranked-row__name small{display:none}.ranked-row--single .ranked-row__name b{font-size:10px}}
.chart-settings{margin:0 0 15px;border:1px solid #bed1c3;background:#f7f9f4}
.chart-settings summary{cursor:pointer;padding:14px 18px;font-size:12px;font-weight:700;color:#1e5554}
.chart-settings[open] summary{border-bottom:1px solid #d8e4d9}
.chart-settings .chart-controls{border:0}
.ranked-chart--single{max-height:none;overflow:visible}
.ranked-row--single{min-height:52px}
.ranked-row--single .ranked-row__name small{font-size:10px;color:#53685f;line-height:1.35}
.ranked-row--single .ranked-row__track{position:relative;overflow:visible}
.ranked-row--single .ranked-row__track i{animation:none}
.ranked-row--single .ranked-row__track.with-reference::after{content:"";position:absolute;left:var(--province);top:-3px;bottom:-3px;border-left:2px solid #ad684e;z-index:2;pointer-events:none}
.single-chart__pages{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0 8px;font-size:11px;color:#526b61}
.single-chart__pages button{border:1px solid #aac4b5;border-radius:999px;background:#eff6ee;padding:8px 13px;color:#1d5757;font-weight:700;cursor:pointer}
.single-chart__pages button:disabled{opacity:.45;cursor:default}
@media(max-width:650px){.ranked-row--single .ranked-row__name small{font-size:9px}.single-chart__pages{flex-wrap:wrap;gap:7px}.single-chart__pages span{order:-1;width:100%;text-align:center}}
@media(max-width:380px){.ranked-row--single .ranked-row__name small{display:block;font-size:9px}}
.chart-stage .ranked-row__track i,.chart-stage .stacked-track i{animation:none}
.chart-stage--waiting .ranked-row__track i,.chart-stage--waiting .stacked-track i{transform:scaleX(0);transform-origin:left center}
.chart-stage .ranked-row__track.diverging i.negative{transform-origin:right center}
.chart-stage--waiting .scatter-point,.chart-stage--waiting .scatter-reference{opacity:0}
.scatter-chart .scatter-axis{stroke:#8ea99d;stroke-width:1.5}
.scatter-chart .scatter-reference{stroke:#b16b50;stroke-width:1.7;stroke-dasharray:5 5}
.scatter-chart .scatter-axis-title{fill:#17494b;font-size:12px;font-weight:700}
.scatter-point--extreme{fill:#d16b4d;stroke:#fffaf3;stroke-width:2.5;opacity:.98}
.scatter-point--extreme:hover,.scatter-point--extreme:focus{stroke:#883c2d}
.scatter-reference-note{font-size:12px;line-height:1.55;color:#3d625c;margin:8px 0 0}
.scatter-reference-note__line{display:inline-block;width:20px;border-top:2px dashed #b16b50;vertical-align:middle;margin-right:5px}
.scatter-extremes{margin-top:13px;padding:13px 15px;border:1px solid #e7d5c9;border-radius:7px;background:#fbf6ef;color:#5a4c42;font-size:11px;line-height:1.5}
.scatter-extremes>strong{display:block;color:#864c39;font-size:12px}
.scatter-extremes p{margin:5px 0 0}
.scatter-extremes__dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#d16b4d;margin-right:5px}
.scatter-extremes__list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.scatter-extremes__list button{border:1px solid #e0c8b9;border-radius:5px;background:#fffaf5;color:#734934;padding:7px 9px;text-align:left;cursor:pointer;font-size:11px;font-weight:700}
.scatter-extremes__list small{display:block;font-weight:500}
@media(max-width:650px){.scatter-chart .scatter-axis-title{font-size:13px}.scatter-reference-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.chart-stage--waiting .ranked-row__track i,.chart-stage--waiting .stacked-track i{transform:none}.chart-stage--waiting .scatter-point,.chart-stage--waiting .scatter-reference{opacity:1}}
