/* FOCUS MODE: visual changes go here. Content lives in content.js/projects.js/notes. */
body.theme-9{
 --bg:#ffffff;
 --ink:#18181b;
 --accent:#4169ad;
 --panel:#fafafa;
 --muted:#71717a;
 --border:#e4e4e7;
 --focus-width:850px;
 --focus-font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --focus-heading:Arial,sans-serif;
 font-family:var(--focus-font);
}
.theme-9 main,.theme-9 .nav,.theme-9 footer{max-width:var(--focus-width)}
.theme-9 h1,.theme-9 h2,.theme-9 h3{font-family:var(--focus-heading)}
.theme-9 .nav a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:7px}
.theme-9 .skills{margin-top:65px}
.theme-9 .skills .section-heading{margin-bottom:15px}
.theme-9 .skills .section-heading h2{font-size:23px;letter-spacing:-.5px}
.skill-group{display:grid;grid-template-columns:165px 1fr;gap:20px;border-top:1px solid var(--border);padding:18px 0}
.skill-group dt{font-size:12px;font-weight:550}.skill-group dd{margin:0;font-size:12px;line-height:1.9;color:var(--muted)}
.library{min-height:calc(100vh - 185px);padding-bottom:65px}
.library-heading{padding:50px 0 30px}.library-heading h1{margin:18px 0}.library-heading .lede{max-width:550px}
.library-controls label{display:block;font-size:11px;margin:12px 0 7px;color:var(--muted)}
.library-controls input,.library-controls select{width:100%;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:5px;padding:12px 14px;font:13px var(--focus-font)}
.library-controls input:focus-visible,.library-controls select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.library-controls select{width:auto;max-width:100%}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}.filters button{border:1px solid var(--border);padding:7px 11px;border-radius:4px;background:var(--bg);color:var(--muted);font-size:10px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.result-count{font:10px monospace;color:var(--muted);margin:22px 0 15px}.index-row{display:block;padding:25px 0;border-top:1px solid var(--border)}.index-row:last-child{border-bottom:1px solid var(--border)}.theme-9 .index-row h2{font:500 23px var(--focus-heading);letter-spacing:-.6px;margin:10px 0}.index-row h2 span{float:right;font-size:18px}.index-row:hover h2{color:var(--accent)}.index-row p{font-size:13px;color:var(--muted);max-width:540px;margin-bottom:12px}.empty{padding:35px 0;color:var(--muted);font-size:14px}
.source-link{font-size:10px;color:var(--accent);margin-left:20px;border-bottom:1px solid var(--border)}
.note-body{border-top:1px solid var(--border);padding-top:30px;overflow-wrap:anywhere}.note-body h2{margin-top:35px!important}.note-body pre{overflow:auto;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:5px;font-size:12px;line-height:1.8}.note-body code{font-family:monospace;background:var(--panel);padding:2px 4px}.note-body pre code{padding:0}.note-body blockquote{margin:25px 0;padding:15px 22px;border-left:2px solid var(--accent);background:var(--panel);color:var(--muted);font-size:14px}.note-body ul,.note-body ol{padding-left:22px;color:var(--muted);font-size:14px;line-height:1.9}.note-body a{color:var(--accent);text-decoration:underline}.note-body hr{border:0;border-top:1px solid var(--border);margin:35px 0}
@media(max-width:560px){.skill-group{grid-template-columns:1fr;gap:8px;padding:17px 0}.library-heading{padding-top:30px}.theme-9 .nav{gap:16px}.theme-9 nav{gap:19px}.theme-9 .skills{margin-top:50px}}

.contact-links{display:flex;flex-wrap:wrap;gap:12px 28px}.contact-links a{font-size:13px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.project-media{margin:30px 0}.project-media img,.project-media video{width:100%;display:block}.project-media figcaption{padding:15px 20px}.project-media a{display:block}.theme-9 .project-hero .lede{max-width:600px}.theme-9 h1{overflow-wrap:break-word}.theme-9 .hero h1{font-family:var(--focus-heading)}.theme-9 .connect h2{font-family:var(--focus-heading)}

/* Shared class/research project components. No project-specific colors. */
.project-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0}
.project-links a{font-size:12px;color:var(--accent);border-bottom:1px solid var(--border)}
.project-skills{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.8;table-layout:fixed}
.project-skills th,.project-skills td{padding:16px 12px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}
.project-skills thead{background:var(--panel);font-size:10px;color:var(--muted)}
.project-skills th:first-child{width:32%}.project-skills tbody th{font-weight:500;overflow-wrap:break-word}.project-skills td{color:var(--muted)}
.project-bullets{padding-left:20px;color:var(--muted);font-size:15px;line-height:1.85}.project-bullets li+li{margin-top:10px}
article section>h3{font-size:18px;font-weight:550;letter-spacing:-.3px;margin:38px 0 12px}
.project-terms{margin:0}.project-terms>div{border-top:1px solid var(--border);padding:16px 0 4px}.project-terms>div:last-child{border-bottom:1px solid var(--border)}
.project-terms dt{font-size:14px;font-weight:550;margin-bottom:6px}.project-terms dd{margin:0}.project-terms dd p{font-size:14px;line-height:1.8;margin-bottom:12px}
.case-layout>article{min-width:0}
.project-code{overflow:auto;max-width:100%;margin:0 0 22px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:5px;font:12px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:560px){.project-skills{font-size:12px}.project-skills th,.project-skills td{padding:12px 8px}.project-skills th:first-child{width:42%}.project-links{gap:12px 20px}}

/* Project figures share the page palette; real captures retain their pixels. */
.project-media { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--bg); }
.project-media figcaption { border-top:1px solid var(--border); color:var(--muted); font-size:13px; line-height:1.6; background:var(--bg); }
.project-media a { cursor:zoom-in; }
.project-media a:focus-visible { outline:3px solid var(--accent); outline-offset:-3px; }

/* Inline PDF viewer for notes with an attached paper. */
.pdf-embed{margin:35px 0 10px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel)}
.pdf-frame{display:block;width:100%;height:82vh;min-height:520px;border:0;background:#fff}
.pdf-embed figcaption{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 20px;border-top:1px solid var(--border);font-size:12px}
.pdf-embed figcaption a{color:var(--accent);border-bottom:1px solid var(--border)}
@media(max-width:560px){.pdf-frame{height:70vh;min-height:420px}}
