:root{--bg: #f6f4ee;--ink: #111111;--text: #4a4a47;--muted: #73726d;--line: #d9d6cc;--card: rgba(17, 17, 17, .045);--card-border: rgba(17, 17, 17, .08);--pill: rgba(17, 17, 17, .07)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}ul,ol{list-style:none;margin:0;padding:0}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}.skip-link{position:absolute;left:16px;top:-60px;z-index:50;padding:10px 16px;border-radius:6px;background:var(--ink);color:var(--bg);font-weight:600;font-size:14px}.skip-link:focus{top:16px}.layout{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:48px 24px 0}.sidebar{display:flex;flex-direction:column;gap:32px}.content{padding:72px 0 64px}@media(min-width:768px){.layout{padding:80px 48px 0}}@media(min-width:1024px){.layout{display:flex;justify-content:space-between;gap:16px;padding:0 96px}.sidebar{position:sticky;top:0;width:46%;max-height:100vh;padding:96px 0;justify-content:space-between}.content{width:54%;padding:96px 0}}.identity{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px}.avatar{flex-shrink:0;width:clamp(64px,9vw,92px);aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:#e7e4da}.avatar img{display:block;width:100%;height:100%}.avatar:hover img{animation:avatar-wave .7s ease-in-out}@keyframes avatar-wave{0%,to{transform:none}20%{transform:rotate(-9deg) scale(1.06)}45%{transform:rotate(8deg) scale(1.06)}70%{transform:rotate(-5deg) scale(1.03)}}.name{white-space:nowrap;color:var(--ink);font-size:clamp(2.25rem,5vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.03em}.role{margin-top:12px;color:var(--ink);font-size:clamp(1.125rem,2.2vw,1.25rem);font-weight:500;letter-spacing:-.01em}.intro{width:fit-content;max-width:100%}.tagline{margin-top:16px;width:0;min-width:100%;color:var(--muted)}.local-time{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.status-dot{width:7px;height:7px;border-radius:50%;background:#3fa66a;box-shadow:0 0 0 3px #3fa66a2e}.sidebar-foot{display:flex;flex-direction:column;gap:20px}.now-playing{display:flex;align-items:center;gap:12px;max-width:20rem;color:var(--muted);font-size:13px;line-height:1.4}.np-text{min-width:0}.np-label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.np-text a,.np-text>span:last-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-title{color:var(--ink);font-weight:500}.np-text a:hover .np-title,.np-text a:focus-visible .np-title{text-decoration:underline;text-underline-offset:3px}.eq{display:flex;align-items:flex-end;gap:2px;flex-shrink:0;width:14px;height:14px}.eq i{flex:1;height:30%;border-radius:1px;background:var(--muted);transform-origin:bottom}.eq-live i{height:100%;background:var(--ink);animation:eq-bounce .9s ease-in-out infinite}.eq-live i:nth-child(2){animation-delay:-.3s}.eq-live i:nth-child(3){animation-delay:-.6s}@keyframes eq-bounce{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.nav{display:none}@media(min-width:1024px){.nav{display:block;margin-top:64px}}.nav a{display:inline-flex;align-items:center;padding:12px 0;color:var(--muted)}.nav-line{width:32px;height:1px;margin-right:16px;background:var(--muted);transition:width .2s ease,background-color .2s ease}.nav-text{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .2s ease}.nav a:hover,.nav a:focus-visible,.nav a.active{color:var(--ink)}.nav a:hover .nav-line,.nav a:focus-visible .nav-line,.nav a.active .nav-line{width:64px;background:var(--ink)}.socials{display:flex;align-items:center;gap:20px}.socials a{display:block;color:var(--muted);transition:color .2s ease}.socials a:hover,.socials a:focus-visible{color:var(--ink)}.socials svg{display:block;width:24px;height:24px}section{scroll-margin-top:64px;margin-bottom:96px}@media(min-width:1024px){section{scroll-margin-top:96px;margin-bottom:144px}}.section-heading{position:sticky;top:0;z-index:20;margin:0 -24px 16px;padding:20px 24px;background:#f6f4eecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}@media(min-width:768px){.section-heading{margin:0 -48px 16px;padding:20px 48px}}@media(min-width:1024px){.section-heading{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}#about p+p{margin-top:16px}.inline-link{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .2s ease}.inline-link:hover,.inline-link:focus-visible{text-decoration-color:var(--ink)}.card{position:relative;display:grid;gap:8px;margin-bottom:48px;transition:opacity .2s ease}.card-project .card-aside{order:2;margin-top:8px}.card-date{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.card-title{color:var(--ink);font-size:16px;font-weight:600;line-height:1.35}.card-title a{transition:color .2s ease}.card-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:8px}.nowrap{white-space:nowrap}.arrow{display:inline-block;width:16px;height:16px;margin-left:4px;vertical-align:-2px;flex-shrink:0;transition:transform .2s ease}.card-title a:hover .arrow,.card-title a:focus-visible .arrow,.more-link:hover .arrow,.more-link:focus-visible .arrow{transform:translate(3px,-3px)}.card-sub{margin-top:2px;color:var(--muted);font-size:14px}.card-text{margin-top:8px;font-size:14.5px;line-height:1.65}.card-image{display:block;width:200px;max-width:100%;height:auto;border:1px solid var(--line);border-radius:4px;background:#fff;transition:border-color .2s ease}.card-image-text{display:grid;aspect-ratio:1;place-items:center;background:var(--ink);color:var(--bg);font-size:14px;font-weight:600;letter-spacing:-.01em}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tags li{padding:4px 12px;border-radius:999px;background:var(--pill);color:var(--ink);font-size:12px;font-weight:500;line-height:1.5}.more-link{display:inline-flex;align-items:center;color:var(--ink);font-weight:600;border-bottom:1px solid transparent;transition:border-color .2s ease}.more-link:hover,.more-link:focus-visible{border-bottom-color:var(--ink)}@media(min-width:640px){.card{grid-template-columns:2fr 6fr;gap:16px}.card-project .card-aside{order:0;margin-top:4px}.card-image{width:100%}}@media(min-width:1024px)and (hover:hover){.card:before{content:"";position:absolute;top:-16px;right:-24px;bottom:-16px;left:-24px;border-radius:8px;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.card-hit{top:-16px;right:-24px;bottom:-16px;left:-24px}.card>*{position:relative}.card-hit{position:absolute}.cards:hover .card{opacity:.5}.cards:hover .card:hover{opacity:1}.card:hover:before{background:var(--card);border-color:var(--card-border);box-shadow:inset 0 1px #fff9}.card:hover .card-image{border-color:var(--muted)}}.timeline{position:relative;margin-bottom:40px;padding:4px 0}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:22px;width:1px;background:var(--line)}.timeline-item{position:relative;padding-left:68px;margin-bottom:48px;opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1)}.timeline-item.is-visible{opacity:1;transform:none}.timeline-item:last-child{margin-bottom:0}.timeline-node{position:absolute;left:0;top:0;display:grid;place-items:center;width:44px;height:44px;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:#fff;box-shadow:0 0 0 6px var(--bg)}.timeline-logo{width:62%;height:62%;object-fit:contain}.timeline-logo-fill{width:100%;height:100%;object-fit:cover}.timeline-card .card-date{margin:0 0 6px}@media(prefers-reduced-motion:reduce){.timeline-item{opacity:1;transform:none}}.footer{max-width:28rem;color:var(--muted);font-size:14px}.last-updated{margin-top:8px;font-size:13px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(prefers-reduced-motion:reduce){.avatar:hover img,.eq-live i{animation:none}}
