:root {
    --ink-950: #07101d;
    --ink-900: #0b1728;
    --ink-850: #102035;
    --ink-800: #17293f;
    --ink-700: #2c4057;
    --ink-600: #4b5f74;
    --ink-500: #66788b;
    --ink-400: #8b9aaa;
    --ink-300: #b4bfca;
    --ink-200: #d5dde4;
    --ink-150: #e3e9ee;
    --ink-100: #edf1f4;
    --ink-50: #f6f8f9;
    --white: #fff;
    --green: #19c37d;
    --green-dark: #087f55;
    --amber: #f4b83f;
    --red: #e25b62;
    --violet: #886cff;
    --cyan: #21b7dc;
    --focus-light: #006c82;
    --focus-dark: #63dcf6;
    --radius-sm: 8px;
    --radius: 13px;
    --radius-lg: 20px;
    --shadow-sm: 0 1px 2px rgba(7, 16, 29, .05), 0 6px 20px rgba(7, 16, 29, .05);
    --shadow: 0 18px 45px rgba(7, 16, 29, .1);
    --page: 1180px;
    --accent: var(--violet);
    --accent-soft: #f0edff;
    --accent-ink: #6042dc;
}

/* Keep daily work and provider-to-practice transitions in view. */
.lesson-hero { padding-block: 24px !important; }
.lesson-hero h1 { font-size: clamp(1.5rem, 3vw, 2.1rem) !important; }
.lesson-blueprint-label { max-width: 850px; color: var(--ink-300); font-size: 12px; }
.lesson-provider-links { margin: 20px 0; padding: 18px; border: 1px solid var(--ink-150); border-radius: 10px; }
.lesson-provider-links > p { color: var(--ink-600); font-size: 13px; }
.lesson-provider-links > div { display: grid; gap: 12px; }
.lesson-provider-links a { display: grid; gap: 4px; color: var(--green-dark); }
.lesson-provider-links small { color: var(--ink-600); }
.lesson-sequence-reading > summary, .extra-learning > summary, .course-pace-details > summary { cursor: pointer; font-weight: 650; padding: 16px 0; }
.daily-session-goal { margin-bottom: 24px; padding: 24px; border: 1px solid var(--green); border-radius: 13px; background: var(--white); }
.daily-session-goal h2 { margin: 6px 0; font-size: 25px; }
.daily-session-goal p { color: var(--ink-600); }
.session-finish-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.extra-learning { margin-block: 18px; }
.extra-learning > summary { color: var(--green-dark); }
.quiz-header.is-step-session { padding: 20px 0; }
.quiz-header.is-step-session h1 { font-size: clamp(24px, 3vw, 32px); }
.practice-step-feedback { background: var(--white); padding: 24px; border: 1px solid var(--ink-150); border-radius: 13px; }
.practice-step-feedback h2 { font-size: 21px; }
.practice-step-feedback .button { margin-top: 18px; }
.practice-step-feedback a:not(.button), .session-pause-link a { color: var(--green-dark); text-decoration: underline; text-underline-offset: 3px; }
.session-pause-link a { display: inline-flex; align-items: center; min-height: 44px; }
.response-comparison-section { margin-block: 36px; }
.response-comparison-table { overflow-x: auto; }
.response-comparison-table table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.response-comparison-table th, .response-comparison-table td { padding: 14px 12px; border-bottom: 1px solid var(--ink-150); vertical-align: top; }
.response-comparison-table th:first-child { min-width: 180px; }
.response-comparison-table td { min-width: 115px; }
.response-comparison-table small { display: block; color: var(--ink-600); }
@media (max-width: 600px) { .daily-session-goal, .practice-step-feedback { padding: 18px; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink-900);
    background: var(--ink-50);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
svg { display: block; }
[hidden] { display: none !important; }

.skip-link {
    position: fixed;
    z-index: 100;
    left: 12px;
    top: -60px;
    background: var(--white);
    color: var(--ink-950);
    padding: 10px 16px;
    border-radius: var(--radius-sm);
    transition: top .2s;
}
.skip-link:focus { top: 12px; }
#main-content:focus { outline: none; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--focus-light);
    outline-offset: 2px;
}

