/* TreeTell tree library — Thai Botanic editorial system. */
.ttc-hero{padding:56px 0 46px}
.ttc-hero h1{max-width:16ch}
.ttc-updated{margin:20px 0 0;font-size:.88rem;color:#5d675a}
.ttc-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:end;padding:28px 0 18px;border-bottom:1px solid var(--line)}
.ttc-tools label{display:grid;gap:6px;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ttc-tools input[type=search],.ttc-tools select{font:400 1rem/1.4 var(--sans);min-height:48px;padding:10px 14px;border:1px solid #b9b2a3;background:#fff;color:var(--ink);letter-spacing:0;text-transform:none}
.ttc-tools input[type=search]:focus,.ttc-tools select:focus{outline:3px solid var(--accent);outline-offset:2px}
.ttc-check{display:flex!important;align-items:center;gap:10px!important;min-height:48px;text-transform:none!important;letter-spacing:0!important;font-size:.92rem!important;font-weight:500!important}
.ttc-check input{width:20px;height:20px;accent-color:var(--botanic)}
.ttc-az{display:flex;flex-wrap:wrap;gap:4px;padding:14px 0;border-bottom:1px solid var(--line)}
.ttc-az button{min-width:36px;min-height:36px;padding:0 8px;border:1px solid transparent;background:none;font:500 .92rem var(--serif);cursor:pointer;color:var(--ink)}
.ttc-az button:hover{border-color:var(--line);background:#fff}
.ttc-az button[aria-pressed=true]{background:var(--botanic);color:#fff;border-color:var(--botanic)}
.ttc-count{margin:22px 0 18px;font-size:.9rem;color:#5d675a}
.ttc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--line);border:1px solid var(--line)}
.ttc-card{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;background:#fff;text-align:left;cursor:pointer;color:inherit;font:inherit}
.ttc-card:hover .ttc-latin i,.ttc-card:focus-visible .ttc-latin i{color:var(--botanic);text-decoration:underline;text-underline-offset:3px}
.ttc-card:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.ttc-thumb{display:block;aspect-ratio:1;background:#f5f0e6;overflow:hidden}
.ttc-thumb img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.ttc-card:hover .ttc-thumb img{transform:scale(1.03)}
.ttc-noimg{display:grid;place-items:center;height:100%;font-size:.8rem;color:#8a8a80}
.ttc-names{display:grid;gap:4px;padding:14px 16px 18px}
.ttc-latin{font:500 1.02rem/1.3 var(--serif)}.ttc-latin small{display:none}
.ttc-common{font-size:.88rem;color:#3d4a3f}
.ttc-family{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#7a8273}
.ttc-more{display:flex;justify-content:center;margin:30px 0 0}
.ttc-empty{padding:40px 0;font:500 1.2rem var(--serif)}
.ttc-status{padding:60px 0;font-size:1rem}.ttc-error{color:#7a2e1f}
.ttc-dialog{width:min(920px,calc(100% - 28px));max-height:calc(100dvh - 40px);padding:0;border:0;border-top:5px solid var(--brass);background:var(--paper);color:var(--ink)}
.ttc-dialog::backdrop{background:#1f2c2399}
.ttc-dialog-inner{padding:34px 38px 38px}
.ttc-close{position:sticky;top:0;float:right;margin:-14px -18px 0 0;min-width:44px;min-height:44px;border:1px solid var(--line);background:#fff;font:400 1.4rem/1 var(--sans);cursor:pointer}
.ttc-dlg-latin{font:500 clamp(1.9rem,4vw,3rem)/1.08 var(--serif)}.ttc-dlg-latin small{font:400 1rem var(--sans);color:#6b6b63}
#ttc-detail h2{margin:0 0 24px}#ttc-detail h3{font:500 1.3rem var(--serif);margin:30px 0 12px}
.ttc-figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ttc-figs figure{margin:0;background:#fff;border:1px solid var(--line)}
.ttc-figs img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff}
.ttc-figs figcaption{padding:8px 12px;font-size:.76rem;color:#62625d;border-top:1px solid var(--line)}
.ttc-langs,.ttc-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line)}
.ttc-langs div,.ttc-facts div{background:#fff;padding:12px 14px}
.ttc-langs dt,.ttc-facts dt{font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#6d7568}
.ttc-langs dd,.ttc-facts dd{margin:4px 0 0;font-size:.98rem}
.ttc-dlg-note{margin:24px 0 0;font-size:.84rem;color:#5d675a}
#ttc-detail .actions{margin-top:22px}
@media(max-width:1000px){.ttc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.ttc-tools{grid-template-columns:1fr 1fr}.ttc-tools label:first-child{grid-column:1/-1}.ttc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ttc-dialog-inner{padding:26px 20px 30px}.ttc-figs,.ttc-langs,.ttc-facts{grid-template-columns:1fr}}
@media(max-width:520px){.ttc-names{padding:10px 12px 14px}.ttc-latin{font-size:.95rem}.ttc-az button{min-width:32px}}
@media(prefers-reduced-motion:reduce){.ttc-thumb img{transition:none}}
