/* EDUCypher V7 — Figma + MagicPath + Lovable integration pass */
:root{
  --edu-bg:#071019;--edu-bg-soft:#09141c;--edu-surface:#0d1822;--edu-surface-2:#111f2b;--edu-surface-3:#152733;
  --edu-text:#f3f7fa;--edu-text-2:#c7d2d9;--edu-muted:#aab9c4;--edu-subtle:#8194a1;
  --edu-line:#203747;--edu-line-strong:#315669;--edu-accent:#61dbff;--edu-accent-strong:#84e7ff;--edu-warn:#f4c978;
  --edu-success:#8ee6b7;--edu-danger:#ff9b9b;--edu-radius:16px;--edu-radius-lg:24px;--edu-shadow:0 24px 70px rgba(0,0,0,.28);
  --edu-reading:880px;--edu-shell:1540px;
}
html[data-theme="light"]{
  --edu-bg:#f5f7fa;--edu-bg-soft:#eef2f6;--edu-surface:#fff;--edu-surface-2:#f7f9fb;--edu-surface-3:#eaf0f4;
  --edu-text:#111827;--edu-text-2:#263442;--edu-muted:#52606d;--edu-subtle:#647381;
  --edu-line:#cbd5df;--edu-line-strong:#9eafbc;--edu-accent:#006b8f;--edu-accent-strong:#005575;--edu-warn:#845d00;
  --edu-success:#176b4d;--edu-danger:#a12d34;--edu-shadow:0 22px 55px rgba(30,49,66,.12)
}
html{color-scheme:dark;scroll-behavior:smooth}html[data-theme="light"]{color-scheme:light}
body{color:var(--edu-text);accent-color:var(--edu-accent)}
body::before{opacity:.38!important}
html[data-theme="light"] body::before{opacity:.16!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--edu-accent)!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Universal readable surfaces: decorative backgrounds never control foreground contrast. */
.panel,.bento-block,.project-card,.course-card,.lesson-library-card,.journal-card,.credential,.resource-card,.contact-form,.preference-card,.sub-panel,.academy-map,.method-grid,.lesson-intro,.lesson-block,.lesson-course-index,.lesson-toc,.course-hero-aside,.course-lesson>a,.learning-outline-panel,.learning-editor-sticky{
  color:var(--edu-text)!important;background:color-mix(in srgb,var(--edu-surface) 96%,transparent)!important;border-color:var(--edu-line)!important;
}
:where(.panel,.bento-block,.project-card,.course-card,.lesson-library-card,.journal-card,.credential,.resource-card,.sub-panel,.lesson-block,.course-lesson) p{color:var(--edu-muted)!important}
:where(.panel,.bento-block,.project-card,.course-card,.lesson-library-card,.journal-card,.credential,.resource-card,.sub-panel,.lesson-block,.course-lesson) h1,
:where(.panel,.bento-block,.project-card,.course-card,.lesson-library-card,.journal-card,.credential,.resource-card,.sub-panel,.lesson-block,.course-lesson) h2,
:where(.panel,.bento-block,.project-card,.course-card,.lesson-library-card,.journal-card,.credential,.resource-card,.sub-panel,.lesson-block,.course-lesson) h3{color:var(--edu-text)!important}

/* Navigation */
.navbar,.learn-nav,.project-header,.admin-header{background:color-mix(in srgb,var(--edu-bg) 91%,transparent)!important;border-color:var(--edu-line)!important;backdrop-filter:blur(20px) saturate(1.12)}
.navbar nav a,.learn-nav nav a,.admin-nav a{color:var(--edu-muted)!important}.navbar nav a:hover,.learn-nav nav a:hover,.admin-nav a:hover,.admin-nav a.active{color:var(--edu-text)!important}

