/* CapLab Learn V2 — intentionally namespaced so it can sit beside Learn V1. */
#learnMode { padding-top:64px; }
.cl-learn-v2 { --cl-green:#2D8A5E; --cl-green-dark:#236B4A; --cl-green-soft:#D6F0E0; --cl-ink:#0A0A0A; --cl-muted:#6B7280; --cl-line:#E5E7EB; --cl-amber:#FFFBEB; --cl-amber-ink:#78350F; max-width:1120px; margin:0 auto; padding:32px 24px 72px; color:var(--cl-ink); font-family:Inter,system-ui,sans-serif; }
.cl-learn-v2 *, .cl-learn-v2 *::before, .cl-learn-v2 *::after { box-sizing:border-box; }
.cl-learn-v2__top { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:24px; }
.cl-learn-v2__eyebrow, .cl-learn-v2__step, .cl-learn-v2__label { color:var(--cl-green-dark); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.cl-learn-v2__title { margin:5px 0 0; font-family:'Space Grotesk',sans-serif; font-size:28px; line-height:1.1; letter-spacing:-.03em; }
.cl-learn-v2__context { flex:0 0 auto; border:1px solid var(--cl-line); border-radius:999px; color:#4B5563; font-size:12px; font-weight:600; padding:8px 12px; white-space:nowrap; }
.cl-learn-v2__jurisdiction { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--cl-line); border-radius:999px; background:#fff; vertical-align:middle; }.cl-learn-v2__jurisdiction button { border:0; border-radius:999px; padding:5px 8px; background:transparent; color:#6B7280; font:600 11px Inter,sans-serif; cursor:pointer; }.cl-learn-v2__jurisdiction button.is-active { background:var(--cl-green-soft); color:var(--cl-green-dark); }
.cl-learn-v2__layout { display:grid; grid-template-columns:238px minmax(0,1fr); gap:22px; align-items:start; }
.cl-learn-v2__rail { background:#fff; border:1px solid var(--cl-line); border-radius:14px; box-shadow:0 1px 3px rgba(0,0,0,.05); overflow:hidden; }
.cl-learn-v2__progress { height:4px; background:#E5E7EB; }.cl-learn-v2__progress > i { display:block; height:100%; background:var(--cl-green); transition:width .25s ease; }
.cl-learn-v2__rail-list { list-style:none; padding:8px; margin:0; }
.cl-learn-v2__rail-button { display:flex; width:100%; gap:9px; align-items:flex-start; text-align:left; padding:10px; border:0; background:transparent; border-radius:9px; color:#6B7280; font:inherit; cursor:pointer; }
.cl-learn-v2__rail-button:hover { background:#F9FAFB; color:var(--cl-ink); }.cl-learn-v2__rail-button.is-active { color:var(--cl-ink); background:var(--cl-green-soft); }.cl-learn-v2__rail-button.is-locked { cursor:not-allowed; opacity:.45; }
.cl-learn-v2__rail-number { width:20px; height:20px; flex:0 0 auto; border:1px solid #D1D5DB; border-radius:50%; font-size:11px; display:grid; place-items:center; font-weight:700; }.is-complete .cl-learn-v2__rail-number { border-color:var(--cl-green); background:var(--cl-green); color:#fff; }.is-active .cl-learn-v2__rail-number { border-color:var(--cl-green); color:var(--cl-green-dark); }
.cl-learn-v2__rail-copy strong { display:block; font-size:12px; line-height:1.25; }.cl-learn-v2__rail-copy small { display:block; margin-top:2px; font-size:10px; color:#9CA3AF; }
.cl-learn-v2__panel { min-width:0; background:#fff; border:1px solid var(--cl-line); border-radius:14px; box-shadow:0 2px 12px rgba(0,0,0,.05); overflow:hidden; }
.cl-learn-v2__panel-head { padding:25px 27px 18px; border-bottom:1px solid #F3F4F6; }.cl-learn-v2__panel-head h2 { margin:5px 0 0; font-family:'Space Grotesk',sans-serif; font-size:24px; line-height:1.15; letter-spacing:-.025em; }
.cl-learn-v2__phases { display:flex; gap:4px; padding:12px 27px 0; background:#fff; }.cl-learn-v2__phase { appearance:none; border:0; background:transparent; padding:9px 13px 11px; color:#9CA3AF; font:600 12px Inter,sans-serif; border-bottom:2px solid transparent; cursor:pointer; }.cl-learn-v2__phase.is-active { color:var(--cl-green-dark); border-bottom-color:var(--cl-green); }.cl-learn-v2__phase.is-locked { cursor:not-allowed; opacity:.5; }
.cl-learn-v2__body { padding:26px 27px 28px; }.cl-learn-v2__lede { font-family:'Space Grotesk',sans-serif; font-size:20px; line-height:1.28; letter-spacing:-.02em; margin:0 0 11px; }.cl-learn-v2__copy { color:#4B5563; font-size:14px; line-height:1.7; max-width:710px; }.cl-learn-v2__copy p { margin:0 0 12px; }
.cl-learn-v2__visual { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:20px 0; }.cl-learn-v2__stat { border:1px solid var(--cl-line); border-radius:10px; padding:14px; background:#FAFAFA; }.cl-learn-v2__stat b { display:block; margin-top:4px; font-family:'Space Grotesk',sans-serif; font-size:18px; }.cl-learn-v2__formula { margin:16px 0; padding:13px 15px; background:#F0F7F3; border-left:3px solid var(--cl-green); border-radius:7px; color:#264335; font:600 13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; }
.cl-learn-v2__insight { margin-top:17px; padding:13px 15px; border:1px solid #FDE5A7; border-radius:10px; background:var(--cl-amber); color:var(--cl-amber-ink); font-size:13px; line-height:1.6; }.cl-learn-v2__insight b { font-weight:700; }
.cl-learn-v2__actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:24px; }.cl-learn-v2__button { appearance:none; border:1px solid var(--cl-green); border-radius:8px; padding:10px 14px; background:var(--cl-green); color:#fff; font:600 13px Inter,sans-serif; cursor:pointer; }.cl-learn-v2__button:hover { background:var(--cl-green-dark); }.cl-learn-v2__button--quiet { background:#fff; color:#4B5563; border-color:#D1D5DB; }.cl-learn-v2__button--quiet:hover { background:#F9FAFB; color:var(--cl-ink); }.cl-learn-v2__button[disabled] { cursor:not-allowed; opacity:.45; }
.cl-learn-v2__sandbox { margin-top:4px; padding:18px; border:1.5px solid var(--cl-line); border-radius:12px; background:#fff; }.cl-learn-v2__sandbox-head h3 { margin:0; font-family:'Space Grotesk',sans-serif; font-size:16px; }.cl-learn-v2__sandbox-head p { margin:5px 0 16px; color:var(--cl-muted); font-size:12px; line-height:1.5; }.cl-learn-v2__controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.cl-learn-v2__field { display:block; color:#6B7280; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }.cl-learn-v2__field input { display:block; width:100%; margin-top:6px; border:1.5px solid #D1D5DB; border-radius:8px; padding:9px 10px; background:#fff; color:var(--cl-ink); font:600 14px Inter,sans-serif; }.cl-learn-v2__field input:focus { outline:0; border-color:var(--cl-green); box-shadow:0 0 0 3px rgba(45,138,94,.11); }
.cl-learn-v2__result { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:15px; }.cl-learn-v2__result > div { border-radius:8px; background:#F9FAFB; padding:11px; color:#6B7280; font-size:11px; }.cl-learn-v2__result b { display:block; margin-top:3px; color:var(--cl-ink); font-family:'Space Grotesk',sans-serif; font-size:16px; }
.cl-learn-v2__case { border:1px solid #D8EADF; border-radius:12px; background:#F8FCF9; padding:20px; }.cl-learn-v2__case-tag { color:var(--cl-green-dark); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.cl-learn-v2__case h3 { margin:7px 0 8px; font-family:'Space Grotesk',sans-serif; font-size:19px; line-height:1.25; }.cl-learn-v2__case p { margin:0; color:#4B5563; font-size:14px; line-height:1.65; }.cl-learn-v2__choices { display:grid; gap:9px; margin-top:17px; }.cl-learn-v2__choice { width:100%; text-align:left; appearance:none; border:1px solid #CDE5D6; border-radius:9px; padding:12px 13px; background:#fff; color:#1F2937; font:500 13px/1.5 Inter,sans-serif; cursor:pointer; }.cl-learn-v2__choice:hover { border-color:var(--cl-green); }.cl-learn-v2__choice.is-chosen { border-color:var(--cl-green); background:var(--cl-green-soft); }.cl-learn-v2__feedback { margin-top:14px; padding:12px 13px; border-radius:8px; background:var(--cl-amber); color:var(--cl-amber-ink); font-size:13px; line-height:1.6; }
.cl-learn-v2__summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }.cl-learn-v2__summary div { padding:13px; border:1px solid var(--cl-line); border-radius:9px; font-size:12px; color:#6B7280; }.cl-learn-v2__summary b { display:block; color:var(--cl-ink); margin-top:3px; font-size:14px; }
.cl-learn-v2__complete { text-align:center; padding:16px 0 0; }.cl-learn-v2__complete h3 { font-family:'Space Grotesk',sans-serif; font-size:21px; }.cl-learn-v2__complete p { max-width:590px; margin:8px auto 0; color:#4B5563; line-height:1.65; font-size:14px; }.cl-learn-v2__handoff { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:20px; }
.cl-learn-v2__sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (max-width:800px) { body { padding-left:0!important; }.cl-learn-v2 { padding:23px 16px 54px; }.cl-learn-v2__layout { grid-template-columns:1fr; }.cl-learn-v2__rail-list { display:flex; overflow:auto; gap:4px; }.cl-learn-v2__rail-button { min-width:158px; }.cl-learn-v2__top { display:block; }.cl-learn-v2__context,.cl-learn-v2__jurisdiction { display:inline-block; margin-top:12px; }.cl-learn-v2__panel-head,.cl-learn-v2__body { padding-left:18px; padding-right:18px; }.cl-learn-v2__phases { padding-left:18px; }.cl-learn-v2__title { font-size:25px; } }
@media (max-width:500px) { .cl-learn-v2__visual,.cl-learn-v2__controls,.cl-learn-v2__result,.cl-learn-v2__summary { grid-template-columns:1fr; }.cl-learn-v2__phases { overflow:auto; }.cl-learn-v2__phase { white-space:nowrap; }.cl-learn-v2__actions { align-items:stretch; flex-direction:column-reverse; }.cl-learn-v2__button { width:100%; }.cl-learn-v2__panel-head h2 { font-size:21px; } }
