/* Phase 2B fields and mobile rules, after interactions.css. */
.pki-interaction .study-codebox{padding:12px;background:#f7f9ff;border-radius:13px;border:1px solid var(--ic-line);box-shadow:inset 3px 0 var(--ic-blue);overflow:auto}.pki-interaction .study-code-line{display:flex;align-items:baseline;gap:10px;min-width:max-content;margin:5px 0}.pki-interaction .code-pieces{white-space:pre!important;overflow-wrap:normal!important;word-break:normal!important;font:500 16px/2.9 ui-monospace,Consolas,"Liberation Mono",monospace;min-width:max-content}.pki-interaction .line-number{font-size:12px}.pki-interaction .code-slot{font:650 16px/1.6 ui-monospace,Consolas,"Liberation Mono",monospace;min-height:44px;min-width:64px;white-space:pre;display:inline-flex;vertical-align:middle;gap:9px;padding:7px 10px;border-radius:9px}.pki-interaction .code-slot[aria-pressed=true]{outline:2px solid var(--ic-blue);outline-offset:2px}.pki-interaction .slot-value{white-space:pre;display:block;overflow:auto;min-width:0}.pki-interaction .ic-slot-number{flex:0 0 18px;display:inline-block;font:700 12px/18px Arial,Helvetica,sans-serif;width:18px;height:18px;text-align:center;color:#536784;background:#e8eef8;border-radius:5px}.pki-interaction .ic-labelled-slot .code-slot{width:100%;max-width:100%;justify-content:space-between}.pki-interaction .ic-labelled-slot label{font-size:16px;font-weight:650;margin-bottom:8px;display:block}.pki-interaction .ic-cloze-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:15px}
.pki-interaction .token-caption{gap:5px;margin:12px 0}.pki-interaction .token-caption .ic-help{margin:0}.pki-interaction .token-caption b{font-size:14px}.pki-interaction .study-tokens.ic-token-pool{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.pki-interaction .ic-token{display:flex;align-items:center;max-width:100%;min-width:0;border:1px solid var(--ic-line);border-radius:10px;background:#f3f7fc;padding:3px}.pki-interaction .ic-token>[data-study-token]{padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ic-ink);font-size:16px;min-height:44px;min-width:44px;touch-action:pan-y;cursor:pointer;overflow:auto}.pki-interaction .ic-token>[data-study-token][aria-pressed=true]{background:#e9edff;outline:2px solid var(--ic-blue);box-shadow:none}.pki-interaction .ic-token>.ic-grip{min-width:44px;min-height:44px;padding:10px;margin-left:3px;background:white;touch-action:none}
.pki-interaction .qc-field.ic-response>span{font-size:16px}.pki-interaction .ic-response input,.pki-interaction .ic-response textarea,.pki-interaction .ic-inline-input{min-height:48px;font:500 18px/1.65 ui-monospace,Consolas,"Liberation Mono",monospace;padding:11px;border:1px solid #a4b5ce;border-radius:10px;background:white;color:var(--ic-ink);width:100%;min-width:0}.pki-interaction .ic-response textarea{white-space:pre;overflow:auto;resize:vertical;tab-size:4}.pki-interaction .ic-inline-input{display:inline-block;width:110px;min-width:70px;font-size:16px}.pki-interaction [data-response][data-result=correct]{border-color:#518c70;background:#eff8f3}.pki-interaction [data-response][data-result=wrong]{border-color:#ad654f;background:#fff5f0}.pki-interaction.qc-solution [data-response]{background:#eef8f2;color:var(--ic-good)}
.pki-interaction .ic-trace-top{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:10px}.pki-interaction .ic-trace-top .ic-type{margin:0}.pki-interaction .ic-view-switch{display:flex;border:1px solid var(--ic-line);border-radius:11px;background:#f2f4fa;padding:3px;gap:3px}.pki-interaction .ic-view-switch button{min-height:44px;border:0;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700;background:transparent;color:var(--ic-muted)}.pki-interaction .ic-view-switch button[aria-pressed=true]{background:white;color:var(--ic-blue);box-shadow:0 2px 7px #2f427115}.pki-interaction .study-table-wrap{overflow:auto;max-width:100%;min-width:0;border:1px solid var(--ic-line);border-radius:13px;scrollbar-width:thin}.pki-interaction .study-trace{font-size:16px;table-layout:auto;min-width:100%;width:max-content;border-collapse:separate;border-spacing:0}.pki-interaction .study-trace caption{font:13px/1.6 system-ui,sans-serif}.pki-interaction .study-trace thead th{font-size:15px;background:#eaf0fb;color:#334e79;position:sticky;top:0}.pki-interaction .study-trace td{min-width:100px;width:120px;padding:8px}.pki-interaction .study-trace tbody th{min-width:175px;padding:10px 12px;white-space:pre;font-size:16px}.pki-interaction .study-trace tbody th code{white-space:pre!important;overflow-wrap:normal!important;font:500 16px/1.8 ui-monospace,Consolas,"Liberation Mono",monospace}.pki-interaction .study-trace .step-index{font-size:11px}.pki-interaction .trace-input{font:550 18px/1.6 ui-monospace,Consolas,"Liberation Mono",monospace;min-height:48px;width:100%;padding:8px;min-width:65px}.pki-interaction .ic-cell-result{display:block;font-size:11px;min-height:17px;color:var(--ic-muted);text-align:center;white-space:nowrap}.pki-interaction .trace-input[data-result=correct]+.ic-cell-result{color:var(--ic-good)}.pki-interaction .trace-input[data-result=wrong]+.ic-cell-result{color:var(--ic-bad)}
.pki-interaction .ic-trace-step{background:#f7f9fe;border:1px solid var(--ic-line);border-radius:14px;padding:14px}.pki-interaction .ic-step-nav{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:15px}.pki-interaction .ic-step-nav button{min-height:44px;min-width:44px;border-radius:10px;background:white;border:1px solid var(--ic-line);color:var(--ic-blue);font-size:21px}.pki-interaction .ic-step-nav button:disabled{opacity:.45}.pki-interaction .ic-trace-instruction{padding:12px 0;margin:5px 0;min-width:0}.pki-interaction .ic-trace-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}.pki-interaction .ic-trace-values>div{min-width:0}.pki-interaction .ic-field-name{display:block;margin-bottom:6px;font-size:15px;font-weight:700}.pki-interaction .qc-chars{display:flex;flex-wrap:nowrap;gap:7px;padding:4px 0}.pki-interaction .qc-chars button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;min-width:50px;border:1px solid var(--ic-line);border-radius:12px;background:white;color:var(--ic-ink);flex:0 0 50px;padding:6px}.pki-interaction .qc-chars strong{font:600 20px/1.5 ui-monospace,Consolas,monospace}.pki-interaction .qc-chars small{font-size:14px;color:var(--ic-muted);border-top:1px solid var(--ic-line);width:100%;text-align:center;margin-top:4px}.pki-interaction .qc-chars button[aria-pressed=true]{background:var(--ic-soft);border:2px solid var(--ic-blue)}.pki-interaction .qc-chars button[data-result=correct]{border-color:var(--ic-good);background:#edf8f2}.pki-interaction .qc-chars button[data-result=wrong]{border-color:var(--ic-bad);background:#fff4ef}.pki-interaction .ic-char-state{font-size:12px;line-height:1.1;min-height:13px}
.pki-interaction .ic-drop-target{outline:3px dashed var(--ic-blue);outline-offset:1px;background:#e9efff!important}.ic-drag-ghost{position:fixed;z-index:9999;pointer-events:none;background:#253b68;color:white;padding:8px 12px;border-radius:10px;font:650 14px/1.5 system-ui,sans-serif;box-shadow:0 5px 22px #112b5540;max-width:230px}.pki-interaction.ic-dragging{user-select:none}
@media(max-width:650px){.pki-interaction .qc-sort-zones{grid-template-columns:1fr}.pki-interaction .qc-choice.ic-choice{padding:12px 10px}.pki-interaction .qc-choice .qc-letter{display:none}.pki-interaction .ic-sort-group{padding:10px}.pki-interaction .ic-trace-top{align-items:flex-start}.pki-interaction .ic-view-switch{width:100%}.pki-interaction .ic-view-switch button{flex:1}.pki-interaction .qc-order.ic-order>li{padding:10px}.pki-interaction .ic-order-line{gap:8px}.pki-interaction .ic-position{width:26px;flex-basis:26px}.pki-interaction .ic-order-bottom{align-items:stretch}.pki-interaction .ic-order-bottom .ic-confirm{flex:1}.pki-interaction .study-codebox{padding:10px 8px}.pki-interaction .ic-cloze-fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pki-interaction *{transition:none!important;animation:none!important}}
@media print{.pki-interaction .ic-tools,.pki-interaction .ic-grip,.pki-interaction .ic-row-tools,.pki-interaction .ic-view-switch{display:none!important}.pki-interaction .ic-expression,.pki-interaction .ic-code-scroll{white-space:pre-wrap!important;overflow:visible}.pki-interaction .study-trace{width:100%;font-size:10pt}}

.pki-interaction .ic-confirm{white-space:nowrap}.pki-interaction .ic-scroll-note{color:#455b87;font:500 13px/1.6 Arial,Helvetica,sans-serif;padding:5px 0;margin:8px 0}.pki-interaction .ic-scroll-note[hidden]{display:none}

.pki-interaction .ic-slot-result{display:inline-grid;place-items:center;flex:0 0 20px}.pki-interaction .ic-slot-result[hidden]{display:none}.pki-interaction .ic-slot-result svg{width:18px;height:18px}

/* Keep the confirmation label whole instead of squeezing it beside secondary tools. */
.pki-interaction .ic-order-bottom .ic-confirm{flex:0 0 auto;max-width:100%}
@media(max-width:650px){.pki-interaction .ic-order-bottom .ic-confirm{flex:1 0 100%;width:100%}.pki-interaction .ic-order-bottom .ic-tools{width:100%}}
