:root{--slider-size:10px;--color-text:#222;--color-muted:#666;--color-milestone:#ff48b0;--color-subtle:#888;--color-border:#0000001a;--border:1px solid var(--color-border);--font-sans:"DM Sans", ui-sans-serif, sans-serif;--overlay-width:248px;--bg-gradient:linear-gradient(180deg, #f0f0f0 0%, #dedede 100%);--dash-size:8px;--font-size-year-tick-label:18px}html,body{height:100%;color:var(--color-text);letter-spacing:-.01em;background:var(--bg-gradient);margin:0;font-family:DM Mono,ui-monospace,monospace;font-size:12px;line-height:14px;overflow:hidden}*{box-sizing:border-box}a{color:var(--color-muted)}canvas{display:block}[hidden]{display:none!important}.glass{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff1a;border:1px solid #ffffff40}#overlay{z-index:10000;width:var(--overlay-width);flex-direction:column;padding:0 12px;font-weight:500;display:flex;position:fixed;top:0;bottom:0;left:0}.footer{text-transform:uppercase;color:var(--color-muted);opacity:.5;flex:1;align-items:flex-end;padding-bottom:12px;display:flex}.hide-for-detail{opacity:1;max-height:300px;transition:all .15s;overflow:hidden}body.detail .hide-for-detail{opacity:0;pointer-events:none;max-height:0}.topbar{align-items:center;height:40px;display:flex}.detail-back{width:28px;height:28px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:-8px;padding:0;font-size:2rem;line-height:1;display:none}body.detail .detail-back{display:block}#overlay h1{text-transform:uppercase;margin:0;font-size:1.2rem;font-weight:500}.title-year{color:var(--color-muted);opacity:0;font-weight:400}.status-wrapper{z-index:100;width:360px;font-weight:500;font-family:var(--font-sans);overflow:initial;font-size:16px;position:fixed;bottom:24px;right:24px}.status-wrapper:before{content:"";background:var(--color-text);width:1px;position:absolute;top:0;bottom:0;left:-14px}.status-wrapper h1{color:var(--color-text);font-family:var(--font-sans);margin:0 0 4px;font-size:clamp(1.5rem,2.5vw,2.5rem);font-weight:500;line-height:1.1}.status-wrapper p{margin:0 0 4px;line-height:1.5em}.status-cursor{background:var(--color-text);vertical-align:-.15em;width:min(.4em,10px);height:1em;margin-left:1px;animation:1s step-end infinite status-cursor-blink;display:inline-block}@keyframes status-cursor-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}#viewMode{border:none;position:fixed;top:0;right:12px}#yearSlider{--progress:0%;width:100%;height:var(--slider-size);appearance:none;cursor:pointer;background:linear-gradient(to right, #222 0%, #2226 100%) 0 / var(--progress) 100% no-repeat, #2222221a;border-radius:999px;outline:none;margin:0}#yearSlider::-webkit-slider-runnable-track{height:var(--slider-size);-webkit-appearance:none;background:0 0;border-radius:999px}#yearSlider::-webkit-slider-thumb{width:var(--slider-size);height:var(--slider-size);background:var(--color-text);cursor:pointer;-webkit-appearance:none;border-radius:50%;box-shadow:0 0 4px #0006}#yearSlider::-moz-range-track{height:var(--slider-size);background:#2222220d;border-radius:999px}#yearSlider::-moz-range-progress{height:var(--slider-size);background:linear-gradient(90deg,#222 0%,#2226 100%);border-radius:999px 0 0 999px}#yearSlider::-moz-range-thumb{width:var(--slider-size);height:var(--slider-size);background:var(--color-text);cursor:pointer;border:0;border-radius:50%}#metrics{margin-top:-4px;display:grid}.metric{border-top:var(--border);justify-content:space-between;align-items:flex-start;padding:10px 0;display:flex}.metric-label{color:var(--color-muted);letter-spacing:.01em;text-transform:uppercase;font-size:.9rem}.metric-value{min-width:0;color:var(--color-text);text-align:right;white-space:nowrap;font-weight:500}.metric-range{color:var(--color-subtle);white-space:normal;margin-top:1px;font-weight:400;display:none}#yearControl{margin-bottom:10px}.tab-group{border-top:var(--border);gap:8px;padding:12px 0;display:flex}.tab-group button{border:var(--border);color:var(--color-text);font:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-weight:500;display:flex}.tab-group button.active{color:#fff;background:var(--color-text)}.tab-group button:disabled{cursor:not-allowed;opacity:.4}.tab-group.full-width button{border-radius:0;flex:1;justify-content:center;transition:all .15s ease-out}.tab-group.full-width button.active{border-radius:40px}.legend-item{box-sizing:border-box;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:4px;padding:6px;display:flex}.legend-item:hover,.legend-item.active{background:var(--color-border)}.legend-swatch{background:var(--color-legend);border-radius:50%;flex:none;width:8px;height:8px;margin-right:6px;display:inline-block}.legend-item.active{background:color-mix(in srgb, white, var(--color-legend))}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.year-timeline{top:40px;bottom:40px;left:calc(var(--overlay-width) + 8px);z-index:100;cursor:pointer;width:70px;position:fixed}body.detail .year-timeline{display:none}.year-tick{transform:translateY(calc(-50% + var(--offset,0px)));align-items:center;gap:6px;transition:transform .15s ease-out;display:flex;position:absolute;left:0}.year-tick-dash{width:calc(var(--dash-size) * var(--magnify,1));background:var(--color-text);opacity:.2;flex:none;height:2px;transition:width .15s}.year-tick-label{font-size:var(--font-size-year-tick-label);color:var(--color-text);white-space:nowrap;opacity:0;left:calc(var(--dash-size) * 5.6);text-shadow:0 0 1px #fff;font-weight:500;line-height:1;transition:opacity;position:absolute}.year-tick.hovered .year-tick-dash{opacity:.5;width:calc(var(--dash-size) * 1.5 * var(--magnify,1))}.year-tick.selected .year-tick-dash{width:calc(var(--dash-size) * 2);opacity:1}.year-tick.milestone .year-tick-dash{background:var(--color-milestone);opacity:1}.year-tick.hovered.selected .year-tick-dash{opacity:1;width:calc(var(--dash-size) * 1.5 * var(--magnify,1))}.year-tick.selected .year-tick-label{opacity:1;left:calc(var(--dash-size) * 3)}.year-tick.hovered .year-tick-label{opacity:1;left:calc(var(--dash-size) * 5.6)}#tooltip{white-space:nowrap;pointer-events:none;z-index:1000;border-radius:2px;align-items:center;gap:4px;padding:6px 10px;display:flex;position:fixed;transform:translate(-50%,-130%)}.tooltip-line1{text-transform:uppercase;font-weight:500}.tooltip-line2{color:var(--color-muted)}.detail-panel{top:0;bottom:0;right:0;left:var(--overlay-width);z-index:999;grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr);gap:0;padding:0 12px 12px;display:grid;position:fixed;overflow:hidden}.detail-panel-header{justify-content:space-between;align-items:center;gap:24px;height:40px;display:flex}.detail-title-row{align-items:baseline;gap:8px;display:flex}.detail-panel h2,.detail-panel p{margin:0}.detail-panel h2{letter-spacing:.01em;text-transform:uppercase;font-size:1.1rem;font-weight:600}.detail-panel p{color:var(--color-muted)}#detailSubtitle{letter-spacing:.01em;text-transform:uppercase;margin-top:0;font-size:1.1rem}#detailSummary.detail-summary{color:var(--color-text);max-width:920px;font-size:1.6rem;line-height:1.4em;font-family:var(--font-sans);letter-spacing:0;margin:40px 0 8px}.detail-close{width:28px;height:28px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;margin:-4px;padding:0;font-size:28px;line-height:1}.detail-table{grid-template-rows:auto 1fr;min-width:0;min-height:0;display:grid;overflow:auto hidden}.detail-rows{align-content:start;gap:1px;min-height:0;display:grid;overflow:hidden auto}.detail-row{grid-template-columns:minmax(220px,1fr) 120px 120px 140px 140px 100px;align-items:stretch;min-height:34px;display:grid}.detail-row.header{min-height:28px;color:var(--color-muted);text-transform:uppercase;border-bottom:var(--border)}.detail-cell.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.detail-cell.sortable:hover{color:var(--color-text)}.detail-cell.sortable.active{color:var(--color-text);font-weight:500}.detail-cell{align-items:center;min-width:0;padding:0;display:flex;position:relative}.detail-cell.country .detail-name{font-weight:500}.detail-cell.country:not(.sortable) .detail-name{padding-left:12px}.detail-cell.country:before{content:"";width:calc(var(--ratio,0) * 100%);background-color:color-mix(in srgb, var(--detail-color,#82d8d5) 45%, white);z-index:-1;position:absolute;top:0;bottom:0;left:0}.detail-cell.number{font-variant-numeric:tabular-nums;justify-content:flex-end}.detail-cell.empty{background:0 0}.detail-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#calloutLayer{z-index:5;pointer-events:none;position:fixed;inset:0}.peak-callout-label{color:var(--color-text);background:color-mix(in srgb, var(--color-callout) 70%, white);white-space:nowrap;pointer-events:auto;border-radius:3px;padding:2px 4px;font-weight:600;position:fixed;transform:translate(-50%,-100%)}.menu-toggle{z-index:10000;width:36px;height:36px;color:var(--color-text);cursor:pointer;background:#ffffff1a;border-radius:24px;padding:0;display:none;position:fixed;top:12px;left:12px}.menu-toggle-icon,.menu-toggle-icon:before,.menu-toggle-icon:after{background:currentColor;border-radius:1px;width:16px;height:2px;display:block}.menu-toggle-icon{margin:0 auto;transition:background .15s;position:relative}.menu-toggle-icon:before,.menu-toggle-icon:after{content:"";transition:transform .15s;position:absolute;left:0}.menu-toggle-icon:before{top:-5px}.menu-toggle-icon:after{top:5px}body.menu-open .menu-toggle-icon{background:0 0}body.menu-open .menu-toggle-icon:before{top:0;transform:rotate(45deg)}body.menu-open .menu-toggle-icon:after{top:0;transform:rotate(-45deg)}.menu-shim{z-index:9999;opacity:0;background:#0000004d;transition:opacity .2s;display:none;position:fixed;inset:0}@media (width<=720px){#yearTimeline{display:none}.status-wrapper{width:auto;bottom:16px;left:28px;right:16px}.menu-toggle{display:block}#viewMode{top:5px;right:16px}#overlay{background:#fffc;width:288px;transition:transform .2s;transform:translate(-120%);box-shadow:8px 0 24px #00000026}.detail-panel{z-index:10001;left:0}body.menu-open #overlay{transform:translate(0)}body.menu-open .menu-shim{opacity:1;display:block}}
