.wk-site.wk-light{--wk-primary:#FE6262;--wk-on-primary:#FFFFFF;--wk-accent:#FE6262;--wk-soft:#ffefef;--wk-bg:#FFFFFF;--wk-ink:#1C1D1F;--wk-ink2:#6A6E77;--wk-line:#E2E6EC;--wk-hover:#F5F5F5;--wk-tint:#fff7f7;--wk-head-bg:#FE6262;--wk-head-ink:#FFFFFF;--wk-head-ink2:#ffd0d0;--wk-head-line:transparent;--wk-head-field:#fe7878;--wk-gradient:none;--wk-radius:8px;--wk-radius-sm:6px;--wk-side:#fff7f7;--wk-surface:#FFFFFF;--wk-panel:#FAFAFA;--wk-raised:#F3F4F7;--wk-card-radius:8px;--wk-shadow:0 1px 2px #1018280d;--wk-font:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;--wk-font-head:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;--wk-font-mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;--wk-info:#787878;--wk-success:#00C950;--wk-warning:#FE9A00;--wk-danger:#FB2C36}
.wk-site.wk-dark{--wk-primary:#FE6262;--wk-on-primary:#FFFFFF;--wk-accent:#fe8e8e;--wk-soft:#3a2023;--wk-bg:#0F1115;--wk-ink:#ECEEF2;--wk-ink2:#A3ABB8;--wk-line:#262A32;--wk-hover:#1A1D24;--wk-tint:#312e32;--wk-head-bg:#FE6262;--wk-head-ink:#FFFFFF;--wk-head-ink2:#ffd0d0;--wk-head-line:transparent;--wk-head-field:#fe7878;--wk-gradient:none;--wk-radius:8px;--wk-radius-sm:6px;--wk-side:#312e32;--wk-surface:#0F1115;--wk-panel:#171A20;--wk-raised:#1E2128;--wk-card-radius:8px;--wk-shadow:0 1px 2px #00000066;--wk-font:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;--wk-font-head:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;--wk-font-mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;--wk-info:#787878;--wk-success:#00C950;--wk-warning:#FE9A00;--wk-danger:#FB2C36}

.pws-preview{--pws-accent:#6762FE;--pws-ink:#18181B;--pws-ink2:#657488;--pws-line:#E6EAEF;--pws-faint:#AEB8C6;--pws-hover:#F5F5F5;}
/* The OUTER gutters live on the workspace's centred row (outside sidebar +
   TOC — GitBook reference); this padding is only the article's breathing room
   from the two rails. */
.pws-article{max-width:820px;margin:0 auto;padding:16px clamp(24px,3.5vw,56px) 88px;min-width:0;box-sizing:border-box;}
/* Crumbs left, the page-actions split button right — the button top-aligns
   so a wrapping crumb trail can't push it around. */
.pws-crumbs-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;}
.pws-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:13px;line-height:20px;min-width:0;padding-top:6px;}
.pws-crumb{color:var(--pws-accent);font-weight:500;}
/* A crumb that carries a sibling menu — same face as a plain crumb, but a
   button that underlines on hover (GitBook's affordance for "this opens"). */
.pws-crumb-btn{all:unset;cursor:pointer;color:var(--pws-accent);font-weight:500;font-size:inherit;font-family:inherit;border-radius:4px;}
.pws-crumb-btn:hover{text-decoration:underline;}
.pws-crumb-btn:focus-visible{outline:2px solid var(--pws-accent);outline-offset:1px;}
.pws-crumb-grp{display:inline-flex;align-items:center;gap:2px;}
.pws-crumb-sep{color:var(--pws-faint);margin:0 4px;font-size:13px;}
.pws-title-row{display:flex;align-items:flex-start;gap:12px;margin:0 0 24px;min-width:0;}
.pws-title-ico{font-size:34px;line-height:1;flex-shrink:0;display:flex;align-items:center;height:36px;}
.pws-title{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--pws-ink);min-width:0;overflow-wrap:anywhere;word-break:break-word;}
/* TOC anchors — the one thing the editor sheet can't know about. */
.pws-body h1,.pws-body h2,.pws-body h3{scroll-margin-top:24px;}
.pws-prevnext{display:flex;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--pws-line);}
.pws-pn{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1px solid var(--pws-line);border-radius:10px;flex:1 1 0;min-width:0;box-sizing:border-box;background:#FFFFFF;box-shadow:0 1px 2px #1018280d;transition:box-shadow .15s,border-color .15s,background .15s;}
.pws-pn:focus-visible{outline:2px solid var(--pws-accent);outline-offset:2px;}
.pws-pn.right{text-align:right;align-items:flex-end;}
/* NEUTRAL hover (owner ask — no primary): the border deepens one step
   (inkFaint) over the hover surface, with the shared md lift; the chevron
   nudges toward its direction. */
.pws-pn:hover{border-color:var(--pws-faint);box-shadow:0 12px 30px #1018281f;}
.pws-pn:hover .pws-pn-lbl{color:var(--pws-ink);}
.pws-pn:hover .pws-pn-arrow{transform:translateX(-2px);}
.pws-pn.right:hover .pws-pn-arrow{transform:translateX(2px);}
.pws-pn .pws-pn-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.pws-pn-lbl{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--pws-ink2);transition:color .15s;}
.pws-pn-arrow{flex-shrink:0;transition:transform .15s;}
.pws-pn-title{font-size:14px;font-weight:600;color:var(--pws-ink);}
.pws-toc-heading{display:flex;align-items:center;gap:6px;height:32px;padding-left:10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--pws-ink2);font-weight:700;margin-bottom:4px;}
.pws-toc-heading svg{flex-shrink:0;display:block;}
.pws-toc-item{all:unset;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;box-sizing:border-box;width:100%;padding:5px 10px;margin:1px 0;border-radius:6px;font-size:12px;font-weight:500;color:var(--pws-ink2);line-height:1.45;transition:background .12s,color .12s;}
.pws-toc-item:hover{color:var(--pws-ink);background:var(--pws-hover);}
.pws-toc-item:focus-visible{outline:2px solid var(--pws-accent);outline-offset:-2px;}
/* Scroll-spy: the heading currently under the reading line — TEXT only
   (owner ask); the box wash stays a hover-only affordance. */
