:root{--paper: #F4F1EA;--paper-2: #EAE6DC;--rule: #D9D3C3;--rule-2: #C8C1AD;--ink: #0A0A0A;--ink-2: #2A2824;--muted: #6B675C;--muted-2: #9A9688;--accent: oklch(.72 .19 145);--accent-ink: oklch(.38 .12 145);--warn: oklch(.68 .17 48);--red: oklch(.58 .2 28)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--paper);color:var(--ink);font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::selection{background:var(--ink);color:var(--paper)}body{--grain-opacity: .5 }body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;mix-blend-mode:multiply;opacity:var(--grain-opacity, .5);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.04 0 0 0 0 0.04 0 0 0 0 0.04 0 0 0 0.08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.crosshair{position:fixed;z-index:2;pointer-events:none;color:var(--rule-2)}.crosshair.top{top:54px;left:0;right:0;height:1px;background:var(--rule)}.chrome{position:fixed;top:0;left:0;right:0;height:54px;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;font-size:11px;letter-spacing:.04em}.chrome .left{display:flex;gap:18px;align-items:center}.chrome .right{display:flex;gap:18px;align-items:center;justify-content:flex-end;color:var(--muted)}.chrome .center{display:flex;gap:14px;align-items:center;color:var(--muted)}.chrome .id{font-weight:600;letter-spacing:.06em}.chrome .dot{width:6px;height:6px;background:var(--accent);display:inline-block;border-radius:50%;animation:pulse 1.6s ease-in-out infinite;vertical-align:middle;margin-right:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.chrome nav a{color:var(--muted);transition:color .2s;padding:6px 0;position:relative}.chrome nav a:hover{color:var(--ink)}.chrome nav a.active{color:var(--ink)}.chrome nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--ink)}.kbd{font-size:10px;padding:2px 5px;border:1px solid var(--rule-2);background:var(--paper-2);color:var(--muted);border-radius:2px}.statusbar{position:fixed;bottom:0;left:0;right:0;height:26px;background:var(--ink);color:var(--paper);z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 16px;font-size:10.5px;letter-spacing:.04em;gap:18px}.statusbar .seg{display:flex;gap:14px;align-items:center}.statusbar .seg span{color:var(--muted-2)}.statusbar .seg strong{font-weight:500;color:var(--paper)}.sb-mid{justify-self:center;color:var(--muted-2);font-variant-numeric:tabular-nums}.sb-dot{width:6px;height:6px;background:var(--accent);display:inline-block;border-radius:50%;box-shadow:0 0 10px var(--accent);animation:pulse 1.6s ease-in-out infinite}main{padding:74px 0 46px;max-width:1440px;margin:0 auto;position:relative;z-index:3}.section{border-top:1px solid var(--rule);position:relative}.section:first-child{border-top:0}.section-head{display:grid;grid-template-columns:120px 1fr auto;gap:20px;padding:14px 20px;border-bottom:1px solid var(--rule);align-items:center;background:var(--paper);position:sticky;top:54px;z-index:10;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.section-head .idx{color:var(--muted);font-weight:500}.section-head .title{font-weight:600;letter-spacing:.18em}.section-head .meta{color:var(--muted);text-transform:none;letter-spacing:.04em;font-size:10.5px}.hero{padding:48px 20px 56px;display:grid;grid-template-columns:340px 1fr;gap:40px;border-bottom:1px solid var(--rule);position:relative;overflow:hidden;align-items:start}.hero .portrait-big{border:1px solid var(--rule-2);background:var(--paper);padding:8px;position:relative}.hero .portrait-big .wrap{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--ink)}.hero .portrait-big .wrap img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.95)}.hero .portrait-big .wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(10,10,10,.18) 2px 3px);mix-blend-mode:multiply;pointer-events:none}.hero .portrait-big .plabel{display:grid;grid-template-columns:1fr auto;padding:8px 6px 4px;font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.hero .portrait-big .name{font-family:"Instrument Serif",serif;font-style:italic;font-size:24px;letter-spacing:-.01em;color:var(--ink);text-transform:none;line-height:1}.hero .portrait-big .stamp{position:absolute;bottom:16px;right:16px;border:1px solid var(--red);color:var(--red);padding:5px 10px;font-size:10px;letter-spacing:.2em;transform:rotate(-6deg);font-weight:600;opacity:.85;background:color-mix(in oklab,var(--red) 6%,transparent)}.hero .over{font-size:13px;color:var(--ink);letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase;font-weight:600}.hero h1{font-family:"Instrument Serif",serif;font-weight:400;font-style:normal;font-size:clamp(52px,7.5vw,82px);line-height:.98;letter-spacing:-.02em;color:var(--ink);margin-bottom:20px}.hero .tagline{font-size:22px;color:var(--ink-2);line-height:1.4;margin-bottom:24px;font-style:italic;max-width:32ch}.hero .subline{font-size:13.5px;color:var(--ink-2);max-width:58ch;line-height:1.7;margin-bottom:28px}.hero .subline em{color:var(--accent-ink);font-style:normal;background:color-mix(in oklab,var(--accent) 22%,transparent);padding:0 3px}.hero .subline b{color:var(--ink);font-weight:600}.hero .metrics{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin-bottom:36px;max-width:56ch}.hero .metrics>div{padding:24px 26px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;min-height:110px}.hero .metrics b{display:block;font-weight:400;color:var(--ink);font-size:48px;letter-spacing:-.02em;text-transform:none;margin-bottom:8px;font-family:"Instrument Serif",serif;font-style:italic;line-height:1}.hero .ctas{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero .cta{display:inline-block;padding:12px 24px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:var(--paper);transition:all .2s}.hero .cta:hover{background:var(--paper);color:var(--ink)}.hero .cta.sec{background:var(--paper);color:var(--ink);border-color:var(--rule-2)}.hero .cta.sec:hover{border-color:var(--ink)}.hero .status{font-size:11px;color:var(--muted);letter-spacing:.04em;display:flex;align-items:center;gap:8px}.hero .status .dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent);animation:pulse 1.6s ease-in-out infinite}@keyframes blink{50%{opacity:0}}.typed-cycle{font-size:15px;color:var(--accent-ink);font-weight:500;min-height:24px;font-style:normal;margin-bottom:20px}.typed-cycle .cursor{display:inline-block;width:2px;height:16px;background:var(--accent-ink);vertical-align:-2px;margin-left:3px;animation:blink 1s steps(2) infinite}.top12{padding:24px 20px;display:grid;grid-template-columns:120px 1fr;gap:20px}.top12 .side{color:var(--muted);font-size:10.5px}.top12 h4{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.top12 .items{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid var(--ink);padding:4px 10px;font-size:11px;background:var(--paper);font-weight:500}.tag.sec{background:var(--ink);color:var(--paper)}.log{padding:0;border-bottom:1px solid var(--rule)}.log .row{display:grid;grid-template-columns:120px 120px 1fr;gap:20px;padding:20px;border-top:1px solid var(--rule);position:relative;transition:background .2s}.log .row:first-child{border-top:0}.log .row:hover{background:var(--paper-2)}.log .commit{font-size:10.5px;color:var(--muted);letter-spacing:.04em}.log .commit .hash{color:var(--accent-ink);font-weight:600;display:block}.log .commit .ts{display:block;margin-top:4px}.log .stamp{font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.log .stamp .p{display:block;margin-top:3px;color:var(--ink);font-weight:500;text-transform:none;font-size:11px;letter-spacing:0}.log .main h3{font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.15;margin-bottom:2px}.log .main .co{color:var(--muted);font-size:12px;margin-bottom:10px}.log .main .co b{color:var(--ink);font-weight:600}.log .main ul{list-style:none;display:grid;gap:4px}.log .main li{display:grid;grid-template-columns:18px 1fr;gap:6px;font-size:11.5px;color:var(--ink-2);line-height:1.55}.log .main li:before{content:"›";color:var(--accent-ink);grid-column:1}.log .main li span{grid-column:2}.pgrid{padding:24px 20px;display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.pcard{grid-column:span 6;border:1px solid var(--rule-2);background:var(--paper);padding:0;display:flex;flex-direction:column;transition:all .2s;position:relative}.pcard.big{grid-column:span 12}.pcard:hover{border-color:var(--ink)}.pcard .pt{padding:14px 16px 10px;border-bottom:1px dashed var(--rule-2);display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px}.pcard .pt .id{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:6px}.pcard .pt h3{font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.1;text-wrap:pretty}.pcard.big h3{font-size:30px}.pcard .pt .badge{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--rule-2);padding:3px 7px;color:var(--muted);white-space:nowrap;align-self:start}.pcard .pt .badge.live{border-color:var(--accent-ink);color:var(--accent-ink)}.pcard .pt .badge.priv{border-color:var(--warn);color:var(--warn)}.pcard .pb{padding:12px 16px;font-size:12px;line-height:1.6;color:var(--ink-2);flex:1}.pcard .metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2)}.pcard .metrics>div{padding:10px 16px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pcard .metrics>div+div{border-left:1px solid var(--rule-2)}.pcard .metrics b{display:block;font-weight:600;color:var(--ink);font-size:13px;letter-spacing:0;text-transform:none;margin-top:4px}.pcard .pf{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;gap:8px;flex-wrap:wrap}.pcard .ptags{display:flex;gap:4px;flex-wrap:wrap}.pcard .ptags .t{font-size:10px;color:var(--muted);border-bottom:1px solid var(--rule-2);padding:0 2px 1px}.pcard .plink{font-size:10.5px;color:var(--ink);display:flex;align-items:center;gap:4px;font-weight:500}.pcard .plink:hover{color:var(--accent-ink)}.pcard .priv-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in oklab,var(--warn) 9%,transparent) 6px 12px);pointer-events:none;opacity:.6}.contact-intro{padding:24px 20px;display:grid;grid-template-columns:120px 1fr;gap:20px;border-bottom:1px solid var(--rule)}.contact-intro .side{color:var(--muted);font-size:10.5px}.contact-intro .side b{color:var(--ink)}.contact-intro h2{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:clamp(28px,3.6vw,40px);line-height:1.05;letter-spacing:-.01em;margin-bottom:14px;max-width:22ch}.contact-intro p{font-size:13px;line-height:1.75;color:var(--ink-2);max-width:66ch}.ep{padding:24px 20px;display:grid;grid-template-columns:120px 1fr;gap:20px}.ep .side{color:var(--muted);font-size:10.5px}.ep .eps{border:1px solid var(--rule-2)}.ep-row{display:grid;grid-template-columns:70px 1fr auto;gap:14px;padding:14px 16px;border-top:1px solid var(--rule-2);align-items:center;font-size:12px}.ep-row:first-child{border-top:0}.ep-row .m{font-size:10px;letter-spacing:.1em;font-weight:600;padding:3px 6px;border:1px solid var(--ink);text-align:center;background:var(--ink);color:var(--paper)}.ep-row .m.get{background:var(--paper);color:var(--ink)}.ep-row .m.post{background:var(--accent-ink);color:var(--paper);border-color:var(--accent-ink)}.ep-row .path{font-weight:500;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ep-row .path .d{color:var(--muted);font-weight:400;font-size:11px}.ep-row button.copy{font-size:10.5px;color:var(--muted);border:1px solid var(--rule-2);padding:4px 8px;transition:all .15s}.ep-row button.copy:hover{color:var(--ink);border-color:var(--ink)}.ep-row button.copy.ok{color:var(--accent-ink);border-color:var(--accent-ink)}.ed{padding:24px 20px;display:grid;grid-template-columns:120px 1fr 1fr;gap:20px;border-top:1px solid var(--rule)}.ed .side{color:var(--muted);font-size:10.5px}.ed h4{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.ed .item{margin-bottom:14px}.ed .item .deg{font-size:14px;font-weight:600}.ed .item .inst{font-size:11.5px;color:var(--ink-2)}.ed .item .per{font-size:10.5px;color:var(--muted);letter-spacing:.04em;margin-top:2px}.ed .item .th{font-size:11px;color:var(--muted);font-style:italic;margin-top:3px}.ed ul{list-style:none;display:grid;gap:6px}.ed ul li{font-size:11.5px;display:grid;grid-template-columns:14px 1fr auto;gap:6px;color:var(--ink-2)}.ed ul li:before{content:"✓";color:var(--accent-ink);grid-column:1}.ed ul li b{font-weight:400}.ed ul li span{color:var(--muted);font-size:10.5px;grid-column:3}.about{padding:28px 20px;display:grid;grid-template-columns:120px 1fr;gap:32px;border-top:1px solid var(--rule)}.about .side{color:var(--muted);font-size:10.5px}.bio h2{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:42px;line-height:1.05;margin-bottom:18px;letter-spacing:-.01em}.bio p{font-size:12.5px;line-height:1.75;color:var(--ink-2);margin-bottom:12px}.bio p em{font-style:italic;color:var(--ink)}.bio .facts{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.bio .facts>div{padding:12px 14px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:10.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.bio .facts b{display:block;font-weight:600;color:var(--ink);font-size:22px;letter-spacing:-.02em;margin-bottom:3px;text-transform:none;font-family:"Instrument Serif",serif;font-style:italic;line-height:1}footer.pf{padding:50px 20px 40px;border-top:1px solid var(--rule);display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:end}footer.pf .side{color:var(--muted);font-size:10.5px}footer.pf .big{font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(40px,6vw,88px);line-height:.95;letter-spacing:-.02em}footer.pf .big a{border-bottom:2px solid var(--ink);transition:color .2s}footer.pf .big a:hover{color:var(--accent-ink);border-color:var(--accent-ink)}footer.pf .meta{color:var(--muted);font-size:10.5px;text-align:right;letter-spacing:.06em}.tweaks{position:fixed;right:20px;bottom:46px;width:260px;background:var(--paper);border:1px solid var(--ink);z-index:30;font-size:11px;box-shadow:6px 6px color-mix(in oklab,var(--ink) 8%,transparent)}.tweaks h5{padding:10px 12px;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.tweaks h5 button{color:var(--paper);font-size:14px;line-height:1}.tweaks .tk{padding:12px;display:grid;gap:10px}.tweaks label{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center;font-size:10.5px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.tweaks label input[type=range]{width:100%;accent-color:var(--ink)}.tweaks .swatches{display:flex;gap:6px}.tweaks .swatches button{width:22px;height:22px;border:1px solid var(--rule-2)}.tweaks .swatches button.on{outline:2px solid var(--ink);outline-offset:1px}@media(max-width:980px){.hero{grid-template-columns:1fr;padding:32px 20px 40px;gap:24px}.hero .portrait-big{max-width:280px}.hero .metrics{grid-template-columns:repeat(2,1fr);max-width:100%}.hero .metrics>div{padding:18px 20px;min-height:92px}.hero .metrics b{font-size:38px}.section-head{grid-template-columns:60px 1fr auto}.top12,.ep,.ed,.about,.contact-intro,footer.pf{grid-template-columns:1fr}.log .row{grid-template-columns:1fr;gap:10px}.log .commit,.log .stamp{display:flex;gap:14px}.pcard,.pcard.big{grid-column:span 12}.bio h2{font-size:32px}.chrome nav{display:none}.statusbar{grid-template-columns:auto 1fr;font-size:9.5px;padding:0 10px;gap:10px}.sb-mid{display:none}footer.pf{grid-template-columns:1fr}footer.pf .meta{text-align:left}}
