@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-arabic-wght-normal-Cafbb7Zc.woff2) format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-ext-wght-normal-tDTa1Fj6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-wght-normal-BFexNX-K.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f6f1e7;--surface: #fffdf8;--surface-2: #efe8da;--ink: #1d1c1a;--ink-2: #4a463f;--muted: #7a7468;--line: #e2d9c8;--accent: #0e6b58;--accent-ink: #ffffff;--accent-soft: #d8ebe4;--warm: #d58a2e;--danger: #b3261e;--shadow: 0 1px 2px rgb(40 30 10 / .06), 0 6px 20px -8px rgb(40 30 10 / .18);--radius: 18px;--radius-sm: 12px;--font: "Vazirmatn Variable", "Vazirmatn", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #14161a;--surface: #1d2026;--surface-2: #262a31;--ink: #f0ece4;--ink-2: #cbc5b9;--muted: #958f84;--line: #2e333b;--accent: #3cbf9d;--accent-ink: #0b1a16;--accent-soft: #173a31;--warm: #e6a24e;--danger: #ff8a80;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px -10px rgb(0 0 0 / .6);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.boot{height:100%}.muted{color:var(--muted)}.small{font-size:13px}.app{height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;max-width:760px;margin:0 auto}.top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:calc(env(safe-area-inset-top) + 10px) 12px 8px}.brand{display:flex;align-items:center;min-width:0;overflow:hidden;white-space:nowrap;gap:8px;font-weight:800;font-size:18px;letter-spacing:0}.brand-dot{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--warm),var(--accent) 70%)}.top-end{display:flex;align-items:center;gap:6px}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--ink-2)}.icon-btn:hover{background:var(--surface-2)}.chip{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;color:var(--muted)}@media(max-width:380px){.chip span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.chip{padding:0 10px}}.chip-on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.chip-denied{color:var(--danger)}.stream{overflow-y:auto;padding:8px 16px 24px;scroll-behavior:smooth;overscroll-behavior:contain}.hero{min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:12px}.hero-greet{font-size:clamp(24px,6.4vw,34px);font-weight:800;line-height:1.35;margin:0 0 4px;text-wrap:balance}.hero-tag{margin:0 0 20px;color:var(--muted)}.suggest{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.suggest button{width:100%;text-align:start;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);color:var(--ink-2);line-height:1.5}.suggest button:hover{border-color:var(--accent);color:var(--ink)}.msg{margin:14px 0}.msg-user{display:flex;justify-content:flex-end;align-items:flex-start;gap:6px}.msg-user p{margin:0;max-width:85%;padding:9px 14px;border-radius:var(--radius) var(--radius) 6px var(--radius);background:var(--ink);color:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere}[dir=rtl] .msg-user p,.msg-user[dir=rtl] p{border-radius:var(--radius) var(--radius) var(--radius) 6px}.msg-spoken{color:var(--muted);margin-top:12px}.msg-assistant{display:flex;flex-direction:column;gap:10px}.bubble{max-width:100%;color:var(--ink);overflow-wrap:anywhere}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:4px 0 8px;padding-inline-start:22px}.md h4{margin:10px 0 4px;font-size:16px}.md code{background:var(--surface-2);padding:1px 6px;border-radius:6px;font-size:.92em}.bubble-thinking{padding:6px 0}.dots{display:inline-flex;gap:5px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dot 1.2s infinite ease-in-out}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.steps{font-size:13.5px;color:var(--muted)}.steps summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:4px 10px;border-radius:999px;background:var(--surface-2)}.steps summary::-webkit-details-marker{display:none}.steps ol{list-style:none;margin:8px 0 0;padding:0 4px;display:grid;gap:4px}.step{display:flex;align-items:center;gap:8px}.step-ok svg{color:var(--accent)}.step-fail{opacity:.6}.step-detail{color:var(--ink-2);font-size:12.5px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:0 6px;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spinner{width:13px;height:13px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.msg-error{display:flex;align-items:center;gap:8px;color:var(--danger);font-size:14px;flex-wrap:wrap}.cards-title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--ink-2)}.card-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.card-head{display:flex;align-items:flex-start;gap:10px}.card-rank{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:13px}.card-titles{display:flex;flex-direction:column;min-width:0;flex:1}.card-title{font-size:16px;line-height:1.5}.card-sub{color:var(--muted);font-size:13.5px;line-height:1.55}.card-dist{flex:none;font-size:13px;color:var(--ink-2);background:var(--surface-2);border-radius:999px;padding:1px 9px}.card-note{margin:8px 0 0;font-size:14px;color:var(--ink-2)}.card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12.5px;color:var(--muted)}.card-meta span{display:inline-flex;align-items:center;gap:4px}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:14.5px;text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--ink-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.06);border-color:var(--accent)}.btn-block{width:100%}.btn-small{min-height:32px;padding:0 10px;font-size:13px}.btn-quiet{border-color:transparent;color:var(--muted)}.btn:disabled{opacity:.5;cursor:default}.action{background:var(--accent-soft);border-radius:var(--radius);padding:12px;display:grid;gap:8px}.action-reason{margin:0;font-size:14px;color:var(--ink-2)}.btn-action{min-height:52px;font-size:16px;background:var(--accent);border-color:var(--accent);color:var(--accent-ink);border-radius:14px}.action-done .btn-action{background:var(--surface);color:var(--accent)}.action-body{margin:0;font-size:13.5px;color:var(--muted)}.dock{padding:4px 12px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(to top,var(--bg) 70%,transparent)}.voice-line{min-height:22px;text-align:center;font-size:13px;color:var(--muted);margin-bottom:4px}.voice-listening,.voice-awake{color:var(--accent);font-weight:600}.hf-hint{display:inline-flex;align-items:center;gap:6px}.composer{display:flex;align-items:center;gap:8px}.field{flex:1;display:flex;align-items:center;min-width:0;height:52px;border-radius:16px;background:var(--surface);border:1px solid var(--line);padding-inline:14px 6px}.field:focus-within{border-color:var(--ink-2)}.field input{flex:1;min-width:0;border:0;outline:0;background:transparent;height:100%}.send{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:var(--bg)}[dir=rtl] .send svg{transform:scaleX(-1)}.hf-toggle{width:44px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line);background:var(--surface)}.hf-toggle.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.orb{--lvl: 0;position:relative;flex:none;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--warm) 85%,#fff) 0%,var(--warm) 22%,var(--accent) 68%);box-shadow:0 6px 18px -6px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 -4px 10px #0000002e;transition:transform .15s ease}.orb:active{transform:scale(.94)}.orb:before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 45%,transparent);opacity:0;transform:scale(1)}.orb-listening:before,.orb-awake:before{opacity:1;transform:scale(calc(1 + var(--lvl) * .45));transition:transform .08s linear}.orb-listening{background:radial-gradient(circle at 32% 28%,#fff4 0%,var(--warm) 30%,#c0501c 80%)}.orb-thinking{animation:breathe 1.6s ease-in-out infinite}.orb-transcribing:after,.orb-thinking:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);animation:spin 1s linear infinite}.orb-speaking{animation:breathe .9s ease-in-out infinite}.orb-static{width:84px;height:84px;display:block;animation:breathe 3s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.orb,.orb:before,.orb:after,.dots i,.spinner{animation:none!important;transition:none!important}}.sheet-backdrop{position:fixed;inset:0;background:#0a0a0859;display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:fade .15s ease}.sheet{width:100%;max-width:560px;max-height:88dvh;display:flex;flex-direction:column;background:var(--bg);border-radius:22px 22px 0 0;box-shadow:var(--shadow);animation:rise .2s ease}@media(min-width:700px){.sheet-backdrop{align-items:center}.sheet{border-radius:22px}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(24px);opacity:0}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px}.sheet-head h2{margin:0;font-size:18px}.sheet-body{overflow-y:auto;padding:8px 16px calc(env(safe-area-inset-bottom) + 20px)}.setting{padding:14px 0;border-bottom:1px solid var(--line)}.setting:last-child{border-bottom:0}.setting h3{margin:0 0 8px;font-size:14px;color:var(--ink-2)}.setting-row{display:flex;flex-wrap:wrap;gap:8px}.seg{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.seg button{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:14px}.seg button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.toggle{display:flex;align-items:center;gap:10px;margin-bottom:12px}.toggle input{width:20px;height:20px;accent-color:var(--accent)}.memories,.caps,.history{list-style:none;margin:0;padding:0;display:grid;gap:6px}.memories li,.history li{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 6px 6px 12px}[dir=rtl] .memories li,[dir=rtl] .history li{padding:6px 12px 6px 6px}.memories li span{flex:1;font-size:14px}.history{margin-top:12px}.history li.current{border-color:var(--accent)}.history-open{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:start}.history-open span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-open time{font-size:12px;color:var(--muted)}.caps li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.caps code{font-size:12px;color:var(--muted)}.token{width:100%;font-family:ui-monospace,monospace;font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);padding:8px;resize:none}.toast{position:fixed;inset-inline:16px;bottom:calc(env(safe-area-inset-bottom) + 96px);margin:0 auto;max-width:480px;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:12px;font-size:14px;text-align:center;z-index:30;animation:rise .2s ease}.join{min-height:100dvh;max-width:420px;margin:0 auto;padding:48px 20px 32px;display:flex;flex-direction:column;justify-content:center}.join-mark{margin-bottom:18px}.join h1{margin:0 0 6px;font-size:28px;line-height:1.3}.join-body{margin:0 0 24px;color:var(--ink-2)}.join form{display:grid;gap:14px}.join label{display:grid;gap:4px;font-size:14px;color:var(--ink-2)}.join input{height:50px;border-radius:14px;border:1px solid var(--line);background:var(--surface);padding:0 14px;font-size:16px}.form-error{margin:0;color:var(--danger);font-size:14px}@media(min-width:700px){.stream{padding-inline:24px}.orb{width:64px;height:64px}}.interim{color:var(--ink);font-weight:500}.hint{margin:-6px 0 12px}
