.esp{--esp-ink:#173345;--esp-teal:#126e72;--esp-soft:#eaf3f1;--esp-border:#d8e3e5;--esp-muted:#516975;max-width:1240px;margin:3rem auto;padding:clamp(18px,3vw,42px);color:var(--esp-ink);background:linear-gradient(150deg,#f3f8f6,#f7f7f2 62%,#eef4f6);border:1px solid var(--esp-border);border-radius:28px;box-sizing:border-box;font-family:inherit;line-height:1.75;isolation:isolate}.esp *{box-sizing:border-box;min-width:0}.esp [hidden]{display:none!important}.esp button,.esp input{font:inherit}.esp button{cursor:pointer;min-height:46px;border-radius:12px;font-weight:700;line-height:1.45;transition:background .15s,color .15s,box-shadow .15s}.esp button:disabled{cursor:default;opacity:.55}.esp :is(button,a,input,summary):focus-visible{outline:3px solid #cc8335;outline-offset:3px}.esp-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:24px}.esp h2{font-size:clamp(26px,3.2vw,43px);line-height:1.35;letter-spacing:-.025em;margin:4px 0 14px;color:var(--esp-ink)}.esp h3{font-size:22px;line-height:1.5;margin:0 0 14px;color:var(--esp-ink)}.esp h4{font-size:16px;line-height:1.6;margin:0 0 8px;color:var(--esp-ink)}.esp p{margin:0 0 14px}.esp-eyebrow{font-weight:800;font-size:12px;letter-spacing:.16em;color:var(--esp-teal);margin:0 0 10px!important}.esp-lead{max-width:710px;font-size:16px;color:var(--esp-muted);margin-bottom:0!important}.esp-edition{display:flex;gap:13px;align-items:center;border-left:1px solid #b3cbcb;padding-left:24px;flex-shrink:0}.esp-edition strong{font-size:52px;line-height:1;font-weight:400;color:var(--esp-teal);font-variant-numeric:tabular-nums}.esp-edition span{font-size:12px;color:var(--esp-muted);line-height:1.7}.esp-notice{display:flex;gap:8px 14px;flex-wrap:wrap;background:#fff8e9;border:1px solid #e5d7b7;border-radius:14px;padding:14px 18px;font-size:14px;color:#625333;margin-bottom:24px}.esp-routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:24px}.esp-route{border:1px solid #cbdadd;background:#fff;color:var(--esp-ink);padding:12px 10px;text-align:center}.esp-route:hover:not(:disabled){background:#e9f2f0}.esp-route[data-active=true]{background:var(--esp-ink);border-color:var(--esp-ink);color:#fff;box-shadow:0 4px 10px #19354518}.esp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,300px);align-items:start;gap:22px}.esp-card{background:#fff;border:1px solid var(--esp-border);border-radius:20px;padding:clamp(20px,2.5vw,30px);box-shadow:0 8px 22px #183b4905}.esp-question-top{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.esp-tag{font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;background:var(--esp-soft);color:#0e5d61}.esp-muted{font-size:12px;color:var(--esp-muted)}.esp-prompt{font-size:17px;line-height:1.95;overflow-wrap:anywhere}.esp-data{background:#f4f7f8;border-radius:14px;padding:17px 19px;margin:21px 0}.esp-data dl{margin:0}.esp-data dl>div{display:flex;gap:12px;justify-content:space-between;padding:8px 0;border-bottom:1px solid #dfe8eb}.esp-data dl>div:last-child{border-bottom:0}.esp-data dt{font-size:14px;color:#3c5665;flex:1}.esp-data dd{margin:0;font-weight:700;text-align:right;max-width:55%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.esp-hint-box{border-left:3px solid #82b5ad;padding:0 0 0 17px;margin-bottom:26px}.esp ol,.esp ul{padding-left:22px;margin:10px 0 16px}.esp li{padding:3px 0 6px;overflow-wrap:anywhere}.esp-hint-box ol:empty{display:none}.esp-secondary{border:1px solid #c4d5d7;background:#f7faf9;color:#234756;padding:10px 15px}.esp-secondary:hover:not(:disabled){background:#e6f0ed}.esp-primary{border:1px solid var(--esp-teal);background:var(--esp-teal);color:#fff;padding:12px 19px}.esp-primary:hover:not(:disabled){background:#09575c;border-color:#09575c}.esp-primary span{margin-left:10px}.esp-small{font-size:12px;line-height:1.8;color:var(--esp-muted);margin:10px 0 0!important}.esp label{font-weight:700;font-size:14px;display:block;margin-bottom:9px}.esp-answer-row{display:flex;gap:12px;align-items:stretch}.esp-input-wrap{position:relative;flex:1;min-width:0}.esp-input-wrap input{width:100%;border:1px solid #aebfc6;background:#fff;border-radius:12px;min-height:52px;padding:10px 84px 10px 14px;font-size:20px;color:var(--esp-ink);font-variant-numeric:tabular-nums}.esp-input-wrap span{position:absolute;right:12px;top:50%;transform:translateY(-50%);max-width:72px;font-size:12px;color:var(--esp-muted);pointer-events:none;line-height:1.3;text-align:right;overflow-wrap:anywhere}.esp input[aria-invalid=true]{border-color:#a34327;box-shadow:0 0 0 1px #a34327}.esp-status{font-size:14px;line-height:1.7;color:#6c4d23;min-height:22px;margin:16px 0!important}.esp-feedback{border:1px solid #e0c6ac;background:#fff9f0;border-radius:15px;padding:20px;margin:18px 0}.esp-feedback[data-correct=true]{border-color:#b7d6c9;background:#f0f8f3}.esp-feedback h4{margin-top:15px}.esp-feedback h4:first-child{margin-top:0}.esp-reference{font-variant-numeric:tabular-nums;font-weight:700}.esp-feedback details{border-top:1px solid #cfdcd6;padding-top:14px;margin-top:12px}.esp-feedback summary{cursor:pointer;font-weight:700;padding:5px 0}.esp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.esp-scope{font-size:12px;line-height:1.8;color:var(--esp-muted);border-top:1px solid var(--esp-border);padding-top:18px;margin-top:24px!important}.esp-source{font-size:13px;color:#126e72;text-decoration:underline;text-underline-offset:3px}.esp-sidebar{display:grid;gap:16px}.esp-sidebar .esp-card{padding:23px}.esp-sidebar h3{font-size:18px}.esp-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.esp-stats div{display:grid;gap:3px}.esp-stats strong{font-size:26px;font-weight:700;line-height:1.4;font-variant-numeric:tabular-nums}.esp-stats span{font-size:11px;color:var(--esp-muted)}.esp progress{display:block;width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;accent-color:var(--esp-teal);background:#e8efef}.esp progress::-webkit-progress-bar{background:#e8efef}.esp progress::-webkit-progress-value{background:var(--esp-teal)}.esp-count{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf2ef;font-size:14px;font-weight:800;color:var(--esp-teal)}.esp-wrong-card .esp-question-top{margin-bottom:4px}.esp-wrong-card h3{margin:0}.esp-wrong-card #esp-wrong-list{font-size:13px;line-height:1.8;margin:16px 0}.esp-wrong-card .esp-primary{width:100%;font-size:14px}.esp-check{display:flex!important;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.6}.esp-check input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;accent-color:var(--esp-teal)}.esp-clear{background:transparent;border:1px solid #d6c7c0;color:#7c4b38;font-size:12px;padding:10px 12px;margin-top:18px;width:100%}.esp-version{font-size:11px;color:var(--esp-muted);padding-top:18px;margin-bottom:0!important;overflow-wrap:anywhere}.esp #engineering-calculators{margin-top:28px}.esp #engineering-calculators:empty{display:none}
@media(max-width:940px){.esp-layout{grid-template-columns:1fr}.esp-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.esp-sidebar .esp-card{padding:18px}.esp-stats{gap:8px}.esp-stats strong{font-size:22px}.esp-edition{display:none}}
@media(max-width:650px){.esp{margin:24px 0;padding:18px 13px;border-radius:20px}.esp-heading{margin-bottom:18px}.esp h2{font-size:29px}.esp-routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.esp-route{font-size:13px;padding:11px 8px}.esp-layout{gap:16px}.esp-sidebar{grid-template-columns:1fr}.esp-question-card{padding:21px 17px}.esp-prompt{font-size:16px}.esp-answer-row{flex-direction:column}.esp-answer-row .esp-primary{width:100%}.esp-input-wrap input{font-size:20px}.esp-data{padding:14px}.esp-data dl>div{flex-direction:column;gap:2px}.esp-data dd{max-width:100%;text-align:left}.esp-feedback{padding:16px}.esp-notice{padding:13px;font-size:12px}.esp-actions{flex-direction:column}.esp-actions button{width:100%}.esp-sidebar .esp-card{padding:22px}.esp-question-top{gap:8px}.esp-stats strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.esp button{transition:none}}
