@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg: #e8eee8;--surface: #f0f4ee;--surface-strong: #dce6dd;--ink: #1b2b23;--muted: #4d5e53;--line: #b7c8ba;--emerald: #174b38;--emerald-mid: #28664d;--emerald-light: #327557;--emerald-deep: #103c2c;--forest: #10271f;--forest-soft: #1a382b;--forest-card: #1e3b2e;--sage: #a8b8a7;--moss: #89988b;--brown: #73543d;--brown-soft: #9a795d;--cream: #f4f2e9;--white: #f4f5ef;--mono: "DM Mono", monospace;--sans: "Manrope", sans-serif;--serif: "Cormorant Garamond", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:var(--sans);background:radial-gradient(ellipse at 5% 5%,rgba(40,102,77,.09),transparent 35%),radial-gradient(ellipse at 95% 75%,rgba(115,84,61,.045),transparent 30%),var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}::selection{background:var(--emerald);color:var(--white)}.container{width:min(1160px,calc(100% - 64px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:#e8eee8eb;backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,75,56,.16)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.wordmark,.footer-wordmark{font-family:var(--serif);font-size:34px;font-weight:700;letter-spacing:-1px;color:var(--emerald-deep);white-space:nowrap}.wordmark span,.footer-wordmark span{color:var(--brown)}.nav-links{display:flex;align-items:center;justify-content:center;gap:19px;flex-wrap:wrap}.nav-link{color:var(--muted);font-size:10px;font-weight:700;transition:color .2s ease}.nav-link:hover,.nav-link.is-active{color:var(--emerald)}.nav-resume{padding:10px 15px;border:1px solid var(--emerald);border-radius:8px;color:var(--emerald);font:10px var(--mono);white-space:nowrap;transition:all .2s ease}.nav-resume:hover{color:var(--white);background:var(--emerald);transform:translateY(-2px)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--emerald);font:10px var(--mono);letter-spacing:1.4px;text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:1px;background:currentColor}.hero{padding-top:92px;padding-bottom:94px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:62px}.hero h1{max-width:700px;margin:24px 0 18px;color:var(--emerald-deep);font:600 clamp(55px,6.4vw,82px)/.94 var(--serif);letter-spacing:-1.8px}.hero-accent{display:block;margin-top:12px;color:var(--emerald);font-style:italic}.hero-description,.lead{max-width:610px;color:var(--muted);font-size:13px;line-height:2}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:13px 18px;border:1px solid transparent;border-radius:9px;font:10px var(--mono);transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10271f1f}.button-primary{color:var(--white);background:var(--emerald);border-color:var(--emerald)}.button-primary:hover{color:var(--white);background:var(--emerald-light);border-color:var(--emerald-light)}.button-secondary{color:var(--emerald-deep);background:#f0f4eea6;border-color:#174b384d}.button-secondary:hover{color:var(--brown);background:var(--surface);border-color:var(--brown-soft)}.hero-socials{display:flex;gap:20px;margin-top:25px}.hero-socials a{color:var(--muted);font:9px var(--mono)}.hero-socials a:hover{color:var(--emerald)}.hero-card{position:relative;isolation:isolate;container-type:inline-size;overflow:hidden;min-height:405px;padding:29px;color:var(--white);background:radial-gradient(circle at 85% 15%,rgba(67,129,102,.28),transparent 35%),radial-gradient(circle at 5% 95%,rgba(115,84,61,.17),transparent 32%),linear-gradient(145deg,#1a4533,#10271f 75%);border:1px solid rgba(168,184,167,.2);box-shadow:0 20px 50px #10271f29}.hero-card:after{content:"";position:absolute;z-index:0;width:250px;height:250px;right:-100px;bottom:-125px;border:1px solid rgba(168,184,167,.2);border-radius:50%;box-shadow:0 0 0 30px #a8b8a709,0 0 0 60px #73543d09;pointer-events:none}.hero-card>:not(.hero-rain){position:relative;z-index:2}.card-topline,.card-bottomline{display:flex;justify-content:space-between;gap:12px;color:#a9b9aa;font:9px var(--mono);letter-spacing:1px}.card-topline{padding-bottom:18px;border-bottom:1px solid rgba(168,184,167,.2)}.card-kicker{margin-top:48px;color:#a9c7a9;font:10px var(--mono);letter-spacing:1.5px}.card-statement{margin:13px 0 28px;color:#f0f3e9;font:600 43px/1.06 var(--serif)}.method-list{display:grid;gap:13px}.method-item{display:flex;align-items:center;gap:15px;color:#d5dfd3;font:10px var(--mono)}.method-item span{color:#b08a67}.card-bottomline{position:relative;z-index:2;margin-top:29px;padding-top:15px;border-top:1px solid rgba(168,184,167,.2)}.hero-rain{position:absolute;z-index:1;inset:0;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;color:#b8d0b7;font-size:clamp(8px,2.55cqw,15px);opacity:.17;pointer-events:none}.hero-rain pre{margin:0;font-size:inherit;line-height:1.2;white-space:pre;transform:scaleY(1.7);transform-origin:center}.metrics-band{background:#c6d2c77a;border-block:1px solid var(--line)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr)}.metric-card{min-height:112px;padding:22px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.metric-card:first-child{border-left:1px solid var(--line)}.metric-card strong{color:var(--emerald-deep);font:600 34px/1 var(--serif)}.metric-card span{color:var(--ink);font-size:11px;font-weight:800}.metric-card small{color:var(--muted);font:8px var(--mono)}.section{padding-block:94px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2,.split-section h2,.contact-banner h2{margin:14px 0 0;color:var(--emerald-deep);font:600 clamp(38px,4vw,54px)/1.03 var(--serif);letter-spacing:-.7px}.section-description{max-width:400px;margin:0;color:var(--muted);font-size:12px;line-height:1.9}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#f0f4ee73}.principle-card{min-height:180px;padding:23px;border-right:1px solid var(--line)}.principle-card:last-child{border-right:0}.principle-card>span{color:var(--emerald-mid);font:10px var(--mono)}.principle-card h3{margin:32px 0 8px;color:var(--emerald-deep);font:600 25px var(--serif)}.principle-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.8}.section-dark{color:var(--white);background:radial-gradient(ellipse at 0 0,rgba(40,102,77,.25),transparent 35%),radial-gradient(ellipse at 100% 100%,rgba(115,84,61,.1),transparent 28%),var(--forest)}.section-dark .eyebrow{color:#a9c7a9}.section-dark .section-heading h2{color:#edf2e8}.section-dark .section-description{color:#a9b9aa}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.project-card{display:flex;flex-direction:column;min-height:330px;padding:27px;color:var(--white);background:linear-gradient(145deg,rgba(40,102,77,.17),transparent 75%),var(--forest-card);border:1px solid rgba(168,184,167,.17);transition:border-color .25s,transform .25s,background-color .25s}.project-card:hover{border-color:#9a795da6;transform:translateY(-4px);background-color:#244533}.project-meta{display:flex;justify-content:space-between;gap:10px;color:#a9b9aa;font:9px var(--mono);letter-spacing:.8px}.project-status{color:#a9c7a9}.project-category{margin-top:35px;color:#a9c7a9;font:9px var(--mono);text-transform:uppercase;letter-spacing:1px}.project-card h3{margin:7px 0 10px;color:#eff3e9;font:600 36px var(--serif)}.project-card h3 a:hover{color:#c8d9c4}.project-card p{max-width:470px;margin:0;color:#bdcabe;font-size:11px;line-height:1.9}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.tag{padding:6px 9px;color:#c5d3c5;border:1px solid rgba(168,184,167,.22);border-radius:5px;font:8px var(--mono)}.project-card-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:26px}.text-link{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:var(--emerald);font:10px var(--mono);transition:color .2s}.text-link:hover{color:var(--brown)}.text-link-light{color:#b7cda9}.text-link-light:hover{color:#d1a783}.text-link-muted{color:#a9b9aa}.section-end-link{display:flex;justify-content:flex-end;margin-top:24px}.project-grid-light .project-card{background:var(--forest-card)}.credential-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.credential-card{padding:26px;background:#f0f4eead;border:1px solid var(--line)}.credential-mark{display:inline-grid;place-items:center;width:55px;height:55px;color:#dfe9dc;background:var(--emerald);border-radius:50%;font:11px var(--mono)}.credential-issuer{margin-top:22px;color:var(--brown);font:9px var(--mono);text-transform:uppercase;letter-spacing:1px}.credential-card h3{min-height:54px;margin:8px 0 20px;color:var(--emerald-deep);font:600 25px/1.1 var(--serif)}.section-soft{background:linear-gradient(120deg,#dce7dd,#d5e0d6);border-block:1px solid rgba(23,75,56,.1)}.split-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.split-section h2{font-size:52px}.split-copy p{color:#586b5f;font-size:13px;line-height:1.95}.contact-banner{display:flex;justify-content:space-between;align-items:center;gap:28px}.contact-banner h2{max-width:650px}.contact-banner p{color:var(--muted);font-size:12px;line-height:1.8}.page-hero{padding-top:88px;padding-bottom:42px}.page-hero h1{max-width:900px;margin:20px 0 15px;color:var(--emerald-deep);font:600 clamp(48px,6vw,76px)/.98 var(--serif);letter-spacing:-1.3px}.page-hero .lead{max-width:700px}.content-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:75px;align-items:start}.side-note{position:sticky;top:110px;padding:23px;color:var(--white);background:var(--forest);border:1px solid rgba(168,184,167,.18)}.side-note span{color:#a9c7a9;font:9px var(--mono);letter-spacing:1px}.side-note strong{display:block;margin-top:22px;color:#eff3e9;font:600 27px/1.08 var(--serif)}.side-note p{color:#a9b9aa;font-size:11px;line-height:1.8}.prose h2{margin:0 0 12px;color:var(--emerald-deep);font:600 30px var(--serif)}.prose h2:not(:first-child){margin-top:35px}.prose p,.prose li{color:#586b5f;font-size:12px;line-height:1.95}.prose ul{padding-left:18px}.prose li{margin-bottom:7px}.signature{color:var(--brown)!important;font:italic 25px var(--serif)!important}.cert-list{display:grid;gap:16px}.cert-detail-card{display:grid;grid-template-columns:50px 1fr 110px;gap:22px;align-items:start;padding:28px;background:#f0f4eeb8;border:1px solid var(--line)}.cert-index{color:var(--brown);font:11px var(--mono)}.cert-body h2{margin:12px 0;color:var(--emerald-deep);font:600 31px/1.08 var(--serif)}.cert-body p{max-width:620px;margin-bottom:20px;color:var(--muted);font-size:11px;line-height:1.9}.cert-monogram{display:grid;place-items:center;width:95px;height:95px;color:#eaf0e8;background:var(--emerald);border-radius:50%;font:15px var(--mono)}.note-panel{margin-top:24px;padding:22px;background:var(--surface-strong);border-left:3px solid var(--brown-soft)}.note-panel strong{color:var(--emerald-deep);font:600 22px var(--serif)}.note-panel p{margin-bottom:0;color:var(--muted);font-size:11px}.timeline{max-width:900px}.timeline-item{position:relative;margin-left:12px;padding:0 0 48px 34px;border-left:1px solid #a9bcae}.timeline-item:last-child{border-left-color:transparent}.timeline-item:before{content:"";position:absolute;left:-5px;top:2px;width:9px;height:9px;background:var(--emerald);border:2px solid var(--bg);border-radius:50%}.timeline-number{color:var(--brown);font:9px var(--mono);letter-spacing:1px}.timeline-item h2{margin:12px 0;color:var(--emerald-deep);font:600 32px var(--serif)}.timeline-item p{max-width:760px;color:#586b5f;font-size:12px;line-height:1.95}.small-note{color:var(--muted);font-size:10px;line-height:1.8}.skill-groups{border-top:1px solid var(--line)}.skill-group{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.skill-group-number{color:var(--brown);font:10px var(--mono)}.skill-group h2{margin:0;color:var(--emerald-deep);font:600 26px var(--serif)}.tag-list-light .tag{color:var(--emerald-deep);border-color:#174b383b;background:#f0f4ee99}.lab-topology{max-width:760px;margin:0 auto 60px;padding:34px;background:var(--forest);border:1px solid rgba(168,184,167,.2);text-align:center}.topology-node{display:flex;flex-direction:column;gap:8px;padding:22px;color:var(--white);background:#1d4030;border:1px solid rgba(168,184,167,.25)}.topology-node span{color:#a9c7a9;font:8px var(--mono);letter-spacing:1px}.topology-node strong{color:#f0f3e9;font:600 30px var(--serif)}.topology-node small{color:#a9b9aa;font-size:9px}.dc-node{max-width:330px;margin:auto}.topology-branches{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:560px;margin:42px auto 0;position:relative}.topology-branches:before{content:"";position:absolute;top:-22px;left:25%;right:25%;height:1px;background:#668373}.topology-branches .topology-node:before{content:"";position:absolute}.topology-users{display:inline-block;margin-top:24px;padding:9px 14px;color:#d7e2d5;border:1px solid rgba(168,184,167,.25);font:9px var(--mono);letter-spacing:1px}.lab-details{max-width:1000px}.writeup-intro{max-width:680px;margin-bottom:50px}.writeup-intro h2{margin:15px 0;color:var(--emerald-deep);font:600 37px var(--serif)}.writeup-intro p{color:var(--muted);font-size:12px;line-height:1.9}.empty-state{padding:65px 25px;text-align:center;background:#f0f4ee8c;border:1px dashed #a9bcae}.empty-mark{color:var(--brown);font:50px var(--serif)}.empty-state h2{margin:10px 0;color:var(--emerald-deep);font:600 32px var(--serif)}.empty-state p{max-width:530px;margin:0 auto 22px;color:var(--muted);font-size:11px;line-height:1.9}.github-projects{margin-bottom:70px}.github-repo{max-width:540px;padding:25px;color:var(--white);background:var(--forest);border:1px solid rgba(168,184,167,.2)}.github-repo h2{margin:25px 0 8px;font:600 35px var(--serif)}.github-repo p{color:#b9c9bc;font-size:11px;line-height:1.8}.compact-heading{margin-top:0}.github-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.github-stat-image{display:grid;place-items:center;min-height:170px;padding:10px;overflow:hidden;background:var(--forest);border:1px solid rgba(168,184,167,.2)}.github-stat-image img{display:block;max-width:100%;height:auto}.github-streak{grid-column:1 / -1}.resume-frame{height:900px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 15px 40px #10271f14}.resume-frame iframe{width:100%;height:100%;border:0}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.contact-card{display:flex;flex-direction:column;min-height:190px;justify-content:space-between;padding:23px;background:#f0f4eeb3;border:1px solid var(--line);border-radius:9px;transition:transform .2s,border-color .2s,background .2s}.contact-card:hover{transform:translateY(-4px);border-color:var(--brown-soft);background:var(--surface)}.contact-card span{color:var(--brown);font:9px var(--mono);letter-spacing:1px}.contact-card strong{color:var(--emerald-deep);font:600 24px var(--serif);overflow-wrap:anywhere}.contact-card small{color:var(--muted);font:9px var(--mono)}.contact-card-primary{color:var(--white);background:var(--forest);border-color:var(--forest)}.contact-card-primary strong{color:#f0f3e9}.contact-card-primary small{color:#a9b9aa}.contact-card-primary:hover{background:#1a4533}.site-footer{padding-block:34px;color:var(--white);background:#0d2119;border-top:1px solid rgba(168,184,167,.13)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer-wordmark{color:var(--white);font-size:29px}.footer-note,.footer-copy{color:#9cac9d;font:8px var(--mono);letter-spacing:.5px}.footer-links{display:flex;gap:18px}.footer-links a{color:#a9c7a9;font:9px var(--mono)}.footer-links a:hover{color:#d1a783}@media(max-width:980px){.header-inner{flex-wrap:wrap;padding-block:12px}.nav-links{order:3;width:100%;justify-content:flex-start;gap:15px}.hero{grid-template-columns:1fr;gap:38px;padding-top:65px}.hero-card{max-width:650px}.principle-grid{grid-template-columns:repeat(2,1fr)}.principle-card:nth-child(2){border-right:0}.principle-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.content-layout,.split-section{grid-template-columns:1fr;gap:35px}.side-note{position:static}}@media(max-width:650px){.container{width:min(100% - 36px,1160px)}.header-inner{min-height:66px}.wordmark{font-size:29px}.nav-links{gap:11px 14px}.nav-link{font-size:9px}.nav-resume{margin-left:auto}.hero{padding-top:55px;padding-bottom:60px}.hero h1{font-size:clamp(48px,12vw,66px)}.hero-description,.lead{font-size:12px}.hero-card{min-height:385px;padding:22px}.card-statement{font-size:39px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-card{min-height:100px;padding:17px}.metric-card:nth-child(2){border-right:0}.metric-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.section{padding-block:68px}.section-heading{display:block}.section-heading h2,.split-section h2,.contact-banner h2{font-size:42px}.section-description{margin-top:17px}.principle-grid,.project-grid,.credential-preview-grid,.contact-grid,.github-stats-grid{grid-template-columns:1fr}.principle-card{min-height:155px;border-right:0;border-bottom:1px solid var(--line)}.principle-card:last-child{border-bottom:0}.project-card{min-height:310px;padding:22px}.project-card h3{font-size:33px}.page-hero{padding-top:58px;padding-bottom:25px}.page-hero h1{font-size:clamp(44px,11vw,60px)}.cert-detail-card{grid-template-columns:30px 1fr;padding:20px;gap:12px}.cert-monogram{grid-column:2;width:65px;height:65px;font-size:11px}.cert-body h2{font-size:26px}.skill-group{grid-template-columns:35px 1fr;gap:10px}.skill-group h2{font-size:23px}.topology-branches{gap:9px}.topology-node{padding:15px 9px}.topology-node strong{font-size:23px}.lab-topology{padding:20px 12px}.github-streak{grid-column:auto}.resume-frame{height:650px}.contact-banner,.footer-inner{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:3px solid var(--brown-soft);outline-offset:3px;border-radius:4px}.nav-link,.hero-socials a,.footer-links a{color:#4d5e53}.footer-links a{color:#b9d2ba}.nav-link:hover,.nav-link.is-active{color:#103c2c}.section-description,.hero-description,.lead,.prose p,.prose li,.cert-body p,.timeline-item p,.writeup-intro p,.empty-state p,.contact-banner p,.small-note{color:#4d5e53}.section-dark .section-description,.section-dark .project-card p,.project-meta,.project-card .project-meta,.project-card p{color:#d1ddd1}.project-status,.project-category{color:#c3d9bf}.tag{color:#e1e9df;border-color:#d2e2d252}.text-link-light,.text-link-muted{color:#c3d9bf}.text-link-light:hover,.text-link-muted:hover{color:#e0c2a4}.metric-card small,.footer-note,.footer-copy{color:#52665a}.footer-note,.footer-copy{color:#b9c8ba}.card-topline,.card-bottomline{color:#c1d0c1}.card-kicker,.method-item span{color:#d2b18e}.card-bottomline{border-top-color:#d2e2d24d}.writeup-search-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;flex-wrap:wrap}.writeup-search-label{color:var(--emerald-deep);font:10px var(--mono);letter-spacing:1px}.writeup-search{width:min(100%,390px);padding:13px 15px;color:var(--ink);background:#f7f9f5;border:1px solid #9caf9f;border-radius:8px;font:11px var(--sans)}.writeup-search::placeholder{color:#65776b}.writeup-count{margin-bottom:18px;color:#4d5e53;font:10px var(--mono)}.writeup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.writeup-card{display:flex;flex-direction:column;min-height:245px;padding:24px;color:#f2f5ee;background:#183629;border:1px solid #456b55;border-radius:8px;transition:transform .2s ease,border-color .2s ease,background .2s ease}.writeup-card:hover{transform:translateY(-3px);background:#204533;border-color:#a17b5c}.writeup-card[hidden]{display:none}.writeup-card-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#d0ddcf;font:9px var(--mono)}.writeup-card h3{margin:23px 0 9px;color:#f5f5ec;font:600 29px/1.08 var(--serif)}.writeup-card h3 a:hover{color:#d4e4ce}.writeup-card p{margin:0;color:#d5e0d4;font-size:11px;line-height:1.85}.writeup-card .tag-list{margin-top:auto;padding-top:17px}.writeup-card .tag{color:#e3ebdf;border-color:#d2e2d257}.writeup-card-link{display:inline-flex;gap:9px;margin-top:19px;color:#c7d9bf;font:10px var(--mono)}.writeup-card-link:hover{color:#e0c2a4}.article-header{max-width:850px;padding-top:75px;padding-bottom:38px}.article-meta{display:flex;gap:10px 18px;flex-wrap:wrap;color:#4d5e53;font:10px var(--mono)}.article-header h1{margin:20px 0 14px;color:var(--emerald-deep);font:600 clamp(43px,6vw,68px)/1 var(--serif)}.article-description{max-width:720px;color:#4d5e53;font-size:13px;line-height:1.9}.article-layout{display:grid;grid-template-columns:minmax(0,820px) 220px;gap:55px;align-items:start;padding-bottom:90px}.article-prose{min-width:0;color:#263a2e;font-size:13px;line-height:1.95;overflow-wrap:anywhere}.article-prose h1,.article-prose h2,.article-prose h3,.article-prose h4{color:#103c2c;font-family:var(--serif);line-height:1.15}.article-prose h1{font-size:39px}.article-prose h2{margin-top:42px;font-size:33px}.article-prose h3{margin-top:30px;font-size:26px}.article-prose p,.article-prose li{color:#344b3c}.article-prose a{color:#174b38;text-decoration:underline;text-decoration-color:#9a795d;text-underline-offset:3px}.article-prose ul,.article-prose ol{padding-left:24px}.article-prose li{margin-bottom:8px}.article-prose blockquote{margin:26px 0;padding:12px 20px;color:#354b3c;background:#dce7dd;border-left:3px solid #73543d}.article-prose pre{max-width:100%;overflow-x:auto;padding:18px;color:#e9f0e6;background:#10271f;border:1px solid #365744;border-radius:8px;font:11px/1.75 var(--mono)}.article-prose code{padding:2px 5px;color:#174b38;background:#dce7dd;border-radius:4px;font:.9em var(--mono)}.article-prose pre code{padding:0;color:inherit;background:transparent}.article-prose img{display:block;max-width:100%;height:auto;margin:25px auto;border:1px solid #b7c8ba;border-radius:8px}.article-prose table{width:100%;border-collapse:collapse;font-size:11px}.article-prose th,.article-prose td{padding:10px;border:1px solid #aebfb0;text-align:left}.article-prose th{color:#f1f4ed;background:#174b38}.article-sidebar{position:sticky;top:110px;padding:19px;color:#f1f4ed;background:#10271f;border:1px solid #456b55}.article-sidebar strong{display:block;color:#d5e3d1;font:600 22px var(--serif)}.article-sidebar p{color:#d0ddcf;font-size:10px;line-height:1.8}.article-back{display:inline-flex;margin-top:18px;color:#174b38;font:10px var(--mono)}.article-sidebar .article-back{color:#c3d9bf}@media(max-width:760px){.writeup-grid{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr;gap:28px}.article-sidebar{position:static;order:-1}}
