/* Tóngzhì · interfaz contemporánea, legible y menos ruidosa */
#asRoot.tz-visual{--panel:#f1e6c9;--panel-strong:#fbf4df;--ink:#20372e;--muted:#48594f;--red:#a72a24;--cyan:#49f2df;background:#08130f}
#asRoot.tz-visual .tz-fondo{opacity:.58;filter:saturate(1.15) brightness(.95) contrast(1.08)}
#asRoot.tz-visual .as-papel{background:var(--panel-strong);color:var(--ink);border:1px solid rgba(105,86,58,.22);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.24);padding:22px 24px;margin-bottom:20px}
#asRoot.tz-visual .as-post:nth-child(odd),#asRoot.tz-visual .as-post:nth-child(even){transform:none}
#asRoot.tz-visual .as-feedbar{background:rgba(241,230,201,.96);border:1px solid rgba(105,86,58,.2);border-radius:12px;box-shadow:0 8px 22px rgba(0,0,0,.18);padding:10px}
#asRoot.tz-visual .as-feedtab{min-height:38px;padding:8px 13px;border:1px solid rgba(105,86,58,.3);border-radius:7px;background:var(--panel);color:var(--muted);font:500 .68rem var(--mono)}
#asRoot.tz-visual .as-feedtab.as-activo{background:var(--red);color:#fff0d0;border-color:#79261e}
#asRoot.tz-visual .as-buscar-feed{border-radius:8px;background:#fff4dc;color:var(--muted);border:1px solid rgba(105,86,58,.26)}
#asRoot.tz-visual .as-buscar-feed input{color:var(--ink);font-size:.86rem}
#asRoot.tz-visual .as-btn-publicar-top{min-height:40px;border-radius:7px;background:var(--red);color:#fff0d0;font:600 .72rem var(--mono);padding:9px 16px}
#asRoot.tz-visual .as-titulo-post{color:var(--ink);letter-spacing:-.01em}
#asRoot.tz-visual .as-nom{color:var(--ink);font-size:1rem}
#asRoot.tz-visual .as-quien .as-meta{color:var(--muted);font-size:.76rem;line-height:1.5}
#asRoot.tz-visual .as-cuerpo{color:#3f5146;font-size:1.02rem;line-height:1.7}
#asRoot.tz-visual .as-acciones{gap:8px;border-top:1px solid rgba(105,86,58,.22);padding-top:14px}
#asRoot.tz-visual .as-reac,#asRoot.tz-visual .as-abrir{min-height:34px;padding:6px 10px;border:1px solid rgba(105,86,58,.28);border-radius:6px;background:transparent;color:var(--muted);font:600 .62rem var(--mono)}
#asRoot.tz-visual .as-reac:hover,#asRoot.tz-visual .as-abrir:hover{background:var(--red);color:#fff0d0;border-color:#79261e}
#asRoot.tz-visual .as-rb,#asRoot.tz-visual .as-rb .tz-reaction-label,#asRoot.tz-visual .as-rb-vistas{color:var(--muted)}
#asRoot.tz-visual .as-rb:hover,#asRoot.tz-visual .as-rb:hover .tz-reaction-label{color:#fff0d0}

