@font-face{font-family:VT323;src:url(/fonts/VT323-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:GiCP Pixel Terminal;src:url(/fonts/GiCP-Pixel-Terminal.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:GiCP Pixel Terminal;src:url(/fonts/GiCP-Pixel-Terminal-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:GiCP Terminal;src:url(/fonts/LiberationMono-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:GiCP Terminal;src:url(/fonts/LiberationMono-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:GiCP Terminal;src:url(/fonts/LiberationMono-Italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:GiCP Terminal;src:url(/fonts/LiberationMono-BoldItalic.ttf)format("truetype");font-style:italic;font-weight:700;font-display:swap}:root{color-scheme:light;--ink:#102c43;--ink-soft:#355066;--muted:#657985;--paper:#faf9f5;--white:#fffefa;--line:#d9e0dc;--sage:#e8efec;--sage-deep:#bdd4cf;--teal:#477c75;--amber:#f2b76b;--header-line:#e7e7e0;--hero-bg:#102c43;--hero-text:#fffefa;--hero-muted:#d6e1df;--inverse-bg:#102c43;--inverse-fg:#fffefa;--inverse-muted:#c4d2d0;--inverse-border:#fff3;--shadow-floating:0 6px 18px #102c4324;--surface-hover:#f2f1eb;--shadow-soft:0 8px 24px #102c4314;--shadow-card:0 12px 28px #102c4314;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--paper);color:var(--ink);scroll-behavior:smooth}:root[data-theme=dark]{color-scheme:dark;--ink:#edf3f1;--ink-soft:#c3d0d2;--muted:#a2b3b8;--paper:#0b141c;--white:#14232d;--line:#354a56;--sage:#1b2d38;--sage-deep:#3e5b65;--teal:#92d1c1;--amber:#f2b76b;--header-line:#283b47;--hero-bg:#0d202d;--hero-text:#f3f7f5;--hero-muted:#cfdbdc;--inverse-bg:#142630;--inverse-fg:#edf4f3;--inverse-muted:#bdcccf;--inverse-border:#e7f3f338;--shadow-floating:0 6px 20px #00000061;--surface-hover:#243945;--shadow-soft:0 8px 24px #0000003d;--shadow-card:0 12px 28px #0000004d}:root[data-theme=hacker]{color-scheme:dark;--mono:"GiCP Pixel Terminal", "GiCP Terminal", "Liberation Mono", monospace;--sans:var(--mono);--ink:#d9ffe5;--ink-soft:#a3d9b5;--muted:#78a88a;--paper:#07100b;--white:#0d1b12;--line:#244a30;--sage:#102719;--sage-deep:#23683b;--teal:#58f287;--amber:#b7ff65;--header-line:#1b3824;--hero-bg:#050d08;--hero-text:#e2ffe9;--hero-muted:#9bc9a7;--inverse-bg:#0d1b12;--inverse-fg:#d9ffe5;--inverse-muted:#a3d9b5;--inverse-border:#58f2873d;--shadow-floating:0 6px 20px #0000007a;--surface-hover:#183320;--shadow-soft:0 8px 24px #0000004d;--shadow-card:0 12px 28px #00000061;--cyber-cyan:#53ddf5;--cyber-orange:#ffbd69;--serif:var(--mono)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=hacker]){color-scheme:dark;--ink:#edf3f1;--ink-soft:#c3d0d2;--muted:#a2b3b8;--paper:#0b141c;--white:#14232d;--line:#354a56;--sage:#1b2d38;--sage-deep:#3e5b65;--teal:#92d1c1;--amber:#f2b76b;--header-line:#283b47;--hero-bg:#0d202d;--hero-text:#f3f7f5;--hero-muted:#cfdbdc;--inverse-bg:#142630;--inverse-fg:#edf4f3;--inverse-muted:#bdcccf;--inverse-border:#e7f3f338;--shadow-floating:0 6px 20px #00000061;--surface-hover:#243945;--shadow-soft:0 8px 24px #0000003d;--shadow-card:0 12px 28px #0000004d}}*,:before,:after{box-sizing:border-box}body{min-width:320px;margin:0}button,a{font:inherit}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--amber);outline-offset:5px}::selection{background:var(--amber);color:var(--ink)}.skip-link{z-index:20;background:var(--white);color:var(--ink);padding:.75rem 1rem;font-weight:700;position:absolute;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.editorial-main{width:min(100% - 3rem,940px);min-height:62vh;margin-inline:auto;padding-block:clamp(2.75rem,5vw,4.5rem)}.editorial-heading{max-width:720px;margin-bottom:2.5rem}.editorial-heading h1,.article-heading h1{font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(2.25rem,4vw,3.4rem);font-weight:400;line-height:1.08}.editorial-intro{max-width:600px;color:var(--muted);margin:1.3rem 0 0;font-size:1.05rem;line-height:1.75}.post-categories{flex-wrap:wrap;gap:.65rem;margin:0 0 2rem;display:flex}.post-categories a{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);border-radius:2px;align-items:center;padding:.6rem .8rem;font-size:.76rem;font-weight:650;display:inline-flex}.post-categories a:hover{border-color:var(--teal);color:var(--teal)}.post-categories a[aria-current=page]{border-color:var(--teal);background:var(--sage);color:var(--ink)}.archive-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.archive-category-card{border:1px solid var(--line);background:var(--white);flex-direction:column;align-items:flex-start;min-height:225px;padding:1.4rem;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.archive-category-card:hover{border-color:var(--teal);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.archive-category-index{color:var(--teal);font-family:var(--mono);letter-spacing:.07em;font-size:.7rem}.archive-category-card h2{font-family:var(--serif);letter-spacing:-.02em;margin:1.5rem 2rem .5rem 0;font-size:clamp(1.5rem,2.8vw,2rem);font-weight:500}.archive-category-card p{max-width:34rem;color:var(--muted);margin:0;font-size:.86rem;line-height:1.65}.archive-category-count{color:var(--teal);font-family:var(--mono);text-transform:uppercase;margin-top:auto;padding-top:1.25rem;font-size:.65rem}.archive-category-arrow{color:var(--teal);position:absolute;top:1.35rem;right:1.4rem}.post-list{border-top:1px solid var(--line)}.post-card{border-bottom:1px solid var(--line);padding:2rem 0 2.2rem;display:flow-root}.post-preview-image{float:right;aspect-ratio:22/15;object-fit:contain;background:var(--sage);width:min(30%,220px);height:auto;margin:0 0 1rem 1.25rem}.post-card-meta,.article-meta{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.65rem;display:flex}.post-card-meta span{color:var(--teal)}.post-card h2{max-width:760px;font-family:var(--serif);letter-spacing:-.025em;margin:.75rem 0 .5rem;font-size:clamp(1.6rem,3.5vw,2.25rem);font-weight:400;line-height:1.15}.post-card h2 a:hover{color:var(--teal)}.post-card>p:not(.post-author){max-width:700px;color:var(--ink-soft);margin:0;font-size:.94rem;line-height:1.7}.post-author{color:var(--muted);margin:.8rem 0 0;font-size:.78rem}.press-list{border-top:1px solid var(--line)}.press-card{border-bottom:1px solid var(--line);padding:1.75rem 0 2rem}.press-card h2{max-width:800px;font-family:var(--serif);letter-spacing:-.02em;margin:.65rem 0;font-size:clamp(1.4rem,3vw,2rem);font-weight:400;line-height:1.2}.press-card h2 a:hover{color:var(--teal)}.press-card>p{max-width:760px;color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.7}.team-grid{grid-template-columns:minmax(0,1fr);gap:.85rem;display:grid}.team-content{min-width:0}.team-section{margin-top:0;scroll-margin-top:6rem}.team-section+.team-section{margin-top:3.5rem}.team-section-title{font-family:var(--serif);margin:0 0 1.25rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400}.team-card{border:1px solid var(--line);background:var(--white);min-width:0;padding:1.2rem 1.3rem}.team-portrait{float:right;object-fit:cover;object-position:center 30%;background:var(--sage);width:112px;max-width:32%;height:140px;margin:.2rem 0 .6rem 1.15rem}.team-card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.team-card h3{font-family:var(--serif);margin:0;font-size:1.85rem;font-weight:400;line-height:1.15}.team-card h3 a:hover{color:var(--teal)}.team-role{color:var(--muted);margin:.35rem 0 0;font-size:.75rem;font-weight:650}.team-card-heading>a{color:var(--teal);flex:none;font-size:.72rem;font-weight:650}.team-bio{color:var(--ink-soft);margin-top:.8rem;font-size:.84rem;line-height:1.65;display:flow-root}.team-bio>:first-child,.team-bio>.team-portrait+p{margin-top:0}.team-language-note{color:var(--muted);margin-top:1rem;font-size:.85rem}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}.home-latest{margin-top:3.5rem}.home-latest-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.home-latest-heading .section-kicker{margin-bottom:.55rem}.home-latest-heading h3{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:400}.home-latest-heading>a{flex:none}.publication-groups{border-top:1px solid var(--line)}.publication-year-group{border-bottom:1px solid var(--line);grid-template-columns:7rem minmax(0,1fr);gap:1.5rem;padding:2rem 0;display:grid}.publication-year-group>h2{color:var(--teal);font-family:var(--mono);align-self:start;margin:0;font-size:.8rem;font-weight:500;position:sticky;top:1rem}.publication-record+.publication-record{border-top:1px solid var(--line);margin-top:1.7rem;padding-top:1.7rem}.publication-record{overflow-wrap:anywhere;scroll-margin-top:6rem}.publication-record h3{font-family:var(--serif);margin:0;font-size:1.28rem;font-weight:400;line-height:1.35}.publication-record h3 a:hover{color:var(--teal)}.publication-record p{color:var(--ink-soft);margin:.55rem 0 0;font-size:.83rem;line-height:1.65}.publication-links{flex-wrap:wrap;gap:.8rem;margin-top:.75rem;font-size:.72rem;font-weight:650;display:flex}.publication-links a,.publication-download a{color:var(--teal)}.publication-download{margin:-1.2rem 0 2rem;font-size:.8rem;font-weight:650}.empty-posts{border-top:1px solid var(--line);color:var(--muted);padding:1.4rem 0;line-height:1.7}.article-page{max-width:780px;margin-inline:auto}.back-link{color:var(--teal);align-items:center;gap:.55rem;font-size:.8rem;font-weight:650;display:inline-flex}.article-heading{border-bottom:1px solid var(--line);margin:2.5rem 0 2rem;padding-bottom:1.5rem}.article-heading .section-kicker{color:var(--teal)}.article-heading h1{font-size:clamp(2rem,4vw,3.1rem)}.team-profile-heading h1{letter-spacing:-.035em;font-size:clamp(2rem,4vw,3rem);line-height:1.08}.article-meta{font-family:var(--sans);letter-spacing:0;text-transform:none;margin-top:1.5rem;font-size:.8rem}.article-body{overflow-wrap:anywhere;color:var(--ink-soft);font-size:1.03rem;line-height:1.85;display:flow-root}.article-body>:first-child{margin-top:0}.article-body :is(h2,h3,h4,h5,h6){color:var(--ink);font-family:var(--serif);letter-spacing:-.02em;margin:2.4rem 0 .8rem;font-weight:400;line-height:1.2}.article-body h2{font-size:2rem}.article-body h3{font-size:1.55rem}.article-body h4{font-size:1.25rem}.article-body :is(h5,h6){font-family:var(--sans);letter-spacing:normal;font-size:1.05rem;font-weight:600}.article-body a{color:var(--teal);text-underline-offset:.2em;text-decoration:underline}.article-body ul,.article-body ol{padding-left:1.5rem}.article-body li+li{margin-top:.45rem}.article-body blockquote{border-left:3px solid var(--amber);color:var(--ink);font-family:var(--serif);margin-inline:0;padding:.2rem 0 .2rem 1.25rem;font-size:1.25rem}.article-body img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:19rem}.article-table{max-width:100%;margin-block:1.5rem;overflow-x:auto}.article-table:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.article-table table{border-collapse:collapse;width:100%;font-size:.85rem;line-height:1.6}.article-table :is(th,td){border:1px solid var(--line);text-align:left;vertical-align:top;min-width:7rem;padding:.65rem}.article-table th{background:var(--sage);color:var(--ink);font-weight:650}.article-figure{width:min(100%,32rem);margin:1.5rem auto}.article-image-trigger{border:1px solid var(--line);background:var(--white);width:100%;color:var(--teal);cursor:zoom-in;border-radius:4px;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;display:flex}.article-image-trigger:hover{border-color:var(--teal)}.article-image-trigger:focus-visible,.image-viewer button:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.article-image-action{font:600 .75rem var(--sans)}.article-figure figcaption{color:var(--muted);margin-top:.5rem;font-size:.8rem;line-height:1.6}.article-figure--photo{float:right;width:min(42%,17rem);margin:.25rem 0 1rem 1.5rem}.article-body :is(h2,h3,h4,h5,h6){clear:both}.article-figures{clear:both;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1.5rem;display:grid}.article-figures .article-figure{width:100%;margin:0}.article-figures img{max-height:15rem}.article-credits{clear:both;border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.article-body .article-credits-heading{margin:0 0 1rem;font-size:.8rem;font-weight:650}.article-credit-grid{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.article-credit img{width:auto;max-width:11rem;max-height:3.5rem;display:block}.article-credit:has(img[alt="Funded by the European Union"]) img{max-width:min(100%,26rem);max-height:5rem}.article-credit{min-width:0;max-width:100%}.article-body .article-credit-disclaimer{font-size:.78rem;line-height:1.6}.image-viewer{border:1px solid var(--line);background:var(--white);width:min(70rem,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);border-radius:6px;padding:1.25rem}.image-viewer::backdrop{background:#102c43bf}body:has(.image-viewer[open]){overflow:hidden}.image-viewer-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.image-viewer-header h2{margin:0;font-size:1rem}.image-viewer-close{border:1px solid var(--teal);background:var(--white);min-height:44px;color:var(--ink);cursor:pointer;padding:.6rem 1rem}.image-viewer-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:72dvh;margin:auto;display:block}.image-viewer-image[hidden]{display:none}.image-viewer-caption{font-size:.85rem;line-height:1.6}.image-viewer-original{align-items:center;min-height:44px;font-size:.85rem;text-decoration:underline;display:inline-flex}@media (width<=650px){.article-figure--photo{float:none;width:min(100%,20rem);margin:1.25rem auto}.article-figures{grid-template-columns:minmax(0,1fr)}.article-figure img{max-height:16rem}.image-viewer{padding:.75rem}}.team-profile-body{display:flow-root}.article-body .team-profile-portrait{float:right;object-fit:cover;object-position:center 30%;background:var(--sage);width:160px;max-width:38%;height:200px;margin:.25rem 0 1rem 1.5rem}.team-profile-body>.team-profile-portrait+p{margin-top:0}.article-body pre{background:var(--sage);padding:1.25rem;font-size:.82rem;overflow-x:auto}.article-body code{font-family:var(--mono);font-size:.88em}.article-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:4rem;padding-top:1.4rem;display:flex}.article-footer small{color:var(--muted);font-family:var(--mono);font-size:.65rem}.site-header{z-index:5;border-bottom:1px solid var(--header-line);background:var(--paper);position:relative}.header-inner,.footer-inner{align-items:center;width:min(100% - 3rem,1320px);margin-inline:auto;display:flex}.header-inner{justify-content:space-between;gap:2rem;min-height:88px}.brand{flex:none;align-items:center;gap:.8rem;display:inline-flex}.brand-mark{object-fit:contain;background:#fff;border-radius:50%;flex:none;width:43px;height:43px;display:block}.brand-copy{gap:.14rem;display:grid}.brand-copy strong{letter-spacing:.05em;font-size:1rem}.brand-copy span{color:var(--muted);letter-spacing:.02em;font-size:.67rem}.main-nav{justify-content:center;align-items:center;gap:clamp(1rem,2.1vw,2rem);display:flex}.main-nav a,.language-switch{font-size:.78rem;font-weight:600;transition:color .16s}.main-nav a{color:var(--ink-soft)}.main-nav a:hover,.language-switch:hover{color:var(--teal)}.language-switch{border:1px solid var(--line);border-radius:2px;flex:none;align-items:center;gap:.45rem;padding:.65rem .85rem;display:inline-flex}.language-switch span{color:var(--teal)}.hero{background:var(--hero-bg);color:var(--hero-text);padding:5.25rem max(1.5rem,50vw - 660px) 1.4rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;border:1px solid #bdd4cf1a;border-radius:50%;width:62rem;height:62rem;position:absolute;top:-26rem;right:-22rem;box-shadow:0 0 0 4rem #bdd4cf08,0 0 0 9rem #bdd4cf05}.hero-grid{grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(2.5rem,8vw,8.75rem);width:min(100%,1320px);min-height:auto;margin-inline:auto;display:grid;position:relative}.hero-copy{max-width:920px;padding-block:1.5rem 3rem}.eyebrow,.section-kicker{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.67rem;line-height:1.6}.eyebrow{color:#c9dad6}.eyebrow-dot{background:var(--amber);border-radius:50%;width:7px;height:7px;margin:0 .55rem 1px 0;display:inline-block}.hero h1{max-width:760px;font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:400;line-height:.98}.hero-description{max-width:600px;color:var(--hero-muted);margin:1.75rem 0 0;font-size:clamp(1rem,1.35vw,1.17rem);line-height:1.72}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.65rem;margin-top:2rem;display:flex}.button{justify-content:center;align-items:center;gap:1.6rem;min-height:49px;padding:.8rem 1.1rem;font-size:.8rem;font-weight:700;transition:background .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-light{background:var(--amber);color:#102c43}.button-light:hover{background:#ffd093}.text-link{color:var(--ink);align-items:center;gap:.7rem;font-size:.8rem;font-weight:700;display:inline-flex}.text-link span{color:var(--teal);transition:transform .16s}.text-link:hover span{transform:translate(2px,-2px)}.text-link-light{color:var(--hero-text)}.text-link-light span{color:var(--amber)}.hero-art{background:var(--sage);width:min(100%,460px);color:var(--ink);justify-self:end;padding:1.05rem 1.05rem 1.15rem;position:relative;box-shadow:1.1rem 1.1rem #06162333}.art-topline,.hero-bottomline,.art-labels{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.57rem;display:flex}.art-topline{color:var(--muted)}.network-graphic{width:100%;max-height:330px;margin:.2rem auto 0;display:block}.art-labels{border-top:1px solid var(--line);gap:.3rem;padding-top:.7rem;font-size:.55rem}.art-labels span{align-items:center;gap:.35rem;display:inline-flex}.art-labels i{color:var(--teal);font-size:.5rem;font-style:normal}.art-caption{color:var(--ink-soft);font-family:var(--serif);margin:.8rem 0 0;font-size:1.05rem}.hero-bottomline{color:#b9cac8;border-top:1px solid #ffffff2e;width:min(100%,1320px);margin:3.2rem auto 0;padding-top:1.1rem;display:flex;position:relative}.identity-strip{border-bottom:1px solid var(--line);align-items:center;gap:1.25rem;width:min(100% - 3rem,1320px);min-height:92px;margin-inline:auto;display:flex}.strip-label{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem}.identity-strip strong{letter-spacing:.08em;font-size:1.03rem}.strip-divider{background:var(--line);width:1px;height:22px}.identity-strip>span:last-of-type{color:var(--ink-soft);font-size:.78rem}.identity-strip a{align-items:center;gap:.45rem;margin-left:auto;font-size:.75rem;font-weight:700;display:inline-flex}.identity-strip a span{color:var(--teal)}.home-jump-nav{z-index:8;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 94%, transparent);width:min(100% - 3rem,1180px);box-shadow:var(--shadow-soft);backdrop-filter:blur(12px);align-items:center;margin:1.25rem auto 0;display:flex;position:sticky;top:.5rem}.home-jump-label{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex:none;padding:.65rem .75rem .65rem .9rem;font-size:.6rem}.home-jump-nav ul{scrollbar-width:thin;gap:.1rem;min-width:0;margin:0;padding:.25rem;list-style:none;display:flex;overflow-x:auto}.home-jump-nav a{min-height:44px;color:var(--ink-soft);white-space:nowrap;border-radius:2px;align-items:center;padding:.65rem .75rem;font-size:.75rem;font-weight:650;display:inline-flex}.home-jump-nav a:hover{background:var(--sage);color:var(--ink)}.home-jump-nav a:focus-visible{outline-offset:-3px}.section-navigation{margin-bottom:1.5rem}.section-navigation:after{width:var(--section-progress,0%);background:var(--teal);content:"";pointer-events:none;height:3px;position:absolute;bottom:0;left:0;right:auto}.section-navigation a.section-completed{color:var(--teal)}.section-navigation a[aria-current=location]{background:color-mix(in srgb, var(--sage) 55%, transparent);color:var(--ink);box-shadow:inset 0 -1px var(--teal)}.article-body :is(h2,h3,h4,h5,h6)[id],.publication-year-group>h2[id]{scroll-margin-top:6rem}.article-body :is(h2,h3,h4,h5,h6)[id]:focus-visible,.publication-year-group>h2[id]:focus-visible{outline:3px solid var(--teal);outline-offset:.35rem}.back-to-top{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:20;border:1px solid var(--line);background:var(--white);min-width:48px;min-height:48px;box-shadow:var(--shadow-floating);color:var(--ink);border-radius:.25rem;justify-content:center;align-items:center;gap:.45rem;padding:.7rem .9rem;font-size:.75rem;font-weight:700;display:inline-flex;position:fixed}.back-to-top[hidden]{display:none}.back-to-top:hover{border-color:var(--sage-deep);background:var(--sage)}.back-to-top-arrow{color:var(--teal);font-size:1.15rem;line-height:1}.section{width:min(100% - 3rem,1180px);margin-inline:auto;padding-block:7.25rem;scroll-margin-top:6rem}.section-heading{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:4rem;margin-bottom:3rem;display:grid}.section-kicker{color:var(--teal);margin-bottom:.9rem}.section-heading h2,.group-copy h2,.contact-inner h2{max-width:720px;font-family:var(--serif);letter-spacing:-.04em;margin:0;font-size:clamp(2.75rem,4.6vw,4.3rem);font-weight:400;line-height:1.02}.section-intro{max-width:440px;color:var(--muted);margin:0 0 .2rem;font-size:.92rem;line-height:1.8}.research-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.research-card{min-height:292px;padding:1.5rem 1.6rem 1rem 0;position:relative}.research-card+.research-card{border-left:1px solid var(--line);padding-left:1.65rem}.card-index,.publication-index,.news-index{color:var(--teal);font-family:var(--mono);letter-spacing:.07em;font-size:.65rem}.research-symbol{border:1px solid var(--line);width:60px;height:60px;color:var(--teal);font-family:var(--serif);border-radius:50%;place-items:center;margin-top:1.55rem;font-size:1.9rem;display:grid}.symbol-2{border-radius:3px;transform:rotate(45deg)scale(.82)}.symbol-2:first-letter{transform:rotate(-45deg)}.symbol-3{border-radius:50% 50% 3px}.research-card h3,.project-card h3,.news-card h3{font-family:var(--serif);letter-spacing:-.02em;margin:1.25rem 0 .55rem;font-size:1.55rem;font-weight:500}.research-card p,.project-card p,.news-card p{max-width:350px;color:var(--muted);margin:0;font-size:.84rem;line-height:1.72}.projects-section{background:var(--sage);width:100%;padding-inline:max(1.5rem,50vw - 590px)}.projects-section .section-heading,.projects-section .project-grid{width:min(100%,1180px);margin-inline:auto}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;display:grid}.project-card{background:var(--white);flex-direction:column;min-height:390px;padding:1.55rem;transition:transform .18s,box-shadow .18s;display:flex;position:relative}.project-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px)}.project-2{background:var(--inverse-bg);color:var(--inverse-fg)}.project-meta{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.6rem;display:flex}.project-2 .project-meta,.project-2 p{color:var(--inverse-muted)}.project-mark{width:84px;height:84px;color:var(--teal);font-family:var(--serif);letter-spacing:-.05em;border:1px solid #a7c3bd;border-radius:50%;place-items:center;margin-top:1.35rem;font-size:1.8rem;display:grid}.project-2 .project-mark{color:var(--amber);border-color:#688a88}.project-card h3{margin-top:1.3rem;font-size:2.1rem}.project-card p{max-width:460px}.card-link{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.7rem;font-size:.76rem;font-weight:700;display:inline-flex}.project-2 .card-link{border-color:var(--inverse-border)}.card-link span{color:var(--teal);font-size:1rem}.project-2 .card-link span{color:var(--amber)}.publication-list{border-top:1px solid var(--line)}.publication-row{border-bottom:1px solid var(--line);grid-template-columns:50px minmax(0,1fr) minmax(130px,.32fr) 48px 20px;align-items:center;gap:1rem;min-height:92px;transition:padding .16s,background .16s;display:grid}.publication-row:hover{background:var(--surface-hover);padding-inline:.6rem}.publication-title{font-family:var(--serif);font-size:1.14rem;line-height:1.35}.publication-type,.publication-year{color:var(--muted);font-size:.7rem}.publication-year{font-family:var(--mono)}.publication-arrow{color:var(--teal)}.publication-footnote{justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.1rem;display:flex}.publication-footnote p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.6}.news-section{padding-top:2.5rem}.news-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.news-card{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr 20px;align-content:space-between;gap:.75rem;min-height:185px;padding:1.45rem 1rem 1.4rem 0;display:grid}.news-card:not(:nth-child(3n+1)){border-left:1px solid var(--line);padding-left:1rem}.news-card h3{margin-top:.15rem;font-size:1.4rem}.news-card p{font-size:.79rem}.news-count{color:var(--teal);font-family:var(--mono);text-transform:uppercase;margin-top:.7rem;font-size:.62rem;display:inline-block}.news-arrow{color:var(--teal);place-self:start end}.group-section{background:var(--inverse-bg);color:var(--inverse-fg);padding:6.8rem 1.5rem;scroll-margin-top:6rem}.group-inner{grid-template-columns:.7fr 1.3fr;align-items:center;gap:clamp(3rem,10vw,10rem);width:min(100%,1180px);margin-inline:auto;display:grid}.group-stamp{aspect-ratio:1;border:1px solid var(--inverse-border);outline:1px solid var(--inverse-border);outline-offset:12px;width:min(100%,285px);color:var(--inverse-muted);font-family:var(--mono);letter-spacing:.1em;text-align:center;text-transform:uppercase;border-radius:50%;place-content:center;justify-self:center;gap:.5rem;font-size:.65rem;display:grid}.group-stamp span:first-child{color:var(--amber);font-family:var(--serif);letter-spacing:-.05em;font-size:3.6rem}.group-copy .section-kicker{color:var(--teal)}.group-copy h2{max-width:680px}.group-copy>p:not(.section-kicker){max-width:650px;color:var(--inverse-muted);margin:1.35rem 0 1.5rem;font-size:.91rem;line-height:1.8}.group-copy .text-link{color:var(--inverse-fg)}.group-copy .text-link span{color:var(--amber)}.contact-section{background:var(--amber);padding:4.4rem 1.5rem;scroll-margin-top:6rem}.contact-inner{justify-content:space-between;align-items:center;gap:3rem;width:min(100%,1180px);margin-inline:auto;display:flex}.contact-inner .section-kicker{color:#5a4b38}.contact-inner h2{max-width:730px;font-size:clamp(2.7rem,4.3vw,4rem)}.contact-inner>div>p:last-child{color:#4c4d47;max-width:560px;margin:1rem 0 0;font-size:.88rem;line-height:1.7}.button-dark{background:var(--inverse-bg);color:var(--inverse-fg);flex:none}.button-dark:hover{filter:brightness(1.16)}.site-footer{background:var(--paper)}.footer-inner{justify-content:space-between;gap:1.5rem;min-height:96px;position:relative}.footer-brand{letter-spacing:.06em;font-size:.9rem;font-weight:700}.footer-brand span{color:var(--teal);font-weight:500}.footer-inner p{color:var(--muted);text-align:center;flex:1 1 0;max-width:38rem;margin:0 auto;font-size:.68rem}.footer-inner{padding-right:5rem}.theme-selector{color:var(--muted);flex-wrap:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;margin-left:auto;font-size:.625rem;display:inline-flex}.theme-options{border:1px solid var(--line);background:var(--white);border-radius:999px;flex:none;align-items:center;gap:0;padding:2px;display:inline-flex}.theme-option{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;transition:background .14s,border-color .14s,color .14s;display:inline-grid}.theme-option svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:14px;height:14px}.theme-option:hover{background:var(--sage);color:var(--ink)}.theme-option[aria-pressed=true]{border-color:var(--line);background:var(--sage);color:var(--ink)}.theme-option:focus-visible{outline:3px solid var(--amber);outline-offset:2px;z-index:1;color:var(--ink);background:var(--white);position:relative}.glitch-toggle{width:45px;min-height:28px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;flex:0 0 45px;align-items:center;gap:4px;margin:0;padding:0;font-size:.625rem;transition:color .14s;display:inline-flex}.glitch-toggle:hover{color:var(--ink)}.glitch-toggle-dot{border:1px solid;border-radius:50%;width:7px;height:7px}.glitch-toggle[aria-pressed=true] .glitch-toggle-dot{border-color:var(--teal);background:var(--teal)}.glitch-toggle-label{text-align:left;white-space:nowrap;line-height:1.05;display:grid}.glitch-toggle[aria-pressed=false] .glitch-toggle-label>span{text-decoration:line-through}.glitch-toggle:focus-visible{outline:3px solid var(--amber);outline-offset:2px;color:var(--ink)}:root[data-theme=hacker]:not(.theme-glitching) .glitch-toggle{visibility:hidden;pointer-events:none}:root.theme-glitching body{text-shadow:2px 0 #ff286e8c,-2px 0 #28e6ff8c;animation:.26s steps(3,end) infinite theme-glitch-shake}.theme-glitch-overlay{z-index:1000;pointer-events:none;background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 3px),linear-gradient(#0000 0 18%,#58f28738 18% 21%,#0000 21% 56%,#ff286e2e 56% 58%,#0000 58% 81%,#28e6ff33 81% 84%,#0000 84%);animation:.42s steps(4,end) infinite theme-glitch-bands;position:fixed;inset:0}.theme-glitch-overlay span{color:#58f287;white-space:nowrap;background:#050d08e0;border:1px solid #58f287;padding:.45rem .8rem;font-family:GiCP Terminal,monospace;font-size:.9rem;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.theme-glitch-overlay i{font-style:normal;animation:.3s step-end infinite theme-glitch-caret}@keyframes theme-glitch-shake{0%{translate:0}33%{translate:-3px 1px}66%{translate:2px -1px}to{translate:0}}@keyframes theme-glitch-bands{0%{background-position:0 0,0 0}25%{background-position:0 1px,0 -14vh}50%{background-position:0 2px,0 22vh}75%{background-position:0 1px,0 -31vh}to{background-position:0 0,0 0}}@keyframes theme-glitch-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){:root.theme-glitching body,.theme-glitch-overlay,.theme-glitch-overlay i{animation:none}}@media (width<=1000px){.header-inner{gap:1rem;width:min(100% - 2rem,1320px)}.brand-copy span{display:none}.main-nav{gap:1rem}.main-nav a{font-size:.72rem}.hero-grid{grid-template-columns:minmax(0,1fr);gap:3rem}.hero h1{font-size:clamp(2.5rem,5vw,3.8rem)}.section-heading{gap:2.5rem}}@media (width<=760px){.home-latest-heading{flex-direction:column;align-items:flex-start}.publication-year-group{grid-template-columns:minmax(0,1fr);gap:.8rem}.publication-year-group>h2{position:static}.team-grid{grid-template-columns:minmax(0,1fr)}.team-card-heading{flex-direction:column;align-items:flex-start;gap:.65rem}.team-profile-heading h1{font-size:clamp(1.9rem,6vw,2.5rem)}.article-body .team-profile-portrait{width:120px;height:150px;margin-left:1rem}.header-inner{flex-wrap:wrap;min-height:auto;padding-block:1rem}.brand-copy span{display:inline}.main-nav{flex-wrap:wrap;order:3;justify-content:flex-start;gap:.7rem 1.2rem;width:100%}.language-switch{margin-left:auto}.hero{padding:3.8rem 1.25rem 1.25rem}.hero-grid{grid-template-columns:minmax(0,1fr);gap:2.4rem;min-height:auto}.hero-copy{padding-block:0}.hero h1{max-width:620px;font-size:clamp(2.3rem,8vw,3.25rem)}.hero-art{justify-self:center;width:min(100%,440px)}.hero-bottomline{margin-top:2.4rem;font-size:.49rem}.identity-strip{gap:.8rem;width:min(100% - 2.5rem,1320px);min-height:76px}.home-jump-nav{width:min(100% - 1.5rem,1180px);top:.35rem}.home-jump-label{display:none}.home-jump-nav ul{width:100%;padding:.25rem .4rem}.home-jump-nav a{padding-inline:.8rem}.strip-label{display:none}.identity-strip strong{font-size:.88rem}.identity-strip>span:last-of-type{font-size:.68rem}.identity-strip a{font-size:.65rem}.section{width:min(100% - 2.5rem,1180px);padding-block:5rem}.section-heading{grid-template-columns:minmax(0,1fr);gap:1.2rem;margin-bottom:2rem}.section-heading h2,.group-copy h2{font-size:clamp(2.75rem,10vw,3.7rem)}.research-grid{grid-template-columns:minmax(0,1fr)}.research-card,.research-card+.research-card{border-bottom:1px solid var(--line);border-left:0;min-height:0;padding:1.3rem 0 1.7rem}.research-symbol{margin-top:1rem}.projects-section{padding-inline:1.25rem}.project-grid{grid-template-columns:minmax(0,1fr)}.project-card{min-height:350px;padding:1.3rem}.publication-row{grid-template-columns:30px minmax(0,1fr) 24px;gap:.55rem .7rem;min-height:105px;padding-block:1rem;position:relative}.publication-title{font-size:1.02rem}.publication-type{grid-area:2/2}.publication-year{grid-area:2/1;font-size:.6rem}.publication-arrow{grid-area:1/3/span 2;align-self:center}.publication-footnote{flex-direction:column;align-items:flex-start;gap:.9rem}.news-section{padding-top:1rem}.news-grid,.archive-category-grid{grid-template-columns:minmax(0,1fr)}.news-card,.news-card:not(:nth-child(3n+1)){border-left:0;min-height:145px;padding:1.2rem 0}.group-section{padding-block:5rem}.group-inner{grid-template-columns:minmax(0,1fr);gap:3.5rem}.group-stamp{width:210px}.contact-inner{flex-direction:column;align-items:flex-start;gap:2rem}.footer-inner{padding-block:1.2rem;flex-wrap:wrap;width:min(100% - 2.5rem,1320px);min-height:120px;padding-bottom:4rem;padding-right:0}.footer-inner p{text-align:center;flex-basis:100%;order:3;width:100%;max-width:none;margin:0;position:static;transform:none}}@media (width<=430px){.brand-copy span{max-width:170px;font-size:.6rem}.main-nav{gap:.55rem .9rem}.main-nav a{font-size:.67rem}.language-switch{padding:.55rem .65rem;font-size:.68rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:1.1rem}.art-labels{font-size:.48rem}.art-labels span{gap:.2rem}.art-labels i{font-size:.43rem}.hero-bottomline{font-size:.44rem}.identity-strip{gap:.55rem}.identity-strip a{font-size:0}.identity-strip a span{font-size:.9rem}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.publication-filters{border:1px solid var(--line);background:var(--white);flex-wrap:wrap;align-items:end;gap:.8rem;padding:1rem;display:flex}.publication-filters label{min-width:0;color:var(--ink);flex:10rem;gap:.35rem;font-size:.8rem;display:grid}.publication-filters .publication-search{flex-basis:100%}.publication-filters :is(input,select,button){border:1px solid var(--line);background:var(--paper);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;padding:.6rem}.publication-filters button{cursor:pointer;width:auto}.publication-results,.publication-empty{color:var(--muted);font-size:.85rem}.publication-details{margin-top:.7rem;font-size:.83rem}.publication-details summary{cursor:pointer;width:fit-content;min-height:44px;color:var(--teal);padding-block:.7rem}.publication-details dl{margin:.5rem 0}.publication-details dl>div{grid-template-columns:minmax(6rem,1fr) minmax(0,3fr);gap:.75rem;padding-block:.35rem;display:grid}.publication-details dt{font-weight:650}.publication-details dd{margin:0}.publication-details pre{background:var(--sage);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;padding:1rem;font-size:.78rem;line-height:1.6;overflow-x:auto}.publication-bib-download{min-height:44px;color:var(--teal);align-items:center;text-decoration:underline;display:inline-flex}.publication-record[hidden],.publication-year-group[hidden],.section-navigation[hidden],.section-navigation li[hidden]{display:none}.main-nav a[aria-current]{color:var(--teal);text-underline-offset:.4rem;text-decoration:underline}.home-page .hero{padding-top:2.75rem;padding-bottom:2.75rem}.home-page .hero-copy{max-width:850px;padding:0}.home-page .hero h1{max-width:820px;font-size:clamp(2rem,3.7vw,3.25rem);line-height:1.1}.home-page .hero-description{max-width:740px;margin-top:1rem;font-size:1rem}.home-page .hero-actions{margin-top:1.5rem}.home-page .section-navigation{margin-top:1rem}.home-page .home-area{padding-block:2.75rem}.home-area+.home-area{border-top:1px solid var(--line)}.home-area-heading{justify-content:space-between;align-items:start;gap:2rem;margin-bottom:1.5rem;display:flex}.home-area-heading>div{max-width:720px}.home-area-heading h2{font-family:var(--serif);margin:0;font-size:clamp(1.6rem,2.5vw,2.1rem);font-weight:400;line-height:1.2}.home-area-heading p{max-width:650px;color:var(--muted);margin:.75rem 0 0;font-size:.9rem;line-height:1.75}.home-area-heading>a{flex-shrink:0;align-content:center;min-height:44px}.home-topic-links{flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:1rem;display:flex}.home-topic-links a{min-height:44px;color:var(--teal);text-underline-offset:.2rem;align-items:center;font-size:.82rem;text-decoration:underline;display:inline-flex}.home-post-list .post-card h3{font-family:var(--serif);margin:.65rem 0;font-size:1.35rem;font-weight:400;line-height:1.4}.home-post-list .post-card{padding-block:1.15rem}.home-post-list .post-card p{max-width:85ch}.home-publications,.home-members,.home-press-links{margin:0;padding:0;list-style:none}.home-publications li{border-top:1px solid var(--line);grid-template-columns:4rem minmax(0,1fr);gap:1rem;padding-block:1rem;display:grid}.home-publications time{color:var(--muted);padding-top:.2rem;font-size:.8rem}.home-publications h3{font-family:var(--serif);margin:0;font-size:1.2rem;font-weight:400;line-height:1.45}.home-publications p{color:var(--muted);margin:.4rem 0 0;font-size:.8rem;line-height:1.7}.home-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;display:grid}.home-members li{border-top:1px solid var(--line);flex-direction:column;padding-block:1rem;display:flex}.home-members a{min-height:44px;font-family:var(--serif);align-items:center;font-size:1.15rem;display:flex}.home-members span{color:var(--muted);font-size:.75rem}.home-press-links li{border-top:1px solid var(--line)}.home-press-links a{padding-block:1rem;font-size:.95rem;line-height:1.7;display:block}.home-page :is(h3 a,.home-members a,.home-press-links a):hover{color:var(--teal);text-underline-offset:.2rem;text-decoration:underline}@media (width<=650px){.home-page .hero{padding:2rem 1.25rem}.home-page .home-area{padding-block:2rem}.home-area-heading{flex-direction:column;gap:.5rem}.home-area-heading>a{flex-shrink:1}.home-publications li{grid-template-columns:minmax(0,1fr);gap:.4rem}.home-members{grid-template-columns:minmax(0,1fr)}}.projects-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.85rem;display:flex}.projects-intro p{color:var(--muted);margin:0}.projects-catalogue{gap:1.5rem;display:grid}.project-record{border:1px solid var(--line);background:var(--white);padding:1.5rem;scroll-margin-top:6rem}.project-record h2{font-family:var(--serif);margin:0;font-size:1.65rem;font-weight:400}.project-overview{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.project-overview>div{min-width:0}.project-logo{object-fit:contain;object-position:right top;flex:none;width:140px;height:auto;max-height:88px}.project-summary{max-width:75ch;color:var(--ink-soft);margin-block:.75rem 1rem;font-size:.95rem;line-height:1.75}.project-facts{gap:.65rem;margin-block:1rem;font-size:.85rem;line-height:1.65;display:grid}.project-facts>div{grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:1.5rem;display:grid}.project-facts dt{color:var(--muted)}.project-facts dd{overflow-wrap:anywhere;margin:0}.project-note{color:var(--muted);font-size:.8rem;line-height:1.7}.project-resources{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.project-resources a{min-height:44px;color:var(--teal);text-underline-offset:.2rem;align-items:center;gap:.5rem;font-size:.85rem;text-decoration:underline;display:inline-flex}.home-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.5rem;margin:0;padding:0;list-style:none;display:grid}.home-projects li{border-top:1px solid var(--line)}.home-projects a{min-height:48px;color:var(--teal);align-items:center;padding-block:.75rem;font-size:.9rem;display:flex}.home-projects a:hover{text-underline-offset:.2rem;text-decoration:underline}@media (width<=650px){.project-record{padding:1rem}.project-overview{gap:.75rem}.project-logo{width:88px;max-height:64px}.project-facts>div{grid-template-columns:minmax(0,1fr);gap:.15rem}.home-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}}.post-tags{flex-wrap:wrap;gap:.25rem .75rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.post-tags li{max-width:100%}.post-tags a{min-height:44px;color:var(--teal);text-underline-offset:.2em;overflow-wrap:anywhere;align-items:center;font-size:.8rem;line-height:1.5;text-decoration:underline;display:inline-flex}.post-tags a:hover{color:var(--ink)}.post-filters{border:1px solid var(--line);background:var(--white);flex-wrap:wrap;align-items:end;gap:.8rem;margin-block:1.5rem 1rem;padding:1rem;display:flex}.post-filters label{min-width:0;color:var(--ink);flex:12rem;gap:.4rem;font-size:.85rem;display:grid}.post-filters .post-search{flex-grow:2}.post-filters :is(input,select,button){border:1px solid var(--line);background:var(--paper);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;padding:.65rem}.post-filters button{cursor:pointer;width:auto}.post-results,.post-search-empty{color:var(--muted);font-size:.85rem}.archive-tag-directory{margin-block:1rem}.archive-tag-directory summary{width:fit-content;min-height:44px;color:var(--teal);cursor:pointer;padding-block:.6rem;font-size:.85rem}.post-filters[hidden],.post-card[hidden],.post-search-empty[hidden],.archive-category-grid[hidden]{display:none}.tag-facets{margin-block:1rem}.tag-filter-help{color:var(--muted);font-size:.85rem;line-height:1.6}.active-tags{flex-wrap:wrap;gap:.5rem;margin-block:.75rem;display:flex}.active-tags button{border:1px solid var(--line);background:var(--sage);max-width:100%;min-height:44px;color:var(--ink);font:inherit;overflow-wrap:anywhere;cursor:pointer;border-radius:.25rem;padding:.4rem .75rem;font-size:.85rem}.active-tags button:hover{border-color:var(--teal)}.tag-facets fieldset{border:1px solid var(--line);background:var(--white);min-width:0;margin:0;padding:1rem}.tag-facets legend{color:var(--ink);padding-inline:.35rem;font-size:.85rem}.tag-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.25rem 1rem;max-height:22rem;margin:0;padding:.25rem;list-style:none;display:grid;overflow-y:auto}.tag-options label{cursor:pointer;align-items:center;gap:.6rem;min-height:44px;font-size:.85rem;display:flex}.tag-options input{width:1.1rem;height:1.1rem;accent-color:var(--teal);flex:none}.tag-option-count{color:var(--muted);margin-left:auto;padding-left:.35rem;font-size:.8rem}.tag-facets[hidden],.active-tags[hidden],.tag-options li[hidden],[data-tag-options-empty][hidden]{display:none}.hero-about-link{color:var(--hero-text);text-underline-offset:.2em;text-decoration:underline 1px}.hero-about-link:hover{color:var(--amber)}.article-figures:has(>.article-figure--identity){border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;margin-block:2rem 0;padding-block:1.25rem;display:flex}.article-figures .article-figure--identity{flex:0 auto;width:auto}.article-figure--identity a{align-items:center;min-height:44px;display:flex}.article-figures .article-figure--identity img{width:auto;max-width:220px;height:auto;max-height:80px;display:block}.article-figure--identity figcaption{display:none}@media (width<=650px){.article-figures:has(>.article-figure--identity){gap:1.25rem}.article-figures .article-figure--identity img{max-width:160px;max-height:64px}}.about-presentation{max-width:78ch}.about-presentation :is(h2,h3){font-family:var(--sans);letter-spacing:-.01em;margin:1.75rem 0 .6rem;font-size:1.25rem;font-weight:600;line-height:1.4}.about-presentation>:first-child{margin-top:0}.theme-option[data-theme-choice=hacker] svg{stroke-width:2px}.theme-option[data-theme-choice=hacker] .spy-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.theme-option[data-theme-choice=hacker] .spy-fill{fill:currentColor;stroke:none}:root[data-theme=hacker] body{background-color:var(--paper);background-image:repeating-linear-gradient(0deg,#0000 0 3px,#58f28704 3px 4px),linear-gradient(#58f28708 1px,#0000 1px),linear-gradient(90deg,#58f28708 1px,#0000 1px);background-size:100% 4px,36px 36px,36px 36px;background-attachment:fixed}:root[data-theme=hacker] .site-header,:root[data-theme=hacker] .site-footer{background:color-mix(in srgb, var(--paper) 92%, transparent)}:root[data-theme=hacker] .site-header{border-bottom:1px solid var(--teal);box-shadow:0 1px 18px #00000059}.cyber-statusbar{display:none}:root[data-theme=hacker] .cyber-statusbar{width:min(100% - 3rem,1320px);min-height:32px;color:var(--muted);font-family:var(--mono);letter-spacing:.045em;text-transform:uppercase;border-top:1px solid #53ddf51f;justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;font-size:.62rem;display:flex}.cyber-shell-user,.cyber-status-state{color:var(--cyber-cyan)}.cyber-shell-path{color:var(--amber)}.cyber-status-command b{color:var(--teal);font-weight:400}.cyber-status-state{white-space:nowrap;align-items:center;gap:.45rem;display:inline-flex}.cyber-status-state i{background:var(--teal);width:7px;height:7px;box-shadow:0 0 10px var(--teal);border-radius:50%}.cyber-status-location{color:var(--muted);white-space:nowrap}.cyber-status-location b{color:var(--cyber-orange);font-weight:400}:root[data-theme=hacker] :is(.brand-copy strong,.main-nav a,.language-switch,.home-area-heading h2,.home-post-list .post-card h3,.home-publications h3,.home-members a,.editorial-heading h1,.article-heading h1,.section-heading h2,.group-copy h2,.contact-inner h2){font-family:var(--mono)}:root[data-theme=hacker] .main-nav a{letter-spacing:.025em;text-transform:uppercase;font-size:.67rem}:root[data-theme=hacker] :is(.language-switch,.home-area-heading h2,.home-post-list .post-card h3,.home-publications h3,.home-members a){letter-spacing:0}:root[data-theme=hacker] .home-page{counter-reset:terminal-section}:root[data-theme=hacker] .home-page .home-area{counter-increment:terminal-section}:root[data-theme=hacker] .home-area-heading h2:before{color:var(--cyber-cyan);content:"0" counter(terminal-section) " // ";letter-spacing:.04em;vertical-align:.15em;font-size:.52em;font-weight:500}:root[data-theme=hacker] .hero:before{width:100%;height:100%;box-shadow:none;background-color:#0000;background-image:linear-gradient(90deg,#0000 49.9%,#58f28708 50%,#0000 50.1%),linear-gradient(#0000 49.9%,#58f28708 50%,#0000 50.1%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:0;border-radius:0;top:0;right:0;mask-image:linear-gradient(90deg,#0000 10%,#000 100%)}:root[data-theme=hacker] .hero:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#ffffff03 3px 4px);position:absolute;inset:0}:root[data-theme=hacker] .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(1.75rem,5vw,4rem)}:root[data-theme=hacker] .home-page .hero-copy{max-width:none}:root[data-theme=hacker] .home-page .hero h1{font-family:var(--mono);letter-spacing:0;font-size:clamp(1.8rem,3vw,2.85rem);line-height:1.2}:root[data-theme=hacker] .eyebrow{color:var(--cyber-cyan)}:root[data-theme=hacker] .eyebrow:before{color:var(--teal);content:"// "}:root[data-theme=hacker] .button-light{background:var(--teal);color:#041008;font-family:var(--mono);text-transform:uppercase;box-shadow:4px 4px #0006}:root[data-theme=hacker] .button-light:hover{background:var(--amber)}:root[data-theme=hacker] .text-link-light span{color:var(--cyber-cyan)}.hacker-terminal{z-index:1;width:100%;max-width:460px;color:var(--hero-text);font-family:var(--mono);background:#030a06e6;border:1px solid #58f2876b;justify-self:end;display:none;position:relative;box-shadow:0 20px 50px #0000004d,inset 0 0 32px #58f2870a}:root[data-theme=hacker] .hacker-terminal{display:block}.terminal-titlebar{min-height:38px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#58f2870d;border-bottom:1px solid #58f28738;justify-content:space-between;align-items:center;gap:.65rem;padding-inline:.85rem;font-size:.59rem;display:flex}.terminal-lights,.terminal-state{align-items:center;gap:.28rem;display:inline-flex}.terminal-lights i,.terminal-state i{background:var(--cyber-orange);border-radius:50%;width:6px;height:6px;display:block}.terminal-lights i:nth-child(2){background:var(--amber)}.terminal-lights i:nth-child(3),.terminal-state i{background:var(--teal)}.terminal-state{color:var(--teal)}.terminal-state i{box-shadow:0 0 9px #58f28799}.terminal-screen{padding:1.1rem 1.2rem 1rem;font-size:clamp(.59rem,.9vw,.72rem);line-height:1.7}.terminal-screen p{white-space:nowrap;margin:0 0 .45rem}.terminal-user{color:var(--cyber-cyan)}.terminal-path{color:var(--amber)}.terminal-screen .terminal-output{color:var(--hero-muted);margin-left:.8rem}.terminal-output b{color:var(--teal);font-weight:500}.terminal-screen .terminal-prompt{margin-top:.9rem;margin-bottom:0}.terminal-prompt i{background:var(--teal);width:.48em;height:1em;margin-left:.12em;animation:1.1s steps(2,start) infinite terminal-cursor;display:inline-block;transform:translateY(.16em)}@keyframes terminal-cursor{to{visibility:hidden}}:root[data-theme=hacker] .home-area+.home-area{border-top-style:dashed}:root[data-theme=hacker] .home-area-heading h2:after{color:var(--teal);content:" _";font-size:.6em}:root[data-theme=hacker] :is(.post-card-meta,.section-kicker,.home-jump-label,.theme-selector-label){font-family:var(--mono)}:root[data-theme=hacker] :is(.section-navigation,.home-jump-nav){border-style:dashed}:root[data-theme=hacker] .footer-brand:before{color:var(--teal);content:"> ";font-family:var(--mono)}:root[data-theme=hacker] :is(.editorial-heading h1,.article-heading h1,.team-profile-heading h1):before{color:var(--cyber-cyan);content:"> ";letter-spacing:0;font-size:.68em}:root[data-theme=hacker] :is(.article-body h2,.about-presentation h2,.about-presentation h3):before{color:var(--cyber-cyan);content:"// ";letter-spacing:0;font-size:.68em;font-weight:400}:root[data-theme=hacker] :is(.home-page,.editorial-main){font-family:var(--mono);font-size:.94rem;line-height:1.7}:root[data-theme=hacker] .article-body{font-size:.95rem;line-height:1.82}:root[data-theme=hacker] .article-body a,:root[data-theme=hacker] .editorial-main a:not(.button){color:var(--cyber-cyan)}:root[data-theme=hacker] :is(.home-post-list,.editorial-main) .post-card :is(h2,h3),:root[data-theme=hacker] :is(.editorial-heading,.article-heading) h1{overflow-wrap:anywhere}:root[data-theme=hacker] :is(.post-filters,.tag-facets fieldset,.publication-filters){border-color:color-mix(in srgb, var(--cyber-cyan) 24%, var(--line));background-image:linear-gradient(135deg,#53ddf50a,#0000 38%)}:root[data-theme=hacker] :is(.post-card,.press-card,.archive-category-card,.project-record,.publication-record,.team-card){border-color:color-mix(in srgb, var(--teal) 38%, var(--line));background-color:color-mix(in srgb, var(--white) 90%, var(--cyber-cyan));box-shadow:inset 3px 0 #58f2876b}:root[data-theme=hacker] :is(.post-card,.press-card,.archive-category-card,.project-record,.publication-record,.team-card):hover{border-color:var(--cyber-cyan);box-shadow:inset 3px 0 0 var(--teal), 0 0 22px #53ddf517}:root[data-theme=hacker] .site-footer{border-top:1px solid var(--line)}:root[data-theme=hacker] :is(.archive-category-card,.project-record,.publication-record,.team-card){border-color:color-mix(in srgb, var(--teal) 28%, var(--line));box-shadow:inset 2px 0 #58f2874d}@media (width<=1000px){:root[data-theme=hacker] .hero-grid{grid-template-columns:minmax(0,1fr)}:root[data-theme=hacker] .hacker-terminal{justify-self:stretch;max-width:none}}@media (width<=760px){:root[data-theme=hacker] .main-nav a{font-size:.64rem}:root[data-theme=hacker] .cyber-statusbar{gap:.5rem;width:min(100% - 2rem,1320px);font-size:.53rem}:root[data-theme=hacker] .cyber-status-location{display:none}:root[data-theme=hacker] .cyber-status-command{text-overflow:ellipsis;white-space:nowrap;max-width:68%;overflow:hidden}}@media (prefers-reduced-motion:reduce){:root[data-theme=hacker] .terminal-prompt i{animation:none}}:root[data-theme=hacker] :is(h1,h2,h3,h4,h5,h6),:root[data-theme=hacker] :is(button,input,select,textarea){font-family:var(--mono)}:root[data-theme=hacker] body{-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;text-rendering:optimizespeed;font-variant-ligatures:none}:root[data-theme=hacker] .home-jump-nav{border:1px dashed color-mix(in srgb, var(--teal) 48%, var(--line));background:var(--paper);box-shadow:none;backdrop-filter:none}:root[data-theme=hacker] .home-jump-label{border-right:1px dashed var(--line);color:var(--amber);padding:.65rem .8rem}:root[data-theme=hacker] .home-jump-label:before{color:var(--teal);content:">";margin-right:.35em}:root[data-theme=hacker] .home-jump-nav ul{gap:.25rem;padding:.3rem .45rem}:root[data-theme=hacker] .home-jump-nav a{min-height:38px;color:var(--cyber-cyan);text-transform:uppercase;border:1px dashed #0000;border-radius:0;padding:.35rem .55rem;font-size:.68rem;font-weight:400}:root[data-theme=hacker] .home-jump-nav a:before{content:"[";color:var(--muted)}:root[data-theme=hacker] .home-jump-nav a:after{content:"]";color:var(--muted)}:root[data-theme=hacker] .home-jump-nav a:hover{border-color:var(--teal);color:var(--teal);background:#58f2870d}:root[data-theme=hacker] .section-navigation a[aria-current=location]{border-color:var(--teal);color:var(--amber);box-shadow:none;background:0 0}:root[data-theme=hacker] .section-navigation a.section-completed{color:var(--teal)}:root[data-theme=hacker] .section-navigation:after{background:repeating-linear-gradient(90deg, var(--teal) 0 4px, transparent 4px 8px);height:1px}:root[data-theme=hacker] :is(.post-filters,.publication-filters){border:1px dashed color-mix(in srgb, var(--teal) 48%, var(--line));background:#030a06e6 repeating-linear-gradient(0deg,#0000 0 3px,#58f28703 3px 4px);border-radius:0;gap:.75rem;padding:.85rem;position:relative;box-shadow:inset 0 0 0 1px #58f2870a}:root[data-theme=hacker] .post-filters:before,:root[data-theme=hacker] .publication-filters:before{border-bottom:1px dashed var(--line);color:var(--teal);letter-spacing:.025em;flex:0 0 100%;padding-bottom:.55rem;font-size:.7rem}:root[data-theme=hacker] .post-filters:before{content:"$ ./posts --filter"}:root[data-theme=hacker] .publication-filters:before{content:"$ ./publications --filter"}:root[lang=es][data-theme=hacker] .post-filters:before{content:"$ ./actualidad --filtrar"}:root[lang=es][data-theme=hacker] .publication-filters:before{content:"$ ./publicaciones --filtrar"}:root[data-theme=hacker] :is(.post-filters,.publication-filters) label{color:var(--cyber-cyan);letter-spacing:.045em;text-transform:uppercase;font-size:.68rem}:root[data-theme=hacker] :is(.post-filters,.publication-filters) :is(input,select,button){border:1px dashed color-mix(in srgb, var(--teal) 52%, var(--line));min-height:44px;color:var(--ink);background-color:#030906;border-radius:0;font-size:.8rem}:root[data-theme=hacker] :is(.post-filters,.publication-filters) :is(input,select){caret-color:var(--teal)}:root[data-theme=hacker] :is(.post-filters,.publication-filters) input::placeholder{color:var(--muted);opacity:.9}:root[data-theme=hacker] :is(.post-filters,.publication-filters) select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--teal) 50%), linear-gradient(135deg, var(--teal) 50%, transparent 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2rem}:root[data-theme=hacker] :is(.post-filters,.publication-filters) button{border-color:var(--cyber-orange);width:auto;color:var(--cyber-orange);text-transform:uppercase;font-size:.68rem}:root[data-theme=hacker] :is(.post-filters,.publication-filters) button:hover{color:var(--teal);background:#58f28714}:root[data-theme=hacker] :is(.post-filters,.publication-filters) :is(input,select,button):focus-visible{outline:1px dashed var(--cyber-cyan);outline-offset:2px}:root[data-theme=hacker] .publication-record{border:1px dashed color-mix(in srgb, var(--teal) 48%, var(--line));background-color:#040c07e6;margin-inline:.15rem;padding:1.15rem 1.3rem;box-shadow:inset 3px 0 #58f28770}:root[data-theme=hacker] .publication-record+.publication-record{border-top:1px dashed color-mix(in srgb, var(--teal) 48%, var(--line));padding-top:1.15rem}:root[data-theme=hacker] :is(.post-card,.press-card){border:1px dashed color-mix(in srgb, var(--teal) 48%, var(--line));background-color:#040c07e6;margin-block:1rem;padding:1.15rem 1.3rem;box-shadow:inset 3px 0 #58f28770}:root[data-theme=hacker] :is(.archive-category-card,.project-record,.team-card){background-color:#040c07e6;border-style:dashed;border-radius:0;box-shadow:inset 3px 0 #58f28770}:root[data-theme=hacker] .archive-category-card{transition:border-color .12s steps(2,end),background-color .12s steps(2,end)}:root[data-theme=hacker] .archive-category-card:hover{border-color:var(--cyber-cyan);box-shadow:inset 3px 0 0 var(--teal);background-color:#06120af5;transform:none}:root[data-theme=hacker] .publication-details summary::marker{color:var(--teal)}@media (width<=650px){:root[data-theme=hacker] .publication-record{padding:.9rem 1rem}:root[data-theme=hacker] .publication-record+.publication-record{padding-top:.9rem}:root[data-theme=hacker] :is(.post-card,.press-card){padding:.9rem 1rem}}html:root[data-theme=hacker]{--pixel:"VT323", "GiCP Terminal", monospace;--mono:var(--pixel);--sans:var(--mono);--serif:var(--mono);--cyber-cyan:#9be8b2;--cyber-orange:#ffbd69;--amber:#ffbd69;--shadow-soft:none;--shadow-card:none;--shadow-floating:none}html:root[data-theme=hacker] body{font-family:var(--mono);-webkit-font-smoothing:auto;text-rendering:auto;font-size:20px;line-height:24px}html:root[data-theme=hacker] :is(.home-page .hero h1,.editorial-heading h1,.team-profile-heading h1,.home-area-heading h2,.section-heading h2,.group-copy h2,.contact-inner h2){font-family:var(--pixel);letter-spacing:0;-webkit-font-smoothing:none;font-size:31.25px;font-weight:400;line-height:40px}html:root[data-theme=hacker] :is(.brand-copy strong,.footer-brand){font-family:var(--mono);letter-spacing:0;-webkit-font-smoothing:none;font-size:20px;font-weight:400}html:root[data-theme=hacker] .article-heading h1{font-family:var(--mono);letter-spacing:0;font-size:26px;font-weight:700;line-height:34px}html:root[data-theme=hacker] .home-area-heading h2:before{vertical-align:.55em;font-size:20px}html:root[data-theme=hacker] .home-area-heading h2:after{font-size:inherit}html:root[data-theme=hacker] :is(.language-switch,.home-jump-nav a,.home-jump-label,.post-card-meta,.article-meta,.eyebrow,.section-kicker,.card-index,.publication-index,.news-index,.theme-selector,.theme-selector-label,.footer-inner p,.brand-copy span,.publication-links,.publication-type,.publication-year,.publication-footnote p,.publication-year-group>h2,.post-filters label,.publication-filters label,.post-filters :is(input,select,button),.publication-filters :is(input,select,button),.cyber-statusbar,.cyber-statusbar *,.hacker-terminal .terminal-name,.hacker-terminal .terminal-state,.hero-bottomline,.art-topline,.art-labels){font-family:var(--mono);letter-spacing:0;text-transform:none;font-size:18px;line-height:20px}html:root[data-theme=hacker] .main-nav a{font-family:var(--mono);letter-spacing:0;text-transform:none;padding:4px 8px;font-size:18px;font-weight:700;line-height:20px}html:root[data-theme=hacker] :is(.main-nav a,.language-switch):is(:hover,:focus-visible){background:var(--teal);color:#04100a}html:root[data-theme=hacker] .language-switch:hover span{color:inherit}html:root[data-theme=hacker] .hero-description{max-width:78ch;font-size:20px;line-height:26px}html:root[data-theme=hacker] :is(.post-card>p:not(.post-author),.publication-record p,.home-area-heading p,.section-heading p){max-width:78ch;font-size:20px;line-height:24px}html:root[data-theme=hacker] .article-body{font-size:20px;line-height:26px}html:root[data-theme=hacker] :is(.home-post-list .post-card h3,.home-publications h3,.publication-record h3,.publication-title,.home-members a){font-family:var(--mono);letter-spacing:0;font-size:22px;font-weight:700;line-height:26px}html:root[data-theme=hacker] .post-card h2{font-family:var(--mono);letter-spacing:0;font-size:20px;font-weight:700;line-height:28px}html:root[data-theme=hacker] :is(.button,.text-link){font-family:var(--mono);letter-spacing:.02em;font-size:18px}html:root[data-theme=hacker] .button:hover{transform:none}html:root[data-theme=hacker] .hacker-terminal{border:1px solid var(--teal);border-radius:0;box-shadow:6px 6px #58f28724}html:root[data-theme=hacker] .hacker-terminal .terminal-lights{display:none}html:root[data-theme=hacker] .hacker-terminal .terminal-screen :is(p,span,b){font-family:var(--mono);letter-spacing:0;text-transform:none;font-size:18px;line-height:22px}html:root[data-theme=hacker] :is(.hacker-terminal,.cyber-statusbar) i{box-shadow:none;border-radius:0}html:root[data-theme=hacker] .site-header{box-shadow:none}html:root[data-theme=hacker] :is(.language-switch,.back-to-top,.image-viewer,.eyebrow-dot){box-shadow:none;border-radius:0}html:root[data-theme=hacker] .language-switch{border:1px solid var(--teal);padding:8px 12px}html:root[data-theme=hacker] .back-to-top{border:1px solid var(--teal);background:var(--paper);font-family:var(--mono);font-size:18px}html:root[data-theme=hacker] .theme-option[aria-pressed=true]{border-color:var(--teal);color:var(--teal);background:0 0}html:root[data-theme=hacker] .brand-mark{filter:invert()sepia()saturate(8)hue-rotate(80deg);background:0 0;border-radius:0}html:root[data-theme=hacker] :is(.post-card,.press-card,.archive-category-card,.project-record,.publication-record,.team-card):is(:hover,:focus-within){border-color:var(--teal);box-shadow:inset 3px 0 0 var(--teal)}html:root[data-theme=hacker] *,html:root[data-theme=hacker] :before,html:root[data-theme=hacker] :after{transition:none!important}html:root[data-theme=hacker] .footer-inner{flex-wrap:wrap;row-gap:12px}html:root[data-theme=hacker] .footer-inner p{text-align:left;flex:16rem;max-width:none;position:static;transform:none}html:root[data-theme=hacker] :is(.home-publications time,.home-publications li p,.home-members li span,.publication-download,.publication-download a,.publication-details code,.tag-option-count,.archive-category-index,.archive-category-count,.post-author,.post-tags a,.back-link,.team-role,.team-card-heading a,.project-note){font-family:var(--mono);letter-spacing:0;text-transform:none;font-size:18px;line-height:20px}html:root[data-theme=hacker] .main-nav a{white-space:nowrap}@media (width<=920px){html:root[data-theme=hacker] .header-inner{flex-wrap:wrap;gap:8px 16px;min-height:auto;padding-block:12px}html:root[data-theme=hacker] .main-nav{flex-wrap:wrap;order:3;justify-content:flex-start;gap:4px 12px;width:100%}html:root[data-theme=hacker] .language-switch{margin-left:auto}}html:root[data-theme=hacker] .home-jump-nav a{padding:.35rem .3rem}html:root[data-theme=hacker] .home-jump-nav ul{gap:0;padding:.25rem .3rem}html:root[data-theme=hacker] .cyber-status-command{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:68%;overflow:hidden}html:root[data-theme=hacker]{--ink:#e2ffe9;--ink-soft:#bfe8cb;--muted:#9cc9a8;--term-bg:#020805}html:root[data-theme=hacker] :is(.hero-description,.post-card>p:not(.post-author),.home-area-heading p){color:var(--ink-soft)}html:root[data-theme=hacker] .hacker-terminal{background:var(--term-bg)}html:root[data-theme=hacker] .hacker-terminal .terminal-titlebar{border-bottom:1px solid var(--teal);background:#0c2215}html:root[data-theme=hacker] .hacker-terminal :is(.terminal-name,.terminal-state){color:var(--ink-soft);font-size:18px}html:root[data-theme=hacker] .hacker-terminal .terminal-screen{padding:18px 20px}html:root[data-theme=hacker] .hacker-terminal .terminal-screen :is(p,span,b){color:var(--ink);font-size:20px;line-height:26px}html:root[data-theme=hacker] .hacker-terminal .terminal-screen p{margin:0}html:root[data-theme=hacker] .hacker-terminal .terminal-user{color:var(--teal);font-weight:700}html:root[data-theme=hacker] .hacker-terminal .terminal-path{color:#7fd8ff}html:root[data-theme=hacker] .hacker-terminal .terminal-output b{color:var(--teal);font-weight:700}html:root[data-theme=hacker] .hacker-terminal .terminal-prompt{margin-top:10px}html:root[data-theme=hacker] .cyber-statusbar,html:root[data-theme=hacker] .cyber-statusbar *{color:var(--ink-soft);font-size:18px}html:root[data-theme=hacker] .cyber-statusbar .cyber-shell-user{color:var(--teal);font-weight:700}html:root[data-theme=hacker] .cyber-statusbar .cyber-shell-path{color:#7fd8ff}html:root[data-theme=hacker] .cyber-statusbar b{color:var(--ink);font-weight:400}html:root[data-theme=hacker] .cyber-statusbar .cyber-status-state{color:var(--teal)}html:root[data-theme=hacker] .home-jump-nav{box-shadow:none;backdrop-filter:none;counter-reset:tmux-win -1;background:#0c2215;border:0}html:root[data-theme=hacker] .home-jump-label{background:var(--teal);color:#04100a;border:0;align-self:stretch;align-items:center;padding:0 14px;font-size:18px;font-weight:700;display:flex}html:root[data-theme=hacker] .home-jump-label:before{content:"[gicp] ";white-space:pre;color:inherit;margin:0}html:root[data-theme=hacker] .home-jump-nav ul{scrollbar-width:none;gap:2px;padding:0 6px}html:root[data-theme=hacker] .home-jump-nav ul::-webkit-scrollbar{display:none}html:root[data-theme=hacker] .home-jump-nav li{counter-increment:tmux-win}html:root[data-theme=hacker] .home-jump-nav a{min-height:36px;color:var(--ink-soft);border:0;padding:0 10px;font-size:18px;font-weight:400}html:root[data-theme=hacker] .home-jump-nav a:before{content:counter(tmux-win) ":";color:var(--muted)}html:root[data-theme=hacker] .home-jump-nav a:after{content:""}html:root[data-theme=hacker] .home-jump-nav a:hover{color:var(--ink);background:#183320;border:0}html:root[data-theme=hacker] .section-navigation a[aria-current=location]{background:var(--ink);color:#04100a;box-shadow:none;border:0;font-weight:700}html:root[data-theme=hacker] .section-navigation a[aria-current=location]:before{color:#04100a}html:root[data-theme=hacker] .section-navigation a[aria-current=location]:after{content:"*";color:inherit}html:root[data-theme=hacker] .section-navigation a.section-completed{color:var(--teal)}html:root[data-theme=hacker] .section-navigation:after{background:var(--teal);height:2px}html:root[data-theme=hacker] :is(.post-filters,.publication-filters){border:1px solid var(--teal);background:var(--term-bg);gap:14px 16px;padding:0 16px 16px;box-shadow:6px 6px #58f28724}html:root[data-theme=hacker] :is(.post-filters,.publication-filters):before{border-bottom:1px solid var(--teal);color:var(--ink);letter-spacing:0;background:#0c2215;margin:0 -16px 4px;padding:8px 16px;font-size:18px}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) label{color:var(--ink-soft);letter-spacing:0;text-transform:lowercase;gap:6px;font-size:18px}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) label:first-line{color:var(--ink-soft)}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) label:before{content:"--";color:var(--teal)}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) :is(input,select){min-height:44px;color:var(--ink);text-transform:none;background-color:#000;border:1px solid #2c5a3a;border-radius:0;font-size:20px}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) input::placeholder{color:#6f9a7b}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) :is(input,select):hover{border-color:var(--sage-deep)}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) :is(input,select):focus-visible{border-color:var(--teal);outline:1px solid var(--teal);outline-offset:0}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) select option{color:var(--ink);background:#000}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) button{border:1px solid var(--amber);min-height:44px;color:var(--amber);text-transform:lowercase;background:0 0;border-radius:0;padding:0 14px;font-size:18px;font-weight:700}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) button:before{content:"^C ";white-space:pre}html:root[data-theme=hacker] :is(.post-filters,.publication-filters) button:is(:hover,:focus-visible){background:var(--amber);color:#04100a;outline:none}html:root[data-theme=hacker] :is(.publication-results,.post-results,.post-filter-status){color:var(--ink-soft);font-size:20px}html:root[data-theme=hacker] :is(.publication-results,.post-results,.post-filter-status):before{content:"> ";color:var(--teal)}html:root[data-theme=hacker] :is(.publication-results,.post-results) [data-publication-count],html:root[data-theme=hacker] .post-results span{color:var(--teal);font-weight:700}html:root[data-theme=hacker] :is(.publication-empty,.post-empty){color:var(--amber);font-size:20px}html:root[data-theme=hacker] :is(.publication-empty,.post-empty):before{content:"[!] ";white-space:pre}html:root[data-theme=hacker] form:is(.post-filters,.publication-filters):before{flex:0 0 calc(100% + 32px)}html:root[data-theme=hacker] form:is(.post-filters,.publication-filters) label{text-transform:lowercase;grid-template-columns:auto 1fr;align-content:start;row-gap:6px;display:grid}html:root[data-theme=hacker] form:is(.post-filters,.publication-filters) label>:is(input,select){grid-column:1/-1}html:root[data-theme=hacker] :is(.publication-results,.post-results){margin-top:20px}html:root[data-theme=hacker] select:not(.x){appearance:none;min-height:44px;color:var(--ink);font-family:var(--mono);cursor:pointer;background-color:#000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%2358f287'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:10px 6px;border:1px solid #2c5a3a;border-radius:0;padding:0 36px 0 12px;font-size:20px}html:root[data-theme=hacker] select:not(.x):hover{border-color:var(--sage-deep)}html:root[data-theme=hacker] select:not(.x):focus-visible,html:root[data-theme=hacker] select:not(.x):open{border-color:var(--teal);outline:1px solid var(--teal);outline-offset:0}html:root[data-theme=hacker] select:not(.x) option{color:var(--ink);background:#000}html:root[data-theme=hacker] select:not(.x) option:checked{background:var(--teal);color:#04100a}@supports (appearance:base-select){html:root[data-theme=hacker] select:not(.x),html:root[data-theme=hacker] select:not(.x)::picker(select){appearance:base-select}html:root[data-theme=hacker] select:not(.x){background-image:none;align-items:center;padding-right:12px;display:flex}html:root[data-theme=hacker] select:not(.x)::picker-icon{content:"▾";color:var(--teal);margin-left:auto;transition:none}html:root[data-theme=hacker] select:not(.x):open::picker-icon{content:"▴";rotate:none}html:root[data-theme=hacker] select:not(.x)::picker(select){border:1px solid var(--teal);max-height:22rem;color:var(--ink);scrollbar-color:var(--sage-deep) #000;background:#000;border-radius:0;margin-top:-1px;padding:4px 0;box-shadow:6px 6px #58f28724}html:root[data-theme=hacker] select:not(.x) option{color:var(--ink-soft);font-family:var(--mono);white-space:nowrap;cursor:pointer;background:0 0;gap:8px;padding:6px 12px;font-size:20px;line-height:22px;display:flex}html:root[data-theme=hacker] select:not(.x) option::checkmark{content:">";width:1ch;color:var(--teal);order:-1}html:root[data-theme=hacker] select:not(.x) option:not(:checked)::checkmark{visibility:hidden}html:root[data-theme=hacker] select:not(.x) option:checked{color:var(--teal);background:0 0;font-weight:700}html:root[data-theme=hacker] select:not(.x) option:is(:hover,:focus-visible){background:var(--teal);color:#04100a;outline:none}html:root[data-theme=hacker] select:not(.x) option:is(:hover,:focus-visible)::checkmark{color:#04100a}}html:root[data-theme=hacker] details>summary{width:fit-content;min-height:36px;color:var(--teal);font-family:var(--mono);cursor:pointer;user-select:none;align-items:center;gap:8px;padding:4px 8px 4px 0;font-size:18px;font-weight:700;list-style:none;display:inline-flex}html:root[data-theme=hacker] details>summary::-webkit-details-marker{display:none}html:root[data-theme=hacker] details>summary::marker{content:""}html:root[data-theme=hacker] details>summary:before{content:"[+]";color:var(--ink-soft);font-weight:400}html:root[data-theme=hacker] details[open]>summary:before{content:"[-]"}html:root[data-theme=hacker] details>summary:is(:hover,:focus-visible){background:var(--teal);color:#04100a;outline:none;margin-left:-8px;padding-left:8px}html:root[data-theme=hacker] details>summary:is(:hover,:focus-visible):before{color:#04100a}html:root[data-theme=hacker] details[open]>:not(summary){border-left:1px solid #2c5a3a;margin-left:4px;padding-left:16px}html:root[data-theme=hacker] .publication-details{margin-top:4px;font-size:18px}html:root[data-theme=hacker] .publication-details>p{color:var(--ink-soft);margin-block:4px 12px;line-height:24px}html:root[data-theme=hacker] .publication-details dl{margin-block:4px 12px}html:root[data-theme=hacker] .publication-details dt{color:var(--muted);font-weight:400}html:root[data-theme=hacker] .publication-details dd{color:var(--ink)}html:root[data-theme=hacker] .publication-details pre{color:var(--ink);background:#000;border:1px solid #2c5a3a;margin-block:4px 8px;padding:12px 14px;font-size:18px;line-height:20px}html:root[data-theme=hacker] .publication-details .publication-bib-download{color:var(--teal);border-left:0;margin-bottom:12px;font-size:18px;display:inline-block}html:root[data-theme=hacker] .archive-tag-directory fieldset{background:var(--term-bg);background-image:none;border:1px solid #2c5a3a;border-radius:0;margin-top:8px;padding:12px 16px 16px}html:root[data-theme=hacker] .archive-tag-directory legend{color:var(--ink-soft);padding-inline:6px;font-size:18px}html:root[data-theme=hacker] .tag-options label{min-height:36px;color:var(--ink-soft);padding:0 8px;font-size:18px}html:root[data-theme=hacker] .tag-options label:hover{color:var(--ink);background:#0c2215}html:root[data-theme=hacker] .tag-options input[type=checkbox]{appearance:none;border:1px solid var(--teal);cursor:pointer;background:#000;border-radius:0;place-items:center;width:16px;height:16px;margin:0;display:grid}html:root[data-theme=hacker] .tag-options input[type=checkbox]:checked{background:var(--teal);box-shadow:inset 0 0 0 3px #000}html:root[data-theme=hacker] .tag-options input[type=checkbox]:checked+*,html:root[data-theme=hacker] .tag-options label:has(input:checked){color:var(--teal);font-weight:700}html:root[data-theme=hacker] .tag-options input[type=checkbox]:focus-visible{outline:1px solid var(--amber);outline-offset:2px}html:root[data-theme=hacker] .tag-options{scrollbar-color:var(--sage-deep) #000}.tsel{display:none}html:root[data-theme=hacker] select.tsel-native{display:none!important}html:root[data-theme=hacker] .tsel{min-width:0;font-family:var(--mono);text-transform:none;grid-column:1/-1;display:block;position:relative}html:root[data-theme=hacker] .tsel-button{width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;text-transform:none;cursor:pointer;background:#000;border:1px solid #2c5a3a;border-radius:0;align-items:center;gap:10px;padding:0 12px;font-size:20px;font-weight:400;display:flex}html:root[data-theme=hacker] .tsel-button:before{content:none}html:root[data-theme=hacker] .tsel-is-default .tsel-value{color:var(--ink-soft)}html:root[data-theme=hacker] .tsel:not(.tsel-is-default) .tsel-button{border-color:var(--sage-deep)}html:root[data-theme=hacker] .tsel:not(.tsel-is-default) .tsel-value{color:var(--teal);font-weight:700}html:root[data-theme=hacker] .tsel-value{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}html:root[data-theme=hacker] .tsel-icon:before{content:"▾";color:var(--teal)}html:root[data-theme=hacker] .tsel-open .tsel-icon:before{content:"▴"}html:root[data-theme=hacker] .tsel-button:hover{border-color:var(--teal)}html:root[data-theme=hacker] .tsel-button:focus-visible,html:root[data-theme=hacker] .tsel-open .tsel-button{border-color:var(--teal);outline:1px solid var(--teal);outline-offset:0}html:root[data-theme=hacker] .tsel-panel{z-index:30;border:1px solid var(--teal);background:#000;width:max(100%,18rem);max-width:min(32rem,100vw - 2rem);position:absolute;top:calc(100% + 4px);left:0;box-shadow:6px 6px #58f28724}html:root[data-theme=hacker] .tsel-panel[hidden]{display:none}html:root[data-theme=hacker] .tsel-panel.tsel-up{top:auto;bottom:calc(100% + 4px)}html:root[data-theme=hacker] .post-filters .tsel-panel,html:root[data-theme=hacker] .publication-filters label:last-of-type .tsel-panel{left:auto;right:0}html:root[data-theme=hacker] .tsel-grep{cursor:text;background:#0c2215;border-bottom:1px solid #2c5a3a;align-items:center;gap:8px;padding:8px 12px;display:flex!important}html:root[data-theme=hacker] .tsel-grep:before{content:none!important}html:root[data-theme=hacker] .tsel-grep-prompt{color:var(--teal);flex:none;font-size:18px;font-weight:700}html:root[data-theme=hacker] .tsel-grep input{min-width:0;color:var(--ink);caret-color:var(--teal);font:inherit;flex:auto;font-size:20px;background:0 0!important;border:0!important;outline:none!important;min-height:28px!important;padding:0!important}html:root[data-theme=hacker] .tsel-grep input::placeholder{color:#6f9a7b}html:root[data-theme=hacker] .tsel-list{scrollbar-color:var(--sage-deep) #000;scrollbar-width:thin;outline:none;max-height:20rem;margin:0;padding:4px 0;list-style:none;overflow-y:auto}html:root[data-theme=hacker] .tsel-option{color:var(--ink-soft);cursor:pointer;user-select:none;gap:8px;padding:5px 12px;font-size:20px;line-height:22px;display:flex}html:root[data-theme=hacker] .tsel-option[hidden]{display:none}html:root[data-theme=hacker] .tsel-option:before{content:" ";white-space:pre;color:var(--teal);flex:0 0 1ch}html:root[data-theme=hacker] .tsel-option[aria-selected=true]{color:var(--teal);font-weight:700}html:root[data-theme=hacker] .tsel-option[aria-selected=true]:before{content:">"}html:root[data-theme=hacker] .tsel-option.tsel-active{background:var(--teal);color:#04100a}html:root[data-theme=hacker] .tsel-option.tsel-active:before{color:#04100a}html:root[data-theme=hacker] .tsel-option[aria-disabled=true]{color:#4f7059;cursor:not-allowed}html:root[data-theme=hacker] .tsel-empty{color:var(--amber);margin:0;padding:10px 12px;font-size:18px}html:root[data-theme=hacker] .tsel-empty:before{content:"[!] ";white-space:pre}html:root[data-theme=hacker] form:is(.post-filters,.publication-filters) button.tsel-button{min-height:44px;color:var(--ink);text-transform:none;background:#000;border:1px solid #2c5a3a;padding:0 12px;font-size:20px;font-weight:400}html:root[data-theme=hacker] form:is(.post-filters,.publication-filters) button.tsel-button:before{content:none}html:root[data-theme=hacker] form:is(.post-filters,.publication-filters) button.tsel-button:is(:hover,:focus-visible),html:root[data-theme=hacker] form:is(.post-filters,.publication-filters) .tsel-open button.tsel-button{border-color:var(--teal);color:var(--ink);background:#000}html:root[data-theme=hacker] form:is(.post-filters,.publication-filters) .tsel:not(.tsel-is-default) button.tsel-button{border-color:var(--sage-deep)}html:root[data-theme=hacker] :is(h1,h2,h3,h4,h5,h6){font-family:var(--pixel)!important}html:root[data-theme=hacker] :is(.hacker-terminal,.cyber-statusbar,.post-filters,.publication-filters,.home-jump-nav,.section-navigation,pre,code,kbd,samp){--mono:var(--pixel);--sans:var(--pixel);--serif:var(--pixel);font-family:var(--pixel)}html:root[data-theme=hacker] .hacker-terminal .terminal-screen :is(p,span,b){font-size:20px;line-height:26px}html:root[data-theme=hacker] .hacker-terminal .terminal-titlebar :is(.terminal-name,.terminal-state),html:root[data-theme=hacker] .site-header .cyber-statusbar,html:root[data-theme=hacker] .site-header .cyber-statusbar *,html:root[data-theme=hacker] .editorial-main form:is(.post-filters,.publication-filters) label,html:root[data-theme=hacker] .editorial-main form:is(.post-filters,.publication-filters):before,html:root[data-theme=hacker] .section-navigation :is(.home-jump-label,a){font-size:18px}html:root[data-theme=hacker] .editorial-main form:is(.post-filters,.publication-filters) :is(input,select,button,.tsel-option,.tsel-grep-prompt,.tsel-empty){font-size:20px}html:root[data-theme=hacker] :is(.home-page,.editorial-main){font-size:20px;line-height:1.4}@media (width<=760px){html:root[data-theme=hacker] .footer-inner p{text-align:center;flex:100%}}
