:root{--bg:#ffffff;--ink:#000000;--muted:#555555;--rule:#d9d9d9;--side:#ffffff;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000000;--ink:#ffffff;--muted:#a6a6a6;--rule:#333333;--side:#000000;color-scheme:dark}}
:root[data-theme=dark]{--bg:#000000;--ink:#ffffff;--muted:#a6a6a6;--rule:#333333;--side:#000000;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"IBM Plex Mono",Menlo,Consolas,monospace;font-size:.95rem;line-height:1.65}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.wrap{display:grid;grid-template-columns:17rem minmax(0,1fr);min-height:100vh}
aside{background:var(--side);border-right:1px solid var(--rule);padding:3rem 2rem}
aside .inner{position:sticky;top:3rem}
.name{display:block;font-size:1.55rem;line-height:1.15;font-weight:600;color:var(--ink);text-decoration:none}
.photo{display:block;width:100%;max-width:12rem;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:1.5rem 0}
nav ul{list-style:none;margin:1.5rem 0 0;padding:0}
nav li{margin:.35rem 0}
nav a{color:var(--muted);text-decoration:none}
nav a:hover{color:var(--ink);text-decoration:underline}
nav a[aria-current=page]{color:var(--ink);font-weight:600}
.theme-toggle{margin-top:2rem;padding:.3rem .7rem;font:inherit;font-size:.9rem;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:0;cursor:pointer}
.theme-toggle:hover{background:var(--ink);color:var(--bg)}
.theme-toggle .to-light{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .to-dark{display:none}:root:not([data-theme=light]) .theme-toggle .to-light{display:inline}}
:root[data-theme=dark] .theme-toggle .to-dark{display:none}
:root[data-theme=dark] .theme-toggle .to-light{display:inline}
main{padding:3rem 3.5rem 4rem;max-width:50rem}
h1{font-size:1.8rem;font-weight:600;line-height:1.2;margin:0 0 1.5rem}
h2{font-size:1.25rem;font-weight:600;margin:2rem 0 1rem}
.paper{padding:1.3rem 0;border-top:1px solid var(--rule)}
.paper:first-of-type{border-top:0;padding-top:0}
.title{font-size:1.1rem;font-weight:600;line-height:1.35}
.meta{color:var(--muted);margin:.2rem 0 .5rem}
.paper p{margin:.6rem 0}
.abstract{margin-top:.5rem}
.abstract summary{display:inline-block;cursor:pointer;color:var(--muted);list-style:none;user-select:none}
.abstract summary::-webkit-details-marker{display:none}
.abstract summary::before{content:"[+] "}
.abstract[open] summary::before{content:"[-] "}
.abstract summary:hover{color:var(--ink)}
.extra{color:var(--muted)}
.updated{margin-top:3rem;color:var(--muted);font-size:.9rem}
@media (max-width:800px){
 .wrap{grid-template-columns:1fr}
 aside{border-right:0;border-bottom:1px solid var(--rule);padding:1.5rem 1.25rem}
 aside .inner{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}
 .photo{width:4.5rem;max-width:none;margin:0;order:-1}
 nav{flex-basis:100%}
 nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:0}
 .theme-toggle{margin-top:0}
 main{padding:2rem 1.25rem 3rem}
 body{font-size:.93rem}
}
