*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f3f4f6;color:#1f2937;line-height:1.5;min-height:100vh}:root{--color-not-visited: #9ca3af;--color-not-answered: #ef4444;--color-answered: #22c55e;--color-marked: #a855f7;--color-answered-marked: #6366f1;--color-btn-save: #2563eb;--color-btn-mark: #d97706;--color-btn-clear: #6b7280;--color-primary: #1d4ed8;--color-surface: #ffffff;--color-border: #e5e7eb;--radius: 6px}.app-header{background:var(--color-primary);color:#fff;padding:.75rem 1rem;font-size:1.1rem;font-weight:700;letter-spacing:.01em;display:flex;align-items:center;gap:.75rem}.header-title{flex:1}.header-back-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:var(--radius);padding:.3rem .75rem;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.header-back-btn:hover{background:#ffffff40}.home-page{max-width:760px;margin:0 auto;padding:1.5rem 1rem 3rem}.home-hero{margin-bottom:1.75rem}.home-hero-title{font-size:1.6rem;font-weight:800;color:#111827;margin:0 0 .35rem}.home-hero-sub{color:#6b7280;font-size:.95rem;margin:0}.competitions-list{display:flex;flex-direction:column;gap:.75rem}.competition-block{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.competition-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#f8fafc;border:none;cursor:pointer;text-align:left;transition:background .15s;gap:.75rem}.competition-header:hover:not(.disabled){background:#eff6ff}.competition-header.open{background:#eff6ff;border-bottom:1px solid var(--color-border)}.competition-header.disabled{cursor:default;opacity:.75}.comp-info{display:flex;flex-direction:column;gap:.15rem}.comp-name{font-size:1rem;font-weight:700;color:#111827}.comp-full-name{font-size:.8rem;color:#6b7280}.comp-right{flex-shrink:0;display:flex;align-items:center;gap:.5rem}.chevron{font-size:.7rem;color:#9ca3af}.badge-soon{background:#fef9c3;color:#854d0e;border:1px solid #fde047;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;letter-spacing:.03em}.categories-list{padding:.5rem .75rem .75rem;display:flex;flex-direction:column;gap:.4rem;background:#fff}.category-block{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.category-header{width:100%;display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;background:#fafafa;border:none;cursor:pointer;text-align:left;transition:background .15s}.category-header:hover:not(.disabled){background:#f0f9ff}.category-header.open{background:#f0f9ff;border-bottom:1px solid var(--color-border)}.category-header.disabled{cursor:default}.cat-icon{font-size:1rem;flex-shrink:0}.cat-name{flex:1;font-size:.9rem;font-weight:600;color:#374151}.cat-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.cat-count{font-size:.78rem;color:#9ca3af}.tests-list{padding:.5rem .75rem .75rem;display:flex;flex-direction:column;gap:.5rem;background:#fff}.test-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--color-border);border-radius:6px;transition:border-color .15s,box-shadow .15s}.test-card:hover{border-color:#93c5fd;box-shadow:0 1px 4px #2563eb14}.test-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.test-name{font-size:.92rem;font-weight:600;color:#111827}.test-meta{display:flex;flex-wrap:wrap;gap:.3rem;font-size:.78rem;color:#6b7280;align-items:center}.test-meta .dot{color:#d1d5db}.btn-start{flex-shrink:0;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:.5rem 1.25rem;font-size:.88rem;font-weight:700;cursor:pointer;transition:opacity .15s}.btn-start:hover{opacity:.88}.result-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn-home{background:#fff;color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius);padding:.65rem 1.75rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .15s}.btn-home:hover{background:#eff6ff}.test-layout{display:flex;flex-direction:column;min-height:calc(100vh - 50px)}@media(min-width:768px){.test-layout{flex-direction:row;align-items:flex-start}}.test-main{flex:1;padding:1rem;min-width:0}.test-sidebar{background:var(--color-surface);border-top:1px solid var(--color-border);padding:1rem}@media(min-width:768px){.test-sidebar{width:280px;min-width:280px;border-top:none;border-left:1px solid var(--color-border);min-height:calc(100vh - 50px);position:sticky;top:0;max-height:100vh;overflow-y:auto}}.palette-toggle-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;background:var(--color-primary);color:#fff;border:none;font-size:.9rem;font-weight:600;cursor:pointer;border-radius:var(--radius);margin-bottom:1rem}@media(min-width:768px){.palette-toggle-btn{display:none}.test-sidebar{display:block!important}}.timer-bar{display:flex;align-items:center;gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem 1rem;margin-bottom:1rem;font-weight:600;font-size:1rem}.timer-bar.urgent{border-color:#ef4444;background:#fef2f2;color:#dc2626}.timer-label{color:#6b7280;font-weight:400;font-size:.85rem}.timer-bar.urgent .timer-label{color:#dc2626}.question-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.question-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.section-badge{background:#eff6ff;color:var(--color-primary);border:1px solid #bfdbfe;border-radius:999px;padding:.2rem .75rem;font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.question-number{color:#6b7280;font-size:.88rem}.question-text{font-size:1rem;font-weight:500;margin-bottom:1.25rem;line-height:1.6;color:#111827}.options-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.option-btn{width:100%;text-align:left;padding:.75rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-size:.95rem;cursor:pointer;transition:border-color .15s,background .15s;color:#1f2937}.option-btn:hover{border-color:var(--color-primary);background:#eff6ff}.option-btn.selected{border-color:var(--color-primary);background:#dbeafe;font-weight:600;color:#1e40af}.action-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.btn{padding:.55rem 1rem;border:none;border-radius:var(--radius);font-size:.88rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;color:#fff}.btn:hover{opacity:.88}.btn:active{transform:scale(.97)}.btn-save{background:var(--color-btn-save)}.btn-mark{background:var(--color-btn-mark)}.btn-clear{background:var(--color-btn-clear)}.btn-submit{background:#dc2626;width:100%;padding:.7rem;font-size:.95rem;margin-top:.75rem}.nav-row{display:flex;justify-content:space-between;align-items:center}.btn-nav{padding:.5rem 1.25rem;border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-size:.9rem;font-weight:600;cursor:pointer;color:#374151;transition:border-color .15s,background .15s}.btn-nav:hover:not(:disabled){border-color:var(--color-primary);background:#eff6ff;color:var(--color-primary)}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.palette-title{font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#374151;margin-bottom:.75rem}.palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:1rem}.palette-btn{aspect-ratio:1;border:none;border-radius:4px;font-size:.8rem;font-weight:700;cursor:pointer;color:#fff;transition:transform .1s,opacity .1s}.palette-btn:hover{opacity:.85;transform:scale(1.07)}.palette-btn.current{outline:2.5px solid #111827;outline-offset:1px}.palette-btn.not-visited{background:var(--color-not-visited)}.palette-btn.not-answered{background:var(--color-not-answered)}.palette-btn.answered{background:var(--color-answered)}.palette-btn.marked{background:var(--color-marked)}.palette-btn.answered-marked{background:var(--color-answered-marked)}.legend{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;font-size:.8rem}.legend-item{display:flex;align-items:center;gap:.5rem;color:#374151}.legend-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0}.result-page{max-width:800px;margin:0 auto;padding:1.5rem 1rem}.result-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;text-align:center}.result-score{font-size:2rem;font-weight:800;color:var(--color-primary);margin-bottom:.5rem}.result-marking{font-size:.85rem;color:#6b7280;margin-bottom:1rem}.result-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.stat-box{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.25rem;border-radius:var(--radius);font-weight:700;min-width:80px}.stat-box.correct{background:#dcfce7;color:#15803d}.stat-box.wrong{background:#fee2e2;color:#b91c1c}.stat-box.unattempted{background:#f3f4f6;color:#374151}.stat-box.total{background:#eff6ff;color:var(--color-primary)}.stat-box .stat-num{font-size:1.5rem;line-height:1}.stat-box .stat-label{font-size:.75rem;font-weight:500;margin-top:.25rem}.btn-retake{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:.65rem 1.75rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .15s}.btn-retake:hover{opacity:.88}.review-section h2{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:#111827}.review-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.review-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.review-q-num{font-weight:700;color:#374151;font-size:.88rem}.review-question{font-size:.95rem;font-weight:500;margin-bottom:.75rem;color:#111827}.review-options{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.review-option{padding:.5rem .75rem;border-radius:4px;font-size:.88rem;border:1px solid var(--color-border);background:#f9fafb}.review-option.correct-answer{background:#dcfce7;border-color:#86efac;color:#15803d;font-weight:600}.review-option.wrong-answer{background:#fee2e2;border-color:#fca5a5;color:#b91c1c;font-weight:600}.review-explanation{font-size:.85rem;color:#374151;background:#f8fafc;border-left:3px solid var(--color-primary);padding:.5rem .75rem;border-radius:0 4px 4px 0}.review-explanation strong{display:block;margin-bottom:.2rem;color:var(--color-primary);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.result-badge{font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.result-badge.correct{background:#dcfce7;color:#15803d}.result-badge.wrong{background:#fee2e2;color:#b91c1c}.result-badge.skipped{background:#f3f4f6;color:#6b7280}
