.heart-button{display:inline-flex;align-items:center;gap:7px;min-height:34px;margin-top:5px;padding:5px 10px;border:1px solid #796c54;border-radius:18px;background:transparent;color:#e7d9bd;font:700 12px var(--body);cursor:pointer}
.heart-button:hover,.heart-button[aria-pressed="true"]{border-color:var(--accent);background:#d2b67b20;color:var(--accent)}
.heart-button:focus-visible,.choice-button:focus-visible,.listener-form button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.heart-button:disabled,.choice-button:disabled{cursor:default;opacity:.7}
body{overflow-x:clip}
section.about,section.listener-section{position:relative;isolation:isolate}
section.about::before,section.listener-section::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;box-shadow:inset 0 1px #6d866b80,inset 0 -1px #6d866b80;background:radial-gradient(circle at 14% 48%,#42695255,transparent 42%),linear-gradient(110deg,#304537,#26372e 75%)}
section.listener-section::before{box-shadow:inset 0 1px #8a795480,inset 0 -1px #8a795480;background:radial-gradient(circle at 84% 42%,#77603c55,transparent 40%),linear-gradient(110deg,#3b382a,#2e3228 75%)}
.listener-section{padding:78px 0 86px;border-bottom:1px solid var(--line)}
.listener-section .section-head{margin-bottom:26px}
.listener-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.listener-column{display:grid;gap:20px;align-content:start;min-width:0}
.listener-panel{min-width:0;padding:27px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.listener-panel h3{font-size:24px;line-height:1.2;margin:0 0 9px}
.listener-panel>p{margin:0 0 20px;color:var(--muted);font-size:14px}
.choice-list{display:grid;gap:9px}
.choice-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:12px 15px;border:1px solid #58625d;border-radius:5px;background:#151a18;color:var(--text);font:700 15px var(--body);text-align:left;cursor:pointer}
.choice-button:hover,.choice-button.is-chosen{border-color:var(--accent);background:#2c2a21}
.choice-button span:last-child{color:var(--accent);font-size:12px;white-space:nowrap}
.listener-form{display:grid;gap:12px}
.listener-form label{display:grid;gap:5px;color:#e5e7e1;font-size:13px;font-weight:700}
.listener-form input,.listener-form textarea,.listener-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #68746e;border-radius:4px;background:#101514;color:var(--text);font:15px var(--body)}
.listener-form textarea{min-height:105px;resize:vertical}
.listener-form button{justify-self:start;cursor:pointer}
.listener-form button:disabled{opacity:.6;cursor:wait}
.listener-note{margin:0;color:var(--muted);font-size:12px}
.listener-status{min-height:22px;margin:9px 0 0;color:var(--accent);font-size:13px}
.public-messages h3{font-size:22px;margin:0 0 12px}
.public-message{padding:12px 0;border-top:1px solid var(--line)}
.public-message strong{display:block;font-size:14px}
.public-message small{color:var(--muted);font-weight:400}
.public-message p{margin:5px 0 0;color:#e4e7e1;font-size:14px;overflow-wrap:anywhere}
footer{flex-wrap:wrap}
footer .visitor-counter{color:#d1d8d0;font-variant-numeric:tabular-nums}
footer #visitor-count{color:var(--accent);font-weight:800}
@media(max-width:900px){.listener-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.listener-section{padding:60px 0}.listener-panel{padding:19px}.listener-panel h3{font-size:21px}footer{display:grid;grid-template-columns:1fr auto;gap:5px 12px}footer .visitor-counter{grid-column:1/-1;grid-row:2}}
