/* مترجم لاجورد — طراحی
   رنگ اصلی: آبی لاجورد؛ رنگ دوم: طلایی (رگه‌های طلایی سنگ لاجورد) */
:root{
  color-scheme:light;
  --bg:#F2F4FA; --surface:#FFFFFF; --sunk:#EAEEF7; --ink:#111A2E; --muted:#5B6782; --line:#DCE2EE;
  --accent:#1E3A8A; --accent-2:#2F54C8; --accent-ink:#FFFFFF; --accent-soft:#E4EAFB;
  --gold:#B7810F; --gold-soft:#FCF1D6; --gold-line:#E0A21B;
  --ok:#1C7A4B; --ok-soft:#DDF3E7; --bad:#B42318; --bad-soft:#FDE6E4;
  --shadow:0 1px 2px rgba(17,26,46,.05),0 10px 30px rgba(17,26,46,.07);
  --radius:18px;
  --fa:"Vazirmatn",system-ui,"Segoe UI",Tahoma,sans-serif;
  --src:"Source Serif 4","Noto Serif",Georgia,"Songti SC","Hiragino Mincho ProN","Yu Mincho",serif;
  --ts:1;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --bg:#0A0F1E; --surface:#121A2F; --sunk:#18223B; --ink:#E8EDF7; --muted:#9AA6C0; --line:#243052;
  --accent:#8FA8FF; --accent-2:#B3C4FF; --accent-ink:#0A0F1E; --accent-soft:#1B2A52;
  --gold:#EBC063; --gold-soft:#3A2E14; --gold-line:#EBC063;
  --ok:#6FD6A0; --ok-soft:#14352A; --bad:#FF8F85; --bad-soft:#40201D;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.3);
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0A0F1E; --surface:#121A2F; --sunk:#18223B; --ink:#E8EDF7; --muted:#9AA6C0; --line:#243052;
  --accent:#8FA8FF; --accent-2:#B3C4FF; --accent-ink:#0A0F1E; --accent-soft:#1B2A52;
  --gold:#EBC063; --gold-soft:#3A2E14; --gold-line:#EBC063;
  --ok:#6FD6A0; --ok-soft:#14352A; --bad:#FF8F85; --bad-soft:#40201D;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.3);
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fa);font-size:15px;line-height:1.7;-webkit-tap-highlight-color:transparent}
button,select,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------- نوار بالا ---------------- */
.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:color-mix(in srgb,var(--bg) 86%,transparent);
  backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.brand{display:flex;align-items:center;gap:11px;min-width:0}
