.hint-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.hint-box{display:none;flex:1;min-width:220px;padding:12px 14px;border-radius:14px;background:rgba(255,204,86,.1);border:1px solid rgba(255,204,86,.35);color:#fff2c2}.hint-box.show{display:block}.interact-note{color:var(--muted);font-size:.92rem;margin:-6px 0 14px}.token-bank,.drop-slots{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.drag-token,.drop-slot{direction:ltr;unicode-bidi:isolate;min-width:112px;min-height:58px;padding:12px;border-radius:15px;font-weight:800;text-align:center}.drag-token{background:#252d66;color:#fff;border:1px solid rgba(101,213,255,.4);touch-action:manipulation}.drag-token.selected{opacity:.42}.drop-slot{background:#0e1233;color:var(--muted);border:2px dashed rgba(255,255,255,.2);display:grid;place-items:center}.drop-slot.filled{color:var(--ink);border-style:solid;border-color:var(--cyan)}.check-row{display:flex;justify-content:flex-end;margin-top:14px}.text-answer{direction:ltr;unicode-bidi:isolate;width:100%;min-height:58px;border-radius:16px;border:1px solid rgba(101,213,255,.35);background:#0e1233;color:#fff;padding:12px 16px;font:700 1.1rem/1.4 "Cambria Math","Times New Roman",serif}.graph-wrap{background:#fff;border-radius:18px;padding:10px;margin:8px auto 16px;max-width:470px}.graph-svg{display:block;width:100%;height:auto}.graph-point{cursor:pointer;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}.graph-point circle{fill:#293068;stroke:#fff;stroke-width:2}.graph-point text{font:700 12px Arial;fill:#111}.graph-point:hover circle,.graph-point:focus circle{fill:#ff6fab;stroke:#6a1640}.match-grid{direction:ltr;display:grid;grid-template-columns:1fr 1fr;gap:10px}.match-col{display:grid;gap:9px}.match-btn{direction:ltr;unicode-bidi:isolate;min-height:52px;border-radius:14px;border:1px solid var(--line);background:#202657;color:#fff;font:700 1rem "Cambria Math","Times New Roman",serif}.match-btn.active{border-color:var(--gold);background:#453b57}.match-btn.matched{border-color:var(--good);background:rgba(67,231,165,.13);color:#baffdf}.diagnostic{display:grid;gap:9px;margin:18px 0;text-align:right}.diag-row{display:grid;grid-template-columns:minmax(130px,1fr) 2fr auto;gap:10px;align-items:center;padding:11px 13px;border-radius:14px;background:#171c42;border:1px solid var(--line)}.diag-bar{height:9px;background:#090c25;border-radius:99px;overflow:hidden}.diag-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--gold),var(--mint));border-radius:inherit}.diag-score{direction:ltr;unicode-bidi:isolate;color:var(--gold);font-weight:800}.remedial-banner{padding:12px 15px;margin-bottom:14px;border-radius:15px;background:rgba(255,204,86,.1);border:1px solid rgba(255,204,86,.35);color:#fff2c2}.locked-note{color:var(--muted);font-size:.88rem}.pair-display{direction:ltr;unicode-bidi:isolate;text-align:center;font:800 1.2rem "Cambria Math","Times New Roman",serif;margin:8px 0}.portal-setup{display:grid;gap:10px;margin:0 0 18px}.portal-note{display:none;padding:11px 13px;border-radius:14px;background:rgba(67,231,165,.1);border:1px solid rgba(67,231,165,.4);color:#caffea}.portal-note.show{display:block}.portal-note.error{background:rgba(255,107,119,.1);border-color:rgba(255,107,119,.5);color:#ffd0d4}.student-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.student-fields label{display:grid;gap:6px;text-align:right;color:var(--muted);font-size:.9rem;font-weight:700}.student-fields input{width:100%;min-height:48px;border-radius:14px;border:1px solid var(--line);background:#101431;color:#fff;padding:10px 13px}.student-fields input:focus{outline:2px solid var(--cyan);outline-offset:1px}.report-status{display:none;padding:12px 14px;margin:14px 0;border-radius:14px;background:rgba(67,231,165,.1);border:1px solid rgba(67,231,165,.4);color:#caffea}.report-status.show{display:block}.report-status.error{background:rgba(255,107,119,.1);border-color:rgba(255,107,119,.5);color:#ffd0d4}.retry-report{display:none}.retry-report.show{display:inline-flex}@media(max-width:600px){.diag-row{grid-template-columns:1fr auto}.diag-bar{grid-column:1/-1}.match-grid{gap:7px}.match-btn{font-size:.9rem}.drag-token,.drop-slot{min-width:calc(50% - 6px)}.student-fields{grid-template-columns:1fr}}
