:root {
  --paper: #f3f7fb;
  --surface: #fff;
  --surface-muted: #edf4fb;
  --ink: #102949;
  --muted: #5c708b;
  --line: #dce7f3;
  --brand: #0874da;
  --brand-dark: #075cb0;
  --brand-pale: #e8f3ff;
  --gold: #e3ab54;
  --gold-pale: #fff3d9;
  --blue: #0874da;
  --blue-pale: #e8f3ff;
  --danger: #bf5462;
  --shadow: 0 16px 45px rgba(24, 58, 101, .07);
  font-family: "Segoe UI", Inter, Arial, sans-serif;
}
body { background: #f3f7fb; color: #102949; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #78b9fa; outline-offset: 2px; }
.studio-layout { grid-template-columns: 256px minmax(0, 1fr); }
.studio-sidebar { width: 256px; padding: 21px 9px 13px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #506b84 transparent; border-right: 1px solid #213b55; background: linear-gradient(165deg, #182d43 0%, #18334c 58%, #15293e 100%); color: #f3f8ff; }
.studio-brand { width: 100%; display: flex; align-items: center; gap: 12px; border: 0; padding: 6px 16px 24px; background: transparent; color: #fff; text-align: left; }
.studio-brand-icon { width: 53px; height: 53px; display: grid; place-items: center; flex: 0 0 auto; color: #b9dbff; filter: drop-shadow(0 4px 0 #0c62bb); }
.studio-brand-icon svg { width: 43px; height: 43px; stroke-width: 1.5; }
.studio-brand strong { display: block; font-size: 24px; font-weight: 800; letter-spacing: -.055em; line-height: 1.08; }
.studio-brand small { display: block; margin-top: 4px; color: #b8c9da; font-size: 11px; letter-spacing: .005em; white-space: nowrap; }
.studio-sidebar .nav-list { gap: 2px; }
.studio-sidebar .nav-button { min-height: 49px; gap: 17px; padding: 10px 17px; border-radius: 8px; color: #f0f6ff; font-size: 14px; font-weight: 500; }
.studio-sidebar .nav-button:hover { background: #244b70; color: #fff; }
.studio-sidebar .nav-button.active { background: linear-gradient(110deg, #147ddd, #0c63bd); color: #fff; box-shadow: inset 0 1px rgba(255,255,255,.14), 0 5px 12px rgba(3,19,38,.13); }
.studio-sidebar .nav-button.active::before { display: none; }
.studio-sidebar .nav-icon { width: 23px; height: 23px; stroke-width: 1.7; }
.studio-sidebar .nav-label { color: #87a4c1; padding: 12px 16px 7px; font-size: 10px; }
.studio-nav-divider { height: 1px; margin: 13px 13px 6px; background: #35516b; }
.studio-help-link { width: calc(100% - 12px); display: flex; align-items: center; gap: 17px; margin: 5px 6px 0; padding: 11px 12px; border: 0; border-radius: 8px; color: #e9f3ff; background: transparent; text-align: left; font-size: 14px; }
.studio-help-link:hover { background: #244b70; }
.studio-help-link svg { width: 23px; height: 23px; }
.studio-side-note { margin: 16px 14px 13px; padding: 23px 23px 17px; border: 1px solid #31516f; border-radius: 11px; background: linear-gradient(140deg,#1d3b57,#244660); color: #f7fbff; font-size: 15px; line-height: 1.55; }
.studio-side-note small { display: block; margin-top: 17px; color: #b8d1e7; font-size: 10px; }
.studio-side-meter { height: 10px; margin-top: 23px; border-radius: 10px; background: #345774; overflow: hidden; }
.studio-side-meter i { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#397ecc,#7fc3ff); transform: scaleX(var(--progress,0)); transform-origin: left center; }
.studio-side-bottom { display: flex; gap: 12px; flex-wrap: wrap; padding: 0 16px 4px; font-size: 11px; color: #b9ccde; }
.studio-side-bottom a { text-decoration: none; }
.studio-side-bottom a:hover { text-decoration: underline; }
.studio-main { min-width: 0; display: flex; flex-direction: column; min-height: 100vh; background: radial-gradient(ellipse at 52% -10%,#fff 0,#f2f7fc 54%,#edf4fb 100%); }
.studio-topbar { height: 77px; flex: 0 0 auto; justify-content: space-between; gap: 20px; padding: 0 clamp(20px,2.5vw,42px); border-bottom: 1px solid #e0eaf4; background: rgba(255,255,255,.84); }
.studio-search { display: flex; align-items: center; width: min(530px,55vw); min-width: 0; height: 42px; padding: 0 10px 0 13px; border: 1px solid #e0ebf5; border-radius: 12px; background: #f0f6fc; box-shadow: inset 0 1px 2px rgba(24,65,104,.025); }
.studio-search > span { display: grid; place-items: center; color: #1e4167; }
.studio-search svg { width: 21px; height: 21px; }
.studio-search input { width: 100%; min-width: 0; padding: 8px 12px; border: 0; outline: 0; background: transparent; color: #17324f; font-size: 14px; }
.studio-search input::placeholder { color: #72849a; }
.studio-search button { border: 0; background: transparent; color: #0c69c4; font-size: 12px; font-weight: 700; }
.studio-top-actions { display: flex; align-items: center; gap: 28px; }
.studio-notify { position: relative; width: 36px; height: 38px; display: grid; place-items: center; border: 0; background: transparent; color: #1e4167; }
.studio-notify svg { width: 24px; height: 24px; }
.studio-notify-count { position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; padding: 1px 4px; border-radius: 12px; background: #e35662; color: white; font-size: 10px; font-weight: 800; }
.studio-account { position: relative; }
.studio-account summary { display: flex; align-items: center; gap: 11px; list-style: none; cursor: pointer; }
.studio-account summary::-webkit-details-marker { display: none; }
.studio-account .avatar { width: 42px; height: 42px; background: #19374f; color: #fff; font-size: 14px; overflow: hidden; }
.studio-account-name strong,.studio-account-name small { display: block; white-space: nowrap; }
.studio-account-name strong { font-size: 13px; }
.studio-account-name small { margin-top: 2px; color: #687f98; font-size: 11px; }
.studio-chevron { padding-left: 13px; color: #17324e; font-size: 20px; }
.studio-account-menu { position: absolute; z-index: 50; top: calc(100% + 10px); right: 0; width: 190px; padding: 6px; border: 1px solid #d8e6f3; border-radius: 12px; background: white; box-shadow: 0 16px 30px rgba(13,44,78,.15); }
.studio-account-menu button { display: block; width: 100%; border: 0; border-radius: 7px; padding: 10px 11px; background: white; color: #153453; text-align: left; font-size: 13px; }
.studio-account-menu button:hover { background: #eaf4fd; }
.studio-mobile-menu { display: none; }
.studio-content { width: 100%; max-width: none; flex: 1; margin: 0; padding: 15px clamp(16px,1.7vw,30px) 30px; }
.studio-footer { min-height: 65px; display: flex; align-items: center; gap: 23px; flex-wrap: wrap; padding: 13px clamp(20px,2.5vw,42px); background: #1c344a; color: #bdcedf; font-size: 12px; }
.studio-footer strong { color: white; font-size: 15px; }
.studio-footer nav { display: flex; gap: 20px; margin-left: auto; }
.studio-footer a { text-decoration: none; }
.studio-footer button { padding: 0; border: 0; background: transparent; color: inherit; font-size: inherit; }
.studio-footer a:hover,.studio-footer button:hover { text-decoration: underline; }
.studio-dashboard { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(320px,.92fr); grid-template-areas: "hero hero progress" "modules modules events" "tasks recommend quick" "daily daily daily"; gap: 14px; align-items: stretch; }
.studio-hero { grid-area: hero; position: relative; min-width: 0; min-height: 270px; overflow: hidden; border-radius: 12px; background: #263f55 url('/assets/study-desk.webp') center 57%/cover no-repeat; color: white; }
.studio-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(15,34,56,.76),rgba(18,44,66,.28) 55%,rgba(9,31,54,.05)); }
.studio-hero-copy { position: relative; z-index: 1; max-width: 560px; padding: clamp(24px,2vw,36px); }
.studio-hero-kicker { color: #d5e9ff; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.studio-hero h1 { margin: 8px 0 13px; color: white; font-size: clamp(28px,2.3vw,39px); line-height: 1.12; letter-spacing: -.04em; }
.studio-hero p { margin: 0 0 20px; color: #f4f9ff; font-size: clamp(14px,1.25vw,17px); line-height: 1.5; }
.studio-hero .button { min-height: 48px; padding: 10px 20px; border-radius: 9px; background: #086ecb; box-shadow: 0 6px 16px rgba(5,31,59,.22); font-size: 15px; }
.studio-hero .button:hover { background: #1489ee; }
.studio-hero-script { position: absolute; top: 31px; right: 7%; transform: rotate(-11deg); color: #122c51; font: italic 27px/1.12 "Segoe Print", "Bradley Hand", cursive; text-align: center; text-shadow: 0 1px 1px rgba(255,255,255,.5); }
.studio-card { min-width: 0; padding: 18px 20px; border: 1px solid #dce8f5; border-radius: 12px; background: rgba(255,255,255,.88); box-shadow: 0 4px 14px rgba(27,65,109,.025); }
.studio-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.studio-panel-head h2 { margin: 0; color: #10294b; font-size: 17px; font-weight: 750; letter-spacing: -.025em; }
.studio-panel-head .small-link { color: #0869c4; font-size: 12px; font-weight: 650; }
.studio-progress { grid-area: progress; }
.studio-progress-body { display: flex; align-items: center; gap: clamp(16px,2vw,30px); padding: 3px 0 6px; }
.studio-ring { width: clamp(105px,9vw,132px); aspect-ratio: 1; position: relative; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; }
.studio-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.studio-ring circle { fill: none; stroke-width: 10; }
.studio-ring .ring-track { stroke: #cbdcec; }
.studio-ring .ring-fill { stroke: #328df4; stroke-linecap: butt; }
.studio-ring .ring-fill.is-empty { visibility: hidden; }
.studio-ring strong { grid-area: 1/1; z-index: 1; color: #123354; font-size: 24px; }
.studio-progress-stats { display: grid; gap: 8px; color: #45617e; font-size: 13px; }
.studio-progress-stats strong { color: #143758; }
.studio-progress-note { margin: 8px 0 0; padding: 11px 13px; border-radius: 9px; background: #e5f1fd; color: #41617f; font-size: 12px; line-height: 1.45; }
.studio-modules { grid-area: modules; }
.studio-module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.studio-module { min-width: 0; min-height: 98px; display: flex; align-items: flex-start; gap: 12px; padding: 14px 13px; border: 1px solid #dbe7f4; border-radius: 10px; background: #fbfdff; color: #12304f; text-align: left; transition: transform .15s,box-shadow .15s,border-color .15s; }
.studio-module:hover { transform: translateY(-2px); border-color: #8cc0f1; box-shadow: 0 8px 20px rgba(19,74,128,.08); }
.studio-module-icon { width: 51px; height: 51px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: linear-gradient(145deg,#e5f1fc,#f3f8fd); color: #0869c5; }
.studio-module-icon svg { width: 27px; height: 27px; }
.studio-module-main { min-width: 0; flex: 1; display: grid; gap: 4px; }
.studio-module-main strong { font-size: 12px; line-height: 1.35; }
.studio-module-main small { color: #657c95; font-size: 10px; line-height: 1.3; }
.studio-module-bar { height: 7px; display: block; overflow: hidden; border-radius: 9px; background: #e3ecf5; }
.studio-module-bar i { width: 100%; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#63bc78,#78d58b); transform: scaleX(var(--progress,0)); transform-origin: left center; }
.studio-module-percent { align-self: end; color: #436887; font-size: 11px; font-weight: 700; white-space: nowrap; }
.studio-events { grid-area: events; }
.studio-event-list { display: grid; gap: 0; }
.studio-event { display: flex; align-items: center; gap: 12px; padding: 6px 0; border-bottom: 1px solid #e8eff7; }
.studio-event:last-child { border-bottom: 0; }
.studio-date-tile { width: 49px; height: 52px; display: grid; place-items: center; flex: 0 0 auto; padding: 5px; border-radius: 9px; background: #edf4fb; color: #102e51; }
.studio-date-tile small { font-size: 9px; text-transform: uppercase; }
.studio-date-tile strong { font-size: 20px; line-height: 1; }
.studio-event > span:last-child { min-width: 0; display: grid; gap: 4px; }
.studio-event > span:last-child strong { font-size: 12px; line-height: 1.3; }
.studio-event > span:last-child small { color: #607995; font-size: 11px; }
.studio-wide-action { width: 100%; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 11px; padding: 10px; border: 1px solid #dce8f5; border-radius: 8px; background: #edf5fd; color: #1267bc; font-size: 12px; font-weight: 700; }
.studio-wide-action svg { width: 18px; height: 18px; }
.studio-tasks { grid-area: tasks; }
.studio-recommend { grid-area: recommend; }
.studio-quick { grid-area: quick; }
.studio-empty { padding: 17px 14px; border-radius: 9px; background: #f0f6fc; color: #627b94; font-size: 13px; line-height: 1.5; }
.studio-task-row { display: flex; gap: 12px; align-items: flex-start; padding: 8px 1px; border-bottom: 1px solid #edf2f7; }
.studio-task-row:last-of-type { border-bottom: 0; }
.studio-check { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; padding: 0; border: 1.5px solid #a9c0d8; border-radius: 6px; background: white; color: white; font-size: 15px; font-weight: 900; }
.studio-check:hover { border-color: #0a72d7; }
.studio-task-row.is-done .studio-check,.studio-check.checked { border-color: #1870c8; background: #1870c8; }
.studio-task-row > span { display: grid; gap: 3px; min-width: 0; }
.studio-task-row strong { color: #173354; font-size: 12px; line-height: 1.35; }
.studio-task-row small { color: #69819b; font-size: 11px; }
.studio-task-row.is-done strong { color: #8597a8; text-decoration: line-through; }
.studio-inline-add { margin-top: 12px; padding: 4px 0; border: 0; background: transparent; color: #0b6ccb; font-size: 12px; font-weight: 700; }
.studio-recommend-row { display: flex; align-items: center; gap: 11px; padding: 8px 0; border-bottom: 1px solid #e8eff7; }
.studio-recommend-row:last-child { border-bottom: 0; }
.studio-rec-icon { width: 37px; height: 37px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; background: #e9f3fc; color: #0872d4; }
.studio-rec-icon svg { width: 19px; height: 19px; }
.studio-recommend-row > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 2px; }
.studio-recommend-row small { color: #7388a0; font-size: 10px; }
.studio-recommend-row strong { font-size: 12px; line-height: 1.35; }
.studio-recommend-row a { color: #0a6dcb; text-decoration: none; font-size: 19px; }
.studio-quick-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.studio-quick-grid button { min-height: 69px; display: flex; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid #dfebf6; border-radius: 9px; background: #edf5fd; color: #143253; text-align: left; font-size: 11px; font-weight: 650; line-height: 1.35; }
.studio-quick-grid button:hover { background: #e1f0ff; border-color: #9dc6ef; }
.studio-quick-grid svg { width: 25px; height: 25px; flex: 0 0 auto; color: #0b6ecb; }
.studio-daily { grid-area: daily; }
.studio-daily .daily-quest-panel { min-height: 0; display: flex; align-items: center; gap: 18px; padding: 19px 23px; border: 1px solid #cadeef; border-radius: 12px; background: linear-gradient(95deg,#dfeeff,#f0f7ff); box-shadow: none; }
.studio-daily .daily-quest-copy { flex: 1; }
.studio-daily .daily-quest-copy h2 { margin: 5px 0; color: #123253; font-size: 19px; }
.studio-daily .daily-quest-copy p { margin: 0; color: #496985; font-size: 12px; }
.studio-daily .daily-settings-inline { max-width: 300px; margin: 0; }
.studio-daily .daily-settings-inline > summary { color: #0b65bb; }
.studio-content .page-heading { margin: 8px 0 23px; }
.studio-content .page-heading h1,.studio-content .panel-header h2,.studio-content .course-card h2,.studio-content .exam-card h2 { color: #112e50; }
.studio-content .page-heading p { color: #627b94; }
.studio-content .panel,.studio-content .course-card,.studio-content .exam-card,.studio-content .question-card { border-color: #dbe7f4; background: white; box-shadow: 0 4px 14px rgba(27,65,109,.025); }
.studio-content .course-card,.studio-content .exam-card { border-radius: 12px; }
.studio-content .button-primary { background: #0b70ce; color: white; }
.studio-content .button-primary:hover { background: #075baa; }
.studio-content .button-secondary { border-color: #d5e3f1; color: #16436d; }
.studio-content .small-link { color: #0869c4; }
.studio-content .eyebrow { color: #2875bd; }
.studio-content .badge,.studio-content .score-pill { background: #e9f4ff; color: #135f9e; }
.studio-content .empty-note { background: #eff6fc; color: #5e7691; }
.studio-library-intro { display: flex; align-items: center; gap: 17px; margin-bottom: 19px; padding: 17px 20px; border: 1px solid #ccdef1; border-radius: 12px; background: linear-gradient(100deg,#e6f1fc,#f8fbff); }
.studio-library-intro > span { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #cce6ff; color: #0869c5; }
.studio-library-intro svg { width: 26px; height: 26px; }
.studio-library-intro > div { flex: 1; }
.studio-library-intro strong { font-size: 15px; }
.studio-library-intro p { margin: 4px 0 0; color: #536e8a; font-size: 12px; line-height: 1.5; }
.studio-filterbar { display: flex; align-items: end; gap: 11px; flex-wrap: wrap; margin-bottom: 13px; }
.studio-filterbar label { min-width: 150px; display: grid; gap: 5px; color: #506985; font-size: 11px; font-weight: 700; }
.studio-filterbar label:first-child { flex: 1; min-width: 230px; }
.studio-filterbar input,.studio-filterbar select,.studio-item-form input,.studio-item-form textarea { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #d4e3f2; border-radius: 8px; background: white; color: #123253; font-size: 13px; }
.studio-library-meta { margin: 0 0 12px; color: #617d98; font-size: 12px; }
.studio-resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.studio-resource { min-width: 0; display: flex; gap: 14px; padding: 19px; border: 1px solid #dce8f5; border-radius: 12px; background: white; }
.studio-resource-icon { width: 45px; height: 45px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #e8f3ff; color: #0b6bc5; }
.studio-resource-icon.guide { background: #e9f8ef; color: #2b8a57; }
.studio-resource-icon svg { width: 24px; height: 24px; }
.studio-resource-body { min-width: 0; }
.studio-resource-meta { color: #607d97; font-size: 11px; }
.studio-resource h3 { margin: 5px 0 7px; color: #14365a; font-size: 15px; line-height: 1.3; }
.studio-resource p { min-height: 42px; margin: 0 0 13px; color: #5c7590; font-size: 12px; line-height: 1.45; }
.studio-resource-actions { display: flex; flex-wrap: wrap; gap: 7px 13px; align-items: center; }
.studio-resource-actions a,.studio-resource-actions button { padding: 0; border: 0; background: transparent; color: #0a69bf; font-size: 11px; font-weight: 700; text-decoration: none; }
.studio-resource-actions button { color: #5b7590; }
.studio-resource-actions button[aria-pressed="true"] { color: #126fb9; }
.studio-resource-actions a:hover,.studio-resource-actions button:hover { text-decoration: underline; }
.studio-library-next { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 21px; }
.studio-library-next h2 { margin: 0 15px 0 0; font-size: 17px; }
.studio-workspace-grid { display: grid; grid-template-columns: minmax(290px,.72fr) minmax(0,1.28fr); gap: 15px; align-items: start; }
.studio-editor h2 { margin: 0 0 17px; font-size: 18px; }
.studio-item-form { display: grid; gap: 14px; }
.studio-item-form label { display: grid; gap: 6px; color: #425f7b; font-size: 12px; font-weight: 700; }
.studio-item-form textarea { min-height: 130px; resize: vertical; line-height: 1.55; }
.studio-form-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.studio-items { display: grid; gap: 10px; }
.studio-item { padding: 14px; border: 1px solid #e2ecf6; border-radius: 9px; background: #fbfdff; }
.studio-item-top { display: flex; align-items: flex-start; gap: 11px; }
.studio-item-symbol { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 auto; color: #1477ce; }
.studio-item-symbol svg { width: 23px; height: 23px; }
.studio-item h3 { margin: 1px 0 3px; color: #143557; font-size: 14px; }
.studio-item small { color: #6b8299; font-size: 11px; }
.studio-item p { margin: 11px 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #48647e; font-size: 13px; line-height: 1.55; }
.studio-item.is-done h3 { color: #8ba0b4; text-decoration: line-through; }
.studio-item-actions { display: flex; gap: 13px; margin-top: 11px; }
.studio-item-actions button { padding: 0; border: 0; background: transparent; color: #0c6cc6; font-size: 11px; font-weight: 700; }
.studio-item-actions button:last-child { color: #9a5b68; }
.studio-checklist-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.studio-checklist-head { display: flex; align-items: center; gap: 12px; margin-bottom: 13px; }
.studio-checklist-head > span { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 10px; background: #e7f3ff; color: #0d6bc5; }
.studio-checklist-head svg { width: 24px; height: 24px; }
.studio-checklist-head > div { flex: 1; }
.studio-checklist-head small { color: #5c82a3; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.studio-checklist-head h2 { margin: 3px 0 0; font-size: 16px; }
.studio-checklist-head > strong { color: #2773b9; font-size: 14px; }
.studio-checklist ul { display: grid; gap: 10px; margin: 17px 0; padding: 0; list-style: none; }
.studio-checklist li { display: flex; align-items: flex-start; gap: 10px; color: #344f6b; font-size: 13px; line-height: 1.45; }
.studio-checklist .studio-check { width: 22px; height: 22px; }
.studio-search-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; align-items: start; }
.studio-result-list { display: grid; }
.studio-result-list > * { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid #e6eff8; background: transparent; color: #0d5fb0; text-decoration: none; text-align: left; font-size: 14px; }
.studio-result-list > *:last-child { border-bottom: 0; }
.studio-result-list svg { width: 23px; height: 23px; flex: 0 0 auto; }
.studio-result-list span { min-width: 0; flex: 1; display: grid; gap: 3px; }
.studio-result-list strong { color: #143253; font-size: 13px; }
.studio-result-list small { color: #68809a; font-size: 11px; }

/* Existing lessons and practice views share the dashboard palette and type. */
.studio-content .learning-group-card { border-color: #dce8f4; background: #fff; color: #183451; box-shadow: 0 5px 20px rgba(27,65,109,.04); }
.studio-content .learning-group-card:hover { border-color: #a8d1f5; background: #f8fbff; }
.studio-content .learning-group-mark,.studio-content .learning-course-mark { border-radius: 11px; background: #e8f3ff; color: #0b70ca; }
.studio-content .learning-course-icon { width: 25px; height: 25px; }
.studio-content .learning-group-course-names,.studio-content .learning-group-arrow,.studio-content .learning-course-chevron { color: #2479c3; }
.studio-content .learning-group-copy strong,.studio-content .learning-course-copy strong { color: #183451; font-family: "Segoe UI", Inter, Arial, sans-serif; font-weight: 750; }
.studio-content .learning-group-copy small,.studio-content .learning-course-copy small,.studio-content .learning-group-meta { color: #657d94; font-size: 12px; }
.studio-content .learning-course[open] { border-color: #afd4f5; }
.studio-content .learning-course .course-chapters { border-top-color: #e1edf7; }
.studio-content .chapter-row,.studio-content .chapter-lesson,.studio-content .book-task { border-color: #dce8f4; background: #f9fcff; }
.studio-content .chapter-row button { background: #e5f2ff; color: #0869bf; }
.studio-content .chapter-row small,.studio-content .lesson-source { color: #6f879d !important; }
.studio-content .lesson-references a { border-color: #dce8f4; background: #fff; color: #126eb6; }
.studio-content .lesson-references a:hover { border-color: #9bc8ef; background: #f3f9ff; }
.studio-content .chapter-lesson > summary,.studio-content .book-task > summary { color: #234565; }
.studio-content .chapter-lesson[open] > summary { border-bottom-color: #dce8f4; background: #eef6fe; }
.studio-content .chapter-lesson-content p,.studio-content .chapter-lesson-section ul { color: #3f5b75; }
.studio-content .chapter-lesson-section h3 { color: #173957; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .chapter-lesson-content .chapter-lesson-intro,.studio-content .chapter-lesson-content .book-task-check { border-left-color: #2c8add; background: #eef6fe; color: #274b6b; }
.studio-content .team-phase-grid article { border-color: #dce8f4; background: #fff; }
.studio-content .team-phase-grid strong,.studio-content .lesson-open-label { color: #0b70c8; }
.studio-content .exam-prep-note { border-color: #d8e8f7; border-left-color: #1b83da; background: #f4f9fe; color: #365b7b; }
.studio-content .exam-prep-icon { background: #e3f1ff; color: #1273c8; }
.studio-content .exam-prep-note strong { color: #183451; }
.studio-content .exam-prep-note a { color: #086cc4; }
.studio-content .exam-area-tab { border-color: #d9e8f6; background: #fff; color: #345775; }
.studio-content .exam-area-tab:hover { border-color: #b7d8f5; background: #f2f8ff; }
.studio-content .exam-area-tab.active { border-color: #0b70ce; background: #0b70ce; color: #fff; }
.studio-content .exam-area-tab span { color: #0b70ce; }
.studio-content .exam-area-tab.active span { color: #fff; }
.studio-content .exam-last-result { background: #eaf4ff; color: #45637f; }
.studio-content .exam-last-result strong { color: #0b65b8; }
.studio-content .excel-intro,.studio-content .word-workshop .excel-intro { border-color: #dce8f4; border-left-color: #1680d8; border-radius: 12px; background: #eaf4fe; }
.studio-content .excel-intro-mark,.studio-content .word-workshop .excel-intro-mark,.studio-content .excel-level,.studio-content .word-workshop .excel-level { background: #d9ecff; color: #0d70c9; }
.studio-content .excel-module-icon { border-color: #cfe4f7; background: #e4f2ff; color: #0b71c9; }
.studio-content .excel-intro strong,.studio-content .word-workshop .excel-intro strong,.studio-content .excel-module-heading strong,.studio-content .word-workshop .excel-module-heading strong { color: #183451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .excel-intro p,.studio-content .word-workshop .excel-intro p,.studio-content .excel-module-heading small,.studio-content .word-workshop .excel-module-heading small { color: #526d87; font-size: 12px; }
.studio-content .excel-progress,.studio-content .word-workshop .excel-progress { border-color: #c9dff3; color: #59758f; }
.studio-content .excel-progress strong,.studio-content .word-workshop .excel-progress strong { color: #0e6bbb; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .excel-module,.studio-content .word-workshop .excel-module { border-color: #dce8f4; background: #fff; }
.studio-content .excel-module[open],.studio-content .word-workshop .excel-module[open] { border-color: #b6d8f5; box-shadow: 0 5px 20px rgba(27,65,109,.045); }
.studio-content .excel-module-body,.studio-content .excel-module-footer,.studio-content .word-workshop .excel-module-footer { border-color: #e1edf7; }
.studio-content .excel-chevron,.studio-content .word-workshop .excel-chevron { color: #3788ce; }
.studio-content .excel-function,.studio-content .word-workshop .excel-function { border-color: #dfebf5; background: #f9fcff; }
.studio-content .excel-function-name span,.studio-content .excel-syntax > span { color: #5d83a5; }
.studio-content .excel-function-name strong,.studio-content .word-workshop .excel-function-name strong { color: #173d61; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .excel-syntax code,.studio-content .word-workshop .excel-syntax code { border-color: #dce8f4; background: #eff6fd; color: #163d61; }
.studio-content .excel-function dt,.studio-content .word-workshop .excel-function dt { color: #3e6e9b; font-size: 11px; }
.studio-content .excel-function dd { color: #3f5871; font-size: 13px; line-height: 1.58; }
.studio-content .excel-function dl > div { border-top-color: #e1edf7; }
.studio-content .excel-function .excel-common-mistake dt { color: #a75e62; }
.studio-content .excel-function .excel-correction dt { color: #318061; }
.studio-content .simple-explanation { border-color: #cfe5f8; background: #edf6ff; }
.studio-content .simple-explanation > summary,.studio-content .simple-explanation > summary::before { color: #246ba7; }
.studio-content .simple-explanation > p { color: #3c617f; }
.studio-content .excel-references { border-top-color: #dce8f4; color: #657d94; }
.studio-content .excel-references a,.studio-content .word-workshop .excel-references a { color: #0b70c8; text-decoration-color: #a9d4f8; }
.studio-content .reward-heading h2,.studio-content .reward-total strong { color: #183451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .reward-mark { color: #0b70c8; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.help-dialog { border-color: #c9dfef; background: #f8fbff; color: #173451; }
.help-dialog::backdrop { background: rgba(15,38,61,.56); }
.help-dialog-header { border-color: #dce8f4; background: #f8fbff; }
.help-dialog-header h2,.help-contact strong { color: #173451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.help-close { border-color: #d4e4f2; background: #fff; color: #356888; }
.help-close:hover { background: #eaf4ff; }
.help-dialog-header .eyebrow,.help-topic h3,.help-topic strong { color: #164d7c; }
.help-dialog-header p,.help-topic p,.help-contact p { color: #536f89; }
.help-topic { border-color: #dce8f4; }
.help-contact { border-color: #cde3f7; background: #eaf4fe; }

@media (max-width: 1420px) {
  .studio-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1180px) {
  .studio-layout { grid-template-columns: 226px minmax(0,1fr); }
  .studio-sidebar { width: 226px; }
  .studio-sidebar .nav-button { gap: 12px; font-size: 13px; }
  .studio-dashboard { grid-template-columns: minmax(0,1.15fr) minmax(270px,.85fr); grid-template-areas: "hero progress" "modules events" "tasks recommend" "quick quick" "daily daily"; }
  .studio-hero-script { display: none; }
  .studio-progress-body { flex-wrap: wrap; }
}
@media (max-width: 850px) {
  .studio-layout { display: block; padding-bottom: 68px; }
  .studio-sidebar { display: none; }
  .studio-mobile-menu { display: block; position: relative; }
  .studio-mobile-menu > summary { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid #d5e5f4; border-radius: 8px; background: #eef6fd; color: #164571; cursor: pointer; font-size: 20px; list-style: none; }
  .studio-mobile-menu > summary::-webkit-details-marker { display: none; }
  .studio-mobile-menu nav { position: absolute; z-index: 80; top: 49px; left: 0; width: min(310px,calc(100vw - 30px)); max-height: 70vh; overflow-y: auto; padding: 9px; border: 1px solid #d8e7f5; border-radius: 11px; background: white; box-shadow: 0 18px 35px rgba(19,54,91,.17); }
  .studio-mobile-menu .nav-button { color: #173c60; }
  .studio-mobile-menu .nav-button.active { background: #e8f3ff; color: #0d65ba; }
  .studio-topbar { height: 65px; padding: 0 16px; gap: 12px; }
  .studio-search { flex: 1; width: auto; }
  .studio-search button { display: none; }
  .studio-top-actions { gap: 8px; }
  .studio-account-name,.studio-chevron { display: none; }
  .studio-account .avatar { width: 37px; height: 37px; }
  .studio-mobile-nav { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-color: #dbe9f6; }
  .studio-mobile-nav .nav-button { color: #5a7690; }
  .studio-mobile-nav .nav-button.active { color: #0873d2; background: #e9f4ff; }
  .studio-content { padding-bottom: 30px; }
  .studio-footer { display: none; }
}
@media (max-width: 700px) {
  .studio-dashboard { grid-template-columns: 1fr; grid-template-areas: "hero" "progress" "daily" "modules" "tasks" "events" "recommend" "quick"; }
  .studio-hero { min-height: 265px; }
  .studio-progress-body { flex-wrap: nowrap; }
  .studio-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-daily .daily-quest-panel { flex-direction: column; align-items: stretch; }
  .studio-daily .daily-settings-inline { max-width: none; }
  .studio-workspace-grid,.studio-search-results,.studio-checklist-grid { grid-template-columns: 1fr; }
  .studio-library-intro { flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .studio-content { padding: 13px 12px 25px; }
  .studio-card { padding: 16px; }
  .studio-hero h1 { font-size: 30px; }
  .studio-hero-copy { padding: 22px; }
  .studio-module-grid,.studio-resource-grid { grid-template-columns: 1fr; }
  .studio-module { min-height: 76px; }
  .studio-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-quick-grid button { gap: 7px; padding: 9px; }
  .studio-quick-grid svg { width: 20px; height: 20px; }
  .studio-library-intro > .button { width: 100%; }
  .studio-filterbar label,.studio-filterbar label:first-child { flex: 1 1 100%; }
  .studio-progress-body { gap: 16px; }
  .studio-ring { width: 104px; }
  .studio-account-menu { right: 0; }
}

/* The public entrance uses the same visual language as the learning space. */
.landing-page { background: #f8f5ee; }
.landing-header {
  width: 100%;
  max-width: none;
  padding-inline: max(clamp(20px, 5vw, 76px), calc((100vw - 1248px) / 2));
  border-bottom-color: #dce8f3;
  background: #f2f7fc;
}
.landing-brand, .landing-brand-small { color: #163451; font-family: "Segoe UI", Inter, Arial, sans-serif; font-weight: 800; letter-spacing: -.035em; }
.landing-brand .brand-mark, .landing-brand-small .brand-mark { background: #176fc8; color: #fff; }
.landing-nav a { color: #395a79; }
.landing-nav a:hover { color: #075fb5; }
.landing-nav .landing-nav-cta, .landing-hero .button-primary { border-color: #086cc8; background: #086cc8; color: #fff; }
.landing-nav .landing-nav-cta:hover, .landing-hero .button-primary:hover { background: #075bac; color: #fff; }
.landing-hero {
  width: 100%;
  max-width: none;
  padding-inline: max(clamp(20px, 5vw, 76px), calc((100vw - 1248px) / 2));
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .78fr);
  background: linear-gradient(180deg, #f2f7fc 0%, #f3f6f5 69%, #f8f5ee 100%);
}
.landing-kicker { color: #0e70c9; }
.landing-intro h1, .landing-hero .auth-card h2 { color: #183451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.landing-intro h1 span { color: #0a72d0; font-style: normal; font-weight: 700; }
.landing-intro > p, .landing-hero .auth-card > p { color: #506b86; }
.lesson-note { border-color: #dce9f5; border-left-color: #1781dd; border-radius: 12px; background: #fff; box-shadow: 0 16px 40px rgba(26,72,116,.08); }
.lesson-note-header, .feature-step { color: #0c70c9; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.lesson-note > p { color: #193a59; font-family: "Segoe UI", Inter, Arial, sans-serif; font-weight: 650; }
.lesson-note-footer { border-top-color: #e3edf7; color: #6b829a; }
.landing-hero .auth-card { border: 1px solid #dce8f4; border-top: 3px solid #147dda; border-radius: 12px; background: #fff; box-shadow: 0 22px 55px rgba(30,71,109,.1); }
.landing-hero .field input { border-color: #d1e1ef; border-radius: 8px; background: #f8fbfe; }
.landing-hero .field label { color: #315775; }
.landing-hero .field small { color: #607d95; }
.landing-info-links a:hover { color: #0b69bd; }
.landing-footer, .landing-info-links a { color: #637c94; }
.toast { background: #173b5e; color: #fff; box-shadow: 0 12px 30px rgba(14,44,74,.22); }
@media (max-width: 920px) { .landing-hero { grid-template-columns: minmax(0,1fr); } }

/* Landing page: warmer details, real course information, and a clearer rhythm. */
.landing-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-bottom: clamp(38px, 4.6vw, 64px);
  background: linear-gradient(180deg, #f2f7fc 0%, #f3f6f5 69%, #f8f5ee 100%);
}
.landing-hero::before,
.landing-hero::after {
  display: none;
}
.landing-intro, .landing-hero .auth-panel { position: relative; z-index: 1; }
.landing-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid #f0dfbd;
  border-radius: 999px;
  background: #fff7e8;
  color: #765b2d;
  letter-spacing: .055em;
}
.landing-kicker::before { width: 8px; height: 8px; border-radius: 50%; background: #e6a846; content: ""; }
.landing-topic-strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
.landing-topic-strip span {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border: 1px solid #d9e6f1;
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: #365773;
  font-size: 11px;
  font-weight: 700;
}
.landing-topic-strip svg { width: 15px; height: 15px; color: #0b70c9; }
.lesson-note { margin-top: 21px; border-radius: 13px; transform: rotate(-.35deg); }
.lesson-note-header { color: #59738a; }
.lesson-note-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
.lesson-note-mark { color: #a56a2c; font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.landing-hero .auth-card { border-radius: 14px; box-shadow: 0 22px 55px rgba(30,71,109,.12), 0 4px 0 rgba(237,177,83,.17); }
.landing-privacy-note { display: flex; align-items: center; gap: 7px; margin-top: 12px; color: #58738b; font-size: 11px; }
.landing-privacy-note svg { width: 15px; height: 15px; color: #4e8a68; }
.landing-features {
  padding: clamp(54px, 6.5vw, 88px) clamp(20px, 5vw, 76px) clamp(62px, 7vw, 94px);
  border-top: 0;
  background: #f8f5ee;
}
.learning-room-shell { width: min(1160px, 100%); margin-inline: auto; }
.learning-room-heading { max-width: 880px; padding-left: 21px; border-left: 3px solid #d19a4c; }
.learning-room-heading .eyebrow { color: #956428; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.learning-room-heading h2 { margin: 10px 0 12px; color: #183451; font: 650 clamp(32px, 3.5vw, 45px)/1.12 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.learning-room-heading h2 em { color: #236b9e; font-weight: 500; }
.learning-room-heading p { max-width: 710px; margin: 0; color: #526a7e; font-size: 14px; line-height: 1.75; }
.learning-room-heading .learning-room-inventory { margin-top: 14px; color: #7d6d54; font-size: 11px; }
.learning-room-inventory span { margin-right: 7px; color: #946526; font-weight: 750; }
.learning-room-inventory b { padding: 0 5px; color: #c2924b; font-weight: 500; }
.learning-room-board { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .8fr); align-items: start; gap: clamp(30px, 5.2vw, 68px); margin-top: clamp(30px, 4vw, 48px); }
.learning-paths-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding: 0 0 11px; color: #183451; }
.learning-paths-heading strong { font-size: 15px; }
.learning-paths-heading span { color: #7b8790; font-size: 11px; }
.learning-path { display: grid; grid-template-columns: 44px minmax(0, 1fr) 25px; align-items: center; gap: 13px; min-height: 88px; padding: 14px 9px 14px 0; border-top: 1px solid #e3dbcc; color: #1b3954; text-decoration: none; transition: padding .16s ease, background-color .16s ease; }
.learning-path:last-child { border-bottom: 1px solid #e3dbcc; }
.learning-path:hover { padding-left: 8px; background: rgba(255,255,255,.56); }
.learning-path:focus-visible, .learning-daily-note a:focus-visible { outline: 3px solid #267ac1; outline-offset: 3px; }
.learning-path-index { color: #bd8841; font: italic 22px/1 Georgia, "Times New Roman", serif; }
.learning-path-copy { display: grid; gap: 5px; }
.learning-path-copy strong { color: #183451; font-size: 15px; font-weight: 750; line-height: 1.4; }
.learning-path-copy small { color: #5f7485; font-size: 12px; line-height: 1.55; }
.learning-path-arrow { justify-self: end; color: #ae8144; font-size: 18px; transition: transform .16s ease; }
.learning-path:hover .learning-path-arrow { transform: translate(2px, -2px); }
.learning-daily-note { position: relative; margin-top: 13px; padding: 31px 26px 25px; transform: rotate(.45deg); border: 1px solid #e1cfaa; border-bottom: 3px solid #d5bb8b; background: #f3e7cb; box-shadow: 4px 8px 0 rgba(69,55,33,.055); }
.learning-note-pin { position: absolute; top: 11px; left: calc(50% - 5px); width: 10px; height: 10px; border: 2px solid #faf5e9; border-radius: 50%; background: #bb7547; box-shadow: 0 1px 2px rgba(44,37,27,.24); }
.learning-daily-kicker { color: #92703d; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.learning-daily-note h3 { margin: 12px 0 10px; color: #263d4e; font: 600 26px/1.12 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.learning-daily-note p { margin: 0; color: #5c5e56; font-size: 12px; line-height: 1.7; }
.learning-daily-range { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 8px; margin-top: 18px; padding: 11px 0; border-top: 1px solid rgba(130,98,49,.24); border-bottom: 1px solid rgba(130,98,49,.24); color: #6c6251; font-size: 10px; }
.learning-daily-range strong { color: #244b68; font-size: 13px; }
.learning-daily-note a { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: #155f9f; font-size: 11px; font-weight: 750; text-decoration: none; }
.learning-daily-note a span { transition: transform .16s ease; }
.learning-daily-note a:hover span { transform: translateX(3px); }
.learning-help-strip { display: grid; grid-template-columns: minmax(185px, 1.05fr) repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2.4vw, 28px); margin-top: clamp(44px, 6vw, 70px); padding-top: 19px; border-top: 1px solid #e3dbcc; }
.learning-help-heading > span { color: #956428; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.learning-help-heading h3 { margin: 8px 0 0; color: #25425c; font: 600 21px/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.learning-help-item { display: flex; align-items: flex-start; gap: 8px; padding-top: 3px; }
.learning-help-item > span { flex: 0 0 auto; color: #bd8841; font: italic 18px/1 Georgia, "Times New Roman", serif; }
.learning-help-item p { margin: 0; color: #5b6c79; font-size: 12px; line-height: 1.7; }
.learning-help-item strong { color: #28445d; font-weight: 750; }
.landing-footer { max-width: 1400px; color: #5b7288; }
.landing-info-links a { color: #536e87; }
@media (max-width: 920px) {
  .learning-room-board { grid-template-columns: minmax(0, 1.25fr) minmax(245px, .85fr); gap: 25px; }
  .learning-help-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .learning-help-heading { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .landing-header, .landing-hero { padding-inline: 18px; }
}
@media (max-width: 680px) {
  .landing-hero { padding: 32px 18px 42px; }
  .landing-topic-strip { gap: 6px; margin-top: 15px; }
  .landing-topic-strip span { min-height: 30px; padding: 5px 8px; font-size: 10px; }
  .lesson-note { transform: none; }
  .lesson-note-footer { display: grid; }
  .landing-features { padding: 45px 18px 58px; }
  .learning-room-heading { padding-left: 15px; }
  .learning-room-heading h2 { margin-top: 8px; font-size: clamp(29px, 7.4vw, 34px); line-height: 1.12; }
  .learning-room-heading p { font-size: 13px; line-height: 1.7; }
  .learning-room-heading .learning-room-inventory { font-size: 10px; }
  .learning-room-inventory b { padding: 0 2px; }
  .learning-room-board { grid-template-columns: 1fr; gap: 16px; margin-top: 30px; }
  .learning-path { grid-template-columns: 32px minmax(0, 1fr) 20px; gap: 9px; min-height: 83px; }
  .learning-path-copy strong { font-size: 14px; }
  .learning-path-copy small { font-size: 11px; }
  .learning-daily-note { max-width: 460px; margin: 9px 5px 0 2px; padding: 30px 22px 22px; }
  .learning-daily-note h3 { font-size: 24px; }
  .learning-help-strip { grid-template-columns: 1fr; gap: 15px; margin-top: 42px; padding-top: 17px; }
  .learning-help-heading { grid-column: auto; }
  .learning-help-heading h3 { max-width: 310px; font-size: 22px; }
  .learning-help-item { padding-top: 12px; border-top: 1px solid #e3dbcc; }
  .learning-help-item p { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .learning-path, .learning-path-arrow, .learning-daily-note a span { transition: none; }
}

/* Shared visual language for the older learning, exam and account components. */
.studio-content {
  --ink: #173451;
  --muted: #5e7891;
  --line: #dce8f4;
  --brand: #1277d2;
  --brand-dark: #115a9b;
  --brand-pale: #eaf4ff;
}
.studio-content :is(.panel,.course-card,.exam-card,.question-card,.online-panel,.answer-card,.result-score,.profile-panel) {
  border-color: #dce8f4;
  background: #fff;
  box-shadow: 0 5px 18px rgba(23,61,99,.045);
}
.studio-content :is(.page-heading h1,.panel-header h2,.course-card h2,.exam-card h2,.question-card h2,.result-score h2,.online-panel h3,.answer-card h3) {
  color: #173451;
  font-family: "Segoe UI", Inter, Arial, sans-serif;
}
.studio-content :is(.eyebrow,.small-link,.course-code) { color: #116fc5; }
.studio-content :is(.button-primary,.chapter-row button:not(:disabled)) { border-color: #086cc8; background: #086cc8; color: #fff; }
.studio-content :is(.button-primary,.chapter-row button:not(:disabled)):hover { border-color: #075eaf; background: #075eaf; }
.studio-content :is(.button-secondary,.button-quiet) { border-color: #d3e5f5; background: #f7fbff; color: #155f9d; }
.studio-content :is(.button-secondary,.button-quiet):hover { border-color: #94c7ed; background: #eaf4ff; color: #075eae; }
.studio-content :is(.field input,.field textarea,.field select,.search-field,.filter-select select,.chat-form input) { border-color: #d2e2f1; background: #fff; color: #173451; }
.studio-content .field :is(label,span) { color: #315775; }
.studio-content .field small { color: #607d95; }
.studio-content .excel-module-result,.studio-content .excel-module-footer { color: #5f7c94; }
.studio-content .excel-progress small { color: #6b879f; }
.studio-content .search-field input { color: #173451; }
.studio-content .exam-meta { color: #638099; }
.studio-content :is(.field input,.field textarea,.field select,.search-field,.filter-select select,.chat-form input):focus-visible,
.studio-content :is(.search-field,.chat-form input):focus-within { border-color: #479de3; outline-color: #9acbf4; box-shadow: 0 0 0 3px rgba(24,126,214,.1); }
.studio-content :is(.badge,.recent-result,.score-pill,.badge-live) { background: #e8f3ff; color: #1267ac; }
.studio-content :is(.badge-muted,.empty-note,.notice,.invite-result,.exam-last-result) { border-color: #dce8f4; background: #f1f7fd; color: #4b6b87; }
.studio-content :is(.invite-result code,.exam-last-result strong,.recent-points) { color: #146bb6; }
.studio-content :is(.exam-last-result span,.muted-cell,.activity-count,.activity-label) { color: #68829b; }
.studio-content :is(.recent-row,.history-table td,.admin-exam-row,.reward-card,.chapter-row) { border-color: #e2edf7; }
.studio-content .chapter-row { background: #f9fcff; }
.studio-content .chapter-row button:disabled { background: #edf3f8; color: #9aadc0; }
.studio-content .library-note { border-left-color: #2283d0; background: #eaf4fe; color: #365c7c; }
.studio-content .history-table th { color: #426a8d; background: #f3f8fd; }
.studio-content :is(.topic-progress,.quiz-bar) { background: #e2edf7; accent-color: #2484da; }
.studio-content :is(.topic-progress,.quiz-bar)::-webkit-progress-bar { background: #e2edf7; }
.studio-content :is(.topic-progress,.quiz-bar)::-webkit-progress-value { background: #2484da; }
.studio-content :is(.topic-progress,.quiz-bar)::-moz-progress-bar { background: #2484da; }
.studio-content .weak-item:nth-child(1) .topic-progress { accent-color: #2484da; }
.studio-content .weak-item:nth-child(1) .topic-progress::-webkit-progress-value { background: #2484da; }
.studio-content .weak-item:nth-child(1) .topic-progress::-moz-progress-bar { background: #2484da; }
.studio-content .score-circle { border-color: #cfe5f8; color: #116cc2; }
.studio-content .question-step { border-color: #d3e4f3; background: #f6faff; color: #436b8b; }
.studio-content .question-step.answered { border-color: #9ccdf3; background: #e6f3ff; color: #0f68b7; }
.studio-content .question-step.current { outline-color: #1479d3; }
.studio-content .answer-count { color: #657e96; }
.studio-content .option-button { border-color: #dae8f4; background: #fff; color: #294864; }
.studio-content .option-button:hover { border-color: #94c8f0; background: #f4faff; }
.studio-content .option-button.selected { border-color: #398cda; background: #eaf4ff; color: #145b9b; }
.studio-content .option-key { border-color: #d1e2f1; background: #f5faff; color: #416f99; }
.studio-content .answer-card.correct { border-left-color: #49a67b; background: #f9fdfa; }
.studio-content .answer-card.incorrect { border-left-color: #d27272; background: #fffafa; }
.studio-content .answer-status { color: #25825b; }
.studio-content .answer-card.incorrect .answer-status { color: #bb5959; }
.studio-content .answer-feedback-mistake { border-left-color: #d27272; background: #fff1f1; color: #704b53; }
.studio-content .answer-feedback-mistake strong { color: #ad4a58; }
.studio-content .answer-feedback-correct { border-left-color: #49a67b; background: #eef9f2; color: #346b52; }
.studio-content .answer-feedback-correct strong { color: #287a55; }
.studio-content .retry-banner { border-color: #cfe4f7; background: #eaf4ff; }
.studio-content .retry-banner-good { border-color: #bee7d0; background: #effaf4; }
.studio-content .retry-banner strong { color: #174d78; }
.studio-content .retry-banner p { color: #4e708d; }
.studio-content .timer-pill { border-color: #c8e2f8; background: #eaf4ff; color: #155d9c; }
.studio-content .timer-pill.urgent { border-color: #efb6b2; background: #fff0ef; color: #b04848; }
.studio-content .resume-card { border-color: #cfe4f7; background: linear-gradient(125deg,#f5faff,#e8f3fe); box-shadow: 0 10px 28px rgba(23,61,99,.05); }
.studio-content .resume-mark { background: #d7ebfe; color: #126cbd; }
.studio-content .resume-card h2 { color: #173451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .resume-card p { color: #4e6c86; }

.studio-content .learning-course[open] { grid-column: 1 / -1; border-color: #b5d8f4; }
.studio-content .learning-course .course-chapters { border-top-color: #e1edf7; }
.studio-content .learning-course .chapter-lesson-content { max-width: 1000px; }
.studio-content .glossary-popover { border-color: #1c6096; background: #173b5e; color: #f4f9ff; box-shadow: 0 13px 28px rgba(18,52,85,.2); }
.studio-content .glossary-term:focus-visible { outline-color: #378dd3; }
.studio-content .glossary-details { border-color: #d5e7f5; background: #f6faff; }
.studio-content .glossary-details > summary,.studio-content .glossary-details > summary::before { color: #216ca9; }
.studio-content .glossary-details > summary span,.studio-content .glossary-details dd { color: #53738e; }
.studio-content .glossary-details dt { color: #204c72; }
.studio-content .glossary-details dl > div { border-top-color: #dfeaf4; }
.studio-content .book-task > summary span:last-child,.studio-content .term-help-hint { color: #607f98; }
.studio-content .book-task[open] > summary { color: #166eaf; }
.studio-content .question-share-row { border-color: #d5e7f5; background: #f4faff; color: #4e708c; }

.studio-content .chat-messages { background: #f2f7fc; }
.studio-content .chat-message { border-color: #dbe8f4; background: #fff; box-shadow: 0 3px 10px rgba(20,63,105,.035); }
.studio-content .chat-message.mine { border-color: #bcdcf5; background: #eaf4ff; }
.studio-content .chat-message-top strong,.studio-content .chat-message.mine .chat-message-top strong { color: #156cb4; }
.studio-content .chat-message-top time,.studio-content .chat-delete { color: #6c879f; }
.studio-content .chat-message-body { color: #2d4b65; }
.studio-content .chat-message-body a { color: #0a69bc; }
.studio-content .chat-form { border-color: #dce8f4; background: #fff; }
.studio-content .online-person { color: #40617e; }
.studio-content .online-foot { border-top-color: #e1ebf5; color: #6c849a; }

.studio-content .profile-preview { border: 1px solid #d3e6f7; background: linear-gradient(145deg,#eaf5ff,#f8fbff); color: #173c5e; }
.studio-content .profile-preview > span:last-child,.studio-content .avatar-field p { color: #56738d; }
.studio-content .profile-avatar-large { border-color: #fff; box-shadow: 0 4px 15px rgba(24,91,151,.12); }
.studio-content :is(.profile-avatar-large,.online-avatar) { background: #dceeff; color: #1768aa; }
.studio-content .avatar-field legend { color: #244b6e; }
.studio-content .avatar-option { border-color: #d4e5f4; background: #f6faff; }
.studio-content .avatar-option:hover { border-color: #7db9e9; }
.studio-content .avatar-option.selected { border-color: #1680d8; background: #e7f3ff; box-shadow: 0 0 0 3px rgba(22,128,216,.12); }
.studio-content .account-details > div,.studio-content .profile-note { background: #f1f7fd; color: #4c6881; }
.studio-content .account-details span { color: #638099; }
.studio-content .account-details strong { color: #224866; }
.studio-content .avatar-upload-control { border-color: #a9cfea; background: #f4faff; color: #254a69; }
.studio-content .avatar-upload-control input[type="file"] { color: #456680; }
.studio-content .avatar-upload-control input[type="file"]::file-selector-button { border-color: #bcd9ee; background: #fff; color: #1769ac; }
.studio-content .avatar-upload-control small,.studio-content .avatar-upload-status { color: #607d96; }

.studio-content .admin-exam-copy h3,.studio-content .question-editor-heading h3 { color: #173451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .admin-exam-copy p { color: #607c94; }
.studio-content .question-editor,.studio-content .option-feedback-editor { border-color: #d9e8f5; background: #f9fcff; }
.studio-content .question-editor legend,.studio-content .option-feedback-editor summary { color: #1d669f; }
.studio-content .option-feedback-editor .field span { color: #4d6e88; }
.studio-content .remove-question { color: #af5c62; }
.studio-content .reward-heading { border-bottom-color: #e1ecf6; }
.studio-content .reward-heading p,.studio-content .reward-copy > span,.studio-content .reward-state { color: #58748b; }
.studio-content .reward-total { border-bottom-color: #1680d8; color: #4f6e89; }
.studio-content .reward-copy strong { color: #254560; }
.studio-content .reward-card { border-bottom-color: #e2edf7; }
.studio-content .reward-card.unlocked :is(.reward-mark,.reward-state) { color: #27845f; }

.studio-content :is(.simulation-choice,.full-simulation,.simulation-sidepart,.practice-library) { border-color: #d8e8f5; background: #fff; color: #294a67; }
.studio-content .simulation-choice > .eyebrow { color: #1875c3; }
.studio-content :is(.simulation-choice > h2,.simulation-heading h2,.simulation-sidepart h2,.practice-library .panel-header h2) { color: #173451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content :is(.simulation-choice > p,.simulation-heading p,.simulation-sidepart p,.practice-library .panel-header p,.simulation-disclaimer) { color: #54718a; }
.studio-content :is(.simulation-choice-grid article,.simulation-task-list article,.practice-task,.oral-case,.simulation-clock,.simulation-source) { border-color: #dbe8f4; background: #f9fcff; }
.studio-content :is(.simulation-choice-grid h3,.simulation-task-list article h4,.simulation-data-grid h3,.simulation-task-list > h3) { color: #254a69; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content :is(.simulation-choice-grid p,.simulation-task-list article p,.simulation-data-grid p,.simulation-facts) { color: #506e87; }
.studio-content .simulation-clock .eyebrow { color: #1975c2; }
.studio-content .simulation-clock strong,.studio-content .simulation-brief strong { color: #173451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .simulation-clock small,.studio-content .simulation-answer small { color: #648098; }
.studio-content .simulation-brief { border-left-color: #2588d7; background: #edf6ff; }
.studio-content .simulation-brief p { color: #446882; }
.studio-content .simulation-source > summary,.studio-content .simulation-points,.studio-content .simulation-duration { color: #176eae; }
.studio-content .simulation-table { background: #fff; color: #294a67; }
.studio-content .simulation-table :is(th,td) { border-bottom-color: #dce8f4; }
.studio-content .simulation-table th { background: #edf6ff; color: #285779; }
.studio-content .simulation-answer { color: #2a506f; }
.studio-content .simulation-answer textarea,.studio-content .practice-write-label textarea { border-color: #d2e4f1; background: #fff; color: #173451; font-family: "Segoe UI", Inter, Arial, sans-serif; }
.studio-content .simulation-answer textarea:focus,.studio-content .practice-write-label textarea:focus { border-color: #459bdc; outline-color: #a4d2f4; }
.studio-content .simulation-solution { border-color: #bfe2d0; background: #f0faf4; }
.studio-content .simulation-solution > summary,.studio-content .simulation-solution h3 { color: #287751; }
.studio-content .simulation-solution > div { color: #3f6855; }
.studio-content :is(.practice-task > summary,.oral-case summary,.practice-write-label,.practice-task-body > strong,.oral-case-body > strong) { color: #294e6b; }
.studio-content :is(.practice-task > summary,.oral-case summary)::after { color: #2680c8; }
.studio-content :is(.practice-task-number,.oral-case-number) { background: #e2f0ff; color: #1769ae; }
.studio-content :is(.practice-task-body,.oral-case-body) { color: #456783; font-size: 12px; }
.studio-content :is(.practice-write-label small,.oral-case-note) { color: #648098; }
.studio-content .practice-answer { border-top-color: #dce8f4; }
.studio-content .practice-answer > summary { color: #146eaf; }
.studio-content .practice-badge-excel { background: #e8f5ef; color: #2a815b; }
.studio-content .practice-badge-word { background: #e8f0fd; color: #326aaf; }

@media (min-width: 1900px) {
  .studio-content .learning-group-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 850px) {
  .studio-content .learning-course[open] { grid-column: auto; }
  .studio-content :is(.simulation-choice-grid,.practice-task-grid,.oral-case-grid) { grid-template-columns: 1fr; }
  .studio-content .chat-grid { grid-template-columns: 1fr; }
  .studio-content .chat-panel { min-height: 340px; }
  .studio-content .chat-messages { min-height: 205px; max-height: 45vh; }
  .studio-content .online-panel { order: 1; }
  .studio-content .profile-layout { grid-template-columns: 1fr; }
  .studio-content .profile-preview { max-width: 260px; }
}
@media (max-width: 520px) {
  .studio-content .simulation-sidepart { align-items: flex-start; flex-direction: column; }
  .studio-content .simulation-heading { flex-direction: column; }
  .studio-content .simulation-task-list article h4 { margin-right: 0; padding-right: 62px; }
  .studio-content .retry-banner { align-items: flex-start; flex-direction: column; }
  .studio-content .account-details { grid-template-columns: 1fr; }
}