.mark{position:relative;width:40px;height:40px;flex:none;border-radius:12px;background:linear-gradient(145deg,#2F54C8,#1E3A8A 60%,#162C6B);display:grid;place-items:center;box-shadow:0 4px 12px rgba(30,58,138,.35)}
.mark span{color:#fff;font-weight:800;font-size:21px;line-height:1}
.mark i{position:absolute;width:6px;height:6px;border-radius:50%;background:#F2C14E;top:8px;left:8px;box-shadow:14px 18px 0 -1px #E0A21B}
.brand-t{min-width:0}
.brand h1{margin:0;font-size:18px;font-weight:800;letter-spacing:0;line-height:1.3}
.brand p{margin:0;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iconbtn{width:42px;height:42px;flex:none;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.iconbtn:hover{border-color:var(--accent-2)}

/* ---------------- چیدمان ---------------- */
.wrap{max-width:1280px;margin-inline:auto;padding-inline:16px;padding-block:14px 28px}
.layout{display:grid;gap:14px;grid-template-columns:1fr}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
.card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}
.card-h h2{margin:0;font-size:15px;font-weight:700;flex:1}
.p-set{padding:14px}
.tabs{display:none}

/* کامپیوتر: ستون راست ورودی + عکس، ستون چپ نتیجه */
@media (min-width:980px){
  .layout{grid-template-columns:minmax(340px,5fr) minmax(0,7fr);grid-template-areas:"set res" "img res";align-items:start}
  .p-set{grid-area:set}
  .p-res{grid-area:res;min-height:60vh}
  .p-img{grid-area:img;position:sticky;top:78px}
}
/* گوشی و تبلت: تب «متن و ترجمه» / «عکس» */
@media (max-width:979px){
  .tabs{display:flex;gap:6px;background:var(--sunk);border-radius:14px;padding:4px;position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:15}
  .tabs button{flex:1;border:0;background:transparent;padding:9px 8px;border-radius:11px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer}
  .tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
  body:not(.tab-img) .p-img{display:none}
  body.tab-img .p-res{display:none}
}

/* ---------------- ورودی ---------------- */
.langbar{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.pill{display:block;position:relative}
.pill select{width:100%;appearance:none;-webkit-appearance:none;background:var(--sunk);border:1px solid var(--line);border-radius:14px;padding:11px 14px;padding-inline-end:32px;font-weight:600;font-size:15px;cursor:pointer}
.pill::after{content:"▾";position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;font-size:12px}
.swap{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:18px;display:grid;place-items:center}
.swap:hover{border-color:var(--accent-2);color:var(--accent)}

.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.mode{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:9px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:18px;line-height:1.3;transition:border-color .15s,background .15s}
.mode b{font-size:13.5px}
.mode small{font-size:11px;color:var(--muted)}
.mode[aria-checked="true"]{border-color:var(--accent);background:var(--accent-soft)}
.mode[aria-checked="true"] b{color:var(--accent)}

.actions4{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.act{display:flex;flex-direction:column;align-items:flex-start;gap:0;text-align:start;border:1px solid var(--line);background:var(--sunk);border-radius:16px;padding:12px 14px;cursor:pointer;min-height:84px;transition:transform .1s,border-color .15s,background .15s}
.act:hover{border-color:var(--accent-2)}
.act:active{transform:scale(.98)}
.act .ai{font-size:22px;line-height:1.2}
.act b{font-size:14.5px;margin-top:2px}
.act small{font-size:11.5px;color:var(--muted)}
.act.primary{background:linear-gradient(145deg,#2F54C8,#1E3A8A);border-color:transparent;color:#fff}
.act.primary small{color:rgba(255,255,255,.8)}
.act.over{border-color:var(--accent);background:var(--accent-soft)}

.txtbox{margin-top:12px;display:flex;flex-direction:column;gap:8px}
textarea{width:100%;min-height:130px;resize:vertical;background:var(--sunk);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.8}
.runrow{display:flex;align-items:center;gap:8px;margin-top:12px}
.fname{flex:1;min-width:0;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.banner{font-size:13px;background:var(--gold-soft);color:var(--gold);border-radius:12px;padding:10px 12px;margin-top:10px;line-height:1.7}

/* ---------------- دکمه‌ها ---------------- */
.btn{font-size:14px;font-weight:600;border-radius:12px;padding:9px 14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.btn:hover{border-color:var(--accent-2)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}
.btn.sm{font-size:12.5px;padding:6px 10px;border-radius:10px;font-weight:500}
.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}
.btn.ghost:hover{color:var(--ink);background:var(--sunk)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.seg{display:inline-flex;background:var(--sunk);border-radius:11px;padding:3px;gap:2px}
.seg button{border:0;background:transparent;color:var(--muted);padding:5px 10px;border-radius:8px;font-size:12.5px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer}
.check input{accent-color:var(--accent);width:16px;height:16px}
.sp{flex:1}

/* ---------------- وضعیت ---------------- */
.status{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.steps{display:flex;gap:6px;flex-wrap:wrap}
.st{font-size:12px;padding:2px 10px;border-radius:999px;background:var(--sunk);color:var(--muted);border:1px solid var(--line)}
.st.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
.st.done{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.st.on::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-inline-end:6px;animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.25}}
.msg{font-size:13px;color:var(--muted);margin:0}
.msg.err{color:var(--bad)}
.sample-tag{font-size:11.5px;background:var(--gold-soft);color:var(--gold);border-radius:999px;padding:1px 9px}

/* ---------------- نتیجهٔ سریع (نمای یادگیری) ---------------- */
.fastbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line)}
.fastout{padding:6px 16px 16px;min-height:120px}
.fastout p{margin:0 0 10px;white-space:pre-wrap}
.keys{background:var(--accent-soft);border-radius:14px;padding:10px 14px;margin:10px 0 4px}
.keys h4{margin:0 0 4px;color:var(--accent);font-size:calc(14px * var(--ts));font-weight:800}
.keys ul{margin:0;padding-inline-start:20px}
.keys li,.keys p{font-size:calc(15px * var(--ts));margin:2px 0}
.pair{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px;scroll-margin:140px;transition:background .2s}
.pair:last-child{border-bottom:0}
.pair .o{font-family:var(--src);font-size:calc(21px * var(--ts));line-height:1.6;font-weight:600;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}
.pair .t{font-size:calc(16.5px * var(--ts));line-height:1.95;color:var(--ink);opacity:.88;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;border-inline-start:3px solid var(--accent-soft);padding-inline-start:10px}
.pair .acts{display:flex;gap:2px;flex-wrap:wrap}
.pair .acts .btn{padding:4px 8px;font-size:12px}
.pair.on{background:var(--gold-soft);border-radius:12px;box-shadow:0 0 0 8px var(--gold-soft)}
.fv-src .pair .t,.fv-src .pair .acts .b-t{display:none}
.fv-tr .pair .o,.fv-tr .pair .acts .b-o{display:none}
.fv-tr .pair .t{opacity:1;border-inline-start:0;padding-inline-start:0}
.caret{display:inline-block;width:8px;height:1.1em;background:var(--accent);vertical-align:text-bottom;animation:pulse 1s infinite;margin-inline-start:2px}

/* نوار پخش */
.player{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 var(--radius) var(--radius)}
.pgroup{display:flex;align-items:center;gap:4px;background:var(--sunk);border-radius:12px;padding:3px 3px 3px 4px}
.pgroup span{font-size:12.5px;font-weight:700;padding-inline:8px 2px}
.lbl-src{color:var(--accent)}
.lbl-tr{color:var(--muted)}
.pbtn{min-width:38px;height:36px;border-radius:10px;border:0;background:var(--surface);cursor:pointer;font-size:15px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.pbtn:hover{color:var(--accent)}
.pbtn.wide{padding-inline:12px;font-size:13px;margin-inline-start:auto}
@media (max-width:979px){
  /* روی گوشی، نوار پخش پایین صفحه می‌چسبد */
  .player{position:sticky;bottom:0;z-index:12;border-radius:16px 16px 0 0;box-shadow:0 -6px 20px rgba(0,0,0,.08);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .fast-mode{overflow:visible}
}

/* ---------------- حالت دقیق ---------------- */
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);padding:10px 16px;border-bottom:1px solid var(--line)}
.meta b{color:var(--ink);font-weight:600}
.toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line)}
.blocks{display:flex;flex-direction:column}
.blk{padding:14px 16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.blk:last-child{border-bottom:0}
.blk.on{background:var(--gold-soft)}
.only-tr .blk{grid-template-columns:1fr}
.only-tr .src{display:none}
@media (max-width:700px){.blk{grid-template-columns:1fr}}
.bh{grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kind{font-size:11.5px;color:var(--muted)}
.conf{font-size:11px;border-radius:999px;padding:1px 8px}
.conf.high{background:var(--ok-soft);color:var(--ok)}
.conf.medium{background:var(--accent-soft);color:var(--accent)}
.conf.low{background:var(--gold-soft);color:var(--gold)}
.bh .sp{flex:1}
.src,.tr{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;padding:6px 8px;margin-inline:-8px}
.src{font-family:var(--src);color:var(--ink);font-weight:600;font-size:calc(17px * var(--ts));line-height:1.7}
.src[contenteditable=true]{background:var(--sunk)}
.tr{font-size:calc(16px * var(--ts));line-height:1.9}
.k-heading .tr,.k-heading .src{font-weight:700;font-size:calc(18px * var(--ts))}
.note{grid-column:1/-1;font-size:12.5px;color:var(--gold);background:var(--gold-soft);border-radius:10px;padding:6px 10px}
.joined{padding:16px;font-size:calc(16px * var(--ts));line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}
.joined p{margin:0 0 12px}
.terms{padding:12px 16px}
.terms:empty{display:none}
.terms h3{margin:0 0 8px;font-size:14px}
.tt{width:100%;border-collapse:collapse;font-size:13px}
.tt td,.tt th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.tt th{color:var(--muted);font-weight:500;font-size:12px}
.tt .s{font-family:var(--src)}
.changes{margin:0;padding-inline-start:18px;font-size:13px;color:var(--muted)}
.empty{padding:40px 20px;text-align:center;color:var(--muted)}
.fast-mode .blocks,.fast-mode .terms,.fast-mode .meta,.fast-mode .toolbar,.fast-mode .joined{display:none}

/* ---------------- عکس ---------------- */
.zoombar{display:flex;align-items:center;gap:2px}
.zoombar output{font-size:12px;min-width:44px;text-align:center;direction:ltr;font-variant-numeric:tabular-nums}
.viewer{position:relative;max-height:min(72vh,720px);overflow:auto;background:repeating-conic-gradient(var(--sunk) 0 25%,var(--surface) 0 50%) 0 0/18px 18px;border-radius:0 0 var(--radius) var(--radius);-webkit-overflow-scrolling:touch}
@media (max-width:979px){.viewer{max-height:calc(100vh - 190px)}}
.stage{position:relative;margin:auto}
.stage img{display:block;width:100%;max-width:none;height:auto;user-select:none}
.ov{position:absolute;inset:0}
.hl{position:absolute;border:2px solid color-mix(in srgb,var(--accent-2) 70%,transparent);background:color-mix(in srgb,var(--accent-2) 8%,transparent);border-radius:6px;cursor:pointer;transition:background .15s,box-shadow .15s}
.hl:hover{background:color-mix(in srgb,var(--accent-2) 18%,transparent)}
.hl.on{border-color:var(--gold-line);background:rgba(255,196,0,.22);box-shadow:0 0 0 3px rgba(255,196,0,.35)}

/* ---------------- تنظیمات (برگهٔ پایین/کناری) ---------------- */
.sheet{border:0;padding:0;background:var(--surface);color:var(--ink);width:min(560px,100%);max-height:88vh;border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.sheet::backdrop{background:rgba(8,12,24,.5);backdrop-filter:blur(2px)}
@media (max-width:640px){
  .sheet{margin:auto 0 0;width:100%;max-width:100%;max-height:90vh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
}
.sheet-h{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
.sheet-h h2{margin:0;font-size:17px}
.sheet-b{padding:6px 16px 20px;overflow:auto}
.sec{border-bottom:1px solid var(--line);padding:12px 0}
.sec:last-child{border-bottom:0}
.sec summary{cursor:pointer;font-weight:700;font-size:14.5px;list-style-position:inside}
.sec.plain{display:flex;flex-direction:column;gap:10px}
.sec p{font-size:12.5px;color:var(--muted);margin:6px 0}
.sec a{color:var(--accent)}
label.f{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);font-weight:500}
label.f select,input[type=text],input[type=password]{width:100%;background:var(--sunk);border:1px solid var(--line);border-radius:11px;padding:9px 11px;font-size:14px;color:var(--ink)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:460px){.row2{grid-template-columns:1fr}}
.tip{font-size:12.5px;color:var(--muted);margin:0}
.engines{display:grid;gap:8px;margin-top:10px}
.eng{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer}
.eng:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.eng input{accent-color:var(--accent);margin-top:5px}
.eng b{display:block;font-size:14px}
.eng small{display:block;font-size:12px;color:var(--muted)}
.engbox{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.engbox p{margin:0}
.glform{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}
.keyf{grid-template-columns:1fr auto}
.glist{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;background:var(--sunk);border:1px solid var(--line);border-radius:999px;padding:3px 6px 3px 10px}
.chip button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px}
.pulls{display:flex;flex-direction:column;gap:8px}
.pull{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.pull .pn{flex:1;min-width:160px;font-size:13px}
.pull .pn small{display:block;color:var(--muted);font-size:12px}
.pull progress{width:100%;accent-color:var(--accent)}
.ok-dot,.off-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-inline-end:6px}
.ok-dot{background:var(--ok)}.off-dot{background:var(--bad)}
.voicebox{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}

/* ---------------- پیام کوتاه ---------------- */
.toast{position:fixed;inset-inline:0;bottom:calc(84px + env(safe-area-inset-bottom,0px));margin:auto;width:max-content;max-width:calc(100% - 32px);background:var(--ink);color:var(--bg);font-size:13.5px;padding:9px 16px;border-radius:12px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:50;text-align:center;white-space:pre-line}
.toast.show{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* بعد از اولین نتیجه روی گوشی: بخش ورودی جمع‌وجور می‌شود */
@media (max-width:979px){
  body.has-result .actions4{grid-template-columns:repeat(4,1fr);gap:6px}
  body.has-result .act{min-height:0;align-items:center;text-align:center;padding:8px 4px;border-radius:12px}
  body.has-result .act small{display:none}
  body.has-result .act .ai{font-size:18px}
  body.has-result .act b{font-size:11.5px;font-weight:600}
  body.has-result .modes .mode small{display:none}
  body.has-result .modes .mode{padding:6px 4px;flex-direction:row;justify-content:center;gap:4px;font-size:14px}
  body.has-result .runrow{margin-top:8px}
  .player{gap:6px;padding-inline:8px}
  .pgroup span{padding-inline:6px 0;font-size:12px}
  .pbtn{min-width:36px;height:36px}
  .pbtn.wide{padding-inline:10px}
}
.player{flex-wrap:nowrap}
.pgroup{flex:none}

.p-res{scroll-margin-top:130px}
.mode b,.pbtn,.act b{white-space:nowrap}
@media (max-width:979px){ body.has-result .mode b{font-size:12.5px} }

/* ================= نسخهٔ ۱.۱: نوار شناور بالا، عکس شناور، برجسته‌سازی ================= */
/* دکمه‌های سریع در نوار بالا (بعد از اولین نتیجه) */
.quick{display:none;gap:6px;margin-inline-start:auto}
body.has-result .quick{display:flex}
.iconbtn.q{font-size:18px;text-decoration:none}
.iconbtn.q[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent)}
@media (min-width:980px){ #lensToggle{display:none} }
.appbar{gap:8px}

/* نوار خواندن و کپی: شناور در بالای صفحه */
.dock{position:sticky;top:calc(66px + env(safe-area-inset-top,0px));z-index:12;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 8px 18px -12px rgba(0,0,0,.25)}
.dock .player{position:static;border:0;border-radius:0;box-shadow:none;padding:8px 12px}
@media (max-width:979px){
  .dock{top:calc(118px + env(safe-area-inset-top,0px))}
  .dock .player{padding-bottom:8px}
}
/* ذره‌بین */
.lens{position:relative;display:flex;justify-content:center;background:var(--sunk);border-top:1px solid var(--line);padding:6px}
.lens canvas{display:block;max-width:100%;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);background:#fff}
.lens-x{position:absolute;top:6px;inset-inline-end:6px;width:28px;height:28px;border-radius:50%;border:0;background:color-mix(in srgb,var(--surface) 85%,transparent);cursor:pointer;font-size:13px}
@media (min-width:980px){ .lens{display:none!important} }

/* برجسته‌سازی روی عکس: مثل ماژیک زرد، و بقیهٔ عکس کمی تیره */
.hl.on{background:rgba(255,212,0,.38);mix-blend-mode:multiply;border-color:#E0A21B;box-shadow:0 0 0 3px rgba(255,196,0,.45)}
.ov.spot .hl.on{box-shadow:0 0 0 3px rgba(255,196,0,.55),0 0 0 9999px rgba(8,12,24,.38);mix-blend-mode:normal;background:rgba(255,212,0,.22)}
.ov.spot .hl:not(.on){opacity:.35}

/* کامپیوتر: بعد از نتیجه بخش ورودی جمع‌وجور و عکس بالا و شناور */
body.has-result .actions4{grid-template-columns:repeat(4,1fr);gap:6px}
body.has-result .act{min-height:0;align-items:center;text-align:center;padding:8px 4px;border-radius:12px}
body.has-result .act small{display:none}
body.has-result .act .ai{font-size:18px}
body.has-result .act b{font-size:12px;font-weight:600}
body.has-result .modes .mode small{display:none}
body.has-result .modes .mode{padding:6px 4px;flex-direction:row;justify-content:center;gap:4px;font-size:14px}
@media (min-width:980px){
  .p-img{position:sticky;top:76px;align-self:start}
  .viewer{max-height:calc(100vh - 150px)}
  body.has-result .layout{grid-template-areas:"img res" "set res"}
  body.has-result .p-set{padding:10px}
}
@media (max-width:979px){
  body.has-result .brand p{display:none}
  body.has-result .brand h1{font-size:16px;white-space:nowrap}
  body.has-result .mark{width:36px;height:36px}
  .brand h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:360px){ body.has-result .brand-t{display:none} }

/* ================= نسخهٔ ۱.۲ ================= */
.modes{grid-template-columns:repeat(4,1fr)}
.mode small{font-size:10.5px}
@media (max-width:420px){ .mode b{font-size:12.5px} .mode{padding:8px 3px} }
/* حالت «فقط متن اصلی»: بخش‌های ترجمه پنهان */
.no-tr .pgroup.tr-g,.no-tr #fastDeep,.no-tr .fastbar .seg,.no-tr #fastCopyAll{display:none}

/* نوار شناور هر پاراگراف (همان‌جا که لمس می‌کنید) */
.pair{position:relative;cursor:pointer}
.pair .acts{display:none}
.pairpop{position:absolute;inset-inline-start:0;z-index:9;display:flex;gap:2px;flex-wrap:wrap;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px;box-shadow:0 10px 28px rgba(10,15,30,.22);
  max-width:100%;animation:popin .14s ease-out}
.pairpop button{border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:600;padding:7px 10px;border-radius:10px;cursor:pointer;white-space:nowrap}
.pairpop button:hover,.pairpop button:active{background:var(--accent-soft);color:var(--accent)}
.pairpop .b-o{color:var(--accent)}
.pairpop .b-x{color:var(--muted);font-weight:400;padding-inline:8px}
.fv-src .pairpop .b-t,.fv-tr .pairpop .b-o{display:none}
@keyframes popin{from{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:none}}
@media (min-width:980px){ .pairpop .b-loc{display:none} }
.modes{grid-template-columns:repeat(4,minmax(0,1fr))}
.mode{min-width:0;overflow:hidden}
.mode b{max-width:100%;overflow:hidden;text-overflow:ellipsis}
body.has-result .modes .mode{font-size:13px;gap:3px;padding:6px 2px}
body.has-result .modes .mode b{font-size:12px}
.no-tr .fastbar{display:none}
body.has-result .modes .mode{font-size:12px}
.mode .me{font-style:normal}
@media (max-width:979px){ body.has-result .mode .me{display:none} }

/* ================= نسخهٔ ۱.۳ — کامپیوتر: نوار ابزار باریک بالای صفحه ================= */
@media (min-width:980px){
  .layout,body.has-result .layout{grid-template-columns:minmax(360px,5fr) minmax(0,7fr);grid-template-areas:"set set" "img res"}
  .p-set,body.has-result .p-set{grid-area:set;position:sticky;top:66px;z-index:14;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:16px}
  .p-set .langbar{width:340px;flex:none;gap:6px}
  .p-set .pill select{padding:7px 12px;padding-inline-end:28px;font-size:13.5px;border-radius:11px}
  .p-set .pill::after{inset-inline-end:10px}
  .p-set .swap{width:34px;height:34px;font-size:15px}
  .p-set .modes,body.has-result .p-set .modes{display:flex;margin-top:0;gap:4px}
  .p-set .mode,body.has-result .p-set .mode{flex-direction:row;align-items:center;gap:5px;padding:6px 10px;border-radius:11px;font-size:14px}
  .p-set .mode small{display:none}
  .p-set .mode b,body.has-result .p-set .mode b{font-size:12.5px}
  .p-set .actions4,body.has-result .p-set .actions4{display:flex;margin-top:0;gap:4px}
  .p-set .act,body.has-result .p-set .act{flex-direction:row;align-items:center;gap:6px;min-height:0;padding:6px 11px;border-radius:11px;text-align:start}
  .p-set .act small{display:none}
  .p-set .act .ai,body.has-result .p-set .act .ai{font-size:15px}
  .p-set .act b,body.has-result .p-set .act b{font-size:12.5px;margin-top:0}
  .p-set .runrow{margin-top:0;margin-inline-start:auto;gap:4px}
  .p-set .fname{max-width:170px;font-size:12px}
  .p-set .txtbox,.p-set .banner{flex-basis:100%;margin-top:4px}
  .p-set .txtbox{flex-direction:row;align-items:flex-end}
  .p-set .txtbox textarea{min-height:90px}
  .p-img{top:140px}
  .viewer{max-height:calc(100vh - 215px)}
  .dock{top:140px}
  body.has-result .quick{display:none}
}
@media (min-width:980px){
  .p-set .fname{display:none}
  .p-set .langbar{width:290px}
  .p-set{flex-wrap:nowrap}
  .p-set:has(.txtbox:not([hidden])),.p-set:has(.banner:not([hidden])){flex-wrap:wrap}
}
@media (min-width:980px) and (max-width:1250px){
  .p-set .mode .me{display:none}
  .p-set .act b{font-size:12px}
  .p-set .langbar{width:250px}
}

/* ---------- چند صفحه ---------- */
.pager{margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--sunk)}
.pgrow{display:flex;align-items:center;gap:10px}
.pgnav{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;color:inherit}
.pgnav:disabled{opacity:.35;cursor:default}
[dir="rtl"] .pgnav .arr{display:inline-block;transform:scaleX(-1)}
.pgmid{flex:1;min-width:0;text-align:center}
.pgmid small{color:var(--muted)}
.pglabel{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;unicode-bidi:plaintext}
.pgdots{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;justify-content:center;max-height:72px;overflow:auto}
.pgdot{min-width:26px;height:22px;padding:0 5px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font-size:11.5px;cursor:pointer;color:var(--muted)}
.pgdot.s-done{background:color-mix(in srgb,#16a34a 16%,var(--surface));border-color:color-mix(in srgb,#16a34a 45%,var(--line));color:inherit}
.pgdot.s-run,.pgdot.s-prep{background:color-mix(in srgb,#F2C14E 30%,var(--surface));border-color:#E0A21B;color:inherit}
.pgdot.s-err{background:color-mix(in srgb,#dc2626 14%,var(--surface));border-color:#dc2626}
.pgdot.cur{outline:2px solid var(--accent,#1E3A8A);outline-offset:1px;font-weight:700}
.pgacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;justify-content:center}
.pgmid small{margin-inline-start:6px}
@media (max-width:600px){
  .pager{padding:8px 10px}
  .pgacts{margin-top:6px;gap:5px}
  .pgacts .btn{padding:6px 10px;font-size:15px}
  .pgacts .pgt{display:none}
}
/* عکس کوچک هر صفحه */
.pgdots{max-height:none;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding:4px 2px 6px;scroll-snap-type:x proximity}
.pgdot.thumb{position:relative;flex:none;width:52px;height:66px;min-width:0;padding:0;border-radius:9px;overflow:hidden;border-width:2px;scroll-snap-align:center;background:var(--surface)}
.pgdot.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pgdot.thumb .pgico{display:grid;place-items:center;height:100%;font-size:15px;font-weight:700;color:var(--muted)}
.pgdot.thumb .pgnum{position:absolute;bottom:2px;inset-inline-start:2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:rgba(15,23,42,.78);color:#fff;font-size:11px;line-height:18px;text-align:center}
.pgdot.thumb.s-done .pgnum{background:#16a34a}
.pgdot.thumb.cur{outline:3px solid var(--accent);outline-offset:1px}

/* ---------- پس‌زمینه: منظرهٔ بدخشان (فقط صفحه‌های روشن) ---------- */
:root{--bg-photo:image-set(url("../img/badakhshan.webp") type("image/webp"), url("../img/badakhshan.jpg") type("image/jpeg"))}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg-photo:none}}
:root[data-theme="dark"]{--bg-photo:none}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(242,244,250,0) 0%,rgba(242,244,250,.12) 55%,rgba(242,244,250,.45) 100%),
    var(--bg-photo) center 62%/cover no-repeat;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) body::before{display:none}}
:root[data-theme="dark"] body::before{display:none}
/* کارت‌ها کمی شفاف تا منظره از پشتشان پیدا باشد (فقط حالت روشن) */
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]) .card,:root:not([data-theme="dark"]) .tabs{background:rgba(255,255,255,.80);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1)}
  :root:not([data-theme="dark"]) .appbar{background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
}
:root[data-theme="light"] .card,:root[data-theme="light"] .tabs{background:rgba(255,255,255,.80);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}

/* ======== ۱.۶: گفت‌وگو، زیرنویس زنده، دفتر واژه‌ها، تاریخچه، ذخیره ======== */
.appbar #openVocab,.appbar #openHistory{font-size:19px}
.appbar #openVocab{margin-inline-start:auto}
.actions2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.act2{flex-direction:row;align-items:center;gap:10px;min-height:0;padding:10px 12px;background:linear-gradient(135deg,var(--accent-soft),var(--sunk))}
.act2 b{display:block}.act2 small{display:block}
body.has-result .actions2 .act small{display:none}
body.has-result .actions2{gap:6px;margin-top:6px}
body.has-result .actions2 .act{padding:7px 10px;justify-content:center}
body.has-result .actions2 .act b{font-size:12.5px}
@media (min-width:980px){
  .p-set .actions2{display:flex;margin-top:0;gap:6px}
  .p-set .actions2 .act{padding:6px 10px;border-radius:11px;flex-direction:row;gap:6px}
  .p-set .actions2 .act small{display:none}
  .p-set .actions2 .act .ai{font-size:16px}
  .p-set .actions2 .act b{font-size:13px;margin:0}
}
.mediaplayer{width:100%;margin:4px 0 10px}
.muted{color:var(--muted)}.small{font-size:12.5px}.center{text-align:center;display:block}
.dlgacts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.sheet .seg{margin:6px 0}

/* تاریخچه */
.hlist{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.hrow{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:var(--sunk)}
.hrow:hover{border-color:var(--accent-2)}
.hthumb{width:52px;height:52px;flex:none;border-radius:10px;overflow:hidden;background:var(--surface);display:grid;place-items:center;font-size:22px}
.hthumb img{width:100%;height:100%;object-fit:cover}
.hmid{flex:1;min-width:0;display:flex;flex-direction:column}
.hmid b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hmid small{color:var(--muted);font-size:11.5px}
.hfirst{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iconbtn.sm{width:32px;height:32px;border-radius:9px;font-size:14px}

/* دفتر واژه‌ها و کارت تمرین */
.vlist{display:flex;flex-direction:column;gap:6px}
.vrow{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--sunk)}
.vmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.vw b{font-family:var(--src);font-size:16px}
.vt{font-weight:600;color:var(--accent)}
.vnote,.vctx{color:var(--muted);font-size:12px}
.vctx{font-family:var(--src);font-style:italic}
.fcard{position:relative;margin:10px 0;padding:28px 18px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,var(--surface),var(--accent-soft));text-align:center;min-height:170px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.fcard>.iconbtn{position:absolute;top:10px;inset-inline-start:10px}
.ffront b{font-family:var(--src);font-size:26px;display:block}
.ffront small,.fback small{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.fback{border-top:1px dashed var(--line);padding-top:10px}
.fback b{font-size:22px;color:var(--accent)}
.facts{display:flex;gap:8px;justify-content:center}
.selfab{position:absolute;z-index:60;border:0;border-radius:999px;padding:7px 14px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:13px;box-shadow:var(--shadow);cursor:pointer}

/* ذخیره */
.exgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0}
.exgrid .act{align-items:center;text-align:center;min-height:96px}

/* راهنمای کلید */
.khsteps{padding-inline-start:20px;line-height:1.9;margin:8px 0 14px}
.khform{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.khform input{flex:1 1 220px;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--sunk)}
#khBtn{margin:4px 0 8px}

/* گفت‌وگوی صوتی */
#talkDlg .sheet-b,#liveDlg .sheet-b{display:flex;flex-direction:column;gap:8px}
.talklog{flex:1;min-height:180px;max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:8px 2px}
.bub{align-self:flex-start;max-width:88%;padding:10px 12px;border-radius:16px;background:var(--accent-soft);border-start-start-radius:4px}
.bub.other{align-self:flex-end;background:var(--gold-soft);border-start-start-radius:16px;border-start-end-radius:4px}
.tsrc{font-family:var(--src);font-size:14px;color:var(--muted)}
.ttr{font-size:17px;font-weight:600;line-height:1.6}
.bacts{display:flex;gap:6px;margin-top:4px}
.talkctl{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--line)}
.micbtn{width:84px;height:84px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);font-size:36px;cursor:pointer;box-shadow:0 8px 24px rgba(30,58,138,.35);transition:transform .15s}
.micbtn.on{background:#dc2626;animation:pulse 1.2s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.level{width:100%;height:5px;border-radius:5px;background:var(--sunk);overflow:hidden}
.level i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#F2C14E);transform-origin:left center;transform:scaleX(.03);transition:transform .1s}
[dir="rtl"] .level i{transform-origin:right center}
.tstatus{margin:0;color:var(--muted);font-size:13px;text-align:center;min-height:1.4em}

/* زیرنویس زنده */
.liverow{display:flex;gap:8px;align-items:center}
.liverow .pill{flex:1}
.btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}
.livenow{min-height:96px;padding:14px;border-radius:16px;background:#0A0F1E;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}
.livenow .lsrc{font-family:var(--src);opacity:.85;font-size:15px;white-space:pre-line}
.livenow .ltr{font-size:20px;font-weight:600;line-height:1.55}
.livelog{max-height:32vh;overflow:auto;display:flex;flex-direction:column;gap:8px}
.lrow{padding:6px 10px;border-inline-start:3px solid var(--gold-line);background:var(--sunk);border-radius:8px}
.lrow .lsrc{font-family:var(--src);font-size:13.5px;color:var(--muted)}
.lrow .ltr{font-size:14.5px}
.actions2{grid-template-columns:repeat(2,minmax(0,1fr))}
.act2{min-width:0}.act2>span:not(.ai){min-width:0}
.act2 b,.act2 small{overflow-wrap:anywhere}
@media (max-width:600px){
  .appbar .iconbtn{width:36px;height:36px;border-radius:10px}
  .appbar .quick .iconbtn{display:none}
  .appbar .quick #lensToggle{display:grid}
  body.has-result .appbar .brand-t p{display:none}
}
.a2t{display:flex;flex-direction:column;min-width:0}
.recchk{padding:8px 10px;border-radius:12px;background:var(--gold-soft);border:1px solid var(--gold-line)}
.recchk b{color:#dc2626;margin-inline-start:auto}
@media (max-width:600px){
  .dock .pbtn{min-width:32px;height:34px}
  .dock .pbtn.wide{padding-inline:8px;font-size:12px}
  .pgroup span{padding-inline:4px 0;font-size:11.5px}
}
.dock{flex-wrap:wrap;row-gap:6px}
.dock .player.fastbar2{flex-wrap:wrap;row-gap:6px}
@media (max-width:600px){ .dock .player.fastbar2 .pbtn.wide{margin-inline-start:0} }
#liveDurWrap{flex:0 0 96px}
.liverow{flex-wrap:wrap}
.liverow #liveStart{flex:1 0 100%}
@media (min-width:600px){ .liverow #liveStart{flex:0 0 auto} }

/* ======== آیکون‌های یک‌دست ======== */
.ic{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;display:inline-block}
.act .ai{color:var(--accent);line-height:1}
.act .ai .ic{width:24px;height:24px}
.act.primary .ai{color:inherit}
.mode .me{color:var(--accent);font-style:normal}
.pbtn .ic{width:18px;height:18px}
.iconbtn .ic{width:20px;height:20px}
.appbar .iconbtn{color:var(--accent)}
.btn .ic{margin-inline-end:4px}
.tabs .ic{margin-inline-end:6px}

/* گوشی: فقط آیکون، بدون نوشته (جای کمتر) */
@media (max-width:600px){
  .actrow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:10px}
  .actrow .actions4,.actrow .actions2{display:contents}
  .actions4 .act,.actions2 .act,body.has-result .actions4 .act,body.has-result .actions2 .act{min-height:52px;padding:10px 4px;align-items:center;justify-content:center;text-align:center;flex-direction:column}
  .actions4 .act b,.actions4 .act small,.actions2 .act .a2t,body.has-result .actions4 .act b{display:none}
  .actions4 .act .ai,.actions2 .act .ai{font-size:24px}
  .modes .mode b,.modes .mode small{display:none}
  .modes .mode .me,body.has-result .modes .mode .me{display:inline-flex!important}
  .modes .mode .me .ic{width:22px;height:22px}
  .modes .mode{padding:8px 4px!important;justify-content:center}
  .tabs button{font-size:0!important}
  .tabs button .ic{width:22px;height:22px;margin:0}
  .pgacts .btn{font-size:0}
  .pgacts .btn .ic{width:18px;height:18px;margin:0}
}
@media (min-width:980px){
  .p-set .actrow{display:flex;gap:6px;align-items:center;margin:0}
  .p-set .act .ai .ic{width:18px;height:18px}
}

.bgrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}

.lacts{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.lbtn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:2px 8px;font-size:12px;cursor:pointer;color:var(--accent);display:inline-flex;align-items:center;gap:3px}
.lrow.on{background:var(--accent-soft);border-inline-start-color:var(--accent)}

.appver{text-align:center;font-size:11px;color:var(--muted,#888);padding:6px 0 10px;opacity:.7}
.lrow .ltr.wait::before{content:"…";opacity:.5}
.lrow .lfix{font-size:12.5px;color:var(--accent);opacity:.85;margin:2px 0}
.lsep{text-align:center;font-size:11px;color:var(--muted,#888);margin:8px 0;border-top:1px dashed var(--line);padding-top:4px}
.lrow.acc .lsrc::after{content:" ✓";color:var(--accent);font-size:11px}

/* ================= صفحهٔ اول (۲٫۰) ================= */
body.view-home main.wrap{display:none}
body:not(.view-home) #home{display:none}
.home{max-width:1280px;margin-inline:auto;padding:22px 16px 32px}
.home-in{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:980px){.home-in{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.home{padding:32px 28px 40px}}
.home-main{display:flex;flex-direction:column;gap:18px;min-width:0}
.home-langs{display:flex;align-items:center;gap:8px;align-self:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 6px;box-shadow:var(--shadow)}
.hl-pill select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font-weight:700;font-size:16px;padding:8px 14px;border-radius:999px;cursor:pointer;color:var(--ink);min-height:44px;text-align:center}
.hl-pill select:hover{background:var(--sunk)}
.hl-swap{width:44px;height:44px;border-radius:50%;border:0;background:var(--accent-soft);color:var(--accent);cursor:pointer;display:grid;place-items:center;font-size:18px}
.home-hello h2{margin:0;font-size:28px;font-weight:800;line-height:1.35}
.home-hello p{margin:4px 0 0;color:var(--muted);font-size:15px}
.home-hello .resume{margin-top:10px}
.home-cam{display:none}
.home-drop{display:flex;align-items:center;gap:22px;justify-content:center;min-height:140px;border:2px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:20px;background:var(--surface);padding:18px 22px;cursor:pointer;transition:.15s}
.home-drop:hover,.home-drop.over{border-color:var(--accent);background:var(--accent-soft)}
.hd-ico{font-size:40px;color:var(--accent);display:grid;place-items:center}
.hd-ico .ic{width:42px;height:42px}
.hd-t{display:flex;flex-direction:column;gap:2px}
.hd-t b{font-size:18px}.hd-t small{color:var(--muted);font-size:13.5px}
.hd-btn{pointer-events:none}
.home-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;min-height:124px;padding:18px;border-radius:18px;border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:start;color:var(--ink);box-shadow:var(--shadow);transition:transform .12s,border-color .12s}
.tile:hover{border-color:var(--accent-2);transform:translateY(-1px)}
.tile .ti{width:46px;height:46px;border-radius:13px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:22px}
.tile .ti .ic{width:23px;height:23px}
.tile .tt{display:flex;flex-direction:column;gap:2px}
.tile b{font-size:16.5px;font-weight:700}
.tile small{font-size:13px;color:var(--muted)}
#hCall small{color:var(--gold)}
.home-side{display:flex;flex-direction:column;gap:16px}
.hs-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow)}
.hs-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.hs-h h3{margin:0;font-size:16px}
.linkbtn{border:0;background:none;color:var(--accent);cursor:pointer;font-size:13.5px;padding:8px}
.hs-recent{display:flex;flex-direction:column;gap:4px}
.hs-row{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:8px;border-radius:12px;cursor:pointer;text-align:start;color:var(--ink);min-height:56px}
.hs-row:hover{background:var(--sunk)}
.hs-th{width:48px;height:48px;border-radius:10px;background:var(--sunk);flex:none;display:grid;place-items:center;overflow:hidden;font-size:11px;color:var(--muted)}
.hs-th img{width:100%;height:100%;object-fit:cover}
.hs-mid{display:flex;flex-direction:column;min-width:0}
.hs-mid b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-mid small{font-size:12px;color:var(--muted)}
.hs-empty{margin:4px 0;color:var(--muted);font-size:14px}
.hs-word{background:var(--accent);color:var(--accent-ink);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow)}
.hw-k{font-size:12.5px;opacity:.8}
.hw-w{font-family:var(--src);font-size:26px;line-height:1.3}
.hw-t{font-size:17px}
.hw-c{font-family:var(--src);font-size:14px;opacity:.85}
.hw-b{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.hs-word .btn{background:var(--surface);color:var(--accent);border-color:transparent}
.hs-word .btn.ghost{background:transparent;color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent-ink) 45%,transparent)}
.backhome{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--accent-soft);color:var(--accent);font-weight:700;border-radius:12px;padding:8px 14px;min-height:40px;cursor:pointer;margin-bottom:10px}
@media (min-width:980px){ .p-set .backhome{margin-bottom:0} }
/* کارهای «گفت‌وگو» و «زیرنویس» در صفحهٔ اول‌اند؛ در صفحهٔ کار جا نمی‌گیرند */
body:not(.view-home) .actions2{display:none}

/* ---------- گوشی ---------- */
.botnav{display:none}
@media (max-width:979px){
  .home{padding:14px 16px 24px}
  .home-hello h2{font-size:22px}
  .home-hello p{display:none}
  .home-langs{align-self:stretch;justify-content:space-between}
  .hl-pill{flex:1}.hl-pill select{width:100%}
  .home-cam{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;border-radius:22px;background:var(--accent);color:var(--accent-ink);cursor:pointer;box-shadow:0 8px 24px rgba(30,58,138,.28)}
  .hc-ico{font-size:40px;line-height:1}
  .home-cam b{font-size:19px}.home-cam small{font-size:13px;opacity:.82}
  .home-drop{display:none}
  .home-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tile.t-cam{display:none}
  .tile{min-height:104px;padding:14px;gap:10px}
  .tile small{display:none}
  .tile b{font-size:15px}
  .botnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;inset-inline:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
  .botnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:62px;border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}
  .botnav button .bi{font-size:20px;line-height:1;display:grid;place-items:center}
  .botnav button .bi .ic{width:22px;height:22px}
  .botnav button.on{color:var(--accent);font-weight:700}
  .botnav button.on::before{content:"";width:24px;height:3px;border-radius:2px;background:var(--accent);margin-bottom:4px}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .appbar #openVocab,.appbar #openHistory,.appbar #openSettings{display:none}
}
@media (max-width:979px){
  .home-tiles{grid-auto-rows:auto}
  #hCall{grid-column:span 2;flex-direction:row;align-items:center;justify-content:flex-start;min-height:72px;gap:14px}
  #hCall small{display:block}
}
.bub.acc .tsrc::after{content:" ✓";color:var(--accent);font-size:11px}

/* ================= پیام‌رسان خانوادگی ================= */
body.view-chat #home,body.view-chat main.wrap{display:none!important}
body:not(.view-chat) #chat{display:none}
.chat{max-width:760px;margin-inline:auto;padding:12px 16px 24px;display:flex;flex-direction:column;gap:12px}
.ch-head{display:flex;align-items:center;gap:12px}
.ch-head .iconbtn{font-size:22px}
.ch-ht{display:flex;flex-direction:column;min-width:0;flex:1}
.ch-ht h2{margin:0;font-size:20px}
.ch-ht small{color:var(--muted);font-size:12px}
.ch-net{font-size:12px;color:var(--bad);background:var(--bad-soft);padding:3px 10px;border-radius:9px}
.ch-panel{display:flex;flex-direction:column;gap:12px}
.ch-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.ch-card h3{margin:0;font-size:17px}
.ch-card p{margin:0;color:var(--muted);font-size:14px}
.ch-card .f{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.ch-card input,.ch-card select{min-height:46px;border-radius:12px;border:1px solid var(--line);background:var(--sunk);padding:0 12px;font-size:16px;width:100%}
.ch-big{min-height:50px;font-size:16px}
.ch-or{text-align:center}
.ch-join{display:flex;gap:8px}
.ch-join input{flex:1;min-width:0}
.ch-msg{color:var(--muted);font-size:14px;margin:0}
.ch-people{padding:6px}
.chp{display:flex;align-items:center;gap:6px;padding:4px}
.chp+.chp{border-top:1px solid var(--line)}
.chp-main{flex:1;display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:8px;border-radius:12px;cursor:pointer;text-align:start;min-width:0;color:var(--ink)}
.chp-main:hover{background:var(--sunk)}
.chp-av{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:800;flex:none}
.chp-mid{display:flex;flex-direction:column;min-width:0;flex:1}
.chp-mid b{font-size:15px}
.chp-mid small{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chp-badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;font-size:12px;padding:0 6px}
.chp-call{width:44px;height:44px;border-radius:50%;border:0;background:var(--ok-soft);color:var(--ok);cursor:pointer;display:grid;place-items:center;flex:none}
.ch-leave{align-self:center;color:var(--muted)}
.ch-conv{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;gap:0;height:calc(100dvh - 150px);min-height:420px}
.ch-convh{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}
.ch-convh .iconbtn{border:0;background:var(--sunk);color:var(--accent)}
.ch-msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.cm{align-self:flex-start;max-width:82%;background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 16px 6px;padding:8px 12px;display:flex;flex-direction:column;gap:4px}
.cm.mine{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-color:transparent;border-radius:16px 16px 6px 16px}
.cm-who{font-size:12px;font-weight:700;color:var(--accent)}
.cm-main{font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}
.cm-orig{font-size:12.5px;opacity:.75;font-family:var(--src);white-space:pre-wrap}
.cm-time{font-size:10.5px;opacity:.65;align-self:flex-end}
.cm-img{max-width:240px;max-height:260px;border-radius:10px;display:block}
.cm-audio{max-width:240px;height:40px}
.cm-act{border:0;background:var(--accent-soft);color:var(--accent);border-radius:9px;padding:5px 10px;font-size:12.5px;cursor:pointer;align-self:flex-start}
.cm.mine .cm-act{background:rgba(255,255,255,.18);color:inherit}
.ch-compose{display:flex;align-items:center;gap:6px;padding:8px;border-top:1px solid var(--line);background:var(--surface)}
.ch-compose input[type=text]{flex:1;min-width:0;min-height:46px;border-radius:23px;border:1px solid var(--line);background:var(--sunk);padding:0 14px;font-size:15px}
.ch-compose .iconbtn{border:0;background:var(--sunk);color:var(--accent)}
.ch-compose .iconbtn.send{background:var(--accent);color:var(--accent-ink)}
#chMic.on{background:var(--bad);color:#fff;animation:pulse 1.2s infinite}
@media (max-width:979px){ .ch-conv{height:calc(100dvh - 210px)} }

.callview{position:fixed;inset:0;z-index:80;background:#0B1226;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:calc(24px + env(safe-area-inset-top,0px)) 16px calc(28px + env(safe-area-inset-bottom,0px))}
.cv-remote{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cv-local{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));inset-inline-start:16px;width:110px;height:150px;object-fit:cover;border-radius:14px;z-index:2;border:2px solid rgba(255,255,255,.4)}
.cv-top,.cv-subs,.cv-btns{position:relative;z-index:1}
.cv-top{display:flex;flex-direction:column;align-items:center;gap:6px;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.cv-av{width:86px;height:86px;border-radius:50%;background:#22409A;display:grid;place-items:center;font-size:28px}
.cv-top b{font-size:21px}.cv-top small{color:#C9D4F2}
.cv-subs{width:100%;max-width:640px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;margin-top:auto;margin-bottom:16px;max-height:45vh;overflow:hidden}
.csub.hint{font-size:14px;color:#C9D4F2;text-align:center}
/* تماس تصویری: نام کوچک بالا، زیرنویس ترجمه پایین روی تصویر */
.callview:has(.cv-remote:not([hidden])) .cv-av{display:none}
.callview:has(.cv-remote:not([hidden])) .csub{background:rgba(0,0,0,.62)}
.callview:has(.cv-remote:not([hidden])) .cs-tr{font-size:20px;text-shadow:0 1px 3px #000}
.csub{background:rgba(10,15,30,.72);border-radius:14px;padding:10px 12px}
.cs-src{font-size:13px;color:#B9C4E4;font-family:var(--src)}
.cs-tr{font-size:18px;font-weight:600;line-height:1.6}
.cv-btns,.ring-btns{display:flex;gap:22px;justify-content:center}
.cvb{width:64px;height:64px;border-radius:50%;border:0;background:#1D2852;color:#fff;cursor:pointer;display:grid;place-items:center;font-size:24px}
.cvb .ic{width:26px;height:26px}
.cvb.on{background:#2F54C8}
#cMute.on{background:#B42318}
.cvb.end{background:#C0392B}
.cvb.end .ic{transform:rotate(135deg)}
.cvb.ok{background:#1E7A45}
.ringdlg{position:fixed;inset:0;z-index:90;background:rgba(5,10,25,.88);display:grid;place-items:center}
.ring-in{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;font-size:20px}
.ring-in .cv-av{animation:pulse 1.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(47,84,200,.6)}70%{box-shadow:0 0 0 18px rgba(47,84,200,0)}100%{box-shadow:0 0 0 0 rgba(47,84,200,0)}}
.cm{position:relative}
.cm-more{position:absolute;top:2px;inset-inline-end:2px;width:28px;height:24px;border:0;background:transparent;color:inherit;opacity:.55;cursor:pointer;font-size:16px;line-height:1;border-radius:8px}
.cm-more:hover{opacity:1;background:rgba(127,127,127,.15)}
.cm.mine .cm-more{inset-inline-end:auto;inset-inline-start:2px}
.cm{padding-inline-end:28px}
.cm.mine{padding-inline-end:12px;padding-inline-start:28px}
.cm-menu{position:absolute;top:28px;inset-inline-end:4px;z-index:5;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:170px;overflow:hidden}
.cm.mine .cm-menu{inset-inline-end:auto;inset-inline-start:4px}
.cm-menu button{border:0;background:transparent;text-align:start;padding:11px 14px;cursor:pointer;font-size:14px;color:var(--ink);display:flex;align-items:center;gap:8px;min-height:44px}
.cm-menu button:hover{background:var(--sunk)}
.cm-menu button.danger{color:var(--bad)}

/* تماس: برچسب دکمه‌ها، زبان ترجمه، نشانگر صدا */
.cvw{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12.5px;color:#C9D4F2;min-width:72px}
.cv-to{position:relative;z-index:1;display:flex;align-items:center;gap:8px;font-size:13px;color:#C9D4F2;margin-bottom:12px;background:rgba(0,0,0,.35);padding:6px 12px;border-radius:999px}
.cv-to select{background:#1D2852;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:5px 8px;font:inherit}
.cs-lvl{height:4px;background:rgba(255,255,255,.15);border-radius:4px;margin-top:8px;overflow:hidden}
.cs-lvl i{display:block;height:100%;width:0;background:#5BD38A;transition:width .15s}
.cs-tr.err{font-size:14px;color:#FFB4A8;font-weight:500}
.callview .cs-tr.err{font-size:14px;text-shadow:none}
.csub.hint{padding:6px 12px}

/* حذف کنار هر پیام و کنار هر عضو */
.cm-row{display:flex;align-items:center;gap:4px;max-width:88%;align-self:flex-start}
.cm-row.mine{flex-direction:row-reverse;align-self:flex-end}
.cm-row .cm{max-width:none;min-width:0;align-self:auto}
.cm-del{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;opacity:.65}
.cm-del:hover{opacity:1;background:var(--sunk);color:var(--bad)}
.cm-del .ic{width:17px;height:17px}
.chp-call.chp-del{background:var(--sunk);color:var(--muted)}
.chp-call.chp-del:hover{color:var(--bad)}
.ch-big{white-space:normal;height:auto;min-height:48px;padding:10px 14px;line-height:1.5}
/* تصویر خودم مثل آینه (فقط روی صفحهٔ خودم؛ برای طرف مقابل درست می‌رود) */
.cv-local{transform:scaleX(-1)}

/* تماس گروهی */
.cv-grid{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(46%,320px),1fr));grid-auto-rows:1fr;gap:6px;padding:calc(110px + env(safe-area-inset-top,0px)) 6px calc(260px + env(safe-area-inset-bottom,0px));pointer-events:none}
.cvt{position:relative;background:#16204A;border-radius:14px;overflow:hidden;display:grid;place-items:center;min-height:120px}
.cvt video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.cvt.has-video video{opacity:1}
.cvt-av{width:64px;height:64px;border-radius:50%;background:#22409A;display:grid;place-items:center;font-size:24px}
.cvt-name{position:absolute;bottom:6px;inset-inline-start:8px;font-size:13px;background:rgba(0,0,0,.55);padding:2px 8px;border-radius:8px}
.callview.group .cv-top .cv-av{display:none}

/* ===== صفحهٔ نتیجه — طرح ۲.۴ (مثل طرح تأییدشده: هر جمله یک کارت، دکمه‌های کم‌رنگ پایین کارت) ===== */
.p-res .blocks{gap:10px;padding:12px}
.p-res .blk{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;border-bottom:1px solid var(--line);box-shadow:0 1px 2px rgba(17,26,51,.04)}
.p-res .blk:last-child{border-bottom:1px solid var(--line)}
.p-res .blk.on{border:2px solid #D4A72C;background:var(--gold-soft)}
.p-res .blk .src{font-weight:500;color:var(--ink)}
.p-res .blk .tr{font-weight:500}
.p-res .blk .bh{order:3;padding-top:8px;margin-top:2px;border-top:1px dashed var(--line);gap:4px;opacity:.85}
.p-res .blk .bh button{font-size:12px;padding:4px 9px;min-height:32px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--accent)}
.p-res .blk .bh button:hover{background:var(--accent-soft)}
.p-res .blk .note{order:4}
.p-res .toolbar{gap:8px;padding:10px 14px}
.p-res .toolbar .seg{background:var(--sunk);border-radius:12px;padding:4px}
.p-res .toolbar .seg button{border-radius:9px;min-height:36px}
.p-res .toolbar #readAll{background:var(--accent);color:#fff;border-color:transparent}
.p-res .meta{gap:4px 14px}
.p-res .card-h h2{font-size:16px}
@media (max-width:979px){
  /* گوشی: روی صفحهٔ نتیجه، دکمه‌های انتخاب منبع پنهان (از «خانه» در دسترس‌اند)؛ صفحه خلوت‌تر */
  body.has-result:not(.view-home) .p-set .actrow,
  body.has-result:not(.view-home) .p-set .runrow{display:none}
  .p-res .blocks{padding:10px 8px}
  .p-res .blk{padding:12px 14px}
  .p-res .toolbar{padding:8px 10px}
  .p-res .toolbar .btn.sm{min-height:38px}
}
@media (prefers-color-scheme:dark){ .p-res .toolbar #readAll{color:#0B1020} }
/* زیرنویس تماس: کوچک‌تر و جمع‌وجورتر تا تصویر دیده شود */
.callview .csub{padding:7px 11px;border-radius:12px}
.callview .cs-src{font-size:12px}
.callview .cs-tr,.callview:has(.cv-remote:not([hidden])) .cs-tr{font-size:15.5px;line-height:1.55}
.callview .csub.hint{font-size:12px;padding:5px 10px}
.callview .cs-tr.err{font-size:12.5px}
.callview .cv-subs{max-height:34vh;gap:6px;margin-bottom:10px}
.callview .cv-to{font-size:12px;padding:4px 10px;margin-bottom:8px}
.callview .cvb{width:56px;height:56px}
