/* Learn Moore Tech v2 styles: logo, academies, final assessment, question fixes, landing, palettes. */
:root{--ac-qa:#0F6B69;--ac-sdet:#74467F;--ac-devops:#9A4A29;--ac-dev:#2F5D8A;--ac-pm:#4C7A2B;--mark-tile:#FFFFFF;--mark-line:#1F2B2A;--band-strong:var(--green);--band-strong-100:var(--green-100);--band-review:var(--gold);--band-review-100:var(--gold-100);--band-more:var(--red);--band-more-100:var(--red-100)}
[data-theme=dark]{--ac-qa:#5CC3B8;--ac-sdet:#C99AD2;--ac-devops:#EE9A72;--ac-dev:#8DB6E2;--ac-pm:#9BCB7A;--mark-tile:#17302F;--mark-line:#FFFFFF}

/* Logo */
.lmt-mark{flex:none;display:block;border-radius:10px;box-shadow:0 0 0 1px var(--border)}
.lmt-mark .tile{fill:var(--mark-tile)}
.lmt-mark .m{fill:none;stroke:var(--mark-line);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.lmt-mark .ring{fill:none;stroke:var(--mark-line);stroke-width:2.4}
.lmt-mark circle{stroke:var(--mark-tile);stroke-width:1.6}
.lmt-mark .d1{fill:var(--ac-qa)}.lmt-mark .d2{fill:var(--ac-sdet)}.lmt-mark .d3{fill:var(--ac-devops)}.lmt-mark .d4{fill:var(--ac-dev)}.lmt-mark .d5{fill:var(--ac-pm)}
.lockup{display:inline-flex;align-items:center;gap:10px;min-width:0}
.lockup .wm{font-weight:750;letter-spacing:-.01em;line-height:1.15;color:var(--ink)}
.lockup .wm small{display:block;font-size:11.5px;font-weight:650;letter-spacing:.07em;color:var(--muted);margin-top:3px;text-transform:uppercase}
.brand .lockup .wm{font-size:16px}
.ac-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;padding:3px 10px;border-radius:99px;background:var(--teal-100);color:var(--teal)}
.ac-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}

/* Question screens: fixes for long answers and clear selection */
.opts{min-width:0}
.opt>span{min-width:0}
.opt .txt{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;word-break:normal;hyphens:manual}
.opt .txt.code{font-family:var(--mono);font-size:15px;line-height:1.45}
.opt[aria-pressed=true],.opt[aria-checked=true]{border-color:var(--teal);background:var(--teal-50);box-shadow:0 0 0 1px var(--teal) inset}
.opt[aria-pressed=true] .k,.opt[aria-checked=true] .k{background:var(--teal);color:#fff}
[data-theme=dark] .opt[aria-pressed=true] .k,[data-theme=dark] .opt[aria-checked=true] .k{color:#0B1F1E}
.opt .tick{margin-left:auto;flex:none;color:var(--teal);visibility:hidden}
.opt[aria-pressed=true] .tick,.opt[aria-checked=true] .tick{visibility:visible}
.qbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 0}
@media (max-width:640px){.qbar>.btn.pri{flex:1 1 100%;order:9;min-height:52px}.qbar .grow{display:none}.qbar .saved{margin-left:auto}}
.qbar .grow{flex:1}
.qbar .hint{font-size:14px;color:var(--muted)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.saved{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--green);font-weight:600}
.toast[data-kind=ok]{background:#1F4D36;color:#fff}
.toast[data-kind=err]{background:var(--red);color:#fff}
.toast.show{animation:toastIn .2s ease-out}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
/* On phones the toast is a full-width bar just below the header. It never covers the header or the answer buttons, and taps pass through it. */
@media (max-width:900px){.toast{top:68px;bottom:auto;left:12px;right:12px;transform:none;max-width:none;padding:10px 14px;font-size:14px;z-index:95;pointer-events:none}.toast.show{animation:toastInM .2s ease-out}}
@keyframes toastInM{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.qmap{display:flex;flex-wrap:wrap;gap:6px}
.qmap button{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);font-size:13px;font-weight:650;color:var(--muted);cursor:pointer}
.qmap button.done{background:var(--teal-100);border-color:var(--teal-300);color:var(--teal)}
.qmap button.cur{border-color:var(--teal);color:var(--ink);box-shadow:0 0 0 2px var(--teal-100)}
.qmap .sec-l{width:100%;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:6px}

/* Final assessment */
.final-hero{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}
.sec-table{width:100%;border-collapse:collapse;font-size:15px}
.sec-table th{text-align:left;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--border)}
.sec-table td{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:middle}
.sec-table tr:last-child td{border-bottom:0}
.sec-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.band{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:3px 10px;border-radius:99px;white-space:nowrap}
.b-strong{background:var(--band-strong-100);color:var(--band-strong)}
.b-review{background:var(--band-review-100);color:var(--band-review)}
.b-more{background:var(--band-more-100);color:var(--band-more)}
.sbar{height:10px;border-radius:99px;background:var(--sand);overflow:hidden;position:relative;min-width:80px}
.sbar>i{display:block;height:100%;border-radius:99px}
.sbar.strong>i{background:var(--band-strong)}.sbar.review>i{background:var(--band-review)}.sbar.more>i{background:var(--band-more)}
.sbar .line{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.5}
.plan{list-style:none;display:flex;flex-direction:column;gap:8px}
.plan>li{border:1px solid var(--border);border-left:4px solid var(--teal-300);border-radius:var(--r);background:var(--surface)}
.plan>li.more{border-left-color:var(--band-more)}.plan>li.review{border-left-color:var(--band-review)}
.plan>li.done{opacity:.75}
.plan a,.plan .pi{display:flex;gap:12px;align-items:center;padding:12px 14px;color:var(--ink);text-decoration:none;min-width:0}
.plan .t{flex:1;min-width:0}
.plan .t small{display:block;color:var(--muted);font-size:13px}
.missed{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.result-head{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rules span{display:block}
.rules>div{border:1px solid var(--border);border-radius:var(--r);padding:12px;background:var(--surface)}
.rules b{display:block;font-size:20px}
@media (max-width:900px){.final-hero{grid-template-columns:1fr}.result-head{grid-template-columns:1fr;text-align:center}.result-head .row{justify-content:center}}
@media (max-width:640px){.rules>div{padding:10px}.rules b{font-size:17px}.rules span{font-size:13px;line-height:1.35}}
@media (max-width:640px){.sec-table .hide-sm{display:none}.sec-table td,.sec-table th{padding:10px 6px}}

/* Landing and request access (logged out) */
.landing{min-height:100vh;background:var(--canvas)}
.landing header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px clamp(16px,4vw,48px);border-bottom:1px solid var(--border);background:var(--surface)}
.landing .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;padding:clamp(24px,5vw,56px) clamp(16px,4vw,48px);max-width:1240px;margin:0 auto}
.landing h1{font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-.02em}
.landing .lead{font-size:18px;color:var(--muted);max-width:560px}
.ac-pick{display:flex;flex-direction:column;gap:6px;max-width:440px}
.ac-pick select{height:52px;font-size:17px;font-weight:600}
.ac-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:22px;display:flex;flex-direction:column;gap:14px;border-top:6px solid var(--ac,var(--teal))}
.ac-card .phases{list-style:none;display:flex;flex-direction:column;gap:8px}
.ac-card .phases li{display:grid;grid-template-columns:96px 1fr;gap:10px;font-size:15px}
.ac-card .phases b{color:var(--ac,var(--teal))}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:13px;padding:4px 10px;border-radius:99px;background:var(--sand);color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.facts>div{background:var(--sand);border-radius:var(--r);padding:10px 12px;font-size:14px}
.facts b{display:block;font-size:17px}
.req{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,48px) 56px;display:grid;grid-template-columns:.9fr 1.1fr;gap:32px}
.how{list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:s}
.how li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}
.how li::before{counter-increment:s;content:counter(s);width:32px;height:32px;border-radius:50%;background:var(--teal-100);color:var(--teal);display:grid;place-items:center;font-weight:750}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:900px){.landing .hero,.req{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.ac-card .phases li{grid-template-columns:1fr;gap:2px}.facts{grid-template-columns:1fr}}

/* Next academy */
.next-ac{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.next-ac button{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;border:2px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);cursor:pointer;border-top:6px solid var(--ac)}
.next-ac button[aria-pressed=true]{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac) inset}

