@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.D8KDMBhC.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.DrnZ1wKl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.B_7UjwxQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@media (hover:hover) and (pointer:fine){html{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='21' viewBox='0 0 16 22'%3E%3Cpath d='M2.2 1.6v15.9l3.9-3.7 2.6 5.8 2.7-1.2-2.6-5.7h5.4z' fill='%2314130f' stroke='%23f4f2ed' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 2 1,auto;cursor:image-set(url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='21' viewBox='0 0 16 22'%3E%3Cpath d='M2.2 1.6v15.9l3.9-3.7 2.6 5.8 2.7-1.2-2.6-5.7h5.4z' fill='%2314130f' stroke='%23f4f2ed' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 1x, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='42' viewBox='0 0 16 22'%3E%3Cpath d='M2.2 1.6v15.9l3.9-3.7 2.6 5.8 2.7-1.2-2.6-5.7h5.4z' fill='%2314130f' stroke='%23f4f2ed' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 2x) 2 1, auto}a,button,summary,label[for],select,[role=button],[data-egg],.hero-train{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='21' viewBox='0 0 16 22'%3E%3Cpath d='M2.2 1.6v15.9l3.9-3.7 2.6 5.8 2.7-1.2-2.6-5.7h5.4z' fill='%23ff6a4d' stroke='%2314130f' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 2 1,pointer;cursor:image-set(url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='21' viewBox='0 0 16 22'%3E%3Cpath d='M2.2 1.6v15.9l3.9-3.7 2.6 5.8 2.7-1.2-2.6-5.7h5.4z' fill='%23ff6a4d' stroke='%2314130f' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 1x, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='42' viewBox='0 0 16 22'%3E%3Cpath d='M2.2 1.6v15.9l3.9-3.7 2.6 5.8 2.7-1.2-2.6-5.7h5.4z' fill='%23ff6a4d' stroke='%2314130f' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 2x) 2 1, pointer}input:not([type=submit]):not([type=button]),textarea,[contenteditable]{cursor:text}button:disabled{cursor:not-allowed}}:root{color-scheme:dark;--paper:#12110f;--paper-2:#191713;--paper-3:#221f1a;--ink:#f1eee5;--ink-2:#c6c0b2;--mute:#948d7e;--faint:#948d7d;--rule:#3b352c;--rule-2:#544d40;--signal:#ff6a4d;--signal-ink:#ff8b73;--signal-line:#ff6a4d6b;--grid-line:#f1eee506;--font-display:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--label-size:.72rem;--label-track:.14em;--grid-size:28px;--grid-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);--shell:min(1180px, calc(100% - 64px));--inset:clamp(16px, 2.2vw, 30px);--smooth:cubic-bezier(.2, .7, .2, 1);font-family:var(--font-sans)}:root[data-theme=light]{color-scheme:light;--paper:#f4f2ed;--paper-2:#edeae3;--paper-3:#e6e2d9;--ink:#14130f;--ink-2:#3d3a31;--mute:#6e6a5f;--faint:#6d695c;--rule:#d5d1c6;--rule-2:#c3bfb2;--signal:#c5361e;--signal-ink:#a82c15;--signal-line:#cf3a2066;--grid-line:#14130f07}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background-color:var(--paper);background-image:var(--grid-image);background-size:var(--grid-size) var(--grid-size);min-width:320px;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:scroll;margin:0;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}img,video{max-width:100%}::selection{background:var(--ink);color:var(--paper)}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.skip-link{z-index:50;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;padding:12px 18px;position:absolute;left:-9999px}.skip-link:focus{top:16px;left:16px}.section-shell{width:var(--shell);padding-inline:var(--inset);margin:0 auto}body:after{content:"";z-index:1;width:var(--shell);border-inline:1px solid var(--rule);pointer-events:none;position:fixed;inset:0 auto 0 50%;transform:translate(-50%)}.eyebrow{color:var(--mute);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;margin:0;font-weight:400}.section-head{border-bottom:1px solid var(--rule-2);align-items:baseline;gap:16px;margin:0 0 36px;padding-bottom:12px;display:flex}.section-head .section-num{background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:.1em;flex:none;padding:2px 7px}.section-head h2{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.86rem;font-weight:600}.band{border-top:1px solid var(--rule);padding-block:clamp(56px,7vw,88px)}.band--tint,.oeffigo-band{background-color:var(--paper-2);background-image:var(--grid-image);background-size:var(--grid-size) var(--grid-size);background-attachment:scroll}.display-em{white-space:nowrap;color:var(--signal);font-style:normal}.site-header{z-index:20;border-bottom:1px solid var(--rule-2);background:var(--paper);position:relative}@media (width>=861px){.site-header{position:sticky;top:0}html{scroll-padding-top:72px}}.site-header-bar{width:var(--shell);align-items:stretch;min-height:58px;margin:0 auto;display:flex}.brand{padding:0 var(--inset);border-right:1px solid var(--rule);font-family:var(--font-display);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:9px;font-size:.94rem;font-weight:700;transition:background .16s,color .16s;display:inline-flex}.brand:hover{background:var(--paper-2);color:var(--signal)}.brand-prompt{color:var(--signal);font-family:var(--font-mono);letter-spacing:0;font-weight:400}.site-nav{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:stretch;font-size:.78rem;display:flex}.site-nav a{border-right:1px solid var(--rule);align-items:center;padding:0 20px;transition:background .16s,color .16s;display:flex}.site-nav a:hover{background:var(--paper-2);color:var(--signal)}.header-spacer{flex:1}.site-header-bar>.nav-socials{border-left:1px solid var(--rule);align-items:center;gap:0;padding:0 6px}.header-utils{align-items:stretch;display:flex}.header-utils>*{border-left:1px solid var(--rule);align-items:center;display:flex}.header-utils .theme-toggle{padding:0 18px}.header-utils .lang-switch{padding:0 var(--inset) 0 18px}.header-utils>:hover{background:var(--paper-2)}.lang-switch{color:var(--mute)}.lang-switch:hover{color:var(--ink)}.theme-toggle{color:var(--mute);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.78rem;line-height:1;transition:color .16s;display:inline-flex;position:relative}.theme-toggle:hover{color:var(--ink)}.theme-toggle:before{content:"";position:absolute;inset:-15px -6px}.theme-toggle-swatch{background:linear-gradient(90deg,currentColor 50%,#0000 50%);border:1px solid;width:10px;height:10px}:root[data-theme=light] .theme-toggle-swatch{background:linear-gradient(270deg,currentColor 50%,#0000 50%)}.theme-toggle-label [data-theme-word=light],:root[data-theme=light] .theme-toggle-label [data-theme-word=dark]{display:none}:root[data-theme=light] .theme-toggle-label [data-theme-word=light]{display:inline}.button{border:1px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;background:0 0;align-items:center;gap:9px;padding:13px 26px;font-size:.76rem;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.button.primary{background:var(--ink);color:var(--paper)}.button.primary:hover{background:var(--signal);border-color:var(--signal)}.button.secondary:hover{background:var(--ink);color:var(--paper)}.button svg{width:15px;height:15px}.text-link{border-bottom:1px solid var(--rule-2);color:var(--ink);align-items:center;gap:7px;padding-bottom:2px;transition:border-color .16s,color .16s;display:inline-flex}.text-link:hover{border-bottom-color:var(--signal);color:var(--signal)}.hero .eyebrow{margin-bottom:clamp(32px,4vw,46px)}.hero h1{max-width:15ch;font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.9rem,8.2vw,7rem);font-weight:700;line-height:.94}.hero-text{max-width:48ch;color:var(--ink-2);margin:clamp(28px,3.5vw,40px) 0 0;font-size:1.16rem;line-height:1.5}.hero-actions{flex-wrap:wrap;gap:12px;margin:clamp(28px,3.5vw,40px) 0 0;display:flex}.status{color:var(--mute);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:.7rem}.status.active,.status.beta{color:var(--ink)}.status.active:before,.status.beta:before{content:"";vertical-align:2px;background:var(--signal);width:5px;height:5px;margin-right:7px;display:inline-block}.status.archived,.status.coming-soon{color:var(--faint)}.oeffigo-band{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:clamp(64px,8vw,100px) 0}.oeffigo-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);align-items:start;gap:clamp(36px,5vw,72px);display:grid}.oeffigo-headline{align-items:center;gap:20px;margin:26px 0 0;display:flex}.oeffigo-icon{border:1px solid var(--rule-2);object-fit:contain;width:72px;height:72px}.oeffigo-headline h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;line-height:1}.oeffigo-tagline{color:var(--ink-2);margin:6px 0 0;font-size:1.05rem}.oeffigo-actions{flex-wrap:wrap;gap:12px;margin:30px 0 0;display:flex}.oeffigo-features{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.oeffigo-feature{border-bottom:1px solid var(--rule);grid-template-columns:26px minmax(0,1fr);align-content:start;gap:4px 14px;padding:18px 0;display:grid}.oeffigo-feature-icon{color:var(--signal);display:block}.oeffigo-feature-icon svg{width:18px;height:18px}.oeffigo-feature h3{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.oeffigo-feature p{color:var(--ink-2);grid-column:2;margin:4px 0 0;font-size:.94rem;line-height:1.5}.note-block{border:1px solid var(--rule-2);background:var(--paper);margin:30px 0 0;padding:22px 24px}.note-block--flush{margin-top:0}.note-block h3{font-family:var(--font-display);letter-spacing:-.02em;margin:8px 0 0;font-size:1.24rem;font-weight:700}.note-block p{color:var(--ink-2);margin:10px 0 0;font-size:.96rem;line-height:1.55}.note-block ul{border-top:1px solid var(--rule);margin:16px 0 0;padding:0;list-style:none}.note-block li{border-bottom:1px solid var(--rule);color:var(--ink-2);padding:9px 0;font-size:.92rem}.note-block li:last-child{border-bottom:0;padding-bottom:0}.note-actions{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:8px 24px;margin:18px 0 0;font-size:.74rem;display:flex}.note-actions a{border-bottom:1px solid var(--rule-2);align-items:center;gap:6px;padding-bottom:2px;display:inline-flex}.note-actions a:hover{color:var(--signal);border-bottom-color:var(--signal)}.oeffigo-page-hero{padding:clamp(48px,6vw,80px) 0 clamp(40px,5vw,60px)}.oeffigo-page-hero h1{max-width:16ch;font-family:var(--font-display);letter-spacing:-.045em;margin:24px 0 0;font-size:clamp(2.6rem,7vw,5.4rem);font-weight:700;line-height:.96}.oeffigo-page-lead{max-width:60ch;color:var(--ink-2);margin:28px 0 0;font-size:1.12rem;line-height:1.55}.oeffigo-shot{width:100%;max-width:300px;height:auto;margin-inline:auto;display:block}.oeffigo-screens{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:8px 0 0;list-style:none;display:grid}.oeffigo-screens img{width:100%;height:auto;display:block}.oeffigo-screens span{color:var(--ink-2);font-family:var(--font-mono,"Geist Mono Variable", monospace);text-align:center;margin-top:12px;font-size:.78rem;display:block}@media (width<=760px){.oeffigo-screens{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}.oeffigo-feature-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));column-gap:36px;display:grid}.oeffigo-feature-grid .oeffigo-feature{padding:22px 0 26px}.data-list{border-top:1px solid var(--ink);margin:0}.data-list>div{border-bottom:1px solid var(--rule);grid-template-columns:220px minmax(0,1fr);gap:12px 32px;padding:18px 0;display:grid}.data-list dt{color:var(--mute);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase}.data-list dd{color:var(--ink-2);margin:0;font-size:.98rem;line-height:1.55}.split-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);align-items:start;gap:clamp(28px,5vw,72px);display:grid}.split-section h2{font-family:var(--font-display);letter-spacing:-.035em;margin:10px 0 0;font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;line-height:1.05}.split-section>p{color:var(--ink-2);margin:0;font-size:1.06rem;line-height:1.65}.contact-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.contact-section h2{font-family:var(--font-display);letter-spacing:-.04em;margin:10px 0 0;font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700;line-height:1}.contact-note{max-width:40ch;color:var(--ink-2);margin:20px 0 0;line-height:1.6}.contact-form{gap:22px;display:grid}.contact-field{gap:8px;display:grid}.contact-field label{color:var(--mute);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase}.contact-field input,.contact-field textarea{border:0;border-bottom:1px solid var(--rule-2);width:100%;color:var(--ink);font-family:var(--font-sans);background:0 0;padding:12px 0;font-size:1rem;transition:border-color .16s,box-shadow .16s}.contact-field textarea{resize:vertical;min-height:108px;line-height:1.55}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--faint)}.contact-field input:focus,.contact-field textarea:focus{border-bottom-color:var(--signal);box-shadow:0 2px 0 0 var(--signal);outline:none}.contact-field input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--paper) inset;caret-color:var(--ink)}.contact-field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--paper) inset;caret-color:var(--ink)}.contact-field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--paper) inset;caret-color:var(--ink)}.contact-honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.contact-submit{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;justify-self:start;padding:13px 30px;font-size:.76rem;transition:background .16s,border-color .16s}.contact-submit:hover:not(:disabled){background:var(--signal);border-color:var(--signal)}.contact-submit:disabled{opacity:.55;cursor:progress}.contact-verification{border:1px solid var(--rule-2);background:var(--paper-2);min-width:0;padding:18px}.verification-heading{align-items:center;gap:9px;margin-bottom:16px;display:flex}.verification-heading h3{margin:0;font-size:.92rem;font-weight:500}.verification-dot{background:var(--mute);flex:none;width:6px;height:6px}.verification-provider{color:var(--mute);font-family:var(--font-mono);margin-left:auto;font-size:.65rem}.cf-turnstile{min-width:0;min-height:65px}.verification-status{color:var(--mute);margin:12px 0 0;font-size:.8rem;line-height:1.5}.contact-verification[data-state=verified] .verification-dot{background:var(--signal)}.contact-verification[data-state=error]{border-color:var(--signal)}.verification-retry{color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:1px solid;margin-top:10px;padding:4px 0;font-size:.82rem}.contact-actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.contact-submit{justify-content:space-between;align-items:center;gap:32px;display:inline-flex}.contact-submit:disabled{cursor:not-allowed}.contact-form[aria-busy=true] .contact-submit{cursor:progress}.contact-email-alternative{color:var(--mute);text-underline-offset:4px;font-size:.8rem;text-decoration:underline}.contact-email-alternative:hover{color:var(--ink)}.contact-status{margin:0}.contact-status:has([hidden]){display:none}.contact-status-card{border:1px solid var(--rule-2);background:var(--paper-2);grid-template-columns:68px minmax(0,1fr);align-items:center;gap:16px;padding:18px;display:grid}.contact-status-card[hidden],.verification-retry[hidden]{display:none}.contact-status-title{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:600}.contact-status-body{color:var(--ink-2);margin:7px 0 0;font-size:.86rem;line-height:1.55}.contact-status-card .error-mascot{width:68px}.contact-privacy-note{color:var(--mute);margin:0;font-size:.82rem}.contact-privacy-note a{border-bottom:1px solid var(--rule-2)}.contact-privacy-note a:hover{color:var(--signal);border-bottom-color:var(--signal)}.social-row{border-top:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:26px;margin:28px 0 0;padding:20px 0 0;font-size:.76rem;display:flex}.social-row a{color:var(--mute);align-items:center;gap:8px;transition:color .16s;display:inline-flex}.social-row a:hover{color:var(--signal)}.social-row svg{width:16px;height:16px}.social-row--icons{border-top:0;gap:14px;margin:0;padding:0}.social-row--icons a{color:var(--mute);padding:10px}.social-row--icons a:hover{color:var(--ink)}.nav-socials{align-items:center}.site-footer{width:var(--shell);padding:clamp(36px, 5vw, 56px) var(--inset) 40px;border-top:1px solid var(--rule-2);color:var(--mute);margin:clamp(60px,8vw,96px) auto 0;font-size:.94rem}.site-footer p{margin:0}.footer-main{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:36px clamp(24px,3vw,44px);display:grid}.footer-mark{color:var(--ink);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;gap:8px;font-size:1rem;font-weight:700;display:inline-flex}.footer-about p{max-width:34ch;color:var(--ink-2);margin-top:16px;line-height:1.6}.footer-about .footer-place{color:var(--mute);margin-top:12px;font-size:.86rem}.footer-terminal{border:1px solid var(--rule-2);color:#e9e5d8;font-family:var(--font-mono);background:#070706;margin-top:22px;padding:8px 12px;font-size:.78rem;transition:border-color .16s}.footer-terminal span{color:var(--signal)}.footer-terminal:hover{border-color:var(--signal)}.footer-col-title{color:var(--faint);font-family:var(--font-mono);letter-spacing:var(--label-track);text-transform:uppercase;font-size:.68rem;margin-bottom:14px!important}.footer-col ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer-col a{color:var(--ink-2);overflow-wrap:anywhere;transition:color .16s}.footer-col a:hover{color:var(--signal)}.footer-sources{border-top:1px solid var(--rule);color:var(--faint);padding-top:18px;font-size:.82rem;line-height:1.6;margin-top:clamp(36px,5vw,52px)!important}.footer-bottom{z-index:1;border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;margin-top:18px;padding-top:16px;display:flex;position:relative}.footer-love{font-size:.88rem}.footer-love a{border-bottom:1px solid var(--rule-2);color:var(--ink)}.footer-love a:hover{border-bottom-color:var(--signal);color:var(--signal)}.footer-heart{vertical-align:-1px;width:14px;margin:0 3px;display:inline-block}.footer-heart svg{width:100%;height:auto;display:block}.footer-love:hover .footer-heart{animation:.7s steps(2,end) infinite heart-beat}@keyframes heart-beat{50%{transform:scale(1.3)}}.footer-socials a{color:var(--mute)}.footer-socials a:hover{color:var(--signal)}@media (width<=1080px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-about{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.footer-love:hover .footer-heart{animation:none}}.project-detail{padding-top:34px}.back-link{color:var(--mute);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;align-items:center;gap:8px;display:inline-flex}.back-link:before{content:"←"}.back-link:hover{color:var(--signal)}.project-kicker{color:var(--mute);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;align-items:baseline;gap:18px;display:flex}.project-tagline{max-width:40ch;margin:18px 0 0;font-size:1.24rem;line-height:1.4}.project-description{max-width:62ch;color:var(--ink-2);margin:18px 0 0;line-height:1.6}.project-actions{flex-wrap:wrap;align-items:stretch;gap:12px;margin:32px 0 0;display:flex}.actions-note{color:var(--mute);margin:0;font-size:.9rem}.install-button,.download-button{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 22px}.download-button{background:var(--ink);color:var(--paper)}.download-button:hover{background:var(--signal);border-color:var(--signal)}.install-button small,.download-button small{letter-spacing:.04em;text-transform:none;opacity:.72;font-size:.68rem}.install-button[data-copy-state=success]{border-color:var(--signal);color:var(--signal)}.download-menu{position:relative}.download-options{z-index:15;border:1px solid var(--ink);background:var(--paper);min-width:280px;max-height:min(60vh,480px);display:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.download-menu[open] .download-options{display:block}.download-options a{border-bottom:1px solid var(--rule);padding:14px 18px;display:block}.download-options a:last-child{border-bottom:0}.download-options a:hover{background:var(--paper-2)}.download-option-meta{color:var(--mute);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;display:block}.download-options strong{margin:4px 0 2px;font-size:.98rem;display:block}.download-options a>span:last-child{color:var(--mute);font-family:var(--font-mono);font-size:.72rem}.showcase-image{border:1px solid var(--rule-2);background:var(--paper-2);width:100%;height:auto;display:block}.showcase-image.contain{object-fit:contain}.showcase-image.cover{object-fit:cover}.release-panel{border-top:1px solid var(--ink);grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:clamp(24px,4vw,56px);margin:clamp(40px,5vw,64px) 0 0;padding:30px 0 0;display:grid}.release-panel span{color:var(--mute);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase}.release-panel h2{font-family:var(--font-display);letter-spacing:-.035em;margin:8px 0 0;font-size:2rem;font-weight:700}.release-panel ul{margin:0;padding:0;list-style:none}.release-panel li{border-bottom:1px solid var(--rule);color:var(--ink-2);padding:11px 0;font-size:.96rem;line-height:1.5}.project-pager{border-top:1px solid var(--ink);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px 24px;margin:clamp(48px,6vw,80px) 0 clamp(56px,7vw,96px);padding-top:26px;display:grid}.project-pager-link{transition:transform .22s var(--smooth);gap:6px;display:grid}.project-pager-link--next{text-align:right;justify-items:end}.project-pager-link:hover{color:var(--signal)}.project-pager-link--prev:hover{transform:translate(10px)}.project-pager-link--next:hover{transform:translate(-10px)}.project-pager-link span{color:var(--mute);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase}.project-pager-link:hover span{color:var(--signal)}.project-pager-link strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.24rem;font-weight:700}.project-pager-index{border-bottom:1px solid var(--rule-2);color:var(--mute);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;padding-bottom:2px;transition:color .16s,border-color .16s}.project-pager-index:hover{color:var(--signal);border-bottom-color:var(--signal)}.legal-page{max-width:720px;margin-inline:auto;padding-block:clamp(48px,8vw,88px)}.legal-page h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(2rem,4.4vw,3rem);font-weight:700}.legal-page h2{letter-spacing:.16em;text-transform:uppercase;margin:44px 0 12px;font-size:.86rem;font-weight:600}.legal-page p,.legal-page li,.legal-page address{line-height:1.7}.legal-page address{font-style:normal}.legal-page a{border-bottom:1px solid var(--rule-2)}.legal-page a:hover{color:var(--signal);border-bottom-color:var(--signal)}.legal-updated{color:var(--mute);font-family:var(--font-mono);letter-spacing:.06em;margin-bottom:40px;font-size:.76rem}.error-page{flex-direction:column;min-height:100svh;display:flex}.notfound{width:var(--shell);padding-inline:var(--inset);max-width:850px;margin:auto;padding-block:clamp(36px,6vw,72px)}.notfound-topline{justify-content:space-between;align-items:center;gap:20px;display:flex}.notfound-topline .eyebrow{margin:0}.error-language{color:var(--mute);font-family:var(--font-mono);align-items:center;gap:8px;font-size:.72rem;display:flex}.error-language button{color:var(--mute);font:inherit;background:0 0;border:0;padding:10px 5px}.error-language button[aria-pressed=true]{color:var(--ink);text-underline-offset:6px;text-decoration:underline}html:not([lang=de]) .error-page [data-error-lang=de],html[lang=de] .error-page [data-error-lang=en]{display:none}.notfound h1{font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;line-height:1.08}.notfound-text{color:var(--ink-2);margin:18px 0 0;line-height:1.6}.error-mascot{width:100%;color:var(--signal);display:block;overflow:visible}.mascot-shadow{stroke:var(--rule-2);stroke-width:2px}.mascot-limbs,.mascot-antenna{stroke:var(--signal);stroke-width:5px;stroke-linejoin:round}.mascot-body{fill:var(--signal)}.mascot-eyes,.mascot-mouth{stroke:var(--paper);stroke-width:4px;stroke-linecap:square}.mascot-eyes{transform-origin:50px 49px;animation:7s step-end infinite mascot-blink}.mascot-envelope,.mascot-clock,.mascot-gear{fill:var(--paper-2);stroke:var(--signal);stroke-width:3px;stroke-linejoin:round}.mascot-cable{stroke:var(--signal);stroke-width:4px}.mascot-cable,.mascot-clock,.mascot-gear,[data-state=offline] .mascot-envelope,[data-state=timeout] .mascot-envelope,[data-state=limited] .mascot-envelope,[data-state=server] .mascot-envelope{display:none}[data-state=offline] .mascot-cable,[data-state=timeout] .mascot-clock,[data-state=limited] .mascot-clock,[data-state=server] .mascot-gear{display:block}[data-state=success] .mascot-envelope{transform-origin:50%;transform:translate(8px,-15px)rotate(-8deg)}@keyframes mascot-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.1)}}@media (prefers-reduced-motion:reduce){.mascot-eyes{animation:none}}@media (width<=380px){.contact-verification{padding:12px 8px}.contact-status-card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:12px}.contact-status-card .error-mascot{width:48px}}@media (width<=1080px){.oeffigo-layout,.contact-section,.split-section,.release-panel{grid-template-columns:minmax(0,1fr)}.download-options{right:0}}@media (width<=860px){:root{--shell:min(1180px, calc(100% - 40px))}body{font-size:16px}.site-header-bar{flex-wrap:wrap;min-height:0}.brand{min-height:54px}.site-nav{border-top:1px solid var(--rule);order:3;width:100%;font-size:.72rem}.site-nav a{flex:1;justify-content:center;min-height:46px;padding:0 8px}.site-nav a:last-child{border-right:0}.site-header-bar>.nav-socials{display:none}.oeffigo-feature-grid .oeffigo-feature{border-right:0;border-bottom:1px solid var(--rule);padding-right:0}.project-pager{grid-template-columns:minmax(0,1fr);justify-items:start}.project-pager-link--next{text-align:left;justify-items:start}.oeffigo-headline{gap:14px}.oeffigo-icon{width:56px;height:56px}.data-list>div{grid-template-columns:minmax(0,1fr);gap:6px}.back-link,.note-actions a,.footer-col a,.social-row a{padding-block:8px}}@media (width<=560px){.theme-toggle-label{display:none}.theme-toggle,.lang-switch{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.hero-actions .button,.oeffigo-actions .button,.project-actions .button{flex:auto;justify-content:center}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero{padding-block:clamp(52px,7vw,86px) clamp(84px,8vw,108px)}.hero h1{text-wrap:balance;max-width:none;font-size:clamp(2.7rem,6.6vw,5.9rem);line-height:1.02}.hero-text{max-width:54ch}#projects,#oeffigo,#kontobuch,#contact,#about,#services,#skills{scroll-margin-top:24px}.featured-product{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.featured-product--phone{grid-template-columns:minmax(0,1fr) minmax(0,.62fr)}.featured-product--notebook{grid-template-columns:minmax(0,.75fr) minmax(0,1.2fr)}.featured-product-copy>p{max-width:54ch;color:var(--ink-2)}.product-heading{align-items:center;gap:18px;display:flex}.product-heading img{object-fit:contain;flex:none;width:56px;height:56px}.product-heading h2{letter-spacing:-.045em;margin:0;font-size:clamp(2.3rem,4.5vw,3.8rem);line-height:1}.featured-product-copy .product-tagline{color:var(--ink);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500}.product-availability{font-family:var(--font-mono);font-size:.76rem;line-height:1.7}.product-footnote{font-family:var(--font-mono);flex-wrap:wrap;gap:12px 24px;font-size:.76rem;display:flex}.product-footnote a{text-underline-offset:5px;padding-block:6px;text-decoration:underline}.product-phone-preview,.product-notebook-preview{min-width:0;margin:0}.product-phone-preview{justify-self:center;width:min(100%,280px)}.product-phone-preview img{width:100%;height:auto;display:block}.product-notebook-preview img{border:1px solid var(--rule-2);width:100%;height:auto;display:block}.featured-product figcaption{color:var(--mute);margin-top:18px;font-size:.78rem;line-height:1.6}.catalogue-list{border-top:1px solid var(--ink);margin:32px 0 0;padding:0;list-style:none}.catalogue-list li{border-bottom:1px solid var(--rule)}.catalogue-list a{justify-content:space-between;align-items:baseline;gap:24px;padding-block:22px;display:flex}.catalogue-list h3{letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;font-size:1.3rem}.catalogue-list p{color:var(--ink-2);max-width:65ch;margin:6px 0 0}.catalogue-list a:hover h3{color:var(--signal)}.catalogue-list .status{flex:none}.catalogue-cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:28px;display:flex}.catalogue-cta p{max-width:54ch;color:var(--ink-2)}.catalogue{padding-block:clamp(36px,6vw,72px)}.catalogue h1{letter-spacing:-.05em;margin:28px 0 18px;font-size:clamp(2.7rem,6vw,5.4rem);line-height:1.05}.catalogue-intro{color:var(--ink-2);max-width:62ch}.catalogue-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:32px;display:grid}.catalogue-products a{border-block:1px solid var(--rule-2);gap:10px;padding:20px 0;display:grid}.catalogue-products a:hover strong{color:var(--signal)}.catalogue-products strong{font-size:1.3rem}.catalogue-products span{color:var(--ink-2);font-size:.92rem}.catalogue-search{max-width:600px;margin-block:40px 12px}.catalogue-search label{margin-bottom:12px;display:block}.catalogue-search>div{gap:12px;display:flex}.catalogue-search input{border:1px solid var(--rule-2);background:var(--paper);width:100%;min-width:0;color:var(--ink);font:inherit;padding:12px}.catalogue-search input:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.catalogue-search .button{flex:none}.catalogue-results{color:var(--mute);min-height:1.4em;font-size:.88rem}.catalogue-group{margin-block:44px}.catalogue-group h2{font-size:1.15rem}.catalogue [hidden]{display:none!important}.download-menu summary{width:100%;padding-right:42px;list-style:none;position:relative}.download-menu summary::-webkit-details-marker{display:none}.download-menu summary:after{content:"▾";position:absolute;top:50%;right:16px;transform:translateY(-50%)}.download-menu[open] summary:after{content:"▴"}.download-options{min-width:min(280px,100vw - 40px);max-width:min(440px,100vw - 40px)}.download-filename{overflow-wrap:anywhere;color:var(--mute);font-family:var(--font-mono);margin-top:8px;font-size:.7rem;line-height:1.6;display:block}.download-options a>span{display:block}.download-options a>span:not(.download-option-meta){color:var(--ink-2);font-size:.76rem}@media (width<=860px){.featured-product,.featured-product--phone,.featured-product--notebook{grid-template-columns:minmax(0,1fr)}.featured-product--phone{gap:32px}.product-phone-preview{width:min(70%,260px)}}@media (width<=560px){.catalogue-products{grid-template-columns:minmax(0,1fr)}.catalogue-list a{flex-direction:column;gap:12px}.catalogue-search>div{gap:8px}.catalogue-search .button{padding-inline:12px}}:root[data-theme=light] .download-button{background:var(--signal-ink);border-color:var(--signal-ink)}@media (width<=560px){.project-actions .download-menu{width:100%}}.catalogue-list a>*{min-width:0;transition:transform .22s var(--smooth)}.catalogue-list li{transition:border-color .2s}.catalogue-list li:hover{border-color:var(--signal-line)}.catalogue-list h3>span{color:var(--mute);transition:color .16s ease, transform .22s var(--smooth);display:inline-block}.catalogue-list a:hover h3>span{color:var(--signal)}.button{transition:transform .18s,background .16s,color .16s,border-color .16s}.product-notebook-preview a{transition:transform .24s var(--smooth);display:block}.product-notebook-preview img{transition:border-color .2s}.product-notebook-preview a:hover img{border-color:var(--signal-line)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.catalogue-list a:hover>*{transform:translate(10px)}.catalogue-list a:hover h3>span{transform:translate(2px,-2px)}.button:hover,.product-notebook-preview a:hover{transform:translateY(-2px)}}@media (width<=560px){.site-nav>a[href=\#oeffigo],.site-nav>a[href=\#services]{display:none}}.hero-status{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 32px;margin:clamp(40px,5vw,56px) 0 0;padding:20px 0 0;display:grid}.hero-status div{min-width:0}.hero-status dt{color:var(--faint);font-family:var(--font-mono);letter-spacing:var(--label-track);text-transform:uppercase;font-size:.68rem}.hero-status dd{color:var(--ink);overflow-wrap:anywhere;margin:8px 0 0;font-size:.98rem}.hero-status a{border-bottom:1px solid #0000;transition:border-color .16s,color .16s}.hero-status a:hover{border-bottom-color:var(--signal);color:var(--signal)}.hero-status-meta,.hero-status time{color:var(--mute);font-family:var(--font-mono);font-size:.82rem}.hero-status time{color:var(--ink);font-size:.92rem}.hero-status-clock[hidden]{display:none}.status-dot{vertical-align:2px;background:var(--signal);width:7px;height:7px;margin-right:9px;animation:2.4s ease-in-out infinite status-breathe;display:inline-block}@keyframes status-breathe{50%{opacity:.25}}.work-index{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.work-index li{border-bottom:1px solid var(--rule);transition:border-color .2s}.work-index li:hover{border-bottom-color:var(--ink)}.work-index a{grid-template-columns:48px minmax(0,1fr) minmax(0,.8fr) 140px;align-items:center;gap:8px 24px;padding:18px 0;display:grid}.work-index a>*{transition:transform .22s var(--smooth)}.work-index-icon{object-fit:cover;border-radius:23%;width:48px;height:48px;display:block}.work-index-icon--mono{border:1px solid var(--rule-2);background:var(--paper-3);color:var(--ink-2);font-family:var(--font-mono);text-transform:uppercase;place-items:center;font-size:.86rem;display:grid}.work-index-name strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.32rem;font-weight:700;line-height:1.15;display:block}.work-index-name span{color:var(--ink-2);margin-top:3px;font-size:.96rem;display:block}.work-index-stack{color:var(--mute);font-family:var(--font-mono);letter-spacing:.04em;font-size:.74rem}.work-index .status{justify-self:end}.work-index a:hover strong{color:var(--signal)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.work-index a:hover>*{transform:translate(8px)}}.services-lead{max-width:56ch;color:var(--ink-2);margin:0 0 36px;font-size:1.06rem}.stack-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stack-group{border-right:1px solid var(--rule);flex-direction:column;padding:24px 26px 28px;display:flex}.stack-group:first-child{padding-left:0}.stack-group:last-child{border-right:0;padding-right:0}.stack-group h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 16px;font-size:1.18rem;font-weight:700}.stack-items{font-family:var(--font-mono);color:var(--ink);flex:1;margin:0;padding:0;font-size:.82rem;line-height:1.95;list-style:none}.stack-items li:before{content:"› ";color:var(--signal)}.stack-proof{border-top:1px solid var(--rule);flex-wrap:wrap;gap:4px 14px;margin:22px 0 0;padding-top:14px;font-size:.9rem;display:flex}.stack-proof span{color:var(--faint);font-family:var(--font-mono);letter-spacing:var(--label-track);text-transform:uppercase;flex-basis:100%;font-size:.66rem}.stack-proof a{border-bottom:1px solid var(--rule-2);color:var(--ink-2);transition:border-color .16s,color .16s}.stack-proof a:hover{border-bottom-color:var(--signal);color:var(--signal)}.contact-elsewhere{margin-top:36px}.social-cards{border-top:1px solid var(--ink);margin:14px 0 0;padding:0;list-style:none}.social-cards a{border-bottom:1px solid var(--rule);grid-template-columns:20px auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 0;transition:color .16s,border-color .2s;display:grid}.social-cards svg{width:18px;height:18px}.social-card-label{font-weight:600}.social-card-handle{color:var(--mute);font-family:var(--font-mono);font-size:.8rem}.social-card-arrow{color:var(--mute);transition:transform .18s,color .16s}.social-cards a:hover{color:var(--signal);border-bottom-color:var(--signal-line)}.social-cards a:hover .social-card-arrow{color:var(--signal);transform:translate(2px,-2px)}@media (width<=860px){.hero-status{grid-template-columns:repeat(2,minmax(0,1fr))}.work-index a{grid-template-columns:44px minmax(0,1fr) auto}.work-index-icon{width:44px;height:44px}.work-index-stack{display:none}.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-group,.stack-group:first-child,.stack-group:last-child{border-right:0;border-bottom:1px solid var(--rule);padding:22px 20px 24px 0}.stack-group:nth-last-child(-n+2){border-bottom:0}}@media (width<=560px){.work-index a{grid-template-columns:40px minmax(0,1fr)}.work-index .status{grid-column:2;justify-self:start}.stack-grid{grid-template-columns:minmax(0,1fr)}.stack-group:nth-last-child(2){border-bottom:1px solid var(--rule)}}@media (prefers-reduced-motion:reduce){.status-dot{animation:none}}.hero-stage{border-bottom:2px solid var(--rule-2);position:relative;overflow:hidden}.hero-glyph{font:inherit;vertical-align:.02em;background:0 0;border:0;width:.78em;margin:0 0 0 .14em;padding:0;transition:transform .18s steps(3,end);display:inline-block}.hero-glyph svg{width:100%;height:auto;display:block}.hero-glyph:hover{transform:translateY(-.06em)rotate(-4deg)}.pixel-blink{animation:1.05s step-end infinite pixel-blink}@keyframes pixel-blink{50%{opacity:0}}.pixel-sprite{image-rendering:pixelated}.hero-edge{width:calc((100% - var(--shell)) / 2);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;bottom:0}.hero-edge--left{align-items:flex-end;left:0}.hero-edge--right{align-items:flex-start;right:0}.edge-block{display:block;position:relative}.edge-step-1{width:100%;height:clamp(56px,5.6vw,84px)}.edge-step-1.edge-tall{height:clamp(76px,7.4vw,112px)}.edge-step-2{width:64%;height:clamp(32px,3.2vw,48px)}.edge-step-3{width:32%;height:clamp(24px,2.4vw,36px)}.edge-signal{background:var(--signal)}.edge-amber{background:#f0a93b}.edge-ink{background:var(--ink-2)}.edge-sprite{width:36px;height:auto;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.edge-block:hover .edge-sprite{animation:.42s steps(4,end) sprite-hop}@keyframes sprite-hop{50%{transform:translate(-50%,-12px)}}.hero-track{background:repeating-linear-gradient(90deg, var(--rule-2) 0 6px, transparent 6px 14px);height:4px;position:absolute;bottom:0;left:0;right:0}.hero-train{z-index:2;width:340px;animation:34s linear infinite train-ride;display:block;position:absolute;bottom:4px;left:0}.hero-train svg{width:100%;height:auto;display:block}@keyframes train-ride{0%{transform:translate(-350px)}to{transform:translate(100vw)}}.hero-train:hover,.hero-train:focus-visible{animation-play-state:paused}.hero-train-sign{color:#ffae1a;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:0;background:#050505;padding:4px 9px;font-size:.72rem;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(4px)}.hero-train:hover .hero-train-sign,.hero-train:focus-visible .hero-train-sign{opacity:1;transform:none}.status-row{border-bottom:1px solid var(--rule)}.status-row .hero-status{padding:0 var(--inset);border-top:0;gap:0;margin:0 auto}.status-row .hero-status>div{border-left:1px solid var(--rule);padding:18px 20px 20px}.status-row .hero-status>div:first-child{border-left:0;padding-left:0}@media (width<=1360px){.hero-edge{display:none}}@media (width<=860px){.hero-train{width:210px;animation-duration:22s}.status-row .hero-status>div{padding:14px 14px 16px}.status-row .hero-status>div:nth-child(odd){border-left:0;padding-left:0}.status-row .hero-status>div:nth-child(n+3){border-top:1px solid var(--rule)}}@media (prefers-reduced-motion:reduce){.hero-train{animation:none;transform:translate(8vw)}.pixel-blink,.edge-block:hover .edge-sprite{animation:none}}.term{z-index:60;border-top:2px solid var(--signal);color:#e9e5d8;height:min(48vh,420px);font-family:var(--font-mono);visibility:hidden;transition:transform .22s var(--smooth), visibility 0s .22s;background:#070706;flex-direction:column;font-size:.86rem;line-height:1.6;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.term.is-open{visibility:visible;transition:transform .22s var(--smooth);transform:none}.term-bar{width:var(--shell);padding:10px var(--inset);color:#8f897b;letter-spacing:.06em;border-bottom:1px solid #2a2722;justify-content:space-between;align-items:center;margin:0 auto;font-size:.74rem;display:flex}.term-close{color:inherit;font:inherit;background:0 0;border:1px solid #2a2722;padding:3px 9px}.term-close:hover{border-color:var(--signal);color:#e9e5d8}.term-out{width:var(--shell);padding:12px var(--inset) 4px;flex:1;margin:0 auto;overflow-y:auto}.term-row{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.term-row--dim{color:#8f897b}.term-row--accent{color:#a8e22a}.term-row--error{color:#ff6a4d}.term-row .term-accent{color:#a8e22a}.term-row--error .term-accent,.term-row--error span:not(.term-accent){color:#e9e5d8}.term-row--error .term-accent{color:#a8e22a}.term-row--cmd{color:#fff;margin-top:8px}.term-row a{color:#ffae1a;border-bottom:1px solid #5a554b}.term-line{width:var(--shell);padding:10px var(--inset) 16px;align-items:center;gap:10px;margin:0 auto;display:flex}.term-prompt{color:var(--signal)}.term-line input{color:#fff;min-width:0;font:inherit;caret-color:#a8e22a;background:0 0;border:0;outline:none;flex:1;padding:4px 0}@media (prefers-reduced-motion:reduce){.term,.term.is-open{transition:none}}.egg-swap svg{width:100%;height:auto;display:block}.egg-swap .egg-b,.egg-swap.is-b .egg-a{display:none}.egg-swap.is-b .egg-b{display:block}[data-egg=pumpkin].is-b{width:28px}.pixel-seed{z-index:40;pointer-events:none;background:#3f6b2a;width:4px;height:6px;position:fixed}.hero-stars{pointer-events:none;visibility:hidden;position:absolute;inset:0}.hero-stage.is-night .hero-stars{visibility:visible}.hero-stars span{width:9px;animation:2.6s step-end infinite star-twinkle;position:absolute}.hero-stars svg{width:100%;height:auto;display:block}@keyframes star-twinkle{50%{opacity:.25}}@media (width<=1360px){.hero-stars{display:none}}@media (prefers-reduced-motion:reduce){.hero-stars span{animation:none}}.led-board{outline:1px solid var(--rule-2);color:#ffae1a;font-family:var(--font-mono);text-shadow:0 0 6px #ffae1a59;background:#070706;border:8px solid #1d1d1b;margin:24px 0 0;padding:18px clamp(14px,3vw,28px) 0;position:relative;overflow:hidden}.led-board:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 52%,#0000008c 54%) 0 0/3px 3px;position:absolute;inset:0}.led-top{border-bottom:2px solid #3a2a0c;justify-content:space-between;padding-bottom:12px;font-size:clamp(.9rem,1.6vw,1.1rem);font-weight:600;display:flex}.led-rows{margin:0;padding:0;list-style:none}.led-row{border-bottom:2px solid #3a2a0c}.led-row>a,.led-row:first-child{grid-template-columns:4.4ch minmax(0,1fr) auto;align-items:baseline;gap:0 clamp(12px,2.4vw,28px);padding:12px 0;font-size:clamp(1.15rem,3vw,2rem);font-weight:700;line-height:1.15;display:grid}.led-row>a:hover .led-dest,.led-row>a:focus-visible .led-dest{color:#ffd27a}.led-line{color:#070706;text-align:center;text-shadow:none;background:#ffae1a;padding:2px 0 0;font-size:.6em}.led-dest{overflow-wrap:anywhere;min-width:0}.led-dest small{color:#c98a14;margin-top:4px;font-size:.45em;font-weight:500;display:block}.led-eta{text-align:right}.led-eta--cancelled{color:#ff5a3c;text-shadow:0 0 6px #ff5a3c66;animation:1.2s step-end infinite led-blink}@keyframes led-blink{50%{opacity:.25}}.led-ticker{white-space:nowrap;padding:12px 0 14px;font-size:clamp(.85rem,1.5vw,1rem);overflow:hidden}.led-ticker>span{padding-left:100%;animation:22s linear infinite led-tick;display:inline-block}@keyframes led-tick{to{transform:translate(-100%)}}.notfound-track{border-bottom:2px solid var(--rule-2);justify-content:flex-end;align-items:flex-end;gap:2px;height:46px;margin:28px 0 36px;display:flex;position:relative}.notfound-track:after{content:"";background:repeating-linear-gradient(90deg, var(--rule-2) 0 6px, transparent 6px 14px);height:4px;position:absolute;bottom:0;left:0;right:0}.notfound-train{z-index:1;width:min(260px,62%);margin-bottom:4px;transition:transform .16s steps(2,end);position:relative}.notfound-train:hover{transform:translate(3px)}.notfound-buffer{z-index:1;width:32px;margin-bottom:4px;position:relative}.notfound-train svg,.notfound-buffer svg{width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){.led-eta--cancelled,.led-ticker>span{animation:none}.led-ticker>span{padding-left:0}}.pd-hero{grid-template-columns:minmax(0,1fr) minmax(200px,300px);align-items:center;gap:clamp(32px,5vw,72px);padding:clamp(32px,4.5vw,52px) 0 clamp(36px,5vw,56px);display:grid}.pd-hero h1{font-family:var(--font-display);letter-spacing:-.045em;margin:16px 0 0;font-size:clamp(2.6rem,6.4vw,5.2rem);font-weight:700;line-height:.98}.pd-mark{aspect-ratio:1;border:1px solid var(--rule);background:radial-gradient(circle, var(--rule-2) 1px, transparent 1.5px) 0 0 / 9px 9px;place-items:center;display:grid}.pd-mark picture{width:56%;display:block}.pd-mark img{width:100%;height:auto;transition:transform .26s var(--smooth);border-radius:23%;display:block}.pd-mark:hover img{transform:rotate(-6deg)scale(1.04)}.pd-monogram{aspect-ratio:1;border:1px solid var(--rule-2);background:var(--paper-3);width:56%;color:var(--ink);font-family:var(--font-mono);text-transform:uppercase;border-radius:23%;place-items:center;font-size:clamp(2.2rem,4.4vw,3.4rem);font-weight:600;display:grid}.pd-facts-row{margin-inline:calc(-1 * var(--inset));border-block:1px solid var(--rule-2)}.pd-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;display:grid}.pd-facts>div{min-width:0;padding:16px var(--inset) 18px;border-left:1px solid var(--rule)}.pd-facts>div:first-child{border-left:0}.pd-facts dt{color:var(--faint);font-family:var(--font-mono);letter-spacing:var(--label-track);text-transform:uppercase;font-size:.68rem}.pd-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:8px 0 0;font-size:.96rem}.metadata-note{padding:10px var(--inset);border-top:1px solid var(--rule);color:var(--mute);margin:0;font-size:.82rem}.pd-media{padding:clamp(36px,5vw,56px) 0 0}.pd-window,.pd-terminal{border:1px solid var(--rule-2);background:var(--paper-2);margin:0}.pd-window-bar{border-bottom:1px solid var(--rule-2);color:var(--mute);font-family:var(--font-mono);align-items:center;gap:7px;padding:10px 14px;font-size:.74rem;display:flex}.pd-window-bar strong{margin-left:8px;font-weight:500}.pd-window .showcase-image{width:100%;height:auto;display:block}.pd-terminal{color:#e9e5d8;background:#070706}.pd-terminal .pd-window-bar{color:#8f897b;border-bottom-color:#2a2722}.pd-terminal pre{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:clamp(18px,3vw,28px);font-size:clamp(.78rem,1.4vw,.92rem);line-height:1.75;overflow-x:auto}.pd-terminal figcaption{color:#8f897b;border-top:1px solid #2a2722;padding:10px 14px;font-size:.78rem}.pd-prompt{color:var(--signal)}.pd-term-name{color:#a8e22a;font-weight:600}.pd-term-key{color:#8f897b}.pd-cursor{vertical-align:-.2em;background:#a8e22a;width:.6em;height:1.1em;animation:1.05s step-end infinite pixel-blink;display:inline-block}.pd-case{margin:clamp(40px, 5vw, 64px) calc(-1 * var(--inset)) 0;border-block:1px solid var(--rule-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pd-case article{padding:24px var(--inset) 28px}.pd-case article+article{border-left:1px solid var(--rule)}.pd-case h2,.pd-details h2,.pd-gallery-title{color:var(--signal);font-family:var(--font-mono);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;margin:0 0 14px;font-weight:500}.pd-case p{max-width:58ch;color:var(--ink-2);margin:0;line-height:1.65}.pd-details{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);padding:clamp(40px,5vw,64px) 0 0;display:grid}.pd-highlights ul{border-top:1px solid var(--rule-2);margin:0;padding:0;list-style:none}.pd-highlights li{border-bottom:1px solid var(--rule);color:var(--ink-2);padding:12px 0 12px 22px;line-height:1.55;position:relative}.pd-highlights li:before{content:"›";color:var(--signal);font-family:var(--font-mono);position:absolute;left:2px}.command-block+.command-block{margin-top:16px}.command-block>span{color:var(--faint);font-family:var(--font-mono);letter-spacing:var(--label-track);text-transform:uppercase;margin-bottom:8px;font-size:.68rem;display:block}.command-line{border:1px solid var(--rule-2);background:#070706;align-items:stretch;display:flex}.command-line code{color:#e9e5d8;min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere;flex:1;padding:12px 14px;font-size:.82rem;line-height:1.6}.command-copy{border:0;border-left:1px solid var(--rule-2);color:#e9e5d8;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;flex:none;padding:0 16px;font-size:.72rem}.command-copy:hover{background:var(--signal);color:#070706}.command-copy[data-copy-state=success]{color:#a8e22a}.showcase-gallery{padding:clamp(40px,5vw,64px) 0 0}.showcase-gallery-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.showcase-gallery figure{border:1px solid var(--rule-2);background:var(--paper-2);margin:0}.showcase-gallery .showcase-image{width:100%;height:auto;display:block}.pd-track{border-bottom:2px solid var(--rule-2);height:34px;margin:clamp(48px,6vw,72px) 0 0;position:relative;overflow:hidden}.pd-track:after{content:"";background:repeating-linear-gradient(90deg, var(--rule-2) 0 6px, transparent 6px 14px);height:4px;position:absolute;bottom:0;left:0;right:0}.pd-track-train{z-index:1;width:200px;animation:26s linear infinite pd-roll;position:absolute;bottom:4px;left:0}.pd-track-train svg{width:100%;height:auto;display:block}@keyframes pd-roll{0%{transform:translate(-210px)}to{transform:translate(1200px)}}@media (width<=860px){.pd-hero{grid-template-columns:minmax(0,1fr)}.pd-mark{order:-1;width:132px}.pd-case,.pd-details{grid-template-columns:minmax(0,1fr)}.pd-case article+article{border-top:1px solid var(--rule);border-left:0}.pd-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-facts>div:nth-child(odd){border-left:0}.pd-facts>div:nth-child(n+3){border-top:1px solid var(--rule)}}@media (prefers-reduced-motion:reduce){.pd-track-train,.pd-cursor{animation:none}}@property --dot-color{syntax:"<color>";inherits:false;initial-value:#544d40}.site-footer{container-type:inline-size}.footer-wordmark{--dot-color:var(--rule-2);font-family:var(--font-display);letter-spacing:-.05em;white-space:nowrap;color:#0000;background:radial-gradient(circle, var(--dot-color) 1.6px, transparent 2.1px) 0 0 / 6px 6px;user-select:none;background-clip:text;margin:clamp(28px,4vw,48px) 0 calc(-.2em - 40px);font-size:14.85cqi;font-weight:800;line-height:.9;transition:--dot-color .5s}.footer-wordmark:hover{--dot-color:var(--signal)}.site-footer{overflow:hidden}@media (width<=560px){.footer-wordmark{background-size:4px 4px;background-image:radial-gradient(circle, var(--dot-color) 1.1px, transparent 1.5px)}}.tl{background:#ff5f57;border-radius:50%;flex:none;width:11px;height:11px;box-shadow:inset 0 0 0 .5px #00000038}.tl:nth-child(2){background:#febc2e}.tl:nth-child(3){background:#28c840}.pd-window,.pd-terminal,.product-notebook-preview a{border-radius:10px;overflow:hidden;box-shadow:0 0 0 .5px #0000004d,0 22px 60px -24px #0009}.pd-window-bar{gap:8px}.pd-window-bar strong{text-align:center;flex:1;margin-right:46px}.mac-window-bar{border-bottom:1px solid var(--rule-2);background:var(--paper-2);color:var(--mute);font-family:var(--font-mono);align-items:center;gap:8px;padding:9px 12px;font-size:.72rem;display:flex}.mac-window-bar strong{text-align:center;flex:1;margin-right:46px;font-weight:500}.product-notebook-preview a{border:1px solid var(--rule-2)}.product-notebook-preview a img{border:0!important}.term{border:1px solid #2a2722;border-radius:12px;bottom:clamp(0px,2vw,20px);left:clamp(0px,4vw,48px);right:clamp(0px,4vw,48px);overflow:hidden;box-shadow:0 30px 80px -20px #000000b3}.term-title{align-items:center;gap:14px;display:inline-flex}.term-lights{gap:8px;display:inline-flex}.header-utils .header-clock{color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;padding:0 18px;font-size:.78rem}.header-utils .header-clock:hover{background:0 0}.header-clock[hidden]{display:none!important}@media (width<=1100px){.header-utils .header-clock{display:none}}.dep-board{margin-top:clamp(48px,6vw,72px)}.dep-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-bottom:16px;display:flex}.dep-head h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:700}.dep-stops{border:1px solid var(--rule-2);flex-wrap:wrap;display:flex}.dep-stops button{border:0;border-right:1px solid var(--rule-2);color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;padding:8px 14px;font-size:.74rem}.dep-stops button:last-child{border-right:0}.dep-stops button:hover{background:var(--paper-3);color:var(--ink)}.dep-stops button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.dep-led{margin-top:0;padding-bottom:6px}.dep-rows{min-height:120px;margin:0;padding:0;list-style:none}.dep-row{border-bottom:2px solid #3a2a0c;grid-template-columns:4.6ch minmax(0,1fr) auto 6.5ch;align-items:baseline;gap:0 clamp(10px,2vw,24px);padding:10px 0;font-size:clamp(1rem,2.2vw,1.4rem);font-weight:700;animation:.36s steps(4,end) backwards dep-in;display:grid}.dep-row:nth-child(2){animation-delay:60ms}.dep-row:nth-child(3){animation-delay:.12s}.dep-row:nth-child(4){animation-delay:.18s}.dep-row:nth-child(5){animation-delay:.24s}.dep-row:nth-child(6){animation-delay:.3s}.dep-row:nth-child(7){animation-delay:.36s}.dep-row:nth-child(8){animation-delay:.42s}@keyframes dep-in{0%{clip-path:inset(0 0 100%)}}.dep-line{color:#070706;text-align:center;text-shadow:none;background:#ffae1a;padding:3px 0 1px;font-size:.74em;font-weight:800}.dep-dest{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dep-kind{color:#8a6512;letter-spacing:.06em;text-transform:uppercase;font-size:.52em;font-weight:500}.dep-kind--rt{color:#ffd27a}.dep-eta{text-align:right}.dep-eta--now{animation:1.2s step-end infinite led-blink}.dep-status{margin:0;padding:10px 0 6px;font-size:.9rem}.dep-status:empty{display:none}.dep-board[data-state=error] .dep-status{color:#ff5a3c}.dep-note{max-width:80ch;color:var(--mute);margin:12px 0 0;font-size:.84rem;line-height:1.6}.dep-note a{border-bottom:1px solid var(--rule-2);color:var(--ink-2)}.dep-note a:hover{border-bottom-color:var(--signal);color:var(--signal)}@media (width<=560px){.dep-row{grid-template-columns:4.2ch minmax(0,1fr) 6ch}.dep-kind{display:none}}@media (prefers-reduced-motion:reduce){.dep-row,.dep-eta--now{animation:none}}
