/* Critical server-known blocked state: Tutor's Start/Retry controls never paint for blocked quizzes. */
body.taa-quiz-blocked #tutor-start-quiz,
body.taa-quiz-blocked form[x-data*="tutorQuizAutoStart"],
body.taa-quiz-blocked .start-quiz-btn,
body.taa-quiz-blocked .reattempt-btn,
body.taa-quiz-blocked [data-tutor-modal-target^="tutor-quiz-retry-modal-"],
body:has([data-taa-block-start="1"]) #tutor-start-quiz,
body:has([data-taa-block-start="1"]) .start-quiz-btn,
body:has([data-taa-block-start="1"]) .reattempt-btn { display:none !important; }

/* ------------------------------------------------------------------
 * Quiz blocked state card
 * ------------------------------------------------------------------ */
.taa-quiz-gate-card {
  --taa-gate-accent:#3e64de;
  --taa-gate-soft:#eef3ff;
  position:relative;
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  align-items:center;
  gap:20px;
  width:min(100% - 24px, 680px);
  margin:28px auto 24px;
  padding:25px 28px;
  overflow:hidden;
  border:1px solid rgba(62,100,222,.17);
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#fbfcff 65%,#f6f8ff 100%);
  box-shadow:0 20px 55px rgba(28,48,96,.10), inset 0 1px 0 rgba(255,255,255,.8);
  color:#1d2939;
  text-align:start;
  isolation:isolate;
}
.taa-quiz-gate-card::before { content:''; position:absolute; inset:auto -70px -105px auto; width:230px; height:230px; border-radius:50%; background:radial-gradient(circle,rgba(62,100,222,.12),rgba(62,100,222,0) 68%); z-index:-1; }
.taa-quiz-gate-card--deadline { --taa-gate-accent:#c56b17; --taa-gate-soft:#fff5e8; border-color:rgba(197,107,23,.18); }
.taa-quiz-gate-card--deadline::before { background:radial-gradient(circle,rgba(245,158,11,.12),rgba(245,158,11,0) 68%); }
.taa-quiz-gate-card__visual { position:relative; display:grid; place-items:center; width:76px; height:76px; }
.taa-quiz-gate-card__pulse { position:absolute; inset:7px; border:1px solid color-mix(in srgb, var(--taa-gate-accent) 26%, transparent); border-radius:50%; animation:taa-gate-ring 2.7s ease-out infinite; }
.taa-quiz-gate-card__icon { position:relative; display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background:var(--taa-gate-soft); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--taa-gate-accent) 12%,transparent),0 8px 20px color-mix(in srgb,var(--taa-gate-accent) 10%,transparent); animation:taa-gate-float 3.4s ease-in-out infinite; }
.taa-quiz-gate-card__icon::before { content:''; width:22px; height:18px; border:2px solid var(--taa-gate-accent); border-radius:5px; transform:translateY(5px); }
.taa-quiz-gate-card__icon::after { content:''; position:absolute; top:15px; width:16px; height:15px; border:2px solid var(--taa-gate-accent); border-bottom:0; border-radius:10px 10px 0 0; }
.taa-quiz-gate-card__icon i { position:absolute; bottom:17px; width:3px; height:7px; border-radius:99px; background:var(--taa-gate-accent); }
.taa-quiz-gate-card__eyebrow { display:inline-block; margin-bottom:5px; color:var(--taa-gate-accent); font-size:11px; line-height:1.2; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.taa-quiz-gate-card__copy h3 { margin:0; color:#172033; font-size:21px; line-height:1.35; font-weight:700; }
.taa-quiz-gate-card__copy p { max-width:540px; margin:7px 0 0; color:#667085; font-size:14px; line-height:1.7; }
@keyframes taa-gate-ring { 0%{transform:scale(.7);opacity:.8} 75%,100%{transform:scale(1.25);opacity:0} }
@keyframes taa-gate-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }

/* ------------------------------------------------------------------
 * First-entry deadline modal. It intentionally has one visible action.
 * Backdrop blur keeps the learner on the same page and reveals the normal
 * blocked-state card after dismissal.
 * ------------------------------------------------------------------ */
html.taa-deadline-overlay-open { overflow:hidden; }
.taa-deadline-overlay {
  position:fixed;
  inset:0;
  z-index:2147482000;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(15,23,42,.42);
  -webkit-backdrop-filter:blur(11px) saturate(.84);
  backdrop-filter:blur(11px) saturate(.84);
  animation:taa-overlay-in .22s ease both;
}
.taa-deadline-overlay.is-closing { animation:taa-overlay-out .18s ease both; pointer-events:none; }
.taa-deadline-dialog {
  position:relative;
  width:min(100%, 470px);
  padding:30px 28px 26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 28px 90px rgba(15,23,42,.25), inset 0 1px 0 rgba(255,255,255,.9);
  color:#172033;
  text-align:center;
  isolation:isolate;
  animation:taa-dialog-in .30s cubic-bezier(.22,.8,.24,1) both;
}
.taa-deadline-dialog::before { content:''; position:absolute; width:240px; height:240px; inset:-135px -80px auto auto; border-radius:50%; background:radial-gradient(circle,rgba(245,158,11,.16),rgba(245,158,11,0) 70%); z-index:-1; }
.taa-deadline-dialog__visual { position:relative; display:grid; place-items:center; width:78px; height:78px; margin:0 auto 14px; }
.taa-deadline-dialog__ring { position:absolute; inset:3px; border:1px solid rgba(197,107,23,.20); border-radius:50%; animation:taa-modal-ring 2.4s ease-out infinite; }
.taa-deadline-dialog__lock { position:relative; display:grid; place-items:center; width:60px; height:60px; border-radius:19px; background:#fff5e8; box-shadow:inset 0 0 0 1px rgba(197,107,23,.12),0 10px 25px rgba(197,107,23,.12); }
.taa-deadline-dialog__lock::before { content:''; width:22px; height:18px; border:2px solid #c56b17; border-radius:5px; transform:translateY(5px); }
.taa-deadline-dialog__lock::after { content:''; position:absolute; top:15px; width:16px; height:15px; border:2px solid #c56b17; border-bottom:0; border-radius:10px 10px 0 0; }
.taa-deadline-dialog__lock i { position:absolute; bottom:17px; width:3px; height:7px; border-radius:99px; background:#c56b17; }
.taa-deadline-dialog__eyebrow { display:block; margin-bottom:7px; color:#b75d0d; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.taa-deadline-dialog h2 { margin:0; color:#172033; font-size:25px; line-height:1.35; font-weight:800; }
.taa-deadline-dialog p { margin:10px auto 0; max-width:390px; color:#667085; font-size:14px; line-height:1.75; }
.taa-deadline-dialog__button { min-width:150px; margin-top:22px; padding:11px 20px; border:0; border-radius:11px; background:#172033; color:#fff; font:inherit; font-size:14px; font-weight:700; cursor:pointer; box-shadow:0 9px 22px rgba(23,32,51,.18); transition:transform .16s ease, box-shadow .16s ease, background .16s ease; }
.taa-deadline-dialog__button:hover { transform:translateY(-1px); background:#23314a; box-shadow:0 12px 26px rgba(23,32,51,.22); }
.taa-deadline-dialog__button:focus-visible { outline:3px solid rgba(62,100,222,.25); outline-offset:3px; }
@keyframes taa-overlay-in { from{opacity:0} to{opacity:1} }
@keyframes taa-overlay-out { from{opacity:1} to{opacity:0} }
@keyframes taa-dialog-in { from{opacity:0;transform:translateY(12px) scale(.97)} to{opacity:1;transform:none} }
@keyframes taa-modal-ring { 0%{transform:scale(.72);opacity:.75} 75%,100%{transform:scale(1.24);opacity:0} }

/* ------------------------------------------------------------------
 * Student assignment feedback
 * ------------------------------------------------------------------ */
.taa-student-feedback {
  margin:24px 0;
  padding:20px;
  border:1px solid #dbe4ff;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f8faff);
  box-shadow:0 12px 32px rgba(40,61,120,.07);
}
.taa-student-feedback__header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:14px; border-bottom:1px solid #e7ecf5; }
.taa-student-feedback__header strong { display:block; font-size:18px; color:#172554; }
.taa-student-feedback__header span { display:block; margin-top:3px; font-size:12px; color:#64748b; }
.taa-student-feedback__content { margin-top:16px; padding:14px 15px; border-radius:12px; background:#f8faff; color:#27364a; line-height:1.75; }
.taa-student-feedback__content p:first-child { margin-top:0; }
.taa-student-feedback__content p:last-child { margin-bottom:0; }
.taa-feedback-section { margin-top:18px; }
.taa-feedback-section__head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.taa-feedback-section__head strong { color:#334155; font-size:13px; font-weight:700; }
.taa-feedback-section__head span { display:grid; place-items:center; min-width:24px; height:24px; padding:0 7px; border-radius:999px; background:#eef3ff; color:#3557bd; font-size:11px; font-weight:700; }
.taa-feedback-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.taa-feedback-image { position:relative; display:block; min-width:0; aspect-ratio:4/3; overflow:hidden; border:1px solid #e0e6ef; border-radius:12px; background:#eef2f7; box-shadow:0 4px 14px rgba(15,23,42,.04); cursor:zoom-in; }
.taa-feedback-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .24s ease; }
.taa-feedback-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(15,23,42,.58)); opacity:.0; transition:opacity .22s ease; }
.taa-feedback-image__label { position:absolute; inset:auto 10px 9px; z-index:2; overflow:hidden; color:#fff; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; opacity:0; transform:translateY(4px); transition:opacity .22s ease, transform .22s ease; }
.taa-feedback-image__zoom { position:absolute; z-index:3; inset:9px 9px auto auto; display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:rgba(255,255,255,.92); color:#334155; font-size:16px; opacity:0; transform:scale(.92); transition:opacity .22s ease, transform .22s ease; }
.taa-feedback-image:hover img { transform:scale(1.025); }
.taa-feedback-image:hover::after,.taa-feedback-image:hover .taa-feedback-image__label,.taa-feedback-image:hover .taa-feedback-image__zoom { opacity:1; }
.taa-feedback-image:hover .taa-feedback-image__label { transform:none; }
.taa-feedback-image:hover .taa-feedback-image__zoom { transform:none; }
.taa-feedback-video-list,.taa-feedback-audio-list { display:grid; gap:10px; }
.taa-feedback-video,.taa-feedback-audio { overflow:hidden; border:1px solid #e2e8f0; border-radius:12px; background:#fff; }
.taa-feedback-video { padding:10px; }
.taa-feedback-audio { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:12px; }
.taa-feedback-audio__name,.taa-feedback-video__name { overflow:hidden; margin-bottom:8px; color:#334155; font-size:12px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.taa-feedback-audio audio,.taa-feedback-video video { width:100%; }
.taa-feedback-video video { display:block; max-height:390px; border-radius:8px; background:#111827; }

/* Classic same-tab image viewer with zoom/pan controls. */
html.taa-lightbox-open { overflow:hidden; }
.taa-classic-viewer[hidden] { display:none !important; }
.taa-classic-viewer {
  position:fixed; inset:0; z-index:2147483000; display:grid; grid-template-rows:52px minmax(0,1fr) 42px;
  background:rgba(10,12,16,.94); color:#fff; opacity:0; transition:opacity .12s ease; font-family:Arial,sans-serif;
}
.taa-classic-viewer.is-open { opacity:1; }
.taa-classic-viewer__topbar,.taa-classic-viewer__bottombar { display:flex; align-items:center; gap:12px; min-width:0; padding:0 14px; background:rgba(25,27,31,.96); border-color:rgba(255,255,255,.09); }
.taa-classic-viewer__topbar { justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.09); }
.taa-classic-viewer__bottombar { justify-content:space-between; border-top:1px solid rgba(255,255,255,.09); color:#d7d9dd; font-size:12px; }
.taa-classic-viewer__title,.taa-classic-viewer__caption { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.taa-classic-viewer__title { font-size:13px; font-weight:600; }
.taa-classic-viewer__tools { display:flex; align-items:center; gap:5px; direction:ltr; }
.taa-classic-viewer__tools button,.taa-classic-viewer__nav { display:grid; place-items:center; border:1px solid rgba(255,255,255,.14); background:#292c31; color:#f8fafc; cursor:pointer; }
.taa-classic-viewer__tools button { min-width:34px; height:32px; padding:0 8px; border-radius:4px; font:600 14px/1 Arial,sans-serif; }
.taa-classic-viewer__tools button:hover,.taa-classic-viewer__tools button:focus-visible,.taa-classic-viewer__nav:hover,.taa-classic-viewer__nav:focus-visible { background:#3a3e45; border-color:rgba(255,255,255,.28); outline:none; }
.taa-classic-viewer__tools .taa-classic-viewer__close { margin-inline-start:5px; font-size:22px; font-weight:400; }
.taa-classic-viewer__zoom { min-width:48px; color:#d7d9dd; font:12px/1 Arial,sans-serif; text-align:center; }
.taa-classic-viewer__stage { position:relative; min-width:0; min-height:0; overflow:hidden; }
.taa-classic-viewer__canvas { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; cursor:default; touch-action:none; user-select:none; }
.taa-classic-viewer__canvas:has(.taa-classic-viewer__image.is-zoomed) { cursor:grab; }
.taa-classic-viewer__canvas.is-panning { cursor:grabbing; }
.taa-classic-viewer__image { display:block; max-width:calc(100vw - 110px); max-height:calc(100vh - 118px); object-fit:contain; transform-origin:center center; will-change:transform; box-shadow:0 7px 26px rgba(0,0,0,.45); background:#111; }
.taa-classic-viewer__nav { position:absolute; top:50%; z-index:3; width:42px; height:60px; border-radius:4px; transform:translateY(-50%); font:32px/1 Arial,sans-serif; background:rgba(34,37,42,.84); }
.taa-classic-viewer__nav--prev { left:12px; }
.taa-classic-viewer__nav--next { right:12px; }
.taa-classic-viewer__counter { flex:0 0 auto; direction:ltr; font-variant-numeric:tabular-nums; }
@supports not selector(:has(*)) { .taa-classic-viewer__canvas { cursor:grab; } }

@media (prefers-reduced-motion:reduce) {
  .taa-quiz-gate-card__pulse,.taa-quiz-gate-card__icon,.taa-deadline-dialog__ring,.taa-deadline-overlay,.taa-deadline-dialog,.taa-feedback-image img,.taa-feedback-image::after,.taa-feedback-image__label,.taa-feedback-image__zoom,.taa-classic-viewer { animation:none; transition:none; }
}
@media (max-width:600px) {
  .taa-quiz-gate-card { grid-template-columns:1fr; gap:12px; padding:22px 18px; text-align:center; }
  .taa-quiz-gate-card__visual { margin-inline:auto; }
  .taa-quiz-gate-card__copy p { margin-inline:auto; }
  .taa-deadline-dialog { padding:26px 20px 22px; border-radius:20px; }
  .taa-deadline-dialog h2 { font-size:22px; }
  .taa-student-feedback { padding:15px; border-radius:15px; }
  .taa-feedback-gallery { grid-template-columns:1fr 1fr; gap:8px; }
  .taa-classic-viewer { grid-template-rows:48px minmax(0,1fr) 38px; }
  .taa-classic-viewer__title { max-width:32vw; }
  .taa-classic-viewer__tools button { min-width:31px; height:30px; padding:0 6px; }
  .taa-classic-viewer__zoom { display:none; }
  .taa-classic-viewer__image { max-width:calc(100vw - 72px); max-height:calc(100vh - 104px); }
  .taa-classic-viewer__nav { width:34px; height:52px; }
  .taa-classic-viewer__nav--prev { left:5px; }
  .taa-classic-viewer__nav--next { right:5px; }
}
@media (max-width:420px) { .taa-feedback-gallery { grid-template-columns:1fr; } }

/* v1.6 typography */
[class^="taa-"],[class*=" taa-"]{font-family:"Tajawal","Cairo",Arial,sans-serif}
.taa-feedback-document-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.taa-feedback-document{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#244278;text-decoration:none}.taa-feedback-document>span{display:grid;place-items:center;min-width:44px;height:44px;border-radius:9px;background:#eef4ff;color:#3158bd;font-size:10px;font-weight:800}.taa-feedback-document strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
