@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg:#080d0b;--surface:#0e1512;--surface-2:#141d19;--text:#e8f0eb;--muted:#8da097;--line:#26342d;--accent:#b6f36b;--accent-2:#75d5ad;--danger:#ff6b6b;--mono:"JetBrains Mono",monospace;--sans:"DM Sans",sans-serif;color-scheme:dark;scroll-behavior:smooth}html[data-theme=light]{--bg:#f3f5ed;--surface:#fff;--surface-2:#e9eee5;--text:#172019;--muted:#5d6d63;--line:#c8d1c9;--accent:#426b11;--accent-2:#087756;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;line-height:1.65}body:before{content:"";pointer-events:none;opacity:.035;z-index:20;background-image:linear-gradient(#ffffff40 1px,#0000 1px);background-size:100% 4px;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip-link{background:var(--accent);color:var(--bg);z-index:50;padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);z-index:10;align-items:center;height:74px;padding:0 clamp(1rem,5vw,5rem);display:flex;position:sticky;top:0}.brand{font-family:var(--mono);align-items:center;gap:.75rem;margin-right:auto;font-size:.8rem;display:flex}.brand span{background:var(--accent);width:34px;height:34px;color:var(--bg);place-items:center;font-weight:800;display:grid}.site-header nav{font-family:var(--mono);color:var(--muted);gap:1.7rem;font-size:.72rem;display:flex}.site-header nav a:hover,.site-header nav a:focus{color:var(--accent)}.header-actions{border-left:1px solid var(--line);margin-left:2rem;display:flex}.header-actions>*{width:48px;height:40px;color:var(--text);font-family:var(--mono);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.lang{color:var(--accent);font-size:.72rem}main,footer{max-width:1280px;margin:auto}.section,.hero{border-bottom:1px solid var(--line);padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,5rem)}.section-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1fr);align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.eyebrow,.section-label{font:600 .7rem var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--accent)}.pulse{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 15%,transparent);border-radius:50%;margin-right:.8rem;display:inline-block}.hero h1{letter-spacing:-.075em;margin:2rem 0;font-size:clamp(4rem,8vw,7.4rem);line-height:.82}.hero h1 span{color:#0000;-webkit-text-stroke:1px var(--muted)}.role{font:600 clamp(1rem,2vw,1.3rem) var(--mono);color:var(--accent-2)}.lead{color:var(--muted);max-width:600px;font-size:1.04rem}.hero-actions{gap:.8rem;margin:2.2rem 0;display:flex}.button{border:1px solid var(--line);font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;justify-content:center;align-items:center;gap:1.4rem;padding:.8rem 1.15rem;display:inline-flex}.primary{background:var(--accent);border-color:var(--accent);color:#0a0f0d}.ghost:hover{border-color:var(--accent)}.socials{flex-wrap:wrap;gap:1.1rem;display:flex}.socials a{font:500 .68rem var(--mono);color:var(--muted)}.socials a span{color:var(--accent);margin-left:.25rem}.code-window,.terminal{border:1px solid var(--line);background:var(--surface);box-shadow:20px 20px 0 color-mix(in srgb,var(--accent) 6%,transparent)}.window-bar{border-bottom:1px solid var(--line);align-items:center;gap:.45rem;height:45px;padding:0 1rem;display:flex}.window-bar span{background:var(--line);border-radius:50%;width:8px;height:8px}.window-bar span:first-child{background:var(--danger)}.window-bar span:nth-child(2){background:#f3c969}.window-bar span:nth-child(3){background:var(--accent)}.window-bar b{font:400 .65rem var(--mono);color:var(--muted);margin-left:auto}pre{font:400 clamp(.67rem,1.2vw,.82rem)/1.9 var(--mono);margin:0;padding:2rem;overflow:auto}pre i{color:#48574f;user-select:none;font-style:normal}pre em{color:#d987ff;font-style:normal}pre strong{color:#72cfff}pre mark{color:#f3c969;background:0 0}pre q{color:var(--accent-2)}.compiler{border-top:1px solid var(--line);font:500 .72rem var(--mono);grid-template-columns:auto 1fr;align-items:center;column-gap:.7rem;padding:1rem 1.4rem;display:grid}.compiler>span{color:var(--accent);grid-row:1/3;font-size:1.3rem}.compiler small{color:var(--muted)}h2{letter-spacing:-.055em;margin:1rem 0;font-size:clamp(2.6rem,5vw,4.5rem);line-height:1}.problem-card{border:1px solid var(--line);background:var(--surface)}.problem-head{border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:1rem;display:flex}.problem-head>span{background:var(--accent);color:#111;font:700 1.1rem var(--mono);padding:.4rem .75rem}.problem-head div{flex-direction:column;display:flex}.problem-head small{color:var(--muted);font:400 .6rem var(--mono)}.problem-head strong{color:var(--accent);font:600 .65rem var(--mono);margin-left:auto}.problem-body{color:var(--muted);padding:clamp(1.3rem,4vw,2.5rem)}.io{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:2rem 0;display:grid}.io div{background:var(--surface-2);padding:1rem}.io small{font:600 .58rem var(--mono);color:var(--muted);display:block}.io code{color:var(--accent);font-size:.7rem}.facts{font:500 .65rem var(--mono);color:var(--text);flex-wrap:wrap;gap:1.5rem;display:flex}.section-heading{justify-content:space-between;align-items:end;margin-bottom:3rem;display:flex}.section-heading p{max-width:350px;color:var(--muted)}.skill-grid{border:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.skill-card{border-right:1px solid var(--line);flex-direction:column;min-height:190px;padding:1.4rem;display:flex}.skill-card:last-child{border:0}.skill-card>span,.skill-card small{font:500 .6rem var(--mono);color:var(--muted);text-transform:uppercase}.skill-card code{color:var(--accent);margin:auto 0;font-size:1.4rem}.skill-card h3{margin:.5rem 0;font-size:1rem}.project-card{border:1px solid var(--line);background:var(--surface);grid-template-columns:80px 1fr 100px;display:grid}.project-index{border-right:1px solid var(--line);font:600 .75rem var(--mono);color:var(--muted);place-items:center;display:grid}.project-main{padding:clamp(1.5rem,4vw,3rem)}.tags span{font:600 .58rem var(--mono);background:var(--surface-2);color:var(--accent);margin-right:.4rem;padding:.3rem .6rem}.project-main h3{margin:1.5rem 0 .7rem;font-size:clamp(1.5rem,3vw,2.4rem)}.project-main p{color:var(--muted);max-width:720px}.project-meta{flex-wrap:wrap;gap:.5rem;display:flex}.project-meta code{border:1px solid var(--line);padding:.3rem .6rem;font-size:.6rem}.accepted{border-left:1px solid var(--line);color:var(--accent);font:700 1.5rem var(--mono);flex-direction:column;justify-content:center;align-items:center;display:flex}.accepted span{color:var(--muted);font-size:.5rem;font-weight:400}.table{border:1px solid var(--line)}.table-row{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr 1fr;gap:1rem;padding:1rem 1.4rem;font-size:.85rem;display:grid}.table-row:last-child{border:0}.table-row span:first-child{gap:1rem;display:flex}.table-row b{color:var(--accent);font:500 .65rem var(--mono)}.table-head{font:500 .6rem var(--mono);color:var(--muted);text-transform:uppercase;background:var(--surface)}.terminal-section{grid-template-columns:.7fr 1.3fr;align-items:center;gap:5rem;display:grid}.terminal{box-shadow:none}.terminal #terminal-output{height:180px;font:400 .72rem/1.6 var(--mono);color:var(--muted);padding:1rem;overflow:auto}#terminal-output p{margin:.25rem 0}#terminal-output span,#terminal-form label{color:var(--accent)}#terminal-form{border-top:1px solid var(--line);font:400 .72rem var(--mono);gap:.6rem;padding:1rem;display:flex}#terminal-input{color:var(--text);background:0 0;border:0;outline:0;width:100%}.contact{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,10vw,9rem);display:grid}.contact>div>p{color:var(--muted);max-width:380px}.contact>div>a{color:var(--accent);font:600 .75rem var(--mono)}.contact form{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.contact label{font:500 .65rem var(--mono);text-transform:uppercase;color:var(--muted)}.contact label:nth-of-type(3),.contact label:nth-of-type(4),.contact button,#form-status{grid-column:1/-1}.contact input,.contact textarea{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--text);outline:0;margin-top:.5rem;padding:.8rem;display:block}.contact input:focus,.contact textarea:focus{border-color:var(--accent)}.honeypot{left:-9999px;position:absolute!important}.contact button{width:max-content}#form-status{color:var(--muted);font-size:.8rem}footer{font:400 .62rem var(--mono);color:var(--muted);justify-content:space-between;padding:2rem clamp(1.25rem,6vw,5rem);display:flex}footer a{color:var(--accent)}@media (width<=900px){.site-header nav{display:none}.section-grid,.terminal-section,.contact{grid-template-columns:1fr}.skill-grid{grid-template-columns:repeat(2,1fr)}.skill-card{border-bottom:1px solid var(--line)}.section-heading{display:block}.hero{padding-top:5rem}.code-window{box-shadow:10px 10px 0 color-mix(in srgb,var(--accent) 6%,transparent)}}@media (width<=580px){.site-header{padding:0 1rem}.brand b{display:none}.section,.hero{padding-left:1.1rem;padding-right:1.1rem}.hero h1{font-size:4rem}.skill-grid{grid-template-columns:1fr}.skill-card{min-height:130px}.project-card{grid-template-columns:1fr}.project-index,.accepted{border:0;border-bottom:1px solid var(--line);padding:.7rem;display:block}.accepted{border-top:1px solid var(--line);text-align:center}.table-row{grid-template-columns:1fr}.table-head{display:none}.contact form{grid-template-columns:1fr}.contact label{grid-column:1/-1}.io{grid-template-columns:1fr}.io>span{text-align:center;transform:rotate(90deg)}footer{flex-direction:column;gap:.5rem}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}[hidden]{display:none!important}:where(a,button,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:5px}.document-header nav a[aria-current]{color:var(--accent)}.content-main{padding:0 clamp(1.1rem,6vw,5rem) 6rem}.archive-hero{border-bottom:1px solid var(--line);margin-bottom:2.5rem;padding:5rem 0 3rem}.archive-hero h1{letter-spacing:-.055em;overflow-wrap:anywhere;max-width:950px;margin:1rem 0 1.5rem;font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.08}.archive-hero .lead{max-width:720px;color:var(--muted);font-size:1.1rem}.archive-hero .tags{margin-top:2rem}.breadcrumb,.text-link{font-family:var(--mono);color:var(--accent);font-size:.8rem}.breadcrumb{margin-bottom:1rem;display:inline-block}.text-link{align-items:center;gap:.6rem;margin-top:1rem;display:inline-flex}.text-link:hover,.breadcrumb:hover,.prose a:hover{text-underline-offset:4px;text-decoration:underline}.archive-list{gap:1.2rem;display:grid}.archive-card{grid-template-columns:80px minmax(0,1fr);transition:border-color .2s}.archive-card:hover{border-color:var(--accent)}.archive-card h3 a:hover,.journal-card h3 a:hover{color:var(--accent)}.archive-card .project-main{min-width:0}.project-meta{flex-wrap:wrap;gap:.5rem;margin-top:1.3rem;display:flex}.project-meta code{color:var(--muted);border:1px solid var(--line);overflow-wrap:anywhere;padding:.2rem .6rem;font-size:.72rem}.project-facts{border-top:1px solid var(--line);flex-wrap:wrap;gap:3rem;margin:2rem 0 0;padding-top:1.5rem;display:flex}.project-facts dt{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.project-facts dd{margin:.4rem 0 0;font-size:.9rem}.count{font-family:var(--mono);opacity:.75;font-size:.75rem}.document-grid{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.document-sidebar{max-height:calc(100vh - 120px);position:sticky;top:100px;overflow:auto}.document-sidebar nav{border-left:1px solid var(--line);gap:.75rem;padding-left:1rem;display:grid}.document-sidebar nav a{color:var(--muted);font-size:.8rem}.document-sidebar nav a:hover{color:var(--accent)}.document-sidebar .section-label{margin:0 0 .5rem;font-size:.7rem}.document-body{min-width:0}.prose{overflow-wrap:anywhere;font-size:1rem;line-height:1.85}.prose>:first-child{margin-top:0}.prose h2,.project-journal h2{letter-spacing:-.03em;margin:2.6rem 0 1rem;font-size:1.8rem;line-height:1.3}.prose h3{margin:2rem 0 .8rem;font-size:1.25rem;line-height:1.4}.prose :is(h2,h3),.project-journal{scroll-margin-top:110px}.prose p,.prose li{color:var(--muted)}.prose strong{color:var(--text)}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.prose ul,.prose ol{padding-left:1.3rem}.prose li+li{margin-top:.4rem}.prose code{font-family:var(--mono);background:var(--surface-2);border-radius:3px;padding:.15rem .35rem;font-size:.84em}.prose pre{border:1px solid var(--line);border-radius:4px;max-width:100%;padding:1.4rem;line-height:1.75;overflow-x:auto}.prose pre code{overflow-wrap:normal;background:0 0;padding:0}.prose blockquote,.notice{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);color:var(--muted);margin:1.5rem 0;padding:1rem 1.3rem;font-size:.9rem}.prose blockquote p{margin:.2rem 0}.prose img{border:1px solid var(--line);border-radius:4px;max-width:100%;height:auto}.prose table{border-collapse:collapse;max-width:100%;font-size:.88rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;min-width:130px;padding:.8rem}.prose th{background:var(--surface-2)}.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.project-journal{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem}.project-journal h2{margin-top:.5rem}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.document-body .journal-grid{grid-template-columns:1fr}.journal-card{background:var(--surface);border:1px solid var(--line);flex-direction:column;min-width:0;padding:1.6rem;display:flex}.journal-card h3{letter-spacing:-.025em;margin:1rem 0 .6rem;font-size:1.35rem;line-height:1.35}.journal-card p{color:var(--muted);margin:0 0 1.5rem;font-size:.92rem}.entry-meta{font:.7rem var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.entry-meta>span{color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.entry-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;display:flex}.entry-bottom .text-link{margin:0}.project-reference{font-family:var(--mono);color:var(--accent-2);font-size:.75rem}.project-reference:hover{text-decoration:underline}.journal-filters{background:var(--surface);border:1px solid var(--line);grid-template-columns:2fr 1fr 1fr;gap:1rem;padding:1.2rem;display:grid}.journal-filters label{color:var(--muted);font-family:var(--mono);gap:.5rem;font-size:.7rem;display:grid}.journal-filters input,.journal-filters select{background:var(--bg);width:100%;min-width:0;color:var(--text);border:1px solid var(--line);font-family:var(--sans);border-radius:2px;padding:.8rem;font-size:.9rem}.result-count{font:.75rem var(--mono);color:var(--muted);margin:1.3rem 0}.empty-state{border:1px dashed var(--line);color:var(--muted);padding:2rem}.entry-pagination{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem;padding-top:1.5rem;display:grid}.entry-pagination a{border:1px solid var(--line);gap:.5rem;padding:1rem;display:grid}.entry-pagination small{color:var(--accent);font-family:var(--mono)}.entry-pagination span{font-size:.9rem}.portfolio-projects{gap:1rem;display:grid}.portfolio-journal{margin-top:3rem}@media (width<=900px){.document-header nav{gap:1rem;display:flex}.document-header .header-actions{margin-left:1rem}.document-grid{grid-template-columns:1fr}.document-sidebar{max-height:none;position:static}.document-sidebar nav{flex-wrap:wrap;gap:.7rem 1.2rem;display:flex}.document-sidebar .section-label{flex-basis:100%}.journal-filters{grid-template-columns:1fr 1fr}.journal-filters label:first-child{grid-column:1/-1}}@media (width<=580px){.document-header .brand{margin-right:.7rem}.document-header nav{gap:.65rem;font-size:.65rem}.document-header .header-actions{margin-left:auto}.document-header .header-actions>*{width:35px}.archive-hero{padding-top:3rem}.archive-card,.journal-grid,.entry-pagination,.journal-filters{grid-template-columns:1fr}.journal-card{padding:1.2rem}.project-facts{gap:1.2rem}.content-main .hero-actions{flex-wrap:wrap}.prose pre{padding:1rem}}
