.training-intro{background:#272132;color:#faf8f4;padding:38px 42px;margin:-31px -34px 32px;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:30px;align-items:end}
.training-gate{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:17px 21px;margin-bottom:22px;background:#efe7f5;color:#392b49;border-radius:7px}
.training-gate strong{font-size:17px}.training-gate span{color:#574465}.training-gate.is-complete{background:#e4f2e8;color:#1e5837}.training-gate.is-complete span{color:#31694a}
.nav.tour-focus{position:relative;z-index:21;outline:2px solid #f47525;outline-offset:2px;background:#49375f;color:#fff}
.onboarding{position:fixed;z-index:20;inset:auto 24px 24px auto;width:min(390px,calc(100vw - 32px));padding:24px;background:#fff;color:#242028;border:1px solid #d8cedf;border-radius:12px;box-shadow:0 20px 50px rgba(32,27,41,.25);animation:onboarding-in .32s cubic-bezier(.16,1,.3,1) both}
.onboarding-count{color:#684e80;font-weight:700;font-variant-numeric:tabular-nums;font-size:13px;margin-bottom:9px}.onboarding h2{font-size:28px;line-height:1.15}.onboarding p{color:#505b53;line-height:1.5;max-width:36ch}.onboarding-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
@keyframes onboarding-in{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.onboarding{inset:auto 16px 16px 16px;width:auto;padding:20px}.nav.tour-focus{z-index:1}}
@media(prefers-reduced-motion:reduce){.onboarding{animation:none}}
.training-intro h1{font-size:clamp(32px,3vw,48px);line-height:1.08;max-width:16ch;margin-bottom:18px;color:#faf8f4}
.training-intro p{max-width:58ch;color:#e4dce8;font-size:18px;line-height:1.5;margin:0}
.training-progress{padding:15px 0 4px;border-top:1px solid #8a7c99}
.training-progress strong{display:block;font-size:32px;font-variant-numeric:tabular-nums;line-height:1}
.training-progress span{display:block;color:#e4dce8;font-size:13px;margin:5px 0 15px}
.training-progress progress{width:100%;height:7px;accent-color:#f47525}
.training-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:30px;align-items:start}
.training-rule{background:#eae5ef;padding:22px 26px;margin-bottom:28px;border-radius:5px}
.training-rule strong{display:block;font-size:18px;margin-bottom:6px}
.training-rule p{margin:0;max-width:68ch}
.training-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.training-jump a{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid #d5cadd;border-radius:5px;color:#4f3270;background:#fff;font-weight:700;text-decoration:none;font-size:13px}
.training-jump a:hover{background:#efe8f5}
.training-simulation{background:#fff;border:1px solid #dbd9d4;border-radius:5px;padding:28px;margin-bottom:34px;scroll-margin-top:20px}
.training-simulation-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:26px}
.training-simulation h2{font-size:clamp(25px,2.5vw,34px);margin:0 0 9px;line-height:1.15}
.training-simulation-head p{color:#505b53;margin:0;max-width:64ch;line-height:1.55}
.training-simulation-head>span{flex:none;color:#563678;background:#f2eaf7;border-radius:4px;padding:8px 10px;font-size:12px;font-weight:700}
.training-question{border:0;border-top:1px solid #e4e1dc;padding:19px 0 21px;margin:0;min-width:0}
.training-question legend{font-weight:750;font-size:18px;line-height:1.35;padding:0 0 10px}
.training-question legend span{color:#60427f;margin-right:4px}
.training-choice{display:flex;gap:12px;align-items:flex-start;margin:7px 0;padding:13px 14px;border:1px solid #dbd9d4;border-radius:5px;line-height:1.45;cursor:pointer;min-height:48px}
.training-choice:hover{border-color:#8d70aa;background:#faf7fc}
.training-choice:has(input:checked){border-color:#60427f;background:#f3edf8}
.training-choice input[type="radio"]{display:inline-block;flex:none;width:18px;height:18px;min-height:0;padding:0;margin:2px 0 0;border:0;border-radius:50%;accent-color:#60427f}
.training-choice span{display:block;min-width:0}
.training-feedback{padding:12px 14px;margin:12px 0 0;border-radius:5px;line-height:1.5}
.training-feedback.is-right{color:#1c5a3a;background:#e8f3eb}
.training-feedback.is-wrong{color:#6b3c16;background:#fbf0e3}
.training-quiz-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #e4e1dc;padding-top:19px}
.training-quiz-actions p{margin:0;color:#445149;line-height:1.5;flex:1 1 240px}
.training-modules{border-top:1px solid #d6d2d9}
.training-module{padding:30px 0 35px;border-bottom:1px solid #d6d2d9;scroll-margin-top:25px}
.training-module-head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px}
.training-number{font-size:16px;color:#674b85;font-weight:700;font-variant-numeric:tabular-nums;padding-top:4px}
.training-module h2{font-size:clamp(24px,2.5vw,32px);line-height:1.12;margin-bottom:7px}
.training-module-head p{color:#59635b;max-width:65ch;margin:0}
.training-module ol{margin:20px 0 22px 56px;padding:0;max-width:66ch;line-height:1.55}
.training-module li{padding-left:7px;margin:8px 0}
.training-language{margin-left:56px;max-width:70ch;background:#fff;padding:20px 22px;border-radius:5px}
.training-language span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#674b85;font-weight:700}
.training-language blockquote{font-size:18px;line-height:1.5;margin:12px 0}
.training-language p{border-top:1px solid #e3e2dd;padding-top:10px;margin:0;color:#4d554e;font-size:14px;line-height:1.5}
.training-done{margin:16px 0 0 56px;border:1px solid #a895b8;background:transparent;color:#533a70;border-radius:5px;padding:9px 13px;min-height:43px;font-weight:700}
.training-done.is-done{background:#e3f0e8;color:#1e6341;border-color:#b7d8c5}
.training-practice{background:#272132;color:#fff;padding:28px;margin:32px 0;border-radius:5px}
.training-practice h2{color:#fff}.training-practice p{color:#e1dce6;max-width:66ch}.training-practice ul{padding-left:20px;line-height:1.7}
.training-side{position:sticky;top:20px;display:grid;gap:18px}
.training-side section{background:#fff;padding:22px;border:1px solid #dedfd8;border-radius:5px}
.training-side h2{font-size:23px}.training-side p{color:#5b645d;font-size:14px;line-height:1.5}
.training-side details{border-top:1px solid #e4e4df;padding:12px 0}
.training-side summary{cursor:pointer;font-weight:700;color:#32283d;min-height:27px}
.training-side blockquote{margin:12px 0 7px;line-height:1.55}
.training-side small{display:block;color:#5e665e;line-height:1.5}
.training-side a{display:block;text-decoration:none;padding:13px 0;border-top:1px solid #e4e4df}
.training-side a:hover strong{text-decoration:underline;text-underline-offset:3px}
.training-side a strong{display:block;color:#513477;font-size:14px}.training-side a span{display:block;color:#5e665e;font-size:13px;margin-top:3px}
@media(max-width:1050px){.training-layout{grid-template-columns:1fr}.training-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.training-intro{margin:-21px -16px 24px;padding:25px 18px;grid-template-columns:1fr;gap:22px}.training-intro p{font-size:16px}.training-progress{max-width:230px}.training-side{grid-template-columns:1fr}.training-module-head{grid-template-columns:34px minmax(0,1fr)}.training-module ol{margin-left:34px}.training-language{margin-left:0}.training-done{margin-left:0}.training-rule{padding:18px}.training-simulation{padding:19px 16px}.training-simulation-head{display:block}.training-simulation-head>span{display:inline-block;margin-top:12px}.training-jump a{flex:1 1 auto;justify-content:center}.training-quiz-actions .primary{width:100%}}