/* Learning landing: student cockpit inspired by MagicPath + Figma prototype. */
.academy-main{max-width:var(--edu-shell)!important}.academy-hero{grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr)!important;gap:clamp(34px,5vw,74px)!important}
.academy-hero h1{font-size:clamp(54px,6.2vw,94px)!important;line-height:.95!important;letter-spacing:-.055em!important}.academy-lead{max-width:720px!important;color:var(--edu-muted)!important}
.academy-map{min-height:390px!important;background:radial-gradient(circle at 72% 18%,color-mix(in srgb,var(--edu-accent) 12%,transparent),transparent 34%),var(--edu-surface)!important;box-shadow:var(--edu-shadow)}
.academy-cockpit{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:16px;margin:0 clamp(22px,5vw,78px) 76px}
.academy-cockpit-card{min-height:190px;padding:24px;border:1px solid var(--edu-line);border-radius:var(--edu-radius-lg);background:var(--edu-surface);box-shadow:0 14px 42px rgba(0,0,0,.12)}
.academy-cockpit-card.primary{background:linear-gradient(145deg,color-mix(in srgb,var(--edu-accent) 9%,var(--edu-surface)),var(--edu-surface))}
.academy-cockpit-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.academy-cockpit-head span{font:800 .7rem/1 ui-monospace,monospace;letter-spacing:.15em;color:var(--edu-accent)}
.academy-cockpit-card h3{margin:0 0 8px;font-size:clamp(22px,2vw,30px);letter-spacing:-.035em;color:var(--edu-text)}.academy-cockpit-card p{margin:0;color:var(--edu-muted);line-height:1.55}
.academy-progress-track{height:7px;margin:20px 0 10px;border-radius:99px;background:var(--edu-surface-3);overflow:hidden}.academy-progress-track i{display:block;height:100%;width:0;background:var(--edu-accent);border-radius:inherit;transition:width .35s ease}.academy-progress-meta{display:flex;justify-content:space-between;gap:16px;color:var(--edu-subtle);font-size:12px}
.academy-cockpit-list{display:grid;gap:9px;margin-top:12px}.academy-cockpit-list span{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--edu-line);color:var(--edu-text-2);font-size:13px}.academy-cockpit-list b{color:var(--edu-accent)}
.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.course-card{position:relative;overflow:hidden}.course-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--course-accent,var(--edu-accent));opacity:.88}.course-card>a{min-height:430px!important}.course-card h3{font-size:clamp(27px,2vw,36px)!important}.course-card:hover{transform:translateY(-4px)!important;box-shadow:var(--edu-shadow)!important}
.learn-toolbar{background:color-mix(in srgb,var(--edu-surface) 94%,transparent)!important;border-color:var(--edu-line)!important;box-shadow:0 12px 35px rgba(0,0,0,.12)!important}.learn-toolbar span{color:var(--edu-subtle)!important}.learn-toolbar input,.learn-toolbar select{color:var(--edu-text)!important;background:var(--edu-surface-2)!important;border-color:var(--edu-line)!important}
.lesson-library-card{overflow:hidden}.lesson-library-card>a{height:100%}.lesson-library-copy h3{color:var(--edu-text)!important}.lesson-library-copy b{color:var(--edu-accent)!important}.lesson-thumb em{background:color-mix(in srgb,var(--edu-surface) 88%,transparent)!important;color:var(--edu-text)!important;border:1px solid var(--edu-line)!important}

/* Course roadmap: clearer hierarchy. */
.course-hero{max-width:var(--edu-shell)!important}.course-hero-copy{max-width:980px}.course-hero-aside{position:sticky;top:92px;height:max-content}.course-progress-box{background:var(--edu-surface-2)!important;border-color:var(--edu-line)!important}.course-progress-track{background:var(--edu-surface-3)!important}.course-progress-track i{background:var(--course-accent,var(--edu-accent))!important}.course-branch{border-left:1px solid var(--edu-line);padding-left:clamp(18px,3vw,34px);margin-bottom:36px}.course-branch>header{background:transparent!important;border-bottom:1px solid var(--edu-line)!important;padding-bottom:16px!important}.course-branch>header span{color:var(--course-accent,var(--edu-accent))!important}.course-lesson>a{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:18px!important;padding:18px 20px!important}.course-lesson-number{color:var(--edu-subtle)!important}.course-lesson-meta span{color:var(--edu-subtle)!important}.course-lesson.completed>a{background:color-mix(in srgb,var(--edu-success) 7%,var(--edu-surface))!important}.course-check{border-color:var(--edu-line)!important;color:var(--edu-muted)!important}.course-check.completed{background:var(--edu-success)!important;color:var(--edu-bg)!important}

