/* JII forecast-model library: corporate tokens, compact company rows. */
body.model-library{color:var(--text);background:#fff}.model-library .ml-main{max-width:1100px;margin:auto;padding:38px 48px 55px}.model-library .ml-header{max-width:750px;margin-bottom:28px}.model-library .ml-kicker{font-family:var(--mono);font-size:10px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase}.model-library h1{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.4;color:var(--ink);margin:7px 0 12px}.model-library .ml-intro{font-size:14px;line-height:1.85;color:var(--text-mid);max-width:690px}.ml-toolbar{font-family:var(--mono);font-size:10px;color:var(--text-dim);display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink);padding:0 0 10px;margin-bottom:0}.ml-row{display:grid;grid-template-columns:70px minmax(0,1fr) 185px;gap:24px;padding:24px 0;border-bottom:1px solid var(--rule);align-items:start}.ml-ticker{font-family:var(--mono);font-size:21px;line-height:1.3;color:var(--ink)}.ml-company h2{font-size:20px;font-weight:500;color:var(--ink);line-height:1.4;margin:0 0 7px}.ml-company h2 a{text-decoration:none}.ml-company h2 a:hover{text-decoration:underline}.ml-company p{font-size:12px;color:var(--text-mid);line-height:1.75;margin:6px 0}.ml-company .ml-meta{font-size:10px;color:var(--text-dim)}.ml-company .ml-years{font-family:var(--mono);font-size:10px}.ml-actions{display:flex;flex-direction:column;gap:9px;align-items:stretch}.ml-actions a{font-size:11px;text-decoration:none;text-align:center;padding:10px 12px;border:1px solid var(--ink);line-height:1.5;color:var(--ink)}.ml-actions a:first-child{background:var(--ink);color:white}.ml-actions a:hover{box-shadow:0 0 0 1px var(--ink)}.ml-actions .ml-csv{border:0;text-align:left;padding:0;font-size:10px;color:var(--text-dim);text-decoration:underline}.ml-notes{max-width:790px;margin-top:24px;font-size:11px;color:var(--text-dim);line-height:1.85}.ml-notes a{color:var(--ink-soft);text-underline-offset:3px}.skip-link{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:2000}.skip-link:focus{top:10px}@media(max-width:760px){.model-library .ml-main{padding:26px 22px 36px}.model-library h1{font-size:29px}.model-library .ml-intro{font-size:12px}.ml-toolbar{font-size:9px}.ml-row{grid-template-columns:52px minmax(0,1fr);gap:15px;padding:21px 0}.ml-ticker{font-size:18px}.ml-company h2{font-size:18px}.ml-company p{font-size:11px}.ml-actions{grid-column:2;max-width:260px;gap:8px}.ml-actions a{font-size:11px}.ml-notes{font-size:10px}}
