:root{--fg:#1b1f23;--muted:#5a6570;--line:#d9dee3;--link:#0b63b0;--bg:#fff;--card:#f8fafc}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5;color:var(--fg);background:var(--bg)}
a{color:var(--link);text-decoration:none}
a:hover,a:focus{text-decoration:underline}
img{max-width:100%;height:auto;border:0}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;background:#fff;border:1px solid #000;z-index:1000}
.wrap{max-width:980px;margin:0 auto;padding:1rem}
.lang-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem .75rem;font-size:.95rem;margin:.15rem 0 .7rem}
.lang-nav a,.lang-nav span{display:inline-flex;align-items:center;gap:.35rem}
.lang-nav img{width:22px;height:22px;border-radius:50%;vertical-align:middle}
.lang-nav .current{font-weight:700;color:var(--fg)}
header.site h1{font-size:2rem;line-height:1.15;margin:.2rem 0 0}
header.site p.tagline{margin:.2rem 0 0;color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:.45rem 0 .8rem}
.intro{display:block}
.portrait{float:left;width:189px;max-width:42vw;margin:.2rem 1rem .5rem 0;border-radius:.35rem}
section{clear:both;margin:0 0 1.1rem}
section h2{font-size:1.2rem;line-height:1.2;font-weight:700;margin:1rem 0 0}
ul{margin:.4rem 0 0;padding-left:1.2rem}
li{margin:.28rem 0}
.hobby-item{display:block}
.footer-note{color:var(--muted);font-size:.92rem;margin-top:1.5rem;padding-top:.8rem;border-top:1px solid var(--line)}
@media (max-width:700px){.portrait{float:none;display:block;margin:.2rem auto .75rem}.lang-nav{justify-content:flex-start}}
@media print{a{text-decoration:none;color:#000}.lang-nav{display:none}}
