.twn-guide-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 1rem;padding:1rem 1.15rem;background:#f5fbf8;border:1px solid #cfe9dc;border-radius:12px}
.twn-guide-toolbar p{margin:0;color:#34433c}
.twn-guide-toolbar select{width:auto;min-width:160px}
.twn-guide-category-list{list-style:none;padding:0;display:grid;gap:.85rem}
.twn-guide-empty-category{margin:2rem 0 1rem;padding:1rem 1.15rem;background:#f8faf9;border:1px dashed #b9d7c8;border-radius:12px}
.twn-guide-empty-category h2{margin:0 0 .45rem;color:#183f2c;font-weight:800;letter-spacing:-.015em}
.twn-guide-empty-category p{margin:0;color:#52635a}
.twn-suggest-category-button{padding:0;border:0;background:none;color:#198754;font-weight:700;text-decoration:underline;cursor:pointer}
h2:has(+.twn-guide-category-list),h3:has(+.twn-guide-category-list){margin:2rem 0 .8rem;color:#183f2c;font-weight:800;letter-spacing:-.015em}
.twn-guide-card{background:#fff;border:1px solid #dce5e0;border-radius:12px;padding:1rem 1.1rem;box-shadow:0 2px 10px rgba(29,61,47,.05)}
.twn-guide-card-main{font-size:1rem;line-height:1.55}
.twn-guide-place-link{color:#12623f;font-weight:750;text-decoration:underline;text-decoration-color:#87caaa;text-decoration-thickness:1px;text-underline-offset:3px}
.twn-guide-place-link:hover,.twn-guide-place-link:focus{color:#0b4b2d;text-decoration-color:#0b4b2d}
.twn-guide-badge{display:inline-block;margin-top:.65rem;padding:.18rem .55rem;border-radius:999px;background:#e2f5eb;color:#17633f;font-size:.76rem;font-weight:700;letter-spacing:.02em}
.twn-guide-badge.community{background:#eef1f3;color:#44515a}
.twn-guide-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}
.twn-vote-button,.twn-feedback-button{border:1px solid #c8d7cf;background:#fff;color:#263a30;border-radius:999px;padding:.38rem .7rem;font:inherit;font-size:.88rem;cursor:pointer}
.twn-vote-button:hover,.twn-vote-button[aria-pressed=true]{border-color:#36ae7c;background:#eaf8f1}
.twn-vote-button:disabled{opacity:.55;cursor:wait}
.twn-feedback-button{border:0;color:#17633f;text-decoration:underline;text-underline-offset:3px}
.twn-guide-error{color:#9b2d30;font-size:.85rem;margin:.5rem 0 0}
.twn-community-notes{margin-top:.9rem;padding-top:.8rem;border-top:1px solid #edf1ef}
.twn-community-notes h3{font-size:.9rem;margin:0 0 .55rem;color:#52635a;text-transform:uppercase;letter-spacing:.04em}
.twn-community-note{margin:.45rem 0;padding-left:.8rem;border-left:3px solid #b8dfca;color:#3e4b44}
.twn-community-note small{display:block;color:#6f7b75;margin-top:.2rem}
.twn-suggest-wrap{text-align:center;margin:2rem 0}
.twn-community-dialog[hidden]{display:none}
.twn-community-dialog{position:fixed;inset:0;z-index:10000;background:rgba(14,24,19,.58);display:grid;place-items:center;padding:1rem}
.twn-dialog-panel{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:1.25rem;box-shadow:0 18px 70px rgba(0,0,0,.3)}
.twn-dialog-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.twn-dialog-head h2{font-size:1.35rem;margin:0}
.twn-dialog-close{border:0;background:transparent;font-size:1.7rem;line-height:1;cursor:pointer}
.twn-community-form label{display:block;font-weight:600;margin:.85rem 0 .3rem}
.twn-community-form input,.twn-community-form select,.twn-community-form textarea{width:100%;border:1px solid #bdcbc4;border-radius:7px;padding:.62rem;font:inherit}
.twn-community-form textarea{min-height:120px;resize:vertical}
.twn-honeypot{position:absolute!important;left:-10000px!important}
.twn-form-status{min-height:1.4em;margin:.7rem 0;color:#17633f}
.twn-directory-count{display:block;margin-top:.25rem;color:#5f6d66;font-size:.86rem}
.twn-directory-community{margin:.5rem 0 1.4rem;text-align:center;color:#52635a}
.twn-backend-unavailable .twn-vote-button,.twn-backend-unavailable .twn-feedback-button{display:none}
@media(max-width:600px){.twn-guide-toolbar{align-items:stretch;flex-direction:column}
.twn-guide-toolbar select{width:100%}
.twn-guide-card{padding:.9rem}
.twn-guide-controls{gap:.35rem}
.twn-vote-button,.twn-feedback-button{min-height:42px}
.twn-dialog-panel{padding:1rem}
}