/* Palette options (Admin > Brand colors). Light mode only; dark mode keeps its own tested colors. */
[data-palette=coral-aqua]:not([data-theme=dark]){
  --teal:#3E6E6D;--teal-600:#356665;--teal-300:#79ACAB;--teal-100:#DCEBE9;--teal-50:#EEF5F4;
  --ink:#2D3433;--muted:#5B6261;--canvas:#F6F5F5;--sand:#ECEAEA;--cream:#FFF1EA;--border:#D8D6D7;--line:#BFBCBD;
  --coral:#A94B35;--coral-100:#FBE3DC;--gold:#8C5A2B;--gold-100:#FFE9DC;
  --ac-qa:#3E6E6D;--ac-sdet:#A94B35;--ac-devops:#8C5A2B;--ac-dev:#55606B;--ac-pm:#5E6B2E;
  --band-review:#4E5554;--band-review-100:#ECEAEA;
}
[data-palette=deep-teal]:not([data-theme=dark]){
  --teal:#0C6474;--teal-600:#035162;--teal-300:#6FA9B4;--teal-100:#DCEDF0;--teal-50:#EEF6F7;
  --ink:#1E2B30;--muted:#55646A;--canvas:#F7F6F3;--sand:#EFEDE8;--cream:#FFF6E0;--border:#DEDBD4;--line:#C4C0B8;
  --coral:#B5403F;--coral-100:#F8D4CE;--gold:#7A5600;--gold-100:#FDEFC8;
  --ac-qa:#0C6474;--ac-sdet:#B5403F;--ac-devops:#8A6100;--ac-dev:#7A3E55;--ac-pm:#3D6B35;
}
[data-palette=deep-teal]:not([data-theme=dark]) .side{background:#054452;border-right-color:#054452;color:#E6F1F3}
[data-palette=deep-teal]:not([data-theme=dark]) .side a{color:#D5E7EA}
[data-palette=deep-teal]:not([data-theme=dark]) .side .nav a.on{background:#F3B21A;color:#054452}
[data-palette=deep-teal]:not([data-theme=dark]) .side .nav a:hover:not(.on){background:#0C5566}
[data-palette=deep-teal]:not([data-theme=dark]) .side .nav-label{color:#9CC3CA}
[data-palette=deep-teal]:not([data-theme=dark]) .side .lockup .wm{color:#fff}
[data-palette=deep-teal]:not([data-theme=dark]) .side .lockup .wm small{color:#9CC3CA}
[data-palette=deep-teal]:not([data-theme=dark]) .side .foot{border-top-color:#0C5566}
[data-palette=deep-teal]:not([data-theme=dark]) .lmt-mark{--mark-tile:#FFFFFF}
[data-palette=deep-teal]:not([data-theme=dark]) .landing header{background:#054452;border-bottom-color:#054452}
[data-palette=deep-teal]:not([data-theme=dark]) .landing header .lockup .wm{color:#fff}
[data-palette=deep-teal]:not([data-theme=dark]) .landing header .lockup .wm small{color:#9CC3CA}
[data-palette=deep-teal]:not([data-theme=dark]) .landing header .btn.sec{background:transparent;color:#fff;border-color:#6FA9B4}
.pal-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.pal-pick label{display:flex;flex-direction:column;gap:8px;border:2px solid var(--border);border-radius:var(--r-lg);padding:12px;cursor:pointer;background:var(--surface)}
.pal-pick label:has(input:checked){border-color:var(--teal)}
.pal-pick .sw{display:flex;gap:4px}.pal-pick .sw i{width:28px;height:28px;border-radius:6px;box-shadow:0 0 0 1px rgba(0,0,0,.08) inset}
@media (max-width:640px){.hide-sm{display:none!important}}

/* Score by section: a grid that becomes stacked rows on phones */
.secs{display:flex;flex-direction:column}
.secrow{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(140px,30%) 56px 160px;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--border)}
.secrow:last-child{border-bottom:0}
.secrow.head{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:6px 4px}
.secrow .st{display:flex;flex-direction:column;min-width:0}
.secrow .sn,.secrow .sp{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .secrow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"st sp" "sb sb" "sn sbd";row-gap:8px}
  .secrow.head{display:none}
  .secrow .st{grid-area:st}.secrow .sp{grid-area:sp}.secrow .sb{grid-area:sb}.secrow .sn{grid-area:sn;text-align:left;color:var(--muted)}.secrow .sbd{grid-area:sbd;justify-self:end}
}

/* Landing: who succeeds in this role */
.ac-card .fit{background:var(--sand);border-radius:var(--r);padding:14px 16px}
.ac-card .fit>b{display:block;font-size:15px;margin-bottom:8px}
.ac-card .fit ul{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}
.ac-card .fit li{display:flex;gap:8px;align-items:flex-start;font-size:15px;line-height:1.4}
.ac-card .fit li svg{flex:none;margin-top:2px;color:var(--ac,var(--teal))}
/* Certificate: go get the job */
.job-steps{list-style:none;counter-reset:js;display:flex;flex-direction:column;gap:12px;margin:0;padding:0}
.job-steps li{counter-increment:js;display:grid;grid-template-columns:32px 1fr;column-gap:12px;row-gap:2px}
.job-steps li::before{content:counter(js);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--teal);text-decoration:underline;cursor:pointer}
[data-palette=deep-teal]:not([data-theme=dark]) .landing header .btn.ghost{color:#fff}

/* Pace: landing table, sign-up and settings picker */
.paces{display:flex;flex-direction:column;gap:6px}
.pace-t{width:100%;border-collapse:collapse;font-size:14px}
.pace-t th,.pace-t td{padding:7px 0;border-top:1px solid var(--border);text-align:left}
.pace-t th{font-weight:600}
.pace-t td{text-align:right;color:var(--muted);padding-left:12px;white-space:nowrap}
.pace-pick{border:0;margin:0;padding:0;min-width:0}
.pace-pick legend{padding:0;margin-bottom:8px}
.pace-opt{border:1px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;align-items:flex-start}
.pace-opt:has(input:checked){border-color:var(--teal);background:var(--teal-50);box-shadow:0 0 0 1px var(--teal) inset}

/* v2.3 Help center and Messages */
.nowrap{white-space:nowrap}
.h3{font-size:17px}
.nav a .nbadge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--coral);color:var(--surface);font-size:12px;font-weight:700;display:inline-grid;place-items:center}
.tabs button{position:relative}
.tdot{position:absolute;top:10px;right:calc(50% - 16px);width:10px;height:10px;border-radius:50%;background:var(--coral);border:2px solid var(--surface)}
#helpbtn{position:relative;text-decoration:none}
#helpbtn.has-new::after{content:"";position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;background:var(--coral);border:2px solid var(--surface)}
button.chip{border:0;min-height:36px;padding:6px 12px;cursor:pointer;font:inherit;font-size:13px}
button.chip:hover{background:var(--teal-100)}
.help-steps{list-style:none;counter-reset:hs;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0}
.help-steps li{counter-increment:hs}
.help-steps a{display:grid;grid-template-columns:32px 1fr;column-gap:10px;align-items:center;height:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);text-decoration:none}
.help-steps a::before{content:counter(hs);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--teal);color:var(--surface);font-weight:700;display:grid;place-items:center}
.help-steps a:hover{border-color:var(--teal)}
.faq{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.faq details+details{border-top:1px solid var(--border)}
.faq summary{min-height:48px;display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";flex:none;width:22px;height:22px;border-radius:50%;background:var(--teal-50);color:var(--teal);display:grid;place-items:center;font-weight:700}
.faq details[open] summary::before{content:"-"}
.faq details>div{padding:0 16px 14px 48px}
.bot-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
.ticks{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}
.ticks li{display:flex;gap:8px;align-items:center;font-size:15px}
.ticks li svg{color:var(--muted);flex:none}
.help-card{text-decoration:none;color:var(--ink);gap:10px}
.help-card:hover{border-color:var(--teal)}
.help-card .small{flex:1}
.chat{list-style:none;display:flex;flex-direction:column;gap:12px;margin:0;padding:0}
.chat .msg{max-width:min(88%,620px);padding:12px 14px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface)}
.chat .msg.me{align-self:flex-end;background:var(--teal-50);border-color:var(--teal-100);border-bottom-right-radius:4px}
.chat .msg.them{align-self:flex-start;border-bottom-left-radius:4px}
.chat .who{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.chat .say{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.55}
.coach-av.sm{width:26px;height:26px;border-width:1px}
.inbox{list-style:none;margin:0;padding:0}
.inbox li+li{border-top:1px solid var(--border)}
.inbox-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;color:var(--ink);text-decoration:none}
.inbox-row:hover{background:var(--sand)}
.inbox-row.new{background:var(--teal-50)}
.inbox-row .udot{width:10px;height:10px;border-radius:50%;flex:none;margin-top:15px;background:transparent}
.inbox-row.new .udot{background:var(--coral)}
.inbox-row.new b{font-weight:700}
@media (max-width:760px){.help-steps{grid-template-columns:1fr}.inbox-row .avatar{display:none}.chat .msg{max-width:94%}}

/* v2.4 lesson player: picture scenes, recorded audio badge, speed picker */
.scene.pic-scene{background:#fff;padding:20px 24px 84px;gap:10px;align-content:center}
.scene.pic-scene img{max-width:100%;max-height:100%;min-height:0;object-fit:contain;border-radius:12px}
.scene.pic-scene h3{color:#0F6B69;font-size:20px;text-align:center}
.tbtn.rec{cursor:default;color:var(--teal);border-color:var(--teal-100);background:var(--teal-50)}
.tbtn.speed{gap:6px;padding-right:6px}
.tbtn.speed select{border:0;background:transparent;color:inherit;font:inherit;font-weight:600;padding:2px 4px;border-radius:6px;cursor:pointer}
.tbtn.speed select:focus-visible{outline:3px solid var(--gold,#E2B04A);outline-offset:2px}

/* v2.4 Admin > Content */
.ct-steps{list-style:none;counter-reset:ct;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}
.ct-steps li{counter-increment:ct;display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start}
.ct-steps li::before{content:counter(ct);width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.ct-list{margin:6px 0 0 18px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.ct-check{border:1px solid var(--border);border-radius:var(--r);padding:16px;background:var(--surface)}
.ct-prog{border:1px solid var(--border);border-radius:var(--r);padding:16px}
.ct-prog .bar{height:12px}
#storage .bar{height:12px}
@media (max-width:900px){.tabs{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:1fr}.tabs [hidden]{display:none}}
