:root{--bg:#111;--fg:#f2ede4;--muted:#b8b0a2;--accent:#e8c547;--rule:#3a3631}
@media (prefers-color-scheme:light){:root{--bg:#f6f2ea;--fg:#151311;--muted:#5c554b;--accent:#8a5a00;--rule:#d8d0c2}}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--fg)}
body{font-family:Georgia,"Times New Roman",serif;line-height:1.5;min-height:100svh;display:flex;flex-direction:column;padding:1.25rem}
main{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:52rem;width:100%;margin:0 auto}
.entry{display:grid;gap:1.75rem;grid-template-columns:1fr}
@media (min-width:640px){.entry.has-portrait{grid-template-columns:minmax(0,1fr) 15rem}}
.portrait{order:-1;justify-self:start}
@media (min-width:640px){.portrait{order:0;justify-self:end}}
.portrait img{display:block;width:10rem;max-width:100%;height:auto;filter:grayscale(1) contrast(1.05)}
@media (min-width:640px){.portrait img{width:15rem}}
.kicker{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem}
h1{font-size:clamp(2.2rem,8vw,4.2rem);line-height:1;font-weight:400;letter-spacing:-.02em;margin-bottom:.5rem;overflow-wrap:anywhere}
.sub{color:var(--muted);font-style:italic;font-size:1.1rem;margin-bottom:2rem}
.more{margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--rule)}
.more a.wikilink{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:inline-block;padding:.6rem 0;min-height:44px;text-decoration-thickness:1px}
.more a.wikilink:hover{color:var(--accent)}
.portrait figcaption{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}
dl{display:grid;grid-template-columns:1fr;gap:1.1rem;border-top:1px solid var(--rule);padding-top:1.5rem}
dt{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
dd{font-size:1.1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.works{list-style:none}
.works li{margin:.2rem 0}
.works a{display:inline-block;padding:.25rem 0;min-height:44px;line-height:1.4}
.works a span{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-left:.5em;text-decoration:none}
a{color:var(--fg);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.2em}
a:hover{color:var(--accent)}
a.title{font-style:italic}
a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
footer{max-width:52rem;width:100%;margin:2.5rem auto 0;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;color:var(--muted)}
.again{display:inline-block;padding:.85rem 1.4rem;min-height:44px;background:var(--fg);color:var(--bg);text-decoration:none;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.again:hover{background:var(--accent);color:#111}
footer a.wiki{color:var(--muted)}
footer .by{margin-left:auto}footer .by a{color:var(--muted)}
@media (prefers-reduced-motion:no-preference){main{animation:in .35s ease-out}@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
.status{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;display:none}
body.offline .status{display:block}
body.offline .portrait img[data-missing]{display:none}
.again[aria-busy="true"]{opacity:.6}
@media (display-mode: standalone){body{cursor:pointer}a,button{cursor:pointer}.hint{display:block}}
.hint{display:none;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
