:root{--bg:#050916;--panel:#0b1226;--panel2:#111936;--line:#263150;--text:#eef3ff;--muted:#8d99b6;--pink:#ff3c7c;--cyan:#59e8ff;--green:#45ef9e;--yellow:#ffd65a;--blue:#56a9ff;--purple:#9f7cff}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 50% -20%,#17234f 0,#080e20 36%,#040712 80%);color:var(--text)}a{color:inherit;text-decoration:none}.chat-body{min-height:100%;padding:22px}.chat-shell{max-width:1380px;height:calc(100vh - 44px);min-height:640px;margin:auto;background:rgba(6,10,24,.96);border:1px solid #293357;border-radius:24px;box-shadow:0 30px 80px #0008;overflow:hidden;display:grid;grid-template-rows:84px 1fr 52px}.topbar{display:flex;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#121a37,#0b1125)}.brand-mark{width:48px;height:48px;border-radius:15px;background:#ff3c7c18;border:1px solid #ff3c7c55;display:grid;place-items:center;font-size:25px;margin-right:14px}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:20px;letter-spacing:.02em}.brand-copy span{font-size:12px;color:var(--pink);font-weight:900;letter-spacing:.16em;margin-top:4px}.live-pill{margin-left:auto;background:#0b1530;border:1px solid #23345d;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:900;letter-spacing:.08em;display:flex;align-items:center;gap:7px}.live-pill i,.green-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 15px var(--green);display:inline-block}.chat-grid{display:grid;grid-template-columns:300px minmax(0,1fr) 280px;min-height:0}.online-panel,.account-panel{background:#080e20}.online-panel{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.account-panel{border-left:1px solid var(--line);padding:22px}.panel-title{height:55px;border-bottom:1px solid var(--line);padding:0 18px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;letter-spacing:.08em}.panel-title span{display:flex;align-items:center;gap:8px}.panel-title b{background:#151f40;padding:5px 9px;border-radius:999px}.online-list{overflow:auto;padding:8px;flex:1}.online-user{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:12px}.online-user:hover{background:#121a33}.avatar{width:43px;height:43px;flex:0 0 43px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#16214b,#27366f);display:grid;place-items:center;border:1px solid #3a4d87}.avatar img{width:100%;height:100%;object-fit:cover}.guest-avatar{font-size:19px}.online-info{min-width:0;flex:1}.online-info>div{display:flex;align-items:center;gap:5px}.online-info strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-info small{display:block;color:var(--muted);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flag{font-size:16px}.verified{width:15px;height:15px;border-radius:50%;background:#397bff;color:white;display:inline-grid;place-items:center;font-size:10px;font-weight:900}.socials,.meta-social{display:flex;gap:5px}.social{width:22px;height:22px;border-radius:6px;display:inline-grid;place-items:center;font-weight:900;font-size:13px}.social.instagram{background:#d8337a}.social.facebook{background:#3477e8}.online-summary{border-top:1px solid var(--line);padding:15px;text-align:center;color:#d6ddf4;font-size:12px}.messages-panel{display:grid;grid-template-rows:1fr auto auto;min-width:0;min-height:0;background:linear-gradient(180deg,#0a1023,#070b18)}.messages{overflow-y:auto;padding:22px 28px;scroll-behavior:smooth}.message-row{display:flex;gap:12px;margin:8px 0 18px;max-width:850px}.message-avatar{width:42px;height:42px;flex-basis:42px}.message-bubble{min-width:0}.message-meta{display:flex;align-items:center;gap:5px;min-height:22px}.message-meta strong{font-size:14px;color:#fff}.message-meta small{color:#8996b7;font-size:12px}.meta-social{margin-left:4px}.message-text{font-size:15px;line-height:1.48;color:#eef3ff;margin:5px 0}.timestamp{display:flex;gap:9px;font-size:11px;font-weight:800}.timestamp .date{color:#8498c7}.timestamp .time{color:#ff548d}.chat-notice{margin:0 20px 8px;background:#173d33;border:1px solid #2e8065;color:#a8ffdc;border-radius:10px;padding:9px 12px;font-size:13px}.chat-notice.bad{background:#421a29;border-color:#913a58;color:#ffc4d5}.composer{border-top:1px solid var(--line);padding:14px 20px 18px;display:grid;grid-template-columns:46px 1fr 48px;gap:9px;background:#090f21}.emoji-toggle,.send-btn{border:1px solid #2d3b63;background:#101a38;color:#fff;border-radius:12px;font-size:20px;cursor:pointer}.send-btn{background:linear-gradient(135deg,#ff3c7c,#ff5c94);border:0;font-size:22px}.composer-input-wrap{position:relative}.composer textarea{width:100%;resize:none;min-height:48px;max-height:120px;border:1px solid #2a365b;background:#070d1d;color:#fff;border-radius:14px;padding:13px 15px;font:inherit;outline:none}.composer textarea:focus{border-color:#556fae;box-shadow:0 0 0 3px #445b9426}.emoji-tray{position:absolute;left:0;bottom:58px;padding:8px;background:#121b35;border:1px solid #31406d;border-radius:12px;box-shadow:0 15px 40px #0008;max-width:330px}.emoji-tray button{background:none;border:0;font-size:21px;padding:4px;cursor:pointer}.account-card,.rules-card{background:#0e1630;border:1px solid #26345d;border-radius:18px;padding:20px;text-align:center}.account-card{display:flex;flex-direction:column;align-items:center}.account-avatar.large{width:86px;height:86px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#152046,#2b3973);display:grid;place-items:center;font-size:35px;border:2px solid #4a5d98;margin-bottom:10px}.account-avatar.large img{width:100%;height:100%;object-fit:cover}.account-card strong{font-size:17px}.account-card small{color:var(--muted);margin-top:4px}.account-card p{font-size:13px;color:var(--muted)}.primary,.ghost{display:inline-flex;align-items:center;justify-content:center;width:100%;border-radius:10px;border:0;padding:11px 14px;font-weight:900;cursor:pointer}.primary{background:linear-gradient(135deg,#ff3c7c,#ff578b);color:white}.ghost{background:#172345;border:1px solid #31436f;color:#dbe6ff}.mini{margin-top:9px;font-size:12px}.text-link{color:#8da2d2;font-size:12px;margin-top:12px}.rules-card{text-align:left;margin-top:18px}.rules-card h3{font-size:13px;margin:0 0 11px;color:#ffd65a}.rules-card p{font-size:12px;color:#a9b4d0;margin:8px 0}.chat-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:34px;padding:0 18px;background:#080e20;color:#aeb9d4;font-size:12px}.chat-footer b{color:#dce6ff}.loading,.empty{color:#7f8baa;text-align:center;padding:24px;font-size:13px}.modal[hidden]{display:none}.modal{position:fixed;inset:0;background:#02040bbb;backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px;z-index:50}.modal-card{width:min(520px,100%);background:#0d1530;border:1px solid #31416f;border-radius:20px;padding:24px;position:relative;box-shadow:0 30px 80px #000b}.modal-card h2{margin:0 0 5px}.modal-card>p{color:var(--muted);font-size:13px}.modal-close{position:absolute;right:14px;top:12px;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}.modal label,.auth-card label{display:block;font-size:12px;font-weight:800;color:#cbd5ed;margin:13px 0}.modal input,.auth-card input{width:100%;margin-top:6px;border-radius:10px;border:1px solid #31416d;background:#080f22;color:#fff;padding:12px;outline:none}.modal label small{font-weight:400;color:#8995b3}.auth-body{min-height:100%;display:grid;place-items:center;padding:20px}.auth-card{width:min(460px,100%);background:#0e1630;border:1px solid #29375e;border-radius:20px;padding:26px}.auth-card h1{margin:18px 0 5px}.auth-card p{color:var(--muted);font-size:13px}.back{color:#8ddcf2;font-size:13px}.alert{padding:10px 12px;border-radius:10px;margin:12px 0}.alert.error{background:#44182a;color:#ffbfd1;border:1px solid #8b3154}
@media(max-width:980px){.chat-body{padding:0}.chat-shell{height:100vh;min-height:0;border-radius:0;border:0}.chat-grid{grid-template-columns:1fr}.online-panel,.account-panel{display:none}.topbar{padding:0 15px}.brand-copy strong{font-size:15px}.brand-copy span{font-size:10px}.live-pill{padding:7px 10px}.messages{padding:16px}.chat-footer{font-size:10px;gap:10px;justify-content:space-between}.chat-footer span:first-child{max-width:70%}}
@media(max-width:520px){.chat-shell{grid-template-rows:70px 1fr 50px}.brand-mark{width:40px;height:40px}.live-pill{font-size:0}.live-pill b{font-size:12px}.live-pill b:after{content:' online';font-size:10px}.composer{grid-template-columns:42px 1fr 44px;padding:10px}.messages{padding:13px 11px}.message-row{gap:8px}.message-meta{flex-wrap:wrap}.message-meta small{width:100%;padding-left:22px}.chat-footer span:last-child{display:none}}

/* v1.1 - entrada automática de visitantes */
.messages-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:0}
.setup-warning{margin:12px 18px 0;padding:10px 12px;border-radius:10px;background:#421a29;border:1px solid #913a58;color:#ffc4d5;font-size:12px;text-align:center}
.guest-status{display:inline-flex;align-items:center;justify-content:center;margin:-4px 0 14px;padding:7px 10px;border-radius:999px;background:#12372e;border:1px solid #246b56;color:#7fffc8;font-size:10px;font-weight:900;letter-spacing:.06em}
.guest-card p b{color:#dfe9ff}.optional-register{border-color:#49577b;background:#111b38}.optional-register span{color:#7fffc8;margin-left:4px}.error-text{color:#ff8ca8}.welcome-empty{color:#a9b9dc;padding-top:60px}


/* v1.2 - compositor compacto + bandeiras reais */
.setup-warning{grid-row:1}
.messages{grid-row:2;min-height:0}
.chat-notice{grid-row:3}
.composer{
  grid-row:4;
  border-top:1px solid var(--line);
  padding:14px 20px 18px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 48px;
  gap:9px;
  align-items:center;
  background:#090f21;
}
.composer-input-wrap{position:relative;min-width:0}
.emoji-toggle,.send-btn{height:48px;width:100%;align-self:center}
.composer textarea{
  width:100%;resize:none;min-height:48px;height:48px;max-height:120px;
  border:1px solid #2a365b;background:#070d1d;color:#fff;border-radius:14px;
  padding:13px 15px;font:inherit;outline:none;display:block;
}
.flag-img{width:24px;height:18px;object-fit:cover;border-radius:3px;display:inline-block;vertical-align:middle;box-shadow:0 0 0 1px rgba(255,255,255,.12);flex:0 0 auto}
.inline-flag{margin-left:5px;width:22px;height:16px}
.flag-fallback{font-size:16px;line-height:1;display:inline-flex;align-items:center}
.message-meta .flag-img{margin-right:2px}
.online-info .flag-img{margin-right:1px}
@media(max-width:520px){
  .composer{grid-template-columns:42px minmax(0,1fr) 44px;padding:10px;gap:8px}
  .emoji-toggle,.send-btn,.composer textarea{height:44px;min-height:44px}
}

/* v1.4 - perfis públicos clicáveis */
.profile-avatar-btn,.profile-name{
  appearance:none;-webkit-appearance:none;border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;cursor:pointer
}
.profile-avatar-btn{display:block;border-radius:50%;flex:0 0 auto}
.profile-avatar-btn:focus-visible,.profile-name:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.profile-avatar-btn .avatar{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.profile-avatar-btn:hover .avatar{transform:scale(1.05);border-color:#65dff5;box-shadow:0 0 0 3px #59e8ff18}
.profile-name{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.profile-name:hover{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.message-meta .profile-name{color:#fff}
.message-meta .profile-name:hover{color:var(--cyan)}
.online-info>div .profile-name{min-width:0;max-width:135px}
.public-profile-card{width:min(420px,100%);padding:30px 26px 26px;text-align:center}
.public-profile-body{display:flex;flex-direction:column;align-items:center;min-height:230px}
.public-profile-avatar{width:112px;height:112px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#17234c,#2b3974);border:2px solid #5369aa;box-shadow:0 0 0 7px #26366135,0 18px 45px #0008;margin:7px 0 14px;font-size:45px}
.public-profile-avatar img{width:100%;height:100%;object-fit:cover}
.public-guest-avatar{font-size:44px}
.public-profile-kind{font-size:10px;font-weight:900;letter-spacing:.12em;color:#75f2be;margin-top:3px}
.public-profile-body h2{font-size:24px;margin:8px 0 8px;color:#fff;max-width:100%;overflow-wrap:anywhere}
.public-profile-location{display:flex;align-items:center;justify-content:center;gap:8px;color:#aebbd8;font-size:13px}
.public-profile-flag{width:24px;height:18px}
.public-profile-socials{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:22px}
.social.public-social{width:auto;height:42px;border-radius:11px;padding:0 15px;gap:8px;display:inline-flex;font-size:17px;color:#fff;font-weight:900}
.social.public-social span{font-size:12px}
.public-profile-empty{margin:20px 0 0;color:#8f9cba;font-size:12px;line-height:1.5}
.public-profile-loading,.public-profile-error{margin:auto;color:#97a8ca;font-size:13px;padding:55px 10px}
.public-profile-error{color:#ff9ab5}
@media(max-width:520px){
  .public-profile-card{padding:27px 20px 22px}
  .public-profile-avatar{width:96px;height:96px}
  .public-profile-body h2{font-size:21px}
}

/* v1.5 - modo popup/iframe: compositor e rodape sempre visiveis */
html:has(body.is-embed),html:has(body.is-embed) body{height:100%;overflow:hidden}
body.is-embed{
  height:100dvh;
  min-height:0;
  padding:0;
  overflow:hidden;
}
.is-embed .chat-shell{
  width:100%;
  max-width:none;
  height:100dvh;
  min-height:0;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  grid-template-rows:82px minmax(0,1fr) 48px;
}
.is-embed .chat-grid{
  min-height:0;
  height:100%;
  overflow:hidden;
}
.is-embed .online-panel,
.is-embed .messages-panel,
.is-embed .account-panel{
  min-height:0;
}
.is-embed .online-panel{overflow:hidden}
.is-embed .online-list{min-height:0;overflow-y:auto}
.is-embed .account-panel{overflow-y:auto;overscroll-behavior:contain}
.is-embed .messages-panel{
  height:100%;
  overflow:hidden;
  grid-template-rows:auto minmax(0,1fr) auto auto;
}
.is-embed .messages{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.is-embed .composer{
  position:relative;
  z-index:3;
  flex:0 0 auto;
}
.is-embed .chat-footer{
  position:relative;
  z-index:4;
  min-height:48px;
}
@media(max-height:760px) and (min-width:981px){
  .is-embed .chat-shell{grid-template-rows:72px minmax(0,1fr) 44px}
  .is-embed .topbar{padding-left:22px;padding-right:22px}
  .is-embed .brand-mark{width:44px;height:44px}
  .is-embed .account-panel{padding:14px}
  .is-embed .account-card,.is-embed .rules-card{padding:14px}
  .is-embed .account-avatar.large{width:72px;height:72px}
  .is-embed .account-card p{margin:8px 0}
  .is-embed .rules-card{margin-top:12px}
  .is-embed .rules-card p{margin:6px 0}
  .is-embed .messages{padding-top:16px;padding-bottom:12px}
  .is-embed .composer{padding:10px 14px 12px}
  .is-embed .chat-footer{font-size:11px}
}
@media(max-width:980px){
  body.is-embed{height:100dvh}
  .is-embed .chat-shell{height:100dvh;grid-template-rows:74px minmax(0,1fr) 46px}
}
@media(max-width:520px){
  .is-embed .chat-shell{grid-template-rows:66px minmax(0,1fr) 46px}
}


/* v1.8 - botão flutuante perfil/personalização no mobile */
.mobile-profile-btn{display:none}

@media(max-width:980px){
  .mobile-profile-btn{
    position:fixed;
    right:14px;
    bottom:145px;
    z-index:45;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:38px;
    max-width:calc(100vw - 28px);
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:linear-gradient(135deg,#ff3c7c,#7a3cff);
    color:#fff!important;
    font-size:11px;
    font-weight:900;
    letter-spacing:.4px;
    line-height:1;
    white-space:nowrap;
    text-decoration:none!important;
    box-shadow:0 7px 22px rgba(0,0,0,.35),0 0 16px rgba(255,60,124,.22);
    cursor:pointer;
    opacity:.95;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-profile-btn:active{transform:scale(.96)}
  .mobile-register-btn{background:linear-gradient(135deg,#7a3cff,#ff3c7c)}
}

@media(max-width:420px){
  .mobile-profile-btn{
    right:10px;
    bottom:138px;
    padding:9px 12px;
    font-size:10px;
  }
}


/* V1.9 - avatares temáticos persistentes para visitantes */
.guest-random-avatar{position:relative;isolation:isolate;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.guest-random-avatar::after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.16);border-radius:inherit;pointer-events:none}
.guest-random-avatar span{position:relative;z-index:1;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}
.guest-theme-0{background:linear-gradient(135deg,#ff3c7c,#7a3cff)!important;border-color:#ff78aa!important}
.guest-theme-1{background:linear-gradient(135deg,#00a8c6,#3454d1)!important;border-color:#70e9ff!important}
.guest-theme-2{background:linear-gradient(135deg,#ff8a00,#d9367b)!important;border-color:#ffc56e!important}
.guest-theme-3{background:linear-gradient(135deg,#00b894,#246bfd)!important;border-color:#79ffd8!important}
.guest-theme-4{background:linear-gradient(135deg,#7f53ac,#647dee)!important;border-color:#b9a3ff!important}
.guest-theme-5{background:linear-gradient(135deg,#e84393,#6c5ce7)!important;border-color:#ff9bce!important}
.guest-theme-6{background:linear-gradient(135deg,#11998e,#38ef7d)!important;border-color:#8affb0!important}
.guest-theme-7{background:linear-gradient(135deg,#f7971e,#ffd200)!important;border-color:#fff09a!important}
.avatar.guest-random-avatar{font-size:20px}
.account-avatar.large.guest-random-avatar{font-size:37px}
.public-profile-avatar.guest-random-avatar{font-size:48px}
.registered-default-avatar{background:linear-gradient(135deg,#152046,#2b3973)!important}