.pws-toc-item.active{color:var(--pws-accent);}
.pws-toc-item.lvl2{padding-left:22px;}
.pws-toc-item.lvl3{padding-left:34px;}
/* COMPACT (the phone-frame mobile preview + any narrow host): the article
   takes the full width with phone gutters, the title steps down, and the
   prev/next cards stack — a 50/50 pair is unreadable at 400px. KEEP IN STEP
   with DocsSiteReader's mobile rules: this preview is the author-facing
   promise of what the published site renders on a phone. */
.pws-compact .pws-article{max-width:100%;padding:16px 16px 56px;}
/* Tablet: no TOC rail, so the article owns the column — same reading measure
   as the desktop article, just without the outer air it can no longer afford. */
.pws-tight .pws-article{max-width:100%;padding:16px clamp(16px,3vw,32px) 72px;}
.pws-tight .pws-title{font-size:28px;}
.pws-tight .pws-crumbs-row{flex-wrap:wrap;gap:8px;}
.pws-compact .pws-title{font-size:24px;}
.pws-compact .pws-title-ico{font-size:26px;height:29px;}
.pws-compact .pws-prevnext{flex-direction:column;}


.wk-shell{position:relative;display:flex;height:100%;overflow:hidden;}
.wk-site{position:relative;flex:1;min-width:0;height:100%;overflow-y:auto;scrollbar-color:var(--wk-line) transparent;overflow-x:hidden;background:var(--wk-bg);background-image:var(--wk-gradient);background-repeat:no-repeat;color:var(--wk-ink);font-family:var(--wk-font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;}
.wk-site *{box-sizing:border-box;}
.wk-site button{font-family:inherit;}
.wk-site :focus-visible{outline:2px solid var(--wk-accent);outline-offset:2px;}

/* announcement */
.wk-ann{display:flex;align-items:center;justify-content:center;gap:10px;min-height:36px;padding:8px 16px;font-size:13px;text-align:center;background:var(--wk-primary);color:var(--wk-on-primary);}
.wk-ann.info{background:var(--wk-soft);color:var(--wk-ink);}
.wk-ann.warning{background:color-mix(in srgb,var(--wk-warning) 18%,var(--wk-bg));color:var(--wk-ink);}
.wk-ann.danger{background:color-mix(in srgb,var(--wk-danger) 16%,var(--wk-bg));color:var(--wk-ink);}
.wk-ann.success{background:color-mix(in srgb,var(--wk-success) 16%,var(--wk-bg));color:var(--wk-ink);}
.wk-ann a{color:inherit;font-weight:600;text-decoration:underline;white-space:nowrap;}

/* header */
.wk-top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--wk-head-bg) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--wk-head-ink);border-bottom:1px solid var(--wk-head-line);}
.wk-head{display:flex;align-items:center;gap:16px;height:64px;padding:0 32px;max-width:1440px;margin:0 auto;}
.wk-brand{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;min-width:0;font-weight:600;font-size:18px;line-height:22.5px;letter-spacing:-.025em;color:var(--wk-head-ink);flex:0 0 320px;max-width:320px;border-radius:6px;}
.wk-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wk-brand img.logo{height:32px;max-width:200px;object-fit:contain;display:block;}
.wk-brand img.ico,.wk-brand .ico{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0;}
.wk-brand .ico{display:grid;place-items:center;background:var(--wk-primary);color:var(--wk-on-primary);font-size:17px;font-weight:700;letter-spacing:0;}
.wk-brand .emo{font-size:26px;line-height:1;}
.wk-theme-bold .wk-brand .ico{background:var(--wk-head-ink);color:var(--wk-primary);}
.wk-spacer{flex:1;min-width:0;}
.wk-search{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:8px;height:39px;padding:0 8px 0 12px;border-radius:var(--wk-radius);background:var(--wk-head-field);border:1px solid var(--wk-head-line);box-shadow:0 1px 2px #1018280f;color:var(--wk-head-ink2);font-size:14px;transition:border-color .12s,box-shadow .12s;}
.wk-search:hover{border-color:var(--wk-accent);}
.wk-search.prominent{flex:0 1 422px;max-width:422px;}
.wk-search-wrap{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:8px;}
.wk-search.subtle{width:200px;}
.wk-search .lbl{flex:1;text-align:left;}
.wk-search kbd{font-family:var(--wk-font-mono);font-size:12px;line-height:18px;padding:0 5px;border-radius:6px;border:1px solid var(--wk-head-line);background:color-mix(in srgb,var(--wk-head-bg) 60%,transparent);color:var(--wk-head-ink2);}
.wk-ask{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:39px;padding:0 14px;border-radius:var(--wk-radius);border:1px solid var(--wk-head-line);box-shadow:0 1px 2px #1018280f;background:var(--wk-head-field);color:var(--wk-head-ink);font-size:14px;font-weight:500;flex-shrink:0;transition:border-color .12s;}
.wk-ask:hover{border-color:var(--wk-accent);}
.wk-theme-bold .wk-ask,.wk-theme-bold .wk-search{border-color:transparent;}
.wk-links{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.wk-link{position:relative;}
.wk-link>a,.wk-link>button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border-radius:var(--wk-radius);font-size:13px;font-weight:500;color:var(--wk-head-ink2);}
.wk-link>a:hover,.wk-link>button:hover{color:var(--wk-head-ink);}
.wk-link.btn>a{background:var(--wk-primary);color:var(--wk-on-primary);font-weight:600;padding:0 14px;box-shadow:var(--wk-shadow);}
.wk-theme-bold .wk-link.btn>a{background:var(--wk-head-ink);color:var(--wk-primary);}
.wk-drop{display:none;position:absolute;top:100%;right:0;min-width:180px;padding:6px;border-radius:var(--wk-card-radius);border:1px solid var(--wk-line);background:var(--wk-bg);box-shadow:0 12px 30px #1018281f;z-index:6;}
.wk-link:hover .wk-drop,.wk-link:focus-within .wk-drop{display:block;}
.wk-drop a{display:block;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--wk-ink);text-decoration:none;}
.wk-drop a:hover{background:var(--wk-hover);}
.wk-icon-btn{all:unset;box-sizing:border-box;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--wk-radius);color:var(--wk-head-ink2);flex-shrink:0;}
.wk-icon-btn:hover{color:var(--wk-head-ink);background:color-mix(in srgb,var(--wk-head-ink) 8%,transparent);}

/* section tabs */
.wk-tabs{display:flex;gap:0;padding:0 20px;max-width:1440px;margin:0 auto;overflow-x:auto;scrollbar-width:none;}
.wk-tabs::-webkit-scrollbar{display:none;}
/* Tabs are plain text: the open one is told by the accent colour and the
   underline on the header's edge. A fill appears on HOVER only. */
.wk-tab{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:8px;height:33px;margin:6px 0;padding:0 12px;border-radius:var(--wk-radius);font-size:14px;line-height:21px;font-weight:400;color:var(--wk-head-ink2);white-space:nowrap;transition:background .12s,color .12s;}
.wk-tab:hover{color:var(--wk-head-ink);background:color-mix(in srgb,var(--wk-head-ink) 6%,transparent);}
.wk-tab.on{color:var(--wk-accent);font-weight:500;}
.wk-tab.on:hover{color:var(--wk-accent);}
.wk-tab.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-6px;height:2px;border-radius:2px 2px 0 0;background:var(--wk-accent);}
.wk-theme-bold .wk-tab.on,.wk-theme-bold .wk-tab.on:hover{color:var(--wk-head-ink);}
.wk-theme-bold .wk-tab.on::after{background:var(--wk-head-ink);}

