:root{--bg:#f4f6fb;--surface:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--text-muted:#64748b;--primary:#0a6fbb;--primary-strong:#084f86;--primary-soft:#dcebf7;--accent:#b45309;--accent-soft:#fef3c7;--danger:#b91c1c;--ring:#0a6fbb59;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 8px 24px -12px #0f172a40;--radius:14px}@media (prefers-color-scheme:dark){:root{--bg:#0b1120;--surface:#111a2e;--surface-2:#16203a;--border:#1f2c47;--border-strong:#2c3b5c;--text:#e8edf7;--text-muted:#94a3b8;--primary:#4fa3e4;--primary-strong:#8ac4f2;--primary-soft:#0c2b45;--accent:#fbbf24;--accent-soft:#33270c;--danger:#fca5a5;--ring:#4fa3e466;--shadow-md:0 8px 24px -12px #000000b3}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}html{height:100%}body{background:var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:Inter,Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.55;display:flex}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:6px}.container{width:100%;max-width:880px;margin:0 auto;padding:0 20px}.site-header{background:linear-gradient(135deg, var(--primary-strong), var(--primary));color:#fff;box-shadow:var(--shadow-sm);padding:18px 0}@media (prefers-color-scheme:dark){.site-header{background:linear-gradient(135deg,#10203f,#16305c)}}.site-header a,.site-header a:hover{color:#fff;text-decoration:none}.brand{align-items:center;gap:14px;display:flex}.brand-mark{background:#ffffff29;border:1px solid #ffffff40;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.brand-name{letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.25;display:block}.brand-sub{opacity:.85;font-size:13px;display:block}.site-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--text-muted);margin-top:auto;padding:28px 0;font-size:13.5px}.main{flex:1;padding:32px 0 48px}.hero{text-align:center;margin-bottom:24px}.hero h1{letter-spacing:-.02em;font-size:clamp(24px,4.5vw,34px);font-weight:800;line-height:1.2}.hero p{color:var(--text-muted);margin-top:10px;font-size:15.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.card-pad{padding:20px}.form-lead{color:var(--text-muted);margin-bottom:16px;font-size:14.5px}.form-lead b{color:var(--text)}.field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{color:var(--text-muted);font-size:13px;font-weight:600}.field input{width:100%;min-width:0;color:var(--text);background:var(--surface-2);border:1.5px solid var(--border-strong);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--text-muted)}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}.form-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;display:flex}.form-status{color:var(--text-muted);font-size:13.5px}.btn{color:#fff;background:var(--primary);cursor:pointer;border:none;border-radius:11px;padding:14px 24px;font-family:inherit;font-size:16px;font-weight:600;transition:filter .15s}@media (prefers-color-scheme:dark){.btn{color:#0b1120}}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.6;cursor:default}@media (max-width:520px){.form-actions{flex-direction:column;align-items:stretch;gap:10px}.btn{width:100%}.form-status{text-align:center}}.results{flex-direction:column;gap:12px;margin-top:26px;display:flex}.results-meta{color:var(--text-muted);font-size:14px}.student-card{align-items:center;gap:16px;padding:16px 18px;display:flex}.student-info{flex:1;min-width:0}.student-name{letter-spacing:-.01em;font-size:18px;font-weight:700}.student-meta{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin-top:5px;font-size:13.5px;display:flex}.student-meta b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.class-badge{text-align:center;background:var(--primary-soft);min-width:92px;color:var(--primary-strong);border:1px solid #0000;border-radius:12px;flex:none;padding:10px 14px}.class-badge.is-d{background:var(--accent-soft);color:var(--accent)}.class-badge.is-note{background:var(--surface-2);border-color:var(--border-strong);color:var(--text-muted)}.class-badge.is-note .value{font-size:15px}@media (prefers-color-scheme:dark){.class-badge{border-color:var(--border-strong)}}.class-badge .label{text-transform:uppercase;letter-spacing:.07em;opacity:.8;font-size:11px;font-weight:600;display:block}.class-badge .value{letter-spacing:-.01em;font-size:22px;font-weight:800;line-height:1.25;display:block}.notice{text-align:center;color:var(--text-muted);padding:18px;font-size:14.5px}.notice strong{color:var(--text);margin-bottom:6px;font-size:16px;display:block}.notice.is-error strong{color:var(--danger)}
