.kn-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:var(--p-border-width) solid transparent;border-radius:var(--radius-control);font-family:var(--font-body-family);font-weight:var(--p-font-weight-book);letter-spacing:var(--font-button-letter-spacing);text-transform:var(--font-button-transform);text-decoration:none;line-height:1;white-space:nowrap;cursor:pointer;min-height:var(--control-h, var(--size-control-md));gap:var(--control-gap, var(--space-inline-md));padding:0 var(--control-px, var(--control-pad-md));font-size:var(--control-fs, var(--control-font-md));transition:background-color .15s ease,color .15s ease,border-color .15s ease}.kn-button--block{width:100%}.kn-button--sm{--control-h: var(--size-control-sm);--control-px: var(--control-pad-sm);--control-fs: var(--control-font-sm);--control-gap: var(--space-inline-sm)}.kn-button--md{--control-h: var(--size-control-md);--control-px: var(--control-pad-md);--control-fs: var(--control-font-md)}.kn-button--lg{--control-h: var(--size-control-lg);--control-px: var(--control-pad-lg);--control-fs: var(--control-font-lg)}.kn-button:focus-visible{outline:calc(var(--p-border-width) * 2) solid var(--color-focus-ring);outline-offset:2px}.kn-button--primary{background:var(--color-btn-bg);color:var(--color-btn-text)}.kn-button--primary:hover{background:var(--color-btn-text);color:var(--color-btn-bg)}.kn-button--secondary{background:var(--color-surface-secondary);color:var(--color-text)}.kn-button--secondary:hover{background:var(--color-surface-secondary-hover)}.kn-button--ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.kn-button--ghost:hover{background:transparent;color:var(--color-text)}.kn-button--danger{background:var(--color-btn-danger-bg);color:var(--color-btn-danger-text);border-color:var(--color-btn-danger-border)}.kn-button--danger:hover{background:color-mix(in srgb,var(--color-btn-danger-bg) 85%,black);border-color:color-mix(in srgb,var(--color-btn-danger-border) 85%,black)}.kn-field{display:flex;flex-direction:column;gap:var(--space-stack-xs)}.kn-field__label{font-family:var(--font-body-family);font-size:var(--control-fs, var(--font-body-lg-size));font-weight:var(--p-font-weight-book);color:var(--color-text)}.kn-field__input{width:100%;box-sizing:border-box;min-height:var(--control-h);padding:var(--control-py, var(--space-pad-y-sm)) var(--control-px, var(--space-pad-x-sm));border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-elevated);color:var(--color-form-text);font-family:var(--font-body-family);font-size:var(--control-fs, var(--font-body-lg-size));font-weight:var(--p-font-weight-book);line-height:var(--p-line-height-lg)}.kn-field__input::placeholder{color:var(--color-text-muted)}.kn-field__input:focus{border-color:var(--color-text-secondary);outline:none}.kn-field__input:focus-visible{border-color:var(--color-text-secondary);outline:var(--p-border-width) solid var(--color-focus-ring);outline-offset:1px}.kn-logo{display:block;width:100%;height:auto}.kn-auth{display:flex;min-height:100vh}.kn-auth__panel{position:relative;flex:1.15;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:var(--space-section-md) var(--space-pad-x-lg);background:var(--color-bg-rail);color:var(--color-rail-fg)}.kn-auth__watermark{position:absolute;right:-14%;bottom:-22%;width:115%;opacity:.07;color:var(--color-text-brand);pointer-events:none}.kn-auth__logo{position:relative;width:min(14rem,60%)}.kn-auth__footer{position:absolute;left:var(--space-pad-x-lg);bottom:var(--space-section-md);font-family:var(--font-body-family);font-size:var(--font-body-sm-size);letter-spacing:var(--p-letter-spacing-loose);color:var(--color-text-muted)}.kn-auth__body{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-section-md) var(--space-pad-x-lg);background:var(--color-bg)}.kn-auth__form{width:100%;max-width:22rem}@media(max-width:48rem){.kn-auth{flex-direction:column}.kn-auth__panel{min-height:14rem;flex:none}.kn-auth__footer{position:static;margin-top:var(--space-stack-md)}}.kn-mark{display:block;width:auto;height:100%}.kn-rail{width:3rem;flex:none;background:var(--color-bg-rail);display:flex;flex-direction:column;align-items:stretch;position:sticky;top:0;align-self:flex-start;height:100vh}.kn-rail__brand{flex:none;width:100%;height:var(--kn-header-height);display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-bg-rail);text-decoration:none}.kn-rail__mark{height:1.6rem;width:auto}.kn-rail__items{list-style:none;margin:0;padding:var(--space-stack-sm) 0 0;flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-inline-xs)}.kn-rail__item{width:100%}.kn-rail__link{position:relative;width:100%;height:2.75rem;display:flex;align-items:center;justify-content:center;color:var(--color-rail-fg);opacity:.5;text-decoration:none;transition:opacity .12s ease,background-color .12s ease}.kn-rail__link:hover{opacity:.85}.kn-rail__item.is-active .kn-rail__link{opacity:1;color:var(--color-accent)}.kn-rail__item.is-active .kn-rail__link:before{content:"";position:absolute;left:0;top:.5rem;bottom:.5rem;width:3px;background:var(--color-accent);border-radius:0 3px 3px 0}.kn-rail__badge{position:absolute;bottom:.2rem;right:.35rem;min-width:.85rem;height:.85rem;padding:0 .22rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-bg-rail);font-family:var(--font-body-family);font-size:.625rem;font-weight:600;line-height:1;pointer-events:none}.kn-rail__tip{position:absolute;left:calc(100% - .375rem);top:50%;transform:translateY(-50%);background:var(--color-overlay);color:var(--color-rail-fg);font-family:var(--font-body-family);font-size:var(--font-body-sm-size);letter-spacing:var(--p-letter-spacing-loose);padding:.3125rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:3}.kn-rail__link:hover .kn-rail__tip{opacity:1}.kn-rail__user{margin-top:auto;position:relative;display:flex;justify-content:center;padding-bottom:var(--space-stack-sm)}.kn-rail__avatar{width:var(--size-avatar-lg);height:var(--size-avatar-lg);border-radius:var(--radius-sm);border:none;padding:0;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-secondary);color:var(--color-text);font-family:var(--font-body-family);font-size:var(--font-body-sm-size);font-weight:var(--p-font-weight-medium);cursor:pointer}.kn-rail__avatar-img{width:100%;height:100%;object-fit:cover;display:block}.kn-rail__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.kn-rail__menu{position:absolute;left:calc(100% + .5rem);bottom:0;z-index:11;min-width:11rem;background:var(--color-bg-elevated);border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-inline-sm);display:flex;flex-direction:column;gap:var(--space-inline-xs)}.kn-rail__menu-name{font-family:var(--font-body-family);font-size:var(--font-body-sm-size);color:var(--color-text-muted);padding:var(--space-inline-sm) var(--space-inline-md) 0}.kn-rail__menu-item{display:flex;align-items:center;gap:var(--space-gap-sm);width:100%;border:none;background:transparent;border-radius:var(--radius-sm);padding:var(--space-inline-sm) var(--space-inline-md);font-family:var(--font-body-family);font-size:var(--font-body-lg-size);color:var(--color-text);text-align:left;cursor:pointer}.kn-rail__menu-item:hover{background:var(--color-bg-hover)}.kn-rail__menu-theme{padding:var(--space-inline-sm) var(--space-inline-md) 0}.kn-rail__menu-cap{font-family:var(--font-body-family);font-size:var(--font-body-sm-size);letter-spacing:var(--p-letter-spacing-loose);text-transform:uppercase;color:var(--color-text-muted)}.kn-theme-switch{display:flex;gap:2px;margin-top:var(--space-inline-sm);padding:2px;background:var(--color-bg-hover);border-radius:var(--radius-sm)}.kn-theme-switch__opt{flex:1;border:none;background:transparent;border-radius:calc(var(--radius-sm) - 2px);padding:var(--space-inline-xs) 0;font-family:var(--font-body-family);font-size:var(--font-body-sm-size);color:var(--color-text-secondary);text-transform:capitalize;cursor:pointer}.kn-theme-switch__opt.is-on{background:var(--color-bg-elevated);color:var(--color-text)}.kn-shell{--kn-header-height: 2.75rem;display:flex;min-height:100vh;background:var(--color-bg)}.kn-shell__main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--color-bg)}.kn-shell__header{height:var(--kn-header-height);box-sizing:border-box;position:sticky;top:0;z-index:5;display:flex;align-items:stretch;gap:var(--space-gap-lg);padding:0 var(--space-gap-sm) 0 var(--space-pad-x-sm);background:var(--color-bg);border-bottom:var(--p-border-width) solid var(--color-border)}.kn-shell__header-end{margin-left:auto;display:flex;align-items:center;gap:var(--space-gap-sm)}.kn-shell__body{flex:1;min-width:0}@media(max-width:48rem){.kn-search--lg,.kn-hdr-link{display:none}}.kn-tabs{display:flex;gap:var(--space-gap-md);align-items:stretch;height:100%}.kn-tabs__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;padding:0;font-family:var(--font-body-family);font-size:var(--font-body-sm-size);letter-spacing:var(--p-letter-spacing-loose);text-transform:uppercase;color:var(--color-text-muted);text-decoration:none;cursor:pointer;white-space:nowrap;transition:color .12s ease,border-color .12s ease}.kn-tabs__icon{margin-right:.4rem}.kn-tabs__tab:hover{color:var(--color-text)}.kn-tabs__tab.is-active{color:var(--color-text);border-bottom-color:var(--color-selected)}.kn-tabs__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;margin-left:.4rem;padding:0 .35rem;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-bg-rail);font-size:var(--font-ui-xs-size);font-weight:600;letter-spacing:0;line-height:1}.kn-suggest-menu{position:fixed;z-index:60;display:flex;flex-direction:column;max-height:16rem;overflow-y:auto;padding:0;background:var(--color-bg-elevated);border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 .5rem 1.5rem color-mix(in srgb,var(--color-overlay) 70%,transparent)}.kn-suggest-menu__item{display:flex;align-items:center;gap:var(--space-inline-sm);width:100%;min-height:var(--size-control-sm);padding:var(--space-ui-2xl) var(--space-pad-x-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;text-align:left;color:var(--color-text);font-family:var(--font-body-family);font-size:var(--font-ui-size)}.kn-suggest-menu__item.is-active{background:var(--color-bg-hover)}.kn-suggest-menu__icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;color:var(--color-text-muted)}.kn-suggest-menu__title{font-size:var(--font-ui-size)}.kn-suggest-menu__hint{margin-left:auto;font-size:var(--font-ui-sm-size);color:var(--color-text-muted)}.kn-editor{display:flex;flex-direction:column;font-family:var(--font-body-family);color:var(--color-text)}.kn-editor__bubble{display:flex;align-items:center;gap:var(--space-ui-2xs);padding:var(--space-ui-2xs);background:var(--color-bg-elevated);border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 .5rem 1.5rem color-mix(in srgb,var(--color-overlay) 70%,transparent)}.kn-editor__tool{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 var(--space-ui-2xs);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:var(--p-border-width) solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);font-family:var(--font-body-family);font-size:var(--font-ui-sm-size);line-height:1}.kn-editor__tool:hover{background:var(--color-bg-hover);color:var(--color-text)}.kn-editor__tool.is-on{background:var(--color-selected-dim);border-color:var(--color-border);color:var(--color-text)}.kn-editor__sep{width:var(--p-border-width);height:1.1rem;margin:0 var(--space-ui-2xs);background:var(--color-border)}.kn-editor__content .ProseMirror{outline:none;min-height:3rem;padding:var(--space-pad-y-sm) 0;font-size:var(--font-ui-size);line-height:1.5;color:var(--color-text)}.kn-editor__content .ProseMirror p{margin:0 0 var(--space-ui-2xs)}.kn-editor__content .ProseMirror a{color:var(--color-text-accent)}.kn-editor__content .ProseMirror blockquote{margin:0 0 var(--space-ui-2xs);padding-left:var(--space-pad-x-md);border-left:2px solid var(--color-border);color:var(--color-text-muted)}.kn-editor__content .ProseMirror pre{margin:0 0 var(--space-ui-2xs);padding:var(--space-pad-y-sm) var(--space-pad-x-sm);background:var(--color-bg);border-radius:var(--radius-sm);font-size:var(--font-ui-sm-size)}.kn-editor__content .ProseMirror hr{border:0;border-top:var(--p-border-width) solid var(--color-border);margin:var(--space-ui-sm) 0}.kn-editor__content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-muted);float:left;height:0;pointer-events:none}.kn-char-picker{position:fixed;z-index:60;width:16rem;padding:var(--space-pad-y-xs);background:var(--color-bg-elevated);border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 .5rem 1.5rem color-mix(in srgb,var(--color-overlay) 70%,transparent)}.kn-char-picker__search{width:100%;margin-bottom:var(--space-ui-2xs);padding:var(--space-pad-y-xs) var(--space-pad-x-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-bg);border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-body-family);font-size:var(--font-ui-sm-size);outline:none}.kn-char-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;max-height:12rem;overflow-y:auto}.kn-char-picker__cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-ui-size);line-height:1}.kn-char-picker__cell:hover{background:var(--color-bg-hover)}.kn-char-picker__empty{margin:0;padding:var(--space-pad-y-sm);text-align:center;color:var(--color-text-muted);font-size:var(--font-ui-sm-size)}:root{--p-color-neutral-5: #141a0e;--p-color-neutral-10: #212918;--p-color-neutral-20: #283517;--p-color-neutral-30: #3d4a2f;--p-color-neutral-40: #646d57;--p-color-neutral-60: #9fa597;--p-color-neutral-70: #cacdc5;--p-color-neutral-80: #e4e6e0;--p-color-neutral-90: #f9f9f6;--p-color-neutral-100: #fff;--p-color-transparent: #fff0;--p-color-frosty-light: #f5f4f180;--p-color-brand-20: #383d00;--p-color-brand-40: #5d6600;--p-color-brand-70: #a3b200;--p-color-brand-90: #efff44;--p-color-brand-95: #fbffcc;--p-color-info-40: #003550;--p-color-info-60: #027fa9;--p-color-info-70: #03a4da;--p-color-info-80: #8fd3f8;--p-color-info-90: #dcf2fe;--p-color-error-40: #661414;--p-color-error-60: #d43e43;--p-color-error-70: #fd6854;--p-color-error-80: #feb3a9;--p-color-error-90: #ffe9e4;--p-color-warning-40: #482e09;--p-color-warning-60: #b35900;--p-color-warning-70: #d38800;--p-color-warning-80: #fed353;--p-color-warning-90: #fff7b2;--p-color-success-40: #143727;--p-color-success-60: #2e863e;--p-color-success-70: #3bad50;--p-color-success-80: #9fe3a7;--p-color-success-90: #cef7da}@font-face{font-family:Inconsolata;src:url(https://fonts.kanowah.com/files/inconsolata-variable.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:Freight;src:url(https://fonts.kanowah.com/files/FreightTextProLight-Regular.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Freight;src:url(https://fonts.kanowah.com/files/FreightTextProLight-Italic.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Freight;src:url(https://fonts.kanowah.com/files/FreightTextProBook-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Freight;src:url(https://fonts.kanowah.com/files/FreightTextProBook-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--p-font-family-mono: "Inconsolata", monospace;--p-font-family-serif: "Freight", "Palatino Linotype", serif;--p-font-weight-light: 300;--p-font-weight-book: 400;--p-font-weight-medium: 500;--p-font-weight-bold: 800;--p-font-size-xs: .75rem;--p-font-size-sm: .875rem;--p-font-size-md: 1rem;--p-font-size-lg: clamp(1.125rem, 1.089rem + .18vw, 1.25rem);--p-font-size-xl: clamp(1.25rem, 1.178rem + .36vw, 1.5rem);--p-font-size-2xl: clamp(1.5rem, 1.358rem + .71vw, 2rem);--p-font-size-display: clamp(2.865rem, 2.272rem + 2.94vw, 5rem);--p-font-size-h1: clamp(1.8rem, 1.18rem + 3.1vw, 3.97rem);--p-font-size-h2: clamp(1.6rem, 1.158rem + 2.21vw, 3.15rem);--p-font-size-h3: clamp(1.42rem, 1.112rem + 1.54vw, 2.5rem);--p-font-size-h4: clamp(1.27rem, 1.068rem + 1.01vw, 1.98rem);--p-font-size-h5: clamp(1.13rem, 1.004rem + .63vw, 1.57rem);--p-font-size-h6: clamp(1rem, .928rem + .36vw, 1.25rem);--p-font-size-text-lg: clamp(.875rem, .75rem + .3vw, 1rem);--p-font-size-text-md: clamp(.75rem, .7rem + .2vw, .875rem);--p-font-size-text-sm: clamp(.6875rem, .65rem + .15vw, .75rem);--p-font-size-ui-xs: .6875rem;--p-font-size-ui-sm: .75rem;--p-font-size-ui-md: .875rem;--p-font-size-ui-lg: 1rem;--p-line-height-xs: 1;--p-line-height-sm: 1.15;--p-line-height-md: 1.25;--p-line-height-lg: 1.5;--p-letter-spacing-none: 0em;--p-letter-spacing-tight: -.05em;--p-letter-spacing-loose: .05em}:root{--p-space-0: 0;--p-space-1: .25rem;--p-space-2: .363rem;--p-space-3: clamp(.391rem, .352rem + .19vw, .526rem);--p-space-4: clamp(.488rem, .41rem + .39vw, .762rem);--p-space-5: clamp(.61rem, .469rem + .71vw, 1.105rem);--p-space-6: clamp(.763rem, .523rem + 1.2vw, 1.602rem);--p-space-7: clamp(.954rem, .563rem + 1.96vw, 2.324rem);--p-space-8: clamp(1.192rem, .57rem + 3.11vw, 3.369rem);--p-space-9: clamp(1.49rem, .52rem + 4.85vw, 4.885rem);--p-space-10: clamp(1.863rem, .371rem + 7.46vw, 7.084rem);--p-grid-gap-sm: .75rem;--p-grid-gap-main: clamp(.75rem, .307rem + 2.23vw, 2.313rem)}:root{--p-size-0: 0rem;--p-size-1: .125rem;--p-size-2: .25rem;--p-size-3: .5rem;--p-size-4: .625rem;--p-size-5: .75rem;--p-size-6: .875rem;--p-size-7: 1rem;--p-size-8: 1.25rem;--p-size-9: 1.5rem;--p-size-10: clamp(1.75rem, 1.678rem + .36vw, 2rem);--p-size-11: clamp(2rem, 1.858rem + .71vw, 2.5rem);--p-size-12: clamp(2.25rem, 2.036rem + 1.07vw, 3rem);--p-size-13: clamp(2.375rem, 2.053rem + 1.61vw, 3.5rem);--p-size-14: clamp(2.5rem, 2.072rem + 2.14vw, 4rem);--p-size-15: clamp(2.75rem, 2.25rem + 2.5vw, 4.5rem);--p-size-16: clamp(3rem, 2.428rem + 2.86vw, 5rem);--p-size-17: clamp(3.25rem, 2.608rem + 3.21vw, 5.5rem);--p-size-18: clamp(3.5rem, 2.786rem + 3.57vw, 6rem);--p-size-19: clamp(3.75rem, 2.964rem + 3.93vw, 6.5rem);--p-size-20: clamp(4rem, 3.142rem + 4.29vw, 7rem);--p-size-21: clamp(4.25rem, 3.322rem + 4.64vw, 7.5rem);--p-size-22: clamp(4.5rem, 3.5rem + 5vw, 8rem);--p-size-23: clamp(4.75rem, 3.678rem + 5.36vw, 8.5rem);--p-size-24: clamp(5rem, 3.858rem + 5.71vw, 9rem);--p-size-25: clamp(5.25rem, 4.036rem + 6.07vw, 9.5rem);--p-size-26: clamp(5.5rem, 4.214rem + 6.43vw, 10rem);--p-size-27: clamp(5.75rem, 4.25rem + 7.5vw, 11rem);--p-size-28: clamp(6rem, 4.286rem + 8.57vw, 12rem);--p-size-29: clamp(6.5rem, 4.642rem + 9.29vw, 13rem);--p-size-30: clamp(7rem, 5rem + 10vw, 14rem);--p-size-31: clamp(7.5rem, 5.358rem + 10.71vw, 15rem);--p-size-32: clamp(8rem, 5.714rem + 11.43vw, 16rem)}:root{--p-border-width: .0625rem;--p-svg-stroke-width: .0625em;--p-radius-xs: .375rem;--p-radius-sm: .5rem;--p-radius-md: 1rem;--p-radius-pill: 100vw;--p-radius-adaptive: min(.75rem, 1vw)}:root{--p-max-width-narrow: 48rem;--p-max-width-medium: 64rem;--p-max-width-main: 90rem;--p-page-gutter: clamp(1rem, .428rem + 2.86vw, 3rem);--p-column-count: 12;--p-grid-1: repeat(1, minmax(0, 1fr));--p-grid-2: repeat(2, minmax(0, 1fr));--p-grid-3: repeat(3, minmax(0, 1fr));--p-grid-4: repeat(4, minmax(0, 1fr));--p-grid-5: repeat(5, minmax(0, 1fr));--p-grid-6: repeat(6, minmax(0, 1fr));--p-grid-7: repeat(7, minmax(0, 1fr));--p-grid-8: repeat(8, minmax(0, 1fr));--p-grid-9: repeat(9, minmax(0, 1fr));--p-grid-10: repeat(10, minmax(0, 1fr));--p-grid-11: repeat(11, minmax(0, 1fr));--p-grid-12: repeat(12, minmax(0, 1fr));--p-grid-main: repeat(var(--p-column-count), minmax(0, 1fr));--p-grid-gap-total: calc(var(--p-grid-gap-main) * (var(--p-column-count) - 1));--p-grid-width: calc(min(var(--p-max-width-main), 100vw) - (var(--p-page-gutter) * 2));--p-column-width: calc((var(--p-grid-width) - var(--p-grid-gap-total)) / var(--p-column-count) + var(--p-grid-gap-main));--p-breakout-gutter: minmax(calc(var(--p-page-gutter) - var(--p-grid-gap-main)), 1fr);--p-breakout-remaining: calc(var(--p-max-width-main) - (var(--p-page-gutter) * 2));--p-breakout-start: [full-start] var(--p-breakout-gutter) [content-start];--p-breakout-end: [content-end] var(--p-breakout-gutter) [full-end];--p-grid-breakout: var(--p-breakout-start) repeat(var(--p-column-count), minmax(0, calc((var(--p-breakout-remaining) - var(--p-grid-gap-total)) / var(--p-column-count)))) var(--p-breakout-end);--p-grid-breakout-single: var(--p-breakout-start) minmax(0, var(--p-breakout-remaining)) var(--p-breakout-end)}:root{--p-space-ui-0: 0;--p-space-ui-1: .125rem;--p-space-ui-2: .25rem;--p-space-ui-3: .375rem;--p-space-ui-4: .5rem;--p-space-ui-5: .75rem;--p-space-ui-6: 1rem;--p-space-ui-7: 1.5rem;--p-space-ui-8: 2rem;--p-size-avatar-sm: 1.75rem;--p-size-avatar-md: 2.25rem;--p-size-avatar-lg: 2.5rem;--p-size-control-sm: 2rem;--p-size-control-md: 2.75rem;--p-size-control-lg: 3.25rem}:root,[data-theme=dark] [data-theme=invert]{--color-bg: var(--p-color-neutral-90);--color-bg-alt: var(--p-color-neutral-100);--color-bg-inverse: var(--p-color-neutral-20);--color-bg-frosted: var(--p-color-frosty-light);--color-bg-transparent: var(--p-color-transparent);--color-overlay: var(--p-color-neutral-10);--color-bg-elevated: var(--p-color-neutral-100);--color-bg-hover: var(--p-color-neutral-80);--color-bg-rail: var(--p-color-neutral-20);--color-rail-fg: var(--p-color-neutral-90);--color-surface-secondary: var(--p-color-neutral-80);--color-surface-secondary-hover: var(--p-color-neutral-70)}:root,[data-theme=dark] [data-theme=invert]{--color-text: var(--p-color-neutral-20);--color-text-secondary: var(--p-color-neutral-40);--color-text-accent: var(--p-color-neutral-40);--color-text-muted: var(--p-color-neutral-60);--color-text-inverse: var(--p-color-neutral-100);--color-text-brand: var(--p-color-brand-90)}:root,[data-theme=dark] [data-theme=invert]{--color-btn-bg: var(--p-color-neutral-20);--color-btn-text: var(--p-color-brand-90);--color-btn-border: var(--p-color-neutral-80);--color-btn-bg-hover: var(--p-color-neutral-40);--color-btn-text-hover: var(--p-color-neutral-90);--color-btn-border-hover: var(--p-color-neutral-40);--color-btn-secondary-bg: var(--p-color-transparent);--color-btn-secondary-text: var(--p-color-neutral-20);--color-btn-secondary-border: var(--p-color-neutral-70);--color-btn-secondary-bg-hover: var(--p-color-brand-90);--color-btn-secondary-text-hover: var(--p-color-neutral-20);--color-btn-secondary-border-hover: var(--p-color-neutral-60);--color-btn-danger-bg: var(--p-color-error-60);--color-btn-danger-text: var(--p-color-neutral-100);--color-btn-danger-border: var(--p-color-error-60);--color-form-text: var(--p-color-neutral-20);--color-accent: var(--p-color-brand-90);--color-accent-dim: color-mix(in srgb, var(--p-color-brand-90) 14%, transparent);--color-accent-glow: color-mix(in srgb, var(--p-color-brand-90) 30%, transparent);--color-selected: var(--color-text);--color-selected-dim: var(--p-color-neutral-80);--color-focus-ring: var(--p-color-brand-90);--image-filter-saturate: 370%;--image-filter-brightness: 46%}:root,[data-theme=dark] [data-theme=invert]{--color-success-text: var(--p-color-success-60);--color-success-bg: var(--p-color-success-90);--color-success-icon: var(--p-color-success-70);--color-error-text: var(--p-color-error-60);--color-error-bg: var(--p-color-error-90);--color-error-icon: var(--p-color-error-70);--color-warning-text: var(--p-color-warning-60);--color-warning-bg: var(--p-color-warning-90);--color-warning-icon: var(--p-color-warning-70);--color-info-text: var(--p-color-info-60);--color-info-bg: var(--p-color-info-90);--color-info-icon: var(--p-color-info-70);--color-success-dim: color-mix(in srgb, var(--p-color-success-60) 16%, transparent);--color-error-dim: color-mix(in srgb, var(--p-color-error-60) 16%, transparent);--color-warning-dim: color-mix(in srgb, var(--p-color-warning-60) 16%, transparent);--color-info-dim: color-mix(in srgb, var(--p-color-info-60) 16%, transparent)}:root{--font-body-family: var(--p-font-family-mono);--font-body-size: var(--p-font-size-text-md);--font-body-weight: var(--p-font-weight-light);--font-body-line-height: var(--p-line-height-lg);--font-body-letter-spacing: var(--p-letter-spacing-none);--font-body-lg-size: var(--p-font-size-text-lg);--font-body-sm-size: var(--p-font-size-text-sm);--font-body-xs-size: var(--p-font-size-xs);--font-ui-size: var(--p-font-size-ui-md);--font-ui-lg-size: var(--p-font-size-ui-lg);--font-ui-sm-size: var(--p-font-size-ui-sm);--font-ui-xs-size: var(--p-font-size-ui-xs);--font-heading-family: var(--p-font-family-serif);--font-heading-weight: var(--p-font-weight-light);--font-heading-line-height: var(--p-line-height-sm);--font-heading-letter-spacing: var(--p-letter-spacing-none);--font-display-size: var(--p-font-size-display);--font-h1-size: var(--p-font-size-h1);--font-h2-size: var(--p-font-size-h2);--font-h3-size: var(--p-font-size-h3);--font-h4-size: var(--p-font-size-h4);--font-h5-family: var(--p-font-family-mono);--font-h5-size: var(--p-font-size-h5);--font-h5-weight: var(--p-font-weight-book);--font-h5-line-height: var(--p-line-height-md);--font-h5-transform: uppercase;--font-h6-family: var(--p-font-family-mono);--font-h6-size: var(--p-font-size-h6);--font-h6-weight: var(--p-font-weight-light);--font-h6-line-height: var(--p-line-height-md);--font-h6-transform: uppercase;--font-accent-family: var(--p-font-family-serif);--font-accent-weight: var(--p-font-weight-light);--font-accent-style: italic;--font-eyebrow-family: var(--p-font-family-mono);--font-eyebrow-size: var(--p-font-size-text-lg);--font-eyebrow-weight: var(--p-font-weight-bold);--font-eyebrow-line-height: var(--p-line-height-sm);--font-button-size: var(--p-font-size-text-md);--font-button-letter-spacing: var(--p-letter-spacing-loose);--font-button-transform: uppercase}:root{--space-section-sm: var(--p-space-7);--space-section-md: var(--p-space-8);--space-section-lg: var(--p-space-9);--space-section-xl: var(--p-space-10);--space-pad-y-xs: var(--p-space-4);--space-pad-y-sm: var(--p-space-5);--space-pad-y-md: var(--p-space-7);--space-pad-y-lg: var(--p-space-8);--space-pad-x-sm: var(--p-space-5);--space-pad-x-md: var(--p-space-7);--space-pad-x-lg: var(--p-space-8);--space-stack-xs: var(--p-space-2);--space-stack-sm: var(--p-space-4);--space-stack-md: var(--p-space-5);--space-stack-lg: var(--p-space-7);--space-stack-xl: var(--p-space-8);--space-gap-xs: var(--p-space-3);--space-gap-sm: var(--p-space-4);--space-gap-md: var(--p-space-6);--space-gap-lg: var(--p-space-7);--space-gap-xl: var(--p-space-8);--space-inline-xs: var(--p-space-1);--space-inline-sm: var(--p-space-2);--space-inline-md: var(--p-space-4);--space-gutter: var(--p-page-gutter);--space-btn-v: 1em;--space-btn-h: 2em}:root{--space-ui-2xs: var(--p-space-ui-1);--space-ui-xs: var(--p-space-ui-2);--space-ui-sm: var(--p-space-ui-3);--space-ui-md: var(--p-space-ui-4);--space-ui-lg: var(--p-space-ui-5);--space-ui-xl: var(--p-space-ui-6);--space-ui-2xl: var(--p-space-ui-7);--space-ui-3xl: var(--p-space-ui-8);--size-avatar-sm: var(--p-size-avatar-sm);--size-avatar-md: var(--p-size-avatar-md);--size-avatar-lg: var(--p-size-avatar-lg);--size-control-sm: var(--p-size-control-sm);--size-control-md: var(--p-size-control-md);--size-control-lg: var(--p-size-control-lg);--control-pad-sm: var(--space-ui-lg);--control-pad-md: var(--space-ui-xl);--control-pad-lg: var(--space-ui-2xl);--control-font-sm: var(--font-ui-sm-size);--control-font-md: var(--font-ui-size);--control-font-lg: var(--font-ui-lg-size);--radius-control: var(--radius-input)}:root,[data-theme=dark] [data-theme=invert]{--color-border: var(--p-color-neutral-60);--color-border-subtle: var(--p-color-neutral-80);--radius-sm: var(--p-radius-xs);--radius-card: var(--p-radius-md);--radius-input: var(--p-radius-sm);--radius-pill: var(--p-radius-pill);--radius-adaptive: var(--p-radius-adaptive)}[data-theme=dark],[data-theme=invert]{--color-bg: var(--p-color-neutral-10);--color-bg-alt: var(--p-color-neutral-5);--color-bg-inverse: var(--p-color-neutral-90);--color-bg-elevated: var(--p-color-neutral-20);--color-bg-hover: var(--p-color-neutral-30);--color-bg-rail: var(--p-color-neutral-5);--color-overlay: var(--p-color-neutral-5);--color-surface-secondary: var(--p-color-neutral-20);--color-surface-secondary-hover: var(--p-color-neutral-30);--color-text: var(--p-color-neutral-90);--color-text-secondary: var(--p-color-neutral-60);--color-text-accent: var(--p-color-brand-90);--color-text-muted: var(--p-color-neutral-40);--color-text-inverse: var(--p-color-neutral-20);--color-border: var(--p-color-neutral-30);--color-border-subtle: var(--p-color-neutral-20);--color-accent-dim: color-mix(in srgb, var(--p-color-brand-90) 15%, transparent);--color-selected: var(--p-color-brand-90);--color-selected-dim: color-mix(in srgb, var(--p-color-brand-90) 15%, transparent);--color-btn-bg: var(--p-color-brand-90);--color-btn-text: var(--p-color-neutral-20);--color-btn-border: var(--p-color-brand-90);--color-btn-bg-hover: var(--p-color-brand-95);--color-btn-text-hover: var(--p-color-neutral-20);--color-btn-border-hover: var(--p-color-brand-95);--color-btn-secondary-bg: var(--p-color-neutral-20);--color-btn-secondary-text: var(--p-color-neutral-90);--color-btn-secondary-border: var(--p-color-neutral-30);--color-btn-secondary-bg-hover: var(--p-color-neutral-30);--color-btn-secondary-text-hover: var(--p-color-neutral-90);--color-btn-secondary-border-hover: var(--p-color-neutral-40);--color-form-text: var(--p-color-neutral-90);--color-success-text: var(--p-color-success-80);--color-success-bg: var(--p-color-success-40);--color-error-text: var(--p-color-error-80);--color-error-bg: var(--p-color-error-40);--color-warning-text: var(--p-color-warning-80);--color-warning-bg: var(--p-color-warning-40);--color-info-text: var(--p-color-info-80);--color-info-bg: var(--p-color-info-40);--image-filter-saturate: 60%;--image-filter-brightness: 154%}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.kn-form{display:flex;flex-direction:column;gap:var(--space-stack-md)}.kn-form,.kn-form--md,.kn-field--md{--control-h: var(--size-control-md);--control-px: var(--control-pad-md);--control-py: var(--space-ui-md);--control-fs: var(--control-font-md)}.kn-form--sm,.kn-field--sm{--control-h: var(--size-control-sm);--control-px: var(--control-pad-sm);--control-py: var(--space-ui-sm);--control-fs: var(--control-font-sm)}.kn-form--lg,.kn-field--lg{--control-h: var(--size-control-lg);--control-px: var(--control-pad-lg);--control-py: var(--space-ui-lg);--control-fs: var(--control-font-lg)}.kn-textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:calc(var(--control-h, var(--size-control-lg)) * 2.2);padding:var(--control-py, var(--space-ui-md)) var(--control-px, var(--space-pad-x-sm));border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg-elevated);color:var(--color-form-text);font-family:var(--font-body-family);font-size:var(--control-fs, var(--font-ui-lg-size));line-height:var(--font-body-line-height)}.kn-textarea::placeholder{color:var(--color-text-muted)}.kn-textarea:focus{border-color:var(--color-text-secondary);outline:none}.kn-textarea:focus-visible{border-color:var(--color-text-secondary);outline:var(--p-border-width) solid var(--color-focus-ring);outline-offset:1px}.kn-option{display:inline-flex;align-items:center;gap:var(--space-inline-sm);min-height:var(--control-h, var(--size-control-md));font-family:var(--font-body-family);font-size:var(--control-fs, var(--font-ui-size));color:var(--color-text);cursor:pointer}.kn-option__hint{color:var(--color-text-muted)}.kn-check,.kn-radio{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;box-sizing:border-box;margin:0;font-size:var(--control-fs, var(--font-ui-size));width:1.15em;height:1.15em;border:var(--p-border-width) solid var(--color-border);background:var(--color-bg-elevated);display:inline-grid;place-content:center;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.kn-check{border-radius:var(--radius-sm)}.kn-radio{border-radius:50%}.kn-check:checked,.kn-radio:checked{background:var(--color-accent);border-color:var(--color-border)}.kn-check:checked:after{content:"";width:.32em;height:.6em;border:solid var(--p-color-neutral-20);border-width:0 .16em .16em 0;transform:translateY(-.08em) rotate(45deg)}.kn-radio:checked:after{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--p-color-neutral-20)}.kn-check:focus-visible,.kn-radio:focus-visible{outline:var(--p-border-width) solid var(--color-focus-ring);outline-offset:2px}.kn-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;box-sizing:border-box;margin:0;cursor:pointer;font-size:var(--control-fs, var(--font-ui-size));position:relative;width:2.6em;height:1.5em;border-radius:1em;background:var(--color-surface-secondary);border:var(--p-border-width) solid var(--color-border);transition:background-color .15s ease,border-color .15s ease}.kn-toggle:after{content:"";position:absolute;top:50%;left:.18em;width:1.05em;height:1.05em;border-radius:50%;background:var(--color-text);transform:translateY(-50%);transition:left .15s ease,background-color .15s ease}.kn-toggle:checked{background:var(--color-accent);border-color:var(--color-border)}.kn-toggle:checked:after{left:calc(100% - 1.23em);background:var(--p-color-neutral-20)}.kn-toggle:focus-visible{outline:var(--p-border-width) solid var(--color-focus-ring);outline-offset:2px}.kn-hdr-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-gap-xs)}.kn-hdr-link{font-family:var(--p-font-family-mono);font-size:var(--font-body-sm-size);color:var(--color-text-muted);text-decoration:none;max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kn-hdr-link:hover{color:var(--color-text)}.kn-search{display:inline-flex;align-items:center;gap:var(--space-inline-sm);box-sizing:border-box;min-height:var(--control-h, var(--size-control-sm));color:var(--color-text-muted);background:var(--color-bg-elevated);border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-control);padding:0 var(--space-inline-md);font-family:var(--font-body-family);font-size:var(--font-body-sm-size)}.kn-search--md{--control-h: var(--size-control-md)}.kn-search--lg{min-width:16rem}.kn-search__input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--color-text);font-family:var(--font-body-family);font-size:var(--font-body-sm-size)}.kn-search__input::placeholder{color:var(--color-text-muted)}.kn-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:var(--font-body-family);font-size:var(--control-fs, var(--font-body-sm-size));color:var(--color-form-text);background-color:var(--color-bg-elevated);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239fa597' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-inline-md) center;background-size:1rem;border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-control);box-sizing:border-box;min-height:var(--control-h, var(--size-control-sm));padding:0 calc(var(--control-px, var(--space-inline-md)) + 1rem + var(--space-inline-sm)) 0 var(--control-px, var(--space-inline-md));cursor:pointer}.kn-select--sm{--control-h: var(--size-control-sm);--control-px: var(--control-pad-sm);--control-fs: var(--control-font-sm)}.kn-select--md{--control-h: var(--size-control-md);--control-px: var(--control-pad-md);--control-fs: var(--control-font-md)}.kn-select--lg{--control-h: var(--size-control-lg);--control-px: var(--control-pad-lg);--control-fs: var(--control-font-lg)}.kn-select:hover{border-color:var(--color-text-muted)}.kn-select:focus-visible{outline:var(--p-border-width) solid var(--color-focus-ring);outline-offset:1px}.kn-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h, var(--size-control-md));height:var(--control-h, var(--size-control-md));flex:none;color:var(--color-text-secondary);background:var(--color-bg-elevated);border:var(--p-border-width) solid var(--color-border);border-radius:var(--radius-control);cursor:pointer}.kn-icon-btn:hover{color:var(--color-text)}.kn-icon-btn-sm{--control-h: var(--size-control-sm)}.kn-avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--size-avatar-md);height:var(--size-avatar-md);flex:none;overflow:hidden;background:var(--p-color-neutral-40);color:var(--p-color-neutral-100);border-radius:var(--radius-sm);font-family:var(--font-body-family);font-size:var(--font-ui-sm-size);font-weight:600;text-transform:uppercase}.kn-avatar--sm{width:var(--size-avatar-sm);height:var(--size-avatar-sm);font-size:var(--font-ui-xs-size)}.kn-avatar--lg{width:var(--size-avatar-lg);height:var(--size-avatar-lg)}.kn-avatar__img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.kn-avatar__initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;line-height:1;letter-spacing:.02em}.kn-nav{display:flex;flex-direction:column;min-height:0;padding:var(--space-ui-md) 0}.kn-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:var(--space-gap-sm);width:100%;background:transparent;border:none;border-left:2px solid transparent;padding:var(--space-ui-sm) var(--space-pad-x-sm);font-family:var(--font-body-family);font-size:var(--font-ui-size);color:var(--color-text-secondary);text-align:left;cursor:pointer}.kn-nav-item:hover{color:var(--color-text)}.kn-nav-item__icon{flex:none;color:var(--color-text-secondary)}.kn-nav-item__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kn-nav-item__count{flex:none;font-size:var(--font-ui-xs-size);color:var(--color-text-secondary)}.kn-nav-item--unread{color:var(--color-text-accent);font-weight:600}.kn-nav-item--unread .kn-nav-item__icon,.kn-nav-item--unread .kn-nav-item__count{color:var(--color-text-accent)}.kn-nav-item--active{color:var(--color-text);font-weight:600;border-left-color:var(--color-accent)}.kn-nav-item--active .kn-nav-item__icon{color:var(--color-text)}.kn-contact{font-size:var(--font-ui-size);font-weight:600;color:var(--color-text)}.kn-contact__addr{font-weight:400;color:var(--color-text-secondary)}.kn-accent-heading{font-family:var(--font-accent-family);font-weight:var(--font-accent-weight);font-style:var(--font-accent-style);line-height:var(--font-heading-line-height);color:var(--color-text-secondary)}.kn-page-title{font-family:var(--font-heading-family);font-weight:var(--font-heading-weight);font-size:var(--font-h3-size);line-height:var(--font-heading-line-height);color:var(--color-text);margin:0}.kn-section-heading{font-family:var(--font-accent-family);font-weight:var(--font-accent-weight);font-style:var(--font-accent-style);font-size:var(--font-h5-size);line-height:var(--font-heading-line-height);letter-spacing:var(--p-letter-spacing-none);color:var(--color-text-secondary);margin:0}body{font-family:var(--font-body-family);font-size:var(--font-body-size);font-weight:var(--font-body-weight);line-height:var(--font-body-line-height)}.app__loading{padding:var(--p-space-6);color:var(--color-text-muted)}.tb-hdr__title{display:flex;align-items:center;font-family:var(--font-heading-family);font-weight:var(--font-heading-weight);font-size:var(--font-body-lg-size);color:var(--color-text)}.tb-hdr__crumb{display:flex;align-items:center;font-family:var(--font-body-family);font-size:var(--font-body-sm-size);color:var(--color-text-muted);text-decoration:none}.tb-hdr__crumb:hover{color:var(--color-text)}.btn{display:inline-flex;align-items:center;gap:var(--p-space-2);background:var(--color-btn-bg);color:var(--color-btn-text);border:1px solid var(--color-btn-border);border-radius:6px;font-family:var(--font-body-family);font-size:var(--font-button-size);font-weight:var(--p-font-weight-book);letter-spacing:var(--font-button-letter-spacing);text-transform:var(--font-button-transform);padding:var(--p-space-3) var(--p-space-5);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{background:var(--color-btn-bg-hover);color:var(--color-btn-text-hover);border-color:var(--color-btn-border-hover)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn--secondary{background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-color:var(--color-btn-secondary-border)}.btn--secondary:hover{background:var(--color-btn-secondary-bg-hover);color:var(--color-btn-secondary-text-hover);border-color:var(--color-btn-secondary-border-hover)}.btn--lime{background:var(--color-accent);color:var(--p-color-neutral-20);border-color:var(--color-accent)}.btn--lime:hover{background:var(--p-color-brand-95);color:var(--p-color-neutral-20);border-color:var(--p-color-brand-70)}.btn--small{padding:var(--p-space-2) var(--p-space-4);font-size:var(--font-body-xs-size)}.input{border:1px solid var(--color-border);color:var(--color-form-text);background:var(--color-bg-alt);border-radius:6px;font:inherit;padding:var(--p-space-3) var(--p-space-4);width:100%}.input:focus{outline:2px solid var(--color-focus-ring)}.count-pill{font-family:var(--font-body-family);font-size:var(--font-body-xs-size);background:var(--color-surface-secondary);color:var(--color-text-secondary);padding:2px var(--p-space-3);border-radius:999px;white-space:nowrap}.micro-label{font-family:var(--font-body-family);font-size:var(--font-body-xs-size);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.staff-badge{font-family:var(--font-body-family);font-size:var(--font-body-xs-size);text-transform:uppercase;letter-spacing:.08em;background:var(--color-warning-bg);color:var(--color-warning-text);padding:var(--p-space-1) var(--p-space-3);border-radius:4px}.progress-bar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--color-accent);transform-origin:left;animation:progress-sweep 1.2s ease-in-out infinite;z-index:20}@keyframes progress-sweep{0%{transform:scaleX(0)}70%{transform:scaleX(.85)}to{transform:scaleX(1);opacity:.3}}.toasts{position:fixed;bottom:var(--p-space-5);right:var(--p-space-5);display:flex;flex-direction:column;gap:var(--p-space-3);z-index:10}.toasts__item{background:var(--color-error-bg);color:var(--color-error-text);padding:var(--p-space-4) var(--p-space-5);cursor:pointer;max-width:22rem}.board{max-width:46rem;margin:0 auto;padding:var(--p-space-6) var(--p-space-6) var(--p-space-9)}.board__topline{display:flex;align-items:center;gap:var(--p-space-4);margin-bottom:var(--p-space-6)}.board__section{margin-bottom:var(--p-space-8)}.board__heading-row{display:flex;align-items:baseline;gap:var(--p-space-3);margin-bottom:var(--p-space-4)}.board__heading{font-size:var(--font-h3-size);color:var(--color-text);margin:0}.board__heading em{font-style:normal}.board__heading-spacer{flex:1}.board__drag-hint{margin:calc(-1 * var(--p-space-3)) 0 var(--p-space-4)}.board__add{display:flex;gap:var(--p-space-3);margin-bottom:var(--p-space-4)}.board__list{display:flex;flex-direction:column}.count-pill--full{background:var(--color-warning-bg);color:var(--color-warning-text)}.open-slot{border:2px dashed var(--color-border);border-radius:8px;padding:var(--p-space-4) var(--p-space-5);font-family:var(--font-body-family);font-size:var(--font-body-sm-size);color:var(--color-text-muted);margin-bottom:var(--p-space-3)}.board__done{margin-top:var(--p-space-7)}.board__done-summary{cursor:pointer;display:flex;align-items:center;gap:var(--p-space-3);list-style:none}.board__done-summary::-webkit-details-marker{display:none}.board__done-summary:before{content:"▸";color:var(--color-text-muted);font-size:var(--font-body-xs-size)}details[open] .board__done-summary:before{content:"▾"}.board__done-summary:after{content:"";flex:1;border-top:1px solid var(--color-border-subtle)}.board__done>.task-card{margin-top:var(--p-space-3)}.task-card{display:flex;align-items:center;gap:var(--p-space-4);background:var(--color-bg-alt);border:1px solid var(--color-border-subtle);border-radius:8px;padding:var(--p-space-4) var(--p-space-5);margin-bottom:var(--p-space-3);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.task-card:hover{box-shadow:0 4px 12px #141a0e14;transform:scale(1.01)}.task-card--inprogress{border-left:3px solid var(--p-color-brand-70);border-radius:0 8px 8px 0}.task-card--done{opacity:.7}.task-card--backlog{cursor:grab}.task-card__grip{width:10px;height:18px;fill:var(--color-text-muted);flex-shrink:0}.task-card__position{font-family:var(--font-body-family);font-size:var(--font-body-xs-size);color:var(--color-text-muted);min-width:1ch}.task-card__body{flex:1;min-width:0}.task-card__title{font-family:var(--font-heading-family);font-weight:var(--font-heading-weight);font-size:var(--font-body-lg-size);color:var(--color-text);margin:0 0 2px}.task-card__preview{margin:0;font-size:var(--font-body-xs-size);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card__date{font-size:var(--font-body-xs-size);color:var(--color-text-muted);white-space:nowrap}.task-card__actions{display:flex;gap:var(--p-space-2)}.sortable-ghost{opacity:.5}.sortable-chosen{box-shadow:0 10px 24px #141a0e26}.panel{position:fixed;top:0;right:0;bottom:0;width:min(28rem,100vw);background:var(--color-bg-alt);border-left:1px solid var(--color-border-subtle);box-shadow:-8px 0 24px #141a0e14;padding:var(--p-space-6) var(--p-space-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--p-space-4);z-index:10}.panel__close{align-self:flex-end;background:none;border:none;font-size:var(--font-h4-size);cursor:pointer;color:var(--color-text-muted)}.panel__close:hover{color:var(--color-text)}.panel__title{font-size:var(--font-h4-size);color:var(--color-text);margin:0}.panel__title-input{font-family:var(--font-heading-family);font-size:var(--font-h4-size)}.panel__description{color:var(--color-text-secondary)}.panel__description :is(h1,h2,h3){font-family:var(--font-heading-family);font-weight:var(--font-heading-weight)}.panel__description a{color:var(--p-color-brand-40)}.panel__meta{font-size:var(--font-body-sm-size);color:var(--color-text-muted);display:flex;flex-direction:column;gap:var(--p-space-2);margin:0}.panel__meta div{display:flex;gap:var(--p-space-3);align-items:baseline}.panel__meta dd{margin:0}.panel__description-editor{border:1px solid var(--color-border);background:var(--color-bg-alt);border-radius:6px;padding:0 var(--p-space-4);min-height:16rem}.panel__description-editor:focus-within{outline:2px solid var(--color-focus-ring)}.panel__description-editor .ProseMirror{min-height:16rem}.panel__actions{display:flex;gap:var(--p-space-3);margin-top:auto}.dashboard{max-width:70rem;margin:0 auto;padding:var(--p-space-6) var(--p-space-6) var(--p-space-9)}.dashboard__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:var(--p-space-5)}.client-card{display:flex;flex-direction:column;gap:var(--p-space-3);background:var(--color-bg-alt);border:1px solid var(--color-border-subtle);border-radius:8px;padding:var(--p-space-5);text-decoration:none;color:inherit;transition:box-shadow .2s ease,transform .2s ease}.client-card:hover{box-shadow:0 4px 12px #141a0e14;transform:scale(1.01)}.client-card__header{display:flex;align-items:center;gap:var(--p-space-3)}.client-card__logo{max-height:1.5rem}.client-card__name{font-family:var(--font-heading-family);font-weight:var(--font-heading-weight);font-size:var(--font-h4-size);color:var(--color-text);margin:0 auto 0 0}.client-card__list{margin:0;padding-left:var(--p-space-5);font-size:var(--font-body-sm-size)}.client-card__list--inprogress{list-style:none;padding-left:0;font-weight:var(--p-font-weight-book)}.client-card__empty{color:var(--color-text-muted)}
