:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#080c0a;color:#c5f8d7;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:1000px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #233c2d;padding-bottom:20px}.brand{font-size:30px;letter-spacing:-1.4px;color:#6ced9e}.brand span{font-size:12px;margin-left:6px}header p{font-size:13px;color:#97ab9e;margin:4px 0}.notice{font-size:12px;background:#142119;color:#a4d8b6;padding:10px 14px;border-radius:8px;margin:18px 0}.eyebrow{font-size:11px;letter-spacing:1.6px;color:#66e596}h1{font-size:clamp(32px,5vw,52px);line-height:1.12;letter-spacing:-1.7px;margin:18px 0}h2{font-size:23px;letter-spacing:-.6px;margin:8px 0}p{line-height:1.6}#entry{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;padding:32px 0}.intro p{color:#9db3a5}form#join{background:#0e1711;border:1px solid #253e2e;padding:24px;border-radius:16px}label{display:block;font-size:13px;margin:12px 0 8px;color:#b6d7c1}input{width:100%;min-width:0;border:1px solid #35513f;border-radius:9px;background:#080e0a;padding:14px;color:#c5f8d7;font:inherit}input:focus,button:focus-visible{outline:2px solid #71efa4;outline-offset:3px}button{min-height:44px;border:1px solid #375f46;background:#14251b;border-radius:9px;color:#b9f7ce;padding:10px 15px;font:inherit;cursor:pointer}.primary{background:#6ced9e;color:#092512;border:0;font-weight:700}#join button{width:100%;margin-top:22px}.muted{color:#98afa1;font-size:13px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px}#people{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.person{border:1px solid #294534;border-radius:12px;background:#0e1711;padding:18px}.person h3{margin:0 0 8px;font-size:19px}.person p{font-size:14px;color:#a3b9ab;min-height:44px;margin:8px 0}.person small{font-size:12px;color:#6ced9e}.person button{margin-top:10px}button:disabled{opacity:.45;cursor:default}#pending{text-align:center;padding:35px 0}.panes{display:grid;grid-template-columns:1fr 1fr;border:1px solid #2c4936;border-radius:12px;overflow:hidden}.panes section{min-width:0;background:#080e0a}.panes section+section{border-left:1px solid #2c4936}.panes h3{margin:0;padding:12px 15px;background:#142219;font-size:13px}.messages{height:260px;overflow:auto;padding:14px;overflow-wrap:anywhere}.messages p{white-space:pre-wrap;border-bottom:1px solid #14291c;padding-bottom:12px;font-size:15px;color:#7eeeaa}.messages time{display:block;font-size:10px;color:#839e8c}#send{display:flex;gap:8px;margin-top:12px}.subtle{font-size:12px;background:none;border:0;color:#a3b9ab}aside{border:1px dashed #304838;border-radius:10px;padding:15px;text-align:center;margin-top:26px;color:#8da897}aside span{font-size:10px;letter-spacing:1.4px}aside p{margin:5px 0;font-size:12px}footer{text-align:center;color:#7c9785;font-size:12px;padding:20px 0}#status{font-size:13px;color:#a3e5ba}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:600px){main{padding:16px}#entry{grid-template-columns:1fr;gap:18px;padding:12px 0}h1{font-size:36px}#people{grid-template-columns:1fr}.person p{min-height:0}.panes{grid-template-columns:1fr}.panes section+section{border-left:0;border-top:1px solid #2c4936}.messages{height:140px}#send{position:sticky;bottom:0;background:#080c0a;padding:8px 0}#conversation h2{font-size:21px}input{font-size:16px}}
/* Directorio compacto: una persona por fila. */
#people{display:block;border-top:1px solid #294534;margin:18px 0}
.person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;border:0;border-bottom:1px solid #294534;border-radius:0;background:transparent;padding:13px 0;align-items:center}
.person h3{display:inline;margin:0;font-size:16px;grid-column:1;grid-row:1;overflow-wrap:anywhere}
.person small{grid-column:1;grid-row:2;font-size:11px}
.person p{grid-column:1;grid-row:3;min-height:0;margin:1px 0 0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.person button{grid-column:2;grid-row:1 / 4;margin:0;padding:8px 11px;font-size:13px;min-height:44px}
@media(min-width:700px){.person{grid-template-columns:110px minmax(0,1fr) auto;gap:3px 14px}.person h3{grid-column:1;grid-row:1}.person small{grid-column:1;grid-row:2}.person p{grid-column:2;grid-row:1 / 3}.person button{grid-column:3;grid-row:1 / 3}}
@media(max-width:699px){.person{grid-template-columns:auto minmax(0,1fr) auto;gap:5px 9px}.person h3{grid-column:1;grid-row:1}.person small{grid-column:2;grid-row:1}.person p{grid-column:1 / 3;grid-row:2}.person button{grid-column:3;grid-row:1 / 3}}

/* Prueba 004: conversación única y tipografía monoespaciada. */
.person h3,.person p,.thread{font-family:Consolas,"Liberation Mono",Menlo,monospace;font-size:16px}
.thread{height:clamp(260px,48vh,540px);height:clamp(240px,48dvh,540px);overflow-y:auto;overscroll-behavior:contain;background:#070c09;border:1px solid #2c4936;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}
.bubble{flex-shrink:0;max-width:85%;min-width:100px;border:1px solid #26432f;border-radius:12px;padding:10px 13px;overflow-wrap:anywhere}
.bubble.incoming{align-self:flex-start;background:#101c14}.bubble.outgoing{align-self:flex-end;background:#193824;border-color:#396447}
.bubble b{font-family:system-ui,sans-serif;display:block;font-size:11px;color:#a9c7b3}.bubble p{white-space:pre-wrap;line-height:1.5;color:#8bf3b1;font-size:16px;margin:5px 0}.bubble time{display:block;text-align:right;font:10px system-ui,sans-serif;color:#9bb6a4}
@media(max-width:600px){.thread{padding:10px}.bubble{max-width:92%}}

/* Prueba 005: durante la conversación, solo chat. */
.person small.online{color:#6ced9e}.person small.busy{color:#edbd63}
body.chatting{overflow:hidden}
body.chatting main{height:var(--visible-height,100dvh);max-width:1000px;padding:8px 12px;margin:0 auto;overflow:hidden}
body.chatting main>header,body.chatting .notice,body.chatting aside,body.chatting footer,body.chatting #status{display:none}
body.chatting #conversation{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;gap:6px}
body.chatting .sectionhead{min-height:44px;padding:0 0 4px;justify-content:space-between;gap:8px}
body.chatting .sectionhead>div{display:flex;align-items:center;gap:9px;min-width:0}
body.chatting h2{font-size:18px;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.chatting .chat-demo{font-size:9px;letter-spacing:1px;order:2;color:#9caf9f}
body.chatting #end{font-size:13px;padding:8px 12px;margin-left:64px}
body.chatting .thread{height:auto;min-height:0;border-radius:9px;padding:12px}
body.chatting #send{margin:0;position:static;padding:0 0 env(safe-area-inset-bottom);background:#080c0a}
body.chatting #block{position:absolute;top:0;right:88px;font-size:11px;padding:6px;min-height:44px}
@media(max-width:600px){body.chatting main{padding:4px 6px}body.chatting .thread{padding:8px}body.chatting #message{padding:12px}body.chatting .bubble{max-width:92%}}

body.chatting #chaterror{position:absolute;bottom:64px;left:12px;right:12px;background:#382018;color:#ffd3bc;font-size:12px;margin:0;z-index:2}#chaterror:empty{display:none}

/* Piloto 008: descripción visible del interlocutor. */
body.chatting .sectionhead>div{flex:1;flex-wrap:wrap;gap:2px 10px}
body.chatting h2{flex-shrink:0;max-width:100%}
body.chatting .partner-bio{order:2;min-width:0;font:13px/1.35 Consolas,"Liberation Mono",Menlo,monospace;color:#a8c9b4;overflow-wrap:anywhere;flex:1 1 140px}
body.chatting .partner-bio:empty{display:none}
body.chatting #block{top:0}
@media(max-width:600px){body.chatting .sectionhead{align-items:flex-start}body.chatting .sectionhead>div{padding:4px 0}body.chatting .partner-bio{flex-basis:100%}}

.age-confirm{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin-top:18px;font-size:14px}.age-confirm input{width:20px;height:20px;min-width:20px;margin:2px 0 0;padding:0;accent-color:#6ced9e}

/* Piloto 010: identidad en la entrada; sin logo durante el chat. */
.entry-logo{display:block;width:min(100%,280px);height:auto;object-fit:contain;margin:0 auto 12px}
h1.entry-heading{font-size:24px;letter-spacing:-.6px;line-height:1.25;margin:12px 0}
#entry .intro>.eyebrow{display:none}
@media(max-width:600px){.entry-logo{width:180px;margin:0 auto 4px}#entry{gap:10px;padding-top:0}h1.entry-heading{font-size:21px;margin:6px 0}.intro p{margin:8px 0}}
.header-controls{display:flex;align-items:center;gap:8px}select{font:inherit;color:#c5f8d7;background:#14251b;border:1px solid #375f46;border-radius:8px;padding:10px;min-height:44px}a{color:#8bf3b1}select:focus-visible,a:focus-visible{outline:2px solid #71efa4;outline-offset:3px}

.entry-credit{text-align:center;font:13px system-ui,sans-serif;margin:0 0 12px}.entry-credit a{color:#8bf3b1}
