.xhc-fab{left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;border-radius:var(--xh-r-pill);border:1px solid var(--xh-line-2);background:var(--xh-btn-bg);min-height:44px;color:var(--xh-btn-fg);font:inherit;box-shadow:var(--xh-shadow-raised);cursor:pointer;transition:transform var(--xh-dur-quick) var(--xh-ease), background var(--xh-dur-quick);align-items:center;gap:8px;padding:0 16px;font-size:.875rem;font-weight:600;display:inline-flex;position:fixed}.xhc-fab:hover{background:var(--xh-btn-hover);transform:translateY(-1px)}.xhc-fab:focus-visible,.xhc-panel :focus-visible{outline:2px solid var(--xh-signal);outline-offset:2px}html.xhc-lock{overflow:hidden}.xhc-panel{width:var(--xhc-w,400px);height:var(--xhc-h,600px);border:1px solid var(--xh-line-2);border-radius:var(--xh-r-lg);background:var(--xh-surface-1);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);color:var(--xh-text);box-shadow:var(--xh-shadow-raised), 0 24px 60px -20px #00000073;font:inherit;flex-direction:column;margin:0;padding:0;font-size:.9375rem;line-height:1.55;display:none;position:fixed;inset:auto auto 16px 16px;overflow:hidden}.xhc-panel[open]{display:flex}.xhc-panel::backdrop{background:#07080a2e}@media (width<=639px){.xhc-panel{border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none;inset:0}.xhc-resize,.xhc-panel [data-act=size-reset]{display:none!important}}@media (prefers-reduced-motion:no-preference){.xhc-panel[open]{animation:xhc-in var(--xh-dur-normal) var(--xh-ease)}@keyframes xhc-in{0%{opacity:0;transform:translateY(12px)}}}.xhc-resize{cursor:nesw-resize;z-index:2;touch-action:none;width:22px;height:22px;position:absolute;top:0;right:0}.xhc-resize:after{content:"";border-top:2px solid var(--xh-line-control);border-right:2px solid var(--xh-line-control);opacity:.7;border-top-right-radius:3px;width:9px;height:9px;position:absolute;top:6px;right:6px}.xhc-resize:hover:after{opacity:1;border-color:var(--xh-signal)}.xhc-head{border-bottom:1px solid var(--xh-line-1);align-items:flex-start;gap:8px;padding:14px 28px 12px 16px;display:flex}.xhc-head__text{flex:1;min-width:0}.xhc-head h2{color:var(--xh-text);margin:0;font-size:1rem;font-weight:700;line-height:1.3}.xhc-sub{color:var(--xh-text-2);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.8125rem;overflow:hidden}.xhc-tools{gap:4px;display:flex}.xhc-icon{border-radius:var(--xh-r-sm);width:36px;height:36px;color:var(--xh-text-2);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.xhc-icon:hover{background:var(--xh-hover-tint);color:var(--xh-text)}.xhc-banner{background:var(--xh-hover-tint);color:var(--xh-text);border-bottom:1px solid var(--xh-line-1);margin:0;padding:8px 16px;font-size:.8125rem}.xhc-step{flex:1;min-height:0}.xhc-panel [hidden]{display:none!important}.xhc-scroll{overscroll-behavior:contain;overflow-y:auto}.xhc-center{place-items:center;display:grid}.xhc-form{flex-direction:column;gap:12px;padding:16px;display:flex}.xhc-lead{color:var(--xh-text-2);margin:0;font-size:.875rem}.xhc-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=360px){.xhc-row{grid-template-columns:1fr}}.xhc-field{flex-direction:column;gap:4px;min-width:0;display:flex}.xhc-field>label{color:var(--xh-text);font-size:.8125rem;font-weight:600}.xhc-panel input:not([type=checkbox]),.xhc-panel textarea{box-sizing:border-box;border-radius:var(--xh-r-sm);border:1px solid var(--xh-line-control);background:var(--xh-bg);width:100%;min-height:42px;color:var(--xh-text);font:inherit;padding:9px 12px;font-size:1rem}.xhc-panel input:disabled{opacity:.6}.xhc-panel input[aria-invalid=true]{border-color:#e5484d}.xhc-code{letter-spacing:.5em;font-family:var(--xh-mono);text-align:center;font-size:1.25rem!important}.xhc-check{color:var(--xh-text-2);cursor:pointer;align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}.xhc-err{color:#e5484d;min-height:0;margin:0;font-size:.8125rem}.xhc-err:empty{display:none}:root[data-surface=dark] .xhc-err,:root[data-surface=dark] .xhc-panel input[aria-invalid=true]{color:#ff8589;border-color:#ff8589}:root[data-surface=dark] .xhc-panel input[aria-invalid=true]{color:var(--xh-text)}.xhc-hint{color:var(--xh-text-2);margin:0;font-size:.8125rem}.xhc-note{color:var(--xh-text-2);margin:0;font-size:.75rem}.xhc-note a{color:var(--xh-signal)}.xhc-btn{border-radius:var(--xh-r-pill);background:var(--xh-btn-bg);min-height:44px;color:var(--xh-btn-fg);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:600;display:inline-flex}.xhc-btn:hover:not(:disabled){background:var(--xh-btn-hover)}.xhc-btn:disabled{opacity:.55;cursor:not-allowed}.xhc-btn--sm{min-height:36px;padding:0 16px;font-size:.875rem}.xhc-link{color:var(--xh-signal);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:.8125rem;font-weight:600}.xhc-link:disabled{color:var(--xh-text-3);cursor:default}.xhc-inline{justify-content:space-between;gap:8px;display:flex}.xhc-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.xhc-chat{flex-direction:column;display:flex}.xhc-log{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex}.xhc-empty p{color:var(--xh-text-2);margin:0 0 10px;font-size:.875rem}.xhc-empty strong{color:var(--xh-text)}.xhc-samples{flex-wrap:wrap;gap:8px;display:flex}.xhc-chip{text-align:left;border-radius:var(--xh-r-md);border:1px solid var(--xh-line-2);background:var(--xh-bg);color:var(--xh-text);font:inherit;cursor:pointer;padding:8px 12px;font-size:.8125rem}.xhc-chip:hover{background:var(--xh-hover-tint);border-color:var(--xh-signal)}.xhc-msg{flex-direction:column;gap:4px;max-width:92%;display:flex}.xhc-msg--user{align-self:flex-end;align-items:flex-end}.xhc-bubble{border-radius:var(--xh-r-md);background:var(--xh-bg);border:1px solid var(--xh-line-1);overflow-wrap:anywhere;padding:10px 14px}.xhc-msg--user .xhc-bubble{white-space:pre-wrap;background:var(--xh-btn-bg);color:var(--xh-btn-fg);border-color:#0000}.xhc-bubble>:first-child{margin-top:0}.xhc-bubble>:last-child{margin-bottom:0}.xhc-bubble p,.xhc-bubble ul,.xhc-bubble ol,.xhc-bubble pre,.xhc-bubble blockquote,.xhc-bubble table{margin:0 0 .6em}.xhc-bubble ul,.xhc-bubble ol{padding-left:1.3em}.xhc-bubble h1,.xhc-bubble h2,.xhc-bubble h3,.xhc-bubble h4{margin:.6em 0 .3em;font-size:1rem}.xhc-bubble a{color:var(--xh-signal)}.xhc-bubble code{font-family:var(--xh-mono);background:var(--xh-hover-tint);border-radius:4px;padding:1px 4px;font-size:.85em}.xhc-bubble pre{border-radius:var(--xh-r-sm);background:var(--xh-surface-2);border:1px solid var(--xh-line-1);padding:10px;overflow-x:auto}.xhc-bubble pre code{background:0 0;padding:0}.xhc-bubble blockquote{border-left:3px solid var(--xh-line-2);color:var(--xh-text-2);padding-left:10px}.xhc-bubble table{border-collapse:collapse;font-size:.875em;display:block;overflow-x:auto}.xhc-bubble th,.xhc-bubble td{border:1px solid var(--xh-line-2);padding:4px 8px}.xhc-bubble--err{color:var(--xh-text);border-color:#e5484d}.xhc-typing:after{content:"▍";color:var(--xh-text-3);animation:1s steps(2,end) infinite xhc-blink}@keyframes xhc-blink{50%{opacity:0}}.xhc-msg__tools{gap:4px;display:flex}.xhc-msg__tools .xhc-link{color:var(--xh-text-2);padding:2px 4px;font-size:.75rem}.xhc-msg__tools .xhc-link:hover{color:var(--xh-signal)}.xhc-status{color:var(--xh-text-2);margin:0;padding:0 16px;font-size:.8125rem}.xhc-status:empty{display:none}.xhc-status.is-error{color:#e5484d}:root[data-surface=dark] .xhc-status.is-error{color:#ff8589}.xhc-composer{border-top:1px solid var(--xh-line-1);padding:10px 12px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:8px;display:flex}.xhc-composer textarea{resize:none;max-height:160px;line-height:1.45}.xhc-composer__bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.xhc-composer__bar [data-quota]{flex:1;min-width:0}.xhc-meta{color:var(--xh-text-2);font-size:.75rem}.xhc-meta.is-over{color:#e5484d;font-weight:600}.xh-lang[data-astro-cid-nen7h5rs]{border-radius:var(--xh-r-pill);height:40px;box-shadow:inset 0 0 0 1px var(--xh-line-2);flex:none;align-items:center;padding:0 2px;display:inline-flex}.xh-lang__opt[data-astro-cid-nen7h5rs]{border-radius:var(--xh-r-pill);min-width:36px;height:36px;color:var(--xh-text-3);font:500 .75rem/1 var(--xh-mono);letter-spacing:.06em;cursor:pointer;transition:background var(--xh-dur-quick), color var(--xh-dur-quick);background:0 0;border:0;place-items:center;padding:0 4px;text-decoration:none;display:inline-grid}.xh-lang__opt[data-astro-cid-nen7h5rs]:hover{color:var(--xh-text);background:var(--xh-hover-tint)}.xh-lang__opt[data-astro-cid-nen7h5rs]:focus-visible{outline:2px solid var(--xh-signal);outline-offset:1px}.xh-lang__sep[data-astro-cid-nen7h5rs]{color:var(--xh-text-3);font:.75rem/1 var(--xh-mono);opacity:.5}html[data-ui=vi] .xh-lang__opt[data-astro-cid-nen7h5rs][lang=vi],html[data-ui=en] .xh-lang__opt[data-astro-cid-nen7h5rs][lang=en]{background:var(--xh-text);color:var(--xh-bg)}@media (width<=420px){.xh-header__actions[data-astro-cid-nen7h5rs]{gap:4px}.xh-lang__opt[data-astro-cid-nen7h5rs]{min-width:34px}}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-vietnamese-400-normal.CRcqvyg1.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-400-normal.BuGn0gnm.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-latin-ext-400-normal.CiZNW1ec.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-400-normal.DYBYyMQr.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-latin-400-normal.PpnXBOrz.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-400-normal.bXgqVju9.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/be-vietnam-pro-vietnamese-600-normal.nyU-ZL2p.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-600-normal.DkpCIyan.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/be-vietnam-pro-latin-ext-600-normal.BNd8euf0.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-600-normal.BeUwKxhG.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/be-vietnam-pro-latin-600-normal.BZDkUTrt.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-600-normal.5IO4e7bK.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/be-vietnam-pro-vietnamese-700-normal.Csr0PCuG.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-700-normal.By_5yT39.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/be-vietnam-pro-latin-ext-700-normal.C8_gqRu2.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-700-normal.4Hjo2OtD.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/be-vietnam-pro-latin-700-normal.DlW1Zbsh.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-700-normal.C2EtzaOi.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/be-vietnam-pro-vietnamese-800-normal.D4LFh2W4.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-800-normal.CA0HL1e4.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/be-vietnam-pro-latin-ext-800-normal.GEpNgheG.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-800-normal.BvOXQlBN.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/be-vietnam-pro-latin-800-normal.BpHZASpI.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-800-normal.Cwp5p0gU.woff)format("woff");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-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-cyrillic-400-normal.BEIGL1Tu.woff2)format("woff2"),url(/_astro/jetbrains-mono-cyrillic-400-normal.ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-greek-400-normal.C190GLew.woff2)format("woff2"),url(/_astro/jetbrains-mono-greek-400-normal.B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/_astro/jetbrains-mono-vietnamese-400-normal.CqNFfHCs.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-ext-400-normal.Bc8Ftmh3.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-ext-400-normal.fXTG6kC5.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff");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-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-cyrillic-500-normal.DmUKJPL_.woff2)format("woff2"),url(/_astro/jetbrains-mono-cyrillic-500-normal.DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-greek-500-normal.JpySY46c.woff2)format("woff2"),url(/_astro/jetbrains-mono-greek-500-normal.D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/_astro/jetbrains-mono-vietnamese-500-normal.DNRqzVM1.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-ext-500-normal.Cut-4mMH.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-ext-500-normal.ckzbgY84.woff)format("woff");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-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff");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}:root{--xh-font:"Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--xh-mono:"JetBrains Mono", SFMono-Regular, Consolas, monospace;--xh-display-weight:800;--xh-r-xs:6px;--xh-r-sm:10px;--xh-r-md:16px;--xh-r-lg:24px;--xh-r-xl:32px;--xh-r-pill:999px;--xh-dur-quick:.14s;--xh-dur-normal:.22s;--xh-dur-slow:.3s;--xh-ease:cubic-bezier(.2,.8,.2,1);--xh-container:1440px;--xh-gutter:16px;--xh-section:64px;--xh-read:760px}@media (width>=768px){:root{--xh-gutter:24px;--xh-section:96px}}@media (width>=1024px){:root{--xh-gutter:40px;--xh-section:112px}}:root[data-surface=dark]{color-scheme:dark;--xh-bg:#07080a;--xh-surface-1:#111317;--xh-surface-2:#16191e;--xh-glass:#07080ab8;--xh-glass-border:#ffffff17;--xh-glass-blur:blur(24px) saturate(.6);--xh-text:#f4f5f7;--xh-text-2:#a7adb7;--xh-text-3:#f4f5f78f;--xh-signal:#9dcdff;--xh-gold:#c9a46a;--xh-warm:#c9a46a;--xh-line-1:#ffffff0f;--xh-line-2:#ffffff17;--xh-highlight:#ffffff29;--xh-line-control:#ffffff5c;--xh-btn-bg:#f4f5f7;--xh-btn-fg:#07080a;--xh-btn-hover:#fff;--xh-hover-tint:#ffffff0d;--xh-dot:#ffffff12;--xh-shadow-card:inset 0 1px 0 0 #ffffff12, 0 0 0 1px #ffffff0f, 0 6px 12px -6px #0009, 0 24px 40px -28px #000000e6;--xh-shadow-raised:inset 0 1px 0 0 #ffffff1a, 0 0 0 1px #ffffff17, 0 10px 20px -10px #000000b3, 0 32px 56px -32px #000000f2;--xh-shadow-bevel:inset 0 1px 0 0 #ffffff24, inset 0 -1px 0 0 #0009, 0 0 0 1px #ffffff5c, 0 1px 2px 0 #00000073;--xh-shadow-inset:inset 0 2px 6px -2px #000c, inset 0 0 0 1px #ffffff5c;--xh-bg-sunken:#0d1117;--xh-grid-line:#ffffff08;--xh-cat-bg:#16191e;--xh-cat-fg:#9dcdff;--xh-cat-line:#9dcdff47;--xh-cat-shadow:0 1px 2px #0009, 0 6px 14px -8px #000c;--xh-meta:#a7adb7;--xh-chip-bg:#111317;--xh-chip-bg-active:#f4f5f7;--xh-chip-fg-active:#07080a;--xh-badge-new-bg:#7ee0c31f;--xh-badge-new-fg:#7ee0c3;--xh-focus:#9dcdff;--xh-field-bg:#0c0e11;--xh-badge-bg:var(--xh-cat-fg);--xh-badge-fg:#07080a}:root[data-surface=light]{color-scheme:light;--xh-bg:#f8fafd;--xh-surface-1:#fff;--xh-surface-2:#fff;--xh-glass:#f8fafdcc;--xh-glass-border:#10233a1a;--xh-glass-blur:blur(24px) saturate(1.2);--xh-text:#10233a;--xh-text-2:#52647a;--xh-text-3:#52647a;--xh-signal:#1258a8;--xh-gold:#c9a46a;--xh-warm:#73511c;--xh-line-1:#10233a14;--xh-line-2:#10233a1f;--xh-highlight:#fff0;--xh-line-control:#8190a5;--xh-btn-bg:#1258a8;--xh-btn-fg:#fff;--xh-btn-hover:#0d467e;--xh-hover-tint:#dcebfa;--xh-dot:#10233a14;--xh-shadow-card:0 0 0 1px #10233a1a, 0 1px 2px #10233a0f, 0 8px 24px -12px #10233a1f;--xh-shadow-raised:0 0 0 1px #10233a24, 0 2px 4px #10233a0f, 0 16px 32px -16px #10233a33;--xh-shadow-bevel:0 0 0 1px #8190a5;--xh-shadow-inset:inset 0 0 0 1px #8190a5;--xh-bg-sunken:#eef3f9;--xh-grid-line:#10233a06;--xh-cat-bg:#fff;--xh-cat-fg:#1258a8;--xh-cat-line:#1258a847;--xh-cat-shadow:0 1px 2px #10233a1a, 0 4px 10px -6px #10233a2e;--xh-meta:#52647a;--xh-chip-bg:#fff;--xh-chip-bg-active:#10233a;--xh-chip-fg-active:#fff;--xh-badge-new-bg:#e8f5ef;--xh-badge-new-fg:#0b7a5e;--xh-focus:#0e5fc2;--xh-field-bg:#fff;--xh-badge-bg:var(--xh-cat-fg);--xh-badge-fg:#fff}@media (prefers-contrast:more){:root[data-surface=dark]{--xh-line-2:#ffffff3d;--xh-text-3:#a7adb7}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--xh-bg);scroll-padding-top:88px}body{background:var(--xh-bg);min-height:100vh;color:var(--xh-text);font-family:var(--xh-font);overflow-wrap:break-word;flex-direction:column;margin:0;font-size:1rem;line-height:1.65;display:flex}@media (width>=1024px){body{font-size:1.0625rem;line-height:1.72}}main{flex:1 0 auto}a{color:var(--xh-signal);text-underline-offset:3px}:focus-visible{outline:2px solid var(--xh-focus,var(--xh-signal));outline-offset:3px;border-radius:4px}img,video,iframe,svg{max-width:100%}img,video{height:auto}h1,h2,h3{text-wrap:balance}.wrap{width:100%;max-width:calc(var(--xh-container) + 2 * var(--xh-gutter));padding:0 var(--xh-gutter);margin:0 auto}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:70;position:absolute;left:-9999px}.skip:focus{color:#07080a;border-radius:var(--xh-r-sm);background:#f4f5f7;padding:8px 12px;top:8px;left:16px}.muted{color:var(--xh-text-2);font-weight:400}.t-display{font-size:clamp(2.25rem,5vw,4.5rem);font-weight:var(--xh-display-weight);letter-spacing:-.035em;margin:0;line-height:1.13}.t-h1{font-size:clamp(2rem,3.6vw,3rem);font-weight:var(--xh-display-weight);letter-spacing:-.03em;margin:0;line-height:1.16}.t-h2{letter-spacing:-.022em;margin:0;font-size:clamp(1.625rem,2.6vw,2.5rem);font-weight:700;line-height:1.2}.t-h3{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.t-lead{color:var(--xh-text-2);margin:0;font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.58}.t-small{color:var(--xh-text-2);margin:0;font-size:.875rem;line-height:1.5}.t-eyebrow{font-family:var(--xh-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:500;line-height:1.2}.t-meta{font-family:var(--xh-mono);letter-spacing:.04em;color:var(--xh-text-3);font-size:.75rem}.xh-btn{border-radius:var(--xh-r-sm);min-height:44px;font:600 .9375rem/1 var(--xh-font);cursor:pointer;white-space:nowrap;transition:background var(--xh-dur-quick) var(--xh-ease), box-shadow var(--xh-dur-quick) var(--xh-ease), transform var(--xh-dur-quick) var(--xh-ease), color var(--xh-dur-quick);border:0;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.xh-btn--lg{min-height:48px;padding:0 24px}.xh-btn--primary{background:var(--xh-btn-bg);color:var(--xh-btn-fg);box-shadow:inset 0 1px #ffffff80,0 1px 2px #0000004d}.xh-btn--primary:hover{background:var(--xh-btn-hover);transform:translateY(-1px)}.xh-btn--secondary{background:var(--xh-surface-2);color:var(--xh-text);box-shadow:var(--xh-shadow-bevel)}:root[data-surface=light] .xh-btn--secondary{color:var(--xh-signal)}.xh-btn--secondary:hover{background:color-mix(in srgb, var(--xh-surface-2), var(--xh-text) 6%);transform:translateY(-1px)}.xh-btn--ghost{color:var(--xh-text-2);background:0 0;padding:0 12px}.xh-btn--ghost:hover{background:var(--xh-hover-tint);color:var(--xh-text)}.xh-btn--mono{font:500 .75rem/1 var(--xh-mono);letter-spacing:.08em;text-transform:uppercase}.xh-btn:active{transform:translateY(1px)}.xh-icon-btn{flex:none;width:44px;padding:0}.xh-pill{border-radius:var(--xh-r-pill);background:var(--xh-hover-tint);box-shadow:inset 0 0 0 1px var(--xh-line-2);color:var(--xh-text-2);align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.xh-dot{background:var(--xh-signal);border-radius:50%;flex:none;width:6px;height:6px}.xh-badge{font:500 .6875rem/1 var(--xh-mono);letter-spacing:.08em;border-radius:var(--xh-r-xs);color:var(--xh-signal);padding:5px 8px;box-shadow:inset 0 0 0 1px}.xh-header{z-index:40;transition:background var(--xh-dur-normal), box-shadow var(--xh-dur-normal);background:0 0;position:sticky;top:0}.xh-header.is-stuck{background:var(--xh-glass);backdrop-filter:var(--xh-glass-blur);box-shadow:0 1px 0 var(--xh-line-2)}:root[data-surface=light] .xh-header{background:var(--xh-glass);box-shadow:0 1px 0 var(--xh-line-1);backdrop-filter:var(--xh-glass-blur)}@supports not (backdrop-filter:blur(1px)){.xh-header.is-stuck,:root[data-surface=light] .xh-header{background:var(--xh-bg)}}html .xh-header:has(.xh-menu[open]){background:var(--xh-bg);backdrop-filter:none;box-shadow:0 1px 0 var(--xh-line-2)}.xh-header__top{align-items:center;gap:16px;height:64px;display:flex}.xh-wordmark{letter-spacing:.02em;min-height:44px;color:var(--xh-text);white-space:nowrap;align-items:center;gap:10px;font-size:1rem;font-weight:800;text-decoration:none;display:inline-flex}.xh-logo{width:auto;display:none}.xh-logo--wide{height:40px}.xh-logo--text{height:20px}[data-surface=dark] .xh-logo--text.on-dark,[data-surface=light] .xh-logo--text.on-light{display:block}@media (width>=1024px){.xh-logo--text{display:none!important}[data-surface=dark] .xh-logo--wide.on-dark,[data-surface=light] .xh-logo--wide.on-light{display:block}}.xh-footer__logo{width:auto;height:104px;margin-bottom:16px;display:block}[data-surface=light] .xh-footer__logo.on-dark,[data-surface=dark] .xh-footer__logo.on-light{display:none}.xh-mono-mark{background:var(--xh-text);width:28px;height:28px;color:var(--xh-bg);font:800 .75rem/1 var(--xh-font);letter-spacing:0;border-radius:8px;place-items:center;display:inline-grid}.xh-nav{gap:2px;margin:0 auto;padding:0;list-style:none;display:none}.xh-nav>li{position:relative}.xh-nav a{min-height:44px;color:var(--xh-text-2);border-radius:var(--xh-r-sm);white-space:nowrap;transition:color var(--xh-dur-quick);align-items:center;padding:0 12px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.xh-nav a:hover{color:var(--xh-text)}.xh-nav a[aria-current=page]{color:var(--xh-text);text-decoration:underline;text-decoration-color:var(--xh-signal);text-underline-offset:8px;text-decoration-thickness:1px}.xh-nav .has-children>a:after{content:"";opacity:.6;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-left:8px;transform:translateY(-2px)rotate(45deg)}.xh-submenu{border-radius:var(--xh-r-md);background:var(--xh-surface-2);min-width:260px;box-shadow:var(--xh-shadow-raised);margin:0;padding:8px;list-style:none;display:none;position:absolute;top:100%;left:0}.xh-submenu a{width:100%;min-height:40px;font-size:.875rem;font-weight:500;display:flex}.xh-submenu a:hover{background:var(--xh-hover-tint)}.has-children:hover>.xh-submenu,.has-children:focus-within>.xh-submenu{display:block}.xh-header__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.xh-header__actions .contact{display:none}.xh-menu>summary{list-style:none}.xh-menu>summary::-webkit-details-marker{display:none}.xh-menu .ic-close,.xh-menu[open] .ic-open{display:none}.xh-menu[open] .ic-close{display:block}.xh-sheet{z-index:50;overscroll-behavior:contain;background:var(--xh-bg);padding:8px var(--xh-gutter) 32px;border-top:1px solid var(--xh-line-1);position:fixed;inset:64px 0 0;overflow-y:auto}.xh-sheet ul{margin:0;padding:0;list-style:none}.xh-sheet>ul>li>a{letter-spacing:-.01em;min-height:52px;color:var(--xh-text);border-bottom:1px solid var(--xh-line-1);align-items:center;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.xh-sheet>ul>li>a[aria-current=page]{color:var(--xh-signal)}.xh-sheet ul ul{border-bottom:1px solid var(--xh-line-1);padding:4px 0 12px 16px}.xh-sheet ul ul a{min-height:44px;color:var(--xh-text-2);align-items:center;font-size:.9375rem;text-decoration:none;display:flex}.xh-sheet ul ul a:before{content:"›";color:var(--xh-text-3);font-family:var(--xh-mono);margin-right:8px}@media (width>=1100px){.xh-nav{display:flex}.xh-menu{display:none}.xh-header__actions{margin-left:0}.xh-header__actions .contact{display:inline-flex}}.xh-hero{padding:40px 0 var(--xh-section);position:relative;overflow:hidden}.xh-hero__grid{align-items:center;gap:40px;display:grid;position:relative}.xh-hero__grid>*{min-width:0}@media (width>=1024px){.xh-hero__grid{grid-template-columns:7fr 5fr;gap:56px}.xh-hero{padding-top:72px}}.xh-hero__copy{justify-items:start;gap:24px;display:grid}.xh-hero__copy .t-lead{max-width:56ch}.xh-hero__ctas{flex-wrap:wrap;gap:12px;display:flex}.xh-dotgrid{pointer-events:none;background-image:radial-gradient(circle, var(--xh-dot) 1px, transparent 1.5px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 70% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 70% 40%,#000 20%,#0000 75%)}.xh-pagehead{padding:40px 0 32px;position:relative}@media (width>=1024px){.xh-pagehead{padding:64px 0 40px}}.xh-pagehead__inner{justify-items:start;gap:14px;max-width:820px;display:grid;position:relative}.xh-section{padding:0 0 var(--xh-section)}.xh-section__head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;margin-bottom:28px;display:flex}.xh-section__head>div{gap:10px;display:grid}.ascii .ch{transition:color .48s var(--xh-ease);position:relative}.ascii .ch.scramble{color:#0000}.ascii .ch.scramble:after{content:attr(data-g);color:var(--xh-text-3);font-family:var(--xh-mono);font-weight:400;position:absolute;top:0;left:0}.ascii .ch.land{color:var(--xh-gold);transition:none}.xh-signal-panel{border-radius:var(--xh-r-lg);background:var(--xh-surface-1);box-shadow:inset 0 1px 0 var(--xh-highlight), 0 0 0 1px var(--xh-glass-border), 0 32px 56px -32px #0009;position:relative;overflow:hidden}.xh-signal-panel section{gap:12px;padding:20px 24px;display:grid}.xh-signal-panel section+section{border-top:1px solid var(--xh-line-1)}.xh-signal-panel ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.sig-head{color:var(--xh-text-3);justify-content:space-between;display:flex}.sig-status{color:var(--xh-signal);align-items:center;gap:6px;display:inline-flex}.sig-row{min-height:44px;color:var(--xh-text);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;text-decoration:none;display:flex}.sig-row:hover .sig-title{text-decoration:underline;text-decoration-color:var(--xh-signal);text-underline-offset:4px}.sig-title{min-width:0;font-size:.9375rem;font-weight:600;line-height:1.4}.sig-row .t-meta{flex:none}.sig-links{flex-wrap:wrap;gap:8px;display:flex}.xh-grid{grid-template-columns:1fr;gap:16px;display:grid}.xh-grid>*{min-width:0}@media (width>=640px){.xh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.xh-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}@media (width>=1280px){.xh-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.xh-card{border-radius:var(--xh-r-md);background:var(--xh-surface-1);box-shadow:var(--xh-shadow-card);transition:box-shadow var(--xh-dur-normal) var(--xh-ease), transform var(--xh-dur-normal) var(--xh-ease);flex-direction:column;display:flex;position:relative}.xh-card[hidden]{display:none}.xh-card:hover,.xh-card:focus-within{box-shadow:var(--xh-shadow-raised);transform:translateY(-2px)}.xh-card__cat{z-index:2;border-radius:var(--xh-r-pill);background:var(--xh-cat-bg);max-width:calc(100% - 24px);min-height:24px;color:var(--xh-cat-fg);box-shadow:inset 0 0 0 1px var(--xh-cat-line), var(--xh-cat-shadow);font:600 .6875rem/1.2 var(--xh-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:background var(--xh-dur-quick), color var(--xh-dur-quick);align-items:center;padding:3px 10px;text-decoration:none;display:inline-flex;position:absolute;top:14px;left:-8px}.xh-card__cat>span{text-overflow:ellipsis;overflow:hidden}.xh-card__cat:hover{background:var(--xh-cat-fg);color:var(--xh-cat-bg)}.xh-card__cat:before{content:"";position:absolute;inset:-10px -4px}.xh-card__media{aspect-ratio:16/9;border-radius:var(--xh-r-md) var(--xh-r-md) 0 0;background:var(--xh-bg);box-shadow:inset 0 -1px 0 var(--xh-line-1);overflow:hidden}.xh-card__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--xh-dur-slow) var(--xh-ease);display:block}.xh-card:hover .xh-card__media img{transform:scale(1.03)}.xh-card__body{flex-direction:column;flex:1;gap:10px;min-width:0;padding:14px 18px 20px;display:flex}.xh-card__meta{min-height:24px;color:var(--xh-meta);opacity:.85;text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 6px;margin:0;font-size:.6875rem;display:flex}.xh-card__meta .xh-badge{background:var(--xh-badge-new-bg);color:var(--xh-badge-new-fg);box-shadow:none;margin-right:auto;padding:4px 6px;font-size:.625rem}.xh-card__title{letter-spacing:-.01em;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.38}@media (width>=768px){.xh-card__title{font-size:1.125rem}}.xh-card__title a{color:var(--xh-text);transition:color var(--xh-dur-quick);text-decoration:none}.xh-card__title a:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.xh-card:hover .xh-card__title a{color:var(--xh-signal)}.xh-card__title a:focus-visible{outline:none}.xh-card:has(.xh-card__title a:focus-visible){outline:2px solid var(--xh-signal);outline-offset:3px}.xh-card__desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.xh-section--top{padding-top:28px}@media (width>=1024px){.xh-section--top{padding-top:40px}}.xh-section--tight{padding-bottom:var(--xh-section)}.xh-section--top>.wrap>.breadcrumbs{margin-bottom:12px}.xh-listing__head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;margin-bottom:20px;display:flex}.xh-listing__title{gap:8px;min-width:0;display:grid}.xh-listing__sapo{max-width:72ch;color:var(--xh-text-2);margin:0;font-size:1rem;line-height:1.55}.xh-toolbar{border-radius:var(--xh-r-md);background:var(--xh-surface-1);box-shadow:var(--xh-shadow-card);gap:10px;margin-bottom:20px;padding:10px;display:grid}.xh-toolbar[hidden]{display:none}@media (width>=768px){.xh-toolbar{z-index:30;background:color-mix(in srgb, var(--xh-surface-1) 88%, transparent);backdrop-filter:var(--xh-glass-blur);position:sticky;top:72px}}.xh-toolbar__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.xh-field{border-radius:var(--xh-r-sm);background:var(--xh-field-bg);min-height:44px;box-shadow:inset 0 0 0 1px var(--xh-line-control);color:var(--xh-text-2);transition:box-shadow var(--xh-dur-quick);align-items:center;display:inline-flex;position:relative}.xh-field:hover{box-shadow:inset 0 0 0 1px var(--xh-text-2)}.xh-field:focus-within{box-shadow:inset 0 0 0 2px var(--xh-signal)}.xh-field input,.xh-field select{min-width:0;height:44px;color:var(--xh-text);font:inherit;background:0 0;border:0;outline:none;font-size:.9375rem}.xh-field--search{flex:240px;gap:8px;padding-left:12px}.xh-field--search input{flex:1;padding-right:12px}.xh-field--select select{-webkit-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;padding:0 32px 0 12px}.xh-field--select select option{background:var(--xh-surface-2);color:var(--xh-text)}.xh-toolbar__view{align-items:center;gap:4px;margin-left:auto;display:flex}.xh-tool{border-radius:var(--xh-r-sm);width:44px;height:44px;color:var(--xh-text-2);cursor:pointer;transition:background var(--xh-dur-quick), color var(--xh-dur-quick);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.xh-tool:hover{background:var(--xh-hover-tint);color:var(--xh-text)}.xh-tool[aria-pressed=true]{background:var(--xh-chip-bg-active);color:var(--xh-chip-fg-active)}.xh-cols{align-items:center;gap:8px;min-height:44px;padding:0 8px;display:inline-flex}.xh-cols.is-disabled{display:none}.xh-cols__label{white-space:nowrap}.xh-cols input{width:92px;accent-color:var(--xh-signal);cursor:pointer}.xh-chips{flex-wrap:wrap;gap:6px;display:flex}.xh-chip{border-radius:var(--xh-r-pill);background:var(--xh-chip-bg);min-height:36px;box-shadow:inset 0 0 0 1px var(--xh-line-2);color:var(--xh-text-2);font:500 .8125rem/1 var(--xh-font);cursor:pointer;transition:background var(--xh-dur-quick), color var(--xh-dur-quick), box-shadow var(--xh-dur-quick);border:0;align-items:center;padding:0 12px;display:inline-flex}@media (pointer:coarse){.xh-chip{min-height:44px}}.xh-chip:hover{color:var(--xh-text);box-shadow:inset 0 0 0 1px var(--xh-text-2)}.xh-chip[aria-pressed=true]{background:var(--xh-chip-bg-active);color:var(--xh-chip-fg-active);box-shadow:none}.xh-chip__n{font:500 .6875rem/1 var(--xh-mono);opacity:.6;margin-left:6px}.xh-chip__n:empty{display:none}.xh-chip.is-zero:not([aria-pressed=true]){opacity:.55}.xh-toolbar__status{min-height:1em;margin:0}.xh-listing.is-enhanced .xh-listing__grid{grid-template-columns:repeat(var(--cols,1), minmax(0, 1fr))}.xh-listing__grid.is-list .xh-card{flex-direction:row}.xh-listing__grid.is-list .xh-card__media{aspect-ratio:auto;border-radius:var(--xh-r-md) 0 0 var(--xh-r-md);min-height:140px;box-shadow:inset -1px 0 0 var(--xh-line-1);flex:0 0 clamp(140px,34%,260px)}.xh-listing__grid.is-list .xh-card__desc{-webkit-line-clamp:2}.xh-empty{border-radius:var(--xh-r-md);box-shadow:inset 0 0 0 1px var(--xh-line-2);color:var(--xh-text-2);justify-items:start;gap:12px;padding:24px;display:grid}.xh-empty[hidden]{display:none}.xh-empty p{margin:0}.xh-empty strong{color:var(--xh-text)}.xh-empty__actions{flex-wrap:wrap;gap:8px;display:flex}.xh-empty__actions [hidden]{display:none}.xh-more{justify-items:center;gap:14px;margin-top:32px;display:grid}.xh-more__btn{min-width:220px}.xh-more__btn[aria-busy=true]{opacity:.7;cursor:progress}.xh-pages{color:var(--xh-text-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 4px;display:flex}.xh-pages a,.xh-pages span[aria-current]{border-radius:var(--xh-r-xs);min-width:28px;min-height:28px;color:var(--xh-text-3);justify-content:center;align-items:center;padding:0 4px;text-decoration:none;display:inline-flex}.xh-pages a:hover{color:var(--xh-text);background:var(--xh-hover-tint)}.xh-pages a.is-loaded{color:var(--xh-text-2);text-decoration:underline;text-decoration-color:var(--xh-line-control)}.xh-pages [aria-current]{color:var(--xh-text);box-shadow:inset 0 0 0 1px var(--xh-line-2);font-weight:600}.xh-pagination{flex-wrap:wrap;gap:8px;margin:40px 0 0;display:flex}.xh-pagination a,.xh-pagination span{border-radius:var(--xh-r-sm);min-width:44px;min-height:44px;font:500 .8125rem/1 var(--xh-mono);letter-spacing:.04em;color:var(--xh-text-2);justify-content:center;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.xh-pagination a{background:var(--xh-surface-1);box-shadow:inset 0 0 0 1px var(--xh-line-control)}.xh-pagination a:hover{color:var(--xh-text);background:var(--xh-surface-2)}.xh-pagination [aria-current]{background:var(--xh-text);color:var(--xh-bg)}.xh-hero__motto{color:var(--xh-text);font-weight:600}.xh-hero__sub{max-width:60ch;color:var(--xh-text-2);margin:0}.xh-hero__author{color:var(--xh-text);border-bottom:1px solid var(--xh-line-1);transition:background var(--xh-dur-quick);align-items:center;gap:14px;padding:20px 24px;text-decoration:none;display:flex}.xh-hero__author:hover{background:var(--xh-hover-tint)}.xh-hero__author img{object-fit:cover;width:72px;height:72px;box-shadow:0 0 0 2px var(--xh-surface-1), 0 0 0 3px var(--xh-cat-line);border-radius:50%;flex:none}.xh-hero__author>span{gap:2px;min-width:0;display:grid}@media (width>=1024px){.xh-hero__author img{width:88px;height:88px}}.xh-band{padding-top:var(--xh-section);background:var(--xh-bg-sunken);background-image:linear-gradient(var(--xh-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--xh-grid-line) 1px, transparent 1px);background-size:32px 32px}.xh-hubs{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.xh-hub{border-radius:var(--xh-r-md);background:var(--xh-surface-1);box-shadow:var(--xh-shadow-card);transition:box-shadow var(--xh-dur-normal) var(--xh-ease), transform var(--xh-dur-normal) var(--xh-ease);align-content:start;gap:10px;padding:22px;display:grid;position:relative}.xh-hub:hover,.xh-hub:focus-within{box-shadow:var(--xh-shadow-raised);transform:translateY(-2px)}.xh-hub__no{color:var(--xh-cat-fg);font-size:.8125rem;font-weight:600}.xh-hub__title{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.xh-hub__title a{color:var(--xh-text);text-decoration:none}.xh-hub__title a:hover{color:var(--xh-signal)}.xh-hub__desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.xh-hub__links{border-top:1px solid var(--xh-line-1);gap:2px;margin:0;padding:10px 0 0;font-size:.875rem;line-height:1.4;list-style:none;display:grid}.xh-hub__links a{color:var(--xh-text-2);padding:6px 0;text-decoration:none;display:block}.xh-hub__links a:before{content:"→ ";color:var(--xh-text-3)}.xh-hub__links a:hover{color:var(--xh-text);text-decoration:underline}.xh-hub__more{color:var(--xh-text-3)}.xh-tools{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.xh-tool-card{border-radius:var(--xh-r-md);background:var(--xh-surface-1);box-shadow:var(--xh-shadow-card);transition:box-shadow var(--xh-dur-normal) var(--xh-ease), transform var(--xh-dur-normal) var(--xh-ease);align-content:start;gap:8px;padding:20px;display:grid;position:relative}.xh-tool-card:hover,.xh-tool-card:focus-within{box-shadow:var(--xh-shadow-raised);transform:translateY(-2px)}.xh-tool-card__tag{border-radius:var(--xh-r-pill);background:var(--xh-badge-new-bg);color:var(--xh-badge-new-fg);justify-self:start;padding:3px 8px}.xh-tool-card__name{margin:0;font-size:1.125rem;font-weight:700}.xh-tool-card__name a{color:var(--xh-text);text-decoration:none}.xh-tool-card__name a:after{content:"";border-radius:inherit;position:absolute;inset:0}.xh-tool-card:hover .xh-tool-card__name a{color:var(--xh-signal)}.xh-whois{align-items:start;gap:24px 48px;display:grid}@media (width>=900px){.xh-whois{grid-template-columns:minmax(200px,320px) minmax(0,1fr)}}.xh-whois__img{aspect-ratio:1;object-fit:cover;border-radius:var(--xh-r-lg);width:min(100%,320px);box-shadow:var(--xh-shadow-raised)}@media (width<=899.98px){.xh-whois__img{width:160px}}.xh-whois__body{gap:16px;min-width:0;display:grid}.xh-facts{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px 24px;margin:0;display:grid}.xh-facts div{border-radius:var(--xh-r-sm);background:var(--xh-surface-1);box-shadow:inset 0 0 0 1px var(--xh-line-1);padding:12px 14px}.xh-facts dt{font:500 .6875rem/1.4 var(--xh-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--xh-text-3)}.xh-facts dd{margin:4px 0 0;font-weight:600;line-height:1.45}.xh-sameas{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.xh-sameas a{border-radius:var(--xh-r-pill);background:var(--xh-chip-bg);min-height:44px;box-shadow:inset 0 0 0 1px var(--xh-line-2);color:var(--xh-text-2);align-items:center;padding:0 14px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.xh-sameas a:hover{color:var(--xh-text);box-shadow:inset 0 0 0 1px var(--xh-text-2)}.xh-whois__foot{flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0;display:flex}.xh-newsletter{border-radius:var(--xh-r-lg);background:var(--xh-surface-1);box-shadow:var(--xh-shadow-card);gap:16px 32px;padding:24px;display:grid}@media (width>=900px){.xh-newsletter{grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:center;padding:32px 40px}}.xh-newsletter.is-compact{border-left:3px solid var(--xh-signal);border-radius:0 var(--xh-r-md) var(--xh-r-md) 0;margin-top:40px;padding:20px}@media (width>=900px){.xh-newsletter.is-compact{padding:24px 28px}}.xh-newsletter__copy{gap:6px;display:grid}.xh-newsletter__title{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.xh-newsletter__form{flex-wrap:wrap;gap:8px;display:flex}.xh-newsletter__form input{border-radius:var(--xh-r-sm);background:var(--xh-field-bg);min-width:0;min-height:44px;box-shadow:inset 0 0 0 1px var(--xh-line-control);color:var(--xh-text);font:inherit;border:0;flex:200px;padding:0 14px;font-size:.9375rem}.xh-newsletter__form input:focus{box-shadow:inset 0 0 0 2px var(--xh-signal);outline:none}.xh-newsletter__form input[aria-invalid=true]{box-shadow:inset 0 0 0 2px #e5484d}.xh-newsletter__form button[disabled]{opacity:.7;cursor:progress}.xh-newsletter__msg{flex-basis:100%;min-height:1.2em}.xh-newsletter__msg:empty{display:none}.xh-newsletter__msg[data-state=ok]{color:#30a46c}:root[data-surface=light] .xh-newsletter__msg[data-state=ok]{color:#18794e}.xh-newsletter__msg[data-state=err]{color:var(--xh-text)}.xh-newsletter__msg[data-state=err]:before{content:"ⓘ ";color:var(--xh-warm)}.xh-article{width:100%;max-width:calc(var(--xh-container) + 2 * var(--xh-gutter));padding:32px var(--xh-gutter) var(--xh-section);margin:0 auto}.xh-article__body{--toc-w:300px;display:block}.xh-article__main{min-width:0}@media (width>=1200px){.xh-article__body.has-toc{grid-template-columns:minmax(0, 1fr) var(--toc-w);align-items:start;gap:48px;display:grid}.xh-article__body.has-toc.toc-hidden{grid-template-columns:minmax(0,1fr)}}@media (width>=1024px){.xh-article{padding-top:48px}}.xh-article__head{gap:16px;margin-bottom:32px;display:grid}.breadcrumbs{font:400 .75rem/1.5 var(--xh-mono);color:var(--xh-text-3);letter-spacing:.04em}.breadcrumbs a{color:var(--xh-text-2);padding:4px 0;text-decoration:none;display:inline-block}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .sep{opacity:.6;margin:0 8px}.xh-article__eyebrow{color:var(--xh-signal);justify-self:start;text-decoration:none}.xh-article__meta{border-top:1px solid var(--xh-line-2);flex-wrap:wrap;gap:6px 16px;margin:0;padding-top:16px;display:flex}.xh-article__meta a{color:var(--xh-text);font-weight:600;font-family:var(--xh-font);letter-spacing:0;text-decoration:none}.xh-article__meta a:hover{text-decoration:underline}.prose{font-size:clamp(1.0625rem,.95rem + .3vw,1.25rem);line-height:1.75}.prose>*{margin-top:0;margin-bottom:0}.prose>*+*{margin-top:1.25em}.prose p{margin:0}.prose>p+p,.prose li>p+p{margin-top:1em}.prose h2,.prose h3{scroll-margin-top:88px}.prose h2{letter-spacing:-.022em;margin-top:2em;font-size:clamp(1.5rem,2.2vw,1.875rem);font-weight:700;line-height:1.25}.prose h3{letter-spacing:-.01em;margin-top:1.6em;font-size:1.25rem;font-weight:600;line-height:1.35}.prose h4{margin-top:1.4em;font-size:1.0625rem;font-weight:600}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.75em}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--xh-text-3)}.prose strong{font-weight:700}.prose hr{border:0;border-top:1px solid var(--xh-line-2);margin:2.5em 0}.prose img{border-radius:var(--xh-r-sm);max-width:100%;height:auto;margin:0 auto;display:block}.prose p>img,.prose a>img{margin-top:.5em;margin-bottom:.5em}.prose figure{text-align:center;margin-left:0;margin-right:0}.prose figcaption{color:var(--xh-text-2);margin-top:8px;font-size:.875rem;line-height:1.5}.prose iframe,.prose video{border-radius:var(--xh-r-sm);border:0;width:100%;display:block}.prose iframe{aspect-ratio:16/9;height:auto}.prose code{font-family:var(--xh-mono);background:var(--xh-line-1);overflow-wrap:anywhere;border-radius:5px;padding:.12em .38em;font-size:.875em}.prose pre,.prose pre.astro-code{border-radius:var(--xh-r-md);color:#f4f5f7;font:400 .875rem/1.6 var(--xh-mono);tab-size:2;margin-left:0;margin-right:0;padding:16px;position:relative;overflow-x:auto;box-shadow:inset 0 1px #ffffff12,0 0 0 1px #ffffff0f,0 12px 24px -16px #0009;background:#07080a!important}.prose pre[data-language]:not([data-language=plaintext]):before{content:attr(data-language);color:#f4f5f78f;font:500 .6875rem/1 var(--xh-mono);letter-spacing:.08em;text-transform:uppercase;margin:-4px 0 12px;display:block}.prose pre code{font-size:inherit;color:inherit;overflow-wrap:normal;background:0 0;padding:0}.prose blockquote,.editorial-note{border-left:3px solid var(--xh-signal);border-radius:0 var(--xh-r-sm) var(--xh-r-sm) 0;background:var(--xh-surface-1);box-shadow:inset 0 0 0 1px var(--xh-line-1);margin-left:0;margin-right:0;padding:16px 20px;font-size:1rem}.prose blockquote>*+*{margin-top:.75em}.prose blockquote p{margin:0}.editorial-note{border-left-color:var(--xh-warm);margin:0 0 2em}.editorial-note p{margin:.4em 0 0}.editorial-note p:first-child{margin-top:0}.prose .table-wrap{border-radius:var(--xh-r-sm);box-shadow:inset 0 0 0 1px var(--xh-line-2);background:var(--xh-surface-1);-webkit-overflow-scrolling:touch;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.55}.prose .table-wrap table{min-width:520px}.prose>table{display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--xh-line-1);vertical-align:top;padding:10px 14px}.prose th{font:500 .6875rem/1.4 var(--xh-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--xh-text-2);background:var(--xh-bg)}.prose tr:last-child td{border-bottom:0}.prose td img{margin:0;display:inline-block}.prose details{border-radius:var(--xh-r-sm);box-shadow:inset 0 0 0 1px var(--xh-line-2);padding:4px 16px}.prose details[open]{padding-bottom:16px}.prose summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.prose ul.wp-gallery,.prose ul:has(>li>img:only-child){grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;padding:0;list-style:none;display:grid}.prose ul.wp-gallery li,.prose ul:has(>li>img:only-child) li{margin:0}.prose .btn{border-radius:var(--xh-r-sm);background:var(--xh-btn-bg);min-height:44px;color:var(--xh-btn-fg);align-items:center;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}.prose .btn:hover{background:var(--xh-btn-hover)}.xh-tags{border-top:1px solid var(--xh-line-2);flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:24px;display:flex}.xh-tag{border-radius:var(--xh-r-pill);min-height:28px;box-shadow:inset 0 0 0 1px var(--xh-line-2);color:var(--xh-text-2);font:400 .75rem/1 var(--xh-mono);letter-spacing:.02em;align-items:center;padding:0 10px;display:inline-flex}.paywall-marker{border-left:3px solid var(--xh-warm);border-radius:0 var(--xh-r-sm) var(--xh-r-sm) 0;background:var(--xh-surface-1);box-shadow:inset 0 0 0 1px var(--xh-line-2);margin:2em 0;padding:16px 20px}.paywall-marker p{margin:0}.xh-search{max-width:820px}.xh-search .pagefind-ui{--pagefind-ui-scale:.9;--pagefind-ui-primary:var(--xh-signal);--pagefind-ui-text:var(--xh-text);--pagefind-ui-background:var(--xh-surface-1);--pagefind-ui-border:var(--xh-line-control);--pagefind-ui-tag:var(--xh-surface-2);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:10px;--pagefind-ui-font:var(--xh-font)}.xh-search .pagefind-ui__search-input,.xh-search .pagefind-ui__result-link{color:var(--xh-text)}.xh-search .pagefind-ui__result-excerpt,.xh-search .pagefind-ui__message{color:var(--xh-text-2)}.xh-search .pagefind-ui__result-excerpt mark{color:var(--xh-signal);background:0 0;font-weight:600}.xh-search .pagefind-ui__result{border-top-color:var(--xh-line-2)}.xh-footer{border-top:1px solid var(--xh-line-1);color:#f4f5f7;--xh-text:#f4f5f7;--xh-text-2:#a7adb7;--xh-text-3:#f4f5f78f;--xh-signal:#9dcdff;--xh-line-1:#ffffff0f;background:#07080a;margin-top:auto;padding:56px 0 0;position:relative;overflow:hidden}.xh-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;display:grid}@media (width>=900px){.xh-footer__cols{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1200px){.xh-footer__cols{grid-template-columns:1.6fr repeat(5,minmax(0,1fr))}}.xh-footer__brand{grid-column:1/-1;align-content:start;justify-items:start;gap:12px;display:grid}@media (width>=900px){.xh-footer__brand{grid-column:auto}}.xh-footer__brand p{max-width:40ch;margin:0}.xh-footer h2{margin:0 0 8px;font-size:.9375rem;font-weight:600}.xh-footer ul{margin:0;padding:0;list-style:none;display:grid}.xh-footer ul a{min-height:36px;color:var(--xh-text-2);align-items:center;font-size:.875rem;text-decoration:none;display:inline-flex}.xh-footer ul a:hover{color:var(--xh-text)}.xh-footer__bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:32px 0 20px;display:flex}.xh-contours{color:#f4f5f7;opacity:.14;width:100%;height:160px;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}.xh-card:hover,.xh-card:focus-within,.xh-btn:hover{transform:none}}.xh-toc{display:none}@media (width>=1200px){.xh-side{flex-direction:column;gap:16px;min-width:0;max-height:calc(100vh - 104px);display:flex;position:sticky;top:80px}.toc-hidden .xh-side{display:none}.xh-toc{border:1px solid var(--xh-line-1);border-radius:var(--xh-r-md);background:var(--xh-surface-1);min-height:160px;box-shadow:var(--xh-shadow-card);flex-direction:column;flex:0 auto;display:flex;position:relative}.toc-hidden .xh-toc{display:none}.xh-toc.is-flash{animation:xh-flash 1.2s var(--xh-ease)}.xh-toc__resize{cursor:col-resize;touch-action:none;width:12px;position:absolute;top:0;bottom:0;left:-10px}.xh-toc__resize:after{content:"";background:var(--xh-line-2);width:2px;height:40px;transition:background var(--xh-dur-quick);border-radius:2px;margin-top:-20px;position:absolute;top:50%;left:5px}.xh-toc__resize:hover:after,.xh-toc__resize:focus-visible:after,.is-resizing .xh-toc__resize:after{background:var(--xh-signal)}.is-resizing{cursor:col-resize;user-select:none}}.xh-toc__head{align-items:center;gap:8px;padding:12px 14px 8px;display:flex}.xh-toc__count{color:var(--xh-text-3);font:400 .75rem/1 var(--xh-mono);margin-right:auto}.xh-toc__close{color:var(--xh-text-3);cursor:pointer;border-radius:var(--xh-r-sm);background:0 0;border:0;min-width:32px;min-height:32px}.xh-toc__close:hover{background:var(--xh-hover-tint);color:var(--xh-text)}.xh-toc__progress{background:var(--xh-line-1);border-radius:2px;height:2px;margin:0 14px 8px;overflow:hidden}.xh-toc__progress span{background:var(--xh-signal);width:0;height:100%;transition:width .15s linear;display:block}.xh-toc__list{overscroll-behavior:contain;margin:0;padding:0 8px 12px;font-size:.875rem;line-height:1.4;list-style:none;overflow:auto}.xh-toc__list li.sub a{padding-left:24px;font-size:.8125rem}.xh-toc__list a{border-radius:0 var(--xh-r-sm) var(--xh-r-sm) 0;color:var(--xh-text-2);border-left:2px solid #0000;padding:6px 10px;text-decoration:none;display:block}.xh-toc__list a:hover{background:var(--xh-hover-tint);color:var(--xh-text)}.xh-toc__list a.is-active{border-left-color:var(--xh-signal);color:var(--xh-text);background:var(--xh-hover-tint);font-weight:600}.xh-toc__fab{z-index:40;border-radius:var(--xh-r-pill);border:1px solid var(--xh-line-2);background:var(--xh-btn-bg);min-height:44px;color:var(--xh-btn-fg);font:inherit;box-shadow:var(--xh-shadow-raised);cursor:pointer;transition:transform var(--xh-dur-normal) var(--xh-ease), opacity var(--xh-dur-normal);padding:0 16px;font-size:.875rem;font-weight:600;position:fixed;bottom:16px;right:16px}.xh-toc__fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(80px)}@media (width>=1200px){.xh-toc__fab{display:none}.toc-hidden .xh-toc__fab{display:block}}@media (width<=1199.98px){.toc-open .xh-toc{z-index:50;border:1px solid var(--xh-line-2);border-radius:var(--xh-r-lg);background:var(--xh-bg);flex-direction:column;max-height:70vh;display:flex;position:fixed;bottom:8px;left:8px;right:8px;box-shadow:0 -12px 40px #00000040}.toc-open .xh-toc__fab{display:none}}.prose .xh-table{border-radius:var(--xh-r-sm);max-height:75vh;box-shadow:inset 0 0 0 1px var(--xh-line-2);background:var(--xh-surface-1);-webkit-overflow-scrolling:touch;overflow:auto}.prose .xh-table table{margin:0;display:table}.prose .xh-table thead th{z-index:1;background:var(--xh-surface-2,var(--xh-surface-1));position:sticky;top:0}.prose .xh-table tbody tr:hover{background:var(--xh-hover-tint)}.xh-sort{all:unset;cursor:pointer;font-weight:inherit;align-items:center;gap:6px;display:inline-flex}.xh-sort:focus-visible{outline:2px solid var(--xh-signal);outline-offset:2px}.xh-sort span:after{content:"↕";opacity:.35;font-size:.8em}[aria-sort=ascending] .xh-sort span:after{content:"↑";opacity:1}[aria-sort=descending] .xh-sort span:after{content:"↓";opacity:1}.prose .xh-table__bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.prose .xh-table__bar input{min-height:40px;font:inherit;color:var(--xh-text);background:var(--xh-surface-1);border:1px solid var(--xh-line-control);border-radius:var(--xh-r-sm);flex:240px;padding:0 12px;font-size:.9375rem}.prose .xh-table__bar input:focus-visible{outline:2px solid var(--xh-signal)}.xh-table__count{color:var(--xh-text-3);font:400 .8125rem/1 var(--xh-mono)}.prose .xh-table__bar+.xh-table{margin-top:0}.prose img.is-zoomable{cursor:zoom-in;transition:box-shadow var(--xh-dur-quick)}.prose img.is-zoomable:hover,.prose img.is-zoomable:focus-visible{box-shadow:0 0 0 3px var(--xh-signal);outline:none}html.has-modal{overflow:hidden}.xh-lb{color:#f4f5f7;background:#060708;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.xh-lb[open]{grid-template-rows:auto minmax(0,1fr) auto auto;display:grid}.xh-lb::backdrop{background:#07080a99}.xh-lb__top{justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;display:flex}.xh-lb__count{color:#f4f5f7cc;font-size:.8125rem}.xh-lb__tools{gap:4px;display:flex}.xh-lb__btn{border-radius:var(--xh-r-pill);color:#f4f5f7;min-width:44px;min-height:44px;font:600 1.125rem/1 var(--xh-font);cursor:pointer;background:#ffffff14;border:0;padding:0 10px}.xh-lb__btn:hover{background:#ffffff2e}.xh-lb__pct{min-width:64px;font-size:.75rem}.xh-lb__stage{touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:relative;overflow:hidden}.xh-lb__stage img{object-fit:contain;border-radius:var(--xh-r-xs);max-width:min(92vw,1600px);max-height:100%;transition:transform .22s var(--xh-ease);transform-origin:50%;cursor:zoom-in;will-change:transform}.xh-lb__stage img.is-zoomed{cursor:grab}.xh-lb__stage img.is-zoomed:active{cursor:grabbing}.xh-lb__nav{z-index:2;border-radius:var(--xh-r-md);color:#fff;width:48px;height:64px;font:400 2rem/1 var(--xh-font);cursor:pointer;background:#00000073;border:0;margin-top:-32px;position:absolute;top:50%;box-shadow:inset 0 0 0 1px #ffffff2e}.xh-lb__nav:hover{background:#000000b3}.xh-lb__prev{left:8px}.xh-lb__next{right:8px}@media (width>=1024px){.xh-lb__prev{left:24px}.xh-lb__next{right:24px}}.xh-lb__cap{text-align:center;color:#f4f5f7;max-width:80ch;margin:0 auto;padding:10px 16px 0;font-size:.9375rem;line-height:1.5}.xh-lb__cap[hidden]{display:none}.xh-lb__hint{text-align:center;color:#f4f5f78c;margin:0;padding:6px 16px 12px}@media (width<=640px){.xh-lb__hint{display:none}.xh-lb__nav{width:40px;height:56px;margin-top:-28px}}.xh-search-btn{gap:6px;min-width:44px;padding:0 10px}.xh-kbd,.xh-cmd kbd{min-width:20px;box-shadow:inset 0 0 0 1px var(--xh-line-2);font:500 .6875rem/1.2 var(--xh-mono);color:var(--xh-text-3);border-radius:5px;padding:2px 6px;display:none}@media (width>=1100px){.xh-kbd{display:inline-block}}.xh-cmd{border-radius:var(--xh-r-lg);background:var(--xh-surface-2);width:min(720px,100vw - 24px);max-width:none;max-height:min(640px,100dvh - 48px);color:var(--xh-text);box-shadow:var(--xh-shadow-raised), 0 40px 80px -20px #0009;border:0;margin:8vh auto auto;padding:0;overflow:hidden}.xh-cmd::backdrop{backdrop-filter:blur(4px);background:#07080a8c}.xh-cmd[open]{display:flex}.xh-cmd__box{flex-direction:column;width:100%;min-height:0;display:flex}.xh-cmd__bar{border-bottom:1px solid var(--xh-line-2);color:var(--xh-text-2);align-items:center;gap:10px;padding:8px 8px 8px 18px;display:flex}.xh-cmd__input{min-width:0;height:52px;color:var(--xh-text);font:500 1.0625rem/1 var(--xh-font);background:0 0;border:0;outline:none;flex:1}.xh-cmd__input::-webkit-search-cancel-button{display:none}.xh-cmd__close{border-radius:var(--xh-r-sm);background:var(--xh-hover-tint);min-width:44px;min-height:44px;color:var(--xh-text-2);font:500 .75rem/1 var(--xh-mono);cursor:pointer;border:0}.xh-cmd__close:hover{color:var(--xh-text)}.xh-cmd__status{margin:0;padding:10px 18px 4px}.xh-cmd__list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:4px 8px 8px;list-style:none;overflow-y:auto}.xh-cmd__item{border-radius:var(--xh-r-sm);color:var(--xh-text);gap:4px;padding:10px 12px;text-decoration:none;display:grid}.xh-cmd__item[aria-selected=true]{background:var(--xh-hover-tint);box-shadow:inset 3px 0 0 var(--xh-signal)}.xh-cmd__cat{background:var(--xh-badge-bg);color:var(--xh-badge-fg);font:600 .625rem/1.4 var(--xh-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;justify-self:start;padding:2px 8px}.xh-cmd__title{font-weight:600;line-height:1.35}.xh-cmd__ex{color:var(--xh-text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.xh-cmd__ex mark{color:var(--xh-signal);background:0 0;font-weight:700}.xh-cmd__foot{border-top:1px solid var(--xh-line-2);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:10px 18px;display:flex}.xh-cmd__foot kbd{margin-right:3px;display:inline-block}.xh-cmd__foot a{color:var(--xh-signal);margin-left:auto}@media (width<=640px){.xh-cmd{max-height:calc(100dvh - 24px);margin-top:12px}.xh-cmd__foot span{display:none}}.xh-card__body{padding-bottom:38px}.xh-card__meta{opacity:.8;min-height:0;font-size:.625rem;line-height:1.4;position:absolute;bottom:12px;left:18px;right:18px}.xh-card__meta .xh-badge{padding:2px 6px;font-size:.5625rem}.xh-toolbar__chiprow{align-items:center;gap:12px;min-width:0;display:flex}.xh-toolbar__chiprow .xh-chips{overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;flex:auto;min-width:0;padding-bottom:2px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.xh-toolbar__chiprow .xh-chip{flex:none}.xh-toolbar__chiprow .xh-toolbar__status{white-space:nowrap;text-align:right;flex:none;margin-left:auto}.xh-card:not(:has(.xh-card__media)) .xh-card__body{padding-top:46px}.xh-card__cat[style*=--h]{--xh-cat-bg:hsl(var(--h) 38% 14%);--xh-cat-fg:hsl(var(--h) 85% 76%);--xh-cat-line:hsl(var(--h) 80% 70% / .34)}[data-surface=light] .xh-card__cat[style*=--h]{--xh-cat-bg:hsl(var(--h) 85% 96%);--xh-cat-fg:hsl(var(--h) 72% 32%);--xh-cat-line:hsl(var(--h) 70% 40% / .3)}.xh-chip[style*=--h]{color:hsl(var(--h) 80% 78%);box-shadow:inset 0 0 0 1px hsl(var(--h) 75% 70% / .34)}.xh-chip[style*=--h]:hover{box-shadow:inset 0 0 0 1px hsl(var(--h) 80% 72% / .8)}.xh-chip[style*=--h][aria-pressed=true]{background:hsl(var(--h) 80% 74%);color:#07080a;box-shadow:none}[data-surface=light] .xh-chip[style*=--h]{color:hsl(var(--h) 72% 32%);background:hsl(var(--h) 85% 97%);box-shadow:inset 0 0 0 1px hsl(var(--h) 70% 40% / .28)}[data-surface=light] .xh-chip[style*=--h][aria-pressed=true]{background:hsl(var(--h) 72% 34%);color:#fff}@keyframes xh-flash{0%,to{box-shadow:var(--xh-shadow-card)}30%{box-shadow:0 0 0 3px var(--xh-signal), var(--xh-shadow-raised)}}.xh-header__top{position:relative}.xh-hctx{flex:auto;align-items:baseline;gap:10px;min-width:0;max-width:720px;margin:0 auto;display:none}.xh-hctx__label{color:var(--xh-signal);flex:none}.xh-hctx__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--xh-text);font-size:.9375rem;font-weight:600;overflow:hidden}.xh-header.is-reading .xh-nav{display:none}.xh-header.is-reading .xh-hctx{animation:xh-fadein var(--xh-dur-normal) var(--xh-ease);display:flex}@keyframes xh-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.xh-hprog{opacity:0;pointer-events:none;height:2px;transition:opacity var(--xh-dur-normal);position:absolute;bottom:-1px;left:0;right:0}.xh-hprog span{background:var(--xh-signal);transform-origin:0;height:100%;transition:transform .12s linear;display:block;transform:scaleX(0)}.xh-header.is-past .xh-hprog{opacity:1}.xh-readpill{border-radius:var(--xh-r-pill);background:var(--xh-hover-tint);min-height:32px;box-shadow:inset 0 0 0 1px var(--xh-line-2);color:var(--xh-text-2);white-space:nowrap;font-variant-numeric:tabular-nums;border:0;align-items:center;gap:4px;padding:0 12px;font-size:.75rem;display:none}button.xh-readpill{cursor:pointer;transition:box-shadow var(--xh-dur-quick), color var(--xh-dur-quick)}button.xh-readpill:hover{color:var(--xh-text);box-shadow:inset 0 0 0 1px var(--xh-signal)}.xh-readpill__pct{color:var(--xh-text);font-weight:500}.xh-readpill__sm{display:none}.xh-header.is-past .xh-readpill{display:inline-flex}@media (pointer:coarse){button.xh-readpill{min-height:44px}}@media (width<=1099.98px){.xh-hctx__label{display:none}}@media (width<=639.98px){.xh-header.is-reading .xh-wordmark,.xh-header.is-reading #xh-theme{display:none}.xh-header.is-reading .xh-hctx__title{font-size:.875rem}.xh-readpill{padding:0 10px}.xh-readpill__lg{display:none}.xh-readpill__sm{display:inline}}@media (width>=1100px) and (width<=1399.98px){.xh-header.is-past:not(.is-reading) .xh-readpill{display:none}}.xh-rel__head{align-items:center;gap:8px;display:flex}.xh-rel__title{letter-spacing:-.005em;margin:0 auto 0 0;font-size:.875rem;font-weight:700}.xh-rel__ctrl{align-items:center;gap:4px;display:flex}.xh-rel__btn{border-radius:var(--xh-r-pill);background:var(--xh-hover-tint);width:32px;height:32px;color:var(--xh-text);font:600 .875rem/1 var(--xh-font);cursor:pointer;transition:background var(--xh-dur-quick), color var(--xh-dur-quick);border:0}.xh-rel__btn:hover{background:var(--xh-btn-bg);color:var(--xh-btn-fg)}@media (pointer:coarse){.xh-rel__btn{width:44px;height:44px}}.xh-rel__count{text-align:center;font-variant-numeric:tabular-nums;min-width:3.2em}.xh-rel__track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.xh-rel__track::-webkit-scrollbar{display:none}.xh-rel__item{scroll-snap-align:start;flex:none;min-width:0}.xh-rel__card{border-radius:var(--xh-r-md);background:var(--xh-surface-1);height:100%;box-shadow:var(--xh-shadow-card);color:var(--xh-text);transition:box-shadow var(--xh-dur-normal) var(--xh-ease), transform var(--xh-dur-normal) var(--xh-ease);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.xh-rel__card:hover,.xh-rel__card:focus-visible{box-shadow:var(--xh-shadow-raised)}.xh-rel__card:hover .xh-rel__name{color:var(--xh-signal)}.xh-rel__media{aspect-ratio:2;background:var(--xh-bg-sunken,var(--xh-bg));display:block;overflow:hidden}.xh-rel__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--xh-dur-slow) var(--xh-ease);display:block}.xh-rel__card:hover .xh-rel__media img{transform:scale(1.03)}.xh-rel__ph{height:100%;font:800 1.5rem/1 var(--xh-font);color:var(--xh-text-3);opacity:.5;place-items:center;display:grid}.xh-rel__body{flex-direction:column;flex:1;gap:8px;padding:12px 14px 14px;display:flex}.xh-rel__meta{align-items:center;gap:8px;min-width:0;display:flex}.xh-card__cat.xh-rel__cat{max-width:100%;min-height:22px;position:static;top:auto;left:auto}.xh-rel__cat:before{content:none}.xh-rel__series{color:var(--xh-badge-new-fg)}.xh-rel__name{-webkit-line-clamp:3;transition:color var(--xh-dur-quick);-webkit-box-orient:vertical;font-size:.9375rem;font-weight:600;line-height:1.38;display:-webkit-box;overflow:hidden}.xh-rel--carousel{display:none}@media (width>=1200px) and (height>=720px){.xh-rel--carousel{flex-direction:column;flex:none;gap:10px;display:flex}.xh-rel--carousel .xh-rel__item{width:100%}.xh-rel--carousel .xh-rel__track:focus-visible{outline:2px solid var(--xh-focus);outline-offset:3px;border-radius:var(--xh-r-md)}.xh-article__body.has-toc:not(.toc-hidden):has(.xh-rel--carousel) .xh-rel--row{display:none}}.xh-rel--row{gap:12px;margin:40px 0 8px;display:grid}.xh-rel--row .xh-rel__title{font-size:1.125rem}.xh-rel--row .xh-rel__track{scroll-snap-type:x proximity;scrollbar-width:thin;gap:12px;padding:4px 2px 12px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.xh-rel--row .xh-rel__item{width:min(260px,78vw)}.xh-np{z-index:45;bottom:calc(72px + env(safe-area-inset-bottom,0px));pointer-events:none;width:min(340px,100vw - 32px);position:fixed}.xh-np[data-place=right]{right:16px}.xh-np[data-place=left]{left:16px}.xh-np:empty{display:none}.xh-np__box{border-radius:var(--xh-r-md);background:var(--xh-surface-2);color:var(--xh-text);box-shadow:var(--xh-shadow-raised), 0 18px 40px -18px #00000059;opacity:0;transition:opacity var(--xh-dur-normal) var(--xh-ease), transform var(--xh-dur-normal) var(--xh-ease);pointer-events:auto;gap:6px;padding:12px 44px 12px 14px;font-size:.875rem;line-height:1.45;display:grid;position:relative;transform:translateY(12px)}.xh-np.is-open .xh-np__box{opacity:1;transform:none}.xh-np__k{color:var(--xh-signal);margin:0}.xh-np__msg{margin:0}.xh-np__link{color:var(--xh-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;text-decoration:none;display:-webkit-box;overflow:hidden}.xh-np__link:hover{color:var(--xh-signal);text-decoration:underline}.xh-np__x{border-radius:var(--xh-r-sm);width:36px;height:36px;color:var(--xh-text-3);cursor:pointer;background:0 0;border:0;position:absolute;top:4px;right:4px}.xh-np__x:hover{background:var(--xh-hover-tint);color:var(--xh-text)}@media (pointer:coarse){.xh-np__x{width:44px;height:44px;top:0;right:0}}.xh-np__form{gap:6px;display:flex}.xh-np__form input{border-radius:var(--xh-r-sm);background:var(--xh-field-bg,var(--xh-bg));min-width:0;min-height:40px;color:var(--xh-text);box-shadow:inset 0 0 0 1px var(--xh-line-control,var(--xh-line-2));font:inherit;border:0;flex:1;padding:0 10px}.xh-np__form .xh-btn{min-height:40px;padding:0 14px}.xh-np__st:empty{display:none}html.has-modal .xh-np,html:has(.xh-menu[open]) .xh-np,html:has(.toc-open) .xh-np{visibility:hidden}@media (width>=1200px){.xh-np{width:min(300px,100vw - 32px);bottom:16px}.xh-np[data-place=right]{right:max(16px,50vw - 704px)}}@media (width<=1199.98px){.xh-np__box{gap:3px;padding:9px 40px 9px 12px;font-size:.8125rem}.xh-np__k{display:none}}.xh-summary{border-radius:var(--xh-r-md);background:var(--xh-surface-1);box-shadow:inset 0 0 0 1px var(--xh-line-1), inset 3px 0 0 var(--xh-signal);margin:0 0 32px;padding:18px 20px}.xh-summary__k{color:var(--xh-signal);margin:0 0 8px}.xh-summary__lead{margin:0 0 10px;font-weight:600;line-height:1.55}.xh-summary ul{color:var(--xh-text-2);gap:6px;margin:0;padding-left:1.1em;font-size:.9375rem;line-height:1.55;display:grid}.xh-summary a{color:var(--xh-text);font-weight:600;text-decoration:none}.xh-summary a:hover{color:var(--xh-signal);text-decoration:underline}.prose h2[id^=đọc-thêm]{letter-spacing:.02em;text-transform:uppercase;font-size:1rem;font-family:var(--xh-mono);color:var(--xh-text-3);margin-top:2.5em}.prose h2[id^=đọc-thêm]+ul{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.prose h2[id^=đọc-thêm]+ul li{margin:0}.prose h2[id^=đọc-thêm]+ul a{border-radius:var(--xh-r-pill);min-height:36px;box-shadow:inset 0 0 0 1px var(--xh-line-2);color:var(--xh-text-2);align-items:center;padding:0 14px;font-size:.875rem;text-decoration:none;display:inline-flex}.prose h2[id^=đọc-thêm]+ul a:hover{color:var(--xh-text);box-shadow:inset 0 0 0 1px var(--xh-signal)}.prose img[src$="/media/pham-xuan-hieu.webp"]{aspect-ratio:1;object-fit:cover;border-radius:var(--xh-r-lg);width:100%;max-width:280px;box-shadow:var(--xh-shadow-card)}@media (width>=900px){.prose p:has(>img[src$="/media/pham-xuan-hieu.webp"]){float:right;margin:0 0 16px 24px}.prose p:has(>img[src$="/media/pham-xuan-hieu.webp"])~table{clear:both}}.xh-i18n-note{max-width:var(--xh-container);padding:10px var(--xh-gutter);color:var(--xh-text-2);border-left:2px solid var(--xh-signal);background:var(--xh-hover-tint);box-sizing:border-box;margin:12px auto 0;font-size:.875rem;line-height:1.5}.xh-i18n-note a{color:var(--xh-signal);white-space:nowrap}
