body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}.wh-rd a{color:var(--color-accent)}.wh-rd a:hover{color:var(--color-accent-600)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-family:inherit;font-weight:700;border:0;border-radius:12px;line-height:1.2;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn.btn-primary{background:var(--color-accent);color:#fff}.btn.btn-primary:hover{background:var(--color-accent-600);color:#fff}.btn.btn-secondary{background:0 0;color:var(--color-text)}.btn.btn-secondary:hover{background:var(--color-accent-100);color:var(--color-text)}.btn.btn-ghost{background:0 0;color:var(--color-accent);font-weight:700}.btn.btn-ghost:hover{background:var(--color-accent-100);color:var(--color-accent)}.wh-navlink{transition:background var(--transition-fast),color var(--transition-fast)}.wh-navlink:hover{background:var(--color-accent-100);color:var(--color-accent)!important}.wh-card-hover{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.wh-card-hover:hover{border-color:var(--color-accent-500)!important;box-shadow:var(--shadow-md)}.wh-chip{transition:border-color var(--transition-fast),color var(--transition-fast)}.wh-chip:hover{border-color:var(--color-accent-500)!important;color:var(--color-accent)!important}.wh-listrow{transition:background var(--transition-fast)}.wh-listrow:hover{background:var(--color-accent-100)!important}.wh-ghostrow{transition:background var(--transition-fast)}.wh-ghostrow:hover{background:var(--color-neutral-200)!important}.wh-crumb{transition:background var(--transition-fast),color var(--transition-fast)}.wh-crumb:hover{background:var(--color-accent-100)!important;color:var(--color-accent)!important}.wh-softbtn{transition:background var(--transition-fast),color var(--transition-fast)}.wh-softbtn:hover{background:var(--color-accent-200)!important}.field{display:flex;flex-direction:column;gap:7px}.input{width:100%;font-family:inherit;color:var(--color-text);outline:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--color-neutral-500)}.input:focus{border-color:var(--color-accent)!important;box-shadow:0 0 0 3px var(--color-accent-200)}.table{width:100%;border-collapse:collapse;text-align:left}.table th{font-weight:700;color:var(--color-text);border-bottom:2px solid var(--color-divider);white-space:nowrap}.table td{border-bottom:1px solid var(--color-divider);color:var(--color-neutral-800)}.table tr:last-child td{border-bottom:0}.wh-rd-nav--desktop{display:flex}.wh-rd-only-narrow{display:none}@media (max-width:991px){.wh-rd-nav--desktop{display:none}.wh-rd-only-narrow{display:inline-flex}}#wh-mobile-menu{display:none}#wh-mobile-menu.wh-mobile-menu--open{display:flex;flex-direction:column}.wh-skew{transform:skewX(-8deg)}.wh-article-body{font-size:18px;line-height:1.7;color:var(--color-text);min-width:0}.wh-article-body>*+*{margin-top:22px}.wh-article-body h2{margin:40px 0 0;font-size:clamp(28px,3vw,38px);line-height:1.1;letter-spacing:-.02em;scroll-margin-top:96px;font-family:var(--font-heading)}.wh-article-body h3{margin:28px 0 0;font-size:24px;line-height:1.2;font-family:var(--font-heading)}.wh-article-body p{margin:0}.wh-article-body a{color:var(--color-accent)}.wh-article-body ol,.wh-article-body ul{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:8px}.wh-article-body li{line-height:1.6}.wh-article-body strong{font-weight:700}.wh-article-body blockquote{margin:0;border-left:4px solid var(--color-accent-500);padding:6px 0 6px 20px;color:var(--color-neutral-800);font-style:italic}.wh-article-body img{max-width:100%;height:auto;border-radius:16px}.wh-article-body pre{margin:0;background:var(--color-text);color:#e6e8ec;padding:22px 24px;border-radius:16px;overflow-x:auto;font-size:14px;line-height:1.6}.wh-article-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.wh-article-body table{width:100%;border-collapse:collapse;background:#fff;border:2px solid var(--color-divider);border-radius:16px;overflow:hidden;font-size:16px}.wh-article-body td,.wh-article-body th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-divider)}.wh-article-body th{font-weight:700}.wh-article-body tr:last-child td{border-bottom:0}#wh-read-progress{position:fixed;left:0;top:0;height:4px;width:0;background:var(--color-accent-500);z-index:40;transition:width 80ms linear}.wh-toc__link.is-active{background:var(--color-accent-100);color:var(--color-accent-800);font-weight:700}.wh-toc__link.is-active .wh-toc__n{background:var(--color-accent-500);color:#fff}