:root{--bg: #f4f6f8;--surface: #ffffff;--surface-2: #eaf0f4;--ink: #14202b;--muted: #5b6b7a;--line: #d5dee6;--accent: #0b6a8a;--accent-ink: #ffffff;--accent-soft: #e1f0f5;--ok: #2c7a55;--ok-soft: #e3f3ea;--warn: #a66a12;--warn-soft: #fbf0dc;--bad: #a93a3a;--bad-soft: #f8e3e3;--bubble-user: #0b6a8a;--bubble-user-ink: #ffffff;--shadow: 0 1px 2px rgba(20, 32, 43, .06), 0 8px 24px rgba(20, 32, 43, .08);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #0e161d;--surface: #16212b;--surface-2: #1d2a36;--ink: #e7eef4;--muted: #98a8b6;--line: #2a3844;--accent: #62b9d6;--accent-ink: #0e161d;--accent-soft: #14313c;--ok: #6cc59a;--ok-soft: #163126;--warn: #e0b15c;--warn-soft: #3a2c12;--bad: #e88a8a;--bad-soft: #3d1e1e;--bubble-user: #1f6f8b;--bubble-user-ink: #ffffff;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans Arabic,Segoe UI,Tahoma,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{height:100%;display:flex;flex-direction:column;max-width:760px;margin:0 auto;background:var(--bg)}.app>.header,.app>.composer,.app>.banner{flex:none}.app>.messages{flex:1 1 auto;min-height:0}.header{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{display:flex;align-items:center;gap:10px}.brand h1{font-family:Readex Pro,sans-serif;font-weight:700;font-size:20px;margin:0}.dot{width:9px;height:9px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.header .actions{display:flex;gap:6px}.iconbtn{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;width:38px;height:38px;display:grid;place-items:center;font-size:17px}.iconbtn.active{background:var(--accent-soft);border-color:var(--accent)}.messages{overflow-y:auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.msg{display:flex;flex-direction:column;max-width:86%}.msg.user{align-self:flex-start;align-items:flex-start}.msg.assistant{align-self:flex-end;align-items:flex-end}.msg.system{align-self:center;max-width:94%}.bubble{padding:10px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;word-wrap:break-word;box-shadow:var(--shadow)}.msg.user .bubble{background:var(--bubble-user);color:var(--bubble-user-ink);border-color:transparent;border-bottom-right-radius:6px}.msg.assistant .bubble{border-bottom-left-radius:6px}.msg.system .bubble{background:var(--accent-soft);border-color:transparent;font-size:14px}.msg.system .bubble.alert{background:var(--warn-soft)}.msg .time{font-size:11px;color:var(--muted);margin-top:3px;padding:0 6px}.voice-tag{font-size:12px;opacity:.8;margin-bottom:4px}.status{color:var(--muted);font-size:13px;padding:0 8px;display:flex;align-items:center;gap:8px}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.status:before{animation:none}}.action{align-self:stretch;background:var(--surface);border:1px solid var(--warn);border-inline-start-width:5px;border-radius:12px;padding:12px 14px;display:grid;gap:10px;box-shadow:var(--shadow)}.action .k{font-size:12px;color:var(--warn);font-weight:600;letter-spacing:.02em}.action .summary{font-weight:500}.action .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:8px 14px;font-weight:600}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.ok{background:var(--ok);color:#fff;border-color:transparent}.btn.danger{background:var(--bad-soft);color:var(--bad)}.btn:disabled{opacity:.55;cursor:default}.pin{width:120px;letter-spacing:.3em;text-align:center;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--bg);direction:ltr}.err{color:var(--bad);font-size:13px}.composer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:end;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.composer textarea{resize:none;max-height:140px;min-height:44px;border-radius:14px;border:1px solid var(--line);background:var(--bg);padding:10px 14px;line-height:1.5}.mic{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);font-size:18px;display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none}.mic.rec{background:var(--bad);color:#fff;border-color:transparent;animation:pulse 1s infinite}.send{width:44px;height:44px;border-radius:50%;border:none;background:var(--accent);color:var(--accent-ink);font-size:18px;display:grid;place-items:center}.send:disabled{opacity:.4}.rec-hint{grid-column:1 / -1;text-align:center;font-size:13px;color:var(--bad)}.panel{position:fixed;inset:0;background:#00000059;display:grid;align-items:end;z-index:10}.sheet{background:var(--surface);border-radius:18px 18px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));max-height:85vh;overflow-y:auto;max-width:760px;width:100%;margin:0 auto;display:grid;gap:14px}.sheet h2{font-family:Readex Pro,sans-serif;font-size:18px;margin:0;display:flex;justify-content:space-between;align-items:center}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.tile{background:var(--surface-2);border-radius:10px;padding:10px 12px}.tile .k{font-size:12px;color:var(--muted)}.tile .v{font-weight:700;font-variant-numeric:tabular-nums}.list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.list li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--surface-2);border-radius:8px;font-size:14px}.list li .m{color:var(--muted);font-size:12.5px}.bar{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent)}.setting{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.setting:last-child{border-bottom:0}.setting .d{font-size:13px;color:var(--muted)}.field{display:grid;gap:6px}.field input{border-radius:10px;border:1px solid var(--line);background:var(--bg);padding:10px 12px}.login{height:100%;display:grid;place-items:center;padding:24px}.login form{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:grid;gap:14px;box-shadow:var(--shadow)}.login h1{font-family:Readex Pro,sans-serif;margin:0;font-size:26px}.login p{margin:0;color:var(--muted);font-size:14px}.login .pin{width:100%;font-size:22px;padding:12px}.empty{text-align:center;color:var(--muted);margin:40px 16px;font-size:15px}.empty b{display:block;color:var(--ink);font-family:Readex Pro,sans-serif;font-size:20px;margin-bottom:6px}.chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:13px}.banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--accent-soft);font-size:14px}html{-webkit-text-size-adjust:100%}@media(max-width:640px){body{font-size:17.5px;line-height:1.75}.header{padding:calc(12px + env(safe-area-inset-top)) 16px 12px}.brand h1{font-size:24px}.dot{width:11px;height:11px}.header .actions{gap:8px}.iconbtn{width:46px;height:46px;font-size:22px;border-radius:12px}.messages{padding:16px 14px 10px;gap:12px}.msg{max-width:90%}.bubble{padding:12px 16px;border-radius:18px;font-size:17.5px}.msg.system .bubble{font-size:15.5px}.msg .time{font-size:12.5px}.voice-tag{font-size:13.5px}.status{font-size:15px}.empty{margin:36px 12px;font-size:17px}.empty b{font-size:24px;margin-bottom:10px}.chips{gap:8px;margin-top:16px}.chip{font-size:15.5px;padding:9px 15px}.action{padding:14px 16px;gap:12px;border-radius:14px}.action .k{font-size:13.5px}.action .summary{font-size:17.5px}.btn{padding:12px 18px;font-size:16.5px;border-radius:12px;min-height:46px}.pin{width:140px;padding:11px 12px;font-size:20px;border-radius:12px}.err{font-size:15px}.composer{grid-template-columns:50px minmax(0,1fr) 50px;gap:10px;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.composer textarea{min-height:50px;max-height:180px;font-size:17.5px;padding:12px 16px;border-radius:16px}.mic,.send{width:50px;height:50px;font-size:22px}.rec-hint{font-size:15px}.sheet{padding:18px 16px calc(24px + env(safe-area-inset-bottom));gap:16px;max-height:88vh}.sheet h2{font-size:21px}.sheet h3{font-size:17px!important}.tiles{grid-template-columns:repeat(2,1fr);gap:10px}.tile{padding:12px 14px;border-radius:12px}.tile .k{font-size:13.5px}.tile .v{font-size:18.5px}.list li{font-size:16px;padding:11px 12px;border-radius:10px}.list li .m{font-size:14px}.bar{height:10px}.setting{padding:13px 0;gap:14px}.setting>div:first-child{min-width:0}.setting .d{font-size:14.5px;line-height:1.5}.field input{padding:12px 14px;font-size:17px;border-radius:12px}.field label{font-size:15.5px;color:var(--muted)}.login{padding:20px 16px;align-items:start;padding-top:calc(48px + env(safe-area-inset-top))}.login form{padding:26px 22px;gap:16px;border-radius:20px}.login h1{font-size:34px}.login p{font-size:16px}.login .pin{font-size:26px;padding:14px}.banner{margin:10px 12px 0;padding:12px 14px;font-size:15.5px;border-radius:14px}}
