:root{--ink:#f2f1ec;--muted:#a4a39e;--night:#0c0d0d;--panel:#141616;--line:#292b2a;--acid:#b7ef52;--max:1180px;--sans:"DM Sans",system-ui,sans-serif;--mono:"Space Mono",monospace;--serif:"Instrument Serif",Georgia,serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--night);color:var(--ink);font:16px/1.65 var(--sans);text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--acid)}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.skip-link{z-index:99;background:var(--acid);color:#101210;padding:10px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--acid);outline-offset:4px}.site-head{border-bottom:1px solid var(--line);height:92px;padding:0 max(20px,calc((100vw - var(--max))/2));justify-content:space-between;align-items:center;display:flex}.wordmark{font:500 14px var(--mono);letter-spacing:-.03em}.wordmark span{color:var(--acid)}.site-head nav,.site-foot nav{gap:28px;font-size:14px;display:flex}.site-head nav a{color:var(--muted)}.site-head nav a.active,.site-head nav a:hover{color:var(--ink)}.hero{flex-direction:column;justify-content:center;min-height:670px;padding:110px 0;display:flex}.eyebrow{color:var(--acid);text-transform:uppercase;letter-spacing:.14em;font:11px var(--mono);margin:0 0 20px}h1,h2,h3,p{margin-top:0}.hero h1,.page-head h1,.article-head h1{letter-spacing:-.065em;font-weight:500;line-height:.93}.hero h1{max-width:1050px;margin-bottom:42px;font-size:clamp(64px,10vw,132px)}.hero h1 em{color:var(--acid);font:italic 1.05em var(--serif)}.hero-copy,.page-head>p,.article-head>p{max-width:600px;color:var(--muted);font-size:20px}.actions{align-items:center;gap:28px;margin-top:20px;display:flex}.button{border:1px solid var(--acid);background:var(--acid);color:#111;justify-content:center;align-items:center;gap:35px;padding:12px 18px;font-weight:600;display:inline-flex}.button:hover{color:var(--acid);background:0 0}.text-link{border-bottom:1px solid var(--muted)}.section{border-top:1px solid var(--line);padding:100px 0}.section-head{justify-content:space-between;align-items:end;margin-bottom:48px;display:flex}.section-head h2{font-size:42px;line-height:1}.section-head>a{color:var(--muted);font-size:14px}.project-grid{grid-template-columns:repeat(2,1fr);gap:56px 28px;display:grid}.project-card{border-bottom:1px solid var(--line)}.project-card>a{display:block}.project-card img,.project-placeholder{aspect-ratio:16/10;object-fit:cover;filter:saturate(.8);background:linear-gradient(135deg,#181b19,#242923)}.project-placeholder{color:#4f554d;font:64px var(--mono);place-items:center;display:grid}.card-body{padding:22px 0 30px}.meta{color:var(--acid);font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em}.card-body h3,.post-row h3{margin-bottom:8px;font-size:24px}.card-body>p{color:var(--muted);max-width:54ch}.chips{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);color:var(--muted);font:10px var(--mono);text-transform:uppercase;padding:4px 9px}.post-list{border-top:1px solid var(--line)}.post-row{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr 60px;align-items:start;gap:24px;padding:30px 0;display:grid}.post-row time,.post-row>span{color:var(--muted);font:11px var(--mono)}.post-row p{color:var(--muted);margin:0}.page-head,.article-head{padding:110px 0 80px}.page-head h1,.article-head h1{max-width:950px;font-size:clamp(58px,8vw,104px)}.article-head .back{color:var(--muted);margin-bottom:70px;font-size:14px;display:inline-block}.cover{margin-bottom:80px}.cover img{object-fit:cover;width:100%;max-height:700px}.prose{max-width:760px;padding-bottom:100px;font-size:18px}.prose h1,.prose h2,.prose h3{letter-spacing:-.03em;margin-top:2.4em;line-height:1.2}.prose h2{font-size:36px}.prose p,.prose li{color:#c7c6c0}.prose a{color:var(--acid);text-decoration:underline}.prose pre{border:1px solid var(--line);font:13px/1.65 var(--mono);background:#080909;padding:24px;overflow:auto}.prose code{color:var(--acid);font-family:var(--mono)}.prose blockquote{border-left:2px solid var(--acid);font-family:var(--serif);margin:2em 0;padding-left:24px;font-size:28px}.contact-links{align-items:center;gap:25px;padding-bottom:100px;display:flex}.site-foot{padding:70px max(20px,calc((100vw - var(--max))/2));border-top:1px solid var(--line);color:var(--muted);grid-template-columns:1fr auto;gap:25px;margin-top:100px;display:grid}.site-foot small{font:10px var(--mono);grid-column:1/-1}.preview-bar{z-index:9;text-align:center;color:#17120a;font:11px var(--mono);background:#d6a13c;padding:6px;position:sticky;top:0}.empty{color:var(--muted)}.admin-side{border-right:1px solid var(--line);flex-direction:column;width:230px;padding:32px 24px;display:flex;position:fixed;inset:0 auto 0 0}.admin-side nav{flex-direction:column;gap:5px;margin-top:50px;display:flex}.admin-side nav a,.link-button{color:var(--muted);text-align:left;background:0 0;border:0;padding:8px 0}.admin-side form{margin-top:auto}.admin-main{min-height:100vh;margin-left:230px;padding:55px max(35px,50vw - 660px)}.admin-head{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.admin-head h1{letter-spacing:-.04em;font-size:42px}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px;display:grid}.stats>div,.panel,.upload-box{background:var(--panel);border:1px solid var(--line);padding:28px}.stats strong{font:48px var(--mono);color:var(--acid);display:block}.stats span{color:var(--muted)}.panel h2{font-size:20px}.audit p{border-top:1px solid var(--line);justify-content:space-between;margin:0;padding:14px 0;display:flex}.audit code{color:var(--acid)}.audit span{color:var(--muted)}.notice,.error{background:#182115;border:1px solid #477036;margin-bottom:25px;padding:13px 17px}.error{background:#271515;border-color:#7b3434}.error ul{margin:5px 0}.table-wrap{border:1px solid var(--line);overflow:auto}table{border-collapse:collapse;background:var(--panel);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:16px}th{color:var(--muted);font:10px var(--mono);text-transform:uppercase}td small{color:var(--muted);display:block}.table-actions{justify-content:end;display:flex}.editor-form{grid-template-columns:minmax(0,1fr) 300px;gap:30px;display:grid}.editor-main,.editor-meta,.stack{flex-direction:column;gap:22px;display:flex}.editor-meta{background:var(--panel);border:1px solid var(--line);height:max-content;padding:24px;position:sticky;top:20px}label{color:var(--muted);flex-direction:column;gap:7px;font-size:13px;display:flex}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#0b0d0c;padding:11px 12px}textarea{resize:vertical}.code-input{font:13px/1.6 var(--mono);tab-size:2}.check{flex-direction:row;align-items:center}.check input{width:auto}.danger-actions{border-top:1px solid var(--line);gap:12px;margin-top:30px;padding-top:25px;display:flex}button,.danger-actions button{border:1px solid var(--line);color:var(--ink);background:0 0;padding:10px 15px}.danger{color:#f08b8b!important;border-color:#633!important}.hint{color:var(--muted);font-size:12px}.upload-box{grid-template-columns:1fr 1fr auto;align-items:end;gap:15px;margin-bottom:30px;display:grid}.upload-box small{color:var(--muted);grid-column:1/-1}.media-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.media-grid article{border:1px solid var(--line);background:var(--panel);padding:13px}.media-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:12px}.media-grid p{color:var(--muted);font-size:11px}.link-list a{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 0;display:flex}.narrow{max-width:700px}.login-page{background:radial-gradient(circle at 30% 20%,#1d251b,transparent 40%),var(--night);place-items:center;min-height:100vh;display:grid}.login-card{border:1px solid var(--line);background:var(--panel);width:min(100% - 40px,440px);padding:45px}.login-card h1{font-size:36px}.login-card form{flex-direction:column;gap:18px;margin:30px 0;display:flex}.field-error{color:#f08b8b}@media (width<=800px){.site-head{align-items:flex-start;height:auto;padding-block:20px}.site-head nav{flex-wrap:wrap;justify-content:end;gap:12px}.hero{min-height:560px;padding:80px 0}.project-grid,.post-row{grid-template-columns:1fr}.post-row>span{display:none}.site-foot{grid-template-columns:1fr}.admin-side{border-right:0;border-bottom:1px solid var(--line);width:auto;position:static}.admin-side nav{flex-flow:wrap;gap:15px;margin-top:20px}.admin-side form{margin-top:20px}.admin-main{margin-left:0;padding:30px 20px}.editor-form{grid-template-columns:1fr}.editor-meta{position:static}.media-grid{grid-template-columns:repeat(2,1fr)}.upload-box,.stats{grid-template-columns:1fr}.admin-head{align-items:flex-start;gap:15px}.site-foot nav{flex-wrap:wrap}}@media (width<=520px){.site-head{display:block}.site-head nav{justify-content:start;margin-top:18px}.hero h1{font-size:55px}.section{padding:70px 0}.section-head{align-items:start}.media-grid{grid-template-columns:1fr}.article-head,.page-head{padding:75px 0}.actions,.contact-links{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.project-card img,.project-placeholder{background:linear-gradient(135deg,#202522,#2d342f)}:root{--night:#202422;--panel:#292e2b;--line:#474e49;--muted:#bec1bb}.admin-body{background:#222724}input,textarea,select{background:#1b1f1d}.prose pre{background:#191d1b}.site-head{z-index:30;-webkit-backdrop-filter:blur(14px);background:#202422e6;position:sticky;top:0;box-shadow:0 10px 30px #00000014}.preview-bar{z-index:31}.resume-intro{max-width:660px;color:var(--muted);font-size:20px}.resume-intro p:last-child{margin-bottom:0}.resume-timeline{padding-bottom:110px}.resume-entry{grid-template-columns:150px 24px minmax(0,1fr);gap:24px;min-height:190px;display:grid;position:relative}.resume-period{color:var(--muted);font:11px var(--mono);flex-direction:column;align-items:flex-end;padding-top:5px;display:flex}.resume-marker{position:relative}.resume-marker:before{content:"";border:2px solid var(--muted);background:var(--night);z-index:1;border-radius:50%;width:9px;height:9px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.resume-marker:after{content:"";background:var(--line);width:1px;position:absolute;top:17px;bottom:0;left:50%}.resume-entry:last-child .resume-marker:after{display:none}.resume-entry-it .resume-marker:before{border-color:var(--acid);background:var(--acid)}.resume-content{border-bottom:1px solid var(--line);padding:0 0 58px}.resume-entry:last-child .resume-content{border-bottom:0}.resume-content h2{letter-spacing:-.035em;margin:10px 0 4px;font-size:30px}.resume-organization{color:var(--muted)}.resume-labels{flex-wrap:wrap;gap:8px;display:flex}.resume-labels span{border:1px solid var(--line);color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:3px 8px}.resume-labels .it-label{border-color:color-mix(in srgb,var(--acid) 55%,transparent);color:var(--acid)}.resume-description{color:#c7c6c0;max-width:700px}.resume-description p:last-child{margin-bottom:0}.resume-description a{color:var(--acid);text-decoration:underline}.resume-description ul{padding-left:20px}@media (width<=650px){.resume-entry{grid-template-columns:18px minmax(0,1fr);gap:16px}.resume-period{flex-direction:row;grid-area:1/2;align-items:center;gap:6px;padding:0 0 8px}.resume-marker{grid-area:1/1/3}.resume-content{grid-area:2/2}.resume-content h2{font-size:25px}}.resume-access{border:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:30px;margin-bottom:70px;padding:26px 28px;display:flex}.resume-access h2{margin-bottom:4px;font-size:24px}.resume-access p{color:var(--muted);margin-bottom:0}.resume-access .eyebrow{color:var(--acid);margin-bottom:8px}.resume-unlock{grid-template-columns:minmax(180px,280px) auto;align-items:end;gap:8px;display:grid}.resume-unlock label{grid-column:1/-1}.resume-unlock .field-error{grid-column:1/-1;margin:0}.resume-protected{color:var(--muted);font-size:13px;font-style:italic}.stack hr{border:0;border-top:1px solid var(--line);width:100%}@media (width<=700px){.resume-access{flex-direction:column;align-items:stretch}.resume-unlock{grid-template-columns:1fr}.resume-unlock label,.resume-unlock .field-error{grid-column:auto}}.filter-bar{align-items:end;gap:14px;margin-bottom:34px;display:flex}.filter-bar label{min-width:180px}.filter-bar button,.copy-button{height:max-content}.project-highlights,.learning-notes,.toc-card{margin-bottom:70px}.project-highlights{border:1px solid var(--line);background:var(--panel);padding:28px}.project-highlights ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;margin:0;padding-left:20px;display:grid}.project-highlights li{color:#d8d7d1}.learning-notes{border-top:1px solid var(--line);padding-top:40px}.learning-notes h2{letter-spacing:-.04em;font-size:34px}.toc-card{border:1px solid var(--line);background:var(--panel);max-width:760px;padding:22px 24px}.toc-card ol{margin:0;padding-left:20px}.toc-card li{color:var(--muted);margin:6px 0}.toc-card .toc-sub{margin-left:18px}.skill-grid,.note-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.skill-card,.note-grid article,.note-entry{border:1px solid var(--line);background:var(--panel);padding:24px}.skill-card span,.note-grid span,.note-entry span,.note-entry time{color:var(--acid);font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;display:block}.skill-card h3,.note-grid h3,.note-entry h2{letter-spacing:-.03em;margin-bottom:8px}.skill-card p,.note-grid p{color:var(--muted);margin:0}.skill-level{margin:0 0 18px}.skill-level span{margin-bottom:9px}.skill-meter{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.skill-meter i{border:1px solid var(--line);background:#0b0d0c;height:6px;display:block}.skill-meter i.is-active{border-color:var(--acid);background:linear-gradient(90deg,var(--acid),#dff8a2)}.skill-description{padding-bottom:0;font-size:15px}.skill-description p,.skill-description li{color:var(--muted)}.skill-description ul{padding-left:18px}.skill-description h2,.skill-description h3{margin-top:1.4em;font-size:18px}.skill-clusters{flex-direction:column;gap:56px;display:flex}.skill-cluster h2{font-size:34px}.timeline-list{flex-direction:column;gap:22px;max-width:880px;display:flex}.note-entry .prose{padding-bottom:0}.media-state{border:1px solid var(--line);text-transform:uppercase;padding:3px 8px;display:inline-flex;font:9px var(--mono)!important;margin:0 0 12px!important}.media-state.used{color:var(--acid)}.media-state.unused{color:var(--muted)}.copy-button{width:100%;margin:8px 0 4px}@media (width<=800px){.filter-bar{flex-direction:column;align-items:stretch}.project-highlights ul,.skill-grid,.note-grid{grid-template-columns:1fr}}.head-actions,.bulk-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bulk-actions form,.form-actions form{display:inline}.form-actions{align-items:stretch}.byline{color:var(--muted);font-size:14px}.single-column{grid-template-columns:minmax(0,720px)}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.row-actions form{display:inline}.row-actions button{padding:7px 10px;font-size:13px}.row-actions a{color:var(--acid);font-size:13px}@media (width<=800px){.row-actions{white-space:normal;flex-direction:column;align-items:flex-start}}
