:root{--color-primary: #4F46E5;--color-primary-hover: #4338CA;--color-secondary: #0EA5E9;--color-teal: #0f766e;--color-teal-hover: #0f645e;--color-amber: #d97706;--color-amber-hover: #b45309;--color-bg: #F8FAFC;--color-surface: #FFFFFF;--color-text-main: #1E293B;--color-text-muted: #64748B;--color-border: #E2E8F0;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #EF4444;--color-matrix-correct: #bbf7d0;--color-matrix-incorrect: #fecaca;--color-matrix-empty: #f8fafc;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--color-overlay: rgba(0, 0, 0, .6)}:root[data-theme=dark]{color-scheme:dark;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-teal: #14b8a6;--color-teal-hover: #0d9488;--color-amber: #f59e0b;--color-amber-hover: #d97706;--color-bg: #0f172a;--color-surface: #1e293b;--color-text-main: #f8fafc;--color-text-muted: #94a3b8;--color-border: #334155;--color-matrix-correct: #064e3b;--color-matrix-incorrect: #7f1d1d;--color-matrix-empty: #0f172a;--color-overlay: rgba(0, 0, 0, .8)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-teal: #14b8a6;--color-teal-hover: #0d9488;--color-amber: #f59e0b;--color-amber-hover: #d97706;--color-bg: #0f172a;--color-surface: #1e293b;--color-text-main: #f8fafc;--color-text-muted: #94a3b8;--color-border: #334155;--color-matrix-correct: #064e3b;--color-matrix-incorrect: #7f1d1d;--color-matrix-empty: #0f172a;--color-overlay: rgba(0, 0, 0, .8)}}body{margin:0;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-main);-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.25}button{cursor:pointer;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-lg);border:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;transition:all .2s;border:1px solid transparent;gap:.5rem}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;border-color:var(--color-border);color:var(--color-text-main)}.btn-outline:hover{background-color:var(--color-bg);border-color:var(--color-text-muted)}.btn-ghost{background:transparent;border:none;color:var(--color-text-muted)}.btn-ghost:hover{background-color:var(--color-bg);color:var(--color-text-main);transform:translateY(-1px)}.help-section-btn{background-color:transparent;color:var(--color-text-main);transition:all .2s ease}.help-section-btn:hover{background-color:var(--color-bg);transform:translateY(-2px);box-shadow:0 4px 12px -2px #0000000d}.help-section-btn.open{background-color:var(--color-bg)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}.stat-card .stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600}.stat-card .stat-value{font-size:1.75rem;font-weight:700;line-height:1}.stat-card .stat-detail{font-size:.8rem;color:var(--color-text-muted)}.histogram{display:flex;align-items:flex-end;gap:4px;height:140px;padding:0 .5rem}.histogram .bar-group{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.histogram .bar{width:100%;border-radius:3px 3px 0 0;transition:all .2s cubic-bezier(.34,1.56,.64,1);min-height:2px;position:relative;transform-origin:bottom}.histogram .bar:hover{opacity:1!important;transform:scaleY(1.05) scaleX(1.1);filter:brightness(1.1);z-index:10}.histogram .bar-count{font-size:.65rem;color:var(--color-text-muted);margin-bottom:2px;font-weight:600}.histogram .bar-label{font-size:.6rem;color:var(--color-text-muted);margin-top:4px;white-space:nowrap}.difficulty-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600}.difficulty-hard{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 15%,transparent)}.difficulty-medium{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 15%,transparent)}.difficulty-easy{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 15%,transparent)}.item-analysis-table{width:100%;border-collapse:collapse;font-size:.85rem}.item-analysis-table th{text-align:left;padding:.5rem .75rem;border-bottom:2px solid var(--color-border);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.item-analysis-table th:hover{color:var(--color-text-main)}.item-analysis-table td{padding:.4rem .75rem;border-bottom:1px solid var(--color-border)}.result-row{transition:all .2s ease}.result-row:hover{background-color:var(--color-bg)!important;transform:translateY(-2px);box-shadow:var(--shadow-md);position:relative;z-index:10}.item-analysis-table tbody tr:hover{background:var(--color-bg)}.answer-dist{display:flex;gap:4px;align-items:center}.answer-dist .dist-bar{height:6px;border-radius:3px;transition:width .3s ease}.review-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:grid;place-items:center;padding:1rem}.review-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:700px;width:100%;max-height:90vh;overflow-y:auto}.review-header{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.review-body{padding:1.5rem}.review-crop-container{background:var(--color-bg);border-radius:var(--radius-md);padding:1rem;display:flex;justify-content:center;margin-bottom:1rem}.review-crop-container img{max-width:100%;height:auto;image-rendering:pixelated;border-radius:4px}.review-choices{display:flex;gap:.5rem;justify-content:center;margin:1.25rem 0;flex-wrap:wrap}.review-choice-btn{width:56px;height:56px;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text-main);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.review-choice-btn:hover{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.review-choice-btn.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 0 0 3px #4f46e54d}.key-editor-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 30%,transparent)}.review-choice-btn .density-label{font-size:.55rem;font-weight:400;opacity:.7}.review-choice-btn.blank-btn{width:auto;padding:0 1rem;font-size:.85rem;font-weight:500}.review-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.review-progress{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.review-progress-fill{height:100%;background:var(--color-primary);transition:width .3s ease;border-radius:2px}.app-header{margin-bottom:2rem;display:flex;align-items:center;gap:1rem;cursor:pointer}.app-logo{width:40px;height:40px;background:var(--color-primary);border-radius:var(--radius-md);display:grid;place-items:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0}.home-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}@media(min-width:640px){.home-grid{grid-template-columns:1fr 1fr}}.feature-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;text-align:left;width:100%;font-family:inherit}.feature-card h3{color:var(--color-text-main)}.feature-card p{color:var(--color-text-muted)}.feature-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-1px)}.feature-card:hover h3{color:var(--color-primary)}.feature-card:hover p{color:var(--color-text-main)}.feature-card.feature-card--primary:hover h3{color:#fff;opacity:0}.feature-card.feature-card--primary:hover .feature-card__content p{color:#fffc;opacity:0}.feature-card:hover:not(.feature-card--primary) .feature-card__icon{background:#4f46e51a;color:var(--color-primary);transform:scale(1.1) rotate(5deg)}.exam-row{border-bottom:1px solid var(--color-border);cursor:pointer;transition:all .2s ease}.exam-row:hover{background-color:var(--color-bg);box-shadow:0 4px 12px -2px #0000000d;transform:translateY(-1px)}.feature-card--primary{grid-column:1 / -1;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border-color:transparent;color:#fff}.feature-card--primary:hover{box-shadow:0 8px 25px -5px #4f46e566;border-color:transparent;transform:translateY(-2px);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover))}.feature-card:hover.feature-card--primary .feature-card__icon--primary{background:#fff;color:var(--color-primary);transform:scale(1.1) rotate(5deg)}.feature-card__icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-bg);display:grid;place-items:center;color:var(--color-primary);flex-shrink:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d;will-change:transform}.feature-card__icon--primary{background:#fff3;color:#fff}.feature-card__content h3{font-size:1.05rem;margin:0 0 .25rem;font-weight:600;transition:all .2s ease}.feature-card__content p{font-size:.85rem;margin:0;color:var(--color-text-muted);line-height:1.4;transition:all .2s ease}.feature-card--primary h3{color:#fff}.feature-card--primary .feature-card__content p{color:#fffc}.sub-view-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.dev-tools-section{text-align:center;padding-top:1rem;border-top:1px solid var(--color-border)}.dev-tools-toggle{background:none;border:none;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-family:inherit;transition:color .15s}.dev-tools-toggle:hover{color:var(--color-text-main);background:var(--color-bg)}.btn-sm{padding:.3rem .75rem;font-size:.8rem}.btn-teal{background-color:var(--color-teal);color:#fff;border:1px solid var(--color-teal)}.btn-teal:hover:not(:disabled){background-color:var(--color-teal-hover);border-color:var(--color-teal-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-teal:disabled{background:transparent;color:var(--color-text-muted);border-color:var(--color-border);transform:none;box-shadow:none}.btn-amber{background-color:var(--color-amber);color:#fff;border:1px solid var(--color-amber)}.btn-amber:hover:not(:disabled){background-color:var(--color-amber-hover);border-color:var(--color-amber-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-amber:disabled{background:transparent;color:var(--color-text-muted);border-color:var(--color-border);transform:none;box-shadow:none}.btn-icon-danger{color:var(--color-danger);border-color:var(--color-danger);transition:all .2s ease}.btn-icon-danger:hover:not(:disabled){background:var(--color-danger);color:#fff;box-shadow:0 2px 8px -2px color-mix(in srgb,var(--color-danger) 40%,transparent);transform:translateY(-1px)}.btn-icon-warning{color:var(--color-warning);border-color:var(--color-warning);transition:all .2s ease}.btn-icon-warning:hover:not(:disabled){background:var(--color-warning);color:#fff;box-shadow:0 2px 8px -2px color-mix(in srgb,var(--color-warning) 40%,transparent);transform:translateY(-1px)}@keyframes help-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes help-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes help-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes help-drawer-out{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes ee-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes ee-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes ee-card-in{0%{opacity:0;transform:scale(.6) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes ee-card-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5) rotate(8deg)}}@keyframes ee-face-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.18)}70%{transform:scale(.93)}}@keyframes ee-shake{0%,to{transform:translate(0)}15%{transform:translate(-8px) rotate(-2deg)}30%{transform:translate(8px) rotate(2deg)}45%{transform:translate(-6px) rotate(-1deg)}60%{transform:translate(6px) rotate(1deg)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}@keyframes ee-text-flicker{0%,to{opacity:1}50%{opacity:.75}}@keyframes ee-btn-glow{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 14px 4px color-mix(in srgb,var(--color-danger) 45%,transparent)}}@keyframes cv-spin{to{transform:rotate(360deg)}}@keyframes confirm-modal-in{0%{opacity:0;transform:scale(.92) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@media print{.app-header,.sub-view-header,.home-grid,.dev-tools-section,.review-overlay,.analytics-print-hide{display:none!important}body,:root,:root[data-theme=dark]{--color-bg: #ffffff;--color-surface: #ffffff;--color-text-main: #000000;--color-text-muted: #555555;--color-border: #cccccc;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-primary: #4338ca;--color-matrix-correct: #bbf7d0;--color-matrix-incorrect: #fecaca;--color-matrix-empty: #f8fafc;background:#fff!important;color:#000!important}.container{max-width:100%;padding:0}.analytics-print-header{display:block!important;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #000}.card{box-shadow:none;border:1px solid #cccccc;break-inside:avoid}.analytics-grid{grid-template-columns:repeat(5,1fr)}.histogram .bar,.difficulty-badge,.dist-bar,[style*=--color-matrix-correct],[style*=--color-matrix-incorrect]{-webkit-print-color-adjust:exact;print-color-adjust:exact}details.card>summary{display:none}details.card>div{display:block!important;max-height:none!important}.item-analysis-table-wrapper{max-height:none!important;overflow:visible!important}.analytics-grid{page-break-after:avoid}.card{page-break-inside:avoid}@page{margin:15mm 12mm}}.app-intro-overlay{position:fixed;inset:0;background-color:var(--color-bg);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-primary)}.app-intro-overlay.morphing{background-color:transparent;pointer-events:none;transition:background-color .8s ease}.app-intro-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:15vh}.app-intro-logo{animation:intro-logo-reveal 1.2s cubic-bezier(.34,1.56,.64,1) forwards;transform-style:preserve-3d}.app-intro-logo-icon{width:96px;height:96px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border-radius:var(--radius-lg);display:grid;place-items:center;color:#fff;box-shadow:0 20px 25px -5px #4f46e566,0 8px 10px -6px #4f46e51a}.app-intro-text{font-size:3rem;font-weight:800;letter-spacing:-.05em;color:var(--color-text-main);opacity:0;animation:intro-text-fade-up .8s cubic-bezier(.34,1.56,.64,1) .3s forwards;position:relative}@keyframes intro-fade-out{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(1.05);filter:blur(8px);visibility:hidden}}@keyframes intro-logo-reveal{0%{opacity:0;transform:scale(.5) translateY(20px) rotateX(20deg)}to{opacity:1;transform:scale(1) translateY(0) rotateX(0)}}@keyframes intro-text-fade-up{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.app-logo-hidden,.app-logo-reveal{opacity:0}.cards-hidden .feature-card{opacity:0;transform:translateY(40px);pointer-events:none}.cards-slide-up .feature-card{animation:cards-slide-up-anim .8s cubic-bezier(.175,.885,.32,1.1) both}.cards-slide-up .feature-card:nth-child(1){animation-delay:.3s}.cards-slide-up .feature-card:nth-child(2){animation-delay:.5s}.cards-slide-up .feature-card:nth-child(3){animation-delay:.7s}.cards-slide-up .feature-card:nth-child(4){animation-delay:.9s}.cards-slide-up .feature-card:nth-child(5){animation-delay:1.1s}@keyframes cards-slide-up-anim{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
