/* TES Adaptive Pilot — locally hosted, no fonts, trackers or third-party assets. */
.tes-adaptive { --tes-navy:#16364a; --tes-mint:#d8eee4; --tes-paper:#fbfaf7; --tes-green:#176b52; --tes-line:#dbe4df; --tes-muted:#53676e; --tes-warn:#855511; color:var(--tes-navy); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; font-size:16px; background:var(--tes-paper); border:1px solid var(--tes-line); border-radius:24px; box-shadow:0 16px 55px #16364a0c; max-width:1020px; margin:28px auto; overflow:hidden; text-align:left; }
.tes-adaptive *, .tes-adaptive *::before, .tes-adaptive *::after {box-sizing:border-box;}
.tes-adaptive h1,.tes-adaptive h2,.tes-adaptive h3,.tes-adaptive p,.tes-adaptive ul {margin:0; padding:0; font-family:inherit; color:inherit;}
.tes-adaptive h1 {font-size:clamp(30px,4.5vw,48px);font-weight:680;line-height:1.15;letter-spacing:-1.5px;max-width:680px;}
.tes-adaptive h2 {font-size:clamp(24px,3vw,32px);font-weight:650;line-height:1.25;letter-spacing:-.6px;}
.tes-adaptive h3 {font-size:18px;font-weight:650;line-height:1.35;}
.tes-adaptive button,.tes-adaptive input,.tes-adaptive select {font:inherit;}
.tes-adaptive button {cursor:pointer;touch-action:manipulation;}
.tes-adaptive a {color:var(--tes-green);text-decoration:underline;text-underline-offset:3px;}
.tes-adaptive a:hover {text-decoration-thickness:2px;}
.tes-adaptive :focus-visible {outline:3px solid #aa671c;outline-offset:4px;}
.tes-adaptive button:disabled {cursor:wait;opacity:.6;}
.tes-adaptive [hidden] {display:none!important;}
.tes-adaptive .tes-shell {padding:32px 44px 42px;}
.tes-adaptive .tes-header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:25px 44px;border-bottom:1px solid var(--tes-line);background:#fff;}
.tes-adaptive .tes-brand {display:flex;align-items:center;gap:11px;line-height:1.2;}
.tes-adaptive .tes-mark {display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--tes-navy);color:#fff;font-size:13px;font-weight:800;letter-spacing:1px;flex-shrink:0;}
.tes-adaptive .tes-brand strong {display:block;font-size:15px;font-weight:750;letter-spacing:.1px;}
.tes-adaptive .tes-brand small {display:block;font-size:11px;color:var(--tes-muted);margin-top:4px;letter-spacing:.7px;}
.tes-adaptive .tes-badge {display:inline-flex;align-items:center;gap:6px;background:var(--tes-mint);color:#185641;border-radius:30px;font-size:12px;font-weight:700;padding:5px 12px;white-space:nowrap;}
.tes-adaptive .tes-eyebrow {text-transform:uppercase;font-size:11px;font-weight:750;letter-spacing:1.7px;color:var(--tes-green);margin-bottom:17px;}
.tes-adaptive .tes-lead {font-size:17px;line-height:1.75;color:var(--tes-muted);max-width:700px;margin-top:19px;}
.tes-adaptive .tes-intro-grid {display:grid;grid-template-columns:1.35fr .8fr;gap:40px;margin-top:31px;align-items:start;}
.tes-adaptive .tes-note {font-size:14px;padding:18px 20px;background:#edf5f0;border-radius:13px;border:1px solid #d7e8dd;}
.tes-adaptive .tes-note p+p {margin-top:8px;}
.tes-adaptive .tes-warning {background:#fff4de;border-color:#eed7a9;color:#68440f;}
.tes-adaptive .tes-error {background:#fff1ec;border-color:#edc3b7;color:#823a28;}
.tes-adaptive .tes-points {display:grid;gap:22px;list-style:none;padding:0;}
.tes-adaptive .tes-points li {display:flex;align-items:start;gap:12px;}
.tes-adaptive .tes-count {width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:50%;background:var(--tes-mint);color:var(--tes-green);font-size:13px;font-weight:750;}
.tes-adaptive .tes-points strong {display:block;font-size:15px;}
.tes-adaptive .tes-points p {font-size:13px;color:var(--tes-muted);margin-top:3px;}
.tes-adaptive .tes-form {display:grid;gap:18px;max-width:650px;}
.tes-adaptive .tes-field {display:grid;gap:7px;font-size:14px;font-weight:650;}
.tes-adaptive .tes-field input,.tes-adaptive .tes-field select {width:100%;min-height:48px;border:1px solid #aabcb3;border-radius:8px;padding:10px 13px;color:var(--tes-navy);background:#fff;}
.tes-adaptive .tes-field input {letter-spacing:.03em;}
.tes-adaptive .tes-field .tes-hint {font-size:12px;font-weight:400;color:var(--tes-muted);}
.tes-adaptive .tes-check {display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;cursor:pointer;}
.tes-adaptive .tes-check input {width:19px;height:19px;min-width:19px;accent-color:var(--tes-green);margin:2px 0 0;}
.tes-adaptive .tes-actions {display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:26px;}
.tes-adaptive .tes-actions.spread {justify-content:space-between;}
.tes-adaptive .tes-btn {display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;border-radius:10px;border:1px solid transparent;padding:11px 21px;font-weight:650;font-size:14px;background:var(--tes-navy);color:#fff;text-decoration:none;line-height:1.45;}
.tes-adaptive .tes-btn:hover {background:#254b62;color:#fff;}
.tes-adaptive .tes-btn.secondary {background:#fff;border-color:#b8c9c0;color:var(--tes-navy);}
.tes-adaptive .tes-btn.secondary:hover {background:#edf4ef;}
.tes-adaptive .tes-btn.quiet {background:transparent;color:var(--tes-muted);border-color:transparent;padding:10px 8px;}
.tes-adaptive .tes-btn.quiet:hover {color:var(--tes-green);background:#eaf2ed;}
.tes-adaptive .tes-btn.mint {background:var(--tes-mint);color:#154c3b;border-color:#b6d5c6;}
.tes-adaptive .tes-btn.recording {background:#923d2c;}
.tes-adaptive .tes-progress {display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:27px;color:var(--tes-muted);font-size:12px;}
.tes-adaptive .tes-stage {display:flex;gap:10px;align-items:center;font-size:12px;font-weight:700;color:var(--tes-green);}
.tes-adaptive .tes-stage::before {content:"";width:8px;height:8px;border-radius:50%;background:var(--tes-green);}
.tes-adaptive .tes-save {display:flex;align-items:center;gap:6px;font-size:11px;}
.tes-adaptive .tes-save.pending {color:#885919;}
.tes-adaptive .tes-save.error {color:#913923;}
.tes-adaptive .tes-question {margin-top:21px;font-size:21px;line-height:1.6;font-weight:500;white-space:pre-line;}
.tes-adaptive .tes-passage {background:#fff;border:1px solid var(--tes-line);padding:22px;border-radius:12px;margin-top:23px;font-size:17px;line-height:1.8;white-space:pre-line;}
.tes-adaptive .tes-options {display:grid;gap:10px;margin-top:24px;border:none;padding:0;min-width:0;}
.tes-adaptive .tes-option {display:flex;align-items:center;gap:13px;border:1px solid #c3d1c9;padding:14px 17px;border-radius:11px;background:#fff;cursor:pointer;font-size:15px;line-height:1.55;min-height:55px;}
.tes-adaptive .tes-option:hover {border-color:#59937a;background:#f0f7f2;}
.tes-adaptive .tes-option:has(input:checked) {border:2px solid var(--tes-green);padding:13px 16px;background:#e6f2e9;}
.tes-adaptive .tes-option input {accent-color:var(--tes-green);width:19px;height:19px;flex:0 0 19px;margin:0;}
.tes-adaptive .tes-help {display:flex;flex-wrap:wrap;gap:9px 17px;border-top:1px solid var(--tes-line);padding-top:20px;margin-top:27px;}
.tes-adaptive .tes-help button {border:0;padding:3px 0;background:transparent;color:var(--tes-muted);text-decoration:underline;text-underline-offset:3px;font-size:12px;}
.tes-adaptive .tes-help button:hover {color:var(--tes-navy);}
.tes-adaptive .tes-footer {padding:16px 44px;border-top:1px solid var(--tes-line);font-size:11px;line-height:1.6;color:var(--tes-muted);background:#fff;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.tes-adaptive .tes-footer button {border:0;background:none;color:var(--tes-green);font-size:11px;padding:0;text-decoration:underline;}
.tes-adaptive .tes-device-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0;}
.tes-adaptive .tes-device-card {background:#fff;border:1px solid var(--tes-line);padding:23px;border-radius:15px;}
.tes-adaptive .tes-device-card p {font-size:13px;color:var(--tes-muted);margin-top:9px;}
.tes-adaptive .tes-device-card .tes-actions {margin-top:17px;}
.tes-adaptive .tes-device-status {margin-top:13px;min-height:24px;font-size:12px;color:var(--tes-green);}
.tes-adaptive .tes-audio {display:block;width:100%;max-width:500px;margin-top:18px;height:45px;}
.tes-adaptive .tes-audio-panel {padding:22px;border:1px solid var(--tes-line);border-radius:14px;background:#fff;margin-top:23px;}
.tes-adaptive .tes-small {font-size:12px;line-height:1.65;color:var(--tes-muted);}
.tes-adaptive .tes-spacer {margin-top:20px;}
.tes-adaptive .tes-rubric {border-top:1px solid var(--tes-line);margin-top:25px;padding-top:17px;}
.tes-adaptive details summary {cursor:pointer;font-size:13px;font-weight:650;color:var(--tes-green);}
.tes-adaptive details p {font-size:12px;color:var(--tes-muted);margin-top:10px;}
.tes-adaptive .tes-result-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0;}
.tes-adaptive .tes-result-card {border:1px solid var(--tes-line);border-radius:14px;padding:20px;background:#fff;}
.tes-adaptive .tes-result-card h3 {font-size:13px;}
.tes-adaptive .tes-band {font-size:28px;font-weight:650;line-height:1.3;margin:13px 0 9px;letter-spacing:-1px;}
.tes-adaptive .tes-result-card p {font-size:12px;color:var(--tes-muted);}
.tes-adaptive .tes-result-table {width:100%;border-collapse:collapse;font-size:14px;margin:22px 0;}
.tes-adaptive .tes-result-table th,.tes-adaptive .tes-result-table td {padding:13px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--tes-line);}
.tes-adaptive .tes-result-table th {width:42%;padding-right:20px;font-weight:600;}
.tes-adaptive .tes-result-table td {color:var(--tes-muted);}
.tes-adaptive .tes-limits {margin-top:12px;padding-left:19px;font-size:13px;}
.tes-adaptive .tes-code {font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-word;font-size:22px;letter-spacing:1px;background:#fff;border:1px dashed #94b9a6;padding:18px;border-radius:10px;margin:17px 0;user-select:all;color:var(--tes-navy);}
.tes-adaptive .tes-dialog {position:fixed;inset:0;background:#0f283ccc;z-index:999999;display:grid;align-items:center;justify-items:center;padding:18px;overflow:auto;}
.tes-adaptive .tes-dialog-card {background:var(--tes-paper);border-radius:18px;padding:30px;max-width:590px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 80px #0004;}
.tes-adaptive .tes-dialog-card h2 {font-size:24px;}
.tes-adaptive .tes-dialog-card p {margin-top:14px;font-size:14px;}
.tes-adaptive .tes-dialog-card .tes-actions {margin-top:22px;}
.tes-adaptive .tes-status-message {margin:0 0 22px;}
.tes-adaptive .tes-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.tes-adaptive .tes-loading {min-height:280px;display:grid;place-content:center;gap:12px;text-align:center;color:var(--tes-muted);}
.tes-adaptive .tes-spinner {width:25px;height:25px;border-radius:50%;border:3px solid #d7e7dd;border-top-color:var(--tes-green);animation:tes-spin 1s linear infinite;margin:0 auto;}
@keyframes tes-spin {to{transform:rotate(360deg);}}
@media(max-width:700px) {
 .tes-adaptive {margin:12px auto;border-radius:17px;font-size:15px;}
 .tes-adaptive .tes-header {padding:20px 23px;}
 .tes-adaptive .tes-shell {padding:25px 23px 30px;}
 .tes-adaptive .tes-footer {padding:16px 23px;}
 .tes-adaptive .tes-intro-grid {grid-template-columns:1fr;gap:27px;}
 .tes-adaptive .tes-device-grid {grid-template-columns:1fr;gap:13px;}
 .tes-adaptive .tes-result-grid {grid-template-columns:1fr;gap:10px;}
 .tes-adaptive .tes-result-card {display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center;padding:17px;}
 .tes-adaptive .tes-result-card p {grid-column:1/-1;}
 .tes-adaptive .tes-band {margin:0 0 6px;font-size:23px;}
 .tes-adaptive .tes-progress {align-items:flex-start;gap:9px;flex-direction:column;}
 .tes-adaptive .tes-actions {gap:10px;}
 .tes-adaptive .tes-actions .tes-btn {flex:1 1 auto;}
 .tes-adaptive .tes-question {font-size:19px;}
 .tes-adaptive .tes-badge {font-size:10px;padding:5px 8px;}
 .tes-adaptive .tes-brand strong {font-size:13px;}
 .tes-adaptive .tes-brand small {font-size:9px;}
 .tes-adaptive .tes-mark {width:32px;height:32px;font-size:11px;}
 .tes-adaptive .tes-dialog-card {padding:25px 22px;}
 .tes-adaptive .tes-result-table {font-size:13px;}
}
@media(prefers-reduced-motion:reduce) {.tes-adaptive .tes-spinner {animation:none;}}
@media print {.tes-adaptive .tes-help,.tes-adaptive .tes-actions,.tes-adaptive .tes-footer button {display:none!important;}.tes-adaptive {border:0;box-shadow:none;}}

.tes-adaptive .tes-program {margin:28px 0 32px;padding:26px;border:1px solid #b7d8c5;border-radius:16px;background:var(--tes-mint);}
.tes-adaptive .tes-program .tes-eyebrow {margin-bottom:10px;}
.tes-adaptive .tes-program .tes-lead {margin-top:12px;color:var(--tes-navy);}
.tes-adaptive .tes-result-heading {margin-bottom:10px;}

.tes-adaptive .tes-field textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;padding:14px;border:1px solid #aac7bc;border-radius:10px;background:#fff;color:#183d35;font:inherit;line-height:1.55;resize:vertical;min-height:96px}.tes-adaptive .tes-field textarea:focus{outline:3px solid #9bdbc6;outline-offset:2px}.tes-adaptive .tes-result-card details{margin-top:12px}.tes-adaptive .tes-progress{flex-wrap:wrap;gap:8px}

#tes-adaptive-root .tes-record-warning{color:#9c2300;background:#fff0d5;border:2px solid #9c2300;border-radius:6px;padding:6px 10px;font-weight:700}
