/* TFF Corporate Jargon Translator */
.tff-jt{--navy:#1F2A44;--blue:#2563EB;--line:#DCE3EE;--soft:#F5F7FB;--amber:#F59E0B;--ink:#111827;--muted:#4B5563;container-type:inline-size;font-family:inherit;color:var(--ink);max-width:1100px;margin:0 auto 2em;line-height:1.5;}
.tff-jt *{box-sizing:border-box;}
.tff-jt button{font-family:inherit;}
.tff-hd{background:var(--navy);color:#fff;border-radius:14px 14px 0 0;padding:1.2em 1.4em;}
.tff-hd h2{margin:0 0 .25em;color:#fff;font-size:1.5em;line-height:1.2;}
.tff-hd p{margin:0;color:#CBD5E1;font-size:.95em;}
.tff-layout{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;background:#fff;}
@container (min-width:720px){
 .tff-layout{grid-template-columns:minmax(250px,32%) 1fr;}
 .tff-side{border-right:1px solid var(--line);border-bottom:0!important;}
 .tff-groups{max-height:760px!important;}
}
/* Phrase list */
.tff-side{background:var(--soft);border-bottom:1px solid var(--line);padding:1em;display:flex;flex-direction:column;min-width:0;border-radius:0 0 0 14px;}
.tff-side-hd strong{display:block;color:var(--navy);font-size:1.02em;}
.tff-side-sub{display:block;font-size:.82em;color:var(--muted);margin:.1em 0 .6em;}
.tff-search{width:100%;border:1px solid #C7D2E3;border-radius:8px;padding:.5em .7em;font:inherit;font-size:.92em;background:#fff;margin-bottom:.7em;}
.tff-groups{overflow-y:auto;max-height:340px;padding-right:.2em;}
.tff-grp{margin:0 0 .5em;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;}
.tff-grp summary{cursor:pointer;list-style:none;padding:.55em .75em;font-weight:700;font-size:.9em;color:var(--navy);display:flex;align-items:center;gap:.5em;}
.tff-grp summary::-webkit-details-marker{display:none;}
.tff-grp summary::after{content:"+";margin-left:auto;color:var(--muted);font-weight:400;}
.tff-grp[open] summary::after{content:"\2212";}
.tff-grp[open] summary{border-bottom:1px solid var(--line);background:var(--bg);}
.tff-dot{width:.6em;height:.6em;border-radius:50%;background:var(--c);flex:0 0 auto;}
.tff-n{font-size:.78em;font-weight:600;color:var(--c);background:var(--bg);border-radius:999px;padding:0 .5em;}
.tff-grp[open] .tff-n{background:#fff;}
.tff-grp ul{list-style:none;margin:0;padding:.3em;}
.tff-grp li{margin:0;padding:0;}
.tff-ph{display:block;width:100%;text-align:left;background:none;border:0;border-left:3px solid transparent;border-radius:6px;padding:.45em .6em;font-size:.86em;color:#374151;cursor:pointer;line-height:1.35;}
.tff-ph:hover{background:var(--soft);border-left-color:var(--c);}
.tff-ph.tff-active{background:#EFF6FF;border-left-color:var(--c);color:var(--ink);}
.tff-ph-q{display:block;font-size:.82em;font-weight:700;color:var(--c);margin-bottom:.1em;}
.tff-empty{font-size:.88em;color:var(--muted);}
/* Main */
.tff-main{padding:1.2em 1.3em;min-width:0;}
.tff-tabs{display:flex;gap:.4em;flex-wrap:wrap;margin:0 0 1em;}
.tff-tab{flex:1 1 200px;border:2px solid var(--line);background:var(--soft);border-radius:10px;padding:.65em .85em;cursor:pointer;font-weight:700;color:var(--navy);font-size:.96em;text-align:left;}
.tff-tab small{display:block;font-weight:400;color:var(--muted);font-size:.82em;margin-top:.15em;}
.tff-tab[aria-selected="true"]{border-color:var(--blue);background:#EFF6FF;}
.tff-lb{display:block;font-weight:700;color:var(--navy);margin:0 0 .35em;}
.tff-jt textarea{width:100%;min-height:140px;border:1px solid #C7D2E3;border-radius:10px;padding:.8em;font:inherit;font-size:1em;resize:vertical;background:#fff;color:var(--ink);}
.tff-jt textarea:focus,.tff-search:focus{outline:2px solid var(--blue);outline-offset:1px;}
.tff-meta{text-align:right;font-size:.78em;color:var(--muted);margin:.2em 0 .8em;}
.tff-chars.tff-warn{color:#B91C1C;font-weight:700;}
.tff-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}
.tff-lvl{display:flex;flex-wrap:wrap;gap:.5em;margin:0 0 1em;}
.tff-lvl label{flex:1 1 150px;border:1px solid var(--line);border-radius:10px;padding:.5em .7em;cursor:pointer;font-size:.92em;background:#fff;}
.tff-lvl label:has(input:checked){border-color:var(--blue);background:#EFF6FF;}
.tff-lvl small{display:block;color:var(--muted);font-size:.85em;}
.tff-row{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;}
.tff-go{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:.7em 1.4em;font-weight:700;font-size:1em;cursor:pointer;min-width:9em;}
.tff-go:disabled{opacity:.7;cursor:wait;}
.tff-sec{background:#fff;color:var(--navy);border:1px solid #C7D2E3;border-radius:10px;padding:.65em 1em;font-weight:600;cursor:pointer;font-size:.93em;}
.tff-jt button:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}
/* Output */
.tff-out{margin-top:1.2em;border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:1em 1.1em;display:none;}
.tff-out.tff-show{display:block;}
.tff-busy .tff-out{opacity:.55;}
.tff-out-hd{display:flex;align-items:center;justify-content:space-between;gap:.6em;flex-wrap:wrap;margin:0 0 .5em;}
.tff-out h3{margin:0;font-size:.95em;color:var(--navy);text-transform:uppercase;letter-spacing:.06em;}
.tff-badge{font-size:.75em;font-weight:700;border-radius:999px;padding:.2em .7em;}
.tff-b-ai{background:#EDE9FE;color:#5B21B6;}
.tff-b-list{background:#DCFCE7;color:#166534;}
.tff-b-dict{background:#FEF3C7;color:#92400E;}
.tff-res{font-size:1.08em;line-height:1.55;background:#fff;border-radius:8px;padding:.8em .9em;border:1px solid var(--line);white-space:pre-wrap;word-wrap:break-word;}
.tff-notice{display:none;font-size:.85em;color:#92400E;background:#FFFBEB;border:1px solid #FCD34D;border-radius:8px;padding:.5em .7em;margin:.6em 0 0;}
.tff-row-sm{margin-top:.6em;}
.tff-copied{color:#047857;font-size:.85em;font-weight:600;}
.tff-meter{display:flex;align-items:center;gap:.7em;margin:.9em 0 .3em;flex-wrap:wrap;}
.tff-ml{font-size:.88em;color:var(--navy);}
.tff-bar{flex:1 1 140px;height:10px;background:#E5E7EB;border-radius:999px;overflow:hidden;}
.tff-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#10B981,#F59E0B,#EF4444);transition:width .4s;}
.tff-mv{font-size:.88em;font-weight:700;}
.tff-found{margin:.5em 0 0;padding:0;list-style:none;font-size:.9em;}
.tff-found li{padding:.35em 0;border-bottom:1px dashed var(--line);margin:0;}
.tff-found li.tff-found-hd{font-weight:700;color:var(--navy);font-size:.85em;text-transform:uppercase;letter-spacing:.05em;border-bottom:0;}
.tff-found b{color:#B91C1C;}
.tff-note{font-size:.8em;color:#6B7280;margin:1em 0 0;}
.tff-suggest{display:none;align-items:center;justify-content:space-between;gap:.6em;flex-wrap:wrap;margin:.6em 0 0;padding:.6em .8em;border:1px solid #BFDBFE;background:#EFF6FF;border-radius:8px;font-size:.9em;color:#1E3A8A;}
.tff-suggest .tff-sec{padding:.45em .9em;font-size:.9em;}
