:root{--radius:1rem;--background:#f8fafc;--foreground:#0f172a;--card:#fff;--card-foreground:#0f172a;--primary:#e70328;--primary-foreground:#fff;--secondary:#f1f5f9;--muted:#f1f5f9;--muted-foreground:#475569;--border:#cbd5e1;--ring:#e70328;--mesh-base:#f8fafc;--mesh-white:rgba(255,255,255,.96);--mesh-blue-soft:rgba(190,222,255,.78);--mesh-blue:rgba(70,130,255,.22);--mesh-blue-deep:rgba(0,85,255,.26);--mesh-red:rgba(231,3,40,.045);--mesh-extra:rgba(170,205,255,.52);--glass-surface:rgba(255,255,255,.68);--glass-hover:rgba(255,255,255,.78)}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Roboto,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--foreground);background:var(--background)}a{color:inherit}.mesh-background{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--mesh-base)}.mesh-gradient{position:absolute;inset:-28%;background:radial-gradient(circle at 18% 24%,var(--mesh-blue-soft),transparent 31%),radial-gradient(circle at 75% 6%,var(--mesh-blue),transparent 34%),radial-gradient(circle at 58% 82%,var(--mesh-blue-deep),transparent 29%),radial-gradient(circle at 95% 72%,var(--mesh-extra),transparent 36%),radial-gradient(circle at 12% 86%,var(--mesh-red),transparent 34%),linear-gradient(135deg,var(--mesh-white),var(--mesh-base));filter:blur(72px);opacity:.86;transform:scale(1.14);animation:mesh-drift 32s ease-in-out infinite alternate}.mesh-grain{position:absolute;inset:0;opacity:.18;background-image:radial-gradient(rgba(15,23,42,.18) .5px,transparent .5px);background-size:6px 6px;mix-blend-mode:soft-light}@keyframes mesh-drift{0%{transform:scale(1.14) translate3d(-2.5%,-1.5%,0) rotate(0deg)}50%{transform:scale(1.18) translate3d(1.5%,-.5%,0) rotate(2deg)}100%{transform:scale(1.2) translate3d(2.5%,1.5%,0) rotate(4deg)}}
.shell{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column}.main{width:100%;max-width:760px;margin:0 auto;flex:1;padding:28px 16px;display:flex;flex-direction:column;gap:18px}.main-wide{max-width:1160px}.card{background:var(--glass-surface);backdrop-filter:blur(18px);border:1px solid rgba(203,213,225,.72);box-shadow:0 24px 70px rgba(15,23,42,.10);border-radius:24px;color:var(--card-foreground)}.card-pad{padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:16px}.logo{height:40px;max-width:152px;object-fit:contain}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-foreground)}h1{margin:0;font-size:clamp(28px,5vw,44px);line-height:1.03;letter-spacing:-.04em}h2{margin:0;font-size:24px;letter-spacing:-.02em}h3{margin:0;font-size:17px}.lead{color:var(--muted-foreground);line-height:1.65;font-size:15px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:780px){.grid-2,.grid-3{grid-template-columns:1fr}.hide-sm{display:none}.topbar{align-items:flex-start;flex-direction:column}}
.input,label,select{font:inherit}.field{display:flex;flex-direction:column;gap:8px}.label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}.input,select{width:100%;height:44px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.78);padding:0 14px;outline:none}.input:focus,select:focus{border-color:var(--ring);box-shadow:0 0 0 4px rgba(231,3,40,.12)}.button{height:44px;border:0;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-weight:800;padding:0 18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:8px;box-shadow:0 16px 36px rgba(231,3,40,.22)}.button.secondary{background:#fff;color:#0f172a;border:1px solid var(--border);box-shadow:none}.button.ghost{background:transparent;color:#0f172a;border:1px solid var(--border);box-shadow:none}.button:disabled{opacity:.55;cursor:not-allowed}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.alert{border-radius:16px;padding:12px 14px;font-weight:700}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.pill{display:inline-flex;border-radius:999px;padding:5px 10px;background:rgba(241,245,249,.9);border:1px solid rgba(203,213,225,.8);font-size:12px;font-weight:800;color:#334155}.pill.red{background:rgba(231,3,40,.1);border-color:rgba(231,3,40,.22);color:#be123c}.footer{position:relative;z-index:1;padding:14px;text-align:center;color:var(--muted-foreground);font-size:12px}.progress-wrap{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress-bar{height:100%;background:var(--primary);width:0%;transition:width .25s ease}.timer{font-variant-numeric:tabular-nums;font-size:42px;font-weight:900;letter-spacing:-.04em}.question{font-size:22px;line-height:1.42;font-weight:800;white-space:pre-line}.option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:18px;padding:14px;background:rgba(255,255,255,.72);cursor:pointer}.option:hover{background:#fff}.option input{margin-top:3px}.option .letter{font-weight:900;color:var(--primary)}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid rgba(203,213,225,.72);text-align:left;font-size:14px}th{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground)}.score{font-size:48px;line-height:1;font-weight:900;color:var(--primary)}.ok{color:#15803d;font-weight:800}.bad{color:#b91c1c;font-weight:800}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.small{font-size:12px;color:var(--muted-foreground)}
