:root{--bg:#eef1f4;--panel:#fff;--ink:#16202b;--muted:#5b6876;--grid:#d3dae2;--line:#9fb0c1;--accent:#1f5f8b;
--c-pol:#8ec5ec;--c-cul:#7fb0cc;--c-rel:#a2aaf2;--c-exp:#c8abf4;--c-sci:#93da7b;--c-inv:#72e0ca;--c-bus:#68c784;--c-eco:#bcbcbc;--c-phi:#cfa2e4;--c-art:#f5a0d9;--c-wri:#f59a8d;--c-mus:#f6ba66;--c-ent:#f1df6d;--c-spo:#dcab78;
--fd:"Prata",Georgia,"Times New Roman",serif;--fb:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;--fm:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#10161d;--panel:#18212b;--ink:#e6ecf2;--muted:#93a1b0;--grid:#232e3a;--line:#3d4d5e;--accent:#7fb6e0;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#10161d;--panel:#18212b;--ink:#e6ecf2;--muted:#93a1b0;--grid:#232e3a;--line:#3d4d5e;--accent:#7fb6e0;color-scheme:dark}
*{box-sizing:border-box}html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--fb)}
.w{max-width:760px;margin:0 auto;padding-block:24px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:20px}
.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.brand{font:400 20px var(--fd);color:var(--accent);text-decoration:none}
.langs{display:flex;gap:4px}.langs a{font:500 13px var(--fm);color:var(--muted);text-decoration:none;padding:4px 10px;border:1px solid var(--line);border-radius:999px}
.langs a[aria-current]{background:var(--accent);border-color:var(--accent);color:var(--panel)}
.card{background:var(--panel);border:1px solid var(--grid);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:14px}
.cat{font:500 12px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cat i{width:10px;height:10px;border-radius:2px;display:inline-block}
h1{font:400 clamp(30px,6vw,42px)/1.15 var(--fd);margin:0;text-wrap:balance}
.alt{color:var(--muted);font-size:14px;margin-top:-8px}
.yrs{font:500 24px var(--fm);font-variant-numeric:tabular-nums}.yrs small{display:block;font:400 14px var(--fb);color:var(--muted)}
.bio{margin:0;font-size:17px;max-width:62ch}
.note{margin:0;font-size:14.5px;color:var(--muted);border-left:3px solid var(--line);padding-left:10px}
.cta{align-self:flex-start;background:var(--accent);color:var(--panel);text-decoration:none;font-weight:600;padding:11px 18px;border-radius:8px}
.lnk{color:var(--accent);font-weight:500}
h2{font:500 12px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px 0 0}
ul.pl{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--grid);border-radius:12px;overflow:hidden}
ul.pl li a{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--grid);color:var(--ink);text-decoration:none}
ul.pl li:last-child a{border-bottom:0}ul.pl li a:hover{background:var(--bg)}
ul.pl i{width:10px;height:10px;border-radius:2px}ul.pl .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
ul.pl small{font:12.5px var(--fm);color:var(--muted);white-space:nowrap}
h3.cc{font:500 12px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.intro{color:var(--muted);margin:0}
footer{color:var(--muted);font-size:13px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}