/* =============================================================================
   hz-corpus — floating «🗣️ به هرمزجان بندری یاد بده» + contribute sheet + global bits (expert badge, translator
   memory token/badge). Uses base.css tokens with fallbacks. Prefix hzc-.
   ========================================================================== */

/* ---------- floating button (bottom-left = inline-end in RTL) ---------- */
.hzc-fab{--hzc-lift:0px;position:fixed;left:max(18px,env(safe-area-inset-left));bottom:calc(18px + var(--hzc-lift) + env(safe-area-inset-bottom));z-index:85;display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:8px 20px 8px 16px;border:1px solid rgba(242,212,138,.55);border-radius:999px;background:linear-gradient(135deg,var(--hz-navy,#0A1F3D) 0%,#123663 60%,var(--hz-teal-deep,#16687A) 140%);color:#FFF4D8;font:inherit;font-weight:800;font-size:14.5px;line-height:1.3;cursor:pointer;box-shadow:0 14px 34px -12px rgba(10,31,61,.65),0 0 0 4px rgba(227,168,82,.16);transform:translateY(24px);opacity:0;transition:transform .45s var(--hz-ease,cubic-bezier(.2,.8,.2,1)),opacity .45s,box-shadow .25s,background .25s}
.hzc-fab.is-in{transform:none;opacity:1}
.hzc-fab:hover{box-shadow:0 18px 40px -12px rgba(10,31,61,.75),0 0 0 5px rgba(227,168,82,.28)}
.hzc-fab:focus-visible{outline:3px solid var(--hz-gold,#E3A852);outline-offset:3px}
.hzc-fab__ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,#F7DE9C,#E3A852 60%,#C58E38);font-size:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5);animation:hzc-wave 2.6s 1.2s ease-in-out 2}
.hzc-fab__s{display:none}
.hzc-fab.is-compact{padding:9px}
.hzc-fab.is-compact .hzc-fab__t,.hzc-fab.is-compact .hzc-fab__s{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes hzc-wave{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}}
@media (max-width:640px){
  .hzc-fab{left:max(12px,env(safe-area-inset-left));bottom:calc(14px + var(--hzc-lift) + env(safe-area-inset-bottom));min-height:44px;padding:5px 14px 5px 6px;font-size:13.5px;gap:7px}
  .hzc-fab__ic{width:32px;height:32px;font-size:16px}
  .hzc-fab__t{display:none}
  .hzc-fab__s{display:inline}
  .hzc-fab.is-compact{padding:6px}
}
@media print{.hzc-fab,.hzc-modal{display:none!important}}

/* ---------- modal / sheet ---------- */
html.hzc-locked{overflow:hidden}
.hzc-modal{position:fixed;inset:0;z-index:115;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.hzc-modal[hidden]{display:none}
.hzc-modal__scrim{position:absolute;inset:0;background:rgba(4,9,20,.58);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity .25s}
.hzc-modal.is-open .hzc-modal__scrim{opacity:1}
.hzc-sheet{position:relative;display:flex;flex-direction:column;width:min(640px,100%);max-height:min(88vh,860px);border-radius:26px;background:var(--hz-paper,#FFF8EC);color:var(--hz-ink,#1A1F2E);box-shadow:0 40px 90px -30px rgba(0,0,0,.6);overflow:hidden;transform:translateY(18px) scale(.98);opacity:0;transition:transform .32s var(--hz-ease,cubic-bezier(.2,.8,.2,1)),opacity .25s;outline:none}
.hzc-modal.is-open .hzc-sheet{transform:none;opacity:1}
.hzc-sheet::before{content:"";display:block;height:7px;flex:none;background:var(--hz-band) center/auto 100%,linear-gradient(90deg,#B5183A,#E3A852,#1F7F90)}
.hzc-sheet__head{display:flex;gap:12px;align-items:flex-start;padding:16px 20px 10px;flex:none}
.hzc-sheet__grab{display:none}
.hzc-sheet__ttl{flex:1;min-width:0}
.hzc-sheet__ttl h2{margin:0;font-size:20px;font-weight:900;color:var(--hz-navy,#0A1F3D);line-height:1.5}
.hzc-sheet__ttl p{margin:4px 0 0;font-size:13.5px;line-height:1.85;color:var(--hz-muted,#76716A)}
.hzc-x{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--hz-line,#EADCC2);background:var(--hz-card,#FFFDF8);color:var(--hz-ink-2,#46505F);cursor:pointer}
.hzc-x:hover{background:var(--hz-bg-2,#F3E8D2)}
.hzc-tabs{display:flex;gap:4px;margin:0 20px;padding:5px;border-radius:999px;background:var(--hz-bg-2,#F3E8D2);border:1px solid var(--hz-line,#EADCC2);overflow-x:auto;scrollbar-width:none;flex:none}
.hzc-tabs::-webkit-scrollbar{display:none}
.hzc-tabs [role=tab]{flex:1 0 auto;min-height:40px;padding:0 14px;border:0;border-radius:999px;background:none;font:inherit;font-weight:800;font-size:14px;color:var(--hz-ink-2,#46505F);white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .2s,color .2s,box-shadow .2s}
.hzc-tabs [role=tab][aria-selected=true]{background:#fff;color:var(--hz-navy,#0A1F3D);box-shadow:0 2px 8px -2px rgba(70,44,10,.25)}
.hzc-tabs__n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--hz-crimson,#B5183A);color:#fff;font-size:12px}
.hzc-tabs__n[hidden]{display:none}
.hzc-sheet__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px 22px;-webkit-overflow-scrolling:touch}
.hzc-panel[hidden],.hzc-done[hidden]{display:none}
.hzc-f{display:flex;flex-direction:column;gap:5px;margin:0 0 12px;min-width:0}
.hzc-f>span{font-size:13.5px;font-weight:700;color:var(--hz-ink-2,#46505F)}
.hzc-f textarea,.hzc-f input,.hzc-f select{width:100%;min-width:0}
.hzc-f textarea{resize:vertical;min-height:62px;font-size:16px;line-height:1.9}
.hzc-f--bnd textarea{background:#FFF9EA;border-color:#E9C98A;font-weight:600}
.hzc-row2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.hzc-pairf{display:flex;flex-direction:column}
.hzc-pairf[data-dir=bnd2fa] .hzc-f--bnd{order:-1}
.hzc-dir{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 12px;font-size:14px}
.hzc-dir__k{font-weight:700;color:var(--hz-muted,#76716A)}
.hzc-dir label{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--hz-line,#EADCC2);background:var(--hz-card,#FFFDF8);cursor:pointer}
.hzc-dir label:has(input:checked){border-color:var(--hz-teal,#1F7F90);background:rgba(31,127,144,.08);color:var(--hz-teal-deep,#16687A);font-weight:700}
.hzc-dir input{accent-color:var(--hz-teal,#1F7F90);margin:0}
.hzc-hint{font-size:12.5px;color:var(--hz-muted,#76716A);line-height:1.8}
.hzc-guest{margin:4px 0 12px;padding:10px 14px;border-radius:14px;border:1px dashed var(--hz-line-2,#DCC9A6);background:rgba(255,255,255,.5)}
.hzc-guest[hidden]{display:none}
.hzc-guest summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--hz-ink-2,#46505F)}
.hzc-guest[open] summary{margin-bottom:10px}
.hzc-guest .hzc-hint{margin:0}
.hzc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.hzc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}
.hzc-actions .hz-btn{min-width:150px}
.hzc-fix{margin:0 0 12px;padding:8px 12px;border-radius:12px;background:rgba(227,168,82,.16);color:#7A5410;font-size:13.5px;font-weight:700}
.hzc-fix[hidden]{display:none}
.hzc-msg{margin:0 0 12px;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.8}
.hzc-msg.is-error{background:rgba(181,24,58,.08);color:var(--hz-crimson-deep,#7E0F2A);border:1px solid rgba(181,24,58,.22)}
.hzc-msg.is-ok{background:rgba(12,127,91,.08);color:var(--hz-emerald-deep,#075C42);border:1px solid rgba(12,127,91,.25)}
.hzc-msg[hidden]{display:none}
.hzc-linkbtn{border:0;background:none;padding:0;font:inherit;font-size:13.5px;color:var(--hz-teal-deep,#16687A);cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* recorder */
.hzc-rec{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;padding:10px 12px;border-radius:14px;background:rgba(31,127,144,.06);border:1px solid rgba(31,127,144,.18)}
.hzc-rec[hidden]{display:none}
.hzc-rec__btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--hz-line-2,#DCC9A6);background:#fff;font:inherit;font-weight:700;font-size:14px;color:var(--hz-navy,#0A1F3D);cursor:pointer}
.hzc-rec__dot{width:12px;height:12px;border-radius:50%;background:var(--hz-crimson,#B5183A)}
.hzc-rec__btn.is-on{background:var(--hz-crimson,#B5183A);color:#fff;border-color:transparent}
.hzc-rec__btn.is-on .hzc-rec__dot{background:#fff;animation:hzc-pulse 1s ease-in-out infinite}
@keyframes hzc-pulse{50%{opacity:.35}}
.hzc-rec__time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;color:var(--hz-crimson,#B5183A)}
.hzc-rec__audio{height:36px;max-width:100%}
.hzc-rec .hzc-hint{flex-basis:100%;margin:0}

/* done */
.hzc-done{text-align:center;padding:26px 8px 10px}
.hzc-done__ic{font-size:46px;line-height:1;margin-bottom:8px;animation:hzc-pop .5s var(--hz-ease,ease) both}
.hzc-done__t{margin:0 0 16px;font-size:17px;font-weight:800;color:var(--hz-navy,#0A1F3D);line-height:1.9}
.hzc-done .hzc-actions{justify-content:center}
@keyframes hzc-pop{from{transform:scale(.4);opacity:0}}

/* questions */
.hzc-q{margin-bottom:12px}
.hzc-qhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.hzc-qkind{display:inline-flex;padding:2px 12px;border-radius:999px;background:rgba(227,168,82,.2);color:#7A5410;font-size:12.5px;font-weight:800}
.hzc-qintro{margin:0 0 8px;font-size:14.5px;line-height:1.9}
.hzc-qline{margin:0 0 10px;padding:12px 16px;border-radius:16px;border-inline-start:4px solid var(--hz-gold,#E3A852);background:#FFF6E2;font-size:18px;font-weight:700;line-height:2;color:var(--hz-navy,#0A1F3D)}
.hzc-qline mark{background:linear-gradient(transparent 55%,rgba(227,168,82,.55) 55%);color:inherit;padding:0 2px}
.hzc-qword{font-size:26px;text-align:center;border-inline-start:0;border-top:4px solid var(--hz-gold,#E3A852)}
.hzc-qfa,.hzc-qguess{margin:0 0 6px;font-size:14px;line-height:1.85;color:var(--hz-ink-2,#46505F)}
.hzc-qfa span,.hzc-qguess span{font-weight:800;color:var(--hz-muted,#76716A)}
.hzc-qform[hidden]{display:none}
.hzc-qempty{text-align:center;padding:16px 4px}
.hzc-qempty>div{font-size:40px}
.hzc-skel{height:18px;margin:10px 0;border-radius:8px;background:linear-gradient(90deg,#F0E4CC 25%,#F8EEDC 50%,#F0E4CC 75%);background-size:200% 100%;animation:hzc-sk 1.2s linear infinite}
.hzc-skel+.hzc-skel{width:70%}
@keyframes hzc-sk{to{background-position:-200% 0}}

/* mobile: bottom sheet */
@media (max-width:640px){
  .hzc-modal{align-items:flex-end;padding:0}
  .hzc-sheet{width:100%;max-height:calc(100dvh - 24px);border-radius:24px 24px 0 0;transform:translateY(100%)}
  .hzc-sheet::before{display:none}
  .hzc-sheet__grab{display:block;position:absolute;top:8px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:5px;background:var(--hz-line-2,#DCC9A6)}
  .hzc-sheet__head{padding:20px 16px 8px}
  .hzc-sheet__ttl h2{font-size:17.5px}
  .hzc-sheet__ttl p{font-size:12.5px}
  .hzc-tabs{margin:0 16px}
  .hzc-tabs [role=tab]{padding:0 11px;font-size:13px}
  .hzc-sheet__body{padding:14px 16px calc(18px + env(safe-area-inset-bottom))}
  .hzc-row2{grid-template-columns:1fr}
  .hzc-actions .hz-btn{flex:1}
}

/* ---------- global: «استاد» badge ---------- */
.hzc-xbadge{display:inline-flex;align-items:center;gap:3px;margin-inline-start:6px;padding:0 9px 0 8px;border-radius:999px;background:linear-gradient(180deg,#FFF1C9,#F2D48A);border:1px solid #E3B866;color:#6B4710!important;font-size:11.5px;font-weight:800;line-height:1.9;text-decoration:none!important;vertical-align:middle;white-space:nowrap}
.hzc-xbadge:hover{background:linear-gradient(180deg,#FFF6DD,#F7DE9C)}
.hzc-xbadge.is-lg{font-size:13px;padding:2px 12px;margin:0}

/* ---------- translator: human translation memory (theme translator.js / translator-functions.php) ---------- */
.hzt-tok.is-memory{background:rgba(12,127,91,.09);box-shadow:inset 0 -2px 0 rgba(12,127,91,.55);border-radius:6px;padding:0 3px;color:inherit;text-decoration:none;cursor:pointer}
.hzt-tok.is-memory:hover,.hzt-tok.is-memory.is-active{background:rgba(12,127,91,.16)}
.hzt-membadge{display:flex;width:max-content;max-width:100%;align-items:center;gap:6px;margin-top:10px;padding:3px 12px;border-radius:999px;background:rgba(12,127,91,.1);border:1px solid rgba(12,127,91,.28);color:var(--hz-emerald-deep,#075C42);font-size:12.5px;font-weight:800;line-height:1.9;white-space:normal}
.hzt-pop__kind.is-memory i{background:var(--hz-emerald,#0C7F5B)}
.hzt-pop__pair{margin:6px 0 8px;padding:8px 10px;border-radius:10px;background:rgba(12,127,91,.06);font-size:14px;line-height:1.9}
.hzt-pop__pair b{display:block;color:var(--hz-navy,#0A1F3D)}

@media (prefers-reduced-motion:reduce){
  .hzc-fab,.hzc-sheet,.hzc-modal__scrim{transition:none}
  .hzc-fab__ic,.hzc-done__ic,.hzc-rec__btn.is-on .hzc-rec__dot,.hzc-skel{animation:none}
}
