/* Koderia Uni 66.8.9 — subject worlds */

.uqSubject {
  --subject-surface: rgba(20, 28, 43, .94);
  --subject-surface-2: rgba(25, 35, 53, .92);
  padding-bottom: 40px;
}

.uqMobileBack {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  margin: 0 0 12px;
  padding: 7px 12px;
  border: 1px solid rgba(126, 145, 188, .2);
  border-radius: 12px;
  background: rgba(18, 25, 39, .72);
  color: #aeb9cb;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
  transition: border-color .18s ease, color .18s ease, transform .18s ease;
}

.uqMobileBack:hover {
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 55%, #3c4962);
  color: #f5f7fb;
  transform: translateX(-2px);
}

.uqSubjectHero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  align-items: stretch;
  gap: 24px;
  min-height: 310px;
  padding: 30px !important;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--subject-accent, #7184ff) 38%, #2b3851);
  border-radius: 30px;
  background:
    radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--subject-accent, #7184ff) 27%, transparent), transparent 34%),
    radial-gradient(circle at 82% 110%, rgba(96, 221, 188, .1), transparent 34%),
    linear-gradient(135deg, rgba(27, 38, 60, .98), rgba(15, 22, 35, .98) 58%, rgba(29, 23, 49, .98));
  box-shadow: 0 24px 68px rgba(3, 7, 18, .27), inset 0 1px 0 rgba(255, 255, 255, .045);
}

