:root{--ink:#403257;--purple:#6d46b5;--mint:#e2f5ed;--pink:#fce6f0;--line:#ddd2ea;--paper:#fff;--text-size:1rem}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at top right,#f9e4ef,transparent 48%),#f8f5fc;font:var(--text-size)/1.65 system-ui,Arial,sans-serif}.large-text{--text-size:1.2rem}.training-main{max-width:1160px;margin:auto;padding:26px}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:22px}nav button{margin-left:auto}a{color:#5c348c}button{font:inherit;font-weight:700;border:0;border-radius:14px;background:var(--purple);color:#fff;padding:12px 18px;cursor:pointer}button:disabled{opacity:.55;cursor:default}button:hover:not(:disabled){filter:brightness(1.07)}button,a,summary,select,input{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #cb528f;outline-offset:4px}.secondary{color:var(--purple);background:#eee6f8}.training-hero{display:flex;gap:24px;align-items:center;padding:34px;background:linear-gradient(115deg,#ece4fc,#fff0f6 60%,#e5f5ef);border:1px solid var(--line);border-radius:30px}.training-hero img{width:110px;height:110px;object-fit:contain;flex-shrink:0}.eyebrow{font-size:.8em;letter-spacing:.09em;font-weight:800;color:#664486}.training-hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.18;margin:10px 0}.training-hero p{margin:12px 0}.tag{display:inline-block;background:#fff9;border-radius:30px;padding:6px 13px;font-size:.85em;font-weight:650;border:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-top:32px}h2{line-height:1.3}.setup-controls{display:flex;gap:20px;margin:20px 0;flex-wrap:wrap}.setup-controls label{display:grid;gap:8px;font-weight:650;flex:1;min-width:220px}select{font:inherit;border:1px solid var(--line);padding:13px;background:white;border-radius:12px;color:var(--ink);width:100%}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mode-grid button{text-align:left;background:#eee6fc;color:var(--ink);padding:26px;border:1px solid #d4c1f4;display:grid;gap:12px;transition:transform .18s,box-shadow .18s}.mode-grid button:nth-child(2){background:var(--mint);border-color:#b9dfcd}.mode-grid button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 28px #63408417}.mode-grid button>span:first-child{font-size:2rem}.mode-grid strong{font-size:1.3em}.mode-grid small{font-size:.95em;font-weight:400;line-height:1.7}.button-end{color:var(--purple)}.training-note,.saved-training{background:#fff9e8;border:1px solid #ebd9a8;border-radius:18px;padding:20px;margin:24px 0}.training-note p:last-child{margin-bottom:0}.saved-training{background:var(--pink);border-color:#ebc6da}.saved-training button{margin:4px}.training-status{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:24px 0 14px}.training-status button{margin-left:auto}progress{height:10px;accent-color:var(--purple);width:100%;margin-bottom:20px}.training-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.case-card,.route-card{background:white;border:1px solid var(--line);padding:26px;border-radius:24px}.case-card{animation:arrive .22s ease-out}.route-card{align-self:start;position:sticky;top:16px}.route-card p{font-size:.88em}.case-text{background:#f6f1fc;border-left:4px solid #ae8bda;padding:20px;border-radius:0 14px 14px 0}fieldset{padding:0;border:0;margin:24px 0}legend{font-weight:750;margin-bottom:18px;line-height:1.65}#trainingOptions{display:grid;gap:12px}.option{display:flex;gap:13px;align-items:flex-start;padding:16px;border:2px solid #e3d9ed;border-radius:14px;cursor:pointer;background:#fff;transition:background .12s}.option:has(input:checked){border-color:var(--purple);background:#f2eafa}.option input{margin-top:7px;accent-color:var(--purple);width:18px;height:18px;flex-shrink:0}.option .letter{background:#f0e9f8;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;flex-shrink:0}.feedback-card{background:#edf7f1;border:1px solid #b7d9c2;border-radius:18px;padding:20px;margin-top:24px}.feedback-card h3{margin-top:0}.feedback-card p{overflow-wrap:anywhere}.feedback-option{padding:13px 0;border-top:1px solid #cbddcf}.feedback-option strong{display:block}.feedback-card a{font-size:.85em}.page-controls{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:24px}.training-map{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.training-map button{padding:9px 0;border:2px solid transparent;border-radius:9px;font-size:.85em;background:#f1ebfa;color:var(--ink)}.training-map button.answered{background:var(--mint)}.training-map button[aria-current=true]{border-color:var(--purple)}.training-map button small{font-size:10px;display:block;height:12px;line-height:12px}.result-summary{font-size:1.3em;font-weight:750}.topic-results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.topic-result{padding:18px;background:var(--mint);border:1px solid #c6dfd4;border-radius:16px}.topic-result h3{margin:0 0 10px;font-size:1em}.topic-result p{margin:0}.review-case{background:#fff;border:1px solid var(--line);border-radius:16px;margin:14px 0;padding:18px}.review-case summary{cursor:pointer;font-weight:750;line-height:1.6}.review-case .case-text{margin-top:18px}footer{text-align:center;padding:32px;color:#71647e;font-size:.85em}@keyframes arrive{from{opacity:.7;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}@media(max-width:850px){.training-layout{grid-template-columns:1fr}.route-card{position:static}.training-map{grid-template-columns:repeat(10,1fr)}.topic-results{grid-template-columns:1fr 1fr}}@media(max-width:560px){.training-main{padding:15px}.training-hero{padding:22px;display:block}.training-hero img{width:68px;height:68px;margin-bottom:12px}.training-hero h1{font-size:1.75rem}.mode-grid,.topic-results{grid-template-columns:1fr}.case-card,.route-card{padding:18px}.option{padding:13px;gap:9px}.training-map{grid-template-columns:repeat(7,1fr)}nav{gap:12px;font-size:.88em}nav button{margin-left:0}.training-status button{margin-left:0}.tag{font-size:.78em}}
