@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Space+Mono:wght@400;700&display=swap');
:root{color-scheme:dark;--bg:#090b0d;--panel:#101416;--text:#edf0eb;--muted:#979d9c;--line:#272d2e;--accent:#a2f6cf;--mono:'Space Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#a2f6cf;color:#101416}header{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:auto;padding:0 44px}.logo{font-size:27px;font-weight:650;letter-spacing:-1.7px}.logo b{color:var(--accent)}nav{display:flex;gap:31px;align-items:center}nav a{color:var(--muted);font-size:13px}nav a:hover,nav a[aria-current]{color:var(--text)}nav a[aria-current]:after{content:'';display:block;width:4px;height:4px;background:var(--accent);border-radius:50%;position:absolute;margin:5px 0 0 14px}.nav-end{font-family:var(--mono);font-size:10px;letter-spacing:.02em;color:var(--muted);display:flex;gap:10px;align-items:center}.dot{width:6px;height:6px;display:inline-block;background:var(--accent);border-radius:50%;box-shadow:0 0 10px #a2f6cf44}main{max-width:1192px;margin:auto;padding:0 0 80px}.eyebrow{font:10px var(--mono);text-transform:uppercase;letter-spacing:2px;color:var(--muted);display:flex;align-items:center;gap:13px}.eyebrow:before{content:'';width:22px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(55px,6.2vw,84px);font-weight:450;letter-spacing:-5px;line-height:1.05;margin-bottom:26px}h1 em{font-style:normal;color:var(--muted)}.hero{display:grid;grid-template-columns:1.07fr 1fr;align-items:center;gap:44px;min-height:650px;padding:60px 0}.hero .eyebrow{margin-bottom:31px}.lead{font-size:16px;color:var(--muted);max-width:375px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.button{border:1px solid var(--accent);background:var(--accent);color:#0b1912;padding:11px 19px;font-size:12px;font-weight:650;display:inline-flex;align-items:center;gap:30px;border-radius:3px}.button:hover{background:#c6ffdf}.text-link{font-size:12px;color:var(--muted)}.text-link:hover{color:var(--accent)}.art{border:1px solid var(--line);border-radius:4px;position:relative;overflow:hidden;background:#0c1012}.art img{width:100%;display:block;aspect-ratio:1.07;object-fit:cover}.art-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:14px 18px;font:9px var(--mono);color:var(--muted);letter-spacing:1px}.section-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-bottom:30px}.section-head h2{font-size:12px;font-weight:500;margin:0;letter-spacing:0}.section-head .num{font:10px var(--mono);color:#5f6b68;margin-right:16px}.section-head a{font:10px var(--mono);color:var(--muted)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:80px}.project{display:block}.project-image{height:260px;position:relative;border:1px solid var(--line);border-radius:4px;display:grid;place-content:center;overflow:hidden;transition:border-color .2s}.project:hover .project-image{border-color:#658576}.project-image:after{content:'↗';position:absolute;right:17px;top:12px;font-size:20px;color:#a1b0a8}.goblin{background:radial-gradient(ellipse at 50% 100%,#262542,transparent 70%),#111119}.goblin-mark{font-family:var(--mono);font-size:58px;letter-spacing:-10px;color:#b9a9f4;text-shadow:0 0 40px #7d58fb33}.goblin-mark span{font-size:20px;vertical-align:middle;color:#807a95}.goblin small{font:9px var(--mono);text-align:center;color:#827995;letter-spacing:4px;margin-top:12px}.leaf{background:radial-gradient(ellipse at 50% 100%,#1e3024,transparent 70%),#101613}.leaf-mark{width:95px;height:125px;border-radius:0 100% 0 100%;border:1px solid #a2f6cf;background:repeating-linear-gradient(45deg,transparent 0 17px,#8ce0a91a 18px 19px);transform:rotate(24deg);position:relative;box-shadow:0 0 60px #a2f6cf0a}.leaf-mark:after{content:'';position:absolute;left:47px;top:0;width:1px;height:125px;background:#a2f6cf;transform:rotate(-37deg)}.project-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px}.project h3{font-size:18px;font-weight:500;margin:0 0 5px;letter-spacing:-.4px}.project p{color:var(--muted);font-size:12px;margin:0}.tag{font:9px var(--mono);color:var(--muted);border:1px solid var(--line);padding:4px 8px;border-radius:3px}.note-row{display:grid;grid-template-columns:120px 1fr 130px 20px;gap:16px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.note-row:hover h3{color:var(--accent)}.note-row h3{font-weight:450;font-size:17px;margin:0}.note-row p{color:var(--muted);font-size:12px;margin:3px 0 0}.note-date{font:10px var(--mono);color:var(--muted)}.note-row>.tag{justify-self:start}.sample{font:9px var(--mono);color:#879a8c}.page-head{padding:85px 0 45px}.page-head h1{font-size:64px;margin:22px 0}.page-head p{color:var(--muted);max-width:540px}.page-title-line{display:flex;align-items:end;justify-content:space-between}.repository-list{margin:0 0 70px}.repo-row{padding:23px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.repo-row h3{font-size:16px;font-weight:500;margin:0}.repo-row p{font-size:12px;color:var(--muted);margin:4px 0 0}.empty{border:1px dashed var(--line);padding:26px;color:var(--muted);font-size:13px}.filters{display:flex;gap:8px;margin:0 0 26px}.filters button{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:6px 15px;font-size:11px}.filters button.active{color:#122118;background:var(--accent);border-color:var(--accent)}footer{border-top:1px solid var(--line);max-width:1192px;margin:auto;padding:30px 0;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}footer .footer-links{display:flex;gap:25px}footer .logo{font-size:22px;margin-right:18px;color:var(--text)}footer a:hover{color:var(--accent)}.foot-name{display:flex;align-items:center}.notebook-layout{display:grid;grid-template-columns:210px 1fr;gap:60px;padding-top:55px}.sidebar{font-size:12px}.sidebar label{font:9px var(--mono);letter-spacing:1px;color:var(--muted);display:block;margin:26px 0 13px}.sidebar a{display:block;padding:8px 12px;color:var(--muted);border-radius:4px}.sidebar a.active{color:var(--accent);background:#a2f6cf0a;border-left:1px solid var(--accent)}.search{width:100%;border:1px solid var(--line);padding:10px 12px;background:#101416;border-radius:4px;color:var(--text);font-size:12px}.reader-grid{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:40px}.reader{max-width:640px;min-width:0}.reader h1{font-size:46px;letter-spacing:-2px;line-height:1.12;margin-top:22px}.reader h2{font-size:24px;font-weight:500;letter-spacing:-.6px;margin:40px 0 15px}.reader p,.reader li{color:#a9b0ad;font-size:14px;line-height:1.9}.reader .intro{font-size:16px}.reader blockquote{border-left:2px solid var(--accent);margin:25px 0;padding:12px 20px;background:#a2f6cf06}.reader blockquote p{color:#ccd8d0;margin:0}.reader code{font-family:var(--mono);font-size:11px;color:var(--accent);background:#18201c;padding:3px 6px;border-radius:3px}.reader pre{padding:20px;background:#101617;border:1px solid var(--line);border-radius:4px;overflow:auto;line-height:1.9}.reader pre code{padding:0;background:none}.article-tools{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:27px;font:9px var(--mono);color:var(--muted)}.copy{font-size:10px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:4px;padding:6px 10px}.copy:hover{color:var(--accent)}.toc{font-size:10px;color:var(--muted);padding-top:22px;position:sticky;top:30px;align-self:start}.toc b{font:9px var(--mono);letter-spacing:1px;font-weight:400}.toc a{display:block;margin-top:14px}.toc a:hover{color:var(--accent)}.about-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;padding-bottom:80px}.about-layout h2{font-size:28px;font-weight:450;letter-spacing:-1px}.about-layout p{color:var(--muted)}.links-block a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.links-block a:hover{color:var(--accent)}.quiet{font:10px var(--mono);color:var(--muted)}.mobile-toggle{display:none}.notice{padding:14px 18px;background:#a2f6cf07;border:1px solid #a2f6cf20;border-radius:4px;color:var(--muted);font-size:11px;margin:25px 0}.repo-count{color:var(--accent)}[hidden]{display:none!important}@media(min-width:1500px){.hero{min-height:720px}}@media(max-width:1280px){main,footer{margin-left:44px;margin-right:44px}}@media(max-width:1000px){h1{font-size:64px}.hero{gap:20px}.reader-grid{grid-template-columns:1fr}.toc{display:none}.notebook-layout{gap:32px;grid-template-columns:180px 1fr}.nav-end{display:none}}@media(max-width:700px){header{height:78px;padding:0 22px}main,footer{margin-left:22px;margin-right:22px}.hero{grid-template-columns:1fr;padding:50px 0;gap:42px;min-height:0}h1{font-size:62px;letter-spacing:-3.5px}.hero .art{max-width:500px}.hero .art img{aspect-ratio:1.4}.projects{grid-template-columns:1fr;gap:34px;margin-bottom:55px}.project-image{height:245px}.note-row{grid-template-columns:1fr 20px}.note-date,.note-row>.tag{display:none}.note-row>span:last-child{grid-column:2;grid-row:1}nav{gap:19px}nav a{font-size:11px}.page-head{padding-top:55px}.page-head h1{font-size:52px}.notebook-layout{display:block;padding-top:28px}.sidebar{margin-bottom:35px}.sidebar label{margin-top:15px}.sidebar a{padding:6px 12px}.reader h1{font-size:39px}.about-layout{grid-template-columns:1fr;gap:30px}footer{align-items:start;gap:24px;flex-direction:column}.foot-name{flex-wrap:wrap}.page-title-line{display:block}.tag{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.skip{position:absolute;left:20px;top:-100px;padding:8px 16px;background:var(--accent);color:#090b0d;z-index:20}.skip:focus{top:8px}#repo-search{margin-bottom:18px;max-width:440px}.repo-row:hover h3{color:var(--accent)}
.contact-section{border-top:1px solid var(--line);margin-top:80px;padding-top:55px;display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.contact-section h2{font-size:42px;line-height:1.2;font-weight:450;letter-spacing:-1.5px;margin:20px 0}.contact-section p{font-size:12px;color:var(--muted)}.contact-section a:hover{color:var(--accent)}.contact-section label{display:block;font-size:11px;color:var(--muted);margin-bottom:18px}.contact-section input,.contact-section textarea{display:block;width:100%;margin-top:7px;background:#101416;border:1px solid var(--line);border-radius:3px;color:var(--text);padding:12px;font:13px 'DM Sans',sans-serif}.contact-section textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-submit{display:flex;align-items:center;gap:18px}.contact-submit>span{font-size:10px;color:var(--muted)}@media(max-width:700px){.contact-section{grid-template-columns:1fr;gap:25px}.form-row{grid-template-columns:1fr;gap:0}}
