.tsf-card{background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:16px;overflow:hidden;box-shadow:var(--shadow-soft,0 2px 12px rgba(0,0,0,.06));margin-bottom:1.5rem;-webkit-tap-highlight-color:transparent;}
.tsf-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--surface-muted,rgba(0,0,0,.02));border-bottom:1px solid var(--border,rgba(0,0,0,.08));}
.tsf-bar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.tsf-bar-main{flex:1;min-width:0;}
.tsf-bar-extra{flex-shrink:0;}
.tsf-btn{font-size:0.875rem;font-weight:500;padding:10px 16px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;}
.tsf-btn:active{transform:scale(0.98);}
.tsf-btn-primary{background:var(--primary,#3178c6);color:#fff;border-color:var(--primary,#3178c6);}
.tsf-btn-primary:hover{background:var(--primary-dark,#235a97);border-color:var(--primary-dark,#235a97);box-shadow:0 4px 14px rgba(49,120,198,.25);}
.tsf-btn-secondary{background:var(--surface,#fff);color:var(--text-main,#111);border:1px solid var(--border,rgba(0,0,0,.12));}
.tsf-btn-secondary:hover{background:var(--surface-muted,rgba(0,0,0,.04));border-color:var(--border,rgba(0,0,0,.2));}
.tsf-btn-ghost{background:transparent;color:var(--text-muted,#6b7280);border:1px solid transparent;}
.tsf-btn-ghost:hover{background:var(--surface-muted,rgba(0,0,0,.04));color:var(--text-main,#111);}
.tsf-icon{display:inline-block;margin-right:4px;font-size:1rem;opacity:.9;}
.tsf-settings{border-bottom:1px solid var(--border,rgba(0,0,0,.08));background:var(--surface-muted,rgba(0,0,0,.02));}
.tsf-settings[aria-hidden="true"]{display:none;}
.tsf-settings-inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;padding:14px 16px;}
.tsf-setting{display:flex;align-items:center;gap:8px;}
.tsf-setting label{font-size:0.8125rem;font-weight:500;color:var(--text-muted,#6b7280);margin:0;}
.tsf-setting select,.tsf-setting input[type="number"]{padding:6px 10px;border:1px solid var(--border,rgba(0,0,0,.12));border-radius:8px;font-size:0.875rem;background:var(--surface,#fff);color:var(--text-main,#111);}
.tsf-setting input[type="number"]{width:4.5rem;}
.tsf-setting-inline{display:flex;align-items:center;gap:6px;}
.tsf-setting-inline input[type="checkbox"]{width:1rem;height:1rem;accent-color:var(--primary,#3178c6);}
.tsf-editor-wrap{padding:14px;min-height:280px;}
.tsf-editor{min-height:260px;width:100%;border-radius:10px;border:1px solid var(--border,rgba(0,0,0,.1));overflow:hidden;}
.tsf-status{font-size:0.8125rem;color:var(--text-muted);margin:0 14px 12px;min-height:1.25em;}
@media (min-width:480px){.tsf-bar{padding:14px 18px;gap:12px;}
.tsf-btn{padding:10px 18px;}
.tsf-settings-inner{padding:16px 18px;}
.tsf-editor-wrap{padding:18px;}
.tsf-editor{min-height:320px;}
.tsf-status{margin:0 18px 14px;}
}
@media (min-width:768px){.tsf-bar{padding:16px 20px;border-radius:0;}
.tsf-editor-wrap{padding:20px;min-height:360px;}
.tsf-editor{min-height:340px;}
.tsf-status{margin:0 20px 16px;}
}
@media (min-width:992px){.tsf-editor{min-height:420px;}
.tsf-editor-wrap{min-height:440px;}
}
@media (max-width:479px){.tsf-bar{flex-direction:column;align-items:stretch;}
.tsf-bar-group{justify-content:flex-start;}
.tsf-btn{padding:10px 14px;font-size:0.8125rem;}
.tsf-settings-inner{padding:12px 14px;gap:12px;}
.tsf-editor-wrap{padding:12px;min-height:240px;}
.tsf-editor{min-height:220px;}
}
