@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--bg-page: #F7F8FA;--bg-card: #FFFFFF;--bg-card-hover: #FAFBFF;--bg-selected: #ECEFFE;--bg-correct: #F0FDF8;--bg-incorrect: #FEF2F2;--text-primary: #0F0F1A;--text-secondary: #5C6070;--text-muted: #9CA3AF;--text-inverse: #FFFFFF;--accent: #2D3BE0;--accent-hover: #2433C8;--accent-light: #ECEFFE;--color-correct: #059669;--color-incorrect: #DC2626;--border: #E5E7EB;--border-focus: #2D3BE0;--divider: #F0F1F3;--shadow-card: 0 1px 3px 0 rgba(0,0,0,.06), 0 1px 2px -1px rgba(0,0,0,.04);--shadow-card-hover: 0 4px 12px 0 rgba(0,0,0,.08);--shadow-focus: 0 0 0 3px rgba(45,59,224,.18);--font-stack: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--max-width: 720px;--transition-fast: .12s ease;--transition-base: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-stack);background:var(--bg-page);color:var(--text-primary);line-height:1.6;min-height:100vh}.app{max-width:var(--max-width);margin:0 auto;padding:var(--space-xxl) var(--space-md);min-height:100vh;display:flex;flex-direction:column}h1{font-size:1.75rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);line-height:1.25}h2{font-size:1.25rem;font-weight:500;color:var(--text-primary);line-height:1.35}p{color:var(--text-secondary);line-height:1.7}.label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:2.5rem}button{font-family:var(--font-stack);cursor:pointer;border:none;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);line-height:1}button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-primary{background:var(--accent);color:var(--text-inverse);padding:.75rem 1.75rem}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:.5rem 1rem;border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--text-secondary);color:var(--text-primary)}.progress-track{height:3px;background:var(--divider);border-radius:var(--radius-full, 9999px);overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:inherit;transition:width .4s ease}.option-btn{width:100%;text-align:left;padding:1rem 1.25rem;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-weight:400;display:flex;align-items:center;gap:1rem;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.option-btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg-card-hover);box-shadow:var(--shadow-card-hover)}.option-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.option-btn.selected{border-color:var(--accent);background:var(--bg-selected)}.option-btn.correct{border-color:var(--color-correct);background:var(--bg-correct)}.option-btn.incorrect{border-color:var(--color-incorrect);background:var(--bg-incorrect)}.option-btn:disabled{cursor:default}.option-label{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-sm);background:var(--divider);font-size:.8125rem;font-weight:600;color:var(--text-secondary);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.option-btn.selected .option-label{background:var(--accent);color:var(--text-inverse)}.option-btn.correct .option-label{background:var(--color-correct);color:var(--text-inverse)}.option-btn.incorrect .option-label{background:var(--color-incorrect);color:var(--text-inverse)}.session-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.session-meta{display:flex;align-items:center;gap:var(--space-lg)}.question-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:2.5rem;margin-bottom:var(--space-lg)}.question-domain{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-md)}.question-text{font-size:1.1875rem;font-weight:500;color:var(--text-primary);line-height:1.65;margin-bottom:var(--space-xxl)}.options-list{display:flex;flex-direction:column;gap:.75rem}.feedback-panel{border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-lg);border:1px solid transparent}.feedback-panel.correct{background:var(--bg-correct);border-color:var(--color-correct)}.feedback-panel.incorrect{background:var(--bg-incorrect);border-color:var(--color-incorrect)}.feedback-status{font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-sm)}.feedback-panel.correct .feedback-status{color:var(--color-correct)}.feedback-panel.incorrect .feedback-status{color:var(--color-incorrect)}.feedback-message{font-size:.9375rem;color:var(--text-primary);line-height:1.6}.feedback-rationale{margin-top:var(--space-sm);font-size:.875rem;color:var(--text-secondary);line-height:1.6}.home-view{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;gap:var(--space-xl)}.home-view h1{font-size:2.25rem;letter-spacing:-.03em}.home-description{max-width:480px;font-size:1.0625rem;color:var(--text-secondary);line-height:1.75}.home-meta{display:flex;gap:var(--space-xl);justify-content:center}.home-meta-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.home-meta-value{font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.home-meta-label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.complete-view{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-xl);padding-top:var(--space-xxl)}.score-display{font-size:4rem;font-weight:600;letter-spacing:-.04em;color:var(--text-primary);line-height:1}.score-label{font-size:.875rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.timer{font-size:.9375rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-secondary);letter-spacing:.02em}.timer.warning{color:#d97706}.difficulty-dots{display:flex;gap:3px;align-items:center}.difficulty-dot{width:6px;height:6px;border-radius:50%;background:var(--divider);transition:background var(--transition-base)}.difficulty-dot.active{background:var(--accent)}.visual-question-card{max-width:760px}.visual-prompt{font-size:1rem;font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-xl)}.visual-stimulus{display:flex;justify-content:center;align-items:flex-start;margin-bottom:var(--space-xl);padding:var(--space-xl) 0 var(--space-lg);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}.visual-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;margin-top:var(--space-lg)}.visual-option-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);min-height:90px;justify-content:center}.visual-option-card:hover:not(:disabled):not(.correct):not(.incorrect){border-color:var(--accent);background:var(--bg-card-hover);box-shadow:var(--shadow-card-hover)}.visual-option-card:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.visual-option-card.selected{border-color:var(--accent);background:var(--bg-selected)}.visual-option-card.correct{border-color:var(--color-correct);background:var(--bg-correct);cursor:default}.visual-option-card.incorrect{border-color:var(--color-incorrect);background:var(--bg-incorrect);cursor:default}.visual-option-card:disabled{cursor:default}.visual-option-label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.visual-option-card.selected .visual-option-label{color:var(--accent)}.visual-option-card.correct .visual-option-label{color:var(--color-correct)}.visual-option-card.incorrect .visual-option-label{color:var(--color-incorrect)}.odd-one-out-grid{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center;width:100%}.odd-one-out-item{display:flex;align-items:center;justify-content:center;padding:var(--space-sm);background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.odd-one-out-item:hover:not(:disabled):not(.correct):not(.incorrect){border-color:var(--accent);background:var(--bg-card-hover);box-shadow:var(--shadow-card-hover)}.odd-one-out-item:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.odd-one-out-item.selected{border-color:var(--accent);background:var(--bg-selected)}.odd-one-out-item.correct{border-color:var(--color-correct);background:var(--bg-correct);cursor:default}.odd-one-out-item.incorrect{border-color:var(--color-incorrect);background:var(--bg-incorrect);cursor:default}.matrix-grid-svg,.sequence-svg,.analogy-svg{display:block;overflow:visible}.input{width:100%;padding:.75rem 1rem;background:var(--bg-surface);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:border-color .15s ease;box-sizing:border-box}.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.input::placeholder{color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);padding:2rem;width:100%;max-width:400px;box-shadow:0 8px 32px #0006}.link-btn{background:none;border:none;padding:0;color:var(--accent);font-size:inherit;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:var(--accent-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
