*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f7fa;color:#333;padding:20px}.container{max-width:600px;margin:0 auto;background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 12px #00000014}header{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:0 auto 24px;padding-bottom:16px;border-bottom:1px solid #ddd}h1{font-size:1.8em;margin:0}h2{font-size:1.1em;margin:16px 0 12px}#auth-area{display:flex;gap:12px;align-items:center}#user-email{font-size:.9em;color:#666}.field{margin-bottom:16px}.field label{display:block;font-weight:600;margin-bottom:6px;font-size:.95em}input[type=text],input[type=email],select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:1em;background:#fafafa}input:focus,select:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d926}button{padding:10px 16px;background:#4a90d9;color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer}button:hover:not(:disabled){background:#3a7bc8}button:disabled{opacity:.5;cursor:not-allowed}button[type=submit]{width:100%;margin-top:8px;padding:14px;font-size:1.1em}#answers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:16px 0}.answer-item{display:flex;align-items:center;gap:6px}.answer-item span{font-weight:600;font-size:.9em;min-width:28px;text-align:right}.answer-item select{flex:1;padding:6px 8px;font-size:.9em}.result-icon{font-size:1em;min-width:18px;text-align:center}.result-icon.correct{color:#27ae60}.result-icon.wrong{color:#c0392b}.result-icon.skipped{color:#f39c12}#result{margin-top:24px;padding:20px;background:#f0f8f0;border-radius:8px;border:1px solid #c3e6c3}#result.has-errors{background:#fff8f0;border-color:#e6d4c3}#score{font-size:1.3em;font-weight:700;margin-bottom:8px}#wrong-list{color:#c0392b;font-weight:500}table{width:100%;border-collapse:collapse;margin:16px 0}table th,table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}table th{background:#f5f7fa;font-weight:600}#solution{margin-top:20px;padding:20px;background:#f9f5ff;border-radius:8px;border:1px solid #e0d4f7;line-height:1.6}.hidden{display:none}.landing{max-width:560px;margin:40px auto;background:#fff;border-radius:12px;padding:40px 32px;box-shadow:0 2px 12px #00000014;text-align:center}.landing .hero{display:block;width:100%;max-width:480px;margin:0 auto 24px;border-radius:12px}.landing h2{font-size:1.8em;margin:0 0 12px}.landing .lead{font-size:1.05em;color:#555;margin-bottom:24px}.landing .benefits{list-style:none;padding:0;margin:0 0 28px;text-align:left;display:inline-block}.landing .benefits li{padding:6px 0 6px 28px;position:relative;color:#333}.landing .benefits li:before{content:"✓";color:#4a90d9;font-weight:700;position:absolute;left:0}.landing .cta{padding:14px 28px;font-size:1.05em}.landing .fine-print{margin-top:16px;font-size:.85em;color:#888}.kids-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.kid-card{display:flex;flex-direction:column;background:#fafafa;border:1px solid #eaeaea;border-radius:8px;padding:12px 16px;transition:all .2s ease}.kid-card:hover{background:#f7f9fc;border-color:#4a90d9}.kid-name-link{font-size:1.1em;font-weight:600;color:#2c3e50;text-decoration:none;margin-bottom:4px}.kid-name-link:hover{color:#4a90d9}.kid-last-login{font-size:.85em;color:#7f8c8d}.score-badge{display:inline-block;padding:2px 8px;background:#eef5fc;color:#357ebd;border-radius:12px;font-weight:700;font-size:.9em}.emulator-auth-card{margin-top:32px;padding:24px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(74,144,217,.3);border-radius:16px;box-shadow:0 10px 30px #4a90d914;text-align:left;animation:fadeIn .4s ease-out}.emulator-auth-card h3{font-size:1.15em;color:#2c3e50;margin-bottom:18px;text-align:center;font-weight:700;letter-spacing:-.02em}.emulator-accounts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.emulator-accounts-grid{grid-template-columns:1fr}}.emu-account-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#334155;text-align:left;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.emu-account-btn:hover:not(:disabled){background:#f8fafc;border-color:#4a90d9;transform:translateY(-2px);box-shadow:0 6px 20px #4a90d91f}.emu-account-btn:active:not(:disabled){transform:translateY(0)}.emu-account-btn:disabled{opacity:.6;cursor:not-allowed}.emu-avatar{font-size:1.6em;flex-shrink:0;background:#f1f5f9;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.emu-account-btn:hover:not(:disabled) .emu-avatar{background:#e0f2fe}.emu-details{display:flex;flex-direction:column;min-width:0}.emu-role{font-weight:600;font-size:.9em;color:#1e293b}.emu-email{font-size:.75em;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emu-login-status{margin-top:16px;font-size:.9em;text-align:center;min-height:20px;font-weight:500;transition:all .2s}.emu-login-status.emu-loading{color:#3498db}.emu-login-status.emu-error{color:#e74c3c;background:#fdedec;padding:8px 12px;border-radius:8px;border:1px solid #fadbd8;display:inline-block;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-greeting{text-align:center;margin-bottom:12px;animation:fadeIn .4s ease-out}.dashboard-greeting h2{font-size:1.3em;font-weight:700;margin:0}.dashboard-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;animation:fadeIn .4s ease-out}.stat-card{background:#f0f6ff;border-radius:10px;padding:12px;text-align:center}.stat-card.green{background:#f0fff0}.stat-value{font-size:1.4em;font-weight:800;color:#4a90d9}.stat-card.green .stat-value{color:#2d7d2d}.stat-label{font-size:.75em;color:#888;margin-top:2px}.dashboard-divider{border:none;border-top:1px solid #eee;margin:0 0 16px}.section-label{font-weight:600;margin-bottom:8px;font-size:.9em;color:#555}.test-type-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;animation:fadeIn .4s ease-out}.test-type-btn{border:2px solid #e2e8f0;border-radius:10px;padding:8px 16px;background:#fff;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.9em;font-weight:700;color:#333;transition:all .2s}.test-type-btn.active{border-color:#4a90d9;background:#f0f6ff;color:#4a90d9}.test-type-btn.placeholder{border-style:dashed;opacity:.4;cursor:default;color:#bbb}.age-group-row{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap;animation:fadeIn .4s ease-out}.age-group-pill{padding:6px 14px;border-radius:20px;background:#e8e8e8;font-size:.85em;cursor:pointer;border:none;color:#333;font-weight:500;transition:all .2s}.age-group-pill:hover{background:#d0d0d0}.age-group-pill.active{background:#4a90d9;color:#fff;font-weight:600}.test-list{display:flex;flex-direction:column;gap:8px;animation:fadeIn .5s ease-out}.test-row{display:flex;align-items:center;border:1px solid #e0e0e0;border-radius:10px;padding:10px 14px;background:#fff;gap:12px;transition:all .2s}.test-row:hover{border-color:#4a90d9;box-shadow:0 2px 8px #4a90d91a}.test-row-year{min-width:50px;text-align:center}.test-row-year .year{font-size:1.15em;font-weight:800;display:block}.test-row-year .grade{font-size:.72em;color:#888}.test-row-info{flex:1;min-width:0}.test-row-score{font-size:.85em;font-weight:600;color:#2d7d2d}.test-row-score.not-attempted{color:#999;font-weight:400}.test-row-meta{font-size:.72em;color:#aaa;margin-top:2px}.test-row-start{padding:6px 16px;font-size:.85em;font-weight:600;background:#f1f5f9;color:#334155;border:none;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.test-row:hover .test-row-start{background:#4a90d9;color:#fff}.no-tests-message{text-align:center;color:#64748b;padding:40px 20px;background:#f8fafc;border-radius:12px;border:1px dashed #e2e8f0;font-size:.95em}.role-picker{max-width:480px;margin:60px auto;background:#fff;border-radius:12px;padding:40px 32px;box-shadow:0 2px 12px #00000014;text-align:center}.role-picker h2{font-size:1.8em;margin:0 0 8px}.role-picker .lead{font-size:1.05em;color:#555;margin-bottom:32px}.role-options{display:flex;gap:16px;justify-content:center}.role-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;border:2px solid #e2e8f0;border-radius:12px;background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.role-btn:hover{border-color:#4a90d9;background:#f0f6ff;transform:translateY(-2px)}.role-btn:active{transform:translateY(0)}.role-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.role-icon{font-size:2.5em}.role-label{font-size:1.2em;font-weight:600;color:#333}.role-desc{font-size:.85em;color:#888}.role-error{margin-top:16px;color:#e53e3e;font-size:.9em}.emu-new-user{border-style:dashed}.attempt-score{padding:16px;border-radius:8px;font-size:1.2em;text-align:center;margin-bottom:12px;animation:fadeIn .4s ease-out}.attempt-score.all-correct{background:#f0fff0;border:1px solid #c3e6c3;color:#2d7d2d}.attempt-score.has-errors{background:#fff8f0;border:1px solid #e6d4c3;color:#333}tr[data-task]{transition:background .3s}tr.task-correct{background:#f0fff0}tr.task-wrong{background:#fff0f0}tr.task-blank{background:#fafafa}tr.task-locked label{opacity:.6}.task-status{white-space:nowrap;text-align:right}.btn-retry,.btn-solution{padding:4px 12px;font-size:.85em;border-radius:6px;border:none;cursor:pointer;font-weight:600;margin-left:6px;vertical-align:middle}.btn-retry{background:#4a90d9;color:#fff}.btn-retry:hover:not(:disabled){background:#3a7bc8}.btn-solution{background:#9b59b6;color:#fff}.btn-solution:hover:not(:disabled){background:#8e44ad}
