.heart-toolbar{display:flex;gap:8px;padding:8px 12px 0;flex-wrap:wrap}.heart-toolbar button,.heart-speech-host button{border:1px solid #e5deed;border-radius:9px;background:#fff;color:#64527f;padding:8px 10px;font-size:12px;cursor:pointer}.heart-toolbar #heart-open{background:#f4effa;color:#704ba1;font-weight:750}.heart-pending,.heart-speech-status{margin:6px 12px;font-size:11px;line-height:1.5;color:#7c6a8e}.heart-pending{padding:8px;border-radius:8px;background:#faf6e9;color:#87702f}.heart-speech-host{display:flex;gap:6px;flex-wrap:wrap;margin:6px 12px}.heart-speech-host button{font-size:11px;padding:6px}.heart-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #e8e1ed;border-radius:22px;background:#fff;color:#332a3d;box-shadow:0 24px 90px #3021392b}.heart-dialog::backdrop{background:#30213955}.heart-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.heart-dialog h2{margin:0;font-size:22px}.heart-dialog-heading button{background:#fff;color:#776886;border:1px solid #e8e1ed;border-radius:8px;padding:7px 10px}.heart-dialog>p{font-size:13px;color:#81718f}.heart-wallet{display:flex;justify-content:space-between;gap:10px;padding:16px;background:#faf8fc;border:1px solid #eee7f5;border-radius:12px;font-size:13px}.heart-wallet strong{color:#77529d}.heart-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.heart-presets button{display:flex;flex-direction:column;align-items:center;padding:8px 3px;border:1px solid #e9e1ef;border-radius:12px;background:#fff;color:#665174;font-weight:750;cursor:pointer}.heart-presets button:hover{border-color:#ac8aca;background:#faf6ff}.heart-presets img{width:100%;height:66px;object-fit:contain}.heart-dialog label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.heart-dialog #heart-amount{box-sizing:border-box;width:100%;padding:12px;border:1px solid #cdbbde;border-radius:10px;background:#fff;color:#493357;font-size:20px}.heart-help{font-size:12px;color:#887b92;line-height:1.7}.heart-dialog #heart-confirmation{font-size:14px;font-weight:700;color:#77529d;overflow-wrap:anywhere}.heart-dialog #heart-error{font-size:13px;color:#77529d;line-height:1.6}.heart-dialog #heart-send{width:100%;border:0;border-radius:12px;padding:14px;background:#8058a8;color:#fff;font-weight:750;cursor:pointer}.heart-dialog button:disabled,.heart-toolbar button:disabled{opacity:.5;cursor:default}.heart-receipt{display:flex;align-items:center;gap:9px;margin:6px 12px;padding:10px;border:1px solid #e3d3aa;border-radius:12px;background:#fffdf6;color:#806538;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.heart-receipt img{width:52px;height:52px;object-fit:contain}.chat-message.is-heart{border:1px solid #e6d9ee;background:#fbf8ff;border-radius:10px;padding:9px;margin:5px 0}.chat-message .heart-chat-badge{color:#977539;background:#fbf4df;border-radius:5px;padding:2px 5px}.heart-chat-image{display:block;width:72px;height:72px;object-fit:contain}.heart-receipt[hidden],.heart-pending[hidden],.heart-speech-host[hidden]{display:none}@media(max-width:480px){.heart-dialog{padding:18px}.heart-dialog h2{font-size:19px}.heart-presets img{height:56px}}
.heart-speech-status:empty{display:none}.heart-receipt{position:absolute;z-index:4;left:0;right:0;bottom:2px;pointer-events:none;box-shadow:0 4px 16px #66543815}.heart-toolbar,.heart-pending,.heart-speech-status,.heart-speech-host{flex-shrink:0}@media(max-height:550px) and (orientation:landscape){.theater.is-immersive .heart-toolbar{padding:2px 7px;gap:4px}.theater.is-immersive .heart-toolbar button{padding:3px 5px;font-size:9px;min-height:22px}.theater.is-immersive .heart-speech-host{margin:2px 7px}.theater.is-immersive .heart-speech-host button{padding:2px 4px;font-size:8px;min-height:20px}.theater.is-immersive .heart-speech-status,.theater.is-immersive .heart-pending{font-size:8px;padding:2px;margin:2px 7px}}

/* Keep gift and host speech actions in one scrollable row. */
.heart-toolbar{flex-wrap:nowrap;align-items:center;min-width:0;max-width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain}.heart-toolbar .heart-speech-host{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;margin:0;gap:8px}.heart-toolbar .heart-speech-host[hidden]{display:none}.heart-toolbar button{flex:0 0 auto;white-space:nowrap}.heart-toolbar .heart-speech-host button{font-size:12px;padding:8px 10px}.theater.is-immersive .heart-toolbar .heart-speech-host{margin:0}

.heart-voice-picker{margin:16px 0}.heart-voice-picker>div{display:flex;gap:8px}.heart-voice-picker select{flex:1;min-width:0;background:#fff;border:1px solid #dcd5e5;border-radius:9px;padding:10px;color:#443650;font-size:14px}.heart-voice-picker button{flex:none;white-space:nowrap;background:#f7f5fa;border:1px solid #dcd5e5;border-radius:9px;padding:10px;color:#59466b}
.heart-receipt[data-tier=large] img{width:92px;height:92px}.heart-receipt[data-tier=grand] img{width:112px;height:112px}.heart-receipt[data-tier=large],.heart-receipt[data-tier=grand]{font-size:14px;font-weight:650;padding:12px;background:#fffaf0;border-color:#d9b664}.heart-receipt[data-tier=grand]{background:linear-gradient(110deg,#fff8e4,#fff5fa);border-color:#cea243}
.studio-conversation{min-width:0;overflow:hidden}.studio-conversation .chat-body{min-height:0;overflow:hidden}.studio-conversation .chat-scroll-area{flex:1 1 0;min-height:0;overflow:hidden}.studio-conversation #chat-log{position:absolute;inset:0;height:auto;box-sizing:border-box;overflow-y:auto}.studio-conversation .chat-pinned{flex-shrink:0;max-height:65px;overflow:auto}.heart-receipt{max-height:100%;box-sizing:border-box;overflow:hidden}.heart-receipt img{flex-shrink:0;max-height:100%;object-fit:contain}

.chat-message[data-tier=large] .heart-chat-image{width:104px;height:104px}.chat-message[data-tier=grand] .heart-chat-image{width:128px;height:128px}
.theater:not(.is-immersive):not(.has-sharing) .stages{grid-template-rows:auto 420px}.theater:not(.is-immersive):not(.has-sharing) .studio-conversation{height:420px;max-height:420px}.theater:not(.is-immersive).chat-collapsed:not(.has-sharing) .studio-conversation{height:auto}.theater:not(.is-immersive).chat-collapsed:not(.has-sharing) .stages{grid-template-rows:auto auto}@media(max-width:600px){.theater:not(.is-immersive):not(.has-sharing) .stages{grid-template-rows:auto auto 420px}.theater:not(.is-immersive).chat-collapsed:not(.has-sharing) .stages{grid-template-rows:auto auto auto}}
