.treat{display:flex;justify-content:center;margin:4px 0 22px}
.treat-button{border:1px solid #e3a9bb;background:#fff1f5;color:#a4506b;border-radius:30px;padding:11px 18px;font-size:13px;font-weight:700;box-shadow:0 2px 0 #f2d6df;transition:.2s}
.treat-button:hover{background:#fae3eb;transform:translateY(-1px)}
.past{opacity:.55;filter:saturate(.5);pointer-events:none;user-select:none}
/* 지난 대화는 내용이 안 읽히게 흐리게. 날짜 구분선만 또렷하게 */
.past .message-row{filter:blur(5px)}
.past .message-row{animation:none}
.past .bubble{box-shadow:none}
.shorts-button{color:#b0798a;margin-left:auto}
.shorts-button:hover{color:#c34766}
.shorts-dialog{width:fit-content;max-width:calc(100vw - 24px);padding:16px 16px 14px;display:flex;flex-direction:column;align-items:center;gap:10px}
.shorts-dialog:not([open]){display:none}
.shorts-canvas{height:min(64vh,600px);aspect-ratio:9/16;border-radius:18px;border:1px solid #f0dfe3;background:#fff8f8}
.shorts-status{margin:2px 0 0;font-size:13px;color:#92767d}
.shorts-progress{width:100%;height:4px;border-radius:4px;background:#f6e1e7;overflow:hidden}
.shorts-progress i{display:block;height:100%;width:0;background:#d37c98;transition:width .3s}
.shorts-actions{display:flex;gap:8px;width:100%}
.shorts-actions button{flex:1;border-radius:14px;padding:12px 0;font-size:14px;font-weight:700}
.shorts-secondary{border:1px solid #e8cbd4;background:#fffafb;color:#9c5b70}
.shorts-primary{border:0;background:#d37c98;color:#fff}
.chat-app.selecting .composer-area{display:none}
.conversation{--gutter:23px}
@media(max-width:540px){.conversation{--gutter:19px}}
.chat-app.selecting #messages .message-row{position:relative;cursor:pointer;opacity:.5;transition:opacity .15s}
.chat-app.selecting #messages .message-row.in-range{opacity:1}
/* 선택한 구간은 화면 폭 전체를 띠로 칠한다. 줄 사이 간격(21px)까지 덮어서 끊기지 않게 */
.chat-app.selecting #messages .message-row.in-range::before{content:'';position:absolute;left:calc(var(--gutter) * -1);right:calc(var(--gutter) * -1);top:-10.5px;bottom:-10.5px;background:#fbe1e9;z-index:-1}
#messages .message-row{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.select-bar{flex:none;background:var(--paper);border-top:1px solid var(--line);padding:12px 18px max(12px,env(safe-area-inset-bottom));z-index:2}
.select-bar[hidden]{display:none}
.select-hint{margin:0;font-size:12px;color:#92767d;text-align:center}
.select-info{margin:4px 0 10px;font-size:14px;font-weight:700;color:#7d4a5c;text-align:center}
.select-actions{display:flex;gap:8px}
.select-actions button{flex:1;border-radius:14px;padding:12px 0;font-size:14px;font-weight:700}
.reset-button{color:#b0798a;margin-left:auto}
.reset-button:hover{color:#c34766}
.reset-button+.shorts-button{margin-left:0}
.reset-dialog{width:300px;text-align:center}
.reset-title{margin:6px 0 4px;font-size:15px;font-weight:800;color:#432f35}
.reset-sub{margin:0 0 16px;font-size:12px;color:#92767d}
