/* EMPOWER GRE course chrome, built only from gre-tokens.css: ground, type, the concept's white top bar, page header, cards, buttons,
   pills, status dot, fields, checkboxes, menus, notices and modals. Every rule hangs off body.ea-course (the class the shared module markup expects). */
:root:has(> body.ea-course) { background:var(--ground); }
@scope (html) to (.testForm, [id^=my_quiz_id]) {  /* nothing in here reaches the quiz runner, which renders exactly as GMAT's */
/* Ground: the landing hero's cream under its peach, gold and rose glows, held still behind the scrolling page */
body.ea-course { display:flex; flex-direction:column; min-height:100vh; margin:0; padding-bottom:0!important; border-radius:0!important; background:var(--g-ground) fixed; color:var(--ink); font-family:var(--font); font-size:var(--fs-body); line-height:var(--lh-body); overflow-x:hidden; }
.ea-course :is(p,li,td,th,label,input,button,select,textarea,.btn) { font-family:var(--font); }
.ea-course :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5) { color:var(--ink); font-family:var(--font); } .ea-course :is(h1,h2,.gh-2) { text-wrap:balance; }   /* no one-word last line at 390 */
.ea-course a { color:var(--link); }
.ea-course .material-symbols-outlined { font-family:"Material Symbols Outlined"!important; font-weight:normal; font-style:normal; font-size:18px; line-height:1; letter-spacing:normal; text-transform:none; display:inline-grid; place-items:center; white-space:nowrap; direction:ltr; -webkit-font-smoothing:antialiased; font-feature-settings:"liga"; font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24; flex:0 0 auto; }
.ea-course :focus-visible { outline:var(--focus-outline); outline-offset:3px; }
.ea-course .text-muted { color:var(--muted)!important; }
/* Top bar: the concept's white header across the window, sticky. Logo left, the 8 course links centered (the active one on the landing's
   rust to orange pill in white, its icon filled (no rule under it: it hung below the bar, 10-11); a hovered one on the pale pill); an eyebrow leads with the landing's short rule, then search, support and the avatar. Below 1180 px the links drop their words; below 820 px
   the burger opens them as a list and .ea-bottom (gre-shell.css) holds the first five at the foot of the screen */
