@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-ext-wght-normal.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-wght-normal.woff2)format("woff2-variations");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{--bg:#f8e9df;--surface:#fff8f3;--surface-2:#f3dfd1;--text:#1c1917;--muted:#5c534c;--primary:#852619;--primary-hover:#6b1d12;--accent:#ffac61;--accent-hover:#ff9a42;--ok:#2f6b3a;--no:#8a2a1f;--code-bg:#2a1f1b;--code-text:#f8e9df;--font:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:10px;--wrap:1120px;--gutter:clamp(16px, 4vw, 32px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);color:var(--text);font-family:var(--font);text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--primary);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--primary-hover);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{color:var(--primary);letter-spacing:-.02em;overflow-wrap:break-word;margin:0 0 .5em;line-height:1.2}h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.2rem);font-weight:800}h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);font-weight:750}h3{font-size:1.2rem;font-weight:700}p{margin:0 0 1em}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.narrow{max-width:760px}.muted{color:var(--muted)}.small{font-size:.9rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--primary);color:#fff;border-radius:var(--radius);padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip-link:focus{color:#fff;left:8px}.btn{border-radius:var(--radius);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;padding:.8em 1.3em;font-weight:650;line-height:1.2;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn-accent{background:var(--accent);color:var(--text)}.btn-accent:hover{background:var(--accent-hover);color:var(--text)}.btn-secondary{background:var(--surface-2);color:var(--primary)}.btn-secondary:hover{background:var(--primary);color:#fff}.btn-sm{padding:.55em 1em;font-size:.95rem}.section{padding-block:clamp(48px,7vw,96px)}.section-alt{background:var(--surface)}.lead{color:var(--muted);font-size:clamp(1.1rem,1rem + .4vw,1.3rem)}.section-head{max-width:720px;margin-bottom:2.5rem}.card{background:var(--surface);border-radius:var(--radius);padding:1.5rem}.section-alt .card{background:var(--bg)}.grid{gap:1.25rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.badge{border-radius:var(--radius);background:var(--surface-2);color:var(--primary);padding:.15em .6em;font-size:.8rem;font-weight:650;display:inline-block}.table-wrap{border-radius:var(--radius);overflow-x:auto}html:has(#kncc-banner[style=""]){scroll-padding-bottom:20rem}html:has(#kncc-banner[style=""]) body{padding-bottom:15rem}@media (max-width:600px){html:has(#kncc-banner[style=""]) body{padding-bottom:21rem}}table{border-collapse:collapse;background:var(--surface);width:100%;font-size:.95rem}th,td{text-align:left;vertical-align:top;border:0;padding:.75em 1em}thead th{background:var(--surface-2);color:var(--primary);font-weight:700}tbody tr:nth-child(2n){background:#f3dfd173}tbody th{font-weight:600}.prose{max-width:72ch}.prose h2{margin-top:2em}.prose h3{margin-top:1.6em}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.3em}.prose li{margin-bottom:.35em}.prose blockquote{background:var(--surface);border-radius:var(--radius);margin:1.5em 0;padding:.9em 1.2em}.prose blockquote p:last-child{margin:0}.prose code{font-family:var(--mono);background:var(--surface-2);border-radius:6px;padding:.12em .4em;font-size:.88em}.prose pre{background:var(--code-bg);color:var(--code-text);border-radius:var(--radius);padding:1em 1.2em;font-size:.88rem;line-height:1.55;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose table{border-radius:var(--radius);width:max-content;max-width:100%;margin:1.5em 0;display:block;overflow-x:auto}.prose hr{background:var(--surface-2);border:0;height:2px;margin:2.5em 0}.prose img{border-radius:var(--radius);cursor:zoom-in}.prose figure{margin:1.5em 0}.prose figcaption{color:var(--muted);margin-top:.5rem;font-size:.9rem}.prose .alignleft{float:left;margin:0 1.5em 1em 0}.prose .alignright{float:right;margin:0 0 1em 1.5em}.prose .aligncenter{margin-inline:auto}.callout{background:var(--surface);border-radius:var(--radius);margin:1.5em 0;padding:1.25em 1.5em}.section-alt .callout{background:var(--bg)}.site-header{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8e9dfeb;position:sticky;top:0}.admin-bar .site-header{top:32px}.site-header .bar{align-items:center;gap:1.5rem;min-height:68px;display:flex}.site-header .brand{color:var(--text);white-space:nowrap;align-items:center;gap:.6rem;font-size:1.05rem;text-decoration:none;display:flex}.site-header .brand strong{color:var(--primary);font-weight:750}.nav-desktop{gap:.25rem;margin-left:auto;display:flex}.nav-desktop a{color:var(--text);border-radius:var(--radius);padding:.45em .8em;font-weight:550;text-decoration:none}.nav-desktop a:hover,.nav-desktop a[aria-current=page]{background:var(--surface-2);color:var(--primary)}.actions{align-items:center;gap:.6rem;display:flex}.lang{color:var(--primary);background:var(--surface-2);border-radius:var(--radius);padding:.45em .75em;font-size:.85rem;font-weight:700;text-decoration:none}.lang:hover{background:var(--primary);color:#fff}.site-header .bar{position:relative}.lang-menu summary{cursor:pointer;color:var(--primary);background:var(--surface-2);border-radius:var(--radius);align-items:center;gap:.4em;padding:.45em .75em;font-size:.85rem;font-weight:700;list-style:none;display:flex}.lang-menu summary::-webkit-details-marker{display:none}.lang-menu summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.4em;height:.4em;transform:translateY(-.1em)rotate(45deg)}.lang-menu summary:hover,.lang-menu[open] summary{background:var(--primary);color:#fff}.lang-menu ul{z-index:30;background:var(--surface);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:.1rem .25rem;width:min(100%,360px);max-height:min(82vh,720px);margin:0;padding:.5rem;list-style:none;display:grid;position:absolute;top:calc(100% - 6px);right:0;overflow-y:auto}@media (min-width:640px){.lang-menu ul{grid-template-columns:repeat(3,1fr);width:540px}}.lang-menu a,.lang-menu li>span{color:var(--text);border-radius:10px;padding:.55em .9em;font-weight:550;text-decoration:none;display:block}.lang-menu a:hover{background:var(--surface-2)}.lang-menu li>span{background:var(--surface-2);color:var(--primary);font-weight:700}.nav-mobile{display:none;position:relative}.nav-mobile summary{cursor:pointer;border-radius:10px;place-content:center;gap:5px;width:44px;height:44px;list-style:none;display:grid}.nav-mobile summary::-webkit-details-marker{display:none}.nav-mobile summary span{background:var(--primary);border-radius:2px;width:22px;height:2px;display:block}.nav-mobile nav{background:var(--surface);border-radius:var(--radius);width:min(80vw,300px);padding:.5rem;display:grid;position:absolute;top:52px;right:0}.nav-mobile nav a{color:var(--text);border-radius:10px;padding:.75em 1em;font-weight:550;text-decoration:none}.nav-mobile nav a:hover{background:var(--surface-2)}.site-footer{background:var(--surface);padding-top:3rem;font-size:.95rem}.site-footer .cols{grid-template-columns:2fr repeat(3,1fr);gap:2rem;display:grid}.site-footer .small{font-size:.85rem}.site-footer .brand{color:var(--primary);align-items:center;gap:.6rem;margin-bottom:.8rem;font-weight:700;text-decoration:none;display:flex}.site-footer nav{align-content:start;gap:.45rem;display:grid}.site-footer nav h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.3rem;font-size:.85rem}.site-footer nav a{color:var(--text);text-decoration:none}.site-footer nav a:hover{color:var(--primary);text-decoration:underline}.site-footer .bottom{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem;padding-block:1.5rem;display:flex}.site-footer .langs{flex-wrap:wrap;gap:.4rem 1rem;max-width:46rem;display:flex}.crumbs ol{color:var(--muted);flex-wrap:wrap;gap:.35rem;margin:0 0 1.25rem;padding:0;font-size:.9rem;list-style:none;display:flex}.crumbs li+li:before{content:"›";color:var(--muted);margin-right:.35rem}.crumbs a{color:var(--muted)}.hero{padding-block:clamp(72px,11vw,160px)}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(3rem,9vw,8rem);display:grid}.hero h1{font-size:clamp(1.9rem,1.4rem + 1.7vw,2.75rem)}.hero-art{justify-self:center;justify-items:center;gap:.75rem;margin:0;display:grid}.hero-mascot{width:100%;max-width:320px}.hero-art figcaption{color:var(--muted);text-align:center;font-size:.8rem}.hero-art figcaption a{color:var(--muted)}.cta-row{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.hero-points{gap:.3rem;margin:1.25rem 0 0;padding-left:1.3rem;display:grid}.center-title,.center{text-align:center}.center-title{margin-bottom:2rem}.reviews{gap:clamp(2.25rem,4vw,3rem) clamp(1.5rem,4vw,3rem)}.review{flex-direction:column;margin:0;display:flex}.bubble{background:var(--bg);border-radius:var(--radius);color:var(--text);flex:1;margin:0 0 1.5rem;padding:1.4rem 1.6rem;font-size:clamp(1.2rem,1.05rem + .6vw,1.45rem);font-weight:550;line-height:1.4;position:relative}.bubble:after{content:"";background:var(--bg);clip-path:polygon(0 0,100% 0,0 100%);width:26px;height:18px;position:absolute;top:100%;left:1.6rem}.bubble p{margin:0}.review figcaption{color:var(--muted);padding-left:1.6rem;font-size:.92rem}.more-link{margin-top:1.5rem}.story{grid-template-columns:1fr 300px;align-items:center;gap:clamp(2rem,6vw,5rem);max-width:980px;display:grid}.photo-box{background:var(--accent);border-radius:var(--radius);justify-content:center;align-items:flex-end;padding:28px 28px 0;display:flex}.photo-box img{width:100%;max-width:220px;height:auto}.signature{margin-top:1.5rem}.features-head{text-align:center;padding-block:clamp(64px,9vw,120px)}.features-head .wrap{max-width:760px}.features-head .lead{margin:0}.band{padding-block:clamp(48px,7vw,88px)}.row{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(1.5rem,5vw,4rem);display:grid}.row.flip .row-text{order:2}.row-text h3{margin-bottom:.4em;font-size:1.55rem}.row-text p{margin:0 0 .9rem}.row-text ul{gap:.4rem;margin:0;padding-left:1.2rem;display:grid}.row-shot{border-radius:var(--radius);cursor:zoom-in;aspect-ratio:16/10;background:#fff;display:block;overflow:hidden}.row-shot img{object-fit:cover;object-position:top left;width:100%;height:100%;transition:transform .25s}.row-shot:hover img{transform:scale(1.02)}.row-gallery{aspect-ratio:16/10;grid-template-columns:1fr 1fr;gap:10px;display:grid}.row-gallery .row-shot{aspect-ratio:auto;height:100%}.home-compare td.ours{color:var(--ok);font-weight:650}.not-for{margin-top:2.5rem}.not-for h3{margin-top:0}.not-for .links{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;display:flex}.final{grid-template-columns:160px 1fr;align-items:center;gap:2rem;display:grid}.flows{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2.5rem;display:grid}.flows .panel{background:var(--bg);border-radius:var(--radius);flex-direction:column;margin:0;padding:clamp(1rem,2.5vw,1.75rem);display:flex}.flows .title{color:var(--primary);margin-bottom:.75rem;font-size:1.15rem;font-weight:750}.flows svg{width:100%;height:auto;display:block}.flows .area{fill:#ffe3c9}.flows .area-label{fill:var(--primary);font-size:16px;font-weight:700}.flows .route{fill:none;stroke:#e7c3a6;stroke-width:2px;stroke-dasharray:4 7}.flows .route-out{stroke:#e3b1a8}.flows .node{fill:#fff}.flows .node-out{fill:#f8d9d3}.flows .node-text{fill:var(--text);text-anchor:middle;font-size:15px;font-weight:600}.flows .node-text.small{font-size:13px;font-weight:500}.flows .node-text .strong{font-weight:700}.flows .dot-own{fill:var(--primary)}.flows .dot-out{fill:#c0392b}.flows .caption{color:var(--muted);flex:1;margin:.75rem 0 .25rem}.flows .result{margin:0;font-weight:750}.flows .result-own{color:var(--ok)}.flows .result-out{color:#c0392b}.fact-table table{min-width:640px}.fact-table th.ours{color:var(--primary)}.fact-table td.good{color:var(--ok);font-weight:600}.fact-table td.bad{color:var(--no)}.overview table{width:max-content;min-width:100%;font-size:.9rem}.overview th,.overview td{width:190px;min-width:190px}.overview thead th{white-space:normal;vertical-align:bottom}.overview{--label-w:170px;--ours-w:190px}.overview .sticky{z-index:2;width:var(--label-w);min-width:var(--label-w);background:var(--surface-2);color:var(--primary);position:sticky;left:0}.overview tbody tr:nth-child(odd) .sticky{background:#f6e6da}.overview .sticky-ours{left:var(--label-w);z-index:2;width:var(--ours-w);min-width:var(--ours-w);background:#ffe6cf;position:sticky}.overview thead th.sticky-ours{color:var(--primary);background:#fdd5b0}.overview tbody tr:nth-child(2n) .sticky-ours{background:#fbdcc0}.overview td.good{color:var(--ok);font-weight:600}.overview td.bad{color:var(--no)}.docs-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.sidebar{position:sticky;top:92px}.side-nav>strong,.side-nav summary{color:var(--primary);margin-bottom:.5rem;font-weight:700;display:block}.side-nav summary{cursor:pointer;margin:0;list-style:none}.side-nav summary:after{content:" ▾"}.side-nav summary::-webkit-details-marker{display:none}.side-mobile{padding:.9rem 1.1rem;display:none}.side-mobile[open] summary{margin-bottom:.5rem}.side-nav ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.side-nav a{color:var(--text);border-radius:8px;padding:.45em .75em;font-size:.95rem;text-decoration:none;display:block}.side-nav a:hover{background:var(--surface-2)}.side-nav a[aria-current=page]{background:var(--surface-2);color:var(--primary);font-weight:650}.doc-shot{max-width:780px;margin:1.5rem 0 2rem}.doc-shot a{border-radius:var(--radius);cursor:zoom-in;background:#fff;display:block;overflow:hidden}.doc-shot img{width:100%;height:auto}.doc-shot figcaption{color:var(--muted);margin-top:.5rem;font-size:.9rem}.toc{margin:1.5rem 0 2rem;padding:1rem 1.25rem}.toc ul{margin:.5rem 0 0;padding-left:1.2rem}.toc li{margin:.2rem 0}.pager{grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;display:grid}.pager a{gap:.2rem;padding:1rem 1.25rem;font-weight:650;text-decoration:none;display:grid}.pager a:hover{background:var(--surface-2)}.pager .next{text-align:right;grid-column:2}.card-list{padding:0;list-style:none}.docs-cards{margin:0}.card-list li{position:relative}.card-list h2{margin:0 0 .5rem;font-size:1.15rem}.card-list h2 a,.card-list h3 a{text-decoration:none}.card-list.cover h2 a:after,.card-list.cover h3 a:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.card-list.cover li:hover{background:var(--surface-2)}.card-list p{color:var(--muted);margin:0;font-size:.95rem}.help{margin-top:2rem}.note{margin-top:1rem;font-size:.9rem}.pages-h{margin-top:3rem}.posts{gap:1.25rem;margin:2.5rem 0;padding:0;list-style:none;display:grid}.posts time{color:var(--muted);font-size:.9rem}.posts h2{margin:.3rem 0 .5rem;font-size:1.35rem}.posts h2 a{text-decoration:none}.posts h2 a:hover{text-decoration:underline}.posts p{color:var(--muted);margin:0}.posts .tags{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;display:flex}.meta{margin-bottom:2rem}.rule{background:var(--surface-2);border:0;height:2px;margin:3rem 0 1.5rem}.nav-links{justify-content:space-between;gap:1rem;display:flex}.facts{margin-top:3rem}ul.sources{word-break:break-word;margin:.25rem 0 0;padding-left:1.2rem}.sources-label{margin-top:.75rem}.back{margin-top:2.5rem}.lightbox{background:0 0;border:0;max-width:min(96vw,1400px);max-height:96vh;padding:0;overflow:visible}.lightbox::backdrop{background:#1c1917d1}.lightbox img{border-radius:var(--radius);cursor:zoom-out;background:#fff;width:auto;max-width:min(96vw,1400px);height:auto;max-height:84vh}.lightbox .caption{color:#fff;text-align:center;margin:.75rem 0 0}.lightbox .close{background:var(--accent);color:var(--text);font:inherit;border-radius:var(--radius);cursor:pointer;border:0;padding:.55em 1em;font-weight:650;position:fixed;top:16px;right:16px}@media (max-width:900px){.nav-desktop,.download{display:none}.nav-mobile{display:block}.actions{margin-left:auto}}@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:2rem}.hero-art{justify-self:start;justify-items:start}.hero-mascot{max-width:170px}.hero-art figcaption,.center-title,.center,.features-head,.lightbox .caption{text-align:left}.features-head .wrap{max-width:none}.story,.row{grid-template-columns:1fr}.row.flip .row-text{order:0}.docs-layout{grid-template-columns:minmax(0,1fr)}.sidebar{position:static}.side-desktop{display:none}.side-mobile{display:block}}@media (max-width:782px){.admin-bar .site-header{top:46px}}@media (max-width:760px){.site-footer .cols{grid-template-columns:1fr 1fr}.site-footer .about{grid-column:1/-1}.flows{grid-template-columns:1fr}}@media (max-width:640px){.final{grid-template-columns:1fr}.final img{order:1;width:110px}.cta-row .btn{width:100%}.overview{--label-w:104px;--ours-w:128px}.overview table{font-size:.82rem}.overview th,.overview td{width:150px;min-width:150px;padding:.6em .7em}}@media (max-width:560px){.pager{grid-template-columns:1fr}.pager .next{grid-column:1}}@media (max-width:380px){.site-header .brand span{font-size:.95rem}.site-header .bar{gap:.75rem}.actions{gap:.4rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.flows .dot{display:none}}