/* Lesson reader: actual docs layout, stable contrast. */
.lesson-shell{max-width:var(--edu-shell)!important}.lesson-hero{max-width:1180px;margin:auto}.lesson-hero-copy h1{font-size:clamp(46px,5.5vw,78px)!important}.lesson-breadcrumb{color:var(--edu-subtle)!important}.lesson-summary{font-size:clamp(17px,1.35vw,20px)!important;line-height:1.65!important}
.lesson-layout{display:grid!important;grid-template-columns:minmax(230px,280px) minmax(0,var(--edu-reading)) minmax(180px,220px)!important;gap:28px!important;align-items:start!important;max-width:var(--edu-shell)!important;margin:auto!important;padding-inline:clamp(18px,3vw,44px)!important}.lesson-sidebar{position:sticky!important;top:90px!important}.lesson-content{min-width:0;color:var(--edu-text-2)!important;font-size:17px!important;line-height:1.82!important}.lesson-intro,.lesson-block{padding:clamp(24px,3vw,36px)!important;border-radius:var(--edu-radius)!important}.lesson-intro-mark{color:var(--edu-accent)!important}.lesson-block-label{color:var(--edu-accent)!important}.lesson-content code{color:var(--edu-text)!important}.lesson-callout,.learning-summary-card,.learning-definition,.learning-tone-card,.learning-columns>div,.comparison-row>div{background:var(--edu-surface-2)!important;border-color:var(--edu-line)!important;color:var(--edu-text-2)!important}.lesson-toc{grid-column:3;position:sticky;top:90px;align-self:start}.lesson-toc nav a{color:var(--edu-muted)!important}.lesson-toc nav a.active{color:var(--edu-text)!important;border-left-color:var(--edu-accent)!important}.lesson-course-index{grid-column:1}.lesson-sequence a{background:var(--edu-surface)!important;border-color:var(--edu-line)!important}.lesson-sequence a b{color:var(--edu-text)!important}.lesson-sequence a span{color:var(--edu-muted)!important}

