@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Variable.woff2) format("woff2 supports variations"),url(/fonts/Vazirmatn-Variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg: #ffffff;--bg-2: #f4f5f7;--text: #14161a;--text-2: #5b6270;--border: #e2e5ea;--accent: #2f6feb;--success: #1a8a45;--danger: #cf3222;--radius: 16px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1115;--bg-2: #171a21;--text: #eef1f5;--text-2: #98a1b0;--border: #262b34;--accent: #5a8cf5;--success: #35b56a;--danger: #e5584a}}:root[data-theme=dark]{--bg: #0f1115;--bg-2: #171a21;--text: #eef1f5;--text-2: #98a1b0;--border: #262b34;--accent: #5a8cf5;--success: #35b56a;--danger: #e5584a}*{box-sizing:border-box}html,body,#root{block-size:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Vazirmatn,Tahoma,Arial,sans-serif;font-size:max(16px,1rem);-webkit-tap-highlight-color:transparent}.ltr{direction:ltr;unicode-bidi:isolate}.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.screen{display:flex;flex-direction:column;min-block-size:100dvh;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));gap:1rem;max-inline-size:30rem;margin-inline:auto}.logo{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--accent);margin-block:2rem 1rem}.logo-text{font-size:1.5rem;font-weight:700;color:var(--text)}.login{justify-content:center}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-2)}input{inline-size:100%;min-block-size:48px;padding:0 .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text);font:inherit}input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.link{background:none;border:0;color:var(--accent);font:inherit;cursor:pointer;padding:.5rem}.hint{color:var(--text-2);font-size:.85rem;text-align:center;line-height:1.7}.btn{min-block-size:56px;border:0;border-radius:var(--radius);font:inherit;font-weight:600;cursor:pointer;background:var(--bg-2);color:var(--text)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary,.btn.call{background:var(--accent);color:#fff}.btn.answer{background:var(--success);color:#fff}.btn.hangup{background:var(--danger);color:#fff}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text-2)}.status-bar{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-2)}.dot{inline-size:9px;block-size:9px;border-radius:50%;background:var(--text-2);flex:none}.dot.on{background:var(--success)}.dot.bad{background:var(--danger)}.status-text{flex:1}.ext{color:var(--text);font-weight:600}.number-display{display:flex;align-items:center;justify-content:center;gap:.5rem;min-block-size:3.5rem;font-size:2rem;font-weight:600;overflow-x:auto;white-space:nowrap}.backspace{background:none;border:0;color:var(--text-2);font-size:1.5rem;cursor:pointer;padding:.25rem .5rem}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.key{min-block-size:68px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text);font:inherit;font-size:1.6rem;cursor:pointer}.key:active{background:var(--border)}.quick-row{display:flex;gap:.75rem}.quick-row .btn{flex:1;min-block-size:48px;font-weight:500}.call{justify-content:space-between;text-align:center}.peer{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-block-start:3rem}.avatar{inline-size:88px;block-size:88px;border-radius:50%;background:var(--bg-2);color:var(--accent);display:grid;place-items:center;font-size:2.4rem;font-weight:700}.peer-name{margin:.5rem 0 0;font-size:1.5rem}.peer-number{margin:0;color:var(--text-2)}.call-state{margin:.25rem 0 0;color:var(--text-2);font-variant-numeric:tabular-nums}.call.ringing .avatar{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.call.ringing .avatar{animation:none}}.call-tools{display:flex;gap:.75rem}.tool{flex:1;min-block-size:48px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-2);font:inherit;cursor:pointer}.tool.active{background:var(--bg-2);color:var(--text);border-color:var(--accent)}.keypad.in-call .key{min-block-size:54px;font-size:1.3rem}.call-actions{display:flex;gap:.75rem}.call-actions .btn{flex:1}.call-tools{flex-wrap:wrap}.tool{flex:1 1 30%;min-inline-size:92px}.consult{border:1px solid var(--accent);border-radius:var(--radius);padding:.9rem;display:grid;gap:.5rem}.consult-title{margin:0;font-weight:600}.consult-state{margin:0;color:var(--text-2);font-size:.9rem}.consult-actions{display:flex;gap:.75rem}.consult-actions .btn{flex:1}.panel{border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;display:grid;gap:.75rem}.panel-title{margin:0;font-weight:600}.panel-field{display:grid;gap:.4rem}.panel-field span{font-size:.9rem;color:var(--text-2)}.panel-field input,.new-thread input,.composer input{min-block-size:48px;padding-inline:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text);font:inherit;font-size:max(16px,1rem);inline-size:100%;min-inline-size:0}.panel-field input:focus-visible,.new-thread input:focus-visible,.composer input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.panel-actions{display:flex;gap:.75rem}.panel-actions .btn{flex:1}.panel-hint{margin:0;font-size:.82rem;color:var(--text-2);line-height:1.7}.output-list{display:grid;gap:.5rem}.output{min-block-size:48px;padding-inline:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;text-align:start;cursor:pointer}.output.active{border-color:var(--accent);background:var(--bg-2)}.screen.messages{display:grid;grid-template-rows:auto auto 1fr auto;gap:1rem}.new-thread{display:flex;gap:.6rem}.new-thread input{flex:1}.new-thread .btn{inline-size:auto;padding-inline:1rem;white-space:nowrap}.thread-list{display:grid;gap:.5rem;align-content:start;overflow-y:auto}.thread-row{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;text-align:start;cursor:pointer}.thread-peer{font-weight:600}.thread-last{color:var(--text-2);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-inline-size:0}.thread-time{color:var(--text-2);font-size:.8rem}.bubbles{display:grid;gap:.5rem;align-content:start;overflow-y:auto}.bubble{max-inline-size:80%;padding:.6rem .8rem;border-radius:var(--radius);background:var(--bg-2)}.bubble.out{justify-self:start;background:var(--accent);color:#fff}.bubble.in{justify-self:end}.bubble-text{margin:0;overflow-wrap:anywhere;line-height:1.8}.bubble-meta{margin:.3rem 0 0;font-size:.72rem;opacity:.75}.bubble-meta .failed{color:var(--danger);font-weight:600}.bubble.out .bubble-meta .failed{color:#ffd9d4}.composer{display:flex;gap:.6rem}.composer input{flex:1}.composer .btn{inline-size:auto;padding-inline:1.2rem}.empty{color:var(--text-2);text-align:center;margin:2rem 0}.badge{display:inline-block;margin-inline-start:.4rem;padding:.05rem .45rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.75rem}.update-bar{position:sticky;inset-block-start:0;z-index:20;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:var(--accent);color:#fff;font-size:.9rem}.update-install{border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:.35rem .9rem;background:transparent;color:#fff;font:inherit;font-size:.85rem;cursor:pointer}.update-install:hover{background:#ffffff26}.update-wait{opacity:.85;font-size:.82rem}.quick-row{display:flex;flex-wrap:wrap;gap:.6rem}.quick-row .btn{flex:1 1 40%;min-inline-size:0}.btn.ghost.on{border-color:var(--accent);color:var(--text)}.output-row{display:flex;gap:.5rem;align-items:stretch}.output-row .output{flex:1}.output-row .play{inline-size:auto;padding-inline:.9rem;min-block-size:48px}.screen.history{display:grid;grid-template-rows:auto 1fr;gap:1rem}.log-list{display:grid;gap:.4rem;align-content:start;overflow-y:auto}.log-row{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;text-align:start;cursor:pointer}.log-row:hover{border-color:var(--accent)}.log-mark{font-size:1.1rem;line-height:1;color:var(--success)}.log-mark.outgoing{color:var(--accent)}.log-mark.missed{color:var(--danger)}.log-main{display:grid;gap:.15rem;min-inline-size:0}.log-peer{font-weight:600}.log-peer.missed{color:var(--danger)}.log-when{font-size:.8rem;color:var(--text-2)}.log-duration{font-size:.82rem;color:var(--text-2);white-space:nowrap}.link.danger{color:var(--danger)}.boost-row{display:grid;gap:.5rem}.boost-label{font-size:.9rem;color:var(--text-2)}.boost-steps{display:flex;gap:.5rem}.boost-steps .output{flex:1;text-align:center}
