
:root {
  --ink: #122535;
  --ink-soft: #49606e;
  --navy: #0c2735;
  --navy-2: #163e4c;
  --paper: #f5f3ed;
  --paper-deep: #ebe8df;
  --white: #fffefa;
  --line: #d7ddd9;
  --teal: #087f78;
  --teal-soft: #e1f2ee;
  --coral: #e9654d;
  --coral-soft: #ffebe6;
  --violet: #7566ae;
  --violet-soft: #efecfa;
  --gold: #c6932d;
  --gold-soft: #fbf1d9;
  --red: #c64b4b;
  --green: #287c64;
  --shadow: 0 20px 60px rgba(12, 39, 53, .11);
  --background: var(--paper);
  --foreground: var(--ink);
  --card: var(--white);
  --card-foreground: var(--ink);
  --popover: var(--white);
  --popover-foreground: var(--ink);
  --primary: var(--teal);
  --primary-foreground: white;
  --secondary: var(--paper-deep);
  --secondary-foreground: var(--ink);
  --muted: var(--paper-deep);
  --muted-foreground: var(--ink-soft);
  --accent: var(--teal-soft);
  --accent-foreground: var(--ink);
  --destructive: var(--red);
  --border: var(--line);
  --input: var(--line);
  --ring: var(--teal);
  --radius: .8rem;
}

@theme inline {
  --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card);
  --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive);
  --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring);
  --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 5px);
  --font-sans: "Aptos", "Segoe UI", Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Aptos", "Segoe UI", Tahoma, Arial, sans-serif; }
button, input { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
::selection { color: var(--navy); background: #bde8df; }

.app-shell { min-height: 100vh; background: var(--paper); }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: 254px; display: flex; flex-direction: column; padding: 26px 18px 20px; color: #eaf5f1; background: linear-gradient(165deg, #0a2633 0%, #0b313c 58%, #174853 100%); box-shadow: 8px 0 30px rgba(6, 29, 38, .12); }
[dir="rtl"] .sidebar { inset: 0 0 0 auto; }
.brand-lockup { display: flex; align-items: center; gap: 11px; min-height: 49px; padding: 0 8px; }
.brand-mark { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 14px; color: #082c35; background: linear-gradient(145deg, #8be1cb, #54bcae); box-shadow: 0 10px 26px rgba(52, 197, 172, .24); }
.brand-lockup strong, .brand-lockup span { display: block; }
.brand-lockup strong { font-size: 14px; letter-spacing: .01em; }
.brand-lockup span { margin-top: 3px; color: #9dc3c2; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.sidebar nav { display: grid; gap: 6px; margin-top: 39px; }
.sidebar nav button { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 13px; border: 1px solid transparent; border-radius: 12px; color: #b7d0d0; background: transparent; text-align: start; transition: .2s ease; }
.sidebar nav button:hover { color: white; background: rgba(255,255,255,.06); }
.sidebar nav button.active { color: #ecfffa; border-color: rgba(117, 222, 198, .22); background: linear-gradient(90deg, rgba(58, 182, 158, .24), rgba(255,255,255,.06)); box-shadow: inset 3px 0 #71d5c1; }
[dir="rtl"] .sidebar nav button.active { box-shadow: inset -3px 0 #71d5c1; }
.sidebar-card { display: flex; align-items: center; gap: 12px; margin-top: auto; padding: 15px; border: 1px solid rgba(163, 215, 207, .14); border-radius: 16px; background: rgba(255,255,255,.055); }
.mini-orbit { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(#6bd3bd 0 10deg, rgba(255,255,255,.1) 10deg); }
.mini-orbit::before { content: ""; width: 38px; height: 38px; border-radius: 50%; background: var(--navy); }
.mini-orbit span { position: absolute; font-size: 11px; font-weight: 800; }
.sidebar-card small, .sidebar-card strong { display: block; }
.sidebar-card small { color: #91b9b8; font-size: 10px; }
.sidebar-card strong { margin-top: 4px; font-size: 13px; }
.sidebar-footer { display: flex; gap: 9px; margin-top: 16px; padding: 0 8px; color: #80aaa9; font-size: 9px; line-height: 1.5; }

.main-canvas { min-height: 100vh; margin-left: 254px; }
[dir="rtl"] .main-canvas { margin-left: 0; margin-right: 254px; }
.topbar { position: sticky; top: 0; z-index: 30; height: 74px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(22px, 4vw, 60px); border-bottom: 1px solid rgba(18, 37, 53, .08); background: rgba(245, 243, 237, .88); backdrop-filter: blur(16px); }
.topbar-context strong, .topbar-context span { display: block; }
.topbar-context strong { margin-top: 2px; font-size: 16px; }
.eyebrow { color: var(--teal); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.topbar-actions { display: flex; align-items: center; gap: 11px; }
.language-button, .icon-button { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); color: var(--ink); background: rgba(255,255,255,.62); }
.language-button { padding: 8px 11px; border-radius: 10px; font-size: 12px; font-weight: 700; }
.language-button:hover { border-color: #a9c9c3; background: var(--white); }
.avatar { width: 37px; height: 37px; border: none; border-radius: 12px; color: white; background: linear-gradient(145deg, var(--coral), #c44c4c); font-size: 12px; font-weight: 800; }
.mobile-menu { display: none; width: 38px; height: 38px; place-items: center; border-radius: 10px; }
.page-content { width: min(1320px, calc(100% - clamp(34px, 7vw, 100px))); margin: 0 auto; padding: 42px 0 70px; }

.hero-grid { display: grid; grid-template-columns: minmax(0, 1.36fr) minmax(320px, .64fr); gap: clamp(28px, 5vw, 70px); align-items: center; min-height: 480px; }
.status-pill { width: fit-content; display: flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid #c8ded7; border-radius: 99px; color: #265d5a; background: rgba(226, 244, 238, .72); font-size: 11px; font-weight: 700; }
.hero-copy h1 { max-width: 760px; margin: 22px 0 18px; font-size: clamp(47px, 5.6vw, 82px); font-weight: 760; letter-spacing: -.055em; line-height: .98; }
.hero-copy h1 em { color: var(--teal); font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.hero-copy > p { max-width: 680px; margin: 0; color: var(--ink-soft); font-size: clamp(16px, 1.45vw, 20px); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.primary-button, .secondary-button { min-height: 43px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 17px; border-radius: 12px; font-size: 12px; font-weight: 800; transition: .18s ease; }
.primary-button { border: 1px solid var(--teal); color: white; background: var(--teal); box-shadow: 0 10px 24px rgba(8, 127, 120, .18); }
.primary-button:hover { border-color: #056d67; background: #056d67; transform: translateY(-1px); }
.secondary-button { border: 1px solid #ccd5d1; color: var(--ink); background: rgba(255,255,255,.7); }
.secondary-button:hover { border-color: #9fbab4; background: white; transform: translateY(-1px); }
.trust-row { display: flex; flex-wrap: wrap; gap: 17px; margin-top: 24px; color: #5c716f; font-size: 10px; font-weight: 650; }
.trust-row span { display: inline-flex; align-items: center; gap: 5px; }
.trust-row svg { width: 13px; height: 13px; color: var(--teal); }

.decision-pulse-card { position: relative; overflow: hidden; padding: 27px; border: 1px solid rgba(255,255,255,.16); border-radius: 26px; color: white; background: radial-gradient(circle at 80% 15%, rgba(75, 213, 183, .25), transparent 30%), linear-gradient(155deg, #102e3c, #0c2633 70%); box-shadow: 0 28px 70px rgba(12, 39, 53, .2); }
.decision-pulse-card::after { content: ""; position: absolute; right: -50px; bottom: -70px; width: 190px; height: 190px; border: 1px solid rgba(122, 220, 199, .13); border-radius: 50%; box-shadow: 0 0 0 26px rgba(122, 220, 199, .04), 0 0 0 54px rgba(122, 220, 199, .025); }
.pulse-header { display: flex; justify-content: space-between; gap: 20px; }
.pulse-header .eyebrow { color: #79d5c2; }
.pulse-header h2 { max-width: 240px; margin: 7px 0 0; font-size: 20px; letter-spacing: -.025em; }
.pulse-header > svg { color: #6cd4bd; }
.pulse-orbit, .result-orbit { width: 174px; height: 174px; display: grid; place-items: center; margin: 28px auto 25px; border-radius: 50%; background: conic-gradient(#68d3bc 0 var(--score), rgba(255,255,255,.1) var(--score) 360deg); transform: rotate(-90deg); }
.pulse-orbit::before, .result-orbit::before { content: ""; width: 146px; height: 146px; border-radius: 50%; background: #0d2b38; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.pulse-orbit > div, .result-orbit > div { position: absolute; display: grid; text-align: center; transform: rotate(90deg); }
.pulse-orbit strong, .result-orbit strong { font-size: 35px; letter-spacing: -.04em; }
.pulse-orbit span, .result-orbit span { color: #9cc3c1; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.metric-strip { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.metric-strip div { padding: 14px 8px; text-align: center; }
.metric-strip div + div { border-left: 1px solid rgba(255,255,255,.1); }
[dir="rtl"] .metric-strip div + div { border-left: none; border-right: 1px solid rgba(255,255,255,.1); }
.metric-strip strong, .metric-strip span { display: block; }
.metric-strip strong { font-size: 20px; }
.metric-strip span { margin-top: 2px; color: #91b8b7; font-size: 9px; }
.text-button { position: relative; z-index: 1; display: flex; align-items: center; gap: 7px; margin: 17px auto 0; border: 0; color: #7ad7c4; background: none; font-size: 11px; font-weight: 700; }

.journey-section { margin-top: 36px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.section-heading h2 { margin: 5px 0 0; font-size: 25px; letter-spacing: -.03em; }
.section-note { color: #71827e; font-size: 10px; }
.journey-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.journey-card { position: relative; min-height: 177px; display: flex; flex-direction: column; align-items: flex-start; padding: 19px; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: rgba(255,255,255,.68); text-align: start; transition: .2s ease; }
.journey-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--tone); }
.journey-card:hover:not(:disabled) { border-color: color-mix(in srgb, var(--tone) 45%, var(--line)); background: white; box-shadow: 0 15px 38px rgba(18,37,53,.08); transform: translateY(-3px); }
.journey-card > svg { width: 25px; height: 25px; margin-top: 7px; color: var(--tone); }
.journey-number { position: absolute; right: 13px; top: 11px; color: #a7b2ae; font-size: 9px; font-weight: 800; }
[dir="rtl"] .journey-number { right: auto; left: 13px; }
.journey-card h3 { margin: 16px 0 6px; font-size: 14px; }
.journey-card p { margin: 0; color: #667a79; font-size: 10px; line-height: 1.5; }
.journey-arrow { position: absolute; right: 13px; bottom: 12px; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: var(--tone); background: color-mix(in srgb, var(--tone) 11%, white); }
[dir="rtl"] .journey-arrow { right: auto; left: 13px; transform: rotate(180deg); }
.journey-arrow svg { width: 13px; }
.tone-coral { --tone: var(--coral); }.tone-teal { --tone: var(--teal); }.tone-violet { --tone: var(--violet); }.tone-gold { --tone: var(--gold); }.tone-navy { --tone: var(--navy-2); }
.content-snapshot { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center; margin-top: 18px; padding: 27px 31px; border: 1px solid #d7d8d0; border-radius: 20px; background: linear-gradient(120deg, #fffdf7, #eceae2); }
.content-snapshot h2 { margin: 6px 0 8px; font-size: 22px; }
.content-snapshot p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.65; }
.snapshot-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.snapshot-stats div { padding: 14px; border-left: 1px solid #d2d6d0; }
[dir="rtl"] .snapshot-stats div { border-left: none; border-right: 1px solid #d2d6d0; }
.snapshot-stats strong, .snapshot-stats span { display: block; }
.snapshot-stats strong { color: var(--teal); font-size: 24px; }
.snapshot-stats span { margin-top: 3px; color: #71807e; font-size: 9px; }

.tools-intro, .practice-heading, .progress-heading { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.tools-intro h1, .practice-heading h1, .progress-heading h1 { margin: 8px 0 8px; font-size: clamp(34px, 4vw, 53px); letter-spacing: -.045em; }
.tools-intro p, .practice-heading p, .progress-heading p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.upgrade-badge, .bank-seal { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; padding: 14px 16px; border: 1px solid #c8d9d4; border-radius: 15px; background: rgba(255,255,255,.62); }
.upgrade-badge svg, .bank-seal svg { color: var(--teal); }
.upgrade-badge strong, .upgrade-badge span, .bank-seal strong, .bank-seal span { display: block; }
.upgrade-badge strong, .bank-seal strong { font-size: 12px; }
.upgrade-badge span, .bank-seal span { color: var(--ink-soft); font-size: 9px; }
.upgrade-note { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin: 27px 0 20px; padding: 13px 16px; border: 1px solid #c7ddd6; border-radius: 14px; color: #2f5c59; background: var(--teal-soft); font-size: 10px; line-height: 1.55; }
.upgrade-note > svg { color: var(--teal); }
.upgrade-note button { border: 0; color: var(--teal); background: none; font-size: 10px; font-weight: 800; }
.catalog-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 12px; }
.search-box { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.75); }
.search-box:focus-within { border-color: #8dbeb4; box-shadow: 0 0 0 3px rgba(8,127,120,.08); }
.search-box svg { color: #738784; }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 12px; }
.search-box button { display: grid; place-items: center; border: 0; background: transparent; }
.group-select { width: 236px !important; height: 46px !important; border-radius: 13px !important; background: rgba(255,255,255,.75) !important; }
.catalog-meta { margin: 17px 2px 12px; color: #798985; font-size: 10px; }
.catalog-meta strong { color: var(--ink); }
.catalog-meta span { margin: 0 4px; }
.tool-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.tool-card { overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: rgba(255,255,255,.78); text-align: start; transition: .2s ease; }
.tool-card:hover { border-color: #9fc5bd; background: white; box-shadow: 0 16px 42px rgba(18,37,53,.1); transform: translateY(-3px); }
.tool-thumb { position: relative; height: 154px; overflow: hidden; background: #dfe5e1; }
.tool-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(9,35,45,.45)); }
.tool-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .35s ease; }
.tool-card:hover .tool-thumb img { transform: scale(1.035); }
.tool-group { position: absolute; z-index: 1; left: 10px; bottom: 9px; padding: 5px 7px; border-radius: 7px; color: white; background: rgba(9,39,49,.8); backdrop-filter: blur(7px); font-size: 8px; font-weight: 750; }
[dir="rtl"] .tool-group { left: auto; right: 10px; }
.tool-open { position: absolute; z-index: 1; right: 9px; top: 9px; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; color: var(--navy); background: rgba(255,255,255,.88); }
[dir="rtl"] .tool-open { right: auto; left: 9px; }
.tool-card-body { padding: 15px 15px 13px; }
.tool-card h3 { min-height: 38px; margin: 0 0 7px; font-size: 13px; line-height: 1.35; }
.tool-card p { height: 46px; display: -webkit-box; margin: 0; overflow: hidden; color: #637675; font-size: 9px; line-height: 1.55; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.tool-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #edf0ed; color: #6e807d; font-size: 9px; }
.tool-card-footer > span { display: flex; align-items: center; gap: 5px; }
.tool-card-footer svg { width: 12px; }
.hyp-pill { padding: 4px 6px; border-radius: 6px; color: #27665f; background: var(--teal-soft); font-weight: 800; }
.empty-state { display: grid; justify-items: center; gap: 8px; padding: 60px; border: 1px dashed #b9c8c4; border-radius: 18px; text-align: center; }
.empty-state > svg { color: var(--teal); }.empty-state h3, .empty-state p { margin: 0; }.empty-state p { color: var(--ink-soft); font-size: 11px; }.empty-state button { border: 0; color: var(--teal); background: none; font-weight: 800; }

.practice-heading { margin-bottom: 25px; }
.bank-seal { max-width: 310px; }
.mode-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.mode-card { --mode: var(--teal); position: relative; min-height: 230px; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; padding: 23px; border: 1px solid var(--line); border-radius: 20px; color: var(--ink); background: rgba(255,255,255,.76); text-align: start; transition: .2s ease; }
.mode-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--mode); }
.mode-card > svg { width: 30px; height: 30px; color: var(--mode); }
.mode-card:hover:not(:disabled) { border-color: color-mix(in srgb, var(--mode) 45%, var(--line)); background: white; transform: translateY(-3px); box-shadow: 0 18px 44px rgba(18,37,53,.09); }
.mode-count { position: absolute; top: 22px; right: 22px; color: var(--mode); font-size: 22px; font-weight: 850; }
[dir="rtl"] .mode-count { right: auto; left: 22px; }
.mode-card h2 { margin: 27px 0 8px; font-size: 19px; }.mode-card p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.6; }
.mode-action { display: flex; align-items: center; gap: 6px; margin-top: auto; color: var(--mode); font-size: 10px; font-weight: 800; }.mode-action svg { width: 14px; }
.mode-coral { --mode: var(--coral); }.mode-teal { --mode: var(--teal); }.mode-violet { --mode: var(--violet); }.mode-gold { --mode: var(--gold); }
.mock-builder { display: grid; grid-template-columns: auto 1fr auto auto; gap: 20px; align-items: center; margin-top: 18px; padding: 22px 24px; border-radius: 20px; color: white; background: linear-gradient(130deg, #112f3d, #194b54); box-shadow: var(--shadow); }
.mock-symbol { width: 53px; height: 53px; display: grid; place-items: center; border-radius: 16px; color: #08313b; background: #70d0bd; }.mock-symbol svg { width: 29px; }
.mock-builder .eyebrow { color: #7ad8c5; }.mock-builder h2 { margin: 4px 0 3px; font-size: 20px; }.mock-builder p { margin: 0; color: #aac8c6; font-size: 10px; }
.mock-select { width: 150px !important; border-color: rgba(255,255,255,.18) !important; color: white !important; background: rgba(255,255,255,.08) !important; }

.question-shell { max-width: 1000px; margin: 0 auto; }
.question-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.question-topline span, .question-topline strong { display: block; }.question-topline strong { margin-top: 4px; font-size: 16px; }
.flag-button { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; color: #6b7b78; background: white; font-size: 10px; font-weight: 700; }.flag-button svg { width: 15px; }.flag-button.flagged { border-color: #e7b6aa; color: var(--coral); background: var(--coral-soft); }
.question-progress { height: 5px !important; margin: 17px 0 12px; background: #dce3df !important; }.question-progress [data-slot="progress-indicator"] { background: linear-gradient(90deg, var(--teal), #65c5b1) !important; }
.question-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }.question-meta span { padding: 4px 7px; border: 1px solid #d9dfdc; border-radius: 6px; color: #617471; background: rgba(255,255,255,.6); font-size: 8px; font-weight: 700; }
.question-card { padding: clamp(23px, 4vw, 42px); border: 1px solid var(--line); border-radius: 22px; background: var(--white); box-shadow: 0 14px 45px rgba(18,37,53,.06); }
.question-tool { display: flex; align-items: center; gap: 7px; color: var(--teal); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }.question-tool svg { width: 15px; }
.question-card h1 { max-width: 900px; margin: 18px 0 27px; font-size: clamp(20px, 2.35vw, 29px); letter-spacing: -.025em; line-height: 1.36; }
.option-list { display: grid; gap: 9px; }.option-button { width: 100%; display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 13px 15px; border: 1px solid #d7ddda; border-radius: 12px; color: var(--ink); background: #fbfbf7; text-align: start; font-size: 12px; line-height: 1.5; transition: .16s ease; }
.option-button:hover:not(:disabled), .option-button.selected { border-color: #79b8ac; background: var(--teal-soft); }.option-button.correct { border-color: #61aa8f; background: #e5f6ef; }.option-button.wrong { border-color: #e0907f; background: #fff0ec; }
.option-label { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #cbd5d1; border-radius: 8px; color: #556b67; background: white; font-size: 10px; font-weight: 850; }.option-button.selected .option-label { border-color: var(--teal); color: white; background: var(--teal); }.option-button.correct .option-label { border-color: var(--green); background: var(--green); }.option-button.wrong .option-label { border-color: var(--coral); background: var(--coral); }
.option-button > svg { width: 18px; color: var(--green); }.option-button.wrong > svg { color: var(--coral); }
.question-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 13px; color: #71817e; font-size: 10px; }
.debrief { margin-top: 14px; overflow: hidden; border: 1px solid #cbded7; border-radius: 20px; background: white; box-shadow: 0 14px 40px rgba(18,37,53,.06); }.debrief-wrong { border-color: #e2c1b9; }
.debrief-result { display: flex; align-items: center; gap: 12px; padding: 16px 20px; color: #245f50; background: #e3f4ed; }.debrief-wrong .debrief-result { color: #944e42; background: #fff0ec; }.debrief-result > svg { width: 25px; }.debrief-result span, .debrief-result strong { display: block; }.debrief-result span { font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.debrief-result strong { margin-top: 3px; font-size: 12px; }
.debrief-grid { display: grid; grid-template-columns: repeat(2, 1fr); }.debrief-grid article { padding: 18px 20px; border-right: 1px solid #e5e9e6; border-bottom: 1px solid #e5e9e6; }.debrief-grid article:nth-child(even) { border-right: 0; }.debrief-grid span { color: var(--teal); font-size: 8px; font-weight: 850; letter-spacing: .12em; }.debrief-grid p { margin: 6px 0 0; color: #425b5a; font-size: 10px; line-height: 1.65; }
.debrief-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 18px; }.debrief-footer > span { display: flex; align-items: center; gap: 6px; color: #74837f; font-size: 8px; }.debrief-footer > span svg { width: 13px; }
.result-card { max-width: 720px; display: grid; justify-items: center; margin: 25px auto; padding: 48px; border: 1px solid #d2dcd7; border-radius: 25px; color: var(--ink); background: white; text-align: center; box-shadow: var(--shadow); }.result-orbit { width: 154px; height: 154px; margin: 0 0 25px; background: conic-gradient(var(--teal) 0 var(--score), #e5e9e6 var(--score) 360deg); }.result-orbit::before { width: 128px; height: 128px; background: white; }.result-orbit strong { color: var(--ink); }.result-orbit span { color: var(--ink-soft); }.result-card h1 { margin: 7px 0 5px; font-size: 38px; }.result-card p { margin: 0; color: var(--ink-soft); }.result-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 27px; }

.progress-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 27px 0 18px; }.progress-kpis article { position: relative; min-height: 165px; display: flex; flex-direction: column; padding: 21px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.75); }.progress-kpis article > svg { color: var(--teal); }.progress-kpis article > span { margin-top: 17px; color: var(--ink-soft); font-size: 10px; }.progress-kpis article > strong { margin-top: 3px; font-size: 32px; letter-spacing: -.04em; }.progress-kpis article > small { color: #71817e; font-size: 9px; }.progress-kpis article > button { width: fit-content; display: flex; align-items: center; gap: 5px; margin-top: auto; border: 0; color: var(--teal); background: none; font-size: 9px; font-weight: 800; }.progress-kpis article > button svg { width: 13px; }
.domain-panel { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: white; }.domain-list { display: grid; gap: 14px; }.domain-row { display: grid; grid-template-columns: auto minmax(220px, .85fr) minmax(220px, 1.4fr) 42px; gap: 12px; align-items: center; }.domain-dot { width: 10px; height: 10px; border-radius: 50%; }.domain-row strong, .domain-row small { display: block; }.domain-row strong { font-size: 11px; }.domain-row small { margin-top: 2px; color: #71817e; font-size: 8px; }.domain-row [data-slot="progress"] { height: 7px; background: #e7ebe8; }.domain-row b { font-size: 11px; text-align: right; }
.integrity-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 14px; padding: 15px 17px; border: 1px solid #c8dbd5; border-radius: 14px; color: #375d59; background: var(--teal-soft); }.integrity-note svg { flex: 0 0 auto; }.integrity-note strong { font-size: 10px; }.integrity-note p { margin: 3px 0 0; font-size: 9px; line-height: 1.5; }

[data-slot="dialog-overlay"] { background: rgba(5, 25, 34, .75) !important; backdrop-filter: blur(5px); }
.tool-dialog { width: min(1180px, calc(100vw - 30px)) !important; max-width: none !important; height: min(90vh, 850px); grid-template-rows: auto 1fr; gap: 0 !important; overflow: hidden; padding: 0 !important; border: 1px solid rgba(255,255,255,.5) !important; border-radius: 22px !important; background: var(--paper) !important; box-shadow: 0 35px 100px rgba(2,19,27,.35) !important; }
.tool-dialog-focus { width: calc(100vw - 20px) !important; height: calc(100vh - 20px) !important; max-height: none !important; }
.tool-dialog > button[data-slot="dialog-close"] { z-index: 5; top: 16px; right: 16px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: #566d69; background: rgba(255,255,255,.75); }
[dir="rtl"] .tool-dialog > button[data-slot="dialog-close"] { right: auto; left: 16px; }
.tool-dialog-header { padding: 20px 60px 17px 25px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.76); }
[dir="rtl"] .tool-dialog-header { padding: 20px 25px 17px 60px; }
.dialog-title-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; }.dialog-title-row [data-slot="dialog-title"] { margin-top: 5px; font-size: 22px; letter-spacing: -.025em; }.dialog-title-row [data-slot="dialog-description"] { max-width: 820px; margin-top: 6px; color: var(--ink-soft); font-size: 10px; line-height: 1.5; }
.focus-button { display: flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; font-size: 9px; font-weight: 750; }.focus-button svg { width: 14px; }
.tool-tabs { min-height: 0; display: grid !important; grid-template-rows: auto 1fr; gap: 0 !important; }.tool-tabs-list { width: 100% !important; height: 47px !important; justify-content: flex-start !important; gap: 3px !important; padding: 6px 20px !important; overflow-x: auto; border-bottom: 1px solid var(--line); border-radius: 0 !important; background: #eceae4 !important; }.tool-tabs-list [data-slot="tabs-trigger"] { flex: 0 0 auto !important; height: 34px !important; gap: 6px !important; padding: 0 12px !important; font-size: 9px !important; }.tool-tabs-list [data-state="active"] { color: var(--teal) !important; background: white !important; box-shadow: 0 2px 8px rgba(18,37,53,.06) !important; }.tool-tabs-list svg { width: 14px !important; }
.tab-scroll { min-height: 0; height: 100%; overflow: auto; padding: 24px; }.decision-layout { max-width: 980px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 12px; margin: 0 auto; }.decision-layout article { padding: 21px; border: 1px solid var(--line); border-radius: 17px; background: white; }.decision-primary { grid-column: 1 / -1; color: white; background: linear-gradient(130deg, #11313e, #19505a) !important; }.card-kicker { display: flex; align-items: center; gap: 7px; color: var(--teal); font-size: 8px; font-weight: 850; letter-spacing: .12em; }.card-kicker svg { width: 15px; }.decision-primary .card-kicker { color: #78d8c4; }.decision-primary h3 { max-width: 830px; margin: 12px 0 20px; font-size: 24px; line-height: 1.35; }.decision-loop { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }.decision-loop span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; color: #d9efeb; background: rgba(255,255,255,.06); font-size: 9px; font-weight: 750; }.decision-loop svg { width: 13px; color: #6dd3bd; }.decision-layout article p { margin: 12px 0 0; color: #405a58; font-size: 11px; line-height: 1.68; }.boundary-card { border-color: #e5c6bd !important; background: #fff4f1 !important; }.boundary-card .card-kicker { color: var(--coral); }.pearl-card { border-color: #c6ded6 !important; background: #eff9f5 !important; }.trap-card { border-color: #ead6a9 !important; background: #fff9eb !important; }.trap-card .card-kicker { color: #a67b21; }
.poster-tab { padding: 0; }.poster-toolbar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px; border-bottom: 1px solid var(--line); background: rgba(245,243,237,.94); backdrop-filter: blur(10px); }.poster-toolbar button, .poster-toolbar a { display: flex; align-items: center; gap: 5px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: white; font-size: 8px; font-weight: 700; text-decoration: none; }.poster-toolbar svg { width: 13px; }.poster-toolbar > span { min-width: 43px; color: #607572; font-size: 9px; text-align: center; }.poster-stage { min-height: 100%; overflow: auto; padding: 18px; background: #cfd4d0; text-align: center; }.poster-stage img { min-width: 55%; max-width: none; height: auto; margin: 0 auto; border-radius: 8px; box-shadow: 0 12px 40px rgba(9,29,36,.22); transition: width .16s ease; }
.coach-launch { max-width: 650px; display: grid; justify-items: center; margin: 25px auto; padding: 42px; border: 1px solid var(--line); border-radius: 22px; background: white; text-align: center; }.coach-icon { width: 70px; height: 70px; display: grid; place-items: center; margin-bottom: 16px; border-radius: 22px; color: var(--teal); background: var(--teal-soft); }.coach-icon svg { width: 35px; height: 35px; }.coach-launch h3 { margin: 8px 0; font-size: 26px; }.coach-launch p { max-width: 530px; margin: 0 0 22px; color: var(--ink-soft); font-size: 11px; line-height: 1.6; }
.evidence-grid { max-width: 900px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0 auto; }.evidence-grid article { min-height: 160px; padding: 21px; border: 1px solid var(--line); border-radius: 17px; background: white; }.evidence-grid span, .evidence-grid strong { display: block; }.evidence-grid span { color: var(--teal); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.evidence-grid strong { margin-top: 10px; font-size: 15px; }.evidence-grid p { margin: 8px 0 0; color: var(--ink-soft); font-size: 10px; line-height: 1.6; }
.summary-sheet { max-width: 850px; margin: 0 auto; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: white; }.summary-sheet h3 { margin: 8px 0 20px; font-size: 28px; }.summary-row { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 15px 0; border-top: 1px solid #e5e9e6; }.summary-row > span { color: var(--teal); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.summary-row p { margin: 0; color: #405856; font-size: 11px; line-height: 1.65; }.handoff-list { display: grid; gap: 9px; margin: 18px 0; padding: 16px; border-radius: 14px; background: var(--paper); }.handoff-list > strong { font-size: 11px; }.handoff-list > div { display: flex; gap: 8px; color: #48615f; font-size: 10px; line-height: 1.5; }.handoff-list svg { width: 14px; flex: 0 0 auto; color: var(--teal); }

@media (max-width: 1180px) {
  .journey-grid { grid-template-columns: repeat(3, 1fr); }.tool-grid { grid-template-columns: repeat(3, 1fr); }.progress-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .sidebar { transform: translateX(-105%); transition: transform .22s ease; }.sidebar.sidebar-open { transform: translateX(0); }[dir="rtl"] .sidebar { transform: translateX(105%); }[dir="rtl"] .sidebar.sidebar-open { transform: translateX(0); }
  .nav-scrim { position: fixed; inset: 0; z-index: 35; border: 0; background: rgba(5,25,34,.56); }.main-canvas, [dir="rtl"] .main-canvas { margin: 0; }.mobile-menu { display: grid; }.topbar { padding: 0 18px; }.page-content { width: min(100% - 32px, 800px); padding-top: 28px; }
  .hero-grid { grid-template-columns: 1fr; min-height: 0; }.decision-pulse-card { max-width: 520px; }.journey-grid { grid-template-columns: repeat(2, 1fr); }.content-snapshot { grid-template-columns: 1fr; }.mode-grid { grid-template-columns: repeat(2, 1fr); }.mock-builder { grid-template-columns: auto 1fr; }.mock-builder .mock-select, .mock-builder .primary-button { width: 100% !important; }.tool-grid { grid-template-columns: repeat(2, 1fr); }.tools-intro, .practice-heading, .progress-heading { align-items: flex-start; flex-direction: column; }.upgrade-badge, .bank-seal { width: 100%; }.decision-layout { grid-template-columns: 1fr; }.decision-primary { grid-column: auto; }.tool-dialog { height: calc(100vh - 20px); }.tool-tabs-list { padding-inline: 10px !important; }.domain-row { grid-template-columns: auto 1fr 45px; }.domain-row [data-slot="progress"] { grid-column: 2 / -1; }.evidence-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .topbar-context .eyebrow { display: none; }.topbar-context strong { font-size: 13px; }.language-button { padding: 7px 8px; font-size: 10px; }.avatar { width: 34px; height: 34px; }.hero-copy h1 { font-size: 48px; }.hero-actions { display: grid; }.hero-actions button { width: 100%; }.trust-row { display: grid; gap: 7px; }.journey-grid, .tool-grid, .mode-grid, .progress-kpis { grid-template-columns: 1fr; }.journey-card { min-height: 150px; }.snapshot-stats { grid-template-columns: 1fr; }.snapshot-stats div { border-left: 0; border-top: 1px solid #d2d6d0; }.catalog-toolbar { grid-template-columns: 1fr; }.group-select { width: 100% !important; }.upgrade-note { grid-template-columns: auto 1fr; }.upgrade-note button { grid-column: 2; justify-self: start; }.mock-builder { grid-template-columns: 1fr; }.mock-symbol { display: none; }.question-card { padding: 20px; }.question-card h1 { font-size: 20px; }.option-button { grid-template-columns: auto 1fr; }.option-button > svg { grid-column: 2; }.question-actions, .debrief-footer { align-items: stretch; flex-direction: column; }.question-actions .primary-button, .debrief-footer .primary-button { width: 100%; }.debrief-grid { grid-template-columns: 1fr; }.debrief-grid article { border-right: 0; }.result-card { padding: 32px 20px; }.result-actions { display: grid; width: 100%; }.summary-row { grid-template-columns: 1fr; gap: 5px; }.poster-toolbar { justify-content: flex-start; overflow-x: auto; }.poster-toolbar button, .poster-toolbar a { white-space: nowrap; }.tool-dialog-header { padding-inline: 18px 50px; }.focus-button span { display: none; }.dialog-title-row [data-slot="dialog-title"] { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

.standalone-modal-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:10px;background:rgba(5,25,34,.76);backdrop-filter:blur(6px)}
.standalone-modal{position:relative;width:min(1180px,calc(100vw - 20px));height:min(92vh,850px);display:grid;grid-template-rows:auto auto 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.45);border-radius:22px;background:var(--paper);box-shadow:0 35px 100px rgba(2,19,27,.4)}
.standalone-modal.focus{width:calc(100vw - 12px);height:calc(100vh - 12px);max-width:none;max-height:none}.standalone-close{position:absolute;z-index:4;right:14px;top:14px;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:white;font-weight:900}.standalone-modal .tool-dialog-header{padding-right:60px}.standalone-tabbar{height:48px;display:flex;gap:4px;padding:7px 20px;overflow-x:auto;border-bottom:1px solid var(--line);background:#eceae4}.standalone-tabbar button{flex:0 0 auto;padding:0 13px;border:0;border-radius:8px;color:#657674;background:transparent;font-size:9px;font-weight:800}.standalone-tabbar button.active{color:var(--teal);background:white;box-shadow:0 2px 8px rgba(18,37,53,.08)}
.standalone-tabcontent{min-height:0;overflow:auto;padding:24px}.standalone-poster-stage{min-height:100%;overflow:auto;padding:18px;background:#cfd4d0;text-align:center}.standalone-poster-stage img{max-width:none;height:auto;margin:0 auto;border-radius:8px;box-shadow:0 12px 40px rgba(9,29,36,.22)}
.standalone-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:7px;background:var(--teal-soft);color:var(--teal);font-size:8px;font-weight:800}.standalone-navicon,.standalone-cardicon{font-size:17px;line-height:1}.standalone-cardicon{font-size:25px}.standalone-toast{position:fixed;z-index:120;right:20px;bottom:20px;padding:11px 15px;border-radius:11px;color:white;background:var(--navy);box-shadow:var(--shadow);font-size:10px}.standalone-modal .poster-toolbar{position:static}.standalone-modal .coach-launch{margin:auto}.standalone-modal .summary-sheet{margin:auto}
@media(max-width:900px){.standalone-modal{height:calc(100vh - 12px)}.standalone-modal .tool-dialog-header{padding-right:55px}.standalone-tabcontent{padding:16px}}


/* Teaching-display upgrade: readable in browser, app shells, and screen-shared Zoom lessons. */
html { font-size: 17px; }
body { font-size: 1rem; }
.standalone-modal {
  width: min(1480px, calc(100vw - 24px));
  height: min(94vh, 980px);
  --teach-scale: 1.12;
}
.standalone-modal .tool-dialog-header { padding: 22px 74px 19px 30px; }
.standalone-modal .dialog-title-row { align-items: center; gap: 24px; }
.standalone-modal .dialog-title-row h2 { margin: 7px 0 8px; font-size: calc(27px * var(--teach-scale)); line-height: 1.18; }
.standalone-modal .dialog-title-row p { max-width: 1050px; margin: 0; font-size: calc(16px * var(--teach-scale)); line-height: 1.55; }
.standalone-modal .eyebrow { font-size: calc(10px * var(--teach-scale)); }
.standalone-close { width: 40px; height: 40px; font-size: 20px; }
.modal-header-actions { display: flex; align-items: center; gap: 9px; flex: none; padding-right: 2px; }
.teaching-size { display: flex; align-items: center; gap: 5px; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: #f8faf8; }
.teaching-size > span { padding: 0 6px; color: #526764; font-size: 12px; font-weight: 850; white-space: nowrap; }
.teaching-size button, .focus-button { min-height: 36px; padding: 0 11px; border: 1px solid #d3dcda; border-radius: 8px; background: white; color: var(--ink); font-size: 13px; font-weight: 850; }
.teaching-size button.active { border-color: var(--teal); color: white; background: var(--teal); }
.standalone-tabbar { height: 58px; gap: 6px; padding: 8px 24px; }
.standalone-tabbar button { padding: 0 17px; font-size: calc(13px * var(--teach-scale)); }
.standalone-tabcontent { padding: 28px; }
.decision-layout { max-width: 1160px; gap: 17px; }
.decision-layout article { padding: calc(24px * var(--teach-scale)); }
.card-kicker { font-size: calc(10px * var(--teach-scale)); }
.decision-primary h3 { max-width: 980px; font-size: calc(27px * var(--teach-scale)); line-height: 1.38; }
.decision-loop span { padding: 9px 13px; font-size: calc(12px * var(--teach-scale)); }
.decision-layout article p { font-size: calc(15px * var(--teach-scale)); line-height: 1.7; }
.evidence-grid article span, .summary-row > span { font-size: calc(11px * var(--teach-scale)); }
.evidence-grid article strong, .handoff-list strong { font-size: calc(17px * var(--teach-scale)); }
.evidence-grid article p, .summary-row p, .handoff-list div { font-size: calc(15px * var(--teach-scale)); line-height: 1.65; }
.summary-sheet h3 { font-size: calc(30px * var(--teach-scale)); }

/* Poster teaching canvas. */
.standalone-tabcontent.poster-tab { padding: 0; overflow: hidden; display: grid; grid-template-rows: auto 1fr; }
.poster-toolbar { justify-content: flex-start; flex-wrap: wrap; gap: 7px; padding: 10px 14px; }
.poster-toolbar .toolbar-group { display: flex; align-items: center; gap: 5px; padding-right: 8px; border-right: 1px solid #d4dcd8; }
.poster-toolbar button, .poster-toolbar label { min-height: 38px; padding: 0 12px; font-size: calc(12px * var(--teach-scale)); }
.poster-toolbar button.active { border-color: var(--teal); color: white; background: var(--teal); }
.poster-toolbar button.danger { color: #a34637; }
.poster-toolbar .zoom-readout { min-width: 58px; font-size: calc(12px * var(--teach-scale)); font-weight: 850; }
.poster-toolbar input[type=color] { width: 34px; height: 30px; padding: 2px; border: 0; border-radius: 7px; background: transparent; }
.annotation-status { margin-left: auto; color: #526c68; font-size: calc(12px * var(--teach-scale)); font-weight: 750; }
.standalone-poster-stage { min-height: 0; overflow: auto; padding: 24px; text-align: center; }
.poster-canvas { position: relative; min-width: 58%; max-width: none; margin: 0 auto; line-height: 0; transition: width .16s ease; }
.poster-canvas > img { display: block; width: 100%; max-width: none; height: auto; user-select: none; -webkit-user-drag: none; }
.poster-markup { position: absolute; inset: 0; width: 100%; height: 100%; touch-action: none; cursor: crosshair; }
.poster-canvas[data-tool="edit"] .poster-markup { cursor: default; }
.annotation-note { position: absolute; z-index: 3; max-width: 220px; padding: 8px 10px; border: 2px solid #0c7f7b; border-radius: 8px; color: #14333d; background: rgba(255,255,255,.94); box-shadow: 0 8px 20px rgba(8,36,44,.18); font: 750 14px/1.4 Arial, sans-serif; text-align: left; transform: translate(-8px,-8px); }
.annotation-note.sticky { min-width: 150px; min-height: 92px; padding: 14px; border: 1px solid #d2aa31; border-radius: 3px; background: #fff09b; box-shadow: 3px 5px 12px rgba(48,38,5,.24); font-family: "Segoe Print", "Comic Sans MS", cursive; }
.annotation-note .note-type { display: block; margin-bottom: 5px; color: #6b5720; font: 900 9px/1 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.annotation-help { padding: 8px 14px; border-top: 1px solid var(--line); color: #536b67; background: #f5faf8; font-size: 13px; line-height: 1.45; }

/* Coach Practice stays inside the popup. */
.coach-workspace { max-width: 1180px; margin: 0 auto; }
.coach-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.coach-topline strong { display: block; font-size: calc(17px * var(--teach-scale)); }
.coach-topline small { color: var(--ink-soft); font-size: calc(12px * var(--teach-scale)); }
.coach-progress { height: 7px; margin: 8px 0 17px; overflow: hidden; border-radius: 99px; background: #dce4df; }
.coach-progress span { display: block; height: 100%; background: linear-gradient(90deg,var(--teal),#64c9b5); }
.coach-question-card { padding: calc(27px * var(--teach-scale)); border: 1px solid var(--line); border-radius: 21px; background: white; box-shadow: 0 14px 45px rgba(18,37,53,.07); }
.coach-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.coach-meta span { padding: 6px 9px; border-radius: 8px; color: #3b605a; background: var(--teal-soft); font-size: calc(11px * var(--teach-scale)); font-weight: 800; }
.coach-question-card h3 { margin: 18px 0 23px; font-size: calc(27px * var(--teach-scale)); line-height: 1.42; letter-spacing: -.018em; }
.coach-options { display: grid; gap: 11px; }
.coach-option { width: 100%; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 14px; padding: 15px 17px; border: 1px solid #d4ddda; border-radius: 13px; color: var(--ink); background: #fbfcf9; text-align: left; font-size: calc(15px * var(--teach-scale)); line-height: 1.55; }
.coach-option:hover:not(:disabled), .coach-option.selected { border-color: #64aa9f; background: #eef8f5; }
.coach-option.correct { border-color: #5f9f86; background: #e4f5ed; }
.coach-option.wrong { border-color: #dc8c7b; background: #fff0ec; }
.coach-option b:first-child { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #c9d5d1; border-radius: 9px; background: white; font-size: 13px; }
.coach-option.selected b:first-child { color: white; background: var(--teal); }
.coach-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.coach-actions .action-cluster { display: flex; gap: 8px; }
.coach-actions button { min-height: 43px; }
.hint-box-large { margin-top: 14px; padding: 15px 17px; border: 1px solid #e6c76e; border-radius: 13px; color: #674f12; background: #fff8dc; font-size: calc(14px * var(--teach-scale)); line-height: 1.55; }
.coach-debrief { margin-top: 16px; overflow: hidden; border: 1px solid #c9ddd6; border-radius: 18px; background: white; }
.coach-debrief-head { padding: 17px 20px; color: #245c4d; background: #e5f4ee; font-size: calc(15px * var(--teach-scale)); }
.coach-debrief-head.wrong { color: #91473b; background: #fff0ec; }
.coach-debrief-head strong { display: block; margin-top: 5px; font-size: calc(17px * var(--teach-scale)); }
.coach-debrief-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.coach-debrief-grid article { padding: 18px 20px; border-right: 1px solid #e4e9e6; border-top: 1px solid #e4e9e6; }
.coach-debrief-grid article:nth-child(even) { border-right: 0; }
.coach-debrief-grid span { color: var(--teal); font-size: calc(10px * var(--teach-scale)); font-weight: 900; letter-spacing: .1em; }
.coach-debrief-grid p { margin: 7px 0 0; color: #3e5855; font-size: calc(14px * var(--teach-scale)); line-height: 1.65; }
.coach-source { margin-top: 12px; color: #6d7d79; font-size: calc(10px * var(--teach-scale)); line-height: 1.5; }
.coach-result { max-width: 700px; margin: 45px auto; padding: 42px; border: 1px solid var(--line); border-radius: 24px; background: white; text-align: center; }
.coach-result h3 { font-size: calc(31px * var(--teach-scale)); }
.coach-result p { font-size: calc(16px * var(--teach-scale)); }

/* Main Practice Hub readability from the second reference image. */
.question-card h1 { font-size: clamp(27px, 2.6vw, 36px); line-height: 1.38; }
.option-button { min-height: 66px; padding: 15px 18px; font-size: clamp(16px, 1.15vw, 18px); line-height: 1.55; }
.option-label { width: 36px; height: 36px; font-size: 13px; }
.debrief-result span { font-size: 12px; }.debrief-result strong { font-size: 16px; }
.debrief-grid span { font-size: 11px; }.debrief-grid p { font-size: 15px; line-height: 1.65; }
.debrief-footer > span { font-size: 11px; line-height: 1.45; }

@media (max-width: 1000px) {
  .standalone-modal .dialog-title-row { align-items: flex-start; flex-direction: column; }
  .modal-header-actions { width: 100%; justify-content: space-between; }
  .coach-debrief-grid { grid-template-columns: 1fr; }
  .coach-debrief-grid article { border-right: 0; }
  .annotation-status { width: 100%; margin-left: 0; }
}
@media (max-width: 680px) {
  html { font-size: 16px; }
  .standalone-modal { --teach-scale: 1; }
  .standalone-modal .tool-dialog-header { padding: 18px 54px 15px 17px; }
  .teaching-size > span { display: none; }
  .standalone-tabcontent { padding: 15px; }
  .decision-layout { grid-template-columns: 1fr; }
  .coach-question-card { padding: 18px; }
  .coach-question-card h3 { font-size: 23px; }
  .coach-option { grid-template-columns: 36px 1fr; font-size: 15px; }
  .coach-actions { align-items: stretch; flex-direction: column; }
  .coach-actions .action-cluster { display: grid; grid-template-columns: 1fr 1fr; }
  .poster-toolbar { flex-wrap: nowrap; overflow-x: auto; }
  .poster-toolbar .toolbar-group { flex: none; }
  .annotation-status { display: none; }
}


/* Teaching Lens: compact educational overlays placed before Flag. */
.coach-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}
.coach-layer-picker {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  flex-wrap: wrap;
}
.coach-layer-picker > span {
  margin-right: 2px;
  color: #60736f;
  font-size: calc(10px * var(--teach-scale));
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.coach-layer-button {
  min-height: 34px;
  padding: 0 9px;
  border: 1px solid #ccd8d4;
  border-radius: 9px;
  color: #345651;
  background: rgba(255,255,255,.94);
  font-size: calc(10.5px * var(--teach-scale));
  font-weight: 850;
  white-space: nowrap;
}
.coach-layer-button::before {
  content: "□";
  margin-right: 5px;
  color: #77908a;
}
.coach-layer-button.active {
  border-color: #087f7a;
  color: white;
  background: #087f7a;
  box-shadow: 0 5px 15px rgba(8,127,122,.18);
}
.coach-layer-button.active::before { content: "✓"; color: white; }
.coach-layer-button:disabled {
  opacity: .46;
  cursor: not-allowed;
}
.coach-top-actions .flag-button { flex: none; min-height: 34px; }

.question-lens-panel {
  margin: 0 0 15px;
  overflow: hidden;
  border: 1px solid #b9d8d2;
  border-radius: 15px;
  background: linear-gradient(145deg,#f9fdfb,#eef8f5);
  box-shadow: 0 9px 24px rgba(18,67,62,.07);
}
.lens-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 16px;
  border-bottom: 1px solid #cee1dc;
  background: rgba(255,255,255,.75);
}
.lens-panel-head span,
.lens-panel-head strong { display: block; }
.lens-panel-head span {
  color: #087f7a;
  font-size: calc(9px * var(--teach-scale));
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.lens-panel-head strong {
  margin-top: 3px;
  color: #173b42;
  font-size: calc(15px * var(--teach-scale));
}
.lens-panel-head small {
  max-width: 520px;
  color: #667b77;
  font-size: calc(10.5px * var(--teach-scale));
  line-height: 1.5;
}
.lens-panel-body {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
  padding: 13px 16px 15px;
}
.lens-fact {
  padding: 11px 12px;
  border: 1px solid #d8e5e1;
  border-radius: 11px;
  color: #3f5955;
  background: white;
  font-size: calc(12px * var(--teach-scale));
  line-height: 1.55;
}
.lens-fact b {
  display: block;
  margin-bottom: 3px;
  color: #0c6f6b;
  font-size: calc(9px * var(--teach-scale));
  letter-spacing: .08em;
  text-transform: uppercase;
}
.lens-chip-list {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.lens-chip {
  min-height: 33px;
  padding: 6px 10px;
  border: 1px solid #d1deda;
  border-radius: 9px;
  color: #34544f;
  background: white;
  font-size: calc(11px * var(--teach-scale));
  line-height: 1.35;
  text-align: left;
}
.lens-chip.active {
  border-color: #c29116;
  background: #fff5bf;
  box-shadow: 0 0 0 2px rgba(226,177,45,.16);
}
.lens-option-map {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.lens-option-map button {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: start;
  gap: 9px;
  padding: 10px 11px;
  border: 1px solid #d6e1de;
  border-radius: 10px;
  color: #3d5753;
  background: white;
  font-size: calc(11px * var(--teach-scale));
  line-height: 1.45;
  text-align: left;
}
.lens-option-map button > b {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: white;
  background: #758985;
}
.lens-option-map button.key { border-color: #7ab79e; background: #edf8f2; }
.lens-option-map button.key > b { background: #318368; }
.lens-option-map button.active { box-shadow: 0 0 0 3px rgba(8,127,122,.17); }

.coach-question-card h3 .anatomy-part {
  position: relative;
  display: inline;
  border-radius: 6px;
  padding: 1px 3px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.coach-question-card h3 .anatomy-context {
  background: #e8f4ff;
  box-shadow: inset 0 -3px 0 #79aeda;
}
.coach-question-card h3 .anatomy-task {
  background: #f1eaff;
  box-shadow: inset 0 -3px 0 #9a77d2;
}
mark.lens-clue,
mark.lens-tool {
  padding: 1px 3px;
  border-radius: 5px;
  color: inherit;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
mark.lens-clue {
  background: #fff09f;
  box-shadow: inset 0 -2px 0 #d7a715;
}
mark.lens-tool {
  background: #d8f4ee;
  box-shadow: inset 0 -2px 0 #15968b;
}
mark.lens-clue.focused,
mark.lens-tool.focused {
  outline: 3px solid rgba(220,165,18,.42);
  outline-offset: 2px;
}
.coach-option.correct mark.lens-tool { background: #bfead7; box-shadow: inset 0 -2px 0 #267b5e; }
.coach-option.wrong mark.lens-tool { background: #ffd9d0; box-shadow: inset 0 -2px 0 #c86450; }
.coach-option.lens-option-focus { outline: 3px solid rgba(8,127,122,.27); outline-offset: 2px; }
.option-logic-note {
  display: block;
  grid-column: 2 / -1;
  margin-top: -5px;
  padding: 7px 9px;
  border-radius: 8px;
  color: #5b5140;
  background: #fff8dc;
  font-size: calc(10px * var(--teach-scale));
  line-height: 1.45;
}
.coach-option.correct .option-logic-note { color: #245d4a; background: #dff3e9; }
.lens-coaching-warning {
  grid-column: 1 / -1;
  padding: 9px 11px;
  border-left: 4px solid #d4a01a;
  border-radius: 8px;
  color: #68531d;
  background: #fff8df;
  font-size: calc(10.5px * var(--teach-scale));
  line-height: 1.5;
}

@media (max-width: 1050px) {
  .coach-topline { align-items: flex-start; flex-direction: column; }
  .coach-top-actions { width: 100%; justify-content: space-between; }
  .coach-layer-picker { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .coach-layer-picker > span { width: 100%; }
  .coach-layer-button { flex: 1 1 auto; }
  .lens-panel-head { flex-direction: column; }
  .lens-panel-body, .lens-option-map { grid-template-columns: 1fr; }
}

/* SNLE Clinical Learning System v4 — reference-led palette, type, icon, card, and contrast upgrade */
:root {
  --ink: #0c2c49;
  --ink-soft: #3f5f64;
  --navy: #0c2c49;
  --navy-2: #173f51;
  --green: #2d5652;
  --aqua: #97d3c0;
  --mint: #e4f2ea;
  --paper: #f4f8f6;
  --paper-deep: #e4f2ea;
  --white: #ffffff;
  --line: #c9dcd4;
  --teal: #2d5652;
  --teal-soft: #e4f2ea;
  --coral: #ff7e42;
  --coral-soft: #fff0e8;
  --violet: #4272ff;
  --violet-soft: #eaf0ff;
  --gold: #d88900;
  --gold-soft: #fff3d9;
  --red: #85144b;
  --cyan: #42eaff;
  --blue: #4272ff;
  --amber: #ffb343;
  --orange: #ff851b;
  --yellow: #ffdc00;
  --magenta: #85144b;
  --shadow: 0 12px 34px rgba(12, 44, 73, .10);
  --shadow-soft: 0 5px 18px rgba(12, 44, 73, .07);
  --radius: 1rem;
}

html { font-size: 16px; }
body,
button,
input,
select,
textarea {
  font-family: Cabin, Cantarell, "Segoe UI", Arial, sans-serif;
}
body {
  background:
    radial-gradient(circle at 96% 2%, rgba(151, 211, 192, .25), transparent 26rem),
    var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, strong { color: var(--navy); }
.editorial-title,
.guide-page h1,
.guide-panel h2,
.glossary-detail h2 {
  font-family: Merriweather, "Crimson Text", Georgia, serif;
  letter-spacing: -.025em;
}
.eyebrow,
.journey-number,
.mode-count,
.question-meta,
.tool-card-footer,
.guide-number,
.fact-number,
.question-code,
.reset-duration,
.sidebar-section-label {
  font-family: Lekton, "Droid Sans Mono", "Space Mono", Consolas, monospace;
  font-variant-numeric: tabular-nums lining-nums;
}
::selection { color: #0c2c49; background: #ffdc00; }
:focus-visible { outline: 3px solid rgba(66, 114, 255, .42); outline-offset: 2px; }

.sidebar {
  width: 268px;
  padding: 22px 17px 18px;
  background:
    radial-gradient(circle at 18% 8%, rgba(151, 211, 192, .16), transparent 13rem),
    linear-gradient(174deg, #0c2c49 0%, #153f50 55%, #2d5652 100%);
  box-shadow: 8px 0 34px rgba(12, 44, 73, .16);
}
.main-canvas { margin-left: 268px; }
[dir="rtl"] .main-canvas { margin-left: 0; margin-right: 268px; }
.brand-mark {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  color: #0c2c49;
  background: linear-gradient(145deg, #bce9dc, #97d3c0);
  box-shadow: 0 8px 22px rgba(151, 211, 192, .22);
}
.brand-mark svg { width: 23px; height: 23px; }
.brand-lockup strong { color: #fff; font-size: 15px; }
.brand-lockup span { color: #b9d8d1; font-size: 10px; }
.sidebar nav {
  gap: 5px;
  margin-top: 27px;
  overflow: auto;
  padding-right: 2px;
}
.sidebar-section-label {
  margin: 13px 10px 5px;
  color: #97d3c0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.sidebar nav button {
  min-height: 48px;
  gap: 11px;
  padding: 7px 10px;
  border-radius: 13px;
  color: #d4e7e2;
  font-size: 13px;
  font-weight: 720;
}
.sidebar nav button:hover { background: rgba(228, 242, 234, .09); }
.sidebar nav button.active {
  color: #fff;
  border-color: rgba(151, 211, 192, .34);
  background: linear-gradient(90deg, rgba(151, 211, 192, .23), rgba(255, 255, 255, .06));
  box-shadow: inset 3px 0 #97d3c0, 0 5px 16px rgba(0, 0, 0, .08);
}
.nav-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(151, 211, 192, .18);
  border-radius: 11px;
  color: #97d3c0;
  background: rgba(228, 242, 234, .07);
}
.nav-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sidebar nav button.active .nav-icon {
  color: #0c2c49;
  background: #97d3c0;
  border-color: #97d3c0;
}
.sidebar-card {
  margin-top: 20px;
  border-color: rgba(151, 211, 192, .22);
  background: rgba(228, 242, 234, .08);
}
.sidebar-card strong { color: #fff; }
.mini-orbit {
  background: conic-gradient(#97d3c0 0 10deg, rgba(255, 255, 255, .1) 10deg);
}
.mini-orbit::before { background: #173f51; }
.sidebar-footer { color: #b5d2cc; font-size: 10px; }

.topbar {
  height: 78px;
  border-bottom-color: rgba(45, 86, 82, .13);
  background: rgba(244, 248, 246, .92);
}
.topbar-context strong { color: var(--navy); font-size: 17px; }
.eyebrow { color: var(--green); font-size: 10px; }
.language-button,
.icon-button {
  min-height: 40px;
  border-color: #c6d9d2;
  color: var(--navy);
  background: rgba(255, 255, 255, .85);
}
.avatar { color: #fff; background: linear-gradient(145deg, var(--magenta), #a72b61); }
.page-content {
  width: min(1360px, calc(100% - clamp(34px, 7vw, 104px)));
  padding-top: 44px;
}

.primary-button {
  border-color: var(--green);
  background: var(--green);
  box-shadow: 0 8px 20px rgba(45, 86, 82, .18);
}
.primary-button:hover { border-color: #234743; background: #234743; }
.secondary-button {
  border-color: #bfd3cb;
  color: var(--navy);
  background: #fff;
}
.status-pill {
  border-color: #b7d8cc;
  color: var(--green);
  background: var(--mint);
  font-size: 12px;
}
.hero-copy h1 { color: var(--navy); font-size: clamp(46px, 5.2vw, 74px); }
.hero-copy h1 em {
  color: var(--green);
  font-family: Merriweather, "Crimson Text", Georgia, serif;
}
.hero-copy > p { color: var(--ink-soft); font-size: clamp(17px, 1.3vw, 20px); }
.decision-pulse-card,
.mock-builder,
.decision-primary {
  background:
    radial-gradient(circle at 82% 14%, rgba(151, 211, 192, .23), transparent 29%),
    linear-gradient(145deg, #0c2c49, #2d5652) !important;
}
.pulse-orbit,
.result-orbit { background: conic-gradient(#97d3c0 0 var(--score), rgba(255, 255, 255, .12) var(--score) 360deg); }
.pulse-orbit::before { background: #163f50; }

.journey-card,
.tool-card,
.mode-card,
.progress-kpis article,
.domain-panel,
.question-card,
.debrief,
.guide-panel,
.glossary-shell,
.reset-card,
.reset-stage,
.reset-guide {
  border-color: var(--line);
  border-radius: 17px;
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--shadow-soft);
}
.journey-card:hover:not(:disabled),
.tool-card:hover,
.mode-card:hover:not(:disabled) {
  box-shadow: var(--shadow);
}
.journey-number {
  min-width: 28px;
  padding: 3px 5px;
  border-radius: 7px;
  color: var(--navy);
  background: var(--mint);
  text-align: center;
  font-size: 11px;
}
.standalone-cardicon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin-top: 5px;
  border-radius: 13px;
  color: var(--tone, var(--green));
  background: color-mix(in srgb, var(--tone, var(--green)) 13%, white);
  font-size: 20px;
}
.tone-coral { --tone: var(--coral); }
.tone-teal { --tone: var(--green); }
.tone-violet { --tone: var(--blue); }
.tone-gold { --tone: var(--amber); }
.tone-navy { --tone: var(--navy); }
.mode-coral { --mode: var(--coral); }
.mode-teal { --mode: var(--green); }
.mode-violet { --mode: var(--blue); }
.mode-gold { --mode: var(--amber); }
.content-snapshot {
  border-color: #c7d9d2;
  background: linear-gradient(120deg, #fff, var(--mint));
}
.snapshot-stats strong { color: var(--green); }

.tools-intro h1,
.practice-heading h1,
.progress-heading h1,
.page-hero h1 {
  color: var(--navy);
  font-size: clamp(36px, 4vw, 54px);
}
.tools-intro p,
.practice-heading p,
.progress-heading p,
.page-hero p { color: var(--ink-soft); font-size: 16px; }
.upgrade-note,
.integrity-note {
  border-color: #b9d7cc;
  color: var(--green);
  background: var(--mint);
}
.tool-card h3 { min-height: 42px; font-size: 15px; }
.tool-card p { height: 62px; color: var(--ink-soft); font-size: 12px; line-height: 1.58; }
.tool-card-footer { color: #53706a; font-size: 10px; }
.hyp-pill { color: var(--navy); background: var(--aqua); }
.tool-group { color: #fff; background: rgba(12, 44, 73, .9); }
.tool-open {
  color: var(--navy);
  background: rgba(255, 255, 255, .93);
}

.question-card h1 {
  color: var(--navy);
  font-family: Cabin, Cantarell, "Segoe UI", Arial, sans-serif;
}
.question-tool { color: var(--green); }
.question-meta span { color: var(--green); background: var(--mint); }
.option-button {
  border-color: #cbd9d4;
  color: var(--navy);
  background: #fcfefc;
}
.option-button:hover:not(:disabled),
.option-button.selected { border-color: #76b8a6; background: var(--mint); }
.option-button.correct { border-color: #5b9981; background: #e5f5ed; }
.option-button.wrong { border-color: #c46b8e; background: #fff0f6; }
.option-button.selected .option-label { border-color: var(--green); background: var(--green); }
.option-button.wrong .option-label { border-color: var(--magenta); background: var(--magenta); }
.flag-button.flagged { border-color: #c46b8e; color: var(--magenta); background: #fff0f6; }
.debrief-wrong { border-color: #d7a4ba; }
.debrief-wrong .debrief-result { color: var(--magenta); background: #fff0f6; }
.debrief-grid span,
.coach-debrief-grid span { color: var(--green); }

.tool-dialog-header {
  border-bottom-color: var(--line);
  background: linear-gradient(110deg, #fff, var(--mint));
  box-shadow: inset 5px 0 var(--aqua);
}
.tool-tabs-list,
.standalone-tabbar { background: #e8efeb !important; }
.tool-tabs-list [data-state="active"],
.standalone-tabbar button.active { color: var(--navy) !important; background: #fff !important; box-shadow: inset 0 -3px var(--green), 0 2px 8px rgba(12, 44, 73, .06) !important; }
.decision-layout article { border-color: var(--line); }
.boundary-card { border-color: #e3b4c8 !important; background: #fff3f8 !important; }
.boundary-card .card-kicker { color: var(--magenta); }
.pearl-card { border-color: #afd2c5 !important; background: var(--mint) !important; }
.trap-card { border-color: #edc56a !important; background: #fff8df !important; }
.trap-card .card-kicker { color: #9a6500; }
.coach-layer-button.active { border-color: var(--green); background: var(--green); }
.question-lens-panel { border-color: #acd2c6; background: linear-gradient(145deg, #fff, var(--mint)); }
.lens-panel-head span,
.lens-fact b { color: var(--green); }
mark.lens-clue { background: #fff2a1; box-shadow: inset 0 -2px 0 #d39d00; }
mark.lens-tool { background: #d6f0e6; box-shadow: inset 0 -2px 0 var(--green); }
.coach-question-card h3 .anatomy-context { background: #eaf0ff; box-shadow: inset 0 -3px 0 var(--blue); }
.coach-question-card h3 .anatomy-task { background: #fff0e8; box-shadow: inset 0 -3px 0 var(--coral); }
.annotation-note.sticky {
  border-color: #e6bd3a;color: #3c320c;
  background: #fff4a8;
  font-family: "Stefanie Notes", "Segoe Print", "Bradley Hand", cursive;
}

.page-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 22px;
}
.page-hero h1 { margin: 8px 0 7px; line-height: 1.07; letter-spacing: -.04em; }
.page-hero p { max-width: 770px; margin: 0; line-height: 1.65; }
.page-badge {
  min-width: 170px;
  padding: 14px 16px;
  border: 1px solid #bcd5cc;
  border-radius: 15px;
  color: var(--green);
  background: var(--mint);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

/* Restored Glossary */
.glossary-shell {
  display: grid;
  grid-template-columns: 230px minmax(220px, .72fr) minmax(420px, 1.35fr);
  min-height: 640px;
  overflow: hidden;
}
.glossary-categories {
  padding: 20px 14px;
  border-right: 1px solid var(--line);
  background: linear-gradient(180deg, #f4faf7, var(--mint));
}
[dir="rtl"] .glossary-categories { border-right: 0; border-left: 1px solid var(--line); }
.glossary-categories > span { color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.glossary-categories h2 { margin: 7px 5px 16px; font-size: 19px; }
.glossary-category-list { display: grid; gap: 6px; }
.glossary-category-list button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 43px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: var(--ink-soft);
  background: transparent;
  text-align: start;
  font-size: 12px;
}
.glossary-category-list button b {
  min-width: 27px;
  padding: 3px 6px;
  border-radius: 8px;
  color: var(--navy);
  background: rgba(255, 255, 255, .75);
  font: 800 11px Lekton, Consolas, monospace;
  text-align: center;
}
.glossary-category-list button.active {
  border-color: #9ecabc;
  color: var(--navy);
  background: #fff;
  box-shadow: var(--shadow-soft);
  font-weight: 800;
}
.glossary-list-pane {
  border-right: 1px solid var(--line);
  background: #fff;
}
[dir="rtl"] .glossary-list-pane { border-right: 0; border-left: 1px solid var(--line); }
.glossary-search {
  padding: 14px;
  border-bottom: 1px solid var(--line);
}
.glossary-search label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 45px;
  padding: 0 12px;
  border: 1px solid #bfd2ca;
  border-radius: 12px;
  background: #f9fcfa;
}
.glossary-search input { width: 100%; border: 0; outline: 0; color: var(--navy); background: transparent; font-size: 13px; }
.glossary-search small { display: block; margin-top: 8px; color: #657a75; font-size: 10px; }
.glossary-term-list { max-height: 560px; overflow: auto; padding: 8px; }
.glossary-term-list button {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--navy);
  background: transparent;
  text-align: start;
}
.glossary-term-list button strong,
.glossary-term-list button span { display: block; }
.glossary-term-list button strong { font-size: 14px; }
.glossary-term-list button span { margin-top: 2px; color: #638079; font-size: 11px; }
.glossary-term-list button.active {
  border-color: #b4d5ca;
  background: var(--mint);
}
.glossary-detail { padding: 25px 28px 35px; overflow: auto; background: #fff; }
.glossary-kicker { color: var(--green); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.glossary-detail h2 { margin: 8px 0 2px; color: var(--navy); font-size: 34px; }
.glossary-arabic { color: var(--green); font-size: 16px; font-weight: 750; }
.glossary-definition { margin: 19px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.72; }
.memory-note {
  margin: 18px 0;
  padding: 15px 17px;
  border-left: 4px solid var(--amber);
  border-radius: 11px;
  color: #5b4511;
  background: #fff6df;
  font-size: 14px;
}
.memory-note strong { color: #765000; }
.example-label { margin: 23px 0 9px; color: var(--green); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.glossary-example {
  margin-top: 9px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fbfdfc;
}
.glossary-example > summary {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 13px;
  cursor: pointer;
  list-style: none;
}
.glossary-example > summary > b {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--navy);
  background: var(--aqua);
  font: 900 13px Lekton, Consolas, monospace;
}
.glossary-example > summary strong,
.glossary-example > summary small { display: block; }
.glossary-example > summary small { margin-top: 2px; color: #668079; font-size: 10px; }
.glossary-example > summary > span:last-child { color: var(--green); font-size: 10px; font-weight: 800; }
.glossary-case { padding: 0 16px 16px 55px; }
.glossary-case > p { color: var(--navy); font-size: 14px; line-height: 1.65; }
.glossary-answer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.glossary-answer div { padding: 11px; border-radius: 10px; color: var(--ink-soft); background: var(--mint); font-size: 12px; }

/* Restored SNLE Guide */
.guide-score-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  margin-bottom: 18px;
  padding: 17px 19px;
  border: 1px solid #d3b4c2;
  border-left: 5px solid var(--magenta);
  border-radius: 14px;
  color: #5b2d42;
  background: #fff4f8;
}
.guide-score-note .guide-number {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--magenta);
  font-size: 14px;
}
.guide-score-note h3 { margin: 0 0 4px; font-size: 17px; }
.guide-score-note p { margin: 0; font-size: 13px; line-height: 1.65; }
.guide-tabs {
  display: flex;
  gap: 7px;
  margin-bottom: 13px;
  overflow: auto;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.guide-tabs button {
  min-height: 42px;
  flex: 1 0 auto;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  color: #56716b;
  background: transparent;
  font-size: 12px;
  font-weight: 800;
}
.guide-tabs button.active { color: #fff; background: var(--green); }
.guide-panel { padding: 25px; }
.guide-panel h2 { margin: 4px 0 9px; font-size: 29px; }
.guide-panel > p { color: var(--ink-soft); font-size: 15px; line-height: 1.68; }
.guide-facts { display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; margin-top: 20px; }
.guide-facts article {
  padding: 16px 10px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--aqua);
  border-radius: 13px;
  background: #f8fcfa;
  text-align: center;
}
.guide-facts b,
.guide-facts span { display: block; }
.guide-facts b { color: var(--navy); font: 900 25px Lekton, "Droid Sans Mono", Consolas, monospace; }
.guide-facts span { margin-top: 4px; color: #647a74; font-size: 10px; }
.official-note { margin-top: 15px; padding: 12px 14px; border-radius: 10px; color: #684b00; background: #fff4d8; font-size: 12px; }
.blueprint-list { display: grid; gap: 15px; margin-top: 20px; }
.blueprint-row > div:first-child { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 800; }
.blueprint-track { height: 13px; margin-top: 7px; border-radius: 99px; background: #e5ece8; }
.blueprint-track i { display: block; height: 100%; border-radius: inherit; }
.language-list { margin-top: 19px; border-top: 1px solid var(--line); }
.language-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 15px 4px; border-bottom: 1px solid var(--line); }
.language-row strong { font-size: 14px; }
.language-row span { color: var(--ink-soft); font-size: 13px; }
.guide-day-grid,
.official-link-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin-top: 18px; }
.guide-day-grid article,
.official-link-grid a {
  padding: 17px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--aqua);
  border-radius: 14px;
  color: var(--navy);
  background: #f9fcfa;
  text-decoration: none;
}
.guide-day-grid h3 { margin: 0 0 6px; font-size: 15px; }
.guide-day-grid p,
.official-link-grid small { color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
.official-link-grid b,
.official-link-grid small { display: block; }
.official-link-grid a:hover { border-top-color: var(--blue); box-shadow: var(--shadow-soft); }

/* Restored Reset & Recharge */
.reset-context-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .45fr);
  gap: 13px;
  margin-bottom: 15px;
  padding: 20px;
  border-radius: 18px;
  color: #fff;
  background:
    radial-gradient(circle at 83% 15%, rgba(66, 234, 255, .14), transparent 30%),
    linear-gradient(130deg, var(--navy), var(--green));
  box-shadow: var(--shadow);
}
.reset-context-shell h2 { margin: 8px 0 6px; color: #fff; font-size: 25px; }
.reset-context-shell p { margin: 0; color: #d5e8e2; font-size: 13px; }
.reset-contexts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.reset-contexts button {
  min-height: 35px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 9px;
  color: #e7f6f1;
  background: rgba(255, 255, 255, .08);
  font-size: 11px;
}
.reset-contexts button.active { color: var(--navy); border-color: var(--aqua); background: var(--aqua); font-weight: 850; }
.reset-recommendation {
  padding: 16px;
  border: 1px solid rgba(151, 211, 192, .26);
  border-radius: 14px;
  background: rgba(255, 255, 255, .09);
}
.reset-recommendation span,
.reset-recommendation strong,
.reset-recommendation small { display: block; }
.reset-recommendation span { color: var(--aqua); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.reset-recommendation strong { margin-top: 7px; color: #fff; font-size: 17px; }
.reset-recommendation small { margin: 5px 0 12px; color: #d3e7e1; line-height: 1.5; }
.reset-recommendation button { min-height: 37px; padding: 0 12px; border: 0; border-radius: 9px; color: var(--navy); background: var(--aqua); font-weight: 850; }
.reset-studio { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 13px; }
.reset-stage,
.reset-guide { padding: 22px; }
.reset-stage-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.reset-stage-head h2 { margin: 6px 0; font-size: 24px; }
.reset-stage-head p { margin: 0; color: var(--ink-soft); font-size: 13px; }
.reset-duration { padding: 6px 8px; border-radius: 8px; color: var(--navy); background: var(--mint); font-size: 10px; white-space: nowrap; }
.reset-stage-body { min-height: 270px; display: grid; place-items: center; margin-top: 17px; padding: 20px; border-radius: 15px; background: linear-gradient(145deg, #f9fcfa, var(--mint)); }
.reset-orbit {
  --reset-progress: 0deg;
  width: 176px;
  height: 176px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--aqua) 0 var(--reset-progress), rgba(45, 86, 82, .12) var(--reset-progress) 360deg);
}
.reset-orbit::before { content: ""; width: 142px; height: 142px; border-radius: 50%; background: var(--navy); }
.reset-orbit > div { position: absolute; color: #fff; text-align: center; }
.reset-orbit b,
.reset-orbit span { display: block; }
.reset-orbit b { font: 900 30px Lekton, Consolas, monospace; }
.reset-orbit span { margin-top: 3px; color: var(--aqua); font-size: 11px; }
.reset-controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.reset-guide h3 { margin: 4px 0 10px; font-size: 20px; }
.reset-guide p { color: var(--ink-soft); font-size: 13px; line-height: 1.65; }
.reset-guide-grid { display: grid; gap: 8px; }
.reset-guide-grid article { padding: 12px; border-left: 4px solid var(--aqua); border-radius: 9px; background: #f8fcfa; }
.reset-guide-grid strong { display: block; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.reset-guide-grid span { color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
.reset-progress-note { margin-top: 13px; padding: 12px; border-radius: 10px; color: var(--green); background: var(--mint); font-size: 11px; }
.reset-library-heading { margin: 28px 0 12px; }
.reset-library { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.reset-card {
  --reset-accent: var(--green);
  position: relative;
  min-height: 180px;
  padding: 18px;
  overflow: hidden;
  border-top: 4px solid var(--reset-accent);
  color: var(--navy);
  text-align: start;
}
.reset-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.reset-card.active { outline: 3px solid color-mix(in srgb, var(--reset-accent) 28%, transparent); }
.reset-card-icon {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--reset-accent);
  font-size: 18px;
}
.reset-card h3 { margin: 14px 0 6px; font-size: 15px; }
.reset-card p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.reset-card small { position: absolute; left: 18px; bottom: 14px; color: var(--reset-accent); font: 800 10px Lekton, Consolas, monospace; }
.reset-checklist { width: min(650px, 100%); display: grid; gap: 8px; }
.reset-checklist button {
  display: grid;
  grid-template-columns: 31px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 51px;
  padding: 9px 12px;
  border: 1px solid #c6d8d1;
  border-radius: 11px;
  color: var(--navy);
  background: #fff;
  text-align: start;
}
.reset-checklist button b {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--navy);
  background: var(--mint);
  font: 900 12px Lekton, Consolas, monospace;
}
.reset-checklist button.done { border-color: #8bbba9; background: #eaf7f1; text-decoration: line-through; }
.reset-horizon {
  position: relative;
  width: min(600px, 100%);
  height: 190px;
  overflow: hidden;
  border-radius: 18px;
  background: linear-gradient(180deg, #42eaff 0 52%, #97d3c0 52% 72%, #2d5652 72%);
}
.reset-horizon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 43%;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--amber);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 12px rgba(255, 179, 67, .18);
}
.reset-horizon span {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 46%;
  color: var(--navy);
  font: 900 20px Lekton, Consolas, monospace;
  transform: translate(-50%, -50%);
}
.reset-complete {
  padding: 14px 16px;
  border: 1px solid #9bc4b5;
  border-radius: 11px;
  color: var(--green);
  background: #e7f6ef;
  font-weight: 800;
}

/* Reference-led contrast and component update */
.decision-primary,
.mock-builder,
.decision-pulse-card {
  position: relative;
  overflow: hidden;
  color: #fff;
}
.decision-primary::before,
.mock-builder::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #ffb343 0 25%, #42eaff 25% 50%, #4272ff 50% 75%, #ff7e42 75%);
}
.decision-primary h3,
.mock-builder h2,
.decision-pulse-card h2,
.decision-pulse-card h3,
.decision-pulse-card strong {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .2);
}
.decision-primary .card-kicker,
.mock-builder .eyebrow {
  color: #a9f6e3 !important;
}
.decision-loop { gap: 10px; }
.decision-loop span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 6px 11px 6px 7px;
  border-color: rgba(255, 255, 255, .28);
  color: #fff;
  background: rgba(255, 255, 255, .1);
}
.decision-loop span i {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: var(--navy);
  background: var(--aqua);
  font: normal 900 10px Lekton, Consolas, monospace;
}
.decision-loop b { color: #b9fff0; }
.boundary-card,
.pearl-card,
.trap-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 5px 16px rgba(12, 44, 73, .055);
}
.boundary-card::before,
.pearl-card::before,
.trap-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
}
.boundary-card::before { background: var(--magenta); }
.pearl-card::before { background: var(--green); }
.trap-card::before { background: var(--amber); }

.mode-card {
  min-height: 242px;
  padding: 25px 23px 22px;
  isolation: isolate;
  background:
    linear-gradient(155deg, color-mix(in srgb, var(--mode) 10%, white), rgba(255, 255, 255, .97) 47%) !important;
}
.mode-card::before { z-index: 2; height: 6px; }
.mode-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -42px;
  bottom: -54px;
  width: 146px;
  height: 146px;
  border-radius: 50%;
  border: 28px solid color-mix(in srgb, var(--mode) 9%, transparent);
}
.mode-card .standalone-cardicon {
  width: 50px;
  height: 50px;
  margin-top: 13px;
  border: 1px solid color-mix(in srgb, var(--mode) 25%, white);
  border-radius: 50%;
  color: var(--mode);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--mode) 15%, transparent);
}
.mode-card .standalone-cardicon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mode-step {
  position: absolute;
  top: 19px;
  left: 23px;
  color: color-mix(in srgb, var(--mode) 78%, var(--navy));
  font: 900 10px Lekton, Consolas, monospace;
  letter-spacing: .09em;
}
.mode-count {
  top: 20px;
  right: 20px;
  min-width: 42px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--mode) 24%, white);
  border-radius: 10px;
  color: color-mix(in srgb, var(--mode) 82%, var(--navy));
  background: rgba(255, 255, 255, .82);
  font-size: 18px;
  text-align: center;
}
.mode-card h2 { margin-top: 20px; color: var(--navy); font-size: 20px; }
.mode-card p { max-width: 245px; color: #36565d; font-size: 13px; }
.mode-action {
  margin-top: auto;
  padding: 8px 11px;
  border-radius: 9px;
  color: color-mix(in srgb, var(--mode) 85%, var(--navy));
  background: color-mix(in srgb, var(--mode) 10%, white);
  font-size: 11px;
  font-weight: 850;
}
.mock-symbol svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.mock-builder p { color: #d2e8e2; font-size: 12px; }
.mock-builder .mock-select {
  min-height: 43px;
  border: 1px solid rgba(151, 211, 192, .72);
  border-radius: 10px;
  color: var(--navy);
  background: #fff;
  font-size: 13px;
}
.mock-builder .primary-button {
  min-height: 43px;
  border-color: var(--aqua);
  color: var(--navy);
  background: var(--aqua);
  box-shadow: none;
}
.mock-builder .primary-button:hover { border-color: #b9ebdc; color: var(--navy); background: #b9ebdc; }

.glossary-example[open] {
  border-color: #9fcabd;
  background: #fff;
  box-shadow: 0 10px 26px rgba(12, 44, 73, .08);
}
.glossary-example[open] > summary { border-bottom: 1px solid #d9e6e1; }
.glossary-reveal-label {
  min-height: 32px;
  display: inline-flex !important;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #a9cfc2;
  border-radius: 9px;
  color: var(--navy) !important;
  background: var(--mint);
  white-space: nowrap;
}
.glossary-case { padding: 16px; }
.glossary-focus-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 11px;
  color: var(--navy);
  background: #eaf0ff;
}
.glossary-focus-note span {
  padding: 5px 8px;
  border-radius: 7px;
  color: #fff;
  background: var(--blue);
  font: 900 9px Lekton, Consolas, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.glossary-focus-note p { margin: 0; color: #294d61; font-size: 12px; line-height: 1.5; }
.glossary-component-label {
  display: block;
  margin: 13px 0 7px;
  color: var(--green);
  font: 900 9px Lekton, Consolas, monospace;
  letter-spacing: .12em;
}
.glossary-stem {
  padding: 14px 15px;
  border: 1px solid #c4d8d0;
  border-radius: 12px;
  background: #f9fcfa;
}
.glossary-stem.is-aligned {
  border-color: #86a7ff;
  background: #f1f5ff;
  box-shadow: inset 5px 0 var(--blue);
}
.glossary-stem .glossary-component-label { margin-top: 0; }
.glossary-stem p { margin: 0; color: var(--navy); font-size: 14px; line-height: 1.68; }
.glossary-stem mark { color: inherit; background: transparent; }
.glossary-stem mark.is-aligned {
  padding: 2px 3px;
  border-radius: 4px;
  background: #fff2a1;
  box-shadow: inset 0 -2px #d39d00;
}
.glossary-clue {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3px 10px;
  margin-top: 10px;
  padding: 11px 12px;
  border: 1px solid #c5ddd5;
  border-radius: 11px;
  background: var(--mint);
}
.glossary-clue > span { grid-row: 1 / 3; align-self: center; color: var(--green); font: 900 9px Lekton, Consolas, monospace; letter-spacing: .08em; }
.glossary-clue strong { font-size: 12px; }
.glossary-clue p { margin: 0; color: #3a5c58; font-size: 11px; line-height: 1.45; }
.glossary-clue.is-aligned { border-color: #d9aa2e; background: #fff7dc; box-shadow: inset 5px 0 var(--amber); }
.glossary-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.glossary-option {
  display: grid;
  grid-template-columns: 31px 1fr;
  gap: 10px;
  align-items: start;
  min-height: 66px;
  padding: 10px;
  border: 1px solid #cbdcd6;
  border-radius: 11px;
  color: var(--navy);
  background: #fff;
}
.glossary-option b {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid #b9d0c8;
  border-radius: 9px;
  color: var(--navy);
  background: var(--mint);
  font: 900 12px Lekton, Consolas, monospace;
}
.glossary-option span { color: #31535c; font-size: 12px; line-height: 1.5; }
.glossary-option.is-aligned { border-color: #7e9fff; background: #f0f4ff; box-shadow: inset 4px 0 var(--blue); }
.glossary-solution {
  margin-top: 11px;
  border: 1px solid #b8d5ca;
  border-radius: 11px;
  background: #f8fcfa;
}
.glossary-solution > summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 13px;
  cursor: pointer;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  list-style: none;
}
.glossary-solution > summary::after { content: "+"; font-size: 18px; }
.glossary-solution[open] > summary::after { content: "−"; }
.glossary-solution.is-aligned { border-color: #d9aa2e; background: #fffaf0; box-shadow: inset 5px 0 var(--amber); }
.glossary-answer { padding: 0 11px 11px; }
.glossary-answer div {
  border: 1px solid #c7ddd5;
  color: #2f5158;
  background: var(--mint);
  font-size: 12px;
  line-height: 1.55;
}
.glossary-answer .glossary-correct { border-color: #88bba8; background: #e6f6ee; }
.glossary-answer strong { color: var(--navy); }

@media (max-width: 1180px) {
  .glossary-shell { grid-template-columns: 205px minmax(210px, .75fr) 1.25fr; }
  .guide-facts { grid-template-columns: repeat(3, 1fr); }
  .reset-library { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 950px) {
  .sidebar { width: 82px; padding-inline: 11px; }
  .sidebar .brand-lockup > div:last-child,
  .sidebar nav button > span:last-child,
  .sidebar-section-label,
  .sidebar-card,
  .sidebar-footer { display: none; }
  .brand-lockup { justify-content: center; padding: 0; }
  .sidebar nav button { justify-content: center; padding: 7px; }
  .main-canvas { margin-left: 82px; }
  [dir="rtl"] .main-canvas { margin-right: 82px; }
  .glossary-shell { grid-template-columns: 180px 1fr; }
  .glossary-detail { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .reset-studio,
  .reset-context-shell { grid-template-columns: 1fr; }
  .reset-library { grid-template-columns: repeat(2, 1fr); }
  .guide-day-grid,
  .official-link-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .sidebar { position: static; width: 100%; min-height: auto; display: block; padding: 10px; }
  .sidebar .brand-lockup { display: none; }
  .sidebar nav { display: flex; gap: 7px; margin: 0; overflow-x: auto; }
  .sidebar nav button { min-width: 52px; flex: 0 0 auto; }
  .nav-icon { width: 36px; height: 36px; }
  .main-canvas,
  [dir="rtl"] .main-canvas { margin: 0; }
  .topbar { top: 0; height: 66px; }
  .topbar-context .eyebrow { display: none; }
  .page-content { width: calc(100% - 24px); padding-top: 24px; }
  .page-hero { align-items: flex-start; flex-direction: column; }
  .page-badge { width: 100%; }
  .glossary-shell { display: block; }
  .glossary-categories { border: 0; border-bottom: 1px solid var(--line); }
  .glossary-category-list { display: flex; overflow-x: auto; }
  .glossary-category-list button { min-width: 155px; }
  .glossary-term-list { max-height: 280px; }
  .glossary-list-pane { border: 0; border-bottom: 1px solid var(--line); }
  .glossary-detail { padding: 20px 16px 28px; }
  .glossary-answer,
  .glossary-options { grid-template-columns: 1fr; }
  .glossary-focus-note,
  .glossary-clue { grid-template-columns: 1fr; }
  .glossary-clue > span { grid-row: auto; }
  .glossary-example > summary { grid-template-columns: 32px 1fr; }
  .glossary-reveal-label { grid-column: 2; justify-self: start; }
  .glossary-case { padding-left: 16px; }
  .guide-facts,
  .guide-day-grid,
  .official-link-grid,
  .reset-library { grid-template-columns: 1fr; }
  .language-row { grid-template-columns: 1fr; gap: 5px; }
  .reset-stage-head { flex-direction: column; }
}


/* ---- Glossary highlight lenses ------------------------------------ */
.gl-controls{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.gl-control{padding:7px 11px;border:1px solid #cfdcd7;border-radius:9px;background:#fff;color:#3d5c63;
  font-size:11px;font-weight:800;letter-spacing:.01em;transition:.15s;cursor:pointer}
.gl-control:hover{border-color:#8fc0b6;background:#f2faf7}
.gl-control.on{color:#fff;border-color:transparent}
.gl-control-stem.on{background:#2d5652}
.gl-control-lead.on{background:#1f6f8b}
.gl-control-clue.on{background:#8a5a00}
.gl-control-key.on{background:#0a6b4c}
.gl-control-distractors.on{background:#85144b}
.gl-control-rationale.on{background:#4a3d8f}
.gl-control-all,.gl-control-clear{margin-left:auto;background:#f4f7f6}
.gl-control-clear{margin-left:0}
.gl-legend{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;padding:9px 11px;
  border:1px dashed #cfdcd7;border-radius:10px;background:#fbfdfc}
.gl-legend-item{display:flex;align-items:center;gap:7px;font-size:11px;color:#5c757d;line-height:1.45}
.gl-legend-item i{width:11px;height:11px;flex:0 0 auto;border-radius:3px}
.gl-legend-stem i{background:#bfe0dd}.gl-legend-lead i{background:#bfe0f2}
.gl-legend-clue i{background:#ffe3a8}.gl-legend-key i{background:#b7e6cf}
.gl-legend-distractors i{background:#f6c6d8}.gl-legend-rationale i{background:#d9d3f5}
.gl-mark{padding:1px 3px;border-radius:4px;background:transparent;color:inherit;box-decoration-break:clone;
  -webkit-box-decoration-break:clone}
.gl-mark-stem{background:#d7ede9;box-shadow:inset 0 -2px 0 #2d5652}
.gl-mark-lead{background:#d5e9f5;box-shadow:inset 0 -2px 0 #1f6f8b;font-weight:700}
.gl-mark-clue{background:#ffe9b8;box-shadow:inset 0 -2px 0 #8a5a00;font-weight:800}
.gl-mark-key{background:#d6f2e4;box-shadow:inset 0 -2px 0 #0a6b4c}
.gl-mark-distractor{background:#fadfe9;box-shadow:inset 0 -2px 0 #85144b}
.gl-mark-rationale{background:#e6e1fb;box-shadow:inset 0 -2px 0 #4a3d8f}
.gl-tag{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:5px;font-style:normal;
  font-size:9px;font-weight:900;letter-spacing:.08em;vertical-align:middle}
.gl-tag-key{background:#0a6b4c;color:#fff}
.gl-tag-distractor{background:#85144b;color:#fff}
.glossary-option.gl-lit-key{border-color:#7fc4a6;background:#f3fbf7}
.glossary-option.gl-lit-distractor{border-color:#e3a7c0;background:#fdf5f8}
@media(max-width:700px){.gl-control{font-size:10px;padding:6px 9px}.gl-control-all,.gl-control-clear{margin-left:0}}

/* ---- Native select popup readability ------------------------------ */
.mock-select,.group-select{color:#11333a !important;background:#ffffff !important;
  border-color:rgba(151,211,192,.8) !important;-webkit-appearance:menulist;appearance:menulist}
.mock-select option,.group-select option,select option{color:#11333a !important;background:#ffffff !important}
.mock-select:focus,.group-select:focus{outline:3px solid rgba(20,117,122,.45);outline-offset:2px}

/* ---- Reset stage geometry ----------------------------------------- */
.reset-orbit{position:relative;margin-inline:auto}
.reset-orbit>div{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:100%;display:grid;place-items:center;text-align:center;color:#fff}
.reset-stage-body{display:flex;flex-direction:column;align-items:center;justify-content:center}
.reset-live-strip{width:min(600px,100%);margin:14px auto 0;padding:12px 16px;border-radius:12px;
  border:1px solid #bfe0dd;background:#f1faf8;color:#11333a;text-align:center;font-size:13px;line-height:1.55}
.reset-live-strip b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:#0f6268;margin-bottom:4px}
.reset-horizon{margin-inline:auto}
.reset-complete{width:min(600px,100%);margin-inline:auto;text-align:center}
.reset-eye-wrap{display:flex;flex-direction:column;align-items:center;width:100%}
/* step photographs restored from the original build */
.reset-step-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;display:block;background:#e6efec}
.reset-checklist{width:min(920px,100%)}
.reset-checklist button.has-photo{grid-template-columns:31px 168px minmax(0,1fr);align-items:start;
  gap:14px;padding:13px 15px;min-height:0}
.reset-step-media{margin:0;width:168px}
.reset-step-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px;display:block;background:#e6efec}
.reset-step-copy{min-width:0;display:block}
.reset-step-copy strong{display:block;font-size:14.5px;line-height:1.35;letter-spacing:-.012em;margin-bottom:5px}
.reset-step-copy small{display:block;font-size:12.5px;line-height:1.55;color:#33525a;margin-bottom:6px}
.reset-step-copy em{display:block;font-style:normal;font-size:11.5px;line-height:1.5;color:#5c757d}
.reset-checklist button.done .reset-step-copy{text-decoration:none;opacity:.72}
.reset-checklist button.done{text-decoration:none}
.reset-checklist button.done .reset-step-copy strong{text-decoration:line-through}
@media(max-width:760px){
  .reset-checklist button.has-photo{grid-template-columns:31px minmax(0,1fr)}
  .reset-step-media{width:100%;grid-column:2}
  .reset-step-copy{grid-column:2}
}

/* ---- HYP + difficulty tokens (reference-card palette) -------------- */
.sig{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;
  font-size:calc(11px * var(--teach-scale,1));font-weight:800;letter-spacing:.01em;white-space:nowrap;
  border:1px solid transparent}
.sig i{font-style:normal;font-size:1.05em;line-height:1}
.sig-hyp5{color:#85144b;background:#fdeff4;border-color:#f0c3d5}
.sig-hyp4{color:#8a5a00;background:#fff7e6;border-color:#f2d9a6}
.sig-hyp3{color:#0a6b4c;background:#e9f7f1;border-color:#b6dfcd}
.sig-hard{color:#85144b;background:#fdeff4;border-color:#f0c3d5}
.sig-medium{color:#8a5a00;background:#fff7e6;border-color:#f2d9a6}
.sig-easy{color:#0a6b4c;background:#e9f7f1;border-color:#b6dfcd}
.sig-domain{color:#2d5652;background:#eef5f3;border-color:#cfdcd7}
.sig-judgment{color:#1f4f6b;background:#eef4f8;border-color:#cbdde8}
.hyp-scale{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}

/* ---- Coach practice: wider canvas, larger type, badges lifted ------ */
.standalone-modal{width:min(1460px,calc(100vw - 20px)) !important}
.coach-workspace{max-width:1400px}
.standalone-modal .standalone-tabcontent{padding-left:18px;padding-right:18px}
.coach-topline{flex-wrap:wrap;align-items:flex-start}
.coach-topline .coach-meta{width:100%;order:3;margin-top:10px}
.coach-question-card{padding:calc(24px * var(--teach-scale)) calc(26px * var(--teach-scale))}
.coach-question-card h3{margin:2px 0 22px;font-size:calc(32.4px * var(--teach-scale));line-height:1.34}
.coach-option{font-size:calc(19.5px * var(--teach-scale));line-height:1.5;padding:16px 18px;
  grid-template-columns:44px 1fr auto;gap:15px;align-items:flex-start}
.coach-option b:first-child{width:40px;height:40px;font-size:15px;margin-top:1px}
.coach-option>span{padding-top:6px}
@media(max-width:1100px){
  .coach-question-card h3{font-size:calc(25px * var(--teach-scale))}
  .coach-option{font-size:calc(16px * var(--teach-scale))}
}


/* ---- Exam-day planner --------------------------------------------- */
.plan-progress{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 24px}
.plan-progress-bar{flex:1;min-width:160px;height:9px;border-radius:99px;background:#dce4df;overflow:hidden}
.plan-progress-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2d5652,#64c9b5);transition:width .3s}
.plan-progress span{font-size:12px;font-weight:800;color:#5c757d;white-space:nowrap}
.plan-h{margin:30px 0 13px;font-size:17px;letter-spacing:-.02em}
.plan-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px}
.plan-focus{position:relative;padding:16px 17px 16px 19px;border:1px solid #dde8e6;border-radius:14px;background:#fff}
.plan-focus::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:4px}
.plan-risk-high::before{background:#85144b}
.plan-risk-medium::before{background:#8a5a00}
.plan-risk-low::before{background:#0a6b4c}
.plan-focus h3{margin:6px 0 7px;font-size:15px;letter-spacing:-.015em}
.plan-focus .guide-number{font-size:10px;font-weight:900;letter-spacing:.14em;color:#8aa1a6}
.plan-why{margin:0 0 9px;font-size:12.5px;line-height:1.6;color:#5c757d}
.plan-do{margin:0;padding:9px 11px;border-radius:9px;background:#f1faf8;font-size:12.5px;line-height:1.55;color:#11333a}
.plan-do b{display:block;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:#0f6268;margin-bottom:3px}
.plan-pace{width:100%;border-collapse:collapse;margin:0 0 6px;font-size:13px}
.plan-pace th{text-align:left;padding:8px 10px;border-bottom:1px solid #dde8e6;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:#5c757d}
.plan-pace td{padding:9px 10px;border-bottom:1px solid #eef4f3;line-height:1.5;color:#33525a}
.plan-pace tr:last-child td{border-bottom:0}
.plan-pace-clock{font-weight:800;color:#11333a;white-space:nowrap}
.plan-pace-item{font-weight:800;color:#0f6268;white-space:nowrap}
.plan-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.plan-field{display:flex;flex-direction:column;gap:5px}
.plan-field span{font-size:11px;font-weight:800;letter-spacing:.02em;color:#3d5c63}
.plan-field input{padding:10px 12px;border:1px solid #cfdcd7;border-radius:10px;background:#fff;
  color:#11333a;font-size:13.5px;width:100%}
.plan-field input:focus{outline:3px solid rgba(20,117,122,.35);outline-offset:1px;border-color:#8fc0b6}
.plan-alert{margin:0 0 14px;padding:11px 14px;border:1px solid #f2d9a6;border-radius:11px;
  background:#fff7e6;color:#6d4700;font-size:13px;line-height:1.55}
.plan-note{margin-top:20px;padding:12px 15px;border:1px dashed #cfdcd7;border-radius:11px;
  background:#fbfdfc;font-size:12px;line-height:1.6;color:#5c757d}
.plan-note b{color:#11333a}
@media print{
  .rail,.topbar,.guide-tabs,.plan-progress button,.page-hero,.guide-score-note{display:none !important}
  .plan-focus,.plan-field,.plan-pace{break-inside:avoid}
  body{background:#fff}
}

/* ================================================================
   SNLE Clinical Learning Studio — Clinical UI System v5
   Reference-led refinement: Aqua / Mint / Navy / Green + Plum,
   Orange and Yellow semantic accents. Additive visual layer only;
   learning content, questions, poster assets and app logic unchanged.
   ================================================================ */
:root {
  /* Reference palette */
  --snle-navy: #0c2c47;
  --snle-green: #2d5652;
  --snle-aqua: #97d3c0;
  --snle-mint: #e4f2ea;
  --snle-plum: #85144b;
  --snle-orange: #ff851b;
  --snle-yellow: #ffdc00;
  --snle-black: #111111;
  --snle-white: #ffffff;

  /* Semantic design tokens */
  --navy: var(--snle-navy);
  --navy-2: #153d4e;
  --green: var(--snle-green);
  --aqua: var(--snle-aqua);
  --mint: var(--snle-mint);
  --teal: var(--snle-green);
  --teal-soft: var(--snle-mint);
  --magenta: var(--snle-plum);
  --red: var(--snle-plum);
  --coral: var(--snle-orange);
  --coral-soft: #fff1e7;
  --gold: #b77400;
  --gold-soft: #fff7d6;
  --amber: var(--snle-orange);
  --yellow: var(--snle-yellow);
  --blue: #3d7872;
  --violet: var(--snle-plum);
  --violet-soft: #faedf3;

  --ink: #102d3c;
  --ink-strong: var(--snle-black);
  --ink-soft: #506a6b;
  --paper: #f4f8f6;
  --paper-deep: #eaf2ee;
  --white: var(--snle-white);
  --line: #c9dbd4;
  --line-strong: #abc8be;

  --surface-1: rgba(255, 255, 255, .96);
  --surface-2: rgba(228, 242, 234, .64);
  --shadow-xs: 0 2px 8px rgba(12, 44, 71, .055);
  --shadow-sm: 0 7px 20px rgba(12, 44, 71, .075);
  --shadow-md: 0 14px 38px rgba(12, 44, 71, .105);
  --shadow-lg: 0 28px 74px rgba(12, 44, 71, .18);
  --shadow: var(--shadow-md);
  --shadow-soft: var(--shadow-sm);

  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 24px;
}

/* Typography: clinical readability first, editorial character second. */
body,
button,
input,
select,
textarea {
  font-family: Cabin, Cantarell, "Segoe UI Variable", "Segoe UI", Aptos, Arial, sans-serif;
  font-feature-settings: "kern" 1, "liga" 1;
}
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 100% 0%, rgba(151, 211, 192, .24), transparent 31rem),
    radial-gradient(circle at 8% 92%, rgba(228, 242, 234, .72), transparent 28rem),
    var(--paper);
  letter-spacing: .002em;
}
[dir="rtl"] body,
[dir="rtl"] button,
[dir="rtl"] input,
[dir="rtl"] select,
[dir="rtl"] textarea {
  font-family: Tahoma, "Noto Sans Arabic", Arial, sans-serif;
}

.editorial-title,
.hero-copy h1,
.tools-intro h1,
.practice-heading h1,
.progress-heading h1,
.page-hero h1,
.glossary-detail h2,
.guide-panel h2 {
  font-family: Merriweather, "Crimson Text", Cardo, Georgia, serif;
  color: var(--navy);
  font-weight: 700;
  letter-spacing: -.035em;
}
[dir="rtl"] .editorial-title,
[dir="rtl"] .hero-copy h1,
[dir="rtl"] .tools-intro h1,
[dir="rtl"] .practice-heading h1,
[dir="rtl"] .progress-heading h1,
[dir="rtl"] .page-hero h1,
[dir="rtl"] .glossary-detail h2,
[dir="rtl"] .guide-panel h2 {
  font-family: Tahoma, "Noto Sans Arabic", Arial, sans-serif;
  letter-spacing: 0;
}

.eyebrow,
.journey-number,
.mode-count,
.question-meta,
.tool-card-footer,
.guide-number,
.fact-number,
.question-code,
.reset-duration,
.sidebar-section-label,
.hyp-pill {
  font-family: Lekton, "Droid Sans Mono", "Space Mono", Consolas, monospace;
  font-variant-numeric: tabular-nums lining-nums;
}

.progress-kpis article > strong,
.snapshot-stats strong,
.pulse-orbit strong,
.result-orbit strong,
.guide-facts b,
.reset-orbit b {
  font-family: Glory, "Arial Narrow", "Segoe UI", Arial, sans-serif;
  font-variant-numeric: tabular-nums lining-nums;
  font-weight: 800;
  letter-spacing: -.025em;
}

p,
.tool-card p,
.mode-card p,
.guide-panel > p,
.glossary-definition,
.coach-question-card h3,
.option-button {
  text-wrap: pretty;
}

::selection { color: var(--snle-black); background: var(--snle-yellow); }
:focus-visible {
  outline: 3px solid rgba(133, 20, 75, .42);
  outline-offset: 3px;
}

/* Foundation surfaces */
.topbar {
  border-bottom: 1px solid rgba(45, 86, 82, .14);
  background: rgba(244, 248, 246, .91);
  box-shadow: 0 1px 0 rgba(255,255,255,.8);
}
.page-content { padding-top: 42px; }

.sidebar {
  background:
    radial-gradient(circle at 8% 7%, rgba(151, 211, 192, .18), transparent 15rem),
    linear-gradient(174deg, var(--snle-navy) 0%, #153e4d 58%, var(--snle-green) 100%);
  box-shadow: 8px 0 34px rgba(12, 44, 71, .17);
}
.brand-mark {
  color: var(--snle-navy);
  background: linear-gradient(145deg, #c9eee3, var(--snle-aqua));
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 8px 24px rgba(151, 211, 192, .21);
}
.sidebar nav button {
  min-height: 50px;
  border-radius: 14px;
  font-weight: 680;
}
.sidebar nav button.active {
  border-color: rgba(151, 211, 192, .34);
  background: linear-gradient(90deg, rgba(151, 211, 192, .22), rgba(255,255,255,.055));
  box-shadow: inset 3px 0 var(--snle-aqua), 0 5px 16px rgba(0,0,0,.075);
}
[dir="rtl"] .sidebar nav button.active {
  box-shadow: inset -3px 0 var(--snle-aqua), 0 5px 16px rgba(0,0,0,.075);
}
.nav-icon {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(151, 211, 192, .2);
  border-radius: 50%;
  color: var(--snle-aqua);
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.sidebar nav button.active .nav-icon {
  color: var(--snle-navy);
  border-color: var(--snle-aqua);
  background: var(--snle-aqua);
  box-shadow: 0 5px 14px rgba(0,0,0,.12);
}
.sidebar strong,
.sidebar h1,
.sidebar h2,
.sidebar h3,
.decision-pulse-card strong,
.decision-pulse-card h2,
.mock-builder strong,
.decision-primary strong,
.reset-context-shell strong,
.reset-context-shell h2 { color: #fff; }

.language-button,
.icon-button {
  border-color: #bed4cc;
  border-radius: 12px;
  color: var(--navy);
  background: rgba(255,255,255,.91);
  box-shadow: var(--shadow-xs);
}
.language-button:hover,
.icon-button:hover { border-color: var(--aqua); background: #fff; }
.avatar {
  border-radius: 50%;
  background: linear-gradient(145deg, var(--snle-plum), #a82762);
  box-shadow: 0 6px 16px rgba(133,20,75,.18);
}

/* Buttons use green for action; warm accents are reserved for attention. */
.primary-button,
.coach-actions .primary-button,
.reset-controls .primary-button {
  min-height: 44px;
  border-radius: 12px;
  border-color: var(--snle-green);
  color: #fff;
  background: var(--snle-green);
  box-shadow: 0 7px 18px rgba(45, 86, 82, .18);
}
.primary-button:hover { border-color: #234744; background: #234744; }
.secondary-button {
  min-height: 44px;
  border-color: #bcd1c9;
  border-radius: 12px;
  color: var(--navy);
  background: #fff;
  box-shadow: var(--shadow-xs);
}
.text-button { color: var(--snle-green); }

/* Hero & high-level orientation */
.status-pill {
  border-color: #b8d7cc;
  color: var(--snle-green);
  background: var(--snle-mint);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.hero-copy h1 em {
  color: var(--snle-green);
  font-family: Merriweather, "Crimson Text", Cardo, Georgia, serif;
  font-style: italic;
}
.decision-pulse-card,
.mock-builder,
.decision-primary {
  border-color: rgba(151, 211, 192, .16) !important;
  background:
    radial-gradient(circle at 84% 12%, rgba(151, 211, 192, .24), transparent 31%),
    linear-gradient(145deg, var(--snle-navy), var(--snle-green)) !important;
  box-shadow: 0 24px 62px rgba(12, 44, 71, .19) !important;
}
.pulse-orbit,
.result-orbit {
  background: conic-gradient(var(--snle-aqua) 0 var(--score), rgba(255,255,255,.12) var(--score) 360deg);
}
.pulse-orbit::before,
.result-orbit::before { background: #143847; }

/* Card system: restrained elevation + semantic accent. */
.journey-card,
.tool-card,
.mode-card,
.progress-kpis article,
.domain-panel,
.question-card,
.debrief,
.guide-panel,
.glossary-shell,
.reset-card,
.reset-stage,
.reset-guide,
.coach-question-card,
.coach-result,
.coach-launch,
.question-lens-panel {
  border-color: var(--line);
  background: var(--surface-1);
  box-shadow: var(--shadow-sm);
}
.journey-card,
.tool-card,
.mode-card,
.progress-kpis article,
.reset-card { border-radius: 18px; }
.journey-card:hover:not(:disabled),
.tool-card:hover,
.mode-card:hover:not(:disabled),
.reset-card:hover {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.journey-card::before,
.mode-card::before { height: 4px; }

.journey-number,
.guide-number,
.fact-number {
  min-width: 30px;
  min-height: 24px;
  display: inline-grid;
  place-items: center;
  padding: 3px 7px;
  border: 1px solid #c2d9d0;
  border-radius: 999px;
  color: var(--snle-navy);
  background: var(--snle-mint);
  font-weight: 900;
}

.standalone-cardicon,
.reset-card-icon,
.tool-open,
.coach-icon {
  border-radius: 50%;
  box-shadow: 0 6px 14px rgba(12,44,71,.11), inset 0 1px 0 rgba(255,255,255,.45);
}
.standalone-cardicon {
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--tone, var(--snle-green)) 24%, white);
}
.tool-open {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(12,44,71,.08);
  color: var(--snle-navy);
  background: rgba(255,255,255,.94);
}
.tool-card:hover .tool-open { background: var(--snle-aqua); }

.tone-teal,
.mode-teal { --tone: var(--snle-green); --mode: var(--snle-green); }
.tone-coral,
.mode-coral { --tone: var(--snle-orange); --mode: var(--snle-orange); }
.tone-violet,
.mode-violet { --tone: var(--snle-plum); --mode: var(--snle-plum); }
.tone-gold,
.mode-gold { --tone: #c98200; --mode: #c98200; }
.tone-navy { --tone: var(--snle-navy); }

.tool-group {
  border: 1px solid rgba(255,255,255,.14);
  color: #fff;
  background: rgba(12,44,71,.90);
}
.tool-card h3 { color: var(--snle-navy); font-weight: 760; }
.tool-card p { color: var(--ink-soft); }
.tool-card-footer { color: #5a736f; }

/* High-yield attention is orange; clue/highlight is yellow. */
.hyp-pill {
  border: 1px solid #e87300;
  color: var(--snle-black);
  background: var(--snle-orange);
  box-shadow: 0 3px 10px rgba(255,133,27,.16);
  font-weight: 900;
}
mark.lens-clue {
  color: var(--snle-black);
  background: #fff29a;
  box-shadow: inset 0 -2px 0 #c79b00;
}
mark.lens-tool {
  color: #153d36;
  background: #d7efe6;
  box-shadow: inset 0 -2px 0 var(--snle-green);
}
.annotation-note.sticky {
  border-color: #d5b200;
  color: #3a3300;
  background: #fff3a6;
}

/* Practice / question player */
.question-card {
  border-radius: 22px;
  border-top: 4px solid var(--snle-aqua);
  box-shadow: 0 15px 42px rgba(12,44,71,.085);
}
.question-card h1,
.coach-question-card h3 { color: var(--snle-navy); }
.question-progress [data-slot="progress-indicator"] {
  background: linear-gradient(90deg, var(--snle-green), var(--snle-aqua)) !important;
}
.option-button,
.coach-option {
  border-color: #d1ddd8;
  background: #fbfdfc;
  box-shadow: 0 1px 0 rgba(255,255,255,.8);
}
.option-button:hover:not(:disabled),
.coach-option:hover:not(:disabled) {
  border-color: #8cbcac;
  background: #f1f8f5;
}
.option-label,
.coach-option b:first-child {
  border-radius: 50%;
  color: var(--snle-navy);
  background: #fff;
  font-family: Lekton, Consolas, monospace;
  font-weight: 900;
}
.option-button.selected,
.coach-option.selected {
  border-color: #78ad9c;
  background: var(--snle-mint);
}
.option-button.selected .option-label,
.coach-option.selected b:first-child {
  border-color: var(--snle-green);
  color: #fff;
  background: var(--snle-green);
}
.option-button.correct,
.coach-option.correct {
  border-color: #6ea58f;
  background: #e7f5ee;
}
.option-button.wrong,
.coach-option.wrong {
  border-color: #c989a5;
  background: #fff1f6;
}
.option-button.wrong .option-label {
  border-color: var(--snle-plum);
  color: #fff;
  background: var(--snle-plum);
}
.option-button.wrong > svg { color: var(--snle-plum); }
.flag-button.flagged {
  border-color: #c17d9d;
  color: var(--snle-plum);
  background: #fff0f6;
}

.debrief { overflow: hidden; }
.debrief-result,
.coach-debrief-head {
  color: var(--snle-green);
  background: var(--snle-mint);
}
.debrief-wrong,
.coach-debrief-head.wrong { border-color: #d7a4ba; }
.debrief-wrong .debrief-result,
.coach-debrief-head.wrong {
  color: var(--snle-plum);
  background: #fff0f6;
}
.debrief-grid span,
.coach-debrief-grid span { color: var(--snle-green); }

/* Teaching layers map to consistent clinical semantics. */
.coach-layer-button { border-radius: 999px; }
.coach-layer-button.active {
  border-color: var(--snle-green);
  color: #fff;
  background: var(--snle-green);
}
.coach-question-card h3 .anatomy-context {
  color: var(--snle-navy);
  background: #e8f5f1;
  box-shadow: inset 0 -3px 0 var(--snle-aqua);
}
.coach-question-card h3 .anatomy-task {
  color: #5b3000;
  background: #fff0e4;
  box-shadow: inset 0 -3px 0 var(--snle-orange);
}
.boundary-card {
  border-color: #dfb2c6 !important;
  border-left: 5px solid var(--snle-plum) !important;
  background: #fff3f8 !important;
}
.boundary-card .card-kicker { color: var(--snle-plum); }
.pearl-card {
  border-color: #a9cdbf !important;
  border-left: 5px solid var(--snle-green) !important;
  background: var(--snle-mint) !important;
}
.trap-card {
  border-color: #f0c277 !important;
  border-left: 5px solid var(--snle-orange) !important;
  background: #fff7df !important;
}
.trap-card .card-kicker { color: #925000; }

/* Progress: large digits, small color doses. */
.progress-kpis article {
  position: relative;
  overflow: hidden;
  border-top: 4px solid var(--snle-aqua);
}
.progress-kpis article:nth-child(2) { border-top-color: var(--snle-green); }
.progress-kpis article:nth-child(3) { border-top-color: var(--snle-orange); }
.progress-kpis article:nth-child(4) { border-top-color: var(--snle-plum); }
.progress-kpis article > svg {
  width: 38px;
  height: 38px;
  padding: 9px;
  border-radius: 50%;
  color: var(--snle-green);
  background: var(--snle-mint);
}
.progress-kpis article > strong {
  color: var(--snle-navy);
  font-size: 38px;
}
.snapshot-stats strong { color: var(--snle-green); }
.domain-row [data-slot="progress-indicator"] { background: var(--snle-green) !important; }

/* Popups / learning dialogs: calm shell with a strong orientation edge. */
[data-slot="dialog-overlay"] {
  background: rgba(6, 26, 38, .73) !important;
  backdrop-filter: blur(8px) saturate(.9);
}
.tool-dialog,
.standalone-modal {
  border: 1px solid rgba(151,211,192,.58) !important;
  border-radius: 24px !important;
  background: #f7faf8 !important;
  box-shadow: 0 38px 110px rgba(4,24,35,.38) !important;
}
.tool-dialog::before,
.standalone-modal::before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--snle-aqua), var(--snle-green), var(--snle-plum));
}
.tool-dialog-header {
  border-bottom-color: var(--line);
  background: linear-gradient(112deg, #fff 0%, #fff 55%, var(--snle-mint) 100%);
  box-shadow: inset 5px 0 var(--snle-aqua);
}
[dir="rtl"] .tool-dialog-header { box-shadow: inset -5px 0 var(--snle-aqua); }
.dialog-title-row [data-slot="dialog-title"] {
  color: var(--snle-navy);
  font-family: Merriweather, "Crimson Text", Cardo, Georgia, serif;
  font-weight: 700;
}
[dir="rtl"] .dialog-title-row [data-slot="dialog-title"] {
  font-family: Tahoma, "Noto Sans Arabic", Arial, sans-serif;
}
.tool-dialog > button[data-slot="dialog-close"] {
  border: 1px solid #c9dbd4;
  border-radius: 50%;
  color: var(--snle-navy);
  background: #fff;
  box-shadow: var(--shadow-xs);
}
.tool-tabs-list,
.standalone-tabbar {
  border: 1px solid #d4e0dc !important;
  border-radius: 13px !important;
  background: #eaf2ee !important;
}
.tool-tabs-list [data-state="active"],
.standalone-tabbar button.active {
  color: var(--snle-navy) !important;
  background: #fff !important;
  box-shadow: inset 0 -3px var(--snle-green), 0 2px 8px rgba(12,44,71,.06) !important;
}

/* Glossary: reference-book feel without reducing scan speed. */
.glossary-shell {
  border-radius: 22px;
  overflow: hidden;
}
.glossary-categories { background: #f2f8f5; }
.glossary-category-list button { border-radius: 12px; }
.glossary-category-list button.active {
  border-color: #aecfc3;
  color: var(--snle-navy);
  background: var(--snle-mint);
  box-shadow: inset 4px 0 var(--snle-green);
}
[dir="rtl"] .glossary-category-list button.active { box-shadow: inset -4px 0 var(--snle-green); }
.glossary-category-list button b {
  border-radius: 999px;
  color: var(--snle-navy);
  background: var(--snle-aqua);
}
.glossary-search label {
  border-color: #bdd4cb;
  background: #fff;
  box-shadow: var(--shadow-xs);
}
.glossary-term-list button { border-radius: 11px; }
.glossary-term-list button.active {
  border-color: #acd0c2;
  background: var(--snle-mint);
  box-shadow: inset 4px 0 var(--snle-green);
}
[dir="rtl"] .glossary-term-list button.active { box-shadow: inset -4px 0 var(--snle-green); }
.glossary-detail { background: #fff; }
.glossary-kicker,
.glossary-arabic { color: var(--snle-green); }
.glossary-example > summary > b {
  color: var(--snle-navy);
  background: var(--snle-aqua);
  border-radius: 50%;
}

/* Guide / information architecture */
.guide-score-note {
  border-color: #ddb5c7;
  border-left-color: var(--snle-plum);
  background: #fff4f8;
}
.guide-score-note .guide-number {
  color: #fff;
  border-color: var(--snle-plum);
  background: var(--snle-plum);
}
.guide-tabs { background: #eaf2ee; }
.guide-tabs button { border-radius: 999px; }
.guide-tabs button.active { color: #fff; background: var(--snle-green); }
.guide-facts article,
.guide-day-grid article,
.official-link-grid a {
  border-color: var(--line);
  border-top: 4px solid var(--snle-aqua);
  background: #fff;
  box-shadow: var(--shadow-xs);
}
.official-link-grid a:hover { border-top-color: var(--snle-plum); box-shadow: var(--shadow-sm); }

/* Reset & Recharge: calm, structured, timer-forward. */
.reset-context-shell {
  background:
    radial-gradient(circle at 84% 12%, rgba(151,211,192,.18), transparent 30%),
    linear-gradient(132deg, var(--snle-navy), var(--snle-green));
}
.reset-contexts button { border-radius: 999px; }
.reset-contexts button.active {
  color: var(--snle-navy);
  border-color: var(--snle-aqua);
  background: var(--snle-aqua);
}
.reset-recommendation {
  border-color: rgba(151,211,192,.30);
  background: rgba(255,255,255,.09);
}
.reset-recommendation span { color: var(--snle-aqua); }
.reset-recommendation button {
  color: var(--snle-black);
  background: var(--snle-aqua);
}
.reset-duration {
  border: 1px solid #bfd7ce;
  color: var(--snle-navy);
  background: var(--snle-mint);
}
.reset-stage-body {
  border: 1px solid #d3e3dd;
  background: linear-gradient(145deg, #fbfdfc, var(--snle-mint));
}
.reset-orbit {
  background: conic-gradient(var(--snle-aqua) 0 var(--reset-progress), rgba(45,86,82,.12) var(--reset-progress) 360deg);
  box-shadow: 0 15px 34px rgba(12,44,71,.12);
}
.reset-orbit::before { background: var(--snle-navy); }
.reset-orbit b { color: #fff; font-size: 32px; }
.reset-orbit span { color: var(--snle-aqua); }
.reset-guide-grid article {
  border-left-color: var(--snle-aqua);
  background: #f8fcfa;
}
[dir="rtl"] .reset-guide-grid article {
  border-left: 0;
  border-right: 4px solid var(--snle-aqua);
}
.reset-card { border-top-color: var(--reset-accent); }
.reset-card-icon {
  width: 44px;
  height: 44px;
  color: #fff;
  background: var(--reset-accent);
}
.reset-progress-note {
  color: var(--snle-green);
  background: var(--snle-mint);
}
.integrity-note {
  border-color: #b8d5cb;
  color: var(--snle-green);
  background: var(--snle-mint);
}

/* Inputs / selects */
.search-box,
.group-select,
.plan-field input {
  border-color: #c4d7d0 !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: var(--shadow-xs);
}
.search-box:focus-within,
.plan-field input:focus {
  border-color: var(--snle-green) !important;
  box-shadow: 0 0 0 3px rgba(151,211,192,.34) !important;
}

/* Responsive polish */
@media (max-width: 720px) {
  .page-content { width: min(100% - 28px, 1360px); }
  .hero-copy h1,
  .tools-intro h1,
  .practice-heading h1,
  .progress-heading h1,
  .page-hero h1 { letter-spacing: -.025em; }
  .journey-card,
  .tool-card,
  .mode-card,
  .progress-kpis article,
  .question-card,
  .reset-card { border-radius: 16px; }
  .tool-dialog,
  .standalone-modal { border-radius: 18px !important; }
  .tool-dialog-header { box-shadow: inset 4px 0 var(--snle-aqua); }
  [dir="rtl"] .tool-dialog-header { box-shadow: inset -4px 0 var(--snle-aqua); }
}

/* Motion remains subtle and respects reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}



/* ================================================================
   SNLE Clinical UI v6 — requested popup, rail, HYP and guide upgrades
   ================================================================ */

/* Popup navigation: Droid Sans Mono intent, white on clinical navy. */
.standalone-tabbar{
  background:#0c2c47 !important;
  border-bottom-color:#0c2c47 !important;
  box-shadow:inset 0 -1px rgba(255,255,255,.08);
}
.standalone-tabbar button{
  font-family:"Droid Sans Mono","Lekton","Space Mono",Consolas,monospace !important;
  color:rgba(255,255,255,.78) !important;
  background:transparent !important;
  border:1px solid transparent !important;
  letter-spacing:.01em;
}
.standalone-tabbar button:hover{color:#fff !important;background:rgba(255,255,255,.09) !important}
.standalone-tabbar button.active{
  color:#fff !important;
  background:#163e4c !important;
  border-color:rgba(151,211,192,.78) !important;
  box-shadow:inset 0 -3px #97d3c0,0 3px 10px rgba(0,0,0,.14) !important;
}

/* Focus = true edge-to-edge teaching workspace inside the browser viewport. */
.standalone-modal.focus{
  position:fixed !important; inset:0 !important; z-index:95 !important;
  width:100vw !important; height:100dvh !important; max-width:none !important; max-height:none !important;
  border:0 !important; border-radius:0 !important;
}
.standalone-modal.focus .standalone-tabcontent{padding-inline:clamp(18px,2.2vw,38px)}

/* Coach top metadata now shares the same horizontal teaching-lens line. */
.coach-topline{
  display:grid !important;
  grid-template-columns:minmax(225px,.65fr) auto minmax(520px,1fr) !important;
  gap:14px 18px !important;
  align-items:center !important;
  flex-wrap:initial !important;
}
.coach-topline .coach-meta{
  width:auto !important; order:initial !important; margin-top:0 !important;
  align-self:center; justify-self:start;
}
.coach-top-actions{justify-self:end;align-self:center;min-width:0}
@media(max-width:1250px){
  .coach-topline{grid-template-columns:minmax(210px,.6fr) 1fr !important}
  .coach-topline .coach-meta{grid-column:2;grid-row:1;justify-self:start}
  .coach-top-actions{grid-column:1/-1;grid-row:2;justify-self:stretch}
}
@media(max-width:820px){
  .coach-topline{display:flex !important;flex-direction:column !important;align-items:stretch !important}
  .coach-topline .coach-meta{width:100% !important}
  .coach-top-actions{width:100%}
}

/* Requested +50% debrief readability. */
.coach-debrief-grid span{font-size:calc(15px * var(--teach-scale)) !important;letter-spacing:.085em}
.coach-debrief-grid p{font-size:calc(21px * var(--teach-scale)) !important;line-height:1.62 !important}
.coach-debrief-grid article{padding:calc(24px * var(--teach-scale)) calc(26px * var(--teach-scale)) !important}
@media(max-width:900px){
  .coach-debrief-grid{grid-template-columns:1fr !important}
  .coach-debrief-grid p{font-size:calc(18px * var(--teach-scale)) !important}
}

/* HYP and difficulty become infographic tokens instead of flat labels. */
.sig-infographic{
  display:inline-grid !important;grid-template-columns:auto auto;align-items:center;gap:7px !important;
  min-height:37px;padding:4px 9px 4px 5px !important;border-radius:11px !important;
  font-family:Cabin,Cantarell,"Segoe UI",sans-serif !important;line-height:1.05 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
}
.sig-pictogram{
  width:28px;height:28px;display:grid;place-items:center;border-radius:9px;
  font:900 14px/1 "Droid Sans Mono",Consolas,monospace;background:rgba(255,255,255,.72);
}
.sig-gauge{font-size:8px;letter-spacing:-2px;padding-right:2px}
.sig-copy{display:grid;gap:2px;text-align:left}
.sig-copy b{font:900 10.5px/1 "Droid Sans Mono",Consolas,monospace;color:currentColor}
.sig-copy small{font:800 8.5px/1 Cabin,Cantarell,sans-serif;color:currentColor;opacity:.76}
.tool-card .sig-infographic{min-height:32px;padding:3px 7px 3px 4px !important;gap:5px !important}
.tool-card .sig-pictogram{width:24px;height:24px;border-radius:8px;font-size:12px}
.tool-card .sig-copy b{font-size:9px}.tool-card .sig-copy small{font-size:7.5px}

/* Three-control catalog toolbar: search + learning group + HYP range. */
.catalog-toolbar{grid-template-columns:minmax(300px,1fr) minmax(190px,236px) minmax(180px,218px) !important}
.hyp-select{
  width:100%;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:13px;
  color:var(--navy);background:rgba(255,255,255,.82);font:800 12px Cabin,Cantarell,sans-serif;
}
.hyp-select:focus{outline:3px solid rgba(151,211,192,.35);border-color:#97d3c0}
.catalog-meta b{color:#85144b;font-weight:850}
@media(max-width:1000px){.catalog-toolbar{grid-template-columns:1fr 1fr !important}.search-box{grid-column:1/-1}.group-select,.hyp-select{width:100% !important}}
@media(max-width:620px){.catalog-toolbar{grid-template-columns:1fr !important}.search-box{grid-column:auto}}

/* Sidebar can collapse by ~75% into a useful icon rail. */
.sidebar{transition:width .24s ease,padding .24s ease,box-shadow .24s ease}
.main-canvas{transition:margin .24s ease}
.sidebar-collapse{
  position:absolute;top:79px;right:-13px;z-index:4;width:27px;height:44px;display:grid;place-items:center;
  border:1px solid rgba(151,211,192,.55);border-radius:10px;color:#0c2c47;background:#e4f2ea;
  box-shadow:0 5px 16px rgba(12,44,73,.15);font-size:20px;font-weight:900;
}
[dir="rtl"] .sidebar-collapse{right:auto;left:-13px}
.app-shell.sidebar-collapsed .sidebar{width:68px;padding:22px 9px 18px}
.app-shell.sidebar-collapsed .main-canvas{margin-left:68px}
.app-shell.sidebar-collapsed[dir="rtl"] .main-canvas{margin-left:0;margin-right:68px}
.app-shell.sidebar-collapsed .brand-lockup{justify-content:center;padding:0}
.app-shell.sidebar-collapsed .brand-copy,
.app-shell.sidebar-collapsed .sidebar-section-label,
.app-shell.sidebar-collapsed .nav-label,
.app-shell.sidebar-collapsed .sidebar-card-copy,
.app-shell.sidebar-collapsed .sidebar-footer{display:none !important}
.app-shell.sidebar-collapsed .sidebar nav{margin-top:38px;gap:8px;overflow:visible}
.app-shell.sidebar-collapsed .sidebar nav button{justify-content:center;width:50px;height:50px;padding:0;margin:0 auto;border-radius:14px}
.app-shell.sidebar-collapsed .nav-icon{margin:0;flex:0 0 auto}
.app-shell.sidebar-collapsed .sidebar-card{padding:7px;margin-inline:auto;width:50px;justify-content:center;border-radius:15px}
.app-shell.sidebar-collapsed .mini-orbit{width:36px;height:36px}.app-shell.sidebar-collapsed .mini-orbit::before{width:29px;height:29px}.app-shell.sidebar-collapsed .mini-orbit span{font-size:8px}
.app-shell.sidebar-collapsed .page-content{width:min(1480px,calc(100% - clamp(28px,4.6vw,78px)))}
.app-shell.sidebar-collapsed .tool-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@media(max-width:760px){.sidebar-collapse{display:none}.app-shell.sidebar-collapsed .sidebar{width:68px}.app-shell.sidebar-collapsed .main-canvas{margin-left:68px}}

/* Evidence-based five-stage study planner. */
.study-evidence-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 20px;padding:10px 12px;border:1px solid #cce2dc;border-radius:12px;background:#f0faf7}
.study-evidence-strip>span{font:900 10px/1 "Droid Sans Mono",Consolas,monospace;letter-spacing:.11em;text-transform:uppercase;color:#2d5652;margin-right:3px}
.study-evidence-strip a{padding:6px 9px;border:1px solid #c9ddd6;border-radius:99px;color:#0c2c47;background:#fff;text-decoration:none;font-size:11px;font-weight:800}
.study-evidence-strip a:hover{border-color:#97d3c0;background:#e4f2ea}
.study-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;align-items:stretch}
.study-milestone{position:relative;display:flex;flex-direction:column;padding:15px;border:1px solid #d7e5e0;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fcfa);box-shadow:0 6px 18px rgba(12,44,73,.055)}
.study-milestone::after{content:"";position:absolute;left:18px;right:18px;top:0;height:4px;border-radius:0 0 6px 6px;background:#97d3c0}
.study-milestone-head{display:flex;align-items:center;gap:10px;margin:3px 0 11px}
.study-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#0c2c47;font-size:18px;box-shadow:0 6px 14px rgba(12,44,73,.16)}
.study-milestone-head div{display:grid;gap:1px}.study-milestone-head .guide-number{font-size:9px;color:#77908d}.study-milestone-head strong{font-size:14px}.study-milestone-head small{font-size:9px;color:#2d5652;font-weight:800}
.study-milestone h3{margin:0 0 9px;font-size:15px;line-height:1.3}
.study-milestone ul{margin:0 0 13px;padding-left:17px;color:#47645f;font-size:11.8px;line-height:1.55}
.study-milestone li+li{margin-top:5px}
.study-commit{display:grid;gap:5px;margin-top:auto}.study-commit>span{font-size:10px;font-weight:900;color:#0f6268;text-transform:uppercase;letter-spacing:.08em}
.study-commit textarea{width:100%;resize:vertical;min-height:76px;padding:9px 10px;border:1px solid #cfdcd7;border-radius:10px;color:#11333a;background:#fff;font:12px/1.45 Cabin,Cantarell,sans-serif}
.study-commit textarea:focus{outline:3px solid rgba(151,211,192,.35);border-color:#97d3c0}
@media(max-width:1280px){.study-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.study-timeline{grid-template-columns:1fr}}

/* Larger at-a-glance facts with true seven-segment digits. */
.guide-facts{gap:10px !important}
.guide-facts article{min-height:116px;padding:17px 8px !important;display:grid;place-items:center;align-content:center;gap:8px}
.guide-facts b{display:block !important;font:inherit !important;line-height:1 !important;color:#0c2c47 !important}
.guide-facts span{font-size:13px !important;font-weight:750;letter-spacing:.02em}
.guide-facts .segment-display{display:inline-flex !important;align-items:center;justify-content:center;gap:.08em;color:#0c2c47;font-size:52px;line-height:1;filter:drop-shadow(0 1px 0 rgba(12,44,71,.10))}
.guide-facts .segment-display>span{display:inline-block !important;margin-top:0 !important}
.seven-digit{position:relative;display:inline-block;width:.62em;height:1.06em;flex:0 0 .62em}
.seg{position:absolute;display:block;background:currentColor;opacity:.075;border-radius:.06em;clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%)}
.seg.on{opacity:1}
.seg-a,.seg-g,.seg-d{left:.10em;width:.42em;height:.10em}
.seg-a{top:.02em}.seg-g{top:.49em}.seg-d{bottom:.02em}
.seg-b,.seg-c,.seg-e,.seg-f{width:.10em;height:.40em}
.seg-b{right:.02em;top:.08em}.seg-c{right:.02em;bottom:.08em}.seg-f{left:.02em;top:.08em}.seg-e{left:.02em;bottom:.08em}
.seven-symbol{display:inline-grid;place-items:center;min-width:.44em;font:900 .72em/1 "Droid Sans Mono",Consolas,monospace;transform:translateY(-.03em)}
.seven-space{width:.22em}
@media(max-width:900px){.guide-facts .segment-display{font-size:42px}.guide-facts span{font-size:12px !important}}

@media print{
  .sidebar-collapse{display:none !important}
  .study-milestone{break-inside:avoid}
}

/* ==================================================================
   v7 · Glossary density, typography, and individualized teaching lens
   ================================================================== */

/* Make the glossary use the available browser canvas instead of a centered
   document column. This is intentionally scoped to the Glossary only. */
.glossary-page{
  width:calc(100% - 24px) !important;
  max-width:none !important;
  margin-inline:12px !important;
  padding:24px 0 16px !important;
}
.glossary-page .page-hero{
  align-items:center;
  gap:20px;
  margin-bottom:14px;
}
.glossary-page .page-hero > div:first-child{min-width:0}
.glossary-page .page-hero h1{
  margin-top:5px;
  font-size:clamp(40px,3.25vw,58px);
}
.glossary-page .page-hero p{
  max-width:980px;
  font-size:15px;
  line-height:1.5;
}
.glossary-page .page-badge{
  min-width:150px;
  padding:11px 14px;
}

.glossary-shell{
  width:100%;
  height:calc(100dvh - 252px);
  min-height:610px;
  max-height:none;
  grid-template-columns:minmax(275px,18vw) minmax(330px,23vw) minmax(0,1fr);
  border:1px solid #c9dcd5;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(12,44,73,.07);
}
.glossary-categories,
.glossary-list-pane,
.glossary-detail{
  min-height:0;
  height:100%;
}
.glossary-categories{overflow:auto;padding:18px 13px}
.glossary-list-pane{display:flex;min-width:0;flex-direction:column;overflow:hidden}
.glossary-search{flex:0 0 auto;padding:12px}
.glossary-term-list{
  min-height:0;
  height:auto;
  max-height:none !important;
  flex:1 1 auto;
  overflow:auto;
  padding:9px;
}
.glossary-detail{
  min-width:0;
  padding:20px 22px 28px;
  overflow:auto;
}

/* 4th attachment: category-family labels — 2× the prior 12 px size,
   bold and typewriter/monospace. */
.glossary-category-list{gap:8px}
.glossary-category-list button{
  min-height:58px;
  padding:10px 11px;
  font-family:"Droid Sans Mono",Lekton,Consolas,"Courier New",monospace;
  font-size:24px;
  font-weight:900;
  line-height:1.22;
  letter-spacing:-.025em;
}
.glossary-category-list button span{min-width:0}
.glossary-category-list button b{
  min-width:34px;
  padding:4px 7px;
  font:900 14px/1 "Droid Sans Mono",Lekton,Consolas,monospace;
}

/* 1st attachment: glossary term list typography +50%. */
.glossary-term-list button{
  padding:15px 14px;
  border-radius:12px;
}
.glossary-term-list button strong{
  font-size:21px !important;
  line-height:1.22;
  font-weight:850;
}
.glossary-term-list button span{
  margin-top:6px;
  font-size:16.5px !important;
  line-height:1.45;
}
.glossary-search input{font-size:15px}
.glossary-search small{font-size:11px}

/* 2nd attachment: teaching case typography +50%. */
.glossary-example > summary{
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  padding:15px;
}
.glossary-example > summary > b{
  width:40px;
  height:40px;
  font-size:17px;
}
.glossary-example > summary strong{
  font-size:19px;
  line-height:1.3;
}
.glossary-example > summary small{
  margin-top:4px;
  font-size:15px;
  line-height:1.35;
}
.glossary-reveal-label{
  min-height:40px;
  padding:0 13px;
  font-size:15px !important;
}
.glossary-case{padding:18px}
.gl-controls{gap:8px;margin-bottom:14px}
.gl-control{
  min-height:40px;
  padding:8px 13px;
  font-size:16.5px;
  line-height:1.15;
}
.glossary-focus-note p{font-size:18px}
.glossary-component-label{
  margin:14px 0 8px;
  font-size:13.5px;
}
.glossary-stem{padding:16px 17px}
.glossary-stem p{
  font-size:21px !important;
  line-height:1.64;
}
.glossary-clue{
  padding:13px 14px;
  gap:5px 11px;
}
.glossary-clue > span{font-size:13px}
.glossary-clue strong{font-size:18px}
.glossary-clue p{font-size:16.5px}
.glossary-options{gap:10px}
.glossary-option{
  grid-template-columns:42px 1fr;
  gap:12px;
  min-height:84px;
  padding:13px;
}
.glossary-option b{
  width:40px;
  height:40px;
  font-size:16px;
}
.glossary-option span{
  font-size:18px !important;
  line-height:1.55;
}
.glossary-solution > summary{
  min-height:52px;
  padding:0 15px;
  font-size:18px;
}
.glossary-solution > summary::after{font-size:24px}
.glossary-answer div{
  padding:14px;
  font-size:18px;
  line-height:1.58;
}
.gl-legend{
  gap:6px;
  padding:11px 13px;
}
.gl-legend-item{
  font-size:15px;
  line-height:1.45;
}
.gl-legend-item i{width:13px;height:13px}

/* New discriminator lens. */
.gl-control-discriminator.on{background:#0c2c47}
.gl-legend-discriminator i{background:#0c2c47}
.gl-mark-discriminator{
  background:#dce8f0;
  box-shadow:inset 0 -3px 0 #0c2c47;
  font-weight:900;
}
.glossary-option.gl-discriminator-option{
  border-style:dashed;
}
.glossary-option.gl-discriminator-key{
  border-color:#5f879f;
  background:#f0f6f9;
  box-shadow:inset 5px 0 #0c2c47;
}
.gl-tag-discriminator{
  color:#fff;
  background:#0c2c47;
}

/* Individualized term lens used by every non-anatomy glossary term. */
.gl-control-term{
  border-color:#b8d8cd;
  color:#214f4b;
  background:#f4fbf8;
}
.gl-control-term.on{
  color:#0c2c47;
  border-color:#97d3c0;
  background:#97d3c0;
}
.gl-term-lens{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 11px;
  align-items:start;
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid #add7c9;
  border-radius:11px;
  color:#173f51;
  background:linear-gradient(90deg,#e4f2ea,#f8fcfa);
}
.gl-term-lens b{
  padding:4px 7px;
  border-radius:7px;
  color:#0c2c47;
  background:#97d3c0;
  font:900 12px/1.2 "Droid Sans Mono",Lekton,Consolas,monospace;
}
.gl-term-lens span{
  font-size:15px;
  line-height:1.45;
}
.glossary-stem.is-term-aligned{
  border-color:#91cbb9;
  box-shadow:inset 5px 0 #97d3c0;
}
.glossary-option.is-term-aligned{
  border-color:#acd8ca;
  background:#f8fcfa;
}
.gl-tag-term{
  margin-top:6px;
  color:#214f4b;
  background:#dff2eb;
  border:1px solid #b6dacd;
}
.gl-tag-term.signal{
  color:#0c2c47;
  background:#97d3c0;
  border-color:#72bca8;
  font-weight:950;
}
.gl-legend-term i{background:#97d3c0}

/* Give the detail pane more usable width when the icon rail is active. */
.app-shell.sidebar-collapsed .glossary-page{
  width:calc(100% - 18px) !important;
  margin-inline:9px !important;
}
.app-shell.sidebar-collapsed .glossary-shell{
  grid-template-columns:minmax(285px,18vw) minmax(350px,23vw) minmax(0,1fr);
}

/* Large desktop: preserve the requested typography without wasting space. */
@media (min-width:1500px){
  .glossary-shell{
    grid-template-columns:minmax(300px,18vw) minmax(365px,23vw) minmax(0,1fr);
  }
}

/* Medium widths: keep all three panes usable; the details scroll internally. */
@media (max-width:1180px) and (min-width:951px){
  .glossary-shell{
    grid-template-columns:255px 310px minmax(0,1fr) !important;
  }
  .glossary-category-list button{font-size:20px}
  .glossary-term-list button strong{font-size:19px !important}
  .glossary-term-list button span{font-size:15px !important}
}
@media (max-width:950px){
  .glossary-page{
    width:calc(100% - 16px) !important;
    margin-inline:8px !important;
  }
  .glossary-shell{
    height:auto;
    min-height:0;
    grid-template-columns:1fr !important;
  }
  .glossary-categories,.glossary-list-pane,.glossary-detail{height:auto}
  .glossary-category-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
  }
  .glossary-category-list button{font-size:18px;min-height:52px}
  .glossary-term-list{max-height:420px !important}
  .glossary-options{grid-template-columns:1fr}
}



/* ==================================================================
   v8 · Density, catalog sorting, semantic signal cards, guide scale,
   one-line coach metadata, and animated box breathing
   ================================================================== */

/* Glossary teaching controls: ~50% smaller than v7 and locked to one line. */
.glossary-page .gl-controls{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center;
  gap:5px !important;
  width:100%;
  margin-bottom:11px !important;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  padding-bottom:2px;
}
.glossary-page .gl-control{
  flex:0 0 auto;
  min-height:30px !important;
  padding:5px 9px !important;
  border-radius:8px !important;
  font-size:clamp(8px,.58vw,9.5px) !important;
  line-height:1 !important;
  font-weight:850 !important;
  white-space:nowrap !important;
  letter-spacing:.005em;
}

/* Five-control catalog toolbar with an explicit compact view and HYP sorting. */
.catalog-toolbar{
  grid-template-columns:minmax(280px,1fr) minmax(165px,205px) minmax(165px,195px) minmax(185px,215px) auto !important;
  align-items:center;
  gap:9px !important;
}
.catalog-toolbar .group-select,
.catalog-toolbar .hyp-select,
.catalog-sort{
  width:100% !important;
  height:46px !important;
  padding:0 11px;
  border:1px solid #c4d7d0;
  border-radius:13px;
  color:#0c2c47;
  background:#fff;
  box-shadow:var(--shadow-xs);
  font:800 11px/1 Cabin,Cantarell,"Segoe UI",sans-serif;
}
.catalog-sort:focus{outline:3px solid rgba(151,211,192,.35);border-color:#97d3c0}
.catalog-view-toggle{
  height:46px;
  display:flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid #c4d7d0;
  border-radius:13px;
  background:#fff;
  box-shadow:var(--shadow-xs);
}
.catalog-view-toggle button{
  height:36px;
  padding:0 11px;
  border:0;
  border-radius:9px;
  color:#536d68;
  background:transparent;
  font:850 10px/1 Cabin,Cantarell,sans-serif;
  white-space:nowrap;
}
.catalog-view-toggle button.active{color:#fff;background:#0c2c47;box-shadow:0 5px 12px rgba(12,44,71,.14)}

/* Compact catalog packs more tools onto the page without sacrificing identity. */
.tool-grid.compact-grid{
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr)) !important;
  gap:8px !important;
}
.tool-card.compact{
  min-height:104px;
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  align-items:stretch;
  border-left:5px solid var(--hyp-card-accent,#97d3c0);
  border-radius:14px;
}
.tool-card.compact .tool-thumb{height:100%;min-height:104px}
.tool-card.compact .tool-thumb img{object-position:center top}
.tool-card.compact .tool-group{left:6px;right:6px;bottom:6px;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:6.8px}
.tool-card.compact .tool-open{width:25px;height:25px;right:6px;top:6px;border-radius:8px;font-size:10px}
.tool-card.compact .tool-card-body{min-width:0;padding:11px 12px 9px}
.tool-card.compact h3{min-height:0;margin:0 0 4px;font-size:12px;line-height:1.28;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tool-card.compact p{height:auto;min-height:29px;margin:0;font-size:9px;line-height:1.4;-webkit-line-clamp:2}
.tool-card.compact .tool-card-footer{margin-top:7px;padding-top:7px;font-size:8px}
.tool-card.tool-hyp5{--hyp-card-accent:#85144b}
.tool-card.tool-hyp4{--hyp-card-accent:#ff851b}
.tool-card.tool-hyp3{--hyp-card-accent:#2d5652}
.tool-card.tool-hyp2{--hyp-card-accent:#0c2c47}
.tool-card.compact:hover{transform:translateY(-2px)}
@media(max-width:1180px){
  .catalog-toolbar{grid-template-columns:1fr 1fr !important}
  .catalog-toolbar .search-box{grid-column:1/-1}
  .catalog-view-toggle{justify-content:center}
}
@media(max-width:680px){
  .catalog-toolbar{grid-template-columns:1fr !important}
  .catalog-toolbar .search-box{grid-column:auto}
  .tool-grid.compact-grid{grid-template-columns:1fr !important}
}

/* Strong semantic distinction: HYP band and difficulty are not the same color. */
.sig-infographic{border-width:1px !important;box-shadow:0 3px 9px rgba(12,44,71,.055),inset 0 0 0 1px rgba(255,255,255,.5) !important}
.sig-hyp5{color:#85144b !important;background:#fff0f5 !important;border-color:#d88cab !important}
.sig-hyp5 .sig-pictogram{color:#fff;background:#85144b !important}
.sig-hyp4{color:#9a4a00 !important;background:#fff1e4 !important;border-color:#ffad63 !important}
.sig-hyp4 .sig-pictogram{color:#111;background:#ff851b !important}
.sig-hyp3{color:#20534f !important;background:#eef8f4 !important;border-color:#83b9aa !important}
.sig-hyp3 .sig-pictogram{color:#fff;background:#2d5652 !important}
.sig-hyp2{color:#0c2c47 !important;background:#eef4f8 !important;border-color:#9db5c5 !important}
.sig-hyp2 .sig-pictogram{color:#fff;background:#0c2c47 !important}
.sig-hard{color:#9a2f22 !important;background:#fff0ec !important;border-color:#e4a094 !important}
.sig-hard .sig-pictogram{color:#fff;background:#e9654d !important}
.sig-medium{color:#725400 !important;background:#fff8cf !important;border-color:#e4c94d !important}
.sig-medium .sig-pictogram{color:#111;background:#ffdc00 !important}
.sig-easy{color:#205b43 !important;background:#edf8f2 !important;border-color:#8fc7ad !important}
.sig-easy .sig-pictogram{color:#fff;background:#287c64 !important}
.sig-copy b{font-weight:950 !important}
.sig-copy small{font-weight:850 !important;opacity:.92 !important}

/* Keep question metadata + Teaching Lens + Flag on one uninterrupted line. */
.coach-topline{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:12px !important;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:4px;
  scrollbar-width:thin;
}
.coach-topline>div:first-child{flex:0 0 220px;min-width:220px}
.coach-topline .coach-meta{flex:0 0 auto !important;width:auto !important;display:flex !important;flex-wrap:nowrap !important;gap:6px !important;margin:0 !important;order:initial !important}
.coach-top-actions{flex:0 0 auto !important;display:flex !important;flex-wrap:nowrap !important;align-items:center !important;gap:7px !important;margin-left:auto;justify-self:auto !important;width:auto !important}
[dir="rtl"] .coach-top-actions{margin-left:0;margin-right:auto}
.coach-layer-picker{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;gap:5px !important}
.coach-layer-button,.coach-top-actions .flag-button{flex:0 0 auto !important;white-space:nowrap !important}

/* SNLE Guide: requested +50% readability inside structure and blueprint cards. */
.guide-facts article{min-height:148px !important;padding:20px 10px !important;gap:10px !important}
.guide-facts .segment-display{font-size:78px !important}
.guide-facts article:nth-child(2) .segment-display,
.guide-facts article:nth-child(3) .segment-display{font-size:60px !important}
.guide-facts span{font-size:19.5px !important;font-weight:850 !important;line-height:1.15 !important}
.blueprint-list{gap:20px !important}
.blueprint-row>div:first-child{font-size:19.5px !important;font-weight:900 !important;line-height:1.25 !important}
.blueprint-track{height:17px !important;margin-top:9px !important}
.tools-view .upgrade-note{min-height:62px;padding:14px 17px !important;font-size:15px !important;line-height:1.5 !important}
.tools-view .upgrade-note strong{font-size:15px !important}
.tools-view .upgrade-note button{font-size:15px !important;white-space:nowrap}
@media(max-width:900px){
  .guide-facts .segment-display{font-size:62px !important}
  .guide-facts article:nth-child(2) .segment-display,.guide-facts article:nth-child(3) .segment-display{font-size:48px !important}
  .guide-facts span{font-size:16px !important}
  .blueprint-row>div:first-child{font-size:17px !important}
}

/* Animated Box Breathing — reference-inspired clinical version. */
.box-breath-wrap{width:min(720px,100%);display:grid;place-items:center}
.box-breathing{
  width:min(590px,100%);
  padding:18px 20px 16px;
  border:1px solid #a9d6c5;
  border-radius:24px;
  background:linear-gradient(145deg,#dff3e9,#b9e4cf);
  box-shadow:0 16px 38px rgba(45,86,82,.12);
}
.box-breath-title{text-align:center;color:#173f3b;font:950 25px/1.1 Cabin,Cantarell,"Segoe UI",sans-serif;letter-spacing:.035em}
.box-breath-title small{display:block;margin-top:5px;color:#2d5652;font:900 11px/1 "Droid Sans Mono",Consolas,monospace;letter-spacing:.18em}
.box-breath-square{position:relative;width:min(390px,82vw);aspect-ratio:1;margin:18px auto 10px}
.box-breath-line{position:absolute;background:#2d5652;border-radius:99px;opacity:.88}
.box-breath-line.top,.box-breath-line.bottom{left:18%;right:18%;height:5px}
.box-breath-line.left,.box-breath-line.right{top:18%;bottom:18%;width:5px}
.box-breath-line.top{top:18%}.box-breath-line.bottom{bottom:18%}.box-breath-line.left{left:18%}.box-breath-line.right{right:18%}
.box-arrow{position:absolute;color:#2d5652;font:950 28px/1 "Droid Sans Mono",Consolas,monospace}
.arrow-top{top:13%;left:48%}.arrow-right{right:12.5%;top:48%}.arrow-bottom{bottom:12.5%;left:48%}.arrow-left{left:12.5%;top:48%}
.box-phase{position:absolute;display:grid;gap:2px;min-width:112px;padding:7px 9px;border-radius:11px;color:#315b53;background:rgba(255,255,255,.66);text-align:center;transition:.22s ease}
.box-phase b{font:950 15px/1 Cabin,Cantarell,sans-serif;letter-spacing:.035em}
.box-phase span{font:800 10px/1.2 "Droid Sans Mono",Consolas,monospace}
.phase-inhale{top:0;left:50%;transform:translateX(-50%)}
.phase-hold-in{right:-2px;top:50%;transform:translateY(-50%)}
.phase-exhale{bottom:0;left:50%;transform:translateX(-50%)}
.phase-hold-out{left:-2px;top:50%;transform:translateY(-50%)}
.box-phase.active{color:#fff;background:#0c2c47;box-shadow:0 7px 16px rgba(12,44,71,.18)}
.box-breath-core{position:absolute;left:50%;top:50%;width:148px;height:148px;display:grid;place-items:center;align-content:center;padding:14px;border-radius:50%;color:#fff;background:#0c2c47;box-shadow:0 0 0 12px rgba(255,255,255,.48),0 14px 28px rgba(12,44,71,.18);transform:translate(-50%,-50%) scale(.88);transition:transform 3.8s ease-in-out,background .25s ease}
.box-breath-core b{font:950 24px/1 "Droid Sans Mono",Consolas,monospace}
.box-breath-core span{max-width:112px;margin-top:7px;color:#aee5d3;font-size:10px;line-height:1.25;text-align:center}
.box-breathing[data-phase="inhale"] .box-breath-core,.box-breathing[data-phase="hold-in"] .box-breath-core{transform:translate(-50%,-50%) scale(1.12)}
.box-breathing[data-phase="exhale"] .box-breath-core,.box-breathing[data-phase="hold-out"] .box-breath-core,.box-breathing[data-phase="ready"] .box-breath-core{transform:translate(-50%,-50%) scale(.88)}
.box-breath-dot{position:absolute;z-index:5;width:17px;height:17px;border:4px solid #fff;border-radius:50%;background:#85144b;box-shadow:0 3px 9px rgba(12,44,71,.25);left:18%;top:18%;transform:translate(-50%,-50%)}
.box-breathing.running .box-breath-dot{animation:box-breath-track 16s linear infinite}
@keyframes box-breath-track{
  0%{left:18%;top:18%} 24.9%{left:82%;top:18%}
  25%{left:82%;top:18%} 49.9%{left:82%;top:82%}
  50%{left:82%;top:82%} 74.9%{left:18%;top:82%}
  75%{left:18%;top:82%} 100%{left:18%;top:18%}
}
.box-breath-help{margin:4px auto 0;max-width:500px;color:#315b53;font-size:11px;line-height:1.45;text-align:center}
@media(max-width:620px){
  .box-breathing{padding:15px 10px 13px}
  .box-breath-title{font-size:21px}
  .box-phase{min-width:88px;padding:6px}.box-phase b{font-size:12px}.box-phase span{font-size:8px}
  .box-breath-core{width:118px;height:118px}.box-breath-core b{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.box-breathing.running .box-breath-dot{animation:none !important}.box-breath-core{transition:none !important}}



/* ================================================================
   SNLE Clinical UI v9 — tighter coaching, two mock modes, blue palette
   ================================================================ */
/* Blue clinical palette toggle: preserve navy + semantic alert colors; replace green family only. */
.app-shell.theme-blue{
  --green:#285b9a;
  --teal:#356fb5;
  --aqua:#a9ccef;
  --mint:#e9f2fb;
  --paper-deep:#e8f1fa;
  --teal-soft:#e9f2fb;
  --line:#c9d8e8;
  --ring:#356fb5;
}
.app-shell.theme-blue .sidebar{
  background:radial-gradient(circle at 18% 8%,rgba(169,204,239,.19),transparent 13rem),linear-gradient(174deg,#0c2c49 0%,#173e65 55%,#285b9a 100%);
}
.app-shell.theme-blue .brand-mark{background:linear-gradient(145deg,#c7e0f7,#8dbce8)}
.app-shell.theme-blue .sidebar nav button.active{border-color:rgba(169,204,239,.42);background:linear-gradient(90deg,rgba(53,111,181,.34),rgba(255,255,255,.06));box-shadow:inset 4px 0 #a9ccef}
.app-shell.theme-blue .decision-pulse-card{background:radial-gradient(circle at 80% 15%,rgba(86,151,216,.28),transparent 30%),linear-gradient(155deg,#102f4e,#0c2c49 70%)}
.app-shell.theme-blue .pulse-orbit,.app-shell.theme-blue .result-orbit{background:conic-gradient(#8dbce8 0 var(--score),rgba(255,255,255,.1) var(--score) 360deg)}
.app-shell.theme-blue .question-progress,.app-shell.theme-blue .coach-progress{--progress-blue:#356fb5}

.color-mode-button{height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:11px;color:#31515d;background:rgba(255,255,255,.72);font-size:11px;font-weight:850;box-shadow:0 4px 13px rgba(12,44,73,.05)}
.color-mode-button .mode-dot{width:11px;height:11px;border-radius:50%;background:#4272ff;box-shadow:0 0 0 4px rgba(66,114,255,.12)}
.color-mode-button.is-blue .mode-dot{background:#2d5652;box-shadow:0 0 0 4px rgba(45,86,82,.12)}
.color-mode-button:hover{background:#fff;transform:translateY(-1px)}

/* Coach header: remove dead vertical space and make signal cards immediately readable. */
.coach-workspace{max-width:none !important;width:100% !important}
.coach-topline{grid-template-columns:minmax(205px,.5fr) auto minmax(540px,1.35fr) !important;gap:6px 10px !important;align-items:center !important;margin:0 0 4px !important;padding:2px 4px !important;min-height:0 !important}
.coach-topline>div:first-child{align-self:center;line-height:1.15}
.coach-topline>div:first-child .eyebrow{font-size:calc(8px * var(--teach-scale)) !important;line-height:1.1;margin:0 !important}
.coach-topline strong{font-size:calc(15px * var(--teach-scale)) !important;line-height:1.18 !important;margin:3px 0 0 !important}
.coach-topline small{display:block;font-size:calc(9.5px * var(--teach-scale)) !important;line-height:1.1 !important;margin-top:4px !important}
.coach-topline .coach-meta{width:auto !important;order:initial !important;margin:0 !important;display:flex !important;flex-wrap:nowrap !important;gap:6px !important;align-items:stretch !important}
.coach-meta .sig{min-height:42px !important;padding:5px 8px !important;border:1px solid transparent !important;border-radius:10px !important;box-shadow:0 4px 10px rgba(12,44,71,.055) !important}
.coach-meta .sig-domain{color:#244d86 !important;background:#edf4ff !important;border-color:#c2d7f5 !important}
.coach-meta .sig-judgment{color:#1f6259 !important;background:#e8f7f2 !important;border-color:#b9dfd3 !important}
.coach-meta .sig-hyp5{border-color:#f2b1ca !important;background:#fff0f5 !important}
.coach-meta .sig-hyp4{border-color:#ffc58b !important;background:#fff3e8 !important}
.coach-meta .sig-hyp3{border-color:#add9ca !important;background:#e9f7f1 !important}
.coach-meta .sig-hard{border-color:#e3b2c6 !important;background:#fff3f8 !important}
.coach-meta .sig-medium{border-color:#f1d061 !important;background:#fff8db !important}
.coach-meta .sig-easy{border-color:#aad5c7 !important;background:#edf8f4 !important}
.coach-top-actions{justify-self:end !important;min-width:0 !important}
.coach-layer-picker{gap:4px !important}
.coach-layer-picker>span{font-size:calc(8.5px * var(--teach-scale)) !important}
.coach-layer-button,.coach-top-actions .flag-button{min-height:31px !important;padding:0 8px !important;font-size:calc(9px * var(--teach-scale)) !important}
.coach-progress{height:4px !important;margin:3px 0 8px !important}
@media(max-width:1250px){.coach-topline{grid-template-columns:minmax(190px,.55fr) 1fr !important}.coach-topline .coach-meta{grid-column:2;grid-row:1}.coach-top-actions{grid-column:1/-1;grid-row:2;justify-self:start !important}.coach-topline{gap:5px 8px !important}}

/* React & Interact: no retired-comparison banner or leftover void. */
.tools-view .tools-intro{margin-bottom:22px !important}
.tools-view .catalog-toolbar{margin-top:0 !important}

/* Mock exam dual-mode builder. */
.mock-builder-v9{grid-template-columns:auto minmax(0,1fr) auto !important;align-items:stretch !important;gap:18px !important;padding:22px !important}
.mock-copy{min-width:0}
.mock-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.mock-mode-switch button{min-height:68px;padding:10px 12px;border:1px solid #cbdad5;border-radius:12px;text-align:left;color:#294b56;background:#fff;transition:.18s ease}
.mock-mode-switch button b,.mock-mode-switch button small{display:block}
.mock-mode-switch button b{font-size:13px;color:var(--navy)}
.mock-mode-switch button small{margin-top:3px;color:#688078;font-size:10px;line-height:1.35}
.mock-mode-switch button.active{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 20%,transparent),0 7px 20px rgba(12,44,73,.07)}
.mock-mode-note{margin-top:9px;padding:9px 11px;border-radius:10px;color:#49645e;background:#f1f7f4;font-size:10.5px;line-height:1.45}
.mock-mode-note.exam{color:#24496f;background:#edf5ff;border-left:3px solid #4272ff}
.mock-controls{min-width:190px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.mock-controls label{display:grid;gap:5px;color:#657a74;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.mock-controls .mock-select{width:100% !important}
.mock-controls .primary-button{width:100%;min-height:46px}
@media(max-width:980px){.mock-builder-v9{grid-template-columns:1fr !important}.mock-symbol{display:none}.mock-controls{min-width:0;display:grid;grid-template-columns:1fr 1fr;align-items:end}.mock-mode-switch{grid-template-columns:1fr}}

/* Timed simulation — calm, explicit, no answer-key cues. */
.exam-topline{align-items:center}
.exam-status{display:flex;align-items:center;gap:10px}
.exam-status>span{color:#657a74;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.exam-status>[data-exam-time]{min-width:102px;padding:8px 10px;border-radius:10px;color:#fff;background:#0c2c49;font:900 16px Lekton,"Droid Sans Mono",Consolas,monospace;text-align:center;letter-spacing:.04em}
.exam-question-card{border-top:4px solid #4272ff}
.exam-actions>span{max-width:760px}
.exam-break-card{max-width:760px;margin:8vh auto 0;padding:38px;border:1px solid #c8d8e8;border-radius:24px;background:#fff;text-align:center;box-shadow:0 25px 70px rgba(12,44,73,.11)}
.break-icon{width:64px;height:64px;display:grid;place-items:center;margin:12px auto;border-radius:18px;color:#fff;background:#4272ff;font:900 24px Lekton,monospace}
.exam-break-card h1{margin:13px 0 8px;font-size:38px}
.exam-break-card p{max-width:620px;margin:0 auto;color:#526c75;font-size:15px;line-height:1.65}
.break-clock{display:grid;gap:2px;margin:24px auto;width:max-content;padding:13px 22px;border-radius:14px;background:#edf5ff}
.break-clock strong{font:900 30px Lekton,"Droid Sans Mono",Consolas,monospace;color:#0c2c49}.break-clock span{font-size:10px;color:#52708b;text-transform:uppercase;letter-spacing:.09em}
.exam-break-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:19px 0 15px}.exam-break-card>small{display:block;color:#70828a;font-size:10px;line-height:1.5}

/* Slightly tighter home composition after removing secondary navigation clutter. */
.home-view .hero-grid{min-height:430px !important}
.home-view .hero-copy h1{margin-top:15px !important;margin-bottom:14px !important}
.home-view .journey-card{min-height:158px !important;padding:16px !important}
.home-view .journey-card h3{margin-top:12px !important}


/* v9 micro-tightening: coach content begins immediately below the modal tabs. */
.standalone-tabcontent:has(.coach-workspace){padding-top:7px !important;padding-bottom:10px !important}

/* --- v23 Clinical Dossier UI refinement --- */
.dossier-hero-simple{grid-template-columns:minmax(0,1fr)!important}
.dossier-hero-simple .dossier-hero-note,.dossier-status-strip,.dossier-audit.compact,.dossier-safety-note{display:none!important}
.dossier-dialog-v21{width:min(1450px,98vw)!important;max-height:95vh!important}
.dossier-dialog-v22 .dossier-dialog-head{padding:34px 72px 26px 30px}
.dossier-dialog-v22 .dossier-dialog-kicker{font-size:17px}
.dossier-dialog-v22 .dossier-dialog-head h2{font-size:54px;line-height:1.08;letter-spacing:-.02em;margin:8px 0 12px}
.dossier-dialog-v22 .dossier-dialog-head p{font-size:21px;line-height:1.55;max-width:1200px}
.dossier-dialog-v22 .dossier-tabs button{font-size:18px;padding:17px 20px}
.dossier-dialog-v22 .dossier-dialog-body{padding:32px 36px 38px}
.dossier-dialog-v22 .dossier-summary-row{gap:14px}
.dossier-dialog-v22 .dossier-summary-row article{padding:18px;border-radius:16px}
.dossier-dialog-v22 .dossier-summary-row b{font-size:16px}
.dossier-dialog-v22 .dossier-summary-row span{font-size:15px;line-height:1.55}
.dossier-dialog-v22 .dossier-panel h3,.dossier-dialog-v22 .dossier-map-intro h3{font-size:31px;line-height:1.2}
.dossier-dialog-v22 .dossier-panel p,.dossier-dialog-v22 .dossier-map-intro p,.dossier-dialog-v22 .dossier-source-groups b,.dossier-dialog-v22 .dossier-source-groups em,.dossier-dialog-v22 .dossier-source-groups span,.dossier-dialog-v22 .dossier-source-groups div{font-size:18px;line-height:1.6}
.dossier-dialog-v22 .primary-button,.dossier-dialog-v22 .secondary-button{font-size:18px;padding:14px 20px}
.dossier-dialog-v22 .eyebrow{font-size:13px;letter-spacing:.13em}
.dossier-dialog-v22 .dossier-practice-shell{max-width:1220px}
.dossier-dialog-v22 .dossier-practice-head h3{font-size:30px}
.dossier-dialog-v22 .dossier-practice-pills span{font-size:14px;padding:7px 11px}
.dossier-dialog-v22 .dossier-practice-stem{font-size:clamp(29px,2.4vw,38px);line-height:1.55;margin-bottom:24px}
.dossier-dialog-v22 .dossier-practice-options{gap:13px}
.dossier-dialog-v22 .dossier-practice-options button{min-height:88px;padding:16px 18px;grid-template-columns:48px 1fr 28px}
.dossier-dialog-v22 .dossier-practice-options button>b{width:42px;height:42px;font-size:18px}
.dossier-dialog-v22 .dossier-practice-options button span{font-size:18px;line-height:1.55}
.dossier-dialog-v22 .dossier-practice-options button em{font-size:24px}
.dossier-dialog-v22 .dossier-feedback{margin-top:20px;padding:22px 24px;border-radius:15px}
.dossier-dialog-v22 .dossier-feedback-title strong{font-size:21px}
.dossier-dialog-v22 .dossier-feedback-title span{font-size:13px}
.dossier-dialog-v22 .dossier-feedback p{font-size:17px;line-height:1.65}
.dossier-dialog-v22 .dossier-feedback p b{font-size:13px;margin-bottom:4px}
.dossier-dialog-v22 .dossier-feedback-meta span{font-size:14px;padding:7px 10px}
.dossier-dialog-v22 .dossier-repair-tools>b{font-size:15px}
.dossier-dialog-v22 .dossier-repair-tools button{font-size:14px;padding:8px 10px}
.dossier-dialog-v22 .dossier-practice-actions{margin-top:20px}
.dossier-dialog-v22 .dossier-recognize-grid p,.dossier-dialog-v22 .dossier-judgment-grid p,.dossier-dialog-v22 .dossier-core-buttons button,.dossier-dialog-v22 .dossier-related-buttons button{font-size:18px;line-height:1.55}
.library-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.library-choice:nth-child(3) .library-choice-icon{background:linear-gradient(145deg,#0b6b67,#36a6a0)}
.library-choice:nth-child(3) .library-count{color:#0d6865;background:#e8f7f6}
@media(max-width:1100px){.library-choice-grid{grid-template-columns:1fr}}
@media(max-width:900px){.dossier-dialog-v22 .dossier-summary-row{grid-template-columns:1fr 1fr}.dossier-dialog-v22 .dossier-dialog-head h2{font-size:40px}.dossier-dialog-v22 .dossier-dialog-head p{font-size:18px}}




/* ================================================================
   SNLE Clinical UI v10 — complete blue-theme sweep
   Deep-scanned blue mode: every green/aqua/mint surface is remapped.
   Semantic red/orange/yellow alerts are intentionally preserved.
   ================================================================ */
body.theme-blue-body,
body.theme-blue-body .app-shell.theme-blue{
  --green:#285b9a;
  --teal:#356fb5;
  --aqua:#a9ccef;
  --mint:#e9f2fb;
  --paper:#f5f9fe;
  --paper-deep:#e8f1fa;
  --white:#ffffff;
  --line:#c9d8e8;
  --teal-soft:#e9f2fb;
  --ring:#356fb5;
  --background:#f5f9fe;
  --secondary:#e8f1fa;
  --muted:#e8f1fa;
  --accent:#e9f2fb;
  --border:#c9d8e8;
  --input:#c9d8e8;
  --snle-green:#285b9a;
  --snle-aqua:#a9ccef;
  --snle-mint:#e9f2fb;
  --surface:#ffffff;
  --surface-2:rgba(233,242,251,.72);
}
html.theme-blue-html{background:#f5f9fe}
body.theme-blue-body{
  background:
    radial-gradient(circle at 100% 0%,rgba(169,204,239,.22),transparent 31rem),
    radial-gradient(circle at 8% 92%,rgba(233,242,251,.80),transparent 28rem),
    #f5f9fe !important;
}
body.theme-blue-body .app-shell.theme-blue{
  background:
    radial-gradient(circle at 96% 2%,rgba(169,204,239,.16),transparent 30rem),
    #f5f9fe !important;
}
.app-shell.theme-blue .main-canvas{background:transparent}
.app-shell.theme-blue .topbar{background:rgba(247,250,255,.91)!important;border-bottom-color:rgba(53,111,181,.16)!important}
.app-shell.theme-blue .page-content{background:transparent}
.app-shell.theme-blue .brand-lockup span,
.app-shell.theme-blue .sidebar-section-label,
.app-shell.theme-blue .nav-icon{color:#a9ccef!important}
.app-shell.theme-blue .sidebar nav button{color:#dce9f5!important}
.app-shell.theme-blue .sidebar nav button.active .nav-icon{color:#0c2c49!important;background:#a9ccef!important;border-color:#a9ccef!important}
.app-shell.theme-blue .sidebar-card{border-color:rgba(169,204,239,.28)!important;background:rgba(233,242,251,.09)!important}
.app-shell.theme-blue .mini-orbit{background:conic-gradient(#a9ccef 0 10deg,rgba(255,255,255,.1) 10deg)!important}
.app-shell.theme-blue .status-pill,
.app-shell.theme-blue .upgrade-note,
.app-shell.theme-blue .study-evidence-strip,
.app-shell.theme-blue .gl-term-lens,
.app-shell.theme-blue .reset-stage-body{
  border-color:#c9d8e8!important;
  background:#e9f2fb!important;
}
.app-shell.theme-blue .journey-card,
.app-shell.theme-blue .tool-card,
.app-shell.theme-blue .guide-panel,
.app-shell.theme-blue .glossary-shell,
.app-shell.theme-blue .glossary-detail,
.app-shell.theme-blue .practice-card,
.app-shell.theme-blue .progress-card,
.app-shell.theme-blue .question-card,
.app-shell.theme-blue .coach-card,
.app-shell.theme-blue .reset-card,
.app-shell.theme-blue .study-milestone,
.app-shell.theme-blue .guide-facts article,
.app-shell.theme-blue .guide-day-grid article,
.app-shell.theme-blue .official-link-grid a{
  border-color:#c9d8e8!important;
}
.app-shell.theme-blue .search-box,
.app-shell.theme-blue .group-select,
.app-shell.theme-blue .hyp-select,
.app-shell.theme-blue .catalog-sort,
.app-shell.theme-blue .catalog-view-toggle,
.app-shell.theme-blue .plan-field input,
.app-shell.theme-blue .study-commit textarea{
  border-color:#cbddec!important;
  background:rgba(255,255,255,.88)!important;
}
.app-shell.theme-blue .search-box:focus-within,
.app-shell.theme-blue .plan-field input:focus,
.app-shell.theme-blue .study-commit textarea:focus,
.app-shell.theme-blue .hyp-select:focus,
.app-shell.theme-blue .catalog-sort:focus{
  border-color:#7eafe0!important;
  outline-color:rgba(53,111,181,.28)!important;
  box-shadow:0 0 0 3px rgba(53,111,181,.12)!important;
}
.app-shell.theme-blue .tool-tabs-list,
.app-shell.theme-blue .standalone-tabbar,
.app-shell.theme-blue .guide-tabs{
  background:#e8f1fa!important;
}
.app-shell.theme-blue .standalone-tabbar button.active,
.app-shell.theme-blue .tool-tabs-list button[aria-selected="true"],
.app-shell.theme-blue .guide-tabs button.active{
  border-color:#8dbce8!important;
  box-shadow:inset 0 -3px #6fa6dd,0 3px 10px rgba(12,44,73,.10)!important;
}
.app-shell.theme-blue .coach-option:hover:not(:disabled),
.app-shell.theme-blue .coach-option.selected,
.app-shell.theme-blue .option-button:hover:not(:disabled),
.app-shell.theme-blue .option-button.selected{
  border-color:#9bbfe2!important;
  background:#edf5fd!important;
}
.app-shell.theme-blue .coach-option.correct,
.app-shell.theme-blue .option-button.correct,
.app-shell.theme-blue .gl-control-key.on,
.app-shell.theme-blue .gl-tag-key,
.app-shell.theme-blue .sig-easy,
.app-shell.theme-blue .sig-hyp3{
  border-color:#9dc4e7!important;
  color:#1f5f9f!important;
  background:#e7f1fb!important;
}
.app-shell.theme-blue .coach-option.correct .option-logic-note,
.app-shell.theme-blue .lens-option-map button.key{
  color:#1f5f9f!important;
  background:#e3f0fb!important;
}
.app-shell.theme-blue .coach-meta .sig-domain{
  color:#244d86!important;background:#edf4ff!important;border-color:#c2d7f5!important
}
.app-shell.theme-blue .coach-meta .sig-judgment{
  color:#275f93!important;background:#edf5fc!important;border-color:#bfd8ef!important
}
.app-shell.theme-blue .coach-meta .sig-hyp3,
.app-shell.theme-blue .coach-meta .sig-easy{
  color:#1f5f9f!important;background:#e7f1fb!important;border-color:#b9d4ed!important
}
.app-shell.theme-blue .tool-card.tool-hyp3{--hyp-card-accent:#356fb5!important}
.app-shell.theme-blue .sig-hyp3 .sig-pictogram,
.app-shell.theme-blue .sig-easy .sig-pictogram{background:#356fb5!important;color:#fff!important}
.app-shell.theme-blue .gl-control-stem.on,
.app-shell.theme-blue .gl-control-term.on{
  border-color:#76aade!important;background:#76aade!important;color:#0c2c49!important
}
.app-shell.theme-blue .gl-mark-stem,
.app-shell.theme-blue .glossary-stem.is-term-aligned{box-shadow:inset 0 -2px 0 #356fb5!important}
.app-shell.theme-blue .glossary-stem.is-term-aligned{box-shadow:inset 5px 0 #6fa6dd!important}
.app-shell.theme-blue .gl-term-lens{background:linear-gradient(90deg,#e9f2fb,#f8fbff)!important}
.app-shell.theme-blue .gl-term-lens b,
.app-shell.theme-blue .gl-tag-term.signal,
.app-shell.theme-blue .gl-legend-term i{background:#a9ccef!important}
.app-shell.theme-blue .glossary-option.is-term-aligned{background:#f1f7fd!important}
.app-shell.theme-blue .blueprint-track{background:#e4edf7!important}
.app-shell.theme-blue .plan-progress-bar i{background:linear-gradient(90deg,#356fb5,#71a9df)!important}
.app-shell.theme-blue .plan-risk-low::before{background:#356fb5!important}
.app-shell.theme-blue .box-breathing{
  border-color:#b8d2ec!important;
  background:linear-gradient(145deg,#e3f0fb,#cfe3f6)!important;
  box-shadow:0 16px 38px rgba(53,111,181,.12)!important;
}
.app-shell.theme-blue .box-breath-title small,
.app-shell.theme-blue .box-arrow,
.app-shell.theme-blue .box-phase,
.app-shell.theme-blue .box-breath-help{color:#285b9a!important}
.app-shell.theme-blue .box-breath-line{background:#356fb5!important}
.app-shell.theme-blue .reset-context-shell{
  background:radial-gradient(circle at 84% 12%,rgba(169,204,239,.20),transparent 30%),linear-gradient(132deg,#0c2c49,#285b9a)!important
}
.app-shell.theme-blue .reset-orbit{background:conic-gradient(#a9ccef 0 var(--reset-progress),rgba(53,111,181,.13) var(--reset-progress) 360deg)!important}
.app-shell.theme-blue .reset-horizon{background:linear-gradient(180deg,#42eaff 0 52%,#a9ccef 52% 72%,#285b9a 72%)!important}
.app-shell.theme-blue .decision-pulse-card,
.app-shell.theme-blue .mock-builder,
.app-shell.theme-blue .decision-primary{
  border-color:rgba(169,204,239,.18)!important;
  background:radial-gradient(circle at 84% 12%,rgba(169,204,239,.25),transparent 31%),linear-gradient(145deg,#0c2c49,#285b9a)!important;
}
.app-shell.theme-blue .pulse-orbit,
.app-shell.theme-blue .result-orbit{background:conic-gradient(#8dbce8 0 var(--score),rgba(255,255,255,.12) var(--score) 360deg)!important}
.app-shell.theme-blue .primary-button,
.app-shell.theme-blue .coach-actions .primary-button,
.app-shell.theme-blue .reset-controls .primary-button{
  border-color:#356fb5!important;background:#356fb5!important;box-shadow:0 7px 18px rgba(53,111,181,.18)!important
}
.app-shell.theme-blue .primary-button:hover,
.app-shell.theme-blue .mock-builder .primary-button:hover{
  border-color:#285b9a!important;background:#285b9a!important
}
.app-shell.theme-blue .sidebar-collapse{border-color:#9fc4e7!important;background:#e9f2fb!important;color:#0c2c49!important}
.app-shell.theme-blue .color-mode-button{border-color:#c9d8e8;background:rgba(255,255,255,.82)}
.app-shell.theme-blue .mock-controls label,
.app-shell.theme-blue .exam-status>span{color:#667d95!important}

/* Auto-generated deep-scan overrides for legacy hard-coded green-family colors. */
.app-shell.theme-blue .sidebar{ position: fixed; inset: 0 auto 0 0; z-index: 40; width: 254px; display: flex; flex-direction: column; padding: 26px 18px 20px; color: #eef5fc; background: linear-gradient(165deg, #0a2633 0%, #0b313c 58%, #174853 100%); box-shadow: 8px 0 30px rgba(6, 29, 38, .12); }
.app-shell.theme-blue .question-actions{ display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 13px; color: #6c8094; font-size: 10px; }
.app-shell.theme-blue .progress-kpis article > small{ color: #6c8094; font-size: 9px; }
.app-shell.theme-blue .domain-row small{ margin-top: 2px; color: #6c8094; font-size: 8px; }
.app-shell.theme-blue .poster-stage{ min-height: 100%; overflow: auto; padding: 18px; background: #d4dde8; text-align: center; }
.app-shell.theme-blue .standalone-poster-stage{min-height:100%;overflow:auto;padding:18px;background:#d4dde8;text-align:center}
.app-shell.theme-blue .coach-progress{ height: 7px; margin: 8px 0 17px; overflow: hidden; border-radius: 99px; background: #dfe8f1; }
.app-shell.theme-blue .coach-progress span{ display: block; height: 100%; background: linear-gradient(90deg,var(--teal),#71a9df); }
.app-shell.theme-blue .coach-option:hover:not(:disabled), .app-shell.theme-blue .coach-option.selected{ border-color: #64aa9f; background: #f2f7fd; }
.app-shell.theme-blue .coach-debrief{ margin-top: 16px; overflow: hidden; border: 1px solid #ccdeed; border-radius: 18px; background: white; }
.app-shell.theme-blue .coach-debrief-grid article{ padding: 18px 20px; border-right: 1px solid #e7eef6; border-top: 1px solid #e7eef6; }
.app-shell.theme-blue .coach-layer-button.active{
  border-color: #2f72b8;
  color: white;
  background: #2f72b8;
  box-shadow: 0 5px 15px rgba(47,114,184,.18);
}
.app-shell.theme-blue .question-lens-panel{
  margin: 0 0 15px;
  overflow: hidden;
  border: 1px solid #b9d8d2;
  border-radius: 15px;
  background: linear-gradient(145deg,#f9fdfb,#f2f7fd);
  box-shadow: 0 9px 24px rgba(18,67,62,.07);
}
.app-shell.theme-blue .lens-panel-head span{
  color: #2f72b8;
  font-size: calc(9px * var(--teach-scale));
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.app-shell.theme-blue .lens-option-map button.key{ border-color: #7ab79e; background: #eef5fc; }
.app-shell.theme-blue .lens-option-map button.active{ box-shadow: 0 0 0 3px rgba(47,114,184,.17); }
.app-shell.theme-blue .coach-option.lens-option-focus{ outline: 3px solid rgba(47,114,184,.27); outline-offset: 2px; }
.app-shell.theme-blue .coach-option.correct .option-logic-note{ color: #245d4a; background: #e3f0fb; }
body.theme-blue-body{
  background:
    radial-gradient(circle at 96% 2%, rgba(169,204,239, .25), transparent 26rem),
    var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
.app-shell.theme-blue .sidebar{
  width: 268px;
  padding: 22px 17px 18px;
  background:
    radial-gradient(circle at 18% 8%, rgba(169,204,239, .16), transparent 13rem),
    linear-gradient(174deg, #0c2c49 0%, #173e65 55%, #285b9a 100%);
  box-shadow: 8px 0 34px rgba(12, 44, 73, .16);
}
.app-shell.theme-blue .brand-mark{
  width: 46px;
  height: 46px;
  border-radius: 15px;
  color: #0c2c49;
  background: linear-gradient(145deg, #c7e0f7, #a9ccef);
  box-shadow: 0 8px 22px rgba(169,204,239, .22);
}
.app-shell.theme-blue .brand-lockup span{ color: #c0d6ea; font-size: 10px; }
.app-shell.theme-blue .sidebar-section-label{
  margin: 13px 10px 5px;
  color: #a9ccef;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.app-shell.theme-blue .sidebar nav button{
  min-height: 48px;
  gap: 11px;
  padding: 7px 10px;
  border-radius: 13px;
  color: #dce9f5;
  font-size: 13px;
  font-weight: 720;
}
.app-shell.theme-blue .sidebar nav button:hover{ background: rgba(233,242,251, .09); }
.app-shell.theme-blue .sidebar nav button.active{
  color: #fff;
  border-color: rgba(169,204,239, .34);
  background: linear-gradient(90deg, rgba(169,204,239, .23), rgba(255, 255, 255, .06));
  box-shadow: inset 3px 0 #a9ccef, 0 5px 16px rgba(0, 0, 0, .08);
}
.app-shell.theme-blue .nav-icon{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(169,204,239, .18);
  border-radius: 11px;
  color: #a9ccef;
  background: rgba(233,242,251, .07);
}
.app-shell.theme-blue .sidebar nav button.active .nav-icon{
  color: #0c2c49;
  background: #a9ccef;
  border-color: #a9ccef;
}
.app-shell.theme-blue .sidebar-card{
  margin-top: 20px;
  border-color: rgba(169,204,239, .22);
  background: rgba(233,242,251, .08);
}
.app-shell.theme-blue .mini-orbit{
  background: conic-gradient(#a9ccef 0 10deg, rgba(255, 255, 255, .1) 10deg);
}
.app-shell.theme-blue .topbar{
  height: 78px;
  border-bottom-color: rgba(53,111,181, .13);
  background: rgba(244, 248, 246, .92);
}
.app-shell.theme-blue .primary-button{
  border-color: var(--green);
  background: var(--green);
  box-shadow: 0 8px 20px rgba(53,111,181, .18);
}
.app-shell.theme-blue .primary-button:hover{ border-color: #234f7d; background: #234f7d; }
.app-shell.theme-blue .decision-pulse-card, .app-shell.theme-blue .mock-builder, .app-shell.theme-blue .decision-primary{
  background:
    radial-gradient(circle at 82% 14%, rgba(169,204,239, .23), transparent 29%),
    linear-gradient(145deg, #0c2c49, #285b9a) !important;
}
.app-shell.theme-blue .pulse-orbit, .app-shell.theme-blue .result-orbit{ background: conic-gradient(#a9ccef 0 var(--score), rgba(255, 255, 255, .12) var(--score) 360deg); }
.app-shell.theme-blue .glossary-example{
  margin-top: 9px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fbfdff;
}
.app-shell.theme-blue .guide-facts article{
  padding: 16px 10px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--aqua);
  border-radius: 13px;
  background: #f7faff;
  text-align: center;
}
.app-shell.theme-blue .guide-facts span{ margin-top: 4px; color: #667d95; font-size: 10px; }
.app-shell.theme-blue .blueprint-track{ height: 13px; margin-top: 7px; border-radius: 99px; background: #e6eef7; }
.app-shell.theme-blue .reset-recommendation{
  padding: 16px;
  border: 1px solid rgba(169,204,239, .26);
  border-radius: 14px;
  background: rgba(255, 255, 255, .09);
}
.app-shell.theme-blue .reset-orbit{
  --reset-progress: 0deg;
  width: 176px;
  height: 176px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--aqua) 0 var(--reset-progress), rgba(53,111,181, .12) var(--reset-progress) 360deg);
}
.app-shell.theme-blue .reset-guide-grid article{ padding: 12px; border-left: 4px solid var(--aqua); border-radius: 9px; background: #f7faff; }
.app-shell.theme-blue .reset-horizon{
  position: relative;
  width: min(600px, 100%);
  height: 190px;
  overflow: hidden;
  border-radius: 18px;
  background: linear-gradient(180deg, #42eaff 0 52%, #a9ccef 52% 72%, #285b9a 72%);
}
.app-shell.theme-blue .mock-builder .mock-select{
  min-height: 43px;
  border: 1px solid rgba(169,204,239, .72);
  border-radius: 10px;
  color: var(--navy);
  background: #fff;
  font-size: 13px;
}
.app-shell.theme-blue .mock-builder .primary-button:hover{ border-color: #cfe6fa; color: var(--navy); background: #cfe6fa; }
.app-shell.theme-blue .glossary-solution{
  margin-top: 11px;
  border: 1px solid #b8d5ca;
  border-radius: 11px;
  background: #f7faff;
}
.app-shell.theme-blue .gl-control{padding:7px 11px;border:1px solid #d2e0ec;border-radius:9px;background:#fff;color:#426784;
  font-size:11px;font-weight:800;letter-spacing:.01em;transition:.15s;cursor:pointer}
.app-shell.theme-blue .gl-control:hover{border-color:#91bbe3;background:#f2faf7}
.app-shell.theme-blue .gl-control-stem.on{background:#285b9a}
.app-shell.theme-blue .gl-control-key.on{background:#1f5f9f}
.app-shell.theme-blue .gl-legend{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;padding:9px 11px;
  border:1px dashed #d2e0ec;border-radius:10px;background:#fbfdff}
.app-shell.theme-blue .gl-legend-item{display:flex;align-items:center;gap:7px;font-size:11px;color:#637b91;line-height:1.45}
.app-shell.theme-blue .gl-legend-stem i{background:#d4e5f6}
.app-shell.theme-blue .gl-mark-stem{background:#d7ede9;box-shadow:inset 0 -2px 0 #285b9a}
.app-shell.theme-blue .gl-mark-key{background:#d6f2e4;box-shadow:inset 0 -2px 0 #1f5f9f}
.app-shell.theme-blue .gl-tag-key{background:#1f5f9f;color:#fff}
.app-shell.theme-blue .mock-select, .app-shell.theme-blue .group-select{color:#163d63 !important;background:#ffffff !important;
  border-color:rgba(169,204,239,.8) !important;-webkit-appearance:menulist;appearance:menulist}
.app-shell.theme-blue .mock-select option, .app-shell.theme-blue .group-select option, .app-shell.theme-blue select option{color:#163d63 !important;background:#ffffff !important}
.app-shell.theme-blue .reset-live-strip{width:min(600px,100%);margin:14px auto 0;padding:12px 16px;border-radius:12px;
  border:1px solid #d4e5f6;background:#f4f8fd;color:#163d63;text-align:center;font-size:13px;line-height:1.55}
.app-shell.theme-blue .reset-live-strip b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:#2469a6;margin-bottom:4px}
.app-shell.theme-blue .reset-step-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;display:block;background:#eaf1f8}
.app-shell.theme-blue .reset-step-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px;display:block;background:#eaf1f8}
.app-shell.theme-blue .reset-step-copy small{display:block;font-size:12.5px;line-height:1.55;color:#385f83;margin-bottom:6px}
.app-shell.theme-blue .reset-step-copy em{display:block;font-style:normal;font-size:11.5px;line-height:1.5;color:#637b91}
.app-shell.theme-blue .sig-hyp3{color:#1f5f9f;background:#eef6fd;border-color:#b6dfcd}
.app-shell.theme-blue .sig-easy{color:#1f5f9f;background:#eef6fd;border-color:#b6dfcd}
.app-shell.theme-blue .sig-domain{color:#285b9a;background:#eef5f3;border-color:#d2e0ec}
.app-shell.theme-blue .plan-progress-bar{flex:1;min-width:160px;height:9px;border-radius:99px;background:#dfe8f1;overflow:hidden}
.app-shell.theme-blue .plan-progress-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#285b9a,#71a9df);transition:width .3s}
.app-shell.theme-blue .plan-progress span{font-size:12px;font-weight:800;color:#637b91;white-space:nowrap}
.app-shell.theme-blue .plan-focus{position:relative;padding:16px 17px 16px 19px;border:1px solid #dce7f2;border-radius:14px;background:#fff}
.app-shell.theme-blue .plan-risk-low::before{background:#1f5f9f}
.app-shell.theme-blue .plan-why{margin:0 0 9px;font-size:12.5px;line-height:1.6;color:#637b91}
.app-shell.theme-blue .plan-do{margin:0;padding:9px 11px;border-radius:9px;background:#f4f8fd;font-size:12.5px;line-height:1.55;color:#163d63}
.app-shell.theme-blue .plan-do b{display:block;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:#2469a6;margin-bottom:3px}
.app-shell.theme-blue .plan-pace th{text-align:left;padding:8px 10px;border-bottom:1px solid #dce7f2;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:#637b91}
.app-shell.theme-blue .plan-pace td{padding:9px 10px;border-bottom:1px solid #eef4f3;line-height:1.5;color:#385f83}
.app-shell.theme-blue .plan-pace-clock{font-weight:800;color:#163d63;white-space:nowrap}
.app-shell.theme-blue .plan-pace-item{font-weight:800;color:#2469a6;white-space:nowrap}
.app-shell.theme-blue .plan-field span{font-size:11px;font-weight:800;letter-spacing:.02em;color:#426784}
.app-shell.theme-blue .plan-field input{padding:10px 12px;border:1px solid #d2e0ec;border-radius:10px;background:#fff;
  color:#163d63;font-size:13.5px;width:100%}
.app-shell.theme-blue .plan-field input:focus{outline:3px solid rgba(20,117,122,.35);outline-offset:1px;border-color:#91bbe3}
.app-shell.theme-blue .plan-note{margin-top:20px;padding:12px 15px;border:1px dashed #d2e0ec;border-radius:11px;
  background:#fbfdff;font-size:12px;line-height:1.6;color:#637b91}
.app-shell.theme-blue .plan-note b{color:#163d63}
body.theme-blue-body{
  color: var(--ink);
  background:
    radial-gradient(circle at 100% 0%, rgba(169,204,239, .24), transparent 31rem),
    radial-gradient(circle at 8% 92%, rgba(233,242,251, .72), transparent 28rem),
    var(--paper);
  letter-spacing: .002em;
}
.app-shell.theme-blue .topbar{
  border-bottom: 1px solid rgba(53,111,181, .14);
  background: rgba(244, 248, 246, .91);
  box-shadow: 0 1px 0 rgba(255,255,255,.8);
}
.app-shell.theme-blue .sidebar{
  background:
    radial-gradient(circle at 8% 7%, rgba(169,204,239, .18), transparent 15rem),
    linear-gradient(174deg, var(--snle-navy) 0%, #153e4d 58%, var(--snle-green) 100%);
  box-shadow: 8px 0 34px rgba(12, 44, 71, .17);
}
.app-shell.theme-blue .brand-mark{
  color: var(--snle-navy);
  background: linear-gradient(145deg, #c9eee3, var(--snle-aqua));
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 8px 24px rgba(169,204,239, .21);
}
.app-shell.theme-blue .sidebar nav button.active{
  border-color: rgba(169,204,239, .34);
  background: linear-gradient(90deg, rgba(169,204,239, .22), rgba(255,255,255,.055));
  box-shadow: inset 3px 0 var(--snle-aqua), 0 5px 16px rgba(0,0,0,.075);
}
.app-shell.theme-blue .nav-icon{
  width: 36px;
  height: 36px;
  border: 1px solid rgba(169,204,239, .2);
  border-radius: 50%;
  color: var(--snle-aqua);
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.app-shell.theme-blue .primary-button, .app-shell.theme-blue .coach-actions .primary-button, .app-shell.theme-blue .reset-controls .primary-button{
  min-height: 44px;
  border-radius: 12px;
  border-color: var(--snle-green);
  color: #fff;
  background: var(--snle-green);
  box-shadow: 0 7px 18px rgba(53,111,181, .18);
}
.app-shell.theme-blue .primary-button:hover{ border-color: #234f7d; background: #234f7d; }
.app-shell.theme-blue .decision-pulse-card, .app-shell.theme-blue .mock-builder, .app-shell.theme-blue .decision-primary{
  border-color: rgba(169,204,239, .16) !important;
  background:
    radial-gradient(circle at 84% 12%, rgba(169,204,239, .24), transparent 31%),
    linear-gradient(145deg, var(--snle-navy), var(--snle-green)) !important;
  box-shadow: 0 24px 62px rgba(12, 44, 71, .19) !important;
}
.app-shell.theme-blue .option-button, .app-shell.theme-blue .coach-option{
  border-color: #d1ddd8;
  background: #fbfdff;
  box-shadow: 0 1px 0 rgba(255,255,255,.8);
}
.app-shell.theme-blue .tool-dialog, .app-shell.theme-blue .standalone-modal{
  border: 1px solid rgba(169,204,239,.58) !important;
  border-radius: 24px !important;
  background: #f7faf8 !important;
  box-shadow: 0 38px 110px rgba(4,24,35,.38) !important;
}
.app-shell.theme-blue .tool-dialog > button[data-slot="dialog-close"]{
  border: 1px solid #c9d8e8;
  border-radius: 50%;
  color: var(--snle-navy);
  background: #fff;
  box-shadow: var(--shadow-xs);
}
.app-shell.theme-blue .tool-tabs-list, .app-shell.theme-blue .standalone-tabbar{
  border: 1px solid #d4e0dc !important;
  border-radius: 13px !important;
  background: #edf5fd !important;
}
.app-shell.theme-blue .guide-tabs{ background: #edf5fd; }
.app-shell.theme-blue .reset-context-shell{
  background:
    radial-gradient(circle at 84% 12%, rgba(169,204,239,.18), transparent 30%),
    linear-gradient(132deg, var(--snle-navy), var(--snle-green));
}
.app-shell.theme-blue .reset-recommendation{
  border-color: rgba(169,204,239,.30);
  background: rgba(255,255,255,.09);
}
.app-shell.theme-blue .reset-stage-body{
  border: 1px solid #d3e3dd;
  background: linear-gradient(145deg, #fbfdff, var(--snle-mint));
}
.app-shell.theme-blue .reset-orbit{
  background: conic-gradient(var(--snle-aqua) 0 var(--reset-progress), rgba(53,111,181,.12) var(--reset-progress) 360deg);
  box-shadow: 0 15px 34px rgba(12,44,71,.12);
}
.app-shell.theme-blue .reset-guide-grid article{
  border-left-color: var(--snle-aqua);
  background: #f7faff;
}
.app-shell.theme-blue .search-box, .app-shell.theme-blue .group-select, .app-shell.theme-blue .plan-field input{
  border-color: #cbddec !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: var(--shadow-xs);
}
.app-shell.theme-blue .search-box:focus-within, .app-shell.theme-blue .plan-field input:focus{
  border-color: var(--snle-green) !important;
  box-shadow: 0 0 0 3px rgba(169,204,239,.34) !important;
}
.app-shell.theme-blue .standalone-tabbar button.active{
  color:#fff !important;
  background:#163e4c !important;
  border-color:rgba(169,204,239,.78) !important;
  box-shadow:inset 0 -3px #a9ccef,0 3px 10px rgba(0,0,0,.14) !important;
}
.app-shell.theme-blue .hyp-select:focus{outline:3px solid rgba(169,204,239,.35);border-color:#a9ccef}
.app-shell.theme-blue .sidebar-collapse{
  position:absolute;top:79px;right:-13px;z-index:4;width:27px;height:44px;display:grid;place-items:center;
  border:1px solid rgba(169,204,239,.55);border-radius:10px;color:#0c2c47;background:#e9f2fb;
  box-shadow:0 5px 16px rgba(12,44,73,.15);font-size:20px;font-weight:900;
}
.app-shell.theme-blue .study-evidence-strip>span{font:900 10px/1 "Droid Sans Mono",Consolas,monospace;letter-spacing:.11em;text-transform:uppercase;color:#285b9a;margin-right:3px}
.app-shell.theme-blue .study-evidence-strip a{padding:6px 9px;border:1px solid #ccdeed;border-radius:99px;color:#0c2c47;background:#fff;text-decoration:none;font-size:11px;font-weight:800}
.app-shell.theme-blue .study-evidence-strip a:hover{border-color:#a9ccef;background:#e9f2fb}
.app-shell.theme-blue .study-milestone{position:relative;display:flex;flex-direction:column;padding:15px;border:1px solid #d7e5e0;border-radius:16px;background:linear-gradient(180deg,#fff,#f7faff);box-shadow:0 6px 18px rgba(12,44,73,.055)}
.app-shell.theme-blue .study-milestone::after{content:"";position:absolute;left:18px;right:18px;top:0;height:4px;border-radius:0 0 6px 6px;background:#a9ccef}
.app-shell.theme-blue .study-milestone-head small{font-size:9px;color:#285b9a;font-weight:800}
.app-shell.theme-blue .study-commit>span{font-size:10px;font-weight:900;color:#2469a6;text-transform:uppercase;letter-spacing:.08em}
.app-shell.theme-blue .study-commit textarea{width:100%;resize:vertical;min-height:76px;padding:9px 10px;border:1px solid #d2e0ec;border-radius:10px;color:#163d63;background:#fff;font:12px/1.45 Cabin,Cantarell,sans-serif}
.app-shell.theme-blue .study-commit textarea:focus{outline:3px solid rgba(169,204,239,.35);border-color:#a9ccef}
.app-shell.theme-blue .gl-control-term{
  border-color:#b8d8cd;
  color:#285a88;
  background:#f4fbf8;
}
.app-shell.theme-blue .gl-control-term.on{
  color:#0c2c47;
  border-color:#a9ccef;
  background:#a9ccef;
}
.app-shell.theme-blue .gl-term-lens{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 11px;
  align-items:start;
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid #add7c9;
  border-radius:11px;
  color:#173f51;
  background:linear-gradient(90deg,#e9f2fb,#f7faff);
}
.app-shell.theme-blue .gl-term-lens b{
  padding:4px 7px;
  border-radius:7px;
  color:#0c2c47;
  background:#a9ccef;
  font:900 12px/1.2 "Droid Sans Mono",Lekton,Consolas,monospace;
}
.app-shell.theme-blue .glossary-stem.is-term-aligned{
  border-color:#91cbb9;
  box-shadow:inset 5px 0 #a9ccef;
}
.app-shell.theme-blue .glossary-option.is-term-aligned{
  border-color:#acd8ca;
  background:#f7faff;
}
.app-shell.theme-blue .gl-tag-term{
  margin-top:6px;
  color:#285a88;
  background:#dff2eb;
  border:1px solid #b6dacd;
}
.app-shell.theme-blue .gl-tag-term.signal{
  color:#0c2c47;
  background:#a9ccef;
  border-color:#72bca8;
  font-weight:950;
}
.app-shell.theme-blue .gl-legend-term i{background:#a9ccef}
.app-shell.theme-blue .catalog-toolbar .group-select, .app-shell.theme-blue .catalog-toolbar .hyp-select, .app-shell.theme-blue .catalog-sort{
  width:100% !important;
  height:46px !important;
  padding:0 11px;
  border:1px solid #cbddec;
  border-radius:13px;
  color:#0c2c47;
  background:#fff;
  box-shadow:var(--shadow-xs);
  font:800 11px/1 Cabin,Cantarell,"Segoe UI",sans-serif;
}
.app-shell.theme-blue .catalog-sort:focus{outline:3px solid rgba(169,204,239,.35);border-color:#a9ccef}
.app-shell.theme-blue .catalog-view-toggle{
  height:46px;
  display:flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid #cbddec;
  border-radius:13px;
  background:#fff;
  box-shadow:var(--shadow-xs);
}
.app-shell.theme-blue .tool-card.compact{
  min-height:104px;
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  align-items:stretch;
  border-left:5px solid var(--hyp-card-accent,#a9ccef);
  border-radius:14px;
}
.app-shell.theme-blue .tool-card.tool-hyp3{--hyp-card-accent:#285b9a}
.app-shell.theme-blue .sig-hyp3 .sig-pictogram{color:#fff;background:#285b9a !important}
.app-shell.theme-blue .sig-easy{color:#205b43 !important;background:#eef5fc !important;border-color:#8fc7ad !important}
.app-shell.theme-blue .box-breathing{
  width:min(590px,100%);
  padding:18px 20px 16px;
  border:1px solid #a9d6c5;
  border-radius:24px;
  background:linear-gradient(145deg,#e3f0fb,#b9e4cf);
  box-shadow:0 16px 38px rgba(53,111,181,.12);
}
.app-shell.theme-blue .box-breath-title small{display:block;margin-top:5px;color:#285b9a;font:900 11px/1 "Droid Sans Mono",Consolas,monospace;letter-spacing:.18em}
.app-shell.theme-blue .box-breath-line{position:absolute;background:#285b9a;border-radius:99px;opacity:.88}
.app-shell.theme-blue .box-arrow{position:absolute;color:#285b9a;font:950 28px/1 "Droid Sans Mono",Consolas,monospace}
.app-shell.theme-blue .box-phase{position:absolute;display:grid;gap:2px;min-width:112px;padding:7px 9px;border-radius:11px;color:#315d87;background:rgba(255,255,255,.66);text-align:center;transition:.22s ease}
.app-shell.theme-blue .box-breath-help{margin:4px auto 0;max-width:500px;color:#315d87;font-size:11px;line-height:1.45;text-align:center}


/* ================================================================
   SNLE Clinical UI v11 — Glossary evidence infographic + annotator
   ================================================================ */
.glossary-page{position:relative;isolation:isolate}
.glossary-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.glossary-info-button{min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:0 14px;border:1px solid color-mix(in srgb,var(--teal) 30%,var(--line));border-radius:13px;color:var(--navy);background:linear-gradient(180deg,#fff,#f6fbfa);font:850 11px/1 "Droid Sans Mono",Lekton,Consolas,monospace;box-shadow:0 8px 22px rgba(12,44,73,.07);transition:.18s ease}
.glossary-info-button:hover{transform:translateY(-1px);border-color:var(--teal);box-shadow:0 12px 28px rgba(12,44,73,.11)}
.glossary-info-button i{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--teal);font:950 14px/1 Georgia,serif;font-style:normal}

/* Evidence / Info modal */
.glossary-info-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:18px;background:rgba(4,22,34,.78);backdrop-filter:blur(7px)}
.glossary-info-modal{position:relative;width:min(1120px,calc(100vw - 24px));max-height:calc(100vh - 28px);overflow:auto;border:1px solid rgba(255,255,255,.46);border-radius:28px;background:#f8fbfa;box-shadow:0 40px 120px rgba(2,19,27,.45)}
.glossary-info-close{position:sticky;z-index:4;float:right;top:14px;margin:14px 14px -50px 0;width:38px;height:38px;border:1px solid rgba(255,255,255,.38);border-radius:12px;color:white;background:rgba(4,27,43,.54);backdrop-filter:blur(9px);font-size:21px;font-weight:900}
.glossary-info-hero{position:relative;overflow:hidden;padding:34px 38px 30px;color:white;background:radial-gradient(circle at 86% 16%,rgba(151,211,192,.42),transparent 25%),linear-gradient(135deg,#0c2c47 0%,#154f63 65%,#2d5652 100%)}
.glossary-info-hero:before,.glossary-info-hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.glossary-info-hero:before{width:290px;height:290px;right:-95px;bottom:-185px;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.018)}
.glossary-info-hero:after{width:150px;height:150px;right:120px;top:-115px}
.glossary-info-hero .eyebrow{color:#9fe0d1}
.glossary-info-hero h2{max-width:760px;margin:8px 0 10px;font:750 clamp(31px,4.2vw,54px)/1.02 Merriweather,Georgia,serif;letter-spacing:-.045em}
.glossary-info-hero p{max-width:830px;margin:0;color:#d6e8e7;font-size:14px;line-height:1.7}
.glossary-info-hero strong{color:#fff}
.glossary-info-content{padding:28px 32px 34px}
.glossary-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.glossary-proof-card{position:relative;overflow:hidden;min-height:190px;padding:20px;border:1px solid #cedddb;border-radius:20px;background:white;box-shadow:0 10px 30px rgba(12,44,73,.055)}
.glossary-proof-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--proof,#4272ff)}
.glossary-proof-card .proof-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:14px;border-radius:14px;color:var(--proof,#4272ff);background:color-mix(in srgb,var(--proof,#4272ff) 12%,white);font-size:20px;font-weight:950}
.glossary-proof-card strong{display:block;color:var(--navy);font:900 clamp(25px,2.6vw,38px)/1 "Droid Sans Mono",Lekton,Consolas,monospace;letter-spacing:-.04em}
.glossary-proof-card h3{margin:9px 0 5px;color:var(--navy);font-size:14px}
.glossary-proof-card p{margin:0;color:#526d70;font-size:11.5px;line-height:1.6}
.glossary-proof-card small{display:block;margin-top:9px;color:#74888a;font-size:9px;line-height:1.45}
.glossary-proof-card.proof-official{--proof:#4272ff}.glossary-proof-card.proof-language{--proof:#85144b}.glossary-proof-card.proof-vocab{--proof:#ff9f2f}
.glossary-evidence-flow{margin-top:18px;padding:20px;border:1px solid #d5dfdc;border-radius:20px;background:linear-gradient(180deg,#fff,#f5f9f8)}
.glossary-evidence-flow>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:17px}
.glossary-evidence-flow h3{margin:0;color:var(--navy);font-size:18px}.glossary-evidence-flow p{margin:4px 0 0;color:#5f7474;font-size:11px}
.glossary-flow-row{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:space-between;gap:8px}
.glossary-flow-node{min-width:142px;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:11px 12px;border:1px solid #cfe0dc;border-radius:15px;background:white}
.glossary-flow-node b{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;color:white;background:var(--teal);font:900 10px/1 "Droid Sans Mono",monospace}.glossary-flow-node strong{font-size:11px}.glossary-flow-node span{display:block;margin-top:2px;color:#647a78;font-size:9px;line-height:1.35}
.glossary-flow-arrow{color:#7d9592;font-size:18px;font-weight:900}
.glossary-evidence-bottom{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:18px}
.glossary-boundary-card,.glossary-sources-card{padding:20px;border-radius:20px}
.glossary-boundary-card{border:1px solid #efd292;background:#fff8e5}.glossary-boundary-card h3,.glossary-sources-card h3{margin:0 0 8px;color:var(--navy);font-size:15px}.glossary-boundary-card p{margin:0;color:#6a562b;font-size:11.5px;line-height:1.65}.glossary-boundary-card b{color:#5b4217}
.glossary-sources-card{border:1px solid #d4dfdc;background:white}.glossary-source-list{display:grid;gap:7px}.glossary-source-list a{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:9px 10px;border:1px solid #e0e8e6;border-radius:12px;color:var(--navy);background:#fafcfc;text-decoration:none}.glossary-source-list a:hover{border-color:var(--teal);background:var(--teal-soft)}.glossary-source-list a b{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;color:white;background:var(--navy);font:900 9px/1 "Droid Sans Mono",monospace}.glossary-source-list strong{display:block;font-size:10.5px}.glossary-source-list small{display:block;margin-top:3px;color:#6d807f;font-size:8.5px;line-height:1.4}

/* Glossary annotation surface */
.glossary-annotation-layer{position:absolute;z-index:65;inset:0;overflow:visible;pointer-events:none}
.glossary-annotation-layer.is-active{pointer-events:auto;cursor:crosshair}
.glossary-annotation-layer[data-tool="text"]{cursor:text}
.glossary-annotation-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.glossary-annotation-text{position:absolute;z-index:2;max-width:270px;padding:8px 10px 8px 12px;border:1px solid color-mix(in srgb,var(--note-color) 48%,#dbe6e3);border-left:5px solid var(--note-color);border-radius:10px;color:#17364a;background:color-mix(in srgb,var(--note-color) 10%,rgba(255,255,255,.96));box-shadow:0 8px 22px rgba(12,44,73,.13);font:800 12px/1.45 "Droid Sans Mono",Lekton,Consolas,monospace;text-align:left;transform:translate(-5px,-5px);pointer-events:auto}
.glossary-annotation-text:before{content:"TEXT";display:block;margin-bottom:4px;color:var(--note-color);font-size:8px;letter-spacing:.12em}

/* Draggable floating editor */
.glossary-annotator{position:fixed;z-index:105;right:22px;bottom:22px;user-select:none;touch-action:none}
[dir="rtl"] .glossary-annotator{right:auto;left:22px}
.glossary-annotator.is-mini{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 18px 50px rgba(12,44,73,.22);backdrop-filter:blur(11px)}
.glossary-fab-grip{width:20px;height:42px;display:grid;place-items:center;border-radius:12px;color:#6c8181;cursor:grab;font:900 14px/1 monospace}.glossary-fab-grip:active,.glossary-annot-drag:active{cursor:grabbing}
.glossary-edit-fab{width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:15px;color:white;background:linear-gradient(145deg,var(--teal),#1d4f61);box-shadow:0 10px 24px rgba(8,127,120,.22);font-size:22px;font-weight:900}
.glossary-edit-panel{width:328px;overflow:hidden;border:1px solid #cbdad6;border-radius:19px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(12,44,73,.24);backdrop-filter:blur(12px)}
.glossary-annot-head{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 13px;color:white;background:linear-gradient(120deg,#0c2c47,#1d5666);cursor:grab}.glossary-annot-head strong{font:900 10px/1 "Droid Sans Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.glossary-annot-head span{color:#a8dcd2;font-size:9px}.glossary-annot-head button{width:28px;height:28px;border:1px solid rgba(255,255,255,.2);border-radius:9px;color:white;background:rgba(255,255,255,.08);font-size:16px;font-weight:900}
.glossary-annot-body{padding:12px}.glossary-annot-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.glossary-annot-tools button{min-height:42px;display:grid;place-items:center;gap:2px;padding:5px;border:1px solid #d7e1df;border-radius:11px;color:#34525c;background:#f9fbfb;font:850 9px/1.1 "Droid Sans Mono",monospace}.glossary-annot-tools button b{font-size:15px}.glossary-annot-tools button.active{border-color:var(--teal);color:var(--navy);background:var(--teal-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 18%,transparent)}.glossary-annot-tools button.danger:hover{border-color:#d98989;color:#8f3030;background:#fff0f0}
.glossary-annot-colors{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #e2e8e6}.glossary-annot-colors>span{margin-right:auto;color:#6c7f7d;font:850 8px/1 "Droid Sans Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.glossary-color{width:27px;height:27px;border:3px solid white;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #cbd8d5;transition:.15s}.glossary-color.active{box-shadow:0 0 0 2px var(--navy);transform:scale(1.08)}
.glossary-annot-hint{margin:9px 2px 0;color:#6d807e;font-size:9px;line-height:1.45}

/* Blue mode variants */
.app-shell.theme-blue .glossary-info-button{border-color:#bad0e7;background:linear-gradient(180deg,#fff,#f4f8fd)}.app-shell.theme-blue .glossary-info-button i{background:#356fb5}
.app-shell.theme-blue .glossary-info-hero{background:radial-gradient(circle at 86% 16%,rgba(143,190,239,.4),transparent 25%),linear-gradient(135deg,#0c2c49 0%,#174c7c 62%,#356fb5 100%)}.app-shell.theme-blue .glossary-info-hero .eyebrow{color:#b7d9fa}
.app-shell.theme-blue .glossary-flow-node b{background:#356fb5}.app-shell.theme-blue .glossary-source-list a:hover{border-color:#356fb5;background:#edf5ff}
.app-shell.theme-blue .glossary-edit-fab{background:linear-gradient(145deg,#356fb5,#174c7c);box-shadow:0 10px 24px rgba(53,111,181,.24)}.app-shell.theme-blue .glossary-annot-head{background:linear-gradient(120deg,#0c2c49,#356fb5)}.app-shell.theme-blue .glossary-annot-head span{color:#c7e0fb}.app-shell.theme-blue .glossary-annot-tools button.active{border-color:#356fb5;background:#edf5ff}.app-shell.theme-blue .glossary-annot-tools button.active{box-shadow:inset 0 0 0 1px rgba(53,111,181,.18)}

@media(max-width:900px){.glossary-proof-grid{grid-template-columns:1fr}.glossary-evidence-bottom{grid-template-columns:1fr}.glossary-flow-row{grid-template-columns:1fr}.glossary-flow-arrow{transform:rotate(90deg);justify-self:center}.glossary-flow-node{width:100%}.glossary-info-content{padding:20px}.glossary-info-hero{padding:29px 23px 24px}.glossary-edit-panel{width:min(318px,calc(100vw - 28px))}}
@media(max-width:620px){.glossary-hero-actions{justify-content:flex-start}.glossary-info-button{min-height:39px}.glossary-annotator{right:10px;bottom:10px}[dir="rtl"] .glossary-annotator{right:auto;left:10px}}


/* v12 — Today welcome + course orientation */
.sidebar nav{margin-bottom:auto}
.home-intro-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:2px}
.home-intro-row .status-pill{margin:0}
.home-info-chip{min-height:43px;display:inline-flex;align-items:center;gap:9px;padding:6px 12px 6px 7px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:13px;color:var(--ink);background:rgba(255,255,255,.72);box-shadow:0 6px 18px rgba(12,39,53,.045);text-align:left;transition:.18s ease}
.home-info-chip:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 50%,var(--line));background:#fff;box-shadow:0 10px 26px rgba(12,39,53,.09)}
.home-info-chip .chip-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;font-size:14px;font-weight:900;background:var(--accent);color:var(--primary)}
.home-info-chip b,.home-info-chip small{display:block}.home-info-chip b{font-size:10px;letter-spacing:.01em}.home-info-chip small{margin-top:2px;color:var(--ink-soft);font-size:8px;white-space:nowrap}
.committee-chip .chip-icon{background:linear-gradient(145deg,var(--accent),#fff)}
.journey-chip .chip-icon{background:linear-gradient(145deg,var(--gold-soft),#fff);color:#9b6913}
.course-info-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px;background:rgba(6,25,35,.68);backdrop-filter:blur(12px)}
.course-info-modal{position:relative;width:min(1180px,96vw);max-height:94vh;overflow:auto;border:1px solid rgba(255,255,255,.25);border-radius:28px;background:var(--white);box-shadow:0 40px 100px rgba(0,0,0,.3)}
.course-info-close{position:absolute;right:18px;top:18px;z-index:5;width:39px;height:39px;border:1px solid rgba(255,255,255,.36);border-radius:12px;color:white;background:rgba(7,39,55,.34);backdrop-filter:blur(8px);font-size:22px;line-height:1}
.committee-hero{position:relative;overflow:hidden;padding:42px 48px 36px;color:white;background:radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--primary) 65%,transparent),transparent 25%),linear-gradient(135deg,#0c2c47 0%,#123b4c 56%,#245d60 100%)}
.theme-blue .committee-hero{background:radial-gradient(circle at 82% 18%,rgba(100,172,255,.42),transparent 25%),linear-gradient(135deg,#0b2d52 0%,#164e7f 56%,#367ab6 100%)}
.committee-glow{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1)}.committee-glow.one{width:330px;height:330px;right:-90px;top:-120px;box-shadow:0 0 0 48px rgba(255,255,255,.03),0 0 0 96px rgba(255,255,255,.018)}.committee-glow.two{width:180px;height:180px;left:-65px;bottom:-100px;box-shadow:0 0 0 36px rgba(255,255,255,.025)}
.committee-kicker{position:relative;color:#9ee7d8;font:800 10px/1.2 "Droid Sans Mono","Courier New",monospace;letter-spacing:.18em}.theme-blue .committee-kicker{color:#b8dcff}
.committee-emblem{position:absolute;right:52px;top:62px;width:86px;height:86px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:24px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 8px rgba(255,255,255,.03);transform:rotate(5deg)}.committee-emblem span{font:900 25px/1 Georgia,serif;transform:rotate(-5deg)}
.committee-hero h2{position:relative;max-width:760px;margin:13px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,55px);line-height:1.02;letter-spacing:-.035em}.committee-hero>p{position:relative;max-width:850px;margin:0;color:#d9eceb;font-size:14px;line-height:1.7}
.committee-welcome{position:relative;max-width:900px;display:flex;gap:13px;margin-top:24px;padding:15px 18px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.075)}.committee-welcome>span{font:700 34px/1 Georgia,serif;color:#91ddcd}.committee-welcome b{display:block;font-size:11px}.committee-welcome p{margin:5px 0 0;color:#cfe2e0;font-size:11px;line-height:1.6}
.committee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:22px 24px 10px;background:linear-gradient(180deg,var(--paper),var(--white))}.committee-person{position:relative;min-height:200px;padding:18px;border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.9);box-shadow:0 10px 25px rgba(12,39,53,.055)}.committee-person:before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:20px 20px 0 0;background:var(--person-tone)}.committee-person.tone-1{--person-tone:var(--primary)}.committee-person.tone-2{--person-tone:var(--violet)}.committee-person.tone-3{--person-tone:var(--gold)}.committee-person.tone-4{--person-tone:var(--coral)}
.person-top{display:flex;align-items:center;justify-content:space-between}.person-avatar{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--person-tone),color-mix(in srgb,var(--person-tone) 68%,#102f45));font-size:14px;font-weight:900;box-shadow:0 8px 18px color-mix(in srgb,var(--person-tone) 20%,transparent)}.person-symbol{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;color:var(--person-tone);background:color-mix(in srgb,var(--person-tone) 10%,white)}.person-tag{display:inline-block;margin-top:16px;padding:4px 7px;border-radius:99px;color:var(--person-tone);background:color-mix(in srgb,var(--person-tone) 8%,white);font:800 8px/1.2 "Droid Sans Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.committee-person h3{margin:10px 0 6px;font-size:16px;letter-spacing:-.02em}.committee-person p{margin:0;color:var(--ink-soft);font-size:11px;line-height:1.5}
.committee-footer{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;align-items:center;padding:16px 24px 24px}.committee-footer>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px}.committee-footer>div>span{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--accent);font:900 9px/1 monospace}.committee-footer b{font-size:10px}.committee-footer small{color:var(--ink-soft);font-size:8px}.committee-footer .primary-button{white-space:nowrap}
.journey-modal{background:linear-gradient(145deg,var(--white),var(--paper))}.journey-modal-head{display:grid;grid-template-columns:1fr 250px;gap:30px;align-items:center;padding:38px 48px;color:white;background:linear-gradient(135deg,#0d3042,#1f5d5b)}.theme-blue .journey-modal-head{background:linear-gradient(135deg,#0b2e55,#276a9f)}.journey-modal-head h2{margin:10px 0 10px;font-family:Georgia,serif;font-size:clamp(30px,3.6vw,48px);line-height:1;letter-spacing:-.035em}.journey-modal-head p{max-width:760px;margin:0;color:#d9ecea;font-size:13px;line-height:1.65}
.journey-loop{position:relative;width:190px;height:190px;margin:auto;border:2px dashed rgba(255,255,255,.28);border-radius:50%;animation:journey-spin 28s linear infinite}.loop-center{position:absolute;inset:45px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);text-align:center;font:900 12px/1.25 "Droid Sans Mono",monospace;letter-spacing:.08em}.loop-node{position:absolute;padding:6px 8px;border-radius:99px;color:#0c3040;background:#fff;font-size:8px;font-style:normal;font-weight:800;box-shadow:0 5px 14px rgba(0,0,0,.15);animation:journey-unspin 28s linear infinite}.n1{left:58px;top:-12px}.n2{right:-27px;top:82px}.n3{left:62px;bottom:-12px}.n4{left:-24px;top:82px}@keyframes journey-spin{to{transform:rotate(360deg)}}@keyframes journey-unspin{to{transform:rotate(-360deg)}}
.journey-info-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);gap:18px;padding:22px 24px}.journey-path,.journey-side{display:grid;gap:10px}.journey-section-title{display:flex;align-items:center;justify-content:space-between;padding:4px 3px 8px}.journey-section-title span{color:var(--primary);font:900 8px/1 "Droid Sans Mono",monospace;letter-spacing:.14em}.journey-section-title b{font-size:10px}.journey-step{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.8)}.journey-step-no{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:var(--primary);background:var(--accent);font:900 11px/1 "Droid Sans Mono",monospace}.journey-step-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.journey-step h3{margin:0;font-size:13px}.journey-step-top span{padding:4px 7px;border-radius:99px;color:#8c6114;background:var(--gold-soft);font:800 8px/1 "Droid Sans Mono",monospace;white-space:nowrap}.journey-step p{margin:4px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.55}
.ready-card,.notes-card,.course-do-card{padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff}.ready-card{background:linear-gradient(145deg,var(--accent),#fff)}.ready-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--primary);font-size:18px;font-weight:900}.journey-side h3{margin:11px 0 10px;font-size:14px}.ready-card label{display:flex;gap:8px;padding:7px 0;border-top:1px solid rgba(18,37,53,.07);color:var(--ink-soft);font-size:9px;line-height:1.35}.ready-card label span{color:var(--primary);font-weight:900}.notes-kicker{color:var(--coral);font:900 8px/1 "Droid Sans Mono",monospace;letter-spacing:.14em}.note-template{display:grid;grid-template-columns:1fr 1fr;gap:7px}.note-template div{padding:10px;border-radius:11px;background:var(--paper)}.note-template b,.note-template span{display:block}.note-template b{color:var(--primary);font:900 8px/1.2 "Droid Sans Mono",monospace;letter-spacing:.08em}.note-template span{margin-top:4px;color:var(--ink-soft);font-size:8px;line-height:1.4}.course-do-card{border-color:color-mix(in srgb,var(--gold) 28%,var(--line));background:linear-gradient(145deg,var(--gold-soft),#fff)}.course-do-card p{margin:7px 0;color:var(--ink-soft);font-size:9px;line-height:1.45}.course-do-card p b{color:#9c6c15}.journey-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 24px 22px;border-top:1px solid var(--line);font-size:10px}.journey-modal-footer b{color:var(--primary)}
@media(max-width:980px){.committee-grid{grid-template-columns:1fr 1fr}.committee-footer{grid-template-columns:1fr 1fr}.journey-modal-head{grid-template-columns:1fr}.journey-loop{display:none}.journey-info-layout{grid-template-columns:1fr}.home-info-chip small{display:none}}
@media(max-width:640px){.course-info-overlay{padding:0}.course-info-modal{width:100vw;max-height:100vh;height:100vh;border-radius:0}.committee-hero,.journey-modal-head{padding:32px 22px}.committee-emblem{display:none}.committee-grid{grid-template-columns:1fr;padding:16px}.committee-footer{grid-template-columns:1fr;padding:12px 16px 20px}.journey-info-layout{padding:16px}.home-intro-row{gap:6px}.home-info-chip{padding-right:8px}.home-info-chip b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.journey-loop,.loop-node{animation:none}}


/* v13 — highlighted orientation titles, larger learning-playbook typography, evidence redesign, global page editor */
.marker-highlight{
  display:inline;
  padding:0 .08em .035em;
  color:#071d2d;
  background:#ffdc00;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  box-shadow:.09em 0 0 #ffdc00,-.09em 0 0 #ffdc00;
}
.journey-modal-head h2,.committee-hero h2{line-height:1.08}
.glossary-title-white{
  display:inline;
  color:#fff;
  background:linear-gradient(transparent 74%,#ffdc00 74% 92%,transparent 92%);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  text-shadow:0 2px 10px rgba(0,0,0,.16);
}
/* Increase the full 7-step learning-playbook body for maximum readability. */
.journey-section-title span{font-size:11px !important}.journey-section-title b{font-size:13px !important}
.journey-step{grid-template-columns:54px 1fr !important;gap:15px !important;padding:16px 18px !important}
.journey-step-no{width:48px !important;height:48px !important;font-size:11px !important}
.journey-step h3{font-size:17px !important}.journey-step-top span{font-size:10.5px !important;padding:5px 8px !important}
.journey-step p{font-size:14px !important;line-height:1.55 !important;margin-top:6px !important}
.journey-side h3{font-size:18px !important}.ready-card,.notes-card,.course-do-card{padding:20px !important}
.ready-card label{font-size:12.5px !important;line-height:1.45 !important;padding:9px 0 !important}
.notes-kicker{font-size:10.5px !important}.note-template b{font-size:10.5px !important}.note-template span{font-size:11px !important;line-height:1.45 !important}
.course-do-card p{font-size:12.5px !important;line-height:1.5 !important;margin:8px 0 !important}
.journey-modal-footer{font-size:13px !important}
/* Evidence popup: focus on learning methods implemented in the app, not generic exam facts. */
.glossary-info-hero h2{color:#fff}.glossary-info-hero p{font-size:15px;line-height:1.72}
.glossary-proof-grid.evidence-first{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.glossary-proof-grid.evidence-first .glossary-proof-card{min-height:250px;padding:19px}
.glossary-proof-card.proof-retrieval{--proof:#356fb5}.glossary-proof-card.proof-distributed{--proof:#2bbac5}.glossary-proof-card.proof-spacing{--proof:#b77a00}.glossary-proof-card.proof-licensing{--proof:#85144b}
.glossary-proof-card p{font-size:11px;line-height:1.6}.glossary-proof-card small{font-size:8.5px;line-height:1.45}
.evidence-flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.evidence-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;color:#0c2c47;background:#ffdc00;font:900 9px/1 "Droid Sans Mono",monospace;letter-spacing:.08em}
.evidence-translation p{font-size:11.5px;line-height:1.65}.evidence-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.evidence-mini-grid span{padding:10px;border-radius:12px;background:rgba(255,255,255,.72);font-size:10px;line-height:1.45}.evidence-mini-grid b{color:var(--primary)}
.pareto-card{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;margin-top:14px;padding:16px 18px;border:1px solid #ead28b;border-radius:18px;background:linear-gradient(135deg,#fff7cf,#fff)}.pareto-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;color:#0c2c47;background:#ffdc00;font:950 15px/1 "Droid Sans Mono",monospace;box-shadow:0 8px 20px rgba(189,139,0,.16)}.pareto-card h3{margin:0 0 5px;font-size:15px}.pareto-card p{margin:0;color:var(--ink-soft);font-size:11px;line-height:1.55}
/* Page-wide annotation launcher is now in the top bar and available on every main page. */
.app-shell{position:relative}
.page-edit-trigger{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:rgba(255,255,255,.9);box-shadow:0 4px 12px rgba(12,44,73,.06);font-size:11px;font-weight:850}
.page-edit-trigger span{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;color:white;background:linear-gradient(145deg,var(--primary),var(--navy-2));font-size:13px}.page-edit-trigger:hover,.page-edit-trigger.is-open{border-color:color-mix(in srgb,var(--primary) 48%,var(--line));background:var(--accent)}
.app-shell.theme-blue .page-edit-trigger span{background:linear-gradient(145deg,#4f8ed4,#174c7c)}
.glossary-annotation-layer{position:absolute !important;z-index:65 !important;top:74px !important;left:254px !important;right:0 !important;bottom:0 !important;inset:74px 0 0 254px !important;overflow:hidden !important}
.sidebar-collapsed .glossary-annotation-layer{left:68px !important;inset:74px 0 0 68px !important}
[dir="rtl"] .glossary-annotation-layer{left:0 !important;right:254px !important;inset:74px 254px 0 0 !important}
[dir="rtl"] .sidebar-collapsed .glossary-annotation-layer{left:0 !important;right:68px !important;inset:74px 68px 0 0 !important}
.glossary-annotator.page-annotator{top:82px;right:170px;bottom:auto;z-index:120}
[dir="rtl"] .glossary-annotator.page-annotator{right:auto;left:170px}
.glossary-annot-head strong{font-size:11px}.glossary-annot-head span{font-size:9px}
.glossary-annot-hint{font-size:9.5px;line-height:1.5}
@media(max-width:1180px){.glossary-proof-grid.evidence-first{grid-template-columns:1fr 1fr}.journey-info-layout{grid-template-columns:minmax(0,1.35fr) minmax(310px,.75fr)}}
@media(max-width:900px){.glossary-annotation-layer,.sidebar-collapsed .glossary-annotation-layer,[dir="rtl"] .glossary-annotation-layer,[dir="rtl"] .sidebar-collapsed .glossary-annotation-layer{left:0 !important;right:0 !important;inset:74px 0 0 0 !important}.glossary-annotator.page-annotator{right:12px;left:auto;top:78px}.glossary-proof-grid.evidence-first{grid-template-columns:1fr}.evidence-mini-grid{grid-template-columns:1fr}.page-edit-trigger b{display:none}.page-edit-trigger{padding:0 7px}}
@media(max-width:640px){.journey-step p{font-size:13px !important}.ready-card label,.course-do-card p{font-size:12px !important}.note-template span{font-size:10.5px !important}.glossary-annotator.page-annotator{width:min(328px,calc(100vw - 20px));right:10px}.glossary-edit-panel{width:100%}.pareto-card{grid-template-columns:1fr}.pareto-icon{width:58px;height:58px}}


/* v14 — popup-tab contrast + protected course library launcher */
.standalone-tabbar{
  background:#eaf3fb !important;
  border-color:#bfd3e7 !important;
  box-shadow:inset 0 -1px rgba(12,44,71,.08) !important;
}
.standalone-tabbar button{
  color:#123a5f !important;
  background:transparent !important;
  border:1px solid transparent !important;
  font-weight:850 !important;
}
.standalone-tabbar button:hover:not(.active){
  color:#0c2c47 !important;
  background:#dcecf9 !important;
  border-color:#b9d1e6 !important;
}
.standalone-tabbar button.active{
  color:#fff !important;
  background:#0c2c47 !important;
  border-color:#4e87b8 !important;
  box-shadow:inset 0 -3px #8fc3ef,0 3px 10px rgba(12,44,71,.14) !important;
}
.app-shell.theme-blue .standalone-tabbar{
  background:#e8f2fc !important;
  border-color:#b7cee5 !important;
}
.app-shell.theme-blue .standalone-tabbar button:not(.active){color:#113b65 !important}
.app-shell.theme-blue .standalone-tabbar button.active{
  color:#fff !important;
  background:#103d69 !important;
  border-color:#7fb1df !important;
  box-shadow:inset 0 -3px #a9ccef,0 3px 10px rgba(12,44,73,.14) !important;
}

.library-chip .chip-icon{
  background:linear-gradient(145deg,#e9f4ff,#fff);
  color:#245f9b;
}
.course-library-modal{overflow:hidden}
.course-library-hero{
  position:relative;overflow:hidden;padding:42px 48px 34px;color:#fff;
  background:
    radial-gradient(circle at 88% 8%,rgba(137,195,244,.36),transparent 27%),
    linear-gradient(135deg,#0c2c47 0%,#154d79 58%,#2d6fa7 100%);
}
.course-library-hero:after{
  content:"";position:absolute;right:-90px;bottom:-150px;width:330px;height:330px;border:1px solid rgba(255,255,255,.11);
  border-radius:50%;box-shadow:0 0 0 48px rgba(255,255,255,.035),0 0 0 96px rgba(255,255,255,.018)
}
.course-library-hero .committee-kicker{color:#bfe0ff}
.course-library-hero h2{
  position:relative;max-width:760px;margin:12px 0 10px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.04em
}
.course-library-hero p{position:relative;max-width:830px;margin:0;color:#e2eef8;font-size:14px;line-height:1.7}
.library-choice-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:26px;background:linear-gradient(180deg,#f6f9fc,#fff)
}
.library-choice{
  position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
  min-height:190px;padding:24px;border:1px solid #c7d9e9;border-radius:22px;color:#0c2c47;background:#fff;
  text-decoration:none;box-shadow:0 14px 34px rgba(12,44,71,.07);transition:.2s ease
}
.library-choice:hover{transform:translateY(-3px);border-color:#75a8d5;box-shadow:0 20px 44px rgba(12,44,71,.12)}
.library-choice-icon{
  width:66px;height:66px;display:grid;place-items:center;border-radius:20px;color:#fff;
  background:linear-gradient(145deg,#0c2c47,#3278b5);font-size:29px;font-weight:900
}
.library-choice:nth-child(2) .library-choice-icon{background:linear-gradient(145deg,#85144b,#c04478)}
.library-choice small{display:block;color:#547086;font:850 9px/1.3 "Droid Sans Mono",monospace;letter-spacing:.09em;text-transform:uppercase}
.library-choice h3{margin:7px 0 7px;font-size:22px;letter-spacing:-.025em}
.library-choice p{margin:0;color:#5d7384;font-size:12px;line-height:1.55}
.library-choice .library-count{align-self:start;padding:7px 10px;border-radius:99px;color:#245f9b;background:#eaf3fb;font:900 10px/1 "Droid Sans Mono",monospace}
.library-choice:nth-child(2) .library-count{color:#85144b;background:#faeaf1}
.library-protection-note{
  display:flex;align-items:flex-start;gap:10px;margin:0 26px 26px;padding:14px 16px;border:1px solid #d7e3ee;border-radius:14px;
  color:#415d72;background:#f7fafc;font-size:10px;line-height:1.55
}
.library-protection-note b{color:#0c2c47}
@media(max-width:820px){.library-choice-grid{grid-template-columns:1fr}.course-library-hero{padding:34px 24px}.library-choice{grid-template-columns:auto 1fr}.library-choice .library-count{grid-column:2}}


/* SNLE Guide — exam-day planner: enlarge internal instructional copy ~50% for clarity. */
.guide-page .study-milestone{padding:18px}
.guide-page .study-milestone-head .guide-number{font-size:13px!important}
.guide-page .study-milestone-head strong{font-size:20px!important;line-height:1.2}
.guide-page .study-milestone-head small{font-size:13px!important;line-height:1.3}
.guide-page .study-milestone h3{font-size:21px!important;line-height:1.25;margin-bottom:10px}
.guide-page .study-milestone ul{font-size:17px!important;line-height:1.52;padding-left:22px}
.guide-page .study-commit>span{font-size:13px!important}
.guide-page .study-commit textarea{font-size:16px!important;line-height:1.45;min-height:100px}
.guide-page .plan-focus h3{font-size:20px!important}.guide-page .plan-why,.guide-page .plan-do{font-size:16px!important;line-height:1.55}.guide-page .plan-do b{font-size:12px!important}
@media(max-width:1280px){.guide-page .study-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Glossary: undo oversized family labels by ~25%; line up English + Arabic; remove dead space. */
.glossary-category-list button{font-size:18px!important;min-height:48px!important;padding:8px 10px!important;line-height:1.2!important}
.glossary-category-list button b{font-size:12px!important;min-width:30px!important}
.glossary-term-list button{padding:9px 11px!important;min-height:58px!important}
.glossary-term-list .gl-term-pair{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(130px,.8fr);gap:10px;align-items:center;width:100%}
.glossary-term-list button strong{font-size:18px!important;line-height:1.25!important}
.glossary-term-list button .gl-term-pair>span{margin:0!important;font-size:15px!important;line-height:1.3!important;text-align:right;color:#536d77}
.glossary-detail{padding:14px 18px 22px!important}
.glossary-title-line{display:flex;align-items:baseline;justify-content:space-between;gap:22px;padding-bottom:8px;border-bottom:1px solid #e0e7ec}
.glossary-title-line h2{margin:4px 0!important;font-size:38px!important;line-height:1!important}
.glossary-title-line .glossary-arabic{margin:0!important;font-size:20px!important;font-weight:800;line-height:1.25;text-align:right}
.glossary-meaning-line{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr);gap:12px;align-items:stretch;margin:10px 0 12px}
.glossary-meaning-line .glossary-definition{margin:0!important;padding:10px 12px;border:1px solid #dce6ed;border-radius:10px;background:#f8fbfd;font-size:16px!important;line-height:1.45}
.glossary-meaning-line .memory-note{margin:0!important;display:flex;align-items:center;padding:10px 12px;font-size:14px!important;line-height:1.4}
.glossary-detail .example-label{margin:12px 0 8px!important}
@media(max-width:1050px){.glossary-meaning-line{grid-template-columns:1fr}.glossary-term-list .gl-term-pair{grid-template-columns:1fr}.glossary-term-list button .gl-term-pair>span{text-align:left}}

/* Practice Hub: replace four mode cards with one focused mock command center. */
.mock-only-hub .practice-heading{margin-bottom:16px}
.mock-command-center{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.55fr);gap:18px;padding:28px;border:1px solid #c6d9e8;border-radius:24px;background:linear-gradient(145deg,#fff,#eef6fd);box-shadow:0 18px 50px rgba(12,44,71,.09)}
.mock-command-copy h2{margin:8px 0 8px;font:800 clamp(28px,3.2vw,44px)/1.02 Georgia,serif;letter-spacing:-.035em;color:#0c2c47}.mock-command-copy>p{max-width:760px;color:#546f83;font-size:14px;line-height:1.55}
.mock-mode-switch-v15{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 12px!important}.mock-mode-switch-v15 button{display:grid!important;grid-template-columns:48px 1fr!important;gap:11px!important;align-items:center!important;min-height:92px!important;padding:13px!important;text-align:left!important}.mock-mode-switch-v15 .mode-orb{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#e8f1fa;color:#245f9b;font:900 12px monospace}.mock-mode-switch-v15 button.active .mode-orb{background:#fff;color:#0c2c47}.mock-mode-switch-v15 b{font-size:16px!important}.mock-mode-switch-v15 small{display:block;margin-top:4px;font-size:11px!important;line-height:1.35}
.mock-evidence-note{padding:12px 14px;border-left:4px solid #356fb5;border-radius:10px;background:#f1f7fd;color:#365b76;font-size:12px;line-height:1.55}.mock-evidence-note.exam{border-left-color:#85144b;background:#fff4f8}
.mock-launch-panel{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:20px;color:#fff;background:linear-gradient(150deg,#0c2c47,#245f9b)}.mock-launch-panel label{display:grid;gap:6px;color:#cfe2f3;font-size:10px;font-weight:800;letter-spacing:.05em}.mock-select-v15{width:100%!important;height:44px!important;color:#0c2c47!important;background:#fff!important;border-color:#9dbbd5!important}.mock-length-display{display:flex;align-items:end;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}.mock-length-display small{margin-right:auto;color:#c2d8eb;font:900 9px monospace;letter-spacing:.1em}.mock-length-display strong{font:900 46px/1 Georgia,serif}.mock-length-display span{padding-bottom:5px;color:#dceaf5;font-size:11px}.mock-launch-meta{display:grid;gap:6px;padding:8px 0}.mock-launch-meta span{padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.08);font-size:10px}.mock-launch-panel .mock-launch{background:#fff!important;border-color:#fff!important;color:#0c2c47!important;font-weight:900}.mock-launch-panel .secondary-button{border-color:rgba(255,255,255,.28)!important;color:#fff!important;background:rgba(255,255,255,.07)!important}
.mock-reset-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.mock-reset-evidence>div{padding:13px 15px;border:1px solid #d6e2ec;border-radius:13px;background:#fff}.mock-reset-evidence b{display:block;margin-bottom:5px;color:#0c2c47;font-size:11px}.mock-reset-evidence span{color:#5b7182;font-size:10.5px;line-height:1.5}
@media(max-width:950px){.mock-command-center{grid-template-columns:1fr}.mock-reset-evidence{grid-template-columns:1fr}}
@media(max-width:620px){.mock-mode-switch-v15{grid-template-columns:1fr!important}}

/* Reset & Recharge: remove empty height, align content, show evidence timing and realistic scenario. */
.reset-evidence-timing{display:grid;grid-template-columns:210px 1fr;gap:12px 18px;align-items:start;margin:-4px 0 14px;padding:13px 15px;border:1px solid #c7dbea;border-radius:14px;background:#f2f8fd;color:#31546f}.reset-evidence-timing>b{font-size:13px;color:#0c2c47}.reset-evidence-timing>span{font-size:11.5px;line-height:1.55}.reset-evidence-timing>small{grid-column:2;color:#6b8090;font-size:9px;line-height:1.4}
.reset-studio{align-items:start!important}.reset-stage,.reset-guide{padding:18px!important}.reset-stage-body{min-height:0!important;margin-top:12px!important;padding:14px!important;align-self:start!important}.reset-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reset-guide-grid article{padding:10px 11px!important}.reset-guide-grid span{font-size:11px!important;line-height:1.45!important}.reset-progress-note{font-size:11px!important;line-height:1.45!important}
.reset-scenario{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:start;margin:0 0 10px;padding:12px 14px;border:1px solid #bcd2e3;border-left:5px solid #85144b;border-radius:11px;background:#fff;color:#3f5f76}.reset-scenario b{color:#85144b;font:900 9px/1.35 "Droid Sans Mono",Consolas,monospace;letter-spacing:.08em}.reset-scenario span{font-size:12.5px;line-height:1.5}
.box-breathing.running .box-breath-dot{animation:none!important}.box-breath-dot{transition:none!important}
@media(max-width:920px){.reset-evidence-timing,.reset-scenario{grid-template-columns:1fr}.reset-evidence-timing>small{grid-column:1}.reset-guide-grid{grid-template-columns:1fr!important}}



/* v16 — dense readability, resizable glossary, guide facts, mock/reset polish */

/* Home: hide the redundant learner-journey card row and turn the snapshot into the facts dashboard. */
.home-view .journey-section{display:none!important}
.home-view .content-snapshot{margin-top:30px!important;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;gap:28px!important;padding:28px 30px!important}
.home-view .content-snapshot h2{font-size:30px!important;line-height:1.1}
.home-view .content-snapshot p{font-size:14px!important;line-height:1.62}
.home-view .snapshot-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
.home-view .snapshot-stats div{min-height:104px;display:grid;align-content:center;padding:14px 18px!important;border-left:1px solid #cbd9e4!important}
.home-view .snapshot-stats strong{color:#0c2c47!important;font:950 44px/1 "Droid Sans Mono",Lekton,Consolas,monospace!important;letter-spacing:-.045em}
.home-view .snapshot-stats span{margin-top:8px!important;color:#536c7f!important;font:850 14px/1.25 "Droid Sans Mono",Lekton,Consolas,monospace!important}

/* Course library hero title: deliberate yellow marker. */
.course-library-hero h2{color:#071d2d!important;background:#ffdc00!important;display:inline!important;padding:0 .07em .045em!important;box-decoration-break:clone;-webkit-box-decoration-break:clone;box-shadow:.08em 0 0 #ffdc00,-.08em 0 0 #ffdc00}

/* SNLE Guide facts: stronger numerals + added timing facts + hover pulse. */
.guide-page .guide-facts{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
.guide-page .guide-facts article{min-height:220px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding:24px 16px!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.guide-page .guide-facts article:hover{border-color:#71a7d6!important;animation:v16GuidePulse .72s ease-in-out infinite alternate;box-shadow:0 14px 35px rgba(12,44,71,.13)}
.guide-page .guide-facts b{color:#050b10!important;font-size:108px!important;line-height:1!important;letter-spacing:-.025em;display:flex!important;justify-content:center!important;align-items:center!important}
.guide-page .guide-facts .segment-display{color:#050b10!important;font-weight:950!important;font-size:108px!important}
.guide-page .guide-facts span{margin-top:8px!important;color:#36546d!important;font-size:14px!important;font-weight:850!important}
@keyframes v16GuidePulse{from{transform:translateY(-1px) scale(1.005)}to{transform:translateY(-3px) scale(1.025)}}

/* Evidence / Why this matters: +25% readability throughout the information screen. */
.glossary-info-modal .glossary-info-hero p{font-size:18px!important;line-height:1.72!important}
.glossary-info-modal .glossary-proof-card h3{font-size:17.5px!important;line-height:1.3!important}
.glossary-info-modal .glossary-proof-card p{font-size:14.25px!important;line-height:1.62!important}
.glossary-info-modal .glossary-proof-card small{font-size:11.25px!important;line-height:1.48!important}
.glossary-info-modal .glossary-evidence-flow h3{font-size:22px!important}
.glossary-info-modal .glossary-evidence-flow p{font-size:13.75px!important}
.glossary-info-modal .glossary-flow-node strong{font-size:13.75px!important}
.glossary-info-modal .glossary-flow-node span{font-size:11.25px!important}
.glossary-info-modal .glossary-boundary-card h3,.glossary-info-modal .glossary-sources-card h3{font-size:18.75px!important}
.glossary-info-modal .glossary-boundary-card p{font-size:14.25px!important}
.glossary-info-modal .glossary-source-list strong{font-size:13px!important}
.glossary-info-modal .glossary-source-list small{font-size:10.5px!important}
.glossary-info-modal .pareto-card p{font-size:14px!important;line-height:1.6!important}

/* Glossary: draggable vertical splitter between term list and teaching detail. */
.glossary-shell{grid-template-columns:230px clamp(250px,var(--glossary-list-width,390px),48%) 10px minmax(0,1fr)!important}
.glossary-list-pane{min-width:0!important}
.glossary-detail{min-width:0!important}
.glossary-splitter{position:relative;z-index:8;width:10px;cursor:col-resize;touch-action:none;background:linear-gradient(90deg,transparent 0 3px,#79a8d1 3px 7px,transparent 7px);transition:background .15s ease}
.glossary-splitter:before{content:"↔";position:absolute;top:50%;left:50%;width:28px;height:42px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid #a8c4dc;border-radius:10px;color:#174c79;background:#f8fbff;box-shadow:0 8px 22px rgba(12,44,71,.13);font:900 13px/1 monospace}
.glossary-splitter:hover,.glossary-splitter.is-dragging{background:linear-gradient(90deg,transparent 0 2px,#356fb5 2px 8px,transparent 8px)}

/* Mock exam — hierarchy and readability requested in annotated screenshot. */
.mock-only-hub .mock-length-display strong{color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.2)!important}
.mock-only-hub .mock-mode-switch-v15 b{font-size:20px!important}
.mock-only-hub .mock-mode-switch-v15 small{font-size:13.75px!important;line-height:1.45!important}
.mock-only-hub .mock-evidence-note{font-size:18px!important;line-height:1.62!important;padding:16px 18px!important}
.mock-only-hub .mock-reset-evidence>div{padding:18px 20px!important}
.mock-only-hub .mock-reset-evidence b{font-size:16px!important}
.mock-only-hub .mock-reset-evidence span{font-size:15.75px!important;line-height:1.62!important}
.mock-only-hub .mock-launch-meta span{font-size:15px!important;line-height:1.3!important;padding:10px 12px!important}
.mock-only-hub .mock-launch-panel label{font-size:13px!important}
.mock-only-hub .mock-select-v15{font-size:15px!important}

/* Reset & Recharge — evidence moved to a pop-up; right teaching panel +25%. */
.reset-timing-launch{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 15px;padding:14px 17px;border:1px solid #b9d0e3;border-radius:14px;color:#123a5f;background:linear-gradient(120deg,#f9fcff,#e9f3fc);text-align:left;transition:.18s ease}
.reset-timing-launch:hover{transform:translateY(-2px);border-color:#6d9fca;box-shadow:0 12px 28px rgba(12,44,71,.10)}
.reset-timing-launch span{display:grid;gap:3px}.reset-timing-launch b{font-size:14px}.reset-timing-launch small{color:#60788c;font-size:11px;line-height:1.4}.reset-timing-launch i{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:#fff;background:#356fb5;font-style:normal;font-weight:900}
.reset-guide>.eyebrow{font-size:12.5px!important}.reset-guide h3{font-size:25px!important}.reset-guide-grid strong{font-size:13.75px!important}.reset-guide-grid span{font-size:13.75px!important;line-height:1.55!important}.reset-progress-note{font-size:13.75px!important;line-height:1.52!important}
.reset-timing-overlay{position:fixed;inset:0;z-index:210;display:grid;place-items:center;padding:24px;background:rgba(3,20,34,.78);backdrop-filter:blur(12px)}
.reset-timing-modal{position:relative;width:min(1080px,calc(100vw - 32px));max-height:calc(100vh - 36px);overflow:auto;border-radius:25px;background:#f7fbff;box-shadow:0 38px 120px rgba(0,0,0,.38)}
.reset-timing-close{position:sticky;z-index:5;float:right;top:14px;margin:14px 14px -52px 0;width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:11px;color:#fff;background:rgba(6,34,55,.66);font-size:21px;font-weight:900}
.reset-timing-hero{padding:34px 38px 30px;color:#fff;background:radial-gradient(circle at 88% 20%,rgba(111,166,221,.38),transparent 29%),linear-gradient(135deg,#0c2c47,#245f9b)}
.reset-timing-hero .eyebrow{color:#b9dcfb}.reset-timing-hero h2{max-width:780px;margin:8px 0;font:800 clamp(30px,4vw,50px)/1.02 Georgia,serif;letter-spacing:-.035em}.reset-timing-hero p{max-width:850px;margin:0;color:#deebf7;font-size:14px;line-height:1.65}
.reset-timing-content{padding:24px 28px 30px}.reset-timing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reset-time-card{padding:19px;border:1px solid #ccdae6;border-top:5px solid var(--rt,#356fb5);border-radius:18px;background:#fff}.reset-time-card strong{display:block;color:#0c2c47;font:950 28px/1 "Droid Sans Mono",monospace}.reset-time-card h3{margin:10px 0 6px;font-size:17px}.reset-time-card p{margin:0;color:#526c80;font-size:13px;line-height:1.55}.reset-time-card small{display:block;margin-top:10px;color:#738596;font-size:10px;line-height:1.45}.reset-time-card.study{--rt:#356fb5}.reset-time-card.meta{--rt:#c78a12}.reset-time-card.exam{--rt:#85144b}
.reset-timing-flow{margin-top:14px;padding:19px;border:1px solid #d0dee9;border-radius:18px;background:#fff}.reset-timing-flow h3{margin:0 0 12px;font-size:18px}.reset-timing-line{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:9px;align-items:center}.reset-timing-node{padding:13px;border-radius:13px;background:#eef5fb;text-align:center}.reset-timing-node b{display:block;color:#0c2c47;font-size:14px}.reset-timing-node span{display:block;margin-top:4px;color:#60778b;font-size:11px;line-height:1.35}.reset-timing-arrow{color:#356fb5;font-size:20px;font-weight:900}.reset-timing-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.reset-timing-points div{padding:13px 15px;border-radius:13px;background:#edf4fa;color:#36566f;font-size:12px;line-height:1.55}.reset-timing-points b{color:#0c2c47}

/* Sidebar — more air between destinations + subtle motion on hover. */
.sidebar nav{gap:10px!important;margin-top:34px!important}.sidebar-section-label{margin-top:10px!important;margin-bottom:2px!important}.sidebar nav button{min-height:49px!important;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease!important}.sidebar nav button:hover{transform:translateX(5px) scale(1.018);background:rgba(255,255,255,.095)!important;box-shadow:0 9px 20px rgba(2,17,27,.14)}.sidebar nav button:hover .nav-icon{transform:translateY(-2px) rotate(-3deg);box-shadow:0 7px 16px rgba(0,0,0,.16)}.nav-icon{transition:transform .2s ease,box-shadow .2s ease!important}[dir="rtl"] .sidebar nav button:hover{transform:translateX(-5px) scale(1.018)}

@media(max-width:1180px){.home-view .content-snapshot{grid-template-columns:1fr!important}.guide-page .guide-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reset-timing-cards{grid-template-columns:1fr}}
@media(max-width:950px){.glossary-shell{grid-template-columns:180px 1fr!important}.glossary-splitter{display:none!important}.glossary-detail{grid-column:1/-1!important}.sidebar nav button:hover{transform:none}}
@media(max-width:680px){.home-view .snapshot-stats{grid-template-columns:1fr 1fr!important}.reset-timing-line{grid-template-columns:1fr}.reset-timing-arrow{transform:rotate(90deg);text-align:center}.reset-timing-points{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.guide-page .guide-facts article:hover{animation:none}.sidebar nav button:hover,.sidebar nav button:hover .nav-icon{transform:none!important}}


/* v17 exact correction pass */

/* Today — remove the redundant five-card learner journey. */
.home-view .journey-section{display:none!important}

/* Today — committee / journey / course library buttons at about 2× footprint. */
.home-intro-row{gap:14px!important;margin-bottom:18px!important}
.home-info-chip{
  min-height:82px!important;min-width:250px!important;gap:14px!important;
  padding:12px 20px 12px 12px!important;border-radius:18px!important;
  box-shadow:0 10px 24px rgba(12,44,71,.075)!important
}
.home-info-chip .chip-icon{
  width:54px!important;height:54px!important;border-radius:15px!important;font-size:22px!important
}
.home-info-chip b{font-size:15px!important;line-height:1.2!important}
.home-info-chip small{
  margin-top:5px!important;font-size:11px!important;line-height:1.25!important;white-space:normal!important
}
.home-info-chip:hover{
  transform:translateY(-4px) scale(1.015)!important;
  box-shadow:0 16px 34px rgba(12,44,71,.13)!important
}

/* Today snapshot — +50% labels and about 2× numerals. */
.home-view .content-snapshot{
  margin-top:26px!important;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;
  gap:28px!important;padding:30px 32px!important
}
.home-view .content-snapshot h2{font-size:31px!important}
.home-view .content-snapshot p{font-size:15px!important;line-height:1.65!important}
.home-view .snapshot-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
.home-view .snapshot-stats div{
  min-height:118px!important;display:grid!important;align-content:center!important;padding:16px 20px!important
}
.home-view .snapshot-stats strong{
  color:#0c2c47!important;
  font:950 48px/1 "Droid Sans Mono",Lekton,Consolas,monospace!important;
  letter-spacing:-.055em!important
}
.home-view .snapshot-stats span{
  margin-top:10px!important;color:#405e76!important;
  font:850 15px/1.3 "Droid Sans Mono",Lekton,Consolas,monospace!important
}

/* Course library headline marker. */
.course-library-hero h2{
  color:#071d2d!important;background:#ffdc00!important;display:inline!important;
  padding:0 .08em .045em!important;box-decoration-break:clone!important;
  -webkit-box-decoration-break:clone!important;
  box-shadow:.09em 0 0 #ffdc00,-.09em 0 0 #ffdc00!important
}

/* Glossary — restore normal 3-pane status. Only the divider after the term list is resizable. */
.glossary-shell{
  width:100%!important;height:calc(100dvh - 252px)!important;min-height:610px!important;
  display:grid!important;
  grid-template-columns:minmax(275px,18vw) minmax(320px,var(--glossary-list-width,390px)) 12px minmax(0,1fr)!important;
  overflow:hidden!important
}
.glossary-categories,.glossary-list-pane,.glossary-detail{min-height:0!important;height:100%!important}
.glossary-categories{overflow:auto!important}
.glossary-list-pane{min-width:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.glossary-term-list{flex:1 1 auto!important;min-height:0!important;overflow:auto!important}
.glossary-detail{min-width:0!important;grid-column:auto!important;overflow:auto!important}
.glossary-splitter{
  position:relative!important;z-index:8!important;width:12px!important;height:100%!important;
  cursor:col-resize!important;touch-action:none!important;
  background:linear-gradient(90deg,transparent 0 4px,#6d9fca 4px 8px,transparent 8px)!important
}
.glossary-splitter:before{
  content:"↔"!important;position:absolute!important;top:50%!important;left:50%!important;
  width:30px!important;height:46px!important;display:grid!important;place-items:center!important;
  transform:translate(-50%,-50%)!important;border:1px solid #9fbcd4!important;border-radius:10px!important;
  color:#174c79!important;background:#f8fbff!important;box-shadow:0 8px 22px rgba(12,44,71,.14)!important;
  font:900 14px/1 "Droid Sans Mono",monospace!important
}
.glossary-splitter:hover,.glossary-splitter.is-dragging{
  background:linear-gradient(90deg,transparent 0 3px,#245f9b 3px 9px,transparent 9px)!important
}

/* Mock Exam — white length number + requested readability. */
.mock-only-hub .mock-length-display strong{
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 2px 5px rgba(0,0,0,.22)!important
}
.mock-only-hub .mock-mode-switch-v15 b{font-size:20px!important}
.mock-only-hub .mock-mode-switch-v15 small{font-size:15px!important;line-height:1.5!important}
.mock-only-hub .mock-evidence-note{font-size:18px!important;line-height:1.64!important;padding:17px 19px!important}
.mock-only-hub .mock-launch-meta span{font-size:15.5px!important;line-height:1.35!important;padding:11px 13px!important}
.mock-only-hub .mock-launch-panel label{font-size:13.5px!important}
.mock-only-hub .mock-select-v15{font-size:16px!important}

/* Reset & Recharge — Evidence & timing is a small popup launcher in the header only. */
.reset-page .page-hero{align-items:center!important}
.reset-hero-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:9px!important;flex-wrap:wrap!important
}
.reset-timing-launch.compact{
  width:auto!important;min-height:38px!important;margin:0!important;
  padding:5px 10px 5px 6px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center!important;gap:7px!important;border:1px solid #b6cde0!important;
  border-radius:11px!important;color:#123a5f!important;background:#f7fbff!important;
  box-shadow:0 5px 14px rgba(12,44,71,.06)!important
}
.reset-timing-launch.compact i{
  width:26px!important;height:26px!important;border-radius:8px!important;font-size:12px!important
}
.reset-timing-launch.compact b{font-size:10.5px!important;line-height:1!important}
.reset-timing-launch.compact:hover{transform:translateY(-2px)!important;background:#eaf4fd!important}

/* Reset right teaching panel +25%. */
.reset-guide>.eyebrow{font-size:12.5px!important}
.reset-guide h3{font-size:25px!important}
.reset-guide-grid strong{font-size:13.75px!important}
.reset-guide-grid span{font-size:13.75px!important;line-height:1.55!important}
.reset-progress-note{font-size:13.75px!important;line-height:1.52!important}

/* Sidebar — 50% more space, no horizontal scrollbar, better hover animation. */
.sidebar{overflow-x:hidden!important}
.sidebar nav{
  gap:15px!important;margin-top:36px!important;margin-bottom:auto!important;overflow-x:clip!important
}
.sidebar-section-label{margin-top:15px!important;margin-bottom:0!important}
.sidebar nav button{
  min-height:49px!important;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease!important
}
.sidebar nav button:hover{
  transform:translateY(-3px) scale(1.012)!important;background:rgba(255,255,255,.095)!important;
  box-shadow:0 9px 20px rgba(2,17,27,.14)!important
}
.sidebar nav button:hover .nav-icon{transform:translateY(-2px) rotate(-3deg)!important}
.sidebar-author{
  margin-top:18px;padding:11px 8px 2px;border-top:1px solid rgba(255,255,255,.12);
  color:#b9d3e7;font:800 10px/1.35 "Droid Sans Mono",Lekton,Consolas,monospace;
  letter-spacing:.035em;text-align:center
}
.sidebar-collapsed .sidebar-author{font-size:0;border-top-color:rgba(255,255,255,.09)}
.sidebar-collapsed .sidebar-author:after{
  content:"HA";font:900 10px/1 "Droid Sans Mono",monospace;color:#b9d3e7
}

/* Preserve intended v16 guide fact-card readability. */
.guide-page .guide-facts{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
.guide-page .guide-facts article{
  min-height:118px!important;display:grid!important;place-items:center!important;align-content:center!important;
  padding:16px 12px!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important
}
.guide-page .guide-facts article:hover{
  transform:translateY(-3px) scale(1.025)!important;border-color:#71a7d6!important;
  box-shadow:0 14px 35px rgba(12,44,71,.13)!important
}
.guide-page .guide-facts b,.guide-page .guide-facts .segment-display{color:#050b10!important;font-weight:950!important}
.guide-page .guide-facts b{font:950 27px/1 "Droid Sans Mono",Lekton,Consolas,monospace!important}
.guide-page .guide-facts span{margin-top:8px!important;color:#36546d!important;font-size:14px!important;font-weight:850!important}

/* Evidence popup readability retained. */
.glossary-info-modal .glossary-info-hero p{font-size:18px!important;line-height:1.72!important}
.glossary-info-modal .glossary-proof-card h3{font-size:17.5px!important}
.glossary-info-modal .glossary-proof-card p{font-size:14.25px!important;line-height:1.62!important}
.glossary-info-modal .glossary-proof-card small{font-size:11.25px!important}
.glossary-info-modal .glossary-evidence-flow h3{font-size:22px!important}
.glossary-info-modal .glossary-evidence-flow p{font-size:13.75px!important}
.glossary-info-modal .glossary-flow-node strong{font-size:13.75px!important}
.glossary-info-modal .glossary-flow-node span{font-size:11.25px!important}

@media(max-width:1180px){
  .home-view .content-snapshot{grid-template-columns:1fr!important}
  .guide-page .guide-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:950px){
  .glossary-shell{height:auto!important;min-height:0!important;grid-template-columns:1fr!important}
  .glossary-categories,.glossary-list-pane,.glossary-detail{height:auto!important}
  .glossary-splitter{display:none!important}.glossary-detail{grid-column:1/-1!important}
}
@media(max-width:760px){
  .home-info-chip{min-width:100%!important}
  .home-view .snapshot-stats{grid-template-columns:1fr 1fr!important}
}
@media(prefers-reduced-motion:reduce){
  .sidebar nav button:hover,.sidebar nav button:hover .nav-icon,.home-info-chip:hover{transform:none!important}
}



html,body{overflow-x:hidden}
.app-shell.sidebar-collapsed.theme-blue .sidebar,
.app-shell.sidebar-collapsed.theme-green .sidebar,
.app-shell.sidebar-collapsed .sidebar{
  width:68px!important;min-width:68px!important;max-width:68px!important;
  padding:22px 9px 18px!important;overflow-x:hidden!important
}
.app-shell.sidebar-collapsed.theme-blue .main-canvas,
.app-shell.sidebar-collapsed.theme-green .main-canvas,
.app-shell.sidebar-collapsed .main-canvas{
  margin-left:68px!important;margin-right:0!important;
  width:calc(100% - 68px)!important;max-width:calc(100% - 68px)!important
}
.app-shell.sidebar-collapsed .brand-lockup{
  width:50px!important;margin-inline:auto!important;justify-content:center!important;gap:0!important;padding:0!important
}
.app-shell.sidebar-collapsed .brand-mark{width:42px!important;height:42px!important;min-width:42px!important}
.app-shell.sidebar-collapsed .brand-copy,
.app-shell.sidebar-collapsed .sidebar-section-label,
.app-shell.sidebar-collapsed .nav-label{display:none!important}
.app-shell.sidebar-collapsed .sidebar nav{
  width:100%!important;margin-top:38px!important;padding:0!important;gap:15px!important
}
.app-shell.sidebar-collapsed .sidebar nav button{
  width:50px!important;min-width:50px!important;max-width:50px!important;
  height:50px!important;min-height:50px!important;margin-inline:auto!important;padding:0!important;justify-content:center!important
}
.app-shell.sidebar-collapsed .sidebar-collapse{right:-13px!important;left:auto!important}
.app-shell.sidebar-collapsed .sidebar-author{width:50px!important;margin-inline:auto!important;padding-inline:0!important}
.sidebar-author{font-size:15px!important;line-height:1.35!important;font-weight:850!important}
.app-shell.sidebar-collapsed .sidebar-author:after{font-size:15px!important}

.arabic-assist-toggle{
  position:relative!important;min-height:38px!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important
}
.arabic-assist-toggle i{width:7px;height:7px;border-radius:50%;background:#b7c5cf;box-shadow:0 0 0 3px rgba(183,197,207,.18)}
.arabic-assist-toggle.is-active{
  border-color:#e0b72b!important;background:#fff9de!important;box-shadow:0 0 0 3px rgba(255,220,0,.14)!important
}
.arabic-assist-toggle.is-active i{background:#e3b600!important;box-shadow:0 0 0 3px rgba(255,220,0,.24)!important}
.arabic-assist-on .ar-hover-term{
  color:inherit!important;font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;
  text-decoration-line:underline!important;text-decoration-style:dotted!important;text-decoration-color:#e5b800!important;
  text-decoration-thickness:2px!important;text-underline-offset:3px!important;text-decoration-skip-ink:none!important;cursor:help
}
#arabic-hover-tooltip{
  position:fixed;z-index:100000;left:-9999px;top:-9999px;max-width:min(390px,calc(100vw - 20px));
  padding:10px 13px 11px;border:1px solid rgba(255,220,0,.78);border-top:4px solid #ffdc00;border-radius:11px;
  color:#fff;background:#0c2c47;box-shadow:0 15px 38px rgba(4,24,39,.25);opacity:0;transform:translateY(4px);
  transition:opacity .12s ease,transform .12s ease;pointer-events:none;direction:rtl;text-align:right
}
#arabic-hover-tooltip.show{opacity:1;transform:translateY(0)}
#arabic-hover-tooltip small{display:block;margin-bottom:3px;color:#ffdc00;font:850 9px/1 "Droid Sans Mono",Consolas,monospace;letter-spacing:.08em}
#arabic-hover-tooltip strong{display:block;color:#fff;font-family:Tahoma,"Noto Sans Arabic",Arial,sans-serif;font-size:16px;line-height:1.45;font-weight:800}
@media(max-width:760px){
  .app-shell.sidebar-collapsed .main-canvas{margin-left:68px!important;width:calc(100% - 68px)!important}
}


.ar-hover-term{display:inline!important;white-space:inherit!important;vertical-align:baseline!important}
.question-topline .ar-hover-term,.question-meta .ar-hover-term,.question-tool .ar-hover-term,.eyebrow .ar-hover-term,.guide-tabs .ar-hover-term,.mock-mode-switch-v15 .ar-hover-term{display:inline!important}

.practice-view .question-shell{max-width:1250px!important}
.practice-view .question-topline strong{font-size:20px!important}
.practice-view .question-topline .eyebrow{font-size:11px!important}
.practice-view .question-meta{gap:8px!important;margin-bottom:15px!important}
.practice-view .question-meta span{font-size:10px!important;padding:5px 9px!important}
.practice-view .question-card{padding:34px 42px!important}
.practice-view .question-card h1{max-width:1125px!important;font-size:clamp(34px,3.1vw,45px)!important;line-height:1.32!important}
.practice-view .option-list{gap:12px!important}
.practice-view .option-button{min-height:82px!important;padding:18px 22px!important;gap:16px!important;font-size:clamp(19px,1.42vw,22px)!important;line-height:1.5!important}
.practice-view .option-label{width:38px!important;height:38px!important;font-size:13px!important;border-radius:50%!important}
.practice-view .question-actions{font-size:12.5px!important}
.practice-view .primary-button{font-size:13px!important}
.practice-view .question-tool{white-space:nowrap!important;font-size:11px!important}

.result-orbit strong,.result-orbit span,.report-score-orbit strong,.report-score-orbit span{color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:900!important}

.guide-page .guide-facts article{min-height:170px!important}
.guide-page .guide-facts .segment-display{font-size:112px!important;color:#000!important;filter:none!important}
.guide-page .guide-facts article:nth-child(3) .segment-display,.guide-page .guide-facts article:nth-child(5) .segment-display{font-size:80px!important}
.guide-page .guide-facts article:nth-child(4) .segment-display,.guide-page .guide-facts article:nth-child(8) .segment-display{font-size:74px!important}
.guide-page .guide-facts .seg{background:rgba(0,0,0,.07)!important}
.guide-page .guide-facts .seg.on{background:#050505!important}
.guide-page .guide-facts span:not(.segment-display):not(.seven-digit):not(.seven-symbol):not(.seven-space){font-size:14px!important}

.blueprint-domain-link{border:0!important;padding:0!important;color:#0c2c47!important;background:transparent!important;font:900 18px/1.2 Cabin,Arial,sans-serif!important;cursor:pointer!important;text-align:left!important}
.blueprint-domain-link i{display:inline-block;margin-left:5px;color:#2f6fa9;font-style:normal;font-size:12px;transition:transform .16s ease}
.blueprint-domain-link:hover i{transform:translate(2px,-2px)}
.guide-domain-overlay{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:22px;background:rgba(5,27,44,.68);backdrop-filter:blur(8px)}
.guide-domain-modal{position:relative;width:min(760px,94vw);max-height:82vh;overflow:auto;border:1px solid #b9cee0;border-radius:22px;background:#fff;box-shadow:0 35px 100px rgba(5,25,40,.28)}
.guide-domain-modal>header{padding:25px 28px 21px;color:#fff;background:linear-gradient(135deg,#0c2c47,#2f6fa9)}
.guide-domain-title-row{display:flex;align-items:end;justify-content:space-between;gap:18px}
.guide-domain-modal h2{margin:7px 0 5px;font:800 32px/1.06 Georgia,serif}
.guide-domain-title-row>strong{padding:8px 12px;border:1px solid rgba(255,255,255,.35);border-radius:10px;font:900 22px/1 "Droid Sans Mono",monospace;background:rgba(255,255,255,.1)}
.guide-domain-modal header p{margin:7px 0 0;color:#e3eef8;font-size:13px;line-height:1.55}
.guide-domain-subgrid{display:grid;gap:9px;padding:20px 22px}
.guide-domain-subgrid article{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:13px 14px;border:1px solid #d3e0eb;border-radius:13px;background:#f9fbfd}
.guide-domain-subgrid article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#174e7c;background:#e5f1fb;font:900 10px monospace}
.guide-domain-subgrid b{font-size:14px;color:#0c2c47}
.guide-domain-subgrid p{margin:4px 0 0;color:#577083;font-size:11.5px;line-height:1.5}
.guide-domain-modal footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 22px;border-top:1px solid #dce5ec;color:#617687;background:#f7fafc;font-size:10.5px}
.guide-domain-modal footer a{color:#1e6096;font-weight:850;text-decoration:none}
.guide-domain-close{position:absolute;right:12px;top:12px;z-index:2;width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:10px;color:#fff;background:rgba(5,28,45,.52);font-size:20px}

.result-report-view{max-width:1440px!important}
.session-report{--report-blue:#2f6fa9;--report-navy:#0c2c47;--report-plum:#85144b;--report-gold:#c78a12;display:grid;gap:17px;margin:12px auto 42px;max-width:1320px}
.report-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(280px,.52fr);gap:24px;align-items:center;padding:27px 30px;border-radius:24px;color:#fff;background:radial-gradient(circle at 88% 12%,rgba(125,187,238,.28),transparent 27%),linear-gradient(135deg,#0c2c47,#174d76 58%,#2f6fa9);box-shadow:0 18px 45px rgba(12,44,71,.14)}
.report-score-orbit{width:174px;height:174px;display:grid;place-items:center;border-radius:50%;position:relative;background:conic-gradient(#8fc3ef 0 var(--score),rgba(255,255,255,.17) var(--score) 360deg)}
.report-score-orbit:before{content:"";position:absolute;width:144px;height:144px;border-radius:50%;background:#10374f}
.report-score-orbit>div{position:relative;z-index:1;display:grid;text-align:center}
.report-score-orbit strong{font-size:42px!important;letter-spacing:-.04em}
.report-score-orbit span{margin-top:5px;font-size:11px!important;letter-spacing:.12em}
.report-hero-copy h1{margin:8px 0 5px;font:800 45px/1 Georgia,serif;color:#fff}
.report-hero-copy p{margin:0;color:#d8e9f5;font-size:14px}
.report-hero-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.report-hero-pills span{padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.08);font:800 10px monospace}
.report-boundary{padding:15px 16px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(255,255,255,.08)}
.report-boundary b{display:block;margin-bottom:7px;color:#ffdc00;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.report-boundary span{font-size:11px;line-height:1.55;color:#eef6fc}
.report-section{padding:22px 24px;border:1px solid #ccdae6;border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(12,44,71,.045)}
.report-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:15px}
.report-section-head h2{margin:5px 0 0;font:800 27px/1.05 Georgia,serif}
.report-chip{padding:7px 9px;border-radius:99px;color:#225e91;background:#e7f1fa;font:850 9px monospace}
.report-chip.warning{color:#8c6200;background:#fff2cf}.report-chip.good{color:#176149;background:#e6f4ee}
.report-domain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.report-domain-grid article{padding:15px;border:1px solid #d4e0e9;border-radius:14px;background:#f9fbfd}
.report-domain-grid article.risk{border-color:#e2aec2;background:#fff7fa}
.report-domain-grid article>div:first-child{display:flex;justify-content:space-between;gap:10px}
.report-domain-grid article b{font-size:12px}.report-domain-grid article span{color:#6d8190;font-size:9px}
.report-domain-grid article>strong{display:block;margin:14px 0 7px;font:900 30px/1 "Droid Sans Mono",monospace}
.report-meter{height:7px!important;border-radius:99px;background:#e5edf3;overflow:hidden}
.report-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f6fa9,#79b7ea)}
.report-domain-grid article.risk .report-meter i{background:linear-gradient(90deg,#85144b,#c15d87)}
.report-domain-grid article small{display:block;margin-top:7px;color:#6b8191;font-size:9.5px}
.report-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.report-three-col>article{padding:14px;border:1px solid #d9e3eb;border-radius:14px;background:#fbfcfe}
.report-three-col h3{margin:0 0 10px;font-size:15px}
.report-rank{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #e2e9ef}
.report-rank:first-of-type{border-top:0}
.report-rank>b{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e7f1fa;color:#225f93;font:900 9px monospace}
.report-rank span strong{display:block;font-size:10.5px}.report-rank span small{display:block;margin-top:3px;color:#718593;font-size:8.5px}
.report-rank em{font:900 13px/1 monospace;font-style:normal;color:#0c2c47}
.report-miss-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.report-miss-grid>article{padding:15px;border:1px solid #e0c3ce;border-left:5px solid #85144b;border-radius:14px;background:#fff9fb}
.report-miss-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.report-miss-top span{padding:5px 7px;border-radius:7px;color:#85144b;background:#fae7ef;font:850 9px monospace}
.report-miss-top b{font-size:10px}.report-miss-grid p{margin:10px 0;font-size:11px;line-height:1.5}
.report-answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.report-answer-compare span{padding:8px;border:1px solid #ead7df;border-radius:9px;background:#fff;font-size:9.5px;line-height:1.4}
.report-answer-compare span.correct{border-color:#b9d9c9;background:#f1faf5}
.report-answer-compare b{display:block;margin-bottom:3px;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.report-miss-grid article>small{display:block;margin-top:9px;color:#526a7c;font-size:9.5px;line-height:1.45}
.report-no-misses{grid-column:1/-1!important;border-left-color:#287c64!important;background:#f2faf6!important}
.report-advice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.report-advice-grid article{padding:15px;border:1px solid #d4e0e9;border-top:4px solid #2f6fa9;border-radius:14px;background:#fafcfe}
.report-advice-grid article.priority{border-top-color:#85144b;background:#fff8fb}
.report-advice-grid article>span{color:#2f6fa9;font:850 8.5px monospace;letter-spacing:.08em}
.report-advice-grid h3{margin:7px 0 6px;font-size:14px}.report-advice-grid p{margin:0;color:#5b7283;font-size:10.5px;line-height:1.55}
.report-advice-grid article>b{display:block;margin-top:9px;color:#85144b;font-size:10px}
.report-evidence-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}
.report-evidence-strip div{padding:11px;border-radius:11px;background:#eef5fa}
.report-evidence-strip strong{display:block;font-size:9.5px}.report-evidence-strip span{display:block;margin-top:4px;color:#5e7484;font-size:9px;line-height:1.45}
.report-source-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.report-source-links a{padding:6px 8px;border:1px solid #d1deea;border-radius:8px;color:#275e8b;background:#fff;font-size:8.5px;font-weight:800;text-decoration:none}
.report-footer-section{display:flex;justify-content:space-between;align-items:center;gap:18px}
.report-footer-section h3{margin:5px 0;font-size:17px}.report-footer-section p{margin:0;color:#627989;font-size:10.5px}
.report-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.report-actions button{white-space:nowrap}

@media(max-width:1050px){.report-hero{grid-template-columns:auto 1fr}.report-boundary{grid-column:1/-1}.report-domain-grid{grid-template-columns:1fr 1fr}.report-three-col,.report-advice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.practice-view .question-card{padding:24px!important}.practice-view .question-card h1{font-size:29px!important}.practice-view .option-button{font-size:17px!important}.report-hero{grid-template-columns:1fr;text-align:center}.report-score-orbit{margin:auto}.report-hero-pills{justify-content:center}.report-domain-grid,.report-three-col,.report-miss-grid,.report-advice-grid,.report-evidence-strip{grid-template-columns:1fr}.report-footer-section{display:grid}.report-actions{justify-content:start}.guide-page .guide-facts{grid-template-columns:1fr 1fr!important}.guide-page .guide-facts .segment-display{font-size:82px!important}}

@media print{
  @page{size:A4;margin:10mm}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.print-session-report{background:#fff!important}
  body.print-session-report .sidebar,body.print-session-report .topbar,body.print-session-report .page-annotator,body.print-session-report .glossary-annotator,body.print-session-report #arabic-hover-tooltip{display:none!important}
  body.print-session-report .main-canvas{margin:0!important;width:100%!important;max-width:none!important}
  body.print-session-report .page-content{max-width:none!important;padding:0!important}
  body.print-session-report .session-report{max-width:none!important;margin:0!important;gap:8mm!important}
  body.print-session-report .report-actions{display:none!important}
  body.print-session-report .report-section,body.print-session-report .report-hero{box-shadow:none!important;break-inside:avoid}
  body.print-session-report .report-hero{padding:16px!important}
  body.print-session-report .report-score-orbit{width:110px!important;height:110px!important}
  body.print-session-report .report-score-orbit:before{width:90px!important;height:90px!important}
  body.print-session-report .report-score-orbit strong{font-size:29px!important}
  body.print-session-report .report-section{padding:12px!important}
  body.print-session-report .report-section-head h2{font-size:19px!important}
  body.print-session-report .report-domain-grid{grid-template-columns:repeat(4,1fr)!important}
  body.print-session-report .report-three-col{grid-template-columns:repeat(3,1fr)!important}
  body.print-session-report .report-advice-grid{grid-template-columns:repeat(4,1fr)!important}
  body.print-session-report .report-miss-grid{grid-template-columns:1fr 1fr!important}
}


/* Phase 1 — Clinical Dossier is deliberately isolated from the 67 canonical core tools and main mock bank. */
.dossier-page{padding-top:34px}
.dossier-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:26px;align-items:end;padding:34px;border:1px solid var(--line);border-radius:25px;background:radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 31%),linear-gradient(145deg,#fffefa,#eef6f2);box-shadow:var(--shadow)}
.theme-blue .dossier-hero{background:radial-gradient(circle at 88% 12%,rgba(88,151,222,.22),transparent 31%),linear-gradient(145deg,#fbfdff,#edf5fd)}
.dossier-hero h1{margin:9px 0 11px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(37px,4vw,58px);line-height:1.02;letter-spacing:-.04em}
.dossier-hero p{max-width:790px;margin:0;color:var(--ink-soft);font-size:15px;line-height:1.7}
.dossier-hero-note{padding:18px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-radius:18px;background:rgba(255,255,255,.72)}
.dossier-hero-note strong,.dossier-hero-note span{display:block}.dossier-hero-note strong{font-size:14px}.dossier-hero-note span{margin-top:7px;color:var(--ink-soft);font-size:11px;line-height:1.55}
.dossier-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.dossier-status-strip article{padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(12,39,53,.045)}
.dossier-status-strip strong,.dossier-status-strip span{display:block}.dossier-status-strip strong{font:850 22px/1.05 "Droid Sans Mono",Consolas,monospace;color:var(--navy)}.dossier-status-strip span{margin-top:5px;color:var(--ink-soft);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.dossier-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 230px 220px 185px;gap:9px;margin-bottom:17px;padding:12px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(12,39,53,.04)}
.dossier-toolbar input,.dossier-toolbar select{min-width:0;height:43px;border:1px solid var(--line);border-radius:11px;padding:0 12px;color:var(--ink);background:#fff;outline:none}
.dossier-toolbar input:focus,.dossier-toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
.dossier-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:5px 2px 12px}.dossier-section-head h2{margin:4px 0 0;font-size:22px}.dossier-section-head small{color:var(--ink-soft);font-size:11px}
.dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.dossier-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:272px;padding:18px;border:1px solid var(--line);border-top:4px solid var(--dossier-tone,var(--primary));border-radius:18px;background:#fff;box-shadow:0 10px 29px rgba(12,39,53,.055);transition:.18s ease}
.dossier-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--dossier-tone,var(--primary)) 42%,var(--line));box-shadow:0 15px 34px rgba(12,39,53,.10)}
.dossier-card-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.dossier-code{font:900 10px/1 "Droid Sans Mono",Consolas,monospace;color:var(--navy)}
.dossier-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font:850 9px/1 "Droid Sans Mono",Consolas,monospace}.dossier-badge.import{margin-left:auto;color:#8b5b08;background:#fff4cf}.dossier-badge.review{color:#315f80;background:#e9f3fb}.dossier-badge.hyp{color:#8d2943;background:#fff0f5}
.dossier-card h3{margin:13px 0 8px;font-size:18px;line-height:1.22;letter-spacing:-.018em}.dossier-focus{margin:0;color:#526b69;font-size:12px;line-height:1.58;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.dossier-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.dossier-meta span{padding:5px 7px;border-radius:8px;color:#44625f;background:#f1f6f4;font-size:9px;font-weight:800}
.theme-blue .dossier-meta span{color:#315d83;background:#eef5fb}
.dossier-links{margin-top:12px;padding-top:11px;border-top:1px solid #edf0ee;color:var(--ink-soft);font-size:10px;line-height:1.55}.dossier-links b{color:var(--navy)}
.dossier-card-actions{display:flex;gap:7px;margin-top:auto;padding-top:14px}.dossier-open,.dossier-practice-lock{min-height:38px;padding:0 11px;border-radius:10px;font-size:10px;font-weight:900}.dossier-open{flex:1;border:1px solid var(--navy);color:#fff;background:var(--navy)}.dossier-practice-lock{border:1px solid var(--line);color:#6d7c79;background:#f8faf9;cursor:default}
.dossier-empty{grid-column:1/-1;padding:45px;border:1px dashed var(--line);border-radius:18px;color:var(--ink-soft);background:rgba(255,255,255,.55);text-align:center}
.dossier-safety-note{display:flex;gap:12px;align-items:flex-start;margin-top:17px;padding:14px 16px;border:1px solid #ead9a8;border-radius:14px;background:#fff9e9;color:#735923;font-size:11px;line-height:1.6}.dossier-safety-note b{color:#5f450b}
.dossier-overlay{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:18px;background:rgba(5,24,34,.72);backdrop-filter:blur(10px)}
.dossier-dialog{position:relative;width:min(1160px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(255,255,255,.3);border-radius:25px;background:var(--white);box-shadow:0 40px 105px rgba(0,0,0,.34)}
.dossier-dialog-head{position:relative;padding:31px 68px 25px 31px;color:#fff;background:radial-gradient(circle at 84% 10%,rgba(151,211,201,.24),transparent 32%),linear-gradient(135deg,#0c2c47,#2d5652)}.theme-blue .dossier-dialog-head{background:radial-gradient(circle at 84% 10%,rgba(169,204,239,.25),transparent 32%),linear-gradient(135deg,#0c2c47,#356fb5)}
.dossier-dialog-head h2{max-width:850px;margin:9px 0 9px;font:800 clamp(28px,3vw,41px)/1.04 Georgia,serif;letter-spacing:-.03em}.dossier-dialog-head p{max-width:900px;margin:0;color:#dceceb;font-size:13px;line-height:1.65}.dossier-dialog-kicker{font:900 9px/1 "Droid Sans Mono",Consolas,monospace;letter-spacing:.13em;color:#a7e0d5}.theme-blue .dossier-dialog-kicker{color:#c5e2ff}
.dossier-close{position:absolute;right:18px;top:18px;width:41px;height:41px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;background:rgba(255,255,255,.10);font-size:22px}
.dossier-dialog-body{padding:23px 27px 29px}.dossier-summary-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.dossier-summary-row article{padding:13px;border:1px solid var(--line);border-radius:13px;background:#f9fbfa}.dossier-summary-row b,.dossier-summary-row span{display:block}.dossier-summary-row b{font-size:11px;color:var(--navy)}.dossier-summary-row span{margin-top:4px;color:var(--ink-soft);font-size:10px;line-height:1.4}
.dossier-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px;margin-top:14px}.dossier-panel{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}.dossier-panel h3{margin:0 0 10px;font-size:15px}.dossier-panel p{margin:0;color:#4e6764;font-size:12px;line-height:1.65}.dossier-connection-list{display:flex;flex-wrap:wrap;gap:7px}.dossier-connection-list span{padding:7px 9px;border:1px solid #cfe0da;border-radius:9px;color:#285b55;background:#eef8f5;font-size:10px;font-weight:850}.theme-blue .dossier-connection-list span{border-color:#ccdef0;color:#285d8b;background:#eef5fd}
.dossier-gate{margin-top:14px;padding:15px;border:1px solid #ead9a8;border-left:5px solid #c6932d;border-radius:13px;background:#fff9e9}.dossier-gate strong{display:block;color:#644c13;font-size:12px}.dossier-gate p{margin:5px 0 0;color:#735e2d;font-size:11px;line-height:1.6}
.dossier-future{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.dossier-future article{padding:14px;border:1px solid var(--line);border-radius:13px;background:#f9fbfa}.dossier-future b{display:block;color:var(--primary);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.dossier-future span{display:block;margin-top:5px;color:var(--ink-soft);font-size:10px;line-height:1.5}
@media(max-width:1080px){.dossier-grid{grid-template-columns:repeat(2,1fr)}.dossier-toolbar{grid-template-columns:1fr 1fr}.dossier-hero{grid-template-columns:1fr}.dossier-summary-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.dossier-grid,.dossier-toolbar,.dossier-status-strip,.dossier-detail-grid,.dossier-future{grid-template-columns:1fr}.dossier-summary-row{grid-template-columns:1fr 1fr}.dossier-hero{padding:23px}.dossier-dialog-body{padding:17px}.dossier-dialog-head{padding:27px 62px 22px 22px}}


.dossier-audit{margin:18px 0 16px;padding:22px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.72);box-shadow:0 10px 30px rgba(12,39,53,.05)}
.dossier-audit-title{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:15px}.dossier-audit-title h2{margin:3px 0 0;font-size:22px}.dossier-audit-title p{margin:0 0 1px auto;color:var(--ink-soft);font-size:12px}
.dossier-audit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.dossier-audit-grid article{padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.dossier-audit-grid b{display:block;font:900 24px/1 var(--mono,monospace);color:var(--navy)}.dossier-audit-grid span{display:block;margin:5px 0 3px;font-size:11px;font-weight:900}.dossier-audit-grid small{display:block;color:var(--ink-soft);font-size:10px;line-height:1.45}
.dossier-dialog-v21{width:min(1160px,96vw)!important;max-height:94vh!important}.dossier-tabs{display:flex;gap:3px;padding:0 28px;border-bottom:1px solid var(--line);background:#f8fbfa;overflow-x:auto}.dossier-tabs button{padding:13px 15px;border:0;border-bottom:3px solid transparent;color:#526d77;background:transparent;font-weight:900;font-size:12px;white-space:nowrap}.dossier-tabs button.active{color:var(--navy);border-bottom-color:var(--primary);background:#fff}
.dossier-source-groups{display:grid;grid-template-columns:120px 1fr;gap:10px 12px}.dossier-source-groups>b{color:#5b7280;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.dossier-source-groups>div{display:flex;flex-wrap:wrap;gap:6px}.dossier-source-groups span,.dossier-source-groups em{padding:5px 8px;border-radius:8px;background:#eef5f2;color:#315c58;font-size:10px;font-style:normal}
.dossier-map-intro{margin-bottom:14px;padding:17px 18px;border-left:5px solid var(--primary);border-radius:13px;background:#eef7f4}.dossier-map-intro h3{margin:5px 0 7px;font-size:19px}.dossier-map-intro p{margin:0;color:#4f6870;font-size:12px;line-height:1.6}.dossier-core-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.dossier-core-buttons button{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px;border:1px solid #cbded8;border-radius:11px;color:#123e43;background:#f8fcfb;text-align:left;font-size:11px;font-weight:900}.dossier-core-buttons button:hover{border-color:var(--primary);transform:translateY(-1px)}
.dossier-case-lock{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:13px;padding:13px 15px;border:1px solid #ecd493;border-radius:12px;background:#fff8e5}.dossier-case-lock strong{font-size:12px}.dossier-case-lock span{max-width:650px;color:#6b6044;font-size:10px;line-height:1.5}.dossier-case-inventory{display:grid;gap:9px}.dossier-case-inventory article{padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.dossier-case-head{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.dossier-case-head b{margin-right:auto;color:var(--navy);font:900 10px var(--mono,monospace)}.dossier-case-head span{padding:4px 6px;border-radius:7px;background:#edf4f8;color:#466271;font:800 9px var(--mono,monospace)}.dossier-case-inventory p{margin:0 0 7px;color:#173949;font-size:13px;font-weight:750;line-height:1.5}.dossier-case-inventory small{color:#69808a;font-size:9px}
.dossier-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.dossier-evidence-grid article{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}.dossier-evidence-grid b,.dossier-evidence-grid span{display:block}.dossier-evidence-grid b{margin-bottom:5px;color:#647a84;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.dossier-evidence-grid span{color:#173d48;font-size:12px;font-weight:850}.dossier-evidence-grid .pending{border-color:#ead5a1;background:#fff9e9}.dossier-evidence-grid .safe{border-color:#bcd8ca;background:#eef8f3}
.theme-blue .dossier-audit,.theme-blue .dossier-tabs{background:#f6faff}.theme-blue .dossier-map-intro{background:#edf5fd}.theme-blue .dossier-source-groups span{background:#edf5fd;color:#285a88}
@media(max-width:1050px){.dossier-audit-grid{grid-template-columns:repeat(3,1fr)}.dossier-core-buttons{grid-template-columns:1fr 1fr}.dossier-evidence-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.dossier-audit-grid,.dossier-core-buttons,.dossier-evidence-grid{grid-template-columns:1fr}.dossier-case-lock{align-items:flex-start;flex-direction:column}.dossier-source-groups{grid-template-columns:1fr}.dossier-audit-title p{margin-left:0}}


.dossier-phase3 .dossier-hero{background:radial-gradient(circle at 86% 11%,rgba(8,127,120,.18),transparent 31%),linear-gradient(145deg,#fffefa,#edf7f3)}
.theme-blue .dossier-phase3 .dossier-hero{background:radial-gradient(circle at 86% 11%,rgba(53,111,181,.19),transparent 31%),linear-gradient(145deg,#fbfdff,#edf5fd)}
.dossier-audit.compact{padding:15px 18px}.dossier-audit.compact .dossier-audit-title{margin:0;align-items:center}.dossier-audit.compact .dossier-audit-title h2{font-size:17px}.dossier-audit.compact .dossier-audit-title p{font-size:10px}
.dossier-repair-strip{display:grid;grid-template-columns:minmax(260px,.45fr) minmax(0,1fr);gap:16px;align-items:center;margin:0 0 16px;padding:17px 19px;border:1px solid #ecd8a8;border-radius:17px;background:#fff9e9}.dossier-repair-strip h2{margin:4px 0 0;font-size:18px}.dossier-repair-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dossier-repair-items button{display:flex;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #ead7a4;border-radius:10px;background:#fff;text-align:left}.dossier-repair-items b{font-size:10px;color:#44360f}.dossier-repair-items span{font:850 9px var(--mono,monospace);color:#8a5d0c;white-space:nowrap}
.dossier-progress-mini{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin-top:11px;padding:9px 10px;border:1px solid #e3ece8;border-radius:10px;background:#f8fbfa}.dossier-progress-mini div:first-child b,.dossier-progress-mini div:first-child span{display:block}.dossier-progress-mini div:first-child b{font:900 11px var(--mono,monospace)}.dossier-progress-mini div:first-child span{font-size:8px;color:#78908b}.dossier-progress-mini strong{font:900 10px var(--mono,monospace);color:var(--primary)}.dossier-mini-meter{height:6px;overflow:hidden;border-radius:999px;background:#e8efec}.dossier-mini-meter i{display:block;height:100%;border-radius:inherit;background:var(--dossier-tone,var(--primary))}.dossier-practice-go{min-height:38px;padding:0 11px;border:1px solid #cbded8;border-radius:10px;color:#285b55;background:#eef8f5;font-size:10px;font-weight:900}.theme-blue .dossier-practice-go{border-color:#cbdced;color:#285d8b;background:#eef5fd}
.dossier-overview-cta{margin-top:14px}.dossier-overview-cta .primary-button{min-height:39px}
.dossier-recognize-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dossier-recognize-grid article{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.dossier-recognize-grid article>div{display:flex;justify-content:space-between;gap:10px}.dossier-recognize-grid article>div b{font:900 10px var(--mono,monospace);color:var(--primary)}.dossier-recognize-grid article>div span{font:800 9px var(--mono,monospace);color:#617a82}.dossier-recognize-grid p{margin:10px 0 9px;color:#173b48;font-size:12px;font-weight:750;line-height:1.55}.dossier-recognize-grid small{display:block;color:#5d727a;font-size:10px;line-height:1.55}.dossier-recognize-grid small strong{display:block;margin-bottom:3px;color:#264e55}
.dossier-judgment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dossier-judgment-grid article{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.dossier-judgment-grid header{display:flex;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #edf1ef}.dossier-judgment-grid header b{font-size:13px}.dossier-judgment-grid header span{font:800 9px var(--mono,monospace);color:#6b8087}.dossier-judgment-grid p{margin:10px 0 0;padding:9px 10px;border-radius:9px;background:#f7faf9;color:#516971;font-size:10px;line-height:1.55}.dossier-judgment-grid p strong{display:block;margin-bottom:3px;color:#214a51;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.dossier-practice-shell{max-width:930px;margin:0 auto}.dossier-practice-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:10px}.dossier-practice-head h3{margin:4px 0 0;font-size:20px}.dossier-practice-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dossier-practice-pills span{padding:5px 8px;border-radius:8px;background:#edf5f2;color:#315c58;font:850 9px var(--mono,monospace)}.dossier-practice-progress{height:7px;overflow:hidden;margin-bottom:18px;border-radius:999px;background:#e7efec}.dossier-practice-progress i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.dossier-practice-stem{margin:0 0 17px;color:#112f3b;font-size:clamp(19px,2vw,25px);font-weight:800;line-height:1.45}.dossier-practice-options{display:grid;gap:9px}.dossier-practice-options button{display:grid;grid-template-columns:38px 1fr 24px;gap:11px;align-items:center;min-height:65px;padding:11px 13px;border:2px solid #d9e3df;border-radius:12px;color:#173946;background:#fff;text-align:left}.dossier-practice-options button:hover:not(:disabled){border-color:#84b8ad;background:#f6fbf9}.dossier-practice-options button.selected{border-color:var(--primary);background:#ecf7f4}.dossier-practice-options button.correct{border-color:#287c64;background:#eaf7f2}.dossier-practice-options button.wrong{border-color:#c64b4b;background:#fff1f1}.dossier-practice-options button>b{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#edf4f2;color:#214b50}.dossier-practice-options button.selected>b{color:#fff;background:var(--primary)}.dossier-practice-options button.correct>b{color:#fff;background:#287c64}.dossier-practice-options button.wrong>b{color:#fff;background:#c64b4b}.dossier-practice-options button span{font-size:12px;line-height:1.45}.dossier-practice-options button em{font-size:18px;font-style:normal;font-weight:900}.dossier-feedback{margin-top:15px;padding:16px 17px;border:1px solid #bedbcf;border-left:5px solid #287c64;border-radius:12px;background:#f1faf6}.dossier-feedback.repair{border-color:#e8c3c3;border-left-color:#c64b4b;background:#fff7f7}.dossier-feedback-title{display:flex;justify-content:space-between;gap:12px}.dossier-feedback-title strong{font-size:14px}.dossier-feedback-title span{font:850 9px var(--mono,monospace)}.dossier-feedback p{margin:10px 0 0;color:#445f67;font-size:11px;line-height:1.6}.dossier-feedback p b{display:block;margin-bottom:2px;color:#163f46;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.dossier-feedback-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.dossier-feedback-meta span{padding:5px 7px;border-radius:8px;background:#fff;color:#587078;font-size:9px}.dossier-repair-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid rgba(75,102,92,.16)}.dossier-repair-tools>b{font-size:10px}.dossier-repair-tools button{padding:6px 8px;border:1px solid #c9dcd5;border-radius:8px;background:#fff;color:#285b55;font-size:9px;font-weight:850}.dossier-practice-actions{display:flex;justify-content:space-between;gap:12px;margin-top:15px}.dossier-practice-actions>div{display:flex;gap:7px;flex-wrap:wrap}
.dossier-related-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dossier-related-buttons button{display:flex;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fafcfc;text-align:left}.dossier-related-buttons b{font-size:10px;color:#23464e}.dossier-related-buttons span{font:800 9px var(--mono,monospace);color:#6a8086}
.dossier-report-recs .dossier-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dossier-report-recs article{padding:15px;border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:13px;background:#fff}.dossier-report-recs article h3{margin:7px 0 6px;font-size:14px}.dossier-report-recs article p{margin:0;color:#5b7178;font-size:10px;line-height:1.5}.dossier-report-recs article small{display:block;margin-top:8px;color:#667e84;font-size:9px}.dossier-report-recs article button{margin-top:11px;min-height:34px;padding:0 10px;border:1px solid #cbded8;border-radius:9px;color:#285b55;background:#eef8f5;font-size:9px;font-weight:900}
@media(max-width:900px){.dossier-repair-strip{grid-template-columns:1fr}.dossier-recognize-grid,.dossier-judgment-grid,.dossier-related-buttons,.dossier-report-recs .dossier-report-grid{grid-template-columns:1fr}.dossier-repair-items{grid-template-columns:1fr}.dossier-practice-head{align-items:flex-start;flex-direction:column}.dossier-practice-pills{justify-content:flex-start}}
@media(max-width:600px){.dossier-practice-actions{flex-direction:column}.dossier-practice-options button{grid-template-columns:34px 1fr 20px}.dossier-practice-stem{font-size:18px}}

/* --- v23.3 final dossier sizing overrides: intentionally LAST --- */
.dossier-dialog.dossier-dialog-v21.dossier-dialog-v22{
  width:min(1508px,99vw)!important;
  max-width:none!important;
  max-height:95vh!important;
}
.dossier-dialog-v22 .dossier-practice-stem{
  font-size:clamp(22px,1.8vw,29px)!important;
  line-height:1.5!important;
}
/* Source metadata footprint: 50% typography reduction */
.dossier-dialog-v22 .dossier-detail-grid > .dossier-panel:nth-child(2) h3{
  font-size:15.5px!important;
  line-height:1.25!important;
}
.dossier-dialog-v22 .dossier-detail-grid > .dossier-panel:nth-child(2) .dossier-source-groups > b,
.dossier-dialog-v22 .dossier-detail-grid > .dossier-panel:nth-child(2) .dossier-source-groups > div,
.dossier-dialog-v22 .dossier-detail-grid > .dossier-panel:nth-child(2) .dossier-source-groups span,
.dossier-dialog-v22 .dossier-detail-grid > .dossier-panel:nth-child(2) .dossier-source-groups em{
  font-size:9px!important;
  line-height:1.45!important;
}
/* Overview summary cards: 50% typography reduction */
.dossier-dialog-v22 .dossier-summary-row b{
  font-size:8px!important;
  line-height:1.25!important;
}
.dossier-dialog-v22 .dossier-summary-row span{
  font-size:7.5px!important;
  line-height:1.4!important;
}
@media(max-width:900px){
  .dossier-dialog.dossier-dialog-v21.dossier-dialog-v22{width:99vw!important;}
  .dossier-dialog-v22 .dossier-practice-stem{font-size:22px!important;}
}

/* ================================================================
   WORLD-CLASS UI/UX ENHANCEMENT v1.0
   Sections: Animations, Transitions, Cards, Typography, Modals,
   Responsive, Icons, Scroll FX, Gradients, Architecture
   ================================================================ */

/* ---- §1 KEYFRAME ANIMATIONS ------------------------------------ */
@keyframes agy-fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes agy-fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes agy-scaleIn {
  from { opacity: 0; transform: scale(0.93); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes agy-slideInLeft {
  from { opacity: 0; transform: translateX(-28px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes agy-slideInRight {
  from { opacity: 0; transform: translateX(28px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes agy-pulseGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(151, 211, 192, 0); }
  50%      { box-shadow: 0 0 0 14px rgba(151, 211, 192, 0.13); }
}
@keyframes agy-breathe {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.04); }
}
@keyframes agy-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
@keyframes agy-bounceArrow {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(4px); }
}
@keyframes agy-rotateIn {
  from { opacity: 0; transform: rotate(-8deg) scale(0.94); }
  to   { opacity: 1; transform: rotate(0deg) scale(1); }
}
@keyframes agy-modalEnter {
  from { opacity: 0; transform: scale(0.96) translateY(12px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes agy-overlayEnter {
  from { opacity: 0; backdrop-filter: blur(0); }
  to   { opacity: 1; backdrop-filter: blur(8px); }
}
@keyframes agy-toastSlide {
  from { opacity: 0; transform: translateY(20px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes agy-orbitFill {
  from { --agy-fill: 0deg; }
}
@keyframes agy-counterPop {
  0%   { transform: scale(0.85); opacity: 0; }
  60%  { transform: scale(1.05); }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes agy-ripple {
  0%   { transform: scale(0); opacity: 0.6; }
  100% { transform: scale(2.5); opacity: 0; }
}
@keyframes agy-gradientShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ---- §1 ENTRANCE ANIMATIONS: STAGGERED CARD REVEALS ----------- */
.journey-card,
.tool-card,
.mode-card,
.progress-kpis article,
.reset-card,
.guide-facts article,
.guide-day-grid article,
.snapshot-stats div,
.evidence-grid article,
.glossary-category-list button,
.plan-focus {
  animation: agy-fadeInUp .48s cubic-bezier(.22, .61, .36, 1) both;
}
.journey-card:nth-child(1), .tool-card:nth-child(1), .mode-card:nth-child(1) { animation-delay: .04s; }
.journey-card:nth-child(2), .tool-card:nth-child(2), .mode-card:nth-child(2) { animation-delay: .09s; }
.journey-card:nth-child(3), .tool-card:nth-child(3), .mode-card:nth-child(3) { animation-delay: .14s; }
.journey-card:nth-child(4), .tool-card:nth-child(4), .mode-card:nth-child(4) { animation-delay: .19s; }
.journey-card:nth-child(5), .tool-card:nth-child(5) { animation-delay: .24s; }
.tool-card:nth-child(6) { animation-delay: .29s; }
.tool-card:nth-child(7) { animation-delay: .34s; }
.tool-card:nth-child(8) { animation-delay: .39s; }
.progress-kpis article:nth-child(1) { animation-delay: .05s; }
.progress-kpis article:nth-child(2) { animation-delay: .12s; }
.progress-kpis article:nth-child(3) { animation-delay: .19s; }
.progress-kpis article:nth-child(4) { animation-delay: .26s; }
.reset-card:nth-child(1) { animation-delay: .04s; }
.reset-card:nth-child(2) { animation-delay: .10s; }
.reset-card:nth-child(3) { animation-delay: .16s; }
.reset-card:nth-child(4) { animation-delay: .22s; }

/* Hero entrance choreography */
.hero-copy .status-pill { animation: agy-fadeInUp .5s cubic-bezier(.22,.61,.36,1) .05s both; }
.hero-copy h1 { animation: agy-fadeInUp .6s cubic-bezier(.22,.61,.36,1) .12s both; }
.hero-copy > p { animation: agy-fadeInUp .55s cubic-bezier(.22,.61,.36,1) .22s both; }
.hero-actions { animation: agy-fadeInUp .5s cubic-bezier(.22,.61,.36,1) .32s both; }
.trust-row { animation: agy-fadeInUp .45s cubic-bezier(.22,.61,.36,1) .40s both; }
.decision-pulse-card { animation: agy-scaleIn .6s cubic-bezier(.22,.61,.36,1) .18s both; }

/* Section headings */
.section-heading,
.page-hero,
.tools-intro,
.practice-heading,
.progress-heading { animation: agy-fadeInUp .45s cubic-bezier(.22,.61,.36,1) both; }

/* Content snapshot */
.content-snapshot { animation: agy-fadeInUp .5s cubic-bezier(.22,.61,.36,1) .15s both; }
.mock-builder { animation: agy-fadeInUp .5s cubic-bezier(.22,.61,.36,1) .1s both; }

/* KPI number pop animation */
.progress-kpis article > strong,
.snapshot-stats strong,
.mode-count { animation: agy-counterPop .5s cubic-bezier(.22,.61,.36,1) .3s both; }

/* Brand mark breathing glow */
.brand-mark { animation: agy-pulseGlow 3s ease-in-out infinite; }

/* ---- §1 MICRO-INTERACTIONS ------------------------------------ */
/* Enhanced button press feedback */
.primary-button:active,
.secondary-button:active,
.coach-layer-button:active,
.guide-tabs button:active,
.reset-contexts button:active,
.glossary-category-list button:active { transform: scale(0.965) !important; transition: transform .08s ease; }

/* Card hover enhancement: lift + glow */
.journey-card,
.tool-card,
.mode-card,
.progress-kpis article,
.reset-card {
  transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s cubic-bezier(.22,.61,.36,1), border-color .28s ease;
}
.journey-card:hover:not(:disabled),
.tool-card:hover,
.mode-card:hover:not(:disabled),
.reset-card:hover {
  transform: translateY(-4px) scale(1.008);
}

/* Option button hover glow */
.option-button,
.coach-option {
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .18s ease;
}
.option-button:hover:not(:disabled),
.coach-option:hover:not(:disabled) {
  box-shadow: 0 4px 16px rgba(45, 86, 82, .09);
  transform: translateY(-1px);
}

/* Journey card arrow bounce on hover */
.journey-card:hover .journey-arrow svg { animation: agy-bounceArrow .5s ease infinite; }

/* Mode card decorative circle rotation on hover */
.mode-card::after { transition: transform 8s linear; }
.mode-card:hover::after { transform: rotate(45deg); }

/* Sidebar nav smooth transitions */
.sidebar nav button {
  transition: color .2s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.nav-icon {
  transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sidebar nav button:hover .nav-icon { transform: scale(1.08); }
.sidebar nav button.active .nav-icon { animation: agy-pulseGlow 2.5s ease-in-out infinite; }

/* Tool card thumbnail zoom is smoother */
.tool-thumb img { transition: transform .45s cubic-bezier(.22,.61,.36,1); }
.tool-card:hover .tool-thumb img { transform: scale(1.06); }

/* Tool open button glow on card hover */
.tool-open { transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }
.tool-card:hover .tool-open {
  transform: scale(1.08);
  box-shadow: 0 6px 16px rgba(151, 211, 192, .25);
}

/* ---- §2 PAGE TRANSITIONS -------------------------------------- */
.page-content {
  transition: opacity .2s ease, transform .2s ease;
}
.page-content.agy-page-exit {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
}
.page-content.agy-page-enter {
  animation: agy-fadeInUp .35s cubic-bezier(.22,.61,.36,1) both;
}

/* ---- §3 COLOR & GRADIENT REFINEMENTS -------------------------- */
/* Glassmorphism topbar */
.topbar {
  background: rgba(244, 248, 246, .82) !important;
  backdrop-filter: blur(22px) saturate(1.35) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.35) !important;
  border-bottom: 1px solid rgba(45, 86, 82, .1) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.7), 0 4px 18px rgba(12,44,71,.04) !important;
}

/* Pulse card shimmer on the ring */
.decision-pulse-card::after {
  background: radial-gradient(circle at 50% 50%, rgba(151, 211, 192, .15), transparent 65%);
  animation: agy-breathe 4s ease-in-out infinite;
}

/* Progress orbit glow */
.pulse-orbit,
.result-orbit {
  filter: drop-shadow(0 0 10px rgba(151, 211, 192, .28));
  transition: filter .3s ease;
}
.pulse-orbit:hover,
.result-orbit:hover {
  filter: drop-shadow(0 0 18px rgba(151, 211, 192, .42));
}

/* Card hover directional gradient */
.journey-card:hover:not(:disabled),
.mode-card:hover:not(:disabled) {
  background: linear-gradient(165deg, #fff 58%, rgba(151, 211, 192, .07)) !important;
}

/* Correct answer shimmer */
.option-button.correct,
.coach-option.correct {
  background: linear-gradient(110deg, #e7f5ee 0%, #d4ece0 40%, #e7f5ee 60%, #e7f5ee 100%) !important;
  background-size: 250% 100% !important;
  animation: agy-shimmer 2.5s ease-in-out 1 !important;
}

/* Wrong answer subtle pulse */
.option-button.wrong,
.coach-option.wrong {
  background: linear-gradient(110deg, #fff1f6 0%, #ffe4ec 40%, #fff1f6 60%, #fff1f6 100%) !important;
  background-size: 250% 100% !important;
  animation: agy-shimmer 2.5s ease-in-out 1 !important;
}

/* Topbar dynamic shadow on scroll — controlled by JS class */
.topbar.agy-scrolled {
  box-shadow: 0 1px 0 rgba(255,255,255,.7), 0 8px 28px rgba(12,44,71,.08) !important;
}

/* Hero Decision Pulse animated gradient border */
.decision-pulse-card::before {
  content: "";
  position: absolute; z-index: 2; inset: 0 0 auto; height: 4px;
  background: linear-gradient(90deg, var(--snle-aqua), var(--snle-green), var(--snle-plum), var(--snle-orange), var(--snle-aqua));
  background-size: 300% 100%;
  animation: agy-gradientShift 6s ease infinite;
}

/* ---- §4 TYPOGRAPHY REFINEMENTS -------------------------------- */
/* Balanced headings */
.hero-copy h1,
.tools-intro h1,
.practice-heading h1,
.progress-heading h1,
.page-hero h1,
.section-heading h2,
.guide-panel h2,
.glossary-detail h2,
.dialog-title-row [data-slot="dialog-title"] {
  text-wrap: balance;
}

/* Body text minimum readability */
.sidebar-footer,
.sidebar-card small,
.sidebar-card strong { font-size: max(10px, 0.625rem); }

/* Glossary definition improved readability */
.glossary-definition { font-size: 17px; line-height: 1.78; }

/* Monospace numbers consistency */
.progress-kpis article > strong,
.snapshot-stats strong,
.pulse-orbit strong,
.result-orbit strong,
.guide-facts b,
.reset-orbit b,
.mode-count,
.journey-number,
.guide-number {
  font-variant-numeric: tabular-nums lining-nums;
}

/* Arabic RTL readability */
[dir="rtl"] body { word-spacing: 0.04em; }

/* Improved letter spacing for sans-serif body */
.tool-card p,
.mode-card p,
.guide-panel > p,
.option-button,
.coach-option,
.glossary-definition,
.debrief-grid p,
.coach-debrief-grid p {
  letter-spacing: 0.008em;
}

/* ---- §5 CARD SYSTEM ADVANCEMENT ------------------------------- */
/* Multi-layer premium card shadows */
.journey-card,
.tool-card,
.mode-card,
.progress-kpis article,
.reset-card {
  box-shadow: 0 1px 3px rgba(12,44,71,.03), 0 6px 18px rgba(12,44,71,.06);
}
.journey-card:hover:not(:disabled),
.tool-card:hover,
.mode-card:hover:not(:disabled),
.reset-card:hover {
  box-shadow: 0 4px 10px rgba(12,44,71,.06), 0 18px 48px rgba(12,44,71,.11) !important;
}

/* Card inner glow on hover */
.tool-card {
  position: relative;
  overflow: hidden;
}
.tool-card::after {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 0%, rgba(151,211,192,.08), transparent 55%);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.tool-card:hover::after { opacity: 1; }

/* Question card premium treatment */
.question-card,
.coach-question-card {
  border-top: 4px solid var(--snle-aqua);
  box-shadow: 0 2px 6px rgba(12,44,71,.04), 0 18px 48px rgba(12,44,71,.08);
  transition: box-shadow .3s ease;
}

/* Debrief accent border */
.debrief { border-left: 4px solid var(--snle-green); }
.debrief-wrong { border-left-color: var(--snle-plum); }

/* KPI stat card watermark */
.progress-kpis article::after {
  content: "";
  position: absolute; right: -18px; bottom: -18px;
  width: 92px; height: 92px;
  border-radius: 50%;
  border: 22px solid rgba(151, 211, 192, .06);
  pointer-events: none;
}

/* ---- §6 POPUP/MODAL ADVANCEMENT ------------------------------ */
/* Modal entrance animation */
.standalone-modal,
.tool-dialog {
  animation: agy-modalEnter .32s cubic-bezier(.22,.61,.36,1) both;
}

/* Overlay entrance */
[data-slot="dialog-overlay"],
.standalone-modal-overlay {
  animation: agy-overlayEnter .25s ease both;
}

/* Close button hover rotation */
.standalone-close,
.tool-dialog > button[data-slot="dialog-close"] {
  transition: transform .25s ease, background .2s ease, border-color .2s ease;
}
.standalone-close:hover,
.tool-dialog > button[data-slot="dialog-close"]:hover {
  transform: rotate(90deg);
  border-color: var(--snle-plum);
  color: var(--snle-plum);
}

/* Tab bar active indicator slide */
.standalone-tabbar button,
.tool-tabs-list [data-slot="tabs-trigger"],
.guide-tabs button {
  transition: color .2s ease, background .22s ease, box-shadow .22s ease;
  position: relative;
}

/* Modal focus mode: border-radius transition */
.standalone-modal {
  transition: border-radius .3s ease, width .3s ease, height .3s ease;
}
.standalone-modal.focus {
  border-radius: 0 !important;
}

/* Toast notification animation */
.standalone-toast {
  animation: agy-toastSlide .35s cubic-bezier(.22,.61,.36,1) both;
}

/* ---- §7 RESPONSIVE & COMFORT IMPROVEMENTS -------------------- */
/* Minimum touch target enforcement */
.sidebar nav button,
.guide-tabs button,
.glossary-category-list button,
.reset-contexts button,
.coach-layer-button,
.option-button,
.coach-option,
.flag-button,
.language-button,
.icon-button,
.primary-button,
.secondary-button,
.standalone-tabbar button {
  min-height: 44px;
}

/* Scroll affordance: fade masks for horizontal scroll containers */
.coach-topline,
.standalone-tabbar,
.guide-tabs,
.glossary-category-list,
.reset-contexts {
  position: relative;
}

/* Reading width cap for long prose */
.glossary-definition,
.debrief-grid p,
.coach-debrief-grid p,
.guide-panel > p,
.decision-layout article p,
.evidence-grid article p,
.summary-row p {
  max-width: 72ch;
}

/* Mobile bottom navigation enhancement */
@media (max-width: 680px) {
  .sidebar nav {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 55;
    display: flex !important;
    gap: 2px;
    margin: 0;
    padding: 6px 4px env(safe-area-inset-bottom, 4px);
    background: rgba(12, 44, 73, .97);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 -4px 24px rgba(12, 44, 71, .18);
    border-top: 1px solid rgba(151, 211, 192, .15);
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .sidebar nav::-webkit-scrollbar { display: none; }
  .sidebar nav button {
    flex: 1 0 auto;
    min-width: 54px;
    flex-direction: column;
    gap: 3px;
    padding: 6px 4px;
    font-size: 9px;
    min-height: 56px;
  }
  .sidebar nav button > span:last-child {
    display: block !important;
    font-size: 9px;
    opacity: .8;
    max-width: 56px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }
  .sidebar {
    position: static !important;
    width: 100% !important;
    min-height: auto !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .sidebar .brand-lockup,
  .sidebar-section-label,
  .sidebar-card,
  .sidebar-footer { display: none !important; }
  .main-canvas,
  [dir="rtl"] .main-canvas { margin: 0 !important; padding-bottom: 72px; }
  .nav-icon { width: 32px; height: 32px; }
}

/* Spacing rhythm: standardize to 8px grid */
.page-content { padding-top: 40px; padding-bottom: 72px; }

/* Touch-friendly ripple effect on tap */
.primary-button,
.secondary-button { position: relative; overflow: hidden; }
.primary-button::after,
.secondary-button::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%), rgba(255,255,255,.25), transparent 60%);
  opacity: 0;
  transform: scale(0);
  transition: none;
  pointer-events: none;
}
.primary-button:active::after,
.secondary-button:active::after {
  opacity: 1;
  transform: scale(2.5);
  transition: transform .4s ease, opacity .4s ease;
}

/* ---- §8 ICON SYSTEM ENHANCEMENT ------------------------------- */
/* Consistent icon sizing */
.nav-icon svg { width: 18px; height: 18px; }
.journey-arrow svg { width: 14px; height: 14px; }

/* Replace checkbox emoji with CSS-based indicators */
.coach-layer-button::before {
  content: "" !important;
  display: inline-block;
  width: 14px; height: 14px;
  margin-right: 6px;
  border: 2px solid currentColor;
  border-radius: 4px;
  vertical-align: middle;
  transition: background .15s ease, border-color .15s ease;
}
[dir="rtl"] .coach-layer-button::before { margin-right: 0; margin-left: 6px; }
.coach-layer-button.active::before {
  background: #fff;
  border-color: #fff;
  /* CSS checkmark using clip-path */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d5652' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-size: 10px;
  background-repeat: no-repeat;
  background-position: center;
}

/* Status pill pulse animation */
.status-pill::before {
  content: "";
  display: inline-block;
  width: 7px; height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--snle-green);
  animation: agy-pulseGlow 2s ease-in-out infinite;
}

/* ---- §9 SCROLL & PARALLAX EFFECTS ----------------------------- */
/* Scroll-triggered reveal classes — applied by JS IntersectionObserver */
.agy-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .5s cubic-bezier(.22,.61,.36,1), transform .5s cubic-bezier(.22,.61,.36,1);
}
.agy-reveal.agy-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Progress bars animate when visible */
[data-slot="progress-indicator"],
.plan-progress-bar i,
.coach-progress span,
.blueprint-track i {
  transition: width .8s cubic-bezier(.22,.61,.36,1);
}

/* Sticky section headings */
.section-heading,
.reset-library-heading {
  position: sticky;
  top: 78px;
  z-index: 8;
  padding-top: 12px;
  padding-bottom: 12px;
  margin-left: -4px;
  margin-right: -4px;
  padding-left: 4px;
  padding-right: 4px;
  background: rgba(244, 248, 246, .88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* ---- §10 CSS ARCHITECTURE CLEANUP ----------------------------- */
/* Standardize html font-size to exactly 16px (removes conflicts from lines 289 and 685) */
html { font-size: 16px !important; }

/* ---- ACCESSIBILITY: REDUCED MOTION SAFE ----------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .brand-mark { animation: none !important; }
  .status-pill::before { animation: none !important; }
  .decision-pulse-card::before { animation: none !important; }
  .decision-pulse-card::after { animation: none !important; }
  .option-button.correct,
  .coach-option.correct,
  .option-button.wrong,
  .coach-option.wrong {
    animation: none !important;
    background-size: 100% 100% !important;
  }
  .agy-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ---- DARK MODE PREPARATION (CSS custom property layer) --------- */
@media (prefers-color-scheme: dark) {
  /* Reserved: enable when user requests dark mode */
}

/* ---- PRINT SAFETY --------------------------------------------- */
@media print {
  .agy-reveal { opacity: 1 !important; transform: none !important; }
  .brand-mark, .status-pill::before { animation: none !important; }
  .section-heading { position: static; background: transparent; backdrop-filter: none; }
}



/* --------------------------------------------------------------------------
   7. INTERACTIVE LABS: FULLSCREEN FOCUS, PALETTE & ANNOTATIONS
   -------------------------------------------------------------------------- */
/* Annotator Minimization & Wheel Scroll Passthrough */
.glossary-annotator.is-minimized,
.glossary-annotator[data-minimized="true"] {
  display: none !important;
}
.glossary-annotation-layer {
  display: none;
}
.glossary-annotation-layer.is-active {
  display: block !important;
}
body.snle-focus-active .app-shell,
body.snle-focus-active .main-canvas {
  overflow: visible !important;
}
body.snle-focus-active .labs-page {
  height: 100vh !important;
  width: 100vw !important;
  overflow: hidden !important;
}
body.snle-focus-active .labs-page #labs-iframe-mount,
body.snle-focus-active .labs-page iframe {
  height: 100vh !important;
  width: 100vw !important;
  pointer-events: auto !important;
}

.labs-page {
  position: relative !important;
  width: 100% !important;
  height: calc(100vh - 68px) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.labs-page #labs-iframe-mount,
.labs-page iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  display: block !important;
}
.labs-page .snle-focus-toggle {
  position: absolute;
  top: 14px;
  right: 20px;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 800;
  color: var(--navy, #0c2e63);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--line, #cbd5e1);
  box-shadow: 0 4px 14px rgba(12, 44, 73, 0.12);
  cursor: pointer;
  transition: all 0.2s ease;
  backdrop-filter: blur(8px);
}
[dir="rtl"] .labs-page .snle-focus-toggle {
  right: auto;
  left: 20px;
}
.labs-page .snle-focus-toggle:hover {
  background: #ffffff;
  border-color: var(--primary, #0a6b4c);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(12, 44, 73, 0.18);
}
body.snle-focus-active .labs-page {
  height: 100vh !important;
  width: 100vw !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.snle-focus-active .labs-page #labs-iframe-mount,
body.snle-focus-active .labs-page iframe {
  height: 100vh !important;
  width: 100vw !important;
}
body.snle-focus-active .labs-page .snle-focus-toggle {
  position: fixed !important;
  top: 16px !important;
  right: 24px !important;
  z-index: 100001 !important;
  background: #0f172a !important;
  color: #ffffff !important;
  border-color: #0f172a !important;
}
[dir="rtl"] body.snle-focus-active .labs-page .snle-focus-toggle {
  right: auto !important;
  left: 24px !important;
}
body.snle-focus-active .labs-page .snle-focus-toggle:hover {
  background: #f43f5e !important;
  border-color: #f43f5e !important;
}
body.snle-focus-active .glossary-annotation-layer {
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}
.glossary-annotator.page-annotator {
  z-index: 150 !important;
}

/* --------------------------------------------------------------------------
   6. DOSSIER READABILITY & LAYOUT FIXES
   -------------------------------------------------------------------------- */
/* 1. Dossier Card (Library View) */
.dossier-card h3 {
  font-size: 20px !important;
  line-height: 1.3 !important;
}
.dossier-card .dossier-focus {
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  margin-bottom: 12px !important;
}
.dossier-meta span {
  font-size: 11.5px !important;
  padding: 6px 10px !important;
}
.dossier-progress-mini div:first-child b {
  font-size: 14px !important;
}
.dossier-progress-mini div:first-child span {
  font-size: 11px !important;
}
.dossier-progress-mini strong {
  font-size: 12.5px !important;
}
.dossier-links {
  font-size: 12.5px !important;
}
.dossier-links b {
  font-size: 13px !important;
}
.dossier-card-actions button,
.dossier-open, .dossier-practice-lock {
  font-size: 14px !important;
  min-height: 44px !important;
}

/* 2. Dossier Dialog Head */
.dossier-dialog-v22 .dossier-dialog-head h2 {
  font-size: clamp(28px, 3.5vw, 42px) !important;
  line-height: 1.15 !important;
  text-wrap: balance !important; /* Prevents awkward 3-line breaks */
  margin-bottom: 16px !important;
}
.dossier-dialog-v22 .dossier-dialog-head p {
  font-size: 18px !important;
}

/* 3. Overview Tab: Top summary row & metadata */
.dossier-dialog-v22 .dossier-summary-row article {
  padding: 16px !important;
}
.dossier-dialog-v22 .dossier-summary-row article b {
  font-size: 13.5px !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.dossier-dialog-v22 .dossier-summary-row article span {
  font-size: 16.5px !important;
  font-weight: 600 !important;
}
.dossier-source-groups {
  display: grid !important;
  grid-template-columns: 160px 1fr !important;
  gap: 16px 24px !important;
  align-items: start !important;
}
.dossier-source-groups b {
  font-size: 15px !important;
  margin: 0 !important;
  padding-top: 6px !important;
  text-align: right !important;
  color: #475569 !important;
}
.dossier-source-groups div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
}
.dossier-source-groups div span {
  font-size: 14px !important;
  padding: 6px 14px !important;
  white-space: normal !important;
  line-height: 1.4 !important;
  border-radius: 20px !important;
}

/* 4. Recognize Tab: 'Why it matters' */
.dossier-recognize-grid article small {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #1e293b !important;
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid #e2e8f0 !important;
}
.dossier-recognize-grid article small strong {
  font-size: 13px !important;
  display: block !important;
  margin-bottom: 6px !important;
  color: #475569 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* 5. Decide & Act Tab: Judgment actions */
.dossier-judgment-grid article p {
  font-size: 16.5px !important;
  color: #0f172a !important; /* High contrast */
  line-height: 1.6 !important;
  margin: 16px 0 0 0 !important;
  padding: 16px !important;
  background: #f8fafc !important;
  border-radius: 12px !important;
  border: 1px solid #e2e8f0 !important;
}
.dossier-judgment-grid article p strong {
  font-size: 12.5px !important;
  color: #64748b !important;
  display: block !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* 6. Connections Tab: Related & Processes */
.dossier-related-buttons button {
  font-size: 15.5px !important;
  padding: 16px 20px !important;
  text-align: left !important;
}
.dossier-process-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 16px !important;
}
.dossier-process-pills span {
  font-size: 14px !important;
  padding: 8px 16px !important;
  border-radius: 20px !important;
  background: #f1f5f9 !important;
  color: #334155 !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   5. FOCUS MODE (FULLSCREEN VIEW FOR GLOSSARY & RESET)
   -------------------------------------------------------------------------- */
.glossary-shell, .reset-context-shell {
  position: relative !important;
}
.snle-focus-toggle {
  position: absolute;
  top: 14px;
  right: 18px;
  z-index: 10000;
  background: #ffffff;
  color: #0f172a;
  border: 1.5px solid #cbd5e1;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
[dir="rtl"] .snle-focus-toggle {
  right: auto;
  left: 18px;
}
.snle-focus-toggle:hover {
  background: #0f172a;
  color: #ffffff;
  border-color: #0f172a;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.15);
}

body.snle-focus-active .snle-focus-toggle {
  position: fixed;
  top: 16px;
  right: 24px;
  background: #0f172a;
  color: #ffffff;
  border-color: #0f172a;
}
[dir="rtl"] body.snle-focus-active .snle-focus-toggle {
  right: auto;
  left: 24px;
}
body.snle-focus-active .snle-focus-toggle:hover {
  background: #f43f5e;
  border-color: #f43f5e;
}

/* Hide header and topbar in focus mode */
body.snle-focus-active .topbar,
body.snle-focus-active .page-hero {
  display: none !important;
}

/* Expand main content */
body.snle-focus-active .app-shell,
body.snle-focus-active .main-canvas,
body.snle-focus-active .page-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
}

/* Glossary Focus Layout */
body.snle-focus-active .glossary-page {
  display: flex !important;
  flex-direction: column !important;
}
body.snle-focus-active .glossary-shell {
  flex: 1 !important;
  height: 100vh !important;
  border-radius: 0 !important;
  border: none !important;
  margin: 0 !important;
}

/* Reset Focus Layout */
body.snle-focus-active .reset-page {
  display: flex !important;
  flex-direction: column !important;
  background: #f1f5f9 !important;
  padding: 16px !important;
  padding-top: 64px !important; /* Space for the exit button */
  gap: 16px !important;
  overflow-y: auto !important;
}
body.snle-focus-active .reset-context-shell {
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
}
body.snle-focus-active .reset-studio {
  flex: 1 !important;
  min-height: 500px !important;
}


/* ==========================================================================
   SNLE MASTER WORLD-CLASS SUITE: DESIGN SYSTEM, TYPOGRAPHY, DRAWING & FIXES
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --font-sans: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-serif: 'Newsreader', Georgia, 'Merriweather', serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace;

  --snle-canvas: #f8fafc;
  --snle-canvas-subtle: #f1f5f9;
  --snle-surface: #ffffff;
  --snle-surface-glass: rgba(255, 255, 255, 0.88);
  --snle-border: #e2e8f0;
  
  --snle-teal-500: #14b8a6;
  --snle-teal-600: #0d9488;
  --snle-cyan-500: #06b6d4;
  --snle-brand-gradient: linear-gradient(135deg, #0d9488 0%, #06b6d4 100%);
  --snle-brand-glow: 0 0 24px rgba(13, 148, 136, 0.32);

  --snle-pearl: #f59e0b;
  --snle-pearl-bg: #fffbeb;
  --snle-pearl-border: #fde68a;

  --snle-boundary: #6366f1;
  --snle-boundary-bg: #eef2ff;
  --snle-boundary-border: #c7d2fe;

  --snle-trap: #f43f5e;
  --snle-trap-bg: #fff1f2;
  --snle-trap-border: #fecdd3;

  --snle-success: #10b981;
  --snle-success-bg: #ecfdf5;
  --snle-success-border: #a7f3d0;

  --elevation-1: 0 1px 3px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.03);
  --elevation-2: 0 4px 6px -1px rgba(15, 23, 42, 0.05), 0 10px 24px -3px rgba(15, 23, 42, 0.06);
  --elevation-3: 0 12px 28px -4px rgba(15, 23, 42, 0.08), 0 24px 48px -8px rgba(13, 148, 136, 0.12);
}

body {
  font-family: var(--font-sans) !important;
  background-color: var(--snle-canvas) !important;
  color: #0f172a !important;
  letter-spacing: -0.011em;
  -webkit-font-smoothing: antialiased;
}

/* --------------------------------------------------------------------------
   1. TOPBAR & MODAL OVERLAP FIX (ZERO-LATENCY :has() + OBSERVER FALLBACK)
   -------------------------------------------------------------------------- */
.topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  background: var(--snle-surface-glass) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-bottom: 1px solid rgba(13, 148, 136, 0.12) !important;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03) !important;
  transition: opacity 0.2s ease, visibility 0.2s ease !important;
}
.page-content {
  padding-top: 24px !important;
}

/* Instant CSS-level hiding when any tool, modal, poster, or dialog is active */
body:has(.standalone-modal-overlay) .topbar,
body:has(.standalone-modal) .topbar,
body:has(.poster-toolbar) .topbar,
body:has(.guide-domain-overlay) .topbar,
body:has(.guide-domain-modal) .topbar,
body:has(.dossier-overlay) .topbar,
body:has(.dossier-dialog) .topbar,
body:has(.glossary-info-overlay) .topbar,
body:has(.glossary-info-modal) .topbar,
body:has(.course-info-overlay) .topbar,
body:has(.committee-modal) .topbar,
body:has(.journey-modal) .topbar,
body:has(.course-library-modal) .topbar,
body:has(.reset-timing-overlay) .topbar,
body:has(.reset-timing-modal) .topbar,
body:has(.tool-dialog) .topbar,
body:has([role="dialog"]) .topbar,
body:has(dialog[open]) .topbar,
body.modal-is-open .topbar,
body.tool-open .topbar {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Modals & Dialog Overlays have highest z-index */
.standalone-modal-overlay,
.guide-domain-overlay,
.dossier-overlay,
.glossary-info-overlay,
.course-info-overlay,
.reset-timing-overlay,
.modal-backdrop,
.tool-dialog-backdrop {
  z-index: 99999 !important;
}

.standalone-modal,
.guide-domain-modal,
.dossier-dialog,
.glossary-info-modal,
.course-info-modal,
.committee-modal,
.journey-modal,
.course-library-modal,
.reset-timing-modal,
.tool-dialog,
[role="dialog"],
dialog[open] {
  z-index: 100000 !important;
}

/* --------------------------------------------------------------------------
   2. GUIDE AT A GLANCE: CLEAR ORGANIZED STRUCTURE & PROPORTIONATE NUMERALS
   -------------------------------------------------------------------------- */
.guide-lead-text {
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  color: #334155 !important;
  margin: 6px 0 16px !important;
  max-width: 90ch !important;
}
.guide-lead-text strong {
  color: #0c2c47 !important;
  font-weight: 800 !important;
}

.guide-structure-highlights {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 14px 0 24px !important;
}
.guide-highlight-item {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03) !important;
  transition: all 0.18s ease !important;
}
.guide-highlight-item:hover {
  border-color: #0d9488 !important;
  box-shadow: 0 6px 20px rgba(13, 148, 136, 0.10) !important;
  transform: translateY(-2px) !important;
}
.guide-highlight-item .highlight-badge {
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #0d9488 !important;
}
.guide-highlight-item strong {
  font-size: 15px !important;
  color: #0f172a !important;
  font-weight: 800 !important;
}
.guide-highlight-item span:not(.highlight-badge) {
  font-size: 12px !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}
@media (max-width: 960px) {
  .guide-structure-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 580px) {
  .guide-structure-highlights { grid-template-columns: 1fr !important; }
}

.guide-facts {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 16px !important;
}
.guide-facts article {
  min-height: 175px !important;
  padding: 24px 14px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-top: 4px solid #0d9488 !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.guide-facts article:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 28px rgba(13, 148, 136, 0.12) !important;
}

/* Base numeral sizing directly on b and segment-display */
html body .app-shell .main-canvas .guide-page .guide-facts article b,
html body .app-shell .guide-page .guide-facts article b,
html body .guide-page .guide-facts article b,
.guide-page .guide-facts article b,
.guide-facts article b {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-bottom: 0 !important;
  line-height: 1 !important;
  font-size: 52px !important;
  font-family: inherit !important;
  font-weight: 900 !important;
}

/* Multi-character cards (200-800, 2 x 120, =72 sec, <=10%) */
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(3) b,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(4) b,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(5) b,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(8) b,
html body .guide-page .guide-facts article:nth-child(3) b,
html body .guide-page .guide-facts article:nth-child(4) b,
html body .guide-page .guide-facts article:nth-child(5) b,
html body .guide-page .guide-facts article:nth-child(8) b,
.guide-page .guide-facts article:nth-child(3) b,
.guide-page .guide-facts article:nth-child(4) b,
.guide-page .guide-facts article:nth-child(5) b,
.guide-page .guide-facts article:nth-child(8) b,
.guide-facts article:nth-child(3) b,
.guide-facts article:nth-child(4) b,
.guide-facts article:nth-child(5) b,
.guide-facts article:nth-child(8) b {
  font-size: 36px !important;
}

/* Direct targeting of segment-display AND seven-digit to defeat any span overrides */
html body .app-shell .main-canvas .guide-page .guide-facts .segment-display,
html body .app-shell .main-canvas .guide-page .guide-facts article .segment-display,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(n) .segment-display,
html body .app-shell .main-canvas .guide-page .guide-facts .seven-digit,
html body .guide-page .guide-facts article .segment-display,
html body .guide-page .guide-facts .seven-digit,
.guide-page .guide-facts .segment-display,
.guide-page .guide-facts .seven-digit,
.guide-facts .segment-display,
.guide-facts .seven-digit,
.guide-facts article .segment-display {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 52px !important;
  line-height: 1 !important;
  color: #0c2c47 !important;
  gap: 0.05em !important;
}

html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(3) .segment-display,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(3) .seven-digit,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(4) .segment-display,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(4) .seven-digit,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(5) .segment-display,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(5) .seven-digit,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(8) .segment-display,
html body .app-shell .main-canvas .guide-page .guide-facts article:nth-child(8) .seven-digit,
html body .guide-page .guide-facts article:nth-child(3) .segment-display,
html body .guide-page .guide-facts article:nth-child(3) .seven-digit,
html body .guide-page .guide-facts article:nth-child(4) .segment-display,
html body .guide-page .guide-facts article:nth-child(4) .seven-digit,
html body .guide-page .guide-facts article:nth-child(5) .segment-display,
html body .guide-page .guide-facts article:nth-child(5) .seven-digit,
html body .guide-page .guide-facts article:nth-child(8) .segment-display,
html body .guide-page .guide-facts article:nth-child(8) .seven-digit,
.guide-page .guide-facts article:nth-child(3) .segment-display,
.guide-page .guide-facts article:nth-child(3) .seven-digit,
.guide-page .guide-facts article:nth-child(4) .segment-display,
.guide-page .guide-facts article:nth-child(4) .seven-digit,
.guide-page .guide-facts article:nth-child(5) .segment-display,
.guide-page .guide-facts article:nth-child(5) .seven-digit,
.guide-page .guide-facts article:nth-child(8) .segment-display,
.guide-page .guide-facts article:nth-child(8) .seven-digit {
  font-size: 36px !important;
}

.guide-facts .seven-digit {
  position: relative !important;
  display: inline-block !important;
  width: .62em !important;
  height: 1.06em !important;
  flex: 0 0 .62em !important;
}

.guide-facts .seg {
  position: absolute !important;
  display: block !important;
  background: currentColor !important;
  opacity: .07 !important;
  border-radius: .06em !important;
  clip-path: polygon(10% 0, 90% 0, 100% 50%, 90% 100%, 10% 100%, 0 50%) !important;
}
.guide-facts .seg.on {
  opacity: 1 !important;
  background: #0c2c47 !important;
}

.guide-facts .seven-symbol {
  display: inline-grid !important;
  place-items: center !important;
  font-size: 0.76em !important;
  min-width: .44em !important;
  font-family: "JetBrains Mono", "Droid Sans Mono", Consolas, monospace !important;
  font-weight: 800 !important;
  color: #0c2c47 !important;
}
.guide-facts .seven-space {
  display: inline-block !important;
  width: .20em !important;
}

/* Card labels: ONLY direct child span of article */
.guide-facts article > span {
  display: block !important;
  margin-top: 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  line-height: 1.3 !important;
}

@media (max-width: 1100px) {
  .guide-facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .guide-facts { grid-template-columns: 1fr !important; }
  .guide-facts article b,
  .guide-facts article .segment-display,
  .guide-facts .seven-digit { font-size: 42px !important; }
}
/* --------------------------------------------------------------------------
   3. ADULT NURSING POPUP (CRISP WHITE HEADER)
   -------------------------------------------------------------------------- */
.guide-domain-modal {
  border-radius: 20px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 25px 70px rgba(15, 23, 42, 0.25) !important;
  background: #ffffff !important;
  overflow: hidden !important;
}
.guide-domain-modal > header {
  background: #ffffff !important;
  color: #0f172a !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 24px 28px !important;
}
.guide-domain-modal h2 {
  color: #0f172a !important;
  font-family: var(--font-serif, Georgia, serif) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
}
.guide-domain-modal header p {
  color: #475569 !important;
  font-size: 13.5px !important;
}
.guide-domain-title-row > strong {
  background: #f0fdfa !important;
  color: #0d9488 !important;
  border: 1.5px solid #99f6e4 !important;
}
.guide-domain-close {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 50% !important;
}

/* 4. Drawing CSS removed by user request */

/* Sound Mute Topbar Button */
.sound-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  border-radius: 10px !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: #0f766e !important;
  cursor: pointer !important;
}
.sound-toggle-btn.is-muted {
  color: #64748b !important;
  background: #f8fafc !important;
}


/* Healthcare Crown Academy shared shell + "My Day" bento system.
   Loaded after each app's own CSS. Everything is scoped under body.hs so apps that do not opt in are untouched.
   Class hooks (hs-*) are added by hca-shell.js; per-app files only map selectors and add the 3D signature object. */

html{
  --hs-navy:#10253A;--hs-deep:#0B1A2B;--hs-cream:#F8F5EF;--hs-card:#FFFFFF;--hs-line:#E6E0D4;--hs-gold:#D4A445;
  --hs-ink:#10253A;--hs-muted:#56626E;--hs-soft:#EFEAE0;
  --hs-jewel:#3557D6;--hs-jewel-ink:#2541A8;--hs-jewel-dk:#8FA7FF;
  --hs-side:264px;--hs-top:64px;--hs-ease:cubic-bezier(.22,.8,.26,1);
  --hs-shadow:0 1px 2px rgba(16,37,58,.06),0 8px 24px -12px rgba(16,37,58,.18);
  --hs-shadow-up:0 2px 4px rgba(16,37,58,.06),0 18px 36px -16px rgba(16,37,58,.28);
  --hs-serif:Editorial,"Playfair Display",Georgia,serif;--hs-sans:Studio,Inter,system-ui,sans-serif;
}
body[data-hs-app=carecraft]{--hs-jewel:#0F8A86;--hs-jewel-ink:#0A7C78;--hs-jewel-dk:#6FD0C5}
body[data-hs-app=serein]{--hs-jewel:#5FB89E;--hs-jewel-ink:#2F6B5E;--hs-jewel-dk:#7FD0B5}
body[data-hs-app=lumen]{--hs-jewel:#8B6CF0;--hs-jewel-ink:#5B3FD1;--hs-jewel-dk:#A48BFF}
:root[data-hs-theme=dark]{--hs-card:#12263B;--hs-line:rgba(255,255,255,.1);--hs-ink:#F3EFE6;--hs-muted:#B9C6CF;--hs-soft:#16304A;--hs-cream:#0B1A2B;
  --hs-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6);--hs-shadow-up:0 2px 4px rgba(0,0,0,.3),0 18px 36px -16px rgba(0,0,0,.7)}
body.hs{--hs-j:var(--hs-jewel-ink)}
:root[data-hs-theme=dark] body.hs{--hs-j:var(--hs-jewel-dk)}
body.hs.hs-rail{--hs-side:76px}

/* ---------- focus ---------- */
body.hs :where(a,button,summary,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--hs-j);outline-offset:2px}
body.hs [tabindex="-1"]:focus,body.hs [tabindex="-1"]:focus-visible,body.hs h1[tabindex="-1"]:focus-visible{outline:none}
body.hs .hs-side :where(a,button):focus-visible{outline-color:#fff}

/* ---------- sidebar ---------- */
@media(min-width:1024px){
  body.hs .hs-side{position:fixed;inset:0 auto 0 0;width:var(--hs-side);z-index:40;display:flex;flex-direction:column;padding:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;
    background:radial-gradient(120% 220px at 20% 0,color-mix(in srgb,var(--hs-jewel) 22%,transparent),transparent 70%),linear-gradient(180deg,#0B1A2B,#10253A);
    border:0;box-shadow:inset -1px 0 0 rgba(255,255,255,.06);color:#E9EEF3;transition:width .3s var(--hs-ease);transform:none}
  body.hs .hs-content{margin-left:var(--hs-side);width:calc(100% - var(--hs-side));padding-left:0;transition:margin-left .3s var(--hs-ease),width .3s var(--hs-ease)}
}
body.hs .hs-side .hs-brand{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#0C1C2E 70%,rgba(12,28,46,0));flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:20px 20px 14px;margin:0;min-height:76px;color:#fff;text-decoration:none;background:none;border:0;text-align:left;width:100%;cursor:pointer;font:inherit;letter-spacing:0}
body.hs .hs-brand .hs-crest{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:block;object-fit:contain}
body.hs .hs-brand .hs-crest svg,body.hs .hs-brand .hs-crest img{width:100%;height:100%;display:block}
body.hs .hs-brand .hs-name{display:flex;flex-direction:column;min-width:0;line-height:1.1}
body.hs .hs-brand .hs-name b{font:500 22px/1.1 var(--hs-serif);color:#fff;letter-spacing:0;white-space:nowrap}
body.hs .hs-brand .hs-name .hs-tag{display:block;margin-top:5px;font:600 9px/1.2 var(--hs-sans);letter-spacing:.09em;text-transform:uppercase;color:#AEBBC8;white-space:nowrap}
body.hs .hs-rail-toggle{position:fixed;top:26px;left:calc(var(--hs-side) - 13px);transition:left .3s var(--hs-ease),transform .25s var(--hs-ease),background .2s;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#14304A;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;z-index:41;box-shadow:0 4px 10px rgba(0,0,0,.3)}
body.hs .hs-rail-toggle:hover{background:#1C4062}
body.hs .hs-rail-toggle svg{width:14px;height:14px;transition:transform .3s var(--hs-ease)}
body.hs.hs-rail .hs-rail-toggle svg{transform:rotate(180deg)}
body.hs .hs-rail-toggle:focus-visible{outline-color:#fff;outline-offset:2px}
body.hs .hs-nav{display:flex;flex-direction:column;gap:2px;margin:0;padding:0 12px;background:none;border:0}
body.hs .hs-nav .hs-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border-radius:12px;color:#CBD5DE;background:none;border:0;font:500 14.5px/1.2 var(--hs-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background .18s,color .18s;box-shadow:none}
body.hs .hs-nav .hs-item:hover{background:rgba(255,255,255,.06);color:#fff}
body.hs .hs-nav .hs-item.active,body.hs .hs-nav .hs-item[aria-current=page],body.hs .hs-nav .hs-item[aria-current=true]{background:color-mix(in srgb,var(--hs-jewel) 20%,transparent);color:#fff;font-weight:600;box-shadow:0 0 22px -8px color-mix(in srgb,var(--hs-jewel) 70%,transparent)}
body.hs .hs-nav .hs-item.active::after,body.hs .hs-nav .hs-item[aria-current=page]::after,body.hs .hs-nav .hs-item[aria-current=true]::after{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--hs-jewel)}
body.hs .hs-nav .hs-item svg,body.hs .hs-nav .hs-item i{flex:0 0 22px;width:22px;height:22px;font-size:22px;display:block;color:inherit;opacity:.9}
body.hs .hs-nav .hs-item.active svg,body.hs .hs-nav .hs-item.active i{opacity:1}
body.hs .hs-nav .hs-item .hs-lbl,body.hs .hs-nav .hs-item .nav-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.hs .hs-nav .hs-item .hs-badge,body.hs .hs-nav .hs-item .nav-count,body.hs .hs-nav .hs-item .badge{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:rgba(255,255,255,.14);color:#fff;font:700 11.5px/22px var(--hs-sans);text-align:center}
body.hs .hs-grp{display:block;padding:20px 12px 6px;font:700 10.5px/1 var(--hs-sans);letter-spacing:.14em;text-transform:uppercase;color:#9FB0BF;margin:0}
body.hs .hs-nav .hs-item[data-hs-group]{margin-top:34px}
body.hs .hs-nav .hs-item[data-hs-group]::before{content:attr(data-hs-group);position:absolute;left:12px;top:-24px;font:700 10.5px/1 var(--hs-sans);letter-spacing:.14em;text-transform:uppercase;color:#9FB0BF;white-space:nowrap}
body.hs .hs-nav .hs-item[data-hs-group-first]{margin-top:30px}
/* collapsible group (Lumen "Study desk") */
body.hs .hs-fold{border:0;margin:0;padding:0}
body.hs .hs-fold>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:36px;margin-top:14px;padding:0 12px;border-radius:10px;cursor:pointer;font:700 10.5px/1 var(--hs-sans);letter-spacing:.14em;text-transform:uppercase;color:#9FB0BF}
body.hs .hs-fold>summary::-webkit-details-marker{display:none}
body.hs .hs-fold>summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
body.hs .hs-fold[open]>summary::after{transform:rotate(45deg)}
body.hs .hs-fold>summary:hover{color:#fff;background:rgba(255,255,255,.05)}

/* sidebar bottom */
body.hs .hs-foot{margin-top:auto;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(16,37,58,0),#10253A 18px);padding:22px 16px 16px;border-top:1px solid rgba(255,255,255,.07);display:grid;gap:10px}
body.hs .hs-apps{display:grid;gap:8px}
body.hs .hs-apps-label{font:700 10px/1 var(--hs-sans);letter-spacing:.14em;text-transform:uppercase;color:#9FB0BF}
body.hs .hs-apps-row{display:flex;justify-content:space-between;gap:6px}
body.hs .hs-app{position:relative;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;font:700 13px/1 var(--hs-serif);text-decoration:none;background:var(--c);opacity:.78;transition:opacity .2s,transform .2s var(--hs-ease)}
body.hs .hs-app:hover{opacity:1;transform:translateY(-2px)}
body.hs .hs-app[aria-current=true]{opacity:1;box-shadow:0 0 0 2px #0B1A2B,0 0 0 4px #fff}
body.hs .hs-app::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);padding:5px 9px;border-radius:8px;background:#fff;color:#10253A;font:600 12px/1 var(--hs-sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;box-shadow:0 6px 16px rgba(0,0,0,.35);z-index:5}
body.hs .hs-app:hover::after,body.hs .hs-app:focus-visible::after{opacity:1;transform:translateX(-50%)}
body.hs .hs-acct-slot{min-height:44px;display:flex;align-items:center}
body.hs .hs-acct-slot .hca-acct{position:relative;width:100%}
body.hs .hs-acct-slot .hca-acct-btn{width:100%;justify-content:flex-start;box-shadow:none}
body.hs .hs-acct-slot .hca-acct-btn.signed-out{justify-content:center}
body.hs .hs-acct-slot .hca-menu{left:0;right:auto;bottom:calc(100% + 10px);top:auto;width:min(260px,calc(100vw - 32px))}
/* rail (collapsed) */
@media(min-width:1024px){
  body.hs.hs-rail .hs-brand .hs-name,body.hs.hs-rail .hs-nav .hs-item .hs-lbl,body.hs.hs-rail .hs-nav .hs-item .nav-text,body.hs.hs-rail .hs-badge,body.hs.hs-rail .hs-nav .nav-count,body.hs.hs-rail .hs-apps-label,body.hs.hs-rail .hs-fold>summary::after{display:none}
  body.hs.hs-rail .hs-brand{padding:20px 18px 14px}
  body.hs.hs-rail .hs-nav .hs-item{padding:0;justify-content:center}
  body.hs.hs-rail .hs-nav .hs-item[data-hs-group]{margin-top:22px}
  body.hs.hs-rail .hs-nav .hs-item[data-hs-group]::before{content:"";left:14px;right:14px;top:-12px;height:1px;background:rgba(255,255,255,.12)}
  body.hs.hs-rail .hs-fold>summary{font-size:0;justify-content:center;border-top:1px solid rgba(255,255,255,.12);border-radius:0;margin-top:12px}
    body.hs.hs-rail .hs-apps-row{flex-direction:column}
  body.hs.hs-rail .hs-nav .hs-item::after{left:-12px}
  body.hs.hs-rail .hs-acct-slot .hca-acct-btn .hca-lbl,body.hs.hs-rail .hs-acct-slot .hca-acct-btn .hca-tag{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  body.hs.hs-rail .hs-acct-slot .hca-acct-btn{width:44px;height:44px;padding:0;justify-content:center}
  body.hs.hs-rail .hs-acct-slot .hca-ico{display:block}
}
body.hs .hs-hide-orig{display:none}

/* ---------- top bar ---------- */
body.hs .hs-top{position:sticky;top:0;z-index:30;height:var(--hs-top);min-height:var(--hs-top);padding:0 24px;display:flex;align-items:center;gap:16px;
  background:color-mix(in srgb,#F8F5EF 78%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:0;border-bottom:1px solid var(--hs-line);box-shadow:none}
:root[data-hs-theme=dark] body.hs .hs-top{background:color-mix(in srgb,#0B1A2B 78%,transparent)}
body.hs .hs-top .hs-crumbs{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;font:500 14px/1 var(--hs-sans);color:var(--hs-muted);margin:0;white-space:nowrap;overflow:hidden}
body.hs .hs-top .hs-crumbs a,body.hs .hs-top .hs-crumbs span{color:var(--hs-muted);font:inherit;margin:0;text-decoration:none}
body.hs .hs-top .hs-crumbs strong,body.hs .hs-top .hs-crumbs b{color:var(--hs-ink);font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis}
body.hs .hs-top .hs-crumbs .hs-sep{opacity:.5}
body.hs .hs-top .hs-search{flex:0 1 480px;min-width:200px;width:auto;max-width:none;margin:0 auto;display:flex;align-items:center;gap:10px;height:42px;min-height:42px;padding:0 8px 0 14px;border-radius:999px;border:1px solid var(--hs-line);background:color-mix(in srgb,var(--hs-card) 82%,transparent);color:var(--hs-muted);font:500 14px/1 var(--hs-sans);cursor:pointer;text-align:left;box-shadow:none;transition:border-color .2s,box-shadow .2s}
body.hs .hs-top .hs-search:hover{border-color:color-mix(in srgb,var(--hs-j) 55%,var(--hs-line));box-shadow:0 0 0 4px color-mix(in srgb,var(--hs-j) 12%,transparent)}
body.hs .hs-top .hs-search>span:not(.hs-kbd):not(.icon):not([data-icon]){flex:1;text-align:left;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:var(--hs-muted)}
body.hs .hs-top .hs-search svg{flex:0 0 18px;width:18px;height:18px;display:block}
body.hs .hs-top .hs-search .hs-kbd,body.hs .hs-top .hs-search kbd{flex:0 0 auto;display:inline-block;margin:0;padding:4px 8px;border-radius:999px;border:1px solid var(--hs-line);background:var(--hs-soft);color:var(--hs-muted);font:600 11.5px/1 var(--hs-sans);position:static;width:auto;height:auto;clip:auto}
body.hs .hs-right{flex:1 0 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}
body.hs .hs-right>*{flex:0 0 auto}
body.hs .hs-ibtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid transparent;background:none;color:var(--hs-ink);cursor:pointer;padding:0;font:inherit;transition:background .18s,border-color .18s}
body.hs .hs-ibtn:hover{background:color-mix(in srgb,var(--hs-ink) 7%,transparent)}
body.hs .hs-ibtn svg{width:21px;height:21px;display:block}
body.hs .hs-ibtn .hs-lbl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body.hs .hs-streak{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 10px;border-radius:999px;background:color-mix(in srgb,var(--hs-gold) 16%,transparent);border:1px solid color-mix(in srgb,var(--hs-gold) 45%,transparent);color:#7A5410;font:700 14px/1 var(--hs-sans);white-space:nowrap}
:root[data-hs-theme=dark] body.hs .hs-streak{color:#F1D58C}
body.hs .hs-streak svg{width:17px;height:17px;color:var(--hs-gold)}
body.hs .hs-streak[hidden]{display:none}
body.hs .hs-menu-btn{display:none}
body.hs .hs-top .hs-theme-btn .theme-name,body.hs .hs-top .hs-theme-btn span:not(.hs-ico){display:none}
body.hs .hs-help-btn{display:inline-flex;align-items:center;gap:8px;width:auto;padding:0 12px;font:600 14px/1 var(--hs-sans);border-color:var(--hs-line);background:color-mix(in srgb,var(--hs-card) 70%,transparent)}
body.hs .hs-help-btn svg{width:18px;height:18px}

/* ---------- mobile shell ---------- */
@media(max-width:1023px){
  body.hs .hs-side{position:fixed;inset:0 auto 0 0;width:min(320px,86vw);z-index:70;display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .28s var(--hs-ease);visibility:hidden;
    background:linear-gradient(180deg,#0B1A2B,#10253A);color:#E9EEF3;box-shadow:24px 0 60px rgba(0,0,0,.4);padding:0;overflow:hidden}
  body.hs .hs-side.open,body.hs.hs-drawer .hs-side{transform:none;visibility:visible}
  body.hs .hs-content{margin-left:0;width:100%;padding-left:0}
  body.hs .hs-top{padding:0 12px;gap:8px;padding-top:env(safe-area-inset-top)}
  body.hs .hs-top{height:calc(var(--hs-top) + env(safe-area-inset-top))}
  body.hs .hs-top .hs-crumbs{display:none}
  body.hs .hs-top .hs-mbrand{display:flex;flex:1 1 auto;align-items:center;gap:10px;min-width:0;color:var(--hs-ink);text-decoration:none;font:500 20px/1 var(--hs-serif);background:none;border:0;padding:0}
  body.hs .hs-top .hs-mbrand .hs-crest{width:34px;height:34px;flex:0 0 34px;border-radius:50%}
  body.hs .hs-top .hs-mbrand .hs-crest svg,body.hs .hs-top .hs-mbrand .hs-crest img{width:100%;height:100%;display:block}
  body.hs .hs-top .hs-search{flex:0 0 44px;width:44px;min-width:44px;margin:0;padding:0;justify-content:center;border-radius:12px}
  body.hs .hs-top .hs-search>span,body.hs .hs-top .hs-search kbd{display:none}
  body.hs .hs-right{flex:0 0 auto;gap:2px}
  body.hs .hs-help-btn{width:44px;padding:0;justify-content:center}
  body.hs .hs-help-btn .hs-lbl{display:none}
  body.hs .hs-streak,body.hs .hs-top .hs-theme-btn{display:none}
  body.hs .hs-path-list .hs-btn{min-height:44px;padding:0 16px}
  body.hs .hs-path-list .hs-btn svg{display:none}
  body.hs .hs-path-list li{gap:10px}
  body.hs .hs-acct-top{display:block;position:relative;min-width:44px;height:44px}
  body.hs .hs-rail-toggle{display:none}
  body.hs .hs-scrim{position:fixed;inset:0;background:rgba(5,14,24,.55);z-index:65;opacity:0;pointer-events:none;transition:opacity .25s;border:0;width:100%;height:100%;padding:0;display:block}
  body.hs.hs-drawer .hs-scrim{opacity:1;pointer-events:auto}
}
@media(min-width:1024px){body.hs .hs-mbrand,body.hs .hs-scrim,body.hs .hs-acct-top{display:none}}
@media(max-width:1023px){body.hs .hs-rail-toggle{display:none}}
body.hs .hs-acct-top .hca-acct{position:relative}
body.hs .hs-acct-top .hca-acct-btn{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;box-shadow:none}
body.hs .hs-acct-top .hca-acct-btn .hca-lbl,body.hs .hs-acct-top .hca-acct-btn .hca-tag{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body.hs .hs-acct-top .hca-ico{display:block}
body.hs .hs-acct-top .hca-menu{right:0;left:auto;top:calc(100% + 8px);bottom:auto;max-width:calc(100vw - 16px)}
body.hs .hs-tabs{display:none}
@media(max-width:1023px){
  body.hs .hs-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;justify-content:space-around;align-items:stretch;gap:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));margin:0;
    background:color-mix(in srgb,#F8F5EF 90%,transparent);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:0;border-top:1px solid var(--hs-line);box-shadow:0 -8px 24px -16px rgba(16,37,58,.25)}
  :root[data-hs-theme=dark] body.hs .hs-tabs{background:color-mix(in srgb,#0B1A2B 82%,transparent)}
  body.hs .hs-tabs .hs-tab{position:relative;flex:1 1 0;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border:0;background:none;border-radius:12px;color:var(--hs-muted);font:600 11.5px/1.1 var(--hs-sans);text-decoration:none;cursor:pointer;letter-spacing:0}
  body.hs .hs-tabs .hs-tab svg,body.hs .hs-tabs .hs-tab i{width:22px;height:22px;font-size:22px;display:block}
  body.hs .hs-tabs .hs-tab.active,body.hs .hs-tabs .hs-tab[aria-current=page],body.hs .hs-tabs .hs-tab[aria-current=true]{color:var(--hs-j)}
  body.hs .hs-tabs .hs-tab.active::before,body.hs .hs-tabs .hs-tab[aria-current=page]::before,body.hs .hs-tabs .hs-tab[aria-current=true]::before{content:"";position:absolute;top:0;left:50%;width:28px;height:3px;margin-left:-14px;border-radius:0 0 3px 3px;background:var(--hs-jewel)}
  body.hs .hs-tabs .hs-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.hs .hs-has-tabs{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}

/* ---------- My Day ---------- */
body.hs .hs-day{--hs-gap:20px;max-width:1440px;margin:0 auto;padding:24px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--hs-gap);font-family:var(--hs-sans);color:var(--hs-ink)}
body.hs .hs-day>*{min-width:0}
body.hs .hs-c8{grid-column:span 8}body.hs .hs-c4{grid-column:span 4}body.hs .hs-c12{grid-column:span 12}body.hs .hs-c6{grid-column:span 6}
@media(max-width:1100px){body.hs .hs-c8{grid-column:span 12}body.hs .hs-c4{grid-column:span 6}}
@media(max-width:700px){body.hs .hs-day{padding:16px;--hs-gap:14px}body.hs .hs-c4,body.hs .hs-c6{grid-column:span 12}}
body.hs .hs-card{position:relative;background:var(--hs-card);border:1px solid var(--hs-line);border-radius:22px;box-shadow:var(--hs-shadow);padding:22px;display:flex;flex-direction:column;gap:12px;color:var(--hs-ink);transition:transform .25s var(--hs-ease),box-shadow .25s var(--hs-ease)}
body.hs a.hs-card,body.hs .hs-card.is-link{text-decoration:none;cursor:pointer}
body.hs .hs-card:hover{transform:translateY(-2px);box-shadow:var(--hs-shadow-up)}
body.hs .hs-card.is-static:hover{transform:none;box-shadow:var(--hs-shadow)}
body.hs .hs-eyebrow{margin:0;font:700 11.5px/1.2 var(--hs-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--hs-j)}
body.hs .hs-card h2,body.hs .hs-card h3{margin:0;font:500 23px/1.15 var(--hs-serif);letter-spacing:-.005em;color:var(--hs-ink)}
body.hs .hs-card p{margin:0;font:400 14.5px/1.5 var(--hs-sans);color:var(--hs-muted);max-width:60ch}
body.hs .hs-tile{flex:0 0 44px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--hs-jewel),color-mix(in srgb,var(--hs-jewel) 55%,#0B1A2B));box-shadow:0 8px 16px -8px color-mix(in srgb,var(--hs-jewel) 80%,transparent)}
:root[data-hs-theme=dark] body.hs .hs-tile{color:#0B1A2B;background:linear-gradient(135deg,var(--hs-jewel-dk),var(--hs-jewel))}
body.hs .hs-tile svg{width:22px;height:22px}
body.hs .hs-card-top{display:flex;align-items:center;gap:12px}
body.hs .hs-card-top .hs-eyebrow{flex:1}
body.hs .hs-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;min-height:44px;padding:0;background:none;border:0;color:var(--hs-j);font:700 14.5px/1 var(--hs-sans);cursor:pointer;text-decoration:none}
body.hs .hs-link svg{width:16px;height:16px;transition:transform .2s var(--hs-ease)}
body.hs .hs-card:hover .hs-link svg,body.hs .hs-link:hover svg{transform:translateX(3px)}
body.hs .hs-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:0;font:700 15.5px/1 var(--hs-sans);cursor:pointer;text-decoration:none;transition:transform .2s var(--hs-ease),box-shadow .2s,background .2s;white-space:nowrap}
body.hs .hs-btn svg{width:18px;height:18px}
body.hs .hs-btn:hover{transform:translateY(-2px)}
body.hs .hs-btn.is-primary{background:#fff;color:#0B1A2B;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
body.hs .hs-btn.is-jewel{background:var(--hs-jewel-ink);color:#fff;box-shadow:0 10px 22px -10px color-mix(in srgb,var(--hs-jewel-ink) 80%,transparent)}
:root[data-hs-theme=dark] body.hs .hs-btn.is-jewel{background:var(--hs-jewel-dk);color:#0B1A2B}
body.hs .hs-btn.is-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.28)}
body.hs .hs-btn.is-ghost:hover{background:rgba(255,255,255,.18)}
body.hs .hs-btn.is-line{background:none;color:var(--hs-j);border:1.5px solid color-mix(in srgb,var(--hs-j) 45%,transparent)}

/* hero */
body.hs .hs-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;min-height:360px;padding:32px 36px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:center;color:#F3EFE6;background:#0B1A2B;box-shadow:var(--hs-shadow-up)}
body.hs .hs-hero::before,body.hs .hs-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1}
body.hs .hs-hero::before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(80% 90% at 70% 40%,#000,transparent 85%);-webkit-mask-image:radial-gradient(80% 90% at 70% 40%,#000,transparent 85%)}
body.hs .hs-hero::after{opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
body.hs .hs-aurora{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
body.hs .hs-aurora i{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform}
body.hs .hs-aurora i:nth-child(1){left:-10%;top:-30%;background:radial-gradient(circle at 50% 50%,var(--hs-jewel),transparent 65%);animation:hs-drift-a 22s ease-in-out infinite alternate}
body.hs .hs-aurora i:nth-child(2){right:-14%;bottom:-40%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--hs-jewel) 60%,#14B8C4),transparent 65%);animation:hs-drift-b 19s ease-in-out infinite alternate;opacity:.42}
body.hs .hs-aurora i:nth-child(3){left:35%;top:-45%;width:45%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--hs-gold) 70%,transparent),transparent 65%);animation:hs-drift-c 24s ease-in-out infinite alternate;opacity:.22}
@keyframes hs-drift-a{to{transform:translate3d(24%,18%,0) scale(1.15)}}
@keyframes hs-drift-b{to{transform:translate3d(-26%,-16%,0) scale(1.1)}}
@keyframes hs-drift-c{to{transform:translate3d(-30%,26%,0) scale(1.2)}}
body.hs .hs-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
body.hs .hs-hero .hs-eyebrow{color:#C8D4E0;font-size:11.5px;letter-spacing:.11em;white-space:nowrap}
body.hs .hs-hero h1{margin:0;font:500 clamp(30px,3.2vw,48px)/1.06 var(--hs-serif);letter-spacing:-.015em;color:#fff;max-width:15ch;text-wrap:balance}
body.hs .hs-hero h1 em{font-style:italic;color:color-mix(in srgb,var(--hs-jewel-dk) 80%,#fff)}
body.hs .hs-hero .hs-lead{margin:0;font:400 16px/1.5 var(--hs-sans);color:#D6DFE8;max-width:40ch}
body.hs .hs-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body.hs .hs-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;font:500 13.5px/1.3 var(--hs-sans);color:#C9D5E0}
body.hs .hs-meta span{display:inline-flex;align-items:center;gap:6px}
body.hs .hs-meta svg{width:15px;height:15px;opacity:.85}
body.hs .hs-hero-art{position:relative;align-self:stretch;min-height:300px;display:grid;place-items:center;perspective:1100px;min-width:0;container-type:inline-size}
@media(max-width:900px){body.hs .hs-hero{grid-template-columns:minmax(0,1fr);padding:26px 22px 22px;min-height:0}body.hs .hs-hero-art{min-height:220px;order:-1;margin-bottom:-4px}body.hs .hs-hero h1{font-size:clamp(30px,8.4vw,40px)}}

/* progress card */
body.hs .hs-progress{gap:14px;justify-content:space-between}
body.hs .hs-ring-wrap{display:flex;align-items:center;gap:18px}
body.hs .hs-ring{position:relative;flex:0 0 132px;width:132px;height:132px}
body.hs .hs-ring svg{width:100%;height:100%;transform:rotate(-90deg);display:block}
body.hs .hs-ring .trk{fill:none;stroke:color-mix(in srgb,var(--hs-ink) 10%,transparent);stroke-width:10}
body.hs .hs-ring .arc{fill:none;stroke:var(--hs-jewel);stroke-width:10;stroke-linecap:round;stroke-dasharray:var(--c);stroke-dashoffset:var(--o)}
body.hs .hs-ring.is-go .arc{animation:hs-ring 1.1s var(--hs-ease) both}
@keyframes hs-ring{from{stroke-dashoffset:var(--c)}}
body.hs .hs-ring-c{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}
body.hs .hs-ring-c b{font:500 34px/1 var(--hs-serif);color:var(--hs-ink)}
body.hs .hs-ring-c .sm{display:block;margin-top:4px;font:600 11.5px/1.2 var(--hs-sans);color:var(--hs-muted)}
body.hs .hs-prog-side{display:grid;gap:8px;min-width:0}
body.hs .hs-prog-side h2{font-size:21px}
body.hs .hs-week{display:flex;justify-content:space-between;gap:4px;padding-top:12px;border-top:1px solid var(--hs-line)}
body.hs .hs-wd{display:grid;justify-items:center;gap:6px;font:600 11px/1 var(--hs-sans);color:var(--hs-muted)}
body.hs .hs-wd i{display:block;width:26px;height:26px;border-radius:50%;border:2px solid var(--hs-line)}
body.hs .hs-wd.is-done i{background:var(--hs-jewel);border-color:var(--hs-jewel);box-shadow:inset 0 0 0 5px var(--hs-card)}
body.hs .hs-wd.is-done i{box-shadow:none;background:var(--hs-jewel) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12.5l4 4 8-9'/></svg>") center/14px no-repeat}
body.hs .hs-wd.is-today i{border-color:var(--hs-j);box-shadow:0 0 0 3px color-mix(in srgb,var(--hs-j) 22%,transparent)}
body.hs .hs-wd.is-today{color:var(--hs-ink)}
body.hs .hs-strip{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:12px;border-top:1px solid var(--hs-line);font:500 13px/1.3 var(--hs-sans);color:var(--hs-muted)}
body.hs .hs-strip b{display:block;font:500 22px/1.1 var(--hs-serif);color:var(--hs-ink)}
body.hs .hs-flame{display:inline-flex;align-items:center;gap:6px;font:700 15px/1 var(--hs-sans);color:var(--hs-ink)}
body.hs .hs-flame svg{width:20px;height:20px;color:var(--hs-gold)}
body.hs .hs-empty{font:500 14.5px/1.45 var(--hs-sans);color:var(--hs-muted)}

/* action cards, path card */
body.hs .hs-act h3{font-size:22px}
body.hs .hs-act .hs-prog{height:6px;border-radius:3px;background:color-mix(in srgb,var(--hs-ink) 10%,transparent);overflow:hidden}
body.hs .hs-act .hs-prog i{display:block;height:100%;width:var(--w);border-radius:3px;background:var(--hs-jewel);transform-origin:left;animation:hs-bar .9s var(--hs-ease) both}
@keyframes hs-bar{from{transform:scaleX(0)}}
body.hs .hs-act .hs-sub{font:600 12.5px/1.2 var(--hs-sans);color:var(--hs-muted)}
body.hs .hs-path{padding:26px;gap:16px}
body.hs .hs-path-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
body.hs .hs-path-list li{display:flex;align-items:center;gap:14px;min-height:56px;padding:8px 0;border-top:1px solid var(--hs-line)}
body.hs .hs-path-list li:first-child{border-top:0}
body.hs .hs-path-list .n{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 13px/1 var(--hs-sans);background:color-mix(in srgb,var(--hs-j) 14%,transparent);color:var(--hs-j)}
body.hs .hs-path-list li.is-done .n{background:var(--hs-jewel);color:#fff}
body.hs .hs-path-list .t{flex:1;min-width:0;display:grid;gap:2px}
body.hs .hs-path-list .t b{font:600 15.5px/1.25 var(--hs-sans);color:var(--hs-ink)}
body.hs .hs-path-list .t span{font:400 13.5px/1.3 var(--hs-sans);color:var(--hs-muted)}
body.hs .hs-path-list .go{flex:0 0 auto}
body.hs .hs-quote{justify-content:center;background:linear-gradient(160deg,color-mix(in srgb,var(--hs-jewel) 11%,var(--hs-card)),var(--hs-card))}
body.hs .hs-quote blockquote{margin:0;font:italic 500 24px/1.25 var(--hs-serif);color:var(--hs-ink);text-wrap:balance}
body.hs .hs-quote cite{font:600 12px/1.3 var(--hs-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--hs-muted);font-style:normal}
body.hs .hs-check{gap:10px}
body.hs .hs-check ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
body.hs .hs-check li a,body.hs .hs-check li button{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;padding:0 4px;border:0;background:none;color:var(--hs-ink);font:500 14.5px/1.2 var(--hs-sans);text-align:left;cursor:pointer;text-decoration:none;border-radius:10px}
body.hs .hs-check li .ck{flex:0 0 20px;width:20px;height:20px;border-radius:6px;border:2px solid var(--hs-line)}
body.hs .hs-check li.is-done .ck{background:var(--hs-jewel) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12.5l4 4 8-9'/></svg>") center/13px no-repeat;border-color:var(--hs-jewel)}
body.hs .hs-check li.is-done span{text-decoration:line-through;color:var(--hs-muted)}
body.hs .hs-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border-radius:12px;border:0;background:none;color:var(--hs-muted);cursor:pointer;display:grid;place-items:center}
body.hs .hs-x:hover{background:color-mix(in srgb,var(--hs-ink) 8%,transparent)}
body.hs .hs-x svg{width:18px;height:18px}

/* ---------- motion ---------- */
@media(prefers-reduced-motion:no-preference){
  html:not([data-hs-motion=off]) body.hs .hs-day>*{animation:hs-rise .46s var(--hs-ease) both;animation-delay:calc(var(--i,0)*60ms)}
}
@keyframes hs-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  body.hs *,body.hs *::before,body.hs *::after{animation-duration:.001ms;animation-iteration-count:1;animation-delay:0s;transition-duration:.001ms;scroll-behavior:auto}
}
html[data-hs-motion=off] body.hs .hs-aurora i,html[data-hs-motion=off] body.hs .hs-day *,html[data-hs-motion=off] body.hs .hs-day *::before{animation:none;transition:none}
html[data-hs-motion=off] body.hs .hs-btn:hover,html[data-hs-motion=off] body.hs .hs-card:hover{transform:none}
html[data-hs-motion=off] body.hs .hs-side{transition:none}

/* ---------- compact page rhythm (dead-space pass, all routes) ---------- */
body.hs .hs-content main{max-width:none}
body.hs .hs-help-sheet{position:fixed;z-index:90;inset:auto 0 0 0}

/* ---------- help popover, atlas card ---------- */
body.hs .hs-pop{position:fixed;z-index:95;width:min(320px,calc(100vw - 16px));padding:8px;border-radius:18px;background:var(--hs-card);border:1px solid var(--hs-line);box-shadow:0 24px 60px -16px rgba(5,14,24,.45);display:grid;gap:2px;color:var(--hs-ink)}
body.hs .hs-pop button,body.hs .hs-pop a{display:flex;align-items:center;gap:12px;min-height:56px;width:100%;padding:8px 10px;border:0;border-radius:12px;background:none;color:var(--hs-ink);text-align:left;cursor:pointer;font:inherit;text-decoration:none}
body.hs .hs-pop button:hover,body.hs .hs-pop a:hover{background:color-mix(in srgb,var(--hs-j) 9%,transparent)}
body.hs .hs-pop svg{flex:0 0 22px;width:22px;height:22px;color:var(--hs-j)}
body.hs .hs-pop span{display:grid;gap:2px;min-width:0}
body.hs .hs-pop b{font:600 14.5px/1.2 var(--hs-sans)}
body.hs .hs-pop .sm{font:400 12.5px/1.3 var(--hs-sans);color:var(--hs-muted)}
body.hs .hs-atlas{flex-direction:row;align-items:stretch;gap:0;padding:0;overflow:hidden;color:var(--hs-ink)}
body.hs .hs-atlas .hs-atlas-img{flex:0 0 38%;min-height:180px;overflow:hidden;background:var(--hs-soft);position:relative}
body.hs .hs-atlas .hs-atlas-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s var(--hs-ease)}
body.hs .hs-atlas:hover .hs-atlas-img img{transform:scale(1.04)}
body.hs .hs-atlas .hs-atlas-body{flex:1;min-width:0;padding:22px;display:flex;flex-direction:column;gap:10px;justify-content:center}
body.hs .hs-atlas.hs-c12 .hs-atlas-img{flex-basis:18%}
body.hs .hs-atlas .hs-link{margin-top:6px}
body.hs .hs-proxy{display:none}
@media(max-width:700px){body.hs .hs-atlas,body.hs .hs-atlas.hs-c12{flex-direction:column}body.hs .hs-atlas .hs-atlas-img,body.hs .hs-atlas.hs-c12 .hs-atlas-img{flex:0 0 150px;min-height:150px}}

body.hs .hs-chip{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--hs-j) 11%,transparent);color:var(--hs-j);font:600 11.5px/1 var(--hs-sans);white-space:nowrap}
body.hs .hs-seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--hs-ink) 7%,transparent)}
body.hs .hs-seg button{min-height:44px;min-width:56px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--hs-muted);font:700 13.5px/1 var(--hs-sans);cursor:pointer}
body.hs .hs-seg button[aria-pressed=true]{background:var(--hs-card);color:var(--hs-j);box-shadow:0 1px 3px rgba(16,37,58,.18)}
body.hs .hs-acct-slot:not(:has(.hca-acct)){display:none}

body.hs .hs-foot-row{display:flex;align-items:center;gap:14px;margin-top:4px;padding-top:14px;border-top:1px solid var(--hs-line)}
body.hs .hs-foot-row blockquote{flex:1;margin:0;font:italic 500 17px/1.35 var(--hs-serif);color:var(--hs-ink)}
body.hs .hs-foot-row .hs-quote-mark{font:500 36px/1 var(--hs-serif);color:var(--hs-j);align-self:flex-start}
body.hs .hs-foot-row .button{min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--hs-line);background:none;color:var(--hs-j);font:700 13px/1 var(--hs-sans);cursor:pointer;white-space:nowrap}
@media(max-width:700px){body.hs .hs-foot-row{flex-wrap:wrap}body.hs .hs-foot-row blockquote{flex-basis:calc(100% - 50px)}}

body.hs .hs-theme-own .hs-t-sun{display:none}
:root[data-hs-theme=dark] body.hs .hs-theme-own .hs-t-sun{display:block}
:root[data-hs-theme=dark] body.hs .hs-theme-own .hs-t-moon{display:none}

/* line length */
body.hs main :where(p,li,dd,blockquote){max-width:72ch}
body.hs main .hs-card :where(p,li){max-width:60ch}

@media(max-width:1023px){body.hs .hs-top .hs-mbrand{min-height:44px}}
body.hs main h1[tabindex="-1"]:focus,body.hs main h1[tabindex="-1"]:focus-visible,body.hs main [tabindex="-1"]:focus-visible,body.hs main#main:focus-visible{outline:0;box-shadow:none}

/* Daily Crown card */
body.hs .hs-daily{gap:14px}
body.hs .dc-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 18px}
body.hs .dc-top h2{margin:2px 0 0;font:600 clamp(20px,2.4vw,26px)/1.15 var(--hs-serif)}
body.hs .dc-streak{display:inline-flex;align-items:center;gap:8px;margin:0;font:600 14px/1.3 var(--hs-sans);color:var(--hs-muted)}
body.hs .dc-streak svg{width:20px;height:20px;color:var(--hs-gold);flex:none}
body.hs .dc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body.hs .dc-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border:1px solid var(--hs-line);border-radius:16px;color:var(--hs-ink);text-decoration:none;background:transparent;transition:border-color .2s,background .2s}
body.hs .dc-item.jewel-medlex{--dcj:#3557D6;--dci:#fff}body.hs .dc-item.jewel-carecraft{--dcj:#0F8A86;--dci:#fff}body.hs .dc-item.jewel-serein{--dcj:#5FB89E;--dci:#0B1A2B}body.hs .dc-item.jewel-lumen{--dcj:#8B6CF0;--dci:#fff}
body.hs .dc-item:hover{border-color:var(--dcj)}
body.hs .dc-item:focus-visible{outline:3px solid var(--dcj);outline-offset:2px}
body.hs .dc-mark{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--dcj);display:inline-flex;align-items:center;justify-content:center;color:var(--dci)}
body.hs .dc-mark svg{width:15px;height:15px}
body.hs .is-done .dc-mark{background:var(--dcj);color:var(--dci)}
body.hs .dc-t{display:flex;flex-direction:column;min-width:0;line-height:1.25}
body.hs .dc-t b{font:700 15px/1.25 var(--hs-sans)}
body.hs .dc-t span{font:400 13px/1.3 var(--hs-sans);color:var(--hs-muted)}
body.hs .dc-s{margin-left:auto;font:600 12px/1 var(--hs-sans);color:var(--hs-muted);white-space:nowrap}
body.hs .is-done .dc-s{color:var(--hs-ink)}
@media(max-width:1100px){body.hs .dc-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.hs .dc-list{grid-template-columns:1fr}}

body[data-hs-app=snle]{--hs-jewel:#347A9A;--hs-jewel-ink:#1D5C79;--hs-jewel-dk:#94D5F0}
body.hs .sidebar .sidebar-section-label,body.hs .sidebar-collapse{display:none}
body.hs .hs-brand .hs-crest{background:url('/assets/crest.svg') center/contain no-repeat}
body.hs .topbar{position:sticky;top:0;height:64px;padding:0 24px;min-width:0}
body.hs .topbar-actions:empty{display:none}
body.hs .main-canvas{margin-right:0;min-width:0}
body.hs .sidebar-author{padding:16px 20px;color:#b7c9d9;font-size:11px}
.snle-academy-link{display:block;margin-top:8px;color:#E8C170}
body.hs.hs-rail .nav-label{display:none}
body.hs .hs-nav .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.snle-mobile-tabs{display:none}
.decision-pulse-card .text-button{color:#d7f2ec!important}
.catalog-meta{color:#506660!important}
.snle-skip{position:fixed;left:12px;top:-100px;z-index:10000;background:white;color:#10253a;padding:12px}
.snle-skip:focus{top:12px}
.snle-case-journey{margin-top:22px;padding:24px;border:1px solid #b9ccc8;border-radius:18px;background:#f7faf9;color:#183d44}
.snle-case-journey h3{font-size:24px}.snle-case-journey p{font-size:15px;line-height:1.65}
.snle-learning-context{padding:12px;border-left:3px solid #ae873c;background:#fff7e3}
.snle-current-note,.snle-exam-transfer{padding:18px;margin:16px 0;border-radius:12px;background:#e8f2f3}
.snle-guided-case h4{font-size:21px;line-height:1.5}
.snle-guided-case [role=group]{display:grid;gap:10px;margin:18px 0}
.snle-guided-case [data-guidance-answer]{width:100%;padding:15px 18px;text-align:left;border:1px solid #a8c0c1;background:white;color:#183d44;border-radius:10px;line-height:1.6}
.snle-guided-case [aria-pressed=true]{border:2px solid #176075;background:#e0f0f4}
.snle-case-feedback{margin-top:20px;padding:20px;background:#edf4ec;border:1px solid #adc2aa;border-radius:12px}
.snle-case-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
#snle-help{max-width:720px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;border:1px solid #b9c3ce;border-radius:18px;padding:28px;color:#183344;background:#faf8f2;font:16px/1.65 system-ui}
#snle-help::backdrop{background:#091e37a6}
#snle-help button{padding:10px 16px;margin:6px;border:1px solid #aab9c7;border-radius:10px;background:white;color:#183344}
#snle-help [data-snle-help-close]{float:right}
.snle-import{display:block;margin:16px 0}
#snle-storage-status{position:fixed;z-index:20000;bottom:16px;left:16px;right:16px;padding:18px;background:#fff1dc;color:#593a12;border:1px solid #a7792a;border-radius:12px}
@media(min-width:1024px){body.hs .main-canvas{margin-left:var(--hs-side)!important;width:calc(100% - var(--hs-side))!important}}
@media(max-width:1023px){
 body.hs .main-canvas{margin:0!important;width:100%!important;padding-bottom:74px}
 body.hs .sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(320px,88vw)!important;height:100dvh;display:flex;flex-direction:column;overflow-y:auto;transform:translateX(-110%);z-index:1000;padding:0}
 body.hs .sidebar nav{position:static;inset:auto;width:auto;height:auto;display:flex;flex-direction:column;overflow:visible;z-index:auto}
 body.hs.hs-drawer .sidebar{transform:none;z-index:1000}
 body.hs .snle-mobile-tabs{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:45;background:#f8f5ef;border-top:1px solid #ded9ce;padding:8px 4px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;min-height:62px}
 body.hs .snle-mobile-tabs button{font-size:12px;min-width:44px;min-height:44px;border:0;background:none;color:#25485d;border-radius:9px}
 body.hs .snle-mobile-tabs [aria-current=page]{background:#ddebf1;font-weight:700}
 body.hs .hs-mbrand{max-width:112px}
 body.hs .hs-top .hs-right{gap:5px}
 body.hs .hs-top .page-edit-trigger b,body.hs .hs-top .color-mode-button>span:last-child{display:none}
 .snle-case-journey{padding:16px}
}
@media(max-width:500px){body.hs .hs-mbrand .hs-crest{display:none}body.hs .hs-mbrand{font-size:16px}body.hs .topbar{padding:0 8px}body.hs .hs-top .arabic-assist-toggle{padding:6px;font-size:11px}.snle-case-journey h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Clinical release gate: conspicuous on home and clinical popups in both palettes. */
.snle-review-notice{display:block!important;position:relative;z-index:2;margin:12px 0 20px;padding:12px 16px;border:2px solid #8f5a21;border-radius:10px;background:#fff1d2;color:#4b2a0d;font:700 15px/1.45 system-ui,sans-serif;letter-spacing:.01em}
[data-snle-release-hidden="1"]{display:none!important}
