.tf-btn{font-family:var(--tf-font-sans);font-size:var(--tf-text-body);font-weight:var(--tf-weight-medium);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;border-radius:var(--tf-radius-sm);border:1px solid var(--tf-border-strong);background:var(--tf-bg-control);color:var(--tf-text);padding:0 12px;min-height:var(--tf-control-h);line-height:1.2;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.tf-btn:hover{background:var(--tf-bg-control-hover);border-color:var(--tf-accent-edge);color:var(--tf-text-bright)}.tf-btn:active{background:var(--tf-bg-control);border-color:var(--tf-accent)}.tf-btn:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-btn[disabled]{cursor:not-allowed;opacity:.5}.tf-btn[disabled]:hover{background:var(--tf-bg-control);border-color:var(--tf-border-strong);color:var(--tf-text)}.tf-btn--primary{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-btn--primary:hover{background:var(--tf-accent-hover);border-color:var(--tf-accent-hover);color:var(--tf-text-on-accent)}.tf-btn--primary:active{background:var(--tf-accent-press);border-color:var(--tf-accent-press)}.tf-btn--primary[disabled]:hover{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-btn--ghost{background:transparent;border-color:transparent;color:var(--tf-text-muted)}.tf-btn--ghost:hover{background:var(--tf-bg-control-hover);border-color:transparent;color:var(--tf-text-bright)}.tf-btn--ghost[disabled]:hover{background:transparent;border-color:transparent;color:var(--tf-text-muted)}.tf-btn--danger:hover{background:var(--tf-danger-wash);border-color:var(--tf-danger);color:var(--tf-text-bright)}.tf-btn--sm{font-size:var(--tf-text-count);padding:0 10px;min-height:var(--tf-control-h-sm);gap:5px}.tf-btn--lg{font-size:var(--tf-text-md);padding:0 18px;min-height:38px}.tf-btn--block{display:flex;width:100%}@media(prefers-reduced-motion:reduce){.tf-btn{transition:none}}.tf-iconbtn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-muted);width:30px;height:30px;flex:none;transition:background .12s ease,color .12s ease,border-color .12s ease}.tf-iconbtn svg{width:16px;height:16px;stroke-width:2}.tf-iconbtn:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-iconbtn:active{border-color:var(--tf-accent)}.tf-iconbtn:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-iconbtn--bordered{border-color:var(--tf-border-strong);background:var(--tf-bg-control)}.tf-iconbtn--bordered:hover{border-color:var(--tf-accent-edge)}.tf-iconbtn--on,.tf-iconbtn--on:hover{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-iconbtn--sm{width:24px;height:24px}.tf-iconbtn--sm svg{width:14px;height:14px}.tf-iconbtn[disabled]{color:var(--tf-text-disabled);cursor:not-allowed;background:transparent;border-color:transparent}@media(prefers-reduced-motion:reduce){.tf-iconbtn{transition:none}}.tf-field{display:flex;flex-direction:column;gap:5px;font-family:var(--tf-font-sans)}.tf-field__label{font-size:var(--tf-text-count);color:var(--tf-text-muted);font-weight:var(--tf-weight-semibold)}.tf-input-wrap{display:flex;align-items:center;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);padding:0 9px;min-height:var(--tf-control-h);transition:border-color .12s ease,box-shadow .12s ease}.tf-input-wrap:hover{border-color:var(--tf-accent-edge)}.tf-input-wrap:focus-within{border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tf-input-wrap--invalid,.tf-input-wrap--invalid:hover{border-color:var(--tf-danger)}.tf-input{flex:1;background:transparent;border:0;outline:0;color:var(--tf-text);font-family:inherit;font-size:var(--tf-text-body);padding:5px 0;min-width:0}.tf-input::placeholder{color:var(--tf-text-disabled)}.tf-input--mono{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums}.tf-input-wrap__unit{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle);padding-inline-start:6px}.tf-input:disabled{color:var(--tf-text-disabled);cursor:not-allowed}.tf-input-wrap:has(.tf-input:disabled){opacity:.6;border-color:var(--tf-border)}@media(prefers-reduced-motion:reduce){.tf-input-wrap{transition:none}}.tf-select-field{display:flex;flex-direction:column;gap:5px;font-family:var(--tf-font-sans)}.tf-select-field__label{font-size:var(--tf-text-count);color:var(--tf-text-muted);font-weight:var(--tf-weight-semibold)}.tf-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:var(--tf-font-sans);font-size:var(--tf-text-body);color:var(--tf-text);background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);padding-block:5px;padding-inline:8px 28px;min-height:var(--tf-control-h);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239aa0a6' stroke-width='2.5'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 8px center}[dir=rtl] .tf-select{background-position:left 8px center}.tf-select:hover{border-color:var(--tf-accent-edge)}.tf-select:focus{border-color:var(--tf-accent);outline:0}.tf-select:focus-visible{box-shadow:var(--tf-focus-ring)}.tf-select--sm{min-height:var(--tf-control-h-sm);padding-block:1px;padding-inline:6px 26px;font-size:var(--tf-text-xs);border-radius:var(--tf-radius-xs)}.tf-select:disabled{color:var(--tf-text-disabled);cursor:not-allowed;opacity:.6;border-color:var(--tf-border)}.tf-select optgroup{font-size:var(--tf-text-xs);font-weight:var(--tf-weight-medium);color:var(--tf-text-faint);background:var(--tf-bg-panel)}.tf-select optgroup option{color:var(--tf-text);font-weight:var(--tf-weight-regular)}.tf-check{display:inline-flex;align-items:center;gap:7px;font-family:var(--tf-font-sans);font-size:var(--tf-text-body);color:var(--tf-text);cursor:pointer;-webkit-user-select:none;user-select:none}.tf-check input{position:absolute;opacity:0;width:0;height:0}.tf-check__box{width:16px;height:16px;flex:none;border-radius:var(--tf-radius-xs);border:1px solid var(--tf-border-strong);background:var(--tf-bg-input);display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.tf-check:hover .tf-check__box{border-color:var(--tf-accent-edge)}.tf-check__box svg{width:11px;height:11px;stroke:var(--tf-text-on-accent);stroke-width:3;fill:none;opacity:0}.tf-check input:checked+.tf-check__box{background:var(--tf-accent);border-color:var(--tf-accent)}.tf-check input:checked+.tf-check__box svg{opacity:1}.tf-check input:focus-visible+.tf-check__box{box-shadow:var(--tf-focus-ring)}.tf-check input:disabled+.tf-check__box{opacity:.5}.tf-check--disabled{color:var(--tf-text-disabled);cursor:not-allowed}.tf-check--disabled:hover .tf-check__box{border-color:var(--tf-border-strong)}@media(prefers-reduced-motion:reduce){.tf-check__box{transition:none}}.tf-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--tf-font-sans);font-size:var(--tf-text-caption);font-weight:var(--tf-weight-semibold);line-height:1.3;padding:1px 8px;border-radius:var(--tf-radius-pill);border:1px solid transparent;white-space:nowrap;--tf-badge-tone:var(--tf-text-subtle);background:color-mix(in srgb,var(--tf-badge-tone) 16%,transparent);border-color:color-mix(in srgb,var(--tf-badge-tone) 55%,transparent);color:var(--tf-text-bright)}.tf-badge--mono{font-family:var(--tf-font-mono);font-weight:var(--tf-weight-medium);font-variant-numeric:tabular-nums}.tf-badge--neutral{background:var(--tf-bg-control);border-color:var(--tf-border-strong);color:var(--tf-text-muted)}.tf-badge--accent{--tf-badge-tone:var(--tf-accent)}.tf-badge--success{--tf-badge-tone:var(--tf-success)}.tf-badge--warning{--tf-badge-tone:var(--tf-warning)}.tf-badge--danger{--tf-badge-tone:var(--tf-danger)}.tf-badge--info{--tf-badge-tone:var(--tf-info)}.tf-card{background:var(--tf-bg-elevated);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);padding:var(--tf-card-pad);font-family:var(--tf-font-sans);color:var(--tf-text);font-size:var(--tf-text-body);transition:border-color .12s ease,background .12s ease}.tf-card--interactive{cursor:pointer;border-color:var(--tf-border-strong)}.tf-card--hover:hover{border-color:var(--tf-accent)}.tf-card__icon{display:grid;place-items:center;width:30px;height:30px;margin-bottom:10px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-accent)}.tf-card--interactive:hover .tf-card__icon{background:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-card__title{font-size:var(--tf-text-choice);font-weight:var(--tf-weight-semibold);color:var(--tf-text-bright);margin:0 0 3px}.tf-card__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);margin:0;line-height:var(--tf-leading-hint)}@media(prefers-reduced-motion:reduce){.tf-card{transition:none}}.tf-tabs{display:flex;gap:4px;padding:3px;width:fit-content;max-width:100%;flex:none;border-radius:var(--tf-radius-sm);background:var(--tf-bg-panel);border:1px solid var(--tf-border);font-family:var(--tf-font-sans)}.tf-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font-family:inherit;font-size:var(--tf-text-body);font-weight:600;display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--tf-text-muted);padding:6px 14px;border-radius:var(--tf-radius-xs);transition:background .12s ease,color .12s ease;white-space:nowrap}.tf-tab:hover:not(.tf-tab--active){background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-tab--active{background:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-tab:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}@media(prefers-reduced-motion:reduce){.tf-tab{transition:none}}.tf-progress{position:relative;height:16px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-xs);background:var(--tf-bg-control);overflow:hidden;font-family:var(--tf-font-sans)}.tf-progress__chunk{position:absolute;inset-block:0;inset-inline-start:0;background:var(--tf-accent);border-radius:3px;transition:width .2s ease}.tf-progress__chunk--indeterminate{width:35%!important;right:auto;animation:tf-prog 1.1s ease-in-out infinite}@keyframes tf-prog{0%{left:-35%}to{left:100%}}.tf-progress__text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:600;font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;color:var(--tf-text-bright);text-shadow:0 0 3px var(--tf-bg-control)}@media(prefers-reduced-motion:reduce){.tf-progress__chunk{transition:none}.tf-progress__chunk--indeterminate{animation:none;left:0;width:100%!important;opacity:.35}}.tf-status{display:inline-flex;align-items:center;gap:7px;font-family:var(--tf-font-sans);font-size:var(--tf-text-sm);color:var(--tf-text-muted)}.tf-status__dot{width:9px;height:9px;border-radius:var(--tf-radius-pill);flex:none}.tf-status--online .tf-status__dot{background:var(--tf-success);box-shadow:0 0 0 3px #5fa8602e}.tf-status--offline .tf-status__dot{background:var(--tf-danger);box-shadow:0 0 0 3px #cc55552e}.tf-status--warning .tf-status__dot{background:var(--tf-warning);box-shadow:0 0 0 3px #e0a0302e}.tf-status--idle .tf-status__dot{background:var(--tf-text-faint)}.tf-status--running .tf-status__dot{background:var(--tf-info);box-shadow:0 0 0 3px #46c0ff2e}.tf-group{position:relative;display:block;min-width:0;margin:0;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);padding:var(--tf-card-pad);font-family:var(--tf-font-sans);font-size:var(--tf-text-body)}.tf-group__title{float:left;width:100%;padding:0;margin:0 0 8px;background:none;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-group__title+*{clear:both}.tf-group--on-panel .tf-group__title{background:none}.tf-panel--screen{flex:none}.tf-panel--screen>.tf-panel__head{padding:12px 16px;gap:8px 12px;flex-wrap:wrap;justify-content:flex-start;font-size:var(--tf-text-body);font-weight:400;color:var(--tf-text)}.tf-panel--screen>.tf-panel__body{padding:var(--tf-panel-pad)}.tf-panel--screen>.tf-panel__body--flush{padding:0}.tf-panel__icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-accent)}.tf-panel__heading{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.tf-panel__title{margin:0;font-size:var(--tf-text-panel-title);font-weight:600;line-height:inherit;color:var(--tf-text-bright);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-panel__title--wrap{white-space:normal;overflow-wrap:anywhere}.tf-panel__meta{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-panel__actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin-inline-start:auto}.tf-sec{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;padding:var(--tf-card-pad);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);font-size:var(--tf-text-body)}.tf-sec__head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:24px}.tf-sec__title{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-sec__title--sentence{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:var(--tf-text-body);letter-spacing:normal;text-transform:none;color:var(--tf-text-bright)}.tf-sec__title--sentence>svg{flex:none}.tf-sec__count,.tf-sec__aside{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-sec__count{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums}.tf-sec__actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-inline-start:auto}.tf-sec__note{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-sec__note--warning{color:var(--tf-text);padding-inline-start:10px;border-inline-start:2px solid var(--tf-warning)}.tf-sec--row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px}.tf-sec--row>.tf-sec__title{min-width:64px}.tf-sec--row>.tf-sec__note{flex-basis:100%}.tf-sec__lede{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-sec__head+.tf-fieldrow,.tf-sec__lede+.tf-fieldrow{border-top:0;padding-top:2px}.tf-fieldrow{container-type:inline-size;padding:8px 0;border-top:1px solid var(--tf-border);min-width:0}.tf-fieldrow:first-child{border-top:0}.tf-fieldrow__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 16px}@container (max-width: 520px){.tf-fieldrow__grid{grid-template-columns:minmax(0,1fr)}}.tf-fieldrow__text{display:flex;flex-direction:column;gap:2px;min-width:0}.tf-fieldrow__name{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.tf-fieldrow__hint{font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-fieldrow__control{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0}.tf-fieldrow--dense{container-type:normal;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--tf-field-ctl, 112px)) 18px;align-items:center;gap:2px 8px;min-height:34px;padding:4px 0}.tf-sec__head+.tf-fieldrow.tf-fieldrow--dense,.tf-sec__lede+.tf-fieldrow.tf-fieldrow--dense{padding-top:4px}.tf-fieldrow--dense>.tf-fieldrow__name{grid-column:1;grid-row:1;font-weight:500;line-height:1.3;min-width:0}.tf-fieldrow--dense>.tf-fieldrow__control{grid-column:2;grid-row:1;flex-wrap:nowrap;justify-content:flex-end;gap:6px}.tf-fieldrow--dense>.tf-fieldrow__reset{grid-column:3;grid-row:1;display:flex;justify-content:flex-end}.tf-fieldrow--dense>.tf-fieldrow__hint{grid-column:1 / 3;grid-row:2;overflow-wrap:anywhere}.tf-fieldrow--dense>.tf-fieldrow__control>:is(.tf-input-wrap,.tf-select-wrap,.tf-select,.tf-step,.tf-seg,select,input){width:100%}.tf-fieldrow--dense>.tf-fieldrow__control .tf-step{justify-content:space-between}.tf-fieldrow--dense>.tf-fieldrow__control .tf-step__in,.tf-fieldrow--dense>.tf-fieldrow__control .tf-step span{flex:1;min-width:0}.tf-fieldrow--dense>.tf-fieldrow__control .tf-seg>button{flex:1}.tf-fieldrow--dense>.tf-fieldrow__control .tf-switch{width:38px;flex:none}.tf-fieldrow--wide{grid-template-columns:minmax(0,1fr) 18px}.tf-fieldrow--wide>.tf-fieldrow__reset{grid-column:2}.tf-fieldrow--wide>.tf-fieldrow__control{grid-column:1 / -1;grid-row:2;justify-content:flex-start}.tf-fieldrow--wide>.tf-fieldrow__hint{grid-column:1 / -1;grid-row:3}.tf-choices{container-type:inline-size;min-width:0}.tf-choices__grid{display:grid;grid-template-columns:repeat(var(--tf-choices-cols, 3),minmax(0,1fr));gap:8px}@container (max-width: 520px){.tf-choices__grid{grid-template-columns:minmax(0,1fr)}}.tf-choice{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;min-width:0;padding:9px 12px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);cursor:pointer;transition:border-color .12s ease,background .12s ease}.tf-choice:hover{border-color:var(--tf-accent)}.tf-choice--on{border-color:var(--tf-accent);background:var(--tf-accent-mix);box-shadow:inset 0 0 0 1px var(--tf-accent)}.tf-choice--off{opacity:.55;cursor:not-allowed}.tf-choice--off:hover{border-color:var(--tf-border-strong)}.tf-choice:focus-within{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-choice__radio{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.tf-choice__icon{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-text-subtle)}.tf-choice--on .tf-choice__icon{background:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-choice__text{display:flex;flex-direction:column;gap:1px;min-width:0}.tf-choice__name{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-choice__sub{font-size:var(--tf-text-hint);line-height:1.35;color:var(--tf-text-subtle)}.tf-choice--on .tf-choice__sub{color:var(--tf-text-muted)}@media(prefers-reduced-motion:reduce){.tf-choice{transition:none}}.tf-seg{display:flex;width:fit-content;max-width:100%;padding:2px;gap:2px;background:var(--tf-bg-app);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm)}.tf-seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--tf-text-subtle);font-family:inherit;font-size:var(--tf-text-hint);font-weight:600;line-height:1.35;padding:4px 12px;border-radius:var(--tf-radius-xs);cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .12s ease,color .12s ease}.tf-seg button:hover:not(:disabled):not([aria-pressed=true]){color:var(--tf-text-bright);background:var(--tf-bg-control-hover)}.tf-seg button[aria-pressed=true]{background:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-seg button:disabled{opacity:.45;cursor:not-allowed}.tf-seg--disabled{cursor:not-allowed}.tf-seg--disabled button[aria-pressed=true]:disabled{opacity:.6}.tf-seg button:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-seg--sm button{font-size:var(--tf-text-caption);padding:3px 9px}.tf-seg--block{width:100%}.tf-seg--block button{flex:1 1 0;min-width:0}@media(prefers-reduced-motion:reduce){.tf-seg button{transition:none}}.tf-chips{display:flex;flex-wrap:wrap;gap:4px}.tf-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--tf-border-strong);background:transparent;color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-hint);font-weight:500;line-height:1.35;border-radius:var(--tf-radius-pill);padding:3px 10px;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,background .12s ease,color .12s ease}.tf-chip:hover:not(:disabled){border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-chip[aria-pressed=true]{border-color:var(--tf-accent);background:var(--tf-accent-mix);color:var(--tf-text-bright)}.tf-chip:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-chip:disabled{opacity:.45;cursor:not-allowed}.tf-chip--num{min-width:30px;padding:3px 8px;border-radius:var(--tf-radius-sm);font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums}.tf-chip__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);font-weight:500;font-variant-numeric:tabular-nums;color:var(--tf-text-subtle)}.tf-chip[aria-pressed=true] .tf-chip__count{color:var(--tf-text-muted)}.tf-chip--square{min-width:30px;padding:3px 8px;border-radius:var(--tf-radius-sm)}@media(prefers-reduced-motion:reduce){.tf-chip{transition:none}}.tf-notice{--tf-notice-tone: var(--tf-warning);--tf-notice-edge: var(--tf-warning-edge);--tf-notice-wash: var(--tf-warning-wash);--tf-notice-on: var(--tf-text-on-warning);margin:0;color:var(--tf-text);font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);border:1px solid var(--tf-notice-edge)}.tf-notice--danger{--tf-notice-tone: var(--tf-danger);--tf-notice-edge: var(--tf-danger-edge);--tf-notice-wash: var(--tf-danger-wash);--tf-notice-on: var(--tf-text-on-accent)}.tf-notice--info{--tf-notice-tone: var(--tf-info);--tf-notice-edge: var(--tf-info-edge);--tf-notice-wash: var(--tf-info-wash);--tf-notice-on: var(--tf-text-on-warning)}.tf-notice--success{--tf-notice-tone: var(--tf-success);--tf-notice-edge: var(--tf-success-edge);--tf-notice-wash: var(--tf-success-wash);--tf-notice-on: var(--tf-text-on-warning)}.tf-notice__icon{flex:none;color:var(--tf-notice-tone)}.tf-notice__body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.tf-notice__end{flex:none;display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;align-self:center}.tf-notice--inline>.tf-notice__end,.tf-notice--line>.tf-notice__end{margin-block:-3px}.tf-notice__title{font-weight:600;color:var(--tf-text)}.tf-notice--inline{display:flex;align-items:flex-start;gap:7px;padding:6px 9px;border-radius:var(--tf-radius-sm)}.tf-notice--inline>.tf-notice__icon{margin-top:2px}.tf-notice--line{display:flex;align-items:flex-start;gap:6px;padding:0;border:0}.tf-notice--line>.tf-notice__icon{margin-top:2px}.tf-notice--block{display:flex;align-items:flex-start;gap:9px;padding:9px 12px;border-radius:var(--tf-radius-md);background:var(--tf-notice-wash);font-size:var(--tf-text-body)}.tf-notice--block>.tf-notice__icon{margin-top:2px}.tf-notice--fold{padding:8px 12px;border-radius:var(--tf-radius-md);background:var(--tf-notice-wash)}.tf-notice__summary{display:inline-flex;align-items:center;gap:7px;font-size:var(--tf-text-count);cursor:pointer;list-style:none}.tf-notice__summary::-webkit-details-marker{display:none}.tf-notice__summary:focus-visible{outline:2px solid var(--tf-accent);outline-offset:2px;border-radius:2px}.tf-notice__count{font-family:var(--tf-font-mono);font-size:10.5px;font-weight:600;padding:0 6px;border-radius:var(--tf-radius-pill);background:var(--tf-notice-tone);color:var(--tf-notice-on)}.tf-notice--fold>.tf-notice__body{margin-top:8px}.tf-notice__list{margin:0 0 2px;padding-inline-start:18px;display:flex;flex-direction:column;gap:4px}.tf-notice__list li{font-size:var(--tf-text-count);line-height:var(--tf-leading-hint);color:var(--tf-text-muted);overflow-wrap:anywhere}.tf-state{--tf-state-tone: var(--tf-text-subtle);display:inline-flex;align-items:center;gap:6px;flex:none;white-space:nowrap;padding:2px 9px;border-radius:var(--tf-radius-pill);font-size:var(--tf-text-caption);font-weight:600;color:var(--tf-text-bright);background:color-mix(in srgb,var(--tf-state-tone) 18%,transparent);border:1px solid color-mix(in srgb,var(--tf-state-tone) 60%,transparent)}.tf-state--accent{--tf-state-tone: var(--tf-accent)}.tf-state--success{--tf-state-tone: var(--tf-success)}.tf-state--warning{--tf-state-tone: var(--tf-warning)}.tf-state--danger{--tf-state-tone: var(--tf-danger)}.tf-state--info{--tf-state-tone: var(--tf-info)}.tf-state--neutral{--tf-state-tone: var(--tf-text-subtle)}.tf-state__dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--tf-state-tone)}.tf-state__dot--pulse{animation:tf-state-pulse 1.6s ease-in-out infinite}@keyframes tf-state-pulse{50%{opacity:.35}}.tf-state--quiet{gap:7px;padding:3px 10px;font-size:var(--tf-text-hint);font-weight:400;color:var(--tf-text-muted);background:var(--tf-bg-input);border-color:var(--tf-border)}.tf-state--quiet.tf-state--warning{color:var(--tf-text);border-color:var(--tf-warning-edge)}.tf-state--quiet.tf-state--danger{color:var(--tf-text);border-color:var(--tf-danger-edge)}.tf-state--quiet.tf-state--info{color:var(--tf-text);border-color:var(--tf-info-edge)}@media(prefers-reduced-motion:reduce){.tf-state__dot--pulse{animation:none}}.tf-actionbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:10px 12px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel)}.tf-actionbar--sticky{position:sticky;bottom:var(--tf-actionbar-bottom, 0px);z-index:2;box-shadow:var(--tf-shadow-md)}.tf-actionbar--flush{border:0;border-radius:0;background:transparent;box-shadow:none;padding-inline:0}.tf-actionbar__text{flex:1 1 260px;display:flex;flex-direction:column;gap:2px;min-width:0}.tf-actionbar__summary{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-actionbar__reason{display:inline-flex;align-items:flex-start;gap:6px;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-actionbar__reason--warning{color:var(--tf-text)}.tf-actionbar__reason--warning>svg{flex:none;margin-top:2px;color:var(--tf-warning)}.tf-actionbar__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-inline-start:auto}.tf-disclosure{min-width:0}.tf-disclosure--ruled{border-top:1px solid var(--tf-border);padding-top:8px}.tf-disclosure__summary{display:flex;align-items:center;gap:7px;width:100%;font-size:var(--tf-text-count);font-weight:600;color:var(--tf-text-subtle);cursor:pointer;list-style:none}.tf-disclosure__summary::-webkit-details-marker{display:none}.tf-disclosure__summary:hover{color:var(--tf-text-bright)}.tf-disclosure__summary:focus-visible{outline:2px solid var(--tf-accent);outline-offset:2px;border-radius:2px}.tf-disclosure[open]>.tf-disclosure__summary{color:var(--tf-text)}.tf-disclosure__chev{flex:none}[dir=rtl] .tf-disclosure:not([open])>.tf-disclosure__summary>.tf-disclosure__chev{transform:scaleX(-1)}.tf-disclosure[open]>.tf-disclosure__summary>.tf-disclosure__chev{transform:rotate(90deg)}.tf-disclosure__count{font-weight:400;color:var(--tf-text-faint);font-variant-numeric:tabular-nums}.tf-disclosure__actions{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto}.tf-disclosure__body{padding-top:10px;min-width:0}.tf-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;text-align:center;color:var(--tf-text-subtle);font-size:var(--tf-text-body)}.tf-empty__mark{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.tf-empty__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--tf-radius-md);background:var(--tf-bg-control);color:var(--tf-text-subtle)}.tf-empty__title{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-empty__hint,.tf-empty__body{max-width:48ch;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint)}.tf-empty__hint :is(p,ul,ol),.tf-empty__body :is(p,ul,ol){margin:0}.tf-empty__hint>*+*,.tf-empty__body>*+*{margin-top:4px}.tf-empty__hint strong,.tf-empty__body strong{color:var(--tf-text);font-weight:600}.tf-empty__action{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.tf-empty--compact{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:4px 8px;padding:6px 0;text-align:start}.tf-empty--compact .tf-empty__icon{width:auto;height:auto;background:none}.tf-empty--compact .tf-empty__title{font-size:var(--tf-text-body)}.tf-empty--compact .tf-empty__action{margin-top:0;justify-content:flex-start}.tf-empty--compact .tf-empty__body{flex-basis:100%}.ax-mark{flex:none;display:block}.ax-lockup{display:flex;align-items:center;gap:10px;width:fit-content}.ax-lockup__wm{font-weight:600;letter-spacing:.15em;margin-inline-end:-.15em;text-transform:uppercase;white-space:nowrap;color:var(--tf-text-bright)}.au-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--tf-bg-app);overflow-y:auto}.au-card{width:100%;max-width:380px;padding:24px 24px 20px;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);box-shadow:var(--tf-shadow-lg)}.au-brand{margin-bottom:20px;font-size:17px}div.au-brand{display:flex;align-items:center;gap:10px}.au-brand__name{font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.au-brand__icon{flex:none;color:var(--tf-accent)}.au-brand__icon--warning{color:var(--tf-warning)}.au-title{margin:0 0 4px;font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.au-sub{margin:0 0 16px;font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.au-form{display:flex;flex-direction:column;gap:12px}.au-foot{margin-top:16px;padding-top:12px;border-top:1px solid var(--tf-border);font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.au-hint{display:block;margin-top:4px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.au-loading{display:flex;align-items:center;gap:9px;font-size:var(--tf-text-body);color:var(--tf-text-subtle)}.dcp-root{position:fixed;z-index:45;width:max-content;user-select:none;-webkit-user-select:none;touch-action:none;cursor:grab}.dcp-root.is-held{cursor:grabbing}.dcp-rig{display:block;overflow:visible;animation:dcp-float 5.2s ease-in-out infinite;transition:transform .18s cubic-bezier(.22,1.2,.36,1);transform-origin:60px 112px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}.dcp-root.is-hover .dcp-rig{transform:scale(1.06) translateY(-2px)}.dcp-root.is-held .dcp-rig{animation:none;transform:rotate(-7deg) scale(1.04)}.dcp-root.is-pounce .dcp-rig{animation:dcp-pounce .52s cubic-bezier(.3,1.5,.4,1)}.dcp-body{animation:dcp-breathe 3.6s ease-in-out infinite;transform-origin:60px 108px}.dcp-tail{animation:dcp-wag 2.1s ease-in-out infinite;transform-origin:84px 92px}.dcp-ear-l{animation:dcp-twitch 5.4s ease-in-out infinite;transform-origin:46px 40px}.dcp-ear-r{animation:dcp-twitch 5.4s ease-in-out .7s infinite;transform-origin:74px 40px}.dcp-wing{animation:dcp-flap 2.8s ease-in-out infinite;transform-origin:52px 74px}.dcp-antenna{animation:dcp-bob 2.9s ease-in-out infinite;transform-origin:60px 42px}.dcp-gear{animation:dcp-spin 3.2s linear infinite;transform-origin:60px 92px}.dcp-head{transition:transform .2s ease;transform-origin:60px 62px}.dcp-lid{transform:scaleY(0);transition:transform .09s ease;transform-origin:center top}.dcp-root.is-blink .dcp-lid{transform:scaleY(1)}.dcp-pupil{transition:transform .12s cubic-bezier(.3,1.4,.4,1)}.dcp-spark{opacity:0}.dcp-root.is-hover .dcp-tail{animation-duration:.8s}.dcp-root.is-hover .dcp-wing{animation-duration:1s}.dcp-root.state-working .dcp-body{animation-duration:1.9s}.dcp-root.state-working .dcp-head{transform:translateY(2px) rotate(-4deg)}.dcp-root.state-working .dcp-tail{animation-duration:1.1s}.dcp-root.state-done .dcp-rig{animation:dcp-hop .62s cubic-bezier(.3,1.5,.4,1) 3}.dcp-root.state-done .dcp-spark{animation:dcp-sparkle 1.5s ease-out infinite}.dcp-root.state-done .dcp-spark:nth-of-type(2){animation-delay:.25s}.dcp-root.state-done .dcp-spark:nth-of-type(3){animation-delay:.5s}.dcp-root.state-error .dcp-rig{animation:dcp-shake .5s ease-in-out 2}.dcp-root.state-error .dcp-head{transform:translateY(3px) rotate(5deg)}.dcp-root.state-error .dcp-tail{animation-duration:4s}.dcp-bubble{position:absolute;bottom:calc(100% - 6px);right:8px;max-width:236px;padding:8px 11px;background:var(--tf-bg-elevated, #26282c);border:1px solid var(--tf-border-strong, #41454d);border-radius:var(--tf-radius-md, 8px);box-shadow:var(--tf-shadow-md, 0 4px 12px rgba(0,0,0,.35));color:var(--tf-text, #e8e8ea);font-family:var(--tf-font-sans, "IBM Plex Sans", "Segoe UI", sans-serif);font-size:var(--tf-text-body, 12.5px);line-height:var(--tf-leading-hint, 1.45);text-wrap:pretty;animation:dcp-bubble-in .2s cubic-bezier(.2,1.3,.4,1)}.dcp-bubble:after{content:"";position:absolute;right:22px;bottom:-4px;width:7px;height:7px;background:var(--tf-bg-elevated, #26282c);border-right:1px solid var(--tf-border-strong, #41454d);border-bottom:1px solid var(--tf-border-strong, #41454d);transform:rotate(45deg)}.dcp-bubble__name{display:block;margin-bottom:2px;color:var(--tf-text-subtle, #9a9ea6);font-size:var(--tf-text-caption, 11px);font-weight:600;letter-spacing:var(--tf-tracking-caption, .06em);text-transform:uppercase}.dcp-bubble__mono{font-family:var(--tf-font-mono, "IBM Plex Mono", monospace)}.dcp-x{position:absolute;top:-4px;right:-4px;width:20px;height:20px;display:grid;place-items:center;padding:0;border:1px solid var(--tf-border-strong, #41454d);border-radius:var(--tf-radius-pill, 999px);background:var(--tf-bg-elevated, #26282c);color:var(--tf-text-muted, #b6b9bf);font:600 11px/1 var(--tf-font-sans, sans-serif);cursor:pointer;opacity:0;transform:scale(.7);transition:opacity .14s ease,transform .14s ease,color .14s ease}.dcp-root.is-hover .dcp-x{opacity:1;transform:scale(1)}.dcp-x:hover{color:var(--tf-text-bright, #eef0f3)}.dcp-x:focus-visible{opacity:1;transform:scale(1);outline:none;box-shadow:var(--tf-focus-ring, 0 0 0 2px rgba(58,130,247,.4))}@keyframes dcp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes dcp-breathe{0%,to{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(1.035) scaleX(.99)}}@keyframes dcp-wag{0%,to{transform:rotate(-9deg)}50%{transform:rotate(13deg)}}@keyframes dcp-twitch{0%,92%,to{transform:rotate(0)}95%{transform:rotate(-11deg)}}@keyframes dcp-flap{0%,to{transform:rotate(0) scaleY(1)}50%{transform:rotate(-16deg) scaleY(.86)}}@keyframes dcp-bob{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes dcp-spin{to{transform:rotate(360deg)}}@keyframes dcp-pounce{0%{transform:translateY(0) scaleY(1)}35%{transform:translateY(-16px) scaleY(1.08)}70%{transform:translateY(2px) scaleY(.94)}to{transform:translateY(0) scaleY(1)}}@keyframes dcp-hop{0%,to{transform:translateY(0)}45%{transform:translateY(-10px)}}@keyframes dcp-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(-2deg)}75%{transform:translate(4px) rotate(2deg)}}@keyframes dcp-sparkle{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5) translateY(-10px)}}@keyframes dcp-bubble-in{0%{opacity:0;transform:translateY(4px) scale(.96)}to{opacity:1;transform:none}}.dcp-root.is-pixel .dcp-rig{animation:dcp-float-step 1.4s steps(1,end) infinite;image-rendering:pixelated;filter:drop-shadow(0 4px 0 rgba(0,0,0,.32))}.dcp-root.is-pixel .dcp-pupil{transition:none}.dcp-root.is-pixel.is-hover .dcp-rig{transform:scale(1.08)}.dcp-root.is-pixel.is-held .dcp-rig{animation:none;transform:rotate(-8deg)}.dcp-root.is-pixel.is-pounce .dcp-rig{animation:dcp-pounce-step .48s steps(1,end)}.dcp-root.is-pixel.state-working .dcp-rig{animation-duration:.7s}.dcp-root.is-pixel.state-done .dcp-rig{animation:dcp-hop-step .5s steps(1,end) 4}.dcp-root.is-pixel.state-error .dcp-rig{animation:dcp-shake-step .32s steps(1,end) 4}.dcp-root.is-pixel .dcp-spark{animation-timing-function:steps(2,end)}.dcp-shut,.dcp-root.is-blink .dcp-open{display:none}.dcp-root.is-blink .dcp-shut{display:block}@keyframes dcp-float-step{0%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes dcp-pounce-step{0%{transform:translateY(0)}25%{transform:translateY(-8px)}50%{transform:translateY(-16px)}75%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes dcp-hop-step{0%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes dcp-shake-step{0%{transform:translate(-4px)}50%{transform:translate(4px)}}.dcp-hook{animation:dcp-hook 3.6s ease-in-out infinite}.dcp-root.state-working .dcp-hook{animation-duration:1.2s}.dcp-root.state-done .dcp-hook{animation:none;transform:translateY(11px)}.dcp-root.state-error .dcp-hook{animation:dcp-slack 1.1s ease-in-out infinite}.dcp-cups{animation:dcp-spin 2.4s linear infinite;transform-origin:60px 40px}.dcp-root.is-hover .dcp-cups{animation-duration:.6s}.dcp-arc{opacity:0}.dcp-root.state-working .dcp-arc{animation:dcp-flicker .16s steps(2,end) infinite}.dcp-root.is-pounce .dcp-arc{animation:dcp-flicker .12s steps(2,end) 4}.dcp-root.state-done .dcp-arc{opacity:.5}.dcp-jaw{transition:transform .1s linear}.dcp-nod{transform-origin:60px 86px}.dcp-root.state-done .dcp-nod{animation:dcp-nod .55s ease-in-out 3}.dcp-root.is-pounce .dcp-nod{animation:dcp-nod .4s ease-in-out 1}.dcp-pulse{animation:dcp-ring 2.8s ease-out infinite;transform-origin:60px 60px}.dcp-root.state-working .dcp-pulse{animation-duration:1s}.dcp-root.char-token .dcp-rig{filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}@keyframes dcp-hook{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@keyframes dcp-slack{0%,to{transform:translateY(14px) rotate(-4deg)}50%{transform:translateY(16px) rotate(4deg)}}@keyframes dcp-flicker{0%{opacity:0}50%{opacity:1}}@keyframes dcp-nod{0%,to{transform:rotate(0)}50%{transform:rotate(9deg)}}@keyframes dcp-ring{0%{opacity:.55;transform:scale(.92)}to{opacity:0;transform:scale(1.45)}}.dcp-menu{position:absolute;bottom:calc(100% + 6px);right:0;min-width:178px;display:flex;flex-direction:column;padding:4px;background:var(--tf-bg-elevated, #26282c);border:1px solid var(--tf-border-strong, #41454d);border-radius:var(--tf-radius-md, 8px);box-shadow:var(--tf-shadow-lg, 0 12px 32px rgba(0,0,0,.45));font-family:var(--tf-font-sans, "IBM Plex Sans", "Segoe UI", sans-serif);z-index:2;animation:dcp-bubble-in .14s ease-out}.dcp-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border:0;border-radius:var(--tf-radius-xs, 4px);background:transparent;color:var(--tf-text, #e8e8ea);font:inherit;font-size:var(--tf-text-body, 12.5px);text-align:start;cursor:pointer}.dcp-menu button:hover{background:var(--tf-bg-control-hover, #34373d);color:var(--tf-text-bright, #eef0f3)}.dcp-menu button:focus-visible{outline:none;box-shadow:var(--tf-focus-ring, 0 0 0 2px rgba(58,130,247,.4))}.dcp-menu button:disabled{color:var(--tf-text-faint, #80858c);background:transparent;cursor:default}.dcp-menu button span{color:var(--tf-text-subtle, #9a9ea6);font-family:var(--tf-font-mono, monospace);font-size:var(--tf-text-count, 12px)}.dcp-menu__rule{height:1px;margin:4px 2px;background:var(--tf-border, #34373d)}.dcp-zzz{position:absolute;top:-14px;left:calc(100% - 16px);color:var(--tf-text-faint, #80858c);animation:dcp-zzz 3s ease-in-out infinite;pointer-events:none}.dcp-root.is-asleep .dcp-rig{animation-duration:7s;opacity:.82}.dcp-root.is-asleep .dcp-body{animation-duration:6s}.dcp-root.is-asleep .dcp-lid{transform:scaleY(1)}.dcp-root.is-asleep .dcp-tail,.dcp-root.is-asleep .dcp-cups,.dcp-root.is-asleep .dcp-wing{animation-duration:6s}.dcp-root.is-follow{cursor:crosshair}.dcp-root.is-trick .dcp-rig{animation:dcp-trick .95s cubic-bezier(.3,1.2,.4,1)}.dcp-root.is-trick.is-pixel .dcp-rig{animation:dcp-trick .95s steps(6,end)}.dcp-root.is-trick .dcp-cups{animation-duration:.22s}.dcp-root.is-trick .dcp-drum{animation:dcp-spin .5s linear 2}.dcp-root.is-trick .dcp-hook{animation:dcp-hook .3s ease-in-out 3}.dcp-root.is-trick .dcp-lamp{animation:dcp-flicker .12s steps(2,end) 8}.dcp-root.is-trick .dcp-tick{animation:dcp-flicker .1s steps(2,end) 9}.dcp-root.is-trick .dcp-swing{animation-duration:.8s}.dcp-swing{animation:dcp-pendulum 3.6s ease-in-out infinite;transform-origin:60px 0}.dcp-root.state-done .dcp-swing{animation:none}.dcp-root.state-error .dcp-swing{animation-duration:1.4s}.dcp-drum{animation:dcp-spin 9s linear infinite;transform-origin:60px 66px}.dcp-root.state-working .dcp-drum{animation-duration:2.4s}.dcp-root.state-error .dcp-drum{animation-play-state:paused}.dcp-lamp{animation:dcp-blip 2.4s ease-in-out infinite}.dcp-root.state-error .dcp-lamp{animation-duration:.6s}.dcp-root.state-working .dcp-lamp{animation:none;opacity:1}.dcp-tick{opacity:0}.dcp-vial{transition:transform .2s ease}@keyframes dcp-trick{0%{transform:rotate(0) scale(1)}35%{transform:rotate(200deg) scale(1.1)}70%{transform:rotate(340deg) scale(.96)}to{transform:rotate(360deg) scale(1)}}@keyframes dcp-pendulum{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes dcp-blip{0%,to{opacity:.35}50%{opacity:1}}@keyframes dcp-zzz{0%,to{opacity:.25;transform:translateY(2px)}50%{opacity:.9;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.dcp-rig,.dcp-body,.dcp-tail,.dcp-ear-l,.dcp-ear-r,.dcp-wing,.dcp-antenna,.dcp-gear,.dcp-spark,.dcp-hook,.dcp-cups,.dcp-arc,.dcp-nod,.dcp-pulse,.dcp-swing,.dcp-drum,.dcp-lamp,.dcp-zzz{animation:none!important}.dcp-bubble{animation:none}}.tf-sidebar{width:var(--tf-sidebar-w);flex:none;background:var(--tf-bg-panel);border-inline-end:1px solid var(--tf-border);padding:10px 8px;display:flex;flex-direction:column;gap:2px;overflow-x:hidden;overflow-y:auto;transition:width .16s ease}.tf-sidebar--collapsed{width:var(--tf-sidebar-w-collapsed)}.tf-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 12px;font-size:15px}.tf-nav-cap{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);font-weight:600;padding:12px 12px 3px;white-space:nowrap}.tf-nav{display:flex;align-items:center;gap:10px;width:100%;text-align:start;padding:7px 12px;border:0;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text);font-family:inherit;font-size:var(--tf-text-sm);cursor:pointer;transition:background .12s ease,color .12s ease;text-decoration:none;box-sizing:border-box}.tf-nav:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-nav:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-nav--active,.tf-nav--active:hover{background:var(--tf-accent-mix);color:var(--tf-text-bright);box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .tf-nav--active,[dir=rtl] .tf-nav--active:hover{box-shadow:inset -3px 0 0 var(--tf-accent)}.tf-nav--active svg{color:var(--tf-accent)}.tf-nav svg{width:16px;height:16px;flex:none;stroke-width:2}.tf-nav span{white-space:nowrap;overflow:hidden}.tf-nav__badge{margin-inline-start:auto;flex:none;min-width:18px;height:18px;padding:0 5px;border-radius:var(--tf-radius-pill);background:var(--tf-accent);color:var(--tf-text-on-accent);font-family:var(--tf-font-mono);font-size:var(--tf-text-2xs);font-weight:600;line-height:18px;text-align:center}.tf-nav--update svg{color:var(--tf-warning)}.tf-nav--back{color:var(--tf-text-muted)}.tf-nav--back:disabled{opacity:.5;cursor:default;background:transparent}.tf-nav--back:not(:disabled):hover{color:var(--tf-text-bright)}.tf-nav-spacer{flex:1;min-height:12px}.tf-nav-divider{height:1px;background:var(--tf-border);margin:8px 6px}.tf-nav-toggle{display:flex;align-items:center;gap:10px;width:100%;text-align:start;padding:7px 12px;margin-top:6px;border:0;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-subtle);font-family:inherit;font-size:var(--tf-text-sm);cursor:pointer;transition:background .12s ease,color .12s ease;box-sizing:border-box}.tf-nav-toggle:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-nav-toggle:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-nav-toggle svg{width:16px;height:16px;flex:none;stroke-width:2}.tf-nav-toggle span{white-space:nowrap;overflow:hidden}.tf-account{border-top:1px solid var(--tf-border);margin-top:8px;padding-top:8px}.tf-account__who{display:flex;align-items:center;gap:10px;padding:5px 12px;color:var(--tf-text-muted);box-sizing:border-box}.tf-account__who svg{width:15px;height:15px;flex:none;stroke-width:2}.tf-account__text{min-width:0;display:flex;flex-direction:column;line-height:1.25}.tf-account__name{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-account__role{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);text-transform:uppercase;letter-spacing:var(--tf-tracking-caption)}.tf-account__out{color:var(--tf-text-muted)}.tf-account__out:hover{color:var(--tf-text-bright)}.tf-account__pet{color:var(--tf-text-muted)}.tf-account__pet:hover{color:var(--tf-text-bright)}.tf-account__pet--on svg{color:var(--tf-accent)}.tf-sidebar--collapsed .tf-account__text{display:none}.tf-sidebar--collapsed .tf-account__who,.tf-sidebar--collapsed .tf-brand{justify-content:center;padding-inline:0}.tf-sidebar--collapsed .tf-brand__wm,.tf-sidebar--collapsed .tf-nav-cap,.tf-sidebar--collapsed .tf-nav span,.tf-sidebar--collapsed .tf-nav-toggle span{display:none}.tf-sidebar--collapsed .tf-nav,.tf-sidebar--collapsed .tf-nav-toggle{justify-content:center;padding-inline:0}.tf-sidebar--collapsed .tf-nav{position:relative}.tf-sidebar--collapsed .tf-nav__badge{display:block;position:absolute;top:4px;inset-inline-end:10px;min-width:8px;width:8px;height:8px;padding:0;font-size:0;line-height:0;margin:0}.tf-window__order{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-window__order>:nth-child(2){flex:1}.tf-window__body{flex:1;min-height:0;display:flex;gap:0}.tf-factory-list{width:230px;flex:none;border-inline-end:1px solid var(--tf-border);display:flex;flex-direction:column;background:var(--tf-bg-panel)}.tf-factory-list__head{padding:10px 14px 6px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-factory{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:var(--tf-text-body)}.tf-factory:hover{background:var(--tf-bg-control-hover)}.tf-factory--sel{background:var(--tf-accent-mix);color:var(--tf-text-bright);box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .tf-factory--sel{box-shadow:inset -3px 0 0 var(--tf-accent)}.tf-factory__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-factory__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-factory-list__actions{display:flex;gap:6px;padding:10px 14px;margin-top:auto;border-top:1px solid var(--tf-border)}.tf-factory-detail{flex:1;padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.tf-plan__title{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-plan__stats{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--tf-text-subtle);font-size:var(--tf-text-body)}.tf-plan__stats b{color:var(--tf-text-bright);margin-inline-start:4px;font-weight:600}.tf-plan__big{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.tf-plan__tile{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-panel)}.tf-plan__cap{display:inline-flex;align-items:center;gap:6px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-plan__cap svg{color:var(--tf-accent)}.tf-plan__tile .tf-t-metric{color:var(--tf-text-bright)}.tf-plan__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none}.tf-tour__spot{position:fixed;border-radius:var(--tf-radius-md);border:2px solid var(--tf-accent);box-shadow:0 0 0 9999px var(--tf-scrim-strong);pointer-events:none;transition:top .15s ease,left .15s ease,width .15s ease,height .15s ease}.tf-tour__card{position:fixed;width:360px;max-width:calc(100vw - 24px);pointer-events:auto;background:var(--tf-bg-panel);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-panel);box-shadow:var(--tf-shadow-lg);padding:10px 14px 12px;display:flex;flex-direction:column;gap:8px}.tf-tour__sections{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -4px;padding:0 4px 8px;border-bottom:1px solid var(--tf-border)}.tf-tour__sections::-webkit-scrollbar{display:none}.tf-tour__chip{display:inline-flex;align-items:center;gap:4px;flex:none;height:24px;padding:0 9px;border-radius:var(--tf-radius-pill);border:1px solid var(--tf-border-strong);background:transparent;color:var(--tf-text-muted);font-family:inherit;font-size:var(--tf-text-hint);font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,color .12s ease,background .12s ease}.tf-tour__chip:hover{color:var(--tf-text-bright);border-color:var(--tf-accent)}.tf-tour__chip:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-tour__chip--active{background:var(--tf-accent-mix);border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-tour__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tf-tour__headbtns{display:flex;align-items:center;gap:2px;flex:none}.tf-tour__step{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-tour__title{font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tf-tour__body{font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);color:var(--tf-text)}.tf-tour__tips{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:3px;font-size:var(--tf-text-count);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-tour__tips li::marker{color:var(--tf-accent)}.tf-tour__actions{display:flex;align-items:center;gap:8px;margin-top:4px;padding-top:10px;border-top:1px solid var(--tf-border)}.tf-tour__progress{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle);white-space:nowrap}.tf-tour__spacer{flex:1}.tf-guide{width:min(560px,92%);height:auto;max-height:min(680px,90%);display:flex;flex-direction:column}.tf-guide__body{flex:1;min-height:0;overflow-y:auto;padding:var(--tf-panel-pad);display:flex;flex-direction:column;gap:12px}.tf-guide__lede{margin:0;font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-guide__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tf-guide__row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--tf-bg-elevated);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md)}.tf-guide__row--current{border-color:var(--tf-accent);background:var(--tf-accent-mix)}.tf-guide__num{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle);width:16px;text-align:center;flex:none}.tf-guide__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-accent);flex:none}.tf-guide__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tf-guide__name{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-guide__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);line-height:1.35}.tf-guide__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle);white-space:nowrap;flex:none}.tf-guide__foot{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--tf-border);flex:none}.tf-guide__hint{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-app{display:flex;height:100vh;overflow:hidden}.tf-stage{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.tf-window-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--tf-scrim);display:flex;align-items:center;justify-content:center;z-index:30}.tf-window{width:min(880px,92%);height:min(640px,90%);background:var(--tf-bg-panel);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-panel);box-shadow:var(--tf-shadow-lg);display:flex;flex-direction:column;overflow:hidden}.tf-window__chrome{display:flex;align-items:center;gap:10px;min-height:44px;padding-block:6px;padding-inline:16px 10px;background:transparent;border-bottom:1px solid var(--tf-border);flex:none}.tf-window__title{display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tf-window__title svg{width:16px;height:16px;flex:none;color:var(--tf-accent)}.tf-window__spacer{flex:1}.tf-toast{position:absolute;left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:8px;max-width:80%;border-radius:var(--tf-radius-md);box-shadow:var(--tf-shadow-md)}.tf-toast--top{top:10px}.tf-toast--bottom{bottom:16px}.tf-toast>.tf-notice{flex:1;min-width:0}.tf-toast__row{display:flex;align-items:center;gap:10px}.tf-toast__row>span{flex:1;min-width:0}.tf-toast--status{padding:7px 14px;white-space:nowrap;background:var(--tf-bg-panel);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);color:var(--tf-text);font-size:var(--tf-text-count)}.tf-routeerr{min-height:100vh;height:100%;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;background:var(--tf-bg-app);color:var(--tf-text);font-family:var(--tf-font-sans)}.tf-routeerr .tf-panel{width:100%;max-width:520px}.tf-routeerr__lede{margin:0;font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);color:var(--tf-text)}.tf-routeerr__detail{margin:0;max-height:120px;overflow:auto;padding:8px 10px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-muted);background:var(--tf-bg-input);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm)}.tf-routeerr__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.tf-routeerr__actions .tf-btn{text-decoration:none}.tf-screenhdr{flex:none;height:48px;display:flex;align-items:center;gap:14px;padding:0 24px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-app);min-width:0}.tf-screenhdr>*{flex-shrink:0}.tf-screenhdr>.tf-screenhdr__title{flex:0 1 auto;min-width:6em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-screenhdr>.tf-screenhdr__count{white-space:nowrap}.tf-screenhdr__crumb{display:flex;align-items:center;gap:7px;color:var(--tf-text-subtle);font-size:var(--tf-text-xs)}.tf-screenhdr__title{font-weight:600;font-size:var(--tf-text-screen-title);line-height:24px;color:var(--tf-text-bright)}.tf-screenhdr__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.tf-screenhdr>.tf-screenhdr__spacer{flex:1 1 0;min-width:0}.tf-screenhdr__search{display:flex;align-items:center;gap:8px;height:30px;padding:0 11px;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);color:var(--tf-text-subtle);width:230px;transition:border-color .12s ease,box-shadow .12s ease}.tf-screenhdr__search:focus-within{border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tf-screenhdr__search input{border:0;background:transparent;outline:0;color:var(--tf-text);font-family:inherit;font-size:var(--tf-text-body);flex:1;min-width:0}.tf-screenhdr__search input::placeholder{color:var(--tf-text-faint)}.tf-welcome{flex:1;overflow-y:auto;padding:32px 40px 40px}.tf-newproject{width:min(420px,92%);height:auto}.tf-newproject__body{display:flex;flex-direction:column;gap:12px;padding:var(--tf-panel-pad)}.tf-newproject__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--tf-border)}.tf-blankconfirm{display:flex;flex-direction:column;gap:8px;padding:9px 12px;border:1px solid var(--tf-warning-edge);border-radius:var(--tf-radius-md);background:var(--tf-warning-wash)}.tf-blankconfirm__list{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:2px;font-size:var(--tf-text-count);color:var(--tf-text-muted)}.tf-blankconfirm__actions{display:flex;justify-content:flex-end;gap:8px}.tf-heroGrid{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:32px;align-items:stretch;margin-bottom:36px}.tf-hero-eyebrow{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);font-weight:600;margin-bottom:12px}.tf-hero-left{display:flex;flex-direction:column;justify-content:center}.tf-hero{font-size:var(--tf-text-2xl);font-weight:700;line-height:var(--tf-leading-tight);margin:0 0 12px;letter-spacing:var(--tf-tracking-tight);color:var(--tf-text-bright)}.tf-hero-sub{margin:0 0 24px;color:var(--tf-text-subtle);font-size:var(--tf-text-md);max-width:480px;line-height:var(--tf-leading-normal)}.tf-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.tf-hero-status{display:flex;align-items:center;gap:12px;margin-top:24px;color:var(--tf-text-subtle);font-size:var(--tf-text-count)}.tf-hero-status .tf-status{font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.tf-hero-status__sep{color:var(--tf-border-strong)}.tf-heroRight{display:flex;flex-direction:column;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);overflow:hidden}.tf-heroRight__tabs{padding:10px 12px;border-bottom:1px solid var(--tf-border)}.tf-resume{display:flex;flex-direction:column;flex:1;padding:var(--tf-panel-pad)}.tf-resume__label{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);font-weight:600;margin-bottom:10px}.tf-resume__head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.tf-resume__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--tf-radius-md);background:var(--tf-bg-control);color:var(--tf-accent);flex:none}.tf-resume__who{min-width:0}.tf-resume__name{font-family:var(--tf-font-mono);font-size:var(--tf-text-sm);font-weight:500;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-resume__client{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-resume__stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0}.tf-resume__stat{background:var(--tf-bg-elevated);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);padding:8px 12px;min-width:0}.tf-resume__stat-label{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);text-transform:uppercase;letter-spacing:var(--tf-tracking-caption);font-weight:600}.tf-resume__stat-value{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-resume__stat-value--mono{font-family:var(--tf-font-mono);font-weight:500}.tf-resume__spacer{flex:1}.tf-elev{display:flex;flex-direction:column;flex:1;padding:12px}.tf-elev__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.tf-elev__title{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle)}.tf-elev__spec{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.tf-elev__canvas{height:300px;background:var(--tf-bg-canvas);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);padding:10px;display:flex;align-items:center;justify-content:center}.tf-elev__legend{display:flex;gap:14px;margin-top:8px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-elev__legend span{display:flex;align-items:center;gap:5px}.tf-elev__legend i{width:14px;height:2px;display:inline-block;font-style:normal}.tf-section-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tf-section-row>.tf-section-label{margin:0}.tf-section-link{font-size:var(--tf-text-count);color:var(--tf-accent);cursor:pointer;background:none;border:0;font-family:inherit;padding:0;border-radius:var(--tf-radius-xs)}.tf-section-link:hover{text-decoration:underline}.tf-section-link:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-quickgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px;margin-bottom:32px}.tf-actioncard,.tf-modulecard,.tf-doc{background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);text-align:start;cursor:pointer;font-family:inherit;color:var(--tf-text);transition:border-color .12s ease}.tf-actioncard:hover,.tf-modulecard:hover,.tf-doc:hover{border-color:var(--tf-accent)}.tf-actioncard:focus-visible,.tf-modulecard:focus-visible,.tf-doc:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-actioncard{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:var(--tf-card-pad);min-height:112px}.tf-actioncard__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-accent)}.tf-actioncard__title{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright);margin-bottom:2px}.tf-actioncard__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);line-height:var(--tf-leading-hint)}.tf-modulecard{display:flex;align-items:center;gap:12px;padding:var(--tf-card-pad)}.tf-modulecard__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-text-muted);flex:none}.tf-modulecard__text{min-width:0}.tf-modulecard__title{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright);margin-bottom:2px}.tf-modulecard__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);line-height:1.35}.tf-lowerGrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px}.tf-recent{background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);overflow:hidden}.tf-recent__row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--tf-border);cursor:pointer;transition:background .12s ease}.tf-recent__row:last-child{border-bottom:0}.tf-recent__row:hover{background:var(--tf-bg-control-hover)}.tf-recent__row--static{cursor:default}.tf-recent__row--static:hover{background:transparent}.tf-recent__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-text-subtle);flex:none}.tf-recent__body{min-width:0;flex:1}.tf-recent__name{font-family:var(--tf-font-mono);font-size:var(--tf-text-body);font-weight:500;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-recent__client,.tf-recent__type{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-recent__stamp{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle);white-space:nowrap}.tf-docs{display:flex;flex-direction:column;gap:8px}.tf-doc{display:flex;align-items:center;gap:12px;padding:var(--tf-card-pad);width:100%}.tf-doc__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-accent);flex:none}.tf-doc__body{flex:1;min-width:0}.tf-doc__title{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-doc__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);line-height:1.35}.tf-doc__arrow{color:var(--tf-text-subtle);flex:none}.tf-doc:hover .tf-doc__arrow{color:var(--tf-accent)}[dir=rtl] .tf-doc__arrow svg{transform:scaleX(-1)}.tf-main-scroll{container-type:inline-size}@container (max-width: 720px){.tf-heroGrid,.tf-lowerGrid{grid-template-columns:1fr!important}}.tf-catia-launch-answer{max-width:42ch}.nm{gap:10px}.nm__title{display:inline-flex;align-items:center;gap:6px}.nm__number{font-size:var(--tf-text-caption);color:var(--tf-text-bright);white-space:nowrap}.nm__effect{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);line-height:1.5}.nm__hint{margin-top:4px}.nm-detected{border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);padding:6px 10px;background:var(--tf-bg-panel)}.nm-detected>summary{cursor:pointer;font-size:var(--tf-text-body);color:var(--tf-text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nm-detected__geo{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);border-inline-start:2px solid var(--tf-warning);padding-inline-start:6px}.nm-items{list-style:none;margin:6px 0 2px;padding:0;display:flex;flex-direction:column;gap:3px;max-height:180px;overflow-y:auto}.nm-item{display:flex;align-items:center;gap:6px;font-size:var(--tf-text-hint);color:var(--tf-text);min-width:0}.nm-item>svg{flex:none;color:var(--tf-text-subtle)}.nm-item[data-level=version]>svg{color:var(--tf-warning)}.nm-item__what{flex:none}.nm-item__where{color:var(--tf-text-subtle);font-size:var(--tf-text-caption)}.nm-item__vals{color:var(--tf-text-subtle);font-size:var(--tf-text-caption);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nm-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:var(--tf-text-body)}.nm-kv>dt{color:var(--tf-text-subtle)}.nm-kv>dd{margin:0;color:var(--tf-text-bright);min-width:0;overflow-wrap:anywhere}.ro,.ro-strip{--ro-on: var(--tf-accent-mix);--ro-on-strong: var(--tf-accent-mix-strong)}.ro{display:flex;flex-direction:column;gap:12px;container-type:inline-size;font-size:12.5px}.ro-kind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@container (max-width: 520px){.ro-kind{grid-template-columns:minmax(0,1fr)}}.ro-kind__opt{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:9px 12px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);cursor:pointer;transition:border-color .12s ease,background .12s ease}.ro-kind__opt:hover{border-color:var(--tf-accent)}.ro-kind__opt--on{border-color:var(--tf-accent);background:var(--ro-on);box-shadow:inset 0 0 0 1px var(--tf-accent)}.ro-kind__opt--off{opacity:.55;cursor:not-allowed}.ro-kind__opt--off:hover{border-color:var(--tf-border-strong)}.ro-kind__opt:focus-within{outline:2px solid var(--tf-accent);outline-offset:1px}.ro-kind__radio{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.ro-kind__icon{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-text-subtle)}.ro-kind__opt--on .ro-kind__icon{background:var(--tf-accent);color:var(--tf-text-on-accent)}.ro-kind__text{display:flex;flex-direction:column;gap:1px;min-width:0}.ro-kind__name{font-size:13px;font-weight:600;color:var(--tf-text-bright)}.ro-kind__sub{font-size:11.5px;color:var(--tf-text-subtle);line-height:1.35}.ro-kind__opt--on .ro-kind__sub{color:var(--tf-text-muted)}.ro-sec{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated)}.ro-sec__head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:24px}.ro-sec__title{font-size:11px;font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ro-sec__count,.ro-sec__aside{font-size:11.5px;color:var(--tf-text-subtle)}.ro-sec__count{font-family:var(--tf-font-mono)}.ro-sec__note{margin:0;font-size:11.5px;line-height:1.45;color:var(--tf-text-subtle)}.ro-sec__note--warn{color:var(--tf-text);padding-inline-start:10px;border-inline-start:2px solid var(--tf-warning)}.ro-sec__note--inline{display:inline-flex;align-items:center;gap:6px}.ro-spacer{flex:1}.ro-sec--row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px}.ro-sec--row .ro-sec__title{min-width:64px}.ro-sec__note--full{flex-basis:100%}.ro-sec__input{width:160px}.ro-presets{display:flex;flex-wrap:wrap;gap:4px}.ro-preset,.ro-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--tf-border-strong);background:transparent;color:var(--tf-text-muted);font:inherit;font-size:11.5px;font-weight:500;border-radius:var(--tf-radius-pill);padding:3px 10px;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.ro-preset:hover,.ro-chip:hover{border-color:var(--tf-accent);color:var(--tf-text-bright)}.ro-preset[aria-pressed=true],.ro-chip[aria-pressed=true]{border-color:var(--tf-accent);background:var(--ro-on);color:var(--tf-text-bright)}.ro-preset:focus-visible,.ro-chip:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.ro-chips{display:flex;flex-wrap:wrap;gap:4px}.ro-chip{min-width:30px;padding:3px 8px;font-family:var(--tf-font-mono);text-align:center;border-radius:var(--tf-radius-sm)}.ro-chip--all{font-family:inherit}.ro-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.ro-stage{position:relative;min-width:0}.ro-stage__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-subtle);font:inherit;font-size:12px;text-align:start;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}span.ro-stage__btn{cursor:default}button.ro-stage__btn:hover{border-color:var(--tf-accent);color:var(--tf-text-bright)}button.ro-stage__btn:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.ro-stage__num{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--tf-border-strong);font-family:var(--tf-font-mono);font-size:10px;font-weight:600}.ro-stage__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-stage--on .ro-stage__btn{border-color:var(--tf-accent);background:var(--ro-on);color:var(--tf-text-bright);font-weight:500}.ro-stage--on .ro-stage__num{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.ro-stage--off .ro-stage__btn{border-style:dashed}.ro-stage--done .ro-stage__btn{border-color:color-mix(in srgb,var(--tf-success) 55%,var(--tf-border));color:var(--tf-text-muted)}.ro-stage--done .ro-stage__num{background:var(--tf-success);border-color:var(--tf-success);color:var(--tf-text-on-warning)}.ro-stage--next .ro-stage__btn{border-color:var(--tf-accent);background:var(--ro-on-strong);color:var(--tf-text-bright);font-weight:600}.ro-stage--next .ro-stage__num{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.ro-stage--todo .ro-stage__btn{color:var(--tf-text-muted)}.ro-stage__from{position:absolute;top:-7px;inset-inline-end:-5px;display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid var(--tf-border-strong);border-radius:50%;background:var(--tf-bg-control);color:var(--tf-text-muted);cursor:pointer;opacity:0;transition:opacity .12s ease}.ro-stage:hover .ro-stage__from,.ro-stage__from:focus-visible{opacity:1}.ro-stage__from:hover{border-color:var(--tf-accent);color:var(--tf-text-bright)}.ro-stage__from:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}@media(hover:none){.ro-stage__from{opacity:1}}[dir=rtl] .ro-stage__from svg{transform:scaleX(-1)}.ro-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:8px 0;border-top:1px solid var(--tf-border)}.ro-sec__head+.ro-field{border-top:0;padding-top:2px}@container (max-width: 520px){.ro-field{grid-template-columns:minmax(0,1fr)}}.ro-field__text{display:flex;flex-direction:column;gap:2px;min-width:0}.ro-field__name{font-size:12.5px;font-weight:600;color:var(--tf-text-bright)}.ro-field__hint{font-size:11.5px;line-height:1.45;color:var(--tf-text-subtle)}.ro-field__control .tf-seg button{padding:4px 12px;font-size:11.5px}.ro-field__control .tf-seg button:disabled{opacity:.45;cursor:not-allowed}.ro-import .ro-field{border-top:0;padding:0}.ro-warn,.ro-info{margin:0;display:flex;align-items:flex-start;gap:7px;font-size:11.5px;line-height:1.45}.ro-warn{padding:6px 9px;border:1px solid color-mix(in srgb,var(--tf-warning) 60%,var(--tf-border));border-radius:var(--tf-radius-sm);color:var(--tf-text)}.ro-warn>svg{flex:none;margin-top:2px;color:var(--tf-warning)}.ro-info{color:var(--tf-text-subtle)}.ro-info>svg{flex:none;margin-top:2px}.ro-more>summary{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--tf-text-subtle);cursor:pointer;list-style:none}.ro-more>summary::-webkit-details-marker{display:none}.ro-more>summary:before{content:"▸";font-size:10px;transition:transform .12s ease}.ro-more[open]>summary:before{transform:rotate(90deg)}.ro-more>summary:hover{color:var(--tf-text-bright)}.ro-more__body{display:flex;flex-direction:column;gap:6px;padding:10px 0 2px}.tf-bp{display:flex;flex-direction:column;gap:6px;--tf-bp-fill: var(--tf-accent)}.tf-bp--success{--tf-bp-fill: var(--tf-success)}.tf-bp--danger{--tf-bp-fill: var(--tf-danger)}.tf-bp--warning{--tf-bp-fill: var(--tf-warning)}.tf-bp__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tf-bp__pct{font-family:var(--tf-font-mono);font-size:var(--tf-text-metric);font-weight:600;color:var(--tf-text-bright);font-variant-numeric:tabular-nums;line-height:1}.tf-bp__pctsign{font-size:var(--tf-text-count);color:var(--tf-text-subtle);margin-inline-start:1px}.tf-bp__stage{font-size:var(--tf-text-xs);color:var(--tf-text);text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-bp__stagenum{color:var(--tf-text-subtle);font-family:var(--tf-font-mono)}.tf-bp__track{display:flex;gap:2px;height:10px}.tf-bp__seg{position:relative;flex-basis:0;min-width:3px;overflow:hidden;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-xs)}.tf-bp__seg--current{border-color:var(--tf-bp-fill)}.tf-bp__segfill{position:absolute;inset:0 auto 0 0;background:var(--tf-bp-fill);transition:width .3s linear}.tf-bp__seg--current .tf-bp__segfill{background-image:linear-gradient(115deg,rgb(255 255 255 / .22) 25%,transparent 25%,transparent 50%,rgb(255 255 255 / .22) 50%,rgb(255 255 255 / .22) 75%,transparent 75%);background-size:14px 14px;animation:tf-bp-stripe 1s linear infinite}@keyframes tf-bp-stripe{to{background-position:14px 0}}.tf-bp__units{display:flex;justify-content:space-between;gap:8px;font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-variant-numeric:tabular-nums}.tf-bp__stagepct{color:var(--tf-text-subtle)}.tf-bp__detail{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-bp__times{display:flex;justify-content:space-between;gap:8px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-variant-numeric:tabular-nums}.tf-bp__finish{color:var(--tf-text-disabled)}.tf-bp__stages{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:3px 6px}.tf-bp__chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--tf-text-caption);color:var(--tf-text-disabled)}.tf-bp__chipdot{width:6px;height:6px;border-radius:50%;background:var(--tf-border-strong);flex:none}.tf-bp__chip--done{color:var(--tf-text-subtle)}.tf-bp__chip--done .tf-bp__chipdot{background:var(--tf-success)}.tf-bp__chip--current{color:var(--tf-text);font-weight:600}.tf-bp__chip--current .tf-bp__chipdot{background:var(--tf-bp-fill);box-shadow:0 0 0 2px var(--tf-accent-mix)}.tf-bp__sessions{margin-top:4px;padding-top:6px;border-top:1px solid var(--tf-border);--tf-bp-session-fill: var(--tf-bp-fill, var(--tf-accent))}.tf-bp__sessions-title{font-size:var(--tf-text-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--tf-text-subtle);margin-bottom:4px}.tf-bp__sessionlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tf-bp__session{display:grid;grid-template-columns:2.4em minmax(0,1fr) auto 64px 3em;align-items:center;gap:6px;font-size:var(--tf-text-caption);color:var(--tf-text);min-width:0}.tf-bp__session-label{font-family:var(--tf-font-mono);font-weight:600;color:var(--tf-text-bright)}.tf-bp__session-who{color:var(--tf-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-bp__session-state{font-size:var(--tf-text-caption);text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-input);color:var(--tf-text-subtle)}.tf-bp__session--building .tf-bp__session-state{background:var(--tf-accent-mix);color:var(--tf-text-bright)}.tf-bp__session--done .tf-bp__session-state{background:var(--tf-success-wash);color:var(--tf-text);box-shadow:inset 0 0 0 1px var(--tf-success-edge)}.tf-bp__session--failed .tf-bp__session-state{background:var(--tf-danger-wash);color:var(--tf-text);box-shadow:inset 0 0 0 1px var(--tf-danger-edge)}.tf-bp__session--paused .tf-bp__session-state{background:var(--tf-warning-wash);color:var(--tf-text);box-shadow:inset 0 0 0 1px var(--tf-warning-edge)}.tf-bp__session-bar{position:relative;height:5px;border-radius:var(--tf-radius-xs);background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);overflow:hidden}.tf-bp__session-fill{position:absolute;inset:0 auto 0 0;background:var(--tf-bp-session-fill);transition:width .3s linear}.tf-bp__session--done .tf-bp__session-fill{background:var(--tf-success)}.tf-bp__session--failed .tf-bp__session-fill{background:var(--tf-danger)}.tf-bp__session-count{font-family:var(--tf-font-mono);color:var(--tf-text-subtle);text-align:end;font-variant-numeric:tabular-nums}.tf-bp__session-error{grid-column:2 / -1;color:var(--tf-text);padding-inline-start:6px;border-inline-start:2px solid var(--tf-danger);white-space:normal;overflow-wrap:anywhere}@media(max-width:480px){.tf-bp__session{grid-template-columns:2.4em minmax(0,1fr) auto}.tf-bp__session-bar,.tf-bp__session-count{display:none}}.tf-tr{display:flex;flex-direction:column;gap:4px;margin-top:6px}.tf-tr__head{display:flex;align-items:center;gap:6px;width:100%;padding:3px 0;background:none;border:0;cursor:pointer;color:var(--tf-text-subtle);font-size:var(--tf-text-xs);text-align:start}.tf-tr__head:hover{color:var(--tf-text)}.tf-tr__caret{color:var(--tf-text-subtle);flex:none}[dir=rtl] .tf-tr__caret{transform:scaleX(-1)}.tf-tr__total{margin-inline-start:auto;font-family:var(--tf-font-mono);color:var(--tf-text);font-variant-numeric:tabular-nums}.tf-tr__tag{padding:0 4px;border-radius:var(--tf-radius-xs);background:var(--tf-bg-input);color:var(--tf-text-subtle);font-size:var(--tf-text-caption);text-transform:uppercase;letter-spacing:.04em}.tf-tr__tag--warn{background:var(--tf-warning-wash);color:var(--tf-text);box-shadow:inset 0 0 0 1px var(--tf-warning-edge)}.tf-tr__body{display:flex;flex-direction:column;gap:8px}.tf-tr__group{display:flex;flex-direction:column;gap:2px}.tf-tr__group--split{padding-top:6px;border-top:1px solid var(--tf-border)}.tf-tr__caption{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.tf-tr__row{display:grid;grid-template-columns:minmax(0,1fr) 46px 44px 30px;grid-auto-rows:auto;align-items:center;gap:0 6px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-variant-numeric:tabular-nums}.tf-tr__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-tr__bar{height:4px;border-radius:2px;background:var(--tf-bg-input);overflow:hidden}.tf-tr__bar>span{display:block;height:100%;background:var(--tf-accent)}.tf-tr__time{font-family:var(--tf-font-mono);color:var(--tf-text);text-align:end}.tf-tr__pct{font-family:var(--tf-font-mono);color:var(--tf-text-subtle);text-align:end}.tf-tr__extra{grid-column:1 / -1;color:var(--tf-text-subtle);font-size:var(--tf-text-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-tr__extra:empty{display:none}.tf-tr__more{align-self:flex-start;margin-top:2px;padding:0;background:none;border:0;color:var(--tf-accent);font-size:var(--tf-text-caption);cursor:pointer}.tf-tr__foot{flex-direction:row;flex-wrap:wrap;gap:4px 10px;padding-top:6px;border-top:1px solid var(--tf-border);color:var(--tf-text-subtle);font-size:var(--tf-text-caption);font-variant-numeric:tabular-nums}.tf-mr__bar{display:flex;align-items:center;gap:8px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-mr__path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--tf-font-mono);direction:ltr}.tf-mr__note{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-mr__note--warn{color:var(--tf-text);padding-inline-start:6px;border-inline-start:2px solid var(--tf-warning)}.tf-mr__text{max-height:420px;margin:0;padding:8px;overflow:auto;background:var(--tf-bg-input);border:1px solid var(--tf-border);border-radius:var(--tf-radius-xs);font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);line-height:1.35;color:var(--tf-text-subtle);white-space:pre;-moz-tab-size:4;tab-size:4;direction:ltr;text-align:start}.tf-mv__frame{display:block;width:100%;height:min(460px,55vh);border:1px solid var(--tf-border);border-radius:var(--tf-radius-xs);background:var(--tf-bg-input);direction:ltr}.tf-mv__frame--tall{height:min(1200px,85vh)}@media(prefers-reduced-motion:reduce){.tf-bp__seg--current .tf-bp__segfill{animation:none}.tf-bp__segfill,.tf-bp__session-fill{transition:none}}.tf-sys{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--tf-border)}.tf-sys--offline{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.tf-sys__head{display:flex;align-items:center;gap:6px;width:100%;padding:0;background:none;border:0;cursor:pointer;color:var(--tf-text-subtle);font:inherit;font-size:var(--tf-text-hint);text-align:start}.tf-sys__head:hover{color:var(--tf-text-bright)}.tf-sys__head:focus-visible{outline:2px solid var(--tf-accent);outline-offset:2px;border-radius:var(--tf-radius-xs)}.tf-sys__caret{color:var(--tf-text-subtle);flex:none}[dir=rtl] .tf-sys__caret{transform:scaleX(-1)}.tf-sys__title{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-sys__summary{margin-inline-start:auto;font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;color:var(--tf-text-bright)}.tf-sys__note{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-sys__badge{min-width:16px;padding:0 5px;border-radius:var(--tf-radius-pill);text-align:center;font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);font-weight:600;line-height:16px;color:var(--tf-text-on-warning);background:var(--tf-warning)}.tf-sys__badge--crit{background:var(--tf-danger);color:var(--tf-text-on-accent)}.tf-sys__body{display:flex;flex-direction:column;gap:6px;padding-top:2px}.tf-sys__gauge{display:grid;grid-template-columns:34px minmax(0,1fr) 32px 40px;align-items:center;gap:0 6px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-variant-numeric:tabular-nums;--tf-sys-fill: var(--tf-success)}.tf-sys__gauge--warn{--tf-sys-fill: var(--tf-warning)}.tf-sys__gauge--crit{--tf-sys-fill: var(--tf-danger)}.tf-sys__gaugelabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tf-text-muted)}.tf-sys__bar{height:6px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-control);overflow:hidden}.tf-sys__bar>span{display:block;height:100%;background:var(--tf-sys-fill);transition:width .4s linear}.tf-sys__pct{font-family:var(--tf-font-mono);color:var(--tf-text-bright);text-align:end}.tf-sys__spark{width:40px;height:14px}.tf-sys__spark polyline{fill:none;stroke:var(--tf-sys-fill);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.75}.tf-sys__detail{grid-column:2 / -1;color:var(--tf-text-subtle);font-size:var(--tf-text-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-sys__procs{display:flex;flex-wrap:wrap;gap:3px 10px;padding-top:2px}.tf-sys__proc{display:inline-flex;align-items:center;gap:4px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);opacity:.7}.tf-sys__proc--on{color:var(--tf-text);opacity:1}.tf-sys__procdot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--tf-border-strong)}.tf-sys__proc--on .tf-sys__procdot{background:var(--tf-success)}.tf-sys__procmem{font-family:var(--tf-font-mono);color:var(--tf-text-subtle)}.tf-sys__alert{padding:4px 8px;border-radius:var(--tf-radius-xs);font-size:var(--tf-text-caption);line-height:var(--tf-leading-hint);background:var(--tf-warning-wash);color:var(--tf-text);border-inline-start:2px solid var(--tf-warning)}.tf-sys__alert--critical{background:var(--tf-danger-wash);border-inline-start-color:var(--tf-danger)}.tf-sys__load{display:flex;flex-direction:column;gap:2px;padding-top:6px;border-top:1px solid var(--tf-border);font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-variant-numeric:tabular-nums}.tf-sys__loadhead{font-weight:600;text-transform:uppercase;letter-spacing:var(--tf-tracking-caption);color:var(--tf-text-subtle)}@media(prefers-reduced-motion:reduce){.tf-sys__bar>span{transition:none}}.rp{container-type:inline-size;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);--rp-tone: var(--tf-accent)}.rp--success{--rp-tone: var(--tf-success)}.rp--warning{--rp-tone: var(--tf-warning)}.rp--danger{--rp-tone: var(--tf-danger)}.rp--neutral{--rp-tone: var(--tf-text-subtle)}.rp__head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.rp__spacer{flex:1}.rp__state{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:var(--tf-radius-pill);font-size:11px;font-weight:600;background:color-mix(in srgb,var(--rp-tone) 18%,transparent);color:var(--tf-text-bright);border:1px solid color-mix(in srgb,var(--rp-tone) 60%,transparent)}.rp__pulse{width:7px;height:7px;border-radius:50%;background:var(--rp-tone);animation:rp-pulse 1.6s ease-in-out infinite}@keyframes rp-pulse{50%{opacity:.35}}.rp__title{font-size:13px;color:var(--tf-text-muted)}.rp__title b{color:var(--tf-text-bright);font-weight:600}.rp__pct{font-family:var(--tf-font-mono);font-size:20px;font-weight:600;color:var(--tf-text-bright);font-variant-numeric:tabular-nums}.rp__pct small{font-size:12px;color:var(--tf-text-subtle);margin-inline-start:1px}.rp__track{display:flex;gap:3px;height:12px}.rp__seg{flex:1 1 0;min-width:6px;position:relative;overflow:hidden;border-radius:3px;background:var(--tf-bg-control)}.rp__fill{position:absolute;inset-block:0;inset-inline-start:0;background:var(--rp-tone);border-radius:inherit;transition:width .4s ease}.rp--accent .rp__seg--done .rp__fill{background:var(--tf-success)}.rp__seg--current{box-shadow:inset 0 0 0 1px var(--rp-tone)}.rp__seg--live .rp__fill{background-image:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(255,255,255,.16) 6px 12px);background-size:17px 17px;animation:rp-stripe 1s linear infinite}@keyframes rp-stripe{to{background-position:17px 0}}.rp__labels{list-style:none;margin:0;padding:0;display:flex;gap:3px}.rp__label{flex:1 1 0;min-width:0;font-size:10.5px;color:var(--tf-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp__label--done{color:var(--tf-text-subtle)}.rp__label--current{color:var(--tf-text-bright);font-weight:600}@container (max-width: 560px){.rp__label:not(.rp__label--current){visibility:hidden}}.rp__facts{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--tf-text-muted)}.rp__fact{display:inline-flex;align-items:center;gap:5px}.rp__fact--count{font-family:var(--tf-font-mono);color:var(--tf-text-bright)}.rp__detail{font-size:11.5px;color:var(--tf-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.rp__pulse,.rp__seg--live .rp__fill{animation:none}}.rp .rp__seg--done .rp__fill{background:var(--tf-success)}.rp__seg--stopped{box-shadow:inset 0 0 0 1px var(--rp-tone)}.rp__seg--stopped .rp__fill{background:var(--rp-tone);opacity:.85}.rp__label--stopped{color:var(--tf-text-bright);font-weight:600}.rb-warn>summary{display:inline-flex;align-items:center;gap:7px;font-size:12px;cursor:pointer;list-style:none}.rb-warn>summary::-webkit-details-marker{display:none}.rb-warn{border:1px solid color-mix(in srgb,var(--tf-warning) 50%,var(--tf-border));border-radius:var(--tf-radius-md);padding:8px 12px;background:color-mix(in srgb,var(--tf-warning) 7%,var(--tf-bg-panel))}.rb-warn>summary{color:var(--tf-text);font-weight:600}.rb-warn>summary>svg{color:var(--tf-warning)}.rb-warn__count{font-family:var(--tf-font-mono);font-size:10.5px;font-weight:600;padding:0 6px;border-radius:var(--tf-radius-pill);background:var(--tf-warning);color:var(--tf-text-on-warning)}.rb-warn__list{margin:8px 0 2px;padding-inline-start:18px;display:flex;flex-direction:column;gap:4px}.rb-warn__list li{font-size:12px;line-height:1.45;color:var(--tf-text-muted);overflow-wrap:anywhere}.rp__tag{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:var(--tf-radius-pill);border:1px solid var(--tf-border-strong);color:var(--tf-text-muted)}.tf-bd.brf{width:min(720px,100%);inset-inline-start:auto;inset-inline-end:0}.brf__body{display:flex;flex-direction:column;gap:10px;padding:12px 14px;overflow-y:auto;min-height:0}.brf__error{overflow-wrap:anywhere}.brf__note{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-assist{flex:none;inline-size:340px;min-block-size:0;display:flex;border-inline-start:1px solid var(--tf-border);background:var(--tf-bg-app)}.tf-assist__panel{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:0}.tf-assist__body{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.tf-assist__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.tf-assist__msg{font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);border-radius:var(--tf-radius-md);padding:8px 10px;white-space:pre-wrap;overflow-wrap:anywhere}.tf-assist__msg--user{align-self:flex-end;max-inline-size:90%;background:var(--tf-accent-mix);color:var(--tf-text-bright)}.tf-assist__msg--bot{background:var(--tf-bg-elevated);border:1px solid var(--tf-border);display:flex;flex-direction:column;gap:8px}.tf-assist__msg--busy{color:var(--tf-text-subtle);font-style:italic}.tf-assist__reply{margin:0}.tf-assist__proposal,.tf-assist__preview{display:flex;flex-direction:column;gap:6px}.tf-assist__edits,.tf-assist__preview ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.tf-assist__preview ul{padding-inline-start:10px;border-inline-start:2px solid var(--tf-accent-edge);font-family:var(--tf-font-mono, monospace);font-size:var(--tf-text-hint)}.tf-assist__actions{display:flex;justify-content:flex-end;gap:8px}.tf-assist__composer{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tf-assist__send{display:flex;gap:8px}.tf-assist__mic--on{border-color:var(--tf-warning-edge);animation:tf-assist-pulse 1.2s ease-in-out infinite}@keyframes tf-assist-pulse{50%{background:var(--tf-warning-wash)}}@media(prefers-reduced-motion:reduce){.tf-assist__mic--on{animation:none}}.tf-assist__input{inline-size:100%;box-sizing:border-box;resize:vertical;min-block-size:60px;padding:6px 8px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:var(--tf-bg-elevated);color:var(--tf-text);font:inherit;font-size:var(--tf-text-body)}.tf-assist__input:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-pvl{position:relative;flex:1;min-width:0;min-height:0;width:100%;height:100%;display:flex;flex-direction:row}.tf-pvl__main{flex:1 1 0;min-width:0;min-height:0;display:flex;gap:8px}.tf-pvl__main>.tf-panel:only-child{flex:1 1 auto!important;width:auto;max-width:none}.tf-pvl__pane{flex:0 0 48%;min-width:150px;min-height:0;display:flex}.tf-pvl__body{flex:1;min-width:0;min-height:0;display:flex;gap:8px}.tf-pvl__body>.tf-panel{min-width:0;min-height:0}.tf-pvl__body>.tf-panel:only-child{flex:1 1 auto!important}.tf-pvl[data-pos=left]>.tf-pvl__pane,.tf-pvl[data-pos=top]>.tf-pvl__pane{order:0}.tf-pvl[data-pos=left]>.tf-pvl__handle,.tf-pvl[data-pos=top]>.tf-pvl__handle{order:1}.tf-pvl[data-pos=left]>.tf-pvl__main,.tf-pvl[data-pos=top]>.tf-pvl__main{order:2}.tf-pvl[data-pos=right]>.tf-pvl__main,.tf-pvl[data-pos=bottom]>.tf-pvl__main{order:0}.tf-pvl[data-pos=right]>.tf-pvl__handle,.tf-pvl[data-pos=bottom]>.tf-pvl__handle{order:1}.tf-pvl[data-pos=right]>.tf-pvl__pane,.tf-pvl[data-pos=bottom]>.tf-pvl__pane{order:2}.tf-pvl[data-pos=top],.tf-pvl[data-pos=bottom]{flex-direction:column}.tf-pvl[data-pos=top]>.tf-pvl__pane,.tf-pvl[data-pos=bottom]>.tf-pvl__pane{min-width:0;min-height:150px}[dir=rtl] .tf-pvl[data-pos=left],[dir=rtl] .tf-pvl[data-pos=right]{flex-direction:row-reverse}.tf-pvl__handle{position:relative;flex:0 0 8px;display:flex;align-items:center;justify-content:center;cursor:col-resize;outline:none;touch-action:none;z-index:2}.tf-pvl[data-pos=top]>.tf-pvl__handle,.tf-pvl[data-pos=bottom]>.tf-pvl__handle{cursor:row-resize}.tf-pvl__grip{position:absolute;top:0;right:3px;bottom:0;left:3px;border-radius:2px;background:var(--tf-border);transition:background .12s ease,inset .12s ease}.tf-pvl[data-pos=top] .tf-pvl__grip,.tf-pvl[data-pos=bottom] .tf-pvl__grip{top:3px;right:0;bottom:3px;left:0}.tf-pvl__handle:hover .tf-pvl__grip,.tf-pvl__handle:focus-visible .tf-pvl__grip{background:var(--tf-border-strong);top:0;right:2px;bottom:0;left:2px}.tf-pvl[data-pos=top] .tf-pvl__handle:hover .tf-pvl__grip,.tf-pvl[data-pos=bottom] .tf-pvl__handle:hover .tf-pvl__grip,.tf-pvl[data-pos=top] .tf-pvl__handle:focus-visible .tf-pvl__grip,.tf-pvl[data-pos=bottom] .tf-pvl__handle:focus-visible .tf-pvl__grip{top:2px;right:0;bottom:2px;left:0}.tf-pvl__handle.is-active .tf-pvl__grip{background:var(--tf-accent)}.tf-pvl__handle:focus-visible .tf-pvl__grip{box-shadow:0 0 0 2px var(--tf-accent-mix)}.tf-pvl__knob{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 2px;background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-pill);box-shadow:var(--tf-shadow-sm);cursor:default}.tf-pvl[data-pos=top] .tf-pvl__knob,.tf-pvl[data-pos=bottom] .tf-pvl__knob{flex-direction:row;padding:2px 3px}.tf-pvl__btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:var(--tf-radius-pill);background:transparent;color:var(--tf-text-subtle);cursor:pointer}.tf-pvl__btn:hover,.tf-pvl__btn:focus-visible,.tf-pvl__btn[aria-expanded=true]{background:var(--tf-bg-control-hover);color:var(--tf-text-bright);outline:none}.tf-pvl__btn--move{cursor:grab}.tf-pvl.is-move .tf-pvl__btn--move{cursor:grabbing}.tf-pvl__badge{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:3;padding:1px 6px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-bright);white-space:nowrap;pointer-events:none}.tf-pvl[data-pos=top] .tf-pvl__badge,.tf-pvl[data-pos=bottom] .tf-pvl__badge{top:50%;left:8px;transform:translateY(-50%)}.tf-pvl__badge.is-snapped{border-color:var(--tf-accent);color:var(--tf-accent)}.tf-pvl__pane--float{position:absolute;z-index:20;flex-direction:column;min-width:0;min-height:0;background:var(--tf-bg-panel);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-panel);box-shadow:var(--tf-shadow-lg)}.tf-pvl__pane--float>.tf-pvl__body>.tf-panel{border:0;border-radius:0}.tf-pvl__floatbar{flex:none;display:flex;align-items:center;gap:6px;height:22px;padding:0 3px 0 8px;background:var(--tf-bg-control);border-bottom:1px solid var(--tf-border);border-radius:var(--tf-radius-panel) var(--tf-radius-panel) 0 0;color:var(--tf-text-subtle);cursor:grab;touch-action:none}.tf-pvl.is-move .tf-pvl__floatbar{cursor:grabbing}.tf-pvl__floatlabel{flex:1;min-width:0;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-pvl__corner{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;z-index:1;background:linear-gradient(135deg,transparent 50%,var(--tf-border-strong) 50%,var(--tf-border-strong) 60%,transparent 60%,transparent 72%,var(--tf-border-strong) 72%,var(--tf-border-strong) 82%,transparent 82%);border-bottom-right-radius:var(--tf-radius-sm)}.tf-pvl__corner:hover{background-color:var(--tf-accent-mix)}.tf-pvl__shield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30}.tf-pvl.is-resize .tf-pvl__shield{cursor:col-resize}.tf-pvl.is-resize[data-pos=top] .tf-pvl__shield,.tf-pvl.is-resize[data-pos=bottom] .tf-pvl__shield{cursor:row-resize}.tf-pvl.is-move .tf-pvl__shield{cursor:grabbing;background:color-mix(in srgb,var(--tf-bg-app) 30%,transparent)}.tf-pvl.is-float .tf-pvl__shield{cursor:nwse-resize}.tf-pvl.is-resize,.tf-pvl.is-move,.tf-pvl.is-float{-webkit-user-select:none;user-select:none}.tf-pvl__tick{position:absolute;pointer-events:none;background:var(--tf-border-strong);opacity:.55}.tf-pvl__tick--x{top:0;bottom:0;width:1px}.tf-pvl__tick--y{left:0;right:0;height:1px}.tf-pvl__tick.is-default{background:var(--tf-text-subtle)}.tf-pvl__tick.is-on{background:var(--tf-accent);opacity:1}.tf-pvl__tick--x.is-on{width:2px}.tf-pvl__tick--y.is-on{height:2px}.tf-pvl__zone{position:absolute;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);color:var(--tf-text-subtle);box-shadow:var(--tf-shadow-sm);transition:background .1s ease,color .1s ease}.tf-pvl__zone--left{left:10px;top:50%;transform:translateY(-50%)}.tf-pvl__zone--right{right:10px;top:50%;transform:translateY(-50%)}.tf-pvl__zone--top{top:10px;left:50%;transform:translate(-50%)}.tf-pvl__zone--bottom{bottom:10px;left:50%;transform:translate(-50%)}.tf-pvl__zone.is-on{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-pvl__ghost{position:absolute;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;border:2px dashed var(--tf-accent);border-radius:var(--tf-radius-sm);background:color-mix(in srgb,var(--tf-accent) 14%,transparent);transition:left .08s ease,top .08s ease,width .08s ease,height .08s ease}.tf-pvl__ghost span{padding:2px 8px;border-radius:var(--tf-radius-pill);background:var(--tf-accent);color:var(--tf-text-on-accent);font-size:var(--tf-text-caption);white-space:nowrap}.tf-pvl__guide{position:absolute;pointer-events:none}.tf-pvl__guide--x{top:0;bottom:0;border-left:1px dashed var(--tf-accent)}.tf-pvl__guide--y{left:0;right:0;border-top:1px dashed var(--tf-accent)}.tf-pvmenu{position:fixed;z-index:60;display:flex;flex-direction:column;gap:6px;padding:8px 10px 9px;background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);box-shadow:var(--tf-shadow-md)}.tf-pvmenu__h{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle)}.tf-pvmenu__pos{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;direction:ltr}.tf-pvmenu__opt{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 5px;background:var(--tf-bg-control);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-caption);line-height:1.1;cursor:pointer}.tf-pvmenu__opt span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-pvmenu__opt:hover,.tf-pvmenu__size:hover{border-color:var(--tf-border-strong);color:var(--tf-text)}.tf-pvmenu__opt[aria-pressed=true],.tf-pvmenu__size[aria-pressed=true]{border-color:var(--tf-accent);background:var(--tf-accent-mix);color:var(--tf-text-bright)}.tf-pvmenu__sizes{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.tf-pvmenu__size{height:24px;padding:0;background:var(--tf-bg-control);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);color:var(--tf-text-muted);font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);cursor:pointer}.tf-pvmenu__snap{display:flex;align-items:flex-start;gap:8px;padding-top:2px;font-size:var(--tf-text-hint);color:var(--tf-text);cursor:pointer}.tf-pvmenu__snap .tf-switch{flex:none}.tf-pvmenu__snap>span{display:flex;flex-direction:column;gap:1px}.tf-pvmenu__snap b{display:inline-flex;align-items:center;gap:5px;font-weight:500}.tf-pvmenu__snap svg{color:var(--tf-text-subtle)}.tf-pvmenu__snap small{font-size:var(--tf-text-caption);line-height:1.35;color:var(--tf-text-subtle)}.tf-pvmenu__f{display:flex;justify-content:space-between;gap:6px;padding-top:6px;border-top:1px solid var(--tf-border)}.tf-pvmenu__f button{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:0;border-radius:var(--tf-radius-xs);background:transparent;color:var(--tf-accent);font:inherit;font-size:var(--tf-text-caption);cursor:pointer}.tf-pvmenu__f button:hover{background:var(--tf-bg-control-hover)}.tf-pvsplit__a,.tf-pvsplit__b{display:flex;min-width:0;min-height:0}.tf-pvsplit__a{flex:1 1 0;min-width:200px}.tf-pvsplit__b{flex:0 0 40%;min-width:150px}.tf-pvsplit__a>.tf-panel,.tf-pvsplit__b>.tf-panel{flex:1 1 auto!important;min-width:0!important}.tf-pvl__body:has(>.tf-pvsplit__handle){gap:0}.tf-pvsplit__handle{position:relative;flex:0 0 8px;cursor:col-resize;outline:none;touch-action:none}.tf-pvsplit__grip{position:absolute;top:0;right:3px;bottom:0;left:3px;border-radius:2px;background:var(--tf-border);transition:background .12s ease,inset .12s ease}.tf-pvsplit__handle:after{content:"";position:absolute;top:50%;left:50%;width:6px;height:34px;transform:translate(-50%,-50%);border-radius:var(--tf-radius-pill);background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);box-shadow:var(--tf-shadow-sm)}.tf-pvsplit__handle:hover:after,.tf-pvsplit__handle.is-active:after{border-color:var(--tf-accent)}.tf-pvsplit__handle .tf-pvl__badge{top:8px;left:50%;transform:translate(-50%)}.tf-pvsplit__handle:hover .tf-pvsplit__grip,.tf-pvsplit__handle:focus-visible .tf-pvsplit__grip{background:var(--tf-border-strong);top:0;right:2px;bottom:0;left:2px}.tf-pvsplit__handle.is-active .tf-pvsplit__grip{background:var(--tf-accent)}.tf-pvsplit__handle:focus-visible .tf-pvsplit__grip{box-shadow:0 0 0 2px var(--tf-accent-mix)}.tf-pvsplit__shield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;cursor:col-resize;-webkit-user-select:none;user-select:none}.cx-full{flex:1;min-height:0;width:100%;height:100%}.cx-split{flex:1;min-height:0;display:flex;gap:8px;width:100%;height:100%}.cx-list{flex:0 0 200px}.cx-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.cx-side{display:flex;flex-direction:column;min-height:0}.cx-side--leg{flex:0 0 296px}.cx-side--leg .bt-row{--tf-field-ctl: 120px}.cx-side .bt-group{padding:10px 12px}.cx-body{gap:8px;overflow-y:auto}.cx-trow{align-items:flex-start}.cx-trow__text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.cx-trow__name{font-size:var(--tf-text-body);font-weight:600}.cx-trow__sub{font-size:var(--tf-text-caption);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cx-tree-hint{margin:10px 6px 0}.cx-hint-line{display:block;margin-top:2px}.cx-views{display:flex;gap:4px;align-items:stretch;min-height:0;padding:8px}.cx-views__view{flex:1;min-width:0;display:flex;justify-content:center}.cx-schedule{overflow:auto;padding:0}.cx-schedule .tf-table{width:100%}.cx-schedule th{text-align:start}.cx-warn-icon{color:var(--tf-warning);vertical-align:-1px;margin-inline-end:4px}.bc-tab{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;width:100%;height:100%}.bc-top{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bc-top__info{display:inline-flex;align-items:center;color:var(--tf-text-faint);cursor:help}.bc-top__info:hover{color:var(--tf-text-muted)}.bc-top__end{margin-inline-start:auto;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.bc-popbox{position:relative;display:inline-flex}.bc-popbox--block{display:flex;flex-direction:column}.bc-pop{position:absolute;top:calc(100% + 4px);z-index:30;min-width:100%;background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);box-shadow:0 6px 18px var(--tf-scrim);padding:10px 12px}.bc-pop[data-align=end]{inset-inline-end:0}.bc-pop[data-align=start]{inset-inline-start:0;padding:4px}.bc-defaults{display:flex;flex-direction:column;gap:8px;width:272px}.bc-defaults__title{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.bc-defaults__grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px}.bc-defaults__kind{font-size:var(--tf-text-hint);color:var(--tf-text)}.bc-defaults__sub{margin:0;font-size:var(--tf-text-caption);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.bc-menu{display:flex;flex-direction:column}.bc-menu__item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:none;border-radius:var(--tf-radius-xs);color:var(--tf-text);font:inherit;font-size:var(--tf-text-hint);text-align:start;cursor:pointer}.bc-menu__item:hover,.bc-menu__item:focus-visible{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.bc-pick{flex:0 0 200px;display:flex;flex-direction:column;min-height:0}.bc-pick__body{overflow-y:auto;gap:10px}.bc-list{display:flex;flex-direction:column;gap:3px}.bc-list>.tf-t-caption{margin-bottom:2px}.bc-list__cap{display:inline-flex;align-items:center;gap:4px;cursor:help}.bc-row__main{flex:1;min-width:0;display:flex;align-items:center;gap:5px}.bc-row__id{font-size:var(--tf-text-count);font-weight:600;color:var(--tf-text-bright)}.bc-row__sub{font-size:var(--tf-text-caption);color:var(--tf-text-muted)}.bc-row__end{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.bc-dot{font-size:9px;color:var(--tf-warning)}.bc-lim-dot{display:inline-flex;align-items:center;color:var(--tf-accent)}.bc-viewhead{flex-wrap:wrap;row-gap:6px}.bc-viewhead__title{min-width:0}.bc-viewhead__plate{margin-inline-start:auto;font-size:var(--tf-text-caption);font-weight:400;color:var(--tf-text-subtle)}.bc-slider{display:inline-flex;align-items:center;gap:6px;font-size:var(--tf-text-hint);font-weight:400;color:var(--tf-text-muted)}.bc-slider input{width:90px;accent-color:var(--tf-accent)}.bc-canvas{flex:1;min-height:0;display:flex}.bc-rail{flex:none;display:flex;flex-direction:column;gap:2px;padding:6px 4px;border-inline-end:1px solid var(--tf-border);background:var(--tf-bg-panel)}.bc-rail__btn{width:52px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border:0;border-radius:var(--tf-radius-xs);background:none;cursor:pointer;color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-caption);line-height:1.15;text-align:center}.bc-rail__btn:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.bc-rail__btn[aria-pressed=true]{color:var(--tf-text-bright);background:var(--tf-accent-mix);box-shadow:inset 2px 0 0 var(--tf-accent)}[dir=rtl] .bc-rail__btn[aria-pressed=true]{box-shadow:inset -2px 0 0 var(--tf-accent)}.bc-rail__btn:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.bc-stage{position:relative;flex:1;min-width:0;min-height:0;display:flex}.bc-stage>*{flex:1;min-width:0;min-height:0}.bc-stage__fill{display:flex;width:100%;height:100%;padding:6px}.bc-tools,.bc-legend{position:absolute;flex:none;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 6px;background:color-mix(in srgb,var(--tf-bg-panel) 88%,transparent);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm)}.bc-tools{top:6px;inset-inline-end:6px;justify-content:flex-end;max-width:calc(100% - 12px)}.bc-legend{bottom:6px;inset-inline-end:6px;pointer-events:none}.bc-plate{width:100%;height:100%;padding:10px}.bc-icalc{display:inline-flex;align-items:center;gap:6px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.bc-side{flex:0 0 280px}.bc-side__head{gap:6px}.bc-side__head>.tf-seg{flex:1;min-width:0}.bc-side__exploded{padding:0}.bc-pane__lede{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:var(--tf-text-hint);color:var(--tf-text)}.bc-more{margin:0}.bc-more .tf-disclosure__body{display:flex;flex-direction:column;gap:8px;padding-top:6px}.bc-side .bt-row{--tf-field-ctl: 104px}.bc-fieldset{border:0;margin:0;min-width:0}.bc-swatch{flex:none;width:10px;height:3px;border-radius:2px}.bc-ident{display:flex;flex-direction:column;gap:3px;font-size:var(--tf-text-hint)}.bc-ident__head{display:flex;align-items:center;gap:6px}.bc-ident__id{font-weight:600;color:var(--tf-text-bright)}.bc-ident__profile{color:var(--tf-text-muted)}.bc-ident__kind{color:var(--tf-text-subtle)}.bc-arrive{display:flex;flex-direction:column;gap:3px}.bc-arrive__row{display:flex;align-items:center;gap:6px;font-size:var(--tf-text-hint);border-radius:var(--tf-radius-xs)}.bc-arrive__row[data-through=false]{cursor:pointer}.bc-arrive__row[data-through=false]:hover .bc-arrive__id{color:var(--tf-accent)}.bc-arrive__id{color:var(--tf-text)}.bc-arrive__dir{color:var(--tf-text-subtle)}.bc-arrive__holes{margin-inline-start:auto;color:var(--tf-text-muted)}.bc-platethumb{display:block;width:100%;height:210px;padding:6px;cursor:pointer;background:var(--tf-bg-canvas);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm)}.bc-platethumb:hover{border-color:var(--tf-accent-edge)}.bc-platethumb:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.bc-apply{display:flex;flex-direction:column;gap:6px}.bc-sched{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.bc-sched__bar{flex:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bc-sched__counts{margin-inline-start:auto;display:inline-flex;align-items:center;gap:10px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.bc-sched__n{color:var(--tf-text-bright)}.bc-sched__table{flex:1;min-height:0;overflow-y:auto}.bc-sched__table .tf-table{min-width:100%}.bc-c{text-align:center}.bc-b{font-weight:600}.bc-unsupported{font-size:var(--tf-text-hint);color:var(--tf-text)}.bc-sched__table td[data-inherited=true]{color:var(--tf-text-subtle)}.bcc{display:flex;flex-direction:column;gap:8px;min-height:0}.bcc-gaps{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.bcc-gap{display:inline-flex;align-items:baseline;gap:6px;padding:4px 9px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.bcc-gap[data-bad=true]{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.bcc-gap__zone{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.bcc-gap__v{display:inline-flex;align-items:center;gap:4px;font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.bcc-gap__tight{font-size:var(--tf-text-caption);color:var(--tf-text)}.bcc-bad-icon{flex:none;color:var(--tf-danger);vertical-align:-1px;margin-inline-end:3px}.bcc-only{margin-inline-start:auto}.bcc-meta{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.bcc-meta--row{display:flex;gap:12px;flex-wrap:wrap}.bcc-meta__v{color:var(--tf-text-muted)}.bcc-tag{margin-inline-end:6px}.bcc-table{overflow-y:auto;min-height:0;max-height:220px}.bcc-table .tf-table{min-width:100%}.bcc-table tr[data-selected=false]{opacity:.55}.bcc-num{text-align:end}.bcc-angles{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.bc-lim{flex:none;margin:4px 14px 10px;max-height:340px;overflow-y:auto}.bc-lim__current{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:7px 10px;border:1px solid var(--tf-accent);border-radius:var(--tf-radius-md);background:var(--tf-accent-mix)}.bc-lim__current-text{display:flex;flex-direction:column;gap:1px;min-width:0}.bc-lim__current-head{font-size:var(--tf-text-caption);color:var(--tf-text-muted)}.bc-lim__opts{display:flex;flex-direction:column;gap:6px}.bc-lim__rule{margin:2px 0;border:0;border-top:1px solid var(--tf-border)}.bc-lim__opt{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:8px 12px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);cursor:pointer;transition:border-color .12s ease,background .12s ease}.bc-lim__opt:hover{border-color:var(--tf-accent)}.bc-lim__opt:focus-within{outline:2px solid var(--tf-accent);outline-offset:1px}.bc-lim__opt--rec{background:var(--tf-accent-mix)}.bc-lim__opt--rec:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;border-start-start-radius:var(--tf-radius-md);border-end-start-radius:var(--tf-radius-md);background:var(--tf-accent)}.bc-lim__opt--on{border-color:var(--tf-accent);box-shadow:inset 0 0 0 1px var(--tf-accent)}.bc-lim__opt--gap{border-color:var(--tf-warning-edge)}.bc-lim__opt--gap.bc-lim__opt--on{border-color:var(--tf-accent)}.bc-lim__radio{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.bc-lim__text{display:flex;flex-direction:column;gap:1px;min-width:0}.bc-lim__name{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.bc-lim__sub{font-size:var(--tf-text-hint);line-height:1.35;color:var(--tf-text-subtle)}.bc-lim__sub.mono{font-family:var(--tf-font-mono)}.bc-lim__opt--on .bc-lim__sub{color:var(--tf-text-muted)}.bc-lim__advice{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:2px;font-size:var(--tf-text-hint);color:var(--tf-text-muted)}.bc-lim__type{margin:0}@media(prefers-reduced-motion:reduce){.bc-lim__opt{transition:none}}.bt-group{flex:none;gap:2px}.bt-group>.tf-sec__head{margin-bottom:2px}.bt-group__count{font-size:var(--tf-text-caption)}.bt-group>.tf-notice,.bt-group>.bt-readout:first-of-type,.bt-group>.tf-sec__note{margin-top:6px}.bt-group>.tf-btn--block{margin-top:6px}.bt-group__toggle{display:inline-flex;flex:1 1 auto;align-items:center;gap:6px;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:start;cursor:pointer}.bt-group__toggle:hover{color:var(--tf-text-bright)}.bt-group__toggle:focus-visible{outline:2px solid var(--tf-accent);outline-offset:2px;border-radius:2px}.bt-group__title{min-width:0}.bt-group__chev{flex:none;transition:transform .12s ease}[dir=rtl] .bt-group--fold[data-open=false] .bt-group__chev{transform:scaleX(-1)}.bt-group--fold[data-open=true] .bt-group__chev{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){.bt-group__chev{transition:none}}.bt-group--fold>.tf-sec__head>.tf-sec__title{display:flex;flex:1 1 auto;min-width:0}.bt-group--fold[data-open=false]>.tf-sec__head{margin-bottom:0}.bt-group--fold .tf-sec__aside{display:inline-flex;align-items:center;gap:6px}.bt-group__body{display:flex;flex-direction:column;gap:2px;min-width:0}.bt-group__body[hidden]{display:none}.bt-group__body>.tf-notice,.bt-group__body>.bt-readout:first-of-type{margin-top:6px}.bt-group__body>.tf-notice:first-child,.bt-group__body>.bt-readout:first-child{margin-top:0}.bt-row__v{text-align:end;font-size:var(--tf-text-count);line-height:1.3;color:var(--tf-text-bright);overflow-wrap:anywhere}.bt-row>.tf-fieldrow__control:has(>[data-refused]){flex-wrap:wrap}.bt-row>.tf-fieldrow__control>[data-refused]{flex-basis:100%}.bt-reset{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--tf-radius-xs);background:transparent;color:var(--tf-text-subtle);cursor:pointer}.bt-reset:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.bt-reset:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.bt-row.is-picked,.bt-block.is-picked{background:var(--tf-accent-mix);border-radius:var(--tf-radius-xs);box-shadow:0 0 0 3px var(--tf-accent-mix);animation:bt-picked-flash .9s ease-out}@keyframes bt-picked-flash{0%,35%{box-shadow:0 0 0 3px var(--tf-accent-edge)}to{box-shadow:0 0 0 3px var(--tf-accent-mix)}}@media(prefers-reduced-motion:reduce){.bt-row.is-picked,.bt-block.is-picked{animation:none}}.bt-readout{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.bt-readout.mono{font-size:var(--tf-text-caption)}.bt-readout--warn{color:var(--tf-text)}.bt-readout__icon{flex:none;margin-top:2px;color:var(--tf-warning)}.bt-readout+.bt-readout{margin-top:0}.bt-refused{display:flex;align-items:flex-start;gap:4px;flex-basis:100%;font-size:var(--tf-text-caption);line-height:var(--tf-leading-hint);color:var(--tf-text)}.bt-refused>svg{flex:none;margin-top:1px;color:var(--tf-warning)}.bt-canvas-empty{min-height:100%;justify-content:center}.ff-body{gap:8px}.ff-head-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ff-shapes__wrap{display:flex;align-items:flex-start;gap:6px;padding:4px 0 2px}.ff-shapes{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:4px}.ff-shape{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 5px;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);color:var(--tf-text-muted);font-family:inherit;font-size:var(--tf-text-caption);line-height:1.1;cursor:pointer;overflow:hidden;transition:background .12s ease,border-color .12s ease,color .12s ease}.ff-shape svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.ff-shape span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-shape:hover{border-color:var(--tf-accent-edge);color:var(--tf-text)}.ff-shape:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.ff-shape[data-sel=true]{border-color:var(--tf-accent);color:var(--tf-text-bright);background:var(--tf-accent-mix)}.ff-shapes__reset{margin-top:4px}.ff-outline{display:flex;flex-direction:column;gap:4px;padding:6px 0 4px;border-top:1px solid var(--tf-border)}.ff-outline__head{display:flex;align-items:center;gap:6px;min-height:22px}.ff-outline__head .tf-t-caption{flex:1;min-width:0}.ff-outline__tool{display:flex;align-items:center;gap:4px}.ff-outline__tool .ff-outline__label{flex:1;width:auto;min-width:30px}.ff-outline__tool .tf-input-wrap{flex:none;width:76px}.ff-outline__label{flex:none;width:22px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ff-outline__row{display:flex;align-items:center;gap:4px}.ff-outline__row .tf-input-wrap{flex:1;min-width:0}.ff-outline .tf-btn--block{margin-top:2px}.ff-stiffpos{display:flex;flex-direction:column;border-top:1px solid var(--tf-border);padding-top:4px}.ff-stiffpos__head{display:flex;align-items:center;gap:6px;min-height:22px}.ff-stiffpos__head .tf-t-caption{flex:1;min-width:0}.ff-views{position:relative;padding:0;overflow:hidden}.ff-views__strip{display:flex;gap:4px;align-items:stretch;width:100%;height:100%;min-height:0;padding:8px;box-sizing:border-box}.ff-views__view{flex:1;min-width:0;display:flex;justify-content:center}.ff-views__hint{position:absolute;bottom:6px;inset-inline-end:10px;max-width:min(62%,560px);text-align:end;font-size:var(--tf-text-caption);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle);pointer-events:none}.ff-tool{display:inline-flex;align-items:center;gap:4px;height:var(--tf-control-h-sm);padding:0 8px;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-hint);cursor:pointer;white-space:nowrap}.ff-tool:hover{border-color:var(--tf-accent-edge);color:var(--tf-text-bright)}.ff-tool:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.ff-tool.is-on{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.ff-pop{position:absolute;z-index:5;width:300px;max-width:calc(100% - 16px);background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);box-shadow:var(--tf-shadow-md)}.ff-pop__h{display:flex;align-items:center;gap:6px;padding:6px 6px 2px 12px}.ff-pop__h .tf-t-caption{flex:1;min-width:0}.ff-pop__b{display:flex;flex-direction:column;padding:0 12px 8px}.ff-pop__b>.tf-btn--block{margin-top:6px}.ff-pop__f{display:flex;justify-content:flex-end;padding:5px 6px 6px;border-top:1px solid var(--tf-border)}.ff-checks{display:flex;flex-direction:column;gap:6px;margin-top:6px}.ff-check{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.ff-check.is-fail{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.ff-check__h{display:flex;align-items:center;gap:6px}.ff-check__t{flex:1;min-width:0;font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.ff-check__f{font-size:var(--tf-text-caption);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle);overflow-wrap:anywhere}.ff-check__f--prose{font-family:inherit}.ff-check__n{font-size:var(--tf-text-caption);color:var(--tf-text-muted)}.ff-qty{width:100%;border-collapse:collapse;font-size:var(--tf-text-hint);margin-top:6px}.ff-qty th{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);text-align:end;padding:4px;border-bottom:1px solid var(--tf-border);white-space:nowrap}.ff-qty td{text-align:end;padding:4px;color:var(--tf-text-bright);border-bottom:1px solid var(--tf-border)}.ff-qty th:first-child,.ff-qty td:first-child{text-align:start}.ff-qty td:first-child{color:var(--tf-text-muted)}.ff-qty tr:last-child td{border-bottom:none}.ff-qty__u{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.ff-source{display:flex;flex-direction:column;gap:2px;margin-top:6px;padding:8px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input);font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-muted);min-width:0}.ff-source__file{display:flex;align-items:flex-start;gap:6px;color:var(--tf-text-bright);overflow-wrap:anywhere}.ff-source__file>svg{flex:none;margin-top:2px;color:var(--tf-text-subtle)}.ff-source__gov{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.ff-source .tf-notice{margin-top:4px}.ff-notes{width:100%;height:52px;padding:5px 8px;resize:vertical;line-height:var(--tf-leading-hint)}.ff-readas{display:flex;gap:6px;flex-wrap:wrap;width:100%}.ff-readas>.tf-select{flex:1 1 120px;min-width:0}.ld-panel{flex:0 0 340px}.ld-body{gap:8px}.ld-head{display:inline-flex;align-items:center;gap:10px}.ld-head__meta{font-size:var(--tf-text-hint);font-weight:400;color:var(--tf-text-subtle)}.ld-canvas{flex:1 1 auto;min-height:200px}.ld-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:8px 14px;border-top:1px solid var(--tf-border);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.ld-legend__item{display:inline-flex;align-items:center;gap:5px}.ld-legend__swatch{display:inline-block;width:13px;height:3px;border-radius:2px}.ld-state{flex:none;border-inline-start:3px solid var(--tf-success)}.ld-state[data-tone=warning]{border-inline-start-color:var(--tf-warning)}.ld-state[data-tone=off]{border-inline-start-color:var(--tf-border-strong)}.ld-state__sub{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.ld-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.ld-stat{display:flex;flex-direction:column;gap:1px;min-width:0}.ld-stat--wide{grid-column:1 / -1}.ld-stat__v{font-family:var(--tf-font-mono);font-size:var(--tf-text-choice);font-weight:600;font-variant-numeric:tabular-nums;color:var(--tf-text-bright);white-space:nowrap}.ld-stat__l{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ld-fold-sum{font-size:var(--tf-text-hint);font-weight:400;color:var(--tf-text-subtle);white-space:nowrap}.ld-fold-sum[data-warn=true]{color:var(--tf-text)}.ld-fold-sum[data-warn=true]:before{content:"";display:inline-block;width:7px;height:7px;margin-inline-end:5px;border-radius:50%;background:var(--tf-warning);vertical-align:1px}.ld-panel .bt-group--fold .tf-sec__actions .tf-seg{flex:none}.ld-panel .bt-row .tf-input::placeholder{color:var(--tf-text-muted);opacity:1}.ld-param-state:before{content:" · "}.bt-row[data-changed=true] .ld-param-state{color:var(--tf-accent)}.ld-param-note{display:inline-flex;align-items:center;gap:3px;margin-inline-start:6px}.ld-param-note--warn{color:var(--tf-text)}.ld-param-note--warn>svg{flex:none;color:var(--tf-warning)}.ld-checks{display:flex;flex-direction:column;gap:6px}.ld-check{display:flex;align-items:flex-start;gap:7px;margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text)}.ld-check>svg{flex:none;margin-top:2px;color:var(--tf-success)}.ld-check[data-tone=info]>svg{color:var(--tf-text-subtle)}.ld-levels{display:flex;flex-direction:column}.ld-level{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 0}.ld-level__dot{z-index:1;justify-self:center;width:9px;height:9px;border-radius:50%;border:2px solid var(--tf-outline);background:var(--tf-bg-elevated)}.ld-level[data-tied=true] .ld-level__dot{border-color:var(--tf-brace);background:var(--tf-brace)}.ld-level:not(:last-child):after{content:"";position:absolute;inset-inline-start:6px;top:50%;height:100%;width:2px;background:var(--tf-success);opacity:.45}.ld-levels[data-run=false] .ld-level:after{background:var(--tf-outline)}.ld-level__t{font-size:var(--tf-text-body);color:var(--tf-text)}.ld-level__t small{display:block;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-builder{display:flex;flex-direction:column;height:100%;padding:8px;gap:8px}.tf-builder__topbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:2px 4px}.tf-builder__title{font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tf-builder__client,.tf-builder__autosaved{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);white-space:nowrap}.tf-builder__spacer{flex:1}.tf-builder__tabsrow{overflow-x:auto;flex:none}.tf-builder__main{flex:1;min-height:0;display:flex;gap:8px}.tf-builder__main>.tf-panel--tree{flex:0 0 176px}.tf-builder__content{flex:1;min-width:0}.tf-builder__run{position:relative;flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:8px 12px;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel)}.tf-builder__runstatus{flex:1 1 260px;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}.tf-builder__runactions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-inline-start:auto}.tf-runnote{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:var(--tf-text-body);color:var(--tf-text-subtle)}.tf-runnote svg{width:14px;height:14px;flex:none}.tf-runnote--ok svg{color:var(--tf-success)}.tf-runnote--live svg{color:var(--tf-accent)}.tf-runnote--warn{color:var(--tf-text)}.tf-runnote--warn svg{color:var(--tf-warning)}.tf-runnote--fail{color:var(--tf-text)}.tf-runnote--fail svg{color:var(--tf-danger)}.tf-validation__link{color:var(--tf-accent);text-decoration:underline;white-space:nowrap}.tf-validation{display:inline-flex;align-items:center;gap:6px;color:var(--tf-text);font-size:var(--tf-text-body)}.tf-validation svg{width:15px;height:15px;flex:none;color:var(--tf-success)}.tf-validation--warn{padding-inline-start:8px;border-inline-start:2px solid var(--tf-warning)}.tf-validation--warn svg{color:var(--tf-warning)}.tf-catia-dialog__intro{margin:0;font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-catia-dialog__block{display:flex;flex-direction:column;gap:4px}.tf-catia-dialog__label{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-catia-dialog__action{margin:0;font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);color:var(--tf-text)}.tf-catia-dialog__detail{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle);overflow-wrap:anywhere}.tf-catia-dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.tf-backups__intro{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-backups__num,.tf-backups__act{text-align:center}.tf-split{display:flex;gap:8px;height:100%}.tf-split--three{gap:8px}.tf-split>.tf-panel:first-child{flex:1.1}.tf-panel--preview{flex:1}.tf-split--three .tf-panel--tree{flex:0 0 188px}.tf-split--three .tf-panel:nth-child(2){flex:1.5}.tf-split--three .tf-panel--preview{flex:1}.tf-panel__aside{font-size:var(--tf-text-hint);font-weight:400;color:var(--tf-text-subtle)}.tf-panel__head-title{display:inline-flex;align-items:baseline;gap:8px;min-width:0}.tf-pvfoot{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;padding:8px 14px;border-top:1px solid var(--tf-border);font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-pvfoot__item{display:inline-flex;align-items:center;gap:6px}.tf-pvfoot__end{margin-inline-start:auto}.tf-pvfoot__swatch{display:inline-block;width:14px;height:3px;border-radius:2px;flex:none}.tf-numin{width:64px;height:24px;text-align:center;padding:0 3px}.tf-numin--sm{width:58px}.tf-numin--geo{width:76px;padding:0 4px}.tf-cell--c{text-align:center}.tf-cell--end{text-align:end}.tf-cell--muted{color:var(--tf-text-subtle);white-space:nowrap}.tf-btnrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tf-btnrow>.tf-btn--block{flex:1 1 0}.tf-facts{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-facts .mono{color:var(--tf-text-bright)}.tf-tabhint{flex:none;display:inline-flex;align-items:center;gap:6px;margin:0;padding-inline:4px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-tree{padding:6px;overflow-y:auto;flex:1}.tf-tree__row{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:var(--tf-radius-xs);font-size:var(--tf-text-body);color:var(--tf-text);cursor:pointer;white-space:nowrap}.tf-tree__row svg{width:14px;height:14px;color:var(--tf-text-subtle);flex:none}.tf-tree__row--l1{padding-inline-start:16px}.tf-tree__row--l2{padding-inline-start:28px}.tf-tree__row--l3{padding-inline-start:44px;font-size:var(--tf-text-hint)}.tf-tree__row--root{font-weight:600;color:var(--tf-text-bright)}.tf-tree__row:hover{background:var(--tf-bg-control-hover)}.tf-tree__row--sel{background:var(--tf-accent-mix);color:var(--tf-text-bright);box-shadow:inset 3px 0 0 var(--tf-accent)}.tf-tree__row--sel:hover{background:var(--tf-accent-mix-strong)}.tf-tree__row--sel svg{color:var(--tf-accent)}[dir=rtl] .tf-tree__row--sel{box-shadow:inset -3px 0 0 var(--tf-accent)}.tf-tree__row--open{color:var(--tf-text-bright);font-weight:600}.tf-tree__meta{margin-inline-start:auto;padding-inline-start:8px;color:var(--tf-text-subtle);font-family:var(--tf-font-mono);font-size:var(--tf-text-caption)}.tf-sectabs{display:flex;align-items:stretch;gap:2px;padding:3px 8px 0;flex:none;overflow-x:auto;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel)}.tf-panel>.tf-sectabs{border:0;border-bottom:1px solid var(--tf-border);border-radius:0}.tf-stab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:6px 12px 7px;font-family:inherit;cursor:pointer;color:var(--tf-text-muted);display:flex;flex-direction:column;align-items:flex-start;gap:1px;white-space:nowrap;border-radius:var(--tf-radius-sm) var(--tf-radius-sm) 0 0;box-shadow:inset 0 -2px 0 transparent;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.tf-stab:hover{color:var(--tf-text-bright);background:var(--tf-bg-control-hover)}.tf-stab:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.tf-stab[data-sel=true]{color:var(--tf-text-bright);background:var(--tf-accent-mix);box-shadow:inset 0 -2px 0 var(--tf-accent)}.tf-stab b{font-size:var(--tf-text-choice);font-weight:600}.tf-stab small{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-family:var(--tf-font-mono)}.tf-cellnav{flex:none;display:flex;align-items:center;gap:6px;padding-block:5px;padding-inline:8px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-sectabs+.tf-cellnav{border:1px solid var(--tf-border);border-top:0;margin-top:-8px;border-radius:0 0 var(--tf-radius-panel) var(--tf-radius-panel)}.tf-sectabs:has(+.tf-cellnav){border-end-start-radius:0;border-end-end-radius:0}.tf-panel>.tf-sectabs+.tf-cellnav{border:0;border-bottom:1px solid var(--tf-border);border-radius:0;margin-top:0}.tf-cellnav__list{flex:1;min-width:0;display:flex;align-items:stretch;gap:4px;overflow-x:auto}.tf-cbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;display:inline-flex;align-items:baseline;gap:5px;padding:3px 9px;background:transparent;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);font-family:inherit;color:var(--tf-text-muted);cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease}.tf-cbtn:hover{border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-cbtn:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-cbtn[data-sel=true]{background:var(--tf-accent-mix);border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-cbtn b{font-size:var(--tf-text-hint);font-weight:600}.tf-cbtn small{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-cnstep{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);color:var(--tf-text-subtle);cursor:pointer;transition:background .12s ease,color .12s ease}.tf-cnstep:hover:not(:disabled){background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-cnstep:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-cnstep:disabled{opacity:.5;cursor:not-allowed}[dir=rtl] .tf-cnstep svg{transform:scaleX(-1)}.tf-pvtoggle{align-self:center;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;background:transparent;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);color:var(--tf-text-muted);font-family:inherit;font-size:var(--tf-text-hint);font-weight:500;cursor:pointer;flex:none;white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease}.tf-pvtoggle:hover{border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-pvtoggle:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-pvtoggle[aria-pressed=true]{background:var(--tf-accent-mix);border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-pvtoggle svg{width:14px;height:14px}.tf-ccards{flex:1;min-height:0;padding:12px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));grid-auto-rows:max-content;gap:10px;overflow-y:auto;align-content:start}.tf-ccard{background:var(--tf-bg-elevated);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);overflow:hidden;display:flex;flex-direction:column;transition:border-color .12s ease,box-shadow .12s ease}.tf-ccard:hover{border-color:var(--tf-border-strong)}.tf-ccard[data-sel=true]{border-color:var(--tf-accent);box-shadow:0 0 0 1px var(--tf-accent)}.tf-ccard__h{display:flex;align-items:center;gap:4px;padding-inline-end:4px;border:0;border-bottom:1px solid var(--tf-border);background:transparent}.tf-ccard__hbtn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:0;background:transparent;font-family:inherit;color:inherit;cursor:pointer;width:100%;min-width:0;text-align:start}.tf-ccard__h b{font-size:var(--tf-text-body);color:var(--tf-text-bright)}.tf-ccard__sum{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-ccard__collapse{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-subtle);cursor:pointer}.tf-ccard__collapse:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-ccard__collapse svg{width:13px;height:13px}.tf-ccard__pv{height:78px;background:var(--tf-bg-canvas);padding:8px;border:0;cursor:pointer;width:100%;display:block}.tf-mrow{display:flex;align-items:center;gap:7px;padding:5px 9px;border-top:1px solid var(--tf-border)}.tf-mrow[data-off]{opacity:.55}.tf-mrow__n{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle);flex:none;min-width:11px;text-align:end;font-variant-numeric:tabular-nums}.tf-mrow__r{font-size:var(--tf-text-hint);color:var(--tf-text-muted);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-mrow__note{display:block;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:normal}.tf-cvtag{position:absolute;top:8px;inset-inline-start:10px;z-index:1;pointer-events:none;display:inline-flex;align-items:baseline;gap:6px;padding:3px 8px;border-radius:var(--tf-radius-sm);background:color-mix(in srgb,var(--tf-bg-panel) 82%,transparent);border:1px solid var(--tf-border)}.tf-cvtag b{font-size:var(--tf-text-hint);font-weight:600;color:var(--tf-text-bright)}.tf-cvtag small{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-cmap{position:relative;flex:0 1 auto;min-height:0;padding:10px 12px;overflow:hidden}.tf-cmap__pick{flex:none;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-top:1px solid var(--tf-border)}.tf-cmap__name{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-cmap__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-cmap__pick .tf-irow__l{font-size:var(--tf-text-body)}.tf-cmap__pick .tf-select{width:190px}.tf-conbar{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:8px 14px;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-conlegend{display:flex;align-items:center;gap:6px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-lg{width:12px;height:3px;border-radius:2px;display:inline-block}.tf-conlegend--more{color:var(--tf-text-subtle);font-style:italic}.tf-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;font-size:var(--tf-text-body);color:var(--tf-text-subtle)}.tf-placeholder p{margin:0;max-width:46ch;line-height:var(--tf-leading-hint)}.tf-placeholder svg{width:32px;height:32px;color:var(--tf-text-subtle);stroke-width:1.5}.tf-nosection{flex:1;height:100%;justify-content:center}.tf-dock{width:268px;flex:none;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);display:flex;flex-direction:column;overflow:hidden}.tf-dock__tabs{display:flex;align-items:center;min-height:38px;padding:0 6px 0 14px;border-bottom:1px solid var(--tf-border)}.tf-dock__tab{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-dock__tab--active{color:var(--tf-text-bright)}.tf-dock__body{padding:0 0 12px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.tf-dock__body>.tf-job,.tf-dock__body>.tf-empty{margin-inline:12px}.tf-dockclose{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;background:transparent;color:var(--tf-text-subtle);border-radius:var(--tf-radius-sm);cursor:pointer;margin-inline-start:auto}.tf-dockclose:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-dockclose:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-dockclose svg{width:15px;height:15px}[dir=rtl] .tf-dockclose svg{transform:scaleX(-1)}.tf-dockrail{flex:none;width:28px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 0;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);color:var(--tf-text-subtle);cursor:pointer;font-family:inherit}.tf-dockrail:hover{border-color:var(--tf-accent-edge);color:var(--tf-text-bright)}.tf-dockrail:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-dockrail svg{width:16px;height:16px}.tf-dockrail__dot{background:var(--tf-accent)}[dir=rtl] .tf-dockrail svg{transform:scaleX(-1)}.tf-dockrail__v{writing-mode:vertical-rl;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);margin-top:2px}.tf-panel__head-actions{display:inline-flex;align-items:center;gap:4px;flex:none}.tf-dragtoggle--x{cursor:col-resize}.tf-dragtoggle--y{cursor:row-resize}.tf-panelrail{flex:none;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);color:var(--tf-text-subtle);cursor:pointer;padding:0;font-family:inherit}.tf-panelrail:hover:not(:disabled){border-color:var(--tf-accent-edge);color:var(--tf-text-bright)}.tf-panelrail:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-panelrail:disabled{cursor:not-allowed;opacity:.6}.tf-panelrail svg{width:14px;height:14px}.tf-panelrail--vertical{width:26px;flex-direction:column;padding:10px 0;cursor:col-resize}.tf-panelrail--vertical:disabled{cursor:not-allowed}.tf-panelrail--horizontal{width:100%;height:22px;flex-direction:row;cursor:row-resize;border-radius:var(--tf-radius-sm)}.tf-panelrail--horizontal:disabled{cursor:not-allowed}.tf-panelrail__v{writing-mode:vertical-rl;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);margin-top:2px}.tf-panelrail__grip{color:var(--tf-text-subtle)}.tf-dot{width:8px;height:8px;border-radius:50%;flex:none}.tf-job{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--tf-border)}.tf-dock__body>.tf-sys+.tf-job,.tf-dock__body>.tf-job:first-child{border-top:0;padding-top:0}.tf-job__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tf-job__meta{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-family:var(--tf-font-mono);overflow-wrap:anywhere}.tf-window-overlay.tf-window-overlay--top{align-items:flex-start;padding-top:28px}.tf-savelib{width:min(580px,94%);max-height:calc(100% - 40px)}.tf-savelib .tf-newproject__body{overflow-y:auto;min-height:0}.tf-towerload{width:min(520px,94%);max-height:calc(100% - 56px)}.tf-towerload .tf-newproject__body{overflow-y:auto}.tf-towerload__source{color:var(--tf-text-bright);font-weight:600}.tf-towerload__table{font-size:var(--tf-text-hint)}.tf-towerload__table td{white-space:normal;overflow-wrap:anywhere}.tf-towerload__from{color:var(--tf-text-subtle);text-decoration:line-through}.tf-towerload__to{color:var(--tf-text-bright);font-weight:600}.tf-towerload__chips{display:flex;flex-wrap:wrap;gap:6px}.tf-bd{position:absolute;inset-inline:0;bottom:calc(100% + 6px);z-index:40;display:flex;flex-direction:column;max-height:min(52vh,460px);overflow:hidden;background:var(--tf-bg-panel);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-panel);box-shadow:var(--tf-shadow-md);--tf-bd-accent: var(--tf-accent)}.tf-bd__chrome{display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 8px 6px 14px;border-bottom:1px solid var(--tf-border)}.tf-bd__chrome svg{color:var(--tf-bd-accent)}.tf-bd__title{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-bd__close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;background:transparent;color:var(--tf-text-subtle);border-radius:var(--tf-radius-sm);cursor:pointer}.tf-bd__close:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-bd__close:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-bd__foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 14px;border-top:1px solid var(--tf-border)}.tf-bd__link{display:inline-flex;align-items:center;gap:5px;font-size:var(--tf-text-body);color:var(--tf-accent);text-decoration:none}.tf-bd__link:hover{text-decoration:underline}.tf-job__details{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:0;background:none;border:0;color:var(--tf-accent);font:inherit;font-size:var(--tf-text-hint);cursor:pointer}.tf-job__details:hover{text-decoration:underline}.tf-tabcol{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;width:100%;height:100%}.tf-tabrow{flex:1;min-height:0;display:flex;gap:8px;width:100%;height:100%}.tf-panel--grow{flex:1 1 auto;min-width:0}.tf-panel--fill{flex:1;min-height:0;width:100%;height:100%}.tf-panel--side{flex:0 0 210px}.tf-panel--props{flex:0 0 268px}.tf-panel--props-wide{flex-basis:292px}.tf-panel__body>.tf-sec,.tf-panel__body>.tf-notice,.tf-panel__body>.tf-actionbar{flex:none}.tf-import__intro{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-canvas--rel{position:relative}.tf-canvas--level{flex:1 1 auto;min-height:160px}.tf-canvas--figs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px}.tf-pvfoot__swatch--brace{background:var(--tf-brace)}.tf-pvfoot__swatch--opt{background:var(--tf-brace-opt)}.tf-pvfoot__swatch--inner{background:var(--tf-success)}.tf-mono__plan{position:absolute;inset-inline-end:8px;bottom:8px;padding:6px;border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);border:1px solid var(--tf-border)}.tf-numin--md{width:84px}.tf-textin{width:96px;height:24px;padding:0 6px}.tf-cell--warn{color:var(--tf-text);white-space:nowrap}.tf-cell--warn svg{color:var(--tf-warning);vertical-align:-2px;margin-inline-end:4px}.tf-note--top{align-items:flex-start}.tf-note--top svg{margin-top:2px}.tf-irow__sel{width:90px}.tf-irow__sel--wide{width:138px}.tf-irow__unit{flex:none;width:22px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-irow>.tf-numin{margin-inline-start:auto}.tf-trow--two{align-items:flex-start}.tf-trow--two svg{margin-top:2px}.tf-trow__text{display:flex;flex-direction:column;gap:1px;min-width:0}.tf-trow__name{font-size:var(--tf-text-body);font-weight:600}.tf-trow__sub{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-tree__hint{margin:10px 6px 0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle);white-space:normal}.tf-typepick__note{flex:1 1 200px;min-width:0}.tf-hib__bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;flex:none}.tf-hib__title{flex:1;min-width:0;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-hibrow.tf-hibrow--inset{border:0;border-top:1px solid var(--tf-border);border-radius:0;background:transparent}.tf-hibrow__note{display:block;font-size:var(--tf-text-caption);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-hibrow__sel{width:104px}.tf-hibrow__sel--wide{width:120px}.tf-mrow__d--brace{background:var(--tf-brace)}.tf-mrow__d--inner{background:var(--tf-success)}.tf-mrow__d--lib{background:var(--tf-brace-opt)}[dir=rtl] .tf-hiblib__chev{transform:scaleX(-1)}.tf-import__file .mono{color:var(--tf-text-bright);overflow-wrap:anywhere}.tf-import__help p{margin:0 0 6px;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-import__help strong{color:var(--tf-text)}.tf-import__warns .tf-notice__list{max-height:200px;overflow-y:auto}.tf-import .tf-panel__body{--tf-actionbar-bottom: -12px}.tf-pick{cursor:pointer;outline:none}.tf-pick:hover :is(rect,polygon,circle,line,path):not(.tf-pick__hit),.tf-pick:focus-visible :is(rect,polygon,circle,line,path):not(.tf-pick__hit),.tf-pick.is-active :is(rect,polygon,circle,line,path):not(.tf-pick__hit){stroke:var(--tf-accent)}.tf-pick:hover text,.tf-pick:focus-visible text,.tf-pick.is-active text{fill:var(--tf-accent)}.tf-pick:hover .tf-pick__hit,.tf-pick:focus-visible .tf-pick__hit,.tf-pick.is-active .tf-pick__hit{fill:var(--tf-accent-mix)}.tf-plan-vertex{cursor:move;outline:none}.tf-plan-vertex circle{fill:var(--tf-bg-app);stroke:var(--tf-accent);stroke-width:1}.tf-plan-vertex:hover circle,.tf-plan-vertex:focus-visible circle,.tf-plan-vertex.is-active circle{fill:var(--tf-accent)}.tf-plan-mid{cursor:copy;opacity:.55}.tf-plan-mid:hover{opacity:1}.tf-plan-mid circle{fill:var(--tf-bg-app);stroke:var(--tf-accent);stroke-width:.6}.tf-plan-mid path{stroke:var(--tf-accent);stroke-width:.6;fill:none}.tf-plan-stiff:hover rect,.tf-plan-stiff.is-active rect{stroke-width:1.2}.od-filterbar{flex:none;display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.od-body{flex:1;min-height:0;display:flex}.od-grow{flex:1}.od-end{text-align:end}.od-num{font-size:var(--tf-text-count);white-space:nowrap;font-variant-numeric:tabular-nums}.od-list{container-type:inline-size;flex:1;min-width:0;display:flex;flex-direction:column;border-inline-end:1px solid var(--tf-border);overflow-x:hidden;background:var(--tf-bg-panel)}.od-rows{flex:1;overflow-y:auto}.od-row,.od-hrow{display:grid;grid-template-columns:104px minmax(0,1fr) 132px 78px 96px 64px;gap:10px}.od-row>*,.od-hrow>*{min-width:0}.od-row{align-items:center;padding:8px 14px;border-bottom:1px solid var(--tf-border);cursor:pointer;font-size:var(--tf-text-body);transition:background .1s ease}.od-row:hover{background:var(--tf-bg-control-hover)}.od-row[data-sel=true]{background:var(--tf-accent-mix);box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .od-row[data-sel=true]{box-shadow:inset -3px 0 0 var(--tf-accent)}.od-hrow{padding:7px 14px;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle);background:var(--tf-bg-elevated);position:sticky;top:0;z-index:2;white-space:nowrap}@container (max-width: 620px){.od-row,.od-hrow{grid-template-columns:100px minmax(0,1fr) 122px 64px}.od-c-pr,.od-c-wt{display:none}}@container (max-width: 430px){.od-row,.od-hrow{grid-template-columns:96px minmax(0,1fr) 64px}.od-c-st{display:none}}.od-id{font-size:var(--tf-text-count);color:var(--tf-text-bright)}.od-who__name{display:block;font-weight:500;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.od-who__site{display:block;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.od-statecell{overflow:hidden}.od-state{max-width:100%;overflow:hidden;text-overflow:ellipsis}.od-due{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.od-due[data-due=late]:before,.od-due[data-due=risk]:before{content:"";width:6px;height:6px;border-radius:50%;flex:none}.od-due[data-due=late]:before{background:var(--tf-danger)}.od-due[data-due=risk]:before{background:var(--tf-warning)}.od-due[data-due=done]{color:var(--tf-text-subtle)}.od-detail{width:clamp(264px,34vw,340px);flex:none;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px}.od-head{display:flex;align-items:flex-start;gap:10px}.od-head__text{flex:1;min-width:0}.od-head__id{font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.od-head__name{font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.od-head__site{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.od-actions{display:flex;align-items:center;gap:6px}.od-advance{flex:1;justify-content:center;min-width:0}.od-kv{display:flex;justify-content:space-between;gap:12px;font-size:var(--tf-text-body)}.od-kv span:first-child{color:var(--tf-text-subtle)}.od-kv--total{font-weight:600}.od-kv--total span:first-child{color:var(--tf-text)}.od-item{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:8px 10px;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm)}.od-item b{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.od-item>span{font-size:var(--tf-text-count)}.od-item small{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.od-notes{font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);color:var(--tf-text-muted)}.od-steps{display:flex;flex-direction:column}.od-step{display:flex;gap:10px}.od-step__rail{display:flex;flex-direction:column;align-items:center;width:14px;flex:none}.od-step__dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:3px;background:var(--od-step-tone, var(--tf-border-strong))}.od-step__line{width:2px;flex:1;background:var(--tf-border-strong);margin:2px 0}.od-step__body{padding-bottom:10px;min-width:0}.od-step__label{font-size:var(--tf-text-body);font-weight:500;color:var(--tf-text-subtle)}.od-step[data-current=true] .od-step__label{color:var(--tf-text-bright)}.od-step__when{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.od-foot{flex:none;display:flex;align-items:center;gap:16px;padding:7px 16px;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel);font-size:var(--tf-text-hint);color:var(--tf-text-subtle);overflow:hidden}.od-foot__item{display:flex;align-items:center;gap:6px;white-space:nowrap;flex:none}.od-foot__book{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-unsolved__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.ws-unsolved__joint{display:flex;flex-direction:column;gap:6px;min-width:0}.ws-unsolved__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ws-unsolved__reason{font-size:var(--tf-text-hint);color:var(--tf-text-muted)}.ws-unsolved__note{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ws-unsolved__opts{display:flex;flex-direction:column;gap:6px}.ws-unsolved__opt{cursor:default}.ws-unsolved__opt:hover{border-color:var(--tf-border-strong)}.ws-unsolved__opt.bc-lim__opt--gap:hover{border-color:var(--tf-warning-edge)}.ws-screen{flex:1;min-height:0;overflow-y:auto;padding:16px 18px 40px;display:flex;flex-direction:column;gap:16px;--tf-actionbar-bottom: -40px}.ws-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.ws-title{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--tf-text-screen-title);font-weight:600;color:var(--tf-text-bright)}.ws-lede{margin:4px 0 0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle);max-width:70ch}.ws-panel{border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);background:var(--tf-bg-panel);padding:var(--tf-panel-pad)}.ws-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.ws-error{margin:10px 0 0;font-size:12px;color:var(--tf-danger)}.ws-error__raw{display:block;margin-top:2px;font-size:11px;color:var(--tf-text-subtle)}.ws-builderror{margin:10px 0 0;padding:8px 10px;border:1px solid var(--tf-danger);border-radius:var(--tf-radius-sm)}.ws-builderror__head{margin:0 0 4px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tf-danger)}.ws-builderror__msg{margin:0;font-family:var(--tf-font-mono);font-size:11px;white-space:pre-wrap;word-break:break-word;color:var(--tf-text)}.ws-link{color:var(--tf-accent)}.ws-json{margin:6px 0 0;padding:10px;max-height:320px;overflow:auto;border:1px solid var(--tf-border);border-radius:8px;background:var(--tf-bg-app);font-family:var(--tf-font-mono, monospace);font-size:11px;line-height:1.5}.ws-catia-update{font-size:var(--tf-text-hint);color:var(--tf-text-muted)}.ws-catia-update__bar,.ws-catia-update--error,.ws-catia-update__warn{flex:1 1 100%;margin-top:2px}.ws-preflight{margin-top:12px;padding:10px 12px;border:1px solid var(--tf-warning);border-radius:var(--tf-radius-md);font-size:12px}.ws-preflight p{margin:0 0 6px}.ws-preflight__head{display:flex;align-items:center;gap:6px;font-weight:600}.ws-preflight__head>svg{flex:none;color:var(--tf-warning)}.ws-preflight__ready{margin:0 0 6px}.ws-preflight__detail{font-size:11px;color:var(--tf-text-subtle);overflow-wrap:anywhere}.ws-report{display:flex;flex-direction:column;gap:12px}.ws-report--empty{border:1px dashed var(--tf-border);border-radius:var(--tf-radius-panel);padding:12px}.ws-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.ws-stat{border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);padding:10px 12px;display:flex;flex-direction:column;gap:2px}.ws-stat:has(>[data-tone=ok]){border-color:var(--tf-success-edge)}.ws-stat:has(>[data-tone=warn]){border-color:var(--tf-warning-edge);background:var(--tf-warning-wash)}.ws-stat:has(>[data-tone=bad]){border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.ws-stat__value{font-family:var(--tf-font-mono);font-size:var(--tf-text-metric);font-weight:600;line-height:1.1;color:var(--tf-text-bright);font-variant-numeric:tabular-nums}.ws-stat__label{order:-1;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ws-h4{margin:10px 0 4px;font-size:12px;font-weight:600}.ws-hint{margin:0 0 8px;font-size:11.5px;color:var(--tf-text-subtle)}.ws-empty{font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.ws-kv{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:2px 14px;margin:0;font-size:12px}.ws-kv dt{color:var(--tf-text-faint);overflow-wrap:anywhere}.ws-kv dd{margin:0;overflow-wrap:anywhere}.ws-kv--dense{font-size:11.5px;grid-template-columns:minmax(180px,max-content) 1fr}.ws-meta__path{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ws-meta__path code{overflow-wrap:anywhere}.ws-attention__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ws-attention__item{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:6px 8px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-panel);font-size:var(--tf-text-count)}.ws-attention__reason{font-weight:600;color:var(--tf-text-bright)}.ws-attention__detail{color:var(--tf-text-subtle);font-size:var(--tf-text-hint)}.ws-joint{font-family:var(--tf-font-mono, monospace);font-size:var(--tf-text-hint)}.ws-tablewrap{overflow-x:auto;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel)}.ws-table{width:100%;border-collapse:collapse;font-size:var(--tf-text-count)}.ws-table th,.ws-table td{text-align:start;padding:5px 10px;border-bottom:1px solid var(--tf-border);white-space:nowrap}.ws-table th{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;background:var(--tf-bg-elevated)}.ws-row--bad td{background:var(--tf-danger-wash)}.ws-table--dense th,.ws-table--dense td{padding:3px 8px}.ws-joint__options{grid-column:1 / -1;min-width:0}.ws-joint__options .ws-tablewrap{margin-block:4px 6px}.ws-joint__options tr[data-chosen] td{background:var(--tf-accent-mix)}.ws-joint__options tr[data-chosen] td:first-child{box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .ws-joint__options tr[data-chosen] td:first-child{box-shadow:inset -3px 0 0 var(--tf-accent)}.ws-joint__infeasible{margin:2px 0 6px;padding-inline-start:18px;font-size:var(--tf-text-count)}.ws-mono{font-family:var(--tf-font-mono, monospace)}.ws-expand{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--tf-text-faint);font:inherit;font-size:11px;cursor:pointer;padding:0}.ws-expand:hover{color:var(--tf-accent)}.ws-row__detail td{white-space:normal;background:var(--tf-bg-app)}.ws-joint__detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 20px;padding:4px 0 10px}.ws-console__follow{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ws-console__out{margin:8px 0 0;padding:10px 12px;max-height:340px;overflow:auto;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-app);color:var(--tf-text);font-family:var(--tf-font-mono, monospace);font-size:11.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;direction:ltr;text-align:start}.ws-console__dropped{margin-bottom:8px}.ws-tabs{margin-bottom:-6px}.ws-tabpane{display:flex;flex-direction:column;gap:16px}.ws-tabpane[hidden]{display:none}.ws-tablabel{display:inline-flex;align-items:center;gap:6px}.ws-tablabel__live{padding:0 5px;border-radius:var(--tf-radius-pill);background:var(--tf-accent-mix);color:var(--tf-text-bright);font-family:var(--tf-font-mono);font-size:10px;font-variant-numeric:tabular-nums}.tf-tab--active .ws-tablabel__live{background:#ffffff38;color:inherit}.ws-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;align-items:start}@media(max-width:1080px){.ws-split{grid-template-columns:minmax(0,1fr)}}.ws-preview{position:sticky;top:0}.ws-preview>.ws-preview__head{padding:8px 12px;min-height:0}.ws-preview>.tf-panel__body{padding:10px 12px 12px;gap:8px}.ws-preview__title{display:inline-flex;align-items:center;gap:6px;font-size:var(--tf-text-body)}.ws-preview__canvas{height:380px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-canvas, var(--tf-bg-app));overflow:hidden;display:flex}.ws-preview__canvas>*{flex:1;min-width:0}.ws-preview__note{margin:0;padding:4px 8px;border-left:2px solid var(--tf-accent);background:color-mix(in srgb,var(--tf-accent) 8%,transparent);font-size:var(--tf-text-hint);color:var(--tf-text);overflow-wrap:anywhere}.ws-preview__caption{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text);overflow-wrap:anywhere}.ws-preview__legend{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.ws-preview__legend li{display:inline-flex;align-items:center;gap:5px}.ws-preview__swatch{width:12px;height:12px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-xs)}.ws-preview__count{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;color:var(--tf-text-bright)}.ws-preview__hint{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.ws-queue>.tf-panel__body{gap:8px}.ws-queue__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ws-queue__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:34px;padding:3px 8px;border-radius:var(--tf-radius-sm);font-size:var(--tf-text-count)}.ws-queue__row--running{background:var(--tf-accent-mix)}.ws-queue__pos{min-width:16px;text-align:center;font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;color:var(--tf-text-subtle)}.ws-queue__label{font-weight:600;color:var(--tf-text-bright)}.ws-queue__user{color:var(--tf-text-subtle)}.ws-queue__state{color:var(--tf-text-subtle);margin-inline-start:auto}.ws-queue__note,.ws-queue__hidden{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.ws-queue__row--mine{box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .ws-queue__row--mine{box-shadow:inset -3px 0 0 var(--tf-accent)}.ws-myturn__head{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.ws-myturn__head>svg{color:var(--tf-accent);flex:none}.ws-myturn__label{font-weight:600;font-size:var(--tf-text-body);color:var(--tf-text)}.ws-note{margin:8px 0 0;font-size:12px;color:var(--tf-success, var(--tf-text-subtle, var(--tf-text-faint)))}.ws-hint--apply{margin:6px 0 0;font-size:11.5px;color:var(--tf-text-faint)}.ws-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ws-banners{display:flex;flex-direction:column;gap:6px}.ws-banner__line{display:block}.ws-banner__list{margin:0;padding-inline-start:16px;color:var(--tf-text-muted)}.ws-refreshing{display:inline-flex;align-items:center;gap:5px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ws-refreshing>svg{animation:ws-spin 1.2s linear infinite}@keyframes ws-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ws-refreshing>svg{animation:none}}.ws-details__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 20px}.ws-sumgroup{min-width:0}.ws-sumgroup .ws-h4{margin-top:4px;font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ws-sumgroup .ws-kv--dense{grid-template-columns:minmax(140px,max-content) 1fr}.ws-freq{display:inline-flex;flex-wrap:wrap;gap:4px 10px}.ws-freq__item{display:inline-flex;align-items:baseline;gap:3px}.ws-freq__n,.ws-freq__more{color:var(--tf-text-subtle);font-size:var(--tf-text-caption)}.ws-jointlist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 10px}.ws-jointlist li{display:inline-flex;align-items:baseline;gap:5px}.ws-jointlist__note{color:var(--tf-text-subtle);font-size:var(--tf-text-caption)}.ws-jointlink{color:inherit;text-decoration:none;border-radius:3px}.ws-jointlink:hover{text-decoration:underline;color:var(--tf-accent)}.ws-row:target td{background:var(--tf-accent-mix);box-shadow:inset 0 0 0 1px var(--tf-accent)}.ws-row:target{scroll-margin-top:40px}.ws-row--unwritten td{background:var(--tf-warning-wash)}.ws-joint__error{grid-column:1 / -1;margin:4px 0 0;padding-inline-start:8px;border-inline-start:2px solid var(--tf-danger);font-size:var(--tf-text-count);color:var(--tf-text)}.ws-filterbar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.ws-filter__count{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.ws-filter__search{flex:1 1 160px;max-width:260px;height:28px;padding:0 8px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input);color:var(--tf-text);font:inherit;font-size:var(--tf-text-count)}.ws-filter__tally{font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);color:var(--tf-text-subtle);font-variant-numeric:tabular-nums;margin-inline-start:auto}.ws-expand:focus-visible,.ws-jointlink:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.ws-tablewrap--joints{max-height:min(70vh,720px);overflow:auto}.ws-table--sticky thead th{position:sticky;top:0;z-index:1;background:var(--tf-bg-elevated);box-shadow:inset 0 -1px 0 var(--tf-border)}.ws-row--none td{white-space:normal;text-align:center;padding:14px}.ws-downloads{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;margin:0;font-size:var(--tf-text-hint)}.ws-downloads__label{color:var(--tf-text-subtle)}.ws-download:disabled{cursor:progress}.ws-download__error{font-size:var(--tf-text-hint);color:var(--tf-text)}.ws-download__error:before{content:"✕ ";color:var(--tf-danger)}.ws-console__copied{font-size:var(--tf-text-caption);font-weight:400;color:var(--tf-text-subtle)}.ws-console__copied--fail{color:var(--tf-text)}.ws-queue__limit{color:var(--tf-text-subtle)}.ws-queue__history{padding-top:8px;border-top:1px solid var(--tf-border)}.ws-queue__history-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.ws-queue__subtitle{margin:0}.ws-queue__tally{display:flex;gap:10px;font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ws-queue__list--history{gap:0;margin-top:4px}.ws-queue__hrow{display:grid;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:baseline;column-gap:10px;padding:3px 8px;font-size:var(--tf-text-count);color:var(--tf-text-muted)}.ws-queue__hicon{display:inline-flex;align-self:center;color:var(--tf-text-subtle)}.ws-queue__hrow--done .ws-queue__hicon{color:var(--tf-success)}.ws-queue__hrow--error .ws-queue__hicon{color:var(--tf-danger)}.ws-queue__hmain{display:flex;flex-direction:column;min-width:0}.ws-queue__hwhat{display:flex;gap:6px;min-width:0;white-space:nowrap;overflow:hidden}.ws-queue__hkind{color:var(--tf-text-subtle);flex:none}.ws-queue__hwhat .ws-queue__label{overflow:hidden;text-overflow:ellipsis}.ws-queue__message{color:var(--tf-text-subtle);font-size:var(--tf-text-hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-queue__hrow--error .ws-queue__message{color:var(--tf-text)}.ws-queue__hwhen{color:var(--tf-text-subtle);font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:end}.ws-queue__more{display:inline-flex;align-items:center;gap:4px;margin:4px 0 0;padding:2px 6px;border:0;border-radius:var(--tf-radius-xs);background:none;font:inherit;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);cursor:pointer}.ws-queue__more:hover{color:var(--tf-text-bright)}.ws-queue__more:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.ws-focus{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;background:var(--tf-bg-app);color:var(--tf-text)}.ws-focus__bar{flex:none;height:54px;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--tf-bg-panel, var(--tf-bg-app));border-bottom:1px solid var(--tf-border)}.ws-focus__close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:transparent;color:inherit;cursor:pointer}.ws-focus__close:hover{background:var(--tf-bg-control-hover, var(--tf-bg-control))}.ws-focus__ident{min-width:0;display:flex;flex-direction:column;line-height:1.3}.ws-focus__title{margin:0;font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.ws-focus__sub{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-focus__meta{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ws-focus__spacer{flex:1 1 auto}.ws-focus__esc{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.ws-focus__body{flex:1;min-height:0;display:flex}.ws-focus__body--panes{display:grid;grid-template-columns:268px minmax(0,1fr) 344px}@media(max-width:1280px){.ws-focus__body--panes{grid-template-columns:236px minmax(0,1fr)}.ws-focus__body--panes>.ws-detailpane{display:none}}@media(max-width:900px){.ws-focus__body--panes{grid-template-columns:minmax(0,1fr)}.ws-focus__body--panes>.ws-rail{display:none}}.ws-rail{min-width:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:14px;background:var(--tf-bg-panel, var(--tf-bg-app));border-inline-end:1px solid var(--tf-border)}.ws-rail__block{min-width:0}.ws-rail .ws-kv--dense{grid-template-columns:minmax(0,1.2fr) minmax(72px,1fr)}.ws-rail__head{margin:0 0 8px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ws-rail__foot{margin:auto 0 0;padding-top:11px;border-top:1px solid var(--tf-border);font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.ws-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ws-tile{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated)}.ws-tile:has(>[data-tone=ok]){border-color:var(--tf-success-edge)}.ws-tile:has(>[data-tone=warn]){border-color:var(--tf-warning-edge);background:var(--tf-warning-wash)}.ws-tile:has(>[data-tone=bad]){border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.ws-tile:has(>[data-tone=info]){border-color:var(--tf-info-edge)}.ws-tile__label{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ws-tile__value{font-family:var(--tf-font-mono, monospace);font-size:var(--tf-text-metric);font-weight:600;color:var(--tf-text-bright);font-variant-numeric:tabular-nums}.ws-tile__sub{font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.ws-railfilters{display:flex;flex-direction:column;gap:2px}.ws-railfilter{display:flex;align-items:center;gap:9px;width:100%;text-align:start;padding:6px 10px;border:1px solid transparent;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-body);cursor:pointer}.ws-railfilter:hover{background:var(--tf-bg-control-hover, var(--tf-bg-control));color:var(--tf-text-bright)}.ws-railfilter[aria-pressed=true]{background:var(--tf-accent-mix);box-shadow:inset 3px 0 0 var(--tf-accent);color:var(--tf-text-bright);font-weight:600}[dir=rtl] .ws-railfilter[aria-pressed=true]{box-shadow:inset -3px 0 0 var(--tf-accent)}.ws-railfilter__name{flex:1 1 auto}.ws-railfilter__n{font-size:var(--tf-text-hint)}.ws-dot{width:6px;height:6px;border-radius:50%;flex:none;background:currentColor}.ws-dot--ok{background:var(--tf-success)}.ws-dot--warn{background:var(--tf-warning)}.ws-dot--bad{background:var(--tf-danger)}.ws-dot--info{background:var(--tf-info)}.ws-sections{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ws-section{display:flex;align-items:center;gap:8px;width:100%;padding:3px 4px;border:1px solid transparent;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-hint);cursor:pointer}.ws-section:hover{background:var(--tf-bg-control-hover, var(--tf-bg-control))}.ws-section[aria-pressed=true]{border-color:var(--tf-accent);background:var(--tf-accent-mix);color:var(--tf-text-bright)}.ws-section__name{width:26px;flex:none}.ws-section__n{width:26px;flex:none;text-align:end}.ws-section__bar{flex:1 1 auto;height:6px;border-radius:999px;background:var(--tf-bg-input, var(--tf-bg-control));overflow:hidden;display:flex}.ws-section__seg--ok{background:var(--tf-success)}.ws-section__seg--plate{background:var(--tf-warning)}.ws-section__seg--unwritten{background:var(--tf-info)}.ws-section__seg--bad{background:var(--tf-danger)}.ws-focus__main{min-width:0;display:flex;flex-direction:column}.ws-focus__main>.ws-banners{padding:10px 16px 0}.ws-focus__toolbar{flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--tf-border)}.ws-focus__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.ws-focus__scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 28px;display:flex;flex-direction:column;gap:18px}.ws-focus__scroll .ws-tablewrap--joints{max-height:none}.ws-focus__block{min-width:0}.ws-focus__h{margin:0 0 4px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ws-focus__block>.ws-focus__toolbar{padding:0 0 8px;border-bottom:0}.ws-bars{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.ws-bars li{display:flex;align-items:center;gap:10px;font-size:var(--tf-text-hint)}.ws-bars__name{width:150px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-bars__value{width:74px;flex:none;text-align:end}.ws-bars__extra{width:110px;flex:none;color:var(--tf-text-subtle)}.ws-bars__track{flex:1 1 auto;height:12px;border-radius:3px;background:var(--tf-bg-input, var(--tf-bg-control));overflow:hidden;display:block}.ws-bars__track--inline{display:block;width:100%;height:7px;border-radius:999px}.ws-bars__fill{display:block;height:100%;background:var(--tf-accent)}.ws-bars__fill--done{background:var(--tf-success)}.ws-bars__fill--current{background:var(--tf-warning)}.ws-bars__fill--pending{background:transparent}.ws-slowest{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.ws-slowest li{display:flex;align-items:baseline;gap:8px;font-size:var(--tf-text-caption)}.ws-slowest__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-detailpane{min-width:0;display:flex;flex-direction:column;background:var(--tf-bg-panel, var(--tf-bg-app));border-inline-start:1px solid var(--tf-border)}.ws-detailpane__head{flex:none;display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--tf-border)}.ws-detailpane__label{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.ws-detailpane__body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 20px}.ws-detailpane .ws-joint__detail{grid-template-columns:minmax(0,1fr)}.ws-detailpane .ws-kv--dense{grid-template-columns:minmax(0,1.4fr) minmax(88px,1fr)}.ws-warnlist{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.ws-warnlist li{border:1px solid var(--tf-warning-edge);border-radius:var(--tf-radius-md);background:var(--tf-warning-wash);padding:8px 11px;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text);overflow-wrap:anywhere}.ws-jointpick{border:0;background:transparent;color:inherit;padding:0;cursor:pointer;text-align:start}.ws-jointpick:hover{color:var(--tf-accent);text-decoration:underline}.ws-row--picked td{background:var(--tf-accent-mix)}.ws-row--picked td:first-child{box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .ws-row--picked td:first-child{box-shadow:inset -3px 0 0 var(--tf-accent)}.ws-row--picked .ws-jointpick{font-weight:600}.ws-focus__close:focus-visible,.ws-railfilter:focus-visible,.ws-section:focus-visible,.ws-jointpick:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.ws-icalc-opts{display:flex;flex-direction:column;gap:12px}.ws-preset--custom{display:inline-flex;align-items:center;padding:3px 10px;border:1px dashed var(--tf-border-strong);border-radius:var(--tf-radius-pill);font-size:var(--tf-text-hint);font-style:italic;color:var(--tf-text-subtle)}.ws-reqsum__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.ws-reqsum__tile{border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel);padding:9px 11px;min-width:0}.ws-reqsum__label{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ws-reqsum__value{margin-top:2px;font-family:var(--tf-font-mono, monospace);font-size:var(--tf-text-metric);font-weight:600;line-height:1.15;color:var(--tf-text-bright);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ws-reqsum__value--word{font-family:inherit;font-size:var(--tf-text-panel-title)}.ws-reqsum__note{font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle);overflow-wrap:anywhere}.ws-reportbar,.ws-modeldata{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:12px;padding:9px 12px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel, var(--tf-bg-app))}.ws-reportbar>svg,.ws-modeldata>svg{flex:none;color:var(--tf-text-faint)}.ws-savedmodels{margin-top:6px}.ws-savedmodels__hint{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);line-height:var(--tf-leading-hint)}.ws-savedmodels__add{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ws-savedmodels__input{flex:1 1 260px;min-width:0}.ws-savedmodels__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ws-savedmodels__row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:var(--tf-text-count);padding:3px 6px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-panel)}.ws-savedmodels__path{flex:1 1 240px;min-width:0;overflow-wrap:anywhere}.ws-savedmodels__meta{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ws-savedmodels__bad{font-size:var(--tf-text-hint);color:var(--tf-text);overflow-wrap:anywhere}.ws-savedmodels__bad:before{content:"✕ ";color:var(--tf-danger)}.ws-savedmodels__actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.ws-reportbar__title,.ws-modeldata__title{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.ws-reportbar__meta,.ws-modeldata__meta{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);overflow-wrap:anywhere}.rb{display:flex;flex-direction:column;gap:12px}.rb-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding-bottom:12px;border-bottom:1px solid var(--tf-border)}.rb-head__spacer{flex:1}.rb-project{display:flex;align-items:center;gap:10px;min-width:0;margin:0}.rb-project__icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-accent)}.rb-project__text{display:flex;flex-direction:column;min-width:0}.rb-project__name{font-size:14px;font-weight:600;color:var(--tf-text-bright);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-project__meta{font-size:11.5px;color:var(--tf-text-subtle)}.rb-project--none{gap:8px;font-size:12.5px;color:var(--tf-text);flex-wrap:wrap}.rb-project--none>svg{flex:none;color:var(--tf-warning)}.rb-catia{display:inline-flex;align-items:center;gap:7px;padding:3px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-pill);background:var(--tf-bg-input);font-size:11.5px;color:var(--tf-text-muted);white-space:nowrap}.rb-catia__dot{width:7px;height:7px;border-radius:50%;background:var(--tf-success)}.rb-catia--warn{color:var(--tf-text);border-color:color-mix(in srgb,var(--tf-warning) 55%,var(--tf-border))}.rb-catia--warn .rb-catia__dot{background:var(--tf-warning)}.rb-go{position:sticky;bottom:-40px;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:10px 12px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel);box-shadow:var(--tf-shadow-md)}.rb-go__text{flex:1 1 260px;display:flex;flex-direction:column;gap:2px;min-width:0}.rb-go__summary{font-size:13px;font-weight:600;color:var(--tf-text-bright)}.rb-go__why{font-size:11.5px;color:var(--tf-text-subtle)}.rb-go__why--warn{color:var(--tf-text);padding-inline-start:8px;border-inline-start:2px solid var(--tf-warning)}.rb-go__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-inline-start:auto}.rb-dev{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--tf-warning) 55%,var(--tf-border));border-radius:var(--tf-radius-md);background:color-mix(in srgb,var(--tf-warning) 10%,var(--tf-bg-panel));color:var(--tf-warning)}.rb-dev>svg{flex:none;margin-top:1px}.rb-dev__text{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px;color:var(--tf-text)}.rb-dev__text b{color:var(--tf-text-bright);font-size:12.5px}.rb-dev__ack{display:inline-flex;align-items:center;gap:7px;margin-top:2px;font-weight:600;cursor:pointer}.rb-fold>summary{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--tf-text-subtle);cursor:pointer;list-style:none}.rb-fold>summary::-webkit-details-marker{display:none}.rb-fold>summary:before{content:"▸";font-size:10px;transition:transform .12s ease}.rb-fold[open]>summary:before{transform:rotate(90deg)}.rb-fold>summary:hover{color:var(--tf-text-bright)}.rb-fold__body{padding-top:10px}.rb-run{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--tf-border)}.rb-run__title{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--tf-tracking-caption);color:var(--tf-text-subtle)}.rb-run .ws-reportbar,.rb-run .ws-console{margin-top:0}.ws-batch{display:flex;min-height:560px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);overflow:hidden;background:var(--tf-bg-app)}.ws-batch .bt-body{flex:1}.ar-filterbar{flex:none;display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.ar-grow{flex:1}.ar-end{text-align:end}.ar-list{container-type:inline-size;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;background:var(--tf-bg-panel)}.ar-row,.ar-hrow{display:grid;grid-template-columns:34px minmax(0,1.35fr) 104px minmax(0,1fr) 118px 150px;gap:10px}.ar-row>*,.ar-hrow>*{min-width:0}.ar-hrow{padding:7px 14px;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle);background:var(--tf-bg-elevated);position:sticky;top:0;z-index:2;white-space:nowrap}.ar-row{align-items:center;padding:8px 14px;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-body);transition:background .1s ease;position:relative}.ar-row:hover{background:var(--tf-bg-control-hover)}.ar-row:hover .ar-acts,.ar-row:focus-within .ar-acts{opacity:1;visibility:visible}.ar-row:hover .ar-when,.ar-row:focus-within .ar-when{opacity:0}.ar-icon{display:flex;color:var(--tf-text-subtle)}.ar-name__text{display:block;font-weight:500;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ar-name__ref{display:block;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ar-reason{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ar-contents{font-size:var(--tf-text-hint);color:var(--tf-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ar-whencell{position:relative;display:flex;align-items:center;justify-content:flex-end;min-width:0;overflow:hidden;height:28px}.ar-when{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .12s ease}.ar-acts{position:absolute;top:50%;inset-inline-end:0;transform:translateY(-50%);display:flex;gap:5px;padding-inline-start:14px;opacity:0;visibility:hidden;transition:opacity .12s ease;background:linear-gradient(to right,transparent,var(--tf-bg-control-hover) 14px)}[dir=rtl] .ar-acts{background:linear-gradient(to left,transparent,var(--tf-bg-control-hover) 14px)}@container (max-width: 760px){.ar-row,.ar-hrow{grid-template-columns:34px minmax(0,1.35fr) 104px 118px 128px}.ar-c-reason{display:none}}@container (max-width: 560px){.ar-row,.ar-hrow{grid-template-columns:34px minmax(0,1fr) 118px 128px}.ar-c-type{display:none}}.ar-restored{margin:10px 14px}.ar-confirmbar{flex:none;padding:8px 16px;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel)}.ar-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--tf-danger-wash);border:1px solid var(--tf-danger-edge);border-radius:var(--tf-radius-sm);padding:6px 10px;font-size:var(--tf-text-body)}.ar-confirm__icon{flex:none;color:var(--tf-danger)}.ar-confirm__text{flex:1;min-width:0}.ar-foot{flex:none;display:flex;align-items:center;gap:16px;padding:7px 16px;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel);font-size:var(--tf-text-hint);color:var(--tf-text-subtle);overflow:hidden}.ar-foot__item{display:flex;align-items:center;gap:6px;white-space:nowrap;flex:none}.ar-foot__kept{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tfa-toolbar{flex:none;display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;padding:8px 16px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tfa-toolbar__spacer{flex:1}.tfa-toolbar__count{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tfa-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;container-type:inline-size}.tfa-pad{padding:8px 16px 0}.tfa-footer{flex:none;display:flex;align-items:center;gap:16px;padding:7px 16px;overflow:hidden;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel);font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tfa-footer>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.tfa-footer__note{overflow:hidden;text-overflow:ellipsis}.tfa-faint{color:var(--tf-text-subtle)}.tfa-small{font-size:var(--tf-text-count);margin:0}.tfa-hint{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tfa-flip{transition:none}[dir=rtl] .tfa-flip{transform:scaleX(-1)}.tfa-link{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;color:var(--tf-accent);font:inherit;font-size:var(--tf-text-count);cursor:pointer;text-decoration:none}.tfa-link:hover{text-decoration:underline}.tfa-link:focus-visible{outline:2px solid var(--tf-accent);outline-offset:2px;border-radius:3px}.tfa-search{width:260px;max-width:100%}.tfa-search__clear{display:inline-flex;border:0;background:none;color:var(--tf-text-subtle);cursor:pointer;padding:2px;border-radius:var(--tf-radius-xs)}.tfa-search__clear:hover{color:var(--tf-text);background:var(--tf-bg-control)}.tfa-sort{display:inline-flex;align-items:center;gap:6px;color:var(--tf-text-subtle)}.tfa-code{display:inline-flex;align-items:center;justify-content:center;flex:none;font-family:var(--tf-font-mono);font-weight:700;letter-spacing:.08em;color:var(--tf-text-bright);background:var(--tf-accent-mix);border:1px solid var(--tf-accent-edge);border-radius:var(--tf-radius-md)}.tfa-code--md{min-width:46px;height:32px;padding:0 8px;font-size:var(--tf-text-choice)}.tfa-code--lg{min-width:58px;height:42px;padding:0 10px;font-size:var(--tf-text-screen-title);border-radius:var(--tf-radius-panel)}.tfa-code[data-empty]{color:var(--tf-text-subtle);background:var(--tf-bg-control);border-style:dashed;border-color:var(--tf-border-strong)}.tfa-runstatus{display:inline-flex;align-items:center;--tone: var(--tf-text-subtle)}.tfa-runstatus[data-tone=success]{--tone: var(--tf-success)}.tfa-runstatus[data-tone=warning]{--tone: var(--tf-warning)}.tfa-runstatus[data-tone=danger]{--tone: var(--tf-danger)}.tfa-runstatus__dot{width:8px;height:8px;border-radius:50%;background:var(--tone);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone) 22%,transparent)}.tfa-tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--tf-radius-pill);font-size:var(--tf-text-caption);color:var(--tf-text-muted);background:var(--tf-bg-control);border:1px solid var(--tf-border);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.tfa-tag--more{color:var(--tf-text-subtle)}.tfa-tags{display:flex;flex-wrap:wrap;gap:4px}.tfa-ring{position:relative;display:inline-flex;flex:none}.tfa-ring svg{display:block}.tfa-ring__seg{stroke:var(--tf-border-strong);transition:stroke .2s ease}.tfa-ring__seg[data-done=true]{stroke:var(--tf-accent)}.tfa-ring[data-full] .tfa-ring__seg{stroke:var(--tf-success)}.tfa-ring__text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--tf-font-mono);font-size:var(--tf-text-count);font-weight:700;color:var(--tf-text-bright);font-variant-numeric:tabular-nums}.tfa-ring__text small{font-size:9.5px;font-weight:500;color:var(--tf-text-subtle)}@media(prefers-reduced-motion:reduce){.tfa-ring__seg{transition:none}}.tfa-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 24px;color:var(--tf-text-subtle);max-width:560px;margin:0 auto}.tfa-empty[data-compact]{padding:24px 16px}.tfa-empty__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--tf-radius-md);background:var(--tf-bg-control);color:var(--tf-text-subtle);margin-bottom:4px}.tfa-empty[data-compact] .tfa-empty__icon{width:36px;height:36px}.tfa-empty[data-tone=danger] .tfa-empty__icon{color:var(--tf-danger);background:var(--tf-danger-wash);border:1px solid var(--tf-danger-edge)}.tfa-empty__title{margin:0;font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tfa-empty[data-compact] .tfa-empty__title{font-size:var(--tf-text-choice)}.tfa-empty__body p{margin:0;max-width:56ch;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint)}.tfa-empty__actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;justify-content:center}.tfa-confirm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;font-size:var(--tf-text-body);background:var(--tf-danger-wash);border:1px solid var(--tf-danger-edge);border-radius:var(--tf-radius-sm);color:var(--tf-text)}.tfa-confirm>svg{color:var(--tf-danger);flex:none}.tfa-confirm__text{flex:1;min-width:160px}.tfa-error{margin:0}.tfa-notice{margin:8px 16px 0;align-items:center}.tfa-notice>.tf-notice__icon{margin-top:0}.tfa-fact{display:flex;flex-direction:column;gap:2px;min-width:0}.tfa-fact__label{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle)}.tfa-fact__value{font-size:var(--tf-text-body);color:var(--tf-text);overflow-wrap:anywhere}.tfa-facts{display:flex;flex-direction:column;gap:10px}.tfa-facts--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 16px}.tfa-facts--row{flex-direction:row;flex-wrap:wrap;gap:10px 28px}.tfa-note{margin:0;font-size:var(--tf-text-body);line-height:1.55;color:var(--tf-text-muted);padding:8px 10px;border-inline-start:2px solid var(--tf-border-strong);background:var(--tf-bg-panel);border-start-end-radius:var(--tf-radius-sm);border-end-end-radius:var(--tf-radius-sm)}.tfa-note--pre{white-space:pre-wrap}.tfa-hash{font-family:var(--tf-font-mono)}.tfa-sk{display:block;border-radius:var(--tf-radius-sm);background:linear-gradient(90deg,var(--tf-bg-control) 0%,var(--tf-bg-control-hover) 50%,var(--tf-bg-control) 100%);background-size:200% 100%;animation:tfa-shimmer 1.3s ease-in-out infinite}.tfa-sk--badge{width:48px;height:32px}.tfa-sk--line{height:12px;width:80%}.tfa-sk--short{width:55%}.tfa-sk--shorter{width:35%;margin-top:auto}@keyframes tfa-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.tfa-sk{animation:none}}.tfa-loading{display:flex;align-items:center;gap:8px;padding:24px;color:var(--tf-text-subtle);font-size:var(--tf-text-body)}.tfa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px;padding:16px}.tfa-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:var(--tf-card-pad);text-align:start;font:inherit;color:var(--tf-text);background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);cursor:pointer;position:relative;transition:border-color .12s ease}.tfa-card:hover{border-color:var(--tf-accent-edge)}.tfa-card:focus-visible{outline:none;border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tfa-card--skeleton{cursor:default;min-height:170px;gap:12px;border-color:var(--tf-border)}.tfa-card--skeleton:hover{border-color:var(--tf-border)}.tfa-card__top{display:flex;align-items:flex-start;gap:10px;min-width:0}.tfa-card__titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.tfa-card__name{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tfa-card__where{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tfa-card__pills{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.tfa-card__counts{display:flex;gap:14px;font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);color:var(--tf-text-muted);padding-top:10px;border-top:1px solid var(--tf-border);font-variant-numeric:tabular-nums}.tfa-card__counts>span{display:inline-flex;align-items:center;gap:5px}.tfa-card__counts svg{color:var(--tf-text-subtle)}.tfa-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--tf-text-hint);margin-top:auto}.tfa-card__run{display:inline-flex;align-items:center;gap:6px;color:var(--tf-text-subtle);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tfa-card__size{color:var(--tf-text-subtle);font-size:var(--tf-text-caption);white-space:nowrap}.tfa-intro{padding:12px 16px 32px}.tfa-intro__steps{list-style:none;margin:0 auto;padding:0;display:grid;gap:12px;max-width:860px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tfa-intro__steps li{display:flex;flex-direction:column;gap:6px;padding:var(--tf-card-pad);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);border:1px solid var(--tf-border);font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tfa-intro__steps li svg{color:var(--tf-accent)}.tfa-intro__steps b{color:var(--tf-text-bright);font-size:var(--tf-text-body)}.tfa-dialog{width:min(560px,94%);height:auto;max-height:92%}.tfa-dialog__body{display:flex;flex-direction:column;gap:12px;padding:var(--tf-panel-pad);overflow-y:auto}.tfa-dialog__lede{margin:0;font-size:var(--tf-text-body);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tfa-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.tfa-form-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.tfa-form-code{width:88px;flex:none}.tfa-form-code .tf-input{text-transform:uppercase;letter-spacing:.12em}.tfa-form-grow{flex:1;min-width:180px}.tfa-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.tfa-form-actions{display:flex;justify-content:flex-end;gap:8px}.tfa-textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:54px;padding:6px 8px;font:inherit;font-size:var(--tf-text-body);line-height:1.5;color:var(--tf-text);background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm)}.tfa-textarea:focus{outline:0;border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tfa-dossier{flex:1;min-height:0;display:flex;flex-direction:column;container-type:inline-size}.tfa-dossier--loading .tfa-dhead{gap:14px}.tfa-dhead{flex:none;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:8px 14px;padding:12px 16px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tfa-dhead__titles{min-width:0;display:flex;flex-direction:column;gap:3px}.tfa-dhead__name{margin:0;font-size:var(--tf-text-screen-title);font-weight:600;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tfa-dhead__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.tfa-dhead__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tfa-dhead__check{grid-column:2 / -1}.tfa-checklist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.tfa-checklist__item{display:contents}.tfa-checklist__btn,.tfa-checklist__static{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--tf-radius-pill);font:inherit;font-size:var(--tf-text-hint);white-space:nowrap;border:1px solid var(--tf-border-strong);background:transparent;color:var(--tf-text-muted)}.tfa-checklist__item[data-done=true] .tfa-checklist__static{color:var(--tf-text);border-color:var(--tf-success-edge);background:var(--tf-success-wash)}.tfa-checklist__item[data-done=true] .tfa-checklist__static svg{color:var(--tf-success)}.tfa-checklist__item[data-done=false] .tfa-checklist__static{border-style:dashed;color:var(--tf-text-subtle)}.tfa-checklist__btn{cursor:pointer;border-style:dashed;transition:border-color .12s ease,background .12s ease,color .12s ease}.tfa-checklist__btn:hover:not(:disabled){border-style:solid;border-color:var(--tf-accent);color:var(--tf-text-bright);background:var(--tf-accent-mix)}.tfa-checklist__btn:disabled{cursor:progress;opacity:.7}.tfa-checklist__btn:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tfa-checklist__cta{color:var(--tf-accent);font-weight:600}.tfa-checklist__cta:before{content:"·";margin-inline-end:6px;color:var(--tf-text-subtle)}.tfa-dbody{flex:1;min-height:0;display:flex}.tfa-rail{flex:none;width:200px;display:flex;flex-direction:column;gap:2px;padding:10px 8px;border-inline-end:1px solid var(--tf-border);background:var(--tf-bg-panel);overflow-y:auto}.tfa-rail__item{display:flex;align-items:center;gap:9px;height:32px;padding:0 10px;border:0;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-body);cursor:pointer;text-align:start;transition:background .12s ease,color .12s ease;position:relative}.tfa-rail__item:hover{background:var(--tf-bg-control-hover);color:var(--tf-text)}.tfa-rail__item[data-active=true]{background:var(--tf-accent-mix);color:var(--tf-text-bright);font-weight:600}.tfa-rail__item[data-active=true]:before{content:"";position:absolute;inset-inline-start:0;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--tf-accent)}.tfa-rail__item[data-active=true] svg{color:var(--tf-accent)}.tfa-rail__item:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.tfa-rail__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tfa-rail__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);font-weight:500;color:var(--tf-text-subtle);background:var(--tf-bg-control);border-radius:var(--tf-radius-pill);padding:0 7px;font-variant-numeric:tabular-nums}.tfa-dmain{flex:1;min-width:0;overflow-y:auto;padding:16px 18px 28px;container-type:inline-size}@container (max-width: 760px){.tfa-dhead{grid-template-columns:auto auto minmax(0,1fr) auto}.tfa-dhead .tfa-ring{display:none}.tfa-dhead__actions{grid-column:1 / -1;justify-content:flex-start}.tfa-dhead__check{grid-column:1 / -1}.tfa-dbody{flex-direction:column}.tfa-rail{width:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:6px 8px;border-inline-end:0;border-bottom:1px solid var(--tf-border)}.tfa-rail__item{flex:none}.tfa-rail__item[data-active=true]:before{inset:auto 8px 0;top:auto;height:2px;width:auto}.tfa-dmain{padding:14px 16px 24px}}.tfa-section{display:flex;flex-direction:column;gap:12px;max-width:1200px}.tfa-shead{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.tfa-shead__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:var(--tf-radius-sm);background:var(--tf-bg-control);color:var(--tf-accent)}.tfa-shead__text{flex:1;min-width:200px}.tfa-shead__text h3{margin:0;font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tfa-shead__text p{margin:2px 0 0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle);max-width:70ch}.tfa-shead__actions{display:flex;gap:8px;flex-wrap:wrap}.tfa-panel{display:flex;flex-direction:column;gap:10px;padding:var(--tf-card-pad);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);border:1px solid var(--tf-border);min-width:0;font-size:var(--tf-text-body)}.tfa-panel__title{margin:0;display:flex;align-items:center;gap:6px;min-height:24px;font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle)}.tfa-panel__title .tfa-link{text-transform:none;letter-spacing:normal;font-weight:500}.tfa-panel__title .mono{text-transform:none;letter-spacing:normal;color:var(--tf-text-bright);font-size:var(--tf-text-count)}.tfa-panel__score{color:var(--tf-text-bright);letter-spacing:0;font-size:var(--tf-text-count)}.tfa-overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:12px;align-items:start}.tfa-overview__main,.tfa-overview__side{display:flex;flex-direction:column;gap:12px;min-width:0}@container (max-width: 820px){.tfa-overview{grid-template-columns:minmax(0,1fr)}}.tfa-meter{height:6px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-control);overflow:hidden}.tfa-meter>span{display:block;height:100%;border-radius:inherit;background:var(--tf-accent);transition:width .3s ease}.tfa-checkrows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tfa-checkrows li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--tf-border)}.tfa-checkrows li:last-child{border-bottom:0}.tfa-checkrows li>svg{flex:none;color:var(--tf-text-disabled)}.tfa-checkrows li[data-done=true]>svg{color:var(--tf-success)}.tfa-checkrows__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tfa-checkrows__text b{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.tfa-checkrows li[data-done=true] .tfa-checkrows__text b{color:var(--tf-text-muted)}.tfa-checkrows__text small{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);line-height:var(--tf-leading-hint)}.tfa-storage{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--tf-text-count)}.tfa-storage li{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 34px;align-items:center;gap:10px;color:var(--tf-text-subtle)}.tfa-storage li .mono{text-align:end;color:var(--tf-text)}.tfa-storage__bar{height:5px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-control);overflow:hidden}.tfa-storage__bar>span{display:block;height:100%;background:var(--tf-accent);border-radius:inherit}.tfa-drop{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--tf-radius-md);border:1px dashed var(--tf-border-strong);background:var(--tf-bg-panel);color:var(--tf-text-muted);transition:border-color .12s ease,background .12s ease}.tfa-drop[data-dragging=true],.tfa-drop[data-attention]{border-color:var(--tf-accent);background:var(--tf-accent-mix)}.tfa-drop__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:var(--tf-radius-md);background:var(--tf-bg-control);color:var(--tf-accent)}.tfa-drop[data-dragging=true] .tfa-drop__icon{background:var(--tf-accent);color:var(--tf-text-on-accent)}.tfa-drop__text{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tfa-drop__text b{font-size:var(--tf-text-choice);color:var(--tf-text-bright);font-weight:600}.tfa-uplist{display:flex;flex-direction:column;gap:6px}.tfa-upl{display:grid;grid-template-columns:16px minmax(0,1fr) auto;grid-template-rows:auto 4px;column-gap:8px;row-gap:5px;align-items:center;padding:8px 10px;border-radius:var(--tf-radius-sm);background:var(--tf-bg-elevated);border:1px solid var(--tf-border);font-size:var(--tf-text-count)}.tfa-upl>svg{color:var(--tf-text-subtle)}.tfa-upl[data-state=done]>svg{color:var(--tf-success)}.tfa-upl[data-state=failed],.tfa-upl[data-state=refused]{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.tfa-upl[data-state=failed]>svg,.tfa-upl[data-state=refused]>svg{color:var(--tf-danger)}.tfa-upl__name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tf-text)}.tfa-upl__note{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:nowrap;font-variant-numeric:tabular-nums}.tfa-upl[data-state=failed] .tfa-upl__note,.tfa-upl[data-state=refused] .tfa-upl__note{color:var(--tf-text);white-space:normal}.tfa-upl__bar{grid-column:1 / -1;height:4px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-control);overflow:hidden}.tfa-upl__bar>span{display:block;height:100%;background:var(--tf-accent);border-radius:inherit;transition:width .15s linear}.tfa-upl[data-state=done] .tfa-upl__bar>span{background:var(--tf-success)}.tfa-upl[data-state=failed] .tfa-upl__bar>span,.tfa-upl[data-state=refused] .tfa-upl__bar>span{background:var(--tf-danger);width:100%!important;opacity:.4}.tfa-uplist__clear{align-self:flex-end}.tfa-split{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.tfa-split[data-open]{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}@container (max-width: 900px){.tfa-split[data-open]{grid-template-columns:minmax(0,1fr)}}.tfa-table{border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);overflow:hidden;background:var(--tf-bg-panel);container-type:inline-size}.tfa-tr{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) 104px 76px 128px;gap:10px;align-items:center;width:100%;padding:8px 12px;border:0;border-bottom:1px solid var(--tf-border);background:none;color:var(--tf-text);font:inherit;font-size:var(--tf-text-count);text-align:start}.tfa-table[data-validation] .tfa-tr{grid-template-columns:minmax(0,2fr) minmax(0,1fr) 110px minmax(0,1fr) 168px 70px 112px}.tfa-tr>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tfa-tr:last-child{border-bottom:0}.tfa-tr--head{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle);background:var(--tf-bg-elevated)}.tfa-tr--click{cursor:pointer;transition:background .1s ease}.tfa-tr--click:hover{background:var(--tf-bg-control-hover)}.tfa-tr--click[data-active=true]{background:var(--tf-accent-mix);box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .tfa-tr--click[data-active=true]{box-shadow:inset -3px 0 0 var(--tf-accent)}.tfa-tr--click:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.tfa-doc{display:flex;align-items:center;gap:9px}.tfa-doc>svg{flex:none;color:var(--tf-text-subtle)}.tfa-doc__text{min-width:0;display:flex;flex-direction:column;gap:1px}.tfa-doc__text b{font-weight:600;color:var(--tf-text-bright);overflow:hidden;text-overflow:ellipsis}.tfa-doc__text small{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);overflow:hidden;text-overflow:ellipsis}.tfa-c-size,.tfa-c-up{color:var(--tf-text-subtle)}@container (max-width: 700px){.tfa-tr,.tfa-table[data-validation] .tfa-tr{grid-template-columns:minmax(0,1fr) 96px 70px}.tfa-table[data-validation] .tfa-tr{grid-template-columns:minmax(0,1fr) 168px}.tfa-c-ref,.tfa-c-up,.tfa-c-issuer,.tfa-table[data-validation] .tfa-c-date,.tfa-table[data-validation] .tfa-c-size{display:none}}.tfa-pane{display:flex;flex-direction:column;gap:12px;padding:var(--tf-card-pad);border-radius:var(--tf-radius-md);min-width:0;background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);position:sticky;top:0}.tfa-pane__head{display:flex;align-items:center;gap:8px}.tfa-pane__head>svg{color:var(--tf-accent);flex:none}.tfa-pane__title{flex:1;min-width:0;font-weight:600;font-size:var(--tf-text-choice);color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tfa-pane__actions{display:flex;flex-wrap:wrap;gap:6px}.tfa-pane__form{display:flex;flex-direction:column;gap:10px}.tfa-preview{border-radius:var(--tf-radius-sm);border:1px solid var(--tf-border);background:var(--tf-bg-canvas);overflow:hidden;min-height:140px;display:flex;align-items:center;justify-content:center}.tfa-preview[data-kind=pdf]{height:460px;align-items:stretch}.tfa-preview[data-kind=pdf] iframe{flex:1;width:100%;border:0;background:#fff}.tfa-preview img{max-width:100%;max-height:460px;display:block;object-fit:contain}.tfa-preview__text{margin:0;padding:10px;width:100%;max-height:360px;overflow:auto;font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);line-height:1.5;color:var(--tf-text);white-space:pre-wrap;align-self:stretch}.tfa-preview__msg{display:flex;align-items:center;gap:8px;padding:20px;font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.tfa-preview__msg--bad{color:var(--tf-text)}.tfa-preview__msg--bad svg{color:var(--tf-danger)}.tfa-preview__card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;text-align:center;font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.tfa-preview__card>svg{color:var(--tf-text-subtle)}.tfa-preview__card b{color:var(--tf-text-bright);overflow-wrap:anywhere}.tfa-job{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--tf-radius-md);font-size:var(--tf-text-count);background:var(--tf-bg-elevated);border:1px solid var(--tf-border)}.tfa-job>svg{flex:none;color:var(--tf-accent)}.tfa-job[data-state=done]{border-color:var(--tf-success-edge)}.tfa-job[data-state=done]>svg{color:var(--tf-success)}.tfa-job[data-state=failed]{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.tfa-job[data-state=failed]>svg{color:var(--tf-danger)}.tfa-job__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tfa-job__body b{color:var(--tf-text-bright);font-weight:600}.tfa-job__body span{color:var(--tf-text-subtle);overflow-wrap:anywhere}.tfa-inline-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;padding:var(--tf-card-pad);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);border:1px solid var(--tf-border)}.tfa-inline-form__hint{flex-basis:100%}.tfa-models{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tfa-model{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:var(--tf-card-pad);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);border:1px solid var(--tf-border)}.tfa-model__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:var(--tf-radius-md);background:var(--tf-bg-control);color:var(--tf-accent)}.tfa-model__text{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}.tfa-model__text>b{font-size:var(--tf-text-choice);color:var(--tf-text-bright);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tfa-model__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tfa-model__actions{display:flex;align-items:center;gap:6px}.tfa-model__confirm,.tfa-contact__confirm{flex-basis:100%}.tfa-src{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:var(--tf-radius-pill);font-size:var(--tf-text-caption);font-weight:600;line-height:1.3;white-space:nowrap;background:var(--tf-bg-control);border:1px solid var(--tf-border-strong);color:var(--tf-text-muted)}.tfa-src[data-source=catia]{color:var(--tf-text-bright);background:var(--tf-accent-mix);border-color:var(--tf-accent-edge)}.tfa-src[data-source=folder]{color:var(--tf-text-bright);background:var(--tf-info-wash);border-color:var(--tf-info-edge)}.tfa-capture{display:flex;flex-direction:column;gap:10px;padding:var(--tf-card-pad);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);border:1px solid var(--tf-border)}.tfa-tl{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:8px}.tfa-tl:before{content:"";position:absolute;inset-inline-start:7px;top:12px;bottom:12px;width:2px;background:var(--tf-border);border-radius:2px}.tfa-tl--single:before{display:none}.tfa-tl--single .tfa-tl__node{display:none}.tfa-tl--single .tfa-tl__item{padding-inline-start:0}.tfa-tl__item{position:relative;padding-inline-start:26px}.tfa-tl__node{position:absolute;inset-inline-start:1px;top:16px;width:14px;height:14px;border-radius:50%;background:var(--tf-bg-app);border:3px solid var(--tf-text-subtle)}.tfa-tl__node[data-tone=ok]{border-color:var(--tf-success)}.tfa-tl__node[data-tone=failed]{border-color:var(--tf-danger)}.tfa-tl__node[data-tone=partial]{border-color:var(--tf-warning)}.tfa-run{width:100%;display:flex;flex-direction:column;gap:8px;padding:var(--tf-card-pad);text-align:start;border-radius:var(--tf-radius-md);border:1px solid var(--tf-border-strong);background:var(--tf-bg-elevated);color:var(--tf-text);font:inherit;cursor:pointer;transition:border-color .12s ease}.tfa-run:hover{border-color:var(--tf-accent-edge)}.tfa-run:focus-visible{outline:none;border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tfa-run__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tfa-run__kind{font-size:var(--tf-text-caption);color:var(--tf-text-muted);padding:1px 8px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-control);border:1px solid var(--tf-border)}.tfa-run__when{font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);color:var(--tf-text-subtle);font-variant-numeric:tabular-nums}.tfa-run__facts{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--tf-text-count);color:var(--tf-text-muted)}.tfa-run__facts>span{display:inline-flex;align-items:center;gap:5px}.tfa-run__facts svg{color:var(--tf-text-subtle)}.tfa-run__facts [data-tone=warning],.tfa-run__facts [data-tone=danger]{color:var(--tf-text)}.tfa-run__facts [data-tone=warning] svg{color:var(--tf-warning)}.tfa-run__facts [data-tone=danger] svg{color:var(--tf-danger)}.tfa-run__note{font-size:var(--tf-text-count);color:var(--tf-text-subtle);font-style:italic}.tfa-run__by{font-size:var(--tf-text-caption)}.tfa-runview__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tfa-runview__head h3{margin:0;font-family:var(--tf-font-mono);font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright);font-variant-numeric:tabular-nums}.tfa-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.tfa-tile{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);border:1px solid var(--tf-border);min-width:0}.tfa-tile>span{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle)}.tfa-tile>b{font-family:var(--tf-font-mono);font-size:var(--tf-text-metric);font-weight:600;color:var(--tf-text-bright);line-height:1.15;font-variant-numeric:tabular-nums}.tfa-tile>small{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tfa-tile[data-tone=warning]{border-color:var(--tf-warning-edge);background:var(--tf-warning-wash)}.tfa-tile[data-tone=danger]{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.tfa-stages{display:flex;flex-wrap:wrap;gap:4px}.tfa-runtabs{margin-top:4px}.tfa-runtab{min-width:0}.tfa-reader{display:flex;flex-direction:column;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);overflow:hidden;background:var(--tf-bg-panel)}.tfa-reader__bar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--tf-border);flex-wrap:wrap;background:var(--tf-bg-elevated)}.tfa-reader__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle);margin-inline-start:auto}.tfa-reader__text{margin:0;max-height:62vh;overflow:auto;padding:8px 0;background:var(--tf-bg-canvas);font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);line-height:1.55;color:var(--tf-text);text-align:left;direction:ltr}.tfa-reader__line{display:flex;min-width:max-content}.tfa-reader__line[data-hit]{background:var(--tf-warning-wash)}.tfa-reader__no{flex:none;width:52px;padding-right:12px;text-align:right;color:var(--tf-text-disabled);-webkit-user-select:none;user-select:none}.tfa-reader__src{white-space:pre;padding-right:16px}.tfa-reader mark{background:color-mix(in srgb,var(--tf-warning) 40%,transparent);color:inherit;border-radius:2px}.tfa-reader mark[data-current]{background:var(--tf-warning);color:var(--tf-text-on-warning)}.tfa-visual{display:flex;flex-direction:column;gap:8px}.tfa-visual__bar{display:flex;gap:6px;flex-wrap:wrap}.tfa-visual__frame{width:100%;height:560px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:#fff}.tfa-visual__frame[data-tall]{height:88vh}.tfa-icalc{min-width:0}.tfa-artifacts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);overflow:hidden;background:var(--tf-bg-elevated)}.tfa-artifact{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--tf-border);flex-wrap:wrap}.tfa-artifact:last-child{border-bottom:0}.tfa-artifact>svg{color:var(--tf-text-subtle);flex:none}.tfa-artifact__text{flex:1;min-width:160px;display:flex;flex-direction:column;gap:1px;font-size:var(--tf-text-count)}.tfa-artifact__text b{color:var(--tf-text-bright);font-weight:600}.tfa-artifact__text small{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tfa-contacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.tfa-contact{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:var(--tf-card-pad);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);border:1px solid var(--tf-border);min-width:0;position:relative}.tfa-contact--form{flex-direction:column;align-items:stretch;gap:10px;grid-column:1 / -1}.tfa-contact__avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--tf-accent-mix);border:1px solid var(--tf-accent-edge);color:var(--tf-text-bright);font-weight:700;font-size:var(--tf-text-choice)}.tfa-contact__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.tfa-contact__name{font-size:var(--tf-text-choice);color:var(--tf-text-bright)}.tfa-contact__role{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tfa-contact__links{display:flex;flex-direction:column;gap:3px;margin-top:4px}.tfa-contact__links a{display:inline-flex;align-items:center;gap:6px;font-size:var(--tf-text-count);color:var(--tf-accent);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:fit-content;max-width:100%}.tfa-contact__links a:hover{text-decoration:underline}.tfa-contact__note{margin:6px 0 0;font-size:var(--tf-text-hint);color:var(--tf-text-muted);line-height:var(--tf-leading-hint)}.tfa-contact__actions{display:flex;gap:2px;opacity:.55;transition:opacity .12s ease}.tfa-contact:hover .tfa-contact__actions,.tfa-contact:focus-within .tfa-contact__actions{opacity:1}.tfa-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tfa-event{display:flex;gap:12px;padding:8px 2px;border-bottom:1px solid var(--tf-border)}.tfa-event:last-child{border-bottom:0}.tfa-event__icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--tf-bg-control);color:var(--tf-text-subtle)}.tfa-event[data-action$=delete] .tfa-event__icon{color:var(--tf-danger)}.tfa-event[data-action^="run."] .tfa-event__icon{color:var(--tf-accent)}.tfa-event__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tfa-event__text{font-size:var(--tf-text-body);color:var(--tf-text);overflow-wrap:anywhere}.tfa-event__meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}@media(max-width:560px){.tfa-toolbar{padding:8px 12px}.tfa-search{width:100%}.tfa-grid{padding:12px;grid-template-columns:minmax(0,1fr)}}.tf-risaimport{position:relative;width:min(600px,94%);max-height:calc(100% - 40px)}.tf-risaimport .tf-newproject__body{overflow-y:auto;min-height:0}.tf-risaimport--dragover .tf-dropzone{border-color:var(--tf-accent)}.tf-risaimport__note{align-items:flex-start}.tf-risaimport__note>svg{margin-top:2px}.tf-risaimport__file{color:var(--tf-text)}.tf-risaimport__optbody{display:flex;flex-direction:column;gap:8px}.tf-risaimport__opthint{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-risaimport__opthint>strong{color:var(--tf-text)}.tf-risaimport__summary{display:flex;gap:14px;align-items:flex-start}.tf-risaimport__thumb{flex:none;max-height:170px;max-width:120px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.tf-risaimport__stats{flex:1;min-width:0;margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;font-size:var(--tf-text-body)}.tf-risaimport__stats dt{color:var(--tf-text-subtle)}.tf-risaimport__stats dd{margin:0;color:var(--tf-text-bright);overflow-wrap:anywhere}.tf-risaimport__warnings{display:flex;flex-direction:column;gap:6px}.tf-risaimport__entry{min-width:0;gap:10px}.lb-filterbar{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:8px 16px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.lb-filters{flex:1 1 auto;min-width:0}.lb-toast{flex:0 1 auto;min-width:0;max-width:100%}.lb-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 16px}.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:12px}.lb-grow{flex:1}.lb-card{background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);padding:var(--tf-card-pad);display:flex;gap:14px;transition:border-color .12s ease;min-width:0;cursor:pointer}.lb-card:hover{border-color:var(--tf-accent-edge)}.lb-thumb{width:84px;height:176px;flex:none;background:var(--tf-bg-canvas);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);display:flex;align-items:stretch;justify-content:center;overflow:hidden;padding:4px}.lb-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.lb-ident{min-width:0}.lb-name{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-code{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-badges{display:flex;flex-wrap:wrap;gap:4px}.lb-desc{font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lb-specs{display:flex;flex-direction:column;gap:4px}.lb-kv{display:flex;justify-content:space-between;gap:10px;font-size:var(--tf-text-hint);color:var(--tf-text)}.lb-kv span:first-child{color:var(--tf-text-subtle)}.lb-kv .mono{font-size:var(--tf-text-caption)}.lb-kv__rev{display:inline-flex;align-items:center;gap:4px}.lb-devnote{margin-bottom:12px}.lb-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lb-order{flex:1 1 120px;justify-content:center;min-width:0}.lb-icons{display:flex;gap:4px;margin-inline-start:auto}.lb-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;cursor:default;background:var(--tf-danger-wash);border:1px solid var(--tf-danger-edge);border-radius:var(--tf-radius-sm);padding:6px 9px;font-size:var(--tf-text-hint);color:var(--tf-text)}.lb-confirm__icon{flex:none;color:var(--tf-danger)}.lb-confirm__text{flex:1;min-width:0}.lb-foot{flex:none;display:flex;align-items:center;gap:16px;padding:7px 16px;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel);font-size:var(--tf-text-hint);color:var(--tf-text-subtle);overflow:hidden}.lb-foot__item{display:flex;align-items:center;gap:6px;white-space:nowrap;flex:none}.tf-screenhdr.lb-hdr{container-type:inline-size}@container (max-width: 1480px){.lb-hdr .lb-act>span{display:none}.lb-hdr .lb-act{padding-inline:8px}}@container (max-width: 1180px){.lb-hdr .tf-screenhdr__count{display:none}}.sh-window{width:min(560px,92vw)}.sh-body{display:flex;flex-direction:column;gap:12px;padding:14px;max-height:70vh;overflow-y:auto}.sh-owner{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--tf-text-body);color:var(--tf-text-bright)}.sh-hint{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.sh-peoplehead{display:flex;align-items:center;gap:10px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.sh-search{flex:1;min-width:0;height:28px;padding:0 8px;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);font-family:inherit;font-size:var(--tf-text-body);font-weight:400;letter-spacing:normal;text-transform:none;color:var(--tf-text);outline:none}.sh-search:focus{border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.sh-people{display:flex;flex-direction:column;max-height:240px;overflow-y:auto;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated)}.sh-people>.sh-none{padding:10px 12px}.sh-person{display:flex;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid var(--tf-border)}.sh-person:last-child{border-bottom:0}.sh-person__name{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:var(--tf-text-body);color:var(--tf-text-bright)}.sh-person__user{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.sh-levels{flex:none}.sh-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.tf-tc__grow{flex:1}.tf-tc__list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;max-height:320px;overflow-y:auto}.tf-tc__row{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-panel)}.tf-tc__row--gone{flex-direction:row;align-items:center;gap:6px;border-style:dashed;background:none;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-tc__meta{display:flex;align-items:center;gap:6px}.tf-tc__who{font-size:var(--tf-text-hint);font-weight:600;color:var(--tf-text-bright)}.tf-tc__when,.tf-tc__edited{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-tc__edited{font-style:italic}.tf-tc__text{margin:2px 0 0;font-size:var(--tf-text-body);line-height:var(--tf-leading-normal);white-space:pre-wrap;word-break:break-word}.tf-tc__input{width:100%;padding:6px 9px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input);color:var(--tf-text);font:inherit;font-size:var(--tf-text-body);resize:vertical;outline:none}.tf-tc__input:focus{border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tf-tc__edit{display:flex;flex-direction:column;gap:6px;margin-top:4px}.tf-tc__editactions{display:flex;justify-content:flex-end;gap:6px}.tf-tc__compose{display:flex;flex-direction:column;gap:6px}.tf-tc__composebar{display:flex;align-items:center;gap:8px}.tf-tc__against{display:inline-flex;align-items:center;gap:5px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);cursor:pointer}.md-body{flex:1;min-height:0;display:flex}.md-grow{flex:1}.md-notfound{flex:1;display:flex;align-items:center;justify-content:center}.md-inlineform{display:flex;align-items:center;gap:6px}.md-inlineform .tf-input-wrap,.md-inlineform input{min-width:0}.md-toast{max-width:360px}.md-side{width:272px;flex:none;border-inline-end:1px solid var(--tf-border);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.md-thumb{height:320px;flex:none;background:var(--tf-bg-canvas);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);display:flex;justify-content:center;overflow:hidden;padding:8px}.md-previewcap{display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--tf-text-caption);font-family:var(--tf-font-mono);color:var(--tf-text-subtle)}.md-specs{gap:6px}.md-weight{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}.md-desc{margin:0;font-size:var(--tf-text-body);line-height:1.55;color:var(--tf-text-muted)}.md-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--tf-bg-panel)}.md-panelhead{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:10px 14px;border-bottom:1px solid var(--tf-border);font-weight:600;font-size:var(--tf-text-panel-title);color:var(--tf-text-bright)}.md-panelhead__count{font-family:var(--tf-font-mono);font-weight:400;font-size:var(--tf-text-count);color:var(--tf-text-subtle);font-variant-numeric:tabular-nums}.md-panelhead__aside{display:inline-flex;align-items:center;gap:5px;font-weight:400;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.md-graphscroll{flex:1;min-height:0;overflow-y:auto;padding-block:10px;padding-inline:6px 14px}.md-selbar.tf-actionbar{flex:none;border-top:1px solid var(--tf-border);padding:9px 14px}.md-selbar__summary{display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--tf-text-body);font-weight:400;color:var(--tf-text-subtle)}.md-selbar__summary>svg{flex:none}.md-selbar__text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-selbar__text b{color:var(--tf-text-bright)}.md-right{width:300px;flex:none;border-inline-start:1px solid var(--tf-border);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.md-railcap.tf-section-label{margin:4px 0 0}.tf-screenhdr.md-hdr{container-type:inline-size;gap:10px}.tf-screenhdr>.md-toast{flex:0 1 auto;min-width:0;max-width:40%}.md-toast>svg{flex:none}.md-toast>.tf-notice__body{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (max-width: 1320px){.md-hdr .md-act>span{display:none}.md-hdr .md-act{padding-inline:8px}}@container (max-width: 760px){.md-hdr .md-code{display:none}}.md-code{display:flex;align-items:center;gap:6px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);white-space:nowrap}.md-code b{font-family:var(--tf-font-mono);font-weight:600;color:var(--tf-text-bright)}.md-inspector__title{display:inline-flex;align-items:center;gap:4px}.md-fieldlabel{display:flex;flex-direction:column;gap:4px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.md-field{width:100%;min-width:0;padding:5px 8px;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);font-family:inherit;font-size:var(--tf-text-body);font-weight:400;letter-spacing:normal;text-transform:none;color:var(--tf-text);outline:none}.md-field:focus{border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.md-field:disabled{opacity:.6;cursor:not-allowed}textarea.md-field{resize:vertical;min-height:68px;line-height:1.5}.md-datahead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.md-datarow{display:flex;align-items:center;gap:5px}.md-datakey{flex:0 0 38%;font-family:var(--tf-font-mono);font-size:var(--tf-text-hint)}.md-datadel.tf-ibtn{width:26px;height:26px}.md-relcard{display:flex;gap:10px;padding:9px;background:var(--tf-bg-elevated);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);cursor:pointer;text-align:start;width:100%;font-family:inherit;color:inherit;transition:border-color .12s ease}.md-relcard:hover{border-color:var(--tf-accent-edge)}.md-relcard:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.md-relthumb{width:44px;height:66px;flex:none;background:var(--tf-bg-canvas);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);overflow:hidden;display:flex;justify-content:center;padding:2px}.md-relbody{flex:1;min-width:0}.md-relname{display:block;font-weight:600;font-size:var(--tf-text-body);color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-relcode{display:block;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.md-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.rg{display:flex;align-items:flex-start}.rg-rail{flex:none}.rg-list{flex:1;min-width:0}.rg-row{display:flex;align-items:center;gap:10px;width:100%;padding:0 10px;background:none;border:0;border-radius:var(--tf-radius-md);cursor:pointer;font-family:inherit;color:var(--tf-text);text-align:start}.rg-row:hover{background:var(--tf-bg-control-hover)}.rg-row:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.rg-row[data-sel=true]{background:var(--tf-accent-mix);box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .rg-row[data-sel=true]{box-shadow:inset -3px 0 0 var(--tf-accent)}.rg-rev{flex:none;min-width:46px;text-align:center;font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);font-weight:600;padding:2px 7px;border:1px solid;border-radius:var(--tf-radius-pill);white-space:nowrap}.rg-note{flex:1;min-width:0}.rg-note b{display:block;font-size:var(--tf-text-body);font-weight:500;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rg-note>span{display:block;margin-top:2px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);font-family:var(--tf-font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rg-badge{flex:none}.rg-lock{flex:none;color:var(--tf-text-subtle)}.rg-kind{flex:none;display:inline-flex;color:var(--tf-text-subtle)}.rg-kind[data-kind=version]{color:var(--tf-warning)}.rg-meta{flex:none;display:flex;align-items:center;gap:3px;font-size:var(--tf-text-caption);font-weight:600;font-family:var(--tf-font-mono);color:var(--tf-text-subtle)}.rg-tag{flex:none;display:flex;align-items:center;gap:4px;font-size:var(--tf-text-caption);font-weight:500;padding:1px 8px;border-radius:var(--tf-radius-pill);color:var(--tf-text-bright);background:var(--tf-accent-mix);border:1px solid var(--tf-accent-edge);white-space:nowrap}.rg-tag svg{color:var(--tf-accent)}.xm-scroll{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.xm-grow{flex:1}.xm-end{display:flex;justify-content:flex-end;text-align:end}.xm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.xm-card{background:var(--tf-bg-elevated);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);padding:var(--tf-card-pad);display:flex;flex-direction:column;gap:10px}.xm-card[data-denied]{opacity:.6}.xm-card__head{display:flex;align-items:center;gap:10px}.xm-card__text{min-width:0}.xm-card__name{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.xm-card__sub{font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.xm-card__go{justify-content:center}.xm-fmt{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--tf-radius-md);background:var(--tf-bg-control);color:var(--tf-text-muted);flex:none}.xm-list{container-type:inline-size}.xm-row,.xm-hrow{display:grid;grid-template-columns:34px minmax(0,1.3fr) 96px minmax(0,1fr) 120px 100px;gap:10px}.xm-row>*,.xm-hrow>*{min-width:0}.xm-hrow{padding:7px 16px;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle);background:var(--tf-bg-elevated);position:sticky;top:0}.xm-row{align-items:center;padding:8px 16px;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-body)}.xm-row:hover{background:var(--tf-bg-control-hover)}.xm-row:last-child{border-bottom:0}.xm-icon{color:var(--tf-text-subtle);display:flex}.xm-file__name{display:block;font-size:var(--tf-text-count);font-weight:500;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xm-file__tower{display:block;font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xm-format{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.xm-dest{font-size:var(--tf-text-hint);color:var(--tf-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xm-when{font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:nowrap}@container (max-width: 640px){.xm-row,.xm-hrow{grid-template-columns:34px minmax(0,1.3fr) 96px 100px}.xm-c-dest,.xm-when,.xm-hrow>:nth-child(5){display:none}}.xm-foot{flex:none;display:flex;align-items:center;gap:16px;padding:7px 16px;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel);font-size:var(--tf-text-hint);color:var(--tf-text-subtle);overflow:hidden}.xm-foot__item{display:flex;align-items:center;gap:6px;white-space:nowrap}.xm-toast{padding-block:2px;white-space:nowrap}.tf-shares{display:flex;flex-direction:column;height:100%;min-height:0;container-type:inline-size}.tf-shares__off{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;padding:var(--tf-space-8)}.tf-chats{font-size:var(--tf-text-choice)}.tf-chats__body{position:relative;display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);flex:1;min-height:0}[dir=rtl] .tf-chat-flip{transform:scaleX(-1)}.tf-chat-rot{transform:rotate(180deg)}[dir=rtl] .tf-chat-rot.tf-chat-flip{transform:scaleX(-1) rotate(180deg)}.tf-chat-avatar{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;letter-spacing:.02em;line-height:1;-webkit-user-select:none;user-select:none;color:#fff;background:hsl(var(--tf-avatar-hue, 210) 42% 44%)}.tf-chat-avatar__dot{position:absolute;inset-block-end:0;inset-inline-end:0;width:28%;height:28%;min-width:8px;min-height:8px;border-radius:50%;background:var(--tf-success);border:2px solid var(--tf-bg-panel);box-sizing:border-box}.tf-chat-pill{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:var(--tf-radius-pill);font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);font-weight:600;background:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-chat-pill.is-muted{background:var(--tf-border-strong);color:var(--tf-text-bright)}.tf-chat-pill.is-mention{font-family:var(--tf-font-sans)}.tf-chat-ticks{display:inline-flex;align-items:center;color:var(--tf-text-subtle)}.tf-chat-ticks.is-read{color:var(--tf-accent)}.tf-chat-list{display:flex;flex-direction:column;min-height:0;min-width:0;border-inline-end:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-chat-list__head{display:flex;align-items:center;gap:8px;padding:10px 12px 6px}.tf-chat-list__filters{padding:0 12px 8px;border-bottom:1px solid var(--tf-border)}.tf-chat-list__scroll{flex:1;min-height:0;overflow-y:auto}.tf-chat-list__loading{margin:0;padding:18px 16px;text-align:center;font-size:var(--tf-text-body);color:var(--tf-text-subtle)}.tf-chat-list__results{display:flex;flex-direction:column;padding:6px 0;border-top:1px solid var(--tf-border)}.tf-chat-list__results>.tf-section-label{padding:4px 12px}.tf-chat-list .tf-notice{margin:8px 12px}.tf-chat-search{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:30px;padding:0 4px 0 10px;padding-inline:10px 4px;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);color:var(--tf-text-subtle);transition:border-color .12s ease,box-shadow .12s ease}.tf-chat-search:focus-within{border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tf-chat-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--tf-text);font:inherit;font-size:var(--tf-text-body)}.tf-chat-search input::-webkit-search-cancel-button{display:none}.tf-chat-search input::placeholder{color:var(--tf-text-faint)}.tf-chat-row,.tf-chat-result{position:relative;display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:8px 12px;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer;transition:background .12s ease}.tf-chat-row:hover,.tf-chat-result:hover{background:var(--tf-bg-control-hover)}.tf-chat-row:focus-visible,.tf-chat-result:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--tf-accent)}.tf-chat-row.is-selected{background:var(--tf-accent-mix)}.tf-chat-row.is-selected:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--tf-accent)}.tf-chat-row__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tf-chat-row__top,.tf-chat-row__bottom{display:flex;align-items:center;gap:5px;min-width:0}.tf-chat-row__kind,.tf-chat-row__glyph{flex:none;color:var(--tf-text-subtle)}.tf-chat-row__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--tf-text-bright)}.tf-chat-row__time{flex:none;display:inline-flex;align-items:center;gap:3px;font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-chat-row.is-unread .tf-chat-row__time{color:var(--tf-accent)}.tf-chat-row__preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tf-text-body);color:var(--tf-text-subtle)}.tf-chat-row__preview.is-system,.tf-chat-row__preview.is-deleted{font-style:italic}.tf-chat-row__preview.is-typing{color:var(--tf-accent)}.tf-chat-row__preview.is-draft{color:var(--tf-text)}.tf-chat-placeholder{display:flex;align-items:center;justify-content:center;min-height:0;background:var(--tf-bg-app)}.tf-chat-main{position:relative;display:flex;min-height:0;min-width:0;background:var(--tf-bg-app)}.tf-chat-view{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.tf-chat-view>.tf-notice{margin:6px 16px 0}.tf-chat-head{flex:none;display:flex;align-items:center;gap:6px;height:52px;padding:0 10px;padding-inline:12px 8px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-chat-head__back{display:none}.tf-chat-head__id{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 6px;border:0;border-radius:var(--tf-radius-sm);background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.tf-chat-head__id:hover{background:var(--tf-bg-control-hover)}.tf-chat-head__id:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-chat-head__text{display:flex;flex-direction:column;min-width:0}.tf-chat-head__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tf-chat-head__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-chat-head__sub.is-typing,.tf-chat-head__sub.is-online{color:var(--tf-accent)}.tf-chat-insearch{flex:none;display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-chat-insearch .tf-chat-search{max-width:360px}.tf-chat-insearch__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle);min-width:64px}.tf-chat-pinned{flex:none;display:flex;align-items:center;gap:6px;padding:4px 10px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-chat-pinned__main{flex:1;min-width:0;display:flex;align-items:stretch;gap:8px;padding:3px 4px;border:0;border-radius:var(--tf-radius-sm);background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.tf-chat-pinned__main:hover{background:var(--tf-bg-control-hover)}.tf-chat-pinned__main:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-chat-pinned__bars{display:flex;flex-direction:column;gap:2px;width:3px}.tf-chat-pinned__bars span{flex:1;border-radius:2px;background:var(--tf-accent-edge)}.tf-chat-pinned__bars span.is-on{background:var(--tf-accent)}.tf-chat-pinned__text{display:flex;flex-direction:column;min-width:0}.tf-chat-pinned__label{font-size:var(--tf-text-caption);font-weight:600;color:var(--tf-accent)}.tf-chat-pinned__quote{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tf-text-body)}.tf-chat-selectbar{flex:none;display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--tf-border);background:var(--tf-accent-mix)}.tf-chat-selectbar__count{font-weight:600;color:var(--tf-text-bright)}.tf-chat-timeline{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 16px 12px;overflow-anchor:none}.tf-chat-timeline>.tf-empty{height:70%;justify-content:center}.tf-chat-timeline__more{display:flex;justify-content:center;padding:6px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-chat-feed{display:flex;flex-direction:column;max-width:860px;margin:0 auto}.tf-chat-date{position:sticky;top:4px;z-index:1;display:flex;justify-content:center;margin:10px 0 6px;pointer-events:none}.tf-chat-date span{padding:2px 10px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-panel);border:1px solid var(--tf-border);font-size:var(--tf-text-caption);font-weight:600;color:var(--tf-text-subtle)}.tf-chat-unread{display:flex;justify-content:center;margin:8px -16px;padding:3px 0;background:var(--tf-accent-mix);font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-bright)}.tf-chat-system{display:flex;justify-content:center;align-items:baseline;gap:6px;margin:6px auto;max-width:80%;padding:3px 10px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-panel);text-align:center;font-size:var(--tf-text-hint);font-style:italic;color:var(--tf-text-subtle)}.tf-chat-system__time{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);font-style:normal}.tf-chat-msg{position:relative;display:flex;align-items:flex-end;gap:4px;margin-top:2px}.tf-chat-msg.is-first{margin-top:8px}.tf-chat-msg.is-mine{flex-direction:row-reverse}.tf-chat-msg.is-selecting{cursor:pointer}.tf-chat-msg.is-selected .tf-chat-bubble{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-chat-msg__check{flex:none;align-self:center;accent-color:var(--tf-accent);width:16px;height:16px}.tf-chat-bubble{position:relative;max-width:min(560px,78%);min-width:72px;box-sizing:border-box;padding:6px 10px 5px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);color:var(--tf-text);outline:none;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:4px;transition:background .3s ease}.tf-chat-msg.is-mine .tf-chat-bubble{background:var(--tf-accent-mix);border-color:var(--tf-accent-edge)}.tf-chat-msg.is-theirs:not(.is-last) .tf-chat-bubble{border-end-start-radius:var(--tf-radius-xs)}.tf-chat-msg.is-theirs:not(.is-first) .tf-chat-bubble{border-start-start-radius:var(--tf-radius-xs)}.tf-chat-msg.is-mine:not(.is-last) .tf-chat-bubble{border-end-end-radius:var(--tf-radius-xs)}.tf-chat-msg.is-mine:not(.is-first) .tf-chat-bubble{border-start-end-radius:var(--tf-radius-xs)}.tf-chat-msg.is-flash .tf-chat-bubble{background:var(--tf-accent-mix-strong)}.tf-chat-bubble__who{font-size:var(--tf-text-body);font-weight:600;color:color-mix(in oklab,hsl(var(--tf-avatar-hue, 210) 65% 52%) 75%,var(--tf-text-bright))}.tf-chat-bubble__text{white-space:pre-wrap;line-height:var(--tf-leading-normal)}.tf-chat-bubble__subject{display:block;color:var(--tf-text-bright)}.tf-chat-bubble__meta{display:inline-flex;align-items:center;gap:4px;align-self:flex-end;margin-top:-2px;font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle);white-space:nowrap}.tf-chat-bubble__edited{font-family:var(--tf-font-sans);font-style:italic}.tf-chat-bubble__fwd{display:flex;align-items:center;gap:4px;font-size:var(--tf-text-hint);color:var(--tf-accent);font-weight:500}.tf-chat-bubble__deleted{display:flex;align-items:center;gap:6px;font-style:italic;color:var(--tf-text-subtle)}.tf-chat-bubble__deleted .tf-chat-bubble__meta{margin:0;margin-inline-start:auto}.tf-chat-link{color:var(--tf-accent);text-decoration:underline;text-underline-offset:2px}.tf-chat-mention{color:var(--tf-accent);font-weight:500}.tf-chat-mention.is-me{padding:0 2px;border-radius:var(--tf-radius-xs);background:var(--tf-accent-mix-strong)}.tf-chat-quote{display:flex;flex-direction:column;gap:1px;min-width:0;padding:3px 8px;border:0;border-inline-start:3px solid color-mix(in oklab,hsl(var(--tf-avatar-hue, 210) 65% 52%) 75%,var(--tf-text-bright));border-radius:var(--tf-radius-xs);background:color-mix(in oklab,var(--tf-bg-panel) 60%,transparent);color:inherit;font:inherit;text-align:start;cursor:pointer}.tf-chat-quote:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-chat-quote__who{font-size:var(--tf-text-hint);font-weight:600;color:color-mix(in oklab,hsl(var(--tf-avatar-hue, 210) 65% 52%) 75%,var(--tf-text-bright))}.tf-chat-quote__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tf-text-body);color:var(--tf-text-subtle)}.tf-chat-quote.is-missing{border-inline-start-color:var(--tf-border-strong);font-style:italic}.tf-chat-images{display:grid;gap:3px;border-radius:var(--tf-radius-sm);overflow:hidden}.tf-chat-images.is-n1{grid-template-columns:minmax(0,320px)}.tf-chat-images.is-n2,.tf-chat-images.is-n4,.tf-chat-images.is-n3{grid-template-columns:repeat(2,minmax(0,160px))}.tf-chat-images.is-n3>:first-child{grid-column:1 / -1}.tf-chat-image{position:relative;display:block;padding:0;border:0;background:var(--tf-bg-control);cursor:zoom-in;aspect-ratio:4 / 3;overflow:hidden}.tf-chat-images.is-n1 .tf-chat-image{aspect-ratio:auto;min-height:120px;max-height:300px}.tf-chat-image img{display:block;width:100%;height:100%;object-fit:cover}.tf-chat-images.is-n1 .tf-chat-image img{max-height:300px;object-fit:contain;height:auto}.tf-chat-image:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.tf-chat-image__ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:100px;color:var(--tf-text-subtle)}.tf-chat-image__more{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--tf-scrim);color:#fff;font-size:var(--tf-text-metric);font-weight:600}.tf-chat-file,.tf-chat-tower{display:flex;align-items:center;gap:8px;min-width:200px;padding:6px 8px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-panel);color:inherit;font:inherit;text-align:start}.tf-chat-tower{cursor:pointer}.tf-chat-tower:hover{border-color:var(--tf-accent-edge)}.tf-chat-tower:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-chat-tower.is-withheld{cursor:default;color:var(--tf-text-subtle)}.tf-chat-file__icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--tf-radius-sm);background:var(--tf-accent-mix);color:var(--tf-accent)}.tf-chat-file__text{display:flex;flex-direction:column;flex:1;min-width:0}.tf-chat-file__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--tf-text-bright)}.tf-chat-file__size{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-chat-file__denied{display:inline-flex;padding:0 6px;color:var(--tf-text-subtle)}.tf-chat-tower__sub{font-family:var(--tf-font-sans)}.tf-chat-tower__go{flex:none;color:var(--tf-text-subtle)}.tf-chat-request{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--tf-info-edge);border-radius:var(--tf-radius-sm);background:var(--tf-info-wash)}.tf-chat-request__head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tf-chat-request__head>svg{color:var(--tf-info)}.tf-chat-request__title{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-chat-request__due{display:inline-flex;align-items:center;gap:3px;font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.tf-chat-request__by{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-chat-request__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tf-chat-request__actions .tf-input-wrap{flex:1;min-width:140px}.tf-chat-reactions{display:flex;flex-wrap:wrap;gap:4px}.tf-chat-reaction{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;box-sizing:border-box;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-pill);background:var(--tf-bg-panel);color:var(--tf-text);font:inherit;font-size:var(--tf-text-body);cursor:pointer}.tf-chat-reaction:hover{border-color:var(--tf-accent-edge)}.tf-chat-reaction:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-chat-reaction.is-mine{border-color:var(--tf-accent);background:var(--tf-accent-mix)}.tf-chat-reaction__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-chat-reaction.is-mine .tf-chat-reaction__count{color:var(--tf-text-bright)}.tf-chat-msg__actions{position:relative;display:flex;align-items:center;gap:0;opacity:0;transition:opacity .12s ease}.tf-chat-msg:hover .tf-chat-msg__actions,.tf-chat-msg:focus-within .tf-chat-msg__actions,.tf-chat-msg__actions:has([aria-expanded=true]){opacity:1}@media(hover:none){.tf-chat-msg__actions{opacity:1}}.tf-chat-palette{position:absolute;inset-block-end:calc(100% + 4px);inset-inline-start:0;z-index:20;display:flex;gap:2px;padding:4px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-pill);background:var(--tf-bg-panel);box-shadow:var(--tf-shadow-md)}.tf-chat-msg.is-mine .tf-chat-palette{inset-inline-start:auto;inset-inline-end:0}.tf-chat-palette__btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:none;font-size:17px;line-height:1;cursor:pointer}.tf-chat-palette__btn:hover,.tf-chat-palette__btn:focus-visible{outline:none;background:var(--tf-bg-control-hover)}.tf-chat-palette__btn.is-mine{background:var(--tf-accent-mix)}.tf-chat-jump{position:absolute;inset-inline-end:calc(18px + var(--tf-companion-clear, 0px));inset-block-end:78px;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--tf-border-strong);border-radius:50%;background:var(--tf-bg-panel);color:var(--tf-text);box-shadow:var(--tf-shadow-md);cursor:pointer}.tf-chat-jump:hover{border-color:var(--tf-accent-edge)}.tf-chat-jump:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-chat-jump .tf-chat-pill{position:absolute;inset-block-start:-8px;inset-inline-end:-4px}.tf-chat-toast{position:absolute;inset-inline:0;inset-block-end:82px;width:max-content;max-width:80%;margin:0 auto;z-index:6;padding:6px 12px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-pill);background:var(--tf-bg-panel);box-shadow:var(--tf-shadow-md);font-size:var(--tf-text-body);animation:tf-chat-fade .15s ease}.tf-chat-drop{position:absolute;top:52px;right:8px;bottom:8px;left:8px;z-index:7;display:flex;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--tf-accent);border-radius:var(--tf-radius-panel);background:var(--tf-accent-mix);color:var(--tf-text-bright);font-weight:600;pointer-events:none}.tf-chat-composer{flex:none;display:flex;flex-direction:column;gap:6px;padding:8px 12px 10px;padding-inline-end:calc(12px + var(--tf-companion-clear, 0px));border-top:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-chat-composer.is-blocked{align-items:center}.tf-chat-composer__bar{display:flex;align-items:center;gap:8px;padding:2px 4px 2px 8px;padding-inline:8px 4px;border-inline-start:3px solid var(--tf-accent);color:var(--tf-accent)}.tf-chat-composer__bartext{display:flex;flex-direction:column;flex:1;min-width:0}.tf-chat-composer__barwho{font-size:var(--tf-text-hint);font-weight:600}.tf-chat-composer__barquote{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tf-text-body);color:var(--tf-text-subtle)}.tf-chat-composer__attach{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.tf-chat-composer__attach li{display:inline-flex;align-items:center;gap:5px;max-width:260px;padding:2px 2px 2px 8px;padding-inline:8px 2px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-pill);background:var(--tf-bg-elevated);font-size:var(--tf-text-body)}.tf-chat-composer__attname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-chat-composer__attsize{flex:none;font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-chat-composer__request{display:flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--tf-info-edge);border-radius:var(--tf-radius-sm);background:var(--tf-info-wash);font-size:var(--tf-text-body)}.tf-chat-composer__request>svg{color:var(--tf-info)}.tf-chat-composer__request .tf-input-wrap{width:160px}.tf-chat-composer__row{display:flex;align-items:flex-end;gap:4px}.tf-chat-composer__tools{display:flex;align-items:center;height:34px}.tf-chat-composer__field{position:relative;flex:1;min-width:0}.tf-chat-composer__text{display:block;width:100%;box-sizing:border-box;min-height:34px;max-height:200px;padding:7px 10px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input);color:var(--tf-text);font:inherit;font-size:var(--tf-text-choice);line-height:1.4;resize:none;overflow-y:auto;transition:border-color .12s ease,box-shadow .12s ease}.tf-chat-composer__text:focus{outline:none;border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tf-chat-composer__text::placeholder{color:var(--tf-text-faint)}.tf-chat-composer__row>.tf-iconbtn{height:34px}.tf-chat-composer__send{height:34px;min-width:40px;padding:0 10px}.tf-chat-pop{position:absolute;inset-block-end:calc(100% + 6px);inset-inline-start:0;z-index:20;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel);box-shadow:var(--tf-shadow-md);animation:tf-chat-fade .12s ease}.tf-chat-emoji{display:grid;grid-template-columns:repeat(8,30px);gap:2px;padding:6px;inset-inline-start:auto;inset-inline-end:0}.tf-chat-mentions{min-width:220px;max-width:320px;padding:4px}.tf-chat-mentions__row{display:flex;align-items:baseline;gap:6px;padding:5px 8px;border-radius:var(--tf-radius-sm);cursor:pointer}.tf-chat-mentions__row.is-active,.tf-chat-mentions__row:hover{background:var(--tf-accent-mix)}.tf-chat-mentions__name{font-weight:500;color:var(--tf-text-bright)}.tf-chat-mentions__user{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-chat-towers{display:flex;flex-direction:column;gap:6px;width:min(340px,80vw);padding:8px}.tf-chat-towers__list{display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.tf-chat-towers__row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:var(--tf-radius-sm);background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.tf-chat-towers__row:hover,.tf-chat-towers__row:focus-visible{outline:none;background:var(--tf-accent-mix)}.tf-chat-towers__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-chat-towers__code{font-family:var(--tf-font-mono);font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.tf-chat-info{flex:none;display:flex;flex-direction:column;width:300px;min-height:0;border-inline-start:1px solid var(--tf-border);background:var(--tf-bg-panel)}.tf-chat-info__head{flex:none;display:flex;align-items:center;height:52px;padding:0 8px 0 14px;padding-inline:14px 8px;border-bottom:1px solid var(--tf-border)}.tf-chat-info__scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:14px}.tf-chat-info__id{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.tf-chat-info__title{font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tf-chat-info__desc{margin:0;font-size:var(--tf-text-body);color:var(--tf-text);white-space:pre-wrap}.tf-chat-info__sub{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-chat-info__edit{display:flex;flex-direction:column;gap:6px;width:100%;text-align:start}.tf-chat-info__members{display:flex;flex-direction:column;gap:2px}.tf-chat-info__members>.tf-btn{align-self:flex-start;margin-bottom:4px}.tf-chat-info__danger{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--tf-border);font-size:var(--tf-text-body)}.tf-chat-person{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:6px 8px;border:0;border-radius:var(--tf-radius-sm);background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.tf-chat-person:hover{background:var(--tf-bg-control-hover)}.tf-chat-person:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-chat-person.is-static{cursor:default}.tf-chat-person.is-static:hover{background:none}.tf-chat-person.is-check>span:last-child{flex:1;min-width:0}.tf-chat-person__inner{display:flex;align-items:center;gap:10px;min-width:0}.tf-chat-person__text{display:flex;flex-direction:column;flex:1;min-width:0}.tf-chat-person__name{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--tf-text-bright)}.tf-chat-person__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-chat-person__badge{padding:0 6px;border:1px solid var(--tf-accent-edge);border-radius:var(--tf-radius-pill);font-size:var(--tf-text-caption);font-weight:600;color:var(--tf-text-bright)}.tf-chat-menu{position:fixed;z-index:80;display:flex;flex-direction:column;min-width:200px;padding:4px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel);box-shadow:var(--tf-shadow-md);animation:tf-chat-fade .1s ease}.tf-chat-menu__item{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border:0;border-radius:var(--tf-radius-sm);background:none;color:var(--tf-text);font:inherit;font-size:var(--tf-text-body);text-align:start;cursor:pointer}.tf-chat-menu__item>svg{flex:none;color:var(--tf-text-subtle)}.tf-chat-menu__item:hover,.tf-chat-menu__item:focus-visible{outline:none;background:var(--tf-accent-mix)}.tf-chat-menu__item:disabled{opacity:.5;cursor:default}.tf-chat-menu__item.is-danger>svg{color:var(--tf-danger)}.tf-chat-menu__item>span{flex:1}.tf-chat-menu__noicon{flex:none;width:14px}.tf-chat-menu__back{border-bottom:1px solid var(--tf-border);border-radius:0;margin-bottom:2px}.tf-share-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--tf-space-5);background:var(--tf-scrim)}.tf-share-dialog{display:flex;flex-direction:column;gap:8px;width:min(560px,100%);max-height:100%;overflow-y:auto;padding:var(--tf-panel-pad);box-sizing:border-box;background:var(--tf-bg-panel);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-panel);box-shadow:var(--tf-shadow-lg)}.tf-chat-dialog{width:min(460px,100%)}.tf-chat-dialog.is-wide{width:min(620px,100%)}.tf-chat-dialog__body{display:flex;flex-direction:column;gap:10px;min-height:0}.tf-chat-dialog__label{display:flex;align-items:center;gap:8px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-chat-dialog__hint{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-share-compose__head{display:flex;align-items:center;gap:var(--tf-space-3);margin:-4px 0 4px;padding-bottom:10px;border-bottom:1px solid var(--tf-border)}.tf-share-compose__head h2{flex:1;margin:0;font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tf-share-compose__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--tf-border)}.tf-chat-picker{display:flex;flex-direction:column;gap:6px}.tf-chat-picker__list{display:flex;flex-direction:column;max-height:280px;overflow-y:auto;padding:2px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.tf-chat-picker__lists{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow-y:auto;padding:6px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.tf-chat-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;grid-template-rows:auto minmax(0,1fr);background:var(--tf-scrim-strong);color:#fff;animation:tf-chat-fade .15s ease}.tf-chat-lightbox__bar{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in oklab,black 40%,transparent)}.tf-chat-lightbox__bar .tf-iconbtn{color:#fff}.tf-chat-lightbox__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.tf-chat-lightbox__count{font-family:var(--tf-font-mono);font-size:var(--tf-text-count)}.tf-chat-lightbox__stage{grid-column:2;display:flex;align-items:center;justify-content:center;min-height:0;padding:12px}.tf-chat-lightbox__stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--tf-radius-sm)}.tf-chat-lightbox__wait{font-size:var(--tf-text-body)}.tf-chat-lightbox__prev,.tf-chat-lightbox__next{align-self:center;justify-self:center;color:#fff}.tf-chat-lightbox__prev{grid-column:1;grid-row:2}.tf-chat-lightbox__next{grid-column:3;grid-row:2}.tf-shares__loading{margin:0;padding:24px 16px;text-align:center;font-size:var(--tf-text-body);color:var(--tf-text-subtle)}.tf-groups__note{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);line-height:var(--tf-leading-hint)}.tf-groups .tf-section-label{margin:6px 0 0}.tf-groups__new{display:flex;flex-direction:column;gap:8px;padding:var(--tf-card-pad);border:1px solid var(--tf-accent);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated)}.tf-group-row{display:flex;flex-direction:column;gap:4px;padding:8px 12px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated)}.tf-group-row__head{display:flex;align-items:center;gap:8px}.tf-group-row__head>svg{flex:none;color:var(--tf-text-subtle)}.tf-group-row__spacer{flex:1}.tf-group-row__name{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.tf-group-row__members{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-group-row__confirm{display:flex;align-items:center;gap:8px;font-size:var(--tf-text-body);color:var(--tf-text);flex-wrap:wrap}.tf-group-row__edit{display:flex;flex-direction:column;gap:6px}.tf-group-row__people{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto;padding:8px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.tf-group-row__actions{display:flex;justify-content:flex-end;gap:6px}@container (max-width: 1080px) and (min-width: 761px){.tf-chats__body:has(.tf-chat-main.has-info){grid-template-columns:minmax(0,1fr)}.tf-chats__body:has(.tf-chat-main.has-info)>.tf-chat-list{display:none}}@container (max-width: 760px){.tf-chats__body{grid-template-columns:minmax(0,1fr)}.tf-chats__body[data-pane=chat]>.tf-chat-list{display:none}.tf-chats__body[data-pane=list]>.tf-chat-placeholder{display:none}.tf-chat-head__back{display:inline-flex}.tf-chat-list{border-inline-end:0}.tf-chat-info{position:absolute;inset-block:0;inset-inline-end:0;z-index:8;width:100%}.tf-chat-bubble{max-width:88%}.tf-chat-timeline{padding-inline:8px}}@keyframes tf-chat-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.tf-chat-menu,.tf-chat-pop,.tf-chat-toast,.tf-chat-lightbox{animation:none}.tf-chat-bubble,.tf-chat-msg__actions,.tf-chat-row{transition:none}}.tf-chat-row__title,.tf-chat-head__title,.tf-chat-info__title{text-align:match-parent}.st-body{flex:1;min-height:0;display:flex;gap:12px;padding:12px 16px}.st-rail{width:200px;flex:none;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:6px;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel)}.st-rail__item{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text);font-family:inherit;font-size:var(--tf-text-body);text-align:start;cursor:pointer;transition:background .12s ease,color .12s ease}.st-rail__item svg{flex:none;color:var(--tf-text-subtle)}.st-rail__item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-rail__item:hover{background:var(--tf-bg-control)}.st-rail__item:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.st-rail__item[data-active=true]{background:var(--tf-accent-mix);color:var(--tf-text-bright);font-weight:600}.st-rail__item[data-active=true] svg{color:var(--tf-accent)}.st-rail__item[data-active=true]:before{content:"";position:absolute;inset-block:6px;inset-inline-start:0;width:3px;border-radius:var(--tf-radius-pill);background:var(--tf-accent)}.st-rail__item[data-dim]{opacity:.45}.st-rail__hit{margin-inline-start:auto;flex:none;padding:0 6px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-control);color:var(--tf-text-bright);font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);font-weight:600;line-height:18px}.st-scroll{flex:1;min-width:0;max-width:780px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-inline-end:2px}.st-cat{display:flex;flex-direction:column;gap:12px}.st-grp__lede{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.st-grp__lede+.tf-fieldrow{border-top:0;padding-top:2px}:root.st-compact .st-panel .tf-fieldrow{padding-block:4px}.st-prev{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin:0;padding-top:8px;border-top:1px solid var(--tf-border);font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.st-prev--readout{font-family:var(--tf-font-mono);color:var(--tf-text-bright);font-size:var(--tf-text-count)}.st-prev--readout b{font-family:var(--tf-font-sans);font-weight:600;color:var(--tf-text-subtle);font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase}.st-grp__lede+.st-prev,.tf-sec__lede+.st-prev,.tf-sec__head+.st-prev{border-top:0;padding-top:0}.st-kbd{font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);padding:3px 8px;color:var(--tf-text-bright);white-space:nowrap}.st-kbd--edit{cursor:pointer;min-width:96px;text-align:center;transition:background .12s,color .12s,border-color .12s}.st-kbd--edit:hover{border-color:var(--tf-accent-edge)}.st-kbd--edit:focus-visible{outline:none;border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.st-kbd--edit[data-recording]{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.st-kbd--edit[data-conflict]{border-color:var(--tf-warning);background:var(--tf-warning-wash)}.st-pets{display:flex;flex-wrap:wrap;gap:6px;max-width:460px}.st-pet{width:44px;height:44px;padding:2px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:transparent}.st-pet:hover{border-color:var(--tf-accent-edge)}.st-pet[aria-pressed=true]{border-color:var(--tf-accent);background:var(--tf-accent-mix)}.st-pet:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.st-swatch{width:44px;height:26px;padding:0;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:none;cursor:pointer}.st-panels{display:flex;gap:24px}.st-panels>span:first-child{width:84px}.st-panels--head{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.st-panels__cell{display:inline-flex;align-items:center;gap:6px}.st-panels__none{color:var(--tf-text-subtle)}.st-inline{display:inline-flex;align-items:center;gap:8px}.st-inline--grow{width:min(360px,100%)}.st-inline--grow>input{flex:1;min-width:0}.st-legend{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.st-value{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);color:var(--tf-text-muted)}.st-search__clear{display:flex;align-items:center;border:0;background:transparent;padding:0;color:var(--tf-text-subtle);cursor:pointer;flex:none}.st-search__clear:hover{color:var(--tf-text-bright)}.st-hit{background:var(--tf-accent-mix-strong);color:inherit;border-radius:var(--tf-radius-xs);padding:0 1px}.st-storage{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.st-foot{flex:none;display:flex;align-items:center;gap:8px;padding:8px 16px;min-height:45px;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel)}.st-foot__ask{display:flex;align-items:center;gap:8px;font-size:var(--tf-text-body);color:var(--tf-text);min-width:0}.st-foot__askIcon{flex:none;color:var(--tf-warning)}.st-warn{display:inline-flex;align-items:flex-start;gap:5px}.st-warn svg{flex:none;margin-top:2px;color:var(--tf-warning)}.ops-pane{display:flex;flex-direction:column;gap:16px}.ops-note{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ops-tiles{display:flex;flex-wrap:wrap;gap:12px}.ops-fact{display:flex;flex-direction:column;gap:2px;min-inline-size:110px}.ops-fact__k{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.ops-fact__v{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text)}.ops-disk{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ops-meter{flex:1;min-inline-size:160px;block-size:8px;border-radius:4px;background:var(--tf-bg-control);overflow:hidden}.ops-meter>span{display:block;block-size:100%;background:var(--tf-accent)}.ops-spark,.ops-bars{display:block;color:var(--tf-accent)}.ops-chart-title{margin-block:8px 4px;font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.ops-list{margin:0;padding-inline-start:18px;font-size:var(--tf-text-count);color:var(--tf-text)}.ops-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-block-end:8px}.ops-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-block-start:8px}.ops-alerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ops-alert{display:flex;align-items:flex-start;gap:10px;padding-block:8px;border-block-end:1px solid var(--tf-border)}.ops-alert:last-child{border-block-end:0}.ops-alert__body{flex:1;min-inline-size:0;font-size:var(--tf-text-count);color:var(--tf-text)}.ops-requests{display:flex;flex-direction:column;gap:16px}.ad-toolbar{flex:none;display:flex;align-items:center;gap:10px;padding:8px 18px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-panel)}.ad-toolbar__count{font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.ad-pane{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px 18px 28px;max-width:900px;box-sizing:content-box}.ad-split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,300px) 1fr}@media(max-width:900px){.ad-split{grid-template-columns:1fr;grid-template-rows:auto 1fr}}.ad-list{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:8px;border-inline-end:1px solid var(--tf-border);background:var(--tf-bg-panel)}.ad-list__note{padding:8px 6px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ad-user{position:relative;display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;border-radius:var(--tf-radius-sm);background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer;transition:background .12s ease}.ad-user:hover{background:var(--tf-bg-control)}.ad-user:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.ad-user[data-active=true]{background:var(--tf-accent-mix)}.ad-user[data-active=true]:before{content:"";position:absolute;inset-block:6px;inset-inline-start:0;width:3px;border-radius:var(--tf-radius-pill);background:var(--tf-accent)}.ad-user__icon{flex:none;color:var(--tf-text-subtle)}.ad-user[data-active=true] .ad-user__icon{color:var(--tf-accent)}.ad-user__body{flex:1;min-width:0}.ad-user__name{display:block;font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-user__you{font-weight:400;color:var(--tf-text-subtle)}.ad-user__sub{display:block;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-user__mark{flex:none;color:var(--tf-text-subtle)}.ad-user[data-disabled=true] .ad-user__name,.ad-user[data-disabled=true] .ad-user__sub{color:var(--tf-text-faint)}.ad-detail{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px 18px 28px}.ad-detail__pills{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.ad-section{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;padding:var(--tf-card-pad);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated);font-size:var(--tf-text-body)}.ad-section__title{display:flex;align-items:center;gap:6px;min-height:24px;font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ad-section__title svg{flex:none}.ad-section__note{margin:0;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.ad-group{display:flex;flex-direction:column}.ad-group+.ad-group{margin-top:6px}.ad-group__title{padding:6px 0 2px;font-size:var(--tf-text-hint);font-weight:600;color:var(--tf-text-muted)}.ad-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:8px 0;min-width:0}.ad-row+.ad-row{border-top:1px solid var(--tf-border)}.ad-row__body{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px}.ad-row__label{display:block;font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.ad-row__desc{display:block;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.ad-section__note+.tf-fieldrow,.ad-group__title+.tf-fieldrow,.ad-group__title+.ad-row,.ad-section__note+.ad-row,.tf-sec__lede+.ad-row{border-top:0}.ad-lock{vertical-align:-1px;margin-inline-end:5px;color:var(--tf-text-subtle)}.ad-row__tag{margin-inline-start:6px;padding:0 6px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-pill);font-size:10px;font-weight:600;line-height:16px;text-transform:uppercase;letter-spacing:var(--tf-tracking-caption);color:var(--tf-text-subtle);vertical-align:1px;white-space:nowrap}.ad-tri{display:inline-flex;flex:none;gap:2px;padding:2px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.ad-tri button{height:22px;padding:0 9px;border:0;border-radius:var(--tf-radius-xs);background:transparent;color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-count);white-space:nowrap;cursor:pointer;transition:background .12s ease,color .12s ease}.ad-tri button:hover:not([data-on=true]):not(:disabled){background:var(--tf-bg-control);color:var(--tf-text-bright)}.ad-tri button:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.ad-tri button[data-on=true]{background:var(--tf-accent);color:var(--tf-text-on-accent);font-weight:600}.ad-tri button:disabled{opacity:.5;cursor:not-allowed}.ad-effective{flex:none;min-width:62px;text-align:end;font-size:var(--tf-text-count);color:var(--tf-text-subtle)}.ad-effective[data-on=true]{color:var(--tf-success);font-weight:600}.ad-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ad-actions--end{justify-content:flex-end}.ad-actions__reason{margin-inline-end:auto}.ad-modal-back{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--tf-scrim)}.ad-modal{width:100%;max-width:400px;padding:var(--tf-panel-pad);background:var(--tf-bg-panel);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-panel);box-shadow:var(--tf-shadow-lg)}.ad-modal__title{margin:0 0 12px;font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.ad-modal__form{display:flex;flex-direction:column;gap:12px}.ad-modal>.ad-banner{margin-bottom:12px}.ad-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.ad-banner{align-items:center}.ad-banner>.tf-notice__icon{margin-top:0}.ad-banner>.tf-notice__end{margin-block:-4px}.ad-accgrid{display:grid;grid-template-columns:minmax(120px,1fr) repeat(var(--ad-acts, 3),max-content);column-gap:12px;overflow-x:auto}.ad-accrow{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:center;padding:8px 0;border-top:1px solid var(--tf-border)}.ad-accrow--head{padding:0 0 2px;border-top:0}.ad-accrow--head+.ad-accrow{border-top:0}.ad-accrow__act{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);text-align:center}.ad-accrow__who{min-width:0;display:flex;flex-direction:column;gap:2px}.ad-accrow .ad-effective{min-width:0;text-align:center}.ad-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ad-filters__end{display:inline-flex;gap:8px;margin-inline-start:auto}.ad-audit{width:100%;border-collapse:collapse;font-size:var(--tf-text-count)}.ad-audit th{padding:6px 8px;border-bottom:1px solid var(--tf-border-strong);color:var(--tf-text-subtle);font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;text-align:start;white-space:nowrap}.ad-audit td{padding:6px 8px;border-bottom:1px solid var(--tf-border);color:var(--tf-text);vertical-align:top}.ad-audit tbody tr:last-child td{border-bottom:0}.ad-audit td svg{vertical-align:-2px;margin-inline-end:4px;color:var(--tf-text-subtle)}.ad-audit tr[data-expandable=true]{cursor:pointer}.ad-audit tr[data-expandable=true]:hover{background:var(--tf-bg-control)}.ad-audit tr[aria-expanded=true]{background:var(--tf-accent-mix)}.ad-audit__meta td{background:var(--tf-bg-panel)}.ad-audit__meta pre{margin:0;max-height:240px;overflow:auto;font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);line-height:1.5;color:var(--tf-text-muted);white-space:pre-wrap;word-break:break-word}.ad-srv__value{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ad-srv__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.ad-srv__fact{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.ad-srv__factLabel{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ad-srv__factValue{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright);overflow-wrap:anywhere}.ad-srv__factValue.mono{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums}.ad-srv__factHint{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ad-srv__badges{display:flex;flex-wrap:wrap;gap:6px}.ad-srv__badges:empty{display:none}.ad-srv__field{display:flex;align-items:center;gap:6px;flex:0 0 auto}.ad-srv__field .tf-input{width:180px}.ad-src__field{margin-top:6px}.ad-src__field .tf-select{width:100%}.ad-src__creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:6px}.ad-src__make,.ad-src__make:hover{text-decoration:none}.ad-srv__danger{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--tf-danger-edge);border-radius:var(--tf-radius-md);background:var(--tf-danger-wash)}.ad-srv__you{margin-inline-start:6px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.ad-srv__log{margin:0;max-height:420px;overflow:auto;padding:8px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-canvas);font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);line-height:1.55;color:var(--tf-text-muted);white-space:pre-wrap;word-break:break-word}.ad-bk__sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 16px}.ad-bk__section{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--tf-border)}.ad-bk__section-tags{display:flex;align-items:center;gap:6px;flex:none}.ad-bk__count{font-size:var(--tf-text-hint);color:var(--tf-text-subtle);font-family:var(--tf-font-mono);white-space:nowrap}.ad-bk__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.ad-bk__row>*{min-width:200px}.ad-bk__stats>div{display:flex;flex-direction:column;gap:2px;min-width:120px;padding:8px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.ad-bk__stats .ad-row__label{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.ad-bk__stats .mono{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.ad-bk__preview{display:flex;flex-direction:column;gap:8px}.ad-bk__meta{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:var(--tf-text-count)}.ad-bk__meta dt{color:var(--tf-text-subtle)}.ad-bk__meta dd{margin:0;color:var(--tf-text)}.ad-bk__rejected{margin:6px 0 0;padding-inline-start:18px;font-size:var(--tf-text-hint);line-height:1.6}.ad-bk__rowacts{display:flex;gap:4px;justify-content:flex-end;white-space:nowrap}.ad-bk__file{display:flex;flex-direction:column;gap:4px}.ad-bk__file input{font:inherit;font-size:var(--tf-text-count);color:var(--tf-text)}.ad-bar{display:flex;flex-direction:column;gap:5px}.ad-bar__track{height:6px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-control);overflow:hidden}.ad-bar__fill{height:100%;background:var(--tf-accent);border-radius:var(--tf-radius-pill);transition:width .4s ease}.ad-bar__fill[data-failed=true]{background:var(--tf-danger)}@media(prefers-reduced-motion:reduce){.ad-bar__fill{transition:none}}.ad-bar__label{margin:0;font-size:var(--tf-text-hint);color:var(--tf-text-subtle);display:flex;gap:8px;justify-content:space-between}.ad-bar__label>span:last-child:not(:first-child){font-family:var(--tf-font-mono)}.ad-bar__log{margin:0;padding:8px 10px;max-height:190px;overflow:auto;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-canvas);color:var(--tf-text-muted);font-family:var(--tf-font-mono);font-size:var(--tf-text-hint);line-height:1.5;white-space:pre-wrap;word-break:break-word}.bt-body{flex:1;min-height:0;display:flex}.bt-list{flex:none;width:260px;border-inline-end:1px solid var(--tf-border);overflow-y:auto;background:var(--tf-bg-panel);display:flex;flex-direction:column}.bt-list__top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--tf-border)}.bt-list__count{font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.bt-list__empty{padding:14px}.bt-list__error{margin:10px 12px 0}.bt-list__row{display:flex;flex-direction:column;gap:4px;text-align:start;padding:10px 14px;border:0;border-bottom:1px solid var(--tf-border);background:none;color:var(--tf-text);font:inherit;cursor:pointer}.bt-list__row:hover{background:var(--tf-bg-control)}.bt-list__row[data-active=true]{background:var(--tf-accent-mix);box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .bt-list__row[data-active=true]{box-shadow:inset -3px 0 0 var(--tf-accent)}.bt-list__row:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.bt-list__name{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-list__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.bt-list__when{font-size:var(--tf-text-caption);color:var(--tf-text-subtle)}.bt-main{flex:1;min-width:0;overflow-y:auto;padding:16px;container-type:inline-size}.bt-empty{padding:36px 16px}.bt-faint{color:var(--tf-text-subtle)}.bt-link{border:0;background:none;padding:0;color:var(--tf-accent);cursor:pointer;font:inherit;font-size:var(--tf-text-count);display:inline-flex;align-items:center;gap:4px;text-decoration:none}.bt-link:hover{text-decoration:underline}.bt-link:focus-visible{outline:2px solid var(--tf-accent);outline-offset:2px;border-radius:2px}.bt-compose{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}@container (max-width: 900px){.bt-compose{grid-template-columns:minmax(0,1fr)}}.bt-side{display:flex;flex-direction:column;gap:12px;min-width:0}.bt-field{max-width:420px}.bt-modeline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.bt-drop{display:flex;align-items:center;gap:10px;padding:16px;border:1px dashed var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel);color:var(--tf-text-muted);font-size:var(--tf-text-body)}.bt-drop[data-dragging=true]{border-color:var(--tf-accent);background:var(--tf-accent-mix)}.bt-drop>svg{flex:none;color:var(--tf-text-subtle)}.bt-drop>span{flex:1}.bt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:10px 12px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel)}.bt-actions__summary{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.bt-table{border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);overflow:hidden;background:var(--tf-bg-panel)}.bt-tr{display:grid;grid-template-columns:28px minmax(0,1.4fr) 64px minmax(0,1fr) minmax(0,1.2fr) 32px;gap:10px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-count)}.bt-tr>*{min-width:0}.bt-tr:last-child{border-bottom:0}.bt-tr--head{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle);background:var(--tf-bg-elevated);border-bottom-color:var(--tf-border-strong)}.bt-tr--click{cursor:pointer}.bt-tr--click:hover{background:var(--tf-bg-control)}.bt-tr--click[data-open=true]{background:var(--tf-accent-mix)}.bt-table--items .bt-tr{grid-template-columns:28px minmax(0,1.4fr) 44px 104px minmax(0,1.5fr) 70px 60px}.bt-tower{display:flex;flex-direction:column;gap:2px}.bt-tower>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-inline{width:100%;border:1px solid transparent;border-radius:var(--tf-radius-xs);background:none;color:var(--tf-text-bright);font:inherit;padding:2px 4px}.bt-inline:hover,.bt-inline:focus{border-color:var(--tf-border-strong);background:var(--tf-bg-input);outline:none}.bt-inline:focus-visible{box-shadow:var(--tf-focus-ring)}.bt-code{text-transform:uppercase;letter-spacing:.1em;width:56px;border-color:var(--tf-border);background:var(--tf-bg-input)}.bt-code[data-invalid=true]{border-color:var(--tf-danger)}.bt-code--fixed{display:inline-block;padding:2px 4px;letter-spacing:.1em;color:var(--tf-text-bright);cursor:help}.bt-check{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bt-bad{font-size:var(--tf-text-hint);color:var(--tf-text)}.bt-bad:before{content:"✕ ";color:var(--tf-danger)}.bt-good{color:var(--tf-text-muted);display:inline-flex;align-items:center;gap:3px;font-size:var(--tf-text-hint)}.bt-good>svg{color:var(--tf-success)}.bt-bad-text{margin:0 0 6px;padding-inline-start:8px;border-inline-start:2px solid var(--tf-danger);color:var(--tf-text)}.bt-detail{padding:8px 14px 10px;padding-inline-start:48px;border-bottom:1px solid var(--tf-border);background:var(--tf-bg-app);font-size:var(--tf-text-count)}.bt-detail ul{margin:4px 0;padding-inline-start:18px}.bt-detail li[data-severity=error]::marker{color:var(--tf-danger)}.bt-detail li[data-severity=warning]::marker{color:var(--tf-warning)}.bt-spin{animation:bt-spin 1s linear infinite;vertical-align:-2px}@keyframes bt-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.bt-spin{animation:none}}.bt-detailview{display:flex;flex-direction:column;gap:12px}.bt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.bt-head__title{display:flex;align-items:center;gap:10px;min-width:0}.bt-head__title h2{margin:0;font-size:var(--tf-text-screen-title);font-weight:600;color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-head__actions{display:flex;gap:6px;flex-wrap:wrap;margin-inline-start:auto}.bt-sub{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.bt-path{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-confirm .tf-notice__text{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.bt-confirm__text{flex:1 1 240px}.bt-confirm__actions{display:inline-flex;gap:6px;margin-inline-start:auto}.bt-counts{display:flex;flex-wrap:wrap;gap:6px}.bt-times{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:var(--tf-text-count);color:var(--tf-text-muted)}.bt-times>span{display:inline-flex;align-items:center;gap:5px}.bt-now{border-color:var(--tf-accent-edge)}.bt-now .tf-sec__title>svg{color:var(--tf-accent)}.bt-stepbar{display:flex;flex-direction:column;gap:5px}.bt-stepbar__line{display:flex;align-items:center;gap:10px;font-size:var(--tf-text-count)}.bt-stepbar__msg{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tf-text-muted)}.bt-stagenow{flex-basis:100%;font-size:var(--tf-text-caption);color:var(--tf-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-mode{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.bt-steps{display:flex;gap:3px;flex-wrap:wrap}.bt-step{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:var(--tf-radius-xs);background:var(--tf-bg-control);color:var(--tf-text-subtle);border:1px solid var(--tf-border)}.bt-step[data-state=running]{color:var(--tf-text-bright);border-color:var(--tf-accent);background:var(--tf-accent-mix)}.bt-step[data-state=ok]{color:var(--tf-text);border-color:var(--tf-success-edge)}.bt-step[data-state=warning]{color:var(--tf-text);border-color:var(--tf-warning-edge);background:var(--tf-warning-wash)}.bt-step[data-state=failed]{color:var(--tf-text);border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.bt-step[data-state=skipped]{opacity:.5;text-decoration:line-through}.bt-rowacts{display:flex;gap:2px;justify-content:flex-end}.bt-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 12px;margin:0 0 6px}.bt-dl dt{color:var(--tf-text-subtle)}.bt-dl dd{margin:0;overflow-wrap:anywhere}.bt-steplog{list-style:none;padding:0;margin:6px 0 0}.bt-steplog>li{padding:2px 0}.bt-steplog>li>b{color:var(--tf-text-bright)}.bt-steplog>li[data-state=failed]>b:before{content:"✕ ";color:var(--tf-danger)}.bt-steplog>li[data-state=warning]>b:before{content:"! ";color:var(--tf-warning)}.bt-steplog>li[data-state=ok]>b:before{content:"✓ ";color:var(--tf-success)}.bt-events{margin:0;padding:8px 10px;padding-inline-start:28px;font-size:var(--tf-text-caption);max-height:260px;overflow-y:auto;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-app)}@container (max-width: 640px){.bt-tr{grid-template-columns:22px minmax(0,1fr) 60px 32px}.bt-tr>:nth-child(4),.bt-tr>:nth-child(5){display:none}.bt-table--items .bt-tr{grid-template-columns:22px minmax(0,1fr) 96px 60px}.bt-table--items .bt-tr>:nth-child(3),.bt-table--items .bt-tr>:nth-child(5),.bt-table--items .bt-tr>:nth-child(6){display:none}}@media(max-width:720px){.bt-body{flex-direction:column}.bt-list{width:auto;max-height:180px;border-inline-end:0;border-bottom:1px solid var(--tf-border)}}.bt-lib{border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-bg-panel)}.bt-lib__bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-hint)}.bt-lib__search{width:220px;max-width:100%}.bt-lib__list{max-height:300px;overflow-y:auto}.bt-lib__empty{padding:14px 10px;font-size:var(--tf-text-count)}.bt-lib__row{display:grid;grid-template-columns:24px minmax(0,1.4fr) 44px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-count)}.bt-lib__row>*{min-width:0}.bt-lib__row[data-blocked=true] .bt-tower{opacity:.6}.bt-lib__rev{width:100%;font:inherit;font-size:var(--tf-text-hint);color:var(--tf-text);background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);padding:2px 4px}.bt-lib__rev:focus-visible{outline:none;border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.bt-lib__why{font-size:var(--tf-text-caption)}.bt-lib__actions{display:flex;justify-content:flex-end;gap:8px;padding:8px 10px}@container (max-width: 560px){.bt-drop{flex-wrap:wrap}.bt-lib__row{grid-template-columns:24px minmax(0,1fr) 44px}.bt-lib__rev,.bt-lib__why{grid-column:2 / -1}}.bt-card .ro-strip{margin-bottom:4px}.jc-main{display:flex;flex-direction:column;gap:12px;min-width:0}.jc-lede{margin:0}.jc-progress{display:flex;flex-direction:column;gap:6px}.jc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.jc-tile{display:flex;flex-direction:column;gap:4px;padding:var(--tf-card-pad);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated)}.jc-tile .tf-t-metric{color:var(--tf-text-bright)}.jc-tile--danger{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.jc-tile--warning{border-color:var(--tf-warning-edge);background:var(--tf-warning-wash)}.jc-tile--success{border-color:var(--tf-success-edge);background:var(--tf-success-wash)}.jc-table{width:100%}.jc-table td,.jc-table th{text-align:start}.jc-row{cursor:pointer}.jc-row:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.jc-pairs ul{list-style:none;margin:0;padding:4px 0;display:flex;flex-direction:column;gap:4px}.jc-pairs li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.jc-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-block-end:8px}.jc-search{min-width:180px;flex:1}.jc-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.jc-written{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.jc-written li,.jc-worst{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.jc-compare tr[data-disagree] td{background:var(--tf-warning-wash)}.jc-compare tr[data-disagree] td:first-child{box-shadow:inset 3px 0 0 var(--tf-warning-edge)}[dir=rtl] .jc-compare tr[data-disagree] td:first-child{box-shadow:inset -3px 0 0 var(--tf-warning-edge)}.ck-pane{display:flex;flex-direction:column;gap:12px;min-width:0}.ck-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lc-pane{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:1100px}.lc-lede{margin:0}.lc-progress{display:flex;flex-direction:column;gap:6px}.lc-what{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lc-what li{display:flex;flex-direction:column;gap:2px}.lc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.lc-tile{display:flex;flex-direction:column;gap:4px;padding:var(--tf-card-pad);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated)}.lc-tile .tf-t-metric{color:var(--tf-text-bright)}.lc-tile--danger{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.lc-tile--success{border-color:var(--tf-success-edge);background:var(--tf-success-wash)}.lc-joints{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lc-joint{display:flex;flex-direction:column;gap:8px;padding:var(--tf-card-pad);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);background:var(--tf-bg-elevated)}.lc-joint[data-state=fail]{border-color:var(--tf-danger-edge)}.lc-joint[data-state=bend]{border-color:var(--tf-warning-edge)}.lc-joint--last{opacity:.85}.lc-joint--last p{margin:0}.lc-joint__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.lc-joint__title{color:var(--tf-text-bright);font-weight:600}.lc-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.lc-check{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm)}.lc-check[data-state=fail]{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.lc-check__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lc-check__name{color:var(--tf-text-bright)}.lc-check__catia{margin-inline-start:auto}.lc-check__what{margin:0}.lc-plate{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm)}.lc-plate[data-tone=warning]{border-color:var(--tf-warning-edge);background:var(--tf-warning-wash)}.lc-plate[data-tone=danger]{border-color:var(--tf-danger-edge);background:var(--tf-danger-wash)}.lc-plate__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lc-figures,.lc-crank{display:grid;grid-template-columns:repeat(3,auto 1fr);align-items:baseline;gap:2px 8px;margin:0}.lc-figures dd,.lc-crank dd{margin:0}.lc-figures dd[data-over]{text-decoration:underline;text-decoration-color:var(--tf-danger-edge);text-decoration-thickness:2px;text-underline-offset:3px}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--tf-accent: #3a82f7;--tf-accent-hover: #4f90f9;--tf-accent-press: #2f6fd6;--tf-accent-soft: #1c3454;--tf-bg-app: #1e1f22;--tf-bg-canvas: #141519;--tf-bg-panel: #232529;--tf-bg-elevated: #26282c;--tf-bg-input: #2b2d31;--tf-bg-control: #2f3237;--tf-bg-control-hover: #34373d;--tf-border: #34373d;--tf-border-strong: #41454d;--tf-border-muted: #444649;--tf-text: #e8e8ea;--tf-text-bright: #eef0f3;--tf-text-muted: #b6b9bf;--tf-text-subtle: #9aa0a6;--tf-text-faint: #80858c;--tf-text-disabled: #6b6e74;--tf-text-on-accent: #ffffff;--tf-success: #5fa860;--tf-warning: #e0a030;--tf-danger: #cc5555;--tf-info: #46c0ff;--tf-leg: #3a82f7;--tf-brace: #e0a030;--tf-brace-opt: #a78bfa;--tf-brace-ghost: #6d727c;--tf-outline: #5a5e66;--tf-select: #46c0ff;--tf-plate: #93a0b8;--tf-scroll-track: #1e1f22;--tf-scroll-thumb: #41454d;--tf-scroll-thumb-hover:#52565f;--tf-scrim: rgba(0, 0, 0, .45);--tf-scrim-strong: rgba(0, 0, 0, .55)}:root[data-theme=light],.tf-theme-light{--tf-bg-app: #f4f5f7;--tf-bg-canvas: #eef0f3;--tf-bg-panel: #ffffff;--tf-bg-elevated: #ffffff;--tf-bg-input: #ffffff;--tf-bg-control: #ffffff;--tf-bg-control-hover: #dadde1;--tf-border: #d9dce0;--tf-border-strong: #cdd1d6;--tf-border-muted: #e6e8eb;--tf-text: #1d1f22;--tf-text-bright: #1d2228;--tf-text-muted: #5a5e64;--tf-text-subtle: #6b6e74;--tf-text-faint: #80858c;--tf-text-disabled: #a7abb0;--tf-brace-opt: #7c3aed;--tf-brace-ghost: #9aa0a6;--tf-plate: #5c6880;--tf-scroll-track: #e7e9ec;--tf-scroll-thumb: #c0c4c9;--tf-scroll-thumb-hover:#a7abb0;--tf-scrim: rgba(16, 20, 28, .32);--tf-scrim-strong: rgba(16, 20, 28, .45)}:root[data-theme=midnight],.tf-theme-midnight{--tf-accent: #4c8dff;--tf-accent-hover: #629dff;--tf-accent-press: #3a78e0;--tf-accent-soft: #1b2c4d;--tf-bg-app: #161c2c;--tf-bg-canvas: #0f1422;--tf-bg-panel: #1b2338;--tf-bg-elevated: #1f2940;--tf-bg-input: #232d47;--tf-bg-control: #26314e;--tf-bg-control-hover: #2c3856;--tf-border: #2c3856;--tf-border-strong: #3a4a70;--tf-border-muted: #3d4a68;--tf-text: #e5e9f5;--tf-text-bright: #eef1fa;--tf-text-muted: #a9b2cc;--tf-text-subtle: #8992b3;--tf-text-faint: #6f79a0;--tf-text-disabled: #565f80;--tf-scroll-track: #161c2c;--tf-scroll-thumb: #3a4a70;--tf-scroll-thumb-hover:#48598a}:root[data-theme=solarized-light],.tf-theme-solarized-light{--tf-accent: #268bd2;--tf-accent-hover: #3b9ee0;--tf-accent-press: #1c6ea3;--tf-accent-soft: #d8e9f4;--tf-bg-app: #fdf6e3;--tf-bg-canvas: #f5edd6;--tf-bg-panel: #fffaf0;--tf-bg-elevated: #fffaf0;--tf-bg-input: #fffaf0;--tf-bg-control: #eee8d5;--tf-bg-control-hover: #e4ddc4;--tf-border: #e4ddc4;--tf-border-strong: #d3cab0;--tf-border-muted: #ece5cd;--tf-text: #586e75;--tf-text-bright: #073642;--tf-text-muted: #657b83;--tf-text-subtle: #839496;--tf-text-faint: #93a1a1;--tf-text-disabled: #b5ad94;--tf-success: #859900;--tf-warning: #b58900;--tf-danger: #dc322f;--tf-info: #2aa198;--tf-brace-opt: #6c71c4;--tf-brace-ghost: #93a1a1;--tf-plate: #586e75;--tf-scroll-track: #f5edd6;--tf-scroll-thumb: #d3cab0;--tf-scroll-thumb-hover:#b5ad94;--tf-scrim: rgba(16, 20, 28, .32);--tf-scrim-strong: rgba(16, 20, 28, .45)}:root[data-theme=solarized-dark],.tf-theme-solarized-dark{--tf-accent: #268bd2;--tf-accent-hover: #3b9ee0;--tf-accent-press: #1c6ea3;--tf-accent-soft: #073642;--tf-bg-app: #002b36;--tf-bg-canvas: #00212a;--tf-bg-panel: #073642;--tf-bg-elevated: #0a3f4d;--tf-bg-input: #073642;--tf-bg-control: #0a3f4d;--tf-bg-control-hover: #0e4a59;--tf-border: #0e4a59;--tf-border-strong: #155566;--tf-border-muted: #0a3f4d;--tf-text: #93a1a1;--tf-text-bright: #eee8d5;--tf-text-muted: #839496;--tf-text-subtle: #708284;--tf-text-faint: #586e75;--tf-text-disabled: #4a5f66;--tf-success: #859900;--tf-warning: #b58900;--tf-danger: #dc322f;--tf-info: #2aa198;--tf-scroll-track: #002b36;--tf-scroll-thumb: #0e4a59;--tf-scroll-thumb-hover:#155566}:root[data-theme=nord],.tf-theme-nord{--tf-accent: #88c0d0;--tf-accent-hover: #8fbcbb;--tf-accent-press: #5e81ac;--tf-accent-soft: #434c5e;--tf-bg-app: #2e3440;--tf-bg-canvas: #262b36;--tf-bg-panel: #3b4252;--tf-bg-elevated: #434c5e;--tf-bg-input: #3b4252;--tf-bg-control: #434c5e;--tf-bg-control-hover: #4c566a;--tf-border: #4c566a;--tf-border-strong: #5e6779;--tf-border-muted: #434c5e;--tf-text: #e5e9f0;--tf-text-bright: #eceff4;--tf-text-muted: #d8dee9;--tf-text-subtle: #9fa8bf;--tf-text-faint: #7b8496;--tf-text-disabled: #616a7d;--tf-success: #a3be8c;--tf-warning: #ebcb8b;--tf-danger: #bf616a;--tf-info: #88c0d0;--tf-scroll-track: #2e3440;--tf-scroll-thumb: #4c566a;--tf-scroll-thumb-hover:#5e6779}:root[data-theme=dracula],.tf-theme-dracula{--tf-accent: #bd93f9;--tf-accent-hover: #caa9fa;--tf-accent-press: #9d7ce0;--tf-accent-soft: #423e5b;--tf-bg-app: #282a36;--tf-bg-canvas: #21222c;--tf-bg-panel: #2d2f3d;--tf-bg-elevated: #343746;--tf-bg-input: #383a4a;--tf-bg-control: #3d3f52;--tf-bg-control-hover: #44475a;--tf-border: #44475a;--tf-border-strong: #565a72;--tf-border-muted: #3d3f52;--tf-text: #f8f8f2;--tf-text-bright: #ffffff;--tf-text-muted: #c2c4d6;--tf-text-subtle: #9aa0c0;--tf-text-faint: #6272a4;--tf-text-disabled: #545872;--tf-success: #50fa7b;--tf-warning: #ffb86c;--tf-danger: #ff5555;--tf-info: #8be9fd;--tf-scroll-track: #282a36;--tf-scroll-thumb: #44475a;--tf-scroll-thumb-hover:#565a72}:root[data-theme=gruvbox-dark],.tf-theme-gruvbox-dark{--tf-accent: #fe8019;--tf-accent-hover: #fe9a45;--tf-accent-press: #e2670a;--tf-accent-soft: #4a3a2a;--tf-bg-app: #282828;--tf-bg-canvas: #1d2021;--tf-bg-panel: #32302f;--tf-bg-elevated: #3c3836;--tf-bg-input: #3c3836;--tf-bg-control: #504945;--tf-bg-control-hover: #5a524d;--tf-border: #504945;--tf-border-strong: #665c54;--tf-border-muted: #3c3836;--tf-text: #ebdbb2;--tf-text-bright: #fbf1c7;--tf-text-muted: #d5c4a1;--tf-text-subtle: #bdae93;--tf-text-faint: #a89984;--tf-text-disabled: #7c6f64;--tf-success: #b8bb26;--tf-warning: #fabd2f;--tf-danger: #fb4934;--tf-info: #8ec07c;--tf-scroll-track: #282828;--tf-scroll-thumb: #504945;--tf-scroll-thumb-hover:#665c54}:root[data-theme=gruvbox-light],.tf-theme-gruvbox-light{--tf-accent: #af3a03;--tf-accent-hover: #d65d0e;--tf-accent-press: #8f2f02;--tf-accent-soft: #f2e0c0;--tf-bg-app: #f2e5bc;--tf-bg-canvas: #ebdbb2;--tf-bg-panel: #fbf1c7;--tf-bg-elevated: #fbf1c7;--tf-bg-input: #fbf1c7;--tf-bg-control: #ebdbb2;--tf-bg-control-hover: #e0d0a8;--tf-border: #d5c4a1;--tf-border-strong: #bdae93;--tf-border-muted: #e6d8b0;--tf-text: #3c3836;--tf-text-bright: #282828;--tf-text-muted: #504945;--tf-text-subtle: #665c54;--tf-text-faint: #7c6f64;--tf-text-disabled: #a89984;--tf-success: #79740e;--tf-warning: #b57614;--tf-danger: #9d0006;--tf-info: #427b58;--tf-brace-opt: #8f3f71;--tf-brace-ghost: #a89984;--tf-plate: #665c54;--tf-scroll-track: #ebdbb2;--tf-scroll-thumb: #bdae93;--tf-scroll-thumb-hover:#a89984;--tf-scrim: rgba(16, 20, 28, .32);--tf-scrim-strong: rgba(16, 20, 28, .45)}:root[data-theme=tokyo-night],.tf-theme-tokyo-night{--tf-accent: #7aa2f7;--tf-accent-hover: #8fb3f9;--tf-accent-press: #5d86e0;--tf-accent-soft: #283457;--tf-bg-app: #1a1b26;--tf-bg-canvas: #16161e;--tf-bg-panel: #1f2335;--tf-bg-elevated: #24283b;--tf-bg-input: #1f2335;--tf-bg-control: #292e42;--tf-bg-control-hover: #343a52;--tf-border: #292e42;--tf-border-strong: #3b4261;--tf-border-muted: #2a2f41;--tf-text: #c0caf5;--tf-text-bright: #d6dcf7;--tf-text-muted: #a9b1d6;--tf-text-subtle: #9aa5ce;--tf-text-faint: #7982a9;--tf-text-disabled: #565f89;--tf-success: #9ece6a;--tf-warning: #e0af68;--tf-danger: #f7768e;--tf-info: #7dcfff;--tf-scroll-track: #1a1b26;--tf-scroll-thumb: #3b4261;--tf-scroll-thumb-hover:#545c7e}:root[data-theme=one-dark],.tf-theme-one-dark{--tf-accent: #61afef;--tf-accent-hover: #7cbcf2;--tf-accent-press: #4b9ad9;--tf-accent-soft: #2c3f54;--tf-bg-app: #282c34;--tf-bg-canvas: #21252b;--tf-bg-panel: #2c313a;--tf-bg-elevated: #333842;--tf-bg-input: #30353f;--tf-bg-control: #3a3f4b;--tf-bg-control-hover: #434855;--tf-border: #3e4451;--tf-border-strong: #4b5263;--tf-border-muted: #363b45;--tf-text: #abb2bf;--tf-text-bright: #e6e9ef;--tf-text-muted: #9da5b4;--tf-text-subtle: #848b98;--tf-text-faint: #6f7787;--tf-text-disabled: #5c6370;--tf-success: #98c379;--tf-warning: #e5c07b;--tf-danger: #e06c75;--tf-info: #56b6c2;--tf-scroll-track: #282c34;--tf-scroll-thumb: #4b5263;--tf-scroll-thumb-hover:#5c6370}:root[data-theme=catppuccin-mocha],.tf-theme-catppuccin-mocha{--tf-accent: #cba6f7;--tf-accent-hover: #d7bcfa;--tf-accent-press: #b48be0;--tf-accent-soft: #302b45;--tf-bg-app: #1e1e2e;--tf-bg-canvas: #181825;--tf-bg-panel: #252539;--tf-bg-elevated: #2b2b40;--tf-bg-input: #313244;--tf-bg-control: #313244;--tf-bg-control-hover: #3c3e54;--tf-border: #45475a;--tf-border-strong: #585b70;--tf-border-muted: #313244;--tf-text: #cdd6f4;--tf-text-bright: #f5e0dc;--tf-text-muted: #bac2de;--tf-text-subtle: #a6adc8;--tf-text-faint: #9399b2;--tf-text-disabled: #6c7086;--tf-success: #a6e3a1;--tf-warning: #f9e2af;--tf-danger: #f38ba8;--tf-info: #89dceb;--tf-scroll-track: #1e1e2e;--tf-scroll-thumb: #45475a;--tf-scroll-thumb-hover:#585b70}:root[data-theme=catppuccin-latte],.tf-theme-catppuccin-latte{--tf-accent: #8839ef;--tf-accent-hover: #9c56f2;--tf-accent-press: #7328d0;--tf-accent-soft: #e5d8fb;--tf-bg-app: #eff1f5;--tf-bg-canvas: #e6e9ef;--tf-bg-panel: #ffffff;--tf-bg-elevated: #ffffff;--tf-bg-input: #ffffff;--tf-bg-control: #e6e9ef;--tf-bg-control-hover: #dce0e8;--tf-border: #ccd0da;--tf-border-strong: #bcc0cc;--tf-border-muted: #dce0e8;--tf-text: #4c4f69;--tf-text-bright: #3b3e56;--tf-text-muted: #5c5f77;--tf-text-subtle: #6c6f85;--tf-text-faint: #8c8fa1;--tf-text-disabled: #9ca0b0;--tf-success: #40a02b;--tf-warning: #df8e1d;--tf-danger: #d20f39;--tf-info: #04a5e5;--tf-brace-opt: #8839ef;--tf-brace-ghost: #9ca0b0;--tf-plate: #6c6f85;--tf-scroll-track: #e6e9ef;--tf-scroll-thumb: #bcc0cc;--tf-scroll-thumb-hover:#acb0be;--tf-scrim: rgba(16, 20, 28, .32);--tf-scrim-strong: rgba(16, 20, 28, .45)}:root[data-theme=monokai],.tf-theme-monokai{--tf-accent: #66d9ef;--tf-accent-hover: #85e2f3;--tf-accent-press: #4bc0d6;--tf-accent-soft: #1f4a52;--tf-bg-app: #272822;--tf-bg-canvas: #1e1f1c;--tf-bg-panel: #2d2e28;--tf-bg-elevated: #34352f;--tf-bg-input: #3a3b35;--tf-bg-control: #414339;--tf-bg-control-hover: #4b4d43;--tf-border: #414339;--tf-border-strong: #55574b;--tf-border-muted: #3a3b35;--tf-text: #f8f8f2;--tf-text-bright: #ffffff;--tf-text-muted: #d6d6cd;--tf-text-subtle: #b3b3a8;--tf-text-faint: #90918b;--tf-text-disabled: #75715e;--tf-success: #a6e22e;--tf-warning: #e6db74;--tf-danger: #f92672;--tf-info: #66d9ef;--tf-scroll-track: #272822;--tf-scroll-thumb: #414339;--tf-scroll-thumb-hover:#55574b}:root[data-theme=everforest-dark],.tf-theme-everforest-dark{--tf-accent: #a7c080;--tf-accent-hover: #b8cf94;--tf-accent-press: #8fae68;--tf-accent-soft: #3a4a3a;--tf-bg-app: #2d353b;--tf-bg-canvas: #272e33;--tf-bg-panel: #343f44;--tf-bg-elevated: #3d484d;--tf-bg-input: #384349;--tf-bg-control: #414b50;--tf-bg-control-hover: #4a555b;--tf-border: #414b50;--tf-border-strong: #4f585e;--tf-border-muted: #3d484d;--tf-text: #d3c6aa;--tf-text-bright: #e6dcc4;--tf-text-muted: #c4b998;--tf-text-subtle: #9da9a0;--tf-text-faint: #859289;--tf-text-disabled: #7a8478;--tf-success: #a7c080;--tf-warning: #dbbc7f;--tf-danger: #e67e80;--tf-info: #7fbbb3;--tf-scroll-track: #2d353b;--tf-scroll-thumb: #414b50;--tf-scroll-thumb-hover:#4f585e}:root[data-theme=rose-pine],.tf-theme-rose-pine{--tf-accent: #c4a7e7;--tf-accent-hover: #d3bdf0;--tf-accent-press: #a98bd0;--tf-accent-soft: #2f2a44;--tf-bg-app: #191724;--tf-bg-canvas: #16141f;--tf-bg-panel: #1f1d2e;--tf-bg-elevated: #26233a;--tf-bg-input: #21202e;--tf-bg-control: #26233a;--tf-bg-control-hover: #322e49;--tf-border: #26233a;--tf-border-strong: #403d52;--tf-border-muted: #21202e;--tf-text: #e0def4;--tf-text-bright: #f0eefb;--tf-text-muted: #c9c7dd;--tf-text-subtle: #908caa;--tf-text-faint: #6e6a86;--tf-text-disabled: #524f67;--tf-success: #85c9a5;--tf-warning: #f6c177;--tf-danger: #eb6f92;--tf-info: #9ccfd8;--tf-scroll-track: #191724;--tf-scroll-thumb: #403d52;--tf-scroll-thumb-hover:#524f67}:root[data-theme=ayu-light],.tf-theme-ayu-light{--tf-accent: #e07c1f;--tf-accent-hover: #f2933a;--tf-accent-press: #b96313;--tf-accent-soft: #ffe9d5;--tf-bg-app: #fafafa;--tf-bg-canvas: #f3f4f5;--tf-bg-panel: #ffffff;--tf-bg-elevated: #ffffff;--tf-bg-input: #ffffff;--tf-bg-control: #f0f0f0;--tf-bg-control-hover: #e4e6e8;--tf-border: #e1e3e6;--tf-border-strong: #cfd3d8;--tf-border-muted: #eceef0;--tf-text: #5c6773;--tf-text-bright: #3b4750;--tf-text-muted: #6b7680;--tf-text-subtle: #828c99;--tf-text-faint: #9aa3ad;--tf-text-disabled: #b3bac1;--tf-success: #6f9c00;--tf-warning: #d18616;--tf-danger: #e05252;--tf-info: #3aa0c4;--tf-brace-opt: #8a5cc4;--tf-brace-ghost: #9aa3ad;--tf-plate: #5c6773;--tf-scroll-track: #f0f0f0;--tf-scroll-thumb: #cfd3d8;--tf-scroll-thumb-hover:#b3bac1;--tf-scrim: rgba(16, 20, 28, .32);--tf-scrim-strong: rgba(16, 20, 28, .45)}:root[data-theme=high-contrast],.tf-theme-high-contrast{--tf-accent: #66b3ff;--tf-accent-hover: #85c2ff;--tf-accent-press: #4a9eff;--tf-accent-soft: #003366;--tf-bg-app: #000000;--tf-bg-canvas: #000000;--tf-bg-panel: #0a0a0a;--tf-bg-elevated: #141414;--tf-bg-input: #0a0a0a;--tf-bg-control: #141414;--tf-bg-control-hover: #262626;--tf-border: #ffffff;--tf-border-strong: #ffffff;--tf-border-muted: #a3a3a3;--tf-text: #ffffff;--tf-text-bright: #ffffff;--tf-text-muted: #e6e6e6;--tf-text-subtle: #cccccc;--tf-text-faint: #b3b3b3;--tf-text-disabled: #808080;--tf-success: #4dff4d;--tf-warning: #ffcc00;--tf-danger: #ff5c5c;--tf-info: #66d9ff;--tf-scroll-track: #000000;--tf-scroll-thumb: #ffffff;--tf-scroll-thumb-hover:#cccccc}:root,[class*=tf-theme-]{--tf-accent-mix: color-mix(in srgb, var(--tf-accent) 16%, var(--tf-bg-elevated));--tf-accent-mix-strong: color-mix(in srgb, var(--tf-accent) 28%, var(--tf-bg-elevated));--tf-accent-edge: color-mix(in srgb, var(--tf-accent) 55%, var(--tf-border));--tf-warning-edge: color-mix(in srgb, var(--tf-warning) 55%, var(--tf-border));--tf-danger-edge: color-mix(in srgb, var(--tf-danger) 55%, var(--tf-border));--tf-success-edge: color-mix(in srgb, var(--tf-success) 55%, var(--tf-border));--tf-info-edge: color-mix(in srgb, var(--tf-info) 55%, var(--tf-border));--tf-warning-wash: color-mix(in srgb, var(--tf-warning) 7%, var(--tf-bg-panel));--tf-danger-wash: color-mix(in srgb, var(--tf-danger) 8%, var(--tf-bg-panel));--tf-success-wash: color-mix(in srgb, var(--tf-success) 7%, var(--tf-bg-panel));--tf-info-wash: color-mix(in srgb, var(--tf-info) 7%, var(--tf-bg-panel));--tf-text-on-warning: #1e1f22}:root{--tf-font-sans: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--tf-font-mono: "IBM Plex Mono", "Cascadia Mono", "Consolas", ui-monospace, monospace;--tf-text-2xs: 11px;--tf-text-xs: 12px;--tf-text-sm: 13px;--tf-text-md: 14px;--tf-text-lg: 16px;--tf-text-xl: 20px;--tf-text-2xl: 26px;--tf-text-3xl: 32px;--tf-text-caption: 11px;--tf-text-hint: 11.5px;--tf-text-count: 12px;--tf-text-body: 12.5px;--tf-text-choice: 13px;--tf-text-panel-title: 14px;--tf-text-screen-title: 18px;--tf-text-metric: 20px;--tf-leading-hint: 1.45;--tf-weight-regular: 400;--tf-weight-medium: 500;--tf-weight-semibold: 600;--tf-weight-bold: 700;--tf-leading-tight: 1.2;--tf-leading-snug: 1.35;--tf-leading-normal: 1.55;--tf-tracking-caption: .06em;--tf-tracking-tight: -.01em}:root{--tf-space-1: 2px;--tf-space-2: 4px;--tf-space-3: 6px;--tf-space-4: 8px;--tf-space-5: 12px;--tf-space-6: 16px;--tf-space-7: 18px;--tf-space-8: 24px;--tf-space-10: 40px;--tf-space-12: 48px;--tf-radius-xs: 4px;--tf-radius-sm: 6px;--tf-radius-md: 8px;--tf-radius-lg: 12px;--tf-radius-pill: 999px;--tf-radius-panel: 10px;--tf-panel-pad: 14px 16px;--tf-card-pad: 12px 14px;--tf-border-width: 1px;--tf-border-width-2: 2px;--tf-control-h: 30px;--tf-control-h-sm: 24px;--tf-row-h: 32px;--tf-sidebar-w: 208px;--tf-sidebar-w-collapsed: 56px;--tf-shadow-sm: 0 1px 2px rgba(0,0,0,.3);--tf-shadow-md: 0 4px 12px rgba(0,0,0,.35);--tf-shadow-lg: 0 12px 32px rgba(0,0,0,.45);--tf-focus-ring: 0 0 0 2px rgba(58,130,247,.4)}:root.st-compact{--tf-row-h: 26px;--tf-control-h: 26px;--tf-control-h-sm: 20px}.mono{font-family:var(--tf-font-mono)}.tf-t-caption{font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle)}.tf-t-hint{font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-t-body{font-size:var(--tf-text-body)}.tf-t-name{font-size:var(--tf-text-body);font-weight:600;color:var(--tf-text-bright)}.tf-t-choice{font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-t-panel-title{font-size:var(--tf-text-panel-title);font-weight:600;color:var(--tf-text-bright)}.tf-t-screen-title{font-size:var(--tf-text-screen-title);font-weight:600;color:var(--tf-text-bright)}.tf-t-count{font-family:var(--tf-font-mono);font-size:var(--tf-text-count);font-weight:500;font-variant-numeric:tabular-nums}.tf-t-metric{font-family:var(--tf-font-mono);font-size:var(--tf-text-metric);font-weight:600;color:var(--tf-text-bright);font-variant-numeric:tabular-nums}.tf-cq{container-type:inline-size}.tf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}html,body,#root{height:100%}body{margin:0;background:var(--tf-bg-app);color:var(--tf-text);font-family:var(--tf-font-sans);font-size:var(--tf-text-sm);line-height:var(--tf-leading-snug);-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--tf-scroll-track)}::-webkit-scrollbar-thumb{background:var(--tf-scroll-thumb);border-radius:var(--tf-radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--tf-scroll-thumb-hover)}.tf-icon-spin{animation:tf-spin .9s linear infinite}@keyframes tf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tf-section-label{font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;color:var(--tf-text-subtle);font-weight:600;margin:0 0 10px}.tf-panel{background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-panel);display:flex;flex-direction:column;min-width:0;overflow:hidden}.tf-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 14px;background:transparent;border-bottom:1px solid var(--tf-border);font-size:var(--tf-text-choice);font-weight:600;color:var(--tf-text-bright)}.tf-panel__body{padding:var(--tf-card-pad);overflow-y:auto;display:flex;flex-direction:column;gap:12px}.tf-cage-row{display:flex;align-items:flex-end;gap:8px}.tf-cage-row>:first-child{flex:1}.tf-inline-label{font-size:var(--tf-text-sm);color:var(--tf-text-subtle);align-self:center}.tf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tf-form-grid__check,.tf-form-grid__wide{grid-column:1 / -1}.tf-import{position:relative}.tf-dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;border:1px dashed var(--tf-border);border-radius:8px}.tf-dropzone__hint{font-size:var(--tf-text-xs);color:var(--tf-text-subtle);text-align:center}.tf-import--dragover .tf-dropzone{border-color:var(--tf-accent)}.tf-import__drop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px dashed var(--tf-accent);border-radius:8px;background:color-mix(in srgb,var(--tf-bg-panel) 82%,transparent);color:var(--tf-text-bright);font-weight:600}.tf-import__drop svg{width:40px;height:40px;color:var(--tf-accent);stroke-width:1.5}.tf-import__drop p{margin:0}.tf-note{display:flex;align-items:center;gap:6px;font-size:var(--tf-text-hint);line-height:var(--tf-leading-hint);margin:0;color:var(--tf-text-subtle)}.tf-note svg{width:14px;height:14px;flex:none}.tf-note--ok{color:var(--tf-text)}.tf-note--ok svg{color:var(--tf-success)}.tf-note--warn{color:var(--tf-text)}.tf-note--warn svg{color:var(--tf-warning)}.tf-table{width:100%;border-collapse:collapse;background:var(--tf-bg-panel);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);overflow:hidden}.tf-table th{background:var(--tf-bg-elevated);color:var(--tf-text-subtle);font-size:var(--tf-text-caption);font-weight:600;letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;text-align:start;padding:7px 10px;border-bottom:1px solid var(--tf-border-strong);border-inline-end:1px solid var(--tf-border);white-space:nowrap}.tf-table th:last-child{border-inline-end:0}.tf-table td{padding:4px 10px;height:var(--tf-row-h);border-bottom:1px solid var(--tf-border);vertical-align:middle}.tf-table tbody tr:last-child td{border-bottom:0}.tf-table tbody tr{cursor:pointer}.tf-table tbody tr:hover{background:var(--tf-bg-control-hover)}.tf-table tr.tf-row--sel td{background:var(--tf-accent-mix);color:var(--tf-text-bright)}.tf-table tr.tf-row--sel td:first-child{box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .tf-table tr.tf-row--sel td:first-child{box-shadow:inset -3px 0 0 var(--tf-accent)}.tf-table td svg{width:15px;height:15px;color:var(--tf-text-subtle)}.tf-table tfoot td{padding:4px 10px;height:var(--tf-row-h);vertical-align:middle;border-top:1px solid var(--tf-border-strong);background:var(--tf-bg-control)}.tf-table tfoot .tf-foot-name{display:inline-flex;align-items:center;gap:6px;color:var(--tf-text-subtle);font-weight:600}.tf-canvas{flex:1;background:var(--tf-bg-canvas);overflow:auto;padding:8px;min-height:0}.tf-nav[data-active=true]{background:var(--tf-accent-mix);color:var(--tf-text-bright);box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .tf-nav[data-active=true]{box-shadow:inset -3px 0 0 var(--tf-accent)}.tf-nav[data-active=true] svg{color:var(--tf-accent)}.tf-in{height:26px;background:var(--tf-bg-input);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);color:var(--tf-text);padding:0 9px;font-family:inherit;font-size:var(--tf-text-sm);outline:none;transition:border-color .12s ease}.tf-in:focus{border-color:var(--tf-accent);box-shadow:var(--tf-focus-ring)}.tf-in.mono{font-family:var(--tf-font-mono)}.tf-in--num{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.tf-in--num::-webkit-inner-spin-button,.tf-in--num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tf-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--tf-border-strong);background:transparent;color:var(--tf-text-muted);font-family:inherit;font-size:var(--tf-text-hint);font-weight:500;padding:3px 11px;border-radius:var(--tf-radius-pill);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.tf-pill:hover{border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-pill[data-sel=true]{background:var(--tf-accent-mix);border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-pill:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-irow{display:flex;align-items:center;justify-content:space-between;gap:10px}.tf-irow__l{font-size:var(--tf-text-body);color:var(--tf-text-muted)}.tf-irow__l small{display:block;color:var(--tf-text-subtle);font-size:var(--tf-text-caption);line-height:var(--tf-leading-hint)}.tf-step{display:inline-flex;align-items:center;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);overflow:hidden}.tf-step button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--tf-bg-control);color:var(--tf-text);width:26px;height:26px;font-size:16px;line-height:1;cursor:pointer;font-family:inherit;transition:background .12s ease,color .12s ease}.tf-step button:hover{background:var(--tf-bg-control-hover);color:var(--tf-text-bright)}.tf-step[data-disabled]{opacity:.45}.tf-step button:disabled{cursor:default}.tf-step button:disabled:hover{background:var(--tf-bg-control);color:var(--tf-text)}.tf-step span{min-width:32px;text-align:center;font-size:var(--tf-text-sm)}.tf-step__in{width:42px;padding:0 2px;text-align:center;font-size:var(--tf-text-sm);font-family:inherit;color:var(--tf-text);background:var(--tf-bg-input);border:0;outline:0}.tf-step__in:focus{background:var(--tf-bg-control)}.tf-switch{position:relative;width:38px;height:21px;border-radius:var(--tf-radius-pill);background:var(--tf-bg-control);border:1px solid var(--tf-border-strong);cursor:pointer;padding:0;transition:background .12s ease,border-color .12s ease;flex:none}.tf-switch__knob{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--tf-text-subtle);transition:left .14s ease,background .14s ease}.tf-switch[data-on=true]{background:var(--tf-accent);border-color:var(--tf-accent)}.tf-switch[data-on=true] .tf-switch__knob{left:19px;background:var(--tf-text-on-accent)}.tf-switch:disabled{cursor:not-allowed;opacity:.5}.tf-switch:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-patnote{display:flex;align-items:center;gap:9px;padding:8px 10px;background:var(--tf-bg-input);border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm)}.tf-memrow{display:flex;align-items:center;gap:9px;padding:5px 7px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input);cursor:pointer;transition:border-color .12s ease;width:100%}.tf-memrow:hover{border-color:var(--tf-border-strong)}.tf-memrow[data-sel=true]{border-color:var(--tf-select)}.tf-mrow__d{width:8px;height:8px;border-radius:50%;flex:none}.tf-hibrow{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:9px;padding:7px 9px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-bg-input)}.tf-hibrow__r{flex:1 1 140px;min-width:0;font-size:var(--tf-text-body);color:var(--tf-text)}.tf-hibrow[data-disabled=true]{opacity:.55}.tf-hiblevel{flex:none;border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);overflow:hidden;background:var(--tf-bg-elevated)}.tf-hiblevel[data-sel=true]{border-color:var(--tf-accent);box-shadow:0 0 0 1px var(--tf-accent)}.tf-hiblevel__head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 11px;border:0;background:transparent;color:var(--tf-text-bright);font:inherit;font-size:var(--tf-text-body);text-align:start;cursor:pointer}.tf-hiblevel__head:hover{background:var(--tf-bg-control-hover)}.tf-hiblevel__head:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.tf-hiblevel[data-sel=true] .tf-hiblevel__head{color:var(--tf-text-bright);background:var(--tf-accent-mix)}.tf-hiblevel__n{flex:none;font-size:var(--tf-text-caption);letter-spacing:var(--tf-tracking-caption);text-transform:uppercase;font-weight:600;color:var(--tf-text-subtle)}.tf-hiblevel__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-hiblib{display:grid;grid-template-columns:minmax(52px,auto) repeat(2,minmax(0,1fr));gap:6px 8px;align-items:center;padding:8px 9px 9px;padding-inline-start:26px;border-top:1px solid var(--tf-border);background:var(--tf-bg-panel);font-size:var(--tf-text-hint);color:var(--tf-text-subtle)}.tf-hiblib__l{font-weight:600;color:var(--tf-text)}.tf-hiblib__wide{grid-column:2 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tf-hiblib__hint{grid-column:1 / -1;font-size:var(--tf-text-caption);line-height:var(--tf-leading-hint);color:var(--tf-text-subtle)}.tf-hiblib__corner{height:22px;min-width:26px;padding:0 7px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-xs);background:var(--tf-bg-control);color:var(--tf-text-subtle);font:inherit;font-size:var(--tf-text-caption);cursor:pointer;text-decoration:line-through}.tf-hiblib__corner[aria-pressed=true]{border-color:var(--tf-accent);background:var(--tf-accent-mix);color:var(--tf-text-bright);text-decoration:none}.tf-hiblib__corner:disabled{opacity:.5;cursor:default}.tf-hiblib__more{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-muted);font:inherit;font-size:var(--tf-text-hint);cursor:pointer}.tf-hiblib__more:hover{border-color:var(--tf-accent);color:var(--tf-text-bright)}.tf-hiblib__use{height:20px;padding:0 6px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-xs);background:transparent;color:var(--tf-text-subtle);font:inherit;font-size:10.5px;cursor:pointer}.tf-hiblib__use:hover:not(:disabled){background:var(--tf-bg-control);color:var(--tf-text)}.tf-hiblib__use:disabled{opacity:.5;cursor:default}.tf-hiblib__basis{grid-column:2 / -1;font-size:10.5px;color:var(--tf-text-faint)}.tf-hiblib-sum{display:flex;flex-direction:column;gap:3px;padding:6px 9px 8px;padding-inline-start:26px;font-size:11px;color:var(--tf-text-subtle);line-height:1.45}.tf-hiblib-sum__line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.tf-hiblib-sum__line strong{color:var(--tf-text);font-weight:600}.tf-hiblib-sum__tag{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--tf-text-faint)}.tf-hiblib-sum__method{color:var(--tf-text-subtle)}.tf-hiblib-sum__warn{display:flex;align-items:flex-start;gap:5px;color:var(--tf-warning)}.tf-hiblib-sum__warn svg{flex:none;margin-top:2px}.tf-trow{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:var(--tf-radius-xs);font-size:var(--tf-text-sm);cursor:pointer;white-space:nowrap;color:var(--tf-text)}.tf-trow svg{width:14px;height:14px;color:var(--tf-text-subtle);flex:none}.tf-trow:hover{background:var(--tf-bg-control-hover)}.tf-trow[data-sel=true]{background:var(--tf-accent-mix);color:var(--tf-text-bright);box-shadow:inset 3px 0 0 var(--tf-accent)}[dir=rtl] .tf-trow[data-sel=true]{box-shadow:inset -3px 0 0 var(--tf-accent)}.tf-trow[data-sel=true] svg{color:var(--tf-accent)}.tf-viewport{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;cursor:move;touch-action:none}.tf-viewport[data-rotate]{cursor:grab}.tf-viewport[data-rotate]:active{cursor:grabbing}.tf-viewport__stage{width:100%;height:100%;transform-origin:50% 50%}.tf-viewport__ctls{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:4px;z-index:2;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 12px)}.tf-viewport__ctls>button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--tf-bg-control);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-xs);color:var(--tf-text-subtle);cursor:pointer;font-size:13px;line-height:1;font-family:inherit;padding:0}.tf-viewport__ctls>button:hover{background:var(--tf-bg-control-hover);border-color:var(--tf-accent-edge);color:var(--tf-text-bright)}.tf-viewport__ctls>button:disabled{opacity:.45;cursor:default;background:var(--tf-bg-control);border-color:var(--tf-border-strong);color:var(--tf-text-subtle)}.tf-viewport__ctls>button.tf-viewport__pct{width:auto;min-width:40px;padding:0 5px;font-family:var(--tf-font-mono);font-size:10px}.tf-viewport__tools{display:flex;align-items:center;gap:4px;margin-inline-end:2px;flex-wrap:wrap;justify-content:flex-end;max-width:100%}.tf-viewport__views{display:inline-flex;margin-inline-end:2px}.tf-viewport__views>button{height:24px;padding:0 6px;background:var(--tf-bg-control);border:1px solid var(--tf-border-strong);color:var(--tf-text-subtle);cursor:pointer;font-family:inherit;font-size:10px;line-height:1}.tf-viewport__views>button+button{border-inline-start:none}.tf-viewport__views>button:first-child{border-start-start-radius:var(--tf-radius-xs);border-end-start-radius:var(--tf-radius-xs)}.tf-viewport__views>button:last-child{border-start-end-radius:var(--tf-radius-xs);border-end-end-radius:var(--tf-radius-xs)}.tf-viewport__views>button:hover{background:var(--tf-bg-control-hover);color:var(--tf-text)}.tf-viewport__views>button[aria-pressed=true]{background:var(--tf-accent);border-color:var(--tf-accent);color:var(--tf-text-on-accent)}.tf-viewport:focus-visible{outline:2px solid var(--tf-accent);outline-offset:-2px}.tf-viewport__hint{position:absolute;inset-inline-start:8px;bottom:6px;font-size:10px;color:var(--tf-text-faint);pointer-events:none;font-family:var(--tf-font-mono)}.tf-tree__row:focus-visible,.tf-trow:focus-visible,.od-row:focus-visible,.lb-card:focus-visible,.tf-factory:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-table tr[tabindex]:focus-visible{outline:none}.tf-table tr[tabindex]:focus-visible td{box-shadow:inset 0 2px 0 var(--tf-accent),inset 0 -2px 0 var(--tf-accent)}.tf-table tr[tabindex]:focus-visible td:first-child{box-shadow:inset 2px 0 0 var(--tf-accent),inset 0 2px 0 var(--tf-accent),inset 0 -2px 0 var(--tf-accent)}.tf-table tr[tabindex]:focus-visible td:last-child{box-shadow:inset -2px 0 0 var(--tf-accent),inset 0 2px 0 var(--tf-accent),inset 0 -2px 0 var(--tf-accent)}.tf-ibtn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;padding:0;background:transparent;color:var(--tf-text-subtle);border:1px solid var(--tf-border-strong);border-radius:6px;cursor:pointer;font:inherit;transition:background .12s ease,color .12s ease,border-color .12s ease}.tf-ibtn:hover:not(:disabled){color:var(--tf-text-bright);border-color:var(--tf-accent);background:color-mix(in srgb,var(--tf-accent) 14%,transparent)}.tf-ibtn:focus-visible{outline:none;box-shadow:var(--tf-focus-ring)}.tf-ibtn:disabled{color:var(--tf-text-disabled);border-color:var(--tf-border);cursor:not-allowed}.tf-ibtn--danger:hover:not(:disabled){color:var(--tf-danger);border-color:var(--tf-danger);background:color-mix(in srgb,var(--tf-danger) 14%,transparent)}
