/* Header and footer rules from unolock.com (assets/cyb/cyb.css), filtered by _tools/docs-skin/build.py */
@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-ext-wght-normal.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0-FF,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:DM Sans Variable;font-style:italic;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-ext-wght-italic.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:DM Sans Variable;font-style:italic;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-wght-italic.woff2) format("woff2-variations");unicode-range:U+0-FF,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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(./martian-mono-cyrillic-ext-wdth-normal.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(./martian-mono-cyrillic-wdth-normal.woff2) format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}
@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(./martian-mono-latin-ext-wdth-normal.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(./martian-mono-latin-wdth-normal.woff2) format("woff2-variations");unicode-range:U+0-FF,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal.woff) format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal.woff2) format("woff2"),url(./ibm-plex-mono-latin-500-normal.woff) format("woff")}
@media screen{.flex{display:flex}}
@media screen{.items-center{align-items:center}}
@media screen{.gap-2{gap:.5rem}}
@media screen{.gap-3{gap:.75rem}}
@media screen{:root{--c-paper:#1E1E28;--c-soft:#17171E;--c-rule:#34343F;--c-grid:rgba(242,242,245,.045);--c-ink:#F2F2F5;--c-text:#C6C6CF;--c-text2:#ADADB8;--c-dim:#9A9AA5;--c-faint:#5E5E6A;--c-violet-deep:#7163F1;--c-violet:#988DF7;--c-green:#4CC79A;--c-gold:#D9B160;--c-blue:#7FC4DD;--c-pink:#EE7BA3;--c-panel:#B0B0B5;--c-input:#17171E;--c-raise:#262630;--c-sunk:#141419;--c-hi:rgba(255,255,255,.07);--c-shade:#0E0E13;--c-fill:#6658DD;--c-fill-hover:#5144B7;--c-on-fill:#FFFFFF;--c-danger-fill:#CA1072;--c-ring:#988DF7;--c-veil:rgba(14,14,19,.78);--c-header:rgba(30,30,40,.84);--c-tint:rgba(113,99,241,.12);--c-tint-green:rgba(76,199,154,.12);--c-tint-pink:rgba(238,123,163,.12);--c-tint-gold:rgba(217,177,96,.12);--f-sans:"DM Sans Variable","DM Sans",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,monospace;--f-disp:"Martian Mono Variable","Martian Mono","IBM Plex Mono",ui-monospace,monospace;--violet-50:#F5F6FE;--violet-100:#EAEBFE;--violet-200:#D5D7FF;--violet-300:#B7B9FF;--violet-400:#9897FE;--violet-500:#7C70FF;--violet-600:#6658DD;--violet-700:#5144B7;--violet-800:#3B308B;--violet-900:#261E60;--violet-950:#160F3F;--pitch-50:#F6F6FE;--pitch-100:#ECECF4;--pitch-200:#DADAE2;--pitch-300:#BFC0CC;--pitch-400:#A3A3B0;--pitch-500:#888894;--pitch-600:#70707C;--pitch-700:#595A65;--pitch-800:#41414C;--pitch-900:#2A2A34;--pitch-950:#181822;--green-300:#8DD2B2;--green-500:#2E9F74;--green-700:#046C4B;--gold-300:#E1BB7C;--gold-500:#B37E01;--gold-700:#775302;--pink-300:#FFA0C1;--pink-500:#EB3089;--pink-700:#A5025B;--blue-300:#7ECFE3;--blue-500:#0999B3;--blue-700:#046677;--fs-display:clamp(56px,11.6vw,168px);--fs-h1:clamp(38px,5.6vw,82px);--fs-h2:clamp(30px,4.1vw,56px);--fs-h3:clamp(19px,1.5vw,24px);--fs-lede:clamp(18px,1.45vw,22px);--fs-body:clamp(16px,.25vw + 15px,17.5px);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;--s11:160px;--mod:48px;--max:1200px;--gutter:24px;--d-press:.12s;--d-state:.24s;--d-enter:.6s;--e-out:cubic-bezier(.22,1,.36,1);--e-move:cubic-bezier(.65,0,.35,1);--e-latch:cubic-bezier(.2,0,.1,1.02);--z-header:20;--z-dd:30;--z-drawer:65;--z-modal:70;--z-film:80;--z-toast:90}}
@media screen and (max-width:560px){:root{--gutter:16px}}
@media screen{.lucide{stroke-linecap:square;stroke-linejoin:miter}}
@media screen{.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}}
@media screen{.mono{font-family:var(--f-mono)}}
@media screen{.t-h3{font-family:var(--f-sans);font-weight:700;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.01em;color:var(--c-ink)}}
@media screen{.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-sans);font-weight:500;font-size:15.5px;letter-spacing:.005em;padding:14px 22px;min-height:48px;border:1px solid transparent;cursor:pointer;line-height:1.2;white-space:nowrap;transition:background-color var(--d-state) var(--e-out),color var(--d-state) var(--e-out),border-color var(--d-state) var(--e-out),transform var(--d-press) var(--e-out),box-shadow var(--d-press) var(--e-out);box-shadow:inset 0 1px 0 var(--c-hi),0 2px 0 var(--c-shade)}}
@media screen{.btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 var(--c-hi),0 0 0 var(--c-shade)}}
@media screen{.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}}
@media screen{.btn svg{flex-shrink:0}}
@media screen{.btn-prompt{background:var(--c-fill);border-color:var(--c-fill);color:var(--c-on-fill)}}
@media screen{.btn-prompt:hover:not(:disabled){background:var(--c-fill-hover);border-color:var(--c-fill-hover)}}
@media screen{.btn-ghost{background:transparent;border-color:var(--c-ink);color:var(--c-ink);box-shadow:none}}
@media screen{.btn-ghost:hover:not(:disabled){background:var(--c-ink);color:var(--c-paper)}}
@media screen{.btn-full{width:100%}}
@keyframes blink{50%{opacity:0}}
@media screen{.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--c-rule);background:var(--c-raise);cursor:pointer;color:var(--c-ink);flex-shrink:0;box-shadow:inset 0 1px 0 var(--c-hi);transition:border-color var(--d-state) var(--e-out),transform var(--d-press) var(--e-out)}}
@media screen{.icon-btn:hover:not(:disabled){border-color:var(--c-ink)}}
@media screen{.icon-btn:active:not(:disabled){transform:translateY(1px)}}
@media screen{.icon-btn:disabled{opacity:.45;cursor:not-allowed}}
@media screen{.icon-btn[aria-pressed=true]{border-color:var(--c-violet);color:var(--c-violet);background:var(--c-tint)}}
@keyframes pulse{50%{opacity:.5}}
@keyframes veil{0%{opacity:0}}
@keyframes rise{0%{opacity:0;transform:translateY(10px)}}
@keyframes slide-r{0%{transform:translate(24px);opacity:0}}
@keyframes slide-l{0%{transform:translate(-24px);opacity:0}}
@media screen and print{body>*:not(.print-area){display:none!important}}
@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}
@keyframes bolt{0%,to{background:var(--c-rule)}40%{background:var(--c-violet-deep)}}
@media screen{.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--c-header);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color var(--d-state) var(--e-out),background-color var(--d-state)}}
@media screen{.site-header.is-scrolled{border-bottom-color:var(--c-rule)}}
@media screen{.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px;transition:height var(--d-state) var(--e-out)}}
@media screen{.is-scrolled .nav{height:60px}}
@media screen{.mk-brand{flex-shrink:0;display:block;padding:6px 0}}
@media screen{.nav-links{display:flex;gap:4px;list-style:none;font-size:14.5px;font-weight:500;color:var(--c-text);margin:0;padding:0;align-items:center}}
@media screen{.nav-links a,.nav-links button{position:relative;display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:8px 10px;white-space:nowrap;transition:color var(--d-state)}}
@media screen{.nav-links a:after,.nav-links .dd>button:after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;background:var(--c-violet-deep);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--d-state) var(--e-latch)}}
@media screen{.nav-links a:hover,.nav-links button:hover,.nav-links a.on,.nav-links button.on{color:var(--c-ink)}}
@media screen{.nav-links a.on:after,.nav-links .dd>button.on:after{transform:scaleX(1)}}
@media screen{.dd{position:relative}}
@media screen{.dd-chev{transition:transform var(--d-state) var(--e-out)}}
@media screen{.dd-panel{position:absolute;top:calc(100% + 4px);left:0;background:var(--c-paper);border:1px solid var(--c-rule);border-top:2px solid var(--c-ink);padding:6px;min-width:220px;z-index:var(--z-dd);animation:rise var(--d-state) var(--e-out)}}
@media screen{.dd-panel:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}}
@media screen{.dd-panel a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14.5px}}
@media screen{.dd-panel a:after{display:none}}
@media screen{.dd-panel a:hover{background:var(--c-raise)}}
@media screen{.mk-nav-cta{min-height:42px;padding:10px 18px;font-size:14.5px}}
@media screen{.burger{display:none}}
@media screen and (max-width:1180px){.nav-links{display:none}.burger{display:inline-flex}}
@media screen and (max-width:560px){.hide-sm{display:none!important}.nav{height:64px}}
@media screen{.mnav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--c-paper);overflow-y:auto;padding:0 var(--gutter) 48px;animation:veil var(--d-state) var(--e-out)}}
@media screen{.mnav-top{display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;background:var(--c-paper);z-index:1}}
@media screen{.mnav-main a,.mnav .sub a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 0;border-bottom:1px solid var(--c-rule);font-family:var(--f-disp);font-weight:500;font-stretch:87.5%;font-size:24px;letter-spacing:-.03em;color:var(--c-ink)}}
@media screen{.mnav .sub a{font-family:var(--f-sans);font-stretch:100%;font-size:17px;letter-spacing:0;padding:12px 0 12px 16px;color:var(--c-text)}}
@media screen{.mnav-group{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-dim);padding:22px 0 4px}}
@media screen{.mnav-cta{margin-top:28px}}
@media screen{.ctas{display:flex;gap:12px;flex-wrap:wrap}}
@media screen{:where(.mk-section) p{max-width:680px}}
@media screen{.site-footer{background:var(--c-soft);border-top:1px solid var(--c-rule);padding:0}}
@media screen{.foot-close{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end;padding:88px 0 72px;border-bottom:1px solid var(--c-rule)}}
@media screen{.foot-line .dot{color:var(--c-violet-deep)}}
@media screen{.foot-line{font-family:var(--f-disp);font-weight:500;font-stretch:112.5%;font-size:clamp(56px,10vw,150px);line-height:.9;letter-spacing:-.06em;color:var(--c-ink);margin:0}}
@media screen{.foot-close-copy p{color:var(--c-text2);margin-bottom:22px}}
@media screen{.fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-top:64px}}
@media screen{.fcols h4{font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-dim);margin-bottom:16px}}
@media screen{.fcols ul{list-style:none;padding:0;margin:0}}
@media screen{.fcols li{margin:8px 0;font-size:15px;color:var(--c-text)}}
@media screen{.fcols li a{transition:color var(--d-state)}}
@media screen{.fcols li a:hover{color:var(--c-ink);text-decoration:underline;text-underline-offset:3px}}
@media screen{.fbrand address{font-style:normal;font-size:13.5px;color:var(--c-dim);margin:20px 0 26px;line-height:1.6;max-width:340px}}
@media screen{.social{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}}
@media screen{.social span{font-size:12.5px;border:1px solid var(--c-rule);padding:4px 9px;color:var(--c-text2)}}
@media screen{.fbottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--c-rule);margin-top:56px;padding:22px 0;font-size:13px;color:var(--c-dim)}}
@media screen and (max-width:960px){.fcols{grid-template-columns:1fr 1fr}.foot-close{grid-template-columns:minmax(0,1fr);gap:28px}}
@media screen and (max-width:560px){.fcols{grid-template-columns:minmax(0,1fr)}.foot-close{padding:64px 0 48px}}