.ea-course .ea-nav { position:sticky; top:0; z-index:1030; box-sizing:border-box; display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:var(--gap-m); width:100%; height:var(--bar-h); margin:0; padding-inline:30px; border-bottom:1px solid var(--hair); background:var(--nav-glass); box-shadow:var(--bar-shadow); backdrop-filter:blur(18px) saturate(1.4); }
.ea-course .ea-nav-brand img { display:block; width:206px; height:auto; } .ea-course .ea-nav-links { display:flex; justify-content:center; align-self:stretch; gap:2px; }
.ea-course .ea-nav-links a { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:80px; padding:0 12px; color:var(--ink-back); font-size:var(--fs-meta); font-weight:var(--w-b); text-decoration:none; transition:color var(--t); }
.ea-course .ea-nav-links a .material-symbols-outlined { font-size:20px; } .ea-course .ea-nav-links a::before { content:""; position:absolute; inset:13px 4px; z-index:-1; border-radius:11px; background:var(--row-on-bg); opacity:0; transform:scale(.88); transition:opacity var(--t),transform var(--t); }
.ea-course .ea-nav-links a:is(:hover,.active) { color:var(--row-on); } .ea-course .ea-nav-links a:is(:hover,.active)::before { opacity:1; transform:none; }
.ea-course .ea-nav-links a.active { color:var(--on-cta); } .ea-course .ea-nav-links a.active::before { background:var(--g-cta); box-shadow:var(--cta-shadow); } .ea-course .ea-nav-links a.active:hover::before { background:var(--g-cta-hover); } .ea-course .ea-nav-links a.active .material-symbols-outlined { font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24; }
.ea-course .ea-nav-tools { display:flex; align-items:center; gap:var(--gap-s); } .ea-course .ea-nav-round, .ea-course .ea-nav-avatar { display:inline-grid; place-items:center; width:44px; height:44px; padding:0; overflow:hidden; border:0; border-radius:50%; background:transparent; color:var(--ink-back); cursor:pointer; text-decoration:none; transition:background var(--t),color var(--t); }
.ea-course .ea-nav-round:is(:hover,[aria-expanded=true]) { background:var(--row-on-bg); color:var(--row-on); } .ea-course .ea-nav-round .material-symbols-outlined { font-size:22px; }
.ea-course .ea-nav-avatar { background:var(--g-cta); color:var(--on-cta); box-shadow:0 0 0 4px var(--tint-coral); } .ea-course .ea-nav-avatar img { width:100%; height:100%; object-fit:cover; }
.ea-course .ea-nav-who { display:grid; gap:2px; margin:0 0 var(--gap-xs); padding:10px 12px; border-bottom:1px solid var(--line-soft); } .ea-course .ea-nav-who b { color:var(--ink-title); font-size:var(--fs-ui); } .ea-course .ea-nav-who span { color:var(--meta); font-size:var(--fs-label); }
.ea-course .ea-nav-burger, .ea-course .ea-quiet, .ea-course :is(.btn-outline-primary,.btn-secondary,.btn-light,.btn-outline-dark,.btn-outline-secondary) { display:inline-flex; align-items:center; justify-content:center; gap:var(--gap-s); min-height:var(--btn-h); padding:0 var(--gap-m); border:1px solid var(--line)!important; border-radius:var(--r-btn)!important; background:var(--row-bg)!important; color:var(--link)!important; font-size:var(--fs-ui); font-weight:var(--w-b); line-height:1; text-decoration:none!important; box-shadow:none!important; cursor:pointer; transition:transform var(--t),border-color var(--t),background var(--t); }
.ea-course :is(.ea-nav-burger,.ea-quiet,.btn-outline-primary,.btn-secondary,.btn-light,.btn-outline-dark,.btn-outline-secondary):hover { border-color:var(--line-hover)!important; background:var(--hover-bg)!important; transform:var(--lift); }
.ea-course .ea-nav-burger { display:none; width:var(--btn-h); padding:0; }
/* Page: the concept's width and rhythm, its eyebrow plus headline */
.ea-course main { margin:0!important; padding:var(--gap-xl) var(--gutter) 72px!important; }
.ea-course main > .container-fluid { max-width:var(--wrap); margin:0 auto; padding:0; }
.ea-course main .app-row { padding-right:0!important; }
.ea-course .ea-head { margin-bottom:var(--gap-xl); }
.ea-course .ea-head h1, .ea-course .ea-display { display:block; margin:6px 0 0; color:var(--ink); font-size:var(--fs-display); font-weight:var(--w-b); line-height:var(--lh-display); letter-spacing:var(--ls-display); text-wrap:balance; }
.ea-course .ea-head h1 em { font-style:normal; color:var(--blue); }  /* one accent phrase in rust; a two-tone title's gradient line is .gh-2 (gre-home.css) */
.ea-course .ea-head > p, .ea-course .ea-lead { max-width:700px; margin:var(--gap-s) 0 0; color:var(--muted); font-size:var(--fs-body); line-height:var(--lh-body); }
.ea-course .ea-eyebrow::before { content:""; flex:0 0 28px; height:2px; border-radius:2px; background:var(--g-rule); } .ea-course .ea-eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--eyebrow); font-size:var(--fs-label); font-weight:var(--w-b); letter-spacing:var(--ls-rule); text-transform:uppercase; }
.ea-course .ea-tag { color:var(--eyebrow-card); font-size:var(--fs-eyebrow); font-weight:var(--w-b); letter-spacing:var(--ls-eyebrow); text-transform:uppercase; }

