/* 江苏职教高考学测刷题系统 v5.4.9
   UI 2.0 Release Candidate — final consistency & legacy-debt cleanup.
   No business/data model changes. */

html{scroll-behavior:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.ui2-rc-v549{--ui2-focus:rgba(31,99,215,.18)}
body.ui2-rc-v549 button,
body.ui2-rc-v549 input,
body.ui2-rc-v549 select,
body.ui2-rc-v549 textarea{font:inherit}
body.ui2-rc-v549 button{touch-action:manipulation}

/* Final primitive normalization: legacy .btn/.badge/.card must no longer leak AI-era styling. */
body.ui2-rc-v549 #app .btn{
  border-radius:8px!important;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
}
body.ui2-rc-v549 #app .btn.primary{
  color:#fff!important;
  background:var(--ui2-brand,#1f63d7)!important;
  border-color:var(--ui2-brand,#1f63d7)!important;
}
body.ui2-rc-v549 #app .btn.primary:hover{
  background:var(--ui2-brand-strong,#174ea8)!important;
  border-color:var(--ui2-brand-strong,#174ea8)!important;
}
body.ui2-rc-v549 #app .btn.ghost{
  color:var(--ui2-text-2,#4a5568)!important;
  background:#fff!important;
  border-color:var(--ui2-border,#dde3ea)!important;
}
body.ui2-rc-v549 #app .btn.danger{
  color:var(--ui2-danger,#c2413b)!important;
  background:#fff8f7!important;
  border:1px solid #efd1cf!important;
}
body.ui2-rc-v549 #app .badge{
  border-radius:6px!important;
  box-shadow:none!important;
}
body.ui2-rc-v549 #app > .card,
body.ui2-rc-v549 #app > section.card{
  border-radius:12px!important;
  box-shadow:none!important;
}
body.ui2-rc-v549 #app .filter-empty-v36{
  padding:34px 18px!important;
  border:1px dashed var(--ui2-border-strong,#cbd3dd)!important;
  border-radius:10px!important;
  color:var(--ui2-text-3,#7a8495)!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.ui2-rc-v549 #app .empty-state{
  background:transparent!important;
  box-shadow:none!important;
}
body.ui2-rc-v549 #app .empty-state .btn.primary{min-height:42px!important}
body.ui2-rc-v549 #app .ui2-updates-v548{border-radius:0!important}

/* Practice: one remaining decorative gradient did not carry semantic value. */
body.ui2-rc-v549.ui2-practice-active .ui2-explain-section.concept{
  background:var(--ui2-brand-soft,#eef4ff)!important;
}

/* Empty review pages were the main live legacy leak found by the RC scan. */
body.ui2-rc-v549.ui2-v549-library-empty .main-panel{max-width:900px;margin-left:auto!important;margin-right:auto!important}
body.ui2-rc-v549.ui2-v549-library-empty #app > section.card{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body.ui2-rc-v549.ui2-v549-library-empty #app .section-title{
  margin:0 0 18px!important;
  padding-bottom:15px!important;
  border-bottom:1px solid var(--ui2-border,#dde3ea)!important;
}
body.ui2-rc-v549.ui2-v549-library-empty #app .section-title h2{font-size:25px!important;letter-spacing:-.03em!important}
body.ui2-rc-v549.ui2-v549-library-empty #app .section-title p{display:none!important}
body.ui2-rc-v549.ui2-v549-library-empty #app .empty-state{
  min-height:260px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:8px!important;
  padding:42px 18px!important;
  border:1px dashed var(--ui2-border-strong,#cbd3dd)!important;
  border-radius:10px!important;
}
body.ui2-rc-v549.ui2-v549-library-empty #app .empty-state h3{margin:0!important;color:var(--ui2-text,#172033)!important;font-size:17px!important}
body.ui2-rc-v549.ui2-v549-library-empty #app .empty-state p{max-width:480px!important;margin:0!important;color:var(--ui2-text-3,#7a8495)!important;font-size:12px!important;line-height:1.7!important;text-align:center!important}
body.ui2-rc-v549.ui2-v549-library-empty #app .empty-state .actions{justify-content:center!important;margin-top:7px!important}

/* Shared floating feedback: shadow is reserved for true floating layers. */
.ui2-module-warning-v549{
  position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));z-index:99999;
  padding:11px 13px;border:1px solid #ead6ad;border-radius:10px;background:#fffaf0;color:#7a4b0e;
  box-shadow:0 10px 28px rgba(23,32,51,.12);font-size:13px;line-height:1.55;
}

/* Consistent keyboard focus across every migrated page. */
body.ui2-rc-v549 :is(button,a,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--ui2-brand,#1f63d7)!important;
  outline-offset:2px!important;
}

/* Modal semantics and keyboard-safe scrolling. */
body.ui2-rc-v549 .ui2-account-modal-v548,
body.ui2-rc-v549 .ui2-foundation-modal-v548,
body.ui2-rc-v549 .v53-modal,
body.ui2-rc-v549 .v54-modal{
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
body.ui2-rc-v549.ui2-keyboard-open-v549:not(.ui2-practice-active) .nav-tabs{display:none!important}
body.ui2-rc-v549.ui2-keyboard-open-v549 .ui2-more-menu,
body.ui2-rc-v549.ui2-keyboard-open-v549 .ui2-more-backdrop{display:none!important}

/* Long content boundaries: IDs, emails, class codes and source text should wrap instead of widening the page. */
body.ui2-rc-v549 :is(.helper,.review-meta,.ui2-account-state,.v50-id-box,.v52-device-meta,.v49-doc-card p,.v53-member-meta,.v54-assignment-meta){overflow-wrap:anywhere;word-break:break-word}

@media(max-width:620px){
  body.ui2-rc-v549.ui2-shell-v543:not(.ui2-practice-active){padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  body.ui2-rc-v549.ui2-shell-v543:not(.ui2-practice-active) .nav-tabs{
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    box-shadow:0 8px 26px rgba(23,32,51,.12)!important;
  }
  body.ui2-rc-v549 .ui2-more-menu{bottom:calc(76px + env(safe-area-inset-bottom))!important}
  body.ui2-rc-v549 #app .btn{min-height:40px}
  body.ui2-rc-v549 #app .btn.primary{min-height:44px}
  body.ui2-rc-v549 .filter-empty-v36{padding:30px 14px!important}
}

@media(max-width:380px){
  body.ui2-rc-v549.ui2-shell-v543:not(.ui2-practice-active) .brand p{display:none!important}
  body.ui2-rc-v549.ui2-shell-v543:not(.ui2-practice-active) .brand h1{max-width:calc(100vw - 68px)!important}
  body.ui2-rc-v549 .ui2-more-menu-head span{display:none}
}

@media(prefers-reduced-motion:reduce){
  body.ui2-rc-v549 *,body.ui2-rc-v549 *::before,body.ui2-rc-v549 *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* RC touch-target finish for low-frequency management/text actions. */
body.ui2-rc-v549 .ui2-release-box button{min-height:36px!important;padding:7px 0!important}
body.ui2-rc-v549 .ui2-v547-history-manage>button,
body.ui2-rc-v549 .ui2-v547-library-manage>button{min-height:36px!important}

/* RC scan fix: v5.4.5 selector accidentally targeted body instead of the outline shortcut element. */
body.ui2-rc-v549 .ui2-learn-outline-shortcut{
  border-radius:10px!important;
  box-shadow:none!important;
}

/* Mock exam still contains legacy knowledge/meta renderers from pre-UI2 content helpers. */
body.ui2-rc-v549.ui2-v547-mock-exam .knowledge-chip-v42{
  padding:3px 6px!important;
  border:0!important;
  border-radius:6px!important;
  background:var(--ui2-surface-muted,#f1f4f8)!important;
  color:var(--ui2-text-3,#7a8495)!important;
  box-shadow:none!important;
  font-size:10.5px!important;
}
body.ui2-rc-v549.ui2-v547-mock-exam .math-text-card{
  border-radius:8px!important;
  box-shadow:none!important;
}
body.ui2-rc-v549 .session-lock-toast{
  border-radius:10px!important;
  box-shadow:0 10px 28px rgba(23,32,51,.14)!important;
}

/* RC: mock exam information reduction — section title already states question type. */
.ui2-v549-redundant-mock-meta,.ui2-v549-redundant-math-hint{display:none!important}
body.ui2-v547-mock-exam .mock-question-head{min-height:0!important;margin-bottom:8px!important}
body.ui2-v547-mock-exam .math-view-switch{display:flex!important;align-items:center!important;gap:6px!important;margin:8px 0!important}
body.ui2-v547-mock-exam .math-view-switch .btn{min-height:34px!important;padding:6px 12px!important;border-radius:8px!important}

.ui2-v549-current-release{margin:0 0 10px!important;padding:14px 0!important;border:0!important;border-bottom:1px solid var(--ui2-border)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ui2-v549-current-release h3{margin:0 0 7px!important;font-size:16px!important;color:var(--ui2-text)!important}
.ui2-v549-current-release p{margin:0!important;color:var(--ui2-text-2)!important;font-size:13px!important;line-height:1.65!important}
.ui2-v549-current-release .version-pill{margin-right:8px!important;border-radius:6px!important;background:var(--ui2-brand-soft)!important;color:var(--ui2-brand-strong)!important;box-shadow:none!important}