.uqSubjectHero::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 360px;
  height: 360px;
  right: -90px;
  top: -140px;
  border: 1px solid color-mix(in srgb, var(--subject-accent, #7184ff) 25%, transparent);
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--subject-accent, #7184ff) 16%, transparent), transparent 66%);
  box-shadow: 0 0 90px color-mix(in srgb, var(--subject-accent, #7184ff) 10%, transparent);
  animation: uqSubjectOrbit 18s linear infinite;
}

.uqSubjectHero::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle, rgba(186, 201, 255, .34) 0 1px, transparent 1.5px) 0 0 / 78px 78px,
    radial-gradient(circle, rgba(91, 219, 186, .22) 0 1px, transparent 1.5px) 28px 32px / 121px 121px;
  opacity: .32;
  pointer-events: none;
}

.uqSubjectHeroCopy,
.uqSubjectCommand {
  position: relative;
  z-index: 1;
}

.uqSubjectHeroCopy {
  display: grid;
  align-content: center;
  min-width: 0;
}

.uqSubjectCourseLine {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 17px;
}

.uqSubjectCourseLine span,
.uqSubjectCourseLine em {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 9px;
  border: 1px solid rgba(147, 162, 199, .18);
  border-radius: 999px;
  background: rgba(14, 21, 34, .54);
  color: #9ba8bc;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.uqSubjectCourseLine em {
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 30%, transparent);
  color: color-mix(in srgb, var(--subject-accent, #9ba6ff) 62%, #fff);
}

.uqSubjectWorldTitle {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.uqSubjectHeroEmoji {
  position: relative;
  display: grid !important;
  flex: 0 0 74px;
  place-items: center;
  width: 74px !important;
  height: 74px !important;
  margin: 0 !important;
  border: 1px solid color-mix(in srgb, var(--subject-accent, #7184ff) 48%, transparent) !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, color-mix(in srgb, var(--subject-accent, #7184ff) 32%, #2c3851), #1c273b) !important;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--subject-accent, #7184ff) 18%, transparent), inset 0 1px 0 rgba(255, 255, 255, .09) !important;
  font-size: 36px !important;
  animation: uqSubjectFloat 4.8s ease-in-out infinite !important;
}

.uqSubjectWorldTitle > div {
  min-width: 0;
}

.uqSubjectWorldTitle small {
  color: color-mix(in srgb, var(--subject-accent, #9ba6ff) 70%, #fff) !important;
  font-size: 9px !important;
  font-weight: 950 !important;
  letter-spacing: .14em !important;
}

.uqSubjectWorldTitle h1 {
  max-width: 720px;
  margin: 5px 0 0 !important;
  overflow-wrap: anywhere;
  color: #f7f8fc;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.uqSubjectHeroCopy > p {
  max-width: 720px;
  margin: 15px 0 0 !important;
  color: #9ba8ba !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

.uqSubjectSignals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 22px;
}

.uqSubjectSignal {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 69px;
  padding: 10px 12px;
  border: 1px solid rgba(129, 146, 188, .17);
  border-radius: 17px;
  background: rgba(13, 20, 32, .56);
}

.uqSubjectSignal.next {
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 28%, transparent);
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 8%, rgba(13, 20, 32, .62));
}

.uqSubjectSignal > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(151, 168, 209, .16);
  border-radius: 13px;
  background: rgba(35, 46, 69, .8);
  font-size: 18px;
}

.uqSubjectSignal > div {
  display: grid;
  min-width: 0;
}

.uqSubjectSignal small {
  color: #78879d !important;
  font-size: 7px !important;
  font-weight: 950 !important;
  letter-spacing: .1em !important;
}

.uqSubjectSignal b {
  margin-top: 3px;
  overflow: hidden;
  color: #e8ecf3;
  font-size: 10px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.uqSubjectSignal em {
  margin-top: 3px;
  overflow: hidden;
  color: #7f8ca0;
  font-size: 8px;
  font-style: normal;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.uqSubjectCommand {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 14px;
  padding: 20px;
  border: 1px solid rgba(139, 156, 201, .17);
  border-radius: 24px;
  background: linear-gradient(155deg, rgba(31, 42, 64, .88), rgba(15, 22, 35, .9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.uqSubjectReadinessRing {
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: conic-gradient(var(--ring-accent, #7184ff) calc(var(--readiness) * 1%), rgba(43, 54, 75, .85) 0);
  box-shadow: 0 0 32px color-mix(in srgb, var(--ring-accent, #7184ff) 12%, transparent);
}

.uqSubjectReadinessRing > div {
  display: grid;
  place-items: center;
  align-content: center;
  width: 94px;
  height: 94px;
  border-radius: 50%;
  background: #151e2e;
  box-shadow: inset 0 0 24px rgba(0, 0, 0, .25);
}

.uqSubjectReadinessRing b {
  font-size: 25px;
  line-height: 1;
}

.uqSubjectReadinessRing small {
  margin-top: 5px;
  color: #7c899d;
  font-size: 6px;
  font-weight: 950;
  letter-spacing: .09em;
}

.uqSubjectCommandActions {
  display: grid;
  gap: 8px;
  width: 100%;
}

.uqSubjectCommandActions .uqButton {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  min-height: 52px;
  padding: 9px 11px !important;
  border-radius: 15px;
  text-align: left;
}

.uqSubjectCommandActions .uqButton span {
  grid-row: 1 / 3;
  align-self: center;
  font-size: 16px;
  text-align: center;
}

.uqSubjectCommandActions .uqButton b {
  align-self: end;
  font-size: 11px;
}

.uqSubjectCommandActions .uqButton small {
  align-self: start;
  color: rgba(230, 234, 244, .64);
  font-size: 8px;
}

.uqSubjectQuickTest {
  background: rgba(35, 45, 65, .82) !important;
}

.uqSubjectShare {
  border: 0;
  background: transparent;
  color: #8996aa;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}

.uqSubjectShare:hover {
  color: #d9deea;
}

.uqMetricRow {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin: 12px 0 !important;
}

.uqMetricVisual {
  min-height: 68px;
  padding: 12px 14px !important;
  border: 1px solid rgba(123, 141, 182, .16) !important;
  border-radius: 17px !important;
  background: linear-gradient(150deg, rgba(25, 35, 53, .92), rgba(16, 23, 36, .92)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.uqMetricVisual > span {
  width: 38px !important;
  height: 38px !important;
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 26%, transparent) !important;
  border-radius: 13px !important;
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 13%, #192236) !important;
}

.uqMetricVisual b {
  font-size: 19px !important;
}

.uqMetricVisual small {
  margin-top: 2px;
  font-size: 8px !important;
}

.uqTabs {
  position: sticky;
  z-index: 8;
  top: 76px;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px !important;
  margin: 0 0 12px !important;
  padding: 7px;
  overflow: visible !important;
  border: 1px solid rgba(124, 142, 183, .2) !important;
  border-radius: 18px;
  background: rgba(12, 18, 29, .88);
  box-shadow: 0 14px 34px rgba(3, 7, 16, .2);
  backdrop-filter: blur(18px);
}

.uqTabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 9px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 13px;
  background: transparent;
  color: #7e8ba0 !important;
  font-size: 11px !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.uqTabs button span {
  font-size: 16px;
}

.uqTabs button b {
  font: inherit;
}

.uqTabs button:hover {
  background: rgba(38, 48, 69, .54);
  color: #dce2ee !important;
}

.uqTabs button.active {
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 43%, transparent) !important;
  background: linear-gradient(145deg, color-mix(in srgb, var(--subject-accent, #7184ff) 22%, #27344e), #202a3f) !important;
  color: #f6f7fb !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--subject-accent, #7184ff) 13%, transparent), inset 0 1px 0 rgba(255, 255, 255, .06);
}

.uqTabPanel.uqSubjectTabPanel {
  display: grid;
  gap: 14px;
  padding-top: 0 !important;
}

.uqSubjectSectionHead {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 2px;
}

.uqSubjectSectionHead small {
  color: color-mix(in srgb, var(--subject-accent, #8f9cff) 62%, #a8b2c4);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .12em;
}

.uqSubjectSectionHead h2 {
  margin: 4px 0 0;
  font-size: 24px;
  letter-spacing: -.025em;
}

.uqSubjectSectionHead > span {
  display: grid;
  place-items: center;
  min-width: 37px;
  height: 31px;
  padding: 0 10px;
  border: 1px solid rgba(127, 145, 186, .18);
  border-radius: 11px;
  background: rgba(25, 34, 52, .78);
  color: #9ba7ba;
  font-size: 10px;
  font-weight: 900;
}

.uqLearningPath {
  gap: 13px !important;
}

.uqLearningGroup {
  border-color: rgba(126, 144, 185, .18) !important;
  border-radius: 23px !important;
  background: linear-gradient(150deg, rgba(24, 34, 52, .96), rgba(15, 22, 35, .96)) !important;
  box-shadow: 0 14px 38px rgba(3, 7, 17, .15), inset 0 1px 0 rgba(255, 255, 255, .025);
}

.uqLearningGroup:hover {
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 35%, #34415a) !important;
  box-shadow: 0 20px 48px rgba(3, 7, 17, .22) !important;
}

.uqLearningGroupHead {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 64px auto;
  align-items: center !important;
  gap: 16px !important;
  padding: 17px 18px !important;
  border-color: rgba(126, 144, 185, .13) !important;
  background: radial-gradient(circle at 0 50%, color-mix(in srgb, var(--subject-accent, #7184ff) 8%, transparent), transparent 36%);
}

.uqGroupEmoji {
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 29%, #35415a) !important;
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 12%, #182235) !important;
}

.uqLearningGroupTitle h2 {
  font-size: 18px !important;
}

.uqLearningGroupTitle p {
  font-size: 9px !important;
}

.uqGroupProgress {
  width: 57px !important;
  height: 57px !important;
  background: conic-gradient(var(--subject-accent, #7184ff) calc(var(--progress) * 1%), #293348 0) !important;
}

.uqGroupProgress::after {
  background: #172031 !important;
}

.uqGroupContinue {
  min-width: 112px;
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 34%, #3c4961) !important;
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 12%, #202a3d) !important;
}

.uqLearningRows {
  gap: 0;
}

.uqLearningRow {
  grid-template-columns: 46px minmax(0, 1fr) 92px 22px !important;
  min-height: 79px;
  padding: 14px 18px !important;
  border-color: rgba(255, 255, 255, .045) !important;
}

.uqLearningRow:hover {
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 6%, transparent) !important;
}

.uqLearningIndex {
  width: 40px !important;
  height: 40px !important;
  border-color: rgba(129, 147, 189, .22) !important;
  border-radius: 13px !important;
  background: rgba(17, 25, 39, .86) !important;
}

.uqLearningCopy b {
  font-size: 13px !important;
}

.uqLearningCopy em {
  font-size: 9px !important;
}

.uqLearningScore i {
  background: #222c40 !important;
}

.uqLearningScore u {
  background: linear-gradient(90deg, var(--subject-accent, #7184ff), #61dcb9) !important;
}

.uqMaterialVisualList {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px !important;
}

.uqMaterialVisualCard {
  position: relative;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 13px !important;
  min-height: 196px;
  padding: 17px !important;
  overflow: hidden;
  border-color: rgba(126, 144, 185, .19) !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--subject-accent, #7184ff) 11%, transparent), transparent 38%),
    linear-gradient(145deg, rgba(25, 35, 53, .96), rgba(15, 22, 35, .96)) !important;
  box-shadow: 0 13px 34px rgba(3, 7, 17, .14);
}

.uqMaterialVisualCard:hover {
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 40%, #39465f) !important;
  transform: translateY(-2px);
}

.uqMaterialIcon {
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 30%, #35415a) !important;
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 13%, #192337) !important;
}

.uqMaterialCardBody {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.uqMaterialCardBody > small {
  color: color-mix(in srgb, var(--subject-accent, #7184ff) 55%, #9ba6b9) !important;
  font-size: 8px !important;
  text-transform: uppercase;
}

.uqMaterialCardBody h3 {
  margin: 5px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.3;
}

.uqMaterialPreview {
  -webkit-line-clamp: 3 !important;
  margin: 9px 0 14px !important;
  color: #8794a8 !important;
  font-size: 9px !important;
  line-height: 1.55 !important;
}

.uqMaterialOpen {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 38px;
  margin-top: auto;
  padding: 8px 11px !important;
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 24%, #354159) !important;
  background: rgba(32, 42, 61, .75) !important;
  font-size: 9px !important;
}

.uqAssignmentWorldList {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.uqAssignmentVisual {
  display: flex;
  flex-direction: column;
  min-height: 250px;
  padding: 17px !important;
  overflow: hidden;
  border-color: rgba(126, 144, 185, .19) !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--subject-accent, #7184ff) 11%, transparent), transparent 40%),
    linear-gradient(145deg, rgba(25, 35, 53, .96), rgba(15, 22, 35, .96)) !important;
  box-shadow: 0 13px 34px rgba(3, 7, 17, .14);
  animation: uqSubjectCardIn .4s var(--card-delay, 0ms) ease both;
}

.uqAssignmentTop {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
}

.uqAssignmentEmoji {
  position: static !important;
  width: 44px !important;
  height: 44px !important;
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 30%, #35415a) !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 13%, #192337) !important;
  font-size: 20px !important;
}

.uqAssignmentTop small {
  color: #7e8ba0 !important;
  font-size: 8px !important;
}

.uqAssignmentTop h3 {
  margin: 4px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.25;
}

.uqAssignmentNumber {
  color: color-mix(in srgb, var(--subject-accent, #7184ff) 50%, #7c899d);
  font-size: 19px;
  font-style: normal;
  font-weight: 950;
}

.uqAssignmentDeadline {
  width: max-content;
  max-width: 100%;
  margin-top: 14px;
  padding: 6px 9px;
  border: 1px solid rgba(135, 151, 189, .14);
  border-radius: 9px;
  background: rgba(21, 29, 44, .7);
  color: #95a1b3;
  font-size: 8px;
  font-weight: 850;
}

.uqAssignmentDeadline.overdue {
  border-color: rgba(230, 110, 125, .27);
  color: #f08c99;
}

.uqAssignmentDeadline.soon {
  border-color: rgba(230, 170, 87, .27);
  color: #e8b76f;
}

.uqAssignmentVisual > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  min-height: 46px;
  margin: 11px 0 14px !important;
  overflow: hidden;
  color: #8996a9 !important;
  font-size: 9px !important;
  line-height: 1.6 !important;
}

.uqAssignmentVisual .uqCardActions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px !important;
  margin-top: auto;
}

.uqAssignmentVisual .uqCardActions .uqButton,
.uqAssignmentVisual .uqCardActions select {
  min-width: 0;
  min-height: 38px;
  padding: 7px 9px !important;
  border-radius: 11px;
  font-size: 8px !important;
}

.uqAssignmentVisual .uqCardActions .uqPrimary {
  grid-column: 1 / -1;
}

.uqQuestionBankVisual {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px !important;
}

.uqQuestionBankCard {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  min-height: 132px;
  padding: 15px !important;
  border-color: rgba(126, 144, 185, .18) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(24, 34, 52, .94), rgba(15, 22, 35, .94)) !important;
}

.uqQuestionNumber {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border: 1px solid color-mix(in srgb, var(--subject-accent, #7184ff) 29%, #354159);
  border-radius: 12px;
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 12%, #192337);
  color: #c6cee0;
  font-size: 9px;
  font-weight: 950;
}

.uqQuestionBankCard h3 {
  margin: 8px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.45;
}

.uqQuestionBankCard .uqQuestionMeta {
  margin: 0 !important;
}

.uqQuestionBankCard .uqQuestionMeta span {
  padding: 4px 6px;
  border: 1px solid rgba(126, 144, 185, .13);
  background: rgba(29, 39, 58, .75) !important;
  color: #8996aa !important;
  font-size: 7px !important;
}

.uqQuestionBankCard details {
  margin-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding-top: 9px;
}

.uqQuestionBankCard summary {
  color: color-mix(in srgb, var(--subject-accent, #7184ff) 58%, #aeb8c9);
  font-size: 8px;
  font-weight: 850;
  cursor: pointer;
}

.uqQuestionBankCard details p {
  margin: 8px 0 0 !important;
  color: #aab4c4 !important;
  font-size: 9px !important;
}

.uqQuestionMore {
  justify-self: center;
  min-width: 230px;
  border-color: color-mix(in srgb, var(--subject-accent, #7184ff) 30%, #38455e) !important;
  background: color-mix(in srgb, var(--subject-accent, #7184ff) 9%, #1d273a) !important;
}

.uqQuestionMore b {
  color: #f3f5fa;
}

.uqQuestionMore span {
  margin-left: 8px;
  color: #7f8ca0;
  font-size: 8px;
}

.uqTrainingHead {
  align-items: center;
}

.uqTrainingHead .uqButton {
  min-width: 150px;
}

.uqSubjectTools {
  order: 20;
  justify-content: flex-end;
  margin: 4px 0 0 !important;
  padding-top: 12px;
  border-top: 1px solid rgba(126, 144, 185, .12);
}

.uqSubjectTrainButton {
  margin-right: auto;
  border-color: rgba(154, 119, 239, .25) !important;
  background: rgba(91, 64, 157, .12) !important;
}

.uqSubjectAuthorButton {
  border-color: rgba(126, 144, 185, .18) !important;
  background: rgba(24, 33, 49, .7) !important;
  color: #8f9caf !important;
}

.uqEmptyVisual {
  grid-column: 1 / -1;
  min-height: 170px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  border-radius: 20px !important;
  background: rgba(17, 24, 37, .58);
}

.uqEmptyVisual > span {
  font-size: 30px;
}

@keyframes uqSubjectOrbit {
  to { transform: rotate(360deg); }
}

@keyframes uqSubjectFloat {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-6px) rotate(2deg); }
}

@keyframes uqSubjectCardIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
  .uqSubjectHero {
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 16px;
    padding: 24px !important;
  }

  .uqSubjectSignals {
    grid-template-columns: 1fr;
  }

  .uqMaterialVisualList,
  .uqAssignmentWorldList,
  .uqQuestionBankVisual {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .uqSubject {
    padding-bottom: 86px;
  }

  .uqMobileBack {
    min-height: 35px;
    margin-bottom: 9px;
    padding: 6px 10px;
    font-size: 9px;
  }

  .uqSubjectHero {
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 0;
    padding: 17px !important;
    border-radius: 23px !important;
  }

  .uqSubjectCourseLine {
    margin-bottom: 13px;
  }

  .uqSubjectCourseLine span,
  .uqSubjectCourseLine em {
    min-height: 22px;
    padding: 4px 7px;
    font-size: 6.5px;
  }

  .uqSubjectWorldTitle {
    align-items: flex-start;
    gap: 11px;
  }

  .uqSubjectHeroEmoji {
    flex-basis: 55px;
    width: 55px !important;
    height: 55px !important;
    border-radius: 18px !important;
    font-size: 27px !important;
  }

  .uqSubjectWorldTitle small {
    font-size: 7px !important;
  }

  .uqSubjectWorldTitle h1 {
    margin-top: 4px !important;
    font-size: clamp(23px, 7vw, 31px) !important;
    line-height: 1.08;
    hyphens: auto;
  }

  .uqSubjectHeroCopy > p {
    margin-top: 11px !important;
    font-size: 10px !important;
  }

  .uqSubjectSignals {
    gap: 7px;
    margin-top: 14px;
  }

  .uqSubjectSignal {
    min-height: 62px;
    padding: 8px 9px;
    border-radius: 14px;
  }

  .uqSubjectSignal em {
    display: none;
  }

  .uqSubjectCommand {
    grid-template-columns: 74px minmax(0, 1fr);
    justify-items: stretch;
    gap: 11px;
    padding: 11px;
    border-radius: 18px;
  }

  .uqSubjectReadinessRing {
    width: 70px;
    height: 70px;
  }

  .uqSubjectReadinessRing > div {
    width: 58px;
    height: 58px;
  }

  .uqSubjectReadinessRing b {
    font-size: 17px;
  }

  .uqSubjectReadinessRing small {
    margin-top: 3px;
    font-size: 4.5px;
  }

  .uqSubjectCommandActions {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  .uqSubjectCommandActions .uqButton {
    grid-template-columns: 22px minmax(0, 1fr);
    min-height: 50px;
    padding: 7px !important;
  }

  .uqSubjectCommandActions .uqButton span {
    font-size: 13px;
  }

  .uqSubjectCommandActions .uqButton b {
    font-size: 8px;
  }

  .uqSubjectCommandActions .uqButton small {
    font-size: 6.5px;
  }

  .uqSubjectShare {
    grid-column: 1 / -1;
    justify-self: end;
    font-size: 7px;
  }

  .uqMetricRow {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin: 8px 0 !important;
  }

  .uqMetricVisual {
    display: grid !important;
    justify-items: center;
    min-height: 74px;
    gap: 5px !important;
    padding: 8px 3px !important;
    border-radius: 14px !important;
    text-align: center;
  }

  .uqMetricVisual > span {
    width: 29px !important;
    height: 29px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }

  .uqMetricVisual b {
    font-size: 15px !important;
  }

  .uqMetricVisual small {
    font-size: 6px !important;
  }

  .uqTabs {
    top: 58px;
    gap: 3px !important;
    padding: 5px;
    border-radius: 15px;
  }

  .uqTabs button {
    display: grid;
    justify-items: center;
    gap: 2px;
    min-width: 0;
    min-height: 52px !important;
    padding: 6px 3px !important;
    border-radius: 11px;
    font-size: 7px !important;
  }

  .uqTabs button span {
    font-size: 15px;
  }

  .uqSubjectSectionHead {
    padding: 12px 7px 0;
  }

  .uqSubjectSectionHead h2 {
    font-size: 20px;
  }

  .uqTrainingHead {
    align-items: end;
  }

  .uqTrainingHead .uqButton {
    min-width: 108px;
    padding: 9px !important;
    font-size: 8px !important;
  }

  .uqLearningGroup {
    border-radius: 19px !important;
  }

  .uqLearningGroupHead {
    grid-template-columns: minmax(0, 1fr) 48px !important;
    gap: 9px !important;
    padding: 13px !important;
  }

  .uqLearningGroupTitle {
    gap: 9px !important;
  }

  .uqGroupEmoji {
    flex-basis: 39px !important;
    width: 39px !important;
    height: 39px !important;
    border-radius: 13px !important;
    font-size: 19px !important;
  }

  .uqLearningGroupTitle small {
    font-size: 6px !important;
  }

  .uqLearningGroupTitle h2 {
    font-size: 14px !important;
  }

  .uqLearningGroupTitle p {
    font-size: 7px !important;
  }

  .uqGroupProgress {
    width: 46px !important;
    height: 46px !important;
  }

  .uqGroupProgress b {
    font-size: 9px !important;
  }

  .uqGroupProgress span {
    font-size: 5px !important;
  }

  .uqGroupContinue {
    grid-column: 1 / -1 !important;
    min-width: 0;
    width: 100%;
    min-height: 38px !important;
    padding: 7px !important;
    font-size: 8px !important;
  }

  .uqLearningRow {
    grid-template-columns: 40px minmax(0, 1fr) 56px 14px !important;
    gap: 8px !important;
    min-height: 76px;
    padding: 11px 10px !important;
  }

  .uqLearningIndex {
    width: 36px !important;
    height: 36px !important;
  }

  .uqLearningCopy small {
    font-size: 6px !important;
  }

  .uqLearningCopy b {
    font-size: 10px !important;
  }

  .uqLearningCopy em {
    font-size: 7px !important;
  }

  .uqLearningScore i {
    width: 53px !important;
  }

  .uqMaterialVisualCard,
  .uqAssignmentVisual {
    min-height: 0;
    border-radius: 18px !important;
  }

  .uqMaterialVisualCard {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    padding: 14px !important;
  }

  .uqMaterialIcon {
    width: 39px !important;
    height: 39px !important;
    border-radius: 13px !important;
  }

  .uqMaterialPreview {
    -webkit-line-clamp: 2 !important;
  }

  .uqAssignmentVisual {
    padding: 14px !important;
  }

  .uqAssignmentTop {
    grid-template-columns: 39px minmax(0, 1fr) auto;
    gap: 9px;
  }

  .uqAssignmentEmoji {
    width: 39px !important;
    height: 39px !important;
  }

  .uqAssignmentVisual .uqCardActions {
    grid-template-columns: 1fr 1fr;
  }

  .uqQuestionBankCard {
    min-height: 0;
    padding: 13px !important;
  }

  .uqSubjectTools {
    justify-content: stretch;
  }

  .uqSubjectTools .uqButton {
    flex: 1 1 auto;
  }
}

@media (max-width: 390px) {
  .uqSubjectCommand {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .uqSubjectReadinessRing {
    width: 62px;
    height: 62px;
  }

  .uqSubjectReadinessRing > div {
    width: 51px;
    height: 51px;
  }

  .uqSubjectCommandActions .uqButton small {
    display: none;
  }

  .uqSubjectCommandActions .uqButton b {
    align-self: center;
  }

  .uqLearningScore b {
    font-size: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .uqSubjectHero::before,
  .uqSubjectHeroEmoji,
  .uqAssignmentVisual {
    animation: none !important;
  }
}

/* AK-74M classroom schematic and sequence trainer. */
.uqAkTrainer{--ak-metal:#536273;--ak-edge:#8999aa;margin:18px 0 22px;overflow:hidden;border:1px solid rgba(136,156,181,.34);border-radius:25px;background:radial-gradient(circle at 12% 0,rgba(92,121,164,.18),transparent 36%),linear-gradient(145deg,#151f2d,#0d1520);box-shadow:0 22px 55px rgba(2,7,13,.25)}
.uqAkTrainer>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid rgba(145,164,188,.16)}.uqAkTrainer>header>div{min-width:0}.uqAkTrainer>header small{color:#8ba4c4;font-size:8px;font-weight:950;letter-spacing:.13em}.uqAkTrainer>header h2{margin:5px 0 6px;color:#f2f5f9;font-size:24px;letter-spacing:-.03em}.uqAkTrainer>header p{max-width:690px;margin:0;color:#8e9cad;font-size:10px;line-height:1.5}.uqAkTrainer>header nav{display:flex;flex:0 0 auto;gap:5px;padding:4px;border:1px solid #354458;border-radius:13px;background:#0c141f}.uqAkTrainer>header nav button{min-height:34px;padding:7px 11px;border:0;border-radius:9px;background:transparent;color:#7f8ea2;font:inherit;font-size:9px;font-weight:850;cursor:pointer}.uqAkTrainer>header nav button.active{background:#26364b;color:#f4f7fb;box-shadow:inset 0 0 0 1px #425774}
.uqAkWorkspace{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:12px;padding:14px}.uqAkStage{position:relative;min-height:330px;overflow:hidden;border:1px solid rgba(137,158,184,.22);border-radius:21px;background:linear-gradient(rgba(125,150,180,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(125,150,180,.035) 1px,transparent 1px),radial-gradient(circle at 52% 46%,#263a4e 0,#121d2a 48%,#0a111a 100%);background-size:22px 22px,22px 22px,auto}.uqAkGlow{position:absolute;left:16%;right:9%;top:28%;height:46%;border-radius:50%;background:#6d96bd20;filter:blur(28px)}
.uqAkBase i,.uqAkPart{position:absolute;display:block;box-sizing:border-box}.uqAkBase i{pointer-events:none}.uqAkBase .stock{left:4%;top:37%;width:29%;height:25%;clip-path:polygon(0 21%,77% 0,100% 35%,91% 76%,14% 100%,0 76%);border:1px solid #8b6957;background:linear-gradient(150deg,#785342,#3b2b27 70%);box-shadow:inset 0 0 0 4px #ffffff08,0 10px 18px #0005}.uqAkBase .receiver{left:31%;top:37%;width:30%;height:22%;clip-path:polygon(2% 0,96% 4%,100% 74%,86% 100%,2% 91%,0 22%);border:1px solid var(--ak-edge);background:linear-gradient(160deg,#607182,#2b3743 66%);box-shadow:inset 0 2px 0 #ffffff1f,0 12px 20px #0006}.uqAkBase .barrel{left:58%;top:41%;width:34%;height:8%;border:1px solid #7e8c99;border-radius:3px;background:linear-gradient(#697987,#26313a 52%,#4b5965);box-shadow:0 7px 12px #0005}.uqAkBase .grip{left:45%;top:56%;width:8%;height:24%;transform:skew(-10deg);clip-path:polygon(8% 0,100% 4%,82% 100%,0 93%);border:1px solid #78594b;background:linear-gradient(145deg,#6a483a,#342823)}.uqAkBase .sight{left:69%;top:35%;width:5%;height:8%;clip-path:polygon(20% 100%,33% 0,70% 0,86% 100%);background:#45525e}
.uqAkPart{z-index:4;margin:0;padding:0;border:1px solid #a8b6c5;background:linear-gradient(155deg,#728291,#303c48 70%);color:#d9f8ff;box-shadow:inset 0 1px 0 #fff3,0 8px 13px #0006;cursor:pointer;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.uqAkPart>span{position:absolute;right:-7px;top:-9px;display:grid;place-items:center;width:19px;height:19px;border:1px solid #8ca5c1;border-radius:7px;background:#172537;color:#cfe1f2;font-size:7px;font-weight:950;box-shadow:0 5px 10px #0006}.uqAkPart:hover,.uqAkPart.selected{filter:brightness(1.18);box-shadow:0 0 0 2px #8abbe866,0 10px 18px #0007}.uqAkPart.next{animation:uqAkNext 1.35s ease-in-out infinite;box-shadow:0 0 0 2px #74ddb577,0 0 24px #66d2aa55}.uqAkPart.part-magazine{left:48%;top:57%;width:9%;height:28%;transform:rotate(-6deg);clip-path:polygon(0 0,100% 5%,83% 100%,18% 94%);border-color:#7e8d9c}.uqAkPart.part-magazine:hover,.uqAkPart.part-magazine.selected{transform:rotate(-6deg) translateY(2px)}.uqAkPart.part-case{left:11%;top:43%;width:10%;height:9%;border-radius:9px;background:linear-gradient(145deg,#785340,#392a25)}.uqAkPart.part-ramrod{left:59%;top:51%;width:29%;height:2%;min-height:5px;border-radius:6px}.uqAkPart.part-muzzle{left:89%;top:38%;width:7%;height:14%;border-radius:2px 8px 8px 2px;background:repeating-linear-gradient(90deg,#37434e 0 5px,#6e7c87 5px 8px)}.uqAkPart.part-cover{left:33%;top:33%;width:25%;height:11%;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);border-radius:8px 8px 2px 2px}.uqAkPart.part-return{left:37%;top:43%;width:19%;height:3%;min-height:8px;border-radius:6px;background:repeating-linear-gradient(90deg,#a6b1ba 0 3px,#3d4a55 3px 6px)}.uqAkPart.part-carrier{left:36%;top:45%;width:22%;height:8%;border-radius:4px;background:linear-gradient(#8594a1,#3b4853)}.uqAkPart.part-bolt{left:54%;top:47%;width:6%;height:7%;border-radius:2px 8px 8px 2px;background:linear-gradient(90deg,#3c4853,#8d9ba6)}.uqAkPart.part-gas{left:50%;top:29%;width:19%;height:6%;transform:rotate(-5deg);border-radius:4px;background:linear-gradient(#778794,#35414b)}
.uqAkDirection{position:absolute;left:18px;bottom:14px;display:flex;align-items:center;gap:8px;color:#d9e4ef;font-size:9px;font-weight:950;letter-spacing:.12em}.uqAkDirection span{padding:5px 7px;border-radius:8px;background:#ffffff0a;color:#75869b;font-size:7px;letter-spacing:.08em}
.uqAkInspector{display:grid;align-content:start;justify-items:start;min-width:0;padding:19px;border:1px solid rgba(133,157,184,.2);border-radius:21px;background:linear-gradient(150deg,#1a293b,#111b28)}.uqAkStep{display:grid;place-items:center;width:54px;height:54px;border:1px solid #7896b855;border-radius:17px;background:linear-gradient(145deg,#29415a,#17283a);color:#cce8ff;font-size:20px;font-weight:950;box-shadow:0 13px 26px #0005}.uqAkInspector>small{margin-top:16px;color:#7d93ac;font-size:7px;font-weight:950;letter-spacing:.12em}.uqAkInspector h3{margin:6px 0 8px;color:#f0f4f9;font-size:18px;line-height:1.18}.uqAkInspector p{margin:0;color:#9dabbb;font-size:10px;line-height:1.55}.uqAkInspector>div{display:flex;align-items:flex-start;gap:8px;margin-top:18px;padding-top:13px;border-top:1px solid #8194ab26;color:#8191a5;font-size:8px;line-height:1.4}.uqAkInspector>div i{width:7px;height:7px;flex:0 0 7px;margin-top:2px;border-radius:50%;background:#6ed6b0;box-shadow:0 0 11px #6ed6b088}
.uqAkTray{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start;margin:0 14px 14px;padding:12px;border:1px solid rgba(134,154,178,.17);border-radius:17px;background:#0b131d99}.uqAkTray>header{display:grid;gap:3px;padding:4px}.uqAkTray>header small{color:#71839a;font-size:7px;font-weight:950;letter-spacing:.12em}.uqAkTray>header b{font-size:15px}.uqAkTray>div{display:flex;flex-wrap:wrap;gap:6px}.uqAkTrayPart{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 9px 5px 5px;border:1px solid #35475d;border-radius:10px;background:#182536;color:#9eadbf;font:inherit;font-size:8px;font-weight:800;cursor:pointer}.uqAkTrayPart>span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#263950;color:#a9c5df;font-size:7px}.uqAkTrayPart.selected{border-color:#729bc2;color:#ecf4fc}.uqAkTrayPart.next{border-color:#58cfa1;box-shadow:0 0 15px #58cfa122}.uqAkTrayPart.just-moved{animation:uqAkTrayIn .35s ease both}.uqAkTrayEmpty{padding:8px;color:#65768b;font-size:8px}
.uqAkExploreHint,.uqAkTrainerStart,.uqAkPrompt,.uqAkComplete{display:flex;align-items:center;gap:12px;margin:0 14px 14px;padding:14px 16px;border:1px solid #35475c;border-radius:17px;background:linear-gradient(135deg,#182638,#111c2a)}.uqAkExploreHint>span,.uqAkPrompt>span,.uqAkComplete>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:13px;background:#263b51;color:#9ed6ff;font-size:18px;font-weight:950}.uqAkExploreHint b,.uqAkExploreHint p,.uqAkTrainerStart b,.uqAkTrainerStart p,.uqAkPrompt small,.uqAkPrompt b,.uqAkPrompt p,.uqAkComplete small,.uqAkComplete b{display:block}.uqAkExploreHint p,.uqAkTrainerStart p,.uqAkPrompt p{margin:3px 0 0;color:#8494a8;font-size:8px}.uqAkTrainerStart>div,.uqAkPrompt>div,.uqAkComplete>div{min-width:0;margin-right:auto}.uqAkTrainerStart small,.uqAkPrompt small,.uqAkComplete small{color:#7f94ad;font-size:7px;font-weight:950;letter-spacing:.1em}.uqAkTrainerStart b,.uqAkPrompt b,.uqAkComplete b{margin-top:3px;font-size:13px}.uqAkTrainerStart>button,.uqAkPrompt>button,.uqAkComplete>button{min-height:38px;padding:8px 13px;border:1px solid #56708e;border-radius:11px;background:#22364d;color:#dce9f5;font:inherit;font-size:9px;font-weight:850;cursor:pointer}.uqAkTrainerStart>button:first-of-type{border-color:#5fb58e;background:#1e483b}.uqAkPrompt>span{background:#314a62}.uqAkPrompt>button{border-color:#5fc49c;background:#1d4b3b;color:#b9f2d9}.uqAkComplete{border-color:#4f9f813d;background:linear-gradient(135deg,#173b31,#12281f)}.uqAkComplete>span{background:#235941;color:#85e0b6}.uqAkComplete>button{border-color:#5ab88f;background:#1d4a39;color:#b9efd6}
@keyframes uqAkNext{50%{filter:brightness(1.24);box-shadow:0 0 0 3px #74ddb599,0 0 30px #66d2aa66}}@keyframes uqAkTrayIn{from{opacity:0;transform:translateY(-8px) scale(.92)}}
@media(max-width:900px){.uqAkWorkspace{grid-template-columns:1fr}.uqAkStage{min-height:300px}.uqAkInspector{grid-template-columns:54px minmax(0,1fr);column-gap:13px}.uqAkInspector>small,.uqAkInspector h3,.uqAkInspector p,.uqAkInspector>div{grid-column:2}.uqAkInspector>small{margin-top:0}.uqAkInspector .uqAkStep{grid-row:1/5}}
@media(max-width:620px){.uqAkTrainer{margin:12px -4px 18px;border-radius:19px}.uqAkTrainer>header{display:grid;padding:15px}.uqAkTrainer>header h2{font-size:20px}.uqAkTrainer>header nav{width:100%}.uqAkTrainer>header nav button{flex:1}.uqAkWorkspace{padding:8px;gap:8px}.uqAkStage{min-height:230px;border-radius:15px}.uqAkPart>span{width:16px;height:16px;font-size:6px}.uqAkInspector{padding:13px;border-radius:15px}.uqAkStep{width:44px;height:44px;border-radius:14px;font-size:16px}.uqAkInspector h3{font-size:15px}.uqAkTray{grid-template-columns:1fr;margin:0 8px 8px;padding:9px}.uqAkTray>header{display:flex;justify-content:space-between;align-items:center}.uqAkExploreHint,.uqAkTrainerStart,.uqAkPrompt,.uqAkComplete{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;margin:0 8px 8px;padding:11px}.uqAkExploreHint>span,.uqAkPrompt>span,.uqAkComplete>span{width:38px;height:38px}.uqAkTrainerStart>div{grid-column:1/-1}.uqAkTrainerStart>button{width:100%}.uqAkPrompt>button,.uqAkComplete>button{grid-column:1/-1;width:100%}.uqAkDirection{left:11px;bottom:9px;font-size:7px}.uqAkDirection span{display:none}}
@media(prefers-reduced-motion:reduce){.uqAkPart.next,.uqAkTrayPart.just-moved{animation:none!important}}
.uqAkPart.selected{z-index:7}.uqAkPart.next{z-index:8}

/* Detailed vector rifle and standalone training entry. */
.uqSubjectRoute{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.uqSubjectRouteStep.ak{border-color:#73d0ad55;background:linear-gradient(135deg,#1b4539aa,#172a3a)}.uqSubjectRouteStep.ak>span{background:#245a46;color:#98ebc8}
.uqAkBase{position:absolute;inset:0;z-index:2}.uqAkRifleSvg{display:block;width:100%;height:100%;overflow:visible}.uqAkRifleSvg .uqAkSvgPart{pointer-events:all;cursor:pointer;outline:none;transform-box:fill-box;transform-origin:center;transition:opacity .24s ease,filter .24s ease,transform .24s ease}.uqAkRifleSvg .uqAkSvgPart:hover,.uqAkRifleSvg .uqAkSvgPart:focus{filter:drop-shadow(0 0 8px rgba(126,190,232,.58)) brightness(1.12)}.uqAkRifleSvg .uqAkSvgPart.selected{filter:drop-shadow(0 0 9px rgba(126,190,232,.78)) brightness(1.13)}.uqAkRifleSvg .uqAkSvgPart.next{animation:uqAkSvgNext 1.35s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(102,221,174,.9)) brightness(1.17)}.uqAkRifleSvg .uqAkSvgPart.removing{pointer-events:none;animation:uqAkRemovePart .52s cubic-bezier(.3,.8,.3,1) both}.uqAkRifleSvg .uqAkSvgPart.installing{pointer-events:none;animation:uqAkInstallPart .52s cubic-bezier(.2,.75,.2,1) both}.uqAkRifleSvg .ak-chamber{opacity:0;transition:opacity .25s ease;filter:drop-shadow(0 0 8px #70e0b3)}.uqAkRifleSvg.safety-active[data-safety-stage="1"] .ak-chamber,.uqAkRifleSvg.safety-active[data-safety-stage="2"] .ak-chamber,.uqAkRifleSvg.safety-active[data-safety-stage="3"] .ak-chamber{opacity:1}.uqAkRifleSvg .ak-charge-handle{transition:transform .4s ease;transform-box:fill-box;transform-origin:center}.uqAkRifleSvg.safety-active[data-safety-stage="1"] .ak-charge-handle,.uqAkRifleSvg.safety-active[data-safety-stage="2"] .ak-charge-handle,.uqAkRifleSvg.safety-active[data-safety-stage="3"] .ak-charge-handle{transform:translateX(-72px)}.uqAkRifleSvg.safety-active[data-safety-stage="3"] .ak-trigger{animation:uqAkTrigger .42s ease both}
.uqAkStage .uqAkPart{border:1px solid transparent!important;background:rgba(126,194,229,.015)!important;box-shadow:none!important;clip-path:none!important}.uqAkStage .uqAkPart:hover,.uqAkStage .uqAkPart.selected{border-color:#8ac8ed66!important;background:rgba(97,173,216,.08)!important;box-shadow:0 0 0 2px #8abbe833!important}.uqAkStage .uqAkPart.next{border-color:#6bdbad99!important;background:rgba(79,196,151,.1)!important;box-shadow:0 0 0 2px #74ddb555,0 0 24px #66d2aa33!important}
.uqAkSafetyActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin-top:12px}.uqAkSafetyActions button{display:flex;align-items:center;gap:8px;min-height:45px;padding:7px 9px;border:1px solid #41566e;border-radius:12px;background:#162536;color:#9baabd;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.uqAkSafetyActions button:not(:disabled):hover{transform:translateY(-1px);border-color:#76b7a0;background:#1a332f;color:#e3f8f0}.uqAkSafetyActions button:disabled{opacity:.38;cursor:not-allowed}.uqAkSafetyActions button.done{border-color:#4a9f7d;background:#173d31;color:#b8eed6}.uqAkSafetyActions span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:8px;background:#263a4f;color:#bad0e4;font-size:8px;font-weight:950}.uqAkSafetyActions button.done span{background:#245b45;color:#8be0b7}.uqAkSafetyActions b{font-size:8px;line-height:1.2}.uqAkPrompt.safety{display:grid;grid-template-columns:40px minmax(0,1fr)}.uqAkPrompt.safety .uqAkSafetyActions{grid-column:1/-1}
.uqAkTrayPart.leaving{pointer-events:none;animation:uqAkTrayOut .52s ease both}
@keyframes uqAkSvgNext{50%{filter:drop-shadow(0 0 16px rgba(102,221,174,1)) brightness(1.28)}}@keyframes uqAkRemovePart{0%{opacity:1;transform:translate(0,0) scale(1)}55%{opacity:1;transform:translate(0,-24px) scale(1.035)}100%{opacity:0;transform:translate(0,115px) scale(.72)}}@keyframes uqAkInstallPart{0%{opacity:0;transform:translate(0,115px) scale(.72)}55%{opacity:1;transform:translate(0,-18px) scale(1.035)}100%{opacity:1;transform:translate(0,0) scale(1)}}@keyframes uqAkTrayOut{to{opacity:0;transform:translateY(-18px) scale(.84)}}@keyframes uqAkTrigger{45%{transform:rotate(-17deg)}100%{transform:rotate(0)}}
.uqAkLaunch{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:18px;margin:18px 0;padding:16px;border:1px solid #66cba243;border-radius:21px;background:radial-gradient(circle at 7% 50%,rgba(74,190,148,.19),transparent 23%),linear-gradient(135deg,#172b31,#111c29)}.uqAkLaunchVisual{position:relative;display:grid;place-items:center;width:105px;height:70px;overflow:hidden;border:1px solid #668e8547;border-radius:16px;background:linear-gradient(145deg,#233e42,#122129)}.uqAkLaunchVisual>span{position:relative;z-index:2;color:#bcebd8;font-size:22px;font-weight:1000;letter-spacing:.06em}.uqAkLaunchVisual>i,.uqAkLaunchVisual>b{position:absolute;display:block;height:7px;border-radius:8px;background:#87a9a1}.uqAkLaunchVisual>i{left:10px;right:10px;top:28px;transform:rotate(-4deg)}.uqAkLaunchVisual>b{left:43px;width:12px;height:29px;top:31px;transform:skew(-8deg);background:#6b5044}.uqAkLaunch>div:nth-child(2){min-width:0}.uqAkLaunch small{color:#75d6af;font-size:7px;font-weight:950;letter-spacing:.12em}.uqAkLaunch h2{margin:4px 0 5px;font-size:18px}.uqAkLaunch p{margin:0;color:#8999ac;font-size:10px;line-height:1.45}.uqAkLaunch>button{min-height:42px;padding:9px 14px;border:1px solid #60c49a;border-radius:12px;background:#1c513f;color:#c7f4df;font:inherit;font-size:9px;font-weight:900;cursor:pointer}
.uqAkStandalone{width:min(1260px,calc(100% - 24px));margin:0 auto}.uqAkStandaloneHero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:22px 25px;border:1px solid #65c79f3b;border-radius:25px;background:radial-gradient(circle at 85% 0,rgba(85,209,158,.16),transparent 34%),linear-gradient(135deg,#1a2f37,#101a28)}.uqAkStandaloneHero small{color:#72d5ae;font-size:8px;font-weight:950;letter-spacing:.13em}.uqAkStandaloneHero h1{margin:5px 0;color:#f3f7fa;font-size:34px;letter-spacing:-.04em}.uqAkStandaloneHero p{margin:0;color:#91a1b2;font-size:11px}.uqAkStandaloneHero>span{display:grid;place-items:center;width:92px;height:92px;flex:0 0 92px;border:1px solid #67cfa455;border-radius:27px;background:linear-gradient(145deg,#285a4a,#17352c);color:#baf0d8;font-size:34px;font-weight:1000;box-shadow:0 18px 35px #02080555}.uqAkStandaloneHero>span small{display:block;margin-top:-12px;font-size:7px}.uqAkStandalone>footer{padding:4px 0 24px}
@media(max-width:720px){.uqAkLaunch{grid-template-columns:68px minmax(0,1fr);gap:11px;padding:12px}.uqAkLaunchVisual{width:68px;height:62px}.uqAkLaunch h2{font-size:14px}.uqAkLaunch p{font-size:9px}.uqAkLaunch>button{grid-column:1/-1;width:100%}.uqAkStandalone{width:calc(100% - 10px)}.uqAkStandaloneHero{padding:16px;border-radius:19px}.uqAkStandaloneHero h1{font-size:25px}.uqAkStandaloneHero p{font-size:9px}.uqAkStandaloneHero>span{width:64px;height:64px;flex-basis:64px;border-radius:19px;font-size:24px}.uqAkStandaloneHero>span small{margin-top:-8px;font-size:6px}.uqAkSafetyActions{grid-template-columns:1fr}.uqAkSafetyActions button{min-height:40px}.uqAkPrompt.safety{grid-template-columns:38px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.uqAkRifleSvg .uqAkSvgPart,.uqAkRifleSvg .ak-charge-handle,.uqAkRifleSvg .ak-trigger,.uqAkTrayPart{animation:none!important;transition:none!important}}

/* Correct safety cycle: hold open for inspection, release, then control trigger. */
.uqAkSafetyActions{grid-template-columns:repeat(4,minmax(0,1fr))}
.uqAkRifleSvg.safety-active[data-safety-stage="3"] .ak-chamber,.uqAkRifleSvg.safety-active[data-safety-stage="4"] .ak-chamber{opacity:0}
.uqAkRifleSvg.safety-active[data-safety-stage="3"] .ak-charge-handle,.uqAkRifleSvg.safety-active[data-safety-stage="4"] .ak-charge-handle{transform:translateX(0)}
.uqAkRifleSvg.safety-active[data-safety-stage="3"] .ak-trigger{animation:none}
.uqAkRifleSvg.safety-active[data-safety-stage="4"] .ak-trigger{animation:uqAkTrigger .42s ease both}
@media(max-width:720px){.uqAkSafetyActions{grid-template-columns:1fr}}

/* Direct manipulation on the weapon diagram. */
.ak-direct-hit{cursor:pointer;outline:none}.ak-direct-hit path,.ak-direct-hit rect{fill:transparent;stroke:transparent;stroke-width:2}.ak-direct-hit circle{fill:#65d8ad2e;stroke:#78e6ba;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:uqAkDirectPulse 1.15s ease-in-out infinite}.ak-direct-hit text{fill:#a8efd3;font-size:10px;font-weight:950;letter-spacing:.08em;text-anchor:middle;paint-order:stroke;stroke:#0b141d;stroke-width:5px;stroke-linejoin:round}.ak-direct-hit:hover circle,.ak-direct-hit:focus circle{fill:#65d8ad55;stroke:#c2ffe7}.ak-direct-hit.handle-hit.pulled{transform:translateX(-72px)}
.ak-gas-callout{pointer-events:none}.ak-gas-callout path{fill:none;stroke:#bdcb83;stroke-width:2;stroke-dasharray:5 4}.ak-gas-callout rect{fill:#263323;stroke:#aebe78;stroke-width:2}.ak-gas-callout text{fill:#e3efb5;font-size:10px;font-weight:950;letter-spacing:.06em;text-anchor:middle}
.uqAkDirectInstruction{display:flex;align-items:center;gap:10px;width:100%;margin-top:10px;padding:10px 12px;border:1px solid #65cda54d;border-radius:13px;background:#17362d}.uqAkDirectInstruction i{width:10px;height:10px;flex:0 0 10px;border:2px solid #87e7c0;border-radius:50%;box-shadow:0 0 0 6px #65d8ad16,0 0 16px #65d8ad66;animation:uqAkDirectPulse 1.15s ease-in-out infinite}.uqAkDirectInstruction small,.uqAkDirectInstruction b{display:block}.uqAkDirectInstruction small{color:#78cbaa;font-size:7px;font-weight:950;letter-spacing:.1em}.uqAkDirectInstruction b{margin-top:3px;color:#dcf7ec;font-size:10px}.uqAkPrompt.safety .uqAkDirectInstruction{grid-column:1/-1}
.uqAkRifleSvg .part-cover{filter:drop-shadow(0 0 3px #6f9fca55)}.uqAkRifleSvg .part-gas{filter:drop-shadow(0 0 3px #a7bb7155)}.uqAkRifleSvg .part-carrier{filter:drop-shadow(0 0 3px #65a5a655)}.uqAkRifleSvg .part-bolt{filter:drop-shadow(0 0 3px #ceb46d66)}
@keyframes uqAkDirectPulse{50%{transform:scale(1.16);opacity:.76}}
@media(max-width:620px){.ak-direct-hit text{font-size:9px}.ak-gas-callout text{font-size:9px}.uqAkDirectInstruction b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ak-direct-hit circle,.uqAkDirectInstruction i{animation:none!important}}