/* body */
.wk-body{display:flex;align-items:flex-start;max-width:1440px;margin:0 auto;padding:0 20px;min-height:60%;}
.wk-nav{position:sticky;top:var(--wk-stick,97px);width:300px;flex-shrink:0;height:calc(var(--wk-vh,100vh) - var(--wk-stick,97px));display:flex;flex-direction:column;box-sizing:border-box;padding:32px 18px 12px 0;}
/* The list scrolls; "Powered by Cloudairy" stays pinned under it. */
.wk-nav-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;padding-bottom:16px;}
.wk-nav-scroll::-webkit-scrollbar{display:none;}
.wk-powered{flex-shrink:0;display:flex;align-items:center;gap:10px;box-sizing:border-box;margin-top:8px;padding:14px 16px;border:1px solid var(--wk-line);border-radius:var(--wk-card-radius);background:var(--wk-surface,transparent);color:var(--wk-ink2);font-size:14px;line-height:20px;font-weight:600;text-decoration:none;transition:border-color .12s,color .12s,transform .12s,box-shadow .12s;}
.wk-powered:hover{color:var(--wk-ink);border-color:color-mix(in srgb,var(--wk-ink) 22%,transparent);}
.wk-powered img{border-radius:4px;flex-shrink:0;display:block;}
/* FILLED: the sidebar becomes its own rounded surface, inset from the page
   edge and as tall as the viewport under the header. */
.wk-sb-filled .wk-nav{top:calc(var(--wk-stick,97px) + 12px);height:calc(var(--wk-vh,100vh) - var(--wk-stick,97px) - 24px);max-height:none;margin:12px 0;padding:12px 10px 12px 8px;background:var(--wk-side);border-radius:var(--wk-card-radius);}
.wk-nav-group{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.025em;text-transform:uppercase;color:var(--wk-ink);padding:8px 6px 8px 12px;margin-top:16px;}
.wk-nav-list>div:first-child>.wk-nav-group{margin-top:0;}
button.wk-nav-group{appearance:none;background:none;border:0;margin:16px 0 0;font-family:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;box-sizing:border-box;}
button.wk-nav-group svg{flex-shrink:0;opacity:.45;transition:transform .15s,opacity .12s;}
button.wk-nav-group.open svg{transform:rotate(90deg);}
button.wk-nav-group:hover svg{opacity:1;}
button.wk-nav-group:focus-visible{outline:2px solid var(--wk-accent);outline-offset:-2px;border-radius:var(--wk-radius-sm);}
.wk-nav-kids .wk-nav-kids{margin-left:10px;}
.wk-nav-page{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:6px 6px 6px 12px;margin:0;border-radius:var(--wk-radius-sm);font-size:14px;color:color-mix(in srgb,var(--wk-ink) 64%,transparent);line-height:20px;transition:background .12s,color .12s;}
.wk-nav-page:hover{color:var(--wk-ink);background:var(--wk-hover);}
/* DEFAULT list: the open page is told by ink alone. */
.wk-nav-page.on{color:var(--wk-accent);font-weight:600;}
.wk-nav-page.on:hover{color:var(--wk-accent);}
.wk-sb-filled .wk-nav-page:hover{background:color-mix(in srgb,var(--wk-ink) 6%,transparent);}
/* PILL: the open page sits on a soft accent fill. */
.wk-list-pill .wk-nav-page.on{background:var(--wk-soft);}
.wk-sb-filled.wk-list-pill .wk-nav-page.on{background:color-mix(in srgb,var(--wk-accent) 14%,transparent);}
/* LINE: one hairline down the whole list; the open page thickens its own
   stretch of it in the accent colour. */
.wk-list-line .wk-nav-list{border-left:1px solid var(--wk-line);margin-left:6px;}
.wk-list-line .wk-nav-page{margin:0 0 0 -1px;padding-left:16px;border-radius:0 var(--wk-radius-sm) var(--wk-radius-sm) 0;width:calc(100% + 1px);}
/* One line per page: a long title is cut with an ellipsis and says the rest
   in a tooltip (ClippedLabel) — wrapped titles made a row four lines tall. */
.wk-nav-page>.wk-nav-label,button.wk-nav-group>.wk-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wk-list-line .wk-nav-page.on{box-shadow:inset 2px 0 0 var(--wk-accent);}
.wk-list-line .wk-nav-group{padding-left:16px;}
.wk-list-line .wk-nav-kids .wk-nav-kids{margin-left:0;}
.wk-list-line .wk-nav-kids .wk-nav-kids .wk-nav-page,.wk-list-line .wk-nav-kids .wk-nav-kids .wk-nav-group{padding-left:26px;}
.wk-nav-empty{font-size:13px;color:var(--wk-ink2);padding:8px 10px;}
.wk-main{flex:1;min-width:0;display:flex;}
.wk-blank{flex:1;display:grid;place-items:center;min-height:320px;text-align:center;color:var(--wk-ink2);font-size:14px;padding:32px;}
.wk-blank b{display:block;color:var(--wk-ink);font-size:16px;margin-bottom:6px;}
/* The placeholder's own type is the product's; it only needs the site's ink
   so it reads on the dark theme too. */
.wk-blank .cld-placeholder p:first-of-type{color:var(--wk-ink);}
.wk-blank .cld-placeholder p:nth-of-type(2){color:var(--wk-ink2);}
/* An EMPTY space has no pages nav to sit beside: the message takes the whole
   body and is centred in it, both ways. */
