/* LinkFy characters act through face, body, hands and props. */
.face-rocket .character-body{animation:rocket-flight 3s ease-in-out infinite}.face-peek .character-hand{animation:peek-hand 2.5s ease infinite}.face-bounce .character-body{animation:character-hop .8s ease-in-out infinite}.status-emblem.nova path,.status-emblem.dawn path{animation:emblem-pulse 2.6s ease infinite;transform-origin:center}.status-emblem.music path{animation:character-hop 1.8s ease infinite}.status-emblem.aurora path{stroke-dasharray:10 4;animation:emblem-wave 2s linear infinite}@keyframes rocket-flight{0%,100%{transform:translateY(0)}40%{transform:translateY(-20px) scale(.95,1.05)}65%{transform:translateY(-10px)}}@keyframes peek-hand{0%,100%{transform:rotate(0)}45%,65%{transform:rotate(-110deg) translate(-8px,-5px)}}
.site{background:radial-gradient(ellipse at 80% 10%,#33215555,transparent 50%),var(--bg)}.site-header{backdrop-filter:blur(24px);border-bottom:1px solid #ffffff0c}.premium-hero{padding-top:70px;padding-bottom:80px;gap:55px}.hero-copy h1{font-size:clamp(3.3rem,6.7vw,7rem);line-height:1.04;letter-spacing:-.065em}.hero-copy h1 em{background:linear-gradient(100deg,#fff,#c5a6ff 40%,#93bfff);background-clip:text;-webkit-text-fill-color:transparent}.hero-art{border-radius:36px;border:1px solid #b9a6ff22;box-shadow:0 35px 110px #12092588;overflow:hidden}.hero-art>img{animation:hero-float 14s ease-in-out infinite}.hero-foot{letter-spacing:.03em}.launch-grid{max-width:1400px;margin:0 auto;padding:10px 48px 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.launch-grid article{padding:34px;border:1px solid #bba7ff22;border-radius:28px;background:linear-gradient(145deg,#1a1829,#111119);box-shadow:inset 0 1px #ffffff08}.launch-grid article>span{font-size:.65rem;letter-spacing:.18em;color:#b8a6f0}.launch-grid h2{font-size:1.6rem;line-height:1.25;letter-spacing:-.04em;margin:26px 0 18px}.launch-grid p{font-size:.86rem;line-height:1.85;color:#aba8bd}.launch-grid a{display:inline-block;margin-top:18px;color:#c6b1ff;font-size:.8rem}.avatar.online:after{content:''!important;display:block!important;position:absolute!important;right:-2px!important;bottom:1px!important;width:11px!important;height:11px!important;border:2px solid var(--panel,#12121d)!important;background:#54dfa1!important;border-radius:50%!important;box-shadow:0 0 9px #54dfa177!important;z-index:5}.badge svg{animation:verified-turn 5s ease-in-out infinite!important;transform-origin:center}.emblem-options button:disabled{opacity:.45;cursor:not-allowed}.main-pane{animation:pane-arrive .3s ease both}html[data-device=touch] button{touch-action:manipulation}html[data-device=touch] .modal-action{min-height:48px}
@keyframes hero-float{50%{transform:scale(1.045) translateY(-5px)}}@keyframes verified-turn{0%,65%,100%{transform:rotateY(0)}85%{transform:rotateY(360deg)}}@keyframes pane-arrive{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:780px){.premium-hero{padding-top:35px;padding-bottom:40px;gap:25px}.launch-grid{padding:0 20px 55px;grid-template-columns:1fr;gap:15px}.launch-grid article{padding:26px}.hero-art{border-radius:24px}.hero-copy h1{font-size:3.7rem}}
.pinned-message{display:flex;align-items:center;gap:10px;padding:9px 20px;border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}.pin-jump{display:flex;align-items:center;gap:13px;min-width:0;flex:1;text-align:left;background:none;border:0;color:var(--text);cursor:pointer;padding:4px}.pin-jump>.icon{color:var(--accent);flex-shrink:0}.pin-jump span{min-width:0;display:block}.pin-jump b{display:block;color:var(--accent);font-size:.72rem;margin-bottom:4px}.pin-jump small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50vw;font-size:.8rem}.bubble button.message-reply{display:block;width:100%;text-align:left;background:var(--soft-accent);color:inherit;border-top:0;border-right:0;border-bottom:0;cursor:pointer;font:inherit;font-size:.75rem}.filter-tabs{scrollbar-width:thin}
.language-control select[hidden]{display:none!important}.choice-menu{max-height:65dvh;overflow:auto}
.badge svg{animation:verified-turn 7s linear infinite;transform-origin:center}@keyframes verified-turn{0%,65%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.setting-choice{display:flex;gap:14px;align-items:center;justify-content:space-between;min-width:145px;max-width:210px;border:1px solid var(--edge,#3a344a);border-radius:12px;background:var(--panel,#181720);color:var(--text,#f3eeff);padding:12px 14px;font:inherit;font-size:.8rem;cursor:pointer;transition:border-color .2s,background .2s}.setting-choice:hover{border-color:var(--accent)}.setting-choice>.icon{transform:rotate(-90deg);width:15px;height:15px;color:var(--muted)}.choice-menu{display:grid;gap:8px}.choice-option{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid transparent;border-radius:13px;background:var(--panel,#191822);color:var(--text,#fff);padding:16px;font:inherit;font-size:.875rem;cursor:pointer}.choice-option:hover,.choice-option.selected{background:var(--soft-accent,#b9a6ff16);border-color:var(--accent,#b9a6ff)}.choice-option svg{width:18px;height:18px}.setting-row select[hidden]{display:none!important}
.chat-item{animation:none!important}.message-area{animation:none}.character-pick:hover svg{transform:translateY(-3px)}
@media(max-width:600px){.setting-choice{min-width:110px;max-width:150px;padding:10px;font-size:.75rem}}
.auth-card .auth-character{width:88px;height:88px;margin:0 auto 18px}.auth-story .welcome-character{display:none}
.boot-pulse{animation:boot-breathe 1.3s ease-in-out infinite}@keyframes boot-breathe{50%{transform:scale(.85);box-shadow:0 0 40px #b69aff88}}
.avatar.avatar-glow{box-shadow:0 0 0 2px #bca2ff55,0 0 16px #a48cff35;animation:avatar-breathe 4s ease-in-out infinite;overflow:visible}.avatar.avatar-glow img{border-radius:inherit;width:100%;height:100%;object-fit:cover}.avatar.avatar-glow:before{display:none}
@keyframes avatar-breathe{50%{box-shadow:0 0 0 2px #bca2ff80,0 0 23px #a48cff65}}
.lf-character{overflow:visible}.custom-emoji svg{animation:none}.character-body{transform-origin:98px 163px;animation:character-breathe 3.6s ease-in-out infinite}.character-eyes{transform-origin:98px 85px;animation:character-blink 4.8s infinite}.character-mouth{transform-origin:98px 113px;animation:character-talk 3.8s ease-in-out infinite}.character-hand{transform-origin:146px 126px;animation:character-wave 3s ease-in-out infinite}.character-extra{transform-origin:146px 44px;animation:character-spark 2.2s ease-in-out infinite}
@keyframes character-breathe{50%{transform:scale(1.035,.965) translateY(2px)}}
@keyframes character-blink{0%,40%,46%,100%{transform:scaleY(1)}43%{transform:scaleY(.06)}}
@keyframes character-talk{0%,30%,65%,100%{transform:scale(1)}40%,55%{transform:scale(.85,1.3)}}
@keyframes character-wave{0%,40%,100%{transform:rotate(0)}10%,30%{transform:rotate(-35deg)}20%{transform:rotate(12deg)}}
@keyframes character-spark{50%{opacity:.35;transform:translateY(-8px) scale(.75)}}
.face-sleep .character-eyes{animation:none}.face-sleep .character-body{animation-duration:6s}.face-sleep .character-hand{animation:none}.face-sad .character-extra{animation:teardrop 2s linear infinite}.face-dance .character-body,.face-party .character-body{animation:character-hop 1.2s ease-in-out infinite}.face-hug .character-hand{animation:character-hug 2.5s ease infinite}.face-no .character-eyes,.face-no .character-mouth{animation:character-no 2s ease infinite}.face-laugh .character-mouth{animation:character-talk .7s ease infinite}.face-think .character-hand{animation:character-hug 5s ease infinite}
@keyframes teardrop{0%{opacity:0;transform:translateY(-6px)}30%{opacity:1}100%{opacity:0;transform:translateY(26px)}}
@keyframes character-hop{0%,100%{transform:translateY(0) scale(1.04,.94)}50%{transform:translateY(-16px) scale(.96,1.04)}}
@keyframes character-hug{50%{transform:rotate(-70deg) translate(-7px,4px)}}
@keyframes character-no{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.animated-sticker{display:block;width:220px;height:220px;max-width:65vw}.animated-sticker svg{width:100%;height:100%}.workspace .bubble:has(>.animated-sticker){background:transparent!important;border:0!important;box-shadow:none;padding:0}.bubble:has(>.animated-sticker) .message-meta{justify-content:flex-end;background:var(--panel,#171823);border-radius:20px;width:max-content;margin-left:auto;padding:4px 10px}.sticker-preview{width:88px;height:88px}.sticker-preview svg{width:100%;height:100%}#sticker-draft{display:flex;align-items:center;gap:16px;font-size:.75rem;color:var(--muted)}
.welcome-character{display:block;width:150px;height:150px;margin:0 auto 25px}.welcome-character svg{width:100%;height:100%}.auth-story .welcome-character{margin:0 0 22px;width:130px;height:130px}
.emblem-options{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.emblem-options .btn{font-size:.75rem;padding:10px}.emblem-options .selected{border-color:var(--accent)}.status-emblem{display:inline-flex;width:21px;height:21px;vertical-align:middle;margin-left:5px;color:var(--accent,#bfa4ff)}.status-emblem svg{width:100%;height:100%;overflow:visible}.status-emblem path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.status-emblem.pulse path{animation:emblem-pulse 2s ease-in-out infinite;transform-origin:center}.status-emblem.comet path{animation:emblem-comet 2.5s ease-in-out infinite}.status-emblem.bloom path{animation:emblem-pulse 4s ease-in-out infinite;transform-origin:center}.status-emblem.wave path{stroke-dasharray:20 5;animation:emblem-wave 3s linear infinite}
@keyframes emblem-pulse{50%{transform:scale(.7);opacity:.55}}@keyframes emblem-comet{50%{transform:translate(2px,-2px);opacity:.5}}@keyframes emblem-wave{to{stroke-dashoffset:-50}}
.username-feedback{font-size:.75rem;min-height:24px;margin:6px 0;color:var(--muted)}.username-feedback.available{color:#76cbb0}.username-feedback.unavailable{color:#e996ac}.username-field{position:relative}.username-field:before{content:'@';position:absolute;top:13px;left:15px;color:var(--muted)}.username-field input{padding-left:35px!important}.name-guidance{font-size:.7rem;color:var(--muted);margin:6px 0 16px}
.workspace.is-loading #main-pane:after{content:'';position:absolute;top:0;left:0;width:38%;height:3px;background:var(--accent,#bfa4ff);animation:load-sweep 1s ease-in-out infinite;z-index:50}.main-pane{position:relative}@keyframes load-sweep{from{transform:translateX(-100%)}to{transform:translateX(360%)}}
.language-control{display:flex;align-items:center;gap:12px;margin:16px 0}.language-control select{max-width:190px}.auth-card .language-control{justify-content:flex-end;font-size:.75rem}
@media(max-width:600px){.workspace .composer{gap:2px;padding:4px}.workspace .composer>.icon-btn{width:29px;min-width:29px}.workspace .composer textarea{min-width:55px}.workspace .composer .send-button{width:38px;min-width:38px}.animated-sticker{width:200px;height:200px}.auth-story .welcome-character{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
