@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--page:#fffcfa;--ink:#191720;--muted:#5e5964;--rule:#e3ded8;--accent:#c2185b;--ok:#1b7f4c}*{box-sizing:border-box}body,html{margin:0;background:var(--page);color:var(--ink);font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}img{max-width:100%}.shell{min-height:100vh;padding-bottom:84px}.top{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--rule);background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:20}.brand{font-weight:800}.brand span,.coin{color:var(--accent)}.coin{background:#fff0f5;border-radius:999px;padding:6px 10px;font-weight:700;font-size:13px}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--rule);padding:8px 4px 12px;z-index:30}.tabbar a{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding:6px 0}.tabbar a.on{color:var(--accent)}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 0,#ffd6e4,var(--page) 50%)}.login-card{width:min(400px,100%);background:#fff;border:1px solid var(--rule);border-radius:24px;padding:28px}.login-card h1{margin:8px 0 6px}.login-card p{color:var(--muted)}.field,.login-card input{width:100%;border:1px solid var(--rule);border-radius:12px;padding:12px;margin:8px 0;background:#fff}.btn{width:100%;border:0;background:var(--accent);color:#fff;border-radius:12px;padding:12px;font-weight:700;cursor:pointer;margin-top:8px}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--rule)}.btn.ok{background:var(--ok)}.btn.sm{width:auto;padding:8px 12px}.btn.sm,.err{font-size:13px}.err{color:#b42318}.grid{display:grid;grid-gap:10px;gap:10px;padding:14px}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.person{background:#fff;border:1px solid var(--rule);border-radius:16px;overflow:hidden}.cover,.person img{width:100%;height:160px;object-fit:cover;background:#efebe6}.person .pad{padding:10px}.person b{display:block}.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block;margin-right:4px}.list{padding:0}.row{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--rule);background:#fff}.av{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#efebe6}.muted{color:var(--muted);font-size:13px}.grow{flex:1 1;min-width:0}.badge{font-size:11px;background:#fff0f5;color:var(--accent);border-radius:999px;padding:2px 8px}.chat{display:flex;flex-direction:column;height:calc(100vh - 84px)}.bubbles{flex:1 1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.b{max-width:78%;padding:10px 12px;border-radius:16px;font-size:14px;line-height:1.4}.me{align-self:flex-end;background:var(--accent);color:#fff}.them{align-self:flex-start;background:#fff;border:1px solid var(--rule)}.composer{display:flex;gap:8px;padding:10px;border-top:1px solid var(--rule);background:#fff}.composer input{flex:1 1;border:1px solid var(--rule);border-radius:999px;padding:10px 14px}.stage{position:relative;background:#0c0c0e;height:calc(100vh - 84px);color:#fff}.stage .cam,.stage video{width:100%;height:100%;object-fit:cover;background:#111}.pip{right:12px;top:12px;width:112px;height:160px;border-radius:14px;overflow:hidden;border:2px solid #fff;object-fit:cover}.overlay,.pip{position:absolute}.overlay{left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(0,0,0,.72))}.wait{position:absolute;place-items:center;text-align:center;padding:24px}.incoming,.wait{inset:0;display:grid}.incoming{position:fixed;background:rgba(12,10,14,.72);z-index:50;place-items:center;padding:20px}.incoming .box{background:#fff;border-radius:24px;padding:24px;width:min(360px,100%);text-align:center}.incoming img{width:88px;height:88px;border-radius:50%;object-fit:cover;margin:0 auto 10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.pad{padding:16px}h1{font-size:22px;margin:0}h2{font-size:16px;margin:0 0 8px}