/* ===== Base : identique au site (thème noir et or) ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{--gold:#c9972a;--gold-light:#e8b84b;--gold-dim:#7a5c18;--gold-faint:rgba(201,151,42,0.05);--bg:#0c0a07;--border:rgba(201,151,42,0.2);--border-h:rgba(201,151,42,0.55);--text:#d4c49a;--text-dim:rgba(212,196,154,0.4);--text-muted:rgba(212,196,154,0.65);--red-faint:rgba(192,57,43,0.08)}
@keyframes fadeSlideUp{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
html,body{background-color:var(--bg)!important;color:var(--text)!important;font-family:'JetBrains Mono',monospace!important;min-height:100vh;width:100%;overflow-x:hidden}
body{display:flex;justify-content:center;align-items:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E")}
.screen{width:100%;max-width:440px;padding:24px 20px;animation:fadeSlideUp .2s cubic-bezier(0.16,1,0.3,1) both;display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box;background:transparent!important;will-change:transform,opacity}
.screen[hidden]{display:none!important}
header.top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px;padding-bottom:12px;position:relative;border-bottom:1px solid var(--border)}
header.top::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5}
.brand{font-family:'Cinzel',serif!important;font-size:12px;font-weight:700;color:var(--gold-light)!important;letter-spacing:4px;text-transform:uppercase}
button,.install,.go{touch-action:manipulation;user-select:none;-webkit-user-select:none;font-family:'JetBrains Mono',monospace!important}
.install,button.go{background:rgba(201,151,42,0.1)!important;border:1px solid rgba(201,151,42,0.3)!important;color:var(--gold-light)!important;font-size:9px;font-weight:500;letter-spacing:3px;padding:10px 14px;cursor:pointer;border-radius:2px;text-transform:uppercase;transition:background .1s ease,transform .08s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.install:active,button.go:active{transform:scale(0.96);background:rgba(201,151,42,0.25)!important}
button.go{flex:none;background:rgba(201,151,42,0.2)!important;border:1px solid var(--gold)!important;color:var(--gold-light)!important;font-family:'Cinzel',serif!important;font-weight:700;font-size:12px;letter-spacing:2px;padding:12px 16px;text-align:center}
button.go:active{background:rgba(201,151,42,0.4)!important}
.middle{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px}
.title{font-family:'Cinzel',serif!important;color:var(--gold-light)!important;font-size:26px;font-weight:700;letter-spacing:4px;line-height:1.3;text-transform:uppercase}
.foot{margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:9px;letter-spacing:1px;color:var(--text-dim)!important}
.error{color:#d47070!important;font-size:10px;letter-spacing:1px;text-align:center;margin-top:10px;padding:8px;background:var(--red-faint)!important;border:1px solid rgba(192,57,43,0.3)!important;border-radius:2px}
.error[hidden]{display:none!important}
.banner{text-align:center;font-size:9px;letter-spacing:2px;color:var(--gold)!important;text-transform:uppercase;margin-bottom:10px;background:var(--gold-faint)!important;border:1px solid var(--border)!important;padding:6px;border-radius:2px}
.note{font-size:10px;color:var(--text-muted)!important;line-height:1.4}

/* ===== Formulaire pseudo ===== */
.form{width:100%;max-width:300px;display:flex;flex-direction:column;gap:12px}
.field{width:100%;background:rgba(0,0,0,0.5);border:1px solid var(--border);color:var(--text);font-family:'JetBrains Mono',monospace;font-size:16px;padding:12px;border-radius:2px;outline:none;transition:border-color .15s ease}
.field::placeholder{color:var(--text-dim)}
.field:focus{border-color:var(--gold)}

/* ===== Chat ===== */
.chatScreen{max-width:800px;height:100vh;height:100dvh;min-height:0;padding:16px 12px}
.chatScreen header.top{margin-bottom:12px}
.who{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:2px;color:var(--text-muted);margin-left:auto;text-transform:uppercase}
.dot{width:6px;height:6px;background:var(--gold);display:inline-block}
.convs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent;align-items:center}
.chip{flex:none;position:relative;background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:10px;letter-spacing:1px;padding:7px 12px;border-radius:2px;cursor:pointer;white-space:nowrap}
.chip.online::before{content:'';display:inline-block;width:6px;height:6px;background:var(--gold);margin-right:7px;vertical-align:middle}
.chip.active{background:rgba(201,151,42,0.18);border-color:var(--gold);color:var(--gold-light)}
.chip:active{transform:scale(0.96)}
.badge{margin-left:8px;background:var(--gold);color:var(--bg);font-weight:500;font-size:9px;padding:1px 5px;border-radius:2px}
.nobody{flex:none;font-size:9px;letter-spacing:1px;color:var(--text-dim);text-transform:uppercase;padding-left:6px}
.stage{position:relative;flex:1;min-height:0;background:#050403;border:1px solid var(--border);border-radius:3px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent}
.empty{margin:auto;text-align:center;font-size:10px;letter-spacing:1px;color:var(--text-dim);text-transform:uppercase}
.msg{max-width:82%;display:flex;flex-direction:column;gap:3px}
.msg.mine{align-self:flex-end;align-items:flex-end}
.msg.theirs{align-self:flex-start}
.msg .meta{font-size:9px;letter-spacing:1px;color:var(--text-dim);text-transform:uppercase}
.msg .txt{font-size:13px;line-height:1.45;padding:8px 11px;border-radius:2px;border:1px solid var(--border);background:rgba(18,14,8,0.8);white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}
.msg.mine .txt{background:rgba(201,151,42,0.15);border-color:var(--border-h);color:var(--gold-light)}
.composer{display:flex;gap:8px;padding-bottom:env(safe-area-inset-bottom)}
.composer .field{flex:1}