/* Comentarios y discusión */
#asRoot.tz-visual .as-comentarios h3{color:var(--muted);font-size:.68rem;letter-spacing:.14em}
#asRoot.tz-visual .as-comentario{background:#fff4dc;border:1px solid rgba(105,86,58,.24);border-left:3px solid var(--red);border-radius:10px;margin-top:12px;padding:15px 16px;box-shadow:0 4px 14px rgba(55,36,24,.08)}
#asRoot.tz-visual .as-comentario p{color:#3f5146;font-size:.96rem;line-height:1.65}
#asRoot.tz-visual .as-coment-form{display:grid;gap:10px;margin-top:14px}
#asRoot.tz-visual .as-coment-form textarea{width:100%;min-height:96px;padding:13px;background:#fff7e3;color:var(--ink);border:1px solid rgba(105,86,58,.32);border-radius:8px;font:400 .92rem/1.55 var(--ui)}
#asRoot.tz-visual .as-coment-form textarea:focus{outline:2px solid rgba(73,169,155,.45);border-color:#48a99b}
#asRoot.tz-visual .as-coment-form button,#asRoot.tz-visual .as-coment-form button[type="button"]{min-height:42px;justify-self:start;padding:10px 18px;border:1px solid #79261e;border-radius:7px;background:var(--red);color:#fff0d0;font:600 .68rem var(--mono);cursor:pointer}
#asRoot.tz-visual .as-permiso-nota-post{background:#f4e8c9;color:#53665e;border:1px solid rgba(105,86,58,.24);border-radius:10px;font:500 .7rem/1.55 var(--mono)}

/* Relaciones e interacciones sociales */
#asRoot.tz-visual .as-social-tabs{gap:8px}
#asRoot.tz-visual .as-social-tabs button{min-height:42px;padding:9px 14px;border:1px solid rgba(105,86,58,.3);border-radius:7px;background:var(--panel);color:var(--muted);font:600 .64rem var(--mono)}
#asRoot.tz-visual .as-social-tabs button.as-activo{background:var(--red);color:#fff0d0;border-color:#79261e}
#asRoot.tz-visual .as-social-lista{gap:12px}
#asRoot.tz-visual .as-social-item{background:#f5ebce;border:1px solid rgba(105,86,58,.2);border-radius:10px;padding:14px;color:var(--ink);box-shadow:0 5px 16px rgba(55,36,24,.08)}
#asRoot.tz-visual .as-social-item h3{color:var(--ink);font-size:1rem}
#asRoot.tz-visual .as-social-item p{color:var(--muted);font-size:.7rem;line-height:1.5}
#asRoot.tz-visual .as-social-item button{min-height:38px;padding:7px 11px;border:1px solid rgba(105,86,58,.3);border-radius:6px;background:var(--panel-strong);color:var(--muted);font:600 .62rem var(--mono)}
#asRoot.tz-visual .as-social-item button:hover{background:var(--red);color:#fff0d0}
#asRoot.tz-visual .as-social-vacia{padding:16px;background:rgba(245,235,206,.92);border:1px dashed rgba(105,86,58,.28);border-radius:10px;color:var(--muted);font-size:.74rem;line-height:1.65}
#asRoot.tz-visual .as-camarada-btn,#asRoot.tz-visual .as-config-post,#asRoot.tz-visual .as-pref-panel button,#asRoot.tz-visual .as-solicitudes button{min-height:38px;padding:7px 11px;border:1px solid rgba(105,86,58,.3);border-radius:6px;background:var(--panel-strong);color:var(--muted);font:600 .62rem var(--mono)}
#asRoot.tz-visual .as-camarada-btn:hover,#asRoot.tz-visual .as-config-post:hover,#asRoot.tz-visual .as-pref-panel button:hover,#asRoot.tz-visual .as-solicitudes button:hover{background:var(--red);color:#fff0d0}
#asRoot.tz-visual .as-pref-panel,#asRoot.tz-visual .as-solicitudes,#asRoot.tz-visual .as-resumen-social{background:#f5ebce;border:1px solid rgba(105,86,58,.22);border-radius:10px;padding:16px;color:var(--ink)}
#asRoot.tz-visual .as-pref-panel h3,#asRoot.tz-visual .as-solicitudes h3{color:var(--muted);font-size:.68rem}
#asRoot.tz-visual .as-pref-grid label{color:var(--muted)}
#asRoot.tz-visual .as-solicitud{color:var(--muted)}
#asRoot.tz-visual .as-permiso-badge{border-radius:6px;color:#5f4731;background:#f5e4bd}
#asRoot.tz-visual .as-interaccion-off{color:var(--muted)}

