.k-root{font-family:var(--font-sans);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.k-root *,.k-root *:before,.k-root *:after{box-sizing:border-box}.k-doc{margin:0;padding:var(--space-4);min-height:100vh;box-sizing:border-box;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.k-doc *,.k-doc *:before,.k-doc *:after{box-sizing:border-box}.k-doc--surface{background:var(--color-surface)}.k-doc--canvas{background:var(--color-canvas)}.k-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.k-col{display:flex;flex-direction:column;gap:var(--space-3)}.k-stack{display:flex;flex-direction:column;gap:var(--space-2)}.k-doc-label{font-family:var(--font-sans);color:var(--color-ink-2)}.k-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-muted{color:var(--color-ink-2)}.k-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.k-icon{flex:none;display:block}.k-focus:focus-visible,.k-focus.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:2px}.k-link{color:var(--color-link);text-decoration:underline;text-underline-offset:2px}.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--size-control-md);padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;position:relative;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.k-btn:focus-visible,.k-btn.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:2px}.k-btn--sm{height:var(--size-control-sm);padding:0 var(--space-2);gap:var(--space-1)}.k-btn--lg{height:var(--size-control-lg);padding:0 var(--space-4)}.k-btn--touch{height:var(--size-touch);padding:0 var(--space-5);border-radius:var(--radius-lg)}.k-btn--icon{padding:0;width:var(--size-control-md)}.k-btn--icon.k-btn--sm{width:var(--size-control-sm)}.k-btn--icon.k-btn--lg{width:var(--size-control-lg)}.k-btn--icon.k-btn--touch{width:var(--size-touch)}.k-btn--block{display:flex;width:100%}.k-btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.k-btn--primary:hover,.k-btn--primary.is-hover{background:var(--color-accent-hover)}.k-btn--primary:active,.k-btn--primary.is-active{background:var(--color-accent-pressed)}.k-btn--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line-strong)}.k-btn--secondary:hover,.k-btn--secondary.is-hover{background:var(--color-hover)}.k-btn--secondary:active,.k-btn--secondary.is-active{background:var(--color-pressed)}.k-btn--ghost{background:transparent;color:var(--color-ink)}.k-btn--ghost:hover,.k-btn--ghost.is-hover{background:var(--color-hover)}.k-btn--ghost:active,.k-btn--ghost.is-active,.k-btn--ghost[aria-pressed=true]{background:var(--color-pressed)}.k-btn--danger{background:var(--color-danger);color:var(--color-on-danger)}.k-btn--danger:hover,.k-btn--danger.is-hover,.k-btn--danger:active,.k-btn--danger.is-active{background:var(--color-danger-hover)}.k-btn--danger-ghost{background:transparent;color:var(--color-danger)}.k-btn--danger-ghost:hover,.k-btn--danger-ghost.is-hover{background:var(--color-danger-soft)}.k-btn--link{background:transparent;color:var(--color-link);padding:0 var(--space-1);height:auto;text-decoration:underline;text-underline-offset:2px}.k-btn:disabled,.k-btn.is-disabled{background:var(--color-fill);border-color:transparent;color:var(--color-ink-disabled);cursor:not-allowed}.k-btn--ghost:disabled,.k-btn--ghost.is-disabled,.k-btn--danger-ghost:disabled,.k-btn--link:disabled{background:transparent}.k-btn.is-loading{cursor:progress}.k-btn .k-kbd{margin-left:var(--space-1)}.k-btn--primary .k-kbd{background:transparent;color:var(--color-on-accent);box-shadow:inset 0 0 0 1px var(--color-on-accent)}.k-tool{position:relative;display:inline-grid;place-items:center;width:var(--size-control-md);height:var(--size-control-md);padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-ink);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.k-tool--sm{width:var(--size-control-sm);height:var(--size-control-sm)}.k-tool--lg{width:var(--size-control-lg);height:var(--size-control-lg)}.k-tool--touch{width:var(--size-touch);height:var(--size-touch)}.k-tool:hover,.k-tool.is-hover{background:var(--color-hover)}.k-tool:active,.k-tool.is-active{background:var(--color-pressed)}.k-tool.is-on,.k-tool[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent)}.k-tool:focus-visible,.k-tool.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:0}.k-tool:disabled,.k-tool.is-disabled{background:transparent;color:var(--color-ink-disabled);cursor:not-allowed}.k-tool__badge{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-danger);box-shadow:0 0 0 2px var(--color-surface)}.k-tool__badge--warning{background:var(--color-warning)}.k-toolbar{display:inline-flex;align-items:center;gap:var(--space-hair);padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg)}.k-toolbar--vertical{flex-direction:column}.k-toolbar--floating{background:var(--color-raised);border-color:transparent;box-shadow:var(--shadow-2)}.k-toolbar--flush{padding:0;border:0;border-radius:var(--radius-none);background:transparent}.k-toolbar__sep{flex:none;width:1px;height:var(--size-icon);margin:0 var(--space-1);background:var(--color-line)}.k-toolbar--vertical .k-toolbar__sep{width:var(--size-icon);height:1px;margin:var(--space-1) 0}.k-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;font-family:var(--font-sans)}.k-field__label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);color:var(--color-ink-2)}.k-field__opt{color:var(--color-ink-2);font-weight:400}.k-field__hint{display:flex;align-items:flex-start;gap:var(--space-1);color:var(--color-ink-2)}.k-field__hint .k-icon{margin-top:0}.k-field__hint.is-error{color:var(--color-danger)}.k-field__hint.is-warning{color:var(--color-warning)}.k-input{display:flex;align-items:center;gap:var(--space-2);height:var(--size-control-md);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);color:var(--color-ink);min-width:0;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.k-input--sm{height:var(--size-control-sm);padding:0 var(--space-2)}.k-input--lg{height:var(--size-control-lg)}.k-input--touch{height:var(--size-touch);border-radius:var(--radius-lg)}.k-input:hover,.k-input.is-hover{border-color:var(--color-ink-2)}.k-input:focus-within,.k-input.is-focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.k-input.is-error{border-color:var(--color-danger)}.k-input.is-error:focus-within,.k-input.is-error.is-focus{box-shadow:0 0 0 1px var(--color-danger)}.k-input.is-warning{border-color:var(--color-warning)}.k-input.is-disabled{background:var(--color-fill);border-color:var(--color-line);color:var(--color-ink-disabled);cursor:not-allowed}.k-input.is-readonly{background:var(--color-fill);border-color:transparent}.k-input__el{flex:1;min-width:0;height:100%;padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font-family:var(--font-sans)}.k-input__el.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-input__el::placeholder{color:var(--color-ink-2);opacity:1}.k-input.is-disabled .k-input__el{cursor:not-allowed}.k-input__affix,.k-input__icon{flex:none;display:inline-flex;align-items:center;color:var(--color-ink-2)}.k-dim .k-input__el{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:left}.k-dim--right .k-input__el{text-align:right}.k-dim__unit{flex:none;color:var(--color-ink-2);font-family:var(--font-mono)}.k-dim__unitsel{flex:none;height:22px;margin-right:calc(var(--space-1) * -1);padding:0 var(--space-1);border:0;border-radius:var(--radius-xs);background:transparent;color:var(--color-ink-2);font-family:var(--font-mono);cursor:pointer}.k-dim__unitsel:hover{background:var(--color-hover);color:var(--color-ink)}.k-dim__unitsel:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:0}.k-dim__result{flex:none;display:inline-flex;align-items:center;height:20px;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-fill);color:var(--color-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.k-dim__result.is-error{background:var(--color-danger-soft);color:var(--color-danger)}.k-dim__fx{flex:none;display:inline-flex;align-items:center;color:var(--color-accent)}.k-dim__edited{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-ink-2)}.k-dim__reset{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--color-ink-2);cursor:pointer}.k-dim__reset:hover{background:var(--color-hover);color:var(--color-ink)}.k-dim__reset:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:0}.k-dim.is-bound:not(:focus-within) .k-input__el{color:var(--color-ink)}.k-dim--inline{display:inline-flex;flex-direction:column;gap:var(--space-1)}.k-dim--inline .k-input{height:24px;padding:0 var(--space-1) 0 var(--space-2);gap:var(--space-1);background:var(--color-raised);border-width:1px;border-radius:var(--radius-sm);box-shadow:var(--shadow-2)}.k-dim--inline .k-input:focus-within,.k-dim--inline .k-input.is-focus{box-shadow:0 0 0 1px var(--color-accent),var(--shadow-2)}.k-dim--inline .k-input__el{width:9ch;flex:none}.k-dim--inline .k-dim__result{height:18px}.k-dim__pop{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-hair) var(--space-2);border-radius:var(--radius-sm);background:var(--color-inverse);color:var(--color-on-inverse);white-space:nowrap}.k-dim__pop .k-icon{color:var(--color-danger-on-inverse)}.k-select-wrap{position:relative;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.k-select{width:100%;text-align:left;cursor:pointer;font-family:var(--font-sans)}.k-select:focus-visible{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.k-select.is-open{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.k-select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-select__value.is-placeholder{color:var(--color-ink-2)}.k-select__chev{flex:none;color:var(--color-ink-2);transition:transform var(--duration-base) var(--ease-standard)}.k-select.is-open .k-select__chev{transform:rotate(180deg)}.k-listbox{position:absolute;z-index:var(--z-popover);top:100%;left:0;min-width:100%;margin:var(--space-1) 0 0;padding:var(--space-1);list-style:none;background:var(--color-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);max-height:296px;overflow:auto;animation:k-pop-in var(--duration-base) var(--ease-enter)}.k-listbox--static{position:static;margin:0;animation:none}.k-option{display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-control-md);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-ink);cursor:pointer;white-space:nowrap}.k-option.is-active,.k-option:hover{background:var(--color-hover)}.k-option__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.k-option__meta{color:var(--color-ink-2);font-family:var(--font-mono)}.k-option__check{flex:none;width:var(--size-icon-sm);color:var(--color-accent)}.k-option.is-disabled{color:var(--color-ink-disabled);cursor:not-allowed;background:transparent}.k-option.is-disabled .k-option__meta{color:var(--color-ink-disabled)}.k-listbox__label{padding:var(--space-2) var(--space-2) var(--space-1);color:var(--color-ink-2)}.k-listbox__sep{height:1px;margin:var(--space-1) calc(var(--space-1) * -1);background:var(--color-line)}.k-seg{display:inline-flex;align-items:stretch;height:var(--size-control-md);padding:var(--space-hair);gap:var(--space-hair);background:var(--color-fill);border-radius:var(--radius-md);font-family:var(--font-sans)}.k-seg--sm{height:var(--size-control-sm)}.k-seg--touch{height:var(--size-touch);border-radius:var(--radius-lg)}.k-seg--block{display:flex;width:100%}.k-seg__item{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-2);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-base) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.k-seg--sm .k-seg__item{padding:0 var(--space-2)}.k-seg--touch .k-seg__item{border-radius:var(--radius-md)}.k-seg--icons .k-seg__item{padding:0;width:calc(var(--size-control-md) - 4px);flex:none}.k-seg--icons.k-seg--sm .k-seg__item{width:calc(var(--size-control-sm) - 4px)}.k-seg__item:hover,.k-seg__item.is-hover{color:var(--color-ink)}.k-seg__item[aria-checked=true]{background:var(--color-thumb);color:var(--color-ink);box-shadow:var(--shadow-1)}.k-seg__item:focus-visible,.k-seg__item.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:0}.k-seg__item:disabled{color:var(--color-ink-disabled);cursor:not-allowed}.k-seg.is-disabled{opacity:1}.k-seg.is-disabled .k-seg__item{color:var(--color-ink-disabled);cursor:not-allowed}.k-seg.is-disabled .k-seg__item[aria-checked=true]{background:transparent;box-shadow:none}.k-check{display:inline-flex;align-items:flex-start;gap:var(--space-2);color:var(--color-ink);cursor:pointer;font-family:var(--font-sans);position:relative}.k-check__box{flex:none;display:grid;place-items:center;width:16px;height:16px;margin-top:1px;border:1px solid var(--color-line-strong);border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-on-accent);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.k-check:hover .k-check__box,.k-check.is-hover .k-check__box{border-color:var(--color-ink-2)}.k-check.is-checked .k-check__box,.k-check.is-mixed .k-check__box{background:var(--color-accent);border-color:var(--color-accent)}.k-check input:focus-visible+.k-check__box,.k-check.is-focus .k-check__box,.k-check input:focus-visible+.k-switch__track,.k-check.is-focus .k-switch__track{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:2px}.k-check.is-error .k-check__box{border-color:var(--color-danger)}.k-check.is-disabled{color:var(--color-ink-disabled);cursor:not-allowed}.k-check.is-disabled .k-check__box{background:var(--color-fill);border-color:var(--color-line);color:var(--color-ink-disabled)}.k-check__text{display:flex;flex-direction:column}.k-check__hint{color:var(--color-ink-2)}.k-switch__track{flex:none;position:relative;width:32px;height:18px;margin-top:0;border-radius:var(--radius-full);background:var(--color-line-strong);transition:background-color var(--duration-base) var(--ease-standard)}.k-switch__knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:var(--radius-full);background:var(--color-surface);transition:transform var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard)}.k-check.is-checked .k-switch__track{background:var(--color-accent)}.k-check.is-checked .k-switch__knob{transform:translate(14px);background:var(--color-on-accent)}.k-check.is-disabled .k-switch__track{background:var(--color-fill);box-shadow:inset 0 0 0 1px var(--color-line)}.k-check.is-disabled .k-switch__knob{background:var(--color-line)}.k-slider{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;color:var(--color-ink);font-family:var(--font-sans)}.k-slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.k-slider__label{color:var(--color-ink-2)}.k-slider__value{color:var(--color-ink);white-space:nowrap}.k-slider__unit{margin-left:var(--space-1);color:var(--color-ink-2)}.k-slider__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;margin:0;background:transparent;cursor:pointer}.k-slider__input:focus-visible{outline:none}.k-slider__input::-webkit-slider-runnable-track{height:4px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--color-accent) var(--k-slider-fill, 0%),var(--color-line-strong) var(--k-slider-fill, 0%))}.k-slider__input::-moz-range-track{height:4px;border-radius:var(--radius-full);background:var(--color-line-strong)}.k-slider__input::-moz-range-progress{height:4px;border-radius:var(--radius-full);background:var(--color-accent)}.k-slider__input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6px;border:var(--stroke-focus) solid var(--color-accent);border-radius:var(--radius-full);background:var(--color-surface);box-shadow:var(--shadow-1)}.k-slider__input::-moz-range-thumb{width:12px;height:12px;border:var(--stroke-focus) solid var(--color-accent);border-radius:var(--radius-full);background:var(--color-surface);box-shadow:var(--shadow-1)}.k-slider__input:focus-visible::-webkit-slider-thumb,.k-slider.is-focus .k-slider__input::-webkit-slider-thumb{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:2px}.k-slider__input:focus-visible::-moz-range-thumb,.k-slider.is-focus .k-slider__input::-moz-range-thumb{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:2px}.k-slider__range{display:flex;justify-content:space-between;color:var(--color-ink-2)}.k-slider__hint{color:var(--color-ink-2)}.k-slider.is-disabled,.k-slider.is-disabled .k-slider__label,.k-slider.is-disabled .k-slider__value,.k-slider.is-disabled .k-slider__unit{color:var(--color-ink-disabled)}.k-slider.is-disabled .k-slider__input{cursor:not-allowed}.k-slider.is-disabled .k-slider__input::-webkit-slider-runnable-track{background:var(--color-fill);box-shadow:inset 0 0 0 1px var(--color-line)}.k-slider.is-disabled .k-slider__input::-moz-range-track{background:var(--color-fill)}.k-slider.is-disabled .k-slider__input::-moz-range-progress{background:var(--color-line)}.k-slider.is-disabled .k-slider__input::-webkit-slider-thumb{border-color:var(--color-line);box-shadow:none}.k-slider.is-disabled .k-slider__input::-moz-range-thumb{border-color:var(--color-line);box-shadow:none}.k-choices{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;font-family:var(--font-sans)}.k-choices--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--space-16),1fr))}.k-choice{position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-control-lg);min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.k-choice:hover,.k-choice.is-hover{background:var(--color-hover);border-color:var(--color-line-strong)}.k-choice[aria-checked=true]{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.k-choice:focus-visible,.k-choice.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:2px}.k-choice:disabled{color:var(--color-ink-disabled);background:var(--color-fill);cursor:not-allowed}.k-choice__lead{flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--color-ink-2)}.k-choice__text{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.k-choice__label{color:inherit;overflow-wrap:anywhere}.k-choice__sub{color:var(--color-ink-2);overflow-wrap:anywhere}.k-choice__tag{flex:none;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-fill);color:var(--color-ink-2)}.k-choice[aria-checked=true] .k-choice__tag{background:var(--color-surface)}.k-choice__mark{position:absolute;top:var(--space-1);right:var(--space-1);width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--color-accent)}.k-choices--grid .k-choice{flex-direction:column;justify-content:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-1);text-align:center}.k-choices--grid .k-choice__text{align-items:center}.k-choices.is-disabled .k-choice{color:var(--color-ink-disabled);cursor:not-allowed}.k-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--color-surface);color:var(--color-ink);font-family:var(--font-sans)}.k-panel--docked.k-panel--right{border-left:1px solid var(--color-line)}.k-panel--docked.k-panel--left{border-right:1px solid var(--color-line)}.k-panel--floating{background:var(--color-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden}.k-panel--card{border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden}.k-panel__header{flex:none;display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--color-line)}.k-panel__icon{flex:none;color:var(--color-ink-2)}.k-panel__titles{flex:1;min-width:0;display:flex;flex-direction:column}.k-panel__title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-panel__subtitle{color:var(--color-ink-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-panel__actions{flex:none;display:flex;align-items:center;gap:var(--space-hair)}.k-panel__body{flex:1;min-height:0;overflow:auto}.k-panel__body--pad{padding:var(--space-4)}.k-panel__footer{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.k-section{border-bottom:1px solid var(--color-line)}.k-section:last-child{border-bottom:0}.k-section__head{display:flex;align-items:center;gap:var(--space-1);min-height:40px;padding:0 var(--space-2) 0 var(--space-4)}.k-section__toggle{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-1);height:28px;margin-left:calc(var(--space-1) * -1);padding:0 var(--space-1);border:0;border-radius:var(--radius-xs);background:transparent;color:var(--color-ink);font-family:var(--font-sans);text-align:left;cursor:pointer}.k-section__toggle:hover{background:var(--color-hover)}.k-section__toggle:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:0}.k-section__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-section__chev{flex:none;color:var(--color-ink-2);transition:transform var(--duration-base) var(--ease-standard)}.k-section.is-closed .k-section__chev{transform:rotate(-90deg)}.k-section__body{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-4) var(--space-4)}.k-prop{display:grid;grid-template-columns:var(--k-label-w, 88px) minmax(0,1fr);align-items:center;gap:var(--space-2);min-height:var(--size-control-sm)}.k-prop--stacked{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}.k-prop__label{color:var(--color-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-prop__value{min-width:0;display:flex;align-items:center;gap:var(--space-2)}.k-prop__hint{grid-column:2;color:var(--color-ink-2)}.k-prop--stacked .k-prop__hint{grid-column:1}.k-tabs{display:flex;align-items:stretch;gap:var(--space-5);border-bottom:1px solid var(--color-line);font-family:var(--font-sans);overflow-x:auto;scrollbar-width:none}.k-tabs--sm{gap:var(--space-4)}.k-tab{position:relative;flex:none;display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0;border:0;background:transparent;color:var(--color-ink-2);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-standard)}.k-tabs--sm .k-tab{height:32px;gap:var(--space-1)}.k-tab:hover,.k-tab.is-hover,.k-tab[aria-selected=true]{color:var(--color-ink)}.k-tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:var(--stroke-focus);background:var(--color-ink);border-radius:var(--radius-full)}.k-tab:focus-visible,.k-tab.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:-2px;border-radius:var(--radius-xs)}.k-tab:disabled{color:var(--color-ink-disabled);cursor:not-allowed}.k-tab__status{display:inline-flex}.k-tab__status--error{color:var(--color-danger)}.k-tab__status--warning{color:var(--color-warning)}.k-tabs--sheet{gap:0;border-bottom:0;border-top:1px solid var(--color-line);background:var(--color-fill);padding:0 var(--space-2)}.k-tabs--sheet .k-tab{height:30px;padding:0 var(--space-3);border-right:1px solid var(--color-line);color:var(--color-ink-2)}.k-tabs--sheet .k-tab:first-child{border-left:1px solid var(--color-line)}.k-tabs--sheet .k-tab:hover{background:var(--color-hover)}.k-tabs--sheet .k-tab[aria-selected=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:inset 0 var(--stroke-focus) 0 var(--color-ink)}.k-tabs--sheet .k-tab[aria-selected=true]:after{display:none}.k-tabpanel:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:2px}.k-tree{margin:0;padding:var(--space-1) 0;list-style:none;font-family:var(--font-sans);color:var(--color-ink)}.k-tree ul{margin:0;padding:0;list-style:none}.k-tree__row{position:relative;display:flex;align-items:center;gap:var(--space-1);height:var(--size-row);margin:0 var(--space-1);padding:0 var(--space-1) 0 calc(var(--space-1) + var(--k-depth, 0) * var(--space-4));border-radius:var(--radius-xs);cursor:default;-webkit-user-select:none;user-select:none}.k-tree__row:hover,.k-tree__row.is-hover{background:var(--color-hover)}.k-tree__row.is-selected{background:var(--color-accent-soft)}.k-tree__row.is-selected:hover,.k-tree__row.is-selected.is-hover{background:var(--color-accent-soft-strong)}.k-tree__row.is-linked{box-shadow:inset 0 0 0 1px var(--color-accent)}.k-tree__row:focus-visible,.k-tree__row.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:-2px}.k-tree__row.is-drop-inside{background:var(--color-accent-soft);box-shadow:inset 0 0 0 var(--stroke-icon) var(--color-accent)}.k-tree__row.is-drop-before:before,.k-tree__row.is-drop-after:after{content:"";position:absolute;left:calc(var(--space-1) + var(--k-depth, 0) * var(--space-4));right:0;height:var(--stroke-focus);background:var(--color-accent);border-radius:var(--radius-full)}.k-tree__row.is-drop-before:before{top:-1px}.k-tree__row.is-drop-after:after{bottom:-1px}.k-tree__twisty{flex:none;display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--color-ink-2);cursor:pointer;transition:transform var(--duration-base) var(--ease-standard)}.k-tree__twisty:hover{color:var(--color-ink)}.k-tree__twisty.is-open{transform:rotate(90deg)}.k-tree__spacer{flex:none;width:18px}.k-tree__icon{flex:none;display:inline-flex;color:var(--color-ink-2)}.k-tree__row.is-selected .k-tree__icon{color:var(--color-accent)}.k-tree__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-tree__row.is-selected .k-tree__label{font-weight:500}.k-tree__row.is-excluded .k-tree__label{color:var(--color-ink-2);text-decoration:line-through}.k-tree__row.is-hidden .k-tree__label,.k-tree__row.is-hidden .k-tree__icon{color:var(--color-ink-2)}.k-tree__meta{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-ink-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-tree__status{flex:none;display:inline-flex}.k-tree__status--error{color:var(--color-danger)}.k-tree__status--warning{color:var(--color-warning)}.k-tree__status--info{color:var(--color-ink-2)}.k-tree__actions{flex:none;display:none;align-items:center;gap:0}.k-tree__row:hover .k-tree__actions,.k-tree__row.is-selected .k-tree__actions,.k-tree__row.is-hover .k-tree__actions{display:inline-flex}.k-tree__act{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--color-ink-2);cursor:pointer}.k-tree__act:hover{background:var(--color-pressed);color:var(--color-ink)}.k-tree__act:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:0}.k-tree__rename{flex:1;min-width:0;height:22px;padding:0 var(--space-1);border:1px solid var(--color-accent);border-radius:var(--radius-xs);outline:0;box-shadow:0 0 0 1px var(--color-accent);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-sans)}.k-tree__head{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-1)}.k-tree__head-name{flex:1;min-width:0;display:flex;flex-direction:column}.k-tree__head-type{color:var(--color-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-tree__group{padding:var(--space-3) var(--space-3) var(--space-1);color:var(--color-ink-2)}.k-size{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-size--flex,.k-size__star{color:var(--color-ink-2)}.k-size--formula .k-icon{color:var(--color-accent)}.k-size__was{color:var(--color-ink-2);text-decoration:line-through}.k-size__edit{color:var(--color-ink-2);display:inline-flex}.k-table-wrap{position:relative;overflow:auto;background:var(--color-surface);font-family:var(--font-sans)}.k-table-wrap--card{border:1px solid var(--color-line);border-radius:var(--radius-lg)}.k-table{width:100%;border-collapse:separate;border-spacing:0;color:var(--color-ink)}.k-table th{position:sticky;top:0;z-index:1;height:32px;padding:0 var(--space-3);background:var(--color-fill);border-bottom:1px solid var(--color-line);color:var(--color-ink-2);text-align:left;white-space:nowrap}.k-table th.is-right,.k-table td.is-right{text-align:right}.k-table th.is-center,.k-table td.is-center{text-align:center}.k-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;margin:0 calc(var(--space-1) * -1);padding:0 var(--space-1);border:0;border-radius:var(--radius-xs);background:transparent;color:inherit;font:inherit;cursor:pointer}.k-table__sort:hover{color:var(--color-ink);background:var(--color-hover)}.k-table__sort:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:0}.k-table th[aria-sort=ascending],.k-table th[aria-sort=descending]{color:var(--color-ink)}.k-table td{height:var(--size-row-comfortable);padding:0 var(--space-3);border-bottom:1px solid var(--color-line);white-space:nowrap;vertical-align:middle}.k-table--dense td{height:var(--size-row)}.k-table td.k-table__wrap{white-space:normal;min-width:200px;padding-top:var(--space-1);padding-bottom:var(--space-1)}.k-table td.is-mono,.k-table th.is-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-table td.is-muted{color:var(--color-ink-2)}.k-table tbody tr:hover td,.k-table tbody tr.is-hover td{background:var(--color-hover)}.k-table tbody tr.is-selected td{background:var(--color-accent-soft)}.k-table tbody tr.is-selected:hover td,.k-table tbody tr.is-selected.is-hover td{background:var(--color-accent-soft-strong)}.k-table tbody tr.is-error td{background:var(--color-danger-soft)}.k-table tbody tr.is-warning td{background:var(--color-warning-soft)}.k-table tbody tr.is-excluded td{color:var(--color-ink-2)}.k-table tbody tr.is-excluded td.k-table__primary{text-decoration:line-through}.k-table tbody tr:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:-2px}.k-table tr.k-table__group td{height:36px;background:var(--color-bg);color:var(--color-ink);border-bottom:1px solid var(--color-line)}.k-table__group-inner{display:flex;align-items:center;gap:var(--space-2)}.k-table__group-meta{color:var(--color-ink-2)}.k-table tfoot td{position:sticky;bottom:0;height:36px;background:var(--color-surface);border-top:1px solid var(--color-line-strong);border-bottom:0;font-weight:500}.k-table__cellflex{display:inline-flex;align-items:center;gap:var(--space-1);vertical-align:middle}.k-table__edited{display:inline-flex;color:var(--color-ink-2)}.k-table__status--error{color:var(--color-danger);display:inline-flex}.k-table__status--warning{color:var(--color-warning);display:inline-flex}.k-table__empty td{height:auto;padding:0;border-bottom:0;white-space:normal}.k-table__empty tr:hover td{background:transparent}.k-table th.k-table__expander,.k-table td.k-table__expander{width:var(--size-icon-sm);padding:0 0 0 var(--space-3);color:var(--color-ink-2)}.k-table__expander .k-icon{display:block;transition:transform var(--duration-base) var(--ease-standard)}.k-table tbody tr.is-open td.k-table__expander{color:var(--color-ink)}.k-table tbody tr.is-open .k-table__expander .k-icon{transform:rotate(90deg)}.k-table tbody tr.is-open td{border-bottom-color:transparent}.k-table tbody tr.k-table__detail td,.k-table tbody tr.k-table__detail:hover td{height:auto;padding:var(--space-3) var(--space-3) var(--space-4) calc(var(--space-3) * 2 + var(--size-icon-sm));background:var(--color-surface);white-space:normal;vertical-align:top}.k-tape{display:inline-flex;align-items:center;gap:var(--space-2)}.k-tape svg{flex:none;display:block}.k-tape__edge{stroke:var(--color-line-strong);stroke-width:1}.k-tape__edge.is-on{stroke:var(--color-ink);stroke-width:2.5}.k-grain{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-ink-2);white-space:nowrap}.k-grain svg{flex:none;display:block}.k-badge{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);border-radius:var(--radius-xs);background:var(--color-fill);color:var(--color-ink);font-family:var(--font-sans);font-weight:500;white-space:nowrap;vertical-align:middle}.k-badge--accent{background:var(--color-accent-soft);color:var(--color-accent)}.k-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.k-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.k-badge--inverse{background:var(--color-inverse);color:var(--color-on-inverse)}.k-badge--outline{background:transparent;color:var(--color-ink-2);box-shadow:inset 0 0 0 1px var(--color-line-strong)}.k-badge--count{min-width:18px;height:18px;padding:0 var(--space-1);justify-content:center;border-radius:var(--radius-full);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-badge--dot{width:8px;height:8px;min-width:0;padding:0;border-radius:var(--radius-full)}.k-badge--dot.k-badge--danger{background:var(--color-danger)}.k-badge--dot.k-badge--warning{background:var(--color-warning)}.k-badge--dot.k-badge--accent{background:var(--color-accent)}.k-badge--dot.k-badge--neutral{background:var(--color-ink-2)}.k-swatch{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;font-family:var(--font-sans);color:var(--color-ink)}.k-swatch__chip{flex:none;width:16px;height:16px;border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px var(--color-line-strong)}.k-swatch--sm .k-swatch__chip{width:12px;height:12px}.k-swatch--lg .k-swatch__chip{width:24px;height:24px;border-radius:var(--radius-sm)}.k-swatch--touch .k-swatch__chip{width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-full)}.k-swatch--round .k-swatch__chip{border-radius:var(--radius-full)}.k-swatch.is-selected .k-swatch__chip{box-shadow:inset 0 0 0 1px var(--color-line-strong),0 0 0 2px var(--color-surface),0 0 0 4px var(--color-accent)}.k-swatch__text{display:flex;flex-direction:column;min-width:0}.k-swatch__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-swatch__code{color:var(--color-ink-2);font-family:var(--font-mono);white-space:nowrap}.k-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-fill);color:var(--color-ink-2);font-family:var(--font-mono);box-shadow:inset 0 -1px 0 var(--color-line);white-space:nowrap}.k-kbd+.k-kbd{margin-left:var(--space-hair)}.k-kbd--inverse{background:transparent;color:var(--color-on-inverse-2);box-shadow:inset 0 0 0 1px var(--color-on-inverse-2)}.k-toast{display:flex;align-items:flex-start;gap:var(--space-3);width:380px;max-width:calc(100vw - var(--space-8));padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-inverse);color:var(--color-on-inverse);box-shadow:var(--shadow-2);font-family:var(--font-sans);position:relative;overflow:hidden;animation:k-toast-in var(--duration-slow) var(--ease-enter)}.k-toast__icon{flex:none;display:inline-flex;margin-top:1px;color:var(--color-on-inverse-2)}.k-toast--success .k-toast__icon{color:var(--color-accent-on-inverse)}.k-toast--warning .k-toast__icon{color:var(--color-warning-on-inverse)}.k-toast--danger .k-toast__icon{color:var(--color-danger-on-inverse)}.k-toast__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-hair);padding-top:1px}.k-toast__msg{color:var(--color-on-inverse-2)}.k-toast__actions{flex:none;display:flex;align-items:center;gap:var(--space-hair)}.k-toast__action{height:var(--size-control-sm);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-accent-on-inverse);font-family:var(--font-sans);cursor:pointer}.k-toast__action:hover{text-decoration:underline;text-underline-offset:2px}.k-toast__action:focus-visible,.k-toast__close:focus-visible{outline:var(--stroke-focus) solid var(--color-accent-on-inverse);outline-offset:0}.k-toast__close{display:inline-grid;place-items:center;width:var(--size-control-sm);height:var(--size-control-sm);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-on-inverse-2);cursor:pointer}.k-toast__close:hover{color:var(--color-on-inverse)}.k-toast__progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent}.k-toast__bar{height:100%;background:var(--color-accent-on-inverse);transition:width var(--duration-slow) var(--ease-standard)}.k-toast__bar.is-indeterminate{width:30%;animation:k-indeterminate 1.4s var(--ease-standard) infinite}.k-toast-stack{position:fixed;left:50%;bottom:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);transform:translate(-50%)}.k-toast-stack--static{position:static;transform:none;align-items:flex-start}.k-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-6);background:var(--color-scrim);font-family:var(--font-sans);animation:k-fade-in var(--duration-slow) var(--ease-enter)}.k-scrim--static{position:relative;inset:auto;min-height:100%;animation:none}.k-modal{display:flex;flex-direction:column;width:480px;max-width:100%;max-height:calc(100vh - var(--space-12));background:var(--color-raised);color:var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);animation:k-modal-in var(--duration-slow) var(--ease-enter)}.k-modal--sm{width:380px}.k-modal--lg{width:640px}.k-modal__header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-3) 0 var(--space-5)}.k-modal__mark{flex:none;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-danger-soft);color:var(--color-danger)}.k-modal__titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-1)}.k-modal__title{margin:0}.k-modal__desc{margin:0;color:var(--color-ink-2)}.k-modal__body{flex:1;min-height:0;overflow:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.k-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-5)}.k-modal__footer-start{margin-right:auto;display:flex;gap:var(--space-2);align-items:center}.k-sheet-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;flex-direction:column;justify-content:flex-end;padding-top:var(--env-strip-h, 0px);font-family:var(--font-sans);pointer-events:none}.k-sheet-layer--static{position:relative;inset:auto;z-index:auto;height:100%}.k-sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);pointer-events:auto;animation:k-fade-in var(--duration-base) var(--ease-enter)}.k-sheet-layer--static .k-sheet-scrim,.k-sheet-layer--static .k-sheet{animation:none}.k-sheet-layer--static .k-sheet{max-height:86%}.k-sheet-layer--static .k-sheet--sm{max-height:62%}.k-sheet-layer--static .k-sheet--fixed{height:calc(var(--k-sheet-h) * 100%);max-height:100%}.k-sheet{position:relative;pointer-events:auto;outline:none;display:flex;flex-direction:column;width:100%;max-width:560px;margin-inline:auto;max-height:86vh;max-height:86dvh;background:var(--color-raised);color:var(--color-ink);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(var(--k-sheet-drag, 0px));animation:k-sheet-in var(--duration-slow) var(--ease-enter)}.k-sheet--sm{max-height:62vh;max-height:62dvh}.k-sheet--fixed{height:calc(var(--k-sheet-h) * 100vh);height:calc(var(--k-sheet-h) * 100dvh);max-height:100%}.k-sheet__head{flex:none;padding:var(--space-2) var(--space-4) var(--space-1);touch-action:none;cursor:grab}.k-sheet__grab{display:block;width:36px;height:4px;margin:0 auto var(--space-2);border-radius:var(--radius-full);background:var(--color-line-strong)}.k-sheet__titles{display:flex;align-items:center;gap:var(--space-3)}.k-sheet__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-hair)}.k-sheet__title,.k-sheet__lead{margin:0}.k-sheet__title{overflow-wrap:anywhere}.k-sheet__lead{color:var(--color-ink-2)}.k-sheet__body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-5)}.k-sheet__body>*{flex-shrink:0}.k-sheet--folded .k-sheet__body{display:none}.k-menu{min-width:232px;max-width:320px;margin:0;padding:var(--space-1);list-style:none;background:var(--color-raised);color:var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);font-family:var(--font-sans);z-index:var(--z-popover);animation:k-pop-in var(--duration-base) var(--ease-enter)}.k-menu--floating{position:fixed}.k-menu--static{animation:none}.k-menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--size-control-md);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);font-family:var(--font-sans);text-align:left;cursor:pointer;white-space:nowrap}.k-menu__item:hover,.k-menu__item.is-active,.k-menu__item:focus-visible{background:var(--color-hover);outline:0}.k-menu__item:focus-visible{box-shadow:inset 0 0 0 var(--stroke-focus) var(--color-focus)}.k-menu__icon{flex:none;display:inline-flex;color:var(--color-ink-2)}.k-menu__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.k-menu__hint{color:var(--color-ink-2);font-family:var(--font-mono)}.k-menu__shortcut{flex:none;display:inline-flex;align-items:center;margin-left:var(--space-4)}.k-menu__sub{flex:none;color:var(--color-ink-2)}.k-menu__check{flex:none;display:inline-flex;width:var(--size-icon-sm);color:var(--color-accent)}.k-menu__item.is-danger,.k-menu__item.is-danger .k-menu__icon{color:var(--color-danger)}.k-menu__item.is-danger:hover,.k-menu__item.is-danger.is-active{background:var(--color-danger-soft)}.k-menu__item:disabled,.k-menu__item.is-disabled,.k-menu__item.is-disabled .k-menu__icon{color:var(--color-ink-disabled);cursor:not-allowed;background:transparent}.k-menu__item.is-disabled .k-kbd{color:var(--color-ink-disabled)}.k-menu__sep{height:1px;margin:var(--space-1) calc(var(--space-1) * -1);background:var(--color-line)}.k-menu__heading{padding:var(--space-2) var(--space-2) var(--space-1);color:var(--color-ink-2)}.k-tip-wrap{position:relative;display:inline-flex}.k-tip{position:absolute;z-index:var(--z-tooltip);display:flex;align-items:center;gap:var(--space-2);max-width:280px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-inverse);color:var(--color-on-inverse);box-shadow:var(--shadow-2);font-family:var(--font-sans);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-enter),visibility 0s linear var(--duration-base)}.k-tip--multiline{white-space:normal;width:max-content;flex-direction:column;align-items:flex-start;gap:var(--space-hair)}.k-tip__desc{color:var(--color-on-inverse-2)}.k-tip-wrap:hover>.k-tip,.k-tip-wrap:focus-within>.k-tip,.k-tip.is-open{opacity:1;visibility:visible;transition-delay:.4s,0s}.k-tip.is-open{transition:none}.k-tip--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.k-tip--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.k-tip--left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.k-tip--right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.k-tip--static{position:static;transform:none;opacity:1;visibility:visible;display:inline-flex}.k-tip--readout{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-progress{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;font-family:var(--font-sans)}.k-progress__top{display:flex;justify-content:space-between;gap:var(--space-2);color:var(--color-ink-2)}.k-progress__track{position:relative;height:4px;border-radius:var(--radius-full);background:var(--color-fill);overflow:hidden}.k-progress__bar{height:100%;border-radius:var(--radius-full);background:var(--color-accent);transition:width var(--duration-slow) var(--ease-standard)}.k-progress__bar.is-indeterminate{width:30%;animation:k-indeterminate 1.4s var(--ease-standard) infinite}.k-progress--danger .k-progress__bar{background:var(--color-danger)}.k-spinner{display:inline-block;flex:none;width:16px;height:16px;border:2px solid var(--color-line);border-top-color:currentColor;border-radius:var(--radius-full);animation:k-spin .8s linear infinite}.k-spinner--sm{width:14px;height:14px;border-width:1.5px}.k-spinner--lg{width:24px;height:24px}.k-btn--primary .k-spinner,.k-btn--danger .k-spinner{border-color:transparent;border-top-color:currentColor;border-right-color:currentColor}.k-skeleton{display:block;background:var(--color-fill);border-radius:var(--radius-xs);animation:k-pulse 1.6s ease-in-out infinite}.k-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);text-align:center;color:var(--color-ink);font-family:var(--font-sans)}.k-empty--compact{padding:var(--space-6) var(--space-4);gap:var(--space-2)}.k-empty__mark{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-fill);color:var(--color-ink-2)}.k-empty--error .k-empty__mark{background:var(--color-danger-soft);color:var(--color-danger)}.k-empty__title{margin:0}.k-empty__body{margin:0;max-width:380px;color:var(--color-ink-2)}.k-empty__actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.k-status{display:flex;align-items:center;gap:var(--space-1);height:28px;padding:0 var(--space-2);background:var(--color-surface);border-top:1px solid var(--color-line);color:var(--color-ink-2);font-family:var(--font-sans);white-space:nowrap;overflow:hidden}.k-status__item{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border:0;border-radius:var(--radius-xs);background:transparent;color:inherit;font-family:var(--font-sans);white-space:nowrap}button.k-status__item{cursor:pointer}button.k-status__item:hover{background:var(--color-hover);color:var(--color-ink)}button.k-status__item:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:0}.k-status__item.is-on{color:var(--color-accent)}.k-status__item.is-error{color:var(--color-danger)}.k-status__item.is-warning{color:var(--color-warning)}.k-status__value{color:var(--color-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-status__sep{flex:none;width:1px;height:14px;margin:0 var(--space-1);background:var(--color-line)}.k-status__spacer{flex:1}.k-stage{position:relative;overflow:hidden;background:var(--color-canvas);font-family:var(--font-sans);color:var(--color-ink)}.k-stage--grid{background-image:radial-gradient(circle,var(--color-line) 1px,transparent 1px);background-size:var(--space-6) var(--space-6)}.k-ov{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:var(--z-overlay)}.k-ov--content{z-index:var(--z-canvas)}.k-ov-label{position:absolute;z-index:var(--z-overlay);transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap}.k-ov-label--interactive{pointer-events:auto}.k-obj{fill:var(--color-cabinet-fill);stroke:var(--color-cabinet-line);stroke-width:1}.k-obj--wall{fill:var(--color-wall);stroke:var(--color-wall)}.k-obj--region{fill:transparent;stroke:var(--color-cabinet-line)}.k-obj.is-hover{stroke:var(--color-select);stroke-width:var(--stroke-icon)}.k-obj.is-selected{fill:var(--color-select-fill);stroke:var(--color-select);stroke-width:var(--stroke-icon)}.k-obj--region.is-selected{fill:var(--color-select-fill)}.k-obj.is-error{stroke:var(--color-danger);stroke-width:var(--stroke-icon)}.k-obj.is-warning{stroke:var(--color-warning);stroke-width:var(--stroke-icon);stroke-dasharray:5 3}.k-obj.is-locked{stroke-dasharray:3 3}.k-obj.is-ghost{fill:transparent;stroke:var(--color-select);stroke-dasharray:4 3}.k-obj.is-dimmed{fill:var(--color-canvas);stroke:var(--color-line-strong);stroke-dasharray:2 3}.k-obj-label{display:flex;flex-direction:column;align-items:center;gap:0;color:var(--color-ink)}.k-obj-label__size{color:var(--color-ink-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-obj-label.is-dimmed{color:var(--color-ink-2)}.k-obj-flag{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-danger);color:var(--color-on-danger)}.k-obj-flag--warning{background:var(--color-warning-soft);color:var(--color-warning);box-shadow:inset 0 0 0 1px var(--color-warning)}.k-obj-flag--lock{background:var(--color-surface);color:var(--color-ink-2);box-shadow:inset 0 0 0 1px var(--color-line-strong)}.k-sel__box{fill:none;stroke:var(--color-select);stroke-width:var(--stroke-icon)}.k-sel__box--multi{stroke-dasharray:4 3}.k-sel__handle{fill:var(--color-select);stroke:var(--color-canvas);stroke-width:1.5}.k-sel__handle.is-hover{fill:var(--color-canvas);stroke:var(--color-select);stroke-width:2}.k-sel__stem{stroke:var(--color-select);stroke-width:1}.k-sel__rot{fill:var(--color-canvas);stroke:var(--color-select);stroke-width:1.5}.k-readout{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);border-radius:var(--radius-xs);background:var(--color-inverse);color:var(--color-on-inverse);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-readout__dim{color:var(--color-on-inverse-2)}.k-dimline,.k-dimline__ext{stroke:var(--color-dimension);stroke-width:1}.k-dimline__end{fill:var(--color-dimension)}.k-dimline.is-hover,.k-dimline__ext.is-hover{stroke:var(--color-ink)}.k-dimline__end.is-hover{fill:var(--color-ink)}.k-dimline.is-selected,.k-dimline__ext.is-selected{stroke:var(--color-select)}.k-dimline__end.is-selected{fill:var(--color-select)}.k-dimline.is-error,.k-dimline__ext.is-error{stroke:var(--color-danger)}.k-dimline.is-warning,.k-dimline__ext.is-warning{stroke:var(--color-warning);stroke-dasharray:5 3}.k-dimline__end.is-warning{fill:var(--color-warning)}.k-dimlabel.is-warning{background:var(--color-warning-soft);color:var(--color-warning)}.k-dimline__end.is-error{fill:var(--color-danger)}.k-dimlabel{display:inline-flex;align-items:center;gap:var(--space-hair);height:16px;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-dimlabel.is-hover{background:var(--color-hover);box-shadow:inset 0 0 0 1px var(--color-line-strong);cursor:text}.k-dimlabel.is-selected{background:var(--color-accent-soft);color:var(--color-accent)}.k-dimlabel.is-error{background:var(--color-danger-soft);color:var(--color-danger)}.k-dimlabel--vertical{transform:rotate(-90deg)}.k-dimlabel .k-icon{color:var(--color-accent)}.k-snap{stroke:var(--color-snap);stroke-width:1;stroke-dasharray:4 3;fill:none}.k-snap--solid{stroke-dasharray:none}.k-snap__mark{stroke:var(--color-snap);stroke-width:1.5;fill:var(--color-canvas)}.k-snap__mark--fill{fill:var(--color-snap)}.k-snap-label{display:inline-flex;align-items:center;height:18px;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-snap);color:var(--color-on-snap);font-family:var(--font-sans)}.k-snap-label--mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-spot{position:absolute;z-index:var(--z-overlay);box-sizing:border-box;pointer-events:none;border-radius:var(--radius-md);box-shadow:0 0 0 var(--stroke-focus) var(--color-focus),0 0 0 calc(var(--stroke-focus) * 2) var(--color-surface)}.k-spot--fixed{position:fixed}.k-spot--round{border-radius:var(--radius-full)}.k-spot__ping{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;border:var(--stroke-focus) solid var(--color-focus);border-radius:inherit;opacity:0;animation:k-spot-ping calc(var(--duration-slow) * 6) var(--ease-standard) infinite}@keyframes k-spot-ping{0%{top:0;right:0;bottom:0;left:0;opacity:.6}to{inset:calc(var(--space-2) * -1);opacity:0}}.k-page{position:relative;display:flex;flex-direction:column;gap:6mm;width:210mm;min-height:297mm;padding:12mm 14mm 10mm;background:var(--color-paper);color:var(--color-print-ink);font-family:var(--font-sans);box-shadow:var(--shadow-2);-webkit-print-color-adjust:exact;print-color-adjust:exact}.k-page--landscape{width:297mm;min-height:210mm}.k-page--fit{min-height:0}.k-page *,.k-page *:before,.k-page *:after{box-sizing:border-box}.k-letterhead{display:flex;align-items:flex-start;justify-content:space-between;gap:8mm;padding-bottom:4mm;border-bottom:1px solid var(--color-print-rule)}.k-letterhead__brand{display:flex;align-items:center;gap:4mm;min-width:0}.k-letterhead__logo{display:block;max-height:16mm;max-width:60mm;object-fit:contain}.k-letterhead__org{margin:0;color:var(--color-print-ink)}.k-letterhead__logo-slot{display:inline-grid;place-items:center;width:16mm;height:16mm;border:1px dashed var(--color-print-rule);color:var(--color-print-muted)}.k-letterhead__lines{display:flex;flex-direction:column;align-items:flex-end;text-align:right;color:var(--color-print-muted)}.k-letterhead__slot{display:flex;align-items:center;gap:3mm;height:16mm;padding:0 4mm;border:1px dashed var(--color-print-rule);border-radius:var(--radius-xs);color:var(--color-print-muted)}.k-letterhead__slot-cta{color:var(--color-link);text-decoration:underline;text-underline-offset:2px}.k-letterhead--plain{padding-bottom:3mm}.k-letterhead--plain .k-letterhead__org{color:var(--color-print-muted)}.k-ptitle{display:flex;align-items:flex-end;justify-content:space-between;gap:6mm}.k-ptitle__main{display:flex;flex-direction:column;gap:1mm;min-width:0}.k-ptitle__h{margin:0;color:var(--color-print-ink)}.k-ptitle__sub{color:var(--color-print-muted)}.k-titleblock{display:grid;grid-template-columns:repeat(var(--k-cols, 4),minmax(0,1fr));border:1px solid var(--color-print-rule);border-right:0;border-bottom:0}.k-titleblock__cell{display:flex;flex-direction:column;gap:.5mm;padding:1.5mm 2.5mm;border-right:1px solid var(--color-print-rule);border-bottom:1px solid var(--color-print-rule);min-width:0}.k-titleblock__label{color:var(--color-print-muted)}.k-titleblock__value{color:var(--color-print-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-psection{display:flex;flex-direction:column;gap:2.5mm;break-inside:avoid}.k-psection__h{margin:0;color:var(--color-print-ink)}.k-ptable{width:100%;border-collapse:collapse;color:var(--color-print-ink)}.k-ptable th{padding:1.5mm 2mm;background:var(--color-print-band);border-bottom:1px solid var(--color-print-rule);color:var(--color-print-ink);font-family:var(--font-sans);font-weight:600;text-align:left;white-space:nowrap}.k-ptable td{padding:1.5mm 2mm;border-bottom:1px solid var(--color-print-hairline);vertical-align:top}.k-ptable .is-right{text-align:right}.k-ptable .is-center{text-align:center}.k-ptable td.is-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.k-ptable tr.k-ptable__group td{background:var(--color-print-band);font-weight:600;border-bottom:1px solid var(--color-print-rule)}.k-ptable tr.is-excluded td{color:var(--color-print-muted);text-decoration:line-through}.k-ptable tfoot td{border-top:1px solid var(--color-print-rule);border-bottom:0;font-weight:600}.k-ptable .k-tape__edge{stroke:var(--color-print-hairline)}.k-ptable .k-tape__edge.is-on{stroke:var(--color-print-ink)}.k-key{display:inline-grid;place-items:center;width:7mm;height:7mm;border:1px solid var(--color-print-ink);border-radius:var(--radius-full);font-family:var(--font-mono);font-weight:600}.k-drawing{position:relative;display:flex;flex-direction:column;gap:2mm;min-height:60mm;padding:3mm;border:1px solid var(--color-print-hairline)}.k-drawing__label{color:var(--color-print-muted)}.k-drawing svg{display:block;max-width:100%;height:auto}.k-pfoot{margin-top:auto;display:flex;justify-content:space-between;gap:6mm;padding-top:2.5mm;border-top:1px solid var(--color-print-hairline);color:var(--color-print-muted)}.k-pfoot__version{color:var(--color-print-ink)}@page k-portrait{size:A4 portrait;margin:0}@page k-landscape{size:A4 landscape;margin:0}.k-page{page:k-portrait}.k-page--landscape{page:k-landscape}@media print{html,body{background:var(--color-paper);margin:0;padding:0}.k-doc{padding:0;background:var(--color-paper);min-height:0}.k-noprint{display:none!important}.k-page{box-shadow:none;margin:0;break-after:page}.k-page:last-child{break-after:auto}.k-letterhead__slot{display:none}.k-ptable thead{display:table-header-group}.k-ptable tfoot{display:table-footer-group}.k-ptable tr{break-inside:avoid}.k-psection__h{break-after:avoid}}@keyframes k-spin{to{transform:rotate(360deg)}}@keyframes k-pulse{50%{opacity:.55}}@keyframes k-pop-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes k-fade-in{0%{opacity:0}}@keyframes k-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes k-sheet-in{0%{opacity:0;transform:translateY(24px)}}@keyframes k-toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes k-indeterminate{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion: reduce){[class^=k-],[class*=" k-"]{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}.k-spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}.k-tip{white-space:normal;width:max-content;max-width:320px}.k-tip--static{max-width:100%}.k-tip--readout{white-space:nowrap;max-width:none}.k-prop__label{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:16px;padding:var(--space-1) 0}.k-status__item{min-width:0;flex-shrink:1}.k-status__item>span{min-width:0;overflow:hidden;text-overflow:ellipsis}button.k-status__item{flex-shrink:0}.k-table__group td{white-space:normal;height:auto;min-height:36px;padding-top:var(--space-2);padding-bottom:var(--space-2)}.k-table__group-inner{flex-wrap:wrap;row-gap:0}.k-seg--block .k-seg__item{flex:1 1 0;min-width:0;white-space:normal;text-align:center;line-height:16px}.k-obj-focus{fill:none;stroke:var(--color-focus);stroke-width:var(--stroke-focus)}.k-tree__row:focus-visible .k-tree__actions,.k-tree__row:focus-within .k-tree__actions,.k-tree__row.is-focus .k-tree__actions{display:inline-flex}.k-table tbody tr.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:-2px}.k-swatch--btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:var(--space-hair);border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.k-swatch--btn.k-swatch--round{border-radius:var(--radius-full)}.k-swatch--btn:hover .k-swatch__chip{box-shadow:inset 0 0 0 1px var(--color-line-strong),0 0 0 2px var(--color-surface),0 0 0 3px var(--color-line-strong)}.k-swatch--btn:focus-visible,.k-swatch--btn.is-focus{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:2px}.k-tree__label{min-width:56px}.k-tree__row .k-badge{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-table--touch th{height:40px;font-size:13px}.k-table--touch td{height:52px}.k-table--touch td.text-ui,.k-table--touch td.num{font-size:16px;line-height:22px}.k-table--touch .k-table__group td{min-height:44px}.k-table--touch .k-table__group .text-subheading{font-size:16px}a.k-btn,a.k-tool,a.k-seg__item,a.k-tab,a.k-menu__item,a.k-toast__action,a.k-tree__row{text-decoration:none;-webkit-tap-highlight-color:transparent}a.k-tool,a.k-seg__item,a.k-tab{box-sizing:border-box}a.k-tree__row{color:inherit;cursor:pointer}a.k-toast__action{display:inline-flex;align-items:center}.k-dim__src{flex:none;display:inline-flex;align-items:center;gap:2px;height:18px;margin-left:var(--space-1);padding:0 var(--space-1);border:1px solid var(--color-line-strong);border-radius:var(--radius-xs);color:var(--color-ink-2);background:var(--color-surface);white-space:nowrap;text-decoration:none}.k-dim__src--project{border-style:dashed}.k-dim__src--linked{color:var(--color-link);border-color:var(--color-link)}.k-dim__src--own{border-color:transparent;background:var(--color-fill)}a.k-dim__src:hover{background:var(--color-hover)}a.k-dim__src:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:1px}.k-scrim.guide-backdrop{z-index:var(--z-modal);padding:var(--space-6);background:var(--color-scrim)}.k-sheet-layer.guide-backdrop{display:flex;z-index:var(--z-modal);padding:var(--env-strip-h, 0px) 0 0;background:none;place-items:normal}.k-scrim--static{z-index:auto}.k-input__el:focus-visible{outline:0}a.k-btn.k-btn--link{text-decoration:underline;text-underline-offset:2px}.auth-notice{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-ink);background:var(--color-fill)}.auth-notice>.k-icon{margin-top:1px}.auth-notice>span{min-width:0;overflow-wrap:anywhere}.auth-notice--error{background:var(--color-danger-soft);color:var(--color-danger)}.auth-notice--ok{background:var(--color-accent-soft)}.auth-notice--ok>.k-icon{color:var(--color-accent)}.auth-or{display:flex;align-items:center;gap:var(--space-3);color:var(--color-ink-2)}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--color-line)}.legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:11.5px;line-height:1.6;color:var(--color-ink-2)}.legal-links a{color:var(--color-ink-2);text-decoration:none;white-space:nowrap}.legal-links a:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.legal-links a:focus-visible{outline:var(--stroke-focus) solid var(--color-focus);outline-offset:1px;border-radius:2px}.legal-links-sep{color:var(--color-line);-webkit-user-select:none;user-select:none}.home-legal{padding:0 20px 22px}.home-legal .legal-links{justify-content:center}.menu-legal{padding:2px 5px 1px}.menu-legal .legal-links{gap:0 2px}.menu-legal .legal-links-item{display:inline-flex;width:auto;padding:3px 4px;font-size:11.5px;color:var(--color-ink-2)}.menu-legal .legal-links-item:hover,.menu-legal .legal-links-item:focus-visible{background:var(--color-accent-soft);color:var(--color-accent);text-decoration:none}
