.tp-title{margin:.2rem 0;font-size:1.7rem}
.tp-sub{font-size:.98rem;line-height:1.55;margin:.4rem 0 1.1rem;color:#444}
.tp-search{width:100%;box-sizing:border-box;padding:14px 16px;font-size:1rem;border:1.5px solid #d9d2c6;border-radius:14px;margin-bottom:14px;background:#fff;color:#1c1c1c;font-family:inherit}
.tp-search:focus{outline:none;border-color:#1e4d3d;box-shadow:0 0 0 3px rgba(30,77,61,.15)}
.tp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}
.tp-chip{padding:12px 4px;font-size:.95rem;font-weight:600;text-align:center;background:#f6f3ee;border:1.5px solid #e3ddd2;border-radius:12px;cursor:pointer;color:#1c1c1c;font-family:inherit}
.tp-chip:hover{border-color:#1e4d3d}
.tp-chip.sel{background:#1e4d3d;border-color:#1e4d3d;color:#fff}
.tp-loading{color:#777;font-size:.95rem}
.tp-result{margin-top:16px;padding:16px 18px;background:#eef4f0;border:1px solid #d7e5dd;border-radius:14px}
.tp-result[hidden]{display:none}
.tp-res-sym{font-size:1.3rem;font-weight:700;margin-bottom:4px}
.tp-res-body{font-size:.95rem;line-height:1.55;color:#333}
.tp-res-body a{color:#1e4d3d;font-weight:600}
