/* IELTS Core workspace shape system. Loaded last on student workspace pages so every page shares one set of shapes:
   action buttons 12px radius at 44px (large 52px), filter chips fully rounded at 36px, cards 16px with 12px items inside.
   Exam interfaces, video-call controls and small icon buttons keep their own shapes.
   html:not(#ic) gives each rule ID-level weight so it wins over the older stylesheets' !important rules. */
:root { --ic-radius-btn:12px; --ic-radius-card:16px; --ic-radius-item:12px; --ic-btn-h:44px; --ic-btn-h-lg:52px; --ic-chip-h:36px; }

/* Action buttons */
html:not(#ic) main .button,
html:not(#ic) .vx-card-btn,
html:not(#ic) .vx-card-cta-btn,
html:not(#ic) .vx-search-btn,
html:not(#ic) .pred-btn-start,
html:not(#ic) .sc-invite-btn,
html:not(#ic) .dash-btn-quiet {
  min-height:var(--ic-btn-h)!important;
  border-radius:var(--ic-radius-btn)!important;
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
html:not(#ic) .start-action-btn {
  min-height:var(--ic-btn-h-lg)!important;
  border-radius:var(--ic-radius-btn)!important;
  font-size:15px!important;
  font-weight:600!important;
}
html:not(#ic) main .button, html:not(#ic) .vx-card-btn, html:not(#ic) .vx-card-cta-btn, html:not(#ic) .pred-btn-start { padding-block:0!important; }

/* Tiles and list links that act like buttons share the button corner */
html:not(#ic) .practice-hub-link,
html:not(#ic) .shortcut-btn,
html:not(#ic) .sc-mode-btn,
html:not(#ic) .pred-module-card { border-radius:var(--ic-radius-btn)!important; }

/* Filter chips and tabs */
html:not(#ic) .practice-toolbar-unified .filter,
html:not(#ic) .vx-type-tab,
html:not(#ic) .pred-tab-btn,
html:not(#ic) .sc-level-pill,
html:not(#ic) .chip-item,
html:not(#ic) [data-vocabulary-filter] {
  min-height:var(--ic-chip-h)!important;
  border-radius:999px!important;
  padding:0 14px!important;
  font-size:13px!important;
  font-weight:600!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Cards */
html:not(#ic) .dash-card,
html:not(#ic) .vx-test-card,
html:not(#ic) .skill-card,
html:not(#ic) .mock-card,
html:not(#ic) .mock-hero-card,
html:not(#ic) .sc-card,
html:not(#ic) .vocabulary-empty,
html:not(#ic) .diagnostic-card,
html:not(#ic) .strategy-shortcuts-card,
html:not(#ic) .practice-hub-card,
html:not(#ic) .practice-toolbar-unified { border-radius:var(--ic-radius-card)!important; }

/* Items inside cards */
html:not(#ic) .diagnostic-item,
html:not(#ic) .dash-skill,
html:not(#ic) .weak-chip,
html:not(#ic) .sc-preview-wrap { border-radius:var(--ic-radius-item)!important; }

/* Library cards: one quiet border instead of a coloured top stripe, and a light outline action
   so a grid of 100+ cards does not become a wall of solid blue. The action fills on hover. */
html:not(#ic) .materials-page .vx-test-card { border-top:1px solid #e2e8f0!important; }
html:not(#ic) .materials-page .vx-test-card:hover { border-top-color:#cbd5e1!important; }
html:not(#ic) .materials-page .vx-card-actions { width:auto!important; flex:0 0 auto!important; }
html:not(#ic) .materials-page .vx-card-cta-btn { width:auto!important; padding:0 16px!important; }
html:not(#ic) .materials-page .vx-card-cta-btn.primary { background:#fff!important; color:#245bc7!important; border:1px solid #c5d4f0!important; box-shadow:none!important; }
html:not(#ic) .materials-page .vx-card-cta-btn.primary:hover,
html:not(#ic) .materials-page .vx-card-cta-btn.primary:focus-visible { background:#245bc7!important; color:#fff!important; border-color:#245bc7!important; }
html:not(#ic) .materials-page .vx-card-cta-btn.review { background:#fff!important; }
html[data-theme="dark"]:not(#ic) .materials-page .vx-test-card { border-top-color:#363739!important; }
html[data-theme="dark"]:not(#ic) .materials-page .vx-test-card:hover { border-top-color:#4e5053!important; }
html[data-theme="dark"]:not(#ic) .materials-page .vx-card-cta-btn.primary { background:transparent!important; color:#9aaed6!important; border-color:#46474a!important; }
html[data-theme="dark"]:not(#ic) .materials-page .vx-card-cta-btn.primary:hover,
html[data-theme="dark"]:not(#ic) .materials-page .vx-card-cta-btn.primary:focus-visible { background:#3f64ac!important; color:#e1e2e5!important; border-color:#3f64ac!important; }
html[data-theme="dark"]:not(#ic) .materials-page .vx-card-cta-btn.review { background:#272829!important; }
html[data-theme="dark"]:not(#ic) .vx-catalog-breadcrumb .current { color:#e1e2e5!important; }

/* Calm dark mode: no glowing gradients and no bright electric blue. Surfaces are neutral, the main action is a
   quiet blue without a glow, so long study sessions do not tire the eyes. */
html[data-theme="dark"]:not(#ic) .mock-hero-card { background:#2a2b2e!important; background-image:none!important; border-color:#3d3e42!important; box-shadow:none!important; }
html[data-theme="dark"]:not(#ic) .mock-hero-card::after,
html[data-theme="dark"]:not(#ic) .mock-hero-card::before { display:none!important; }
html[data-theme="dark"]:not(#ic) main .button.primary,
html[data-theme="dark"]:not(#ic) .pred-btn-start,
html[data-theme="dark"]:not(#ic) .vx-btn-primary,
html[data-theme="dark"]:not(#ic) .vx-search-btn,
html[data-theme="dark"]:not(#ic) .start-action-btn {
  background:#3d5d9e!important;
  background-image:none!important;
  border-color:#3d5d9e!important;
  color:#eef0f4!important;
  box-shadow:none!important;
}
html[data-theme="dark"]:not(#ic) main .button.primary:hover,
html[data-theme="dark"]:not(#ic) .pred-btn-start:hover,
html[data-theme="dark"]:not(#ic) .vx-btn-primary:hover,
html[data-theme="dark"]:not(#ic) .vx-search-btn:hover,
html[data-theme="dark"]:not(#ic) .start-action-btn:hover { background:#4768a8!important; border-color:#4768a8!important; }html[data-theme="dark"]:not(#ic) .speaking-mode-btn.active,
html[data-theme="dark"]:not(#ic) .practice-toolbar-unified .filter.active,
html[data-theme="dark"]:not(#ic) .vx-type-tab.active { background:#3d5d9e!important; border-color:#3d5d9e!important; color:#eef0f4!important; box-shadow:none!important; }