/* Shared theme selector: publications, hypotheses, studies and follow-up. */
:is(body,body[data-desk=forecast]) .theme-browser{padding:22px;margin:22px 0;border:1px solid #e0e9ef;border-radius:20px;background:linear-gradient(125deg,#f2f7fb 0%,#fcfdff 55%,#f5f9fc 100%);box-shadow:0 6px 24px #24466306;overflow:visible}
:is(body,body[data-desk=forecast]) .theme-browser header{display:grid;grid-template-columns:1fr minmax(220px,340px);gap:20px;align-items:center;margin:0 0 18px}
:is(body,body[data-desk=forecast]) .theme-browser .eyebrow{color:#5c8099!important;font:600 10px/1.5 "Segoe UI",Arial,sans-serif!important;letter-spacing:.12em}
:is(body,body[data-desk=forecast]) .theme-browser h2{margin:5px 0 6px;font:500 25px/1.25 "Segoe UI",Arial,sans-serif!important;letter-spacing:-.55px;color:#223d51!important}
:is(body,body[data-desk=forecast]) .theme-browser .theme-intro{margin:0;font:400 13px/1.55 "Segoe UI",Arial,sans-serif!important;color:#62798a!important}
:is(body,body[data-desk=forecast]) .theme-browser .theme-search{font:500 11px/1.4 "Segoe UI",Arial,sans-serif!important;color:#587187!important}
:is(body,body[data-desk=forecast]) .theme-browser input{width:100%;margin-top:6px;border:1px solid #dbe5ed;border-radius:12px;padding:11px 14px;background:#fff;color:#233e52;font:400 14px/1.5 "Segoe UI",Arial,sans-serif!important;box-shadow:0 2px 8px #24466304}
:is(body,body[data-desk=forecast]) .theme-browser input::placeholder{color:#8295a5}
:is(body,body[data-desk=forecast]) .theme-browser .theme-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
:is(body,body[data-desk=forecast]) .theme-browser .theme-directory>:is(a,button){position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 22px;gap:10px;align-items:center;min-width:0;min-height:82px;padding:14px 12px;border:1px solid #e0e7ee;border-radius:15px;outline:0;background:#fff;background:linear-gradient(125deg,#fff,color-mix(in srgb,var(--theme-colour) 5%,white));box-shadow:0 2px 7px #29435303;text-decoration:none;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
:is(body,body[data-desk=forecast]) .theme-browser .theme-directory>:is(a,button):hover{background:linear-gradient(125deg,#fff,#edf5fb);border-color:#b7ccd9;box-shadow:0 6px 16px #2446630c;transform:translateY(-2px) scale(1.015)}
:is(body,body[data-desk=forecast]) .theme-browser .theme-directory>:is(a,button):focus-visible{outline:3px solid #76a5c4;outline-offset:3px}
:is(body,body[data-desk=forecast]) .theme-browser .theme-directory>:is([aria-pressed=true],[aria-current=page]){background:#eaf3fa;border-color:#8cafc8;box-shadow:inset 0 0 0 1px #8cafc8;outline:none}
:is(body,body[data-desk=forecast]) .theme-browser .theme-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:#edf3f8;background:color-mix(in srgb,var(--theme-colour) 10%,white);color:var(--theme-colour)!important}
.theme-browser .theme-icon svg{width:23px;height:23px;display:block}
:is(body,body[data-desk=forecast]) .theme-browser .theme-card-copy{display:block!important;min-width:0}
:is(body,body[data-desk=forecast]) .theme-browser .theme-directory b{display:block;font:600 14px/1.35 "Segoe UI",Arial,sans-serif!important;letter-spacing:-.15px;color:#294353!important}
:is(body,body[data-desk=forecast]) .theme-browser .theme-directory small{display:block;margin-top:5px;font:400 11px/1.4 "Segoe UI",Arial,sans-serif!important;color:#748594!important}
:is(body,body[data-desk=forecast]) .theme-browser .theme-arrow{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#f0f5f9;color:#63849c!important;font:400 15px/1 "Segoe UI",Arial,sans-serif!important}
.theme-browser .theme-directory>:is([aria-pressed=true],[aria-current=page]) .theme-arrow{font-size:0!important;background:#d1e5f3!important}
.theme-browser .theme-directory>:is([aria-pressed=true],[aria-current=page]) .theme-arrow::after{content:'✓';font:600 12px/1 "Segoe UI",Arial,sans-serif;color:#315f7e}
.theme-browser .theme-selected{display:none}
:is(body,body[data-desk=forecast]) .theme-browser .theme-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:15px;padding-top:13px;border-top:1px solid #e2eaf0}
:is(body,body[data-desk=forecast]) .theme-browser .theme-actions>.outline{border:1px solid #d2e1ed;border-radius:20px;background:#e9f2f9;color:#355b75!important;padding:8px 14px;font:500 12px/1.4 "Segoe UI",Arial,sans-serif!important;min-height:34px}
:is(body,body[data-desk=forecast]) .theme-browser .theme-actions>.outline[aria-pressed=true]{background:#d9eaf6;border-color:#97b7ce;color:#294c65!important}
.theme-browser .theme-method{max-width:460px}
:is(body,body[data-desk=forecast]) .theme-browser .theme-method summary{cursor:pointer;color:#70899b!important;font:400 11px/1.5 "Segoe UI",Arial,sans-serif!important}
:is(body,body[data-desk=forecast]) .theme-browser .theme-method .meta{margin:8px 0 0;font:400 12px/1.5 "Segoe UI",Arial,sans-serif!important;color:#62798a!important}
@media(max-width:1050px){:is(body,body[data-desk=forecast]) .theme-browser .theme-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){:is(body,body[data-desk=forecast]) .theme-browser{padding:16px;border-radius:17px;margin:16px 0}:is(body,body[data-desk=forecast]) .theme-browser header{grid-template-columns:1fr;gap:13px;margin-bottom:14px}:is(body,body[data-desk=forecast]) .theme-browser h2{font-size:22px!important}:is(body,body[data-desk=forecast]) .theme-browser .theme-directory{gap:8px}:is(body,body[data-desk=forecast]) .theme-browser .theme-directory>:is(a,button){grid-template-columns:30px minmax(0,1fr);gap:9px;padding:12px 10px;min-height:88px}:is(body,body[data-desk=forecast]) .theme-browser .theme-icon{width:30px;height:33px;border-radius:10px}.theme-browser .theme-icon svg{width:21px;height:21px}:is(body,body[data-desk=forecast]) .theme-browser .theme-directory b{font-size:13px!important}:is(body,body[data-desk=forecast]) .theme-browser .theme-directory small{font-size:10px!important}:is(body,body[data-desk=forecast]) .theme-browser .theme-arrow{display:none}.theme-browser .theme-method{width:100%}}
@media(max-width:360px){:is(body,body[data-desk=forecast]) .theme-browser .theme-directory{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:is(body,body[data-desk=forecast]) .theme-browser .theme-directory>:is(a,button){transition:none;transform:none!important}}
