.tf-wrapper{--tf-color-primary:#3b82f6;--tf-color-primary-hover:#2563eb;--tf-color-primary-light:#eff6ff;--tf-color-bg:#fff;--tf-color-surface:#f8fafc;--tf-color-border:#e2e8f0;--tf-color-border-focus:#93c5fd;--tf-color-text:#1e293b;--tf-color-text-muted:#64748b;--tf-color-success:#22c55e;--tf-color-success-light:#f0fdf4;--tf-color-danger:#ef4444;--tf-icon-size-sm:14px;--tf-icon-size-md:18px;--tf-icon-size-lg:22px;--tf-radius-sm:4px;--tf-radius:8px;--tf-radius-lg:12px;--tf-shadow-sm:0 1px 2px rgba(0,0,0,.06);--tf-shadow:0 1px 4px rgba(0,0,0,.1);--tf-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",sans-serif;--tf-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--tf-textarea-min-h:180px;--tf-gap:16px}.tf-wrapper *,.tf-wrapper :after,.tf-wrapper :before{box-sizing:border-box}.tf-wrapper{color:var(--tf-color-text);font-family:var(--tf-font);font-size:14px;line-height:1.5}.tf-tabs{border-bottom:2px solid var(--tf-color-border);display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px;padding-bottom:0}.tf-tab{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:var(--tf-radius-sm) var(--tf-radius-sm) 0 0;color:var(--tf-color-text-muted);cursor:pointer;display:inline-flex;font-family:var(--tf-font);font-size:13px;gap:6px;margin-bottom:-2px;padding:8px 14px;transition:color .15s,background .15s;white-space:nowrap}.tf-tab:hover{background:var(--tf-color-primary-light);color:var(--tf-color-primary)}.tf-tab.is-active{border-bottom-color:var(--tf-color-primary);color:var(--tf-color-primary);font-weight:600}.tf-tab .tf-icon{color:inherit}.tf-panel{background:var(--tf-color-bg);border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-lg);box-shadow:var(--tf-shadow-sm);overflow:hidden}.tf-panel.is-hidden{display:none}.tf-panel__header{align-items:center;background:var(--tf-color-surface);border-bottom:1px solid var(--tf-color-border);display:flex;gap:8px;padding:14px 20px}.tf-panel__title{color:var(--tf-color-text);font-size:15px;font-weight:600;margin:0}.tf-panel__body{padding:20px}.tf-options{margin-bottom:16px}.tf-option-group{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.tf-option-group:last-child{margin-bottom:0}.tf-option-label{color:var(--tf-color-text-muted);font-size:12px;font-weight:600;letter-spacing:.04em;min-width:100px;text-transform:uppercase;white-space:nowrap}.tf-seg-btn{align-items:center;background:var(--tf-color-bg);border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);color:var(--tf-color-text);cursor:pointer;display:inline-flex;font-family:var(--tf-font);font-size:13px;gap:4px;padding:5px 12px;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.tf-seg-btn:hover{border-color:var(--tf-color-primary);color:var(--tf-color-primary)}.tf-seg-btn.is-active{background:var(--tf-color-primary);border-color:var(--tf-color-primary);color:#fff;font-weight:600}.tf-custom-input-wrap{align-items:center;display:none;gap:4px}.tf-custom-input-wrap.is-visible{display:inline-flex}.tf-custom-input{background:var(--tf-color-bg);border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);color:var(--tf-color-text);font-family:var(--tf-font-mono);font-size:13px;padding:4px 8px;transition:border-color .15s;width:100px}.tf-custom-input:focus{border-color:var(--tf-color-border-focus);box-shadow:0 0 0 3px rgba(59,130,246,.12);outline:none}.tf-checkbox-label{align-items:center;color:var(--tf-color-text);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;white-space:nowrap}.tf-checkbox-label input[type=checkbox]{accent-color:var(--tf-color-primary);cursor:pointer;height:15px;width:15px}.tf-radio-label{align-items:center;color:var(--tf-color-text);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;white-space:nowrap}.tf-radio-label input[type=radio]{accent-color:var(--tf-color-primary);cursor:pointer;height:15px;width:15px}.tf-io{display:grid;gap:var(--tf-gap);grid-template-columns:1fr 1fr}.tf-io__label-row{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:6px;min-height:22px}.tf-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tf-io__meta,.tf-label{color:var(--tf-color-text-muted)}.tf-io__meta{font-size:11px;font-variant-numeric:tabular-nums}.tf-io__meta .tf-meta-delta{font-weight:600;margin-left:4px}.tf-io__meta .tf-meta-delta.is-reduced{color:var(--tf-color-success)}.tf-io__meta .tf-meta-delta.is-increased{color:var(--tf-color-danger)}.tf-textarea-wrap{position:relative}.tf-textarea{background:var(--tf-color-bg);border:1px solid var(--tf-color-border);border-radius:var(--tf-radius);color:var(--tf-color-text);font-family:var(--tf-font-mono);font-size:13px;line-height:1.6;min-height:var(--tf-textarea-min-h);padding:10px 12px;resize:vertical;transition:border-color .15s,box-shadow .15s;width:100%}.tf-textarea:focus{border-color:var(--tf-color-border-focus);box-shadow:0 0 0 3px rgba(59,130,246,.12);outline:none}.tf-textarea::placeholder{color:var(--tf-color-text-muted);font-family:var(--tf-font)}.tf-textarea[readonly]{background:var(--tf-color-surface);cursor:default}.tf-textarea.is-empty-output::placeholder{font-style:italic}.tf-btn-clear{align-items:center;background:var(--tf-color-border);border:none;border-radius:50%;color:var(--tf-color-text-muted);cursor:pointer;display:none;height:22px;justify-content:center;line-height:1;padding:0;position:absolute;right:6px;top:6px;transition:background .12s,color .12s;width:22px}.tf-btn-clear.is-visible{display:inline-flex}.tf-btn-clear:hover{background:var(--tf-color-danger);color:#fff}.tf-btn-copy{align-items:center;background:var(--tf-color-primary);border:1px solid var(--tf-color-primary);border-radius:var(--tf-radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--tf-font);font-size:12px;font-weight:600;gap:4px;padding:5px 10px;position:absolute;right:6px;top:6px;transition:background .12s,border-color .12s;white-space:nowrap}.tf-btn-copy:hover{background:var(--tf-color-primary-hover);border-color:var(--tf-color-primary-hover)}.tf-btn-copy:disabled{cursor:not-allowed;opacity:.4}.tf-btn-copy.is-copied{background:var(--tf-color-success);border-color:var(--tf-color-success)}.tf-download-row{margin-top:6px;text-align:right}.tf-btn-download{align-items:center;color:var(--tf-color-text-muted);display:inline-flex;font-size:11px;gap:3px;text-decoration:none}.tf-btn-download:hover{color:var(--tf-color-primary);text-decoration:underline}.tf-panel__footer{border-top:1px solid var(--tf-color-border);color:var(--tf-color-text-muted);display:flex;flex-wrap:wrap;font-size:11px;gap:16px;padding:10px 20px}.tf-panel__footer,.tf-related{background:var(--tf-color-surface)}.tf-related{border:1px solid var(--tf-color-border);border-radius:var(--tf-radius);margin-top:24px;padding:16px 20px}.tf-related__title{color:var(--tf-color-text-muted);font-size:12px;font-weight:600;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.tf-related__list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.tf-related__list a{align-items:center;background:var(--tf-color-bg);border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);color:var(--tf-color-text);display:inline-flex;font-size:12px;gap:4px;padding:4px 10px;text-decoration:none;transition:border-color .12s,color .12s}.tf-related__list a:hover{border-color:var(--tf-color-primary);color:var(--tf-color-primary)}.tf-icon{display:inline-block;flex-shrink:0;vertical-align:middle}.tf-icon--sm{height:var(--tf-icon-size-sm);width:var(--tf-icon-size-sm)}.tf-icon--md{height:var(--tf-icon-size-md);width:var(--tf-icon-size-md)}.tf-icon--lg{height:var(--tf-icon-size-lg);width:var(--tf-icon-size-lg)}@media (max-width:767px){.tf-io{grid-template-columns:1fr}.tf-io__col--out{order:3}.tf-btn-copy{font-size:14px;justify-content:center;margin-bottom:8px;order:2;padding:10px;position:static;width:100%}.tf-tabs{gap:2px}.tf-tab{font-size:12px;padding:7px 10px}.tf-option-label{min-width:auto;width:100%}}@media (max-width:480px){.tf-panel__body{padding:14px}.tf-panel__header{padding:12px 14px}.tf-panel__footer{padding:8px 14px}}.tf-wrapper [data-tooltip]{position:relative}.tf-wrapper [data-tooltip]:after,.tf-wrapper [data-tooltip]:before{opacity:0;pointer-events:none;position:absolute;transition:opacity .15s;z-index:200}.tf-wrapper [data-tooltip]:after{background:#1e293b;border-radius:var(--tf-radius-sm);bottom:calc(100% + 8px);box-shadow:var(--tf-shadow);color:#fff;content:attr(data-tooltip);font-size:11px;font-weight:400;left:50%;line-height:1.6;max-width:200px;min-width:130px;padding:5px 9px;text-align:center;transform:translateX(-50%);white-space:pre-line}.tf-wrapper [data-tooltip]:before{border:5px solid transparent;border-top-color:#1e293b;bottom:calc(100% + 4px);content:"";left:50%;transform:translateX(-50%)}.tf-wrapper [data-tooltip]:focus-visible:after,.tf-wrapper [data-tooltip]:focus-visible:before,.tf-wrapper [data-tooltip]:hover:after,.tf-wrapper [data-tooltip]:hover:before{opacity:1}@media (hover:none){.tf-wrapper [data-tooltip]:after,.tf-wrapper [data-tooltip]:before{display:none}}.tf-excel-tip{align-items:center;background:var(--tf-color-primary-light);border:1px solid var(--tf-color-border-focus);border-radius:var(--tf-radius);color:var(--tf-color-text);display:flex;flex-wrap:wrap;font-size:12px;gap:10px;margin-bottom:14px;padding:10px 14px}.tf-excel-tip__label{flex:1;line-height:1.5;min-width:160px}.tf-excel-tip__label strong{color:var(--tf-color-primary);display:block;font-size:12px;margin-bottom:2px}.tf-btn-preset{align-items:center;background:var(--tf-color-primary);border:1px solid var(--tf-color-primary);border-radius:var(--tf-radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--tf-font);font-size:12px;font-weight:600;gap:4px;padding:5px 12px;transition:background .12s,border-color .12s;white-space:nowrap}.tf-btn-preset:hover{background:var(--tf-color-primary-hover);border-color:var(--tf-color-primary-hover)}