.page-shell, .nav-shell { width: min(calc(100% - 40px), var(--page)); margin-inline: auto; }
.site-header {
    height: 70px;
    color: var(--ink-200);
    background: rgba(7, 16, 29, .97);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    position: sticky;
    z-index: 50;
    top: 0;
    backdrop-filter: blur(16px);
}
.nav-shell { height: 100%; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; color: var(--white); font-size: 19px; letter-spacing: -.035em; }
.brand-logo { width: 38px; height: 38px; margin-right: 9px; flex: 0 0 auto; object-fit: contain; }
.brand-wordmark { display: inline-flex; align-items: baseline; font-weight: 760; }
.brand-wordmark strong { position: relative; color: var(--green); font-weight: 850; letter-spacing: -.055em; text-shadow: 0 0 18px rgba(25, 195, 125, .22); }
.brand-wordmark strong::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; border-radius: 99px; background: currentColor; opacity: .72; }
.brand-wordmark span { color: var(--white); }
.main-nav { align-self: stretch; display: flex; align-items: stretch; gap: 4px; }
.main-nav a { position: relative; min-width: 88px; padding: 0 10px; display: flex; justify-content: center; align-items: center; gap: 8px; color: var(--ink-400); font-size: 14px; font-weight: 650; transition: color .2s, background-color .2s; }
.main-nav a::after { content: ""; position: absolute; height: 2px; left: 14px; right: 14px; bottom: 0; background: var(--green); transform: scaleX(0); transition: transform .2s; }
.main-nav a:hover, .main-nav a.active { color: var(--white); }
.main-nav a.active::after { transform: scaleX(1); }
.main-nav svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.status-pill { min-height: 34px; margin-left: auto; padding: 5px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: var(--ink-300); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.status-pill svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.status-pill:hover { color: var(--white); border-color: rgba(255,255,255,.28); }
.local-status i { width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(25,195,125,.12); }
.main-nav a:focus-visible, .status-pill:focus-visible { outline: 3px solid var(--focus-dark); outline-offset: -3px; }

.button { border: 0; border-radius: var(--radius-sm); min-height: 46px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; font-weight: 750; cursor: pointer; transition: transform .18s, background .18s, border-color .18s, opacity .18s; }
.button:hover { transform: translateY(-1px); }
.button:focus-visible, .filter-chip:focus-visible, .cert-card:focus-visible, .card-action:focus-visible { outline: 3px solid var(--focus-light); outline-offset: 2px; }
.button.primary { background: var(--green); color: #04160e; box-shadow: 0 8px 24px rgba(25,195,125,.18); }
.button.primary:hover { background: #26d58c; }
.button.primary svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.button.secondary { background: var(--white); border: 1px solid var(--ink-200); color: var(--ink-800); }
.button.ghost { background: transparent; border: 1px solid var(--ink-200); }
.button.danger { color: #a7333c; }
.button:disabled { cursor: wait; opacity: .65; transform: none; }

.eyebrow, .section-kicker { color: var(--green); font-size: 11px; line-height: 1; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; }
.eyebrow > span { width: 20px; height: 1px; background: currentColor; }
.hero { position: relative; overflow: hidden; color: var(--white); background: var(--ink-950); padding: 84px 0 90px; }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to right, black, transparent 70%); }
.hero::after { content: ""; width: 520px; height: 520px; border-radius: 50%; background: rgba(25,195,125,.07); filter: blur(90px); position: absolute; right: -210px; top: -240px; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 90px; }
.hero-copy h1 { margin: 19px 0 22px; font-size: clamp(44px, 5vw, 67px); line-height: 1.03; letter-spacing: -.055em; font-weight: 760; }
.hero-copy h1 em { color: var(--green); font-style: normal; }
.hero-copy > p { max-width: 610px; margin: 0 0 32px; color: var(--ink-300); font-size: 18px; line-height: 1.7; }

.hero-terminal { position: relative; border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius); overflow: hidden; background: #081522; box-shadow: 0 30px 80px rgba(0,0,0,.4), 0 0 0 8px rgba(255,255,255,.018); transform: perspective(1200px) rotateY(-1deg); }
.hero-terminal::before { content: ""; position: absolute; width: 1px; height: 100%; left: 43px; top: 0; background: rgba(255,255,255,.05); }
.terminal-bar { height: 43px; display: flex; align-items: center; gap: 15px; padding: 0 13px; background: rgba(255,255,255,.04); color: var(--ink-400); border-bottom: 1px solid rgba(255,255,255,.08); font: 11px ui-monospace, SFMono-Regular, Menlo, monospace; }
.window-dots { display: flex; gap: 5px; }
.window-dots span { width: 8px; height: 8px; border-radius: 50%; background: #ef6565; }
.window-dots span:nth-child(2) { background: #eeb346; }.window-dots span:nth-child(3) { background: #50c878; }
.terminal-badge { margin-left: auto; color: var(--green); font-size: 9px; letter-spacing: .1em; border: 1px solid rgba(25,195,125,.3); border-radius: 3px; padding: 2px 5px; }
.terminal-body { min-height: 244px; padding: 27px 24px 24px 62px; color: #d6e4ed; font: 12px/1.8 ui-monospace, SFMono-Regular, Menlo, monospace; }
.terminal-body p { margin: 0; white-space: nowrap; }
.term-muted { color: #60768a; }.term-red { color: #ff646d; }.term-amber { color: var(--amber); }.term-green { color: var(--green); }
.term-indent { padding-left: 18px; }.term-spacer { padding-top: 20px; }
.terminal-cursor { display: inline-block; height: 15px; width: 7px; vertical-align: middle; background: var(--green); animation: blink 1.1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.terminal-footer { height: 48px; display: flex; align-items: center; gap: 17px; padding: 0 16px; color: var(--ink-400); font: 10px ui-monospace, monospace; border-top: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025); }
.terminal-footer span:last-child { margin-left: auto; }
.keycap { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-right: 4px; font-style: normal; border: 1px solid rgba(255,255,255,.14); border-radius: 4px; color: var(--ink-300); }

.stats-strip { background: var(--white); border-bottom: 1px solid var(--ink-150); }
.stats-grid { min-height: 98px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.stat-item { padding-left: 28px; display: flex; flex-direction: column; border-left: 1px solid var(--ink-150); }
.stat-item:first-child { border-left: 0; padding-left: 0; }
.stat-item strong { color: var(--ink-900); font-size: 27px; line-height: 1.1; letter-spacing: -.035em; }
.stat-item strong small { color: var(--ink-400); font-size: 14px; }
.stat-item > span { color: var(--ink-500); margin-top: 4px; font-size: 12px; font-weight: 650; }

.page-section { padding: 75px 0 95px; }
.governance-banner { margin-bottom: 45px; padding: 15px 18px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; color: var(--ink-700); border: 1px solid #b8e4d1; border-radius: var(--radius); background: linear-gradient(110deg, #f2fbf7, var(--white)); box-shadow: var(--shadow-sm); transition: transform .18s, border-color .18s; }
.governance-banner:hover { transform: translateY(-2px); border-color: var(--green); }
.governance-icon { width: 39px; height: 39px; display: grid; place-items: center; color: var(--green-dark); background: #dff6eb; border-radius: 9px; }
.governance-icon svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.governance-copy { display: flex; flex-direction: column; }.governance-copy strong { color: var(--ink-800); font-size: 13px; }.governance-copy small { margin-top: 2px; color: var(--ink-500); font-size: 10px; }
.governance-action { color: var(--green-dark); font-size: 10px; font-weight: 750; }.governance-action b { padding-left: 4px; font-size: 15px; }
.section-heading { margin-bottom: 27px; }
.section-heading h2 { margin: 9px 0 5px; font-size: 29px; letter-spacing: -.035em; line-height: 1.2; }
.section-heading p { margin: 0; color: var(--ink-500); }
.split-heading { display: flex; justify-content: space-between; align-items: end; }
.text-link { padding-bottom: 5px; color: var(--ink-700); font-size: 13px; font-weight: 700; }
.text-link span { color: var(--green-dark); padding-left: 4px; }

.color-violet { --accent: #886cff; --accent-soft: #f0edff; --accent-ink: #6042dc; }
.color-cyan { --accent: #17aed2; --accent-soft: #e6f8fc; --accent-ink: #087c99; }
.color-amber { --accent: #efa924; --accent-soft: #fff5dd; --accent-ink: #9a6810; }
.color-green { --accent: #23af72; --accent-soft: #e8f8f0; --accent-ink: #13724a; }

.cert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cert-card { appearance: none; text-align: left; min-height: 118px; padding: 18px; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 14px; border: 1px solid var(--ink-150); border-radius: var(--radius); color: inherit; background: var(--white); box-shadow: var(--shadow-sm); cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; }
.cert-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 45%, var(--ink-150)); box-shadow: var(--shadow); }
.cert-icon { width: 44px; height: 44px; display: grid; place-items: center; flex: none; color: var(--accent-ink); background: var(--accent-soft); border-radius: 10px; font-size: 12px; font-weight: 850; letter-spacing: -.02em; }
.cert-card-copy { display: flex; flex-direction: column; min-width: 0; }
.cert-card-copy strong { font-size: 15px; }
.cert-card-copy small { margin-top: 4px; color: var(--ink-500); line-height: 1.35; font-size: 10px; }
.cert-count { padding-left: 12px; border-left: 1px solid var(--ink-150); color: var(--ink-700); font-size: 13px; font-weight: 800; text-align: center; }
.cert-count small { display: block; color: var(--ink-400); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }

.library-heading { margin-top: 78px; margin-bottom: 24px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.library-heading h2 { margin: 8px 0 0; font-size: 29px; letter-spacing: -.035em; }
.library-heading p { max-width: 760px; margin: 7px 0 0; color: var(--ink-500); font-size: 13px; line-height: 1.55; }
.library-heading p a { color: var(--green-dark); font-weight: 750; }
.filter-row { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.filter-chip { border: 1px solid var(--ink-200); color: var(--ink-600); background: var(--white); padding: 7px 12px; border-radius: 999px; font-size: 11px; font-weight: 700; cursor: pointer; }
.filter-chip:hover, .filter-chip.active { color: var(--white); border-color: var(--ink-800); background: var(--ink-800); }

.pbq-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; scroll-margin-top: 90px; }
.pbq-card { position: relative; overflow: hidden; min-height: 335px; display: flex; flex-direction: column; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); transition: transform .22s, box-shadow .22s; }
.pbq-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--accent); }
.pbq-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card-topline { height: 57px; padding: 16px 20px 0; display: flex; justify-content: space-between; align-items: flex-start; }
.tag-pair { display: inline-flex; align-items: center; gap: 5px; }
.cert-tag { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border-radius: 4px; color: var(--accent-ink); background: var(--accent-soft); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.exam-version-tag { min-height: 24px; padding: 0 7px; display: inline-flex; align-items: center; color: var(--ink-500); background: var(--ink-100); border-radius: 4px; font: 700 8px ui-monospace, SFMono-Regular, monospace; letter-spacing: .03em; }
.new-tag { color: var(--ink-400); border: 1px solid var(--ink-150); padding: 3px 7px; border-radius: 4px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.score-tag { padding: 3px 7px; color: #a33b43; background: #fff0f1; border-radius: 4px; font-size: 9px; font-weight: 800; }
.score-tag.passing { color: var(--green-dark); background: #e6f8f0; }
.pbq-card-body { padding: 6px 20px 20px; flex: 1; }
.domain-label { margin: 0 0 8px !important; color: var(--accent-ink) !important; font-size: 10px !important; text-transform: uppercase; font-weight: 800; letter-spacing: .08em; }
.pbq-card h3 { margin: 0; font-size: 19px; line-height: 1.27; letter-spacing: -.025em; }
.pbq-card-body > p { margin: 10px 0 0; color: var(--ink-500); font-size: 13px; line-height: 1.55; }
.card-meta { min-height: 45px; margin: 0 20px; display: flex; align-items: center; gap: 13px; color: var(--ink-500); border-top: 1px solid var(--ink-100); font-size: 10px; font-weight: 650; }
.card-meta span { display: inline-flex; align-items: center; gap: 4px; }
.card-meta span:last-child { margin-left: auto; }
.card-meta svg { width: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.card-action { min-height: 48px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--ink-100); color: var(--ink-700); background: var(--ink-50); font-size: 12px; font-weight: 800; transition: color .2s, background .2s; }
.card-action span { color: var(--accent-ink); font-size: 18px; transition: transform .2s; }
.pbq-card:hover .card-action { color: var(--accent-ink); background: var(--accent-soft); }
.pbq-card:hover .card-action span { transform: translateX(3px); }
.empty-filter { padding: 30px; text-align: center; color: var(--ink-500); background: var(--white); border: 1px dashed var(--ink-200); border-radius: var(--radius); }

.site-footer { border-top: 1px solid var(--ink-150); color: var(--ink-500); background: var(--white); font-size: 11px; }
.footer-inner { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-inner span:first-child { color: var(--ink-800); font-weight: 800; }

/* Lab page */
.lab-page { padding: 28px 0 90px; background: var(--ink-50); }
.lab-shell { max-width: 1060px; }
.breadcrumbs { margin: 2px 0 29px; display: flex; flex-wrap: wrap; gap: 9px; color: var(--ink-500); font-size: 11px; }
.breadcrumbs a:hover { color: var(--accent-ink); }
.breadcrumbs > span:last-child { color: var(--ink-700); }
.lab-header { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; }
.lab-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; color: var(--ink-500); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.browser-practice-tag { width: fit-content; min-height: 24px; padding: 3px 8px; display: inline-flex; align-items: center; color: #176149; border: 1px solid #b8e5d2; border-radius: 999px; background: #e5f7ef; font-size: 9px; font-weight: 800; letter-spacing: .01em; text-transform: none; }
.lab-header h1 { max-width: 720px; margin: 13px 0 8px; font-size: clamp(33px, 5vw, 47px); line-height: 1.1; letter-spacing: -.045em; }
.lab-header > div:first-child > p { max-width: 690px; margin: 0; color: var(--ink-500); }
.lab-meta-panel { min-width: 260px; display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--ink-150); border-radius: var(--radius); overflow: hidden; background: var(--white); box-shadow: var(--shadow-sm); }
.lab-meta-panel div { min-width: 125px; padding: 12px 16px; display: flex; flex-direction: column; border-right: 1px solid var(--ink-100); border-bottom: 1px solid var(--ink-100); }
.lab-meta-panel div:nth-child(even) { border-right: 0; }
.lab-meta-panel div:nth-last-child(-n+2) { border-bottom: 0; }
.lab-meta-panel span { color: var(--ink-400); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.lab-meta-panel strong { margin-top: 2px; color: var(--ink-800); font-size: 13px; }
.scenario-banner { margin: 33px 0 53px; padding: 19px 22px; display: flex; gap: 15px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--ink-150)); border-left: 3px solid var(--accent); border-radius: var(--radius-sm); background: var(--accent-soft); }
.scenario-icon { width: 32px; height: 32px; flex: none; display: grid; place-items: center; color: var(--accent-ink); background: rgba(255,255,255,.65); border-radius: 7px; }
.scenario-icon svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.scenario-banner strong { color: var(--accent-ink); font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.scenario-banner p { margin: 3px 0 0; color: var(--ink-700); font-size: 13px; line-height: 1.6; }
.content-assurance { margin: -31px 0 49px; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.assurance-summary { min-height: 72px; padding: 13px 17px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.assurance-mark { width: 34px; height: 34px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 50%; font-weight: 900; }
.assurance-summary h2 { margin: 4px 0 0; font-size: 13px; letter-spacing: -.01em; }.assurance-summary p { margin: 1px 0 0; color: var(--ink-500); font-size: 9px; }.assurance-summary > a { color: var(--green-dark); font-size: 9px; font-weight: 750; }
.objective-chip-row { padding: 10px 17px; display: flex; flex-wrap: wrap; gap: 6px; border-top: 1px solid var(--ink-100); background: var(--ink-50); }
.objective-chip { min-height: 27px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 6px; color: var(--ink-600); background: var(--white); border: 1px solid var(--ink-150); border-radius: 5px; font-size: 8px; }.objective-chip b { color: var(--accent-ink); font: 800 8px ui-monospace, monospace; }
.review-detail { border-top: 1px solid var(--ink-100); }.review-detail summary { padding: 9px 17px; color: var(--ink-500); font-size: 9px; font-weight: 700; cursor: pointer; }.review-detail > div { padding: 2px 17px 13px; color: var(--ink-600); font-size: 9px; }.review-detail p { margin: 5px 0; }.review-detail ul { margin: 6px 0 0; padding-left: 18px; }.review-detail a { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.clean-room-origin { margin: 0 17px 15px; padding: 13px 15px; display: grid; grid-template-columns: 30px 1fr; gap: 11px; color: #31576a; border: 1px solid #b8dce7; border-radius: 8px; background: #f0f9fc; }
.clean-room-origin > span { width: 28px; height: 28px; display: grid; place-items: center; color: #087c99; border-radius: 7px; background: #d9f1f7; font-weight: 900; }
.clean-room-origin strong { display: block; color: #17495c; font-size: 11px; }.clean-room-origin p { margin: 3px 0 0; font-size: 10px; line-height: 1.55; }
.clean-room-origin small { display: block; margin-top: 7px; color: #8b5d08; font-size: 9px; font-weight: 800; }
.clean-room-origin.synthetic-origin { color: #3e5b4d; border-color: #b8ddca; background: #f0faf5; }.clean-room-origin.synthetic-origin > span { color: #166849; background: #dff4e9; }.clean-room-origin.synthetic-origin strong { color: #174f39; }
.owner-review-gate { margin: 28px 0 0; padding: 15px 18px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; color: #714c06; border: 1px solid #e5c568; border-left: 4px solid #c78a12; border-radius: var(--radius-sm); background: #fff8df; }
.owner-review-gate > span { padding: 6px 8px; color: #fff; background: #9b6909; border-radius: 4px; font: 850 9px ui-monospace, monospace; letter-spacing: .08em; }
.owner-review-gate strong { display: block; font-size: 13px; }.owner-review-gate p { margin: 3px 0 0; font-size: 11px; line-height: 1.5; }
.owner-review-gate.rejected { color: #84343a; border-color: #e4a2a7; border-left-color: #b64049; background: #fff0f1; }.owner-review-gate.rejected > span { background: #a7333c; }
.privacy-preview-tag { padding: 4px 7px; color: #875a08; background: #fff5d9; border: 1px solid #ebcf84; border-radius: 4px; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.series-label { width: fit-content; display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; color: #176149; background: #e5f7ef; border: 1px solid #b8e5d2; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .01em; }
.pbq-card-body .series-label { margin: 0 0 9px; }
.subsection-heading { margin-bottom: 20px; display: flex; gap: 14px; align-items: flex-start; }
.step-number { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--ink-150)); color: var(--accent-ink); background: var(--accent-soft); border-radius: 50%; font: 800 10px ui-monospace, monospace; }
.subsection-heading h2 { margin: 0 0 2px; font-size: 22px; letter-spacing: -.025em; }
.subsection-heading p { margin: 0; color: var(--ink-500); font-size: 12px; }
.evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.evidence-grid.single { grid-template-columns: 1fr; }
.evidence-card { min-width: 0; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.evidence-card > header { min-height: 45px; padding: 0 15px; display: flex; align-items: center; gap: 8px; color: var(--ink-700); background: var(--ink-50); border-bottom: 1px solid var(--ink-150); }
.evidence-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.evidence-card h3 { margin: 0; font-size: 11px; font-weight: 750; }
.evidence-type { margin-left: auto; color: var(--ink-400); font: 8px ui-monospace, monospace; text-transform: uppercase; }
.evidence-card pre { min-height: 192px; margin: 0; padding: 19px; overflow: auto; color: #cae1ee; background: #0b1725; font: 11px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; tab-size: 4; }
.evidence-card code { font: inherit; }
.table-scroll { overflow-x: auto; }
.evidence-card table { width: 100%; min-width: 470px; border-collapse: collapse; font-size: 10px; }
.evidence-card th { padding: 11px 13px; color: var(--ink-500); text-align: left; background: var(--ink-50); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.evidence-card td { padding: 11px 13px; color: var(--ink-700); border-top: 1px solid var(--ink-100); }
.evidence-card tbody tr:hover { background: var(--ink-50); }
.evidence-list { min-height: 192px; margin: 0; padding: 13px 19px; list-style: none; }
.evidence-list li { padding: 8px 0; display: flex; gap: 10px; color: var(--ink-700); border-bottom: 1px solid var(--ink-100); font-size: 12px; }
.evidence-list li:last-child { border: 0; }.evidence-list li span { color: var(--accent); font-weight: 900; }

.tasks-section { margin-top: 54px; scroll-margin-top: 90px; }
.task-list { display: grid; gap: 14px; }
.task-card { position: relative; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); transition: border-color .2s; }
.task-card::before { content: ""; width: 3px; position: absolute; inset: 0 auto 0 0; background: transparent; }
.task-header { min-height: 88px; padding: 18px 20px; display: grid; grid-template-columns: 32px 1fr auto; align-items: start; gap: 13px; border-bottom: 1px solid var(--ink-100); }
.task-index { width: 30px; height: 30px; display: grid; place-items: center; color: var(--ink-500); border: 1px solid var(--ink-150); border-radius: 6px; font: 750 10px ui-monospace, monospace; }
.task-type { color: var(--accent-ink); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.task-header h3 { margin: 3px 0 0; color: var(--ink-800); font-size: 14px; line-height: 1.45; }
.point-badge { color: var(--ink-500); background: var(--ink-50); border-radius: 5px; padding: 4px 7px; font-size: 9px; font-weight: 750; }
.choice-list, .matching-list { padding: 16px 20px 20px 65px; }
.choice-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.choice-option { min-height: 46px; position: relative; padding: 9px 13px; display: flex; align-items: center; gap: 10px; color: var(--ink-700); background: var(--ink-50); border: 1px solid var(--ink-150); border-radius: var(--radius-sm); font-size: 11px; cursor: pointer; transition: border-color .16s, background .16s; }
.choice-option:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--ink-150)); }
.choice-option input { position: absolute; opacity: 0; }
.choice-control { width: 17px; height: 17px; flex: none; display: grid; place-items: center; background: var(--white); border: 1.5px solid var(--ink-300); border-radius: 4px; }
input[type="radio"] + .choice-control { border-radius: 50%; }
.choice-option:has(input:checked) { color: var(--accent-ink); border-color: var(--accent); background: var(--accent-soft); }
.choice-option input:checked + .choice-control { border-color: var(--accent); background: var(--accent); box-shadow: inset 0 0 0 3px var(--white); }
.choice-option input[type="checkbox"]:checked + .choice-control { box-shadow: none; }
.choice-option input[type="checkbox"]:checked + .choice-control::after { content: "✓"; color: var(--white); font-size: 11px; font-weight: 900; }
.choice-option:has(input:focus-visible) { outline: 3px solid var(--focus-light); }
.matching-list { display: grid; gap: 8px; }
.matching-row { display: grid; grid-template-columns: 1fr 28px 1.45fr; align-items: center; padding: 8px 10px 8px 14px; border: 1px solid var(--ink-150); border-radius: var(--radius-sm); background: var(--ink-50); font-size: 11px; font-weight: 650; }
.match-arrow { color: var(--accent); text-align: center; }
.matching-row select { width: 100%; min-height: 37px; padding: 0 31px 0 10px; color: var(--ink-700); border: 1px solid var(--ink-200); border-radius: 6px; background: var(--white); font-size: 10px; }
.matching-row select:focus { outline: 3px solid var(--focus-light); border-color: var(--accent); }
.interaction-hint { margin: 14px 20px 0 65px; color: var(--ink-400); font-size: 9px; }
.ordering-list { margin: 9px 20px 20px 65px; padding: 0; list-style: none; display: grid; gap: 6px; }
.ordering-list li { min-height: 45px; padding: 7px 8px; display: grid; grid-template-columns: 20px 27px 1fr auto; align-items: center; gap: 8px; color: var(--ink-700); background: var(--ink-50); border: 1px solid var(--ink-150); border-radius: var(--radius-sm); font-size: 11px; cursor: grab; transition: opacity .15s, border-color .15s; }
.ordering-list li:focus { outline: 3px solid var(--focus-light); }
.ordering-list li.dragging { opacity: .45; border-color: var(--accent); }
.drag-handle { color: var(--ink-300); font-size: 17px; text-align: center; }
.order-position { width: 25px; height: 25px; display: grid; place-items: center; color: var(--accent-ink); background: var(--accent-soft); border-radius: 5px; font: 750 9px ui-monospace, monospace; }
.order-buttons { display: flex; gap: 3px; }
.order-buttons button { width: 27px; height: 27px; padding: 0; color: var(--ink-500); background: var(--white); border: 1px solid var(--ink-200); border-radius: 5px; cursor: pointer; }
.order-buttons button:hover:not(:disabled) { color: var(--accent-ink); border-color: var(--accent); }
.order-buttons button:disabled { opacity: .3; cursor: default; }
.command-entry { margin: 17px 20px 0 65px; min-height: 48px; display: flex; align-items: center; overflow: hidden; color: var(--green); background: #0b1725; border: 1px solid #1d354b; border-radius: var(--radius-sm); font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; }
.command-entry > span { padding-left: 14px; color: #6c879a; white-space: nowrap; }
.command-entry input { width: 100%; min-width: 0; padding: 0 13px 0 8px; color: #d2e8f2; caret-color: var(--green); background: transparent; border: 0; outline: 0; font: inherit; }
.command-entry input::placeholder { color: #40586b; }
.command-entry:has(input:focus-visible) { outline: 3px solid var(--focus-light); outline-offset: 2px; }
.task-hints { margin: 13px 20px 18px 65px; color: var(--ink-600); border-top: 1px solid var(--ink-100); }
.task-hints > summary, .task-hints details > summary { min-height: 44px; display: flex; align-items: center; width: fit-content; color: var(--accent-ink); cursor: pointer; font-size: 11px; font-weight: 800; }
.task-hints > p, .task-hints details > p { margin: 0; padding: 0 0 11px; max-width: 56rem; color: var(--ink-600); font-size: 11px; line-height: 1.55; }
.task-hints details { margin-left: 14px; padding-left: 12px; border-left: 2px solid var(--accent-soft); }
.switch-simulator { margin: 18px 20px 20px 65px; overflow: hidden; color: #d2e8f2; border: 1px solid #24455e; border-radius: 10px; background: #07131f; box-shadow: 0 16px 34px rgba(7, 19, 31, .2); }
.switch-simulator-bar { min-height: 48px; padding: 0 14px; display: flex; align-items: center; gap: 13px; color: var(--ink-300); border-bottom: 1px solid rgba(255,255,255,.09); background: #102334; }
.switch-simulator-bar > div { display: flex; flex-direction: column; }.switch-simulator-bar strong { color: #e4f1f7; font: 700 11px ui-monospace, SFMono-Regular, Consolas, monospace; }.switch-simulator-bar small { margin-top: 1px; color: #728b9d; font-size: 8px; }
.switch-window-dots { display: flex; gap: 5px; }.switch-window-dots i { width: 8px; height: 8px; border-radius: 50%; background: #ee6a67; }.switch-window-dots i:nth-child(2) { background: #e9b34e; }.switch-window-dots i:nth-child(3) { background: #4fc586; }
.switch-local-badge { margin-left: auto; padding: 3px 6px; color: #7ce6b4; border: 1px solid rgba(124,230,180,.28); border-radius: 4px; font: 700 8px ui-monospace, monospace; text-transform: uppercase; letter-spacing: .07em; }
.switch-device-tabs { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-bottom: 1px solid rgba(255,255,255,.08); background: #0a1a28; }
.switch-device-tabs button { min-width: 0; min-height: 55px; padding: 9px 13px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; color: #6f899b; border: 0; border-right: 1px solid rgba(255,255,255,.07); border-bottom: 2px solid transparent; background: transparent; cursor: pointer; }
.switch-device-tabs button:last-child { border-right: 0; }.switch-device-tabs button:hover { color: #cde4ee; background: rgba(255,255,255,.025); }.switch-device-tabs button[aria-selected="true"] { color: #e4f4fa; border-bottom-color: var(--green); background: #0d2232; }
.switch-device-tabs strong { overflow: hidden; max-width: 100%; font: 750 10px ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; }.switch-device-tabs small { overflow: hidden; max-width: 100%; margin-top: 2px; color: #587387; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.switch-terminal-screen { height: 390px; padding: 18px 20px; overflow: auto; color: #cce1ea; outline: none; background-color: #07131f; background-image: linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px); background-size: 100% 22px; font: 12px/1.58 ui-monospace, SFMono-Regular, Consolas, monospace; scrollbar-color: #29465a #07131f; }
.switch-terminal-screen pre, .switch-terminal-screen div { margin: 0 0 9px; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }.switch-terminal-screen .switch-terminal-system { color: #5f8094; }.switch-terminal-screen .switch-terminal-command { color: #eff9fc; }.switch-terminal-screen .switch-terminal-output { color: #9cb8c7; }
.switch-terminal-entry { min-height: 48px; padding: 0 18px; display: flex; align-items: center; border-top: 1px solid rgba(255,255,255,.08); background: #091927; font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; }
.switch-terminal-prompt { flex: none; color: #7ce6b4; font-weight: 700; white-space: nowrap; }.switch-terminal-input { width: 100%; min-width: 0; min-height: 46px; padding: 0 0 0 8px; color: #eef9fc; caret-color: var(--green); border: 0; outline: 0; background: transparent; font: inherit; }.switch-terminal-input::placeholder { color: #3f596b; }.switch-terminal-input:disabled { opacity: .55; }
.switch-terminal-screen:focus-visible, .switch-terminal-input:focus-visible { outline: 3px solid var(--focus-dark); outline-offset: -3px; }
.switch-simulator-footer { min-height: 45px; padding: 8px 13px; display: flex; align-items: center; justify-content: space-between; gap: 13px; color: #587387; border-top: 1px solid rgba(255,255,255,.07); background: #0c1d2b; font-size: 8px; line-height: 1.4; }
.switch-simulator-footer > span { max-width: 58%; }.switch-simulator-footer > div { display: flex; gap: 5px; }.switch-simulator-footer button { min-height: 28px; padding: 0 8px; color: #96adba; border: 1px solid #29465a; border-radius: 4px; background: #102838; font-size: 8px; font-weight: 700; cursor: pointer; }.switch-simulator-footer button:hover { color: #e9f6fa; border-color: #3e657d; }.switch-simulator-footer button:disabled { opacity: .45; cursor: default; }

/* Original MMC-style directory training console */
.directory-simulator { position: relative; margin: 18px 20px 20px 65px; overflow: hidden; color: #20252b; border: 1px solid #72808b; border-radius: 7px; background: #f5f6f7; box-shadow: 0 16px 34px rgba(22,31,39,.2); font: 13px/1.35 Arial, system-ui, sans-serif; }
.directory-simulator button, .directory-simulator input, .directory-simulator select { font: inherit; }
.directory-titlebar { min-height: 47px; padding: 0 12px; display: flex; align-items: center; gap: 10px; color: #f5fbff; background: linear-gradient(90deg,#18384b,#245c69); }
.directory-app-icon { width: 27px; height: 27px; display: grid; place-items: center; color: #12323d; background: #8fe1c0; border-radius: 3px; font-size: 9px; font-weight: 900; }
.directory-titlebar > div { display: flex; flex-direction: column; }.directory-titlebar strong { font-size: 13px; }.directory-titlebar small { color: #bfd4da; font-size: 10px; }
.directory-training-badge { margin-left: auto; padding: 4px 7px; color: #d7ffed; border: 1px solid rgba(215,255,237,.42); border-radius: 3px; font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.directory-menubar { min-height: 31px; padding: 0 7px; display: flex; align-items: center; gap: 1px; background: #f8f9fa; border-bottom: 1px solid #b8c0c7; }
.directory-menubar button { padding: 4px 9px; border: 0; background: transparent; border-radius: 2px; cursor: default; }.directory-menubar button:hover { background: #e4edf1; }
.directory-toolbar { min-height: 57px; padding: 5px 8px; display: flex; align-items: stretch; gap: 3px; overflow-x: auto; background: #edf0f2; border-bottom: 1px solid #aeb7be; }
.directory-toolbar button { min-width: 67px; padding: 3px 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: #26323a; border: 1px solid transparent; background: transparent; border-radius: 3px; font-size: 10px; white-space: nowrap; cursor: pointer; }
.directory-toolbar button > span { color: #176e64; font-size: 15px; line-height: 1; font-weight: 800; }.directory-toolbar button:hover:not(:disabled) { border-color: #94b9c0; background: #dcebed; }.directory-toolbar button:disabled { opacity: .38; cursor: default; }
.directory-toolbar > i { width: 1px; margin: 3px 4px; flex: none; background: #aeb7be; }
.directory-location { min-height: 34px; padding: 7px 12px; overflow: hidden; color: #33444d; background: #fff; border-bottom: 1px solid #adb7bf; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.directory-workspace { height: 520px; display: grid; grid-template-columns: 225px minmax(390px,1fr) 170px; background: #fff; }
.directory-tree-pane { padding: 7px 4px; overflow: auto; border-right: 1px solid #aeb7be; background: #fbfcfc; }
.directory-tree, .directory-tree ul { margin: 0; padding: 0; list-style: none; }.directory-tree ul { margin-left: 18px; }
.directory-tree-row { min-height: 29px; display: grid; grid-template-columns: 19px minmax(0,1fr); align-items: center; border: 1px solid transparent; }
.directory-tree-row.selected { color: #fff; background: #246678; border-color: #1c5969; }
.directory-tree-toggle { width: 19px; height: 24px; padding: 0; color: inherit; border: 0; background: transparent; font-size: 15px; cursor: pointer; }.directory-tree-toggle:disabled { opacity: 1; }
.directory-tree-select { min-width: 0; height: 27px; padding: 0 4px 0 1px; display: flex; align-items: center; gap: 6px; overflow: hidden; color: inherit; border: 0; background: transparent; text-align: left; cursor: pointer; }.directory-tree-select > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.directory-kind-icon { width: 19px; flex: none; display: inline-flex; align-items: center; justify-content: center; color: #2e8e77; font-size: 11px; font-weight: 900; letter-spacing: -4px; }.directory-kind-icon.group { color: #3d6ca4; font-size: 9px; }.directory-kind-icon.user { color: #346e9f; }.directory-kind-icon.computer { color: #536c7a; }.directory-kind-icon.disabled { filter: grayscale(1); opacity: .5; text-decoration: line-through; }
.directory-list-pane { min-width: 0; overflow: hidden; background: #fff; }
.directory-pane-heading { display: grid; grid-template-columns: minmax(190px,1.15fr) minmax(130px,.8fr) minmax(170px,1fr); background: #f2f4f5; border-bottom: 1px solid #aeb7be; }
.directory-pane-heading strong { grid-column: 1 / -1; min-height: 34px; padding: 8px 10px; color: #26363e; background: #e5ebed; border-bottom: 1px solid #b7c0c6; font-size: 13px; }
.directory-pane-heading > span { min-height: 28px; padding: 6px 9px; border-right: 1px solid #c8ced2; font-size: 11px; font-weight: 700; }.directory-pane-heading > span:last-child { border: 0; }
.directory-object-list { height: calc(100% - 63px); overflow: auto; }
.directory-object-row { width: 100%; min-height: 34px; padding: 0; display: grid; grid-template-columns: minmax(190px,1.15fr) minmax(130px,.8fr) minmax(170px,1fr); color: #20282d; border: 0; border-bottom: 1px solid #edf0f1; background: #fff; text-align: left; cursor: default; }
.directory-object-row:hover:not(:disabled) { background: #eef7f7; }.directory-object-row.selected { color: #fff; background: #2a6f80; }.directory-object-row > span { min-width: 0; padding: 7px 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.directory-object-name { display: flex; align-items: center; gap: 7px; }
.directory-actions-pane { padding: 11px 9px; overflow: auto; border-left: 1px solid #aeb7be; background: #eef2f3; }.directory-actions-pane h4 { margin: 0 0 14px; color: #274953; font-size: 14px; }.directory-actions-pane strong { display: block; margin: 14px 0 5px; padding-bottom: 4px; border-bottom: 1px solid #c3cdd1; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }.directory-actions-pane button { width: 100%; padding: 6px 4px; color: #235f70; border: 0; background: transparent; text-align: left; font-size: 11px; cursor: pointer; }.directory-actions-pane button:hover:not(:disabled) { text-decoration: underline; }.directory-actions-pane button:disabled { color: #8e999d; cursor: default; }
.directory-statusbar { min-height: 43px; padding: 7px 11px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; color: #52616a; border-top: 1px solid #aeb7be; background: #edf0f2; font-size: 10px; }.directory-statusbar span:last-child { justify-self: end; text-align: right; }
.directory-dialog { width: min(580px,calc(100% - 24px)); max-height: min(680px,calc(100vh - 50px)); padding: 0; overflow: hidden; color: #222a2f; border: 1px solid #4d5d66; border-radius: 6px; background: #f5f6f7; box-shadow: 0 22px 80px rgba(0,0,0,.38); font: 13px/1.4 Arial, system-ui, sans-serif; }.directory-dialog::backdrop { background: rgba(20,28,33,.45); }
.directory-dialog > header { min-height: 42px; padding: 0 9px 0 14px; display: flex; align-items: center; gap: 10px; color: #fff; background: #245c69; }.directory-dialog-title { font-size: 13px; }.directory-dialog-close { width: 30px; height: 30px; margin-left: auto; color: #fff; border: 0; background: transparent; font-size: 20px; cursor: pointer; }
.directory-dialog-body { padding: 20px; overflow: auto; max-height: calc(100vh - 95px); }.directory-form { display: grid; gap: 13px; }.directory-form > label, .directory-form-split label, .directory-dialog-body section > label { display: grid; gap: 4px; color: #3e4b52; font-size: 11px; font-weight: 700; }.directory-form input:not([type=checkbox]), .directory-form select, .directory-dialog-body section input:not([type=checkbox]), .directory-dialog-body section select { min-height: 36px; width: 100%; padding: 6px 8px; color: #20272b; border: 1px solid #87969e; border-radius: 2px; background: #fff; }.directory-form input:focus, .directory-form select:focus, .directory-dialog-body input:focus, .directory-dialog-body select:focus { outline: 2px solid rgba(35,116,126,.25); border-color: #287785; }
.directory-form input:focus-visible, .directory-form select:focus-visible, .directory-dialog-body input:focus-visible, .directory-dialog-body select:focus-visible { outline: 3px solid var(--focus-light); }
.directory-form-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.directory-check { min-height: 29px; display: flex !important; align-items: center; gap: 8px !important; color: #29363c !important; font-size: 12px !important; font-weight: 500 !important; }.directory-check input { width: 17px; height: 17px; margin: 0; accent-color: #277a72; }
.directory-dialog-buttons { margin-top: 12px; padding-top: 14px; display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid #c8ced2; }.directory-dialog-buttons button { min-width: 84px; min-height: 35px; padding: 5px 12px; color: #26343a; border: 1px solid #849197; border-radius: 3px; background: #fafbfb; cursor: pointer; }.directory-dialog-buttons button.primary { color: #fff; border-color: #205f69; background: #286e79; }.directory-dialog-buttons button:hover { filter: brightness(.96); }
.directory-upn-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 7px; }.directory-upn-row > span { color: #41545c; font-size: 12px; font-weight: 500; }
.directory-property-tabs { margin: -4px 0 17px; display: flex; align-items: end; border-bottom: 1px solid #85939a; }.directory-property-tabs button { min-height: 34px; margin-bottom: -1px; padding: 7px 14px; color: #35434a; border: 1px solid transparent; background: transparent; cursor: pointer; }.directory-property-tabs button.active { color: #173f48; border-color: #85939a #85939a #f5f6f7; background: #f5f6f7; font-weight: 700; }
.properties-dialog section { min-height: 215px; }.properties-dialog dl { margin: 0 0 18px; border: 1px solid #c3cbcf; background: #fff; }.properties-dialog dl div { min-height: 34px; padding: 7px 9px; display: grid; grid-template-columns: 145px 1fr; gap: 12px; border-bottom: 1px solid #e2e6e8; }.properties-dialog dl div:last-child { border: 0; }.properties-dialog dt { color: #59666d; }.properties-dialog dd { margin: 0; color: #1f292e; font-weight: 700; overflow-wrap: anywhere; }
.directory-membership-list { width: 100%; min-height: 190px; padding: 5px; border: 1px solid #87969e; background: #fff; }.directory-membership-list option { padding: 6px; }.directory-member-controls { margin-top: 10px; display: grid; grid-template-columns: 1fr auto auto; gap: 7px; }.directory-member-controls select { min-width: 0; }.directory-member-controls button { min-width: 72px; padding: 5px 9px; color: #26343a; border: 1px solid #849197; border-radius: 3px; background: #fafbfb; cursor: pointer; }
.task-feedback { padding: 15px 20px 17px 65px; border-top: 1px solid var(--ink-150); background: var(--ink-50); }
.feedback-heading { display: flex; align-items: center; justify-content: space-between; }
.feedback-heading strong { font-size: 12px; }.feedback-heading span { color: var(--ink-500); font-size: 10px; font-weight: 750; }
.task-feedback p { margin: 6px 0 0; color: var(--ink-600); font-size: 11px; }
.task-feedback .correct-answer { color: var(--ink-700); }
.task-feedback .selected-answer { color: var(--ink-800); }
.inline-option-rationales { margin-top: 12px; display: grid; gap: 6px; }.inline-option-rationales > div { padding: 8px 9px; display: grid; grid-template-columns: 18px 1fr auto; gap: 7px; align-items: start; background: var(--white); border: 1px solid var(--ink-150); border-radius: 6px; }.inline-option-rationales > div > span { color: #a7333c; font-weight: 900; }.inline-option-rationales .correct-option > span { color: var(--green-dark); }.inline-option-rationales p { margin: 0; }.inline-option-rationales p strong { display: block; color: var(--ink-800); font-size: 13px; }.inline-option-rationales p small { display: block; margin-top: 2px; color: var(--ink-600); font-size: 13px; line-height: 1.5; }.inline-option-rationales > div > b { padding: 3px 6px; color: #31576a; background: #e4f3f8; border-radius: 3px; font-size: 10px; text-transform: uppercase; }
.inline-rationale-details { margin-top: 10px; display: grid; gap: 6px; }.inline-rationale-details p { margin: 0; padding: 8px 9px; background: var(--white); border-left: 2px solid var(--green); border-radius: 4px; }.inline-rationale-details strong { display: block; color: var(--ink-800); }
.simulator-checks { margin: 13px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 5px; list-style: none; }.simulator-checks li { padding: 7px 9px; border-radius: 5px; font-size: 9px; }.simulator-checks .passed { color: #126544; background: #e3f6ed; }.simulator-checks .missed { color: #963b42; background: #ffedef; }
.task-card.result-correct { border-color: #8ad7b7; }.task-card.result-correct::before { background: var(--green); }.result-correct .feedback-heading strong { color: var(--green-dark); }
.task-card.result-partial { border-color: #efce7b; }.task-card.result-partial::before { background: var(--amber); }.result-partial .feedback-heading strong { color: #98660b; }
.task-card.result-incorrect { border-color: #edaeb2; }.task-card.result-incorrect::before { background: var(--red); }.result-incorrect .feedback-heading strong { color: #a7333c; }
.task-card:has(input:disabled) .choice-option, .task-card:has(select:disabled) .matching-row { cursor: default; }
.submit-bar { margin-top: 18px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.submit-bar > div { display: flex; flex-direction: column; }.submit-bar strong { font-size: 13px; }.submit-bar span { color: var(--ink-500); font-size: 10px; }
.submit-bar .button span { color: inherit; font-size: 14px; }
.loading svg { animation: slide 1s ease-in-out infinite alternate; }
@keyframes slide { to { transform: translateX(4px); } }

.result-panel { --score: 0deg; margin-top: 25px; padding: 26px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 23px; color: var(--white); background: var(--ink-900); border-radius: var(--radius); box-shadow: var(--shadow); }
.score-ring { position: relative; width: 82px; height: 82px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: conic-gradient(var(--amber) var(--score), rgba(255,255,255,.1) 0); }
.result-panel.passing .score-ring { background: conic-gradient(var(--green) var(--score), rgba(255,255,255,.1) 0); }
.attempt-history-section { margin-top: 58px; }
.attempt-count { padding: 7px 11px; color: var(--ink-600); background: var(--white); border: 1px solid var(--ink-150); border-radius: 999px; font-size: 11px; font-weight: 800; }
.attempt-history-summary { margin-bottom: 12px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.attempt-history-summary article { padding: 14px 16px; display: flex; align-items: baseline; justify-content: space-between; background: var(--white); border: 1px solid var(--ink-150); border-radius: var(--radius-sm); }
.attempt-history-summary span { color: var(--ink-500); font-size: 10px; font-weight: 750; }.attempt-history-summary strong { font-size: 19px; }
.attempt-trend { position: relative; height: 180px; padding: 12px 12px 16px 44px; background: var(--white); border: 1px solid var(--ink-150); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.attempt-trend svg { width: 100%; height: 100%; overflow: visible; }.attempt-trend line { stroke: var(--ink-100); stroke-width: 1; }.attempt-trend polyline { fill: none; stroke: var(--green); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.attempt-trend > span { position: absolute; left: 9px; color: var(--ink-400); font-size: 9px; font-weight: 750; }.attempt-trend .trend-high { top: 27px; }.attempt-trend .trend-mid { top: 81px; }.attempt-trend .trend-low { bottom: 24px; }
.attempt-history-list { margin-top: 12px; overflow: hidden; background: var(--white); border: 1px solid var(--ink-150); border-radius: var(--radius); }
.attempt-history-list a { min-height: 60px; padding: 11px 15px; display: grid; grid-template-columns: 90px 58px 1fr auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--ink-100); }.attempt-history-list a:last-child { border-bottom: 0; }.attempt-history-list a:hover { background: var(--ink-50); }
.attempt-history-list span { color: var(--ink-700); font-size: 12px; font-weight: 800; }.attempt-history-list strong { font-size: 18px; }.attempt-history-list small { color: var(--ink-500); }.attempt-history-list b { color: var(--green-dark); font-size: 11px; }
.attempt-history-empty { padding: 26px; text-align: center; color: var(--ink-600); background: var(--white); border: 1px dashed var(--ink-200); border-radius: var(--radius); }.attempt-history-empty strong { color: var(--ink-800); }.attempt-history-empty p { margin: 4px 0 0; font-size: 12px; }
.attempt-snapshot-note { margin-bottom: 28px; padding: 15px 17px; color: #31576a; background: #f0f9fc; border: 1px solid #b8dce7; border-radius: var(--radius-sm); }.attempt-snapshot-note p { margin: 3px 0 0; font-size: 12px; }
.pbq-attempt-results { display: grid; gap: 14px; }.pbq-attempt-results > article { overflow: hidden; background: var(--white); border: 1px solid var(--ink-150); border-left: 4px solid var(--red); border-radius: var(--radius); box-shadow: var(--shadow-sm); }.pbq-attempt-results > article.correct { border-left-color: var(--green); }.pbq-attempt-results > article.partial { border-left-color: var(--amber); }
.pbq-attempt-results header { padding: 16px 18px; display: grid; grid-template-columns: 30px 1fr auto; gap: 11px; align-items: start; }.pbq-attempt-results header > span { width: 28px; height: 28px; display: grid; place-items: center; color: #a7333c; background: #fff0f1; border-radius: 50%; font-weight: 900; }.pbq-attempt-results .correct header > span { color: var(--green-dark); background: #e4f8ef; }.pbq-attempt-results .partial header > span { color: #8b5d08; background: #fff5d9; }.pbq-attempt-results header small { color: var(--ink-400); font-size: 9px; text-transform: uppercase; }.pbq-attempt-results h3 { margin: 2px 0 0; font-size: 15px; }.pbq-attempt-results header > b { color: var(--ink-600); font-size: 11px; }
.pbq-attempt-results dl { margin: 0; padding: 0 18px 15px 59px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.pbq-attempt-results dl div { padding: 11px; background: var(--ink-50); border-radius: 6px; }.pbq-attempt-results dt { color: var(--ink-400); font-size: 9px; text-transform: uppercase; }.pbq-attempt-results dd { margin: 3px 0 0; color: var(--ink-700); font-size: 12px; font-weight: 650; }
.attempt-explanation { margin: 0; padding: 14px 18px 14px 59px; color: var(--ink-600); border-top: 1px solid var(--ink-100); font-size: 12px; }
.answer-rationale-list { padding: 12px 18px 16px 59px; display: grid; gap: 7px; background: var(--ink-50); }.answer-rationale-list > div { padding: 10px; display: grid; grid-template-columns: 22px 1fr auto; gap: 8px; align-items: start; background: var(--white); border: 1px solid var(--ink-150); border-radius: 7px; }.answer-rationale-list > div > span { color: #a7333c; font-weight: 900; }.answer-rationale-list .correct-option > span { color: var(--green-dark); }.answer-rationale-list p { margin: 0; }.answer-rationale-list p strong { display: block; font-size: 14px; }.answer-rationale-list p small { display: block; margin-top: 3px; color: var(--ink-600); font-size: 13px; line-height: 1.55; }.answer-rationale-list > div > b { padding: 3px 6px; color: #31576a; background: #e4f3f8; border-radius: 4px; font-size: 10px; text-transform: uppercase; }
.rationale-detail-list { padding: 12px 18px 16px 59px; display: grid; gap: 8px; background: var(--ink-50); }.rationale-detail-list p { margin: 0; color: var(--ink-600); font-size: 13px; line-height: 1.55; }.rationale-detail-list strong { display: block; color: var(--ink-800); }
.response-time-note { color: var(--ink-500); font-size: 10px; }.timing-insight { margin-top: 8px; padding: 9px 10px; color: #31576a; background: #eaf5f8; border-radius: 6px; }.timing-insight p { margin: 0; font-size: 10px; }.timing-insight p + p { margin-top: 4px; }.timing-method-note { margin: 16px 0; padding: 13px 16px; display: flex; gap: 12px; align-items: baseline; color: var(--ink-600); background: #f2f8fa; border: 1px solid #d7e9ef; border-radius: 8px; }.timing-method-note strong { flex: 0 0 auto; color: var(--ink-800); font-size: 11px; }.timing-method-note p { margin: 0; font-size: 11px; }.response-timing-summary { margin: 0; padding: 10px 18px 10px 59px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 9px; color: var(--ink-500); background: #f2f8fa; border-bottom: 1px solid var(--ink-100); }.response-timing-summary > strong { color: var(--ink-800); font-size: 14px; }.response-timing-summary > span { font-size: 10px; }.response-timing-summary > small { flex-basis: 100%; font-size: 10px; }.response-timing-summary > small b { color: #31576a; }.quiz-timer-row { display: flex; gap: 9px; }.quiz-timer.active-time { min-width: 112px; background: #eff8f5; }.quiz-timer.active-time strong { color: var(--green-dark); }
.answer-glossary { margin: 10px 18px 14px 59px; padding: 10px 12px; color: var(--ink-600); background: var(--white); border: 1px solid var(--ink-150); border-radius: 7px; }.answer-glossary summary { color: var(--ink-800); font-size: 10px; font-weight: 800; cursor: pointer; }.answer-glossary dl { margin: 10px 0 0; display: grid; grid-template-columns: minmax(90px, auto) 1fr; gap: 7px 12px; }.answer-glossary dt { color: var(--ink-800); font-size: 10px; font-weight: 800; }.answer-glossary dd { margin: 0; font-size: 10px; line-height: 1.45; }
.score-ring::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--ink-900); }
.score-ring strong, .score-ring span { position: relative; z-index: 1; }.score-ring strong { font-size: 19px; }.score-ring span { color: var(--ink-400); font-size: 8px; text-transform: uppercase; }
.result-copy .section-kicker { color: var(--green); }.result-copy h2 { margin: 5px 0 2px; font-size: 21px; }.result-copy p { margin: 0; color: var(--ink-300); font-size: 11px; }.result-copy > span:last-child { color: var(--ink-400); font-size: 9px; }
.result-actions { display: flex; gap: 8px; }.result-actions .secondary { color: var(--white); border-color: var(--ink-700); background: transparent; }

/* Progress */
.progress-hero { padding: 58px 0 44px; color: var(--white); background: var(--ink-950); }
.progress-title-row { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.progress-title-row h1 { margin: 13px 0 4px; font-size: 42px; line-height: 1.1; letter-spacing: -.045em; }
.progress-title-row p { margin: 0; color: var(--ink-400); }
.progress-title-row .button.danger { color: #ff9097; border-color: rgba(255,144,151,.25); }
.progress-stat-grid { margin-top: 37px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); overflow: hidden; }
.progress-stat-grid > div { min-height: 105px; padding: 17px 21px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.025); }
.progress-stat-grid > div:last-child { border: 0; }
.progress-stat-grid span { color: var(--ink-400); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 750; }
.progress-stat-grid strong { margin-top: 3px; font-size: 28px; letter-spacing: -.04em; }.progress-stat-grid small { margin-top: auto; color: var(--ink-500); font-size: 9px; }
.progress-content { padding-top: 56px; }
.portable-progress { margin-bottom: 76px; scroll-margin-top: 100px; }.portable-schema { padding: 7px 10px; color: var(--green-dark); background: #e4f8ef; border-radius: 999px; font: 800 10px ui-monospace,monospace; }.portable-progress-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.portable-progress-grid article { min-width: 0; padding: 22px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.portable-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 10px; font: 850 11px ui-monospace,monospace; }.portable-progress-grid article > div { min-width: 0; }.portable-progress-grid strong { font-size: 15px; }.portable-progress-grid p { margin: 5px 0; color: var(--ink-600); font-size: 12px; }.portable-progress-grid small { display: block; color: var(--ink-500); font-size: 10px; }.portable-progress-grid code { color: var(--ink-800); font-size: .95em; }.portable-progress-grid article > .button, .portable-progress-grid article > form { grid-column: 2; justify-self: start; margin-top: 6px; }.portable-progress-grid form { width: 100%; display: flex; align-items: end; gap: 9px; }.portable-progress-grid label { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 5px; color: var(--ink-500); font-size: 9px; font-weight: 800; text-transform: uppercase; }.portable-progress-grid input[type="file"] { width: 100%; min-height: 40px; padding: 7px; color: var(--ink-600); background: var(--ink-50); border: 1px solid var(--ink-150); border-radius: 6px; font-size: 10px; text-transform: none; }.portable-merge-notice { margin: -12px 0 16px; padding: 12px 15px; display: flex; justify-content: space-between; color: var(--green-dark); background: #e4f8ef; border: 1px solid #afe6ce; border-radius: var(--radius-sm); font-size: 11px; }
.browser-data-control { margin: -40px 0 64px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid #efc4c0; border-radius: var(--radius); background: #fff9f8; scroll-margin-top: 100px; }.browser-data-control h2 { margin: 4px 0; font-size: 20px; }.browser-data-control p { max-width: 760px; margin: 0; color: var(--ink-600); font-size: 11px; }.browser-data-control form { flex: none; }
.track-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.track-card { padding: 17px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.track-top { display: flex; align-items: center; gap: 11px; }.track-top .cert-icon { width: 38px; height: 38px; font-size: 10px; }.track-top div { min-width: 0; }.track-top h3 { margin: 0; font-size: 13px; }.track-top p { margin: 1px 0 0; color: var(--ink-400); font-size: 9px; }.track-top > strong { margin-left: auto; color: var(--accent-ink); font-size: 17px; }
.progress-label { margin-top: 19px; display: flex; justify-content: space-between; color: var(--ink-500); font-size: 9px; }
.progress-bar { height: 5px; margin-top: 6px; overflow: hidden; border-radius: 3px; background: var(--ink-100); }.progress-bar span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.track-card > a { margin-top: 18px; padding-top: 12px; display: flex; justify-content: space-between; color: var(--ink-600); border-top: 1px solid var(--ink-100); font-size: 10px; font-weight: 750; }.track-card > a span { color: var(--accent-ink); }
.progress-columns { margin-top: 65px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .75fr); gap: 28px; }
.section-heading.compact { margin-bottom: 18px; }.section-heading.compact h2 { font-size: 22px; }
.mastery-list, .history-list { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.mastery-row { min-height: 69px; padding: 11px 15px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--ink-100); transition: background .15s; }.mastery-row:last-child { border: 0; }.mastery-row:hover { background: var(--ink-50); }
.mastery-cert { width: 34px; height: 34px; flex: none; display: grid; place-items: center; color: var(--accent-ink); background: var(--accent-soft); border-radius: 7px; font-size: 9px; font-weight: 850; }
.mastery-copy { display: flex; flex-direction: column; min-width: 0; }.mastery-copy strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; }.mastery-copy small { color: var(--ink-400); font-size: 9px; }
.mastery-score { margin-left: auto; min-width: 45px; padding: 4px 7px; color: #a7333c; background: #fff0f1; border-radius: 5px; text-align: center; font-size: 10px; font-weight: 800; }.mastery-score.passing { color: var(--green-dark); background: #e6f8f0; }
.not-started { margin-left: auto; color: var(--ink-400); font-size: 9px; }
.history-list > a { min-height: 69px; padding: 11px 14px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--ink-100); }.history-list > a:last-child { border: 0; }.history-list > a:hover { background: var(--ink-50); }
.history-score { width: 42px; height: 42px; flex: none; display: grid; place-items: center; color: #a7333c; background: #fff0f1; border-radius: 50%; font-size: 10px; font-weight: 850; }.history-score.passing { color: var(--green-dark); background: #e6f8f0; }
.history-list > a > span:last-child { min-width: 0; display: flex; flex-direction: column; }.history-list strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 10px; }.history-list small { color: var(--ink-400); font-size: 8px; }
.empty-state { min-height: 260px; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.empty-state > span { color: var(--ink-300); font-size: 35px; }.empty-state strong { margin-top: 4px; font-size: 13px; }.empty-state p { max-width: 210px; margin: 5px 0 15px; color: var(--ink-500); font-size: 10px; }.empty-state .button { min-height: 38px; font-size: 11px; }

/* Content standards */
.standards-hero { position: relative; overflow: hidden; padding: 60px 0 45px; color: var(--white); background: var(--ink-950); }
.standards-hero::after { content: ""; position: absolute; width: 420px; height: 420px; right: -130px; top: -210px; border-radius: 50%; background: rgba(33,183,220,.09); filter: blur(80px); }
.standards-title { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 35px; }.standards-title h1 { margin: 14px 0 6px; font-size: clamp(37px, 5vw, 51px); line-height: 1.05; letter-spacing: -.05em; }.standards-title p { max-width: 700px; margin: 0; color: var(--ink-400); font-size: 14px; }
.catalog-health { margin-bottom: 5px; padding: 7px 11px; display: inline-flex; align-items: center; gap: 8px; color: var(--ink-300); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; white-space: nowrap; font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }.catalog-health i { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }.catalog-health.current i { background: var(--green); box-shadow: 0 0 0 4px rgba(25,195,125,.12); }
.standards-metrics { position: relative; z-index: 1; margin-top: 35px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); overflow: hidden; }.standards-metrics div { min-height: 83px; padding: 15px 20px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.025); }.standards-metrics div:last-child { border: 0; }.standards-metrics strong { font-size: 24px; letter-spacing: -.04em; }.standards-metrics span { margin-top: auto; color: var(--ink-500); font-size: 9px; }
.standards-content { padding-top: 45px; }.assurance-note { margin-bottom: 55px; padding: 17px 20px; display: grid; grid-template-columns: 150px 1fr; gap: 20px; border: 1px solid #efcf83; border-left: 3px solid var(--amber); border-radius: var(--radius-sm); background: #fff9eb; }.assurance-note > span { color: #97650b; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.assurance-note p { margin: 0; color: var(--ink-700); font-size: 12px; }
.product-preview-metrics { margin: 28px 0 32px; border-color: var(--ink-150); background: var(--white); color: var(--ink-900); }.product-preview-metrics div { border-color: var(--ink-150); background: var(--white); }.product-preview-metrics div:nth-child(-n+3) { border-right-color: var(--ink-150); }.product-preview-assurance, .product-preview-review-counts { margin-bottom: 32px; }.product-preview-assurance .text-link { grid-column: 2; justify-self: start; align-self: center; }.product-preview-steps { padding: 0; margin-bottom: 32px; border-top: 0; }.product-preview-review-counts { margin-bottom: 0; }
.standards-section-heading { margin-bottom: 22px; }
.profile-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }.profile-card { overflow: hidden; border: 1px solid var(--ink-150); border-top: 3px solid var(--accent); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.profile-card > header { padding: 15px 17px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--ink-100); }.profile-card header .cert-icon { width: 38px; height: 38px; font-size: 9px; }.profile-card header div { display: flex; flex-direction: column; }.profile-card header div span { color: var(--ink-400); font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }.profile-card h3 { margin: 0; font-size: 14px; }.freshness-badge { margin-left: auto; padding: 4px 7px; color: #97650b; background: #fff4d9; border-radius: 4px; font-size: 8px; font-weight: 800; text-transform: uppercase; }.freshness-badge.current { color: var(--green-dark); background: #e5f8ef; }
.profile-code { padding: 16px 17px 13px; display: flex; align-items: baseline; gap: 9px; }.profile-code strong { color: var(--accent-ink); font: 800 23px ui-monospace, SFMono-Regular, monospace; letter-spacing: -.04em; }.profile-code span { color: var(--ink-500); font-size: 9px; }
.profile-card dl { margin: 0; padding: 0 17px 15px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }.profile-card dl div { padding: 9px 10px; display: flex; flex-direction: column; background: var(--ink-50); border-radius: 6px; }.profile-card dt { color: var(--ink-400); font-size: 7px; text-transform: uppercase; letter-spacing: .06em; }.profile-card dd { margin: 2px 0 0; color: var(--ink-700); font-size: 10px; font-weight: 700; }
.source-links { border-top: 1px solid var(--ink-100); }.source-links a { min-height: 42px; padding: 8px 17px; display: flex; align-items: center; color: var(--ink-600); font-size: 9px; transition: background .15s; }.source-links a:hover { background: var(--accent-soft); color: var(--accent-ink); }.source-links a span { width: 83px; color: var(--ink-400); font-size: 7px; text-transform: uppercase; letter-spacing: .06em; }.source-links a b { margin-left: auto; color: var(--accent-ink); }
.standards-columns { margin-top: 64px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 28px; }.review-ledger { display: grid; gap: 9px; }.review-ledger article { padding: 14px 16px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.ledger-top { display: flex; align-items: center; gap: 11px; }.ledger-cert { width: 31px; height: 31px; flex: none; display: grid; place-items: center; color: var(--accent-ink); background: var(--accent-soft); border-radius: 6px; font-size: 8px; font-weight: 850; }.ledger-top > div { min-width: 0; display: flex; flex-direction: column; }.ledger-top a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 750; }.ledger-top a:hover { color: var(--green-dark); }.ledger-top small { color: var(--ink-400); font-size: 8px; }.review-status { margin-left: auto; padding: 4px 7px; white-space: nowrap; color: var(--green-dark); background: #e5f8ef; border-radius: 4px; font-size: 8px; font-weight: 800; }
.ledger-objectives { margin-top: 11px; display: flex; flex-wrap: wrap; gap: 5px; }.ledger-objectives span { padding: 4px 6px; color: var(--ink-600); background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 4px; font-size: 7px; }.ledger-objectives b { color: var(--green-dark); font: 800 7px ui-monospace, monospace; }.review-ledger article > p { margin: 10px 0 0; padding-top: 8px; color: var(--ink-500); border-top: 1px solid var(--ink-100); font-size: 8px; }
.assurance-levels { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.assurance-levels > div { position: relative; padding: 16px 15px 16px 54px; border-bottom: 1px solid var(--ink-100); }.assurance-levels > div:last-child { border: 0; }.assurance-levels span { position: absolute; left: 15px; top: 17px; width: 26px; height: 26px; display: grid; place-items: center; color: var(--green-dark); background: #e5f8ef; border-radius: 50%; font: 800 8px ui-monospace, monospace; }.assurance-levels .pending span { color: #97650b; background: #fff4d9; }.assurance-levels strong { font-size: 11px; }.assurance-levels p { margin: 3px 0 0; color: var(--ink-500); font-size: 9px; }
.automation-card { margin-top: 14px; padding: 17px; color: var(--ink-200); background: var(--ink-900); border-radius: var(--radius); box-shadow: var(--shadow); }.automation-card h3 { margin: 0; color: var(--white); font-size: 13px; }.automation-card p { margin: 5px 0 13px; color: var(--ink-400); font-size: 9px; }.automation-card code { margin-top: 6px; padding: 8px 9px; display: block; overflow-x: auto; color: var(--green); background: var(--ink-950); border-radius: 5px; white-space: nowrap; font: 8px ui-monospace, SFMono-Regular, monospace; }
.update-workflow { margin-top: 65px; padding: 23px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.update-workflow ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; list-style: none; }.update-workflow li { display: flex; align-items: flex-start; gap: 9px; }.update-workflow li > span { width: 24px; height: 24px; flex: none; display: grid; place-items: center; color: var(--green-dark); background: #e5f8ef; border-radius: 50%; font: 800 8px ui-monospace, monospace; }.update-workflow strong { font-size: 10px; }.update-workflow p { margin: 2px 0 0; color: var(--ink-500); font-size: 8px; line-height: 1.5; }

/* Career roadmaps */
.career-shell { width: min(calc(100% - 40px), var(--page)); }
.career-landing-hero { position: relative; overflow: hidden; padding: 72px 0 54px; color: var(--white); background: var(--ink-950); }
.career-landing-hero::before { content: ""; position: absolute; width: 560px; height: 420px; right: -100px; top: -180px; border-radius: 50%; background: rgba(136,108,255,.12); filter: blur(80px); }
.career-landing-title { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 45px; }
.career-landing-title h1 { margin: 17px 0 12px; font-size: clamp(44px, 6vw, 67px); line-height: .98; letter-spacing: -.058em; }
.career-landing-title h1 em { color: var(--green); font-style: normal; }
.career-landing-title > div:first-child > p { max-width: 660px; margin: 0; color: var(--ink-300); font-size: 15px; }
.career-metric-cluster { min-width: 340px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(255,255,255,.11); border-radius: var(--radius); overflow: hidden; }
.career-metric-cluster div { min-height: 98px; padding: 16px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.025); }
.career-metric-cluster div:last-child { border: 0; }.career-metric-cluster strong { font-size: 27px; letter-spacing: -.04em; }.career-metric-cluster span { color: var(--ink-500); font-size: 8px; line-height: 1.3; text-transform: uppercase; letter-spacing: .07em; }
.career-landing-content { padding: 0 0 85px; }
.confidence-explainer { position: relative; z-index: 2; margin-top: -1px; min-height: 86px; padding: 17px 20px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; color: var(--ink-700); background: var(--white); border: 1px solid var(--ink-150); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow-sm); }
.confidence-icon { width: 37px; height: 37px; display: grid; place-items: center; color: #97650b; background: #fff4d9; border-radius: 50%; font-size: 18px; font-weight: 800; }.confidence-explainer strong { font-size: 12px; }.confidence-explainer p { margin: 2px 0 0; color: var(--ink-500); font-size: 10px; }.confidence-explainer a { color: var(--accent-ink); font-size: 9px; font-weight: 800; }
.navigation-manifesto { margin-top: 62px; padding: 29px; display: grid; grid-template-columns: minmax(270px,.75fr) 1.4fr; gap: 42px; color: var(--white); background: var(--ink-900); border-radius: var(--radius-lg); box-shadow: var(--shadow); }.navigation-manifesto h2 { margin: 8px 0 0; font-size: 27px; line-height: 1.2; letter-spacing: -.04em; }.manifesto-points { display: grid; gap: 12px; }.manifesto-points article { display: grid; grid-template-columns: auto 1fr; gap: 11px; }.manifesto-points article > span { width: 29px; height: 29px; display: grid; place-items: center; color: var(--green); border: 1px solid var(--ink-700); border-radius: 50%; font: 800 8px ui-monospace, monospace; }.manifesto-points strong { font-size: 10px; }.manifesto-points p { margin: 2px 0 0; color: var(--ink-400); font-size: 8px; line-height: 1.5; }
.career-heading { margin-top: 65px; }.career-heading h2 { margin: 7px 0 3px; font-size: 31px; letter-spacing: -.04em; }.career-heading p { margin: 0; color: var(--ink-500); font-size: 12px; }
.career-path-grid { margin-top: 25px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.career-path-card { --accent: var(--cyan); --accent-soft: #e9f8fc; --accent-ink: #087d9c; position: relative; overflow: hidden; border: 1px solid var(--ink-150); border-top: 3px solid var(--accent); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.career-path-card.color-violet, .career-dashboard-hero.color-violet, .highway-graph.color-violet { --accent: var(--violet); --accent-soft: #f0edff; --accent-ink: #6042dc; }.career-path-card.color-cyan, .career-dashboard-hero.color-cyan, .highway-graph.color-cyan { --accent: var(--cyan); --accent-soft: #e9f8fc; --accent-ink: #087d9c; }
.career-path-card.color-green, .career-dashboard-hero.color-green, .highway-graph.color-green { --accent: var(--green); --accent-soft: #e4f8ef; --accent-ink: var(--green-dark); }.career-path-card.color-amber, .career-dashboard-hero.color-amber, .highway-graph.color-amber { --accent: var(--amber); --accent-soft: #fff4d9; --accent-ink: #97650b; }
.career-finder { margin-top: 62px; padding: 28px; display: grid; grid-template-columns: minmax(240px,.55fr) minmax(0,1.45fr); gap: 36px; border: 1px solid var(--ink-150); border-top: 3px solid var(--green); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }.career-finder-copy h2 { margin: 9px 0 7px; font-size: 30px; line-height: 1.15; }.career-finder-copy p { margin: 0; color: var(--ink-600); font-size: 13px; }.career-finder-copy small { margin-top: 14px; display: block; color: var(--ink-500); font-size: 11px; }.career-finder form { display: grid; gap: 14px; }.career-finder fieldset { margin: 0; padding: 14px; display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; border: 1px solid var(--ink-150); border-radius: var(--radius-sm); }.career-finder legend { padding: 0 5px; font-size: 12px; font-weight: 800; }.career-finder fieldset label { min-height: 64px; padding: 9px; display: flex; gap: 7px; align-items: flex-start; border: 1px solid var(--ink-100); border-radius: 6px; background: var(--ink-50); color: var(--ink-600); font-size: 10px; cursor: pointer; }.career-finder fieldset label:has(input:checked) { color: var(--green-dark); border-color: var(--green); background: #eaf9f2; }.career-finder input { margin-top: 3px; accent-color: var(--green-dark); }.career-finder form > .button { justify-self: start; }.career-finder-result { padding: 12px; display: grid; grid-template-columns: auto repeat(2,1fr); align-items: center; gap: 8px; color: var(--ink-300); background: var(--ink-900); border-radius: var(--radius-sm); }.career-finder-result > span { padding: 0 8px; color: var(--green); font-size: 10px; font-weight: 800; text-transform: uppercase; }.career-finder-result a { padding: 10px; display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 8px; color: var(--white); background: var(--ink-800); border-radius: 6px; }.career-finder-result a b { width: 25px; height: 25px; display: grid; place-items: center; color: var(--green); border: 1px solid var(--ink-600); border-radius: 50%; font-size: 9px; }.career-finder-result a strong { font-size: 12px; }.career-finder-result a small { color: var(--ink-300); font-size: 9px; }
.career-finder-disclosure { margin-top: 42px; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.career-finder-disclosure > summary { min-height: 78px; padding: 16px 20px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 20px; cursor: pointer; list-style: none; }
.career-finder-disclosure > summary::-webkit-details-marker { display: none; }
.career-finder-disclosure > summary span { color: var(--green-dark); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.career-finder-disclosure > summary strong { color: var(--ink-800); font-size: 15px; }
.career-finder-disclosure > summary small { grid-column: 1 / -1; color: var(--ink-500); font-size: 11px; }
.career-finder-disclosure > summary strong::after { content: " ↓"; color: var(--green-dark); }.career-finder-disclosure[open] > summary strong::after { content: " ↑"; }
.career-finder-disclosure > .career-finder { margin-top: 0; border: 0; border-top: 1px solid var(--ink-150); border-radius: 0; box-shadow: none; }
.career-finder-step { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius-sm); background: var(--white); }.career-finder-step > summary { min-height: 58px; padding: 11px 14px; display: flex; align-items: center; gap: 11px; color: var(--ink-700); background: var(--ink-50); cursor: pointer; list-style: none; }.career-finder-step > summary::-webkit-details-marker { display: none; }.career-finder-step > summary > b { width: 30px; height: 30px; flex: none; display: grid; place-items: center; color: var(--ink-500); background: var(--white); border: 1px solid var(--ink-150); border-radius: 50%; font: 800 9px ui-monospace,monospace; }.career-finder-step > summary > span { min-width: 0; display: flex; flex-direction: column; }.career-finder-step > summary strong { font-size: 12px; }.career-finder-step > summary small { overflow: hidden; color: var(--ink-500); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.career-finder-step > summary::after { content: "+"; margin-left: auto; color: var(--ink-500); font-size: 15px; }.career-finder-step[open] > summary::after { content: "−"; }.career-finder-step.is-complete > summary > b { color: #fff; background: var(--green-dark); border-color: var(--green-dark); }.career-finder-step[open] { border-color: #87cdb3; }.career-finder-step[open] > summary { background: #eef9f5; }.career-finder-step fieldset { border: 0; border-top: 1px solid var(--ink-150); border-radius: 0; }.career-finder-step > .button { min-height: 44px; margin: 0 14px 14px; }
.career-finder-step.has-error { border-color: #ba3d49; }.career-finder-step.has-error > summary { color: #8e2d35; background: #fff0f1; }.career-finder-step.has-error > summary small { color: #8e2d35; }
.career-path-card.is-active { box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent), var(--shadow); }
.career-path-card > header { position: relative; padding: 25px 25px 20px; }.path-number { position: absolute; right: 23px; top: 17px; color: var(--ink-100); font: 850 52px/1 ui-monospace, monospace; }.active-goal-badge { position: absolute; right: 24px; top: 21px; z-index: 1; padding: 4px 8px; color: var(--green-dark); background: #e4f8ef; border-radius: 4px; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.path-role { color: var(--accent-ink); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.career-path-card h2 { margin: 7px 0 7px; font-size: 27px; letter-spacing: -.04em; }.career-path-card > header p { max-width: 480px; margin: 0; color: var(--ink-500); font-size: 11px; }
.mini-highway { margin: 0 25px; padding: 18px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink-100); border-bottom: 1px solid var(--ink-100); }.mini-highway div { position: relative; padding-left: 21px; display: flex; flex-direction: column; }.mini-highway div:not(:last-child)::after { content: ""; position: absolute; height: 2px; top: 7px; left: 9px; right: -9px; background: var(--ink-150); }.mini-highway i { position: absolute; z-index: 1; width: 10px; height: 10px; left: 0; top: 3px; border: 2px solid var(--accent); border-radius: 50%; background: var(--white); }.mini-highway strong { position: relative; z-index: 2; font-size: 9px; }.mini-highway span { color: var(--ink-400); font-size: 8px; }
.path-readiness { padding: 18px 25px; }.readiness-label { display: flex; justify-content: space-between; color: var(--ink-500); font-size: 9px; }.readiness-label strong { color: var(--ink-800); }.confidence-bar, .skill-meter { position: relative; height: 6px; margin-top: 7px; overflow: hidden; background: var(--ink-100); border-radius: 999px; }.confidence-bar i, .skill-meter i { display: block; height: 100%; background: var(--accent); border-radius: inherit; }.path-readiness small { display: block; margin-top: 7px; color: var(--ink-400); font-size: 8px; }.path-open { min-height: 53px; padding: 0 25px; display: flex; align-items: center; justify-content: space-between; color: var(--accent-ink); background: var(--accent-soft); border-top: 1px solid color-mix(in srgb, var(--accent) 18%, var(--ink-100)); font-size: 11px; font-weight: 850; }.path-open span { font-size: 18px; transition: transform .2s; }.path-open:hover span { transform: translateX(3px); }
.career-catalog-current, .career-catalog-warning { margin: 17px 0 0; color: var(--ink-500); text-align: right; font-size: 8px; }.career-catalog-current i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--green); }.career-catalog-warning { color: #97650b; }

.career-dashboard-hero { --accent: var(--violet); --accent-soft: #f0edff; --accent-ink: #6042dc; position: relative; overflow: hidden; padding: 31px 0 0; color: var(--white); background: var(--ink-950); }.career-dashboard-hero::after { content: ""; position: absolute; width: 500px; height: 420px; top: -230px; right: -80px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 16%, transparent); filter: blur(75px); }.career-crumbs { position: relative; z-index: 1; display: flex; gap: 8px; color: var(--ink-500); font-size: 9px; }.career-crumbs a:hover { color: var(--white); }
.career-dashboard-title { position: relative; z-index: 1; padding: 30px 0 35px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }.career-dashboard-title h1 { margin: 7px 0 6px; font-size: clamp(42px,6vw,60px); line-height: 1; letter-spacing: -.055em; }.career-dashboard-title p { max-width: 660px; margin: 0; color: var(--ink-400); font-size: 13px; }.active-path-pill { padding: 7px 11px; display: inline-flex; align-items: center; gap: 7px; color: var(--ink-300); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; white-space: nowrap; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }.active-path-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(25,195,125,.12); }
.career-score-strip { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr repeat(3,1fr); border: 1px solid rgba(255,255,255,.1); border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; }.career-score-strip > div { min-height: 85px; padding: 15px 20px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.025); }.career-score-strip > div:last-child { border: 0; }.career-score-strip strong { font-size: 23px; letter-spacing: -.04em; }.career-score-strip .career-score-main strong { color: var(--accent); font-size: 31px; }.career-score-strip strong small { font-size: .55em; }.career-score-strip span { color: var(--ink-500); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.career-dashboard-content { padding: 38px 0 85px; }.evidence-success { margin-bottom: 20px; padding: 12px 14px; color: var(--green-dark); background: #e4f8ef; border: 1px solid #a9e3c9; border-radius: var(--radius-sm); font-size: 10px; font-weight: 700; }
.career-top-grid { display: grid; grid-template-columns: minmax(310px,.8fr) 1.3fr; gap: 20px; }.next-action-card, .confidence-chart-card { min-height: 310px; padding: 23px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.next-skill-row { margin: 13px 0 19px; padding: 10px 11px; display: flex; align-items: center; gap: 9px; background: var(--ink-50); border-radius: var(--radius-sm); }.skill-status { width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--ink-200); }.status-building .skill-status, .skill-status.status-building { background: var(--amber); }.status-developing .skill-status, .skill-status.status-developing { background: var(--cyan); }.status-current .skill-status, .skill-status.status-current { background: var(--green); }.next-skill-row div { display: flex; flex-direction: column; }.next-skill-row strong { font-size: 10px; }.next-skill-row small { color: var(--ink-400); font-size: 8px; }.action-kind { color: var(--accent-ink); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.next-action-card h2 { margin: 5px 0 6px; font-size: 20px; letter-spacing: -.025em; }.next-action-card > p { margin: 0 0 17px; color: var(--ink-500); font-size: 10px; }.next-action-card .button { min-height: 39px; font-size: 9px; }
.confidence-chart-card { padding-bottom: 17px; }.confidence-chart-card > header { display: flex; justify-content: space-between; align-items: flex-start; }.confidence-chart-card h2 { margin: 5px 0 0; font-size: 19px; }.confidence-chart-card header > strong { color: var(--accent-ink); font-size: 25px; }.confidence-chart { width: 100%; height: 170px; margin-top: 2px; overflow: visible; }.confidence-chart line { stroke: var(--ink-100); stroke-width: 1; }.confidence-chart polygon { fill: color-mix(in srgb, var(--accent) 9%, transparent); }.confidence-chart polyline { fill: none; stroke: var(--accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }.confidence-chart circle { fill: var(--white); stroke: var(--accent); stroke-width: 3; }.chart-axis { margin: -13px 3px 0; display: flex; justify-content: space-between; color: var(--ink-400); font-size: 7px; }.confidence-chart-card > p { margin: 8px 0 0; color: var(--ink-400); font-size: 8px; text-align: center; }
.role-ladder-section { margin-top: 68px; scroll-margin-top: 90px; }.role-ladder-section .section-heading h2 { margin: 7px 0 2px; font-size: 27px; letter-spacing: -.035em; }.role-ladder-section .section-heading p { margin: 0; color: var(--ink-500); font-size: 11px; }.context-label { align-self: end; color: var(--ink-500); font-size: 8px; }.context-label i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--amber); }
.role-reality-banner { margin-top: 22px; padding: 16px 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px 20px; color: var(--ink-700); background: #fff9eb; border: 1px solid #efcf83; border-left: 3px solid var(--amber); border-radius: var(--radius-sm); }.role-reality-banner > div { display: flex; flex-direction: column; }.role-reality-banner strong { color: #97650b; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }.role-reality-banner span { font-size: 10px; font-weight: 700; }.role-reality-banner p { grid-column: 1 / -1; margin: 4px 0 0; padding-top: 8px; color: var(--ink-500); border-top: 1px solid #f1dda9; font-size: 8px; }
.role-ladder-layout { margin-top: 16px; display: grid; grid-template-columns: minmax(0,1fr) 290px; align-items: start; gap: 20px; }.role-rungs { position: relative; display: grid; gap: 10px; }.role-rungs::before { content: ""; position: absolute; z-index: 0; width: 2px; top: 34px; bottom: 34px; left: 25px; background: var(--ink-150); }.role-rung { position: relative; z-index: 1; min-height: 150px; padding: 15px 16px 15px 60px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.rung-index { position: absolute; width: 32px; height: 32px; left: 9px; top: 18px; display: grid; place-items: center; color: var(--ink-500); background: var(--white); border: 2px solid var(--ink-200); border-radius: 50%; font: 800 8px ui-monospace,monospace; }.role-rung.rung-building .rung-index { color: #97650b; border-color: var(--amber); background: #fff9eb; }.role-rung.rung-ready .rung-index { color: var(--green-dark); border-color: var(--green); background: #e4f8ef; }.rung-main > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }.rung-main header > div { display: flex; flex-direction: column; }.rung-main header span { color: var(--accent-ink); font-size: 7px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }.rung-main h3 { margin: 2px 0 0; font-size: 14px; }.rung-state { padding: 4px 6px; color: var(--ink-500); background: var(--ink-100); border-radius: 4px; white-space: nowrap; font-size: 7px; text-transform: uppercase; }.rung-building .rung-state { color: #97650b; background: #fff4d9; }.rung-ready .rung-state { color: var(--green-dark); background: #e4f8ef; }.rung-outcome { margin: 5px 0 7px; color: var(--ink-500); font-size: 8px; }.rung-skill-row { display: flex; flex-wrap: wrap; gap: 4px; }.rung-skill-row span { padding: 3px 5px; color: var(--ink-600); background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 3px; font-size: 6px; }
.rung-confidence { margin-top: 11px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 10px; color: var(--ink-400); font-size: 7px; }.rung-confidence strong { color: var(--ink-700); }.rung-confidence > div { position: relative; height: 5px; grid-column: 1 / -1; overflow: visible; background: var(--ink-100); border-radius: 999px; }.rung-confidence div i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }.rung-confidence div em { position: absolute; width: 2px; height: 9px; top: -2px; background: var(--ink-500); border-radius: 2px; }.rung-signals { margin-top: 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }.rung-signals > div { padding: 8px; display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 6px; background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 6px; }.rung-signals > div > i { width: 17px; height: 17px; display: grid; place-items: center; color: var(--ink-400); border: 1px solid var(--ink-200); border-radius: 50%; font-size: 8px; font-style: normal; }.rung-signals .signal-met > i { color: var(--green-dark); border-color: #a9e3c9; background: #e4f8ef; }.rung-signals p { margin: 0; display: flex; flex-direction: column; }.rung-signals strong { font-size: 7px; }.rung-signals p span { margin-top: 2px; color: var(--ink-400); font-size: 6px; line-height: 1.4; }
.career-context-card { position: sticky; top: 90px; padding: 20px; border: 1px solid var(--ink-150); border-top: 3px solid var(--accent); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.career-context-card h3 { margin: 6px 0 3px; font-size: 16px; }.career-context-card > p { margin: 0 0 15px; color: var(--ink-500); font-size: 8px; }.career-context-card form > label { display: flex; flex-direction: column; color: var(--ink-600); font-size: 8px; font-weight: 750; }.career-context-card select { width: 100%; min-height: 39px; margin-top: 5px; padding: 0 8px; color: var(--ink-700); background: var(--white); border: 1px solid var(--ink-200); border-radius: 6px; font-size: 8px; }.career-context-card fieldset { margin: 15px 0; padding: 0; border: 0; }.career-context-card legend { margin-bottom: 7px; color: var(--ink-600); font-size: 8px; font-weight: 750; }.career-context-card fieldset label { min-height: 39px; padding: 6px 7px; display: flex; align-items: center; gap: 8px; background: var(--ink-50); border: 1px solid var(--ink-100); border-bottom: 0; cursor: pointer; }.career-context-card fieldset label:first-of-type { border-radius: 6px 6px 0 0; }.career-context-card fieldset label:last-child { border-bottom: 1px solid var(--ink-100); border-radius: 0 0 6px 6px; }.career-context-card fieldset input { accent-color: var(--green); }.career-context-card fieldset label > span { display: flex; flex-direction: column; }.career-context-card fieldset strong { font-size: 8px; }.career-context-card fieldset small { color: var(--ink-400); font-size: 6px; }.career-context-card .button { width: 100%; min-height: 39px; font-size: 8px; }.context-disclosure { display: block; margin-top: 11px; color: var(--ink-400); font-size: 6px; line-height: 1.5; }
.background-confirm-note { margin: 9px 0 10px; color: var(--ink-500); font-size: 10px; line-height: 1.45; }.background-confirm-button { min-height: 44px !important; font-size: 11px !important; }.credential-disclosure { margin-top: 13px; overflow: hidden; border: 1px solid var(--ink-150); border-radius: 7px; background: var(--ink-50); }.credential-disclosure > summary { min-height: 52px; padding: 10px 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }.credential-disclosure > summary::-webkit-details-marker { display: none; }.credential-disclosure > summary span { min-width: 0; display: flex; flex-direction: column; }.credential-disclosure > summary strong { color: var(--ink-700); font-size: 11px; }.credential-disclosure > summary small { margin-top: 2px; color: var(--ink-500); font-size: 8px; }.credential-disclosure > summary b { flex: none; color: var(--green-dark); font-size: 9px; }.credential-disclosure[open] > summary { border-bottom: 1px solid var(--ink-150); background: var(--white); }.career-context-card .credential-disclosure fieldset { margin: 0; }.credential-disclosure > .button { width: calc(100% - 20px); margin: 0 10px 10px; }
.career-model-sources { margin-top: 12px; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius-sm); background: var(--white); }.career-model-sources summary { padding: 10px 13px; color: var(--ink-500); font-size: 8px; font-weight: 750; cursor: pointer; }.career-model-sources > div { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--ink-100); }.career-model-sources a { padding: 11px 13px; display: flex; flex-direction: column; border-right: 1px solid var(--ink-100); }.career-model-sources a:last-child { border: 0; }.career-model-sources a:hover { background: var(--ink-50); }.career-model-sources span { color: var(--accent-ink); font-size: 6px; text-transform: uppercase; letter-spacing: .06em; }.career-model-sources strong { margin-top: 2px; font-size: 9px; }.career-model-sources small { margin-top: 2px; color: var(--ink-400); font-size: 6px; }
.highway-section, .resource-section, .evidence-section { margin-top: 68px; }.highway-section .section-heading h2, .resource-section .section-heading h2, .evidence-section .section-heading h2 { margin: 7px 0 2px; font-size: 27px; letter-spacing: -.035em; }.highway-section .section-heading p, .resource-section .section-heading p, .evidence-section .section-heading p { margin: 0; color: var(--ink-500); font-size: 11px; }
.highway-graph { --accent: var(--violet); --accent-soft: #f0edff; --accent-ink: #6042dc; margin-top: 22px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: stretch; gap: 13px; }.highway-stage { min-width: 0; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.highway-stage > header { min-height: 75px; padding: 13px 15px; display: flex; align-items: center; gap: 10px; color: var(--white); background: var(--ink-900); }.highway-stage > header > span { width: 30px; height: 30px; flex: none; display: grid; place-items: center; color: var(--accent); border: 1px solid var(--ink-700); border-radius: 50%; font: 800 8px ui-monospace,monospace; }.highway-stage > header div { display: flex; flex-direction: column; }.highway-stage > header strong { font-size: 11px; }.highway-stage > header small { margin-top: 2px; color: var(--ink-400); font-size: 7px; line-height: 1.4; }.stage-node-list { padding: 10px; display: grid; gap: 8px; }.skill-node { position: relative; padding: 12px; border: 1px solid var(--ink-150); border-radius: var(--radius-sm); background: var(--ink-50); }.skill-node.target-met { border-color: #a9e3c9; background: #f1fbf7; }.skill-node-top { display: flex; align-items: center; gap: 7px; }.skill-node-top strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }.skill-node-top b { margin-left: auto; font-size: 9px; }.skill-meter { height: 5px; overflow: visible; }.skill-meter em { position: absolute; width: 2px; height: 9px; top: -2px; background: var(--ink-500); border-radius: 2px; }.skill-node-meta { margin-top: 7px; display: flex; justify-content: space-between; gap: 4px; color: var(--ink-400); font-size: 7px; }.refresh-label { display: block; margin-top: 6px; color: #97650b; font-size: 7px; font-weight: 800; }.highway-arrow { align-self: center; color: var(--accent); font-size: 20px; }
.self-report-key { align-self: end; color: var(--ink-500); font-size: 8px; }.self-report-key i { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; background: var(--amber); }.career-resource-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }.career-resource-card { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.career-resource-card.recommended { border-color: color-mix(in srgb, var(--accent) 40%, var(--ink-150)); }.career-resource-card > header { min-height: 74px; padding: 13px 15px; display: flex; align-items: center; gap: 11px; }.provider-mark { width: 38px; height: 38px; flex: none; display: grid; place-items: center; color: var(--accent-ink); background: var(--accent-soft); border-radius: 8px; font-size: 9px; font-weight: 850; }.career-resource-card header > div { min-width: 0; display: flex; flex-direction: column; }.career-resource-card header div > span { color: var(--ink-400); font-size: 7px; text-transform: uppercase; letter-spacing: .06em; }.career-resource-card h3 { margin: 2px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }.logged-badge, .recommended-badge { margin-left: auto; padding: 4px 6px; color: var(--green-dark); background: #e4f8ef; border-radius: 4px; white-space: nowrap; font-size: 7px; font-weight: 850; text-transform: uppercase; }.recommended-badge { color: var(--accent-ink); background: var(--accent-soft); }.resource-meta { padding: 8px 15px; display: flex; flex-wrap: wrap; gap: 12px; color: var(--ink-500); background: var(--ink-50); border-top: 1px solid var(--ink-100); border-bottom: 1px solid var(--ink-100); font-size: 7px; }.resource-skills { padding: 11px 15px; display: flex; flex-wrap: wrap; gap: 5px; }.resource-skills span { padding: 4px 6px; color: var(--ink-600); background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 4px; font-size: 7px; }.resource-actions { min-height: 43px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink-100); }.resource-actions > a, .resource-actions summary { min-height: 43px; padding: 0 15px; display: flex; align-items: center; color: var(--accent-ink); font-size: 8px; font-weight: 800; cursor: pointer; }.resource-actions > a { border-right: 1px solid var(--ink-100); }.resource-actions details { position: relative; }.resource-actions summary { list-style: none; }.resource-actions summary::-webkit-details-marker { display: none; }.resource-actions details[open] summary { background: var(--accent-soft); }.resource-actions form { position: absolute; z-index: 10; width: 370px; right: 0; top: 43px; padding: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; background: var(--white); border: 1px solid var(--ink-150); border-radius: var(--radius-sm); box-shadow: var(--shadow); }.resource-actions label { color: var(--ink-500); font-size: 7px; font-weight: 750; }.resource-actions input { width: 100%; min-height: 34px; margin-top: 4px; padding: 0 8px; color: var(--ink-700); border: 1px solid var(--ink-200); border-radius: 5px; font-size: 9px; }.resource-actions .full-field { grid-column: 1 / -1; }.resource-actions form p { margin: 0; color: var(--ink-400); font-size: 7px; }.resource-actions .button { width: 100%; min-height: 35px; font-size: 8px; }
.career-timeline { margin-top: 21px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.career-timeline article { position: relative; min-height: 76px; padding: 13px 15px 13px 44px; display: flex; align-items: center; gap: 15px; border-bottom: 1px solid var(--ink-100); }.career-timeline article:last-child { border: 0; }.career-timeline article:not(:last-child)::before { content: ""; position: absolute; left: 22px; top: 43px; bottom: -34px; width: 1px; background: var(--ink-150); }.timeline-dot { position: absolute; z-index: 1; width: 11px; height: 11px; left: 17px; top: 31px; border: 3px solid var(--white); border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 1px var(--ink-200); }.timeline-dot.verified { background: var(--green); }.timeline-main { min-width: 0; display: flex; flex: 1; flex-direction: column; }.timeline-main > span { color: var(--ink-400); font-size: 7px; text-transform: uppercase; letter-spacing: .05em; }.timeline-main > strong { margin-top: 2px; font-size: 10px; }.timeline-main div { margin-top: 4px; display: flex; flex-wrap: wrap; gap: 4px; }.timeline-main i { padding: 2px 5px; color: var(--ink-500); background: var(--ink-50); border-radius: 3px; font-size: 6px; font-style: normal; }.timeline-main p { margin: 5px 0 0; color: var(--ink-500); font-size: 8px; }.timeline-score { flex: none; display: flex; flex-direction: column; align-items: flex-end; }.timeline-score strong { font-size: 14px; }.timeline-score span { color: var(--ink-400); font-size: 6px; text-transform: uppercase; letter-spacing: .05em; }.career-empty-evidence { min-height: 190px; margin-top: 21px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--ink-500); background: var(--white); border: 1px dashed var(--ink-200); border-radius: var(--radius); text-align: center; }.career-empty-evidence > span { color: var(--ink-300); font-size: 29px; }.career-empty-evidence strong { color: var(--ink-700); font-size: 11px; }.career-empty-evidence p { margin: 3px 0 0; font-size: 8px; }
.decay-disclosure { margin-top: 30px; padding: 16px 18px; display: grid; grid-template-columns: 190px 1fr; gap: 18px; color: var(--ink-300); background: var(--ink-900); border-radius: var(--radius-sm); }.decay-disclosure strong { color: var(--white); font-size: 10px; }.decay-disclosure p { margin: 0; font-size: 8px; }.decay-disclosure code { color: var(--green); font: 8px ui-monospace,monospace; }

/* Career legibility and wide-screen utilization */
.career-metric-cluster span { font-size: 11px; }
.confidence-explainer { min-height: 98px; padding: 20px 24px; gap: 18px; }
.confidence-icon { width: 42px; height: 42px; font-size: 20px; }
.confidence-explainer strong { font-size: 15px; }
.confidence-explainer p { margin-top: 3px; font-size: 13px; }
.confidence-explainer a { font-size: 12px; }
.navigation-manifesto { padding: 36px; grid-template-columns: minmax(320px,.7fr) 1.5fr; }
.navigation-manifesto h2 { font-size: 32px; }
.manifesto-points { gap: 17px; }
.manifesto-points article > span { width: 34px; height: 34px; font-size: 10px; }
.manifesto-points strong { font-size: 14px; }
.manifesto-points p { margin-top: 3px; font-size: 12px; }
.career-heading h2 { font-size: 36px; }
.career-heading p { font-size: 14px; }
.career-path-grid { gap: 24px; }
.career-path-card > header { padding: 30px 30px 24px; }
.career-path-card h2 { font-size: 31px; }
.path-role { font-size: 11px; }
.career-path-card > header p { max-width: 560px; font-size: 14px; }
.mini-highway { margin-inline: 30px; padding-block: 21px; }
.mini-highway strong { font-size: 12px; }
.mini-highway span { font-size: 10px; }
.path-readiness { padding: 21px 30px; }
.readiness-label { font-size: 12px; }
.path-readiness small { font-size: 10px; }
.path-open { min-height: 58px; padding-inline: 30px; font-size: 14px; }
.career-catalog-current, .career-catalog-warning { font-size: 11px; }

.career-crumbs { font-size: 12px; }
.career-dashboard-title p { max-width: 790px; font-size: 15px; }
.active-path-pill { padding: 9px 13px; font-size: 10px; }
.career-score-strip > div { min-height: 100px; padding: 18px 24px; }
.career-score-strip strong { font-size: 28px; }
.career-score-strip .career-score-main strong { font-size: 37px; }
.career-score-strip span { font-size: 10px; }
.career-top-grid { grid-template-columns: minmax(390px,.75fr) 1.35fr; gap: 24px; }
.next-action-card, .confidence-chart-card { min-height: 350px; padding: 28px; }
.next-skill-row { margin-block: 16px 22px; padding: 13px 14px; }
.next-skill-row strong { font-size: 13px; }
.next-skill-row small { font-size: 11px; }
.action-kind { font-size: 10px; }
.next-action-card h2 { font-size: 24px; }
.next-action-card > p { font-size: 13px; }
.next-action-card .button { min-height: 44px; font-size: 12px; }
.confidence-chart-card h2 { font-size: 23px; }
.confidence-chart-card header > strong { font-size: 30px; }
.chart-axis { font-size: 9px; }
.confidence-chart-card > p { font-size: 11px; }

.role-ladder-section .section-heading h2,
.highway-section .section-heading h2,
.resource-section .section-heading h2,
.evidence-section .section-heading h2 { font-size: 32px; }
.role-ladder-section .section-heading p,
.highway-section .section-heading p,
.resource-section .section-heading p,
.evidence-section .section-heading p { font-size: 14px; }
.context-label, .self-report-key { font-size: 11px; }
.role-reality-banner { padding: 20px 22px; }
.role-reality-banner strong { font-size: 11px; }
.role-reality-banner span { font-size: 14px; }
.role-reality-banner p { font-size: 12px; }
.role-ladder-layout { grid-template-columns: minmax(0,1fr) 350px; gap: 24px; }
.role-rungs { gap: 13px; }
.role-rungs::before { left: 29px; }
.role-rung { min-height: 190px; padding: 20px 20px 20px 72px; }
.rung-index { width: 39px; height: 39px; left: 10px; top: 21px; font-size: 10px; }
.rung-main header span { font-size: 10px; }
.rung-main h3 { font-size: 19px; }
.rung-state { padding: 5px 8px; font-size: 9px; }
.rung-outcome { margin-block: 7px 10px; font-size: 13px; }
.rung-skill-row { gap: 6px; }
.rung-skill-row span { padding: 5px 7px; font-size: 10px; }
.rung-confidence { margin-top: 14px; font-size: 11px; }
.rung-signals { margin-top: 15px; gap: 10px; }
.rung-signals > div { min-height: 74px; padding: 11px; gap: 8px; }
.rung-signals > div > i { width: 22px; height: 22px; font-size: 10px; }
.rung-signals strong { font-size: 11px; }
.rung-signals p span { font-size: 11px; }
.credential-age { display: block; margin-top: 2px; color: var(--ink-600); font-size: 10px; font-weight: 700; }.credential-age + .credential-age { margin-top: 5px; }.credential-age.freshness-recent { color: var(--green-dark); }.credential-age.freshness-aging { color: #97650b; }.credential-age.freshness-reassess { color: #a7333c; }
.credential-age.experience-substitute { color: var(--green-dark); }
.career-context-card { padding: 25px; }
.career-context-card h3 { font-size: 21px; }
.career-context-card > p { font-size: 12px; }
.career-context-card form > label,
.career-context-card legend { font-size: 12px; }
.career-context-card select { min-height: 44px; font-size: 12px; }
.career-context-card fieldset label { min-height: 49px; padding: 8px 10px; }
.career-context-card fieldset strong { font-size: 12px; }
.career-context-card fieldset small { font-size: 10px; }
.career-context-card .button { min-height: 44px; font-size: 12px; }
.context-disclosure { font-size: 11px; }
.career-context-card fieldset .credential-context-row { position: relative; min-height: 70px; padding: 9px 10px; display: grid; grid-template-columns: minmax(0,1fr) 145px; align-items: center; gap: 5px 10px; background: var(--ink-50); border: 1px solid var(--ink-100); border-bottom: 0; }.career-context-card fieldset .credential-context-row:first-of-type { border-radius: 6px 6px 0 0; }.career-context-card fieldset .credential-context-row:last-child { border-bottom: 1px solid var(--ink-100); border-radius: 0 0 6px 6px; }.career-context-card fieldset .credential-context-row label { min-height: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }.credential-check { display: flex !important; flex-direction: row !important; align-items: center; gap: 8px; cursor: pointer; }.credential-earned { display: flex !important; flex-direction: column; color: var(--ink-500); font-size: 10px !important; font-weight: 750; }.credential-date-control { position: relative; margin-top: 3px; display: grid; grid-template-columns: 1fr 34px; }.credential-earned .credential-date-control > input[type="text"] { width: 100%; min-width: 0; min-height: 34px; margin: 0; padding: 0 7px; color: var(--ink-700); background: var(--white); border: 1px solid var(--ink-200); border-right: 0; border-radius: 5px 0 0 5px; font-size: 11px; }.credential-date-control > button { width: 34px; min-height: 34px; padding: 0; display: grid; place-items: center; color: var(--ink-500); background: var(--white); border: 1px solid var(--ink-200); border-radius: 0 5px 5px 0; cursor: pointer; }.credential-date-control > button:hover:not(:disabled) { color: var(--accent-ink); background: var(--accent-soft); }.credential-date-control > button:disabled, .credential-earned input:disabled { opacity: .45; cursor: default; }.credential-date-control svg { width: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.credential-earned input::placeholder { color: var(--ink-400); }.native-credential-picker { position: absolute; width: 1px !important; height: 1px; right: 16px; bottom: 0; opacity: 0; pointer-events: none; }.credential-freshness { grid-column: 1 / -1; padding-left: 25px; color: var(--ink-500); font-size: 9px; }.credential-freshness.freshness-recent { color: var(--green-dark); }.credential-freshness.freshness-aging { color: #97650b; }.credential-freshness.freshness-reassess { color: #a7333c; }
.career-model-sources summary { padding: 13px 16px; font-size: 12px; }
.career-model-sources a { padding: 15px 16px; }
.career-model-sources span { font-size: 10px; }
.career-model-sources strong { font-size: 13px; }
.career-model-sources small { font-size: 11px; }

.highway-graph { gap: 18px; }
.highway-stage > header { min-height: 90px; padding: 16px 18px; }
.highway-stage > header > span { width: 36px; height: 36px; font-size: 10px; }
.highway-stage > header strong { font-size: 14px; }
.highway-stage > header small { font-size: 10px; }
.stage-node-list { padding: 13px; gap: 11px; }
.skill-node { padding: 15px; }
.skill-node-top strong, .skill-node-top b { font-size: 12px; }
.skill-node-meta { margin-top: 9px; font-size: 10px; }
.refresh-label { font-size: 10px; }
.experience-bridge-label { display: block; margin-top: 8px; padding: 6px 7px; color: var(--green-dark); background: #e4f8ef; border-radius: 4px; font-size: 10px; line-height: 1.35; }
.career-resource-grid { gap: 20px; }
.career-resource-card > header { min-height: 92px; padding: 17px 19px; }
.provider-mark { width: 44px; height: 44px; font-size: 11px; }
.career-resource-card header div > span { font-size: 10px; }
.career-resource-card h3 { font-size: 14px; }
.logged-badge, .recommended-badge { font-size: 9px; }
.optional-badge { margin-left: auto; padding: 4px 6px; color: var(--ink-500); background: var(--ink-100); border-radius: 4px; white-space: nowrap; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.resource-meta { padding: 11px 19px; gap: 16px; font-size: 10px; }
.resource-skills { padding: 14px 19px; gap: 7px; }
.resource-skills span { padding: 5px 8px; font-size: 10px; }
.resource-actions, .resource-actions > a, .resource-actions summary { min-height: 52px; }
.resource-actions > a, .resource-actions summary { padding-inline: 19px; font-size: 12px; }
.resource-actions form { top: 52px; width: 430px; padding: 18px; }
.resource-actions label { font-size: 11px; }
.resource-actions input { min-height: 40px; font-size: 12px; }
.resource-actions form p { font-size: 10px; }
.resource-actions .button { min-height: 41px; font-size: 11px; }
.career-timeline article { min-height: 94px; padding: 17px 19px 17px 52px; }
.timeline-dot { left: 21px; top: 39px; }
.career-timeline article:not(:last-child)::before { left: 26px; top: 51px; }
.timeline-main > span { font-size: 10px; }
.timeline-main > strong { font-size: 14px; }
.timeline-main i { font-size: 9px; }
.timeline-main p { font-size: 11px; }
.timeline-score strong { font-size: 18px; }
.timeline-score span { font-size: 9px; }
.career-empty-evidence strong { font-size: 14px; }
.career-empty-evidence p { font-size: 11px; }
.decay-disclosure { padding: 20px 22px; grid-template-columns: 230px 1fr; }
.decay-disclosure strong { font-size: 13px; }
.decay-disclosure p, .decay-disclosure code { font-size: 11px; }

@media (min-width: 1600px) {
    .career-resource-grid { grid-template-columns: repeat(3, 1fr); }
    .role-ladder-layout { grid-template-columns: minmax(0, 1fr) 390px; gap: 28px; }
}

.not-found { min-height: calc(100vh - 140px); padding: 80px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.error-code { color: var(--green); font: 800 70px/1 ui-monospace, monospace; }.not-found h1 { margin: 17px 0 5px; font-size: 30px; }.not-found p { margin: 0 0 23px; color: var(--ink-500); }

@media (max-width: 980px) {
    .hero { padding: 65px 0 70px; }.hero-grid { grid-template-columns: 1fr 1fr; gap: 38px; }.hero-copy h1 { font-size: 47px; }.hero-copy > p { font-size: 15px; }
    .terminal-body { padding-left: 53px; font-size: 10px; }
    .cert-grid, .track-grid { grid-template-columns: repeat(2, 1fr); }
    .pbq-grid { grid-template-columns: repeat(2, 1fr); }
    .lab-header { grid-template-columns: 1fr; gap: 22px; }.lab-meta-panel { width: fit-content; }
    .progress-columns { grid-template-columns: 1fr 1fr; }
    .standards-columns { grid-template-columns: 1fr 1fr; }.update-workflow ol { grid-template-columns: repeat(2, 1fr); }
    .career-landing-title { grid-template-columns: 1fr; }.career-metric-cluster { min-width: 0; width: 100%; }.highway-graph { grid-template-columns: 1fr; }.highway-arrow { justify-self: center; transform: rotate(90deg); }.career-resource-grid { grid-template-columns: 1fr 1fr; }.role-ladder-layout { grid-template-columns: 1fr; }.career-context-card { position: static; }
}

@media (max-width: 840px) {
    .nav-shell { gap: 6px; }
    .brand-logo { width: 34px; height: 34px; margin-right: 0; }
    .brand-wordmark { display: none; }
    .main-nav { min-width: 0; flex: 1; margin-left: 0; gap: 0; }
    .main-nav a { min-width: 0; flex: 1; padding: 0; }
    .main-nav a::after { left: 7px; right: 7px; }
    .main-nav .nav-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .status-pill-label { display: none; }
    .status-pill { width: 38px; min-height: 38px; flex: none; margin-left: 0; padding: 0; }
}

@media (max-width: 720px) {
    .page-shell, .nav-shell { width: min(calc(100% - 28px), var(--page)); }
    .site-header { height: 62px; }
    .hero { padding: 50px 0 56px; }.hero-grid { grid-template-columns: 1fr; gap: 45px; }.hero-copy h1 { font-size: clamp(40px, 13vw, 55px); }.hero-copy > p { font-size: 15px; }.hero-terminal { transform: none; }.terminal-body { min-height: 220px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); padding: 14px 0; }.stat-item { min-height: 63px; padding: 9px 0 9px 20px; }.stat-item:nth-child(odd) { border-left: 0; padding-left: 0; }.stat-item:nth-child(n+3) { border-top: 1px solid var(--ink-150); }.stat-item strong { font-size: 22px; }
    .page-section { padding: 55px 0 70px; }.split-heading { align-items: flex-start; }.text-link { display: none; }
    .governance-banner { margin-bottom: 38px; grid-template-columns: auto 1fr; }.governance-action { display: none; }
    .cert-grid, .pbq-grid, .track-grid { grid-template-columns: 1fr; }.cert-card { min-height: 102px; }
    .library-heading { margin-top: 58px; align-items: flex-start; flex-direction: column; }.filter-row { justify-content: flex-start; }
    .pbq-card { min-height: 315px; }
    .footer-inner { padding: 17px 0; flex-direction: column; align-items: flex-start; gap: 4px; }

    .lab-page { padding-top: 19px; }.breadcrumbs { margin-bottom: 23px; }.lab-header h1 { font-size: 35px; }.lab-meta-panel { width: 100%; }.lab-meta-panel div { min-width: 0; }
    .scenario-banner { margin: 27px 0 42px; }.evidence-grid { grid-template-columns: 1fr; }
    .content-assurance { margin-top: -25px; }.assurance-summary { grid-template-columns: auto 1fr; }.assurance-summary > a { grid-column: 2; }.objective-chip { align-items: flex-start; }
    .task-header { padding: 16px 13px; grid-template-columns: 30px 1fr auto; gap: 9px; }.task-header h3 { font-size: 12px; }
    .attempt-history-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }.attempt-history-list a { grid-template-columns: 76px 50px 1fr; }.attempt-history-list a b { display: none; }
    .pbq-attempt-results dl { padding-left: 18px; grid-template-columns: 1fr; }.attempt-explanation, .answer-rationale-list, .rationale-detail-list { padding-left: 18px; }
    .choice-list, .matching-list { padding: 13px; }.choice-list { grid-template-columns: 1fr; }
    .matching-row { grid-template-columns: 1fr; gap: 7px; }.match-arrow { display: none; }
    .interaction-hint { margin-left: 14px; }.ordering-list { margin: 9px 13px 17px; }.ordering-list li { grid-template-columns: 18px 26px 1fr auto; }.task-hints { margin: 12px 13px 16px; }
    .command-entry { margin: 15px 13px 0; }.switch-simulator, .directory-simulator { margin: 15px 13px; }.switch-terminal-screen { height: 330px; padding: 14px; font-size: 10px; }.switch-simulator-footer { align-items: flex-start; flex-direction: column; }.switch-simulator-footer > span { max-width: none; }.simulator-checks { grid-template-columns: 1fr; }.task-feedback { padding: 14px 14px 16px 16px; }
    .directory-statusbar { grid-template-columns: 1fr; gap: 2px; }.directory-statusbar span:last-child { justify-self: start; text-align: left; }.owner-review-gate { align-items: flex-start; }
    .submit-bar { align-items: stretch; flex-direction: column; }.submit-bar .button { width: 100%; }
    .result-panel { grid-template-columns: auto 1fr; }.result-actions { grid-column: 1 / -1; }.result-actions .button { flex: 1; padding-inline: 10px; }

    .progress-hero { padding: 42px 0 34px; }.progress-title-row { align-items: flex-start; flex-direction: column; }.progress-title-row h1 { font-size: 35px; }.progress-stat-grid { grid-template-columns: repeat(2, 1fr); }.progress-stat-grid > div { min-height: 95px; }.progress-stat-grid > div:nth-child(2) { border-right: 0; }.progress-stat-grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
    .progress-columns { margin-top: 50px; grid-template-columns: 1fr; }.progress-columns aside { margin-top: 15px; }
    .standards-hero { padding: 43px 0 35px; }.standards-title { align-items: flex-start; flex-direction: column; gap: 18px; }.standards-title h1 { font-size: 37px; }.catalog-health { margin: 0; }.standards-metrics { grid-template-columns: repeat(2, 1fr); }.standards-metrics div:nth-child(2) { border-right: 0; }.standards-metrics div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
    .assurance-note { grid-template-columns: 1fr; gap: 6px; }.product-preview-assurance .text-link { grid-column: 1; min-height: 44px; display: inline-flex; align-items: center; }.profile-grid, .standards-columns { grid-template-columns: minmax(0, 1fr); }.standards-columns > * { min-width: 0; }.standards-columns aside { margin-top: 15px; }.ledger-top { display: grid; grid-template-columns: 31px minmax(0, 1fr); align-items: start; }.review-status { grid-column: 2; margin-left: 0; justify-self: start; white-space: normal; }.update-workflow ol { grid-template-columns: 1fr; }
    .career-landing-hero { padding: 50px 0 40px; }.career-landing-title h1 { font-size: 44px; }.confidence-explainer { grid-template-columns: auto 1fr; }.confidence-explainer > a { grid-column: 2; }.navigation-manifesto { grid-template-columns: 1fr; gap: 24px; }.career-path-grid { grid-template-columns: 1fr; }
    .career-dashboard-title { align-items: flex-start; flex-direction: column; gap: 22px; }.career-score-strip { grid-template-columns: repeat(2,1fr); }.career-score-strip > div:nth-child(2) { border-right: 0; }.career-score-strip > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }.career-top-grid { grid-template-columns: 1fr; }.role-ladder-section .split-heading { align-items: flex-start; flex-direction: column; }.role-reality-banner { grid-template-columns: 1fr; }.role-reality-banner p { grid-column: 1; }.rung-signals { grid-template-columns: 1fr; }.career-resource-grid { grid-template-columns: 1fr; }.resource-section .split-heading { align-items: flex-start; flex-direction: column; }.resource-actions form { width: min(370px, calc(100vw - 45px)); }.decay-disclosure { grid-template-columns: 1fr; gap: 5px; }
    .career-model-sources > div { grid-template-columns: 1fr; }.career-model-sources a { border-right: 0; border-bottom: 1px solid var(--ink-100); }
}

@media (max-width: 840px), (hover: none) and (pointer: coarse) {
    .matching-row select { min-height: 44px; }
    .ordering-list li { min-height: 60px; }
    .order-buttons { gap: 6px; }
    .order-buttons button { width: 44px; height: 44px; }
    .switch-simulator-footer button { min-width: 44px; min-height: 44px; padding-inline: 12px; }
    .directory-workspace { height: 500px; grid-template-columns: 220px minmax(420px,1fr); overflow-x: auto; }
    .directory-actions-pane { display: none; }
    .directory-simulator button { min-height: 44px; }
    .directory-menubar button, .directory-tree-toggle, .directory-dialog-close { min-width: 44px; }
    .directory-tree-row { min-height: 44px; grid-template-columns: 44px minmax(0,1fr); }
    .directory-tree-toggle { width: 44px; height: 44px; }
    .directory-tree-select { height: 44px; }
    .directory-object-row { min-height: 44px; }
    .directory-toolbar button { min-width: 67px; }
    .directory-form input:not([type=checkbox]), .directory-form select, .directory-dialog-body section input:not([type=checkbox]), .directory-dialog-body section select { min-height: 44px; }
    .directory-check { min-height: 44px; }
}

/* Public legal pages */
.legal-hero { padding: 66px 0 58px; color: var(--white); background: radial-gradient(circle at 82% 5%,rgba(25,195,125,.14),transparent 34%),var(--ink-950); }
.legal-shell { width: min(100%,980px); }
.legal-hero h1 { margin: 15px 0 10px; font-size: clamp(46px,6vw,72px); line-height: 1; letter-spacing: -.055em; }
.legal-hero > div > p { max-width: 760px; margin: 0; color: var(--ink-300); font-size: 18px; line-height: 1.65; }
.legal-meta { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.legal-meta span, .legal-meta a { padding: 7px 10px; color: var(--ink-300); border: 1px solid var(--ink-700); border-radius: 6px; font-size: 13px; }
.legal-meta a { color: var(--green); text-decoration: none; }.legal-meta a.active { color: var(--ink-950); background: var(--green); border-color: var(--green); }
.legal-page { padding-top: 46px; }
.legal-summary { padding: 26px 28px; color: var(--ink-200); background: var(--ink-900); border: 1px solid var(--ink-700); border-radius: var(--radius-lg); }
.legal-summary > strong { color: var(--green); font-size: 13px; text-transform: uppercase; letter-spacing: .07em; }
.legal-summary p { margin: 9px 0 15px; color: var(--white); font-size: 18px; line-height: 1.65; }
.legal-summary ul { margin: 0; padding-left: 21px; display: grid; gap: 8px; color: var(--ink-300); font-size: 15px; line-height: 1.55; }
.legal-contents { margin: 22px 0 44px; display: flex; flex-wrap: wrap; gap: 7px; }
.legal-contents a { padding: 7px 10px; color: var(--ink-600); background: var(--white); border: 1px solid var(--ink-150); border-radius: 6px; font-size: 13px; text-decoration: none; }.legal-contents a:hover { color: var(--green-dark); border-color: #8bd9ba; }
.legal-sections { display: grid; gap: 16px; }
.legal-section { padding: 30px 32px; scroll-margin-top: 100px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.legal-section h2 { margin: 0 0 15px; color: var(--ink-900); font-size: 25px; letter-spacing: -.025em; }
.legal-section p, .legal-section li { color: var(--ink-600); font-size: 16px; line-height: 1.75; }
.legal-section p { margin: 0 0 13px; }.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul { margin: 4px 0 0; padding-left: 23px; display: grid; gap: 10px; }
.legal-section a { color: var(--green-dark); font-weight: 700; }
.legal-links { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }.legal-links a { padding: 8px 11px; background: #e9f8f1; border-radius: 6px; font-size: 13px; text-decoration: none; }
.legal-contact { margin-top: 18px; padding: 17px 19px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: var(--ink-50); border: 1px solid var(--ink-150); border-radius: 8px; }.legal-contact span { color: var(--ink-500); font-size: 13px; font-weight: 800; text-transform: uppercase; }.legal-contact a { font-size: 16px; overflow-wrap: anywhere; }
.oauth-legal-notice { max-width: 650px; margin: 15px 0 0; color: var(--ink-500); font-size: 13px; line-height: 1.55; }.oauth-legal-notice a { color: var(--green-dark); font-weight: 750; }
@media (max-width: 720px) {
    .legal-hero { padding: 44px 0 40px; }.legal-hero h1 { font-size: 43px; }.legal-hero > div > p { font-size: 16px; }
    .legal-page { padding-top: 28px; }.legal-summary, .legal-section { padding: 22px 19px; }.legal-summary p { font-size: 16px; }.legal-section h2 { font-size: 22px; }.legal-section p, .legal-section li { font-size: 15px; }
    .legal-contents { margin-bottom: 28px; flex-wrap: nowrap; overflow-x: auto; }.legal-contents a { flex: none; }.legal-contact { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* Human-review labels and community correction workflow */
.review-trust-badge { width: fit-content; padding: 4px 8px; display: inline-flex; align-items: center; color: #875a08; background: #fff5d9; border: 1px solid #ebcf84; border-radius: 999px; font-size: 10px; font-weight: 850; line-height: 1.2; letter-spacing: .02em; text-transform: none; }
.review-trust-badge.human-reviewed { color: var(--green-dark); background: #e4f8ef; border-color: #9dd8c0; }
.review-trust-badge.user-supplied { color: var(--ink-600); background: var(--ink-100); border-color: var(--ink-200); }
.pbq-card-body .review-trust-badge { margin-top: 8px; }
.catalog-focus-section { padding: 52px 0; background: var(--ink-50); border-bottom: 1px solid var(--ink-150); }.catalog-focus-section .section-heading { margin-bottom: 20px; }.catalog-count-badge { padding: 7px 10px; color: var(--green-dark); background: #e4f8ef; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; }.practice-spotlight-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.practice-spotlight-card { min-width: 0; overflow: hidden; border: 1px solid var(--ink-150); border-top: 3px solid var(--accent); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.practice-spotlight-card > header { min-height: 43px; padding: 8px 14px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--ink-100); }.practice-spotlight-card > header > span:first-child { color: var(--accent-ink); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.practice-spotlight-card > div { min-height: 160px; padding: 16px; display: flex; flex-direction: column; }.practice-spotlight-card > div > small { color: var(--ink-500); font-size: 10px; }.practice-spotlight-card h3 { margin: 6px 0 4px; font-size: 17px; line-height: 1.25; }.practice-spotlight-card p { margin: 0; color: var(--ink-500); font-size: 12px; line-height: 1.5; }.practice-spotlight-card > div > span { margin-top: auto; padding-top: 12px; color: var(--ink-500); font-size: 10px; font-weight: 750; }.practice-spotlight-card > a { min-height: 47px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; color: var(--accent-ink); background: var(--accent-soft); border-top: 1px solid var(--ink-100); font-size: 12px; font-weight: 800; }
.catalog-preview-notice { margin-bottom: 8px; padding: 18px 20px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; color: #6f4c0b; background: #fff9e8; border: 1px solid #ead18d; border-left: 4px solid var(--amber); border-radius: var(--radius); }.catalog-preview-notice > span { padding: 6px 8px; color: #fff; background: #93630a; border-radius: 5px; font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.catalog-preview-notice > div { display: flex; flex-direction: column; }.catalog-preview-notice strong { font-size: 14px; }.catalog-preview-notice p { margin: 2px 0 0; font-size: 11px; line-height: 1.5; }.catalog-preview-notice > a { color: #76500a; font-size: 11px; font-weight: 850; white-space: nowrap; }.catalog-preview-notice + .library-heading { margin-top: 48px; }
.practice-search-controls { margin-bottom: 18px; padding: 14px; display: grid; grid-template-columns: minmax(240px,1.4fr) minmax(150px,.55fr) minmax(190px,.7fr) auto; align-items: end; gap: 10px; background: var(--ink-100); border-radius: var(--radius-sm); }.practice-search-controls label { min-width: 0; display: flex; flex-direction: column; gap: 5px; color: var(--ink-600); font-size: 10px; font-weight: 800; }.practice-search-controls input, .practice-search-controls select { width: 100%; min-width: 0; min-height: 42px; padding: 0 11px; color: var(--ink-800); background: var(--white); border: 1px solid var(--ink-200); border-radius: 6px; font-size: 12px; }.practice-search-controls input:focus, .practice-search-controls select:focus { outline: 3px solid var(--focus-light); border-color: var(--green); }.practice-search-controls > span { padding: 0 4px 10px; color: var(--ink-500); font-size: 10px; font-weight: 750; white-space: nowrap; }.catalog-reveal-row { margin-top: 22px; display: flex; justify-content: center; }.catalog-reveal-row .button { min-width: 210px; }
.study-priority-section { margin-bottom: 42px; }.study-priority-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.study-priority-grid.is-single { grid-template-columns: minmax(0,1fr); }.study-priority-grid article { min-width: 0; padding: 16px; display: grid; grid-template-columns: 1fr auto; gap: 11px 18px; border: 1px solid var(--ink-150); border-top: 3px solid var(--accent); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.study-priority-grid article > span { grid-column: 1 / -1; color: var(--accent-ink); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.study-priority-grid article > div { min-width: 0; display: flex; flex-direction: column; }.study-priority-grid small { color: var(--ink-500); font-size: 10px; }.study-priority-grid strong { margin-top: 4px; font-size: 13px; }.study-priority-grid p { margin: 3px 0 0; color: #875a08; font-size: 10px; }.study-priority-grid a, .study-priority-grid form { align-self: end; }.study-priority-grid a:not(.button) { color: var(--green-dark); font-size: 11px; font-weight: 850; white-space: nowrap; }.study-preview-notice { margin-bottom: 48px; }.study-track-card.is-preview { border-color: #e5c56c; border-top-color: var(--amber); }.study-track-card.is-preview header > b { color: #7b540c; background: #fff5d9; }
.study-catalog-disclosure { margin-bottom: 58px; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }.study-catalog-disclosure > summary { min-height: 82px; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: var(--ink-700); cursor: pointer; list-style: none; }.study-catalog-disclosure > summary::-webkit-details-marker { display: none; }.study-catalog-disclosure > summary > span { min-width: 0; display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; }.study-catalog-disclosure > summary small { grid-column: 1 / -1; color: var(--green-dark); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.study-catalog-disclosure > summary strong { font-size: 17px; }.study-catalog-disclosure > summary b { align-self: center; color: var(--ink-500); font-size: 11px; }.study-catalog-disclosure > summary em { flex: none; color: var(--green-dark); font-size: 11px; font-style: normal; font-weight: 850; }.study-catalog-disclosure > summary em::after { content: " ↓"; }.study-catalog-disclosure[open] > summary { border-bottom: 1px solid var(--ink-100); background: var(--ink-50); }.study-catalog-disclosure[open] > summary em::after { content: " ↑"; }.study-catalog-body { padding: 24px 20px 20px; }.study-catalog-body .study-preview-notice { margin-bottom: 38px; }.study-mode-actions.is-reference-only { grid-template-columns: minmax(0,1fr); }.study-mode-actions.is-reference-only > a { min-height: 72px; justify-content: center; }
.assurance-mark.pending-human-review { color: #875a08; background: #fff5d9; }
.review-status.pending { color: #875a08; background: #fff5d9; }
.study-track-card header > b { display: flex; align-items: flex-end; flex-direction: column; gap: 2px; }
.study-track-card header > b small { color: #875a08; font-size: 9px; font-weight: 750; white-space: nowrap; }
.mock-scope-note a { color: var(--green-dark); font-weight: 800; }
.community-library-link { margin-top: 20px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border: 1px solid var(--ink-150); border-left: 3px solid var(--green); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.community-library-link > div { display: flex; flex-direction: column; }
.community-library-link strong { margin-top: 5px; font-size: 17px; }
.community-library-link p { margin: 3px 0 0; color: var(--ink-500); font-size: 13px; }
.community-review-section { margin: 76px 0 90px; padding-top: 62px; border-top: 1px solid var(--ink-150); scroll-margin-top: 95px; }
.community-review-section > .evidence-success, .community-review-section > .vault-error { margin-bottom: 18px; }
.correction-list { display: grid; gap: 13px; }
.correction-card { overflow: hidden; border: 1px solid var(--ink-150); border-left: 3px solid var(--amber); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.correction-card.status-accepted { border-left-color: var(--green); }
.correction-card.status-declined { border-left-color: var(--ink-300); opacity: .82; }
.correction-card > header { padding: 15px 17px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--ink-100); }
.correction-card > header > div { min-width: 0; display: flex; flex-direction: column; }
.correction-card > header span { color: var(--green-dark); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.correction-card > header strong { margin-top: 3px; font-size: 14px; }
.correction-card > header small { color: var(--ink-400); font-size: 11px; }
.correction-card > header > b { padding: 5px 8px; color: #875a08; background: #fff5d9; border-radius: 5px; font-size: 10px; white-space: nowrap; }
.correction-card.status-accepted > header > b { color: var(--green-dark); background: #e4f8ef; }
.correction-card.status-declined > header > b { color: var(--ink-600); background: var(--ink-100); }
.correction-source, .correction-rationale, .moderator-note { margin: 0; padding: 12px 17px; display: flex; flex-direction: column; color: var(--ink-600); border-bottom: 1px solid var(--ink-100); font-size: 13px; white-space: pre-line; }
.correction-source strong, .correction-rationale strong, .moderator-note strong { margin-bottom: 4px; color: var(--ink-800); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.correction-proposal { padding: 16px 17px; }
.correction-proposal > span { color: var(--green-dark); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.correction-proposal p { margin: 6px 0 0; color: var(--ink-800); font-size: 14px; line-height: 1.55; white-space: pre-line; }
.moderator-note { color: var(--green-dark); background: #f0faf6; }
.correction-card > footer { min-height: 56px; padding: 10px 17px; display: flex; align-items: center; gap: 8px; background: var(--ink-50); border-top: 1px solid var(--ink-100); }
.vote-summary { min-width: 82px; margin-right: 4px; display: flex; align-items: baseline; gap: 5px; }
.vote-summary strong { font-size: 17px; }
.vote-summary span { color: var(--ink-500); font-size: 10px; }
.correction-card footer form { display: flex; }
.vote-button { min-height: 34px; padding: 0 10px; color: var(--ink-600); background: var(--white); border: 1px solid var(--ink-200); border-radius: 5px; font-size: 11px; font-weight: 750; cursor: pointer; }
.vote-button:hover, .vote-button.selected { color: var(--green-dark); background: #e4f8ef; border-color: var(--green); }
.vote-button.selected.down { color: #9f343c; background: #fff0f1; border-color: #e7a2a7; }
.vote-signin { color: var(--green-dark); font-size: 12px; font-weight: 800; }
.withdraw-correction { margin-left: auto; }
.withdraw-correction button { padding: 5px; color: #9f343c; background: none; border: 0; font-size: 11px; cursor: pointer; }
.community-empty { padding: 28px; color: var(--ink-500); border: 1px dashed var(--ink-200); border-radius: var(--radius); background: var(--ink-50); text-align: center; }
.community-empty strong { display: block; color: var(--ink-800); font-size: 15px; }
.community-empty p { margin: 5px auto 0; max-width: 620px; font-size: 13px; }
.community-empty-action { width: fit-content; margin: 12px auto 0; }
.correction-compose { margin-top: 16px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); }
.correction-compose > summary { padding: 16px 18px; color: var(--green-dark); font-size: 14px; font-weight: 850; cursor: pointer; }
.correction-compose > form { padding: 0 18px 20px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.correction-compose label, .quiz-correction-form label { display: flex; flex-direction: column; gap: 5px; color: var(--ink-700); font-size: 12px; font-weight: 750; }
.correction-compose label > span, .quiz-correction-form label > span { color: var(--ink-400); font-weight: 500; }
.correction-compose label small { color: var(--ink-400); font-size: 10px; font-weight: 500; }
.correction-compose select, .correction-compose textarea, .quiz-correction-form select, .quiz-correction-form textarea { width: 100%; padding: 10px; color: var(--ink-800); background: var(--white); border: 1px solid var(--ink-200); border-radius: 6px; font: inherit; resize: vertical; }
.correction-compose select, .quiz-correction-form select { min-height: 43px; }
.correction-compose .full-field { grid-column: 1 / -1; }
.correction-compose .button { width: fit-content; }
.correction-signin { margin: 0 18px 20px; padding: 18px; background: var(--ink-50); border-radius: var(--radius-sm); }
.correction-signin p { margin: 4px 0 14px; color: var(--ink-500); font-size: 12px; }
.quiz-question-card .review-trust-badge, .quiz-review-list .review-trust-badge { margin-top: 5px; }
.quiz-correction-panel { margin: 0 18px 16px 59px; border: 1px solid var(--ink-150); border-radius: var(--radius-sm); background: var(--white); }
.quiz-correction-panel > summary { padding: 11px 13px; color: var(--green-dark); font-size: 12px; font-weight: 800; cursor: pointer; }
.quiz-correction-panel > div { padding: 0 13px 14px; }
.quiz-correction-panel > div > p { margin: 0 0 12px; color: var(--ink-500); font-size: 12px; }
.quiz-correction-panel .correction-list { margin-bottom: 12px; }
.quiz-correction-form { padding-top: 14px; display: grid; gap: 11px; border-top: 1px solid var(--ink-100); }
.quiz-correction-form .button { width: fit-content; }
.community-hero { padding: 64px 0; color: var(--white); background: radial-gradient(circle at 82% 20%,rgba(246,183,54,.13),transparent 30%),var(--ink-950); }
.community-hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(340px,.75fr); align-items: end; gap: 70px; }
.community-hero h1 { margin: 15px 0 12px; font-size: clamp(45px,5vw,68px); line-height: 1; letter-spacing: -.055em; }
.community-hero h1 em { color: var(--green); font-style: normal; }
.community-hero p { max-width: 760px; margin: 0; color: var(--ink-300); font-size: 17px; }
.community-hero aside { padding: 22px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--ink-700); border: 1px solid var(--ink-700); border-radius: var(--radius); overflow: hidden; }
.community-hero aside > span { grid-column: 1 / -1; padding: 0 0 12px; color: var(--green); background: var(--ink-950); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.community-hero aside div { min-height: 100px; padding: 13px; display: flex; flex-direction: column; background: var(--ink-900); }
.community-hero aside strong { color: var(--white); font-size: 28px; }
.community-hero aside small { margin-top: auto; color: var(--ink-400); font-size: 10px; }
.community-page { padding-top: 45px; }
.community-page > div > .evidence-success, .community-page > div > .vault-error { margin-bottom: 18px; }
.community-principles { margin-bottom: 68px; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.community-principles article { min-height: 160px; padding: 21px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); }
.community-principles span { color: var(--green-dark); font: 850 11px ui-monospace,monospace; }
.community-principles strong { margin-top: 13px; display: block; font-size: 16px; }
.community-principles p { margin: 5px 0 0; color: var(--ink-500); font-size: 13px; }

@media (max-width: 900px) {
    .community-hero-grid { grid-template-columns: 1fr; gap: 32px; }
    .community-principles { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .lab-tags { align-items: flex-start; flex-wrap: wrap; }
    .community-library-link { align-items: stretch; flex-direction: column; }
    .community-library-link .button { width: 100%; }
    .correction-card > header { flex-direction: column; gap: 8px; }
    .correction-card > footer { align-items: flex-start; flex-wrap: wrap; }
    .vote-summary { width: 100%; }
    .withdraw-correction { margin-left: 0; }
    .correction-compose > form { grid-template-columns: 1fr; }
    .correction-compose .full-field { grid-column: 1; }
    .quiz-correction-panel { margin-left: 18px; }
    .community-hero { padding: 42px 0; }
    .community-hero h1 { font-size: 42px; }
    .community-hero aside { padding: 14px; grid-template-columns: 1fr; }
    .community-hero aside > span { grid-column: 1; }
    .community-hero aside div { min-height: 78px; }
}

/* Hosted Django OAuth account foundation */
.hosted-auth-body { min-height: 100vh; display: flex; flex-direction: column; }.hosted-auth-body > main { flex: 1; }.hosted-messages { padding-top: 18px; }.hosted-message { padding: 12px 15px; color: var(--green-dark); background: #e4f8ef; border: 1px solid #afe6ce; border-radius: var(--radius-sm); }.hosted-message.error { color: #8e2d35; background: #fff0f1; border-color: #efb2b6; }
.oauth-hero, .oauth-login-page, .account-hero { color: var(--white); background: radial-gradient(circle at 82% 14%,rgba(25,195,125,.15),transparent 32%),var(--ink-950); }.oauth-hero { padding: 90px 0; }.oauth-hero-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(390px,.55fr); align-items: center; gap: 100px; }.oauth-hero h1, .oauth-login-page h1 { margin: 17px 0 13px; font-size: clamp(48px,6vw,76px); line-height: .98; letter-spacing: -.055em; }.oauth-hero h1 em, .oauth-login-page h1 em { color: var(--green); font-style: normal; }.oauth-hero p, .oauth-login-page > div > div > p { max-width: 720px; color: var(--ink-300); font-size: 17px; }.oauth-actions { margin-top: 28px; }.oauth-hero aside, .oauth-login-shell > aside { padding: 27px; border: 1px solid var(--ink-700); border-radius: var(--radius-lg); background: rgba(16,32,53,.75); }.oauth-hero aside > span, .oauth-login-shell > aside > span { color: var(--green); font-size: 11px; font-weight: 800; text-transform: uppercase; }.oauth-hero aside > strong { margin-top: 9px; display: block; font-size: 22px; }.oauth-hero ul { margin: 22px 0 0; padding-left: 20px; color: var(--ink-300); font-size: 14px; }.oauth-hero li + li { margin-top: 11px; }
.oauth-login-page { min-height: calc(100vh - 150px); padding: 70px 0; }.oauth-login-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.48fr); align-items: center; gap: 90px; }.oauth-provider-list { max-width: 650px; margin-top: 31px; display: grid; gap: 10px; }.oauth-provider-list form { margin: 0; }.oauth-provider { width: 100%; min-height: 72px; padding: 13px 17px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; color: var(--white); background: var(--ink-900); border: 1px solid var(--ink-700); border-radius: var(--radius-sm); text-align: left; cursor: pointer; }.oauth-provider:hover { border-color: var(--green); transform: translateY(-1px); }.oauth-provider > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--ink-900); background: var(--green); border-radius: 9px; font: 850 10px ui-monospace,monospace; }.oauth-provider strong { font-size: 15px; }.oauth-provider small { color: var(--ink-400); font-size: 11px; }.oauth-provider.discord > span { background: #8da1ff; }.oauth-provider.google > span { background: #f4b83f; }.oauth-login-shell aside h2 { margin: 9px 0 8px; color: var(--white); font-size: 29px; }.oauth-login-shell aside p { color: var(--ink-400); font-size: 14px; }.oauth-login-shell dl { margin: 25px 0 0; }.oauth-login-shell dl div { padding: 11px 0; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--ink-700); }.oauth-login-shell dt { color: var(--ink-400); font-size: 12px; }.oauth-login-shell dd { margin: 0; color: var(--green); font-size: 12px; font-weight: 800; }
.oauth-provider.unavailable { opacity: .72; cursor: pointer; }.oauth-provider.unavailable > span { color: var(--ink-300); background: var(--ink-700); }.oauth-provider.unavailable strong { color: var(--ink-300); }.oauth-provider.unavailable small { color: #e5bd64; }.oauth-provider.unavailable:hover { opacity: 1; border-color: #c6952e; }
.provider-setup-page { display: flex; align-items: center; }.provider-setup-shell { max-width: 820px; }.provider-setup-shell > p { max-width: 690px; color: var(--ink-300); font-size: 16px; }.provider-setup-card { margin: 28px 0 22px; padding: 20px; display: grid; gap: 8px; border: 1px solid var(--ink-700); border-radius: var(--radius); background: var(--ink-900); }.provider-setup-card > span { margin-top: 7px; color: var(--green); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.provider-setup-card code { padding: 10px 12px; overflow-x: auto; color: #d7e7ee; background: var(--ink-950); border-radius: 5px; font: 12px ui-monospace,monospace; white-space: nowrap; }.provider-setup-card small { margin-top: 6px; color: var(--ink-400); }
.account-hero { padding: 65px 0; }.account-hero h1 { margin: 14px 0 8px; font-size: clamp(42px,5vw,64px); }.account-hero p { max-width: 860px; margin: 0; color: var(--ink-300); font-size: 15px; }.account-hero code { color: var(--green); }.claim-progress-card { margin-bottom: 52px; padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: var(--ink-300); background: var(--ink-900); border-radius: var(--radius); }.claim-progress-card > div { display: flex; flex-direction: column; }.claim-progress-card span { color: var(--green); font-size: 10px; font-weight: 800; text-transform: uppercase; }.claim-progress-card strong { margin-top: 4px; color: var(--white); font-size: 18px; }.claim-progress-card p { margin: 3px 0 0; color: var(--ink-400); font-size: 12px; }.identity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }.identity-grid article { min-width: 0; padding: 18px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.identity-provider { width: 42px; height: 42px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 10px; font: 850 11px ui-monospace,monospace; }.identity-grid article > div { min-width: 0; display: flex; flex-direction: column; }.identity-grid p { margin: 1px 0; font-size: 12px; }.identity-grid small { overflow: hidden; color: var(--ink-500); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.identity-grid button { color: #a7333c; background: none; border: 0; font-size: 11px; font-weight: 800; cursor: pointer; }.last-identity { color: var(--ink-500); font-size: 10px; font-weight: 750; }.connect-provider-row { display: flex; flex-wrap: wrap; gap: 9px; }.connect-provider-row button { min-height: 43px; padding: 0 16px; color: var(--green-dark); background: var(--white); border: 1px solid var(--ink-200); border-radius: 6px; font-weight: 800; cursor: pointer; }
.account-local-nav { position: sticky; z-index: 40; top: 70px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--ink-150); backdrop-filter: blur(12px); }.account-local-nav > div { min-height: 48px; display: flex; align-items: center; gap: 24px; }.account-local-nav a { color: var(--ink-600); font-size: 12px; font-weight: 750; }.account-local-nav a:hover { color: var(--green-dark); }.account-page { padding-top: 42px; }.account-page .account-background { margin-top: 0; scroll-margin-top: 135px; }.account-section { margin-top: 72px; scroll-margin-top: 135px; }.account-signout { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--ink-150); }.roadmap-context-banner { margin-top: 23px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid var(--ink-150); border-left: 3px solid var(--green); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.roadmap-context-banner > div { display: flex; flex-direction: column; }.roadmap-context-banner strong { margin-top: 6px; font-size: 16px; }.roadmap-context-banner p { margin: 2px 0 0; color: var(--ink-500); font-size: 12px; }
.roadmap-context-actions { flex-direction: row !important; align-items: center; gap: 9px; }
.account-study-tools { margin-top: 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.account-tool-card { padding: 22px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.account-tool-card h3 { margin: 8px 0 5px; font-size: 19px; }.account-tool-card > p { margin: 0 0 17px; color: var(--ink-600); font-size: 13px; }.account-tool-card > form > label:not(.review-algorithm-list label) { display: flex; flex-direction: column; gap: 6px; color: var(--ink-500); font-size: 11px; font-weight: 750; }.account-tool-card input[type="file"] { padding: 8px; border: 1px solid var(--ink-150); border-radius: 6px; background: var(--ink-50); }.account-tool-card > form > .button { margin-top: 13px; }.account-deck-list { margin-top: 18px; border-top: 1px solid var(--ink-150); }.account-deck-list > div { padding: 11px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--ink-100); }.account-deck-list span { display: flex; flex-direction: column; }.account-deck-list small { color: var(--ink-500); font-size: 11px; }.account-deck-list button { color: #a7333c; background: transparent; border: 0; font-size: 11px; font-weight: 800; cursor: pointer; }.review-algorithm-list { display: grid; gap: 8px; }.review-algorithm-list label { padding: 11px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid var(--ink-150); border-radius: 7px; cursor: pointer; }.review-algorithm-list label:has(input:checked) { border-color: var(--green); background: #eaf9f2; }.review-algorithm-list input { margin-top: 4px; accent-color: var(--green-dark); }.review-algorithm-list span { display: flex; flex-direction: column; }.review-algorithm-list small { margin-top: 2px; color: var(--ink-500); font-size: 11px; }
.account-study-tools.is-single { grid-template-columns: 1fr; }.review-settings-card { max-width: 780px; }
.private-goal-list { display: grid; gap: 16px; }.private-goal-card { padding: 22px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.private-goal-card > header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: start; gap: 14px; }.private-goal-card > header > span { width: 40px; height: 40px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 10px; font: 850 11px ui-monospace,monospace; }.private-goal-card header small { color: var(--ink-500); font-size: 10px; font-weight: 800; text-transform: uppercase; }.private-goal-card h3 { margin: 3px 0 4px; font-size: 20px; }.private-goal-card h3 b { color: var(--green-dark); font-size: 12px; }.private-goal-card header p { margin: 0; color: var(--ink-600); font-size: 12px; }.private-goal-card header em { padding: 6px 9px; color: var(--green-dark); background: #e4f8ef; border-radius: 999px; font-size: 10px; font-style: normal; font-weight: 800; }.private-goal-requirements { margin: 17px 0; padding: 13px 15px; display: flex; align-items: center; gap: 14px; background: var(--ink-50); border-radius: 8px; }.private-goal-requirements strong { font-size: 12px; }.private-goal-requirements span { flex: 1; color: var(--ink-500); font-size: 11px; }.private-goal-requirements a { color: var(--green-dark); font-size: 11px; font-weight: 800; white-space: nowrap; }.private-goal-card form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: end; gap: 12px; }.private-goal-card form label { min-width: 0; display: flex; flex-direction: column; gap: 6px; color: var(--ink-500); font-size: 10px; font-weight: 800; text-transform: uppercase; }.private-goal-card form input, .private-goal-card form select, .private-goal-card form textarea { width: 100%; border: 1px solid var(--ink-200); border-radius: 6px; background: var(--white); }.private-goal-card form input, .private-goal-card form select { min-height: 42px; padding: 0 10px; }.private-goal-card form textarea { padding: 10px; resize: vertical; }.private-goal-notes { grid-column: 1 / -1; }.private-goal-card form .button { justify-self: start; }
.connect-provider-row button:disabled { color: var(--ink-500); background: var(--ink-100); cursor: not-allowed; }

@media (max-width: 900px) { .oauth-hero-grid, .oauth-login-shell { grid-template-columns: 1fr; gap: 40px; }.oauth-hero aside, .oauth-login-shell > aside { max-width: 700px; }.identity-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .account-study-tools { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .private-goal-card > header { grid-template-columns: auto minmax(0,1fr); }.private-goal-card header em { grid-column: 2; justify-self: start; }.private-goal-requirements { align-items: flex-start; flex-direction: column; }.private-goal-card form { grid-template-columns: 1fr; }.private-goal-notes { grid-column: 1; }.private-goal-card form .button { width: 100%; } }
@media (max-width: 620px) { .oauth-hero, .oauth-login-page { padding: 48px 0; }.oauth-hero h1, .oauth-login-page h1 { font-size: 44px; }.oauth-provider { grid-template-columns: 42px 1fr; }.oauth-provider small { grid-column: 2; }.claim-progress-card { align-items: stretch; flex-direction: column; }.claim-progress-card .button { width: 100%; }.identity-grid article { grid-template-columns: auto minmax(0,1fr); }.identity-grid article > form, .identity-grid article > .last-identity { grid-column: 2; }.connect-provider-row, .connect-provider-row form, .connect-provider-row button { width: 100%; } }
@media (max-width: 620px) { .roadmap-context-banner { align-items: stretch; flex-direction: column; }.roadmap-context-banner .button { width: 100%; }.account-local-nav > div { overflow-x: auto; }.account-local-nav a { white-space: nowrap; }.background-section > .career-context-card { order: -1; } }

@media (max-width: 520px) {
    .main-nav a { min-width: 0; font-size: 0; }.main-nav svg { width: 19px; }.career-score-strip > div { padding: 12px; }.career-score-strip strong { font-size: 20px; }
}

@media (max-width: 410px) {
    .page-shell, .nav-shell { width: min(calc(100% - 20px), var(--page)); }.brand-logo { width: 31px; height: 31px; }
    .terminal-body { padding: 22px 12px 20px 46px; font-size: 9px; }.terminal-footer { gap: 8px; }
    .cert-card { grid-template-columns: 42px 1fr; }.cert-count { display: none; }
    .result-panel { grid-template-columns: 1fr; text-align: center; }.score-ring { margin-inline: auto; }.result-actions { flex-direction: column; }
}

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

/* Product information architecture: Today, Roadmaps, Practice, Activity */
.footer-inner a { color: var(--green-dark); font-weight: 750; }
.button.dark-secondary { color: var(--white); background: transparent; border: 1px solid var(--ink-700); }
.button.dark-secondary:hover { border-color: var(--ink-400); background: rgba(255,255,255,.04); }

.today-hero { position: relative; overflow: hidden; padding: 76px 0 68px; color: var(--white); background: var(--ink-950); }
.today-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to right, black, transparent 78%); }
.today-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(390px,.75fr); align-items: center; gap: 80px; }
.today-hero-compact { position: relative; }.today-hero-compact .today-copy { max-width: 900px; }
.today-copy h1 { margin: 18px 0 20px; font-size: clamp(45px,5vw,70px); line-height: 1.02; letter-spacing: -.055em; }
.today-copy h1 em { color: var(--green); font-style: normal; }
.today-copy > p { max-width: 760px; margin: 0; color: var(--ink-300); font-size: 18px; line-height: 1.7; }
.today-actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 10px; }
.today-focus-card, .today-setup-card { position: relative; padding: 28px; border: 1px solid rgba(255,255,255,.13); border-top: 3px solid var(--accent, var(--green)); border-radius: var(--radius-lg); background: rgba(16,32,53,.82); box-shadow: 0 28px 70px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.today-focus-skill { margin: 18px 0 22px; padding: 13px; display: flex; align-items: center; gap: 11px; color: var(--ink-200); background: rgba(255,255,255,.045); border-radius: var(--radius-sm); }
.today-focus-skill > i { width: 10px; height: 10px; flex: none; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 18%, transparent); }
.today-focus-skill div { display: flex; flex-direction: column; }.today-focus-skill strong { font-size: 14px; }.today-focus-skill span { color: var(--ink-400); font-size: 11px; }
.today-focus-card h2 { margin: 7px 0 6px; font-size: 24px; line-height: 1.2; }.today-focus-card > p { margin: 0; color: var(--ink-300); font-size: 13px; }
.today-focus-meter { height: 7px; margin-top: 26px; overflow: hidden; border-radius: 5px; background: rgba(255,255,255,.09); }.today-focus-meter span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.today-focus-card > small { display: block; margin-top: 8px; color: var(--ink-400); font-size: 10px; }
.today-setup-card ol { margin: 18px 0 0; padding: 0; display: grid; gap: 16px; list-style: none; }.today-setup-card li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; }.today-setup-card li > span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--green); border: 1px solid var(--ink-700); border-radius: 50%; font: 800 10px ui-monospace,monospace; }.today-setup-card strong { font-size: 14px; }.today-setup-card p { margin: 2px 0 0; color: var(--ink-400); font-size: 12px; }.today-setup-card li a { margin-top: 7px; display: inline-flex; color: var(--green); font-size: 12px; font-weight: 800; }.today-setup-card li a:hover { color: var(--white); }
.today-plan-section { padding: 48px 0 0; }.review-method-badge { padding: 7px 10px; color: var(--green-dark); background: #e4f8ef; border-radius: 999px; font-size: 11px; font-weight: 800; }.today-plan-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }.today-plan-item { padding: 18px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 13px; border: 1px solid var(--ink-150); border-left: 3px solid var(--ink-200); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.today-plan-item.is-due { border-left-color: var(--green); }.today-plan-item > span { width: 32px; height: 32px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 50%; font: 800 9px ui-monospace,monospace; }.today-plan-item > div { display: flex; flex-direction: column; }.today-plan-item strong { font-size: 14px; }.today-plan-item p { margin: 3px 0 0; color: var(--ink-500); font-size: 11px; }.today-plan-item form { margin: 0; }
.today-onboarding { margin-bottom: 48px; overflow: hidden; border: 1px solid var(--ink-150); border-top: 3px solid var(--green); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }.today-onboarding > header { padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--ink-100); }.today-onboarding header h2 { margin: 6px 0 0; font-size: 22px; }.today-onboarding > header > strong { flex: none; padding: 7px 10px; color: var(--green-dark); background: #e4f8ef; border-radius: 999px; font-size: 11px; }.today-onboarding-primary { padding: 20px 22px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 14px; border-bottom: 1px solid var(--ink-100); }.today-onboarding-primary > span { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: var(--green-dark); border-radius: 50%; font: 800 10px ui-monospace,monospace; }.today-onboarding-primary > div { min-width: 0; display: flex; flex-direction: column; }.today-onboarding-primary small { color: var(--green-dark); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.today-onboarding-primary strong { margin-top: 3px; font-size: 16px; }.today-onboarding-primary p { margin: 3px 0 0; color: var(--ink-500); font-size: 11px; }.today-onboarding-primary .button { min-height: 44px; }
.today-onboarding-more > summary { min-height: 54px; padding: 12px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--ink-700); background: var(--ink-50); cursor: pointer; list-style: none; }.today-onboarding-more > summary::-webkit-details-marker { display: none; }.today-onboarding-more > summary span { display: flex; flex-direction: column; }.today-onboarding-more > summary strong { font-size: 12px; }.today-onboarding-more > summary small { margin-top: 2px; color: var(--ink-500); font-size: 10px; }.today-onboarding-more > summary b { width: 25px; height: 25px; display: grid; place-items: center; color: var(--ink-600); background: var(--white); border: 1px solid var(--ink-150); border-radius: 50%; font-size: 9px; }.today-onboarding-more[open] > summary { border-bottom: 1px solid var(--ink-100); }.today-onboarding-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }.today-onboarding-grid article { min-width: 0; padding: 20px; display: grid; grid-template-columns: 34px minmax(0,1fr); align-content: start; gap: 12px; border-right: 1px solid var(--ink-100); }.today-onboarding-grid article:last-child { border-right: 0; }.today-onboarding-grid article > span { width: 32px; height: 32px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 50%; font: 800 9px ui-monospace,monospace; }.today-onboarding-grid article.is-optional > span { color: var(--ink-600); background: var(--ink-100); }.today-onboarding-grid article.is-complete { background: #f5fbf8; }.today-onboarding-grid article > div { min-width: 0; display: flex; flex-direction: column; }.today-onboarding-grid small { color: var(--green-dark); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.today-onboarding-grid .is-optional small { color: var(--ink-500); }.today-onboarding-grid strong { margin-top: 3px; font-size: 14px; }.today-onboarding-grid p { margin: 3px 0 0; color: var(--ink-500); font-size: 11px; }.today-onboarding-grid .button { min-height: 38px; margin-top: 14px; grid-column: 2; padding: 0 13px; justify-self: start; font-size: 11px; }.today-onboarding-note { margin: 0; padding: 12px 20px; color: var(--ink-600); background: var(--ink-50); border-top: 1px solid var(--ink-100); font-size: 11px; }
.today-plan-item > div > small { margin-bottom: 3px; color: var(--green-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.today-stat-strip { background: var(--white); border-bottom: 1px solid var(--ink-150); }.today-stats { min-height: 104px; display: grid; grid-template-columns: repeat(4,1fr); }.today-stats > div { padding: 20px 28px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--ink-150); }.today-stats > div:first-child { padding-left: 0; border-left: 0; }.today-stats strong { font-size: 29px; line-height: 1.1; }.today-stats span { margin-top: 5px; color: var(--ink-500); font-size: 12px; font-weight: 650; }
.today-content { padding-top: 66px; }.today-content-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(390px,.7fr); align-items: start; gap: 48px; }
.today-route-card { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.today-rung { min-height: 94px; padding: 16px 18px; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 14px; border-bottom: 1px solid var(--ink-100); }.today-rung:last-child { border: 0; }.today-rung > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--ink-500); border: 2px solid var(--ink-200); border-radius: 50%; font: 800 9px ui-monospace,monospace; }.today-rung.rung-building > span { color: #97650b; border-color: var(--amber); }.today-rung.rung-ready > span { color: var(--green-dark); border-color: var(--green); }.today-rung div { display: flex; min-width: 0; flex-direction: column; }.today-rung strong { font-size: 14px; }.today-rung small { color: var(--ink-500); font-size: 11px; }.today-rung > b { padding: 5px 8px; color: var(--ink-500); background: var(--ink-100); border-radius: 5px; font-size: 9px; text-transform: uppercase; }
.today-principle { min-height: 105px; padding: 20px; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid var(--ink-100); }.today-principle:last-child { border: 0; }.today-principle span { color: var(--green-dark); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.today-principle strong { margin-top: 4px; max-width: 720px; font-size: 15px; }

.roadmap-local-nav { position: sticky; z-index: 40; top: 70px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--ink-150); backdrop-filter: blur(12px); }.roadmap-local-nav > div { min-height: 54px; display: flex; align-items: center; gap: 8px; }.roadmap-local-nav a { padding: 8px 13px; color: var(--ink-500); border-radius: 6px; font-size: 12px; font-weight: 750; }.roadmap-local-nav a:hover { color: var(--ink-900); background: var(--ink-100); }
#role-ladder, #skills, #resources, #background, #background-form, #confidence-model, #evidence-history { scroll-margin-top: 145px; }
.roadmap-role-rungs { margin-top: 17px; }.roadmap-role-rungs .role-rung { width: 100%; }
.evidence-success a { margin-left: 8px; text-decoration: underline; }
.roadmap-methodology-link { margin-top: 52px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--ink-200); background: var(--ink-900); border-radius: var(--radius); }.roadmap-methodology-link span { display: flex; flex-direction: column; }.roadmap-methodology-link strong { color: var(--white); font-size: 14px; }.roadmap-methodology-link small { margin-top: 2px; color: var(--ink-400); font-size: 11px; }.roadmap-methodology-link > b { color: var(--green); white-space: nowrap; font-size: 12px; }

.background-section { margin-top: 80px; padding: 34px; display: grid; grid-template-columns: minmax(280px,.75fr) minmax(510px,1.25fr); align-items: start; gap: 50px; background: var(--ink-100); border-radius: var(--radius-lg); }.background-intro { position: sticky; top: 145px; }.background-intro h2 { margin: 9px 0 7px; font-size: 36px; letter-spacing: -.04em; }.background-intro > p { margin: 0; color: var(--ink-600); font-size: 14px; }.background-intro > small { display: block; margin-top: 20px; color: var(--ink-500); font-size: 11px; }.background-signal-list { margin-top: 28px; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius-sm); background: var(--white); }.background-signal-list div { padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--ink-100); }.background-signal-list div:last-child { border: 0; }.background-signal-list span { color: var(--ink-500); font-size: 11px; }.background-signal-list strong { font-size: 12px; }.background-section .career-context-card { position: static; top: auto; border-top-color: var(--green); }

.activity-history-heading { align-items: center; }.activity-practice-section { margin-top: 76px; }.activity-mastery-heading { margin-top: 54px; }.activity-mastery-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }.activity-mastery-list .mastery-row:nth-child(odd) { border-right: 1px solid var(--ink-100); }.timeline-main a { margin-top: 2px; }.timeline-main a strong { font-size: 14px; }.timeline-main a:hover { color: var(--green-dark); }.timeline-score form { margin-top: 6px; }.timeline-score button { padding: 0; color: #a7333c; background: none; border: 0; font-size: 9px; font-weight: 750; cursor: pointer; }.compact-timeline { margin-top: 0; }.compact-timeline article { min-height: 84px; padding-right: 14px; }.compact-timeline .timeline-main div, .compact-timeline .timeline-main p { display: none; }.compact-timeline .timeline-main a strong, .compact-timeline .timeline-main > strong { font-size: 12px; }.compact-timeline .timeline-score strong { font-size: 15px; }.empty-evidence-actions { margin-top: 16px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }.empty-evidence-actions .button { min-height: 38px; padding: 0 13px; font-size: 11px; }
.activity-data-controls { margin-top: 18px; padding: 12px 15px; color: var(--ink-600); background: var(--ink-50); border: 1px solid var(--ink-150); border-radius: var(--radius-sm); }.activity-data-controls summary { color: var(--ink-700); font-size: 11px; font-weight: 800; cursor: pointer; }.activity-data-controls p { max-width: 760px; margin: 9px 0 11px; font-size: 11px; }

.methodology-career-section { margin-top: 70px; padding-top: 62px; border-top: 1px solid var(--ink-150); }.methodology-career-grid { display: grid; grid-template-columns: 1fr minmax(330px,.65fr); gap: 28px; }.methodology-rule-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }.methodology-rule-list article { min-height: 118px; padding: 18px; display: grid; grid-template-columns: 32px 1fr; gap: 12px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); }.methodology-rule-list article > span { width: 30px; height: 30px; display: grid; place-items: center; color: var(--green-dark); background: #e5f8ef; border-radius: 50%; font: 800 9px ui-monospace,monospace; }.methodology-rule-list strong { font-size: 13px; }.methodology-rule-list p { margin: 3px 0 0; color: var(--ink-500); font-size: 11px; }.methodology-formula { padding: 24px; color: var(--ink-300); background: var(--ink-900); border-radius: var(--radius); }.methodology-formula code { margin: 16px 0; padding: 14px; display: block; overflow-x: auto; color: var(--green); background: var(--ink-950); border-radius: var(--radius-sm); font: 12px ui-monospace,monospace; white-space: nowrap; }.methodology-formula > p { margin: 0; color: var(--ink-400); font-size: 11px; }.methodology-formula dl { margin: 18px 0 0; }.methodology-formula dl div { padding: 8px 0; display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid var(--ink-700); }.methodology-formula dt { font-size: 10px; }.methodology-formula dd { margin: 0; color: var(--white); font-size: 10px; }.methodology-sources { margin-top: 18px; }

@media (max-width: 1100px) {
    .today-hero-grid { gap: 40px; }
    .today-content-grid { grid-template-columns: 1fr; }
    .background-section { grid-template-columns: 1fr; }.background-intro { position: static; }
    .methodology-career-grid { grid-template-columns: minmax(0, 1fr); }.methodology-career-grid > * { min-width: 0; }
    .career-finder { grid-template-columns: 1fr; }.career-finder fieldset { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
    .browser-data-control { align-items: stretch; flex-direction: column; }.browser-data-control form, .browser-data-control .button { width: 100%; }
    .today-hero-grid { grid-template-columns: 1fr; }.today-focus-card, .today-setup-card { max-width: none; }.today-plan-grid, .today-onboarding-grid { grid-template-columns: 1fr; }.today-onboarding > header { padding: 14px 18px; }.today-onboarding header h2 { font-size: 19px; }.today-onboarding-primary { padding: 17px 18px; grid-template-columns: 34px minmax(0,1fr); gap: 10px 12px; }.today-onboarding-primary > span { width: 32px; height: 32px; }.today-onboarding-primary .button { width: 100%; grid-column: 2; }.today-onboarding-grid article { border-right: 0; border-bottom: 1px solid var(--ink-100); }.today-onboarding-grid article:last-child { border-bottom: 0; }
    .today-stats { grid-template-columns: repeat(2,1fr); }.today-stats > div { border-bottom: 1px solid var(--ink-150); }.today-stats > div:nth-child(odd) { padding-left: 0; border-left: 0; }
    .activity-mastery-list { grid-template-columns: 1fr; }.activity-mastery-list .mastery-row:nth-child(odd) { border-right: 0; }
    .roadmap-local-nav > div { overflow-x: auto; }.roadmap-local-nav a { flex: none; }
}

/* External-resource cost, community evidence, and review status */
.access-tier { padding: 2px 6px; border-radius: 999px; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.access-free { color: #146c51; background: #dff5ec; }
.access-mixed { color: #7a5311; background: #fff1ce; }
.access-paid { color: #79431d; background: #fbe6d6; }
.resource-cost-note, .resource-recommendation-basis { margin: 0; padding: 10px 15px 0; color: var(--ink-500); font-size: 11px; line-height: 1.55; }
.resource-cost-note strong { color: var(--ink-700); }
.resource-recommendation-basis { padding-top: 7px; }
.resource-review-line { padding: 8px 15px 11px; color: var(--ink-400); font-size: 10px; }
.community-evidence { margin: 9px 15px 0; border: 1px solid var(--ink-100); border-radius: 7px; background: var(--ink-50); }
.community-evidence summary { padding: 8px 10px; color: var(--accent-ink); cursor: pointer; font-size: 11px; font-weight: 800; }
.community-evidence > div { display: grid; gap: 6px; padding: 0 10px 8px; }
.community-evidence a { display: grid; gap: 2px; color: var(--ink-700); text-decoration: none; }
.community-evidence a strong { color: #e34b20; font-size: 10px; text-transform: uppercase; }
.community-evidence a span { font-size: 11px; font-weight: 750; }
.community-evidence a small, .community-evidence > p { color: var(--ink-400); font-size: 10px; }
.community-evidence > p { margin: 0; padding: 0 10px 9px; line-height: 1.45; }

@media (max-width: 720px) {
    .today-hero { padding: 52px 0; }.today-copy h1 { font-size: 44px; }.today-copy > p { font-size: 15px; }.today-focus-card, .today-setup-card { padding: 22px; }.today-plan-item { grid-template-columns: 34px minmax(0,1fr); }.today-plan-item > form, .today-plan-item > .button { grid-column: 2; width: 100%; }
    .today-hero.is-hosted { padding: 24px 0 22px; }
    .today-hero.is-hosted .today-copy h1 { margin: 10px 0 9px; font-size: 32px; line-height: 1.08; }
    .today-hero.is-hosted .today-copy h1 br { display: none; }
    .today-hero.is-hosted .today-copy > p { max-width: 36rem; font-size: 12px; line-height: 1.5; }
    .today-plan-section { padding-top: 24px; }
    .study-hero.is-hosted { padding: 24px 0 22px; }
    .study-hero.is-hosted h1 { margin: 10px 0 9px; font-size: 32px; line-height: 1.08; }
    .study-hero.is-hosted h1 br { display: none; }
    .study-hero.is-hosted p { font-size: 12px; line-height: 1.5; }
    .study-hero.is-hosted + .study-local-nav > div { min-height: 48px; }
    .study-content { padding-top: 24px; }
    .study-priority-section { margin-bottom: 28px; }
    #active-study-track > .section-heading p { display: none; }
    #active-study-track > .section-heading .catalog-count-badge { display: none; }
    .today-stats > div { padding: 16px; }.today-stats strong { font-size: 23px; }.today-stats span { font-size: 10px; }
    .today-rung { grid-template-columns: 38px 1fr; }.today-rung > b { display: none; }
    .background-section { margin-top: 55px; padding: 20px; }.background-intro h2 { font-size: 31px; }
    .career-finder { padding: 20px; }.career-finder fieldset { grid-template-columns: 1fr; }.career-finder-result { grid-template-columns: 1fr; }
    .methodology-rule-list { grid-template-columns: minmax(0, 1fr); }.methodology-rule-list > * { min-width: 0; }
    .roadmap-methodology-link { align-items: flex-start; flex-direction: column; }
    .activity-history-heading { align-items: flex-start; flex-direction: column; }
    .footer-inner { align-items: flex-start; }
}

/* Quizzes, mock tests, and local vault library */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.progress-stat-grid { grid-template-columns: repeat(5,1fr); }
.practice-mode-grid { margin-bottom: 30px; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.practice-mode-grid > a { min-height: 116px; padding: 18px; display: grid; grid-template-columns: 43px 1fr auto; align-items: center; gap: 14px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); transition: transform .18s, border-color .18s; }
.practice-mode-grid > a:hover { transform: translateY(-2px); border-color: var(--green); }.practice-mode-icon { width: 43px; height: 43px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 10px; font-size: 19px; font-weight: 850; }.practice-mode-grid div { display: flex; min-width: 0; flex-direction: column; }.practice-mode-grid strong { margin-top: 5px; font-size: 15px; }.practice-mode-grid small { margin-top: 2px; color: var(--ink-500); font-size: 11px; }.practice-mode-grid > a > b { color: var(--green-dark); font-size: 18px; }
.practice-hero-compact { grid-template-columns: 1fr; }.practice-hero-compact .hero-copy { max-width: 820px; }

.study-hero { padding: 70px 0 58px; color: var(--white); background: radial-gradient(circle at 82% 0, rgba(136,108,255,.14), transparent 35%), var(--ink-950); }.study-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(470px,.7fr); align-items: end; gap: 70px; }.study-hero-grid.is-focused { grid-template-columns: minmax(0,900px); }.study-hero h1 { margin: 16px 0 15px; font-size: clamp(44px,5vw,66px); line-height: 1.02; letter-spacing: -.055em; }.study-hero h1 em { color: var(--green); font-style: normal; }.study-hero p { max-width: 750px; margin: 0; color: var(--ink-300); font-size: 17px; }.study-stat-grid { display: grid; grid-template-columns: repeat(2,1fr); overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: var(--radius); }.study-stat-grid div { min-height: 88px; padding: 15px 18px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.025); }.study-stat-grid div:nth-child(even) { border-right: 0; }.study-stat-grid div:nth-last-child(-n+2) { border-bottom: 0; }.study-stat-grid strong { font-size: 25px; }.study-stat-grid span { margin-top: auto; color: var(--ink-500); font-size: 10px; }
.study-local-nav { position: sticky; z-index: 40; top: 70px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--ink-150); backdrop-filter: blur(12px); }.study-local-nav > div { min-height: 54px; display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; }.study-local-nav > div::-webkit-scrollbar { display: none; }.study-local-nav a { flex: none; padding: 8px 13px; color: var(--ink-500); border-radius: 6px; font-size: 12px; font-weight: 750; white-space: nowrap; }.study-local-nav a:hover { color: var(--ink-900); background: var(--ink-100); }.study-local-nav a[aria-current="page"] { color: #005d70; background: #e5f7f4; box-shadow: inset 0 -2px #00a982; }
.lesson-mode-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.lesson-mode-nav a[href^="#watch-"], .lesson-mode-nav a[href^="#read-"] { color: #126849; border: 1px solid #cfe8df; background: #f3faf7; }
#today-plan, #active-study-track, #built-in-banks, #private-decks, #vault-library, #quiz-history, #quiz-assurance, #adaptive-timeline, #assigned-resources, #key-concepts, #finish-lesson, #answer-review, [id^="learning-block-"], [id^="resource-"], [id^="concept-part-"], [id^="watch-"], [id^="read-"] { scroll-margin-top: 145px; }.study-content { padding-top: 62px; }
.study-track-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }.study-track-card { overflow: hidden; border: 1px solid var(--ink-150); border-top: 3px solid var(--accent); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.study-track-card > header { padding: 18px 20px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--ink-100); }.study-track-card header > div { display: flex; flex-direction: column; }.study-track-card header div > span { color: var(--accent-ink); font-size: 9px; font-weight: 800; }.study-track-card h3 { margin: 1px 0 0; font-size: 17px; }.study-track-card header > b { margin-left: auto; padding: 5px 8px; color: var(--accent-ink); background: var(--accent-soft); border-radius: 5px; font-size: 9px; }.study-track-card > p { min-height: 64px; margin: 0; padding: 15px 20px; color: var(--ink-500); font-size: 12px; }.study-mode-actions { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--ink-100); }.study-mode-actions form:first-child { border-right: 1px solid var(--ink-100); }.study-mode-actions button { width: 100%; min-height: 67px; padding: 12px 20px; display: flex; flex-direction: column; align-items: flex-start; color: var(--ink-800); background: var(--ink-50); border: 0; cursor: pointer; }.study-mode-actions button:hover { color: var(--accent-ink); background: var(--accent-soft); }.study-mode-actions button span { font-size: 12px; font-weight: 800; }.study-mode-actions button small { margin-top: 2px; color: var(--ink-500); font-size: 9px; }.mock-scope-note { margin: 18px 0 0; padding: 13px 16px; color: var(--ink-600); background: #fff9eb; border: 1px solid #efd58f; border-radius: var(--radius-sm); font-size: 11px; }

.vault-library-section { margin-top: 82px; }.vault-state { padding: 7px 10px; display: inline-flex; align-items: center; gap: 7px; color: var(--green-dark); background: #e4f8ef; border-radius: 999px; font-size: 10px; font-weight: 800; }.vault-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }.vault-state.error { color: #a7333c; background: #fff0f1; }.vault-state.error i { background: var(--red); }.vault-error { margin: 15px 0; padding: 13px 15px; color: #8e2d35; background: #fff0f1; border: 1px solid #efb2b6; border-radius: var(--radius-sm); font-size: 11px; }
.vault-onboarding-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(330px,.65fr); align-items: stretch; gap: 20px; }.vault-onboarding-grid > * { min-width: 0; }.vault-connect-card, .vault-privacy-card { padding: 26px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.vault-connect-card h3, .vault-privacy-card h3 { margin: 8px 0 5px; font-size: 22px; }.vault-connect-card > p, .vault-privacy-card > p { margin: 0 0 20px; color: var(--ink-500); font-size: 12px; }.vault-connect-form { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }.vault-connect-form label:not(.check-setting) { min-width: 0; display: flex; flex-direction: column; color: var(--ink-600); font-size: 11px; font-weight: 750; }.vault-connect-form input[type="text"] { width: 100%; min-width: 0; min-height: 44px; margin-top: 5px; padding: 0 11px; color: var(--ink-800); background: var(--white); border: 1px solid var(--ink-200); border-radius: 6px; font-size: 12px; }.vault-connect-form input:focus { outline: 3px solid rgba(25,195,125,.14); border-color: var(--green); }.vault-connect-form .full-field { grid-column: 1 / -1; }.check-setting { min-width: 0; min-height: 63px; padding: 11px; display: flex; align-items: flex-start; gap: 9px; background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 7px; cursor: pointer; }.check-setting input { margin-top: 3px; accent-color: var(--green); }.check-setting span { min-width: 0; display: flex; flex-direction: column; }.check-setting strong { font-size: 11px; }.check-setting small { color: var(--ink-500); font-size: 9px; }.vault-suggestions { min-width: 0; padding-top: 13px; display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--ink-100); }.vault-suggestions > span { color: var(--ink-400); font-size: 9px; text-transform: uppercase; font-weight: 800; }.vault-suggestions button { max-width: 100%; padding: 7px 9px; overflow: hidden; color: var(--ink-600); background: var(--ink-50); border: 1px solid var(--ink-100); border-radius: 5px; text-align: left; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; cursor: pointer; }.vault-suggestions button:hover { color: var(--green-dark); border-color: var(--green); }.vault-privacy-card { color: var(--ink-300); background: var(--ink-900); border-color: var(--ink-800); }.vault-privacy-card > span { color: var(--green); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.vault-privacy-card h3 { color: var(--white); }.vault-privacy-card ul { margin: 21px 0; padding-left: 20px; color: var(--ink-300); font-size: 12px; }.vault-privacy-card li + li { margin-top: 9px; }.vault-privacy-card > p { color: var(--ink-400); }
.vault-connect-form input:focus-visible { outline: 3px solid var(--focus-light); }
.vault-connection-card { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.vault-connection-summary { min-height: 105px; padding: 19px; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 16px; }.vault-mark { width: 42px; height: 42px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 10px; font-size: 22px; }.vault-connection-summary > div:nth-child(2) { min-width: 0; display: flex; flex-direction: column; }.vault-connection-summary > div:nth-child(2) > span { color: var(--ink-400); font-size: 9px; text-transform: uppercase; }.vault-connection-summary > div:nth-child(2) > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }.vault-connection-summary > div:nth-child(2) > small { color: var(--ink-500); font-size: 9px; }.vault-sync-metrics { display: flex; gap: 7px; }.vault-sync-metrics span { min-width: 70px; padding: 8px; display: flex; flex-direction: column; color: var(--ink-500); background: var(--ink-50); border-radius: 6px; font-size: 8px; }.vault-sync-metrics b { color: var(--ink-800); font-size: 15px; }.vault-settings { border-top: 1px solid var(--ink-100); }.vault-settings summary { padding: 12px 19px; color: var(--ink-600); background: var(--ink-50); font-size: 10px; font-weight: 800; cursor: pointer; }.vault-settings > .vault-connect-form { padding: 20px; }.disconnect-form { padding: 0 20px 20px; }.disconnect-form button { padding: 0; color: #a7333c; background: transparent; border: 0; font-size: 10px; font-weight: 750; cursor: pointer; }
.vault-deck-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }.vault-deck-card { min-width: 0; overflow: hidden; border: 1px solid var(--ink-150); border-top: 3px solid var(--accent); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.vault-deck-card > header { padding: 15px; display: flex; align-items: center; gap: 10px; }.vault-file-icon { width: 36px; height: 36px; flex: none; display: grid; place-items: center; color: var(--accent-ink); background: var(--accent-soft); border-radius: 7px; font: 800 9px ui-monospace,monospace; }.vault-deck-card header > div { min-width: 0; display: flex; flex-direction: column; }.vault-deck-card header div span { color: var(--ink-400); font-size: 8px; text-transform: uppercase; }.vault-deck-card h3 { margin: 1px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }.vault-deck-card header > b { margin-left: auto; color: var(--accent-ink); font-size: 18px; }.vault-deck-card > p { min-height: 42px; margin: 0; padding: 10px 15px; overflow: hidden; color: var(--ink-500); background: var(--ink-50); border-block: 1px solid var(--ink-100); text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }.vault-deck-meta { padding: 10px 15px; display: flex; justify-content: space-between; gap: 10px; color: var(--ink-500); font-size: 9px; }.vault-deck-actions { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; border-top: 1px solid var(--ink-100); }.vault-deck-actions form + form { border-left: 1px solid var(--ink-100); }.vault-deck-actions button { width: 100%; min-height: 45px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; color: var(--accent-ink); background: var(--accent-soft); border: 0; font-size: 10px; font-weight: 800; cursor: pointer; }.vault-empty { min-height: 150px; padding: 25px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--ink-500); background: var(--white); border: 1px dashed var(--ink-200); border-radius: var(--radius); text-align: center; }.vault-empty strong { color: var(--ink-800); font-size: 14px; }.vault-empty p { margin: 3px 0 0; font-size: 11px; }
.vault-format-guide { min-width: 0; margin-top: 20px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); }.vault-format-guide summary { padding: 14px 17px; font-size: 11px; font-weight: 800; cursor: pointer; }.vault-format-guide > div { min-width: 0; padding: 0 17px 17px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.vault-format-guide section { min-width: 0; padding: 15px; background: var(--ink-50); border-radius: var(--radius-sm); }.vault-format-guide h3 { margin: 0; font-size: 13px; }.vault-format-guide pre { max-width: 100%; margin: 10px 0; padding: 12px; overflow: auto; color: #cce7dc; background: var(--ink-900); border-radius: 6px; font: 10px/1.6 ui-monospace,monospace; }.vault-format-guide p { margin: 0; color: var(--ink-500); font-size: 10px; }
.quiz-history-section { margin-top: 78px; }.quiz-history-list { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.quiz-history-list a { min-height: 72px; padding: 12px 16px; display: flex; align-items: center; gap: 13px; border-bottom: 1px solid var(--ink-100); }.quiz-history-list a:last-child { border: 0; }.quiz-history-list a:hover { background: var(--ink-50); }.quiz-history-list a > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }.quiz-history-list strong { font-size: 12px; }.quiz-history-list small { color: var(--ink-500); font-size: 9px; }.quiz-history-list a > b { margin-left: auto; color: var(--green-dark); font-size: 10px; }

.quiz-shell { max-width: 1040px; }.quiz-header { padding: 28px 0 40px; color: var(--white); background: var(--ink-950); }.quiz-header .breadcrumbs { color: var(--ink-400); }.quiz-title-row { display: flex; align-items: end; justify-content: space-between; gap: 40px; }.quiz-title-row h1 { margin: 13px 0 6px; font-size: clamp(35px,5vw,49px); line-height: 1.05; letter-spacing: -.045em; }.quiz-title-row p { margin: 0; color: var(--ink-400); font-size: 13px; }.quiz-timer { min-width: 150px; padding: 13px 16px; display: flex; flex-direction: column; border: 1px solid var(--ink-700); border-radius: var(--radius-sm); background: rgba(255,255,255,.03); }.quiz-timer span { color: var(--ink-400); font-size: 9px; text-transform: uppercase; }.quiz-timer strong { color: var(--green); font: 800 24px ui-monospace,monospace; }.quiz-timer.urgent strong { color: #ff7f87; }.quiz-page { padding: 32px 0 90px; }.quiz-progress-row { position: sticky; z-index: 30; top: 70px; margin-bottom: 18px; padding: 11px 15px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; background: rgba(255,255,255,.96); border: 1px solid var(--ink-150); border-radius: var(--radius-sm); backdrop-filter: blur(10px); }.quiz-progress-row > span { color: var(--ink-600); font-size: 10px; font-weight: 750; }.quiz-progress-row > div { height: 5px; overflow: hidden; background: var(--ink-100); border-radius: 5px; }.quiz-progress-row i { display: block; width: 0; height: 100%; background: var(--green); transition: width .2s; }.quiz-question-list { display: grid; gap: 17px; }.quiz-question-card { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.quiz-question-card > header { padding: 21px; display: grid; grid-template-columns: 40px 1fr; gap: 13px; border-bottom: 1px solid var(--ink-100); }.quiz-question-card > header > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--green-dark); background: #e4f8ef; border-radius: 50%; font: 800 9px ui-monospace,monospace; }.quiz-question-card header small { color: var(--green-dark); font-size: 9px; text-transform: uppercase; font-weight: 800; }.quiz-question-card h2 { margin: 4px 0 0; font-size: 17px; line-height: 1.45; }.quiz-options { margin: 0; padding: 18px 21px 22px 74px; display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; border: 0; }.quiz-options label { min-height: 54px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; color: var(--ink-700); background: var(--ink-50); border: 1px solid var(--ink-150); border-radius: 7px; font-size: 12px; cursor: pointer; }.quiz-options label:hover { border-color: var(--green); }.quiz-options input { position: absolute; opacity: 0; }.quiz-options label:has(input:checked) { color: var(--green-dark); background: #eaf9f2; border-color: var(--green); }.quiz-options input:checked + .choice-control { border-color: var(--green); background: var(--green); box-shadow: inset 0 0 0 3px var(--white); }
.quiz-options label:has(input:focus-visible) { outline: 3px solid var(--focus-light); outline-offset: 2px; }
.reveal-answer { min-height: 42px; margin: 18px 21px 21px 74px; padding: 0 16px; color: var(--green-dark); background: #e4f8ef; border: 0; border-radius: 6px; font-size: 11px; font-weight: 800; cursor: pointer; }.flashcard-answer { margin: 18px 21px 12px 74px; padding: 17px; color: var(--ink-200); background: var(--ink-900); border-radius: var(--radius-sm); }.flashcard-answer span { color: var(--green); font-size: 9px; font-weight: 800; text-transform: uppercase; }.flashcard-answer p { margin: 7px 0 0; white-space: pre-line; font-size: 13px; }.self-grade { margin: 0; padding: 0 21px 22px 74px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; border: 0; }.self-grade legend { margin-bottom: 7px; color: var(--ink-500); font-size: 10px; }.self-grade label { --rating-color: var(--ink-400); --rating-soft: var(--ink-50); min-height: 68px; padding: 11px; display: flex; align-items: center; gap: 9px; background: var(--rating-soft); border: 1px solid var(--rating-color); border-top-width: 3px; border-radius: 7px; cursor: pointer; }.self-grade .rating-easy { --rating-color: #087a4e; --rating-soft: #e9f8f1; }.self-grade .rating-medium { --rating-color: #687600; --rating-soft: #f4f7df; }.self-grade .rating-hard { --rating-color: #9a6200; --rating-soft: #fff3d8; }.self-grade .rating-missed { --rating-color: #a7333c; --rating-soft: #fff0f1; }.self-grade label:has(input:checked) { color: var(--rating-color); box-shadow: inset 0 0 0 1px var(--rating-color); }.self-grade label:has(input:focus-visible) { outline: 3px solid var(--focus-light); outline-offset: 2px; }.self-grade input { accent-color: var(--rating-color); }.self-grade span { display: flex; flex-direction: column; }.self-grade strong { font-size: 11px; }.self-grade small { color: var(--ink-600); font-size: 9px; }.quiz-submit-bar { margin-top: 20px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.quiz-submit-bar > div { display: flex; flex-direction: column; }.quiz-submit-bar strong { font-size: 13px; }.quiz-submit-bar span { color: var(--ink-500); font-size: 10px; }
.self-grade[hidden], .recall-card-action[hidden], .quiz-question-card[hidden] { display: none; }
.quiz-header.is-recall-session { padding: 18px 0 22px; }
.quiz-header.is-recall-session .quiz-title-row { margin-top: 10px; align-items: center; }
.quiz-header.is-recall-session .quiz-title-row h1 { margin: 7px 0 3px; font-size: clamp(24px,4vw,34px); }
.quiz-page.is-recall-session { padding-top: 24px; }
.focused-recall-form { max-width: 780px; margin: 0 auto; }
.focused-recall-form .quiz-progress-row { top: 76px; }
.focused-recall-form .quiz-question-card > header { padding: 30px 28px; display: block; }
.focused-recall-form .quiz-question-card > header > span { display: none; }
.focused-recall-form .quiz-question-card h2 { margin-top: 12px; font-size: clamp(24px,4vw,32px); line-height: 1.25; }
.focused-recall-form .reveal-answer { width: calc(100% - 56px); margin: 22px 28px 28px; }
.focused-recall-form .flashcard-answer { margin: 22px 28px 16px; padding: 22px; }
.focused-recall-form .flashcard-answer p { font-size: 16px; line-height: 1.55; }
.focused-recall-form .flashcard-answer .concept-connections p { font-size: .76rem; line-height: 1.5; }
.focused-recall-form .self-grade { padding: 0 28px 24px; }
.recall-card-action { padding: 0 28px 28px; display: flex; justify-content: flex-end; }
.recall-card-action .button { min-width: 150px; }
.quiz-result-hero { padding: 55px 0; color: var(--white); background: radial-gradient(circle at 80% 20%, rgba(226,91,98,.12), transparent 30%), var(--ink-950); }.quiz-result-hero.passing { background: radial-gradient(circle at 80% 20%, rgba(25,195,125,.12), transparent 30%), var(--ink-950); }.quiz-result-grid { display: flex; align-items: end; justify-content: space-between; gap: 40px; }.quiz-result-grid h1 { margin: 14px 0 5px; font-size: clamp(35px,5vw,49px); }.quiz-result-grid p { margin: 0; color: var(--ink-400); }.quiz-result-score { display: flex; flex-direction: column; align-items: flex-end; }.quiz-result-score strong { color: #ff8b92; font-size: 60px; line-height: 1; letter-spacing: -.06em; }.passing .quiz-result-score strong { color: var(--green); }.quiz-result-score span { margin-top: 5px; color: var(--ink-400); font-size: 11px; }.quiz-result-actions { margin-bottom: 28px; display: flex; justify-content: flex-end; gap: 9px; }.quiz-result-actions form { display: flex; }.quiz-review-list { display: grid; gap: 13px; }.quiz-review-list article { overflow: hidden; border: 1px solid var(--ink-150); border-left: 3px solid var(--red); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.quiz-review-list article.correct { border-left-color: var(--green); }.quiz-review-list header { padding: 16px 18px; display: grid; grid-template-columns: 30px 1fr auto; align-items: start; gap: 11px; }.quiz-review-list header > span { width: 27px; height: 27px; display: grid; place-items: center; color: #a7333c; background: #fff0f1; border-radius: 50%; font-weight: 900; }.quiz-review-list .correct header > span { color: var(--green-dark); background: #e4f8ef; }.quiz-review-list header small { color: var(--ink-400); font-size: 8px; text-transform: uppercase; }.quiz-review-list h3 { margin: 2px 0 0; font-size: 13px; }.quiz-review-list header > b { padding: 4px 7px; color: #a7333c; background: #fff0f1; border-radius: 4px; font-size: 8px; text-transform: uppercase; }.quiz-review-list .correct header > b { color: var(--green-dark); background: #e4f8ef; }.quiz-review-list dl { margin: 0; padding: 0 18px 15px 59px; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.quiz-review-list dl div { padding: 10px; background: var(--ink-50); border-radius: 6px; }.quiz-review-list dt { color: var(--ink-400); font-size: 8px; text-transform: uppercase; }.quiz-review-list dd { margin: 3px 0 0; color: var(--ink-700); font-size: 11px; font-weight: 650; }.quiz-review-list article > p { margin: 0; padding: 12px 18px 14px 59px; color: var(--ink-600); background: var(--ink-50); border-top: 1px solid var(--ink-100); font-size: 11px; }.evidence-success code { font: 10px ui-monospace,monospace; }
.quiz-next-action { margin-bottom: 14px; padding: 16px 18px; border: 1px solid #a7ddca; border-left: 4px solid var(--green); border-radius: var(--radius); background: var(--green-soft); }.quiz-next-action.is-review { border-color: #ead39b; border-left-color: var(--amber); background: #fff8e8; }.quiz-next-action > div { display: flex; flex-direction: column; }.quiz-next-action span { color: var(--green-dark); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.quiz-next-action.is-review span { color: #7b540c; }.quiz-next-action strong { margin-top: 3px; font-size: 15px; }.quiz-next-action p { margin: 4px 0 0; color: var(--ink-600); font-size: 11px; }
.quiz-review-complete { margin-top: 24px; padding-top: 18px; display: flex; align-items: center; justify-content: flex-end; gap: 14px; border-top: 1px solid var(--ink-150); }.quiz-review-complete span { color: var(--ink-500); font-size: 12px; font-weight: 700; }
.question-learning-targets { margin: 0; padding: 13px 18px 14px 59px; display: grid; gap: .55rem; border-top: 1px solid #cfe0f2; background: #f2f7fd; }
.question-learning-targets > strong { color: #245b96; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.question-learning-targets a { padding: .7rem .8rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #233854; border: 1px solid #d5e3f2; border-radius: .55rem; background: #fff; text-decoration: none; }
.question-learning-targets a:hover { border-color: #77a9dc; }
.question-learning-targets span { font-size: .82rem; font-weight: 750; }
.question-learning-targets small { color: #3a6c9f; font-size: .7rem; text-align: right; }
.concept-connections { margin-top: .85rem; }
.concept-connections details { border: 1px solid #c9e5dc; border-radius: .65rem; background: #f1faf7; }
.concept-connections details + details { margin-top: .5rem; }
.concept-connections summary { padding: .65rem .75rem; display: flex; align-items: center; justify-content: space-between; gap: .8rem; color: #165c50; cursor: pointer; }
.concept-connections summary span { position: static; color: #26796b; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.concept-connections summary strong { font-size: .75rem; text-align: right; }
.concept-connections details > div { padding: 0 .75rem .75rem; }
.concept-connections h4 { margin: 0 0 .25rem; color: #173d38; font-size: .85rem; }
.concept-connections details > div > p { margin: 0; color: #45665f; font-size: .76rem; line-height: 1.5; }
.concept-connections ul { margin: .6rem 0 0; padding: 0; display: grid; gap: .4rem; list-style: none; }
.concept-connections a { padding: .55rem .65rem; display: grid; gap: .18rem; color: #174f47; border: 1px solid #d4eae4; border-radius: .45rem; background: #fff; text-decoration: none; }
.concept-connections a:hover { border-color: #4a9e8e; }
.concept-connections a strong { font-size: .72rem; }
.concept-connections a span { position: static; color: #56736e; font-size: .72rem; font-weight: 500; line-height: 1.45; }
.quiz-review-list .concept-connections { margin: 0; padding: 13px 18px 14px 59px; border-top: 1px solid #c9e5dc; background: #f7fbfa; }
.quiz-assurance-section { margin-top: 70px; padding-top: 62px; border-top: 1px solid var(--ink-150); }.quiz-assurance-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.quiz-assurance-grid article { padding: 19px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); }.quiz-assurance-grid span { color: var(--green-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }.quiz-assurance-grid strong { margin-top: 7px; display: block; font-size: 14px; }.quiz-assurance-grid p { margin: 4px 0 0; color: var(--ink-500); font-size: 10px; }

/* The study workflow is reading-heavy, so labels and supporting copy keep a
   deliberate legibility floor instead of using dense dashboard typography. */
.practice-mode-grid strong { font-size: 17px; }
.practice-mode-grid small { font-size: 13px; }
.study-stat-grid span { font-size: 12px; }
.study-local-nav a { font-size: 14px; }
.study-track-card header div > span,
.study-track-card header > b { font-size: 12px; }
.study-track-card h3 { font-size: 19px; }
.study-track-card > p,
.study-mode-actions button span,
.mock-scope-note { font-size: 14px; }
.study-mode-actions button small { font-size: 12px; }
.vault-state { font-size: 12px; }
.vault-error { font-size: 14px; }
.vault-connect-card > p,
.vault-privacy-card > p,
.vault-privacy-card ul { font-size: 14px; }
.vault-connect-form label:not(.check-setting),
.vault-connection-summary > div:nth-child(2) > strong { font-size: 13px; }
.vault-connect-form input[type="text"] { font-size: 14px; }
.check-setting strong { font-size: 13px; }
.check-setting small,
.vault-connection-summary > div:nth-child(2) > small { font-size: 12px; }
.vault-suggestions > span,
.vault-suggestions button,
.vault-privacy-card > span,
.vault-connection-summary > div:nth-child(2) > span,
.vault-sync-metrics span,
.vault-settings summary,
.disconnect-form button { font-size: 12px; }
.vault-sync-metrics b { font-size: 18px; }
.vault-deck-card header div span,
.vault-deck-card > p,
.vault-deck-meta { font-size: 12px; }
.vault-deck-card h3 { font-size: 16px; }
.vault-deck-actions button { font-size: 13px; }
.vault-empty strong { font-size: 16px; }
.vault-empty p,
.vault-format-guide p { font-size: 13px; }
.vault-format-guide summary { font-size: 14px; }
.vault-format-guide h3 { font-size: 16px; }
.vault-format-guide pre { font-size: 12px; }
.quiz-history-list strong { font-size: 14px; }
.quiz-history-list small { font-size: 12px; }
.quiz-history-list a > b { font-size: 13px; }
.quiz-title-row p { font-size: 15px; }
.quiz-timer span,
.quiz-question-card header small { font-size: 11px; }
.quiz-progress-row > span { font-size: 13px; }
.quiz-question-card > header > span { font-size: 11px; }
.quiz-question-card h2 { font-size: 19px; }
.quiz-options legend:not(.sr-only) { grid-column: 1 / -1; margin-bottom: 4px; color: var(--ink-600); font-size: 13px; font-weight: 750; }
.quiz-options label { font-size: 14px; }
.quiz-options input[type="checkbox"]:checked + .choice-control { box-shadow: none; }
.quiz-options input[type="checkbox"]:checked + .choice-control::after { content: "✓"; color: var(--white); font-size: 12px; font-weight: 900; }
.reveal-answer { font-size: 13px; }
.flashcard-answer span { font-size: 11px; }
.flashcard-answer p { font-size: 15px; }
.self-grade legend { font-size: 12px; }
.self-grade strong { font-size: 14px; }
.self-grade small { font-size: 12px; }
.quiz-submit-bar strong { font-size: 15px; }
.quiz-submit-bar span,
.quiz-result-score span { font-size: 13px; }
.quiz-review-list header small,
.quiz-review-list header > b,
.quiz-review-list dt { font-size: 11px; }
.quiz-review-list h3 { font-size: 16px; }
.quiz-review-list dd,
.quiz-review-list article > p { font-size: 14px; }
.evidence-success code { font-size: 12px; }
.quiz-assurance-grid span { font-size: 11px; }
.quiz-assurance-grid strong { font-size: 16px; }
.quiz-assurance-grid p { font-size: 13px; }

@media (max-width: 1080px) {
    .study-hero-grid { grid-template-columns: 1fr; gap: 35px; }.study-stat-grid { max-width: 620px; }
    .portable-progress-grid { grid-template-columns: 1fr; }
    .vault-onboarding-grid { grid-template-columns: 1fr; }.vault-deck-grid { grid-template-columns: repeat(2,1fr); }
    .vault-connection-summary { grid-template-columns: auto 1fr auto; }.vault-sync-metrics { grid-column: 2; }.vault-connection-summary > form { grid-column: 3; grid-row: 1 / 3; }
}

@media (max-width: 720px) {
    .progress-stat-grid { grid-template-columns: repeat(2,1fr); }.progress-stat-grid > div { border-bottom: 1px solid rgba(255,255,255,.1); }.progress-stat-grid > div:nth-child(2) { border-right: 0; }
    .portable-progress .split-heading { align-items: flex-start; flex-direction: column; gap: 12px; }.portable-progress-grid article { padding: 18px; grid-template-columns: 1fr; }.portable-progress-grid article > .button, .portable-progress-grid article > form { grid-column: 1; width: 100%; }.portable-progress-grid form { align-items: stretch; flex-direction: column; }.portable-progress-grid form .button { width: 100%; }.portable-merge-notice { align-items: flex-start; flex-direction: column; gap: 3px; }
    .practice-mode-grid, .study-track-grid, .vault-deck-grid, .quiz-assurance-grid { grid-template-columns: 1fr; }
    .study-hero { padding: 38px 0; }.study-hero h1 { font-size: 40px; }.study-hero p { font-size: 14px; }.study-content { padding-top: 42px; }
    .study-catalog-disclosure > summary { min-height: 76px; padding: 14px 16px; align-items: flex-start; gap: 12px; }.study-catalog-disclosure > summary > span { grid-template-columns: 1fr; }.study-catalog-disclosure > summary b { margin-top: 2px; }.study-catalog-disclosure > summary em { padding-top: 17px; }.study-catalog-body { padding: 18px 14px 14px; }
    .vault-connect-form { grid-template-columns: minmax(0,1fr); }.vault-connect-form .full-field { grid-column: 1; }.vault-onboarding-grid { gap: 14px; }.vault-connect-card, .vault-privacy-card { padding: 20px; }
    .vault-connection-summary { grid-template-columns: auto 1fr; }.vault-sync-metrics { grid-column: 1 / -1; flex-wrap: wrap; }.vault-connection-summary > form { grid-column: 1 / -1; grid-row: auto; }.vault-connection-summary > form .button { width: 100%; }.vault-format-guide > div { grid-template-columns: 1fr; }
    .quiz-title-row, .quiz-result-grid { align-items: flex-start; flex-direction: column; }.quiz-timer { width: 100%; }.quiz-options { padding-left: 21px; grid-template-columns: 1fr; }.self-grade { padding-left: 21px; grid-template-columns: repeat(2,minmax(0,1fr)); }.reveal-answer, .flashcard-answer { margin-left: 21px; }.quiz-submit-bar { align-items: stretch; flex-direction: column; }.quiz-submit-bar .button { width: 100%; }.quiz-result-score { align-items: flex-start; }.quiz-result-actions { justify-content: stretch; flex-direction: column; }.quiz-result-actions .button { width: 100%; }.quiz-review-list dl { padding-left: 18px; grid-template-columns: 1fr; }.quiz-review-list article > p, .question-learning-targets, .quiz-review-list .concept-connections { padding-left: 18px; }.question-learning-targets a { align-items: flex-start; flex-direction: column; gap: .25rem; }.question-learning-targets small { text-align: left; }.quiz-review-complete { align-items: stretch; flex-direction: column; }.quiz-review-complete .button { width: 100%; }
}

/* Certification atlas and low-friction study tracker */
.track-foundation { --tracker-accent: #19c37d; --tracker-soft: #e6f8f0; }.track-networking { --tracker-accent: #21b7dc; --tracker-soft: #e6f8fc; }.track-security { --tracker-accent: #886cff; --tracker-soft: #f0edff; }.track-offensive { --tracker-accent: #e25b62; --tracker-soft: #fff0f1; }.track-systems { --tracker-accent: #f4b83f; --tracker-soft: #fff5dd; }.track-cloud { --tracker-accent: #4285e8; --tracker-soft: #edf4ff; }
.certification-atlas-banner { margin: 14px 0 56px; padding: 18px 20px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; color: var(--ink-200); background: var(--ink-900); border-radius: var(--radius); }.certification-atlas-banner div { display: flex; flex-direction: column; }.certification-atlas-banner strong { color: var(--white); font-size: 16px; }.certification-atlas-banner p { margin: 2px 0 0; color: var(--ink-400); font-size: 13px; }.certification-atlas-banner b { color: var(--green); font-size: 13px; }
.study-mode-actions { grid-template-columns: repeat(3,minmax(0,1fr)); }.study-mode-actions form { border-right: 1px solid var(--ink-100); }.study-mode-actions > a { min-height: 67px; padding: 12px 20px; display: flex; flex-direction: column; align-items: flex-start; color: var(--accent-ink); background: var(--accent-soft); }.study-mode-actions > a:hover { filter: saturate(1.25); }.study-mode-actions > a span { font-size: 14px; font-weight: 800; }.study-mode-actions > a small { margin-top: 2px; font-size: 12px; }
.study-mode-status { min-height: 67px; padding: 12px 20px; display: flex; flex-direction: column; align-items: flex-start; color: var(--ink-500); background: var(--ink-50); border-right: 1px solid var(--ink-100); }
.study-mode-status span { font-size: 14px; font-weight: 800; }.study-mode-status small { margin-top: 2px; font-size: 12px; }
.study-mode-status.is-active-reference { color: var(--green-dark); background: var(--green-soft); }.study-catalog-active { min-height: 45px; padding: 0 15px; display: flex; align-items: center; color: var(--green-dark); background: var(--green-soft); font-size: 10px; font-weight: 800; }

.tracker-hero { padding: 30px 0 48px; color: var(--white); background: radial-gradient(circle at 86% 15%, color-mix(in srgb, var(--tracker-accent) 18%, transparent), transparent 34%), var(--ink-950); }.tracker-hero-grid { margin-top: 32px; display: grid; grid-template-columns: minmax(0,1fr) minmax(430px,.62fr); align-items: end; gap: 70px; }.tracker-title h1 { margin: 14px 0 9px; font-size: clamp(43px,5vw,66px); line-height: 1.02; letter-spacing: -.052em; }.tracker-title > p { max-width: 760px; margin: 0; color: var(--ink-300); font-size: 17px; }.tracker-meta { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 8px; }.tracker-meta span, .tracker-meta a { padding: 6px 9px; color: var(--ink-300); border: 1px solid var(--ink-700); border-radius: 5px; font-size: 12px; text-transform: capitalize; }.tracker-meta a { color: var(--tracker-accent); }
.tracking-card { min-height: 235px; padding: 24px; display: flex; flex-direction: column; border: 1px solid var(--ink-700); border-top: 3px solid var(--tracker-accent); border-radius: var(--radius-lg); background: rgba(16,32,53,.88); box-shadow: 0 28px 70px rgba(0,0,0,.25); }.tracking-card > span { color: var(--tracker-accent); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.tracking-card > strong { margin-top: 10px; font-size: 27px; line-height: 1.1; }.tracking-card > small { margin: 6px 0 19px; color: var(--ink-400); font-size: 13px; }.tracking-card > a, .tracking-card > form { margin-top: auto; }.tracking-focus-form .button { width: 100%; }
.tracker-page { padding-top: 44px; }.tracker-page .evidence-success { margin-bottom: 18px; }.tracker-lifecycle { margin-bottom: 18px; padding: 14px 17px; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; color: #79540c; background: #fff9eb; border: 1px solid #efd58f; border-radius: var(--radius-sm); font-size: 13px; }.tracker-lifecycle.retiring { color: #8e2d35; background: #fff0f1; border-color: #efb2b6; }.tracker-lifecycle small { color: inherit; opacity: .75; }
.tracker-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.tracker-stat-grid article { min-height: 132px; padding: 20px; display: flex; flex-direction: column; border-right: 1px solid var(--ink-150); }.tracker-stat-grid article:last-child { border: 0; }.tracker-stat-grid span { color: var(--ink-500); font-size: 12px; font-weight: 750; }.tracker-stat-grid strong { margin-top: 9px; font-size: 30px; line-height: 1; letter-spacing: -.04em; }.tracker-stat-grid small { margin-top: auto; color: var(--ink-500); font-size: 12px; }.tracker-stat-grid article > i { height: 5px; margin-top: 9px; overflow: hidden; background: var(--ink-100); border-radius: 5px; }.tracker-stat-grid article > i b { display: block; height: 100%; background: var(--green); }
.tracker-graph-section { margin-top: 76px; scroll-margin-top: 145px; }.chart-range-toggle, .history-add-actions button { padding: 8px 12px; color: var(--green-dark); background: var(--white); border: 1px solid var(--ink-200); border-radius: 6px; font-size: 13px; font-weight: 750; cursor: pointer; }.tracker-graph-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(340px,.55fr); gap: 18px; }.tracker-graph-grid > article, .tracker-history-grid > article { overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }.chart-card > header, .activity-mix-card > header, .domain-card > header, .tracker-history-grid > article > header { min-height: 79px; padding: 16px 19px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--ink-100); }.chart-card header > div, .activity-mix-card header, .domain-card header { display: flex; flex-direction: column; align-items: flex-start; }.chart-card header span, .activity-mix-card header span, .domain-card header span, .tracker-history-grid > article > header span { color: var(--ink-500); font-size: 12px; font-weight: 750; }.chart-card header strong, .activity-mix-card header strong, .domain-card header strong { font-size: 17px; }.chart-card header small { color: var(--ink-400); font-size: 12px; }
.bar-chart { height: 280px; padding: 25px 20px 16px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(26px,1fr); align-items: stretch; gap: 7px; }.bar-chart > div { min-width: 0; display: grid; grid-template-rows: 24px 1fr 30px; align-items: end; text-align: center; }.bar-chart span { overflow: hidden; color: var(--ink-500); font-size: 10px; text-overflow: ellipsis; }.bar-chart b { height: 100%; display: flex; align-items: flex-end; justify-content: center; border-bottom: 1px solid var(--ink-150); }.bar-chart i { width: min(30px,75%); min-height: 0; display: block; background: linear-gradient(var(--green), var(--green-dark)); border-radius: 5px 5px 0 0; }.bar-chart small { padding-top: 7px; color: var(--ink-500); font-size: 10px; white-space: nowrap; writing-mode: vertical-rl; transform: rotate(180deg); justify-self: center; }
.activity-mix-list { padding: 8px 19px 20px; }.activity-mix-list > div { padding: 13px 0; display: grid; grid-template-columns: 1fr auto; gap: 7px 15px; border-bottom: 1px solid var(--ink-100); }.activity-mix-list > div:last-child { border: 0; }.activity-mix-list span { display: flex; align-items: center; gap: 8px; color: var(--ink-600); font-size: 13px; }.activity-mix-list span > i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }.activity-mix-list strong { font-size: 13px; }.activity-mix-list > div > b { height: 5px; grid-column: 1 / -1; overflow: hidden; background: var(--ink-100); border-radius: 4px; }.activity-mix-list b i { display: block; height: 100%; background: var(--green); }.chart-empty { min-height: 230px; padding: 30px; display: grid; place-items: center; color: var(--ink-500); text-align: center; font-size: 13px; }.chart-empty.compact { min-height: 120px; }
.line-chart { min-height: 310px; padding: 18px; }.line-chart svg { width: 100%; height: auto; overflow: visible; }.line-chart text { fill: var(--ink-500); font: 10px ui-sans-serif,sans-serif; }.score-grid { grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); }.score-grid-line { stroke: var(--ink-150); stroke-width: 1; }.score-pass-line { stroke: #efd58f; stroke-width: 1.5; stroke-dasharray: 5 5; }.score-area { fill: rgba(25,195,125,.1); }.score-line { fill: none; stroke: var(--green-dark); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }.score-point { fill: var(--white); stroke: var(--green); stroke-width: 3; }
.domain-list { padding: 10px 18px 17px; }.domain-list > div { padding: 12px 0; display: grid; grid-template-columns: 1fr 95px 40px; align-items: center; gap: 10px; border-bottom: 1px solid var(--ink-100); }.domain-list > div:last-child { border: 0; }.domain-list span { display: flex; flex-direction: column; }.domain-list strong { font-size: 13px; }.domain-list small { color: var(--ink-500); font-size: 11px; }.domain-list b { height: 6px; overflow: hidden; background: var(--ink-100); border-radius: 5px; }.domain-list b i { display: block; height: 100%; background: var(--green); }.domain-list em { color: var(--ink-600); font-size: 12px; font-style: normal; font-weight: 800; text-align: right; }.domain-card > a { margin: 0 18px 18px; display: inline-block; color: var(--green-dark); font-size: 13px; font-weight: 750; }
.tracker-record-section { margin-top: 76px; scroll-margin-top: 145px; }.history-add-actions { display: flex; gap: 8px; }.tracker-history-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.tracker-history-grid > article > header strong { color: var(--green-dark); font-size: 22px; }.tracker-record-list > div { min-height: 70px; padding: 12px 15px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--ink-100); }.tracker-record-list > div:last-child { border: 0; }.tracker-record-list > div > span { min-width: 0; display: flex; flex: 1; flex-direction: column; }.tracker-record-list strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.tracker-record-list small { color: var(--ink-500); font-size: 11px; }.tracker-record-list em { color: var(--ink-600); font-size: 11px; font-style: normal; }.tracker-record-list form { margin-left: auto; }.tracker-record-list form button { width: 28px; height: 28px; color: var(--ink-400); background: transparent; border: 0; border-radius: 50%; cursor: pointer; }.tracker-record-list form button:hover { color: #a7333c; background: #fff0f1; }.record-score { width: 50px; height: 38px; flex: none; display: grid; place-items: center; color: #a7333c; background: #fff0f1; border-radius: 7px; font-size: 13px; }.record-score.passing { color: var(--green-dark); background: #e6f8f0; }
.legacy-import-card { margin-top: 18px; padding: 17px 19px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #b8e4d1; border-radius: var(--radius); background: linear-gradient(110deg,#f2fbf7,var(--white)); }.legacy-import-card > div { display: flex; align-items: center; gap: 13px; }.legacy-import-card p { margin: 0; display: flex; flex-direction: column; }.legacy-import-card strong { font-size: 14px; }.legacy-import-card small { color: var(--ink-500); font-size: 12px; }
.study-plan-section { margin-top: 76px; padding: 32px; display: grid; grid-template-columns: minmax(280px,.7fr) minmax(520px,1.3fr); gap: 55px; scroll-margin-top: 145px; color: var(--ink-300); background: var(--ink-900); border-radius: var(--radius-lg); }.study-plan-section h2 { margin: 8px 0 6px; color: var(--white); font-size: 34px; }.study-plan-section > div p { margin: 0; color: var(--ink-400); font-size: 14px; }.study-plan-section > form { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.study-plan-section label, .tracker-dialog label { display: flex; flex-direction: column; gap: 5px; color: var(--ink-300); font-size: 12px; font-weight: 750; }.study-plan-section input, .study-plan-section select, .study-plan-section textarea { width: 100%; min-height: 43px; padding: 8px 10px; color: var(--white); background: var(--ink-950); border: 1px solid var(--ink-700); border-radius: 6px; }.study-plan-section .full-field { grid-column: 1 / -1; }
.tracker-dialog { width: min(calc(100% - 32px),620px); padding: 0; color: var(--ink-900); border: 0; border-radius: var(--radius-lg); box-shadow: 0 40px 100px rgba(0,0,0,.3); }.tracker-dialog::backdrop { background: rgba(7,16,29,.72); backdrop-filter: blur(4px); }.tracker-dialog > form:not(.dialog-close) { padding: 30px; display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }.tracker-dialog h2 { grid-column: 1 / -1; margin: 0 0 4px; font-size: 29px; }.tracker-dialog .section-kicker { grid-column: 1 / -1; }.tracker-dialog label { color: var(--ink-600); }.tracker-dialog input, .tracker-dialog select { min-height: 44px; padding: 0 10px; color: var(--ink-800); background: var(--white); border: 1px solid var(--ink-200); border-radius: 6px; }.tracker-dialog .full-field { grid-column: 1 / -1; }.dialog-close { position: absolute; top: 14px; right: 14px; }.dialog-close button { width: 34px; height: 34px; color: var(--ink-500); background: var(--ink-100); border: 0; border-radius: 50%; font-size: 20px; cursor: pointer; }

.atlas-hero { padding: 70px 0 62px; color: var(--white); background: radial-gradient(circle at 80% 10%,rgba(33,183,220,.13),transparent 32%),var(--ink-950); }.atlas-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(540px,.8fr); align-items: end; gap: 80px; }.atlas-hero h1 { margin: 16px 0 12px; font-size: clamp(48px,5vw,70px); line-height: 1; letter-spacing: -.055em; }.atlas-hero h1 em { color: var(--green); font-style: normal; }.atlas-hero p { max-width: 760px; margin: 0; color: var(--ink-300); font-size: 17px; }.atlas-route-choice { display: grid; grid-template-columns: repeat(2,1fr); overflow: hidden; border: 1px solid var(--ink-700); border-radius: var(--radius); }.atlas-route-choice article { min-height: 170px; padding: 20px; display: flex; flex-direction: column; background: rgba(255,255,255,.025); }.atlas-route-choice article + article { border-left: 1px solid var(--ink-700); }.atlas-route-choice span { color: var(--green); font-size: 11px; font-weight: 800; text-transform: uppercase; }.atlas-route-choice strong { margin-top: 8px; font-size: 17px; }.atlas-route-choice p { margin-top: auto; color: var(--ink-400); font-size: 13px; }
.atlas-page { padding-top: 50px; }.atlas-reading-guide { margin-bottom: 48px; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); }.atlas-reading-guide > summary { min-height: 72px; padding: 16px 20px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px 20px; cursor: pointer; list-style: none; }.atlas-reading-guide > summary::-webkit-details-marker { display: none; }.atlas-reading-guide > summary span { color: var(--green-dark); font-size: 11px; font-weight: 850; text-transform: uppercase; }.atlas-reading-guide > summary strong { font-size: 14px; }.atlas-reading-guide > summary strong::after { content: " ↓"; color: var(--green-dark); }.atlas-reading-guide[open] > summary strong::after { content: " ↑"; }.atlas-principle-grid { padding: 0 20px 20px; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; border-top: 1px solid var(--ink-100); }.atlas-principle-grid article { min-height: 170px; padding: 21px; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); }.atlas-principle-grid span { color: var(--green-dark); font: 800 11px ui-monospace, monospace; }.atlas-principle-grid strong { margin-top: 13px; display: block; font-size: 16px; }.atlas-principle-grid p { margin: 5px 0 0; color: var(--ink-500); font-size: 13px; }
.certification-highway { display: grid; gap: 18px; }.atlas-lane { overflow: hidden; display: grid; grid-template-columns: 280px minmax(0,1fr); border: 1px solid var(--ink-150); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }.atlas-lane > header { padding: 24px; display: flex; gap: 14px; color: var(--ink-300); background: var(--ink-900); }.atlas-lane > header > span { width: 34px; height: 34px; flex: none; display: grid; place-items: center; color: var(--green); border: 1px solid var(--ink-700); border-radius: 50%; font: 800 10px ui-monospace,monospace; }.atlas-lane h3 { margin: 1px 0 5px; color: var(--white); font-size: 17px; }.atlas-lane header p { margin: 0; color: var(--ink-400); font-size: 12px; }.atlas-node-row { padding: 17px; display: flex; align-items: stretch; gap: 8px; overflow-x: auto; }.atlas-node { position: relative; min-width: 210px; flex: 1; padding: 15px; display: flex; flex-direction: column; border: 1px solid var(--ink-150); border-top: 3px solid var(--tracker-accent); border-radius: var(--radius-sm); background: var(--white); }.atlas-node.retiring { background: #fffafb; border-color: #efb2b6; }.atlas-node-top { display: flex; justify-content: space-between; gap: 10px; }.atlas-node-top span, .atlas-node-top b { color: var(--ink-500); font-size: 10px; text-transform: uppercase; }.atlas-node-top b { color: var(--tracker-accent); }.atlas-node > strong { margin-top: 9px; font-size: 15px; }.atlas-node > small { color: var(--ink-500); font-size: 11px; }.atlas-node > p { margin: 12px 0 16px; color: var(--ink-600); font-size: 12px; }.atlas-node > em { margin: -6px 0 14px; padding: 7px; color: #8e2d35; background: #fff0f1; border-radius: 5px; font-size: 10px; font-style: normal; }.atlas-node > div:last-of-type { margin-top: auto; display: flex; justify-content: space-between; gap: 10px; }.atlas-node > div:last-of-type a { color: var(--green-dark); font-size: 11px; font-weight: 800; }.atlas-node > div:last-of-type a:last-child { color: var(--ink-500); }.atlas-plan-status { position: absolute; top: 43px; right: 13px; padding: 3px 6px; color: var(--green-dark); background: #e6f8f0; border-radius: 4px; font-size: 9px; font-style: normal; text-transform: uppercase; }.atlas-arrow { flex: none; align-self: center; color: var(--green); font-size: 18px; }.atlas-disclosure { margin-top: 18px; padding: 15px 18px; display: flex; justify-content: space-between; gap: 30px; color: var(--ink-500); border: 1px solid var(--ink-150); border-radius: var(--radius-sm); background: var(--white); font-size: 12px; }.atlas-disclosure strong { color: var(--ink-800); }

.atlas-arrow { min-width: 42px; color: var(--green-dark); font: 800 9px ui-monospace,monospace; letter-spacing: .05em; text-align: center; text-transform: uppercase; }

@media (max-width: 1180px) {
    .tracker-hero-grid, .atlas-hero-grid { grid-template-columns: 1fr; gap: 34px; }.tracking-card { max-width: 700px; }
    .tracker-stat-grid { grid-template-columns: repeat(2,1fr); }.tracker-stat-grid article:nth-child(2) { border-right: 0; }.tracker-stat-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--ink-150); }
    .atlas-lane { grid-template-columns: 1fr; }.atlas-lane > header { min-height: auto; }.atlas-node { min-width: 225px; }
}

@media (max-width: 820px) {
    .tracker-graph-grid, .score-grid, .tracker-history-grid, .study-plan-section { grid-template-columns: 1fr; }.study-plan-section { gap: 24px; }.atlas-principle-grid { grid-template-columns: 1fr; }
    .certification-atlas-banner { grid-template-columns: auto 1fr; }.certification-atlas-banner > b { grid-column: 2; }
}

@media (max-width: 720px) {
    .study-mode-actions { grid-template-columns: 1fr; }.study-mode-actions form, .study-mode-status { border-right: 0; border-bottom: 1px solid var(--ink-100); }.study-mode-actions > a { min-height: 62px; }
    .tracker-hero, .atlas-hero { padding: 40px 0; }.tracker-title h1, .atlas-hero h1 { font-size: 42px; }.tracker-title > p, .atlas-hero p { font-size: 15px; }.tracking-card { min-height: 0; padding: 20px; }
    .tracker-lifecycle { grid-template-columns: 1fr; gap: 3px; }.tracker-stat-grid { grid-template-columns: 1fr 1fr; }.tracker-stat-grid article { min-height: 120px; padding: 16px; }.tracker-stat-grid strong { font-size: 25px; }.tracker-stat-grid article:nth-child(odd) { border-right: 1px solid var(--ink-150); }.tracker-stat-grid article:nth-child(even) { border-right: 0; }
    .tracker-graph-section .split-heading, .tracker-record-section .split-heading { align-items: flex-start; flex-direction: column; gap: 15px; }.tracker-graph-grid { gap: 13px; }.bar-chart { height: 260px; padding-inline: 10px; gap: 3px; }.bar-chart span { font-size: 8px; }.line-chart { min-height: 0; padding: 10px; }.domain-list > div { grid-template-columns: 1fr 70px 35px; }.history-add-actions { width: 100%; }.history-add-actions button { flex: 1; }.legacy-import-card { align-items: stretch; flex-direction: column; }.legacy-import-card .button { width: 100%; }.legacy-import-card > div { align-items: flex-start; }
    .study-plan-section { padding: 22px; }.study-plan-section > form { grid-template-columns: 1fr; }.study-plan-section .full-field { grid-column: 1; }.tracker-dialog > form:not(.dialog-close) { padding: 24px 18px; grid-template-columns: 1fr; }.tracker-dialog h2, .tracker-dialog .section-kicker, .tracker-dialog .full-field { grid-column: 1; }
    .atlas-route-choice { grid-template-columns: 1fr; }.atlas-route-choice article + article { border-top: 1px solid var(--ink-700); border-left: 0; }.atlas-route-choice article { min-height: 145px; }.atlas-node-row { padding: 13px; }.atlas-node { min-width: min(245px,82vw); }.atlas-disclosure { flex-direction: column; gap: 5px; }
    .certification-atlas-banner { margin-bottom: 40px; padding: 16px; }.certification-atlas-banner .confidence-icon { display: none; }.certification-atlas-banner { grid-template-columns: 1fr; }.certification-atlas-banner > b { grid-column: 1; }
}
/* Learning streak and Activity trend views */
.streak-strip { background: #101b30; color: #fff; border-top: 1px solid rgba(255,255,255,.08); }
.streak-panel { min-height: 104px; display: grid; grid-template-columns: minmax(190px, .8fr) minmax(280px, 1.3fr) minmax(230px, 1fr); align-items: center; gap: 2rem; padding-top: 1rem; padding-bottom: 1rem; }
.streak-summary { display: flex; align-items: center; gap: .85rem; }
.streak-summary > div { display: grid; gap: .2rem; }
.streak-summary strong { font-size: 1.18rem; }
.streak-summary small, .streak-details { color: #aebbd0; }
.streak-flame { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; color: #111b2e; background: #f4b942; transform: rotate(45deg); }
.streak-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: .45rem; }
.streak-day { display: grid; justify-items: center; gap: .35rem; color: #8492a9; font-size: .72rem; }
.streak-day i { width: 17px; height: 17px; border-radius: 50%; border: 2px solid #40506a; background: #192841; }
.streak-day.is-activity i { border-color: #52d6a2; background: #52d6a2; box-shadow: 0 0 0 4px rgba(82,214,162,.12); }
.streak-day.is-freeze i { border-color: #80c8ff; background: #285c88; box-shadow: 0 0 0 4px rgba(128,200,255,.12); }
.streak-day.is-today span { color: #fff; font-weight: 700; }
.streak-details { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem 1.1rem; font-size: .78rem; }
.streak-details strong { color: #fff; }
.today-plan-item.is-complete > span { background: #d9f5e9; color: #177253; }
.today-wins { margin: 1.4rem 0 2rem; padding: 1.1rem; border: 1px solid #a9dfcb; border-radius: 18px; background: linear-gradient(135deg, #f3fbf8, #eaf8f2); box-shadow: var(--shadow-sm); }
.today-wins > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.today-wins h2 { margin: .15rem 0 .25rem; color: #173d32; font-size: 1.35rem; }
.today-wins header p { margin: 0; color: #58736a; font-size: .8rem; }
.today-wins > header > strong { flex: none; padding: .5rem .7rem; color: #126849; border: 1px solid #9fd8c3; border-radius: 999px; background: #fff; font-size: .75rem; }
.today-plan-item.is-complete { border-color: #a9ddc9; border-left-color: #27966e; background: #fff; }
.today-plan-item.is-complete > div > small { color: #187453; }
.today-plan-celebration { border-color: #ead28d; border-left-color: #dca92c; background: #fffaf0; }
.today-plan-celebration > span { color: #7d5a08; background: #ffefb7; }

.activity-trends { margin-bottom: 4rem; }
.trend-filters { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: .7rem; }
.trend-filters label { display: grid; gap: .35rem; color: #647084; font-size: .72rem; font-weight: 700; }
.trend-filters select { min-width: 155px; border: 1px solid #d8deea; border-radius: 10px; background: #fff; padding: .72rem .8rem; color: #17243a; }
.trend-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.4rem 0 1rem; }
.trend-stat-grid > div { display: grid; gap: .25rem; padding: 1.15rem 1.25rem; border: 1px solid #e1e6ef; border-radius: 15px; background: #fff; }
.trend-stat-grid span, .trend-stat-grid small { color: #667287; font-size: .77rem; }
.trend-stat-grid strong { color: #15243b; font-size: 1.55rem; }
.trend-chart-card { padding: 1.2rem 1.2rem .9rem; border: 1px solid #e0e5ef; border-radius: 18px; background: #fff; box-shadow: 0 16px 35px rgba(31,45,70,.06); }
.trend-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1rem; color: #68758b; font-size: .76rem; }
.trend-legend span { display: flex; align-items: center; gap: .4rem; }
.trend-legend i { width: 18px; height: 4px; border-radius: 4px; background: #7d8fb2; }
.trend-legend .legend-assessment i { background: #276ee8; }
.trend-legend .legend-practice i { background: #d46b3c; }
.activity-trend-chart { display: block; width: 100%; height: auto; min-height: 240px; margin-top: .4rem; overflow: visible; }
.trend-grid line { stroke: #e8ecf2; stroke-width: 1; }
.trend-axis-labels text { fill: #778398; font-size: 11px; }
.trend-study-bars rect { fill: #a7b4cc; opacity: .55; rx: 2px; }
.trend-line { fill: none; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.trend-line.assessment, .trend-dot.assessment { stroke: #276ee8; fill: #276ee8; }
.trend-line.practice, .trend-dot.practice { stroke: #d46b3c; fill: #d46b3c; }
.trend-dot { stroke: #fff !important; stroke-width: 2; }
.trend-reading { margin: .35rem .4rem 0; padding-top: .85rem; border-top: 1px solid #e8ecf2; color: #5b687c; font-size: .84rem; line-height: 1.55; }
.trend-reading strong { color: #24334a; }
.trend-empty { padding: 2rem; border: 1px dashed #cfd7e4; border-radius: 16px; text-align: center; background: #fafbfd; }
.trend-empty p { margin: .35rem 0 0; color: #68758a; }
.study-coverage-section { padding: 2.2rem 0 3.2rem; border-bottom: 1px solid #e2e7ef; }
.coverage-meter { min-width: 180px; display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: .15rem .5rem; }
.coverage-meter strong { color: #1e3657; font-size: 1.4rem; }
.coverage-meter span { color: #667388; font-size: .78rem; }
.coverage-meter i { grid-column: 1 / -1; height: 7px; overflow: hidden; border-radius: 8px; background: #e4eaf2; }
.coverage-meter b { display: block; height: 100%; background: #2f76db; }
.coverage-baseline-note { display: flex; gap: .55rem 1rem; align-items: baseline; margin: 0 0 1rem; padding: .85rem 1rem; border: 1px solid #c8dbf3; border-radius: 12px; background: #f3f8fe; }
.coverage-baseline-note strong { color: #1d4f8d; }
.coverage-baseline-note span { color: #54677e; font-size: .82rem; }
.coverage-baseline-note.needs-coverage { border-color: #ead8a7; background: #fffaf0; }
.study-objective-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-bottom: 1rem; }
.study-objective-grid label { position: relative; display: block; }
.study-objective-grid input { position: absolute; opacity: 0; pointer-events: none; }
.study-objective-grid span { min-height: 76px; display: grid; grid-template-columns: 40px 1fr; align-items: start; gap: .7rem; padding: .9rem; border: 1px solid #dce3ed; border-radius: 13px; background: #fff; cursor: pointer; }
.study-objective-grid span b { width: 40px; padding: .22rem 0; border-radius: 7px; color: #56708f; background: #edf2f8; text-align: center; font-size: .72rem; }
.study-objective-grid span strong { color: #263750; font-size: .83rem; line-height: 1.45; }
.study-objective-grid input:checked + span { border-color: #70a6e8; background: #f5f9ff; box-shadow: inset 0 0 0 1px #70a6e8; }
.study-objective-grid label:has(input:focus-visible) span { outline: 3px solid var(--focus-light); outline-offset: 2px; }
.study-objective-grid input:checked + span b { color: #fff; background: #2f76db; }

@media (max-width: 820px) {
    .streak-panel { grid-template-columns: 1fr; gap: 1rem; padding-top: 1.3rem; padding-bottom: 1.3rem; }
    .streak-details { justify-content: flex-start; }
    .trend-stat-grid { grid-template-columns: 1fr; }
    .activity-trends .split-heading { align-items: flex-start; flex-direction: column; }.trend-filters { width: 100%; justify-content: flex-start; }.trend-filters label { min-width: 0; flex: 1; }.trend-filters select { width: 100%; min-width: 0; }
    .today-wins > header { align-items: flex-start; flex-direction: column; }
    .study-objective-grid { grid-template-columns: 1fr; }
    .coverage-baseline-note { display: grid; }
}

/* Branch-aware career route */
.guided-career-section { padding: 4rem 0; border-bottom: 1px solid #e1e7ef; }
.guided-route-count { min-width: 170px; padding: 1rem 1.15rem; border: 1px solid #d8e1ec; border-radius: 14px; background: #fff; }
.guided-route-count strong, .guided-route-count span { display: block; }
.guided-route-count strong { color: #1e3552; font-size: 1.55rem; }
.guided-route-count span { color: #68778b; font-size: .78rem; }
.guided-route-key { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.1rem; margin: 1.25rem 0 2rem; padding: .85rem 1rem; border: 1px solid #dce4ee; border-radius: 12px; background: #f8fafc; color: #607087; font-size: .78rem; }
.guided-route-key span { display: inline-flex; align-items: center; gap: .4rem; }
.guided-route-key i { width: 11px; height: 11px; border: 2px solid #b7c3d1; border-radius: 50%; background: #fff; }
.guided-route-key i.complete { border-color: #42ad83; background: #42ad83; }
.guided-route-key i.current { border-color: #337bc7; background: #337bc7; }
.guided-route-key b { margin-left: auto; color: #36516f; }
.branch-roadmap { display: grid; }
.branch-roadmap-stage { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 1rem; }
.branch-stage-marker { position: relative; display: flex; justify-content: center; }
.branch-stage-marker > span { z-index: 2; width: 42px; height: 42px; display: grid; place-items: center; border: 3px solid #c5d0dc; border-radius: 50%; color: #64758a; background: #fff; font-size: .75rem; font-weight: 850; }
.branch-stage-marker > i { position: absolute; top: 41px; bottom: -1px; width: 3px; background: #d8e0e9; }
.branch-roadmap-stage:last-child .branch-stage-marker > i { display: none; }
.branch-roadmap-stage.is-complete .branch-stage-marker > span { border-color: #42ad83; color: #fff; background: #42ad83; }
.branch-roadmap-stage.is-complete .branch-stage-marker > i { background: #70c7a7; }
.branch-roadmap-stage.is-current .branch-stage-marker > span { border-color: #337bc7; color: #fff; background: #337bc7; box-shadow: 0 0 0 6px #e8f2fd; }
.branch-stage-body { margin-bottom: 2.2rem; padding: 1.4rem; border: 1px solid #dbe3ed; border-radius: 17px; background: #fff; box-shadow: 0 7px 22px rgba(28,48,76,.05); }
.branch-roadmap-stage.is-current .branch-stage-body { border-color: #9fc4eb; box-shadow: 0 8px 26px rgba(45,109,177,.11); }
.branch-stage-body > header { display: flex; justify-content: space-between; gap: 1rem; }
.branch-stage-body > header span { color: #728096; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.branch-stage-body > header h3 { margin: .25rem 0 0; color: #1d334f; font-size: 1.35rem; }
.branch-stage-body > header > b { align-self: start; padding: .3rem .55rem; border-radius: 999px; color: #607087; background: #eef2f6; font-size: .7rem; }
.branch-roadmap-stage.is-current .branch-stage-body > header > b { color: #1f64ad; background: #e6f1fd; }
.branch-roadmap-stage.is-complete .branch-stage-body > header > b { color: #177053; background: #e5f7f0; }
.branch-stage-body > p { margin: .7rem 0 1.2rem; color: #607086; line-height: 1.55; }
.branch-choice-label { display: grid; grid-template-columns: auto 1fr; gap: .2rem .7rem; padding: .85rem 1rem; border-left: 4px solid #397fcb; background: #edf5fe; }
.branch-choice-label span { grid-row: 1 / 3; align-self: center; color: #2d6db2; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.branch-choice-label strong { color: #254463; font-size: .9rem; }
.branch-choice-label small { color: #60758a; font-size: .75rem; }
.credential-branch-grid { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: 1rem; padding-top: 1.25rem; }
.credential-branch-grid::before { content: ""; position: absolute; top: 0; left: 8%; right: 8%; height: 1px; background: #bfd0e1; }
.credential-branch-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 1rem; border: 1px solid #dbe3ed; border-radius: 13px; background: #fbfcfe; }
.credential-branch-card::before { content: ""; position: absolute; top: -1.25rem; left: 50%; width: 1px; height: 1.25rem; background: #bfd0e1; }
.credential-branch-card.is-in-progress { border-color: #91bce8; background: #f5f9fe; }
.credential-branch-card.is-earned { border-color: #83cdb2; background: #f1faf7; }
.credential-branch-card > header { display: flex; justify-content: space-between; gap: .5rem; }
.credential-branch-card > header span { color: #276bb3; font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.credential-branch-card > header b { color: #607188; font-size: .68rem; }
.credential-branch-card h4 { margin: .55rem 0 .25rem; color: #213954; font-size: 1.02rem; }
.credential-branch-card > p { margin: 0 0 .8rem; color: #728096; font-size: .75rem; }
.branch-progress { display: grid; gap: .35rem; }
.branch-progress > i { overflow: hidden; height: 7px; border-radius: 999px; background: #e1e7ee; }
.branch-progress > i b { display: block; height: 100%; border-radius: inherit; background: #397fcb; }
.branch-progress > span { color: #6c7b8f; font-size: .72rem; }
.branch-source-summary { margin-top: .75rem; color: #54677e; font-size: .74rem; line-height: 1.5; }
.branch-source-summary strong { color: #187052; }
.branch-source-summary small { display: block; color: #765b38; }
.branch-mini-route { display: grid; gap: .42rem; margin: .85rem 0; }
.mini-route-tick { min-width: 0; display: grid; grid-template-columns: 11px minmax(0, 1fr); align-items: center; gap: .55rem; padding: .48rem .6rem; border: 1px solid #d6dee8; border-radius: 8px; color: #617188; background: #fff; text-decoration: none; }
.mini-route-tick > i { width: 9px; height: 9px; border: 2px solid #aebaca; border-radius: 50%; background: #fff; }
.mini-route-tick > span { min-width: 0; display: grid; gap: .08rem; }
.mini-route-tick strong { overflow: hidden; color: #27394a; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.mini-route-tick small { overflow: hidden; color: #687a8b; font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.mini-route-tick.is-active > i { border-color: #367cc6; background: #367cc6; }
.mini-route-tick.is-complete { color: #176b50; border-color: #9ed6c1; background: #eff9f5; }
.mini-route-tick.is-complete > i { border-color: #39a47a; background: #39a47a; }
.branch-card-action { margin-top: auto; padding-top: .7rem; color: #226bb8; font-size: .78rem; font-weight: 800; text-decoration: none; }
.branch-no-guide { display: grid; gap: .3rem; margin: .45rem 0 .7rem; padding: .75rem; border-radius: 9px; background: #f1f4f8; }
.branch-no-guide strong { color: #465d76; font-size: .78rem; }
.branch-no-guide span { color: #6d7c8f; font-size: .73rem; line-height: 1.45; }
.practical-gate-route { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.practical-gate-route > div { display: grid; gap: .25rem; padding: .9rem; border: 1px solid #dfe5ed; border-radius: 11px; background: #fafbfd; }
.practical-gate-route span { color: #718096; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.practical-gate-route strong { color: #3b526c; font-size: .8rem; line-height: 1.45; }
.reused-credential-note { margin-top: .8rem; padding: .7rem .8rem; display: flex; gap: .45rem; color: #637489; border: 1px dashed #c8d3df; border-radius: 9px; background: #f8fafc; font-size: .75rem; line-height: 1.45; }
.reused-credential-note strong { color: #40566f; }
.completed-roadmap-section > summary { cursor: pointer; list-style: none; }
.completed-roadmap-section > summary::-webkit-details-marker { display: none; }
.completed-roadmap-section > summary:focus-visible { outline: 3px solid var(--focus-light); outline-offset: 3px; }
.branch-stage-body.completed-roadmap-section { padding: 0; overflow: hidden; border-color: #a7d8c6; background: #f5fbf8; }
.completed-stage-summary { min-height: 76px; padding: 1rem 1.35rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .2rem 1rem; }
.completed-stage-summary > span { color: #177053; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.completed-stage-summary > strong { grid-column: 1; color: #1d334f; font-size: 1.15rem; }
.completed-stage-summary > b { grid-column: 2; grid-row: 1 / 3; padding: .35rem .6rem; color: #177053; background: #e0f5ed; border-radius: 999px; font-size: .7rem; }
.completed-stage-summary > b::after, .completed-branch-summary > small::after, .completed-rung > summary > b::after, .completed-competency-stage > summary > b::after { content: " ↓"; }
.completed-roadmap-section[open] > summary b::after, .completed-roadmap-section[open] > summary small::after, .completed-rung[open] > summary b::after { content: " ↑"; }
.completed-stage-detail { padding: 0 1.4rem 1.4rem; border-top: 1px solid #d9eee6; }
.completed-stage-detail > p { margin: 1rem 0 1.2rem; color: #607086; line-height: 1.55; }
.branch-stage-body.future-roadmap-section { border-color: #dbe3ed; background: #fff; }
.future-roadmap-section .completed-stage-summary > span { color: #728096; }
.future-roadmap-section .completed-stage-summary > b { color: #607087; background: #eef2f6; }
.future-roadmap-section .completed-stage-detail { border-top-color: #e5eaf0; }
.credential-branch-card.completed-roadmap-section { display: block; padding: 0; overflow: hidden; }
.completed-branch-summary { min-height: 82px; padding: .9rem 1rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .15rem .8rem; }
.completed-branch-summary > span { color: #177053; font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.completed-branch-summary > strong { color: #213954; font-size: .95rem; }
.completed-branch-summary > b { grid-column: 2; grid-row: 1 / 3; color: #177053; font-size: .7rem; }
.completed-branch-summary > small { grid-column: 1 / -1; color: #607188; font-size: .68rem; }
.completed-branch-detail { padding: 1rem; display: flex; flex-direction: column; border-top: 1px solid #cce8dd; }
.role-rung.is-collapsible { min-height: 74px; padding-block: 15px; border-color: #a9e3c9; background: #f5fbf8; }
.completed-rung > summary { min-height: 42px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 15px; cursor: pointer; list-style: none; }
.completed-rung > summary::-webkit-details-marker { display: none; }
.completed-rung > summary > span { color: var(--green-dark); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.completed-rung > summary > strong { grid-column: 1; font-size: 18px; }
.completed-rung > summary > b { grid-column: 2; grid-row: 1 / 3; color: var(--green-dark); font-size: 10px; }
.completed-rung[open] > summary { margin-bottom: 15px; padding-bottom: 13px; border-bottom: 1px solid #d4e9e1; }
.completed-rung > summary:focus-visible { outline: 3px solid var(--focus-light); outline-offset: 3px; }
.completed-competency-stage > summary { min-height: 90px; padding: 16px 18px; display: flex; align-items: center; gap: 10px; color: var(--white); background: #18362d; }
.completed-competency-stage > summary > span { width: 36px; height: 36px; flex: none; display: grid; place-items: center; color: var(--green); border: 1px solid #5c887a; border-radius: 50%; font: 800 10px ui-monospace,monospace; }
.completed-competency-stage > summary > div { display: flex; min-width: 0; flex-direction: column; }
.completed-competency-stage > summary strong { font-size: 14px; }
.completed-competency-stage > summary small { margin-top: 2px; color: #b7cec6; font-size: 10px; line-height: 1.4; }
.completed-competency-stage > summary > b { margin-left: auto; color: var(--green); font-size: 9px; white-space: nowrap; }
.unified-readiness-history { margin-bottom: 1rem; }
.unified-readiness-history .confidence-chart-card { min-height: 260px; }
.guided-route-key b a { color: #1f64ad; text-decoration: none; }
.guided-route-key b a:hover { text-decoration: underline; }
.unified-route-reality { margin: -1rem 0 2rem; }
.stage-next-action { margin: 1rem 0; padding: 1rem; display: grid; grid-template-columns: 105px minmax(0,1fr) auto; align-items: center; gap: 1rem; color: #d8e6f5; background: #10243b; border-radius: 12px; }
.stage-next-action > span { color: #5de0aa; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.stage-next-action > div { min-width: 0; display: grid; gap: .15rem; }
.stage-next-action small { color: #8ea5bd; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.stage-next-action strong { color: #fff; font-size: 1rem; }
.stage-next-action p { margin: 0; color: #b7c7d8; font-size: .76rem; line-height: 1.45; }
.stage-next-action form { margin: 0; }
.stage-next-action .button { white-space: nowrap; }
.stage-next-action.is-empty { grid-template-columns: 105px 1fr; background: #f5f7fa; border: 1px dashed #c8d3df; }
.stage-next-action.is-empty > span { color: #60758a; }
.stage-next-action.is-empty strong { color: #273f59; }
.stage-next-action.is-empty p { color: #65778b; }
.unified-gate-signals { margin: 1rem 0 1.15rem; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.unified-gate-signals > article { min-width: 0; padding: .85rem; display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: start; gap: .65rem; border: 1px solid #dde5ee; border-radius: 10px; background: #fafbfd; }
.unified-gate-signals > article > i { width: 24px; height: 24px; display: grid; place-items: center; color: #718096; border: 1px solid #c9d3de; border-radius: 50%; font-size: .68rem; font-style: normal; font-weight: 850; }
.unified-gate-signals > article.signal-met { border-color: #a9dbc9; background: #f3faf7; }
.unified-gate-signals > article.signal-met > i { color: #fff; border-color: #36a67b; background: #36a67b; }
.unified-gate-signals article > div { min-width: 0; display: grid; gap: .2rem; }
.unified-gate-signals span { color: #6d7d90; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.unified-gate-signals strong { color: #263d57; font-size: .78rem; }
.unified-gate-signals small { color: #64768a; font-size: .7rem; line-height: 1.45; }
.stage-skill-evidence, .stage-resource-alternatives { margin-top: 1rem; overflow: hidden; border: 1px solid #dbe3ed; border-radius: 11px; background: #fafbfd; }
.stage-skill-evidence > summary, .stage-resource-alternatives > summary { min-height: 62px; padding: .8rem 1rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .12rem .8rem; cursor: pointer; list-style: none; }
.stage-skill-evidence > summary::-webkit-details-marker, .stage-resource-alternatives > summary::-webkit-details-marker { display: none; }
.stage-skill-evidence > summary span, .stage-resource-alternatives > summary span { color: #2a6ead; font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.stage-skill-evidence > summary strong, .stage-resource-alternatives > summary strong { color: #2b4058; font-size: .78rem; }
.stage-skill-evidence > summary small, .stage-resource-alternatives > summary small { grid-column: 1 / -1; color: #708095; font-size: .68rem; }
.stage-skill-evidence > summary strong::after, .stage-resource-alternatives > summary strong::after { content: " ↓"; color: #2a6ead; }
.stage-skill-evidence[open] > summary strong::after, .stage-resource-alternatives[open] > summary strong::after { content: " ↑"; }
.stage-skill-grid { padding: .85rem; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,210px),1fr)); gap: .7rem; border-top: 1px solid #dbe3ed; }
.stage-resource-list { padding: .85rem; display: grid; gap: .7rem; border-top: 1px solid #dbe3ed; }
.stage-resource-list > article { padding: .9rem; border: 1px solid #dce4ed; border-radius: 9px; background: #fff; }
.stage-resource-list > article > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.stage-resource-list header > div { min-width: 0; display: grid; gap: .18rem; }
.stage-resource-list header span { color: #6b7c90; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.stage-resource-list header strong { color: #263d57; font-size: .85rem; }
.stage-resource-list > article > p { margin: .65rem 0 .2rem; color: #54677d; font-size: .72rem; }
.stage-resource-list > article > small { color: #6b7c90; font-size: .68rem; }
.stage-resource-review { margin-top: .6rem; color: #7b899a; font-size: .64rem; }
.stage-resource-list > article > footer { margin-top: .7rem; padding-top: .65rem; display: flex; align-items: center; gap: 1rem; border-top: 1px solid #edf0f4; }
.stage-resource-list footer > a, .stage-resource-list footer > details > summary { color: #226bb8; font-size: .72rem; font-weight: 800; cursor: pointer; }
.stage-resource-list footer form { width: min(430px,70vw); margin-top: .6rem; padding: .8rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; background: #f4f7fa; border-radius: 8px; }
.stage-resource-list footer form label { color: #5f7186; font-size: .68rem; font-weight: 750; }
.stage-resource-list footer form input { width: 100%; min-height: 36px; margin-top: .2rem; padding: 0 .5rem; border: 1px solid #cad5e1; border-radius: 5px; }
.stage-resource-list footer form label:last-of-type, .stage-resource-list footer form p, .stage-resource-list footer form button { grid-column: 1 / -1; }
.stage-resource-list footer form p { margin: 0; color: #6c7d91; font-size: .67rem; }
@media (max-width: 760px) {
    .stage-next-action { grid-template-columns: 1fr; }
    .unified-gate-signals { grid-template-columns: 1fr; }
    .stage-resource-list footer form { width: min(100%,calc(100vw - 76px)); grid-template-columns: 1fr; }
    .stage-resource-list footer form label, .stage-resource-list footer form p, .stage-resource-list footer form button { grid-column: 1; }
}

/* First-party lessons and adaptive objective progression */
.adaptive-study-section { padding: 3rem 0; border-bottom: 1px solid #e2e7ef; }
.guided-source-promise { display: flex; justify-content: space-between; gap: 1rem; margin: 1rem 0; padding: .8rem 1rem; border: 1px solid #b8dfd0; border-radius: 11px; color: #24624d; background: #eff9f5; }
.guided-source-promise span { color: #557466; font-size: .78rem; }
.supplemental-resource-section { padding: 3rem 0; border-bottom: 1px solid #e2e7ef; scroll-margin-top: 145px; }
.supplemental-resource-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1rem; }
.supplemental-resource-grid article { padding: 1.25rem; border: 1px solid #d9e1eb; border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.supplemental-resource-grid header { display: flex; justify-content: space-between; gap: 1rem; color: #66778c; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.supplemental-resource-grid header b { color: #855f17; }
.supplemental-resource-grid h3 { margin: .75rem 0 .5rem; font-size: 1rem; }
.supplemental-resource-grid h3 a { color: #233854; text-decoration: none; }
.supplemental-resource-grid p { color: #53677e; font-size: .82rem; line-height: 1.55; }
.supplemental-resource-grid small, .supplemental-resource-cost { color: #6c788a; font-size: .74rem; }
.supplemental-resource-cost { margin-top: .55rem; padding-top: .55rem; border-top: 1px solid #e6ebf1; }
.adaptive-plan-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; margin: 1.4rem 0; }
.adaptive-plan-summary article { display: grid; gap: .25rem; padding: 1rem 1.1rem; border: 1px solid #dfe6ef; border-radius: 14px; background: #fff; }
.adaptive-plan-summary span, .adaptive-plan-summary small { color: #68758a; font-size: .75rem; }
.adaptive-plan-summary strong { color: #1d304c; font-size: 1.05rem; }
.adaptive-next-action { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 1.1rem 0 1.5rem; padding: 1.35rem 1.5rem; border: 1px solid #9bc1ef; border-radius: 17px; background: linear-gradient(120deg, #edf6ff, #f8fbff); }
.adaptive-next-action > div { display: grid; gap: .25rem; }
.adaptive-next-action span { color: #2364ad; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.adaptive-next-action h3, .adaptive-next-action p { margin: 0; }
.adaptive-next-action h3 { color: #17375f; font-size: 1.2rem; }
.adaptive-next-action p { color: #586b81; font-size: .84rem; }
.tracker-page .supplemental-resource-section, .tracker-page .adaptive-study-section, .tracker-secondary-section { margin-top: 1rem; padding: 0; border: 0; scroll-margin-top: 145px; }
.tracker-page-panel { padding-top: 1rem; }
.tracker-section-disclosure { overflow: hidden; border: 1px solid #d8e1eb; border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.tracker-section-disclosure > summary { min-height: 78px; padding: 1rem 1.2rem; display: grid; grid-template-columns: minmax(0,1fr) auto 28px; align-items: center; gap: .35rem 1rem; color: #263d57; cursor: pointer; list-style: none; }
.tracker-section-disclosure > summary::-webkit-details-marker { display: none; }
.tracker-section-disclosure > summary::after { content: "+"; width: 28px; height: 28px; display: grid; place-items: center; color: #2364ad; border-radius: 50%; background: #edf4fb; font-size: 1.1rem; font-weight: 700; }
.tracker-section-disclosure[open] > summary { border-bottom: 1px solid #e2e8ef; }
.tracker-section-disclosure[open] > summary::after { content: "−"; }
.tracker-section-disclosure > summary > span { min-width: 0; display: grid; gap: .15rem; }
.tracker-section-disclosure > summary b { color: #24745b; font-size: .7rem; letter-spacing: .075em; text-transform: uppercase; }
.tracker-section-disclosure > summary strong { font-size: .98rem; }
.tracker-section-disclosure > summary small { color: #6b788a; font-size: .75rem; }
.tracker-disclosure-body { padding: 1.4rem; }
.tracker-disclosure-body > .section-heading:first-child { margin-bottom: 1.1rem; }
.tracker-disclosure-body .tracker-graph-section, .tracker-disclosure-body .study-plan-section { margin-top: 0; }
.tracker-disclosure-body .tracker-graph-section + .tracker-graph-section, .tracker-disclosure-body .tracker-record-section { margin-top: 3rem; }
.tracker-disclosure-body .study-coverage-section { padding: 2rem 0 0; border: 0; }
.tracker-nested-disclosure { margin-top: 1rem; overflow: hidden; border: 1px solid #dce4ed; border-radius: 10px; background: #f8fafc; }
.tracker-nested-disclosure > summary { min-height: 48px; padding: .75rem 1rem; color: #52677f; cursor: pointer; font-size: .78rem; font-weight: 800; }
.tracker-nested-disclosure[open] > summary { border-bottom: 1px solid #dce4ed; }
.tracker-nested-disclosure .supplemental-resource-grid { padding: 1rem; }
.objective-timeline { display: grid; }
.objective-catalog-disclosure { margin-top: 1rem; }
.objective-timeline-item { display: grid; grid-template-columns: 48px minmax(0, 1fr) 120px; gap: 1rem; min-height: 108px; padding: .2rem 0; }
.objective-timeline-marker { position: relative; display: flex; justify-content: center; }
.objective-timeline-marker span { z-index: 1; width: 34px; height: 34px; display: grid; place-items: center; border: 2px solid #c9d3e0; border-radius: 50%; color: #64758b; background: #fff; font-size: .68rem; font-weight: 800; }
.objective-timeline-marker i { position: absolute; top: 33px; bottom: -3px; width: 2px; background: #dce3ec; }
.objective-timeline-item:last-child .objective-timeline-marker i { display: none; }
.objective-timeline-copy { padding: .15rem 0 1.2rem; }
.objective-timeline-copy header { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.objective-timeline-copy header span { color: #6b788b; font-size: .69rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.objective-timeline-copy header b { padding: .18rem .45rem; border-radius: 999px; color: #5b6a7e; background: #edf1f6; font-size: .66rem; }
.objective-timeline-copy h3 { margin: .3rem 0 .25rem; font-size: .98rem; }
.objective-timeline-copy h3 a { color: #233854; text-decoration: none; }
.objective-timeline-copy h3 a:hover { color: #1769c2; }
.objective-timeline-copy p { margin: 0; color: #6c788a; font-size: .76rem; }
.objective-timeline-date { display: grid; align-content: start; justify-items: end; gap: .15rem; padding-top: .2rem; text-align: right; }
.objective-timeline-date span { color: #8792a3; font-size: .65rem; text-transform: uppercase; }
.objective-timeline-date strong { color: #435570; font-size: .82rem; }
.objective-timeline-date a { margin-top: .35rem; color: #246dbd; font-size: .73rem; font-weight: 700; text-decoration: none; }
.objective-timeline-item.is-complete .objective-timeline-marker span { border-color: #4fc399; color: #146c51; background: #e9f9f3; }
.objective-timeline-item.is-checkpoint .objective-timeline-marker span, .objective-timeline-item.is-recommended .objective-timeline-marker span { border-color: #397fd2; color: #fff; background: #397fd2; }
.objective-timeline-item.is-needs-work .objective-timeline-marker span, .objective-timeline-item.is-review .objective-timeline-marker span { border-color: #db8b49; color: #8b4313; background: #fff3e8; }
.objective-timeline-item.is-recommended .objective-timeline-copy { margin: -.5rem 0 .65rem; padding: .65rem .9rem; border: 1px solid #c9ddf5; border-radius: 12px; background: #f6faff; }
.objective-guide-steps { display: flex; flex-wrap: wrap; gap: .38rem; margin-top: .7rem; }
.guide-step { display: inline-flex; align-items: center; gap: .3rem; min-height: 30px; padding: .3rem .46rem; border: 1px solid #d8e0e9; border-radius: 8px; color: #607087; background: #fff; font-size: .7rem; font-weight: 750; text-decoration: none; }
.guide-step i { width: 15px; height: 15px; display: grid; place-items: center; border-radius: 50%; color: #78879a; background: #edf1f5; font-size: .58rem; font-style: normal; }
.guide-step small { color: #187153; font-size: .62rem; font-weight: 800; }
.guide-step.is-complete { border-color: #92cfb8; color: #176b50; background: #eef9f5; }
.guide-step.is-complete i { color: #fff; background: #36a078; }
.guide-step:hover { border-color: #77a9dc; color: #225f9f; }
.certification-finish-gate { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1rem 0; }
.finish-gate-marker { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #253d5c; }
.certification-finish-gate strong { color: #243b58; }
.certification-finish-gate p { margin: .2rem 0 0; color: #66768a; font-size: .76rem; }
.certification-finish-gate > a { color: #236bb7; font-size: .78rem; font-weight: 800; text-decoration: none; }
.coverage-manual { border: 1px solid #dce3ed; border-radius: 15px; background: #fafbfd; }
.coverage-manual > summary { padding: 1rem 1.15rem; color: #455a74; cursor: pointer; font-weight: 750; }
.coverage-manual[open] > summary { border-bottom: 1px solid #e1e6ee; }
.coverage-manual > div, .coverage-manual > form { margin-left: 1rem; margin-right: 1rem; }

.lesson-hero { padding: 3.2rem 0 2.8rem; color: #fff; background: #111d31; }
.lesson-shell { max-width: 1120px; }
.lesson-hero .breadcrumbs, .lesson-hero .breadcrumbs a { color: #aebbd0; }
.lesson-hero-main { max-width: 900px; }
.lesson-hero h1 { max-width: 850px; margin: .65rem 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; }
.lesson-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.1rem; }
.lesson-meta > span { padding: .35rem .6rem; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; color: #c8d5e7; font-size: .72rem; }
.lesson-progress-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .75rem; margin-top: 1rem; color: #c8d5e7; font-size: .75rem; }
.lesson-progress-summary > span { color: #7f91aa; text-transform: uppercase; letter-spacing: .08em; }
.lesson-progress-summary > strong { color: #fff; font-size: .9rem; }
.lesson-progress-summary > small { color: #aebbd0; }
.lesson-progress-summary > a { color: #63dcf6; font-weight: 750; }
.lesson-page { background: #f7f9fc; }
.lesson-page > .lesson-shell { display: grid; gap: 1.4rem; }
.lesson-workspace { overflow: hidden; border: 1px solid #dce3ed; border-radius: 17px; background: #fff; box-shadow: var(--shadow-sm); }
.lesson-workspace > section { padding: 2rem; }
.lesson-workspace > section + section { border-top: 1px solid #e3e8ef; }
.lesson-resources { margin: 0; }
.lesson-opening { margin-bottom: 1.35rem; }
.lesson-model-copy { max-width: 760px; color: #40546d !important; font-size: 1rem !important; line-height: 1.65; }
.resource-progress { align-self: end; min-width: 7rem; padding: 0; text-align: right; }
.resource-progress strong, .resource-progress span { display: block; }
.resource-progress strong { color: #233854; font-size: 1.15rem; }
.resource-progress span { color: #6c788a; font-size: .72rem; }
.lesson-resource-choice { padding: 0; border-top: 1px solid #e3e8ef; }
.lesson-resource-choice + .lesson-resource-choice { margin-top: .5rem; }
.lesson-resource-choice > summary { list-style: none; cursor: pointer; }
.lesson-resource-choice > summary::-webkit-details-marker { display: none; }
.lesson-resource-choice > summary::after { content: "+"; flex: none; width: 1.5rem; height: 1.5rem; display: grid; place-items: center; color: #60738b; border-radius: 50%; background: #edf1f5; font-size: 1rem; }
.lesson-resource-choice[open] > summary::after { content: "−"; }
.lesson-resource-choice.is-current > summary::after { color: #fff; background: #23805f; }
.lesson-resource-choice.is-complete > summary { padding: 1rem .75rem; border-left: 4px solid #2f9873; border-radius: .65rem; background: #f1faf6; }
.lesson-resource-choice.is-complete .learning-block-heading > div > span { color: #1d7859; }
.lesson-resource-choice.is-complete .learning-block-heading h3 { color: #1d563f; }
.lesson-block-body { padding: 0 0 .5rem; }
.learning-block-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0; padding: 1rem 0; }
.learning-block-heading > div > span { color: #3973b4; font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.learning-block-heading h3 { margin: .2rem 0 0; color: #233854; font-size: .96rem; }
.learning-block-heading > strong { margin-left: auto; color: #526a84; font-size: .75rem; white-space: nowrap; }
.learning-block-status.is-complete { min-height: 28px; padding: .3rem .55rem; display: inline-flex; align-items: center; gap: .3rem; color: #176b50; border: 1px solid #92cfb8; border-radius: 999px; background: #fff; }
.learning-block-status.is-complete > span { color: #fff; width: 16px; height: 16px; display: grid; place-items: center; border-radius: 50%; background: #2f9873; font-size: .6rem; line-height: 1; }
.learning-block-status.is-next { color: #8b5317; }
.learning-block-current-action { margin: 0 0 .6rem; padding: .85rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-left: 4px solid #23805f; background: #eef9f5; }
.learning-block-current-action > span { display: grid; gap: .15rem; }
.learning-block-current-action strong { color: #185f49; font-size: .82rem; }
.learning-block-current-action small { color: #557466; font-size: .72rem; }
.lesson-video { overflow: hidden; width: 100%; margin: 1rem 0; aspect-ratio: 16 / 9; border-radius: .75rem; background: #111827; box-shadow: 0 10px 28px rgba(15, 31, 50, .14); }
.lesson-video iframe { width: 100%; height: 100%; border: 0; }
.lesson-guided-sequence { padding: .75rem 0 .25rem; }
.lesson-sequence-step { padding: 1rem 0; }
.lesson-sequence-step + .lesson-sequence-step { margin-top: .4rem; padding-top: 1.35rem; border-top: 1px solid #dfe6ee; }
.lesson-sequence-step > header { display: flex; align-items: center; gap: .75rem; }
.lesson-sequence-step > header > span { flex: none; width: 2rem; height: 2rem; display: grid; place-items: center; color: #fff; border-radius: 50%; background: #16765a; font-size: .78rem; font-weight: 850; }
.lesson-sequence-step > header > div { display: grid; gap: .1rem; min-width: 0; }
.lesson-sequence-step > header small { color: #28705c; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lesson-sequence-step > header strong { color: #203954; font-size: .96rem; }
.lesson-sequence-step > header > b { margin-left: auto; color: #61748a; font-size: .7rem; }
.lesson-inline-concepts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; }
.lesson-inline-concepts > div { min-width: 0; padding: 1rem; border: 1px solid #e0e7ef; border-radius: .7rem; background: #f8fafc; }
.lesson-inline-concepts h4 { margin: 0 0 .35rem; color: #213b59; font-size: .9rem; }
.lesson-inline-concepts p { margin: 0; color: #52677e; font-size: .79rem; line-height: 1.55; }
.lesson-source-record { margin: .9rem 0; border-top: 1px solid #e1e7ee; border-bottom: 1px solid #e1e7ee; }
.lesson-source-record > summary { min-height: 44px; display: flex; align-items: center; color: #63768c; cursor: pointer; font-size: .72rem; font-weight: 750; }
.lesson-source-record > div { display: grid; gap: .35rem; padding: 0 0 .75rem; }
.lesson-source-record a { display: grid; grid-template-columns: minmax(8rem, .35fr) minmax(0, 1fr); gap: .2rem .75rem; padding: .6rem .7rem; color: #294866; border-radius: .5rem; background: #f5f8fb; text-decoration: none; }
.lesson-source-record a span, .lesson-source-record a small { min-width: 0; }
.lesson-source-record a small { grid-column: 2; color: #748398; font-size: .66rem; }
.lesson-sequence-complete { display: flex; justify-content: flex-end; }
.lesson-resource-note { margin: 1rem 0 0; padding: .85rem 1rem; color: #5e6f83; border-left: 4px solid #7b91aa; background: #eef2f6; font-size: .82rem; line-height: 1.55; }
.lesson-resource-note strong { color: #334c68; }
.lesson-resource-note a { color: #245f9f; font-weight: 750; text-decoration: none; }
.bounded-assignment { margin: .9rem 0; padding: .8rem 0; border-top: 1px solid #dce5ef; border-bottom: 1px solid #dce5ef; }
.bounded-assignment header { color: #285f9a; font-size: .76rem; letter-spacing: 0; text-transform: none; }
.bounded-assignment p { margin: .45rem 0; color: #3d5772; font-size: .82rem; line-height: 1.5; }
.bounded-assignment small { margin: .4rem 0 0; color: #526d88; font-size: .75rem; }
.resource-complete-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem; }
.resource-complete-actions form { margin-left: auto; }
.resource-complete-mark { display: inline-flex; align-items: center; gap: .45rem; color: #146c51; font-weight: 700; }
.resource-complete-mark span { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 50%; background: #d8f3e9; }
.lesson-boundary { grid-column: 1 / -1; display: flex; gap: .6rem 1rem; padding: .9rem 1rem; border-left: 4px solid #3b7fce; background: #eaf3fd; }
.lesson-boundary strong { color: #1d4f88; white-space: nowrap; }
.lesson-boundary span { color: #526980; font-size: .84rem; line-height: 1.5; }
.lesson-concept-section { overflow: hidden; margin-top: 1rem; border-top: 1px solid #dde4ed; background: #fff; }
.lesson-concept-section.is-learned { border-top-color: #76bba2; }
.lesson-concept-section > summary { display: flex; justify-content: space-between; padding: .8rem 0; color: #596b82; font-size: .75rem; cursor: pointer; list-style: none; }
.lesson-concept-section > summary::-webkit-details-marker { display: none; }
.lesson-concept-section > summary::after { content: "+"; margin-left: .65rem; color: #718198; font-size: .9rem; }
.lesson-concept-section[open] > summary::after { content: "−"; }
.lesson-concept-section > summary b { margin-left: auto; color: #557086; font-size: .68rem; }
.lesson-concept-section.is-current > summary b, .lesson-concept-section.is-learned > summary b { color: #176b50; }
.lesson-concept-body { border-top: 1px solid #e4e9f0; }
.lesson-concept-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lesson-concept-grid > div { position: relative; min-height: 150px; padding: 1.3rem 1.35rem 1.2rem 3.7rem; border-right: 1px solid #e8ecf2; border-bottom: 1px solid #e8ecf2; }
.lesson-concept-grid > div:nth-child(even) { border-right: 0; }
.lesson-concept-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.lesson-concept-grid span { position: absolute; top: 1.35rem; left: 1.2rem; color: #89a0ba; font-size: .7rem; font-weight: 800; }
.lesson-concept-grid h3 { margin: 0 0 .45rem; color: #21364f; font-size: 1rem; }
.lesson-concept-grid p { margin: 0; color: #5e6f83; font-size: .86rem; line-height: 1.58; }
.lesson-concept-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-top: 1px solid #e4e9f0; }
.lesson-concept-actions > div { display: grid; grid-template-columns: auto 1fr; gap: .1rem .5rem; color: #31506d; }
.lesson-concept-actions > div > span { grid-row: 1 / 3; width: 1.5rem; height: 1.5rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #36a078; }
.lesson-concept-actions strong { font-size: .8rem; }
.lesson-concept-actions small { color: #6b7a8e; font-size: .72rem; }
.lesson-concept-actions form { flex: 0 0 auto; }
.lesson-application, .lesson-finish { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
.lesson-application h2, .lesson-finish h2 { margin: .25rem 0 .5rem; }
.lesson-application p, .lesson-finish p { margin: 0; color: #647388; line-height: 1.6; }
.lesson-application ol { margin: 0; padding-left: 1.4rem; color: #3e526c; line-height: 1.75; }
.lesson-finish form { display: grid; align-content: start; gap: .8rem; }
.lesson-finish label { display: grid; gap: .4rem; color: #53657b; font-size: .78rem; font-weight: 700; }
.lesson-finish select { width: 100%; padding: .75rem; border: 1px solid #ccd6e2; border-radius: 10px; background: #fff; color: #263950; }
.lesson-finish .lesson-checkpoint-form { grid-column: 2; }
.lesson-sources { border: 1px solid #dce3ed; border-radius: 12px; background: #fff; }
.lesson-sources > summary { padding: 1rem 1.2rem; color: #40546d; font-size: .8rem; font-weight: 800; cursor: pointer; }
.lesson-sources[open] > summary { border-bottom: 1px solid #e3e8ef; }
.lesson-sources > div { display: grid; gap: .65rem; padding: 1rem; }
.lesson-sources a { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem; border: 1px solid #e0e6ee; border-radius: 10px; color: #2a405b; text-decoration: none; }
.lesson-sources a span { color: #647a94; font-size: .75rem; }
.lesson-pagination { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.lesson-pagination a { display: grid; gap: .25rem; padding: 1rem; border: 1px solid #dae2ec; border-radius: 13px; color: #304761; background: #fff; text-decoration: none; }
.lesson-pagination a:last-child { text-align: right; }
.lesson-pagination span { color: #77869a; font-size: .68rem; text-transform: uppercase; }
.lesson-pagination strong { font-size: .8rem; }
.lesson-return-today { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: 1.2rem 1.3rem; border: 1px solid #a9ddc9; border-radius: 15px; background: linear-gradient(135deg, #f4fbf8, #e9f8f2); }
.lesson-return-today > div { display: grid; gap: .2rem; }
.lesson-return-today strong { color: #1d4f40; font-size: 1rem; }
.lesson-return-today small { color: #60766f; font-size: .76rem; line-height: 1.45; }

@media (max-width: 820px) {
    .practice-spotlight-grid, .study-priority-grid { grid-template-columns: 1fr; }
    .catalog-preview-notice { grid-template-columns: auto minmax(0,1fr); align-items: start; }.catalog-preview-notice > a { grid-column: 2; }.practice-search-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }.practice-search-controls > span { align-self: center; padding: 0 4px; }
    .guided-route-key b { width: 100%; margin-left: 0; }
    .branch-roadmap-stage { grid-template-columns: 46px minmax(0, 1fr); }
    .branch-stage-body { padding: 1rem; }
    .credential-branch-grid { grid-template-columns: 1fr; padding: .8rem 0 0 1.2rem; }
    .credential-branch-grid::before { top: 0; bottom: 8%; left: 0; right: auto; width: 1px; height: auto; }
    .credential-branch-card::before { top: 1.3rem; left: -1.2rem; width: 1.2rem; height: 1px; }
    .practical-gate-route { grid-template-columns: 1fr; }
    .reused-credential-note { display: grid; }
    .guided-source-promise { display: grid; }
    .lesson-opening { align-items: flex-start; flex-direction: column; gap: .75rem; }
    .lesson-opening .resource-progress { text-align: left; }
    .learning-block-heading { display: grid; align-items: start; }
    .learning-block-heading > strong { white-space: normal; }
    .learning-block-heading::after { grid-column: 2; grid-row: 1 / 3; }
    .learning-block-current-action { align-items: stretch; flex-direction: column; }
    .adaptive-plan-summary, .lesson-hero-grid, .lesson-model, .lesson-application, .lesson-finish, .lesson-sources { grid-template-columns: 1fr; }
    .adaptive-next-action { align-items: stretch; flex-direction: column; }
    .tracker-section-disclosure > summary { grid-template-columns: minmax(0,1fr) 28px; min-height: 88px; padding: .9rem 1rem; }
    .tracker-section-disclosure > summary small { grid-column: 1; grid-row: 2; }
    .tracker-section-disclosure > summary::after { grid-column: 2; grid-row: 1 / 3; }
    .tracker-disclosure-body { padding: 1rem; }
    .objective-timeline-item { grid-template-columns: 42px minmax(0, 1fr); }
    .objective-timeline-date { grid-column: 2; justify-items: start; padding: 0 0 1rem; text-align: left; }
    .certification-finish-gate { grid-template-columns: 42px minmax(0, 1fr); }
    .certification-finish-gate > a { grid-column: 2; }
    .lesson-concept-grid { grid-template-columns: 1fr; }
    .lesson-inline-concepts { grid-template-columns: 1fr; }
    .lesson-sequence-step > header { align-items: flex-start; flex-wrap: wrap; }
    .lesson-return-today { align-items: stretch; flex-direction: column; }
    .lesson-return-today .button { width: 100%; }
    .lesson-sequence-step > header > b { width: 100%; margin-left: 2.75rem; }
    .lesson-source-record a { grid-template-columns: 1fr; }
    .lesson-source-record a small { grid-column: 1; }
    .lesson-sequence-complete .button { width: 100%; }
    .lesson-concept-grid > div { border-right: 0; border-bottom: 1px solid #e8ecf2 !important; }
    .lesson-concept-grid > div:last-child { border-bottom: 0 !important; }
    .lesson-concept-actions { align-items: stretch; flex-direction: column; }
    .lesson-concept-actions .button { width: 100%; }
    .lesson-boundary { display: grid; }
    .lesson-boundary strong { white-space: normal; }
    .lesson-finish .lesson-checkpoint-form { grid-column: 1; }
}

@media (max-width: 560px) {
    .catalog-focus-section { padding: 40px 0; }.catalog-preview-notice { grid-template-columns: 1fr; }.catalog-preview-notice > span { width: fit-content; }.catalog-preview-notice > a { grid-column: 1; }.practice-search-controls { grid-template-columns: 1fr; }.practice-search-controls > span { padding: 2px 1px; }.study-priority-grid article { grid-template-columns: 1fr; }.study-priority-grid a:not(.button) { justify-self: start; }
}

@media (min-width: 721px) and (max-height: 850px) {
    .study-hero.is-hosted { padding: 30px 0 28px; }
    .study-hero.is-hosted h1 { margin: 10px 0 9px; font-size: clamp(38px, 4vw, 48px); line-height: 1.05; }
    .study-hero.is-hosted h1 br { display: none; }
    .study-hero.is-hosted p { max-width: 880px; font-size: 14px; line-height: 1.5; }
    .study-hero.is-hosted + .study-local-nav > div { min-height: 50px; }
    .study-hero.is-hosted + .study-local-nav + .study-content { padding-top: 34px; }
    #active-study-track > .section-heading { margin-bottom: 18px; }
}

/* Compact secondary account settings without turning the page into separate destinations. */
.account-disclosure { margin-top: 20px; margin-bottom: 0; overflow: hidden; border: 1px solid var(--ink-150); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.account-disclosure > summary { min-height: 78px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--ink-700); cursor: pointer; list-style: none; }
.account-disclosure > summary::-webkit-details-marker { display: none; }
.account-disclosure > summary > span { min-width: 0; display: flex; flex-direction: column; }
.account-disclosure > summary small { color: var(--green-dark); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.account-disclosure > summary strong { margin-top: 2px; font-size: 18px; }
.account-disclosure > summary b { margin-top: 2px; color: var(--ink-500); font-size: 11px; font-weight: 500; }
.account-disclosure > summary em { flex: none; color: var(--green-dark); font-size: 11px; font-style: normal; font-weight: 850; }
.account-disclosure > summary em::after { content: " +"; }
.account-disclosure[open] > summary { border-bottom: 1px solid var(--ink-100); background: var(--ink-50); }
.account-disclosure[open] > summary em::after { content: " −"; }
.account-disclosure-body { padding: 22px; }
.account-disclosure-intro { margin: 0 0 16px; color: var(--ink-500); font-size: 12px; }
.account-disclosure .portable-merge-notice { margin: 0 0 16px; }
.account-page .career-context-card select,
.account-page .credential-earned .credential-date-control > input[type="text"],
.account-page .credential-date-control > button,
.portable-progress-grid input[type="file"],
.account-tool-card input[type="file"],
.private-goal-card form input,
.private-goal-card form select,
.identity-grid button,
.account-deck-list button,
.connect-provider-row button { min-height: 44px; }
.account-page .credential-date-control { grid-template-columns: 1fr 44px; }
.account-page .credential-date-control > button { width: 44px; }
.identity-grid button, .account-deck-list button { padding: 0 8px; }
.private-goal-requirements a { min-height: 44px; padding: 0 4px; display: inline-flex; align-items: center; }
.account-archive-card, .account-danger-zone { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.account-archive-card { margin-bottom: 18px; }
.account-archive-card > div, .account-danger-zone > div { max-width: 760px; }
.account-archive-card h3, .account-danger-zone h2 { margin: 4px 0 7px; }
.account-danger-zone { margin-top: 20px; padding: 22px; border: 1px solid #edc9cc; border-radius: var(--radius); background: #fffafb; box-shadow: var(--shadow-sm); scroll-margin-top: 145px; }
.danger-kicker, .form-error { color: #8d2932; }
.sensitive-account-page { max-width: 760px; }
.sensitive-account-page h1 { margin: 10px 0 14px; }
.sensitive-account-page form { margin-top: 24px; }
.sensitive-account-page form > label { display: grid; gap: 8px; margin-bottom: 16px; }
.sensitive-account-page input[type="text"] { min-height: 46px; }
.sensitive-account-page .assurance-note { margin: 24px 0; }
.account-deleted-notice { margin-top: 18px; padding: 14px 16px; display: flex; gap: 12px; color: var(--green-dark); background: #e4f8ef; border: 1px solid #afe6ce; border-radius: var(--radius-sm); }
.account-deleted-notice span { color: var(--ink-700); }

/* Keep the canonical result action visually primary; supporting actions stay available. */
.quiz-result-actions { align-items: center; }
.quiz-progress-link { min-height: 44px; padding: 0 8px; display: inline-flex; align-items: center; color: var(--ink-600); font-size: 12px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.quiz-progress-link:hover { color: var(--green-dark); }
.quiz-correction-panel { border-color: transparent; background: transparent; }
.quiz-correction-panel > summary { min-height: 44px; padding: 8px 0; display: inline-flex; align-items: center; color: var(--ink-500); text-decoration: underline; text-underline-offset: 3px; }
.quiz-correction-panel[open] { border-color: var(--ink-150); background: var(--white); }
.quiz-correction-panel[open] > summary { width: 100%; padding-inline: 13px; border-bottom: 1px solid var(--ink-100); color: var(--green-dark); text-decoration: none; }
.quiz-correction-panel[open] > div { padding-top: 13px; }

@media (max-width: 620px) {
    .account-hero { padding: 38px 0; }
    .account-hero h1 { font-size: 38px; }
    .account-local-nav::after { content: ""; position: absolute; top: 0; right: 0; bottom: 5px; width: 28px; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.98)); }
    .account-local-nav > div { min-height: 58px; padding: 4px 28px 6px 0; gap: 6px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--ink-300) transparent; }
    .account-local-nav > div::-webkit-scrollbar { height: 5px; }
    .account-local-nav > div::-webkit-scrollbar-thumb { background: var(--ink-300); border-radius: 999px; }
    .account-local-nav a { min-height: 44px; padding: 0 12px; display: inline-flex; align-items: center; border-radius: 6px; white-space: nowrap; }
    .account-local-nav a:hover { background: var(--ink-100); }
    .account-page { padding-top: 26px; }
    .account-disclosure { scroll-margin-top: 145px; }
    .account-disclosure > summary { min-height: 82px; padding: 13px 14px; }
    .account-disclosure > summary strong { font-size: 16px; }
    .account-disclosure > summary b { max-width: 270px; font-size: 10px; }
    .account-disclosure-body { padding: 14px; }
    .quiz-result-actions .quiz-progress-link { align-self: center; }
    .account-archive-card, .account-danger-zone { align-items: stretch; flex-direction: column; }
    .account-archive-card .button, .account-danger-zone .button, .sensitive-account-page .button { width: 100%; }
}

@media (max-width: 840px), (hover: none) and (pointer: coarse) {
    .atlas-node > div:last-of-type a { min-height: 44px; padding: 0 7px; display: inline-flex; align-items: center; }
    .study-library-nav a { min-height: 44px; display: inline-flex; align-items: center; }
    .study-library-nav.is-overflowing.has-overflow-right::after { content: ""; position: absolute; top: 0; right: 0; bottom: 5px; width: 28px; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.98)); }
    .study-library-nav.is-overflowing > div { padding-right: 28px; scrollbar-width: thin; scrollbar-color: var(--ink-300) transparent; }
    .study-library-nav.is-overflowing > div::-webkit-scrollbar { display: block; height: 5px; }
    .study-library-nav.is-overflowing > div::-webkit-scrollbar-thumb { background: var(--ink-300); border-radius: 999px; }
}
