
/* Miverno visual system. Overrides the legacy site without changing its API. */
:root{--mv-bg:#f6f7fb;--mv-ink:#202840;--mv-muted:#69748a;--mv-line:#e0e5ef;--mv-blue:#465bd0;--mv-blue-hover:#3548b5;--auth-card-width:520px}
*{box-sizing:border-box}
html{background:var(--mv-bg)}
body{background:var(--mv-bg)!important;color:var(--mv-ink)!important;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;line-height:1.5}
.site-header{background:#fff!important;border-bottom:1px solid var(--mv-line)!important;box-shadow:none!important}
.site-header-inner{max-width:1140px!important;min-height:72px}
.brand,.brand:hover{color:var(--mv-blue)!important;text-decoration:none!important}
.brand-symbol{display:none!important}
.miverno-wordmark,.login-logo{font-size:27px;letter-spacing:-1.2px;font-weight:800;color:var(--mv-blue);line-height:1.2}
.miverno-wordmark span,.login-logo span{color:#7b8ae6}
.site-header nav{gap:26px!important}
.site-header nav a{color:#59647a!important;font-size:14px!important;font-weight:550!important}
.site-header nav a:hover{color:var(--mv-blue)!important}
.page-container{max-width:1140px!important;padding-top:38px!important;padding-bottom:72px!important}
h1,h2,h3{color:var(--mv-ink)!important;letter-spacing:-.035em}
p,.muted{color:var(--mv-muted)}
.button,button.button,.login-card button[type=submit]{background:var(--mv-blue)!important;color:#fff!important;border:1px solid var(--mv-blue)!important;border-radius:7px!important;box-shadow:none!important;font-weight:600!important;transition:background .16s}
.button:hover,button.button:hover{background:var(--mv-blue-hover)!important}
.login-screen{min-height:calc(100vh - 205px);display:grid!important;place-items:center!important;padding:28px 12px!important}
.login-card{width:100%!important;max-width:var(--auth-card-width)!important;min-width:0!important;padding:38px 36px!important;background:#fff!important;border:1px solid var(--mv-line)!important;border-radius:10px!important;box-shadow:0 10px 30px rgba(30,43,84,.045)!important}
.login-logo{text-align:center;margin-bottom:27px}
.login-card h1{text-align:center!important;font-size:27px!important;margin:0 0 26px!important}
.login-card .login-subtitle{display:none!important}
.login-card label{color:#35405a!important;font-weight:600!important;font-size:13px!important}
.login-card input{background:#fff!important;color:#18243b!important;border:1px solid #cdd4e2!important;border-radius:6px!important;min-height:45px!important;box-shadow:none!important}
.login-card input:focus{border-color:var(--mv-blue)!important;outline:3px solid #e7eaff!important}
.login-card button{width:100%!important;min-height:46px!important;margin-top:18px!important}
.login-links{display:flex!important;justify-content:center!important;gap:18px!important;flex-wrap:wrap!important;margin-top:20px!important}
.login-links a{font-size:12px!important;color:var(--mv-blue)!important}
.dashboard-welcome{margin:12px 0 36px!important}
.dashboard-welcome h1{font-size:31px!important;font-weight:750!important;margin:0 0 5px!important}
.dashboard-welcome p{font-size:15px!important;margin:0!important}
.dashboard-layout{gap:30px!important;align-items:start}
.dashboard-main,.dashboard-side{min-width:0}
.section-heading h2,.dashboard-side h2{font-size:18px!important;margin:0 0 17px!important}
.topic-row{background:#fff!important;border:1px solid var(--mv-line)!important;border-radius:9px!important;box-shadow:none!important;padding:25px!important;gap:20px!important}
.topic-icon{background:#e9ecfb!important;color:var(--mv-blue)!important;border-radius:7px!important;font-weight:800}
.topic-category{color:#6c78a2!important;font-size:11px!important;letter-spacing:.04em}
.topic-copy h3{font-size:20px!important;margin:3px 0!important}
.topic-copy p{font-size:14px!important;margin:0 0 10px!important}
.course-meta{font-size:12px!important;color:var(--mv-muted)!important}
.topic-links{gap:12px!important}
.topic-links a:not(.button){color:var(--mv-blue)!important;font-size:13px!important}
.dashboard-side{background:#fff!important;border:1px solid var(--mv-line)!important;border-radius:9px!important;box-shadow:none!important;padding:23px!important}
.progress-line{font-size:13px!important}
.mini-progress{background:#e9ecf5!important;border-radius:8px!important;overflow:hidden}
.mini-progress span{background:var(--mv-blue)!important}
.study-heading,.page-heading{max-width:800px!important;margin:0 auto 26px!important;text-align:left!important}
.study-heading h1,.page-heading h1{font-size:29px!important;margin:12px 0 5px!important}
.study-heading p,.page-heading p{font-size:14px!important}
.back-link,.breadcrumbs a{color:var(--mv-blue)!important}
.study-shell{max-width:790px!important;margin:auto!important}
.study-toolbar,.practice-top{font-size:13px!important;color:var(--mv-muted)!important}
.study-progress{height:5px!important;background:#e3e7f1!important;border-radius:6px!important;overflow:hidden}
#progress-bar{background:var(--mv-blue)!important}
.flip-card{display:block!important;position:relative!important;width:100%!important;min-height:340px!important;height:340px!important;padding:0!important;margin:22px 0 16px!important;background:transparent!important;border:0!important;box-shadow:none!important;perspective:1200px!important;cursor:pointer!important;color:var(--mv-ink)!important}
.flip-inner{position:relative!important;display:block!important;width:100%!important;height:100%!important;transition:transform .55s cubic-bezier(.2,.7,.2,1)!important;transform-style:preserve-3d!important}
.flip-card.is-flipped .flip-inner{transform:rotateY(180deg)!important}
.flip-face{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:19px!important;padding:42px!important;border:1px solid #dce2ee!important;border-radius:10px!important;background:#fff!important;color:#202840!important;box-shadow:0 7px 24px rgba(38,50,91,.055)!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important}
.flip-back{transform:rotateY(180deg)!important}
.card-eyebrow{color:#79839a!important;font-size:11px!important;letter-spacing:.12em!important;font-weight:700!important}
.card-main{color:#1e2841!important;font-size:clamp(27px,4vw,43px)!important;font-weight:700!important;line-height:1.2!important;text-align:center!important}
.card-definition{color:#25304a!important;font-size:clamp(19px,2.4vw,26px)!important;line-height:1.4!important;text-align:center!important;font-weight:550!important}
.card-instruction{color:#8992a4!important;font-size:12px!important;position:absolute!important;bottom:23px!important}
.card-controls{text-align:center!important;margin-top:18px!important}
.rating{background:transparent!important;border:0!important;box-shadow:none!important;text-align:center!important;padding:12px 0!important}
.rating[hidden],#next[hidden],.card-controls button[hidden]{display:none!important}
.rating p{color:#66718a!important;font-size:14px!important;margin-bottom:12px!important}
.rating-options{display:flex!important;gap:9px!important;flex-wrap:wrap!important;justify-content:center!important}
.rating-options button{border:1px solid #d7ddeb!important;background:#fff!important;color:#33405e!important;border-radius:7px!important;padding:11px 18px!important;font-size:13px!important;font-weight:600!important;min-height:43px!important;box-shadow:none!important}
.rating-options button:hover{background:#eef0ff!important;border-color:#8795df!important}
.practice-shell{max-width:800px!important;margin:0 auto!important;padding:30px!important;background:#fff!important;border:1px solid var(--mv-line)!important;border-radius:10px!important;box-shadow:none!important}
.practice-shell h2{font-size:23px!important;line-height:1.4!important;margin:23px 0!important}
.options{display:grid!important;gap:11px!important}
.options .option{width:100%!important;text-align:left!important;background:#fff!important;color:#27334c!important;border:1px solid #d9dfeb!important;border-radius:7px!important;padding:16px 18px!important;line-height:1.5!important;font-size:14px!important;box-shadow:none!important}
.options .option:not(:disabled):hover{background:#f2f4ff!important;border-color:#8d9be1!important}
.options .option.correct{background:#e9f7ed!important;border-color:#7dc495!important;color:#17582e!important}
.options .option.incorrect{background:#fff0f0!important;border-color:#e5a5a5!important;color:#892d2d!important}
.options .option:disabled{opacity:1!important}
.feedback{font-size:14px!important;color:#48536b!important}
@media(max-width:700px){.page-container{padding:22px 16px 55px!important}.site-header-inner{padding:12px 16px!important;gap:12px!important;flex-wrap:wrap!important}.site-header nav{gap:13px!important;flex-wrap:wrap!important}.site-header nav a{font-size:12px!important}.dashboard-layout{display:block!important}.dashboard-side{margin-top:20px!important}.topic-row{display:block!important}.topic-links{margin-top:20px!important}.flip-card{height:300px!important;min-height:300px!important}.flip-face{padding:26px!important}.practice-shell{padding:19px!important}.login-card{padding:30px 24px!important}}
@media(prefers-reduced-motion:reduce){.flip-inner{transition:none!important}}

/* Registration matches the sign-in layout */
.register-card{width:100%!important;max-width:var(--auth-card-width)!important;min-width:0!important}
.register-card .field-hint{font-size:11px;color:#7a8498;font-weight:400;margin-left:4px}
.register-card .register-confirmation{text-align:center;font-size:14px;line-height:1.65;color:#66718a;margin:0 0 24px}
.register-card .register-confirmation strong{overflow-wrap:anywhere;color:#25304a}
.register-card .button.full{display:flex;width:100%;text-align:center}

/* Shared authentication sizing: sign-in and registration */
.login-screen {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
.login-screen > .login-card,
.login-screen > .register-card,
.login-card.register-card {
  justify-self: center !important;
  width: min(100%, var(--auth-card-width)) !important;
  max-width: var(--auth-card-width) !important;
}
.login-card form, .register-card form { min-width: 0; width: 100%; }
.login-card input, .register-card input { max-width: 100%; }
@media (max-width: 600px) {
  .login-screen { padding-inline: 0 !important; }
  .login-card, .register-card { max-width: 100% !important; }
}
