.fr2-obj-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:16px auto;max-width:420px}.fr2-obj-item{width:52px;height:52px;border-radius:12px;border:2px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.fr2-obj-item:hover{border-color:#818cf8;background:#eef2ff;transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}.fr2-obj-item:active{transform:scale(.94)}.fr2-obj-item.fr2-obj-selected{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#6366f1;box-shadow:0 4px 14px #6366f14d}.fr2-obj-item.fr2-obj-selected:after{content:"✓";position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#6366f1;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}.dark .fr2-obj-item{background:#1e293b;border-color:#334155;color:#e2e8f0}.dark .fr2-obj-item:hover{background:#312e81;border-color:#818cf8}.dark .fr2-obj-item.fr2-obj-selected{background:linear-gradient(135deg,#312e81,#3730a3);border-color:#818cf8}.dark .fr2-obj-item.fr2-obj-selected:after{background:#818cf8}.fr2-collection-label{text-align:center;font-size:15px;font-weight:600;color:#64748b;margin:8px 0 4px}.dark .fr2-collection-label{color:#94a3b8}.fr2-readout{display:flex;align-items:center;justify-content:center;gap:16px;margin:14px 0;flex-wrap:wrap}.fr2-readout-label{font-size:15px;font-weight:600;color:#475569}.dark .fr2-readout-label{color:#94a3b8}.fr2-readout-words{font-size:15px;color:#6366f1;font-weight:700;font-style:italic}.dark .fr2-readout-words{color:#a5b4fc}.fr2-target-prompt{text-align:center;font-size:16px;font-weight:600;color:#475569;margin:12px 0;padding:12px 16px;background:#fef3c7;border-radius:12px;border:2px dashed #f59e0b}.dark .fr2-target-prompt{color:#e2e8f0;background:#422006;border-color:#d97706}.fr2-group-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:16px auto}.fr2-group-box{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:10px;border:2px solid #e2e8f0;border-radius:12px;background:#f8fafc;min-width:60px}.fr2-group-box.fr2-group-selected{border-color:#6366f1;background:#eef2ff;box-shadow:0 4px 12px #6366f133}.dark .fr2-group-box{background:#1e293b;border-color:#334155}.dark .fr2-group-box.fr2-group-selected{background:#312e81;border-color:#818cf8}.fr2-group-item{font-size:22px;cursor:pointer;transition:transform .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fr2-group-item:hover{transform:scale(1.15)}.fr2-slider-wrap{text-align:center;margin:12px 0}.fr2-slider-label{font-size:14px;font-weight:600;color:#64748b;margin-bottom:6px}.dark .fr2-slider-label{color:#94a3b8}.fr2-slider-wrap input[type=range]{width:200px;accent-color:#6366f1}.fr2-step-label{text-align:center;font-size:13px;font-weight:600;color:#94a3b8;letter-spacing:.5px;text-transform:uppercase;margin:6px 0 8px}.dark .fr2-step-label{color:#64748b}.fr2-question-area{background:#f8fafc;border-radius:16px;padding:20px 16px;margin:12px 0;border:1px solid #e2e8f0}.dark .fr2-question-area{background:#1e293b;border-color:#334155}.fr2-q-prompt{text-align:center;font-size:17px;font-weight:600;color:#334155;margin-bottom:14px;line-height:1.5}.dark .fr2-q-prompt{color:#e2e8f0}.fr2-q-prompt em{color:#6366f1;font-weight:700;padding:1px 4px;background:#6366f114;border-radius:4px}.dark .fr2-q-prompt em{color:#a5b4fc;background:#818cf81f}.fr2-word-choices{display:flex;flex-direction:column;gap:10px;max-width:400px;margin:0 auto}.fr2-word-btn{padding:12px 20px;border-radius:12px;font-size:15px;font-weight:600;background:#fff;color:#334155;border:2px solid #e2e8f0;cursor:pointer;transition:all .2s ease;text-align:left}.fr2-word-btn:hover{border-color:#818cf8;background:#eef2ff;transform:translateY(-1px)}.fr2-word-btn:active{transform:scale(.98)}.fr2-word-btn.fr2-word-correct{background:#dcfce7;border-color:#22c55e;color:#166534}.fr2-word-btn.fr2-word-wrong{background:#fef2f2;border-color:#ef4444;color:#991b1b}.fr2-word-btn.fr2-word-dim{opacity:.45;pointer-events:none}.dark .fr2-word-btn{background:#0f172a;color:#e2e8f0;border-color:#334155}.dark .fr2-word-btn:hover{background:#312e81;border-color:#818cf8}.dark .fr2-word-btn.fr2-word-correct{background:#14532d;border-color:#22c55e;color:#bbf7d0}.dark .fr2-word-btn.fr2-word-wrong{background:#450a0a;border-color:#ef4444;color:#fecaca}.fr2-explain{background:#f0fdf4;border-radius:12px;padding:14px 18px;margin-top:14px;font-size:14px;line-height:1.6;color:#166534;border:1px solid #bbf7d0}.dark .fr2-explain{background:#14532d33;color:#bbf7d0;border-color:#14532d}.fr2-explain strong{color:#15803d}.dark .fr2-explain strong{color:#4ade80}.fr2-streak-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:14px;font-weight:700;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:2px solid #f59e0b}.fr2-streak-chip span{font-size:18px;color:#d97706}.dark .fr2-streak-chip{background:linear-gradient(135deg,#451a03,#78350f);color:#fde68a;border-color:#d97706}.dark .fr2-streak-chip span{color:#fbbf24}.fr2-timer-row{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:14px;font-weight:700;color:#475569}.dark .fr2-timer-row{color:#94a3b8}.fr2-timer-track{flex:1;height:10px;background:#e2e8f0;border-radius:5px;overflow:hidden}.dark .fr2-timer-track{background:#334155}.fr2-timer-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:5px;transition:width 1s linear}.fr2-timer-fill.fr2-timer-warn{background:linear-gradient(90deg,#f59e0b,#eab308)}.fr2-timer-fill.fr2-timer-danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.fr2-discovery{background:linear-gradient(135deg,#fefce8,#fef9c3);border:2px solid #facc15;border-radius:14px;padding:16px 20px;margin:14px 0;text-align:center}.fr2-discovery h3{color:#854d0e;font-size:16px;margin:0 0 8px}.fr2-discovery p{color:#713f12;font-size:14px;line-height:1.5;margin:0}.fr2-discovery strong{color:#92400e}.dark .fr2-discovery{background:linear-gradient(135deg,#422006,#451a03);border-color:#d97706}.dark .fr2-discovery h3{color:#fde68a}.dark .fr2-discovery p{color:#fed7aa}.dark .fr2-discovery strong{color:#fbbf24}.fr2-visual-area{display:flex;justify-content:center;align-items:center;flex-direction:column;margin:12px 0}.fr2-visual-choices{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:14px 0}.fr2-vis-choice{display:flex;flex-direction:column;align-items:center;padding:10px;border-radius:12px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .2s ease;min-width:80px}.fr2-vis-choice:hover{border-color:#818cf8;background:#eef2ff;transform:translateY(-2px)}.fr2-vis-choice:active{transform:scale(.97)}.fr2-vis-choice.fr2-vis-correct{border-color:#22c55e;background:#dcfce7}.fr2-vis-choice.fr2-vis-wrong{border-color:#ef4444;background:#fef2f2}.fr2-vis-choice.fr2-vis-dim{opacity:.4;pointer-events:none}.dark .fr2-vis-choice{background:#0f172a;border-color:#334155}.dark .fr2-vis-choice:hover{background:#312e81;border-color:#818cf8}.dark .fr2-vis-choice.fr2-vis-correct{background:#14532d;border-color:#22c55e}.dark .fr2-vis-choice.fr2-vis-wrong{background:#450a0a;border-color:#ef4444}.fr2-fillin-wrap{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0}.fr2-fillin-input{width:60px;height:44px;border:2px solid #6366f1;border-radius:10px;text-align:center;font-size:20px;font-weight:700;color:#334155;background:#fff;outline:none;transition:border-color .2s ease}.fr2-fillin-input:focus{border-color:#4338ca;box-shadow:0 0 0 3px #6366f133}.dark .fr2-fillin-input{background:#1e293b;color:#e2e8f0;border-color:#818cf8}.fr2-fillin-static{font-size:24px;font-weight:700;color:#334155;line-height:1}.dark .fr2-fillin-static{color:#e2e8f0}.fr2-fillin-line{width:40px;height:2px;background:#94a3b8}@media (max-width: 480px){.fr2-obj-item{width:44px;height:44px;font-size:22px}.fr2-obj-grid{gap:8px}.fr2-q-prompt{font-size:15px}.fr2-question-area{padding:14px 10px}.fr2-discovery{padding:12px 14px}.fr2-discovery h3{font-size:14px}.fr2-word-btn{font-size:14px;padding:10px 14px}.fr2-vis-choice{min-width:100px;padding:10px}}.fr2-q-prompt .katex,.fr2-explain .katex,.fr2-discovery .katex,.fr2-readout .katex,.fr2-target-prompt .katex,.fr2-visual-area .katex,.lnp-choice-btn .katex,.lnp-info-box .katex,.comic-bubble .katex,.lnp-summary-box .katex,.fr2-vis-choice .katex{font-size:inherit}
