:root{--bg:#1a1226;--bg2:#231933;--card:#2c2040;--line:#3d2f55;--text:#f4eefb;--muted:#b3a6c7;--accent:#f2b544;--accent2:#e86a6a;--ok:#5fc59a;--bubble-me:#f2b544;--bubble-me-text:#2a1a05;--bubble-them:#33264a;--radius:18px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.45}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font:inherit;color:inherit}#app{max-width:440px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg2),var(--bg) 40%)}.screen{flex:1;display:flex;flex-direction:column;padding:24px 20px;overflow-y:auto}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:700;letter-spacing:-.01em}h1{font-size:2.4rem}h2{font-size:1.6rem;margin-bottom:6px}.muted{color:var(--muted)}.small{font-size:.85rem}.spacer{flex:1}.btn{display:block;width:100%;padding:15px 18px;border-radius:14px;background:var(--accent);color:#2a1a05;font-weight:600;text-align:center;transition:transform .1s,opacity .2s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.danger{background:var(--accent2);color:#fff}.btn+.btn{margin-top:10px}.field{margin-top:18px}.field label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}.field input,.field select{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);outline:none}.field input:focus{border-color:var(--accent)}.err{color:var(--accent2);font-size:.85rem;margin-top:6px;min-height:1.2em}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:.95rem}.chip.on{background:var(--accent);color:#2a1a05;border-color:var(--accent);font-weight:600}.avatars{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.av{aspect-ratio:1;border-radius:16px;background:var(--card);border:2px solid transparent;font-size:2rem;display:flex;align-items:center;justify-content:center}.av.on{border-color:var(--accent);background:#3a2b52}.logo{display:flex;align-items:center;gap:12px;margin-top:30px}.mask{width:64px;height:64px}.hero p{margin-top:14px;font-size:1.05rem}.steps{margin:26px 0;display:grid;gap:12px}.step{display:flex;gap:12px;align-items:flex-start;background:var(--card);padding:14px;border-radius:14px}.step b{display:block}.step .n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#2a1a05;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem}.install{font-size:.85rem;color:var(--muted);text-align:center;margin-top:14px}.progress{height:4px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:22px}.progress i{display:block;height:100%;background:var(--accent);transition:width .3s}.q{font-family:Fraunces,serif;font-size:1.35rem;margin-bottom:18px}.opt{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);margin-bottom:10px}.opt:hover{border-color:var(--accent)}.center{align-items:center;justify-content:center;text-align:center}.pulse{width:110px;height:110px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:3rem;animation:pulse 1.4s infinite}@keyframes pulse{0%{box-shadow:0 0 #f2b54480}to{box-shadow:0 0 0 30px #f2b54400}}.chat{flex:1;display:flex;flex-direction:column;min-height:0}.top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--bg2)}.top .face{width:42px;height:42px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:1.4rem}.top .who{flex:1;min-width:0}.top .who b{display:block}.top .who span{font-size:.8rem;color:var(--muted)}.iconbtn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.iconbtn:hover{background:var(--card)}.timer{padding:10px 14px;background:var(--bg2);border-bottom:1px solid var(--line)}.timer .row{display:flex;justify-content:space-between;font-size:.82rem;color:var(--muted);margin-bottom:6px}.timer .row b{color:var(--accent)}.dots{display:flex;gap:3px}.dots i{flex:1;height:5px;border-radius:3px;background:var(--line)}.dots i.done{background:var(--accent)}.dots i.mark{background:#7a5fb0}.dots i.done.mark{background:var(--accent)}.msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.b{max-width:80%;padding:10px 14px;border-radius:18px;word-wrap:break-word;animation:pop .2s ease-out}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.b.me{align-self:flex-end;background:var(--bubble-me);color:var(--bubble-me-text);border-bottom-right-radius:6px}.b.them{align-self:flex-start;background:var(--bubble-them);border-bottom-left-radius:6px}.sys{align-self:stretch;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:.9rem;animation:pop .2s}.sys .t{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:600;margin-bottom:4px}.sys.warn{border-color:var(--accent2);background:#3a1f2c}.sys.warn .t{color:var(--accent2)}.blocked{align-self:flex-end;max-width:80%;padding:10px 14px;border-radius:18px;border:1px dashed var(--accent2);color:var(--muted);font-size:.85rem;text-decoration:line-through}.typing{align-self:flex-start;background:var(--bubble-them);padding:12px 16px;border-radius:18px;display:flex;gap:4px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:bl 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bl{0%,to{opacity:.3}50%{opacity:1}}.voice{display:flex;align-items:center;gap:10px;min-width:180px}.voice .play{width:32px;height:32px;border-radius:50%;background:#00000026;display:flex;align-items:center;justify-content:center;font-size:.8rem}.b.them .voice .play{background:#ffffff1f}.wave{display:flex;align-items:center;gap:2px;height:24px;flex:1}.wave i{width:3px;border-radius:2px;background:currentColor;opacity:.7}.photo{width:100%;height:170px;border-radius:12px;margin-top:8px;overflow:hidden;position:relative}.photo svg{width:100%;height:100%;filter:blur(14px);transform:scale(1.15)}.compose{display:flex;gap:8px;padding:10px 12px 14px;border-top:1px solid var(--line);background:var(--bg2);align-items:flex-end}.compose textarea{flex:1;resize:none;max-height:120px;padding:11px 14px;border-radius:20px;border:1px solid var(--line);background:var(--card);outline:none;line-height:1.35}.compose textarea:focus{border-color:var(--accent)}.send{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#2a1a05;font-size:1.1rem;flex:none;display:flex;align-items:center;justify-content:center}.send.mic{background:var(--card);color:var(--text);border:1px solid var(--line)}.send.rec{background:var(--accent2);color:#fff;animation:pulse 1.2s infinite}.lock{padding:12px 14px;background:#3a1f2c;border-top:1px solid var(--accent2);font-size:.9rem;text-align:center}.lock button{margin-top:8px;color:var(--accent);text-decoration:underline;font-size:.85rem}.demo{padding:8px 12px;background:#120c1b;border-top:1px dashed var(--line);display:flex;gap:8px;align-items:center;font-size:.78rem;color:var(--muted)}.demo button{padding:6px 10px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--text);font-size:.78rem}.demo .tag{background:var(--accent2);color:#fff;padding:2px 6px;border-radius:5px;font-weight:600;font-size:.7rem}.overlay{position:absolute;inset:0;background:#0a0610b3;display:flex;align-items:flex-end;z-index:20;animation:fade .2s}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;background:var(--bg2);border-radius:22px 22px 0 0;padding:22px 20px 26px;border-top:1px solid var(--line);animation:up .25s ease-out}@keyframes up{0%{transform:translateY(40px)}to{transform:none}}.sheet h3{font-size:1.3rem;margin-bottom:8px}.sheet p{color:var(--muted);margin-bottom:16px}.menu button{display:flex;gap:12px;align-items:center;width:100%;padding:14px 6px;border-bottom:1px solid var(--line);text-align:left}.menu button:last-child{border:none}.choice{display:block;width:100%;padding:20px;border-radius:18px;border:2px solid var(--line);background:var(--card);text-align:left;margin-bottom:12px}.choice b{display:block;font-family:Fraunces,serif;font-size:1.2rem}.choice.yes:hover{border-color:var(--accent)}.bigface{width:120px;height:120px;border-radius:50%;margin:10px auto 16px;background:linear-gradient(135deg,#7a5fb0,#f2b544);display:flex;align-items:center;justify-content:center;font-size:3.6rem}.contact{background:var(--card);border-radius:14px;padding:14px;margin:16px 0;text-align:left}.contact div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:.92rem}.contact div:last-child{border:none}.tips{text-align:left;background:#1f2a24;border:1px solid #2f4a3c;border-radius:14px;padding:14px 16px;margin-bottom:18px}.tips b{color:var(--ok)}.tips li{margin:6px 0 0 18px;font-size:.9rem}.toggle{display:flex;background:var(--card);border-radius:10px;padding:3px;gap:3px}.toggle button{flex:1;padding:6px;border-radius:8px;font-size:.78rem}.toggle button.on{background:var(--line);color:var(--text);font-weight:600}.hint{font-size:.8rem;color:var(--muted);margin-top:6px}.note{font-size:.9rem;color:var(--ok);margin-top:14px}.err:empty{display:none}.link{display:block;margin:16px auto 0;color:var(--accent);text-decoration:underline;font-size:.92rem}.small-btn{padding:10px 14px;font-size:.9rem}.audio{height:36px;max-width:220px}.select{user-select:all}.opt:disabled,.choice:disabled{opacity:.5}.send:disabled{opacity:.45}.sheet .menu h3{margin-bottom:6px}
