.nav{z-index:200;border-bottom:1px solid rgba(var(--fg), .07);background:rgba(var(--bg), .92);-webkit-backdrop-filter:blur(8px);justify-content:space-between;align-items:center;height:48px;padding:0 40px;display:flex;position:fixed;top:0;left:0;right:0}.nav-name{color:rgba(var(--fg), .9);letter-spacing:.02em;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s}.nav-name:hover{color:rgba(var(--fg), .9)}.nav-links{align-items:center;gap:28px;display:flex}.nav-link{letter-spacing:.1em;text-transform:lowercase;color:rgba(var(--fg), .55);font-size:11px;font-weight:400;text-decoration:none;transition:color .15s}.nav-link:hover,.nav-link.active{color:rgba(var(--fg), .9)}.nav-theme-toggle{letter-spacing:.1em;text-transform:lowercase;color:rgba(var(--fg), .3);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-family:inherit;font-size:11px;transition:color .15s}.nav-theme-toggle:hover{color:rgba(var(--fg), .7)}.matrix-toggle{z-index:10;letter-spacing:.1em;text-transform:lowercase;color:rgba(var(--fg), .25);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;transition:color .15s;position:fixed;bottom:24px;right:28px}.matrix-toggle:hover{color:rgba(var(--fg), .6)}.about-page{align-items:center;min-height:100vh;padding:80px 40px 60px;display:flex}.about-inner{flex-direction:column;gap:52px;max-width:560px;display:flex}.about-header{flex-direction:row;align-items:center;gap:28px;display:flex}.about-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:96px;height:96px}.about-header>div{flex-direction:column;gap:14px;display:flex}.about-header h1{letter-spacing:-.01em;color:rgba(var(--fg), .85);margin:0;font-size:clamp(32px,5vw,52px);font-weight:300;line-height:1.1}.about-tagline{color:rgba(var(--fg), .65);margin:0;font-size:14px;font-weight:300;line-height:1.6}.about-contact{flex-direction:column;gap:0;display:flex}.contact-row{border-bottom:1px solid rgba(var(--fg), .07);align-items:baseline;gap:24px;padding:14px 0;display:flex}.contact-row:first-child{border-top:1px solid rgba(var(--fg), .07)}.contact-label{letter-spacing:.1em;text-transform:lowercase;color:rgba(var(--fg), .5);flex-shrink:0;width:64px;font-size:10px}.contact-value{color:rgba(var(--fg), .8);font-size:13px;text-decoration:none;transition:color .15s}a.contact-value:hover{color:rgba(var(--fg), .9)}.work-page{flex-direction:column;display:flex;position:fixed;inset:48px 0 0}.work-header{border-bottom:1px solid rgba(var(--fg), .07);flex-shrink:0;align-items:baseline;gap:20px;padding:20px 40px 16px;display:flex}.work-header h1{color:rgba(var(--fg), .8);letter-spacing:.02em;margin:0;font-size:13px;font-weight:500}.resume-download{letter-spacing:.1em;color:rgba(var(--fg), .7);font-size:10px;text-decoration:none;transition:color .15s}.resume-download:hover{color:rgba(var(--fg), .8)}.resume-embed-wrap{flex:1;overflow:hidden}.resume-embed{border:none;width:100%;height:100%;display:block}.resume-fallback{height:100%;color:rgba(var(--fg), .6);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.resume-fallback a{color:rgba(var(--fg), .7);text-decoration:none}.resume-fallback a:hover{color:rgba(var(--fg), .85)}.post-card{cursor:pointer;flex-direction:column;flex:none;gap:8px;width:260px;display:flex}.post-media{background:var(--color-media-bg);border-radius:4px;width:260px;height:260px;position:relative;overflow:hidden}.post-media img,.post-media video{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.post-card.hovered .post-media img,.post-card.hovered .post-media video{transform:scale(1.03)}.multi-badge,.reel-badge{color:#fff;filter:drop-shadow(0 1px 2px #00000080);width:20px;height:20px;position:absolute;top:8px;right:8px}.reel-badge{top:8px;right:8px}.multi-badge+.reel-badge{right:34px}.caption-overlay{opacity:0;background:linear-gradient(#0000 50%,#000000bf 100%);align-items:flex-end;padding:12px;transition:opacity .2s;display:flex;position:absolute;inset:0}.post-card.hovered .caption-overlay{opacity:1}.caption-overlay p{color:#ffffffe6;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.post-date{color:rgba(var(--fg), .6);letter-spacing:.03em;font-size:11px}.lightbox-backdrop{background:rgba(var(--bg), .95);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;gap:16px;width:100%;max-width:900px;max-height:90vh;display:flex}.lightbox-topbar{justify-content:space-between;align-items:center;display:flex}.lightbox-close{color:rgba(var(--fg), .8);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px;transition:color .15s}.lightbox-close:hover{color:rgba(var(--fg), 1)}.lightbox-link{color:rgba(var(--fg), .5);letter-spacing:.05em;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:color .15s;display:flex}.lightbox-link:hover{color:rgba(var(--fg), .9)}.lightbox-media{justify-content:center;align-items:center;max-height:75vh;display:flex;position:relative}.lightbox-media img,.lightbox-media video{object-fit:contain;border-radius:2px;max-width:100%;max-height:75vh}.lightbox-nav{background:rgba(var(--fg), .12);color:rgba(var(--fg), .7);cursor:pointer;z-index:1;border:none;border-radius:2px;padding:8px 14px;font-size:36px;line-height:1;transition:background .15s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:rgba(var(--fg), .22)}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-info{flex-direction:column;gap:6px;display:flex}.lightbox-date{color:rgba(var(--fg), .8);letter-spacing:.04em;margin:0;font-size:11px}.lightbox-caption{color:rgba(var(--fg), .8);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.lightbox-count{color:rgba(var(--fg), .5);margin:0;font-size:11px}.minimap{z-index:100;-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;display:flex;position:fixed;top:170px;left:40px;right:40px}.minimap-years{height:12px;position:relative}.minimap-year-label{letter-spacing:.1em;color:rgba(var(--fg), .6);white-space:nowrap;pointer-events:none;font-size:9px;font-weight:500;position:absolute;transform:translate(-1px)}.minimap-bar{cursor:crosshair;align-items:center;height:16px;display:flex;position:relative}.minimap-bar:before{content:"";background:rgba(var(--fg), .12);pointer-events:none;height:1px;position:absolute;inset:50% 0 0;transform:translateY(-50%)}.minimap-tick{background:rgba(var(--fg), .15);pointer-events:none;width:1px;position:absolute;transform:translate(-.5px)}.minimap-tick.month{height:4px;top:50%;transform:translate(-.5px,-50%)}.minimap-tick.year{background:rgba(var(--fg), .3);height:10px;top:50%;transform:translate(-.5px,-50%)}.minimap-indicator{pointer-events:none;background:#c20;border-radius:1px;width:2px;height:28px;position:absolute;top:50%;transform:translateY(-50%)}.minimap-density{height:4px;position:relative}.minimap-density-block{background:rgba(var(--fg), 1);pointer-events:none;height:100%;position:absolute;top:0}.art-intro{border-bottom:1px solid rgba(var(--fg), .07);color:rgba(var(--fg), .55);z-index:100;max-width:560px;margin:0;padding-bottom:12px;font-size:12px;font-weight:300;line-height:1.7;position:fixed;top:60px;left:40px;right:40px}.timeline-viewport{align-items:center;display:flex;position:fixed;inset:234px 0 0;overflow:hidden}.timeline-strip{will-change:transform;flex-direction:column;gap:0;width:max-content;padding:0 40px;display:flex}.timeline-header{align-items:baseline;gap:16px;padding-bottom:32px;display:flex}.timeline-header span:first-child{color:rgba(var(--fg), .9);letter-spacing:.02em;font-size:15px;font-weight:500}.timeline-count{color:rgba(var(--fg), .5);font-size:11px}.timeline-rail{background:linear-gradient(to right, transparent, rgba(var(--fg), .1) 5%, rgba(var(--fg), .1) 95%, transparent);pointer-events:none;z-index:-1;width:100%;height:1px;margin-top:-148px;position:relative}.timeline-track,.month-group{align-items:flex-end;gap:0;display:flex}.month-marker{flex-direction:column;align-items:center;width:60px;padding-bottom:26px;display:flex}.month-label{flex-direction:column;align-items:center;gap:2px;margin-bottom:10px;display:flex}.month-name{color:rgba(var(--fg), .6);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.month-year{color:rgba(var(--fg), .45);letter-spacing:.06em;font-size:9px}.marker-line{background:linear-gradient(to bottom, rgba(var(--fg), .15), transparent);width:1px;height:40px}.month-posts{gap:20px;padding-right:20px;display:flex}.timeline-end{align-items:center;width:40px;padding-bottom:34px;display:flex}.end-line{background:linear-gradient(to bottom, transparent, rgba(var(--fg), .08), transparent);width:1px;height:260px}.matrix-rain-root{z-index:-1;pointer-events:none;opacity:0;transition:opacity .8s;position:fixed;inset:0}.matrix-rain-root.active{opacity:1}.matrix-rain-root canvas{width:100%!important;height:100%!important}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto}:root{--bg:247, 246, 243;--fg:0, 0, 0;--color-media-bg:#ddd}[data-theme=dark]{--bg:20, 19, 18;--fg:255, 255, 255;--color-media-bg:#2d2d2d}body{background:rgb(var(--bg));color:rgba(var(--fg), .9);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;overflow-x:hidden}html.matrix-active body{background:0 0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:rgba(var(--fg), .06)}::-webkit-scrollbar-thumb{background:rgba(var(--fg), .2);border-radius:2px}
