:root{--brand: #400c7a;--brand-2: #5a12af;--accent: #ff6e01;--bg: #fdf9f6;--text: #1f1235;--muted: #6b7280;--bubble: #ffffff;--line: #ece7f3;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #120a1f;--text: #f3eefb;--muted: #a99bc0;--bubble: #1f1433;--line: #2c1f45;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}input{font:inherit}.screen{max-width:520px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.center{align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.primary{border:0;border-radius:999px;padding:12px 20px;color:#fff;font-weight:600;background:linear-gradient(90deg,var(--brand),var(--brand-2))}.primary:disabled{opacity:.45;cursor:default}.error{color:#dc2626;font-size:14px;margin:8px 0 0}.logo{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;font-size:20px;flex:none;background:linear-gradient(135deg,var(--brand),var(--brand-2) 60%,var(--accent))}.logo.small{width:34px;height:34px;font-size:16px}.scan{padding:max(20px,env(safe-area-inset-top)) 16px 24px;gap:16px}.brand{display:flex;gap:12px;align-items:center}.brand h1{margin:0;font-size:22px}.brand p{margin:2px 0 0;color:var(--muted);font-size:14px}.viewfinder{position:relative;aspect-ratio:1;width:100%;border-radius:24px;overflow:hidden;background:#1b1029;display:grid;place-items:center}.viewfinder video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.viewfinder video.video-off{opacity:0;pointer-events:none}.viewfinder-empty{position:relative}.frame{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:3px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:0 0 0 999px #00000059}.viewfinder-empty{padding:24px;text-align:center}.viewfinder-empty .error{color:#fca5a5}.hint{text-align:center;color:var(--muted);margin:0;font-size:14px}.paste label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}.row{display:flex;gap:8px}.row input,.composer input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:12px 16px;background:var(--bubble);color:var(--text);outline:none}.row input:focus,.composer input:focus{border-color:var(--brand-2)}.chat{height:100%}.chat-head{display:flex;align-items:center;gap:8px;padding:max(12px,env(safe-area-inset-top)) 12px 12px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0}.back{border:0;background:none;color:var(--text);font-size:22px;padding:4px 8px}.who{display:flex;align-items:center;gap:10px;min-width:0}.who h1{margin:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who p{margin:0;font-size:12px;color:var(--muted)}.log{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:8px}.bubble{margin:0;max-width:82%;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.bubble.zuno{align-self:flex-start;background:var(--bubble);border:1px solid var(--line);border-bottom-left-radius:6px}.bubble.team{align-self:flex-end;color:#fff;background:var(--brand);border-bottom-right-radius:6px}.typing{display:inline-flex;gap:4px}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.composer{display:flex;gap:8px;padding:10px 12px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}.send{width:48px;padding:0;flex:none}.tabs{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg)}.tab{flex:1;border:0;border-radius:999px;padding:9px 0;font-weight:600;background:transparent;color:var(--muted)}.tab.on{background:var(--brand);color:#fff}.live{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 16px}.zbutton{--level: 0;position:relative;width:190px;height:190px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 25%,#7b2fe0,var(--brand) 55%,#2a0752);box-shadow:0 18px 50px #400c7a73;transition:transform .15s ease}.zbutton:active{transform:scale(.97)}.zbutton:disabled{opacity:.5}.zbutton .z{font-size:84px;font-weight:800;letter-spacing:-2px;line-height:1}.zbutton .ring{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;border:3px solid rgba(255,110,1,0)}.zbutton.connecting .ring{border-color:#ff6e01cc;border-top-color:transparent;animation:spin 1s linear infinite}.zbutton.live .ring{border-color:#ff6e01bf;transform:scale(calc(1 + var(--level) * .25));transition:transform .12s ease}.zbutton.live.speaking .ring{animation:pulse 1.1s ease-in-out infinite}.zbutton.live.answering{background:radial-gradient(circle at 30% 25%,#ff9a3c,var(--accent) 50%,#c24f00);box-shadow:0 18px 50px #ff6e0173}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:.4}}.status{margin:0;font-weight:600;text-align:center}.captions{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:4px}.caption{margin:0;font-size:14px;color:var(--muted);text-align:center}.caption.team{color:var(--text)}.caption.zuno{color:var(--accent)}.ghost{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:8px 16px;font-weight:600}.zbutton.live:not(.answering) .ring{animation:breathe 2.4s ease-in-out infinite;border-color:#a78bdab3}@keyframes breathe{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:.35}}.zwrap{flex:none;width:min(190px,52vw);aspect-ratio:1 / 1;height:auto}.zwrap .zbutton{width:100%;height:100%;max-height:none}.live{overflow:hidden}.prompter{width:100%;max-width:440px;height:7.5em;overflow-y:auto;scrollbar-width:none;font-size:17px;line-height:1.5;text-align:center;color:var(--text);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 22%,#000 78%,transparent 100%)}.prompter::-webkit-scrollbar{display:none}.prompter p{margin:0;padding:1.5em 0}
