/* Shared space-driven component rules; no device-model selectors. */
:root{--ui-control-min:44px;--ui-panel-gap:clamp(10px,3vw,20px)}
.v14-chat-sheet{--chat-avatar-size:46px;--chat-gap:10px;container-type:inline-size;container-name:bookclub-chat;min-width:0;box-sizing:border-box;font-size:16px;line-height:1.5}
.v14-chat-sheet header{grid-template-columns:minmax(0,1fr) auto var(--ui-control-min);gap:8px;min-width:0}
.v14-chat-sheet header strong{font-size:20px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.v14-chat-sheet .chat-records-note{font-size:12px;line-height:1.4;color:#85745a;background:none;border:0;padding:0;white-space:nowrap;cursor:default}
.v14-chat-sheet .chat-collapse{display:grid;place-items:center;width:44px;height:44px;min-height:44px;min-width:44px;padding:0;border:1px solid #ccb487;border-radius:14px;background:#fffaf0;color:#604b32;line-height:1;font-size:23px}
.v14-chat-sheet .chat-message{grid-template-columns:var(--chat-avatar-size) minmax(0,1fr);gap:var(--chat-gap);align-items:start;margin:14px 0}
.v14-chat-sheet .chat-message.is-mine{grid-template-columns:minmax(0,1fr) var(--chat-avatar-size)}
.v14-chat-sheet .chat-avatar{width:var(--chat-avatar-size);height:var(--chat-avatar-size);min-width:0;background:#fff6df;border:1px solid #cfb887;border-radius:50%;align-self:start}
.v14-chat-sheet .chat-avatar>.component-icon,.v14-chat-sheet .chat-avatar svg{display:block;width:100%;height:100%}
.v14-chat-sheet .chat-avatar img{width:100%;height:100%;object-fit:cover}
.v14-chat-sheet .chat-message>div{min-width:0}
.v14-chat-sheet .chat-message small{font-size:12px;line-height:1.5;color:#8b7a60}
.v14-chat-sheet .chat-message p{width:fit-content;max-width:100%;margin-top:4px;padding:10px 12px;border-radius:15px;background:#f2e7cd;font-size:calc(15px * var(--reading-text-scale,1));line-height:1.55;overflow-wrap:anywhere}
.v14-chat-sheet .chat-message.is-mine p{margin-left:auto;background:#deead3}
.v14-chat-sheet .chat-compose{min-width:0;grid-template-columns:minmax(0,1fr) auto minmax(60px,64px);gap:6px}
.v14-chat-sheet .chat-compose textarea{box-sizing:border-box;min-width:0;width:100%;font:inherit;line-height:1.4;font-size:calc(14px * var(--reading-text-scale,1));border:1px solid #cbb58c;background:#fffaf1;border-radius:13px;padding:10px 12px}
.v14-chat-sheet .chat-send{padding:8px 10px;min-height:44px;border-radius:13px}
.v14-chat-sheet .chat-preferences label{min-height:40px;min-width:0}
.v14-chat-sheet .chat-new{background:#3e7552;color:white;border-color:#3e7552;border-radius:18px;box-shadow:0 2px 6px #44694e20}
@supports (width:1cqw){.v14-chat-sheet{--chat-avatar-size:clamp(42px,14cqw,48px);--chat-gap:clamp(8px,3cqw,12px)}.v14-chat-sheet header strong{font-size:clamp(19px,5.8cqw,22px)}}
@container bookclub-chat (max-width:320px){.v14-chat-sheet .chat-preferences{gap:2px 8px;font-size:11px}.v14-chat-sheet .chat-preferences small{font-size:11px}.v14-chat-sheet .chat-tagline{font-size:11px}}
@media(min-width:960px){.v14-chat-sheet,.v14-chat-launcher{width:clamp(360px,30vw,520px);max-width:calc(100% - 40px)}}
.gm-reward-core{container-type:inline-size;container-name:gm-reward;min-width:0}
.gm-reward-hero{min-width:0}.gm-reward-hero>div{min-width:0}
#gm-reward-form input{max-width:100%;min-width:0}
.checkin-tabs{min-width:0}.checkin-tabs button{min-width:0;min-height:44px}
@media(prefers-reduced-motion:reduce){.chat-message{animation:none!important}}
