.whisper-card { border-color: color-mix(in srgb, #9b6f46 44%, transparent); padding:.8rem 1rem; }
.whisper-card-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.whisper-card-head h3 { margin:0; }
.whisper-card .whisper-hint { margin:.45rem 0 0; }
.whisper-trigger { white-space:nowrap; display:inline-flex; gap:.5rem; align-items:center; }
.whisper-count { min-width:1.4rem; border-radius:99px; padding:.08rem .4rem; background:#f4dcc1; color:#4b2429; font-weight:700; }
.whisper-list { display:grid; gap:.35rem; max-height:190px; overflow-y:auto; margin-top:.55rem; }
.whisper-list:empty { display:none; }
.whisper-list > p { margin:0; }
.whisper-row { width:100%; display:flex; justify-content:space-between; align-items:center; gap:.8rem; border:1px solid color-mix(in srgb, currentColor 18%, transparent); background:color-mix(in srgb, #ad8357 8%, transparent); color:inherit; border-radius:10px; padding:.55rem .7rem; text-align:left; cursor:pointer; }
.whisper-row:hover, .whisper-row:focus-visible { border-color:#ae794d; background:color-mix(in srgb, #b4895b 16%, transparent); }
.whisper-row.unread { border-left:4px solid #ae794d; }
.whisper-row.important { box-shadow:inset 0 0 0 1px #b77d42; background:color-mix(in srgb, #d39c53 16%, transparent); }
.whisper-row span:first-child { display:grid; gap:.15rem; }
.whisper-row small, .whisper-row-end { font-size:.78rem; opacity:.72; }
.whisper-dialog { width:min(94vw,560px); max-height:88dvh; overflow:auto; border:1px solid #ad8357; border-radius:18px; padding:1.3rem; background:var(--card-bg, #f6eedf); color:var(--text, #38262a); box-shadow:0 22px 70px #170d0c77; }
.whisper-dialog::backdrop { background:#1d1215a8; backdrop-filter:blur(3px); }
.whisper-dialog-head { display:flex; justify-content:space-between; align-items:start; gap:1rem; margin-bottom:.8rem; }
.whisper-dialog h2 { margin:0; font-size:1.4rem; }
.whisper-close { background:transparent; color:inherit; border:0; font-size:1.8rem; line-height:1; cursor:pointer; }
.whisper-form { display:grid; gap:.85rem; }
.whisper-form label { display:grid; gap:.3rem; font-weight:600; }
.whisper-form select, .whisper-form textarea { width:100%; box-sizing:border-box; font:inherit; padding:.65rem .75rem; border-radius:9px; border:1px solid #aa9381; background:color-mix(in srgb, #fff 76%, transparent); color:#342125; }
.whisper-form textarea { resize:vertical; min-height:5.5rem; }
.whisper-form button[type=submit] { justify-self:start; }
.whisper-messages { display:grid; gap:.7rem; max-height:44dvh; overflow:auto; margin:.7rem 0 1rem; }
.whisper-message { background:color-mix(in srgb, #ad8357 12%, transparent); border-radius:12px; padding:.7rem .9rem; }
.whisper-message.mine { border-left:3px solid #aa744c; }
.whisper-message small { opacity:.68; }
.whisper-message p { margin:.35rem 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
@media (min-width:900px) {
  .campaign-lower > .whisper-card { grid-column:2; grid-row:1; }
  .campaign-lower > .members { grid-row:2; }
  .campaign-lower > .history { grid-row:3; }
  .campaign-lower > .diary { grid-row:1 / span 3; }
}
@media (max-width:600px) { .whisper-card-head { align-items:start; flex-wrap:wrap; } .whisper-trigger { width:100%; justify-content:center; } .whisper-row { align-items:start; flex-direction:column; } .whisper-dialog { padding:1rem; } }
html[data-theme="dark"] .whisper-dialog { background:#2b211e; color:#e8dcc6; }
html[data-theme="dark"] .whisper-form select, html[data-theme="dark"] .whisper-form textarea { background:#18120f; color:#e8dcc6; border-color:#6b4f2c; }