/* Admin / Learning Studio: route tree → block outline → editor. */
.admin-layout{grid-template-columns:230px minmax(0,1fr)!important}.admin-main{max-width:1680px;width:100%;margin:auto}.learning-admin-home,.learning-studio{box-shadow:none!important}.learning-admin-hero{background:radial-gradient(circle at 92% 0,color-mix(in srgb,var(--edu-accent) 12%,transparent),transparent 32%),var(--edu-surface)!important;border-color:var(--edu-line)!important}.learning-workflow>div{background:var(--edu-surface-2)!important;border-color:var(--edu-line)!important}.learning-workflow span{color:var(--edu-text)!important}.learning-workflow small{color:var(--edu-muted)!important}.learning-workflow b{color:var(--edu-accent)!important}
.learning-studio-layout{display:grid!important;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;gap:18px!important}.learning-meta-panel{position:sticky;top:14px;align-self:start;max-height:calc(100vh - 28px);overflow:auto}.learning-composer{min-width:0}.learning-block-palette{display:grid!important;grid-template-columns:repeat(5,minmax(110px,1fr))!important;gap:8px!important}.learning-block-palette button{min-height:74px!important;border:1px solid var(--edu-line)!important;border-radius:12px!important;background:var(--edu-surface-2)!important;color:var(--edu-text)!important}.learning-block-palette button:hover{border-color:var(--edu-accent)!important;background:color-mix(in srgb,var(--edu-accent) 7%,var(--edu-surface-2))!important}.learning-block-palette button b{color:var(--edu-accent)!important}.learning-block-palette button span{color:var(--edu-muted)!important}
.learning-builder{grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr)!important;gap:18px!important}.learning-outline-panel{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;background:var(--edu-surface)!important}.learning-block-list{display:grid;gap:8px}.learning-block-editor{min-width:0}.learning-editor-sticky{position:relative!important;top:auto!important;background:var(--edu-surface)!important;border:1px solid var(--edu-line)!important;padding:22px!important}.learning-editor-sticky>.actions{position:sticky!important;bottom:0!important;margin:18px -22px -22px!important;padding:14px 22px!important;background:linear-gradient(180deg,transparent 0,color-mix(in srgb,var(--edu-surface) 96%,transparent) 24%)!important}.learning-format-help{background:var(--edu-surface-2)!important;border-color:var(--edu-line)!important}.learning-editor-capabilities span{background:var(--edu-surface-2)!important;border-color:var(--edu-line)!important;color:var(--edu-muted)!important}.rich-editor-shell,.rich-editor-head,.rich-toolbar,.rich-editor-canvas,.rich-editor-status{border-color:var(--edu-line)!important}.rich-editor-shell{background:var(--edu-surface)!important}.rich-editor-head,.rich-toolbar{background:var(--edu-surface-2)!important}.rich-tool-group{background:var(--edu-surface)!important;border-color:var(--edu-line)!important}.rich-toolbar button,.rich-toolbar select{background:var(--edu-surface-2)!important;color:var(--edu-text)!important;border-color:var(--edu-line)!important}.rich-editor-canvas{background:var(--edu-bg-soft)!important;color:var(--edu-text)!important;min-height:520px!important}.rich-editor-canvas:focus{background:var(--edu-surface)!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--edu-accent) 55%,transparent)!important}.rich-editor-status{background:var(--edu-surface-2)!important;color:var(--edu-subtle)!important}

/* Contrast fixes across legacy labels. */
small,.meta,.section-kicker,.course-meta,.lesson-card-meta,.sidebar-section-label,.font-notice,.notice{color:var(--edu-muted)}
.chip,.course-tags span,.lesson-meta span,.status-pill{background:var(--edu-surface-2)!important;color:var(--edu-text-2)!important;border-color:var(--edu-line)!important}.eyebrow,.academy-kicker{color:var(--edu-accent)!important}
.btn.primary,.academy-primary{background:var(--edu-accent)!important;color:var(--edu-bg)!important;border-color:var(--edu-accent)!important}.academy-secondary,.btn.glass{background:var(--edu-surface-2)!important;color:var(--edu-text)!important;border-color:var(--edu-line)!important}
html[data-theme="light"] .btn.primary,html[data-theme="light"] .academy-primary{color:#fff!important}

@media(max-width:1200px){.academy-cockpit{grid-template-columns:1fr 1fr}.academy-cockpit-card.primary{grid-column:1/-1}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lesson-layout{grid-template-columns:240px minmax(0,1fr)!important}.lesson-toc{display:none}.learning-studio-layout,.learning-builder{grid-template-columns:1fr!important}.learning-meta-panel,.learning-outline-panel{position:relative!important;top:auto!important;max-height:none}.learning-block-palette{grid-template-columns:repeat(4,minmax(100px,1fr))!important}}
@media(max-width:800px){.academy-hero{grid-template-columns:1fr!important}.academy-map{display:none!important}.academy-cockpit{grid-template-columns:1fr;margin-inline:18px}.academy-cockpit-card.primary{grid-column:auto}.course-grid{grid-template-columns:1fr!important}.lesson-layout{grid-template-columns:1fr!important;padding-inline:14px!important}.lesson-sidebar{position:relative!important;top:auto!important}.lesson-course-index{max-height:310px;overflow:auto}.learning-block-palette{grid-template-columns:repeat(2,minmax(100px,1fr))!important}.admin-layout{grid-template-columns:1fr!important}.admin-nav{position:relative!important;width:auto!important;display:flex!important;overflow:auto!important}.rich-editor-canvas{min-height:380px!important;padding:20px!important}}
