html[data-theme="light"]{--bg:#fff;--panel:#fff;--panel-2:#f7f7f5;--ink:#17191b;--muted:#747a80;--line:#e5e7e4;--accent:#2674e8;--accent-2:#34a853;--signal:#fbbc05;--wash:rgba(66,133,244,.08);color-scheme:light}
html[data-theme="light"] body{background:#fff!important}html[data-theme="light"] .site-grid{display:none}.site-header{width:calc(100% - 48px);max-width:none;height:78px;grid-template-columns:auto 1fr auto;gap:28px}.brand-avatar{width:46px;height:46px;display:block;object-fit:cover;border-radius:50%;border:1px solid var(--line)}.site-header .brand-copy small{letter-spacing:.11em}.site-header .site-nav{justify-self:end}.site-header .theme-toggle{background:#fff!important}.site-header .site-nav a{font-size:13px!important}
.personal-hero{height:max(680px,calc(100svh - 78px));position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:#fff}.personal-hero:before,.personal-hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;filter:blur(90px);opacity:.12}.personal-hero:before{left:8%;top:18%;background:#4285f4}.personal-hero:after{right:8%;bottom:10%;background:#fbbc05}.personal-hero__center{position:relative;z-index:2;width:min(760px,92%);display:flex;flex-direction:column;align-items:center;text-align:center}.avatar-orbit{width:190px;height:190px;position:relative;margin-bottom:30px;border-radius:50%;padding:8px;border:1px solid #dfe2e6;background:#fff;box-shadow:0 24px 70px rgba(35,50,70,.12)}.avatar-orbit:before{content:"";position:absolute;inset:-13px;border:1px dashed #d8dce1;border-radius:50%;animation:avatar-spin 28s linear infinite}.avatar-orbit img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}.avatar-orbit__note{position:absolute;z-index:2;right:-62px;top:17px;padding:5px 9px;background:#fff;color:#747a80;font:8px var(--mono);letter-spacing:.12em;transform:rotate(8deg)}@keyframes avatar-spin{to{transform:rotate(360deg)}}.personal-role{margin:0 0 22px;color:#2674e8;font:500 10px var(--mono);letter-spacing:.17em}.personal-hero h1{margin:0!important;color:#17191b!important;font:600 clamp(44px,6vw,86px)/1.14 var(--display)!important;letter-spacing:-.055em}.personal-intro{margin:24px 0 0;color:#747a80;font-size:15px}.personal-links{margin-top:34px;display:flex;gap:10px}.personal-links a{min-width:98px;padding:10px 15px;border:1px solid #dfe2e6;background:rgba(255,255,255,.86);color:#34383d;font:500 11px var(--mono);transition:.22s}.personal-links a:hover{border-color:#17191b;transform:translateY(-2px)}.personal-links a:first-child{background:#17191b;color:#fff;border-color:#17191b}.personal-hero__foot{position:absolute;z-index:2;right:22px;bottom:18px;left:22px;display:flex;justify-content:space-between;color:#9aa0a6;font:8px var(--mono);letter-spacing:.14em}.color-rain{position:absolute;inset:0;z-index:1;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 2%,#000 15%,#000 80%,transparent 98%)}.color-rain i{position:absolute;top:-30px;left:var(--left);width:var(--size);height:calc(var(--size)*1.35);border-radius:60% 60% 70% 70% / 45% 45% 80% 80%;background:var(--color);opacity:.65;filter:saturate(.9);animation:color-drop var(--duration) linear var(--delay) infinite}.color-rain i:nth-child(3n){opacity:.35;filter:blur(.2px)}.color-rain i:nth-child(4n){opacity:.8}@keyframes color-drop{0%{transform:translate3d(0,-8vh,0) rotate(45deg)}50%{transform:translate3d(18px,54vh,0) rotate(45deg)}100%{transform:translate3d(-8px,108vh,0) rotate(45deg)}}
.latest .section-title,.all-entries .section-title{height:96px}.featured-card{min-height:470px;background:#fff}.featured-card--text .featured-card__body{padding:80px 8vw}.featured-card--text .featured-card__body h2{max-width:980px;margin:38px 0 24px!important;font-size:clamp(38px,5vw,72px)!important}.entry-grid{border-color:var(--line)}.entry-card{min-height:360px;background:#fff}.entry-card:hover{background:#fafaf8}.entry-card__body{min-height:360px}.entry-card h2{margin-top:34px!important}.site-footer{margin-top:60px!important}
.resume{width:min(1120px,100%);margin:0 auto;padding:90px 0 30px}.resume-hero{min-height:390px;position:relative;padding:0 0 70px;display:grid;grid-template-columns:1fr 180px;align-items:end;border-bottom:1px solid var(--line)}.resume-hero h1{margin:15px 0 8px!important;font:600 clamp(70px,11vw,148px)/.92 var(--display)!important;letter-spacing:-.07em}.resume-hero>div>p:last-child{margin:0;color:var(--muted);font-size:18px}.resume-kicker{margin:0;color:#2674e8;font:500 10px var(--mono);letter-spacing:.16em}.resume-hero img{width:150px;height:150px;justify-self:end;object-fit:cover;border-radius:50%;border:1px solid var(--line)}.resume-hero nav{position:absolute;right:0;bottom:28px;display:flex;gap:20px;font:10px var(--mono)}.resume-hero nav a:hover{color:#2674e8}.resume-intro{padding:70px 0;display:grid;grid-template-columns:1.5fr .5fr;gap:12vw;border-bottom:1px solid var(--line)}.resume-intro>p{max-width:720px;margin:0;font:500 clamp(25px,3vw,38px)/1.65 var(--display)}.resume-intro>span{color:var(--muted);font-size:12px;line-height:2}.resume-section{padding:75px 0;border-bottom:1px solid var(--line)}.resume-section>header{display:grid;grid-template-columns:55px 1fr auto;align-items:baseline;margin-bottom:55px}.resume-section>header span,.resume-section>header small{color:var(--muted);font:9px var(--mono)}.resume-section>header h2{margin:0!important;font:600 38px var(--display)!important}.resume-entry{display:grid;grid-template-columns:280px 1fr;gap:80px}.resume-entry__meta{display:flex;flex-direction:column}.resume-entry__meta strong{font:600 17px var(--display)}.resume-entry__meta span,.resume-entry__meta time{margin-top:7px;color:var(--muted);font-size:12px}.resume-entry__body>p{margin-top:0;font-size:17px}.resume-entry__body ul{padding-left:20px;color:var(--muted);font-size:14px}.resume-entry__body li{margin:12px 0}.resume-skills{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.resume-skills>div{min-height:150px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.resume-skills b{color:#2674e8;font:500 9px var(--mono);letter-spacing:.13em}.resume-skills p{margin:20px 0 0;font:600 20px var(--display)}.resume-end{padding:90px 0 35px;display:flex;justify-content:space-between;align-items:end}.resume-end p{margin:0;font:600 clamp(28px,4vw,50px) var(--display)}.resume-end a{color:var(--muted);font:10px var(--mono)}
@media(max-width:800px){.site-header{width:calc(100% - 28px)}main{width:calc(100% - 28px)}.personal-hero{height:max(640px,calc(100svh - 78px))}.avatar-orbit{width:150px;height:150px}.avatar-orbit__note{right:-38px}.personal-hero h1{font-size:43px!important}.personal-intro{font-size:13px}.featured-card--text .featured-card__body{padding:55px 22px}.resume{padding-top:55px}.resume-hero{min-height:330px;grid-template-columns:1fr 105px}.resume-hero img{width:96px;height:96px}.resume-hero nav{left:0;right:auto}.resume-intro{grid-template-columns:1fr;gap:35px}.resume-entry{grid-template-columns:1fr;gap:35px}.resume-skills{grid-template-columns:1fr}.resume-end{display:block}.resume-end a{display:block;margin-top:30px}.site-footer{width:calc(100% - 28px)}}
@media(max-width:500px){.personal-links{width:100%;display:grid;grid-template-columns:1fr 1fr}.personal-links a:first-child{grid-column:1/-1}.personal-hero__foot span:first-child{display:none}.personal-hero h1{font-size:38px!important}.color-rain i:nth-child(even){display:none}.resume-hero h1{font-size:62px!important}.resume-section>header{grid-template-columns:42px 1fr}.resume-section>header small{display:none}}
@media(prefers-reduced-motion:reduce){.color-rain i,.avatar-orbit:before{animation:none!important}.color-rain{display:none}}
.resume-hero--compact{min-height:330px}.resume-sync-note{padding:24px 0;display:grid;grid-template-columns:150px 1fr auto;gap:30px;align-items:start;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.resume-sync-note span,.resume-sync-note time{font:9px var(--mono);letter-spacing:.08em}.resume-sync-note p{max-width:580px;margin:0}.resume-source{width:min(820px,100%);margin:0 auto;padding:80px 0;font:400 16px/1.9 var(--sans)}.resume-source>h1:first-child{display:none}.resume-source h2{margin:70px 0 25px!important;padding-top:25px;border-top:1px solid var(--line);font:600 clamp(30px,4vw,44px) var(--display)!important}.resume-source h3{font:600 21px var(--display)!important}.resume-source p{margin:16px 0}.resume-source ul{padding-left:22px}.resume-source li{margin:12px 0;color:#555d64}.resume-source hr{margin:55px 0;border:0;border-top:1px solid var(--line)}.resume-source a{color:#2674e8;border-bottom:1px solid rgba(38,116,232,.25)}.resume-source strong{color:#17191b}.resume-source code{padding:2px 6px;background:#f1f5f4;color:#087c62}@media(max-width:800px){.resume-sync-note{grid-template-columns:1fr;gap:10px}.resume-source{padding:55px 0}.resume-source h2{margin-top:50px!important}}
html[data-theme="dark"] body{background:#0e1013!important}html[data-theme="dark"] .site-grid{display:none}html[data-theme="dark"] .personal-hero{background:#0e1013}html[data-theme="dark"] .personal-hero h1,html[data-theme="dark"] .resume-hero h1,html[data-theme="dark"] .resume-end p{color:#f2f3ef!important}html[data-theme="dark"] .personal-hero:before,html[data-theme="dark"] .personal-hero:after{opacity:.2}html[data-theme="dark"] .avatar-orbit,html[data-theme="dark"] .avatar-orbit__note{background:#15181d}html[data-theme="dark"] .avatar-orbit,html[data-theme="dark"] .avatar-orbit:before{border-color:#343943}html[data-theme="dark"] .personal-links a{background:rgba(21,24,29,.88);border-color:#343943;color:#dfe3e8}html[data-theme="dark"] .personal-links a:first-child{background:#f2f3ef;border-color:#f2f3ef;color:#111317}html[data-theme="dark"] .featured-card,html[data-theme="dark"] .entry-card{background:#0e1013}html[data-theme="dark"] .entry-card:hover{background:#15181d}html[data-theme="dark"] .resume-source li{color:#a7adb5}html[data-theme="dark"] .resume-source strong{color:#f2f3ef}html[data-theme="dark"] .resume-source code{background:#182622;color:#72e5bd}html[data-theme="dark"] .site-header .theme-toggle{background:#15181d!important}html[data-theme="dark"] .brand-avatar{border-color:#343943}

/* Personal home: one viewport, cheap paint, quiet text links. */
body{transition:none!important}
.personal-hero{height:calc(100svh - 78px);min-height:600px;border-bottom:0;background:radial-gradient(circle at 22% 32%,rgba(66,133,244,.07),transparent 25rem),radial-gradient(circle at 78% 72%,rgba(251,188,5,.06),transparent 25rem),var(--bg)}
.personal-hero:before,.personal-hero:after{display:none}
body:has(.personal-hero) .site-footer{display:none}
.personal-links{gap:28px}
.personal-links a,.personal-links a:first-child{min-width:0;padding:7px 0;border:0!important;background:transparent!important;color:var(--ink)!important;font:500 11px var(--mono);position:relative;transform:none!important}
.personal-links a span{display:inline-block;margin-left:4px;color:var(--muted);transition:transform .18s ease,color .18s ease}
.personal-links a:after{content:"";position:absolute;right:0;bottom:1px;left:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .18s ease}
.personal-links a:hover:after{transform:scaleX(1);transform-origin:left}.personal-links a:hover span{color:var(--accent);transform:translateX(3px)}
html[data-theme="dark"] .personal-hero{background:radial-gradient(circle at 22% 32%,rgba(66,133,244,.11),transparent 25rem),radial-gradient(circle at 78% 72%,rgba(251,188,5,.07),transparent 25rem),var(--bg)}

/* All posts: a compact editorial index, not a card wall. */
.posts-page{width:min(980px,100%);margin:0 auto;padding:88px 0 100px}
.posts-page__head{display:grid;grid-template-columns:1fr auto;align-items:end;padding-bottom:46px}
.posts-page__head .ui-label{margin:0 0 18px;color:var(--accent)}
.posts-page__head h1{margin:0!important;font:600 clamp(48px,7vw,82px)/1 var(--display)!important;letter-spacing:-.055em}
.posts-page__head>p{max-width:260px;margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.7;text-align:right}
.posts-list{border-top:1px solid var(--line)}
.posts-row{display:grid;grid-template-columns:112px minmax(0,1fr) 145px 28px;gap:28px;align-items:center;padding:25px 2px;border-bottom:1px solid var(--line);transition:padding .18s ease,background-color .18s ease}
.posts-row:hover{padding-right:10px;padding-left:10px;background:var(--panel-2)}
.posts-row time,.posts-row__meta{color:var(--muted);font:9px var(--mono);letter-spacing:.08em}
.posts-row h2{margin:0 0 7px!important;font:600 clamp(20px,2.3vw,27px)/1.25 var(--display)!important;letter-spacing:-.025em}
.posts-row__excerpt{margin:0;color:var(--muted);font-size:12px;line-height:1.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.posts-row__meta{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.posts-row__arrow{color:var(--muted);font-size:18px;transition:transform .18s ease,color .18s ease}.posts-row:hover .posts-row__arrow{color:var(--accent);transform:translateX(4px)}
@media(max-width:800px){.personal-hero{height:calc(100svh - 78px);min-height:600px}.posts-page{padding:58px 0 75px}.posts-page__head{display:block;padding-bottom:35px}.posts-page__head>p{margin-top:18px;text-align:left}.posts-row{grid-template-columns:82px minmax(0,1fr) 20px;gap:15px}.posts-row__meta{display:none}.posts-row__excerpt{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.posts-row time{align-self:start;padding-top:5px}}
@media(max-width:500px){.personal-links{width:auto;display:flex;grid-template-columns:none}.personal-links a:first-child{grid-column:auto}.posts-row{grid-template-columns:1fr 18px}.posts-row time{grid-column:1/-1}.posts-row__excerpt{font-size:11px}}

.site-footer--minimal{min-height:110px!important;display:flex!important;align-items:center;justify-content:space-between;color:var(--muted);font:9px var(--mono);letter-spacing:.08em}
.posts-page__head{display:block;padding-bottom:34px}
.posts-page__head h1{font-size:clamp(42px,5vw,64px)!important}

/* The landing page is a full-bleed canvas; keep its dark surface continuous. */
body:has(.personal-hero) main{width:100%;max-width:none;margin:0}
body:has(.personal-hero) .site-footer{display:none!important}
html[data-theme="dark"] body{background:var(--bg)!important}

@media(max-width:1000px){
  .site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
  .site-header .menu-toggle{width:auto;min-width:48px;height:34px;padding:0 11px;justify-self:end;border-radius:17px;font:500 11px var(--sans)}
}

.article-outro--simple{margin:70px 0;padding:22px 0}
.article-outro--simple a{align-items:center;color:var(--ink);font-size:13px}