.wk-blank.full{min-height:calc(var(--wk-vh,100vh) - var(--wk-stick,97px) - 24px);}

/* "On this page" is a rail of its own: pinned under the header and scrolling
   by itself, exactly like the pages nav on the other side. */
.wk-site .pws-preview>aside{position:sticky !important;top:var(--wk-stick,97px) !important;max-height:calc(var(--wk-vh,100vh) - var(--wk-stick,97px)) !important;overflow-y:auto !important;scrollbar-width:none;align-self:flex-start;}
.wk-site .pws-preview>aside::-webkit-scrollbar{display:none;}
/* GitBook measurements: 768px article 48px from the nav, a 256px rail 16px
   after it, 32px under the header; 36/45 title, 16/26 body, 14/20 rail. */
.wk-nav-list>div:first-child>button.wk-nav-group{margin-top:0;}
.wk-nav-page>span[aria-hidden]{flex:0 0 16px;width:16px;display:inline-flex;justify-content:center;font-size:14px;line-height:20px;opacity:.75;}
.wk-site .pws-preview>aside{width:256px !important;margin-right:12px;padding:32px 0 32px 32px !important;}
.wk-site .pws-article{max-width:none;margin:0;padding:32px 16px 88px 48px;}
.wk-site .pws-crumbs-row{align-items:center;margin-bottom:10px;}
.wk-site .pws-crumbs{font-size:12px;line-height:16px;padding-top:0;}
.wk-site .pws-crumb,.wk-site .pws-crumb-btn{font-weight:400;}
.wk-site .pws-title{font-size:36px;line-height:45px;letter-spacing:-.025em;}
.wk-site .pws-title-ico{font-size:36px;height:45px;}
.wk-site .pws-body .ProseMirror :is(p,li){font-size:16px !important;line-height:26px !important;}
.wk-site .pws-body .ProseMirror :is(td,th) p{font-size:14px !important;line-height:20px !important;}
.wk-site .pws-body .ProseMirror h2{font-size:30px !important;line-height:36px !important;font-weight:600 !important;letter-spacing:-.02em;margin:50px 0 12px !important;}
.wk-site .pws-body .ProseMirror h3{font-size:24px !important;line-height:32px !important;font-weight:600 !important;letter-spacing:-.015em;margin:36px 0 10px !important;}
.wk-site .pws-body .ProseMirror h4{font-size:20px !important;line-height:28px !important;font-weight:600 !important;margin:28px 0 8px !important;}
.wk-site .pws-body .ProseMirror pre{font-size:14px !important;line-height:22px !important;}
.wk-site .pws-toc-heading{height:16px;padding-left:12px;font-size:12px;line-height:16px;letter-spacing:0;font-weight:600;margin-bottom:12px;}
.wk-site .pws-toc-item{padding:4px 12px;margin:0 0 10px;border-radius:6px;font-size:14px;line-height:20px;font-weight:400;}
.wk-site .pws-toc-item.lvl2{padding-left:12px;}
.wk-site .pws-toc-item.lvl3{padding-left:24px;}
.wk-site .pws-pn{padding:16px;}
.wk-site .pws-pn-title{font-size:16px;}
.wk-search,.wk-ask{border-color:color-mix(in srgb,var(--wk-head-ink) 17%,var(--wk-head-bg));}
/* the article (PortalPagePreview) reads its own --pws-* variables */
.wk-site .pws-preview{--pws-accent:var(--wk-accent);--pws-ink:var(--wk-ink);--pws-ink2:var(--wk-ink2);--pws-line:var(--wk-line);--pws-hover:var(--wk-hover);}
.wk-site .pws-article,.wk-site .pws-article .cloudDoc,.wk-site .pws-article .ProseMirror{font-family:var(--wk-font) !important;}
.wk-site .pws-title,.wk-site .pws-body :is(h1,h2,h3,h4){font-family:var(--wk-font-head) !important;}
.wk-site .pws-body :is(code,pre){font-family:var(--wk-font-mono) !important;}
.wk-site .pws-body a{color:var(--wk-accent) !important;}
/* LINKS — default: coloured text and underline; accent: the text keeps the
   page ink and only the underline is coloured. */
