.chat-actions{display:flex;gap:10px;padding:10px 16px 6px;flex-shrink:0}
.chat-actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dbe8fa;border-radius:99px;padding:11px 16px;background:#f4f8ff;color:#176bdd;font-family:inherit;font-weight:600;font-size:14px;line-height:1.3;min-height:44px;cursor:pointer}
.chat-actions button:hover{background:#e8f1ff}.chat-actions button:last-child{background:#176bff;border-color:#176bff;color:white}.chat-actions button:last-child:hover{background:#125bda}
.chat-actions svg{width:18px;height:18px}.tip-dialog{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:26px;padding:30px;background:#fff;color:#13233a;box-shadow:0 28px 90px #07163230}
.tip-dialog::backdrop{background:#10203866;backdrop-filter:blur(4px)}.tip-dialog .dialog-close{position:absolute;right:14px;top:12px}
.tip-model-photo{display:block;width:74px;height:74px;object-fit:cover;object-position:top;border:4px solid #eaf2ff;border-radius:50%;margin:0 auto 14px}
.tip-dialog h2{text-align:center;font-size:25px;letter-spacing:-.7px;margin:0 0 8px}.tip-intro{text-align:center;color:#5d6d83;margin:0 0 22px;font-size:15px}
.tip-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0 0 18px}.tip-amounts legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tip-amounts button{padding:14px 4px;border:1px solid #d8e4f2;border-radius:14px;background:#fff;color:#223651;font-family:inherit;font-weight:600;font-size:16px;line-height:1.2;min-height:50px;cursor:pointer}
.tip-amounts button[aria-pressed="true"]{background:#eaf3ff;color:#1262db;border:2px solid #2477f8;padding:13px 3px}.tip-custom{display:grid;gap:8px;font-size:14px;font-weight:600;margin-bottom:18px}.tip-custom[hidden]{display:none}
.tip-custom input{width:100%;border:1px solid #cfdbeb;border-radius:12px;padding:13px;font:inherit;font-size:16px}.tip-note{font-size:13px;line-height:1.5;color:#69778b;margin:0 0 18px}.tip-dialog .primary{width:100%;min-height:48px}.tip-dialog [role="status"]{font-size:14px;line-height:1.5;color:#426080;margin:12px 0 0}.tip-dialog button:disabled{opacity:.6;cursor:wait}
.tip-success{margin:0 16px 8px;padding:12px 16px;border-radius:14px;background:#eaf4ff;color:#1557ae;font-size:14px;line-height:1.45}.tip-success[hidden]{display:none}
@media(max-width:420px){.tip-dialog{padding:28px 20px}.chat-actions{padding-inline:12px}.tip-amounts{gap:6px}}
/* Verified-tip reward: a growing heart, tension, one burst, then a quiet return. */
.tip-celebration{position:absolute;inset:0;z-index:30;isolation:isolate;display:grid;place-items:center;overflow:hidden;border-radius:inherit;background:rgba(5,12,30,.88);color:white;animation:tip-dim .28s ease-out both;touch-action:none}
.tip-stage{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.tip-aura{width:85vmin;height:85vmin;max-width:800px;max-height:800px;border-radius:50%;background:radial-gradient(circle,#f52c7d50 0%,#823fee22 45%,transparent 70%);animation:tip-aura-in 2.7s ease-in both}
.tip-heart{position:absolute;top:44%;left:50%;font-size:clamp(150px,77vmin,620px);line-height:1;width:1.1em;text-align:center;filter:drop-shadow(0 0 22px #ff3c8d90);transform:translate(-50%,-50%) scale(calc(var(--heart-size)*.14));animation:tip-heart-grow 2.7s cubic-bezier(.2,.6,.4,1) forwards;will-change:transform}
.tip-heart::after{content:'❤️';position:absolute;inset:0;animation:tip-heartbeat var(--pulse-time) ease-in-out infinite;filter:drop-shadow(0 0 24px #ff5a9e)}
.at-maximum .tip-heart{animation:tip-heart-hold .12s ease-in-out infinite alternate;filter:drop-shadow(0 0 42px #ff90c2)}
.tip-shockwave{position:absolute;left:50%;top:44%;width:60px;height:60px;border:4px solid #ffd5eb;border-radius:50%;opacity:0;box-shadow:0 0 50px #ff6aae,inset 0 0 25px #ff6aae}
.tip-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,#fff0f9dd,transparent 75%);opacity:0}
.tip-particles{position:absolute;inset:0;width:100%;height:100%}
.is-burst .tip-heart{animation:tip-heart-explode .16s ease-out forwards}.is-burst .tip-shockwave{animation:tip-wave .65s cubic-bezier(.1,.5,.2,1) both}.is-burst .tip-flash{animation:tip-flash-once .24s ease-out both}.is-burst .tip-aura{opacity:.35;animation:none}
.tip-reveal{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;gap:15px;padding:24px;opacity:0;transform:translateY(20px) scale(.85);pointer-events:none;text-shadow:0 3px 24px #030b24}
.tip-reveal strong{font:800 clamp(26px,7vw,60px)/1.12 Manrope,sans-serif;letter-spacing:-.035em}.tip-reveal span{font:600 clamp(17px,4vw,25px)/1.4 Manrope,sans-serif;color:#f5d9ec}
.is-revealed .tip-reveal{opacity:1;transform:none;transition:opacity .35s,transform .55s cubic-bezier(.2,1.4,.3,1)}
.tip-skip{position:absolute;z-index:3;bottom:calc(28px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);border:1px solid #ffffff50;border-radius:99px;padding:11px 22px;background:#ffffff13;color:#fff;font:600 14px/1.4 Manrope,sans-serif;min-height:44px;cursor:pointer;white-space:nowrap}.tip-skip:focus-visible{outline:3px solid #7bd2ff;outline-offset:4px}
.tip-celebration.is-fading{opacity:0;transition:opacity .65s ease-in;pointer-events:none;animation:none}.tip-celebration.reduced{animation:none;background:rgba(5,12,30,.9)}.tip-celebration.reduced .tip-stage{display:none}
.tip-success button{display:block;margin-top:8px;border:1px solid #b3d0ff;border-radius:99px;background:white;color:#175dbc;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;min-height:40px}
@keyframes tip-dim{from{opacity:0}to{opacity:1}}
@keyframes tip-aura-in{from{transform:scale(.15);opacity:.1}to{transform:scale(1.2);opacity:1}}
@keyframes tip-heart-grow{0%{opacity:0;transform:translate(-50%,-50%) scale(calc(var(--heart-size)*.12))}10%{opacity:1}30%{transform:translate(-50%,-50%) scale(calc(var(--heart-size)*.3))}65%{transform:translate(-50%,-50%) scale(calc(var(--heart-size)*.64))}100%{transform:translate(-50%,-50%) scale(var(--heart-size))}}
@keyframes tip-heartbeat{0%,100%{transform:scale(1)}18%{transform:scale(1.1)}32%{transform:scale(1)}46%{transform:scale(1.16)}64%{transform:scale(1)}}
@keyframes tip-heart-hold{from{transform:translate(-50%,-50%) scale(var(--heart-size)) rotate(-1deg)}to{transform:translate(-50%,-50%) scale(calc(var(--heart-size)*1.04)) rotate(1deg)}}
@keyframes tip-heart-explode{from{opacity:1;transform:translate(-50%,-50%) scale(var(--heart-size))}to{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}
@keyframes tip-wave{0%{opacity:.9;transform:translate(-50%,-50%) scale(.8)}100%{opacity:0;transform:translate(-50%,-50%) scale(22)}}
@keyframes tip-flash-once{0%{opacity:.65}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.tip-celebration,.tip-celebration *{animation:none!important;transition:none!important}.tip-celebration .tip-stage{display:none}.tip-reveal{opacity:1;transform:none}}


