/* Batch 4: responsive navigation, persistent theme, richer course art */
:root{--b4-bg:#f4f6ff;--b4-surface:#fff;--b4-ink:#19213b;--b4-muted:#64718d;--b4-line:#e7eafb;--b4-shadow:0 12px 34px rgba(35,44,96,.07)}
html[data-theme=dark]{color-scheme:dark;--b4-bg:#0c1122;--b4-surface:#171e34;--b4-ink:#eef2ff;--b4-muted:#aab6d2;--b4-line:#303b58;--b4-shadow:0 14px 36px rgba(0,0,0,.25)}
body{background:var(--b4-bg)!important;color:var(--b4-ink)!important;transition:background .25s,color .25s}
.card,.course,.authcard,.draft,.admin-table,.admin-heading{box-shadow:var(--b4-shadow);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.card:hover,.course:hover{transform:translateY(-3px)}
.course{position:relative;overflow:hidden;isolation:isolate}
.course::before{content:'';display:block;height:94px;margin:-2px -2px 16px;border-radius:14px;background:linear-gradient(125deg,#6c50ee,#3e8ef7 60%,#3ad4bc);opacity:.93}
.course:nth-child(4n+2)::before{background:linear-gradient(125deg,#ef5a9d,#a45afa,#5555dc)}
.course:nth-child(4n+3)::before{background:linear-gradient(125deg,#0ea5a0,#27cfa6,#85dba7)}
.course:nth-child(4n+4)::before{background:linear-gradient(125deg,#ed9a44,#ed5f8d,#8e65eb)}
.courseicon{position:relative;margin-top:-60px!important;margin-bottom:22px!important;z-index:1;background:rgba(255,255,255,.22)!important;color:white!important;backdrop-filter:blur(8px);border:1px solid #ffffff77}
.mobile-menu,.theme-switch{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid var(--b4-line);background:var(--b4-surface);color:var(--b4-ink);border-radius:12px;cursor:pointer;font-size:20px;flex-shrink:0;transition:transform .2s}
.mobile-menu:hover,.theme-switch:hover{transform:translateY(-2px)}.mobile-menu{display:none}.nav-scrim{display:none}
html[data-theme=dark] .card,html[data-theme=dark] .course,html[data-theme=dark] .authcard,html[data-theme=dark] .admin-table,html[data-theme=dark] .draft,html[data-theme=dark] .admin-heading,html[data-theme=dark] .top,html[data-theme=dark] .admin-top{background:var(--b4-surface)!important;color:var(--b4-ink)!important;border-color:var(--b4-line)!important}
html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] strong,html[data-theme=dark] label{color:var(--b4-ink)!important}
html[data-theme=dark] .muted,html[data-theme=dark] p,html[data-theme=dark] small{color:var(--b4-muted)}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#111a30!important;color:#eef2ff!important;border-color:#3a4866!important}
html[data-theme=dark] .sidebar,html[data-theme=dark] .admin-sidebar{background:#121a2f!important;color:#eef2ff!important}
html[data-theme=dark] .nav{color:#c6d0ea!important}html[data-theme=dark] .nav.active{color:white!important}
@media(max-width:900px){.mobile-menu{display:inline-flex}.sidebar,.admin-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(84vw,315px)!important;z-index:1100!important;transform:translateX(-110%)!important;transition:transform .25s ease!important;overflow-y:auto!important;display:block!important}.nav-open .sidebar,.nav-open .admin-sidebar{transform:translateX(0)!important}.nav-open .nav-scrim{display:block;position:fixed;inset:0;background:rgba(9,15,35,.6);z-index:1090}.shell,.admin-shell{margin-left:0!important;width:100%!important;max-width:100%!important}.top,.admin-top{display:flex;align-items:center;gap:10px}.top>span{display:none}.admin-mobile-nav{display:none!important}main,.admin-main{padding:16px!important}.cards,.stats,.admin-columns{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important}}
@media(max-width:480px){.cards,.stats,.admin-columns{grid-template-columns:1fr!important}.hero{padding:22px!important}.hero h1{font-size:clamp(1.45rem,7vw,2rem)}.card,.course{border-radius:16px!important}.top,.admin-top{padding:10px 14px!important}.admin-top strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
