/* Research portfolio v7.13 — inherits global themes */
.portfolio-page{width:min(100%,1040px);margin:0 auto;padding:25px clamp(16px,4vw,48px) 78px;color:var(--text)}
.portfolio-top{padding:16px 0 28px;border-bottom:1px solid var(--line)}
.portfolio-top h1{font-size:clamp(30px,3.7vw,53px);line-height:1.1;letter-spacing:-.03em;margin:13px 0 16px}
.portfolio-top p{font-size:clamp(16px,1.2vw,19px);line-height:1.7;max-width:820px;color:var(--muted,var(--text))}
.portfolio-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--phosphor);font:700 11px/1.5 var(--mono,monospace)}
.portfolio-back{display:inline-block;font-size:13px;margin:3px 0 14px;color:var(--phosphor)}
.portfolio-stats{display:flex;gap:22px;flex-wrap:wrap;padding:15px 0 6px;font-size:13px;color:var(--text)}
.portfolio-stats strong{font-size:23px;margin-right:7px;color:var(--phosphor)}
.portfolio-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.portfolio-actions a{border:1px solid var(--line);padding:11px 15px;color:var(--text);text-decoration:none;font-weight:600;font-size:14px}
.portfolio-actions a:hover{border-color:var(--phosphor);color:var(--phosphor)}
.portfolio-section{margin-top:34px}.portfolio-section>h2{font-size:clamp(22px,2.7vw,31px);margin:0 0 16px}
.portfolio-info{padding:13px 16px;border-left:2px solid var(--phosphor);margin:16px 0;color:var(--muted,var(--text));background:var(--surface);line-height:1.65}
.portfolio-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 14px}.portfolio-filters button{border:1px solid var(--line);color:var(--text);background:transparent;padding:8px 13px;cursor:pointer;border-radius:3px;font:inherit}.portfolio-filters button[aria-pressed="true"]{border-color:var(--phosphor);color:var(--phosphor)}
.portfolio-search{box-sizing:border-box;width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);padding:12px 14px;font-size:16px}
.pub-entry{padding:18px 0 19px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:58px minmax(0,1fr);gap:20px}
.pub-index{color:var(--phosphor);font:700 13px/1.6 var(--mono,monospace)}.pub-entry h3{font-size:clamp(17px,1.3vw,20px);line-height:1.38;margin:0 0 7px;overflow-wrap:anywhere}
.pub-entry h3 a{color:var(--text);text-decoration:underline;text-decoration-color:var(--phosphor);text-decoration-thickness:1px;text-underline-offset:4px}.pub-entry h3 a:hover{color:var(--phosphor)}
.pub-meta{font-size:13px;line-height:1.55;color:var(--muted,var(--text));overflow-wrap:anywhere}.pub-note{margin:9px 0 0;font-size:13px;line-height:1.55;color:var(--muted,var(--text))}.pub-note a{color:var(--phosphor)}
.pub-kind{display:inline-block;font-size:11px;letter-spacing:.025em;margin-bottom:8px;color:var(--phosphor)}
.portfolio-book{display:grid;grid-template-columns:minmax(165px,270px) 1fr;gap:clamp(22px,4vw,50px);align-items:start;padding:25px 0}.portfolio-book img{display:block;max-width:100%;height:auto;border:1px solid var(--line)}
.portfolio-book h2{font-size:clamp(23px,2.6vw,37px);line-height:1.2;margin:0 0 14px}.portfolio-book p,.portfolio-project p{line-height:1.7;font-size:16px}.portfolio-book ul,.portfolio-project ul{line-height:1.8;padding-left:20px}
.portfolio-project{padding:26px 0 32px;border-bottom:1px solid var(--line)}.portfolio-project h2{font-size:clamp(23px,2.5vw,32px);line-height:1.25}.portfolio-project h3{font-size:17px;margin-top:19px}
.portfolio-diagram{margin:24px 0}.portfolio-diagram img{max-width:100%;width:min(100%,570px);height:auto;border:1px solid var(--line)}.portfolio-diagram figcaption{font-size:12px;color:var(--muted,var(--text));line-height:1.5;max-width:570px}
.portfolio-bridge{margin:28px 0;padding:23px 26px;border:1px solid var(--line)}.portfolio-bridge h2{margin:0 0 10px;font-size:22px}.portfolio-bridge p{line-height:1.6;margin:0;color:var(--muted,var(--text))}
html[data-theme="light"] .portfolio-info,html[data-theme="light"] .portfolio-bridge{background:#f7f7f7;color:#333}html[data-theme="light"] .pub-meta,html[data-theme="light"] .pub-note{color:#3e3e3e}html[data-theme="light"] .portfolio-search{background:#fff;color:#111}
@media(max-width:650px){.portfolio-book{grid-template-columns:1fr}.portfolio-book img{max-width:235px}.pub-entry{grid-template-columns:1fr;gap:2px}.portfolio-page{padding:16px 16px 55px}}