/* Chat privado */
#asRoot #tz-chat .tz-chat-panel{border:1px solid rgba(73,169,155,.28);border-radius:16px;background:#0c1c17;box-shadow:0 26px 70px rgba(0,0,0,.45)}
#asRoot #tz-chat .tz-chat-head{padding:16px 18px;background:#10251c;border-bottom:1px solid rgba(73,169,155,.2)}
#asRoot #tz-chat .tz-chat-head b{color:#f4f7ed;font-size:1.05rem}
#asRoot #tz-chat .tz-chat-head small{color:#b7c9b5;font-size:.62rem;line-height:1.5}
#asRoot #tz-chat .tz-chat-contactos{background:#0e2018}
#asRoot #tz-chat .tz-chat-contactos h2{color:#49f2df;font-size:.68rem}
#asRoot #tz-chat .tz-chat-contacto{border:1px solid rgba(73,169,155,.18);border-radius:10px;background:#142b20;padding:11px;transition:background-color .16s,border-color .16s}
#asRoot #tz-chat .tz-chat-contacto:hover,#asRoot #tz-chat .tz-chat-contacto.as-activo{background:#1b3b2a;border-color:#48a99b}
#asRoot #tz-chat .tz-chat-contacto b{font-size:.9rem}#asRoot #tz-chat .tz-chat-contacto small{font-size:.62rem}
#asRoot #tz-chat .tz-chat-conversacion{background:#f1e7cf;color:var(--ink)}
#asRoot #tz-chat .tz-chat-titulo{padding:14px 18px;background:#e6d6b2;color:var(--ink);border-bottom:1px solid rgba(105,86,58,.22)}
#asRoot #tz-chat .tz-chat-titulo small{color:var(--muted);font-size:.66rem}
#asRoot #tz-chat .tz-chat-lista{padding:18px}
#asRoot #tz-chat .tz-msg-bubble{max-width:min(76%,620px);padding:12px 14px;border:1px solid rgba(105,86,58,.2);border-radius:12px;background:#fff7e3;color:#24372e;box-shadow:0 3px 10px rgba(55,36,24,.08)}
#asRoot #tz-chat .tz-msg-propio .tz-msg-bubble{background:#a72a24;color:#fff0d0;border-color:#79261e}
#asRoot #tz-chat .tz-msg-bubble p{font-size:.94rem;line-height:1.55;overflow-wrap:anywhere}
#asRoot #tz-chat .tz-msg-meta{color:var(--muted);font-size:.58rem}
#asRoot #tz-chat .tz-msg-propio .tz-msg-meta{color:#f0d8b2}
#asRoot #tz-chat .tz-chat-composer{padding:14px;background:#e6d6b2;border-top:1px solid rgba(105,86,58,.22)}
#asRoot #tz-chat .tz-chat-form{grid-template-columns:auto auto minmax(0,1fr) auto}
#asRoot #tz-chat .tz-chat-form textarea{min-height:52px;padding:12px;border:1px solid rgba(105,86,58,.32);border-radius:8px;background:#fff7e3;color:var(--ink);font-size:.92rem;line-height:1.45}
#asRoot #tz-chat .tz-chat-form textarea:focus{outline:2px solid rgba(73,169,155,.45);border-color:#48a99b}
#asRoot #tz-chat .tz-chat-form button{min-height:46px;padding:10px 14px;border:1px solid rgba(105,86,58,.3);border-radius:7px;background:#f4e6c3;color:var(--muted);font:600 .66rem var(--mono)}
#asRoot #tz-chat .tz-chat-form button[type="submit"]{background:var(--red);color:#fff0d0;border-color:#79261e}
#asRoot #tz-chat .tz-chat-adjunto{border-radius:8px;background:#f4e6c3;color:var(--muted)}
#asRoot #tz-chat .tz-chat-privacidad{color:var(--muted);font-size:.62rem}
#asRoot #tz-chat .tz-chat-vacia{color:var(--muted)}
@media(max-width:760px){#asRoot #tz-chat .tz-chat-panel{border-radius:0}#asRoot #tz-chat .tz-msg-bubble{max-width:88%}#asRoot #tz-chat .tz-chat-lista{padding:14px}}
@media(prefers-reduced-motion:reduce){#asRoot.tz-visual .tz-fondo{display:none}}

#asRoot.tz-visual .as-mesa-link .as-miembros{color:#a9c1ad}

#asRoot.tz-visual #as-tourTipA .as-tt-paso{color:#6f4609}

/* Respuestas y pez kawaii */
#asRoot.tz-visual #as-reply-context{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 10px;padding:9px 12px;background:#f4e6c3;border-left:3px solid var(--red);border-radius:7px;color:var(--muted);font:500 .72rem/1.45 var(--ui)}
#asRoot.tz-visual #as-reply-context[hidden]{display:none}
#asRoot.tz-visual #as-cancel-reply{padding:2px 7px;border:0;background:transparent;color:var(--red);font:600 .62rem var(--mono);cursor:pointer;text-decoration:underline}
#asRoot.tz-visual .as-reply-btn{padding:3px 0;border:0;background:transparent;color:var(--red);font:600 .66rem var(--mono);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#asRoot.tz-visual .as-reply-btn:hover{color:#7d1b24}
#asRoot.tz-visual .as-coment-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#asRoot.tz-visual #as-fish-comment{min-height:40px;padding:8px 12px;border:1px solid rgba(72,169,155,.45);border-radius:8px;background:#e1f1df;color:#245044;font:600 .66rem var(--mono);cursor:pointer}
#asRoot.tz-visual #as-fish-comment:hover{background:#c7f4e2}
#asRoot .tz-fish-gif{display:inline-block;width:58px;height:58px;margin:4px 2px;vertical-align:middle;object-fit:contain;image-rendering:auto}
#asRoot .tz-fish-party{position:fixed;right:22px;bottom:78px;z-index:230;display:flex;align-items:flex-end;gap:3px;pointer-events:none;animation:tzPartyIn .35s ease-out}
#asRoot .tz-fish-party img{width:108px;height:108px;filter:drop-shadow(0 8px 9px rgba(0,0,0,.24));animation:tzFishWiggle 1.05s ease-in-out infinite}
#asRoot .tz-fish-party::before,#asRoot .tz-fish-party::after{content:"";position:absolute;width:10px;height:10px;border:2px solid rgba(73,220,236,.7);border-radius:50%;animation:tzBubbles 1.5s ease-in-out infinite}
#asRoot .tz-fish-party::before{left:-4px;top:16px}#asRoot .tz-fish-party::after{left:30px;top:-6px;animation-delay:.35s}
@keyframes tzFishWiggle{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@keyframes tzBubbles{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(-36px);opacity:0}}
@keyframes tzPartyIn{from{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#asRoot .tz-fish-party{display:none}}

#asRoot #tz-chat .tz-chat-form{grid-template-columns:auto auto auto minmax(0,1fr) auto}
#asRoot #tz-chat .tz-chat-form button[data-tz-voice].recording{border-color:#f87171;background:#6d1f24;color:#fff0d0;box-shadow:0 0 14px rgba(248,113,113,.28);animation:tzVoicePulse 1s ease-in-out infinite}
@keyframes tzVoicePulse{0%,100%{box-shadow:0 0 8px rgba(248,113,113,.18)}50%{box-shadow:0 0 18px rgba(248,113,113,.38)}}
@media(max-width:760px){#asRoot #tz-chat .tz-chat-form{grid-template-columns:auto auto auto minmax(0,1fr) auto}}

/* Consolas de escritura y mensajería holográfica */
#asRoot #tz-chat .tz-chat-panel{background-image:linear-gradient(rgba(34,211,238,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.025) 1px,transparent 1px);background-size:28px 28px;box-shadow:0 26px 70px rgba(0,0,0,.45),0 0 22px rgba(34,211,238,.08)}
#asRoot #tz-chat .tz-chat-head{box-shadow:inset 0 -1px 0 rgba(73,242,223,.18)}
#asRoot #tz-chat .tz-msg-bubble{background:linear-gradient(145deg,#fff9e8,#f2e6c8);border-color:rgba(73,169,155,.24);box-shadow:0 4px 16px rgba(34,211,238,.06)}
#asRoot #tz-chat .tz-msg-propio .tz-msg-bubble{background:linear-gradient(145deg,#a72a24,#751f25);box-shadow:0 4px 18px rgba(167,42,36,.25)}
#asRoot #tz-chat .tz-chat-composer{background:rgba(6,20,18,.92);border-top:1px solid rgba(73,242,223,.22)}
#asRoot #tz-chat .tz-chat-form textarea,#asRoot.tz-visual .as-coment-form textarea{background:#071b1a;color:#e7f2ed;border:1px solid rgba(73,242,223,.35);box-shadow:inset 0 0 18px rgba(73,242,223,.06)}
#asRoot #tz-chat .tz-chat-form textarea::placeholder,#asRoot.tz-visual .as-coment-form textarea::placeholder{color:#87a99f;opacity:1}
#asRoot #tz-chat .tz-chat-form textarea:focus,#asRoot.tz-visual .as-coment-form textarea:focus{outline:2px solid rgba(73,242,223,.42);border-color:#49f2df;box-shadow:0 0 14px rgba(73,242,223,.12),inset 0 0 18px rgba(73,242,223,.08)}
#asRoot #tz-chat .tz-chat-form button:not([type="submit"]){background:#0a2422;color:#bcefe5;border-color:rgba(73,242,223,.3);box-shadow:inset 0 0 12px rgba(73,242,223,.035)}
#asRoot #tz-chat .tz-chat-form button:not([type="submit"]):hover{background:#10332f;border-color:#49f2df;color:#effcf8}
#asRoot #tz-chat .tz-chat-form button[data-tz-voice].recording{background:#6d1f24;color:#fff0d0;border-color:#f87171}
#asRoot #tz-chat .tz-chat-adjunto{background:#0a2422;color:#bcefe5;border-color:rgba(73,242,223,.28)}
#asRoot #tz-chat .tz-chat-adjunto button{color:#9ff5e7}
@media(prefers-reduced-motion:reduce){#asRoot #tz-chat .tz-chat-form button[data-tz-voice].recording{animation:none}}

/* La conversación modal conserva todo el espacio de escritura en móvil. */
body.tz-chat-open #trPlayer,body.tz-chat-open .audio-invite{display:none!important}
#asRoot.tz-visual .as-contverif{color:#5f4731}

/* Estado visible de grabación y envío: nunca detrás de la ventana. */
#asRoot #tz-chat .tz-chat-estado{margin:0 0 9px;padding:9px 11px;border:1px solid rgba(73,242,223,.32);background:#0a2422;color:#bcefe5;font:500 .68rem/1.5 var(--mono);overflow-wrap:anywhere}
#asRoot #tz-chat .tz-chat-estado[hidden]{display:none}
#asRoot #tz-chat .tz-chat-estado.tz-estado-error{border-color:rgba(248,113,113,.65);background:#39191c;color:#ffe3d1}
#asRoot #tz-chat .tz-chat-form button[data-tz-voice].recording{min-width:108px;white-space:nowrap}
#asRoot #tz-chat.tz-recording .tz-chat-form{grid-template-columns:auto minmax(0,1fr) auto}
#asRoot #tz-chat.tz-recording .tz-chat-form [data-tz-adjuntar],#asRoot #tz-chat.tz-recording .tz-chat-form [data-tz-fish]{display:none}
#asRoot #tz-chat .tz-msg-media img{margin:0;border:0;border-radius:8px}

/* Columna social real: perfil, vínculos y descubrimiento sobre el fondo animado. */
#asRoot.tz-visual .as-side .as-widget{background:rgba(5,25,23,.84);border:1px solid rgba(73,242,223,.25);border-radius:0;color:#e7f2ed;box-shadow:0 12px 28px rgba(0,0,0,.25);backdrop-filter:blur(5px)}
#asRoot.tz-visual .as-side .as-widget::before{display:none}
#asRoot.tz-visual .as-side .as-widget h3{padding-bottom:8px;border-bottom:1px solid rgba(73,242,223,.18);color:#7ed9cd;font:600 .58rem var(--mono);letter-spacing:.14em;text-transform:uppercase}
#asRoot .as-side-id{display:flex;align-items:center;gap:12px;min-width:0}
#asRoot .as-side-avatar{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#16665d,#5f2434);border:1px solid rgba(126,217,205,.42);color:#effcf8;font:700 .8rem var(--mono)}
#asRoot .as-side-avatar.as-con-foto{background-size:cover;background-position:center}
#asRoot .as-side-id>div{min-width:0}#asRoot .as-side-id b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}#asRoot .as-side-id small{display:block;margin-top:3px;color:#a9c9c0;font:400 .58rem var(--mono)}
#asRoot .as-side-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:15px 0;color:#b8d4cb;font:400 .55rem/1.45 var(--mono);text-align:center}
#asRoot .as-side-stats b{display:block;color:#f3e5b8;font-size:.86rem}
#asRoot .as-side-actions{display:grid;grid-template-columns:1fr;gap:7px}
#asRoot .as-side-actions button,#asRoot .as-side-guest button{min-height:38px;padding:8px 10px;border:1px solid rgba(73,242,223,.32);background:#0b302b;color:#c9f5eb;font:600 .6rem var(--mono);cursor:pointer}
#asRoot .as-side-actions button:hover,#asRoot .as-side-guest button:hover{border-color:#63ead7;background:#12443c}
#asRoot .as-side-guest b{font-size:.95rem}#asRoot .as-side-guest p{color:#b8d4cb;font:400 .68rem/1.55 var(--ui)}#asRoot .as-side-guest button{width:100%;margin-top:8px}
#asRoot .as-side-person{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid rgba(73,242,223,.1)}
#asRoot .as-side-person:last-child{border-bottom:0;padding-bottom:0}
#asRoot .as-side-person .as-side-avatar{width:36px;height:36px;font-size:.62rem}
#asRoot .as-side-person-name{min-width:0;padding:0;border:0;background:transparent;color:#e7f2ed;text-align:left;cursor:pointer}
#asRoot .as-side-person-name b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}#asRoot .as-side-person-name small{display:block;margin-top:2px;color:#a9c9c0;font:400 .54rem var(--mono)}
#asRoot .as-side-person-name:hover b{color:#75efdb}
#asRoot .as-side-person-action .as-camarada-btn,#asRoot .as-side-person-action .as-permiso-badge{display:inline-flex;margin:0;padding:5px 7px;border:1px solid rgba(232,91,103,.55);background:#64252a;color:#ffe2cb;font:600 .5rem var(--mono);white-space:nowrap}
#asRoot .as-side-person-action .as-permiso-badge{border-color:rgba(73,242,223,.28);background:#123a34;color:#bcefe5}
#asRoot .as-side .as-social-vacia{padding:8px 0;color:#b8d4cb;font:400 .64rem/1.5 var(--mono)}
#asRoot.tz-visual .as-side .as-normas-w summary{color:#e5c883}
#asRoot.tz-visual .as-side .as-normas-w ol{color:#c5d8cf}
#asRoot.tz-visual .as-side .as-link-normas{color:#7ed9cd}
@media(max-width:900px){#asRoot.tz-visual .as-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}#asRoot.tz-visual .as-side .as-normas-w{grid-column:1/-1}}
@media(max-width:600px){#asRoot.tz-visual .as-side{grid-template-columns:1fr}}

/* El reproductor global no invade la navegación de Tóngzhì. */
body.tz-visible #trPlayer,body.tz-visible .audio-invite{display:none!important}
