/* Scoped native controls used by every non-personality test. */
.native-tests-generic .native-tests-inner{max-width:1180px}
.native-tests-generic .native-tests-panel{max-width:none}
.native-tests-generic-form .native-tests-source-intro{margin:0 0 23px}
.native-tests-generic .native-test-choice-list{display:grid;gap:8px;margin:14px 0 18px}
.native-tests-generic .native-test-choice{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid #d9d9d9;border-radius:4px;padding:12px 14px;color:#171717;font:500 14px/1.5 Arial,Helvetica,sans-serif;cursor:pointer}
.native-tests-generic .native-test-choice:hover{border-color:#ff4d40;background:#fff7f6}
.native-tests-generic .native-test-choice[aria-pressed="true"]{border:2px solid #ff4d40;background:#fff3f1}
.native-tests-generic .native-test-choice b{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;background:#f1f1f0;color:#ff4d40;border-radius:3px;font-weight:900}
.native-tests-generic textarea[data-code-answer]{background:#1b1b22!important;color:#f2f2f5!important;border-color:#383843!important;font-family:Consolas,Monaco,monospace!important;font-size:13px!important;tab-size:4;line-height:1.65!important}
.native-tests-generic .native-test-confidence{display:grid;align-items:center;grid-template-columns:auto 1fr auto;gap:12px;padding:13px;background:#f7f7f7;margin:10px 0;font-size:12px;font-weight:700}
.native-tests-generic .native-test-confidence input{accent-color:#ff4d40;width:100%;max-width:300px}
.native-tests-generic .native-test-timed{background:#f7f7f5;border-left:4px solid #ff4d40;padding:15px;margin:17px 0}
.native-tests-generic .native-test-timed p{font-size:13px;margin:0 0 12px;line-height:1.55}
.native-tests-generic [data-native-countdown]{margin:10px 0;color:#cc3b32;font-weight:850;font-size:13px}
.native-tests-generic .native-test-study{padding:16px;margin:10px 0;background:#fff;border:1px solid #dedede;white-space:pre-wrap;font-size:16px;letter-spacing:.02em;line-height:1.8}
.native-tests-generic .native-test-activity{margin:14px 0;padding:14px;border:1px solid #e1e1e1;background:#fdfdfd}
.native-tests-generic .native-test-activity h3{margin:0 0 12px;font-size:15px;font-weight:800}
.native-tests-generic .native-test-activity .native-test-choice{margin:8px 0}
.native-tests-generic .native-test-allocation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0;font-size:13px}
.native-tests-generic .native-test-allocation input{width:80px;padding:8px;border:1px solid #ccc;border-radius:3px;font:inherit}
.native-tests-generic .native-result-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:22px 0}
.native-tests-generic .native-result-metric{border:1px solid #dadada;padding:16px 18px;min-width:0}
.native-tests-generic .native-result-metric>span{display:block;color:#ff4d40;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.native-tests-generic .native-result-metric p{overflow-wrap:anywhere;white-space:pre-wrap;margin:10px 0 0;font-size:14px;line-height:1.5}
.native-tests-page .native-tests-ai-columns,.native-tests-page .result-question-review__columns.native-tests-ai-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}
.native-tests-page .result-question-review__panel--ai{background:#fff9f7}
.native-tests-generic .result-question-review{width:100%;min-width:0}
@media(max-width:720px){
.native-tests-page .native-tests-ai-columns,.native-tests-page .result-question-review__columns.native-tests-ai-columns{grid-template-columns:1fr}
.native-tests-generic .native-test-confidence{grid-template-columns:1fr auto}
.native-tests-generic .native-test-confidence input{grid-column:1/-1;max-width:none}
.native-tests-generic .native-test-allocation{flex-wrap:wrap}
}

.native-tests-generic .native-test-memory-click{padding:15px;background:#f8f8f7;border:1px solid #d9d9d9;margin:16px 0}
.native-tests-generic .native-test-memory-click p{font-size:12px;line-height:1.5;color:#646464}
.native-tests-generic .native-test-memory-click h3{font-size:14px;font-weight:850;margin:14px 0}
.native-tests-generic .native-test-memory-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:8px}
.native-tests-generic .native-test-memory-options .native-test-choice{margin:0;min-height:42px;text-align:center;justify-content:center}
.native-tests-generic .native-test-memory-options .native-test-choice:disabled{opacity:.5;cursor:not-allowed}
.native-tests-generic [data-native-memory-answer]{cursor:default}

.native-tests-generic .native-result-group{margin-top:26px}
.native-tests-generic .native-result-group h3{font-size:19px;font-weight:850;margin:0 0 11px}
.native-tests-generic .native-result-group .native-result-metrics{margin:0 0 20px}

/* Question-specific controls; scoped so sidebars are never changed. */
.native-tests-generic [hidden]{display:none!important}
.native-tests-generic .native-question-prose{white-space:normal;overflow-wrap:anywhere;line-height:1.65;font-size:16px;font-weight:750;color:#2e2e49;margin:8px 0 14px}
.native-tests-generic .native-question-code{overflow:hidden;border-radius:8px;border:1px solid #353646;margin:13px 0 20px;background:#222332}
.native-tests-generic .native-question-code>span{display:block;padding:8px 12px;font:700 11px/1.5 Consolas,monospace;color:#ff7066;text-transform:uppercase;border-bottom:1px solid #353646}
.native-tests-generic .native-question-code pre{margin:0;max-height:420px;overflow:auto;padding:16px;color:#fafafe;background:transparent;white-space:pre;tab-size:4;font:13px/1.65 Consolas,Monaco,monospace}
/* Read-only selections stay visible so they never look like missing answers. */
.native-tests-generic textarea[data-native-locked-answer]{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:70px!important;
    opacity:1!important;
    padding:13px 15px!important;
    border:2px dashed #bcbec8!important;
    background:#f1f1f3!important;
    color:#444451!important;
    -webkit-text-fill-color:#444451!important;
    pointer-events:auto!important;
    cursor:default!important;
    resize:none;
}
.native-tests-generic textarea[data-native-locked-answer]:read-only{
    background:#f2f2f4!important;
}
.native-tests-generic .native-test-answer-state{
    margin:8px 0 13px;
    padding:8px 11px;
    color:#686875;
    font-size:12px;
    line-height:1.45;
    border-left:3px solid #ff4d40;
    background:#faf7f7;
}
.native-tests-generic textarea[data-native-answer]:disabled{
    display:block!important;
    position:relative!important;
    opacity:1!important;
    background:#ededf0!important;
    color:#7a7a86!important;
    -webkit-text-fill-color:#7a7a86!important;
    border:2px dashed #b5b5c1!important;
    cursor:not-allowed!important;
    box-shadow:inset 0 0 0 9999px rgba(55,55,70,.035)!important;
}
.native-tests-generic textarea[data-native-answer]:disabled::placeholder{color:#858590!important;opacity:1}
.native-tests-generic .native-test-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.native-tests-generic .native-test-choice-list .native-test-choice{min-height:65px}
.native-tests-generic .native-test-memory-options [data-native-reverse-item]{min-height:45px}
.native-tests-generic [data-native-reverse-status]{color:#cb3e32;font-size:13px;font-weight:750;line-height:1.65}
.native-tests-generic [data-native-total][data-valid="0"]{color:#c3342a;font-weight:800}
.native-tests-generic [data-native-total][data-valid="1"]{color:#248352;font-weight:800}
.native-tests-generic .native-test-memory-click button[aria-pressed="true"]{background:#fff1ee;border-color:#ff4d40}
@media(max-width:650px){
.native-tests-generic .native-test-choice-list{grid-template-columns:minmax(0,1fr)}
.native-tests-generic .native-question-code pre{font-size:12px;padding:11px}
}

/* Self-contained syntax highlighting: question code and editable code. */
.native-tests-generic .native-question-code .native-token-keyword,
.native-tests-generic .native-code-overlay .native-token-keyword{color:#c39eff}
.native-tests-generic .native-question-code .native-token-string,
.native-tests-generic .native-code-overlay .native-token-string{color:#a7df9d}
.native-tests-generic .native-question-code .native-token-number,
.native-tests-generic .native-code-overlay .native-token-number{color:#ffcd88}
.native-tests-generic .native-question-code .native-token-comment,
.native-tests-generic .native-code-overlay .native-token-comment{color:#8991a9;font-style:italic}
.native-tests-generic .native-question-code .native-token-variable,
.native-tests-generic .native-code-overlay .native-token-variable{color:#f2a6c0}
.native-tests-generic .native-question-code .native-token-built-in,
.native-tests-generic .native-code-overlay .native-token-built-in{color:#78c9ff}
.native-tests-generic .native-code-editor{
    position:relative;
    width:100%;
    background:#1b1b22;
    border-radius:4px;
}
.native-tests-generic .native-code-editor textarea[data-code-answer]{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    margin:0;
    min-height:180px;
    padding:15px 17px!important;
    border:2px solid #383843!important;
    font:13px/1.65 Consolas,Monaco,monospace!important;
    white-space:pre!important;
    tab-size:4;
    letter-spacing:normal;
    overflow:auto;
    resize:vertical;
    background:#1b1b22!important;
    color:#f1f1f7!important;
    caret-color:#fff;
}
.native-tests-generic .native-code-editor .native-code-overlay{
    display:none;
    position:absolute;
    z-index:1;
    inset:0;
    margin:0;
    padding:15px 17px;
    border:2px solid transparent;
    overflow:hidden;
    white-space:pre;
    overflow-wrap:normal;
    word-break:normal;
    pointer-events:none;
    font:13px/1.65 Consolas,Monaco,monospace;
    letter-spacing:normal;
    tab-size:4;
    color:#f1f1f7;
    background:transparent;
    text-align:left;
}
.native-tests-generic .native-code-editor.native-code-enhanced .native-code-overlay{display:block}
.native-tests-generic .native-code-editor.native-code-enhanced textarea[data-code-answer]{
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    background:transparent!important;
    caret-color:#fff!important;
}
.native-tests-generic .native-code-editor.native-code-enhanced textarea[data-code-answer]::selection{
    background:rgba(125,166,255,.33);
}
.native-tests-generic .native-code-editor textarea[data-code-answer]:focus{
    border-color:#ff4d40!important;
}

/* Reapply inner padding against the shared native page's global p reset. */
.native-tests-page .native-tests-inner .native-test-timed .native-test-answer-state,
.native-tests-page .native-tests-inner .native-test-answer-state{
    box-sizing:border-box;
    padding:10px 14px 10px 17px!important;
    margin:10px 0 14px;
    border-left:3px solid #ff4d40;
    background:#faf7f7;
    color:#585869;
    font-size:12px;
    line-height:1.5;
}
/* Hidden means hidden even when the title's normal display rule is active. */
.native-tests-generic [data-native-recall-prompt][hidden]{display:none!important}
.native-tests-generic .native-question-prose .native-question-inline-code{
    display:inline;
    padding:2px 5px;
    border-radius:4px;
    border:1px solid #e4e4e8;
    background:#f3f3f6;
    color:#b73339;
    font:600 .86em/1.45 Consolas,Monaco,monospace;
    overflow-wrap:anywhere;
}

/* Never let inherited global display declarations reveal test content
   before server-authorised timing or during memory-study lockout. */
.native-tests-generic [data-native-question] [hidden]{
    display:none!important;
}
.native-tests-generic [data-native-choice][aria-pressed="true"]{
    border:2px solid #ff4d40;
    background:#fff3f1;
}
.native-tests-generic .native-test-timed [data-native-study]{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

.native-tests-generic .native-test-selected-answer{
    font-size:12px;font-weight:800;color:#ff4d40;
    margin:8px 0 18px;
}
