/* TSL 1.2 CC BY-SA vocabulary library; separate from original 120 curated cards. */
.tsl-callout{background:#edf6e7;border:1px solid #d8e7d3;border-radius:17px;padding:23px;margin:20px 0 28px}
.tsl-callout strong{font-size:14px;color:#315638}
.tsl-callout p{font-size:12px;line-height:1.9;color:#657d69;margin:11px 0 17px}
.tsl-attribution{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:11px;color:#869a88}
.tsl-attribution a{color:#42754a;text-decoration:underline;text-underline-offset:3px}
.tsl-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:25px 0}
.tsl-search{flex:1;min-width:200px}
.tsl-search input{border:1px solid #dfe9db;background:#fff;min-height:46px;padding:12px 16px;border-radius:12px;font-size:13px;outline:none;width:100%;color:#26442d}
.tsl-search input:focus{border-color:#9dc77f}
.tsl-filters{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}
.tsl-filters button{background:#fff;border:1px solid #e0e9dd;border-radius:99px;min-height:35px;padding:8px 14px;font-size:11px;font-weight:760;color:#638166}
.tsl-filters button.active{background:#284b34;border-color:#284b34;color:#fff}
.tsl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tsl-word{display:flex;flex-direction:column;gap:9px;min-width:0;padding:20px;border-radius:16px;background:#fff;border:1px solid #e0e9db}
.tsl-word-head{font-size:9px;font-weight:810;color:#8da48e;letter-spacing:.04em;display:flex;justify-content:space-between;gap:7px}
.tsl-word-main{display:flex;flex-direction:column;gap:8px;min-height:62px}
.tsl-word-main strong{font-size:23px;letter-spacing:-.05em;color:#213c28;line-height:1.3;overflow-wrap:anywhere}
.tsl-word-main span{font-size:11px;color:#809581;line-height:1.6}
.tsl-word-example{font-size:11px;color:#657d68;line-height:1.8;min-height:38px;overflow-wrap:anywhere}
.tsl-word-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.tsl-word-actions button{border:1px solid #d9e5d5;border-radius:9px;background:#f7faf5;color:#477249;font-size:11px;font-weight:760;min-height:36px;padding:8px 11px}
.tsl-word-actions button:last-child{background:#e6f2dc}
.tsl-flash{background:#fff;border:1px solid #dde7d8;border-radius:21px;padding:clamp(24px,5vw,42px);max-width:770px;margin:24px auto;min-height:400px}
.tsl-flash-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#859b85;font-size:11px;font-weight:820}
.tsl-flash-top button{border:1px solid #dce8d9;border-radius:11px;background:#f7faf5;padding:11px 14px;color:#527655;font-size:12px;font-weight:780}
.tsl-flash h1{text-align:center;font-size:clamp(40px,7vw,64px);letter-spacing:-.07em;line-height:1.15;margin:55px 0 15px;overflow-wrap:anywhere}
.tsl-flash>p{text-align:center;color:#869a87;font-size:12px;margin-bottom:40px}
.tsl-reveal{padding:20px;border-radius:13px;background:#f1f7eb;text-align:center}
.tsl-reveal h2{font-size:21px;color:#3a603e;margin:4px 0 14px}
.tsl-reveal p{line-height:1.8;font-size:12px;color:#66816a}
.tsl-externals{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:20px 0 3px}
.tsl-externals a{padding:10px 13px;border:1px solid #cee0c2;background:white;border-radius:10px;font-size:11px;font-weight:740;color:#437c49;text-decoration:none}
.tsl-rate{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:19px}
.tsl-rate button{border:1px solid #d9e4d5;border-radius:11px;padding:13px 6px;background:#fff;color:#527755;font-size:11px;font-weight:740;min-height:52px}
.tsl-rate button:first-child{background:#fff1ee;color:#a46456}
.tsl-rate button:last-child{background:#e7f3da;color:#447046}
.tsl-flash-foot{text-align:center;color:#94a494;font-size:10px;margin-top:27px}
@media(max-width:1100px){.tsl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.tsl-grid{grid-template-columns:1fr}.tsl-word{padding:18px}.tsl-word-main{min-height:0}.tsl-word-main strong{font-size:23px}.tsl-flash{padding:24px 18px}.tsl-flash h1{margin-top:45px}.tsl-rate{gap:6px}.tsl-rate button{font-size:10px;padding:9px 4px}}
