#teacher-directory [hidden]{display:none!important}
#teacher-directory .hanabi-search{margin:24px 0 12px;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.hanabi-search label,.hanabi-profile-link{font-weight:650}
.hanabi-search input,.hanabi-search button{font:inherit;color:inherit;background:#fff;border:1px solid currentColor;border-radius:4px;padding:8px 12px;min-height:44px}
.hanabi-search input{max-width:100%;min-width:0;flex:1 1 190px}
.hanabi-search button:not(:disabled){cursor:pointer}
.hanabi-search button:disabled{opacity:.5}
.hanabi-results{font-size:.95em}
.hanabi-teachers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-items:stretch}
.hanabi-teacher{border:1px solid #cfc1b6;background:#fffdf9;border-radius:6px;display:grid;grid-template-columns:80px 1fr;align-content:start;gap:16px;padding:20px;min-width:0}
.hanabi-portrait{width:80px;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top}
.hanabi-teacher-body{min-width:0}
.hanabi-teacher-name{font-size:1.4rem;line-height:1.45;margin:0 0 .7rem}
.hanabi-teacher-name rt{font-size:.55em;font-weight:400}
.hanabi-teacher dl{margin:0;display:grid;gap:.5rem}
.hanabi-teacher dt{font:600 .72rem/1.4 system-ui,sans-serif;opacity:.8}
.hanabi-teacher dd{margin:0;font-size:.91rem;line-height:1.6;overflow-wrap:anywhere}
.hanabi-profile-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.7rem;padding:.45rem 0;text-decoration:underline;text-underline-offset:4px}
@media(max-width:420px){.hanabi-teacher{grid-template-columns:64px 1fr;gap:12px;padding:15px}.hanabi-portrait{width:64px}}