/* Surfaces: white cards on the ground, one hairline each. .card is the concept's panel, .ea-card-lg its big card, .ea-command its course map card */
.ea-course .card { border:var(--panel-line); border-radius:var(--r-panel); background:var(--g-panel); box-shadow:var(--panel-shadow); }
.ea-course .card .card-body { padding:var(--pad-panel); }
.ea-course .card-title, .ea-course .card h5, .ea-course main h5.mb-4 { margin-bottom:var(--gap-m); color:var(--ink-card); font-size:var(--fs-card); font-weight:var(--w-b); line-height:1.25; letter-spacing:var(--ls-card); }
.ea-course .ea-card-lg { position:relative; padding:var(--pad-card); border:var(--card-line); border-radius:var(--r-card); background:var(--card-bg); box-shadow:var(--card-shadow); }
.ea-course .ea-command { position:relative; overflow:hidden; padding:var(--pad-command); border:var(--command-line); border-radius:var(--r-command); background:var(--g-command); box-shadow:var(--command-shadow); }
.ea-course .ea-command-top { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--gap-m); padding-bottom:21px; border-bottom:1px solid var(--line-top); }
.ea-course .ea-command-top strong { display:block; margin-top:var(--gap-xs); color:var(--ink-row); font-size:21px; font-weight:var(--w-b); letter-spacing:-.02em; }
.ea-course .ea-feature { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; padding:var(--pad-feature); border:var(--feature-line); border-radius:var(--r-feature); background:var(--g-feature); box-shadow:var(--feature-shadow); color:var(--paper); }
.ea-course .ea-feature strong { color:var(--paper); font-size:38px; font-weight:var(--w-b); letter-spacing:-.05em; line-height:1; }
.ea-course .ea-feature small { display:block; color:var(--feature-meta); font-size:var(--fs-tag); font-weight:var(--w-b); letter-spacing:var(--ls-label); text-transform:uppercase; }
.ea-course .ea-feature b { color:var(--paper); font-size:19px; font-weight:var(--w-b); }

/* Buttons: the rust to orange primary in white type and the concept's quiet outline button, and nothing else */
.ea-course .btn { font-family:var(--font); letter-spacing:0; text-transform:none; }
.ea-course .btn-primary, .ea-course .ea-cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:var(--btn-h); padding:0 20px; border:0!important; border-radius:var(--r-btn)!important; background:var(--g-cta)!important; color:var(--on-cta)!important; font-size:var(--fs-ui); font-weight:var(--w-b); line-height:1; text-decoration:none!important; box-shadow:var(--cta-shadow)!important; cursor:pointer; transition:transform var(--t),background var(--t),box-shadow var(--t); }
.ea-course .ea-cta { min-height:var(--cta-h); }
.ea-course :is(.btn-primary,.ea-cta):hover { background:var(--g-cta-hover)!important; box-shadow:var(--cta-shadow)!important; transform:var(--lift); }
.ea-course :is(.btn-primary,.ea-cta,.ea-quiet,.btn-outline-primary,.btn-secondary):active { transform:var(--press); }
.ea-course :is(.btn-primary,.ea-cta) .material-symbols-outlined { transition:transform var(--t); }
.ea-course :is(.btn-primary,.ea-cta):hover .material-symbols-outlined { transform:translateX(3px); }
.ea-course .btn.disabled, .ea-course .btn:disabled { opacity:.55; transform:none; }
/* Pills, status dot, check tile and track: the concept's chips, its done dot, a 5 px row bar in the landing's orange to gold to rose */
.ea-course .ea-pill, .ea-course .badge { display:inline-flex; align-items:center; gap:var(--gap-xs); padding:5px 8px; border-radius:var(--r-pill); background:var(--pill-bg)!important; color:var(--pill-ink); font-size:var(--fs-tag); font-weight:var(--w-b); letter-spacing:var(--ls-label); text-transform:uppercase; white-space:nowrap; }
.ea-course .ea-status { display:inline-flex; align-items:center; gap:var(--gap-xs); color:var(--ok-ink); font-size:var(--fs-eyebrow); font-weight:var(--w-b); letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }
.ea-course .ea-status::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 5px var(--ok-halo); }
.ea-course .ea-check { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:var(--r-mark); background:var(--check-bg); color:var(--check-ink); font-size:16px; }
.ea-course .ea-track { display:block; height:var(--bar-s); overflow:hidden; border-radius:var(--r-round); background:var(--track); }
.ea-course .ea-track > i { display:block; width:var(--p); height:100%; border-radius:inherit; background:var(--g-track); }

