.tg{--tg-bubble:#FFFFFF;--tg-outline:rgba(0,0,0,0.2);--tg-ink:#000000;--tg-time:#77828C;--tg-link:#004BAD;--tg-accent:#0088FF;--tg-quote:rgba(0,136,255,0.1);--tg-key:rgba(0,0,0,0.2);--tg-primary:rgba(0,136,255,0.7);--tg-danger:rgba(255,59,48,0.7);--tg-success:rgba(38,151,44,0.7);--tg-line:22.42px;--tg-mono-line:21.1px;--tg-radius:16px;--tg-pad-top:6.33px;--tg-pad-x:11px;--tg-photo-width:300px;--tg-photo-inset:2px;position:relative;height:100%;overflow:hidden;background:var(--tg-wall);color:var(--tg-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}
.tg-scroll{position:absolute;inset:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:16px 12px 12px 16.5px;scrollbar-width:none}
.tg-scroll::-webkit-scrollbar{display:none}
.tg-msg{display:flex;flex-direction:column;width:100%;max-width:400px;margin-top:auto}
.tg-bubble{position:relative;padding:var(--tg-pad-top) var(--tg-pad-x) 5.67px;border-radius:var(--tg-radius) var(--tg-radius) var(--tg-radius) 0;background:var(--tg-bubble);box-shadow:0 0 0 0.29px var(--tg-outline),inset 0 0 0 0.29px var(--tg-outline)}
.tg-tail{position:absolute;left:-6.5px;bottom:0;display:block;fill:var(--tg-bubble)}
.tg-text{margin:-1.2px 0;font-size:17px;line-height:var(--tg-line);letter-spacing:-0.43px;white-space:pre-wrap;overflow-wrap:anywhere}
.tg-text::after{content:"";display:inline-block;width:38px;height:1px}
.tg-text b{font-weight:600}
.tg-text code{font-family:Menlo,ui-monospace,"SF Mono",monospace;font-size:16px;line-height:var(--tg-mono-line);letter-spacing:0}
.tg-link{color:var(--tg-link)}
.tg-q{position:relative;display:block;margin:6px 0;padding:2px 9px;border-radius:4px;background:var(--tg-quote);font-size:16px;line-height:21.1px;letter-spacing:-0.31px;box-shadow:inset 3px 0 0 var(--tg-accent)}
.tg-msg.has-photo{max-width:calc(var(--tg-photo-width) + 2 * var(--tg-photo-inset))}
.tg-photo{display:block;width:calc(100% + 2 * (var(--tg-pad-x) - var(--tg-photo-inset)));height:auto;margin:calc(var(--tg-photo-inset) - var(--tg-pad-top)) calc(var(--tg-photo-inset) - var(--tg-pad-x)) var(--tg-pad-top);border-radius:calc(var(--tg-radius) - var(--tg-photo-inset)) calc(var(--tg-radius) - var(--tg-photo-inset)) 0 0}
.tg-time{position:absolute;right:9px;bottom:5.5px;font-size:11px;line-height:11px;letter-spacing:0.06px;color:var(--tg-time)}
.tg-kb{display:flex;flex-direction:column;gap:2px;margin-top:2px;transition:opacity var(--t-out) var(--ease)}
.tg-kb.busy{opacity:0.5;pointer-events:none}
.tg-row{display:flex;gap:2px}
.tg-b{position:relative;display:flex;flex:1 1 0;align-items:center;justify-content:center;min-width:0;height:42px;padding:0 8px;border-radius:8px;background:var(--tg-key);color:#FFFFFF;font-size:16px;font-weight:500;letter-spacing:-0.31px;white-space:nowrap;transition:filter var(--t-press) var(--ease),scale var(--t-state) var(--ease)}
.tg-b span{overflow:hidden;text-overflow:ellipsis}
.tg-b.is-primary{background:linear-gradient(var(--tg-primary),var(--tg-primary)) var(--tg-key)}
.tg-b.is-danger{background:linear-gradient(var(--tg-danger),var(--tg-danger)) var(--tg-key)}
.tg-b.is-success{background:linear-gradient(var(--tg-success),var(--tg-success)) var(--tg-key)}
.tg-row:last-child .tg-b:first-child{border-bottom-left-radius:16px}
.tg-row:last-child .tg-b:last-child{border-bottom-right-radius:16px}
.tg-b:active{filter:brightness(0.7)}
.tg-b:focus-visible{outline:2px solid #FFFFFF;outline-offset:-4px}
.tg-out{position:absolute;top:5.5px;right:5.5px;fill:none;stroke:#FFFFFF;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.tg-toast{position:absolute;top:12px;left:50%;z-index:2;max-width:calc(100% - 32px);padding:11px 16px;border-radius:14px;background:rgba(28,28,30,0.9);color:#FFFFFF;font-size:15px;line-height:20px;letter-spacing:-0.23px;text-align:center;opacity:0;transform:translate(-50%,-8px);pointer-events:none;transition:opacity var(--t-out) var(--ease),transform var(--t-out) var(--ease)}
.tg-toast.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){
  .tg-b,.tg-kb{transition:none}
  .tg-toast{transform:translate(-50%,0)}
}
