.chat{background:var(--bg);flex-direction:column;max-width:760px;height:100dvh;margin-inline:auto;display:flex}@media (min-width:761px){.chat{box-shadow:0 0 0 1px var(--line), 0 30px 80px -40px var(--shadow)}}.chat-top{padding:calc(10px + var(--safe-top)) 14px 10px 8px;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:2;animation:rise .5s var(--ease-soft) backwards;align-items:center;gap:12px;display:flex;position:relative}.chat-top .ava{width:44px;height:44px;box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--gum-hi);border-radius:50%;flex:none}.chat-top .ava .initial{font-size:30px;bottom:-4px;right:6px}.chat-top .who{flex:1;min-width:0}.chat-top .who b{font-family:var(--f-display);font-weight:400;font-size:calc(26px * var(--d-scale));line-height:1;display:block}.chat-top .who span{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;transition:color .3s;display:flex}.chat-top .who span:before{content:"";background:var(--mint);border-radius:50%;width:7px;height:7px;transition:background .3s}.chat-top .who span.is-typing{color:var(--lolli)}.chat-top .who span.is-typing:before{background:var(--gum);animation:1s ease-in-out infinite blink}.chat-top .who span.is-offline:before{background:var(--line)}@keyframes blink{50%{opacity:.3}}.ai-badge{font-family:var(--f-accent);letter-spacing:.08em;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.msgs{overscroll-behavior:contain;scrollbar-width:none;background:radial-gradient(60% 40% at 0% 0%, color-mix(in srgb, var(--cotton) 45%, transparent), transparent 70%), radial-gradient(50% 35% at 100% 100%, color-mix(in srgb, var(--lilac) 22%, transparent), transparent 70%);flex:1;overflow-y:auto}.msgs::-webkit-scrollbar{display:none}.msgs-in{flex-direction:column;justify-content:flex-end;gap:3px;min-height:100%;padding:16px 14px 10px;display:flex}.msg-row{flex-direction:column;display:flex}.day{color:var(--ink-2);font-size:13px;font-style:italic;font-family:var(--f-accent);letter-spacing:.04em;background:color-mix(in srgb, var(--surface) 70%, transparent);border-radius:999px;align-self:center;margin-block:14px 8px;padding:2px 12px}.b{white-space:pre-wrap;overflow-wrap:anywhere;max-width:min(78%,520px);animation:bubble .42s var(--ease-candy) backwards;border-radius:20px;padding:9px 14px 7px;font-size:15px;line-height:1.42;position:relative}.b.first{margin-top:6px}.b.her{background:var(--surface);color:var(--ink);box-shadow:0 1px 0 var(--line), 0 4px 12px -6px var(--shadow);transform-origin:0 100%;align-self:flex-start}.b.me{background:linear-gradient(180deg, var(--bubble-me-hi), var(--bubble-me-lo));color:#fff;box-shadow:inset 0 1px 0 #ffffff59, 0 4px 12px -6px var(--lolli);transform-origin:100% 100%;align-self:flex-end}.b.me ::selection{color:#fff;background:#ffffff59}.b.her:not(.first){border-top-left-radius:7px}.b.her:not(.last){border-bottom-left-radius:7px}.b.her.last{border-bottom-left-radius:6px}.b.me:not(.first){border-top-right-radius:7px}.b.me:not(.last){border-bottom-right-radius:7px}.b.me.last{border-bottom-right-radius:6px}.b time{float:right;opacity:.6;align-items:center;gap:3px;margin:7px 0 -3px 10px;font-size:10.5px;line-height:1;display:inline-flex}.b .ticks{width:15px;height:10px;color:var(--ink-2)}.b.me time{opacity:.8}.b.me .ticks{color:#ffffffbf}.b.me .ticks[aria-label=прочитано]{color:#fff;animation:pop .4s var(--ease-candy)}.b.pending{opacity:.65}.b.failed{box-shadow:0 0 0 1.5px var(--lolli-lo);opacity:.7}@keyframes bubble{0%{opacity:0;transform:translateY(10px)scale(.85)}}.typing{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--cotton);color:var(--lolli);animation:bubble .35s var(--ease-candy) backwards;transform-origin:0 100%;border-radius:20px 20px 20px 6px;align-self:flex-start;gap:5px;margin-top:6px;padding:12px 15px;display:flex}.typing svg{width:11px;height:11px;animation:1s ease-in-out infinite hop}.typing svg:nth-child(2){animation-delay:.15s}.typing svg:nth-child(3){animation-delay:.3s}@keyframes hop{0%,60%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-5px)scale(1.2)}}.chat-hello{text-align:center;justify-items:center;gap:8px;max-width:320px;margin:auto;padding-block:24px;display:grid}.hello-ava{width:112px;height:112px;box-shadow:0 0 0 4px var(--surface), 0 0 0 6px var(--gum-hi), 0 20px 40px -16px var(--lolli);border-radius:50%;margin-bottom:6px;animation:6s ease-in-out infinite float}.chat-hello b{font-family:var(--f-display);font-weight:400;font-size:calc(40px * var(--d-scale));line-height:1}.chat-hello p{color:var(--ink-2);font-family:var(--f-accent);font-size:18px;font-style:italic;line-height:1.35}.chat-hello span{color:var(--ink-2);opacity:.8;font-size:13px}.composer{padding:10px 12px calc(12px + var(--safe-bottom));background:var(--bg);border-top:1px solid color-mix(in srgb, var(--line) 60%, transparent);align-items:flex-end;gap:8px;display:flex}.composer textarea{resize:none;field-sizing:content;border:1.5px solid var(--line);background:var(--surface);min-width:0;max-height:140px;font:inherit;color:var(--ink);border-radius:22px;outline:none;flex:1;padding:11px 16px;font-size:16px;line-height:1.35;transition:border-color .2s}.composer textarea:focus{border-color:var(--gum)}.send{flex:none;width:46px;height:46px;padding:0}.send svg{width:19px;height:19px;transition:transform .3s var(--ease-candy)}.send:not(:disabled):active svg{transform:translate(4px)rotate(-12deg)}.counter{text-align:center;color:var(--ink-2);padding:0 12px calc(8px + var(--safe-bottom));margin-top:calc(-1 * var(--safe-bottom));font-size:12px}.chat-error{text-align:center;color:var(--lolli-lo);padding:6px 12px 0;font-size:13px}.limit{margin:10px 12px calc(12px + var(--safe-bottom));border-radius:var(--r-l);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--gum-hi);text-align:center;gap:4px;padding:16px 18px;display:grid}.limit span{color:var(--ink-2);font-size:14px}.chat-loading{background:var(--bg);height:100dvh}.chat-top .who span.is-sleep:before{background:var(--lilac)}.chat-top .who span.is-busy:before{background:#ffc46b}.level{color:var(--ink-2);background:color-mix(in srgb, var(--surface) 88%, transparent);border-bottom:1px solid var(--line);animation:rise .5s var(--ease-soft) .1s backwards;align-items:center;gap:10px;padding:7px 16px 8px;font-size:12px;font-weight:600;display:flex}.level .bar{background:var(--surface-2);height:6px;box-shadow:inset 0 0 0 1px var(--line);border-radius:9px;flex:1;overflow:hidden}.level .bar i{background:linear-gradient(90deg, var(--gum-hi), var(--gum), var(--lolli));height:100%;transition:width 1.2s var(--ease-candy);background-size:200% 100%;border-radius:9px;animation:4s linear infinite shimmer;display:block}.levelup{z-index:50;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.burst{position:absolute;top:55%;left:50%}.burst svg{width:22px;height:22px;color:var(--lolli);opacity:0;animation:heart-fly 1.8s var(--ease-soft) forwards;position:absolute}.burst svg:nth-child(3n){color:var(--gum)}.burst svg:nth-child(4n){color:var(--lilac)}@keyframes heart-fly{0%{opacity:0;transform:translate(0)scale(.2)}15%{opacity:1}to{opacity:0;transform:translate(var(--x), var(--y)) rotate(var(--r)) scale(var(--s))}}.levelup-card{text-align:center;border-radius:var(--r-l);background:var(--surface);box-shadow:0 0 0 1.5px var(--gum-hi), 0 30px 60px -20px var(--lolli);animation:levelup-card 3.4s var(--ease-candy) forwards;gap:4px;padding:20px 28px;display:grid}.levelup-card b{font-family:var(--f-display);font-weight:400;font-size:calc(36px * var(--d-scale));color:var(--lolli);line-height:1.1}.levelup-card small{color:var(--ink-2);font-size:13px}@keyframes levelup-card{0%{opacity:0;transform:scale(.6)translateY(20px)}15%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-20px)scale(.95)}}.b.undelivered{opacity:.6;filter:saturate(.4)}.undelivered-mark{color:inherit;font-size:10px;font-style:italic}.blocked-note{border-radius:var(--r-m);background:var(--surface-2);color:var(--ink-2);text-align:center;box-shadow:inset 0 0 0 1px var(--line);margin:8px 12px 0;padding:10px 14px;font-size:13px}.limit-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.paid-bar{border-radius:var(--r-m) var(--r-m) 0 0;background:var(--surface-2);color:var(--ink-2);justify-content:space-between;align-items:center;gap:10px;margin:0 12px;padding:8px 14px;font-size:12.5px;display:flex}.paid-bar span{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.paid-bar svg{width:11px;height:11px;color:var(--lolli)}.paid-bar a{color:var(--lolli);white-space:nowrap;font-weight:700}.gift-btn{background:var(--surface);width:46px;height:46px;box-shadow:inset 0 0 0 1.5px var(--line)}.gift-btn svg{width:22px;height:22px}.gift-btn[aria-expanded=true]{background:var(--surface-2);box-shadow:inset 0 0 0 1.5px var(--gum)}.gift-sheet{border-radius:var(--r-l);background:var(--surface);box-shadow:0 0 0 1px var(--line), 0 20px 40px -24px var(--shadow);transform-origin:10% 100%;margin:0 12px 8px;padding:14px}.gift-sheet-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.gift-sheet-head b{font-size:15px}.gift-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.gift-opt{border-radius:var(--r-m);background:var(--surface-2);text-align:center;transition:transform .25s var(--ease-candy), box-shadow .2s;border:0;justify-items:center;gap:4px;padding:12px 6px 10px;display:grid}.gift-opt:hover{box-shadow:inset 0 0 0 1.5px var(--gum-hi)}.gift-opt:active{transform:scale(.94)}.gift-opt i{background:var(--surface);width:42px;height:42px;color:var(--lolli);border-radius:14px;place-items:center;display:grid}.gift-opt i svg{width:22px;height:22px}.gift-opt b{font-size:12px;font-weight:700;line-height:1.25}.gift-opt em{font-style:normal;font-family:var(--f-body);font-variant-numeric:lining-nums tabular-nums;color:var(--lolli);align-items:center;gap:3px;font-size:13px;font-weight:700;display:inline-flex}.gift-opt em svg{width:11px;height:11px}.gift-opt.short{opacity:.55}@media (max-width:420px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.b.me.gift{padding:10px 12px 8px}.gift-in{align-items:center;gap:10px;display:flex}.gift-in i{background:#ffffff38;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.gift-in i svg{width:22px;height:22px}.gift-in>span{font-weight:700;line-height:1.25;display:grid}.gift-in small{opacity:.85;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}
