@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body,h1,h2,h3,p,figure,dl,dd{margin:0}ul{margin:0;padding:0}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}}@layer tokens{:root{--canvas:#f5f0e7;--paper:#fffaf1;--paper-cool:#eef3f5;--ink:#101826;--ink-soft:#263244;--muted:#5a6370;--line:#cfc8ba;--line-strong:#a9a294;--signal:#d94b34;--signal-dark:#a52e20;--blue:#235bbd;--blue-dark:#163f87;--gold:#a66a00;--dark:#111b2a;--dark-soft:#1b2839;--light:#f9f5ed;--display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius:4px;--shadow:0 26px 80px #10182614}}@layer base{body{background:var(--canvas);min-width:320px;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.65;overflow-x:hidden}body:before{z-index:-1;content:"";pointer-events:none;background-image:radial-gradient(#1018260d .65px,#0000 .65px);background-size:6px 6px;position:fixed;inset:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;text-wrap:balance;font-weight:500;line-height:.98}h1 em,h2 em{color:var(--signal);font-weight:400}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--signal-dark)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}::selection{color:var(--ink);background:#f2a796}}@layer components{.shell{width:min(100%,1320px);margin-inline:auto;padding-inline:clamp(1rem,4vw,4.5rem)}.shell--article{width:min(100%,1160px)}.sr-only,.skip-link:not(:focus){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:.7rem 1rem;font-weight:700;position:fixed;top:.8rem;left:.8rem}.external-mark{margin-left:.2em;font-size:.85em;transition:transform .16s;display:inline-block}a:hover .external-mark{transform:translate(2px,-2px)}.button{border-radius:var(--radius);min-height:3rem;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid;justify-content:center;align-items:center;gap:.7rem;padding:.7rem 1.1rem;font-size:.76rem;font-weight:700;text-decoration:none;transition:background .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--signal{border-color:var(--signal);background:var(--signal);color:#fff}.button--signal:hover{border-color:var(--signal-dark);background:var(--signal-dark);color:#fff}.button--ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.button--ghost:hover,.button--ink:hover,.button--ink{border-color:var(--ink);background:var(--ink);color:#fff}.text-link{min-height:2.75rem;color:var(--blue-dark);font-family:var(--mono);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.77rem;font-weight:700;text-decoration:underline;display:inline-flex}.text-link:hover{color:var(--signal-dark)}.text-link--quiet{color:var(--muted)}.text-link--light{color:#9cc7ff}.text-link--light:hover{color:#ffd7cf}.status-label{color:var(--muted);font-family:var(--mono);letter-spacing:.075em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.68rem;font-weight:700;line-height:1.4;display:inline-flex}.status-dot{background:currentColor;border:1px solid;border-radius:50%;flex:none;width:.5rem;height:.5rem;box-shadow:0 0 0 3px #0000}.status-label--coral .status-dot{color:var(--signal)}.status-label--blue .status-dot{color:var(--blue)}.status-label--gold .status-dot{color:var(--gold)}.section{padding-block:clamp(5rem,9vw,9rem)}.section-heading{border-top:1px solid var(--line-strong);grid-template-columns:minmax(11rem,.42fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,7rem);margin-bottom:clamp(3rem,6vw,6rem);padding-top:1.25rem;display:grid}.section-heading h2{max-width:820px;font-size:clamp(2.8rem,6vw,6rem)}.section-heading>div>p{max-width:620px;color:var(--muted);margin-top:1.5rem;font-size:clamp(1rem,1.5vw,1.16rem)}.section-kicker,.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:700}.section-kicker span{color:var(--signal-dark);margin-right:.7rem}.signal-line{background:var(--signal);width:2.5rem;height:1px;margin:0 .8rem .25rem 0;display:inline-block}.tech-list{flex-wrap:wrap;gap:.45rem;list-style:none;display:flex}.tech-list li{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);letter-spacing:.035em;border-radius:2px;padding:.3rem .55rem;font-size:.66rem}}@layer layout{.site-header{z-index:50;border-bottom:1px solid var(--line);background:#f5f0e7f5;position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:2rem;min-height:4.75rem;display:flex}.wordmark{min-height:2.75rem;font-family:var(--display);letter-spacing:-.02em;align-items:center;gap:.7rem;font-size:1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark:hover{color:var(--ink)}.wordmark-mark{border:1px solid var(--ink);width:2.15rem;height:2.15rem;color:var(--signal-dark);font-family:var(--mono);border-radius:50%;place-items:center;font-size:.66rem;font-weight:800;display:grid}.desktop-nav{font-family:var(--mono);letter-spacing:.055em;text-transform:uppercase;align-items:center;gap:clamp(1rem,2.2vw,2rem);font-size:.7rem;font-weight:700;display:flex}.desktop-nav a{align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.desktop-nav a:hover{color:var(--signal-dark)}.nav-divider{background:var(--line-strong);width:1px;height:1.4rem}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;min-height:2.75rem;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.7rem;font-weight:700;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.menu-icon{gap:.35rem;width:1.4rem;display:grid}.menu-icon i{background:currentColor;height:1px;transition:transform .16s;display:block}.mobile-menu[open] .menu-icon i:first-child{transform:translateY(3px)rotate(45deg)}.mobile-menu[open] .menu-icon i:last-child{transform:translateY(-3px)rotate(-45deg)}.mobile-panel{border:1px solid var(--ink);background:var(--paper);width:min(18rem,100vw - 2rem);box-shadow:var(--shadow);display:grid;position:absolute;top:3.4rem;right:0}.mobile-panel a{border-bottom:1px solid var(--line);min-height:3.2rem;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding-inline:1rem;font-size:.72rem;font-weight:700;text-decoration:none;display:flex}.mobile-panel a:last-child{border:0}.hero{grid-template-columns:minmax(0,1.3fr) minmax(19rem,.7fr);align-items:center;gap:clamp(3rem,7vw,8rem);min-height:calc(100svh - 4.75rem);padding-block:clamp(4.5rem,9vw,8rem);display:grid}.hero-copy h1{max-width:980px;margin-top:1.4rem;font-size:clamp(3.25rem,7.2vw,7.2rem)}.hero-copy h1 em{display:block}.hero-intro{max-width:720px;color:var(--ink-soft);margin-top:2rem;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:.8rem 1rem;margin-top:2.25rem;display:flex}.hero-schematic{border:1px solid var(--ink);background:var(--paper);min-width:0;min-height:30rem;position:relative;overflow:hidden;box-shadow:12px 12px #dcd5c8}.hero-schematic:before,.project-visual:before{content:"";pointer-events:none;background-image:linear-gradient(#235bbd17 1px,#0000 1px),linear-gradient(90deg,#235bbd17 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.schematic-index{color:var(--signal);font-family:var(--mono);letter-spacing:.08em;font-size:.72rem;font-weight:800;position:absolute;top:1.2rem;left:1.25rem}.schematic-flow{align-content:center;gap:0;display:grid;position:absolute;inset:5rem 1.5rem}.schematic-node{border:1px solid var(--ink-soft);background:var(--paper);min-height:4.5rem;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:1rem;font-size:.76rem;font-weight:800;display:flex;position:relative}.schematic-node span{color:var(--muted);font-size:.62rem}.schematic-node--input{width:78%}.schematic-node--output{border-color:var(--signal);background:var(--signal);color:#fff;width:78%;margin-left:auto}.schematic-node--output span{color:#fff2ef}.schematic-flow i{background:var(--blue);width:1px;height:2.2rem;margin-left:22%}.schematic-flow i:nth-of-type(2){margin-left:72%}.schematic-foot{border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:.7rem;font-size:.58rem;display:flex;position:absolute;bottom:1rem;left:1.2rem;right:1.2rem}.hero-schematic figcaption{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.project-stack{gap:clamp(2rem,4vw,4rem);display:grid}.project-card{border:1px solid var(--line-strong);background:var(--paper);min-width:0;box-shadow:var(--shadow);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid;position:relative;overflow:hidden}.project-card--reverse .project-copy{order:2}.project-card--reverse .project-visual{border-right:1px solid var(--line);border-left:0;order:1}.project-copy{z-index:1;min-width:0;padding:clamp(1.5rem,4vw,4rem);position:relative}.project-number{color:#d6d0c4;font-family:var(--display);font-size:clamp(3rem,5vw,5.5rem);line-height:1;position:absolute;top:1.2rem;right:1.3rem}.project-copy h3{margin-top:2.2rem;font-size:clamp(3rem,5vw,5.2rem)}.project-copy h3 a{text-decoration:none}.project-copy h3 a:hover{color:var(--signal-dark)}.project-summary{max-width:620px;color:var(--ink-soft);margin-top:1.5rem;font-size:1.02rem}.project-role{border-left:2px solid var(--blue);max-width:620px;color:var(--muted);margin-block:1.25rem;padding-left:1rem;font-size:.91rem}.project-role strong{color:var(--ink);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.25rem;font-size:.65rem;display:block}.project-actions{flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.6rem;display:flex}.project-visual{border-left:1px solid var(--line);background:var(--paper-cool);place-items:center;min-width:0;min-height:34rem;padding:clamp(1rem,2.5vw,2.5rem);display:grid;position:relative;overflow:hidden}.project-card--coral .project-visual{background-color:#f7e4dd}.project-card--blue .project-visual{background-color:#e1ebf3}.project-card--gold .project-visual{background-color:#efe6d0}.architecture{z-index:1;border:1px solid var(--line-strong);background:#fffaf1eb;width:100%;position:relative}.architecture svg{width:100%;height:auto}.architecture figcaption{border-top:1px solid var(--line);color:var(--muted);padding:.8rem 1rem;font-size:.77rem}.architecture--compact{transform:rotate(-1deg);box-shadow:8px 8px #10182617}.project-card--reverse .architecture--compact{transform:rotate(1deg)}.architecture--compact figcaption{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.diagram-line{fill:none;stroke:var(--ink-soft);stroke-width:2px}.diagram-line--dashed{stroke:var(--blue);stroke-dasharray:8 7}.diagram-arrowhead{fill:var(--ink-soft)}.diagram-node rect{fill:var(--paper);stroke:var(--ink-soft);stroke-width:1.5px}.diagram-node--signal rect{fill:#fae0d8;stroke:var(--signal-dark)}.diagram-node--cool rect{fill:#dfeaf5;stroke:var(--blue-dark)}.diagram-node text{fill:var(--ink);font-family:var(--mono);letter-spacing:.03em;text-anchor:middle;font-size:18px;font-weight:800}.diagram-node .diagram-sub{fill:var(--muted);font-size:12px;font-weight:600}.section--ink{background:var(--dark);color:var(--light)}.section-heading--light{border-color:#48566a}.section-heading--light .section-kicker,.section-heading--light>div>p{color:#abb7c8}.section-heading--light .section-kicker span{color:#ff8c77}.oss-grid{border-top:1px solid #48566a;border-bottom:1px solid #48566a;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.oss-card{min-width:0;padding:clamp(1.5rem,4vw,3.5rem)}.oss-card+.oss-card{border-left:1px solid #48566a}.oss-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.oss-card-top>span{color:#748196;font-family:var(--mono);font-size:.68rem}.oss-card .status-label{color:#b9c3d0}.oss-card h3{margin-top:3.5rem;font-size:clamp(2.3rem,4vw,4.2rem)}.oss-card>p{color:#c2cad4;max-width:620px;margin-block:1.5rem 1rem}.archive-list{border-top:1px solid var(--line-strong)}.archive-item{border-bottom:1px solid var(--line-strong);grid-template-columns:3rem minmax(0,1fr) minmax(12rem,19rem);align-items:start;gap:clamp(1rem,3vw,3rem);min-width:0;padding-block:clamp(1.6rem,3vw,2.5rem);display:grid}.archive-index{color:var(--signal-dark);font-family:var(--mono);padding-top:.2rem;font-size:.68rem;font-weight:800}.archive-main h3{margin-top:.8rem;font-size:clamp(2rem,3.4vw,3.4rem)}.archive-main>p{max-width:760px;color:var(--muted);margin-top:1rem}.archive-meta{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-align:right;text-transform:uppercase;justify-items:end;gap:.7rem;font-size:.67rem;display:grid}.archive-meta a{align-items:center;min-height:2.75rem;display:inline-flex}.about{border-top:1px solid var(--line-strong)}.about-grid{grid-template-columns:minmax(0,.9fr) minmax(0,.75fr);gap:clamp(3rem,9vw,10rem);margin-top:clamp(3rem,6vw,6rem);display:grid}.about h2{font-size:clamp(3rem,6vw,6.2rem)}.about-copy>p{color:var(--ink-soft);font-size:clamp(1.05rem,1.5vw,1.22rem)}.about-copy>p+p{margin-top:1.25rem}.education-line{border-top:1px solid var(--line-strong);gap:0;margin-top:2.5rem;display:grid}.education-line div{border-bottom:1px solid var(--line);grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding-block:.8rem;display:grid}.education-line dt{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:700}.education-line dd{color:var(--ink-soft);font-size:.9rem}.problem-solving{margin-top:2.5rem}.problem-solving h3{color:var(--muted);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:700}.profile-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.9rem;display:grid}.profile-list a{border:1px solid var(--line-strong);background:var(--paper);align-content:space-between;min-width:0;min-height:7.5rem;padding:1rem;text-decoration:none;display:grid;position:relative}.profile-list a:hover{border-color:var(--signal);color:var(--ink)}.profile-list a>span:first-child{color:var(--blue-dark);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.profile-list strong{font-family:var(--display);letter-spacing:-.02em;font-size:1.2rem;font-weight:600}.profile-list small{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:.58rem}.profile-list .external-mark{position:absolute;top:.8rem;right:.9rem}.site-footer{background:#e9dfd1}.footer-cta{grid-template-columns:minmax(0,1fr) minmax(16rem,.42fr);align-items:end;gap:1.5rem 4rem;padding-block:clamp(5rem,10vw,9rem);display:grid}.footer-cta .section-kicker{grid-column:1/-1}.footer-cta h2{font-size:clamp(3.4rem,7vw,7.2rem)}.footer-cta>p{max-width:440px;color:var(--ink-soft);font-size:1.08rem}.footer-cta .button{justify-self:start}.footer-bottom{border-top:1px solid var(--line-strong);color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding-block:1.5rem;font-size:.65rem;display:grid}.footer-links{gap:1.5rem;display:flex}.footer-links a{align-items:center;min-height:2.75rem;display:inline-flex}.footer-note{text-align:right}.breadcrumb{color:var(--muted);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;gap:.45rem;font-size:.66rem;display:flex}.breadcrumb a,.breadcrumb>span{align-items:center;min-height:2.75rem;display:inline-flex}.case-hero{padding-block:clamp(2rem,5vw,5rem) clamp(4rem,8vw,8rem)}.case-heading{grid-template-columns:minmax(0,.8fr) minmax(18rem,.7fr);align-items:end;gap:clamp(2rem,7vw,8rem);margin-top:clamp(3rem,6vw,6rem);display:grid}.case-heading h1{margin-top:1.3rem;font-size:clamp(4rem,9vw,9rem)}.case-heading>p{color:var(--ink-soft);padding-bottom:.8rem;font-size:clamp(1.05rem,1.5vw,1.22rem)}.case-facts{border-block:1px solid var(--line-strong);grid-template-columns:.6fr .6fr 1.5fr;margin-top:clamp(3rem,6vw,6rem);display:grid}.case-facts div{border-right:1px solid var(--line);min-width:0;padding:1rem 1.2rem}.case-facts div:last-child{border-right:0}.case-facts dt{color:var(--muted);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:700}.case-facts dd{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:.35rem;font-size:.88rem}.case-actions{flex-wrap:wrap;align-items:center;gap:.8rem 1.5rem;margin-top:1.5rem;display:flex}.case-body>section{border-top:1px solid var(--line-strong);padding-block:clamp(4rem,8vw,8rem)}.case-body .section-kicker{margin-bottom:clamp(2.5rem,5vw,5rem)}.case-intro-grid,.case-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,7vw,7rem);display:grid}.case-intro h2,.case-system h2,.case-proof h2{margin-bottom:1.5rem;font-size:clamp(2.5rem,4.5vw,4.7rem)}.case-intro p{color:var(--ink-soft);font-size:1.05rem}.contribution-list,.limitations ul{color:var(--ink-soft);gap:.8rem;margin-top:1.4rem;padding-left:1.25rem;display:grid}.contribution-list li::marker{color:var(--signal)}.limitations li::marker{color:var(--signal)}.case-system .architecture{margin-top:2rem}.prose{max-width:820px;margin-inline:auto;display:grid}.prose h2{margin-top:clamp(4rem,7vw,7rem);font-size:clamp(2.5rem,4.5vw,4.5rem)}.prose h2:first-child{margin-top:0}.prose p{color:var(--ink-soft);margin-top:1.25rem;font-size:clamp(1rem,1.4vw,1.13rem);line-height:1.75}.prose code{border:1px solid var(--line);background:var(--paper);font-family:var(--mono);border-radius:2px;padding:.12em .32em;font-size:.86em}.evidence-list{border-top:1px solid var(--line-strong);list-style:none;display:grid}.evidence-list li{border-bottom:1px solid var(--line);gap:.2rem;padding-block:1rem;display:grid}.evidence-list li a{font-weight:700}.evidence-list li span{color:var(--muted);font-size:.82rem}.limitations{border:1px solid var(--line-strong);background:var(--paper);padding:clamp(1.5rem,3vw,2.5rem)}.limitations h2{font-size:clamp(2rem,3.2vw,3.2rem)}.case-pagination{border-top:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));padding-block:2.5rem clamp(5rem,8vw,8rem);display:grid}.case-pagination a{align-content:center;min-height:4.5rem;padding:.5rem 1rem;text-decoration:none;display:grid}.case-pagination a:first-child{border-right:1px solid var(--line)}.case-pagination span{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}.case-pagination strong{font-family:var(--display);margin-top:.35rem;font-size:clamp(1.4rem,2.6vw,2.4rem);font-weight:500}.case-next{text-align:right}.not-found{align-content:center;min-height:calc(100svh - 4.75rem);padding-block:6rem;display:grid;position:relative;overflow:hidden}.not-found-code{z-index:-1;color:#e1dace;font-family:var(--display);font-size:clamp(12rem,35vw,34rem);line-height:1;position:absolute;right:-.05em}.not-found h1{margin-top:1.2rem;font-size:clamp(4rem,9vw,9rem)}.not-found>p:not(.eyebrow){color:var(--muted);margin-block:1.5rem;font-size:1.1rem}.not-found .button{justify-self:start}}@layer responsive{@media (width<=980px){.desktop-nav{display:none}.mobile-menu{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy h1{max-width:840px}.hero-schematic{min-height:27rem}.project-card,.project-card--reverse{grid-template-columns:1fr}.project-card--reverse .project-copy,.project-card--reverse .project-visual{order:initial}.project-visual,.project-card--reverse .project-visual{border-top:1px solid var(--line);border-left:0;border-right:0;min-height:27rem}.case-heading{grid-template-columns:1fr}.case-heading>p{max-width:720px}.footer-bottom{grid-template-columns:1fr auto}.footer-note{display:none}}@media (width<=760px){.section-heading{grid-template-columns:1fr;gap:2rem}.oss-grid,.about-grid,.case-intro-grid,.case-proof-grid{grid-template-columns:1fr}.oss-card+.oss-card{border-top:1px solid #48566a;border-left:0}.archive-item{grid-template-columns:2rem minmax(0,1fr)}.archive-meta{text-align:left;grid-column:2;justify-items:start}.footer-cta{grid-template-columns:1fr}.footer-cta .section-kicker{grid-column:auto}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.case-facts div:nth-child(2){border-right:0}.case-facts div:last-child{border-top:1px solid var(--line);grid-column:1/-1}}@media (width<=520px){.hero-copy h1{font-size:clamp(2.85rem,15vw,4.3rem)}.hero-schematic{min-height:23rem;box-shadow:7px 7px #dcd5c8}.schematic-flow{inset-inline:1rem}.schematic-foot{justify-content:flex-start}.schematic-foot span:last-child{flex-basis:100%}.project-copy{padding:1.35rem}.project-copy h3{margin-top:2.4rem;font-size:2.8rem}.project-number{font-size:3.3rem}.project-visual,.project-card--reverse .project-visual{min-height:17rem;padding:.7rem}.architecture--compact{box-shadow:4px 4px #10182617}.diagram-node text{font-size:20px}.diagram-node .diagram-sub{font-size:13px}.archive-item{gap:.5rem}.education-line div{grid-template-columns:5.2rem minmax(0,1fr)}.footer-bottom{grid-template-columns:1fr;gap:.4rem}.footer-links{flex-wrap:wrap}.profile-list{grid-template-columns:1fr}.case-heading h1{font-size:clamp(3.6rem,20vw,6rem)}.case-facts{grid-template-columns:1fr}.case-facts div,.case-facts div:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.case-facts div:last-child{border-top:0;border-bottom:0;grid-column:auto}.case-pagination{grid-template-columns:1fr}.case-pagination a:first-child{border-right:0;border-bottom:1px solid var(--line)}.case-next{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.site-footer,.hero-actions,.case-actions,.case-pagination{display:none}body{color:#000;background:#fff}.section,.case-body>section{padding-block:2rem}}}@layer revamp{:root{--canvas:#0c0d0c;--paper:#151714;--paper-cool:#20231e;--ink:#f4f3ed;--ink-soft:#c9ccc3;--muted:#8d9188;--line:#2d302b;--line-strong:#555a50;--signal:#c8ff36;--signal-dark:#c8ff36;--acid:#c8ff36;--acid-soft:#263311;--blue:#c8ff36;--blue-dark:#a4d222;--gold:#d5b84b;--dark:#080908;--dark-soft:#141613;--light:#f8f7f2;--display:"Avenir Next Condensed", "Arial Narrow", "Helvetica Neue Condensed", "Helvetica Neue", Arial, sans-serif;--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius:999px;--shadow:none}body{background:var(--canvas);font-size:.98rem;line-height:1.55}body:before{display:none}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;text-transform:uppercase;font-weight:800;font-stretch:75%}h1 em,h2 em{color:inherit;font-style:normal;font-weight:inherit}::selection{background:var(--acid);color:#0c0d0d}.shell{width:min(100%,1440px);padding-inline:clamp(1rem,4vw,4rem)}.section{padding-block:clamp(5rem,9vw,9rem)}.site-header{background:0 0;border:0;padding-top:.75rem}.nav-shell{min-height:3.7rem;color:var(--light);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c0d0df5;border:1px solid #242524;border-radius:999px;padding:.35rem .45rem .35rem 1.2rem;box-shadow:0 8px 28px #0c0d0d17}.wordmark{color:var(--light);font-family:var(--sans);letter-spacing:-.02em;text-transform:uppercase;gap:.6rem;font-size:.87rem;font-weight:700}.wordmark:hover{color:var(--acid)}.wordmark-mark{background:var(--acid);color:#0c0d0d;border:0;width:2rem;height:2rem;font-size:.64rem}.desktop-nav{letter-spacing:.035em;gap:clamp(.75rem,1.5vw,1.35rem);font-size:.62rem}.desktop-nav a{min-height:2.75rem}.desktop-nav a:hover{color:var(--acid)}.desktop-nav a:last-child{background:var(--acid);color:#0c0d0d;border-radius:999px;min-height:2.85rem;padding-inline:1rem}.nav-divider{background:#4c4d49}.mobile-panel{border:1px solid var(--ink);background:var(--ink);color:var(--light);border-radius:1.2rem;overflow:hidden}.mobile-panel a{border-color:#343532}.button{letter-spacing:.04em;border-radius:999px;min-height:3.2rem;padding-inline:1.25rem;font-size:.67rem}.button--acid{border-color:var(--acid);background:var(--acid);color:#0c0d0d}.button--acid:hover{border-color:var(--acid);color:var(--acid);background:0 0}.button--outline{border-color:var(--ink);color:var(--ink);background:0 0}.button--outline:hover{border-color:var(--acid);background:var(--acid);color:#0c0d0d}.text-link{color:var(--ink);letter-spacing:.035em;font-size:.68rem}.text-link:hover{color:var(--signal-dark)}.section-kicker,.eyebrow{color:var(--muted);letter-spacing:.07em;font-size:.65rem}.section-kicker span{color:var(--ink)}.hero--editorial{min-height:auto;padding-block:clamp(5.5rem,9vw,8rem) 0;display:block}.hero-meta{border-block:1px solid var(--line-strong);color:var(--muted);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:.75rem;font-size:.64rem;display:grid}.hero-meta p:nth-child(2){text-align:center}.hero-meta p:last-child{text-align:right}.availability i{background:#4bbd54;border-radius:50%;width:.5rem;height:.5rem;margin-right:.45rem;display:inline-block;box-shadow:0 0 0 3px #4bbd5421}.hero--editorial h1{letter-spacing:-.06em;white-space:nowrap;justify-content:flex-start;gap:.12em;margin-block:clamp(4rem,8vw,7rem) clamp(3rem,5vw,5rem);font-size:clamp(5rem,17.2vw,15rem);font-weight:800;line-height:.74;display:flex}.hero-lower{border-top:1px solid var(--line-strong);grid-template-columns:minmax(9rem,.36fr) minmax(19rem,1fr);align-items:start;gap:clamp(2.5rem,8vw,9rem);padding-block:clamp(2rem,4vw,4rem);display:grid}.hero-prompt{color:var(--muted);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;font-size:.64rem}.hero-note{justify-self:end;width:min(100%,760px)}.hero-statement{max-width:700px;color:var(--ink-soft);font-family:var(--mono);letter-spacing:.015em;text-transform:uppercase;font-size:clamp(.74rem,1vw,.9rem);font-weight:500;line-height:1.65}.hero-actions{margin-top:1.75rem}.hero-ticker{border:1px solid var(--line-strong);min-height:4.4rem;color:var(--light);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#080908;border-radius:1.1rem 1.1rem 0 0;justify-content:space-around;align-items:center;gap:1rem;padding-inline:clamp(1rem,3vw,3rem);font-size:clamp(.58rem,1vw,.75rem);display:flex;overflow:hidden}.hero-ticker i{color:var(--acid);font-style:normal}.editorial-heading{border-top:1px solid var(--line-strong);grid-template-columns:minmax(10rem,.38fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,7rem);margin-bottom:clamp(3rem,6vw,6rem);padding-top:1rem;display:grid}.editorial-heading h2{max-width:900px;font-size:clamp(3.3rem,7vw,7.6rem);line-height:.82}.editorial-heading h2 em{color:var(--signal-dark)}.editorial-heading>div>p{max-width:600px;color:var(--muted);margin-top:1.5rem;font-size:1rem}.editorial-heading>div>p,.project-summary,.project-role,.oss-card>p,.archive-main>p,.about-copy>p{font-family:var(--mono);letter-spacing:.01em;text-transform:uppercase;font-size:.78rem;line-height:1.65}.coding-section{padding-top:clamp(6rem,10vw,10rem)}.coding-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;display:grid}.metric-card{border:1px solid var(--line-strong);background:var(--paper);border-radius:1.4rem;min-width:0;padding:clamp(1.25rem,2.5vw,2.25rem);position:relative;overflow:hidden}.metric-card--codeforces{color:var(--light);background:#080908;grid-area:auto/span 7;align-self:start}.metric-card--leetcode,.metric-card--github{grid-column:span 5}.metric-card--github{background:var(--acid);color:#0c0d0d;grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(14rem,.7fr) minmax(22rem,1.3fr) minmax(12rem,.5fr);align-items:start;gap:1rem 3rem;display:grid}.metric-card--github .metric-card-head{grid-column:1}.metric-card--github .contribution-marks{grid-area:1/2;align-self:center}.metric-card--github .mark-key{grid-area:2/2}.metric-card--github .github-meta{grid-area:1/3;margin-top:0}.metric-card--github .metric-updated{grid-area:2/3;margin-top:0}.metric-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.metric-card-head>div>p:not(.metric-platform){color:var(--muted);font-size:.82rem}.metric-card--codeforces .metric-card-head>div>p:not(.metric-platform){color:#a9aaa4}.metric-platform{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:700}.metric-card-head h3{margin-top:.75rem;font-size:clamp(3.8rem,7vw,7rem);line-height:.8}.metric-card-head a{min-height:2.75rem;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;flex:none;align-items:center;font-size:.61rem;display:inline-flex}.metric-card--codeforces .metric-card-head a{color:var(--acid)}.rating-chart{margin-top:clamp(3rem,7vw,6rem)}.rating-chart svg{width:100%;overflow:visible}.rating-grid-line{stroke:#3a3b37;stroke-width:1px}.rating-axis-label,.rating-date{fill:#85867f;font-family:var(--mono);font-size:11px}.rating-axis-label{text-anchor:end}.rating-area{fill:url(#rating-fill)}.rating-line{fill:none;stroke:var(--acid);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.rating-point{fill:#080908;stroke:var(--acid);stroke-width:3px}.rating-chart figcaption,.metric-updated,.mark-key{color:#8e8f88;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:.57rem}.solved-ring-wrap{place-items:center;width:min(100%,15rem);margin:2rem auto 1.25rem;display:grid;position:relative}.solved-ring{width:100%;transform:rotate(-90deg)}.solved-ring circle{fill:none;stroke-width:11px}.ring-track{stroke:#30342d}.ring-easy,.ring-medium,.ring-hard{transform-origin:66px 66px}.ring-easy{stroke:var(--ink)}.ring-medium{stroke:#86ab12}.ring-hard{stroke:#777b72}.solved-ring-copy{place-items:center;display:grid;position:absolute}.solved-ring-copy strong{letter-spacing:-.06em;font-size:2.7rem;line-height:1}.solved-ring-copy span{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.59rem}.difficulty-list{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.difficulty-list div{border-right:1px solid var(--line);text-align:center;padding:.85rem .6rem}.difficulty-list div:last-child{border-right:0}.difficulty-list dt{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:.57rem}.difficulty-list dd{margin-top:.2rem;font-size:1.2rem;font-weight:700}.difficulty-dot{background:var(--ink);border-radius:50%;width:.45rem;height:.45rem;margin-right:.35rem;display:inline-block}.difficulty-dot--medium{background:#86ab12}.difficulty-dot--hard{background:#777b72}.metric-card--leetcode .metric-updated,.metric-card--github .metric-updated{color:var(--muted);margin-top:1rem}.github-total{grid-area:2/1;align-items:flex-end;gap:1rem;margin-block:1rem 0;display:flex}.github-total strong{letter-spacing:-.08em;font-size:clamp(4.5rem,8vw,7rem);line-height:.75}.github-total span{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;line-height:1.4}.contribution-marks{grid-template-columns:repeat(16,minmax(0,1fr));gap:.28rem;display:grid}.contribution-marks i{aspect-ratio:1;background:#0c0d0d;border-radius:2px}.mark-key{color:#3e4c0a;margin-top:.7rem}.github-meta{border-top:1px solid #0c0d0d59;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem;display:grid}.github-meta div{padding-top:.85rem}.github-meta dt{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:.58rem}.github-meta dd{font-size:1.35rem;font-weight:700}.project-stack{gap:1rem}.project-card{border:1px solid var(--line-strong);background:var(--paper);min-height:38rem;box-shadow:none;border-radius:1.5rem;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}.project-number{color:#3d423a;font-family:var(--sans);letter-spacing:-.07em;font-size:clamp(3.5rem,6vw,6rem);font-weight:700;top:1rem;right:1.25rem}.project-copy h3{margin-top:clamp(4rem,7vw,7rem);font-size:clamp(3.5rem,6vw,6.8rem);line-height:.82}.project-summary{font-size:.98rem}.project-role{border-color:var(--ink)}.tech-list li{border-color:var(--line-strong);border-radius:999px}.project-visual,.project-card--reverse .project-visual{border-color:var(--line-strong);background:#20231e;min-height:38rem}.project-card--coral .project-visual,.project-card--gold .project-visual{background:var(--acid-soft)}.project-card--blue .project-visual{background:#1b211e}.project-visual:before{background-image:linear-gradient(#c8ff3614 1px,#0000 1px),linear-gradient(90deg,#c8ff3614 1px,#0000 1px);background-size:32px 32px}.architecture--compact,.project-card--reverse .architecture--compact{border-color:var(--line-strong);transform:none;box-shadow:8px 8px #0c0d0d2e}.section--acid{background:#080908}.editorial-heading--dark{border-color:#555650}.editorial-heading--dark .section-kicker,.editorial-heading--dark>div>p{color:#a8a9a3}.editorial-heading--dark .section-kicker span,.editorial-heading--dark h2 em{color:var(--acid)}.oss-grid,.oss-card+.oss-card{border-color:#54554f}.oss-card h3{font-size:clamp(2.8rem,5vw,5.5rem);line-height:.9}.oss-card .status-label,.oss-card>p{color:#b9bab4}.text-link--light,.text-link--light:hover{color:var(--acid)}.archive-list,.archive-item,.about{border-color:var(--line-strong)}.archive-item{grid-template-columns:3rem minmax(0,1fr) minmax(12rem,20rem);padding-block:clamp(1.75rem,3.5vw,3rem)}.archive-index{color:var(--ink)}.archive-main h3{font-size:clamp(2.4rem,4vw,4.5rem);line-height:.9}.about-grid--editorial{grid-template-columns:minmax(0,1fr) minmax(19rem,.75fr);margin-top:0}.about-lead{max-width:780px;font-family:var(--sans);letter-spacing:-.035em;text-transform:none;font-size:clamp(2rem,3.5vw,3.7rem);font-weight:600;font-stretch:100%;line-height:1.06}.education-line{border-color:var(--ink)}.site-footer{background:var(--acid);color:#0c0d0d}.site-footer .section-kicker,.site-footer .section-kicker span,.footer-cta>p{color:#303719}.footer-cta{padding-block:clamp(5rem,9vw,8rem)}.footer-cta h2{font-size:clamp(3.8rem,8vw,8.5rem);line-height:.85}.footer-cta h2 em{font-style:normal}.footer-bottom{color:#0c0d0d;border-color:#0c0d0d73}.footer-cta .button--acid{color:var(--light);background:#0c0d0d;border-color:#0c0d0d}.footer-cta .button--acid:hover{color:#0c0d0d;background:0 0}.case-heading h1,.not-found h1{line-height:.82}.case-system .architecture,.limitations{border-color:var(--line-strong);border-radius:1rem;overflow:hidden}@media (width<=980px){.hero--editorial h1{font-size:15.2vw}.coding-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card--codeforces{grid-area:auto/1/auto/-1}.metric-card--leetcode,.metric-card--github{grid-column:span 1;display:block}.project-card,.project-card--reverse{grid-template-columns:1fr;min-height:auto}.project-visual,.project-card--reverse .project-visual{min-height:28rem}}@media (width<=760px){.hero-meta{grid-template-columns:1fr 1fr;gap:.5rem}.hero-meta p:nth-child(2){text-align:right}.hero-meta p:last-child{text-align:left;grid-column:1/-1}.hero--editorial h1{white-space:normal;justify-content:stretch;gap:.1em;margin-block:3.5rem;font-size:25.5vw;line-height:.66;display:grid}.hero--editorial h1 span:last-child{text-align:right}.hero-lower,.editorial-heading,.about-grid--editorial{grid-template-columns:1fr}.hero-ticker{justify-content:flex-start}.hero-ticker span:nth-of-type(n+3),.hero-ticker i:nth-of-type(n+3){display:none}.coding-grid{grid-template-columns:1fr}.metric-card--codeforces,.metric-card--leetcode,.metric-card--github{grid-column:1;display:block}.oss-card+.oss-card{border-color:#54554f}.archive-item{grid-template-columns:2rem minmax(0,1fr)}}@media (width<=520px){.site-header{padding-top:.4rem}.nav-shell{padding-left:.75rem}.hero--editorial{padding-top:4.5rem}.hero-meta{font-size:.55rem}.hero-statement{font-size:.76rem}.hero-actions{align-items:stretch}.hero-actions .button{flex:auto}.hero-ticker span:nth-of-type(n+2),.hero-ticker i{display:none}.editorial-heading h2{font-size:clamp(3rem,18vw,4.8rem)}.metric-card-head{align-items:center}.metric-card-head h3{font-size:4.2rem}.rating-chart{margin-top:2.5rem}.rating-axis-label,.rating-date{font-size:14px}.contribution-marks{grid-template-columns:repeat(12,minmax(0,1fr))}.project-copy{padding:1.3rem}.project-copy h3{font-size:3.4rem}.project-visual,.project-card--reverse .project-visual{min-height:19rem}.footer-cta h2{font-size:clamp(3.4rem,19vw,5rem)}}}
