:root{--background: oklch(.13 .01 280);--foreground: oklch(.94 .01 85);--card: oklch(.16 .01 280);--card-foreground: oklch(.94 .01 85);--popover: oklch(.16 .01 280);--popover-foreground: oklch(.94 .01 85);--primary: oklch(.13 .01 280);--primary-foreground: oklch(.94 .01 85);--secondary: oklch(.3 .02 260);--secondary-foreground: oklch(.94 .01 85);--muted: oklch(.18 .01 280);--muted-foreground: oklch(.7 .01 260);--accent: oklch(.92 .02 85);--accent-foreground: oklch(.13 .01 280);--destructive: oklch(.628 .258 29.23);--destructive-foreground: oklch(.98 0 0);--border: oklch(.3 .02 260);--input: oklch(.3 .02 260);--ring: oklch(.55 .1 280);--font-sans: "Spline Sans", system-ui, sans-serif;--font-mono: "Spline Sans Mono", monospace;--radius: .125rem;--series-us: #4F8FC0;--series-world: #D9A441;--series-europe: #79A87D}.dark{--background: oklch(.13 .01 280);--foreground: oklch(.94 .01 85);--card: oklch(.16 .01 280);--card-foreground: oklch(.94 .01 85);--popover: oklch(.16 .01 280);--popover-foreground: oklch(.94 .01 85);--primary: oklch(.13 .01 280);--primary-foreground: oklch(.94 .01 85);--secondary: oklch(.3 .02 260);--secondary-foreground: oklch(.94 .01 85);--muted: oklch(.18 .01 280);--muted-foreground: oklch(.7 .01 260);--accent: oklch(.92 .02 85);--accent-foreground: oklch(.13 .01 280);--destructive: oklch(.628 .258 29.23);--destructive-foreground: oklch(.98 0 0);--border: oklch(.3 .02 260);--input: oklch(.3 .02 260);--ring: oklch(.55 .1 280)}*{box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans)}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.app{height:100%;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 80% -25%,color-mix(in oklch,var(--secondary) 32%,transparent),transparent 60%),var(--background)}.topbar{height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4.2vw,72px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:34px;height:34px;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent)}.brand-name{font:600 14px Archivo,sans-serif;letter-spacing:.02em}.brand-sub{font-size:11px;color:var(--muted-foreground);margin-top:3px}.topright{display:flex;align-items:center;gap:10px;color:var(--muted-foreground);font:11px var(--font-mono)}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--series-europe);box-shadow:0 0 10px var(--series-europe)}.status-dot.error{background:var(--destructive);box-shadow:none}.content{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:clamp(24px,4vh,44px) clamp(22px,4.2vw,72px) 22px}.eyebrow{font:11px var(--font-mono);letter-spacing:.14em;color:var(--muted-foreground);text-transform:uppercase;display:flex;align-items:center;gap:11px}.eyebrow:before{content:"";width:21px;height:1px;background:var(--accent)}.intro{display:flex;justify-content:space-between;align-items:end;gap:28px}.intro h1{font:600 clamp(31px,3.4vw,52px)/1.07 Archivo,sans-serif;letter-spacing:-.045em;margin:18px 0 11px}.intro p{margin:0;color:var(--muted-foreground);font-size:14px;line-height:1.55}.ref-badge{font:11px var(--font-mono);color:var(--muted-foreground);border:1px solid var(--border);padding:10px 13px;white-space:nowrap}.ref-badge b{color:var(--accent);font-weight:500}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:35px;margin-bottom:16px}.toolbar-label{font:11px var(--font-mono);color:var(--muted-foreground);letter-spacing:.12em;text-transform:uppercase}.periods{display:flex;gap:4px;background:var(--card);border:1px solid var(--border);padding:4px}.period{border:0;color:var(--muted-foreground);background:transparent;min-width:48px;padding:8px 12px;font:12px var(--font-mono);transition:background .15s,color .15s}.period:hover{color:var(--foreground);background:var(--secondary)}.period.active{background:var(--accent);color:var(--accent-foreground)}.chart-panel{position:relative;flex:1;min-height:330px;background:linear-gradient(140deg,color-mix(in oklch,var(--card) 95%,var(--secondary)),var(--card) 72%);border:1px solid var(--border);display:flex;flex-direction:column}.panel-head{padding:20px 26px 0;display:flex;justify-content:space-between;align-items:center;gap:14px}.panel-heading{font:500 13px Archivo,sans-serif}.panel-meta{font:11px var(--font-mono);color:var(--muted-foreground)}.chart-wrap{flex:1;min-height:240px;padding:20px 14px 8px 0}.chart-loading{flex:1;display:grid;place-items:center;color:var(--muted-foreground);font-size:13px}.spinner{width:19px;height:19px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.error-box{margin:auto;max-width:520px;padding:25px;color:var(--foreground);text-align:center}.error-box svg{color:var(--destructive)}.error-box h2{font:600 18px Archivo,sans-serif;margin:12px 0 7px}.error-box p{color:var(--muted-foreground);font-size:13px;line-height:1.6}.retry{border:1px solid var(--border);background:var(--secondary);color:var(--foreground);padding:10px 16px;margin-top:8px}.retry:hover{background:var(--accent);color:var(--accent-foreground)}.tooltip{background:var(--popover);border:1px solid var(--border);padding:13px 16px;box-shadow:0 16px 35px color-mix(in oklch,var(--background) 80%,transparent);min-width:200px}.tooltip-date{font:11px var(--font-mono);color:var(--muted-foreground);margin-bottom:12px}.tooltip-row{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;margin:8px 0}.tooltip-label{display:flex;gap:8px;align-items:center}.tooltip-value{font:12px var(--font-mono);color:var(--foreground)}.swatch{width:7px;height:7px;flex-shrink:0}.legend{border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 26px}.legend-item{display:flex;gap:13px;text-align:left;align-items:center;padding:20px 16px 19px 0;background:transparent;border:0;color:var(--foreground);min-width:0;transition:opacity .15s,transform .15s}.legend-item:not(:first-child){border-left:1px solid var(--border);padding-left:25px}.legend-item:hover{transform:translateY(-2px)}.legend-item.off{opacity:.38}.legend-line{height:3px;width:23px;flex-shrink:0}.legend-copy{min-width:0;flex:1}.legend-title{font:500 12px Archivo,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-ticker{font:10px var(--font-mono);color:var(--muted-foreground);margin-top:4px}.legend-return{font:500 15px var(--font-mono);white-space:nowrap}.legend-return.positive{color:var(--accent)}.legend-return.negative{color:var(--destructive)}.foot{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-top:19px;color:var(--muted-foreground);font-size:11px;line-height:1.5}.foot p{margin:0}.foot .foot-right{text-align:right}.foot a{color:var(--foreground);text-underline-offset:3px}.foot a:hover{color:var(--accent)}.recharts-cartesian-grid-horizontal line{stroke:var(--border)}@media(max-width:700px){.topbar{height:64px;padding:0 20px}.brand-name{font-size:13px}.topright{font-size:10px}.content{padding:25px 16px 18px}.intro{display:block}.intro h1{font-size:36px;margin:18px 0 12px}.intro p{font-size:13px}.ref-badge{display:inline-block;margin-top:19px}.toolbar{margin-top:28px}.chart-panel{min-height:445px}.panel-head{padding:18px 17px 0;align-items:start;flex-direction:column;gap:5px}.chart-wrap{min-height:250px;padding:12px 3px 4px 0}.legend{padding:0 12px;grid-template-columns:1fr}.legend-item{padding:11px 4px!important;border-left:0!important}.legend-item+.legend-item{border-top:1px solid var(--border)}.legend-title{font-size:11px}.legend-return{font-size:13px}.foot{flex-direction:column;gap:9px;padding-bottom:8px}.foot .foot-right{text-align:left}.toolbar-label{font-size:10px}.period{min-width:41px;padding:7px 8px}}
