:root{--bg: #f4f6f9;--surface: #ffffff;--ink: #1a2330;--muted: #5b6675;--border: #d9dee6;--brand: #1e3a5f;--brand-ink: #ffffff;--correct: #1b7f4b;--correct-bg: #e6f5ec;--wrong: #b3261e;--wrong-bg: #fdecea;--partial: #8a6d00;--partial-bg: #fdf6e3;--pending: #4a5568;--pending-bg: #eef1f5;--radius: 14px;--tap: 48px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:18px;line-height:1.5;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.container{max-width:780px;margin:0 auto;padding:20px 18px 96px}h1{font-size:1.7rem;margin:0 0 4px}h2{font-size:1.25rem}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:12px 22px;font-size:1.05rem;font-weight:600;border:none;border-radius:12px;background:var(--brand);color:var(--brand-ink);cursor:pointer;touch-action:manipulation;transition:filter .1s ease}.btn:active{filter:brightness(.9)}.btn:disabled{opacity:.5}.btn.secondary{background:var(--surface);color:var(--brand);border:2px solid var(--brand)}.btn.danger{background:var(--wrong)}.btn.block{width:100%}.btn-row{display:flex;gap:12px;flex-wrap:wrap}label{display:block;font-weight:600;margin:14px 0 6px}input[type=text],input[type=password],textarea,select{width:100%;min-height:var(--tap);padding:12px 14px;font-size:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font-family:inherit}textarea{min-height:140px;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path d='M4 6l4 4 4-4' fill='none' stroke='%235b6675' stroke-width='2'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.option{display:flex;align-items:center;gap:14px;min-height:var(--tap);padding:14px 16px;margin:10px 0;border:2px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.option.selected{border-color:var(--brand);background:#eef3fa}.option .box{flex:0 0 26px;height:26px;border:2px solid var(--muted);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--brand)}.option.radio .box{border-radius:50%}.option.selected .box{border-color:var(--brand)}.match-row{display:flex;align-items:center;gap:12px;margin:10px 0;flex-wrap:wrap}.match-row .left{flex:1 1 200px;font-weight:600}.match-row select{flex:1 1 220px}.badge{display:inline-block;padding:3px 12px;border-radius:999px;font-size:.85rem;font-weight:700}.badge.correct{background:var(--correct-bg);color:var(--correct)}.badge.wrong{background:var(--wrong-bg);color:var(--wrong)}.badge.partial{background:var(--partial-bg);color:var(--partial)}.badge.pending{background:var(--pending-bg);color:var(--pending)}.result-card{border-left:6px solid var(--border)}.result-card.correct{border-left-color:var(--correct)}.result-card.wrong{border-left-color:var(--wrong)}.result-card.partial{border-left-color:var(--partial)}.result-card.pending{border-left-color:var(--pending)}.feedback{white-space:pre-wrap;background:var(--bg);border-radius:10px;padding:12px 14px;margin-top:10px}.sticky-bar{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:14px 18px calc(14px + env(safe-area-inset-bottom));margin:0 -18px -96px;display:flex;justify-content:space-between;align-items:center;gap:12px}.score-hero{text-align:center;padding:28px 20px}.score-hero .big{font-size:3rem;font-weight:800;color:var(--brand)}.error{background:var(--wrong-bg);color:var(--wrong);padding:12px 14px;border-radius:10px;margin:10px 0}.spinner-note{text-align:center;color:var(--muted);padding:20px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border)}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}a.link{color:var(--brand);font-weight:600;text-decoration:none}@media (min-width: 900px){.container{max-width:900px}}
