/* Shared website components. All design choices consume the released token registry. */
html{scroll-padding-top:var(--kw-header-height);background:var(--background);color:var(--foreground)}
body.kw-site{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-synthesis:none}
.kw-site *{box-sizing:border-box}.kw-site :focus-visible{outline:var(--kw-focus-width) solid var(--ring);outline-offset:var(--space-1)}
.kw-site-header{position:relative;z-index:var(--kw-nav-layer);height:var(--kw-header-height);width:100%;background:var(--background);color:var(--foreground);border-bottom:var(--kw-border-width) solid var(--border)}
.kw-nav-inner{max-width:var(--kw-content-width);height:100%;margin-inline:auto;padding-inline:var(--space-6);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-5)}
.kw-wordmark{display:flex;align-items:center;justify-self:start;color:var(--foreground-strong);text-decoration:none}.kw-wordmark svg{width:var(--kw-logo-size);height:var(--kw-logo-size);fill:currentColor}
.kw-primary-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.kw-primary-nav>a{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--kw-border-width) solid transparent;border-radius:var(--radius-md);color:var(--foreground-muted);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;background:transparent;transition:color var(--duration),background var(--duration),border-color var(--duration)}
.kw-icon-plaque{display:grid;place-items:center;width:var(--kw-nav-icon-plaque);height:var(--kw-nav-icon-plaque);flex:none;border:var(--kw-border-width) solid var(--border-strong);border-radius:var(--radius-md);background:var(--kw-neutral-surface);box-shadow:var(--kw-icon-shadow);transition:transform var(--duration-slow) var(--ease),color var(--duration),border-color var(--duration)}
.kw-site-header .ui-icon{width:var(--kw-icon-size);height:var(--kw-icon-size);stroke:none;fill:currentColor}.kw-primary-nav>a[aria-current=page]{color:var(--foreground-strong);background:var(--selected);border-color:var(--border-strong)}
.kw-primary-nav>a:is(:hover,:focus-visible){color:var(--primary);background:var(--hover);border-color:var(--border-strong)}.kw-primary-nav>a:is(:hover,:focus-visible) .kw-icon-plaque{transform:translateY(var(--kw-icon-lift)) rotate(var(--kw-icon-angle));color:var(--primary);border-color:var(--primary)}
.kw-settings{display:flex;gap:var(--space-1);justify-self:end}.kw-settings>.theme-switch,.kw-locale,.kw-menu{display:grid;place-items:center;width:var(--kw-control-size);height:var(--kw-control-size);padding:0;border:var(--kw-border-width) solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--foreground-muted);font:600 var(--font-size-sm)/1 var(--font-sans);text-decoration:none;cursor:pointer}.kw-settings>*:hover,.kw-menu:hover{background:var(--hover);border-color:var(--border)}.kw-locale{direction:ltr;unicode-bidi:isolate}.kw-menu{display:none}.kw-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kw-context{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-6);justify-content:center;flex-wrap:wrap;background:var(--panel);border-bottom:var(--kw-border-width) solid var(--border);font-size:var(--font-size-xs)}.kw-context a{padding:var(--space-2);color:var(--foreground-muted);border-radius:var(--radius-sm);text-decoration:none}.kw-context a[aria-current=page]{background:var(--selected);color:var(--foreground-strong)}
.kw-lesson-context{position:relative;z-index:var(--kw-context-layer);display:flex;align-items:center;justify-content:center;gap:var(--space-3);max-width:var(--kw-content-width);padding:var(--space-3) var(--space-6);margin:auto;border-bottom:var(--kw-border-width) solid var(--border)}.kw-lesson-context .primary-phase-nav{display:flex;position:relative;inset:auto;transform:none;width:auto;max-width:100%}.kw-lesson-context .nav-library{display:flex;gap:var(--space-2);margin-inline-start:auto}.kw-lesson-context .nav-library button{background:var(--kw-neutral-surface);color:var(--foreground-muted);border:var(--kw-border-width) solid var(--border);border-radius:var(--radius-md)}.kw-lesson-context .nav-library svg{width:var(--kw-icon-size);height:var(--kw-icon-size)}
.kw-footer{max-width:var(--kw-content-width);margin:var(--space-12) auto 0;padding:var(--space-8) var(--space-6);display:grid;grid-template-columns:1fr 2fr;gap:var(--space-8);border-top:var(--kw-border-width) solid var(--border);font-size:var(--font-size-xs);line-height:1.8}.kw-footer-brand{font-size:var(--font-size-lg);font-weight:800;color:var(--foreground-strong);text-decoration:none}.kw-footer p{color:var(--foreground-muted);max-width:var(--kw-footer-copy-width)}.kw-footer nav{display:flex;align-content:start;justify-content:end;gap:var(--space-3) var(--space-5);flex-wrap:wrap}.kw-footer nav a{color:var(--foreground-muted);text-decoration:none}.kw-footer nav a:hover{color:var(--primary)}
/* Restored canonical craft: invalid missing-token declarations no longer flatten native components. */
.kw-migrated .kw-surface{border-radius:var(--radius-md);border-color:var(--brand-edge);background:var(--brand-surface-fill);box-shadow:var(--brand-depth)}.kw-migrated .kw-page-content{color:var(--foreground);min-width:0}.kw-migrated .kw-page-content>section:first-child{padding-top:var(--space-12)}
.kw-migrated :is(h1,h2,h3){color:var(--foreground-strong);font-family:var(--font-sans);font-weight:800;letter-spacing:var(--kw-title-tracking)}.kw-migrated h1{font-size:clamp(var(--kw-title-min),var(--kw-title-fluid),var(--kw-title-max));line-height:1.2}.kw-migrated .kw-title-emphasis{font-family:var(--font-display);font-weight:400;color:var(--primary)}html[lang=fa] .kw-migrated :is(h1,h2,h3){letter-spacing:normal}.kw-migrated :is(p,li){line-height:1.9}
.kw-migrated img{max-width:100%}.kw-migrated :is(pre,table){max-width:100%;overflow-x:auto}.kw-migrated main article{min-width:0}.kw-migrated [class*=text-green]{color:var(--success)}.kw-migrated [class*=text-amber],.kw-migrated [class*=text-yellow]{color:var(--warning)}.kw-migrated [class*=text-purple]{color:var(--accent)}
/* Stable, bright first paint. Content does not depend on scroll animation initialization. */
.kw-site [data-aos]{opacity:1!important;transform:none!important}.kw-site .presentation-loading{background:var(--background);color:var(--foreground);font-family:var(--font-sans)}
.presentation-page .kw-site-header{z-index:var(--kw-deck-header-layer)}.presentation-page .presentation-toolbar{top:var(--kw-header-height);height:var(--kw-deck-toolbar-height);z-index:var(--kw-deck-header-layer);padding-inline:var(--space-6);background:var(--panel);border-color:var(--border)}.presentation-page .transformation-deck{position:fixed;inset:var(--kw-deck-chrome-height) 0 0;height:calc(100svh - var(--kw-deck-chrome-height));margin:0}.presentation-page .presentation-transcript{inset:var(--kw-deck-chrome-height) 0 0}.presentation-page .presentation-toolbar a{font-size:var(--font-size-xs)}.presentation-page .deck-canonical-frame{border-radius:var(--radius-md)}
.presentation-page :is(.cap-product,.cap-app-bar,.cap-logo,.practical-surface,.work-godae button){border-radius:var(--radius-md)}.presentation-page .cap-logo{box-shadow:var(--brand-depth)}
.kw-not-found{max-width:var(--kw-error-width);margin:auto;padding:var(--space-12) var(--space-6);min-height:var(--kw-error-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.kw-not-found h1{font-size:var(--kw-error-title);line-height:1.4}.kw-not-found p{color:var(--foreground-muted);line-height:1.9}.kw-lost-visual{position:relative;width:100%;color:var(--primary)}.kw-lost-visual>span{font-size:var(--kw-error-numeral);font-weight:800;line-height:1}.kw-lost-visual svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--journey-core);stroke-width:var(--kw-error-stroke);opacity:var(--kw-error-line-opacity)}.kw-recovery{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;margin-top:var(--space-6)}.kw-recovery a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--kw-neutral-surface);border:var(--kw-border-width) solid var(--border-strong);border-radius:var(--radius-md);color:var(--foreground);text-decoration:none;box-shadow:var(--kw-icon-shadow)}.kw-recovery svg{width:var(--kw-icon-size);height:var(--kw-icon-size)}
.library-journey svg{overflow:visible}.kw-site .library-hero{overflow:hidden}.kw-site .library-card .ui-icon,.kw-site .production-tool-logo{transition:transform var(--duration-slow) var(--ease)}.kw-site .library-card:hover .ui-icon,.kw-site .production-tools a:hover .production-tool-logo{transform:rotate(var(--kw-icon-angle))}
@media(max-width:850px){.kw-nav-inner{grid-template-columns:1fr auto auto;gap:var(--space-2);padding-inline:var(--space-4)}.kw-menu{display:grid}.kw-primary-nav{display:none;position:absolute;inset-inline:var(--space-4);top:var(--kw-header-height);padding:var(--space-3);border:var(--kw-border-width) solid var(--border-strong);border-radius:var(--radius-md);background:var(--kw-neutral-surface);box-shadow:var(--brand-depth)}.kw-site-header[data-open=true] .kw-primary-nav{display:grid;justify-content:stretch}.kw-primary-nav>a{min-height:var(--kw-control-size)}.kw-settings{grid-column:3}.kw-footer{grid-template-columns:1fr}.kw-footer nav{justify-content:start}.kw-context{justify-content:start;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}.kw-lesson-context{padding-inline:var(--space-3);gap:var(--space-2)}.kw-lesson-context .nav-library{flex:none}.kw-migrated .kw-page-content>section:first-child{padding-top:var(--space-8)}}
@media(prefers-reduced-motion:reduce){.kw-site *{scroll-behavior:auto!important}.kw-icon-plaque,.kw-primary-nav>a,.kw-site .library-card .ui-icon{transition:none!important;transform:none!important}}
.kw-native-journey{position:relative;max-width:var(--kw-content-width);height:var(--kw-library-journey-height);margin:var(--space-8) auto var(--space-6);direction:inherit}.kw-native-journey>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.kw-native-journey>svg path{fill:none;stroke-linecap:butt}.kw-journey-future{stroke:var(--journey-future);stroke-width:var(--kw-journey-future-width);stroke-dasharray:var(--kw-journey-dash);opacity:.25}.kw-journey-solid{stroke:var(--journey-core);stroke-width:var(--kw-journey-core-width);filter:url(#kw-journey-shadow)}.kw-journey-arrow{fill:var(--journey-core);filter:url(#kw-journey-shadow)}.kw-journey-node{--kw-journey-badge-size:var(--kw-control-size);position:absolute;inset-inline-start:var(--journey-x);top:var(--journey-y);transform:translate(-50%,calc(var(--kw-journey-badge-size) / -2));display:flex;align-items:center;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-xs);white-space:nowrap;color:var(--foreground)}
.kw-journey-node[data-journey-tone=learn]{--brand-tone:var(--stage-goal)}
.kw-journey-node[data-journey-tone=design]{--brand-tone:var(--stage-decide)}
.kw-journey-node[data-journey-tone=evaluate]{--brand-tone:var(--stage-observe)}
.kw-journey-node[data-journey-tone=success]{--brand-tone:var(--stage-evaluate);--kw-journey-badge-size:var(--kw-journey-goal-size)}
/* Canonical 2026.10.17 icon finish: resolve the semantic tone at the component. */
.kw-journey-node .kw-icon-plaque{width:var(--kw-journey-badge-size);height:var(--kw-journey-badge-size);color:var(--kw-journey-glyph-color);border:var(--kw-border-width) solid color-mix(in oklab,var(--brand-tone) 55%,var(--kw-journey-glyph-color));border-radius:var(--radius-md);background:radial-gradient(ellipse at 20% 2%,var(--finish-light-ffffff59),transparent 61%),linear-gradient(145deg,color-mix(in oklab,var(--brand-tone) 78%,var(--kw-journey-glyph-color)),color-mix(in oklab,var(--brand-tone) 58%,var(--brand-canvas-ink)));box-shadow:inset 0 1px 1px var(--finish-light-ffffff59),inset 0 -2px 3px var(--finish-shade-0005),0 3px 8px var(--finish-shade-0005),0 0 14px color-mix(in oklab,var(--brand-tone) 16%,transparent)}
.kw-journey-node svg{width:var(--kw-journey-glyph-size);height:var(--kw-journey-glyph-size);filter:drop-shadow(0 1px 1px var(--finish-shade-0006))}
.kw-journey-node[data-journey-tone=success] .kw-icon-plaque{border-radius:var(--kw-journey-goal-radius)}
html[dir=rtl] .kw-native-journey>svg{transform:scaleX(-1)}html[dir=rtl] .kw-journey-node{transform:translate(50%,calc(var(--kw-journey-badge-size) / -2))}

.kw-site.library-page .library-hero{padding-top:var(--space-8)}.kw-site.library-page .library-hero h1{font-size:var(--kw-library-title-size);margin-block:var(--space-4)}.kw-site.library-page .library-hero>p{font-size:var(--font-size-base)}.kw-site.library-page .kw-native-journey{margin-block:var(--space-4) var(--space-8)}
.presentation-page .transformation-deck{top:var(--kw-deck-chrome-height)!important;bottom:0!important;height:calc(100svh - var(--kw-deck-chrome-height))!important}
.kw-presentation-context [hidden]{display:none!important}.kw-footer #fresh-draft{justify-self:start;min-height:var(--kw-control-size);padding:var(--space-2) var(--space-4);background:var(--kw-neutral-surface);border:var(--kw-border-width) solid var(--border-strong);border-radius:var(--radius-md);font:inherit;color:var(--foreground);cursor:pointer}
.presentation-page .transformation-deck:fullscreen{inset:0!important;height:100svh!important}
@media(max-width:850px){.kw-lesson-context{display:grid;grid-template-columns:minmax(0,1fr) auto}.kw-lesson-context .primary-phase-nav{grid-column:1/-1;min-width:0;max-width:100%;justify-content:center;justify-self:stretch}.kw-lesson-context .nav-library{grid-column:2;justify-self:end;margin-inline-start:0}}