.wk-site .pws-body a{color:var(--wk-accent) !important;text-decoration:underline !important;text-decoration-color:color-mix(in srgb,var(--wk-accent) 45%,transparent) !important;text-underline-offset:3px;}
.wk-site .pws-body a:hover{text-decoration-color:var(--wk-accent) !important;}
/* A Button block is a link drawn as a button: it keeps its own white label. */
.wk-site .pws-body a.btn-node-link{color:#fff !important;text-decoration:none !important;}
.wk-links-accent .pws-body a{color:inherit !important;text-decoration-color:var(--wk-accent) !important;text-decoration-thickness:2px !important;}
/* CODE THEME mono: one ink, no syntax colours. */
/* The code block highlights with Prism: .token spans straight inside the pre. */
.wk-code-mono .pws-body pre,.wk-code-mono .pws-body pre *,.wk-code-mono .pws-body pre .token{color:var(--wk-ink) !important;}
.wk-code-mono .pws-body pre .token.comment{color:var(--wk-ink2) !important;font-style:italic;}
.wk-code-mono .pws-body pre :is(.token.keyword,.token.function){font-weight:600;}
.wk-foot-logo{height:28px;max-width:200px;object-fit:contain;display:block;margin-bottom:10px;}
.wk-site .pws-pn{border-radius:var(--wk-card-radius);box-shadow:var(--wk-shadow);background:var(--wk-surface);}
.wk-dark .pws-body,.wk-dark .pws-body :is(p,li,h1,h2,h3,h4,h5,td,th,span,strong,em,blockquote,div){color:var(--wk-ink) !important;}
/* The editor paints its own white page; on a site the PAGE is the theme's
   surface (tinted, gradient, dark), so those layers are cleared. */
.wk-site .pws-body :is(.cloudDoc,.block-editor,.pageLessView,.ProseMirror,.tiptap),.wk-site .pws-body .cloudDoc>div,.wk-site .pws-body .block-editor>div{background:transparent !important;}
/* DARK: the editor stylesheet is light-only, so its ink is re-pointed here.
   Media keeps its own colours. */
.wk-dark .pws-body :is(table,td,th){border-color:var(--wk-line) !important;background-color:transparent !important;}
.wk-dark .pws-body th{background-color:var(--wk-panel) !important;}
.wk-dark .pws-body :is(code,pre) *{color:#D7DBE2 !important;}
.wk-dark .pws-body hr{border-color:var(--wk-line) !important;}
.wk-dark .pws-body :is(blockquote,pre,code){background-color:var(--wk-panel) !important;}
/* ── DARK MODE FOR EDITOR BLOCKS ───────────────────────────────────────────
   The blocks are the editor's own components and carry light colours of their
   own (inline styles, MUI classes). Two layers make them dark:
   1. the rules below name the common blocks, so they are right on first paint;
   2. WikiSitePreview's dark pass tags anything else that is still light
      (wkd-bg / wkd-bd / wkd-ink), and marks deliberately COLOURED light
      surfaces - a sticky note, a pastel status - wkd-on-light so their text
      stays dark instead of following the page's light ink. */
.wk-dark .pws-body{color-scheme:dark;}
.wk-dark .pws-body :is([data-type="column"],.smart-card,.chart-editor,.cld-code-controls,.details summary,.details>button,[data-type="details"] summary,[data-type="details"]>button,.code-block>.MuiBox-root){background-color:var(--wk-panel) !important;border-color:var(--wk-line) !important;}
.wk-dark .pws-body :is(.details,[data-type="details"]){border-color:var(--wk-line) !important;background-color:transparent !important;}
.wk-dark .pws-body [data-type="box"]{background-color:var(--wk-raised) !important;}
.wk-dark .pws-body .point-icon-container{background-color:var(--wk-soft) !important;border-color:var(--wk-line) !important;}
.wk-dark .pws-body input[type="checkbox"]{accent-color:var(--wk-accent);}
/* Charts are painted on a canvas with grey labels: lift them so they read on
   the dark panel (the series keep their own colours). */
.wk-dark .pws-body .chart-editor canvas{filter:brightness(1.45);}
.wk-dark .pws-body .wkd-fill{fill:var(--wk-soft) !important;}
.wk-dark .pws-body :is(.details,[data-type="details"]) *{border-color:var(--wk-line) !important;}
.wk-dark .pws-body .wkd-bg{background-color:var(--wk-panel) !important;}
.wk-dark .pws-body .wkd-bd{border-color:var(--wk-line) !important;}
.wk-dark .pws-body .wkd-ink{color:var(--wk-ink) !important;}
.wk-dark .pws-body .wkd-on-light,.wk-dark .pws-body .wkd-on-light :is(p,li,h1,h2,h3,h4,h5,td,th,span,strong,em,blockquote,div,a,button){color:#1C1D1F !important;}
/* the page-actions split button follows the theme (corners, dark surface) */
.wk-site .pws-crumbs-row>.MuiBox-root{border-radius:var(--wk-radius) !important;background:var(--wk-surface) !important;border-color:var(--wk-line) !important;box-shadow:var(--wk-shadow) !important;}
.wk-dark .pws-crumbs-row>.MuiBox-root button{color:var(--wk-ink) !important;}
.wk-dark .pws-crumbs-row>.MuiBox-root button:hover{background:var(--wk-hover) !important;}
.wk-dark .pws-crumbs-row>.MuiBox-root>.MuiBox-root{background:var(--wk-line) !important;}
.wk-dark .pws-feedback{border-color:var(--wk-line) !important;}

/* footer */
.wk-foot{border-top:1px solid var(--wk-line);margin-top:24px;}
.wk-foot-in{max-width:1440px;margin:0 auto;padding:28px 24px;display:flex;flex-wrap:wrap;gap:32px;}
.wk-foot-col{min-width:140px;}
.wk-foot-col h4{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--wk-ink2);}
.wk-foot-col a{display:block;padding:3px 0;font-size:13px;color:var(--wk-ink);text-decoration:none;}
.wk-foot-col a:hover{color:var(--wk-accent);}
.wk-foot-note{flex:1 1 220px;font-size:13px;color:var(--wk-ink2);}
.wk-social{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.wk-social a{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--wk-line);color:var(--wk-ink2);text-decoration:none;}
.wk-social a:hover{color:var(--wk-accent);border-color:var(--wk-accent);}

/* mobile */
.wk-mobile .wk-head{height:52px;padding:0 12px;gap:8px;}
.wk-mobile .wk-brand{max-width:none;flex:1;font-size:14px;}
.wk-mobile .wk-links,.wk-mobile .wk-search .lbl,.wk-mobile .wk-search kbd{display:none;}
.wk-mobile .wk-search{width:34px;height:34px;padding:0;justify-content:center;flex:0 0 auto;margin:0;}
.wk-mobile .wk-search-wrap{flex:0 0 auto;gap:6px;}
.wk-mobile .wk-ask{width:34px;height:34px;padding:0;justify-content:center;}
.wk-mobile .wk-ask span{display:none;}
.wk-mobile .wk-tabs{padding:0 8px;}
.wk-mobile .wk-body{padding:0;display:block;}
.wk-mobile .wk-nav{display:none;}
.wk-mobile .wk-nav.open{display:flex;position:fixed;top:var(--wk-stick,52px);left:0;right:0;bottom:0;height:auto;z-index:8;width:auto;max-height:none;background:var(--wk-bg);margin:0;border-radius:0;padding:12px 14px 24px;}
.wk-mobile .wk-tab{font-size:13px;}
.wk-mobile .wk-foot-in{padding:20px 16px;gap:20px;}


html,body{height:100%;margin:0;}
.wk-shell{height:100vh;}
.wk-site{scroll-padding-top:calc(var(--wk-stick,97px) + 16px);}
.wk-light .wk-only-dark,.wk-dark .wk-only-light{display:none !important;}
.wk-desktop .wk-menu{display:none;}
a.wk-brand,a.wk-tab,a.wk-nav-page,a.pws-pn,a.pws-toc-item{text-decoration:none;}
button.wk-nav-group:not(.open)+.wk-nav-kids{display:none;}
/* The article column and its "On this page" rail: PortalPagePreview's own
   layout (its Box sx props), which has no stylesheet to copy. Sizes, paddings
   and the sticky rail come from PWS_CSS + WK_SITE_CSS like in the preview. */
.pws-preview{flex:1;min-width:0;display:flex;align-items:flex-start;}
.pws-col{flex:1;min-width:0;}
.pws-preview>aside{width:216px;flex-shrink:0;box-sizing:border-box;padding:16px 18px;}
@media (max-width:1100px){.wk-site .pws-preview>aside{display:none;}}
.wk-mobile .pws-preview>aside{display:none;}
.wk-mobile .pws-article{max-width:100%;padding:16px 16px 56px;}
.wk-mobile .pws-title{font-size:24px;line-height:1.2;}
.wk-mobile .pws-title-ico{font-size:26px;height:29px;}
.wk-mobile .pws-prevnext{flex-direction:column;}
/* The document body. The preview draws it with the editor's stylesheet, which
   the export does not ship; these are the base rules for the Markdown HTML.
   WK_SITE_CSS's .wk-site .pws-body .ProseMirror rules set the type sizes. */
.pws-body .ProseMirror{color:var(--wk-ink);overflow-wrap:anywhere;}
.pws-body .ProseMirror :is(p,ul,ol){margin:0 0 16px;}
.pws-body .ProseMirror :is(ul,ol){padding-left:24px;}
.pws-body .ProseMirror h1{font-size:30px;line-height:36px;font-weight:600;margin:50px 0 12px;}
.pws-body .ProseMirror :is(h1,h2,h3,h4){color:var(--wk-ink);}
.pws-body .ProseMirror a{color:var(--wk-accent);}
.pws-body .ProseMirror code{font-family:var(--wk-font-mono);font-size:.875em;background:var(--wk-hover);padding:1px 5px;border-radius:4px;}
/* Code block: the editor's CodeBlockView panel (light #FAFAFA, #E6EAEF border,
   8px corners, 14px padding) and its VS Code Light+ token colours. Dark mode
   is WK_SITE_CSS's: one ink on the theme panel, as in the preview. */
.pws-body .ProseMirror pre{font-family:var(--wk-font-mono);color:#18181B;background:#FAFAFA;border:1px solid #E6EAEF;border-radius:8px;padding:14px;overflow:auto;margin:0 0 16px;}
.pws-body .ProseMirror pre code{background:none;padding:0;font-size:inherit;color:inherit;}
.wk-dark .pws-body .ProseMirror pre{border-color:var(--wk-line);}
.wk-code-default .pws-body pre :is(.token.tag,.token.tag .token.punctuation,.token.selector){color:#800000;}
.wk-code-default .pws-body pre .token.attr-name{color:#E50000;}
.wk-code-default .pws-body pre :is(.token.attr-value,.token.attr-value .token.punctuation){color:#0451A5;}
.wk-code-default .pws-body pre .token.doctype{color:#808080;}
.wk-code-default .pws-body pre :is(.token.string,.token.regex){color:#A31515;}
.wk-code-default .pws-body pre :is(.token.number,.token.boolean,.token.constant){color:#098658;}
.wk-code-default .pws-body pre :is(.token.keyword,.token.atrule,.token.rule,.token.important){color:#0000FF;}
.wk-code-default .pws-body pre :is(.token.builtin,.token.class-name,.token.namespace){color:#267F99;}
.wk-code-default .pws-body pre .token.function{color:#795E26;}
.wk-code-default .pws-body pre :is(.token.variable,.token.parameter,.token.property){color:#001080;}
.wk-code-default .pws-body pre :is(.token.comment,.token.prolog,.token.cdata){color:#008000;font-style:italic;}
.wk-code-default .pws-body pre .token.punctuation{color:#393A34;}
.wk-code-default .pws-body pre .token.operator{color:#000000;}
.pws-body .ProseMirror img{max-width:100%;height:auto;border-radius:var(--wk-radius-sm);}
.pws-body .ProseMirror table{border-collapse:collapse;display:block;overflow-x:auto;margin:16px 0;}
.pws-body .ProseMirror :is(th,td){border:1px solid var(--wk-line);padding:8px 12px;text-align:left;}
.pws-body .ProseMirror th{background:var(--wk-hover);}
/* Quote / hint: the editor's blockquote figure — no fill, a 3px ink bar. */
.pws-body .ProseMirror blockquote{margin:0 0 16px;padding:24px 24px 24px 20px;border-left:3px solid var(--wk-ink);background:none;border-radius:0;}
.pws-body .ProseMirror blockquote p:last-child{margin-bottom:0;}
.pws-body .ProseMirror hr{border:0;border-top:1px solid var(--wk-line);margin:28px 0;}
/* "Was this helpful?" — PageFeedback.jsx's sx, on the site's variables (the
   preview paints the chosen face with the product purple; here it is the
   site's own accent, like every other control on the page). */
.pws-feedback{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:32px;padding:14px 0;border-top:1px solid var(--wk-line);}
.wk-fb-q{font-size:13px;color:var(--wk-ink2);}
.wk-fb-row{display:flex;gap:6px;}
.wk-fb{all:unset;box-sizing:border-box;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;border:1px solid var(--wk-line);background:var(--wk-surface);transition:all .15s;}
.wk-fb[aria-pressed="true"]{border-color:var(--wk-accent);background:color-mix(in srgb,var(--wk-accent) 8%,var(--wk-surface));}
.pws-feedback.rated .wk-fb[aria-pressed="false"]{filter:grayscale(1);opacity:.55;}
.wk-fb:hover{border-color:var(--wk-accent);filter:none !important;opacity:1 !important;}
.wk-fb:focus-visible{outline:2px solid var(--wk-accent);outline-offset:2px;}
@media print{.pws-feedback{display:none !important;}}


.wk-pa{position:relative;display:inline-flex;align-items:stretch;flex-shrink:0;height:32px;box-sizing:border-box;border:1px solid var(--wk-line);border-radius:var(--wk-radius);background:var(--wk-surface);box-shadow:var(--wk-shadow);}
/* Specific selectors on purpose: the reset below would otherwise win over
   the padding/width of the two halves. */
.wk-pa>button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--wk-ink);transition:background-color .12s ease;}
.wk-pa>.wk-pa-main{gap:6px;padding:0 12px;font-size:12px;font-weight:500;border-radius:var(--wk-radius) 0 0 var(--wk-radius);}
.wk-pa>.wk-pa-main svg{color:var(--wk-ink2);}
.wk-pa>.wk-pa-caret{width:28px;color:var(--wk-ink2) !important;border-radius:0 var(--wk-radius) var(--wk-radius) 0;}
.wk-pa-caret svg{transition:transform .15s ease;}
.wk-pa-caret[aria-expanded="true"] svg{transform:rotate(180deg);}
.wk-pa>button:hover,.wk-pa-caret[aria-expanded="true"]{background:var(--wk-hover);}
.wk-pa>button:focus-visible,.wk-pa-row:focus-visible{outline:2px solid var(--wk-accent);outline-offset:-2px;}
.wk-pa-sep{width:1px;background:var(--wk-line);flex-shrink:0;}
.wk-pa-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;width:292px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:8px;border:1px solid var(--wk-line);border-radius:8px;background:var(--wk-surface);box-shadow:0 2px 8px 0 #18181B14;text-align:left;}
.wk-pa-menu[hidden]{display:none;}
.wk-pa-row{all:unset;display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background-color .12s ease;}
.wk-pa-row:hover{background:var(--wk-hover);}
.wk-pa-tile{width:26px;height:26px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:6px;border:1px solid var(--wk-line);background:var(--wk-surface);color:var(--wk-ink2);}
.wk-pa-txt{min-width:0;flex:1;display:flex;flex-direction:column;}
.wk-pa-label{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500;line-height:1.4;color:var(--wk-ink);white-space:nowrap;}
.wk-pa-ext{display:inline-flex;color:var(--wk-ink2);opacity:.75;}
.wk-pa-sub{font-size:12px;line-height:1.3;color:var(--wk-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wk-pa-sub.ok{color:#06A05A;font-weight:600;}
.wk-pa-div{height:1px;background:var(--wk-line);margin:6px -8px;}
/* Export as PDF prints the ARTICLE: no chrome, no rails, nothing clipped by
   the site's own scroll container. */
@media print{
  html,body,.wk-shell,#wk-site,.wk-body,.wk-main{height:auto !important;overflow:visible !important;background:#fff !important;}
  .wk-top,.wk-nav,.wk-foot,.pws-preview>aside,.pws-prevnext,.wk-pa,.wk-sr{display:none !important;}
  .wk-body,.pws-preview{display:block !important;}
  .wk-site .pws-article{padding:0 !important;max-width:none !important;}
  .pws-body pre{white-space:pre-wrap;break-inside:avoid;}
}


.wk-sr{position:fixed;inset:0;z-index:40;display:none;background:rgba(24,24,27,.38);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  --sr-bg:#FFFFFF;--sr-ink:#18181B;--sr-muted:#657488;--sr-line:#E6EAEF;--sr-row:#F6F7F9;--sr-key:#FFFFFF;--sr-foot:#FAFAFB;--sr-tint:14%;}
.wk-dark .wk-sr{background:rgba(0,0,0,.6);--sr-bg:#1B1C20;--sr-ink:#F2F3F5;--sr-muted:#9AA1AD;--sr-line:#2E3037;--sr-row:#24262C;--sr-key:#24262C;--sr-foot:#17181B;--sr-tint:20%;}
.wk-sr.open{display:block;}
.wk-sr-box{width:min(680px,calc(100vw - 32px));margin:9vh auto 0;box-sizing:border-box;border-radius:14px;overflow:hidden;background:var(--sr-bg);color:var(--sr-ink);border:1px solid var(--sr-line);box-shadow:0 24px 64px rgba(15,17,23,.28);font-family:var(--wk-font);}
.wk-sr-head{padding:12px 12px 0;}
.wk-sr-field{display:flex;align-items:center;gap:10px;padding:0 14px;height:52px;box-sizing:border-box;border-radius:10px;border:1.5px solid var(--wk-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--wk-accent) 12%,transparent);color:var(--wk-accent);}
.wk-sr-field svg{flex-shrink:0;display:block;}
.wk-sr-field input{flex:1;min-width:0;border:none;outline:none;font-size:16px;font-family:inherit;color:var(--sr-ink);background:transparent;padding:0;}
.wk-sr-field input::placeholder{color:var(--sr-muted);opacity:.8;}
/* The field draws the focus (accent border + glow); the site-wide
   .wk-site :focus-visible ring would add a second box inside it. */
.wk-sr .wk-sr-field input:focus-visible{outline:none;}
.wk-sr-clear,.wk-sr-x{all:unset;cursor:pointer;color:var(--sr-muted);border-radius:6px;}
.wk-sr-clear{font-size:12.5px;font-weight:500;padding:3px 6px;white-space:nowrap;}
.wk-sr-x{display:flex;padding:4px;}
.wk-sr-clear:hover,.wk-sr-x:hover{color:var(--sr-ink);background:var(--sr-row);}
.wk-sr-clear:focus-visible,.wk-sr-x:focus-visible{outline:2px solid var(--wk-accent);}
.wk-sr-clear[hidden]{display:none;}
.wk-sr-div{width:1px;height:20px;background:var(--sr-line);flex-shrink:0;}
.wk-sr-list{max-height:min(56vh,520px);overflow-y:auto;padding:0 12px;}
.wk-sr-list.has{padding-bottom:10px;}
.wk-sr-group{position:sticky;top:0;z-index:1;background:var(--sr-bg);padding:14px 4px 8px;font-size:12.5px;font-weight:700;color:var(--wk-accent);}
.wk-sr-row{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 12px;margin-bottom:4px;box-sizing:border-box;border-radius:8px;cursor:pointer;text-decoration:none;background:var(--sr-row);color:var(--sr-muted);}
.wk-sr-row svg{flex-shrink:0;display:block;}
.wk-sr-row.sel{background:color-mix(in srgb,var(--wk-accent) var(--sr-tint),var(--sr-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--wk-accent) 33%,transparent);color:var(--wk-accent);}
.wk-sr-txt{flex:1;min-width:0;}
.wk-sr-t{font-size:14px;font-weight:500;color:var(--sr-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wk-sr-s{font-size:12.5px;color:var(--sr-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wk-sr-row mark{background:transparent;color:var(--wk-accent);font-weight:600;}
.wk-sr-enter{display:flex;visibility:hidden;}
.wk-sr-row.sel .wk-sr-enter{visibility:visible;}
.wk-sr-msg{padding:30px 24px;text-align:center;font-size:14px;color:var(--sr-muted);}
.wk-sr-msg.idle{padding:34px 24px;}
.wk-sr-msg b{color:var(--sr-ink);font-weight:600;}
.wk-sr-msg[hidden]{display:none;}
.wk-sr-foot{display:flex;align-items:center;gap:16px;padding:0 16px;height:44px;border-top:1px solid var(--sr-line);background:var(--sr-foot);font-size:12px;color:var(--sr-muted);}
.wk-sr-foot>span{display:flex;align-items:center;gap:5px;}
.wk-sr-foot .sp{flex:1;}
.wk-sr-foot kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 5px;box-sizing:border-box;font-family:inherit;font-size:11px;font-weight:600;color:var(--sr-muted);background:var(--sr-key);border:1px solid var(--sr-line);border-bottom-width:2px;border-radius:5px;}
.wk-mobile .wk-sr-foot>span:not(.sp):not(.wk-sr-count){display:none;}
@media print{.wk-sr{display:none !important;}}


.wk-as{position:fixed;top:0;right:0;bottom:0;z-index:35;width:404px;max-width:100vw;box-sizing:border-box;display:none;flex-direction:column;
  background:var(--as-bg);color:var(--as-ink);border-left:1px solid var(--as-line);box-shadow:-12px 0 32px rgba(15,17,23,.10);font-family:var(--wk-font);
  --as-bg:#FFFFFF;--as-ink:#18181B;--as-muted:#657488;--as-line:#E6EAEF;--as-soft:#F6F7F9;--as-code:#F3F4F6;}
.wk-dark .wk-as{--as-bg:#1B1C20;--as-ink:#F2F3F5;--as-muted:#9AA1AD;--as-line:#2E3037;--as-soft:#24262C;--as-code:#24262C;box-shadow:-12px 0 32px rgba(0,0,0,.4);}
.wk-as.open{display:flex;}
@media (min-width:1180px){.wk-asking .wk-shell{margin-right:404px;}}
.wk-as-head{display:flex;align-items:center;gap:8px;height:52px;padding:0 10px 0 16px;border-bottom:1px solid var(--as-line);flex-shrink:0;}
.wk-as-head b{font-size:15px;font-weight:600;flex:1;}
.wk-as-btn{all:unset;display:flex;padding:6px;border-radius:6px;color:var(--as-muted);cursor:pointer;}
.wk-as-btn:hover{color:var(--as-ink);background:var(--as-soft);}
.wk-as-btn:focus-visible{outline:2px solid var(--wk-accent);}
.wk-as-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;}
.wk-as-empty{margin:auto 0;text-align:center;padding:12px 6px 4px;}
.wk-as-empty>svg{margin:0 auto 12px;}
.wk-as-greet{font-size:15px;line-height:1.5;color:var(--as-ink);margin:0 0 16px;}
.wk-as-chips{display:flex;flex-direction:column;gap:8px;text-align:left;}
.wk-as-chip{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 12px;border-radius:10px;border:1px solid var(--as-line);font-size:13.5px;line-height:1.4;color:var(--as-ink);}
.wk-as-chip:hover{border-color:var(--wk-accent);color:var(--wk-accent);}
.wk-as-chip:focus-visible{outline:2px solid var(--wk-accent);}
.wk-as-q{align-self:flex-end;max-width:86%;padding:9px 13px;border-radius:14px 14px 4px 14px;background:color-mix(in srgb,var(--wk-accent) 12%,var(--as-bg));font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;}
.wk-as-a{font-size:14px;line-height:1.6;overflow-wrap:anywhere;}
.wk-as-a p{margin:0 0 8px;}
.wk-as-a p:last-child{margin-bottom:0;}
.wk-as-a ul,.wk-as-a ol{margin:0 0 8px;padding-left:20px;}
.wk-as-a li{margin:2px 0;}
.wk-as-a a{color:var(--wk-accent);text-decoration:underline;text-underline-offset:2px;}
.wk-as-a code{font-family:var(--wk-font-mono,monospace);font-size:12.5px;background:var(--as-code);border-radius:4px;padding:1px 5px;}
.wk-as-a pre{background:var(--as-code);border-radius:8px;padding:10px 12px;overflow-x:auto;margin:0 0 8px;}
.wk-as-a pre code{background:none;padding:0;}
.wk-as-a.wait::after{content:"";display:inline-block;width:7px;height:7px;margin-left:2px;border-radius:50%;background:var(--wk-accent);animation:wk-as-blink 1s infinite;}
@keyframes wk-as-blink{50%{opacity:.25}}
.wk-as-err{font-size:13.5px;color:var(--wk-danger,#D92D20);}
.wk-as-src{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--as-line);}
.wk-as-src>span{font-size:12px;font-weight:600;color:var(--as-muted);}
.wk-as-src a{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--as-ink);text-decoration:none;}
.wk-as-src a:hover{color:var(--wk-accent);}
.wk-as-src a svg{color:var(--as-muted);flex-shrink:0;}
.wk-as-src em{font-style:normal;color:var(--as-muted);font-size:12px;}
.wk-as-rate{display:flex;align-items:center;gap:2px;margin-top:8px;}
.wk-as-rate span{font-size:12px;color:var(--as-muted);margin-right:6px;}
.wk-as-rate button{all:unset;display:flex;padding:5px;border-radius:6px;color:var(--as-muted);cursor:pointer;}
.wk-as-rate button:hover{color:var(--as-ink);background:var(--as-soft);}
.wk-as-rate button:focus-visible{outline:2px solid var(--wk-accent);}
.wk-as-rate button[aria-pressed="true"]{color:var(--wk-accent);background:color-mix(in srgb,var(--wk-accent) 12%,transparent);}
.wk-as-form{display:flex;align-items:flex-end;gap:8px;margin:0 12px;padding:8px 8px 8px 12px;border:1px solid var(--as-line);border-radius:12px;flex-shrink:0;}
.wk-as-form:focus-within{border-color:var(--wk-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--wk-accent) 12%,transparent);}
.wk-as-form textarea{flex:1;min-width:0;border:none;outline:none;resize:none;background:transparent;color:var(--as-ink);font:14px/1.5 var(--wk-font);max-height:140px;padding:4px 0;}
.wk-as-form textarea::placeholder{color:var(--as-muted);}
.wk-as .wk-as-form textarea:focus-visible{outline:none;}
.wk-as-send{all:unset;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--wk-accent);color:#fff;cursor:pointer;flex-shrink:0;}
.wk-as-send[disabled]{opacity:.4;cursor:default;}
.wk-as-send:focus-visible{outline:2px solid var(--wk-accent);outline-offset:2px;}
.wk-as-note{font-size:11.5px;color:var(--as-muted);text-align:center;padding:8px 12px 12px;flex-shrink:0;}
.wk-mobile .wk-as,.wk-as.sheet{width:100vw;border-left:none;}
.wk-sr-ask svg{flex-shrink:0;}
@media print{.wk-as{display:none !important;}}
