/* docs.css — ساخته‌شده از styles.css با tools/build_docs_css.py.
   دستی ویرایشش نکن؛ استایل را در styles.css عوض کن و دوباره بساز.
   `scripts/deploy.sh` پیش از هر انتقال خودش این کار را می‌کند. */
@font-face {
  font-family: "Vazirmatn";
  src: url("/assets/fonts/Vazirmatn-Variable.woff2") format("woff2-variations");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/BNazanin-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+200C-200D, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/BNazanin-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+200C-200D, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-400-normal-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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-200B, U+200E-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FFFD;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-400-normal-greek.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-400-italic-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  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-200B, U+200E-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FFFD;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-400-italic-greek.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-700-normal-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  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-200B, U+200E-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FFFD;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-700-normal-greek.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-700-italic-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  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-200B, U+200E-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FFFD;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-700-italic-greek.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/question-g/MKQuestionUprightG-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0067;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/question-g/MKQuestionUprightG-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0067;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/question-g/MKQuestionUprightG-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0067;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/question-g/MKQuestionUprightG-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0067;
}
@font-face {
  font-family: "MK Question Alt G";
  src: url("/assets/fonts/xits/XITS-400-normal-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0067;
}
@font-face {
  font-family: "MK Question Alt G";
  src: url("/assets/fonts/xits/XITS-700-normal-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0067;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-400-normal-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+002E, U+2026;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/xits/XITS-400-italic-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  unicode-range: U+002E, U+2026;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/Vazirmatn-Variable.woff2") format("woff2-variations");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+06F0, U+0660;
}
@font-face {
  font-family: "MK Question";
  src: url("/assets/fonts/Vazirmatn-Variable.woff2") format("woff2-variations");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+06F0, U+0660;
}
@font-face {
  font-family: "B Nazanin";
  src: url("/assets/fonts/BNazanin-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "B Nazanin";
  src: url("/assets/fonts/BNazanin-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --bg: #f7f6f2;
  --panel: #fff;
  --panel-soft: #fbfaf7;
  --ink: #25231f;
  --muted: #827e75;
  --line: #ebe8e0;
  --orange: #ff6b18;
  --orange-soft: #fff0e7;
  --teal: #1aa392;
  --teal-soft: #e9f8f5;
  --blue: #4676e8;
  --blue-soft: #edf3ff;
  --purple: #8664d8;
  --purple-soft: #f2edff;
  --red: #de5a5a;
  --red-soft: #fff0f0;
  --yellow: #d9a52b;
  --yellow-soft: #fff8df;
  --shadow: 0 12px 32px rgba(41, 36, 29, 0.065);
  --radius: 18px;
  --rb-navy: #26384a;
  --rb-navy-soft: #edf1f4;
  --rb-paper: #fbfaf7;
  --rb-border: #e7e1d7;

  /* فونتِ متنِ سؤال. جدا از فونتِ پوسته نگه داشته می‌شود تا دکمه‌ها، منوها و
     جدول‌های مدیریتی وزیرمتن بمانند و فقط خودِ سؤال ب نازنین شود. */
  --q-font: "MK Question", "B Nazanin", "Vazirmatn", Tahoma, sans-serif;
  /* ب نازنین «بدنهٔ» بسیار کوچکی نسبت به em دارد. اندازه‌گیریِ ارتفاعِ گلیف در
     همین پروژه: بدنهٔ «ب» ۱٫۲۵ برابر، «س» ۱٫۲۰ برابر، رقم ۱٫۱۳ برابر و الف
     ۱٫۱۰ برابر باید بزرگ‌تر شود تا هم‌اندازهٔ وزیرمتن دیده شود. ۱٫۲۲ وسطِ
     بازهٔ بدنهٔ حروف است — همان چیزی که چشم موقع خواندن می‌سنجد. */
  --q-scale: 1.22;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  min-height: 100vh;
  /* پس‌زمینه تخت است: واشِ نارنجیِ رادیالِ گوشهٔ بالا برداشته شد (خواستهٔ کاربر:
     «رنگ نارنجی را در پس‌زمینهٔ پنل هیچ‌جا نبینم»). */
  background: var(--bg);
  color: var(--ink);
  font-family: "Vazirmatn", Tahoma, sans-serif;
  font-size: 14px;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  color: inherit;
}
[hidden] {
  display: none !important;
}
.brand-copy {
  display: flex;
  align-items: center;
  gap: 12px;
}
.brand .brand-rule {
  display: block;
  width: 1px;
  height: 40px;
  flex: 0 0 1px;
  margin: 0;
  background: #ddd6c8;
}
.brand-mark {
  width: 50px;
  height: 37.5px;
  flex: 0 0 50px;
  display: grid;
  place-items: center;
}
.brand-mark > img,
.brand-mark > svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.brand-type {
  display: block;
  width: auto;
  height: 30px;
  object-fit: contain;
}
.ui-icon {
  width: 17px;
  height: 17px;
  display: inline-block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: middle;
  pointer-events: none;
}
button > .ui-icon { flex: 0 0 auto; }
:where(.icon-button, .topbar-icon, .sq-card-pen, .exam-iconbtn, .er-iconbtn,
       .er-eye, .er-phone-btn, .sqf-btn, .modal-close, .row-action) {
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
}
:where(.icon-button, .topbar-icon, .sq-card-pen, .exam-iconbtn, .er-iconbtn,
       .er-eye, .er-phone-btn, .sqf-btn, .modal-close, .row-action, .er-info-row i) > :is(svg, img) {
  display: block;
  flex: none;
}
.primary-button,
.secondary-button,
.ghost-button,
.danger-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.icon-button,
.primary-button,
.secondary-button,
.ghost-button,
.danger-button {
  border: 0;
  cursor: pointer;
  transition: 0.18s ease;
}
.icon-button {
  width: 39px;
  height: 39px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  display: inline-flex;
  align-items: center; justify-content: center;
}
.icon-button:hover,
.secondary-button:hover {
  border-color: #d8d3c7;
  transform: translateY(-1px);
}
.primary-button,
.secondary-button,
.ghost-button,
.danger-button {
  height: 40px;
  padding: 0 15px;
  border-radius: 11px;
  font-weight: 700;
}
.primary-button {
  color: white;
  background: var(--orange);
  box-shadow: 0 8px 18px rgba(255, 107, 24, 0.18);
}
.primary-button:hover {
  background: #ed5d0d;
  transform: translateY(-1px);
}
.ghost-button {
  background: transparent;
  color: var(--muted);
}
.ghost-button:hover {
  background: #f3f1eb;
  color: var(--ink);
}
.folder-back-button .ui-icon {
  transform: rotate(180deg);
}
.stat-icon .ui-icon {
  width: 21px;
  height: 21px;
}
.question-filter-title .ui-icon {
  width: 18px;
  height: 18px;
  color: var(--orange);
}
.untagged-flag .ui-icon { width: 15px; height: 15px; color: #d38b23; }
.filter-summary-head .ui-icon {
  width: 16px;
  height: 16px;
  color: var(--orange);
}
.frow-time .ui-icon {
  flex: none;
  width: 12px;
  height: 12px;
  opacity: 0.55;
}
.folder-bank-control.frow-bank .ui-icon {
  width: 13px;
  height: 13px;
}
.icon-button.active {
  color: var(--orange);
  border-color: #efb088;
  background: var(--orange-soft);
}
.folder-sort-button .ui-icon {
  width: 14px;
  height: 14px;
}
.folder-bank-control .ui-icon { width: 14px; height: 14px; }
.row-action .ui-icon { width: 16px; height: 16px; }
.modal-close .ui-icon {
  width: 15px;
  height: 15px;
}
.chip button .ui-icon,
.tp-chip-rm .ui-icon,
.tp-close .ui-icon {
  width: 14px;
  height: 14px;
}
.empty-icon > .ui-icon {
  width: 32px;
  height: 32px;
  stroke-width: 1.9;
}
.modal-root:empty {
  display: none;
}
body.modal-open { overflow: hidden; }
@keyframes modal-in {
  from { opacity: 0; transform: translateY(12px) scale(.98); }
}
.field .password-field input,
.auth-form .password-field input,
input[data-password-input] {
  direction: ltr;
  text-align: left;
  padding-left: 46px;
  padding-right: 13px;
  font-family: inherit;
  margin-top: 0;
}
.password-toggle .ui-icon {
  width: 18px;
  height: 18px;
  display: block;
  pointer-events: none;
}
.lesson-scope-note .ui-icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}
.topic-path-remove .ui-icon {
  width: 14px;
  height: 14px;
}
.modal-root:not(:empty) {
  position: relative;
  z-index: 100000;
}
.tp-level-hint .ui-icon { width: 13px; height: 13px; flex-shrink: 0; margin-top: 1px; color: var(--orange); }
.stx-search .ui-icon { width: 16px; height: 16px; flex: 0 0 16px; }
.stx-search > button .ui-icon { width: 13px; height: 13px; }
.stx-tool .ui-icon { width: 14px; height: 14px; }
.tmx-search .ui-icon { width: 14px; height: 14px; color: #a89e92; }
.tmdel-line .ui-icon { width: 15px; height: 15px; color: #a89e92; }
.stx-btn .ui-icon { width: 14px; height: 14px; }
.tl-kicker .ui-icon { width: 13px; height: 13px; }
.tl-warn .ui-icon { width: 15px; height: 15px; flex: 0 0 15px; }
.auth-gate[hidden] { display: none !important; }
.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: linear-gradient(160deg, #f7f6f2, #efeae0);
}
.auth-brand .brand-mark {
  width: 53.3px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 0;
  background: none;
  display: grid;
  place-items: center;
}
.auth-brand .brand-type { height: 30px; }
.auth-brand-rule {
  width: 1px;
  height: 30px;
  flex: 0 0 1px;
  background: #ddd6c8;
}
button[disabled] { opacity: 0.55; cursor: not-allowed; }
.review-actions .primary-button {
  background: var(--teal);
  color: #fff;
  box-shadow: none;
}
.review-actions .primary-button:hover { filter: brightness(1.06); }
.toast-stack {
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 100060;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.toast {
  --toast-accent: var(--teal);
  --toast-accent-soft: rgba(26, 163, 146, .28);
  min-width: 280px;
  max-width: 390px;
  background: #292721;
  color: white;
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 14px 35px rgba(0,0,0,.2);
  animation: toast-in .22s ease;
  font-size: 11px;
}
.toast.error {
  --toast-accent: var(--red);
  --toast-accent-soft: rgba(222, 90, 90, .3);
}
.toast.warn {
  --toast-accent: var(--yellow);
  --toast-accent-soft: rgba(217, 165, 43, .3);
}
.toast.success, .toast.error, .toast.warn { border-right: 4px solid var(--toast-accent); }
body:has(#modalRoot:not(:empty)) .toast {
  box-shadow: 0 16px 40px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.16);
}
@keyframes toast-in {
  from { opacity: 0; transform: translateY(8px); }
}
@media (max-width: 820px) {
html,
  body {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }
}
@keyframes authStageIn {
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes roleIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.seg-soon-mark .ui-icon { width: 11px; height: 11px; opacity: .75; }
.ctx-offer-box .primary-button { flex: none; }
.sq-sk-line, .sq-opt-sk i {
  display: block; height: 13px; border-radius: 7px;
  background: linear-gradient(90deg, #f3f1ec 25%, #e7e4dc 37%, #f3f1ec 63%);
  background-size: 400% 100%;
  animation: sqContentLoading 1.4s ease infinite;
}
.sq-sk-line + .sq-sk-line { margin-top: 11px; }
.er-question-loading .sq-sk-line { height: 15px; }
@keyframes sqContentLoading { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) {
.sq-sk-line, .sq-opt-sk i { animation: none; }
}
img.sq-img-part,
.pq-body img.sq-img-part,
.sq-explanation-image img.sq-img-part {
  border-radius: 0;
}
@supports not (scrollbar-color: auto) {
  .qset-index-panel::-webkit-scrollbar {
    width: 12px;
  }
  .qset-index-panel::-webkit-scrollbar-track {
    background: #f7f1e9;
    border-radius: 99px;
    margin: 8px 0;
  }
  .qset-index-panel::-webkit-scrollbar-thumb {
    background: #e8c3a1;
    border: 3px solid #fffdfa;
    border-radius: 99px;
  }
  .qset-index-panel::-webkit-scrollbar-thumb:hover {
    background: var(--orange);
  }
  .qset-index-panel::-webkit-scrollbar-thumb:active {
    background: #e05c14;
  }
}
@keyframes qsetSortBusy {
  0%, 100% { opacity: 1; }
  50% { opacity: .6; }
}
@keyframes qsetFlash {
  0%, 100% { box-shadow: 0 0 0 rgba(255,101,25,0); }
  28% { box-shadow: 0 0 0 4px rgba(255,101,25,.16); }
}
.icon-button.sm {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}
.icon-button.danger {
  color: #c75c47;
}
.qset-create-modal .primary-button {
  align-self: center;
  min-height: 38px;
}
@keyframes tipIn { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
:root {
  --motion-fast: 140ms;
  --motion-med: 260ms;
  --motion-slow: 440ms;
  --ease-pop: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-soft: cubic-bezier(0.22, 0.61, 0.36, 1);
  --lift-shadow: 0 14px 34px rgba(48, 39, 27, 0.1);
}
::selection {
  background: rgba(255, 107, 24, 0.18);
}
button,
a,
input,
select,
textarea,
.folder-card,
.stat-card,
.panel,
.type-card,
.media-card,
.folder-file,
.role-card,
.ms-opt,
.sd-check,
.sd-radio,
.src-row,
.question-form-nav > button,
.data-table tbody tr {
  -webkit-tap-highlight-color: transparent;
}
button,
a,
.folder-card,
.stat-card.clickable,
.type-card,
.media-card,
.folder-file,
.role-card,
.ms-opt,
.sd-check,
.sd-radio,
.src-row {
  transition-duration: var(--motion-med);
  transition-timing-function: var(--ease-soft);
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[contenteditable="true"]:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(255, 107, 24, 0.18), 0 0 0 1px rgba(255, 107, 24, 0.38);
}
@keyframes viewItemIn {
  0% { opacity: 0; transform: translateY(14px) scale(0.992); filter: blur(2px); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
.nav-item .nav-icon,
.icon-button .ui-icon,
.row-action .ui-icon,
.more-button .ui-icon,
.tree-toggle,
.src-caret svg,
.sd-section > summary svg {
  transition: transform var(--motion-med) var(--ease-pop), color var(--motion-med) ease;
}
.nav-item:hover .nav-icon,
.icon-button:hover .ui-icon,
.row-action:hover .ui-icon,
.more-button:hover .ui-icon {
  transform: translateY(-1px) scale(1.08);
}
.primary-button,
.secondary-button,
.ghost-button,
.danger-button,
.auth-submit,
.ff-download,
.page-buttons button,
.segmented button,
.correct-option-picker button,
.question-form-nav > button {
  transform-origin: center;
  transition: transform var(--motion-fast) var(--ease-pop), box-shadow var(--motion-med) ease, background var(--motion-med) ease, border-color var(--motion-med) ease, color var(--motion-med) ease, filter var(--motion-med) ease;
}
.primary-button:hover,
.auth-submit:hover {
  box-shadow: 0 12px 26px rgba(255, 107, 24, 0.24);
}
.secondary-button:hover,
.ghost-button:hover,
.danger-button:hover,
.ff-download:hover,
.page-buttons button:hover,
.segmented button:hover,
.correct-option-picker button:hover,
.question-form-nav > button:hover {
  transform: translateY(-1px);
}
@keyframes microPop {
  from { opacity: 0; transform: scale(0.94); }
  to { opacity: 1; transform: scale(1); }
}
input,
select,
textarea,
[contenteditable="true"] {
  transition: border-color var(--motion-med) ease, box-shadow var(--motion-med) ease, background var(--motion-med) ease, transform var(--motion-fast) var(--ease-soft);
}
input:focus,
select:focus,
textarea:focus,
[contenteditable="true"]:focus {
  transform: translateY(-1px);
}
@keyframes backdropIn {
  from { opacity: 0; backdrop-filter: blur(0); }
  to { opacity: 1; }
}
@keyframes backdropOut {
  to { opacity: 0; backdrop-filter: blur(0); }
}
@keyframes modalOut {
  to { opacity: 0; transform: translateY(10px) scale(0.985); }
}
.toast {
  position: relative;
  overflow: hidden;
}
.toast::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: var(--toast-accent);
  box-shadow: 0 0 8px var(--toast-accent-soft);
  transform-origin: right center;
  animation: toastTimer 3.6s linear forwards;
}
.toast::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: var(--toast-accent-soft);
}
@keyframes toastTimer {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}
@keyframes selectedPulse {
  0% { transform: scale(0.96); }
  55% { transform: scale(1.04); }
  100% { transform: scale(1); }
}
@keyframes progressGrow {
  from { transform: scaleX(0.18); }
  to { transform: scaleX(1); }
}
.brand-mark,
.avatar {
  transition: transform var(--motion-med) var(--ease-pop), box-shadow var(--motion-med) ease;
}
.brand:hover .brand-mark,
.profile-card:hover .avatar {
  transform: rotate(-2deg) scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
*,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}
.sp-id-row bdi { color: #fff; font-family: Arial, sans-serif; letter-spacing: .04em; }
@property --sp-ring { syntax: "<angle>"; inherits: true; initial-value: 0deg; }
@keyframes spRingFill { from { --sp-ring: 0deg; } }
@keyframes spRingCorePop { from { opacity: .45; transform: scale(.9); } }
.sp-error .primary-button { margin-top: 7px; }
.sp-loading-hero .sk-bar { background: rgba(255,255,255,.1); }
.sp-id-row bdi { color: #4a3c31; }
button.sp-heat-cell,
.sp-heat-week-button { padding: 0; font: inherit; cursor: help; }
.sp-trend-drill button .ui-icon { width: 13px; height: 13px; }
.sp-trend-empty > .ui-icon { width: 24px; height: 24px; color: #4d806d; }
.sp-loading-hero .sk-bar { background: #eadcca; }
@keyframes sqImgShimmer {
  0% { background-position: 220% 0; }
  100% { background-position: -220% 0; }
}
.skeleton-page { padding: 6px 2px 40px; animation: skFade .3s ease; }
.sk-head { margin-bottom: 22px; }
.sk-toolbar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.sk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.sk-card { border: 1px solid var(--line, #eee3d6); border-radius: 16px; background: #fff; overflow: hidden; }
.sk-card-media { height: 130px; }
.sk-card-body { padding: 14px 16px 16px; }
.sk-chips { display: flex; gap: 8px; margin-top: 14px; }
.sk-bar, .sk-card-media {
  display: inline-block;
  border-radius: 7px;
  background: linear-gradient(100deg, #efeae3 20%, #f9f6f1 46%, #efeae3 72%);
  background-size: 220% 100%;
  animation: sqImgShimmer 1.25s ease-in-out infinite;
}
@keyframes skFade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
.sk-bar, .sk-card-media, .sq-img-lazy { animation: none; }
}
@keyframes bootSplashIn { to { opacity: 1; } }
@keyframes bootSplashBar {
  from { transform: translateX(100%); }
  to { transform: translateX(-250%); }
}
body.pstudio-open { overflow: hidden; }
@keyframes pstudioBarSlide {
  from { transform: translateX(-110%); }
  to { transform: translateX(275%); }
}
@keyframes pstudioSpin { to { transform: rotate(360deg); } }
.pstudio-skeleton { display: grid; justify-items: center; gap: 22px; }
.pstudio-skeleton-page {
  width: 794px;
  max-width: 100%;
  height: 1123px;
  border-radius: 12px;
  border: 1px solid #e5dacb;
  box-shadow: 0 10px 34px rgba(60, 47, 32, .14);
  background: #fbf9f5;
}
button.omr-b { cursor: pointer; transition: background .12s ease, border-color .12s ease, color .12s ease; }
button.omr-b:hover { border-color: var(--orange); }
.exam-meta .ui-icon, .exam-meta svg { width: 13px; height: 13px; }
.exam-td-actions .primary-button { min-height: 0; height: 28px; padding: 0 10px; font-size: 10.5px; white-space: nowrap; box-shadow: none; }
body.exam-open { overflow: hidden; }
@keyframes er-pulse { 50% { opacity: .75; } }
.er-net-chip .ui-icon { width: 15px; height: 15px; flex: none; }
body.exam-open .app-update-bar { display: none !important; }
@keyframes ew-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.ew-nav .primary-button svg, .ew-nav .secondary-button svg { width: 16px; height: 16px; }
.ep-tag-choice > span .ui-icon { width: 12px; height: 12px; color: var(--orange); flex: 0 0 auto; }
@media screen {
body.pstudio-direct .print-studio { opacity: 0; pointer-events: none; }
}
@media print {
@page { size: A4; margin: 0; }
body.pstudio-printing > *:not(.print-studio) { display: none !important; }
body.pstudio-printing { overflow: visible !important; background: #fff !important; }
body.pstudio-printing .print-studio { position: static; background: #fff; display: block; }
body.pstudio-printing .pstudio-topbar,
  body.pstudio-printing .pstudio-busy,
  body.pstudio-printing .pstudio-skeleton,
  body.pstudio-printing .pstudio-side { display: none !important; }
body.pstudio-printing .pq-space-tools { display: none !important; }
body.pstudio-printing .pstudio-layout { display: block; }
body.pstudio-printing .pstudio-preview { overflow: visible; padding: 0; gap: 0; display: block; }
body.pstudio-printing .pstudio-page {
    width: 210mm;
    min-height: 296mm;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    page-break-after: always;
    padding: 15mm;
  }
body.pstudio-printing .pstudio-page:last-child { page-break-after: auto; }
body.pstudio-printing .pstudio-page.is-key { height: 296mm; }
body.pstudio-printing .pstudio-final-footer { left: auto; right: auto; }
}
@media (max-width: 980px) {
.pstudio-skeleton-page { transform-origin: top center; transform: scale(.62); margin-bottom: -400px; }
}
.exam-td-actions .primary-button { height: 30px; border-radius: 9px; padding-inline: 11px; }
@keyframes examMergeNudge { 0%,100% { transform: scale(1); } 45% { transform: translateY(-1px) scale(1.16); } 70% { transform: translateY(0) scale(1.08); } }
.exam-td-actions .primary-button { height: 26px; padding-inline: 9px; font-size: 10px; }
.exam-td-actions .primary-button,
.exam-report-btn,
.exam-iconbtn {
  box-shadow: 0 3px 10px rgba(73, 52, 30, .035);
}
@container (max-width: 920px) {
  .pro-owner-table .exam-thead { display: none; }
  .pro-owner-table .exam-tr {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas:
      "name name name name"
      "questions duration booklets metric"
      "org date status status"
      "actions actions actions actions";
    gap: 10px 16px;
    padding: 14px;
  }
  .pro-owner-table .exam-td-name { grid-area: name; }
  .pro-owner-table .exam-td-questions { grid-area: questions; }
  .pro-owner-table .exam-td-duration { grid-area: duration; }
  .pro-owner-table .exam-td-booklets { grid-area: booklets; }
  .pro-owner-table .exam-td-org { grid-area: org; }
  .pro-owner-table .exam-td-metric { grid-area: metric; }
  .pro-owner-table .exam-td-date { grid-area: date; }
  .pro-owner-table .exam-td-status { grid-area: status; }
  .pro-owner-table .exam-td-actions { grid-area: actions; justify-content: flex-start; border-top: 1px solid #f3ede3; padding-top: 10px; }
  .pro-owner-table .exam-td.tc { display: grid; gap: 3px; align-content: start; text-align: start; white-space: normal; overflow: visible; }
  .pro-owner-table .exam-td.tc::before { content: attr(data-label); color: var(--muted); font-size: 10px; font-weight: 700; }
  .pro-owner-table .exam-run-date { align-items: flex-start; }
}
@container (max-width: 520px) {
  .pro-owner-table .exam-tr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "name name"
      "questions duration"
      "booklets metric"
      "org date"
      "status status"
      "actions actions";
  }
}
.exam-share-state .ui-icon { flex: 0 0 auto; margin-top: 4px; }
.exam-share-row .secondary-button, .exam-share-row .primary-button { flex: 0 0 auto; white-space: nowrap; }
.exam-share-actions .ghost-button.danger { color: #c0392b; border-color: #ecc4bd; }
.exam-share-actions .ghost-button.danger:hover { background: #fdf0ee; }
.qset-sync-item > i .ui-icon { width: 14px; height: 14px; }
.rr-shared-card.solo .ui-icon { width: 22px; height: 22px; color: #2a9d8f; }
.rr-shared-head .ui-icon { color: #2a9d8f; }
.aa-sum .ui-icon { width:16px; height:16px; }
.aa-sum.c .ui-icon { color:#2a78d6; }
.aa-sum.r .ui-icon { color:#1baf7a; }
.aa-drill > header button .ui-icon { width:13px; height:13px; }
.ap-card section > h4 .ui-icon { width:14px; height:14px; color:#cc762e; }
.auth-security-note .ui-icon { width:16px; height:16px; }
.am-block h3 .ui-icon { width:15px; height:15px; }
.amx-loading .ui-icon { width:17px; height:17px; animation:amx-spin 1.5s linear infinite; }
@keyframes amx-spin { to { transform:rotate(360deg); } }
.amx-tile .ui-icon { flex:0 0 auto; width:19px; height:19px; color:#c2a271; }
.amx-rank .ui-icon { width:13px; height:13px; margin-bottom:-1px; }
.amx-manager-uid bdi { font-weight:850; }
.amx-expand .ui-icon { width:15px; height:15px; transition:transform .2s; }
.amx-expand[aria-expanded="true"] .ui-icon { transform:rotate(180deg); }
.amx-side h4 .ui-icon,.amx-breakdown h4 .ui-icon { width:15px; height:15px; color:#c2a271; }
.eb-view-btn .ui-icon { width: 14px; height: 14px; }
.eb-topic-chip .ui-icon { width: 13px; height: 13px; }
.eb-caret .ui-icon { width: 15px; height: 15px; transform: rotate(90deg); transition: transform .18s ease; }
.eb-caret.open .ui-icon { transform: rotate(0); }
.eb-join .ui-icon { width: 13px; height: 13px; }
.eb-pick-lesson button .ui-icon { width: 11px; height: 11px; }
.eb-pick-row button .ui-icon { width: 12px; height: 12px; }
.eb-budget-title .ui-icon { width: 15px; height: 15px; color: var(--orange, #e8722a); }
.eb-budget-popover-head .ui-icon { width: 11px; height: 11px; }
.eb-budget-remove .ui-icon, .eb-budget-section-remove .ui-icon { width: 12px; height: 12px; }
.eb-budget-excluded-list .ui-icon { width: 11px; height: 11px; flex: 0 0 auto; }
.dl-actions .secondary-button, .dl-actions .ghost-button { flex: 1; justify-content: center; font-size: 12px; }
.dl-actions .primary-button { flex: 1; justify-content: center; font-size: 12px; }
.media-drop-icon .ui-icon { width: 17px; height: 17px; }
.question-save-bar .primary-button,
.question-save-bar .secondary-button { min-height: 36px; padding: 7px 13px; }
@keyframes dashboardPulse { 0%, 100% { opacity: .25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
.qstat-tab .ui-icon { width: 15px; height: 15px; }
.pexam-brand-mark {
  width: 62px;
  height: 46px;
  display: grid;
  place-items: center;
  margin-bottom: 3px;
}
.pexam-brand-mark > img, .pexam-brand-mark > svg { width: 100%; height: 100%; object-fit: contain; display: block; }
.pexam-cover-brand > .brand-type { height: 24px; margin: 2px auto 1px; }
body.pdf-export .pstudio-page.pexam-cover-page .pexam-cover,
body.pdf-export .pstudio-page.pexam-page {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
body.pdf-export .pstudio-page.pexam-cover-page .pexam-cover::before { display: none; }
body.pdf-export .pstudio-page.pexam-cover-page .pexam-brand-mark {
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  isolation: isolate;
}
body.pdf-export .pstudio-page.pexam-cover-page .pexam-cover-info,
body.pdf-export .pstudio-page.pexam-cover-page .pexam-cover-hero,
body.pdf-export .pstudio-page.pexam-cover-page .pexam-cover-stats > span,
body.pdf-export .pstudio-page.pexam-cover-page .pexam-cover-table,
body.pdf-export .pstudio-page.pexam-cover-page .pexam-note,
body.pdf-export .pstudio-page.pexam-cover-page .pexam-cover-foot,
body.pdf-export .pstudio-page.pexam-cover-page .pexam-crow:not(.head) > span {
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  isolation: isolate;
}
body.pdf-export .pstudio-page.pexam-cover-page .pexam-crow.head > span {
  background: #214f75 !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}
body.pdf-export .pstudio-page.pexam-page .pq-no-wrap {
  background: #fff !important;
  box-shadow: none !important;
  filter: none !important;
  isolation: isolate;
}
body.pdf-export { background: #fff !important; }
body.pdf-export .pstudio-page { box-shadow: none !important; }
body.pdf-export .pstudio-page,
body.pstudio-printing .pstudio-page {
  /* صفحه‌های دور از viewport در پیش‌نمایش با content-visibility از paint کنار
     گذاشته می‌شوند. سندِ چندصفحه‌ایِ سرور نباید آن بهینه‌سازی را به ارث ببرد؛
     وگرنه Chromium گاهی فقط جای متن را نگه می‌دارد و همان صفحه را خالی چاپ می‌کند. */
  content-visibility: visible !important;
  contain: none !important;
  contain-intrinsic-size: none !important;
  text-rendering: geometricPrecision;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
body.pdf-export .pstudio-page.is-simple:not(.is-key),
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) { color: #171b1e !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key)::before,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key)::before {
  border-color: #536b7a !important;
  border-width: 1.5px;
  box-shadow: inset 0 0 0 4px #f6f8f9 !important;
}
body.pdf-export .pstudio-page.is-simple:not(.is-key) .psimple-page-head,
body.pdf-export .pstudio-page.is-simple:not(.is-key) .psimple-page-footer,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .psimple-page-head,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .psimple-page-footer { border-color: #536b7a !important; color: #394851 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .psimple-title,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .psimple-title { border-color: #899ca8 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) :is(.psimple-brand b,.psimple-count b,.psimple-site),
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) :is(.psimple-brand b,.psimple-count b,.psimple-site) { color: #173e58 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) :is(.psimple-brand small,.psimple-title small,.psimple-count small,.psimple-page-no),
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) :is(.psimple-brand small,.psimple-title small,.psimple-count small,.psimple-page-no) { color: #554f48 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .psimple-info,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .psimple-info {
  border-color: #667b88 !important;
  background: #667b88 !important;
  box-shadow: none !important;
}
body.pdf-export .pstudio-page.is-simple:not(.is-key) .psimple-info .pqh-cell,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .psimple-info .pqh-cell { background: #fff !important; color: #20272b !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .psimple-info .pqh-cell b,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .psimple-info .pqh-cell b { color: #7f401c !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .pq-no,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .pq-no { color: #171b1e !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .pq-block.with-line,
body.pdf-export .pstudio-page.is-simple:not(.is-key) .pq-extra-space,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .pq-block.with-line,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .pq-extra-space { border-color: #737b80 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .pq-section-title,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .pq-section-title { color: #173e58 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .pq-section-title::before,
body.pdf-export .pstudio-page.is-simple:not(.is-key) .pq-section-title::after,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .pq-section-title::before,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .pq-section-title::after { height: 1.5px; background: #718894 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .pq-section-title span,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .pq-section-title span { border-color: #718894 !important; background: #f5f9fb !important; color: #173e58 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .pq-option b,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .pq-option b { color: inherit !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) :is(.pq-body table,.pq-body th,.pq-body td,.sq-explanation-columns),
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) :is(.pq-body table,.pq-body th,.pq-body td,.sq-explanation-columns) { border-color: #465761 !important; }
body.pdf-export .pstudio-page.is-simple:not(.is-key) .sq-explanation-columns::before,
body.pstudio-printing .pstudio-page.is-simple:not(.is-key) .sq-explanation-columns::before { background: #465761 !important; }
body.pdf-export .pstudio-page.is-simple.is-answers .pq-answer-chip,
body.pstudio-printing .pstudio-page.is-simple.is-answers .pq-answer-chip { border: 1px solid #9ecfc0 !important; background: #e8f6f1 !important; color: #146b59 !important; }
body.pdf-export .pstudio-page.is-simple.is-answers .pa-block .pq-no,
body.pstudio-printing .pstudio-page.is-simple.is-answers .pa-block .pq-no { border-color: #8ea6b6 !important; background: #eef3f7 !important; color: #173e58 !important; }
body.pdf-export .pstudio-page.is-simple.is-answers .pq-answer-divider,
body.pstudio-printing .pstudio-page.is-simple.is-answers .pq-answer-divider { color: #173e58 !important; }
body.pdf-export .pstudio-page.is-simple.is-answers .pad-line,
body.pstudio-printing .pstudio-page.is-simple.is-answers .pad-line { background: #536b7a !important; }
body.pdf-export .pstudio-page.is-simple.is-answers .pad-orn,
body.pstudio-printing .pstudio-page.is-simple.is-answers .pad-orn { border-color: #536b7a !important; background: #eef3f7 !important; }
body.pdf-export .pstudio-page.is-key .pkey-card,
body.pstudio-printing .pstudio-page.is-key .pkey-card { border-color: #536b7a !important; }
body.pdf-export .pstudio-page.is-key .psheet-group,
body.pstudio-printing .pstudio-page.is-key .psheet-group { border-color: #667b88 !important; }
body.pdf-export .pstudio-page.is-key .pbs-row i,
body.pstudio-printing .pstudio-page.is-key .pbs-row i { border-color: #536b7a !important; }
body.pdf-export .pstudio-page.is-key .pbs-row i.is-correct,
body.pstudio-printing .pstudio-page.is-key .pbs-row i.is-correct { border-color: #173e58 !important; background: #173e58 !important; color: #fff !important; }
body.pstudio-exporting .pstudio-page {
  transform: none !important;
  margin-bottom: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 700px) {
.qset-auto-actions .secondary-button, .qset-auto-actions .primary-button { flex: 1 1 100%; }
}
@container (max-width: 440px) {
  .pro-student-list > label { grid-template-columns: 17px 36px minmax(0, 1fr); row-gap: 3px; }
  .pro-student-list > label em { grid-column: 3; justify-self: start; padding: 1px 7px; font-size: 9px; }
}
.exam-pick-mode > .primary-button { grid-column: 3; grid-row: 1; justify-self: end; }
@media (max-width: 640px) {
.exam-pick-mode > .primary-button { grid-column: 1; grid-row: 3; justify-self: stretch; }
}
.hall-filter-chip .ui-icon { width: 12px; height: 12px; }
.hall-demo-note .ui-icon { width: 15px; height: 15px; flex: none; }
.exam-retake-wait .primary-button[disabled] { opacity: .55; cursor: not-allowed; }
.mn-side-icon .ui-icon { width: 17px; height: 17px; }
.mn-sec > summary .ui-icon { width: 15px; height: 15px; color: var(--muted); transition: transform .18s ease; }
.mn-sec[open] > summary .ui-icon { transform: rotate(180deg); }
.mn-tcaret .ui-icon { width: 13px; height: 13px; transition: transform .22s cubic-bezier(.22,.61,.36,1); }
.mn-tcaret.open .ui-icon { transform: rotate(180deg); }
.mn-pager button .ui-icon { width: 14px; height: 14px; }
.mn-admin-actions .secondary-button .ui-icon { width: 15px; height: 15px; }
.mn-admin-actions > .row-action .ui-icon { width: 14px; height: 14px; }
.mn-pick-action .ui-icon { width: 15px; height: 15px; }
@keyframes tm-spin { to { transform:rotate(360deg); } }
:root {
  --tm-blue: #2f6fed;
  --tm-blue-soft: #eaf1ff;
  --tm-red: #e0344b;
  --tm-red-soft: #ffeef0;
}
@keyframes sx-spin { to { transform: rotate(360deg); } }
.kn-unit-icon .ui-icon { width: 19px; height: 19px; }
.kn-reorder-hint .ui-icon { width: 16px; height: 16px; flex: 0 0 auto; color: var(--primary); }
.kn-qopen .ui-icon { width: 14px; height: 14px; }
.kn-inherit-note .ui-icon { width: 14px; height: 14px; flex: none; }
.kn-chip .ui-icon { width: 13px; height: 13px; }
.kns-all-arrow .ui-icon { width: 17px; height: 17px; }
.kns-unit-arrow .ui-icon { width: 16px; height: 16px; }
.kns-unit-exam .ui-icon { width: 17px; height: 17px; transition: transform .2s ease; }
.kns-unit-exam:hover .ui-icon { transform: scale(1.08) rotate(-5deg); }
.kn-fam-go .ui-icon { width: 15px; height: 15px; }
.pl-head-actions > button .ui-icon { width: 19px; height: 19px; }
.pl-mode-tab .ui-icon { width: 20px; height: 20px; }
.pl-brandbar-title .ui-icon { width: 19px; height: 19px; }
.pl-brand-all .ui-icon { width: 15px; height: 15px; }
.pl-save-btn .ui-icon { width: 18px; height: 18px; }
.pl-mini-btn .ui-icon { width: 15px; height: 15px; }
.pl-modal-meta .ui-icon { width: 17px; height: 17px; }
.pl-ws-card h4 .ui-icon { width: 19px; height: 19px; color: var(--orange); }
.pl-ws-cta button .ui-icon { width: 19px; height: 19px; }
.pl-adm-meta .ui-icon { width: 14px; height: 14px; }
.pl-edit-preview h4 .ui-icon { width: 15px; height: 15px; color: var(--orange); }
.pl-chip-all-icon .ui-icon { width: 20px; height: 20px; }
.pl-mode-tab[data-pl-mode="roadmap"] .ui-icon { width: 22px; height: 22px; }
.pl-rm-expand .ui-icon { width: 16px; height: 16px; transition: transform .2s ease; }
.pl-rm-item.on .pl-rm-expand .ui-icon { transform: rotate(180deg); }
.pl-rm-actions .primary-button,
.pl-rm-actions .secondary-button {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: 31px;
  justify-content: center;
  padding-inline: 8px;
  border-radius: 9px;
  font-size: .66rem;
}
.pl-rm-actions .ui-icon { width: 13px; height: 13px; }
.pl-ws-copy strong .ui-icon { width: 20px; height: 20px; color: var(--orange); }
.pl-scope-selected button .ui-icon { width: 13px; height: 13px; color: #b26d48; }
.pl-ws-lessons > li button .ui-icon { width: 13px; height: 13px; }
.pl-adm-actions > .row-action .ui-icon { width: 17px; height: 17px; }
.pl-tool-btn .ui-icon { width: 15px; height: 15px; }
.pl-weak h4 .ui-icon { color: #d8734a; }
.pl-pct-icon .ui-icon { width: 15px; height: 15px; }
.pl-score-icon .ui-icon { width: 18px; height: 18px; }
.pl-report-head b .ui-icon { width: 18px; height: 18px; color: var(--orange); }
.pl-report-chev .ui-icon { width: 18px; height: 18px; }
.plrep-warn .ui-icon { width: 15px; height: 15px; flex: 0 0 15px; margin-top: 2px; color: #2471a3; }
@keyframes plLogoLive {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--pl-brand, var(--orange)) 45%, transparent); transform: scale(1); }
  50% { box-shadow: 0 0 0 10px color-mix(in srgb, var(--pl-brand, var(--orange)) 0%, transparent); transform: scale(1.14); }
}
.plan-public .store-public-brand .brand-mark { background: none; }
.pl-rm-go.locked .ui-icon { width: 15px; height: 15px; margin-inline-end: 5px; }
.pl-ctx-note .ui-icon { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 4px; }
.store-public-foot .foot-brand { color: var(--orange); font-weight: 900; text-decoration: none; }
.store-public-foot .foot-brand:hover { text-decoration: underline; }
.qw-topbar .primary-button,
.qw-topbar .secondary-button { min-height: 34px; padding: 6px 13px; font-size: 10.5px; }
.qw-folder-chip .ui-icon { width: 14px; height: 14px; }
.qw-mfolder-title .ui-icon { width: 15px; height: 15px; color: var(--muted); }
.qw-mfolder.is-on .qw-mfolder-title .ui-icon { color: #168878; }
.qw-mfolder-range bdi { color: #5c5749; }
.qw-mfolder-btn .ui-icon { width: 13px; height: 13px; }
.qw-ai-btn .ui-icon { width: 13px; height: 13px; }
.qai-warnings strong .ui-icon { width: 13px; height: 13px; }
.qai-loader > span .ui-icon { width: 22px; height: 22px; }
@keyframes qaiSpin { to { transform: rotate(360deg); } }
.qw-card-action .ui-icon { width: 12px; height: 12px; }
.qw-topic-chip > button .ui-icon { width: 11px; height: 11px; }
.qw-eq-mini .ui-icon { width: 11px; height: 11px; }
.qw-eq-block .ui-icon { flex: 0 0 auto; width: 11px; height: 11px; margin-top: 2px; }
.qw-row-remove .ui-icon { width: 12px; height: 12px; }
@keyframes qwFlash {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 107, 24, 0); }
  30% { box-shadow: 0 0 0 4px rgba(255, 107, 24, .22); }
}
.secondary-button.block, .primary-button.block { width: 100%; justify-content: center; margin-top: 8px; }
.ghost-button.danger { color: var(--red); }
:root {
  --sdash-pink: #c9558b;
  --sdash-green: #2f9e6b;
  --sdash-indigo: #5566cf;
  --sdash-slate: #5d7186;
}
.sdash-access-icon .ui-icon { width: 21px; height: 21px; }
.sdash-chart-icon .ui-icon { width: 17px; height: 17px; }
.sdash-chart footer .ui-icon { width: 14px; height: 14px; flex: none; }
.sdash-col > header .ui-icon { width: 16px; height: 16px; color: var(--muted); }
.sdash-row-icon .ui-icon { width: 16px; height: 16px; }
.sdash-row .primary-button, .sdash-row .ghost-button { flex: none; padding: 5px 10px; font-size: 11px; }
.sdash-row .ghost-button .ui-icon, .sdash-row .primary-button .ui-icon { width: 14px; height: 14px; }
.sdash-set-group h4 .ui-icon { width: 16px; height: 16px; color: var(--muted); }
.sdash-quota-buy .ui-icon { width: 12px; height: 12px; }
.sdash-perf footer .ui-icon { width: 14px; height: 14px; flex: none; }
.sdash-perf-link .ui-icon { width: 13px; height: 13px; }
.sdash-perf-help > .ui-icon { width: 14px; height: 14px; }
.sdash-level-facts .sdash-fact-icon .ui-icon { width: 13px; height: 13px; }
.sdash-skeleton { display: grid; gap: 9px; }
.sdash-skeleton i {
  display: block; height: 13px; border-radius: 7px;
  background: linear-gradient(90deg, var(--line), var(--panel-soft), var(--line));
  background-size: 200% 100%; animation: sdashShimmer 1.3s ease-in-out infinite;
}
.sdash-skeleton i:nth-child(1) { width: 100%; height: 30px; }
.sdash-skeleton i:nth-child(2) { width: 78%; }
.sdash-skeleton i:nth-child(3) { width: 52%; }
@keyframes sdashShimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.sdash-konkur-buy .ui-icon { width: 16px; height: 16px; }
.sdash-chart.week .sdash-chart-icon .ui-icon { width: 20px; height: 20px; }
.sdash-locked-icon .ui-icon { width: 20px; height: 20px; }
.sdash-locked-tick .ui-icon { width: 15px; height: 15px; }
.sdash-locked-note .ui-icon { width: 14px; height: 14px; }
.sdash-alert-icon .ui-icon { width: 17px; height: 17px; }
.sdash-alert-go .ui-icon { width: 16px; height: 16px; }
.sdash-col-more .ui-icon { width: 14px; height: 14px; }
.sdash-activity-head > .ui-icon { width: 17px; height: 17px; color: var(--muted); }
.sdash-activity-cell .ui-icon { width: 13px; height: 13px; flex: none; }
.sdash-activity-cell.danger .ui-icon, .sdash-activity-cell.danger b { color: var(--red); }
.sdash-activity-cell.warn .ui-icon, .sdash-activity-cell.warn b { color: var(--yellow); }
.sdash-activity-cell.info .ui-icon, .sdash-activity-cell.info b { color: var(--blue); }
.pquota-hero .ui-icon { width: 24px; height: 24px; flex: none; color: var(--orange); }
.demo-hero .ui-icon { width: 24px; height: 24px; flex: none; color: var(--purple); }
.demo-rules .ui-icon { width: 15px; height: 15px; flex: none; margin-top: 3px; color: var(--orange); }
.demo-pick-tick .ui-icon { width: 13px; height: 13px; }
body.ax-body { background: radial-gradient(circle at 78% -4%, rgba(255, 184, 126, .16), transparent 30rem), var(--bg); }
.ax-brand-mark {
  width: 38px; height: 28px; flex: 0 0 38px; display: grid; place-items: center;
}
.ax-brand-mark > img, .ax-brand-mark > svg { width: 100%; height: 100%; object-fit: contain; display: block; }
.ax-brand-copy { display: grid; line-height: 1.5; }
.ax-brand-copy b { font-size: 13.5px; }
.ax-brand-copy small { font-size: 10.5px; color: var(--muted); }
@keyframes axFlash { from { box-shadow: 0 0 0 3px var(--orange-soft), 0 0 0 4px var(--orange); } to { box-shadow: var(--shadow); } }
.axm-add > .primary-button { justify-self: start; }
.axm-add-row .primary-button { flex: 0 0 auto; height: 38px; }
.axm-row-actions .ghost-button { padding: 7px 11px; font-size: 11px; }
.ghost-button.danger { color: var(--red); }
.ghost-button.danger:hover { border-color: var(--red); }
body:has(.modal-root:not(:empty)) .ax-paper-frame { visibility: hidden; }
body:has(#appUpdateBar) .toast-stack { bottom: 74px; }
@keyframes smx-twinkle {
  0%, 100% { opacity: 1; transform: rotate(0deg) scale(1); }
  50%      { opacity: .78; transform: rotate(-8deg) scale(1.08); }
}
.smx-resume-icon .ui-icon { width: 22px; height: 22px; }
.smx-how-card i .ui-icon { width: 17px; height: 17px; }
.smx-chip button .ui-icon { width: 11px; height: 11px; }
.smx-launch-stat .ui-icon { width: 15px; height: 15px; }
.smx-history h3 .ui-icon { width: 17px; height: 17px; color: var(--smx); }
.exam-runner-smart .er-title strong .ui-icon { width: 18px; height: 18px; color: var(--purple); }
.smx-continue .ui-icon { width: 15px; height: 15px; }
.smx-autofinish-icon .ui-icon { width: 27px; height: 27px; }
.smx-stop-note .ui-icon { width: 18px; height: 18px; flex: none; color: var(--purple); }
.mkm .mkm-fa {
  font-size: 1em;
  font-family: "Vazirmatn", Tahoma, sans-serif;
  font-feature-settings: "ss01";
  direction: rtl;
  unicode-bidi: isolate;
}
.mkm-error {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  padding: 1px 7px;
  border: 1px dashed var(--red);
  border-radius: 7px;
  background: var(--red-soft);
  color: #a63b3b;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  white-space: pre-wrap;
}
.rte-btn .ui-icon { width: 15px; height: 15px; }
.rte-font-trigger .ui-icon { width: 12px; height: 12px; }
.qw-ai-reference > header button .ui-icon { width: 14px; height: 14px; }
span[style*="background-color"],
b[style*="background-color"],
strong[style*="background-color"],
i[style*="background-color"],
em[style*="background-color"],
u[style*="background-color"],
s[style*="background-color"],
sub[style*="background-color"],
sup[style*="background-color"],
mark[style*="background-color"],
a[style*="background-color"],
font[style*="background-color"] {
  padding: 0.14em 0.1em;
  border-radius: 0.3em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.rte-btn-m .ui-icon { width: 14px; height: 14px; }
.sq-rich-body .katex .mkm-fa { font-weight: 700; }
.rte-area[data-rte-key="body"] .katex .mkm-fa { font-weight: 700; }
.brw-actions .primary-button[disabled] { opacity: .45; cursor: not-allowed; box-shadow: none; }
.mkm .mkm-fa { font-family: var(--q-font); }
.mkm .katex .accent .accent-body.mkm-vec-body { width: 100%; height: 0.714em; }
.mkm-vec {
  --vec-t: 0.05em; --vec-hw: 0.32em; --vec-h: 0.25em;
  position: absolute; top: calc(0.198em - var(--vec-h)); left: 50%;
  transform: translateX(-50%);
  width: 100%; min-width: 0.64em; height: var(--vec-h);
  display: flex; align-items: center;
}
.mkm-vec .mkm-vec-bar {
  flex: 1 1 auto; height: var(--vec-t); min-height: 0.75px;
  margin-right: calc(-1 * var(--vec-t)); /* میله زیرِ کفِ نوک می‌رود تا درزی نماند */
}
.mkm-vec .mkm-vec-tip { flex: none; width: var(--vec-hw); height: var(--vec-h); }
.mkm .katex .mkm-vec svg { position: static; display: block; width: 100%; height: 100%; stroke: none; }
@keyframes up-stripes { from { background-position: 0 0; } to { background-position: 18px 0; } }
.shop-loading .ui-icon { width: 18px; height: 18px; animation: shop-spin 1s linear infinite; }
@keyframes shop-spin { to { transform: rotate(360deg); } }
.shop-hero-points .ui-icon { width: 16px; height: 16px; color: #7fd6c3; }
.shop-owned .ui-icon { width: 14px; height: 14px; }
.shop-card-actions .primary-button { flex: 1; justify-content: center; }
.shop-mine-dot .ui-icon { width: 20px; height: 20px; }
.shop-breadcrumb button .ui-icon { width: 14px; height: 14px; }
.shop-buybox h3 .ui-icon { width: 16px; height: 16px; color: var(--shop-accent); }
.shop-buybox .primary-button, .shop-buybox .secondary-button { width: 100%; justify-content: center; }
.shop-sec-head .ui-icon { width: 17px; height: 17px; color: var(--shop-accent, var(--blue)); }
.shop-clamp-more .ui-icon { width: 15px; height: 15px; transition: transform .18s; }
.shop-clamp.open .shop-clamp-more .ui-icon { transform: rotate(180deg); }
.shop-spec-mark .ui-icon { width: 15px; height: 15px; stroke-width: 2.6; }
.shop-book-group > summary .ui-icon { width: 15px; height: 15px; color: var(--muted); transition: transform .18s; }
.shop-book-group[open] > summary .ui-icon { transform: rotate(180deg); }
.shop-block-head .ui-icon { width: 18px; height: 18px; color: var(--shop-accent, var(--blue)); }
.shop-highlights .ui-icon { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--teal); }
.shop-faq summary .ui-icon { width: 16px; height: 16px; color: var(--muted); transition: transform .18s ease; }
.shop-faq details[open] summary .ui-icon { transform: rotate(180deg); }
.shop-login-note .ui-icon { width: 15px; height: 15px; }
.shop-order-check .ui-icon { width: 30px; height: 30px; }
.store-public { min-height: 100vh; display: grid; grid-template-rows: auto 1fr auto; }
.store-public-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px 26px; background: var(--panel); border-bottom: 1px solid var(--line);
  position: sticky; top: 0; z-index: 20;
}
.store-public-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; }
.store-public-brand .brand-mark { display: grid; place-items: center; width: 40px; height: 30px; flex: 0 0 40px; }
.store-public-brand .brand-type { height: 20px; margin-bottom: 1px; }
.store-public-brand strong { display: block; font-size: 14px; font-weight: 900; }
.store-public-brand small { font-size: 10.5px; color: var(--muted); }
.store-public-actions { display: flex; align-items: center; gap: 8px; }
.store-public .content { padding: 24px 26px 40px; max-width: 1280px; width: 100%; margin: 0 auto; }
.store-public-foot { padding: 16px 26px; border-top: 1px solid var(--line); font-size: 11px; color: var(--muted); text-align: center; }
.shop-lock-art .ui-icon { width: 34px; height: 34px; }
.shop-lock-cap .ui-icon, .shop-lock-expired .ui-icon { width: 15px; height: 15px; }
.sx-tab .ui-icon { width: 16px; height: 16px; }
.shop-admin-card footer .secondary-button, .shop-admin-card footer .ghost-button { font-size: 11px; padding: 6px 10px; }
.shop-editor-block > h3 .ui-icon { width: 16px; height: 16px; color: var(--orange); }
.shop-pricing-block h3 .ui-icon { width: 17px; height: 17px; color: var(--orange); }
.shop-grant-picked .ghost-button { flex: none; min-height: 34px; }
@media (max-width: 900px) {
.store-public .content { padding: 18px 14px 32px; }
.store-public-bar { padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
.shop-loading .ui-icon { animation: none; }
}
.shop-card-value .ui-icon { width: 14px; height: 14px; }
.shop-card-actions .primary-button,
.shop-card-actions .ghost-button {
  min-height: 44px;
  padding-inline: 8px;
  border-radius: 10px;
  font-size: 9.75px;
}
@media (max-width: 1440px) {
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { min-height: 44px; }
}
@media (max-width: 720px) {
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { min-height: 44px; }
}
@media (max-width: 390px) {
.store-public .content { padding-inline: 9px; }
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { min-height: 44px; padding-inline: 5px; font-size: 9px; }
}
.shop-exam-admin-note > .ui-icon { flex: none; width: 19px; height: 19px; margin-top: 1px; }
.shop-exam-admin-note.estimated > .ui-icon { color: #a87500; }
.shop-exam-admin-note.official > .ui-icon { color: var(--teal); }
.store-public {
  background:
    radial-gradient(circle at 86% 1%, rgba(70, 118, 232, .08), transparent 31rem),
    var(--bg);
}
.store-public-bar {
  position: sticky;
  inset-block-start: 0;
  z-index: 40;
  min-height: 68px;
  padding: 12px max(24px, calc((100vw - 1400px) / 2));
  border-bottom-color: color-mix(in srgb, var(--line) 78%, transparent);
  background: color-mix(in srgb, var(--panel) 88%, transparent);
  box-shadow: 0 1px 0 rgba(24, 36, 60, .025);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
.store-public-brand .brand-mark {
  border-radius: 0;
  background: none;
}
.store-public-actions .primary-button { min-height: 42px; }
.store-public .content {
  width: 100%;
  max-width: 1440px;
  padding: 28px 24px 54px;
}
.store-public-foot { background: color-mix(in srgb, var(--panel) 70%, transparent); }
.shop-hero-points .ui-icon { color: #83d8c7; stroke-width: 2; }
.shop-card-value .ui-icon {
  flex: none;
  width: 17px;
  height: 17px;
  color: var(--shop-accent);
}
.shop-exam-help .ui-icon,
.shop-exam-help-icon {
  display: block;
  width: 15px;
  height: 15px;
  stroke-width: 2;
}
.shop-card-actions .primary-button,
.shop-card-actions .ghost-button {
  width: 100%;
  min-height: 44px;
  height: auto;
  padding-inline: 10px;
  border-radius: 12px;
  font-size: 10.75px;
  white-space: nowrap;
}
.shop-card-actions .primary-button {
  background: var(--shop-navy);
  box-shadow: 0 9px 18px rgba(24, 36, 60, .14);
}
.shop-card-actions .primary-button:hover { background: #233552; }
.shop-card-actions .ghost-button {
  border: 1px solid var(--shop-border);
  background: var(--panel);
  color: var(--ink);
}
.shop-exam-end .ui-icon { width: 15px; height: 15px; }
.shop-exam-dialog .ui-icon { flex: none; width: 20px; height: 20px; color: #9b7100; }
.shop-filter-chip:focus-visible,
.shop-filter-reset:focus-visible,
.shop-card-actions button:focus-visible,
.shop-exam-help:focus-visible,
.shop-buy:focus-visible,
.shop-breadcrumb button:focus-visible,
.store-public a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--blue) 38%, transparent);
  outline-offset: 2px;
}
@media (max-width: 720px) {
.store-public-bar { min-height: 62px; padding: 10px 14px; }
.store-public-brand small { display: none; }
.store-public-actions .primary-button { min-height: 40px; padding-inline: 12px; font-size: 11px; }
.store-public .content { padding: 16px 14px 36px; }
}
@media (max-width: 420px) {
.store-public .content { padding-inline: 11px; }
.store-public-brand strong { font-size: 12.5px; }
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { min-height: 46px; padding-inline: 7px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
.shop-loading .ui-icon { animation: none; }
}
.shop-card-actions .primary-button,
.shop-card-actions .ghost-button {
  min-height: 44px;
  padding-inline: 8px;
  border-radius: 10px;
  font-size: 9.75px;
}
@media (max-width: 720px) {
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { min-height: 44px; }
}
@media (max-width: 390px) {
.store-public .content { padding-inline: 9px; }
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { min-height: 44px; padding-inline: 5px; font-size: 9px; }
}
.shop-card-actions .primary-button,
.shop-card-actions .ghost-button {
  min-height: 44px;
  font-size: 11.5px;
  line-height: 1.3;
}
@media (max-width: 720px) {
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { min-height: 44px; font-size: 10.75px; }
}
@media (max-width: 420px) {
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { font-size: 10.5px; }
}
@media (max-width: 390px) {
.store-public .content { padding-inline: 9px; }
}
.shop-side-reset .ui-icon { width: 13px; height: 13px; }
.shop-card-actions .primary-button,
.shop-card-actions .ghost-button { min-height: 46px; font-size: 12.5px; }
.shop-exam-pick .ui-icon,
.shop-exam-pick-icon {
  display: block;
  flex: none;
  width: 13px;
  height: 13px;
  margin: 0;
  stroke-width: 2.8;
  vertical-align: middle;
}
.shop-card-actions .primary-button,
.shop-card-actions .ghost-button { min-height: 40px; }
@media (max-width: 720px) {
.shop-card-actions .primary-button,
  .shop-card-actions .ghost-button { min-height: 44px; }
}
.fst-tool .ui-icon { width: 15px; height: 15px; }
.fst-ai-icon .ui-icon { width: 21px; height: 21px; }
.fst-ai-start .primary-button { white-space: nowrap; }
.fst-ai-result .ui-icon { width: 15px; height: 15px; color: var(--teal); }
.fst-del .ui-icon { width: 12px; height: 12px; }
.fst-solve .ui-icon { width: 11px; height: 11px; }
@media (max-width: 900px) {
.fst-ai-start .primary-button { grid-column: 1 / -1; width: 100%; }
}
.pstudio-credit .ui-icon { width: 15px; height: 15px; color: var(--orange); }
.pcredit-hero .ui-icon { width: 26px; height: 26px; flex: none; color: var(--orange); }
.pcredit-buy h4 .ui-icon { width: 15px; height: 15px; color: var(--teal); }
.pcredit-modal .primary-button[disabled] { opacity: .45; cursor: not-allowed; }
.pcredit-note .ui-icon { width: 17px; height: 17px; flex: none; margin-top: 1px; color: var(--orange); }
.pcredit-history h4 .ui-icon { width: 15px; height: 15px; color: var(--muted); }
.shop-order-reward .ui-icon { width: 17px; height: 17px; flex: none; color: #1f7a5f; }
.pcw-search > .ui-icon {
  position: absolute; inset-inline-start: 12px; width: 15px; height: 15px;
  color: var(--muted); pointer-events: none;
}
.pcw-charge .ui-icon { width: 14px; height: 14px; color: var(--orange); }
.pcw-charge:hover .ui-icon { color: #c05212; }
.pcw-empty-icon .ui-icon { width: 20px; height: 20px; }
.srep-toolbar-label .ui-icon { width: 15px; height: 15px; }
.srep-range-note .ui-icon { width: 14px; height: 14px; }
.srep-kpi-icon .ui-icon { width: 18px; height: 18px; }
.srep-kpi-delta .ui-icon { width: 12px; height: 12px; }
.srep-block-head h3 .ui-icon { width: 17px; height: 17px; color: var(--orange); }
.srep-tagline .ui-icon { width: 14px; height: 14px; }
.srep-empty .ui-icon { width: 26px; height: 26px; opacity: .55; }
.srep-subtable h4 .ui-icon { width: 15px; height: 15px; color: var(--muted); }
.srep-foot .ui-icon { width: 15px; height: 15px; flex: 0 0 auto; margin-top: 2px; }
.srep-kpi.compact .srep-kpi-icon .ui-icon { width: 15px; height: 15px; }
.srep-kpi.compact .srep-kpi-delta .ui-icon { width: 10px; height: 10px; }
.rb-empty-stages .primary-button { margin-top: 6px; }
.rb-empty-actions .primary-button { margin-top: 0; }
.rb-stage-admin-actions .ghost-button { display: inline-flex; align-items: center; gap: 5px; }
.rb-stage-admin-actions .ghost-button svg { width: 14px; height: 14px; }
.rb-stage-admin-actions .ghost-button.danger { color: var(--red); }
@media (max-width: 720px) {
.rb-board-actions .secondary-button,
  .rb-board-actions .primary-button { flex: 1 1 140px; min-width: 0; justify-content: center; white-space: normal; line-height: 1.6; text-align: center; }
}
.rfx-invite-start .primary-button { justify-self: center; }
.rfx-link-box .primary-button { flex: none; }
.rfx-code-row .ghost-button { margin-inline-start: auto; }
.rfa-settings .primary-button { justify-self: start; }
.rfa-actions .primary-button, .rfa-actions .ghost-button { padding: 6px 12px; font-size: 11.5px; }
@media (max-width: 560px) {
.rfx-tabs-panel .sx-tab .ui-icon { display: none; }
.rfx-link-box .primary-button { width: 100%; justify-content: center; }
}
.orgm-page-head .primary-button { box-shadow: 0 8px 18px rgba(240, 96, 0, .18); }
.orgm-summary-icon .ui-icon { width: 24px; height: 24px; }
.orgm-profile-note .ui-icon { width: 13px; height: 13px; flex: none; margin-block-start: 4px; }
.sp-scope-chip .ui-icon { width: 13px; height: 13px; }
.orgm-clear-filters .ui-icon { width: 14px; height: 14px; }
.orgm-bulkbar .secondary-button, .orgm-bulkbar .ghost-button { padding: 6px 11px; font-size: 11.5px; }
.orgm-bulkbar .ghost-button.danger { color: var(--red); }
.orgm-readonly .ui-icon { width: 15px; height: 15px; }
.orgm-state .ui-icon { width: 13px; height: 13px; }
.orgm-action-popover .ui-icon { width: 14px; height: 14px; }
.orgm-filter-empty > .ui-icon { width: 28px; height: 28px; margin-bottom: 3px; color: #bbb3a8; }
.orgm-pager .ghost-button { padding: 6px 12px; font-size: 11.5px; }
.orgm-page.nav .ui-icon { width: 15px; height: 15px; }
.orgm-hint .ui-icon { width: 15px; height: 15px; flex: none; margin-block-start: 3px; }
.orgm-coop-lesson .secondary-button, .orgm-coop-lesson .primary-button, .orgm-coop-lesson .ghost-button {
  padding: 6px 10px; font-size: 11px;
}
.orgm-coop-bk > .ghost-button { margin: 9px 12px; padding: 6px 11px; font-size: 11.5px; }
.orgm-modal-title > span .ui-icon { width: 31px; height: 31px; }
.orgm-import-note .ui-icon { width: 13px; height: 13px; flex: none; margin-block-start: 3px; }
@media (max-height: 780px) and (min-width: 521px) {
.orgm-modal-title > span .ui-icon { width: 27px; height: 27px; }
}
@media (max-width: 520px) {
.orgm-student-footer > .ghost-button { order: 2; justify-content: center; }
}
body.has-landing {
  /* درخشش نارنجیِ گوشهٔ بدنه با گرادیانِ خودِ هیرو دوبار می‌افتد. */
  background: var(--bg);
}
.lp-page :where(h1, h2, h3, h4, p, ul, ol) { margin: 0; }
.lp-page :where(ul, ol) { padding: 0; list-style: none; }
.lp-brand-mark { display: grid; place-items: center; width: 42px; height: 32px; flex: 0 0 42px; }
.lp-brand-mark img { width: 100%; height: 100%; object-fit: contain; }
@keyframes lp-sheet-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes lp-drift-a { 0%, 100% { transform: none; } 50% { transform: translate3d(5%, 7%, 0) scale(1.12); } }
@keyframes lp-drift-b { 0%, 100% { transform: none; } 50% { transform: translate3d(-6%, 6%, 0) scale(1.08); } }
@keyframes lp-drift-c { 0%, 100% { transform: none; } 50% { transform: translate3d(4%, -7%, 0) scale(1.1); } }
@keyframes lp-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes lp-pulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(18, 124, 68, 0.18); } 50% { box-shadow: 0 0 0 6px rgba(18, 124, 68, 0.04); } }
@keyframes lp-underline { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes lp-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes lp-radar-in { from { opacity: 0; transform: scale(0.35); } to { opacity: 1; transform: scale(1); } }
@keyframes lp-bar-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes lp-cell-in { from { opacity: 0; transform: scale(0.5); } to { opacity: 1; transform: none; } }
.lp-sk-tile { width: 52px; height: 52px; border-radius: 16px; }
.lp-sk-title { width: 56%; height: 19px; margin-top: 12px; }
.lp-sk-line { height: 11px; margin-top: 9px; }
.lp-sk-price { width: 48%; height: 26px; margin-top: 26px; }
@keyframes lp-sk { from { background-position: 220% 0; } to { background-position: -20% 0; } }
.lp-foot-brand p { margin-top: 14px; max-width: 34ch; font-size: 12.5px; line-height: 2.1; color: var(--lp-on-dark-3); }
.hdoc-public { background: radial-gradient(circle at 88% 0%, rgba(70, 118, 232, .07), transparent 30rem), var(--bg); }
.hdoc-shell {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr) 214px;
  gap: 30px;
  width: 100%;
  max-width: 1340px;
  margin: 0 auto;
  padding: 24px 26px 56px;
  align-items: start;
}
.hdoc-shell:not(:has(.hdoc-toc)) { grid-template-columns: 250px minmax(0, 1fr); }
.hdoc-side {
  position: sticky; top: 74px;
  max-height: calc(100vh - 96px);
  overflow: auto;
  overscroll-behavior: contain;
  padding-inline-end: 4px;
}
.hdoc-search {
  display: flex; align-items: center; gap: 8px;
  padding: 0 10px; margin-bottom: 14px;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 12px; box-shadow: var(--shadow);
  position: sticky; top: 0; z-index: 2;
}
.hdoc-search .ui-icon { width: 16px; height: 16px; color: var(--muted); flex: 0 0 16px; }
.hdoc-search input {
  flex: 1 1 auto; min-width: 0; border: 0; background: none; outline: none;
  padding: 10px 0; font: inherit; font-size: 12.5px; color: var(--ink);
}
.hdoc-search input::-webkit-search-cancel-button { display: none; }
.hdoc-search-clear {
  display: none; border: 0; background: none; padding: 4px; cursor: pointer;
  color: var(--muted); border-radius: 8px;
}
.hdoc-search-clear.show { display: grid; place-items: center; }
.hdoc-search-clear:hover { background: var(--panel-soft); color: var(--ink); }
.hdoc-search-clear .ui-icon { width: 13px; height: 13px; }
.hdoc-tree { display: grid; gap: 4px; }
.hdoc-tree-head {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 10px; border-radius: 10px;
  font-size: 12.5px; font-weight: 800; color: var(--ink); text-decoration: none;
}
.hdoc-tree-head:hover { background: var(--panel-soft); }
.hdoc-tree-head .ui-icon { width: 15px; height: 15px; color: var(--muted); flex: 0 0 15px; }
.hdoc-tree-head span { flex: 1 1 auto; min-width: 0; }
.hdoc-tree-head em {
  font-style: normal; font-size: 10px; font-weight: 800; color: var(--muted);
  background: var(--panel-soft); border: 1px solid var(--line);
  border-radius: 999px; padding: 1px 6px;
}
.hdoc-tree-group.open > .hdoc-tree-head { color: var(--orange); }
.hdoc-tree-group.open > .hdoc-tree-head .ui-icon { color: var(--orange); }
.hdoc-tree-list { display: none; margin: 2px 0 8px; padding: 0 6px 0 0; list-style: none; }
.hdoc-tree-group.open .hdoc-tree-list { display: block; }
.hdoc-tree-item {
  display: block; padding: 6px 12px 6px 8px;
  border-inline-start: 2px solid var(--line);
  font-size: 12px; line-height: 1.85; color: var(--muted); text-decoration: none;
}
.hdoc-tree-item:hover { color: var(--ink); border-inline-start-color: var(--rb-border); }
.hdoc-tree-item.on {
  color: var(--orange); font-weight: 800;
  border-inline-start-color: var(--orange);
  background: var(--orange-soft);
  border-radius: 0 8px 8px 0;
}
.hdoc-main { min-width: 0; }
.hdoc-crumbs {
  display: flex; align-items: center; flex-wrap: wrap; gap: 4px;
  margin-bottom: 14px; font-size: 11px; color: var(--muted);
}
.hdoc-crumbs a { color: var(--muted); text-decoration: none; }
.hdoc-crumbs a:hover { color: var(--orange); }
.hdoc-crumbs .ui-icon { width: 12px; height: 12px; opacity: .6; }
.hdoc-crumbs span[aria-current] { color: var(--ink); font-weight: 800; }
.hdoc-hero {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 26px 24px; margin-bottom: 20px;
}
.hdoc-hero.compact { padding: 20px 22px; }
.hdoc-hero h1 { margin: 0 0 8px; font-size: 22px; font-weight: 900; line-height: 1.7; }
.hdoc-hero.compact h1 { font-size: 19px; }
.hdoc-hero p { margin: 0; font-size: 13px; line-height: 2.1; color: var(--muted); max-width: 70ch; }
.hdoc-hero small { display: block; margin-top: 10px; font-size: 11px; color: var(--muted); }
.hdoc-hero-icon {
  display: grid; place-items: center; width: 44px; height: 44px;
  border-radius: 14px; background: var(--orange-soft); color: var(--orange); margin-bottom: 12px;
}
.hdoc-hero-icon .ui-icon { width: 22px; height: 22px; }
.hdoc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.hdoc-card {
  display: grid; gap: 6px; align-content: start;
  padding: 18px 18px 16px; text-decoration: none; color: inherit;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 16px; box-shadow: var(--shadow);
  transition: transform var(--motion-fast) var(--ease-pop), border-color var(--motion-fast);
}
.hdoc-card:hover { transform: translateY(-2px); border-color: var(--orange); }
.hdoc-card-icon {
  display: grid; place-items: center; width: 38px; height: 38px;
  border-radius: 12px; background: var(--blue-soft); color: var(--blue); margin-bottom: 4px;
}
.hdoc-card-icon .ui-icon { width: 19px; height: 19px; }
.hdoc-card b { font-size: 14px; font-weight: 900; }
.hdoc-card small { font-size: 11.5px; line-height: 1.95; color: var(--muted); }
.hdoc-card em { font-style: normal; font-size: 10.5px; font-weight: 800; color: var(--orange); margin-top: 4px; }
.hdoc-list { display: grid; gap: 8px; }
.hdoc-list-row {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; text-decoration: none; color: inherit;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 14px; box-shadow: var(--shadow);
}
.hdoc-list-row:hover { border-color: var(--orange); }
.hdoc-list-num {
  display: grid; place-items: center; width: 26px; height: 26px; flex: 0 0 26px;
  border-radius: 9px; background: var(--panel-soft); border: 1px solid var(--line);
  font-size: 11px; font-weight: 900; color: var(--muted);
}
.hdoc-list-main { display: grid; gap: 3px; flex: 1 1 auto; min-width: 0; }
.hdoc-list-main em { font-style: normal; font-size: 10px; font-weight: 800; color: var(--orange); }
.hdoc-list-main b { font-size: 13px; font-weight: 800; }
.hdoc-list-main small { font-size: 11.5px; line-height: 1.9; color: var(--muted); }
.hdoc-list-row > .ui-icon { width: 15px; height: 15px; color: var(--muted); flex: 0 0 15px; }
.hdoc-article {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 30px 30px 34px;
}
.hdoc-article h1 { margin: 0 0 10px; font-size: 24px; font-weight: 900; line-height: 1.7; }
.hdoc-lead {
  margin: 0 0 22px; padding-bottom: 18px; border-bottom: 1px solid var(--line);
  font-size: 13.5px; line-height: 2.15; color: var(--muted);
}
.hdoc-body { font-size: 13.5px; line-height: 2.25; color: var(--ink); }
.hdoc-body > *:first-child { margin-top: 0; }
.hdoc-body p { margin: 0 0 16px; }
.hdoc-body h2 {
  margin: 36px 0 14px; padding-top: 8px; font-size: 19px; font-weight: 900;
  color: var(--orange); line-height: 1.75; scroll-margin-top: 84px;
}
.hdoc-body h2::after {
  content: ""; display: block; width: 34px; height: 3px; margin-top: 8px;
  border-radius: 3px; background: var(--orange); opacity: .35;
}
.hdoc-body h3 { margin: 28px 0 10px; font-size: 15px; font-weight: 900; color: var(--rb-navy); scroll-margin-top: 84px; }
.hdoc-body h4 { margin: 20px 0 8px; font-size: 13px; font-weight: 800; color: var(--muted); }
.hdoc-body ul, .hdoc-body ol { margin: 0 0 16px; padding-inline-start: 22px; }
.hdoc-body li { margin-bottom: 7px; }
.hdoc-body li::marker { color: var(--orange); font-weight: 800; }
.hdoc-body a { color: var(--orange); font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(255, 107, 24, .3); }
.hdoc-body a:hover { border-bottom-color: var(--orange); }
.hdoc-body strong { font-weight: 900; }
.hdoc-body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
  background: var(--panel-soft); border: 1px solid var(--line);
  border-radius: 6px; padding: 1px 5px; direction: ltr; display: inline-block;
}
.hdoc-body kbd {
  font-family: inherit; font-size: .85em; font-weight: 800;
  background: var(--panel-soft); border: 1px solid var(--line);
  border-bottom-width: 2px; border-radius: 6px; padding: 1px 6px; direction: ltr; display: inline-block;
}
.hdoc-body pre {
  margin: 0 0 16px; padding: 14px 16px; overflow-x: auto;
  background: var(--rb-navy); color: #eef2f6; border-radius: 12px;
  font-size: 12px; line-height: 1.9;
}
.hdoc-body pre code { background: none; border: 0; padding: 0; color: inherit; }
.hdoc-body hr { margin: 26px 0; border: 0; border-top: 1px solid var(--line); }
.hdoc-body img { max-width: 100%; border-radius: 12px; border: 1px solid var(--line); }
.hdoc-table-wrap { overflow-x: auto; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 12px; }
.hdoc-body table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.hdoc-body th, .hdoc-body td { padding: 9px 12px; text-align: start; border-bottom: 1px solid var(--line); }
.hdoc-body th { background: var(--panel-soft); font-weight: 900; white-space: nowrap; }
.hdoc-body tr:last-child td { border-bottom: 0; }
.hdoc-callout {
  display: grid; gap: 4px; margin: 0 0 18px; padding: 14px 16px;
  border: 1px solid var(--line); border-inline-start-width: 3px;
  border-radius: 12px; background: var(--panel-soft); font-size: 12.5px; line-height: 2.1;
}
.hdoc-callout p { margin: 0; }
.hdoc-callout-label { display: block; font-size: 11.5px; font-weight: 900; }
.hdoc-callout.tip { background: var(--teal-soft); border-color: var(--teal); }
.hdoc-callout.tip .hdoc-callout-label { color: var(--teal); }
.hdoc-callout.warn { background: var(--yellow-soft); border-color: var(--yellow); }
.hdoc-callout.warn .hdoc-callout-label { color: #a97c14; }
.hdoc-callout.important { background: var(--red-soft); border-color: var(--red); }
.hdoc-callout.important .hdoc-callout-label { color: var(--red); }
.hdoc-callout.example { background: var(--blue-soft); border-color: var(--blue); }
.hdoc-callout.example .hdoc-callout-label { color: var(--blue); }
.hdoc-figure {
  margin: 0 0 20px; padding: 0;
  border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
  background: var(--panel-soft); box-shadow: var(--shadow);
}
.hdoc-figure img, .hdoc-figure video { display: block; width: 100%; height: auto; border: 0; border-radius: 0; }
.hdoc-figure figcaption {
  padding: 9px 14px; border-top: 1px solid var(--line);
  background: var(--panel); font-size: 11.5px; line-height: 1.95; color: var(--muted);
}
@media (min-width: 861px) {
.hdoc-figure.wide { margin-inline: -14px; }
}
.hdoc-video video { background: #10161d; aspect-ratio: 16 / 9; }
.hdoc-steps {
  margin: 0 0 22px; padding: 18px 20px 8px;
  background: var(--panel-soft); border: 1px solid var(--line);
  border-radius: 14px;
}
.hdoc-steps-title { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 900; color: var(--rb-navy); }
.hdoc-steps ol { margin: 0; padding: 0; list-style: none; counter-reset: hdocstep; }
.hdoc-steps ol > li {
  position: relative; margin: 0 0 14px; padding-inline-start: 38px;
  counter-increment: hdocstep;
}
.hdoc-steps ol > li::before {
  content: counter(hdocstep, persian); position: absolute; inset-inline-start: 0; top: 1px;
  display: grid; place-items: center; width: 26px; height: 26px;
  border-radius: 9px; background: var(--orange); color: #fff;
  font-size: 12px; font-weight: 900; font-variant-numeric: tabular-nums;
}
.hdoc-steps ol > li::marker { content: none; }
.hdoc-steps .hdoc-figure { margin-top: 10px; }
.hdoc-steps > *:last-child { margin-bottom: 12px; }
.hdoc-siblings { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.hdoc-sibling {
  display: grid; gap: 4px; padding: 14px 16px; text-decoration: none; color: inherit;
  background: var(--panel); border: 1px solid var(--line); border-radius: 14px;
}
.hdoc-sibling.ghost { background: none; border: 0; }
.hdoc-sibling:not(.ghost):hover { border-color: var(--orange); }
.hdoc-sibling small { font-size: 10.5px; font-weight: 800; color: var(--muted); }
.hdoc-sibling b { font-size: 12.5px; font-weight: 800; }
.hdoc-sibling.next { text-align: start; }
.hdoc-sibling.prev { text-align: end; }
.hdoc-toc { position: sticky; top: 74px; max-height: calc(100vh - 96px); overflow: auto; }
.hdoc-toc h2 { margin: 0 0 10px; font-size: 11px; font-weight: 900; color: var(--muted); }
.hdoc-toc ul { margin: 0; padding: 0; list-style: none; border-inline-start: 2px solid var(--line); }
.hdoc-toc li a {
  display: block; padding: 5px 12px; font-size: 11.5px; line-height: 1.85;
  color: var(--muted); text-decoration: none;
}
.hdoc-toc li.lvl-3 a { padding-inline-start: 22px; font-size: 11px; }
.hdoc-toc li a:hover { color: var(--orange); }
.hdoc-loading, .hdoc-empty {
  display: grid; justify-items: center; align-content: center; gap: 10px;
  min-height: 46vh; padding: 40px 20px; text-align: center; color: var(--muted);
}
.hdoc-loading .ui-icon, .hdoc-empty .ui-icon { width: 30px; height: 30px; }
.hdoc-loading .ui-icon { animation: hdoc-spin 1s linear infinite; }
@keyframes hdoc-spin { to { transform: rotate(360deg); } }
.hdoc-empty h2 { margin: 0; font-size: 16px; font-weight: 900; color: var(--ink); }
.hdoc-empty p { margin: 0; max-width: 46ch; font-size: 12.5px; line-height: 2; }
.hdoc-side-toggle { display: none; }
@media (max-width: 1120px) {
.hdoc-shell, .hdoc-shell:not(:has(.hdoc-toc)) { grid-template-columns: 240px minmax(0, 1fr); }
.hdoc-toc { display: none; }
}
@media (max-width: 860px) {
.hdoc-shell, .hdoc-shell:not(:has(.hdoc-toc)) { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 16px 14px 40px; }
.hdoc-side { display: none; position: static; max-height: none; }
.hdoc-public.side-open .hdoc-side { display: block; }
.hdoc-side-toggle { display: inline-flex; }
.hdoc-hide-sm { display: none; }
.hdoc-article { padding: 22px 18px 26px; }
.hdoc-article h1 { font-size: 20px; }
.hdoc-siblings { grid-template-columns: 1fr; }
}
.hda-group-head .ui-icon { width: 15px; height: 15px; color: var(--muted); flex: 0 0 15px; }
.hda-icon .ui-icon { width: 13px; height: 13px; }
.hda-add-article .ui-icon { width: 12px; height: 12px; }
.hda-tool .ui-icon { width: 13px; height: 13px; }
.hda-empty .ui-icon { width: 30px; height: 30px; }
.store-public { background: radial-gradient(circle at 78% 0, #fff9e9, transparent 34rem), #f8f9f3; }
.store-public-bar { border-bottom-color: #e3e9df; background: rgba(255, 254, 249, .94); }
.store-public-actions .primary-button,
.store-public-actions .primary-button:hover { background: #1e4b38; }
.shop-page .shop-card-actions .primary-button,
.shop-page .shop-buybox .shop-buy { border-color: #1e4b38; background: #1e4b38; color: #fff; box-shadow: 0 8px 18px rgba(30, 75, 56, .18); }
.shop-page .shop-card-actions .primary-button:hover,
.shop-page .shop-buybox .shop-buy:hover { border-color: #127c44; background: #127c44; }
.shop-page .shop-card-actions .ghost-button { border-color: #d5e2d5; background: #fffefa; color: #254a35; }
.shop-page .shop-card-actions .ghost-button:hover { border-color: #94b69b; background: #f2f8ef; }
@keyframes shop-wheel-pulse {50%{transform:rotate(18deg) scale(1.06)}}
.shop-wheel-admin-row .ghost-button {min-width:38px;height:40px;padding:5px}
.auth-gate .auth-submit.xl-auth-alt,
.auth-submit.xl-auth-alt {
  background: var(--panel); background-image: none; color: var(--ink);
  border: 1px solid var(--line); box-shadow: none;
}
.xl-cta > .primary-button, .xl-cta > .ghost-button { width: 100%; justify-content: center; }
thead .pr-sticky-rank, thead .pr-sticky-name { z-index: 3; }
@container pr-overview (max-width: 860px) {
  .rr-ov-stats.pr-ov-stats, .rr-ov-stats.pr-ov-stats:not(:has(.tone-ink)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container pr-overview (max-width: 520px) {
  .rr-ov-stats.pr-ov-stats, .rr-ov-stats.pr-ov-stats:not(:has(.tone-ink)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rr-ov-stats.pr-ov-stats > .pr-mix-tile,
  .rr-ov-stats.pr-ov-stats > article.hero { grid-column: 1 / -1; }
}
@container pr-overview (max-width: 620px) {
  .pr-podium { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; align-items: end; }
  .pr-podium-card { padding: 22px 4px 8px; gap: 2px; border-radius: 12px; }
  .pr-podium-card.r1 { order: 2; padding-top: 30px; }
  .pr-podium-card.r2 { order: 1; }
  .pr-podium-card.r3 { order: 3; }
  .pr-podium-card .pr-avatar { width: 40px; height: 40px; font-size: 15px; margin-bottom: 2px; box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #efe0cb; }
  .pr-podium-card.r1 .pr-avatar { width: 48px; height: 48px; box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #f5c15c; }
  .pr-podium-card.r2 .pr-avatar { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #b8c2cc; }
  .pr-podium-card.r3 .pr-avatar { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #e0a878; }
  .pr-podium-card > b { font-size: 11px; max-width: 100%; white-space: normal; overflow: hidden; text-overflow: clip; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-align: center; }
  .pr-podium-card strong { font-size: 15px; margin-top: 2px; }
  .pr-podium-card em b { font-size: 11px; }
  .pr-medal { width: 20px; height: 20px; font-size: 10.5px; top: 5px; inset-inline-start: 5px; }
}
.edu-card-icon .ui-icon { width: 17px; height: 17px; }
.edu-card-link .ui-icon { width: 14px; height: 14px; }
.edu-empty-chart > .ui-icon { width: 26px; height: 26px; opacity: .55; }
.edu-kpi-icon .ui-icon { width: 20px; height: 20px; }
.edu-todo-icon .ui-icon { width: 16px; height: 16px; }
.edu-todo li .ghost-button { flex: none; white-space: nowrap; font-size: 11.5px; }
.edu-todo li .ghost-button .ui-icon { width: 13px; height: 13px; }
@media (max-width: 560px) {
.edu-todo li .ghost-button { margin-inline-start: auto; }
}
em.good, .edu-cell-bar em.good { color: var(--teal); }
em.mid, .edu-cell-bar em.mid { color: var(--yellow); }
em.low, .edu-cell-bar em.low { color: var(--red); }
em.none { color: var(--muted); }
@media (max-width: 620px) {
.edu-exam .icon-button { grid-row: 1; grid-column: 2; }
}
.edu-select .ui-icon { width: 15px; height: 15px; }
.edu-sort .ui-icon { width: 11px; height: 11px; opacity: 0; }
.edu-sort.on .ui-icon { opacity: 1; }
.edu-row-toggle .ui-icon { transition: transform .2s ease; }
tr.open .edu-row-toggle .ui-icon { transform: rotate(180deg); }
.edu-detail-block h4 .ui-icon { width: 15px; height: 15px; color: var(--muted); }
.spx > .edu-muted .ui-icon { width: 13px; height: 13px; vertical-align: -2px; }
.spx-summary h3 .ui-icon { width: 16px; height: 16px; color: var(--orange); }
.spx-duration .ui-icon { width: 15px; height: 15px; color: var(--muted); }
.spx-banner > .ui-icon { width: 18px; height: 18px; color: var(--orange); flex: none; }
.spx-banner .ghost-button { margin-inline-start: auto; }
.qset-scope-note > .ui-icon { width: 15px; height: 15px; flex: none; color: var(--orange); }
.qset-scope-note .ghost-button { padding-block: 3px; font-size: 11.5px; }
.sbulk-offer .ui-icon { width: 14px; height: 14px; }
.sbulk-warn .ui-icon { width: 12px; height: 12px; }
.sbulk-status .ui-icon { width: 12px; height: 12px; }
.sbulk-meter-top .ui-icon { width: 13px; height: 13px; }
.sbulk-actions .primary-button { min-height: 42px; white-space: nowrap; }
.sbulk-notes .ui-icon { width: 13px; height: 13px; flex: none; }
@media (max-width: 640px) {
.sbulk-actions .primary-button { flex: 1 1 auto; justify-content: center; }
}
.cpa-actions .primary-button { flex: 1 1 auto; justify-content: center; }
.cpa-actions .primary-button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 820px) {
:root {
    --m-bar-h: 56px;
    --m-tab-h: 60px;
    --m-safe-b: env(safe-area-inset-bottom, 0px);
  }
html.m-chrome-hidden .student-shell .topbar { transform: translateY(-100%); }
html.m-chrome-hidden .m-tabbar { transform: translateY(100%); }
body.exam-open .m-tabbar,
  body.pstudio-open .m-tabbar { display: none; }
body:has(.m-tabbar) .toast-stack,
  body:has(.m-tabbar) .app-update-bar {
    left: 12px;
    bottom: calc(var(--m-tab-h) + var(--m-safe-b) + 12px);
  }
html.m-chrome-hidden .student-shell .sp-tabbar,
  html.m-chrome-hidden .student-shell .exam-pick-mode { top: 6px; }
}
@media (max-height: 520px) and (orientation: landscape) {
html.m-chrome-hidden .student-shell .topbar { transform: translateY(-100%); }
body .toast-stack,
  body .app-update-bar { bottom: 12px; }
}
@media (max-width: 760px) {
html.m-filter-open .exam-filter-title::after { transform: translateY(2px) rotate(135deg); }
html:not(.m-filter-open) .exam-filter-side:not(.exam-bank *) > .exam-filter-title { border-bottom: 0; margin-bottom: 0; }
html:not(.m-filter-open) .exam-filter-side:not(.exam-bank *) > :not(.exam-filter-title):not(.emf-search):not(.qset-search) { display: none; }
.exam-table .exam-td-actions .primary-button,
  .exam-table .exam-td-actions .exam-report-btn { height: 38px; padding-inline: 14px; border-radius: 11px; font-size: 12px; }
}
@media screen and (max-width: 760px) {
.pstudio-actions .primary-button { flex: 1 1 auto; min-height: 42px; justify-content: center; white-space: nowrap; }
}
@media (max-width: 760px) {
html.m-bank-filter-open .sbank-side .sd-summary-head::after { transform: translateY(2px) rotate(135deg); }
html:not(.m-bank-filter-open) .sbank-side > :not(.sd-summary-head):not(.sd-summary) { display: none; }
html:not(.m-bank-filter-open) .sbank-side .sd-summary { margin-bottom: 0; border-bottom: 0; }
html:not(.m-bank-filter-open) .sbank-side .sd-summary:has(.sd-empty-sel) { display: none; }
}
@media (max-width: 760px) {
.tp-footer .primary-button { flex: 1 1 auto; min-height: 48px; justify-content: center; font-size: 15px; }
}
@media (max-width: 760px) {
.qset-create-modal .primary-button { min-height: 46px; padding-inline: 14px; white-space: nowrap; }
.qset-picker-footer .ghost-button { flex: 1 1 auto; min-height: 44px; justify-content: center; }
}
body.sqf-open { overflow: hidden; }
@keyframes slockIn { from { transform: translateY(8px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
@media (orientation: portrait) {
body.er-rotated .exam-runner,
  body.er-rotated .modal-backdrop {
    inset: auto;
    top: 0;
    left: 0;
    width: 100dvh;
    height: 100vw;
    transform-origin: top left;
    transform: rotate(90deg) translateY(-100%);
  }
body.er-rotated .modal-backdrop { padding: 12px; }
body.er-rotated .modal-backdrop .modal { width: min(560px, 100%); height: auto; max-height: 100%; border-radius: 18px; }
}
@media (max-width: 560px) {
.ep-footer .omr-foot-btns > .primary-button { flex: 1 1 auto; min-width: 0; }
}
.us-note .ui-icon { flex: 0 0 auto; width: 15px; height: 15px; margin-top: 3px; }
@media (max-width: 600px) {
.shop-demo-banner .primary-button { width: 100%; }
}
@keyframes lx-live { 0% { box-shadow: 0 0 0 0 #3ee08f99; } 80%, 100% { box-shadow: 0 0 0 9px #3ee08f00; } }
@keyframes lx-shine { 0%, 55% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
