@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--paper:#f8f9fc;--card:#fff;--ink:#293142;--muted:#7d8797;--line:#e8ebf1;--brand:#6485e8;--brand-deep:#3e5dbb;--pale:#f1f5ff;--shadow:0 10px 30px rgba(27,43,73,.07);--font:"Inter","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}.topbar{height:58px;display:flex;align-items:center;padding:0 clamp(22px,5vw,88px);background:rgba(18,26,53,.72);backdrop-filter:blur(16px);position:absolute;top:0;left:0;right:0;z-index:3;color:#fff}.topbar-brand{font-size:16px;font-weight:700;letter-spacing:.02em}.topbar-brand span{margin-left:8px;color:rgba(255,255,255,.52);font-size:10px;font-weight:500}.topbar nav{display:flex;gap:24px;margin-left:auto;margin-right:20px;font-size:13px;font-weight:500;color:rgba(255,255,255,.72)}.topbar nav a:hover,.topbar nav .active{color:#fff}.theme-switch{border:0;background:rgba(255,255,255,.14);width:30px;height:30px;border-radius:50%;color:#fff;font-size:16px;cursor:pointer}.cover{height:540px;min-height:520px;position:relative;color:white;background-image:url("assets/hero-nightscape.png");background-position:center;background-size:cover;display:grid;place-items:center;text-align:center}.cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,31,.4),rgba(8,13,42,.18) 52%,rgba(6,10,30,.54))}.cover-content{position:relative;z-index:1;margin-top:42px}.avatar,.profile-avatar{display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-weight:700}.avatar{width:78px;height:78px;margin:0 auto 16px;border:2px solid rgba(255,255,255,.8);background:rgba(34,53,117,.6);box-shadow:0 5px 22px rgba(0,0,0,.25);font-size:34px}.cover-name{margin:0;color:rgba(255,255,255,.86);font-size:15px;font-weight:600}.cover h1{margin:7px 0 3px;font-size:clamp(30px,4vw,46px);line-height:1.25;letter-spacing:.01em;font-weight:700}.cover-subtitle{margin:0;color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.07em;font-weight:500}.cover-button{display:inline-flex;gap:9px;margin-top:25px;padding:7px 17px;border:1px solid rgba(255,255,255,.54);border-radius:999px;background:rgba(5,13,42,.18);font-size:12px;font-weight:600;transition:.2s}.cover-button:hover{background:#fff;color:#314578}.cover-credit{position:absolute;z-index:1;right:28px;bottom:18px;color:rgba(255,255,255,.55);font-size:11px}.page-shell{max-width:1130px;margin:0 auto;padding:74px 5% 90px;display:grid;grid-template-columns:235px minmax(0,1fr);gap:55px}.profile-card{align-self:start;position:sticky;top:25px;padding:26px 22px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.profile-avatar{width:62px;height:62px;margin:0 auto 10px;background:linear-gradient(145deg,#768fe4,#3e5bb7);color:#fff;font-size:25px}.profile-card h2{margin:0;font-size:19px;line-height:1.4}.profile-card>p{margin:5px 0 18px;color:var(--muted);font-size:13px}.profile-stats{display:flex;justify-content:center;gap:22px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.profile-stats b{display:block;color:var(--ink);font-size:17px;line-height:1.3}.profile-links{display:flex;justify-content:center;gap:17px;margin-top:17px;color:var(--brand-deep);font-size:12px;font-weight:600}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.section-heading p,.category-inner>p,.eyebrow{margin:0;color:var(--brand-deep);font-size:12px;font-weight:600;letter-spacing:.05em}.section-heading h2{margin:2px 0 0;font-size:28px;line-height:1.35;letter-spacing:-.035em}.section-heading>a{color:var(--brand-deep);font-size:13px;font-weight:600}.section-heading>a span{margin-left:4px}.post-card{position:relative;display:flex;gap:18px;align-items:flex-start;margin-bottom:14px;padding:23px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.post-card:hover{transform:translateY(-2px);border-color:#cbd6fb}.post-icon{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:11px;background:#eff3ff;color:#506fce;font-size:14px;font-weight:700;letter-spacing:-.04em}.icon-dft{background:#f1f6ee;color:#75915f}.icon-md{background:#fff1ee;color:#ce816c}.icon-note{background:#faf1ff;color:#a470bd;font-size:23px}.post-body{min-width:0;padding-right:20px}.post-meta{margin:0;color:var(--muted);font-size:12px;font-weight:500}.post-body h3{margin:3px 0 5px;font-size:19px;line-height:1.45;letter-spacing:-.025em}.post-body h3 a:hover{color:var(--brand-deep)}.post-body>p:not(.post-meta){margin:0;color:var(--muted);font-size:13px;line-height:1.75}.post-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.post-tags span{padding:2px 8px;border-radius:5px;background:var(--pale);color:#6980c4;font-size:10px;font-weight:600}.post-arrow{position:absolute;right:22px;top:28px;color:var(--brand-deep);font-size:20px;font-weight:500}.post-arrow.muted{color:#b3bac7}.category-band{background:#eef2fb}.category-inner{max-width:1130px;margin:auto;padding:75px 5%}.category-inner h2{margin:5px 0 28px;font-size:30px;line-height:1.45;letter-spacing:-.04em}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.category-grid a{display:flex;min-height:145px;padding:19px;border-radius:10px;background:rgba(255,255,255,.76);border:1px solid rgba(214,221,239,.8);flex-direction:column;transition:.2s}.category-grid a:hover{background:#fff;transform:translateY(-2px)}.category-grid b{color:#9aa9d2;font-size:11px}.category-grid strong{margin-top:20px;font-size:17px}.category-grid span{margin-top:auto;color:var(--muted);font-size:11px}.about{padding:83px 25px;text-align:center;background:#fff}.about h2{max-width:740px;margin:9px auto 8px;font-size:27px;line-height:1.5;letter-spacing:-.035em}.about>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.about a{display:inline-block;margin-top:18px;color:var(--brand-deep);font-size:14px;font-weight:600}footer{max-width:1130px;margin:auto;padding:22px 5%;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}footer a{color:var(--ink);font-weight:600}body.dark{--paper:#131827;--card:#1c2435;--ink:#edf1fc;--muted:#a2acbf;--line:#2c3650;--brand:#9ab2ff;--brand-deep:#a9bbff;--pale:#27365e;--shadow:none}body.dark .category-band{background:#192238}body.dark .category-grid a,body.dark .about{background:#1c2435}body.dark .topbar{background:rgba(8,12,22,.76)}@media(max-width:760px){.topbar{padding:0 20px}.topbar nav{display:none}.theme-switch{margin-left:auto}.cover{height:490px;min-height:450px;background-position:58% center}.cover h1{font-size:32px}.cover-subtitle{max-width:260px;margin:0 auto;line-height:1.8}.page-shell{display:block;padding:48px 20px 58px}.profile-card{position:static;margin-bottom:42px}.section-heading h2{font-size:25px}.post-card{gap:13px;padding:18px}.post-icon{width:42px;height:42px;border-radius:9px;font-size:12px}.post-body{padding-right:5px}.post-body h3{font-size:16px}.post-body>p:not(.post-meta){font-size:12px}.post-arrow{display:none}.category-inner{padding:58px 20px}.category-inner h2{font-size:25px}.category-grid{grid-template-columns:1fr 1fr;gap:10px}.category-grid a{min-height:128px;padding:15px}.category-grid strong{margin-top:14px;font-size:15px}.about{padding:62px 24px}.about h2{font-size:22px}footer{padding:19px 20px;font-size:10px}.cover-credit{right:18px;bottom:15px}}
/* Service links use their official product icons. */
.profile-links{gap:14px}.profile-links a{display:inline-flex;align-items:center;gap:5px}.profile-links img{width:14px;height:14px;object-fit:contain}
/* Compact social icons; label appears only on hover or keyboard focus. */
.profile-links{gap:16px}.profile-links .icon-link{position:relative;display:grid;place-items:center;width:26px;height:26px;color:var(--brand-deep);font-size:18px}.profile-links .icon-link img{width:20px;height:20px}.profile-links .icon-link::after{position:absolute;z-index:3;bottom:-32px;left:50%;padding:3px 7px;border-radius:5px;background:var(--ink);color:var(--card);content:attr(data-tooltip);font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,-3px);transition:opacity .16s,transform .16s}.profile-links .icon-link:hover::after,.profile-links .icon-link:focus-visible::after{opacity:1;transform:translate(-50%,0)}.profile-links .icon-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:5px}body.dark .profile-links .icon-link img[src*="github"]{filter:invert(1)}
