@font-face{font-family:ibm plex sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/fonts/IBMPlexSans-var-cyrillic.woff2)format('woff2');unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/fonts/IBMPlexSans-var-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:100 700;font-display:swap;src:url(/assets/fonts/IBMPlexSans-var-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 mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexMono-400-cyrillic.woff2)format('woff2');unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexMono-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 mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexMono-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 mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexMono-500-cyrillic.woff2)format('woff2');unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexMono-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 mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexMono-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 mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/IBMPlexMono-600-cyrillic.woff2)format('woff2');unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/IBMPlexMono-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:ibm plex mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/IBMPlexMono-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}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}:root{--font-head:"IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--accent:oklch(0.50 0.20 274);--accent-strong:oklch(0.43 0.20 274);--accent-on:#ffffff;--accent-soft:oklch(0.95 0.035 274);--accent-line:oklch(0.86 0.07 274);--bitnami:oklch(0.66 0.19 48);--bitnami-strong:oklch(0.42 0.14 46);--bitnami-soft:oklch(0.96 0.035 48);--bitnami-line:oklch(0.87 0.08 48);--bitnami-on:#ffffff;--r-sm:7px;--r-md:11px;--r-lg:16px;--r-xl:22px;--gap-unit:1;--bg:oklch(0.992 0.003 265);--bg-alt:oklch(0.972 0.005 265);--bg-inset:oklch(0.955 0.006 265);--surface:oklch(1 0 0);--surface-2:oklch(0.985 0.004 265);--border:oklch(0.915 0.007 265);--border-2:oklch(0.86 0.01 265);--text:oklch(0.24 0.025 274);--text-soft:oklch(0.42 0.02 274);--text-muted:oklch(0.52 0.018 274);--text-faint:oklch(0.53 0.015 274);--shadow-sm:0 1px 2px oklch(0.3 0.03 274 / 0.06), 0 1px 3px oklch(0.3 0.03 274 / 0.05);--shadow-md:0 4px 16px oklch(0.3 0.03 274 / 0.07), 0 2px 6px oklch(0.3 0.03 274 / 0.05);--shadow-lg:0 18px 50px oklch(0.28 0.04 274 / 0.12), 0 6px 18px oklch(0.28 0.04 274 / 0.08);--ring:oklch(0.50 0.20 274 / 0.25);--maxw:1200px;--maxw-prose:760px;color-scheme:light}[data-theme=dark]{--bg:oklch(0.185 0.018 274);--bg-alt:oklch(0.215 0.022 274);--bg-inset:oklch(0.24 0.024 274);--surface:oklch(0.235 0.022 274);--surface-2:oklch(0.265 0.024 274);--border:oklch(0.32 0.022 274);--border-2:oklch(0.40 0.026 274);--text:oklch(0.95 0.012 274);--text-soft:oklch(0.80 0.02 274);--text-muted:oklch(0.68 0.02 274);--text-faint:oklch(0.64 0.02 274);--accent:oklch(0.72 0.15 274);--accent-strong:oklch(0.80 0.13 274);--accent-on:oklch(0.18 0.04 274);--accent-soft:oklch(0.32 0.07 274);--accent-line:oklch(0.42 0.10 274);--bitnami:oklch(0.72 0.16 48);--bitnami-strong:oklch(0.84 0.12 48);--bitnami-soft:oklch(0.33 0.07 48);--bitnami-line:oklch(0.45 0.10 48);--bitnami-on:oklch(0.20 0.04 48);--shadow-sm:0 1px 2px oklch(0 0 0 / 0.3);--shadow-md:0 6px 20px oklch(0 0 0 / 0.4);--shadow-lg:0 24px 60px oklch(0 0 0 / 0.55);--ring:oklch(0.72 0.15 274 / 0.4);color-scheme:dark}[data-accent=blue]{--accent:oklch(0.52 0.16 248);--accent-strong:oklch(0.45 0.16 248);--accent-soft:oklch(0.95 0.03 248);--accent-line:oklch(0.86 0.06 248)}[data-accent=blue][data-theme=dark]{--accent:oklch(0.72 0.13 248);--accent-strong:oklch(0.80 0.11 248);--accent-soft:oklch(0.32 0.06 248);--accent-line:oklch(0.42 0.09 248)}[data-accent=emerald]{--accent:oklch(0.52 0.13 162);--accent-strong:oklch(0.45 0.13 162);--accent-soft:oklch(0.95 0.04 162);--accent-line:oklch(0.85 0.07 162)}[data-accent=emerald][data-theme=dark]{--accent:oklch(0.74 0.13 162);--accent-strong:oklch(0.82 0.12 162);--accent-soft:oklch(0.31 0.06 162);--accent-line:oklch(0.42 0.09 162)}[data-accent=violet]{--accent:oklch(0.52 0.20 300);--accent-strong:oklch(0.45 0.20 300);--accent-soft:oklch(0.95 0.04 300);--accent-line:oklch(0.86 0.08 300)}[data-accent=violet][data-theme=dark]{--accent:oklch(0.74 0.15 300);--accent-strong:oklch(0.82 0.13 300);--accent-soft:oklch(0.32 0.08 300);--accent-line:oklch(0.43 0.11 300)}[data-density=compact]{--gap-unit:0.82}[data-density=comfy]{--gap-unit:1.18}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;transition:background .35s ease,color .35s ease}h1,h2,h3,h4,h5{font-family:var(--font-head);font-weight:600;line-height:1.1;letter-spacing:-.02em;color:var(--text);text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--accent);color:var(--accent-on)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:24px}.section{padding-block:calc(96px * var(--gap-unit))}.section-sm{padding-block:calc(56px * var(--gap-unit))}.bg-alt{background:var(--bg-alt)}.bg-ink{background:oklch(.2 .02 274);color:oklch(.96 .01 274)}[data-theme=dark] .bg-ink{background:oklch(.14 .02 274)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong)}.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent-line)}.eyebrow.center::before{display:none}.section-head{max-width:620px}.section-head h2{font-size:clamp(1.9rem,1.2rem + 2.6vw,3rem);margin-top:16px}.section-head p{margin-top:16px;color:var(--text-muted);font-size:1.06rem}.lead{font-size:1.15rem;color:var(--text-soft);line-height:1.55}.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:var(--r-sm);font-weight:500;font-size:.95rem;letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;white-space:nowrap}.btn svg{width:17px;height:17px}.btn-primary{background:var(--accent);color:var(--accent-on);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-ghost{background:0 0;color:var(--text);border-color:var(--border-2)}.btn-ghost:hover{background:var(--surface);border-color:var(--text-faint);transform:translateY(-1px)}.btn-soft{background:var(--accent-soft);color:var(--accent-strong)}.btn-bitnami{background:var(--bitnami-strong);color:var(--bitnami-on);box-shadow:var(--shadow-sm)}.btn-bitnami:hover{background:var(--bitnami);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-soft:hover{background:var(--accent-line)}.btn-lg{padding:15px 26px;font-size:1.02rem}.btn-sm{padding:8px 14px;font-size:.86rem}.link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent-strong);font-weight:500;transition:gap .18s ease}.link-arrow:hover{gap:11px}.skip-link{position:absolute;inset-inline-start:8px;top:-60px;z-index:2147483647;padding:10px 16px;border-radius:var(--r-sm);background:var(--accent);color:#fff;font-weight:500;transition:top .15s}.skip-link:focus{top:8px;outline:2px solid var(--text);outline-offset:2px}.site-header{position:sticky;top:0;z-index:100;background:var(--bg);background:oklch(from var(--bg) l c h/.82);backdrop-filter:blur(18px)saturate(160%);-webkit-backdrop-filter:blur(18px)saturate(160%);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;gap:28px;height:66px}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-head);font-weight:600;font-size:1.22rem;letter-spacing:-.03em}.brand .mark{width:30px;height:30px;flex-shrink:0}.brand b{font-weight:600}.brand .dot{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a{padding:8px 13px;border-radius:var(--r-sm);font-size:.93rem;color:var(--text-soft);font-weight:450;transition:color .18s,background .18s}.nav-links a:hover{color:var(--text);background:var(--bg-alt)}.nav-links a{position:relative}.nav-links a.active{color:var(--accent-strong);font-weight:500}.nav-links a.active::after{content:"";position:absolute;inset-inline-start:13px;inset-inline-end:13px;bottom:3px;height:2px;border-radius:2px;background:var(--accent)}.nav-links a.nav-cta{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;margin-inline-start:6px;padding:7px 15px;background:var(--accent-soft);color:var(--accent-strong);font-weight:550;border:1px solid var(--accent-line);border-radius:999px;box-shadow:none;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s}.nav-links a.nav-cta:hover{background:var(--accent);color:var(--accent-on);border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.nav-links a.nav-cta.active{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.nav-links a.nav-cta.active::after{display:none}.nav-cta-pulse{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 currentColor;animation:navCtaPulse 2.2s infinite}@keyframes navCtaPulse{0%{box-shadow:0 0 oklch(from currentColor l c h/.5)}70%{box-shadow:0 0 0 6px transparent}100%{box-shadow:0 0 transparent}}.nav-spacer{flex:1}.nav-drop{position:relative}.nav-drop-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 13px;border-radius:var(--r-sm);font-family:inherit;font-size:.93rem;color:var(--text-soft);font-weight:450;background:0 0;border:0;cursor:pointer;transition:color .18s,background .18s}.nav-drop-btn svg{width:15px;height:15px;transition:transform .18s}.nav-drop-btn:hover{color:var(--text);background:var(--bg-alt)}.nav-drop.active>.nav-drop-btn{color:var(--accent-strong);font-weight:500;position:relative}.nav-drop.active>.nav-drop-btn::after{content:"";position:absolute;inset-inline-start:13px;inset-inline-end:24px;bottom:3px;height:2px;border-radius:2px;background:var(--accent)}.nav-drop.open>.nav-drop-btn{color:var(--text);background:var(--bg-alt)}.nav-drop.open>.nav-drop-btn svg{transform:rotate(180deg)}.nav-drop-menu{position:absolute;top:calc(100% + 8px);inset-inline-start:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:6px;display:none;flex-direction:column;gap:1px;z-index:40}.nav-drop.open .nav-drop-menu{display:flex}.nav-drop-menu a{padding:8px 11px;border-radius:var(--r-sm);font-size:.9rem;color:var(--text-soft);font-weight:450}.nav-drop-menu a:hover{background:var(--bg-alt);color:var(--text)}.nav-drop-menu a.active{color:var(--accent-strong);font-weight:500}.nav-tools{display:flex;align-items:center;gap:6px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-sm);background:0 0;border:1px solid transparent;cursor:pointer;color:var(--text-soft);transition:background .18s,color .18s,border-color .18s}.icon-btn:hover{background:var(--bg-alt);color:var(--text)}.icon-btn svg{width:19px;height:19px}.search-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 11px;min-width:168px;margin-inline-start:6px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--text-faint);font-size:.88rem;cursor:pointer;transition:border-color .18s}.search-pill:hover{border-color:var(--text-faint)}.search-pill svg{width:15px;height:15px}.search-pill kbd{margin-inline-start:auto;font-family:var(--font-mono);font-size:.72rem;padding:2px 6px;border-radius:5px;background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted)}.mobile-search{display:none;align-items:center;gap:9px;width:100%;padding:12px 14px;margin-bottom:6px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--text-faint);font:inherit;font-size:.95rem;cursor:pointer;text-align:start}.mobile-search svg{width:17px;height:17px}.mobile-nav.open .mobile-search{display:flex}.search-modal{position:fixed;inset:0;z-index:3000;display:none}.search-modal.open{display:block}.search-backdrop{position:absolute;inset:0;background:oklch(0 0 0/.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.search-box{position:relative;z-index:1;width:min(92vw,560px);margin:12vh auto 0;display:flex;flex-direction:column;max-height:70vh;overflow:hidden;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.search-field{display:flex;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid var(--border)}.search-field>svg{width:20px;height:20px;color:var(--text-faint);flex-shrink:0}.search-input{flex:1;min-width:0;border:0;background:0 0;outline:none;font:inherit;font-size:1.05rem;color:var(--text)}.search-esc{flex-shrink:0;border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;padding:3px 8px;border-radius:6px;cursor:pointer}.search-results{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.search-empty{padding:26px 18px;text-align:center;color:var(--text-faint);font-size:.92rem}.search-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--r-sm);text-decoration:none}.search-result.sel{background:var(--bg-alt)}.search-r-main{display:flex;flex-direction:column;gap:2px;min-width:0}.search-r-title{color:var(--text);font-weight:500;font-size:.95rem}.search-r-desc{color:var(--text-faint);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-badge{flex-shrink:0;font-size:.66rem;font-weight:600;letter-spacing:.02em;padding:3px 9px;border-radius:999px;text-transform:uppercase;white-space:nowrap;background:var(--bg-inset);color:var(--text-muted)}.search-badge.badge-producto{background:color-mix(in oklch,var(--accent) 16%,transparent);color:var(--accent-strong)}.search-badge.badge-pagina{color:var(--text-faint)}.lang{position:relative}.lang-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 10px}.flag{display:inline-block;width:20px;height:13.3px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px var(--border);flex-shrink:0}.flag svg{display:block;width:100%;height:100%}.lang-btn .flag{width:20px;height:13.3px}.lang-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;width:188px;max-height:320px;overflow-y:auto;display:none;flex-direction:column;gap:1px}.lang-menu.open{display:flex}.lang-menu a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:.9rem;color:var(--text-soft)}.lang-menu a:hover{background:var(--bg-alt);color:var(--text)}.lang-menu a.active{color:var(--accent-strong);font-weight:500}.lang-menu .flag{width:22px;height:14.6px}.menu-toggle{display:none}.mobile-nav{display:none;flex-direction:column;gap:2px;padding:12px 24px 24px;border-bottom:1px solid var(--border);background:var(--bg)}.mobile-nav.open{display:flex}.mobile-nav a{padding:12px;border-radius:var(--r-sm);font-size:1.05rem;color:var(--text-soft)}.mobile-nav a:hover,.mobile-nav a.active{background:var(--bg-alt);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card.hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-2)}.tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.02em;padding:3px 8px;border-radius:999px;background:var(--bg-inset);color:var(--text-muted);border:1px solid var(--border)}.tag.accent{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-line)}.tag.bitnami{background:var(--bitnami-soft);color:var(--bitnami-strong);border-color:var(--bitnami-line)}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.74rem;font-weight:500;padding:5px 11px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong)}.badge .pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 2.2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--ring)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 transparent}}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.active{background:oklch(.62 .16 150)}.status-dot.eol{background:oklch(.62 .02 274)}.status-dot.std{background:oklch(.7 .14 70)}.ph{position:relative;overflow:hidden;border-radius:var(--r-md);background-color:var(--bg-inset);background-image:repeating-linear-gradient( -45deg,transparent 0,transparent 11px,oklch(from var(--text-faint) l c h/.1) 11px,oklch(from var(--text-faint) l c h/.1) 12px );border:1px solid var(--border);display:flex;align-items:center;justify-content:center;min-height:180px;color:var(--text-faint)}.ph span{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;padding:5px 11px;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text-muted)}.ph.tall{min-height:320px}.site-footer{background:var(--bg-alt);border-top:1px solid var(--border);padding-block:64px 32px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px}.footer-brand p{color:var(--text-muted);font-size:.92rem;margin-top:16px;max-width:280px}.footer-col h2{font-size:.78rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:14px;font-weight:600}.footer-col a{display:block;padding:5px 0;color:var(--text-muted);font-size:.92rem;transition:color .15s}.footer-col a:hover{color:var(--accent-strong)}.footer-bottom{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-top:48px;padding-top:24px;border-top:1px solid var(--border);color:var(--text-faint);font-size:.85rem}.grid{display:grid;gap:calc(24px * var(--gap-unit))}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.center{text-align:center}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.divider{height:1px;background:var(--border);border:0}@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:1240px){.search-pill{display:none}}@media(max-width:1080px){.nav-links{display:none}.menu-toggle{display:inline-flex}}@media(max-width:860px){.nav-links,.search-pill{display:none}.menu-toggle{display:inline-flex}.cols-3{grid-template-columns:1fr}}@media(max-width:620px){.wrap{padding-inline:18px}.section{padding-block:calc(64px * var(--gap-unit))}.cols-2,.cols-4{grid-template-columns:1fr}}@media print{.site-header,.mobile-nav,.site-footer .footer-grid{display:none!important}}.ami-subscribe{margin-top:52px;border:1px solid var(--accent-line);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--accent-soft),var(--surface) 78%);padding:28px 26px}.ami-subscribe .subs-eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong)}.ami-subscribe h3{margin:8px 0 6px;font-size:1.2rem}.ami-subscribe .subs-head p{margin:0;font-size:.92rem;max-width:58ch}.subs-ways{display:flex;flex-wrap:wrap;gap:26px;margin-top:20px}.subs-way{display:flex;flex-direction:column;gap:8px;min-width:240px;flex:1}.subs-way .btn{align-self:flex-start;display:inline-flex;align-items:center;gap:9px}.subs-note{font-size:.78rem;color:var(--text-faint)}.subs-form{display:flex;gap:8px;flex-wrap:wrap}.subs-form input{flex:1;min-width:190px;padding:10px 13px;font:inherit;font-size:.9rem;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-sm)}.subs-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.article-share{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.share-title{display:block;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-weight:600;margin-bottom:12px}.share-btns{display:flex;flex-wrap:wrap;gap:8px}.share-btn{width:38px;height:38px;padding:0;flex:none;display:inline-grid;place-items:center;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.share-btn:hover{color:var(--accent-strong);border-color:var(--accent-line);background:var(--accent-soft)}.share-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.share-btn svg{width:17px;height:17px;display:block}.share-btn[hidden]{display:none}.share-row{display:none}@media(max-width:980px){.share-row{display:block;margin-top:36px}}.feed-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.feed-way{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.feed-way .btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px}.feed-way .btn svg{width:15px;height:15px;flex:none}.feed-way .subs-note{margin:0}@media(max-width:760px){.feed-ways{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.card.hover:hover,.ami:hover,.prod:hover{transform:none!important}}[dir=rtl] .mod-doc svg{transform:scaleX(-1)}[dir=rtl] .layers .lz:hover{transform:translateX(-4px)}