/* Fields: the login inputs, labels and focus ring; checkboxes and radios as the session row's check tile */
.ea-course .form-control, .ea-course select, .ea-course textarea, .ea-course input:is([type=text],[type=email],[type=password],[type=number],[type=tel],[type=date]) { height:var(--field-h); padding:0 14px; border:1px solid var(--line)!important; border-radius:var(--r-field)!important; outline:none; background:var(--field); color:var(--ink-field); font-size:var(--fs-input); font-weight:var(--w-b); box-shadow:none; transition:border-color var(--t),box-shadow var(--t),background var(--t); }
.ea-course textarea { height:auto; padding:14px; }
.ea-course :is(.form-control,select,textarea,input):focus { border-color:var(--focus-line)!important; background:var(--surface); box-shadow:var(--focus-ring); }
.ea-course .input-group { flex-wrap:nowrap; }
.ea-course .input-group > .form-control { border-radius:var(--r-field)!important; }
.ea-course .input-group-text { display:none; }
.ea-course .form-group label:not(.custom-control-label) { display:block; margin-bottom:7px; color:var(--ink-label); font-size:var(--fs-label); font-weight:var(--w-b); letter-spacing:0; text-transform:none; }
.ea-course .custom-control { padding-left:0; }
.ea-course .custom-control-label { position:relative; display:inline-flex; align-items:center; gap:10px; color:var(--ink-row); font-size:var(--fs-ui); font-weight:var(--w-b); cursor:pointer; }
.ea-course .custom-control-label::before { content:""; position:static!important; order:-1; width:24px!important; height:24px!important; border:2px solid var(--row-on)!important; border-radius:var(--r-mark)!important; background:var(--field) no-repeat center/14px!important; box-shadow:none!important; }  /* 2px in the checked blue, so an empty box reads as a box (10-09) */
.ea-course .custom-control-label::after { display:none; }
.ea-course .custom-radio .custom-control-label::before { border-radius:50%!important; }
.ea-course .custom-control-input:checked ~ .custom-control-label::before { border-color:var(--row-on)!important; background-color:var(--row-on)!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")!important; }
.ea-course .custom-radio .custom-control-input:checked ~ .custom-control-label::before { background-image:radial-gradient(var(--paper) 0 4px,transparent 4.5px)!important; }

/* Menus, notices, modals */
.ea-course .dropdown-menu { padding:var(--gap-xs); border:var(--card-line); border-radius:var(--r-btn); background:var(--surface); box-shadow:var(--float-shadow); }
.ea-course .dropdown-item { display:flex; align-items:center; gap:var(--gap-s); padding:10px 12px; border-radius:var(--r-note); color:var(--ink-row); font-size:var(--fs-ui); font-weight:var(--w-b); }
.ea-course .dropdown-item:hover, .ea-course .dropdown-item:focus { background:var(--row-on-bg); color:var(--ink-title); }
.ea-course .alert { margin:0 0 var(--gap-m); padding:11px 13px; border:1px solid var(--notice-line); border-radius:var(--r-note); background:var(--notice-bg); color:var(--notice-ink); font-size:var(--fs-meta); line-height:1.45; }
.ea-course .alert :is(a,b,strong) { color:inherit; }
.ea-course .alert-danger { border-color:var(--err-line); background:var(--err-bg); color:var(--err); }
.ea-course .alert-success { border-color:transparent; background:var(--ok-bg); color:var(--ok-ink); }
.ea-course .modal-content { padding:var(--pad-card-sm); border:var(--card-line); border-radius:var(--r-panel); background:var(--surface); box-shadow:var(--card-shadow); }
.ea-course .modal-header, .ea-course .modal-footer { padding:0 0 var(--gap-m); border:0; }
.ea-course .modal-footer { padding:var(--gap-m) 0 0; gap:var(--gap-s); }
.ea-course .modal-title { color:var(--ink-title); font-size:var(--fs-card); font-weight:var(--w-b); letter-spacing:var(--ls-card); }
.ea-course .modal-body { padding:0; color:var(--body); font-size:var(--fs-ui); }
}
