:root{--kv-color-bg:#fff;--kv-color-text:#2b2b2b;--kv-color-heading:#111;--kv-color-muted:#5c5c5c;--kv-color-label:#1f4fb8;--kv-color-accent:#2457c5;--kv-color-link:#1f4fb8;--kv-color-link-decoration:#9fb5e3;--kv-color-surface:#f4f4f2;--kv-color-border:#e0e0dc;--kv-color-takeaway-bg:#eef2fb;--kv-color-takeaway-text:#1d2430;--kv-color-takeaway-title:#1f4fb8;--kv-color-takeaway-marker:#2457c5;--kv-color-button-bg:#1f4fb8;--kv-color-button-text:#fff;--kv-color-focus:#1f4fb8;--kv-font-body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--kv-font-heading:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--kv-font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--kv-weight-body:400;--kv-weight-strong:600;--kv-weight-heading:700;--kv-tracking-heading:-.015em;--kv-text-xs:.8125rem;--kv-text-sm:.9375rem;--kv-text-base:1.0625rem;--kv-text-lead:clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--kv-text-h1:clamp(2rem, 1.5rem + 2.2vw, 3rem);--kv-text-h2:clamp(1.5rem, 1.3rem + .9vw, 1.875rem);--kv-text-h3:clamp(1.1875rem, 1.12rem + .35vw, 1.375rem);--kv-text-h4:1.125rem;--kv-leading-body:1.7;--kv-leading-heading:1.15;--kv-radius-box:.5rem;--kv-radius-image:.5rem;--kv-radius-table:.5rem;--kv-radius-button:.5rem;--kv-space-1:.25rem;--kv-space-2:.5rem;--kv-space-3:1rem;--kv-space-4:1.5rem;--kv-space-5:2.5rem;--kv-space-6:4rem;--kv-measure:68ch;--kv-wide:64rem;--kv-gutter:clamp(1.25rem, 4vw, 2.5rem)}.kv-article{box-sizing:border-box;max-width:calc(var(--kv-wide) + 2 * var(--kv-gutter));padding:var(--kv-space-5) var(--kv-gutter) var(--kv-space-6);background:var(--kv-color-bg);color:var(--kv-color-text);font-family:var(--kv-font-body);font-size:var(--kv-text-base);font-weight:var(--kv-weight-body);line-height:var(--kv-leading-body);overflow-wrap:break-word;margin-inline:auto}.kv-article *,.kv-article :before,.kv-article :after{box-sizing:border-box}.kv-article>*{max-width:var(--kv-measure);margin-block:0;margin-inline:auto}.kv-article>*+*{margin-top:var(--kv-space-5)}.kv-article>:where(.kv-faq,.kv-sources,.kv-related){margin-top:var(--kv-space-6)}.kv-article>:where(.kv-faq,.kv-cta)+:where(.kv-sources){margin-top:var(--kv-space-5)}.kv-article strong{font-weight:var(--kv-weight-strong);color:var(--kv-color-heading)}.kv-article a{color:var(--kv-color-link);text-decoration:underline;-webkit-text-decoration-color:var(--kv-color-link-decoration);text-decoration-color:var(--kv-color-link-decoration);text-underline-offset:.22em;text-decoration-thickness:.08em}.kv-article a:hover{text-decoration-color:currentColor}.kv-article :focus-visible{outline:2px solid var(--kv-color-focus);outline-offset:3px;border-radius:2px}.kv-article code{font-family:var(--kv-font-mono);background:var(--kv-color-surface);border-radius:.25em;padding:.1em .3em;font-size:.9em}.kv-article pre{padding:var(--kv-space-3);border-radius:var(--kv-radius-box);background:var(--kv-color-surface);font-size:var(--kv-text-sm);line-height:1.5;overflow-x:auto}.kv-article pre code{background:0 0;padding:0}.kv-label{margin:0 0 var(--kv-space-3);color:var(--kv-color-label);font-size:var(--kv-text-xs);font-weight:var(--kv-weight-strong);letter-spacing:.12em;text-transform:uppercase}.kv-title,.kv-body :is(h2,h3,h4,h5,h6),.kv-section-title{color:var(--kv-color-heading);font-family:var(--kv-font-heading);font-weight:var(--kv-weight-heading);line-height:var(--kv-leading-heading);letter-spacing:var(--kv-tracking-heading);text-wrap:balance}.kv-title{font-size:var(--kv-text-h1);margin:0}.kv-intro{margin:var(--kv-space-4) 0 0;font-size:var(--kv-text-lead);line-height:1.55}.kv-byline{margin-top:var(--kv-space-4);padding-top:var(--kv-space-3);border-top:1px solid var(--kv-color-border);color:var(--kv-color-muted);font-size:var(--kv-text-sm);line-height:1.5}.kv-byline p{margin:0}.kv-byline .kv-byline-meta{margin:-6px;padding:6px;overflow:hidden}.kv-byline-items{row-gap:var(--kv-space-1);flex-wrap:wrap;margin-left:-1.25em;display:flex}.kv-byline-item{white-space:nowrap;padding-left:1.25em;position:relative}.kv-byline-item:before{content:"";background:currentColor;border-radius:50%;width:.25em;height:.25em;position:absolute;top:calc(50% - .125em);left:.45em}.kv-author-name{font-weight:var(--kv-weight-strong)}.kv-byline .kv-author-name{color:var(--kv-color-heading)}.kv-byline .kv-reviewed{max-width:100%;margin-top:var(--kv-space-3);padding:var(--kv-space-1) var(--kv-space-3);border-radius:var(--kv-radius-box);background:var(--kv-color-surface);color:var(--kv-color-text);display:inline-block}.kv-reviewed:before{content:"";border:solid var(--kv-color-accent);border-width:0 .15em .15em 0;width:.45em;height:.8em;margin:0 .6em 0 .1em;display:inline-block;transform:translateY(-.1em)rotate(45deg)}.kv-article>.kv-hero{max-width:none}.kv-hero img{object-fit:cover;border-radius:var(--kv-radius-image);background:var(--kv-color-surface);width:100%;height:auto;max-height:36rem;display:block}.kv-hero-unsized img{aspect-ratio:16/9}.kv-html{display:contents}.kv-body>:where(*),.kv-body>:where(.kv-html)>:where(*){margin-block:var(--kv-space-4) 0}.kv-body :where(h2,h3){margin-top:var(--kv-space-5)}.kv-body :where(h2,h3,h4,h5,h6)+:where(*){margin-top:var(--kv-space-3)}.kv-body>:where(:first-child),.kv-body>:where(.kv-html:first-child)>:where(:first-child){margin-top:0}.kv-body h2{font-size:var(--kv-text-h2)}.kv-body h3{font-size:var(--kv-text-h3)}.kv-body :is(h4,h5,h6){font-size:var(--kv-text-h4)}.kv-body :is(h2,h3,h4,h5,h6){scroll-margin-top:var(--kv-space-5)}.kv-body :is(ul,ol){padding-left:1.4em}.kv-body :where(li+li){margin-top:var(--kv-space-2)}.kv-body :where(ul>li)::marker{color:var(--kv-color-accent)}.kv-body :where(ol>li)::marker{color:var(--kv-color-label);font-weight:var(--kv-weight-strong)}.kv-body figure,.kv-faq-answer figure{margin-inline:0}.kv-body img,.kv-faq-answer img{border-radius:var(--kv-radius-image);max-width:100%;height:auto;display:block}.kv-body figcaption{margin-top:var(--kv-space-2);color:var(--kv-color-muted);font-size:var(--kv-text-sm);line-height:1.5}.kv-body blockquote{padding-left:var(--kv-space-4);border-left:3px solid var(--kv-color-accent);color:var(--kv-color-heading);font-size:var(--kv-text-lead);margin:0;line-height:1.55}.kv-body blockquote :where(p){margin:0}.kv-body blockquote :where(p+p){margin-top:var(--kv-space-3)}.kv-body cite{font-style:normal}.kv-key-takeaway{padding:var(--kv-space-4);border-radius:var(--kv-radius-box);background:var(--kv-color-takeaway-bg);color:var(--kv-color-takeaway-text)}.kv-key-takeaway :is(a,strong,h2,h3,h4,h5,h6,blockquote,figcaption,cite){color:inherit}.kv-article .kv-key-takeaway :is(code,pre){background:color-mix(in srgb, currentColor 14%, transparent)}.kv-article .kv-key-takeaway pre code{background:0 0}.kv-key-takeaway-title{margin:0 0 var(--kv-space-3);color:var(--kv-color-takeaway-title);font-size:var(--kv-text-xs);font-weight:var(--kv-weight-strong);letter-spacing:.12em;text-transform:uppercase}.kv-key-takeaway :is(ul,ol){margin:0;padding:0}.kv-key-takeaway ul{list-style:none}.kv-key-takeaway ol{padding-left:1.6em}.kv-key-takeaway ul>li{padding-left:1.6em;position:relative}.kv-key-takeaway li+li{margin-top:var(--kv-space-2)}.kv-key-takeaway ul>li:before{content:"";background:var(--kv-color-takeaway-marker);border-radius:50%;width:.5em;height:.5em;position:absolute;top:.62em;left:.2em}.kv-fact-box{padding:var(--kv-space-4);border-left:3px solid var(--kv-color-accent);border-radius:0 var(--kv-radius-box) var(--kv-radius-box) 0;background:var(--kv-color-surface);font-size:var(--kv-text-sm)}.kv-fact-box-title{margin:0 0 var(--kv-space-2);color:var(--kv-color-heading);font-weight:var(--kv-weight-strong);letter-spacing:.02em}.kv-fact-box>*{margin-block:0}.kv-fact-box>*+*{margin-top:var(--kv-space-2)}.kv-fact-box-title+*{margin-top:0}.kv-table{border:1px solid var(--kv-color-border);border-radius:var(--kv-radius-table);background:linear-gradient(to right, var(--kv-color-bg) 30%, transparent) left center / 2.5rem 100% no-repeat local, linear-gradient(to left, var(--kv-color-bg) 30%, transparent) right center / 2.5rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, color-mix(in srgb, var(--kv-color-heading) 22%, transparent), transparent) left center / .875rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--kv-color-heading) 22%, transparent), transparent) right center / .875rem 100% no-repeat scroll;background-color:var(--kv-color-bg);overflow-x:auto}.kv-body table,.kv-faq-answer table{border-collapse:collapse;width:100%;font-size:var(--kv-text-sm);font-variant-numeric:tabular-nums;line-height:1.5}.kv-faq-answer table,.kv-body .kv-html table{display:block;overflow-x:auto}.kv-body :is(th,td),.kv-faq-answer :is(th,td){border-bottom:1px solid var(--kv-color-border);text-align:left;vertical-align:top;min-width:7.5rem;padding:.65em .9em}.kv-body th,.kv-faq-answer th{background:var(--kv-color-surface);color:var(--kv-color-heading);font-weight:var(--kv-weight-strong)}.kv-body tbody tr:last-child td,.kv-faq-answer tbody tr:last-child td{border-bottom:0}.kv-section-title{margin:0 0 var(--kv-space-4);font-size:var(--kv-text-h2)}.kv-faq-list{border-top:1px solid var(--kv-color-border)}.kv-faq-item{border-bottom:1px solid var(--kv-color-border)}.kv-faq-question{justify-content:space-between;gap:var(--kv-space-3);min-height:2.75rem;padding:var(--kv-space-3) 0;color:var(--kv-color-heading);font-family:var(--kv-font-heading);font-size:var(--kv-text-h4);font-weight:var(--kv-weight-heading);cursor:pointer;line-height:1.35;list-style:none;display:flex}.kv-faq-question::-webkit-details-marker{display:none}.kv-faq-question:after{content:"";border:solid var(--kv-color-accent);border-width:0 2px 2px 0;flex:none;width:.55em;height:.55em;margin:.3em .25em 0 0;transition:transform .2s;transform:rotate(45deg)}.kv-faq-item[open]>.kv-faq-question:after{margin-top:.55em;transform:rotate(-135deg)}.kv-faq-answer{padding-bottom:var(--kv-space-4)}.kv-faq-answer>*{margin-block:0}.kv-faq-answer>*+*{margin-top:var(--kv-space-3)}.kv-faq-answer :is(ul,ol){padding-left:1.4em}.kv-cta{padding:var(--kv-space-4);border-radius:var(--kv-radius-box);background:var(--kv-color-surface)}.kv-cta>:first-child{margin-top:0}.kv-cta>:last-child{margin-bottom:0}.kv-article .kv-button{border-radius:var(--kv-radius-button);background:var(--kv-color-button-bg);min-height:2.75rem;color:var(--kv-color-button-text);font-weight:var(--kv-weight-strong);align-items:center;padding:.6em 1.4em;text-decoration:none;display:inline-flex}.kv-sources{padding-top:var(--kv-space-5);border-top:1px solid var(--kv-color-border)}.kv-article>.kv-faq+.kv-sources,.kv-article>.kv-cta+.kv-sources{margin-top:var(--kv-space-5)}.kv-sources .kv-section-title{font-size:var(--kv-text-h3)}.kv-source-list{font-size:var(--kv-text-sm);margin:0;padding-left:1.4em;line-height:1.55}.kv-source-list>li::marker{color:var(--kv-color-muted)}.kv-source+.kv-source{margin-top:var(--kv-space-3)}.kv-source-name{font-weight:var(--kv-weight-strong)}.kv-source-supports,.kv-source-accessed{color:var(--kv-color-muted);display:block}.kv-source-accessed{font-size:var(--kv-text-xs)}.kv-related .kv-section-title{font-size:var(--kv-text-h3)}.kv-related-list{gap:var(--kv-space-2);margin:0;padding:0;list-style:none;display:grid}@media (min-width:40rem){.kv-related-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.kv-article .kv-related-item a{justify-content:space-between;gap:var(--kv-space-3);height:100%;padding:var(--kv-space-3) var(--kv-space-4);border-radius:var(--kv-radius-box);background:var(--kv-color-surface);color:var(--kv-color-heading);font-weight:var(--kv-weight-strong);line-height:1.4;text-decoration:none;display:flex}.kv-article .kv-related-item a:after{content:"→" / "";color:var(--kv-color-accent)}.kv-article .kv-related-item a:hover{color:var(--kv-color-link)}@media (prefers-reduced-motion:reduce){.kv-faq-question:after{transition:none}}
.kv-theme-neutral{--kv-color-bg:#fff;--kv-color-text:#2b2b2b;--kv-color-heading:#111;--kv-color-muted:#5c5c5c;--kv-color-label:#1f4fb8;--kv-color-accent:#2457c5;--kv-color-link:#1f4fb8;--kv-color-link-decoration:#9fb5e3;--kv-color-surface:#f4f4f2;--kv-color-border:#e0e0dc;--kv-color-takeaway-bg:#eef2fb;--kv-color-takeaway-text:#1d2430;--kv-color-takeaway-title:#1f4fb8;--kv-color-takeaway-marker:#2457c5;--kv-color-button-bg:#1f4fb8;--kv-color-button-text:#fff;--kv-color-focus:#1f4fb8;--kv-font-body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--kv-font-heading:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--kv-font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--kv-weight-body:400;--kv-weight-strong:600;--kv-weight-heading:700;--kv-tracking-heading:-.015em;--kv-text-xs:.8125rem;--kv-text-sm:.9375rem;--kv-text-base:1.0625rem;--kv-text-lead:clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--kv-text-h1:clamp(2rem, 1.5rem + 2.2vw, 3rem);--kv-text-h2:clamp(1.5rem, 1.3rem + .9vw, 1.875rem);--kv-text-h3:clamp(1.1875rem, 1.12rem + .35vw, 1.375rem);--kv-text-h4:1.125rem;--kv-leading-body:1.7;--kv-leading-heading:1.15;--kv-radius-box:.5rem;--kv-radius-image:.5rem;--kv-radius-table:.5rem;--kv-radius-button:.5rem;--kv-space-1:.25rem;--kv-space-2:.5rem;--kv-space-3:1rem;--kv-space-4:1.5rem;--kv-space-5:2.5rem;--kv-space-6:4rem;--kv-measure:68ch;--kv-wide:64rem;--kv-gutter:clamp(1.25rem, 4vw, 2.5rem)}
:root{--admin-ink:#1d1d1f;--admin-muted:#5b5b61;--admin-line:#d9d9de;--admin-surface:#f6f6f8;--admin-accent:#1f4fd1;--admin-stop:#b3261e;--admin-ok:#1e6b32}*{box-sizing:border-box}body{color:var(--admin-ink);background:#fff;margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1600px;padding:1.5rem 2rem 4rem}h1{margin:0 0 1rem;font-size:1.6rem}h2{margin:2rem 0 .75rem;font-size:1.15rem}a{color:var(--admin-accent)}code{background:var(--admin-surface);border-radius:3px;padding:0 .25em;font:.9em ui-monospace,SFMono-Regular,Menlo,monospace}.top{border-bottom:1px solid var(--admin-line);background:var(--admin-surface);flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.75rem 2rem;display:flex}.top nav{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.brand{color:var(--admin-ink);font-weight:700;text-decoration:none}.logout{color:var(--admin-muted);align-items:center;gap:.75rem;margin-left:auto;display:flex}table{border-collapse:collapse;width:100%;margin:.5rem 0 1rem}th,td{text-align:left;border-bottom:1px solid var(--admin-line);vertical-align:top;padding:.45rem .6rem}th{color:var(--admin-muted);font-size:.85rem;font-weight:600}button,.button{font:inherit;border:1px solid var(--admin-accent);background:var(--admin-accent);color:#fff;cursor:pointer;border-radius:6px;padding:.45rem .9rem;text-decoration:none;display:inline-block}button.stop{background:var(--admin-stop);border-color:var(--admin-stop)}.logout button{color:var(--admin-accent);background:0 0}input,select,textarea{font:inherit;border:1px solid var(--admin-line);border-radius:6px;width:100%;padding:.4rem .5rem}textarea.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}label{flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:600;display:flex}.stack{flex-direction:column;gap:.75rem;max-width:40rem;display:flex}.inline,.filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.inline label,.filters label{min-width:12rem}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.notice{border-radius:6px;max-width:60rem;padding:.6rem .8rem}.notice.error{color:var(--admin-stop);background:#fdecea}.notice.ok{color:var(--admin-ok);background:#e7f4ea}.reason code,.warning{color:var(--admin-stop)}.danger{border:1px solid var(--admin-stop);border-radius:8px;max-width:50rem;margin-top:2rem;padding:0 1rem 1rem}.facts{grid-template-columns:max-content 1fr;gap:.25rem 1rem;padding:0;display:grid}ul.facts{flex-wrap:wrap;gap:1.5rem;list-style:none;display:flex}.facts dt{color:var(--admin-muted);font-weight:600}.facts dd{margin:0}.side-by-side,.editor{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.editor .stack{max-width:none}.preview-frame{border:1px solid var(--admin-line);border-radius:8px;max-height:85vh;padding:1rem;overflow:auto}.login{max-width:24rem;margin:10vh auto}@media (max-width:1000px){.side-by-side,.editor{grid-template-columns:1fr}}
