:root{color-scheme:dark;--bg:#07111f;--panel:#101d30;--panel2:#16253a;--text:#edf4ff;--muted:#9cb0cc;--line:#293b53;--blue:#86b9ff;--shadow:0 20px 70px #0003}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.light{color-scheme:light;--bg:#edf3fb;--panel:#fff;--panel2:#f1f5fc;--text:#14263f;--muted:#506580;--line:#ccd8e7;--blue:#225fc1;--shadow:0 15px 50px #28466912}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}a{color:var(--blue);text-underline-offset:4px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.app{max-width:1280px;margin:auto;padding:0 32px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-size:25px;font-weight:800;font-style:italic;letter-spacing:-1px;white-space:nowrap}.brand b{color:var(--blue)}.brand small{font-size:12px;letter-spacing:1px;font-style:normal;color:var(--muted)}.brand-icon{font-size:27px;color:var(--blue);border:1px solid var(--line);border-radius:12px;padding:0 9px}.brand-icon span{font-size:22px}nav{display:flex;align-items:center;gap:22px;font-size:14px}nav a{text-decoration:none}.country{display:flex;gap:8px;align-items:center;color:var(--muted)}select,.quiet{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:9px 12px;font-size:14px}.ticker{border-block:1px solid var(--line);display:flex;gap:30px;overflow:auto;white-space:nowrap;padding:12px 0;font-size:14px;color:var(--muted)}.ticker b{color:var(--text);margin-right:8px}.positive{color:#60d8af}.negative{color:#f0939c}.intro{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin:34px 0 27px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:750;color:var(--blue);margin:0 0 8px}h1{font-size:clamp(30px,3.8vw,46px);line-height:1.1;letter-spacing:-1.8px;margin:0 0 14px}h2{font-size:23px;line-height:1.25;letter-spacing:-.6px;margin:0 0 12px}.intro p:last-child{color:var(--muted);max-width:620px;margin-bottom:0}.market-status{display:grid;gap:6px;text-align:right;max-width:270px;font-size:14px}.market-status small{color:var(--muted);font-size:12px}.race-shell{border:1px solid var(--line);background:var(--panel);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.race-top{padding:22px 26px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.race-top h2{margin:0}.controls{display:grid;grid-template-columns:1fr 2.1fr;gap:18px;padding:22px 26px 0}.budget,fieldset{background:var(--panel2);border:1px solid var(--line);border-radius:12px;min-width:0;padding:14px;margin:0}.budget>span,legend{font-size:14px;color:var(--muted)}.budget b,legend b{color:var(--text);margin-left:7px}.budget small{font-size:12px;margin-left:6px}.budget>div{display:flex;align-items:center;gap:12px;padding-top:12px}.budget strong{font-size:24px;color:var(--muted)}input{width:100%;min-width:0;background:transparent;border:0;color:var(--text);font-size:24px;font-weight:650;padding:0}fieldset{padding-top:4px}legend{padding:0 7px}.horizons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;height:100%;align-items:center}.horizons button{border:1px solid transparent;background:transparent;border-radius:8px;color:var(--muted);padding:12px 5px;font-size:14px;font-weight:650}.horizons button[aria-pressed=true]{background:#286be2;color:white;border-color:#5492fc}.horizons small{display:block;font-size:12px;font-weight:400;margin-top:4px}.context{color:var(--muted);font-size:13px;margin:12px 26px}.race-labels{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;color:var(--muted);padding:18px 26px 8px}.track{padding:0 14px}.lane{display:grid;grid-template-columns:34px minmax(170px,230px) 1fr 65px;gap:12px;align-items:center;background:transparent;border:0;border-top:1px solid var(--line);width:100%;text-align:left;color:var(--text);padding:15px 12px;min-height:86px}.lane:hover{background:var(--panel2);border-radius:10px}.rank{font-size:18px;color:var(--muted);font-variant-numeric:tabular-nums}.lane:first-child .rank{color:#e9bd5e}.asset strong{display:block;font-size:16px}.asset small{display:block;font-size:12px;color:var(--muted)}.road{height:43px;position:relative;border-bottom:1px dashed var(--line);margin-right:14px}.road:after{content:'';position:absolute;right:0;top:0;bottom:0;border-right:2px dashed var(--muted);opacity:.4}.trail{position:absolute;left:0;bottom:8px;width:var(--score);height:5px;background:linear-gradient(90deg,transparent,var(--accent));border-radius:3px}.runner{position:absolute;left:clamp(0px,calc(var(--score) - 46px),calc(100% - 50px));bottom:6px;display:flex;align-items:center;justify-content:center;width:56px;height:39px;font-weight:800;font-size:15px;color:var(--accent);text-shadow:0 0 14px var(--accent)}.runner img{width:70px;height:50px;object-fit:contain;filter:drop-shadow(0 4px 7px #0007)}.score{font-size:29px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.score small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.race-note{padding:17px 26px;margin:18px 0 0;background:var(--panel2);font-size:13px;color:var(--muted);border-top:1px solid var(--line)}.empty{padding:35px 12px;color:var(--muted);text-align:center}.empty button{margin-top:15px}.us-context{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:35px 0}.us-context article{border-top:1px solid var(--line);padding-top:24px}.us-context p:not(.eyebrow),.method>p:not(.eyebrow),details p{color:var(--muted)}.us-context a{font-size:14px}.method{background:var(--panel);border:1px solid var(--line);padding:26px;border-radius:16px;margin-bottom:30px}.weights{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.weights>div{padding:12px;background:var(--panel2);border-radius:10px;font-size:13px;color:var(--muted)}.weights b{display:block;font-size:23px;color:var(--text)}summary{cursor:pointer;font-size:16px}details{border-top:1px solid var(--line);padding-top:18px}details p{font-size:14px}.official{margin:32px 0;display:flex;flex-wrap:wrap;gap:16px 26px}.official h2{width:100%;font-size:20px;margin-bottom:0}.official a{font-size:14px}footer{border-top:1px solid var(--line);padding:24px 0 30px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--muted)}footer div{display:flex;gap:18px;flex-wrap:wrap}footer p{width:100%;margin:0}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;width:min(720px,calc(100% - 28px));max-height:90vh;padding:30px;box-shadow:var(--shadow)}dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}.close{position:sticky;top:0;float:right;background:var(--panel2);border:1px solid var(--line);border-radius:50%;width:36px;height:36px;color:var(--text);font-size:24px}.detail-score{font-size:45px;font-weight:800;margin:0}.detail-score small{font-size:16px;color:var(--muted)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.facts>div{background:var(--panel2);border-radius:9px;padding:12px;font-size:13px;color:var(--muted)}.facts b{display:block;color:var(--text);font-size:18px}.factors{margin:22px 0}.factor{display:grid;grid-template-columns:145px 1fr 42px;align-items:center;gap:12px;margin:9px 0;font-size:14px}.factor meter{width:100%;height:15px}.detail-meta{font-size:13px;color:var(--muted)}.components{padding-left:22px}.components li{padding:7px 0;font-size:14px}.components b{float:right}.info-page{max-width:850px}.info-page section{padding:25px 0;border-bottom:1px solid var(--line)}.info-page p{color:var(--muted)}
@media(max-width:900px){header{align-items:flex-start;flex-direction:column;gap:15px}nav{width:100%;justify-content:space-between;gap:12px}.intro{align-items:flex-start;flex-direction:column;gap:15px}.market-status{text-align:left;max-width:none}.controls{grid-template-columns:1fr}.budget>div{padding-top:6px}.lane{grid-template-columns:28px minmax(145px,195px) 1fr 54px;gap:8px}.weights{grid-template-columns:repeat(3,1fr)}}
@media(max-width:580px){.app{padding:0 14px}header{padding:18px 0}.brand{font-size:22px}nav{flex-wrap:wrap}nav>a{display:none}.country{font-size:12px;gap:5px}select{max-width:190px;padding:8px;font-size:12px}.quiet{font-size:12px;padding:8px}.intro{margin:25px 0 20px}h1{font-size:32px}.intro p:last-child{font-size:14px}.race-top{padding:19px 15px 0}.race-top h2{font-size:19px}.controls{padding:18px 14px 0;gap:13px}.horizons button{font-size:12px}.horizons small{font-size:12px}.context{margin:12px 15px}.race-labels{padding:16px 15px 8px;font-size:10px}.track{padding:0 7px}.lane{grid-template-columns:22px minmax(110px,130px) 1fr 43px;padding:13px 7px;gap:6px;min-height:79px}.asset strong{font-size:14px}.asset small{font-size:12px}.road{margin-right:0}.runner{font-size:12px;width:38px;left:clamp(0px,calc(var(--score) - 28px),calc(100% - 35px))}.runner img{width:50px;height:38px}.score{font-size:25px}.rank{font-size:15px}.race-note{padding:15px}.us-context{grid-template-columns:1fr;gap:25px}.method{padding:20px 16px}.weights{grid-template-columns:repeat(2,1fr)}.factor{grid-template-columns:125px 1fr 28px;gap:8px;font-size:13px}dialog{padding:22px 18px}.facts{grid-template-columns:1fr 1fr}footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
