:root{--bg:#060810;--bg-2:#0b1018;--panel:#ffffff0b;--panel-2:#ffffff12;--brd:#ffffff17;--brd-2:#ffffff29;--text:#eaeefb;--dim:#8b93a8;--faint:#565f76;--a1:#22d3ee;--a2:#818cf8;--a3:#c084fc;--grad:linear-gradient(115deg, #22d3ee 0%, #818cf8 50%, #c084fc 100%);--ok:#34d399;--warn:#fbbf24;--bad:#fb7185;--r:14px;--r-sm:10px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans Arabic,Segoe UI,system-ui,Noto Sans Arabic,sans-serif;font-size:16px;line-height:1.6}body{background:radial-gradient(120% 80% at 80% -10%, #818cf82e, transparent 60%), radial-gradient(90% 70% at 0% 110%, #22d3ee1f, transparent 55%), var(--bg);background-attachment:fixed}#app{height:100%}.hidden{display:none!important}.overlay{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;height:100%;padding:32px 24px;display:flex}.logo{letter-spacing:-2px;background:var(--grad);color:#0000;filter:drop-shadow(0 4px 24px #818cf859);-webkit-background-clip:text;background-clip:text;font-size:clamp(46px,16vw,86px);font-weight:700;line-height:1}.tagline{max-width:30rem;color:var(--dim);margin:0;font-size:16px}.start-btn{cursor:pointer;color:#06121a;background:var(--grad);border:0;border-radius:999px;margin-top:6px;padding:15px 44px;font-size:18px;font-weight:700;transition:transform .15s,box-shadow .2s;box-shadow:0 12px 36px -8px #818cf899}.start-btn:hover{transform:translateY(-2px);box-shadow:0 18px 44px -8px #818cf8b3}.start-btn:active{transform:scale(.97)}.start-btn:disabled{opacity:.6;filter:grayscale(.4);cursor:default;box-shadow:none}.hint{color:var(--faint);max-width:26rem;font-size:13px}.overlay-error{color:var(--bad);border-radius:var(--r-sm);background:#fb71851a;border:1px solid #fb71854d;padding:10px 16px;font-size:14px}.shell{max-width:760px;height:100%;padding:10px 12px 12px;padding-bottom:max(12px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.topbar{border-radius:var(--r);background:var(--panel);border:1px solid var(--brd);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.brand{letter-spacing:-.3px;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:19px;font-weight:700}.me{background:var(--panel-2);border:1px solid var(--brd);border-radius:999px;padding:3px 9px;font-family:ui-monospace,SF Mono,monospace;font-size:13px;font-weight:600}.status{color:var(--dim);white-space:nowrap;margin-inline-start:auto;font-size:13px}.status[data-phase=listening]{color:var(--ok)}.status[data-phase=transmitting]{color:var(--a1)}.status[data-phase=interrupted]{color:var(--warn)}.signal{color:var(--a2);letter-spacing:1px;font-family:ui-monospace,monospace;font-size:13px}.ver{color:var(--faint);font-family:ui-monospace,monospace;font-size:11px}.waterfall{border-radius:var(--r);border:1px solid var(--brd);background:linear-gradient(#22d3ee0d,#c084fc0d),#04060b;width:100%;height:84px;margin:10px 0;display:block;box-shadow:inset 0 0 40px #818cf814}.modes{flex-wrap:wrap;gap:8px;display:flex}.mode-chip{cursor:pointer;min-width:64px;font:inherit;color:var(--dim);border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--brd);flex:auto;padding:9px 8px;font-size:13px;font-weight:600;transition:all .18s}.mode-chip:hover{color:var(--text);border-color:var(--brd-2)}.mode-chip.active{color:#06121a;background:var(--grad);border-color:#0000;font-weight:700;box-shadow:0 6px 18px -6px #818cf880}.roombar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.pass-input,.composer-input,.train-input{min-width:0;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--brd);border-radius:var(--r-sm);outline:none;flex:1;padding:11px 14px;font-size:14px;transition:border-color .18s,box-shadow .18s}.pass-input::placeholder,.composer-input::placeholder,.train-input::placeholder{color:var(--faint)}.pass-input:focus,.composer-input:focus,.train-input:focus{border-color:var(--a2);box-shadow:0 0 0 3px #818cf82e}.lock{color:var(--a1);white-space:nowrap;font-size:12px}.roombar.active .pass-input{border-color:#22d3ee66}.train-btn,.duplex-btn{cursor:pointer;font:inherit;color:var(--dim);white-space:nowrap;background:var(--panel);border:1px solid var(--brd);border-radius:var(--r-sm);padding:9px 12px;font-size:13px;transition:all .18s}.train-btn:hover,.duplex-btn:hover{color:var(--text);border-color:var(--brd-2)}.duplex-btn.active{color:var(--a1);background:#22d3ee14;border-color:#22d3ee66}.train-panel{background:var(--panel);border:1px solid var(--brd);border-radius:var(--r);flex-direction:column;gap:9px;margin-top:10px;padding:14px;display:flex}.train-hint{color:var(--dim);font-size:13px}.train-rec{cursor:pointer;font:inherit;color:#06121a;background:var(--grad);border-radius:var(--r-sm);border:0;padding:11px;font-weight:600;transition:transform .15s}.train-rec:hover{transform:translateY(-1px)}.train-rec:disabled{opacity:.6;cursor:default}.log{scrollbar-width:thin;flex-direction:column;flex:1;gap:10px;margin:12px 0;padding:4px 2px;display:flex;overflow-y:auto}.log::-webkit-scrollbar{width:6px}.log::-webkit-scrollbar-thumb{background:var(--brd-2);border-radius:3px}.msg{flex-direction:column;gap:3px;max-width:82%;display:flex}.msg.self{align-self:flex-start;align-items:flex-start}.msg.other{align-self:flex-end;align-items:flex-end}.msg-meta{color:var(--faint);padding:0 4px;font-family:ui-monospace,monospace;font-size:11px}.msg-body{word-break:break-word;border-radius:16px;padding:10px 14px;font-size:15px;line-height:1.5}.msg.self .msg-body{background:var(--grad);color:#07111a;border-bottom-right-radius:5px;font-weight:500;box-shadow:0 8px 22px -10px #818cf88c}.msg.other .msg-body{background:var(--panel-2);border:1px solid var(--brd);color:var(--text);border-bottom-left-radius:5px}.sys{text-align:center;color:var(--faint);align-self:center;max-width:90%;font-size:12.5px}.sys.error{color:var(--bad)}.composer{background:var(--panel);border:1px solid var(--brd);border-radius:var(--r);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:8px;margin-top:auto;padding:10px;display:flex}.resend-btn{cursor:pointer;width:42px;height:42px;color:var(--dim);background:var(--panel-2);border:1px solid var(--brd);border-radius:50%;flex:none;font-size:18px;transition:all .18s}.resend-btn:hover:not(:disabled){color:var(--a2);border-color:var(--a2)}.resend-btn:disabled{opacity:.35;cursor:default}.send-btn{cursor:pointer;font:inherit;color:#06121a;background:var(--grad);border:0;border-radius:999px;flex:none;padding:12px 22px;font-size:15px;font-weight:700;transition:transform .15s;box-shadow:0 8px 22px -8px #818cf88c}.send-btn:hover{transform:translateY(-1px)}.send-btn:active{transform:scale(.96)}.send-btn:disabled{opacity:.5;filter:grayscale(.4);cursor:default;box-shadow:none}@media (max-width:420px){.send-btn{padding:12px 16px}.topbar{gap:7px}}
