:root{--bg:#050505;--bg-glow:#ffffff0d;--fg:#f5f5f5;--muted:#a3a3a3;--border:#ffffff29;--card-bg:#ffffff0a;--card-bg-hover:#ffffff14;--accent:#fff;--accent-contrast:#000;--accent-blue:#3d84b8;--icon-invert:1;color:var(--fg);background:var(--bg);font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.6}:root[data-theme=light]{--bg:#fafafa;--bg-glow:#0000000a;--fg:#0a0a0a;--muted:#525252;--border:#00000024;--card-bg:#00000008;--card-bg-hover:#0000000f;--accent:#000;--accent-contrast:#fff;--accent-blue:#2c6690;--icon-invert:0}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at top, var(--bg-glow), transparent 32%), var(--bg);min-height:100vh;transition:background-color .2s,color .2s}a{color:inherit;text-decoration:none}h1,h2,h3,h4{line-height:1.15}.shell{flex-direction:column;min-height:100vh;display:flex}.nav{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:18px 32px;display:flex}.brand{cursor:pointer;font-family:SFMono-Regular,ui-monospace,monospace;font-size:1.05rem;font-weight:700}.typewriter{text-align:left;white-space:nowrap;width:9ch;display:inline-block}.typewriter .caret{margin-left:2px;animation:1s step-end infinite caret-blink}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.nav-links{flex:1;gap:24px;display:flex}.nav-link{color:var(--muted);font-size:.95rem;font-weight:600;transition:color .15s}.nav-link:hover{color:var(--fg)}.nav-link.active{color:var(--accent-blue);text-underline-offset:4px;text-decoration:underline}.theme-toggle{border:1px solid var(--border);width:34px;height:34px;color:var(--fg);background:var(--card-bg);cursor:pointer;border-radius:999px;place-items:center;padding:0;transition:background-color .15s;display:grid}.theme-toggle:hover{background:var(--card-bg-hover)}.theme-icon{width:18px;height:18px;animation:.3s icon-pop}@keyframes icon-pop{0%{opacity:0;transform:rotate(-90deg)scale(.5)}to{opacity:1;transform:rotate(0)scale(1)}}.content{flex:1;width:min(100%,760px);margin:0 auto;padding:48px 24px 80px}.hero{text-align:center;justify-items:center;gap:8px;display:grid}.avatar{object-fit:cover;border:2px solid var(--border);border-radius:50%;width:120px;height:120px;margin-bottom:8px}.hero h1{margin:0;font-size:clamp(1.8rem,5vw,2.4rem)}.tagline{color:var(--muted);max-width:480px;margin:0 0 24px}.tech-grid{flex-wrap:wrap;justify-content:center;gap:16px;width:100%;display:flex}.tech-item{border:1px solid var(--border);background:var(--card-bg);border-radius:14px;flex-direction:column;align-items:center;gap:8px;min-width:88px;padding:16px 18px;display:flex}.tech-icon{width:32px;height:32px;filter:grayscale(1) brightness(0) invert(var(--icon-invert));opacity:.9}.tech-item span{color:var(--muted);font-size:.75rem}.thoughts h1,.resume h1,.not-found h1{margin:0 0 24px}.thought-list{gap:14px;display:grid}.thought-card{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:14px;padding:18px 20px;transition:transform .15s,border-color .15s;display:block}.thought-card:hover{border-color:var(--fg);transform:translateY(-2px)}.thought-card h2{margin:4px 0 6px;font-size:1.2rem}.thought-card p{color:var(--muted);margin:0}.thought-date{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.empty{color:var(--muted)}.back-link{color:var(--muted);margin-bottom:20px;font-size:.9rem;font-weight:600;display:block}.back-link:hover{color:var(--fg)}.thought-detail h1{margin:6px 0 20px}.thought-body p{color:var(--fg)}.thought-body h1,.thought-body h2,.thought-body h3,.thought-body h4{margin-top:28px}.thought-body code{background:var(--card-bg);border-radius:6px;padding:2px 6px;font-family:SFMono-Regular,ui-monospace,monospace;font-size:.9em}.thought-body pre{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:16px;overflow-x:auto}.thought-body pre code{background:0 0;padding:0}.thought-body blockquote{border-left:3px solid var(--fg);color:var(--muted);margin:0;padding:4px 16px}.thought-body a{color:var(--fg);text-decoration:underline}.resume-block{margin-bottom:32px}.resume-block h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 14px;font-size:.85rem}.resume-entry{margin-bottom:16px}.resume-entry-head{flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:6px;display:flex}.resume-entry-head span{color:var(--muted);font-size:.85rem}.resume-entry ul{color:var(--fg);margin:0;padding-left:20px}.skill-tags{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{border:1px solid var(--accent-blue);background:var(--card-bg);color:var(--accent-blue);border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600}.not-found{text-align:center}
