.guide-intro{max-width:760px;margin-bottom:24px}
.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
.guide-panel{border:1px solid #d9cfdf;background:#fff;padding:22px;min-width:0}
.guide-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.guide-prompts button,.guide-more{font:inherit;font-size:.9rem;color:#48156a;background:#fbf6e9;border:1px solid #d6bb77;padding:9px 13px;cursor:pointer;border-radius:0}
.guide-prompts button:hover,.guide-more:hover{background:#f3e5bf}
.guide-log{max-height:640px;min-height:190px;overflow-y:auto;overscroll-behavior:contain;padding:4px 6px 14px 0}
.guide-message{line-height:1.6;padding:15px 16px;margin:0 0 14px;overflow-wrap:anywhere;border:1px solid #e5ddec;background:#fcfaf5}
.guide-visitor{background:#4c1d68;color:#fff;margin-left:12%;border-color:#4c1d68}
.guide-answer{margin-right:4%}
.guide-recommendations{display:grid;gap:12px;margin-top:16px}
.guide-song{display:flex;gap:14px;padding:14px;background:#fff;border:1px solid #dfd6e5;min-width:0}
.guide-cover{flex:0 0 72px;width:72px;height:72px;object-fit:cover;background:#f5efe1}
.guide-song-info{min-width:0;flex:1}
.guide-song h3{margin:2px 0 6px;font-size:1.1rem;line-height:1.3;color:#48156a}
.guide-code{font-size:.76rem;font-weight:700;letter-spacing:.03em;color:#765d30;margin:0}
.guide-excerpt{font-size:.9rem;margin:0 0 12px;color:#4d4851}
.guide-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px}
.guide-links .refresh-button{font-size:.86rem;padding:9px 13px}
.guide-more{margin-top:14px}
.guide-coming-soon{display:inline-block;font-size:.8rem;font-weight:700;color:#765d30}
.guide-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-top:1px solid #ddd4e5;padding-top:18px}
.guide-form label{grid-column:1/-1;font-weight:700;color:#48156a}
.guide-form input{width:100%;min-width:0;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #8d789c;border-radius:0;background:#fff;color:#2f2536}
.guide-form button{border-radius:0}
.guide-form button:disabled{opacity:.6;cursor:wait}
.guide-status{font-size:.82rem;color:#6e6075;margin:10px 0 0;min-height:1.3em}
.guide-reset{display:block;font:inherit;font-size:.82rem;border:0;background:none;text-decoration:underline;color:#48156a;padding:5px 0;cursor:pointer;margin-top:10px}
.guide-sidebar{padding:22px;background:#fbf6e9;border:1px solid #d6bb77}
.guide-sidebar h2{font-size:1.2rem;margin:0 0 12px;color:#48156a}
.guide-sidebar ul{padding-left:19px;margin:0 0 22px}
.guide-sidebar li{margin:10px 0}
.guide-sidebar p{font-size:.92rem;line-height:1.6}
.guide-faq{margin-top:30px;max-width:880px}
.guide-faq details{padding:15px 0;border-bottom:1px solid #dfd6e5}
.guide-faq summary{font-weight:700;cursor:pointer;color:#48156a}
.guide-faq p{line-height:1.7;margin:12px 0}
.song-guide-invite{margin:16px 0 22px;text-align:center;color:#48156a}
.song-directory{margin:26px 0 0;padding:20px;border:1px solid #d6bb77;background:#fff}
.song-directory summary{font-weight:700;cursor:pointer;color:#48156a}
.song-directory h3{margin:24px 0 10px;font-size:1.05rem}
.song-directory ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 22px;padding-left:20px}
.song-directory li{line-height:1.5;overflow-wrap:anywhere}
.guide-form input:focus-visible,.guide-prompts button:focus-visible,.guide-reset:focus-visible,.guide-more:focus-visible{outline:3px solid #b38824;outline-offset:3px}
@media(max-width:850px){.guide-layout{grid-template-columns:1fr}.guide-sidebar{padding:18px}.guide-sidebar ul{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;padding:0}.guide-sidebar li{margin:0}.guide-panel{padding:16px}}
@media(max-width:520px){.guide-form{grid-template-columns:1fr}.guide-form button{width:100%}.guide-message{padding:12px}.guide-answer{margin-right:0}.guide-visitor{margin-left:5%}.guide-song{gap:10px;padding:10px}.guide-cover{width:52px;height:52px;flex-basis:52px}.guide-links{gap:10px}.song-directory ul{grid-template-columns:1fr}.guide-log{max-height:580px}.guide-prompts button{padding:8px 10px}}
