@font-face{font-family:"Exo 2";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Exo2-600-latin.woff2)format("woff2");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:"Exo 2";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Exo2-600-latin-ext.woff2)format("woff2");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:"Exo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Exo2-700-latin.woff2)format("woff2");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:"Exo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Exo2-700-latin-ext.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-400-latin.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-400-latin-ext.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-500-latin.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-500-latin-ext.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-600-latin.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-600-latin-ext.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin-ext.woff2)format("woff2");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}:root{color-scheme:light dark;--font-display:"Exo 2","IBM Plex Sans",system-ui,sans-serif;--font-ui:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--font-system:-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--t-11:.6875rem;--t-12:.75rem;--t-13:.8125rem;--t-14:.875rem;--t-15:.9375rem;--t-16:1rem;--t-18:1.125rem;--t-20:1.25rem;--t-22:1.375rem;--t-26:1.625rem;--t-30:1.875rem;--t-36:2.25rem;--t-40:2.5rem;--t-44:2.75rem;--t-48:3rem;--t-56:3.5rem;--t-64:4rem;--t-76:4.75rem;--fs-display:clamp(2rem, 1.45rem + 2.6vw, 2.75rem);--fs-h1:clamp(1.875rem, 1.4rem + 2vw, 2.5rem);--fs-h2:clamp(1.5rem, 1.2rem + 1.35vw, 1.875rem);--fs-h3:clamp(1.0625rem, .98rem + .4vw, 1.25rem);--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--tracking-hero:-.028em;--tracking-display:-.018em;--tracking-title:-.012em;--tracking-label:.02em;--leading-hero:1.02;--leading-tight:1.08;--leading-title:1.12;--leading-body:1.6;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--s-32:128px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--hairline:.5px;--bg-base:#fff;--bg-sunken:#f5f6f8;--bg-raised:#fff;--bg-overlay:#ffffffb8;--bg-hover:#0000000a;--bg-active:#00000012;--bg-selected:#0070bc1a;--fg-primary:#15181c;--fg-secondary:#4a5158;--fg-tertiary:#6b747c;--fg-quaternary:#c7ccd1;--fg-inverse:#fff;--line-hairline:#0000001a;--line-strong:#0000002e;--accent:#0070bc;--accent-hover:#005a96;--accent-fg:#fff;--accent-subtle:#0070bc1a;--accent-light:#3fa9f5;--danger:#c0261b;--danger-subtle:#c0261b1a;--warning:#8a5216;--warning-subtle:#8a52161a;--success:#1a7f37;--success-subtle:#1a7f371a;--shadow-sm:0 1px 2px #0000000a,0 0 0 var(--hairline) var(--line-hairline);--shadow-md:0 4px 12px #0000000f,0 0 0 var(--hairline) var(--line-hairline);--shadow-lg:0 12px 32px #0000001a,0 0 0 var(--hairline) var(--line-hairline);--ease-out:cubic-bezier(.22,1,.36,1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--z-sticky:100;--z-dropdown:400;--z-modal:700;--z-toast:900;--container:1320px;--winr:14px;--desk-w:1120px;--menubar-h:32px;--desk-bg:#e7ecf3;--menubar-bg:#ffffff9e;--win-surface:#fff;--win-bar:#f5f7fa;--win-line:#0000001a;--win-line-soft:#0000000f;--win-shadow:0 20px 60px #121c2d33,0 2px 8px #121c2d1a;--dock-bg:#ffffff8c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-base:#1a1c1f;--bg-sunken:#141619;--bg-raised:#22252a;--bg-overlay:#22252ab8;--bg-hover:#ffffff0f;--bg-active:#ffffff1a;--bg-selected:#3fa9f52e;--fg-primary:#f2f4f6;--fg-secondary:#b3bac1;--fg-tertiary:#8a929a;--fg-quaternary:#454a50;--fg-inverse:#15181c;--line-hairline:#ffffff1f;--line-strong:#ffffff38;--accent:#3fa9f5;--accent-hover:#6bbdf8;--accent-subtle:#3fa9f529;--danger:#ff6b5e;--warning:#ffb340;--success:#4ade80;--shadow-sm:0 1px 2px #0000004d,0 0 0 var(--hairline) var(--line-hairline);--shadow-md:0 4px 12px #0006,0 0 0 var(--hairline) var(--line-hairline);--shadow-lg:0 12px 32px #0000008c,0 0 0 var(--hairline) var(--line-hairline);--desk-bg:#0c1524;--menubar-bg:#141a268c;--win-surface:#161d2b;--win-bar:#131a27;--win-line:#ffffff1a;--win-line-soft:#ffffff0f;--win-shadow:0 24px 70px #0000008c,0 2px 10px #0000006b;--dock-bg:#161d2b8c}}:root[data-theme=dark]{--bg-base:#1a1c1f;--bg-sunken:#141619;--bg-raised:#22252a;--bg-overlay:#22252ab8;--bg-hover:#ffffff0f;--bg-active:#ffffff1a;--bg-selected:#3fa9f52e;--fg-primary:#f2f4f6;--fg-secondary:#b3bac1;--fg-tertiary:#8a929a;--fg-quaternary:#454a50;--fg-inverse:#15181c;--line-hairline:#ffffff1f;--line-strong:#ffffff38;--accent:#3fa9f5;--accent-hover:#6bbdf8;--accent-subtle:#3fa9f529;--danger:#ff6b5e;--warning:#ffb340;--success:#4ade80;--shadow-sm:0 1px 2px #0000004d,0 0 0 var(--hairline) var(--line-hairline);--shadow-md:0 4px 12px #0006,0 0 0 var(--hairline) var(--line-hairline);--shadow-lg:0 12px 32px #0000008c,0 0 0 var(--hairline) var(--line-hairline);--desk-bg:#0c1524;--menubar-bg:#141a268c;--win-surface:#161d2b;--win-bar:#131a27;--win-line:#ffffff1a;--win-line-soft:#ffffff0f;--win-shadow:0 24px 70px #0000008c,0 2px 10px #0000006b;--dock-bg:#161d2b8c}:root[data-theme=light]{--bg-base:#fff;--bg-sunken:#f5f6f8;--bg-raised:#fff;--bg-overlay:#ffffffb8;--bg-hover:#0000000a;--bg-active:#00000012;--bg-selected:#0070bc1a;--fg-primary:#15181c;--fg-secondary:#4a5158;--fg-tertiary:#6b747c;--fg-quaternary:#c7ccd1;--fg-inverse:#fff;--line-hairline:#0000001a;--line-strong:#0000002e;--accent:#0070bc;--accent-hover:#005a96;--accent-subtle:#0070bc1a;--danger:#c0261b;--warning:#8a5216;--success:#1a7f37;--shadow-sm:0 1px 2px #0000000a,0 0 0 var(--hairline) var(--line-hairline);--shadow-md:0 4px 12px #0000000f,0 0 0 var(--hairline) var(--line-hairline);--shadow-lg:0 12px 32px #0000001a,0 0 0 var(--hairline) var(--line-hairline);--desk-bg:#e7ecf3;--menubar-bg:#ffffff9e;--win-surface:#fff;--win-bar:#f5f7fa;--win-line:#0000001a;--win-line-soft:#0000000f;--win-shadow:0 20px 60px #121c2d33,0 2px 8px #121c2d1a;--dock-bg:#ffffff8c}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-ui);font-size:var(--t-16);line-height:var(--leading-body);color:var(--fg-primary);background:var(--desk-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;padding-bottom:112px;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;position:fixed;inset:0;box-shadow:inset 0 0 240px #0a142824}#app-shell{z-index:1;position:relative}@media (width<=600px){body{padding-bottom:84px}}img,svg,video{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;line-height:var(--leading-title)}h1{font-size:var(--fs-h1);font-weight:var(--w-bold);letter-spacing:var(--tracking-display);line-height:var(--leading-tight)}h2{font-size:var(--fs-h2);font-weight:var(--w-bold);letter-spacing:var(--tracking-display);line-height:var(--leading-tight)}h3{font-size:var(--fs-h3);font-weight:var(--w-semibold);letter-spacing:var(--tracking-title)}h4{font-size:var(--t-16);font-weight:var(--w-semibold);letter-spacing:var(--tracking-title)}p,li{text-wrap:pretty}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}.skip{z-index:999;background:var(--accent);color:var(--accent-fg);border-radius:0 0 var(--r-md) 0;padding:10px 16px;position:absolute;top:0;left:-9999px}.skip:focus{left:0}.container{width:100%;max-width:min(var(--container),100% - 2*var(--s-6));margin-inline:auto}@media (width<=768px){.container{max-width:calc(100% - 2*var(--s-4))}}.section{padding-block:var(--s-32)}@media (width<=768px){.section{padding-block:var(--s-20)}}.section--sunken{background:var(--bg-sunken)}.section--accent{background:var(--accent);color:var(--accent-fg)}.section--accent h1,.section--accent h2,.section--accent h3{color:var(--accent-fg)}.section--accent p{color:#ffffffe0}.section--dark{color:#e7edf5;background:#0b0f16}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}.section--dark .lead{color:#9fb0c4}.section--dark .accent{color:var(--accent-light)}.prose{max-width:42rem}.prose>*+*{margin-top:var(--s-4)}.prose h2{margin-top:var(--s-10)}.prose h3{margin-top:var(--s-6)}.prose ul,.prose ol{padding-left:var(--s-5);gap:var(--s-2);flex-direction:column;display:flex}.prose table{border-collapse:collapse;width:100%;font-size:var(--t-14);white-space:nowrap;display:block;overflow-x:auto}.prose th,.prose td{padding:var(--s-2) var(--s-3);text-align:left;border-bottom:var(--hairline) solid var(--line-hairline)}.prose th{font-weight:var(--w-semibold);color:var(--fg-secondary);font-size:var(--t-13);letter-spacing:var(--tracking-label);text-transform:uppercase}.prose blockquote{padding-left:var(--s-4);border-left:2px solid var(--accent);color:var(--fg-secondary)}.badge{align-items:center;gap:var(--s-2);border-radius:var(--r-sm);background:var(--accent-subtle);color:var(--accent);font-size:var(--t-12);font-weight:var(--w-semibold);letter-spacing:.01em;padding:5px 11px;display:inline-flex}.badge--warn{background:var(--warning-subtle);color:var(--warning)}.btn{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-full);min-height:44px;font-family:var(--font-ui);font-size:var(--t-15);font-weight:var(--w-semibold);letter-spacing:-.005em;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast), box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);border:0;padding:11px 22px;text-decoration:none;display:inline-flex}.btn--primary{background:var(--accent);color:var(--accent-fg);box-shadow:0 1px 2px #0000001a,0 6px 20px #0070bc38}.btn--primary:hover{background:var(--accent-hover)}.btn--secondary{background:var(--bg-raised);color:var(--fg-primary);box-shadow:0 0 0 var(--hairline) var(--line-strong),var(--shadow-sm)}.btn--secondary:hover{background:var(--bg-hover)}.btn--plain{color:var(--accent);padding-inline:var(--s-2);box-shadow:none;background:0 0}.btn--white{color:var(--accent);background:#fff;box-shadow:0 6px 24px #0000002e}.btn--white:hover{background:#eaf4fb}.btn--lg{min-height:54px;font-size:var(--t-16);padding:16px 30px}@media (hover:hover){.btn--primary:hover,.btn--white:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000001a,0 12px 30px #0070bc4d}.btn--white:hover{box-shadow:0 12px 34px #00000042}.btn--secondary:hover{transform:translateY(-2px)}}.card{background:var(--bg-raised);border-radius:var(--r-xl);padding:var(--s-6);box-shadow:var(--shadow-md)}.card--interactive{transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}.card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.grid{gap:var(--s-5);display:grid}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}@media (width<=1023px){.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.grid--3{grid-template-columns:1fr}}.lead{font-size:var(--t-18);color:var(--fg-secondary);max-width:44rem}.muted{color:var(--fg-tertiary);font-size:var(--t-14)}.center{text-align:center}.center .lead{margin-inline:auto}.tabular{font-variant-numeric:tabular-nums}.hairline{height:var(--hairline);background:var(--line-hairline);border:0}.checks{gap:var(--s-2);flex-direction:column;padding:0;list-style:none;display:flex}.checks li{font-size:var(--t-15);color:var(--fg-secondary);padding-left:22px;position:relative}.checks li:before{content:"";border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:11px;height:6px;position:absolute;top:.45em;left:0;transform:rotate(-45deg)}.menubar{z-index:var(--z-sticky);height:var(--menubar-h);font-family:var(--font-system);color:var(--fg-primary);background:var(--menubar-bg);-webkit-backdrop-filter:saturate(180%)blur(22px);border-bottom:.5px solid var(--win-line);align-items:center;gap:clamp(12px,1.6vw,20px);padding:0 clamp(10px,2vw,16px);font-size:13px;line-height:1;display:flex;position:sticky;top:0}.mb-logo{color:var(--fg-primary);letter-spacing:-.01em;flex:none;align-items:center;gap:7px;font-weight:700;text-decoration:none;display:inline-flex}.mb-logo svg{width:15px;height:15px;color:var(--accent);flex:none}.mb-logo span{white-space:nowrap}.mb-nav{align-items:center;gap:clamp(10px,1.4vw,18px);margin:0;padding:0;list-style:none;display:flex}.mb-item{color:var(--fg-primary);opacity:.82;white-space:nowrap;transition:opacity var(--dur-fast);padding:2px 0;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.mb-item:hover,.mb-item[aria-current]{opacity:1;color:var(--accent)}.mb-right{align-items:center;gap:clamp(10px,1.4vw,16px);margin-left:auto;display:flex}.mb-right .lang{background:0 0;gap:3px;padding:0}.mb-right .lang a{font-size:var(--t-11);padding:2px 6px}.mb-cta{background:var(--accent);color:var(--accent-fg);white-space:nowrap;transition:background-color var(--dur-fast);border-radius:7px;flex:none;padding:4px 12px;font-size:12px;font-weight:600;text-decoration:none}.mb-cta:hover{background:var(--accent-hover)}.mb-clock{font-variant-numeric:tabular-nums;opacity:.9;white-space:nowrap;flex:none;font-size:12.5px}.mb-burger{cursor:pointer;width:34px;height:28px;color:var(--fg-primary);background:0 0;border:0;place-items:center;margin-left:auto;padding:0;display:none}@media (width<=1023px){.mb-nav,.mb-right{display:none}.mb-burger{display:grid}}#main{padding:clamp(18px,3vw,38px) clamp(12px,3vw,22px) 0;display:block}.win{max-width:var(--desk-w);margin:0 auto var(--s-8);background:var(--win-surface);border:.5px solid var(--win-line);border-radius:var(--winr);box-shadow:var(--win-shadow);scroll-margin-top:calc(var(--menubar-h) + 14px);overflow:hidden}.win__tb{background:var(--win-bar);border-bottom:.5px solid var(--win-line);height:40px;font-family:var(--font-system);flex:none;align-items:center;gap:14px;padding:0 14px;display:flex}.win__lights{flex:none;gap:8px;display:flex}.win__lights i{border-radius:50%;width:12px;height:12px;display:block}.win__lights i:first-child{background:#ff5f57}.win__lights i:nth-child(2){background:#febc2e}.win__lights i:nth-child(3){background:#28c840}.win__title{color:var(--fg-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;font-family:var(--font-system);overflow:hidden}.win__body{padding:clamp(24px,3.4vw,44px) clamp(20px,3.4vw,48px)}.win--term{background:#0b0f16;border-color:#ffffff1f}.win--term .win__tb{background:#0b0e13;border-bottom-color:#ffffff14}.win--term .win__title{color:#8b98ad}.dock{z-index:var(--z-dropdown);background:var(--dock-bg);border:.5px solid var(--win-line);box-shadow:var(--win-shadow);-webkit-backdrop-filter:saturate(180%)blur(26px);border-radius:20px;gap:12px;padding:9px 13px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.dock__app{color:#fff;border-radius:13px;flex:none;place-items:center;width:48px;height:48px;text-decoration:none;display:grid;position:relative;box-shadow:0 3px 8px #0003,inset 0 1px #fff3}.dock__app svg{width:26px;height:26px}.dock__app[aria-current]:after{content:"";background:var(--fg-tertiary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.dock .t-blue{background:#0a84ff}.dock .t-green{background:#30b350}.dock .t-indigo{background:#5856d6}.dock .t-orange{background:#ff9500}.dock .t-pink{background:#ff2d55}.dock .t-teal{background:#30b0c7}.dock .t-graphite{background:#33373f}@media (hover:hover){.dock__app{transition:transform var(--dur-base) var(--ease-out)}.dock__app:hover{transform:translateY(-8px)scale(1.08)}}@media (width<=600px){.dock{border-radius:16px;gap:8px;max-width:calc(100% - 16px);padding:7px 10px;bottom:10px}.dock__app{border-radius:10px;width:38px;height:38px}.dock__app svg{width:21px;height:21px}}.lang{border-radius:var(--r-sm);background:var(--bg-sunken);gap:2px;padding:3px;display:inline-flex}.lang a{font-size:var(--t-11);font-weight:var(--w-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-tertiary);border-radius:4px;padding:4px 9px;text-decoration:none}.lang a[aria-current]{background:var(--bg-raised);color:var(--fg-primary);box-shadow:var(--shadow-sm)}.ftr{width:min(var(--desk-w), 100% - clamp(24px,6vw,44px));margin:var(--s-4) auto 0;padding:clamp(28px,3.4vw,44px) clamp(20px,3.4vw,48px) var(--s-8);background:var(--win-surface);border:.5px solid var(--win-line);border-radius:var(--winr);box-shadow:var(--win-shadow)}.ftr .container{width:100%;max-width:none;padding:0}.ftr__grid{gap:var(--s-10) var(--s-8);grid-template-columns:1.7fr 1fr 1fr 1fr;align-items:start;display:grid}.ftr__brand{max-width:36ch}.ftr__logo{display:inline-block}.ftr__logo svg{width:auto;height:30px}.ftr__tagline{margin-top:var(--s-4);color:var(--fg-secondary);font-size:var(--t-14);line-height:var(--leading-body)}.ftr__sig{margin-top:var(--s-3);color:var(--fg-tertiary);font-size:var(--t-12);line-height:1.5}.ftr__coltitle{font-size:var(--t-12);font-weight:var(--w-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-tertiary);margin-bottom:var(--s-3)}.ftr__col ul{gap:var(--s-2);flex-direction:column;padding:0;list-style:none;display:flex}.ftr__col a{color:var(--fg-secondary);font-size:var(--t-14);text-decoration:none}.ftr__col a:hover{color:var(--fg-primary)}.ftr__bar{gap:var(--s-3);margin-top:var(--s-10);padding-top:var(--s-5);border-top:var(--hairline) solid var(--line-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.ftr__copy{font-size:var(--t-13);color:var(--fg-tertiary)}.ftr__build{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-tertiary)}@media (width<=860px){.ftr__grid{grid-template-columns:1fr 1fr}.ftr__brand{grid-column:1/-1;max-width:none}}@media (width<=520px){.ftr__grid{gap:var(--s-8);grid-template-columns:1fr}}
