:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f5f7fb;color:#172235}*{box-sizing:border-box}body{margin:0}.wrap{max-width:1080px;margin:30px auto;padding:0 16px}.card{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:23px;box-shadow:0 8px 28px #17223509;margin:12px 0}h1{font-size:26px;margin:0 0 12px}h2{font-size:19px}p{line-height:1.5;color:#536177}label{display:block;font-weight:650;font-size:14px;margin:13px 0 5px}input,select{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:11px;font:inherit}button,.btn{display:inline-block;border:0;border-radius:9px;background:#284bd3;color:white;padding:11px 16px;text-decoration:none;font-weight:700;cursor:pointer;margin:12px 6px 0 0}.btn.alt{background:#edf2ff;color:#284bd3}.alert{padding:12px;border:1px solid #fca5a5;background:#fff1f2;border-radius:10px}.ok{padding:12px;border:1px solid #86efac;background:#f0fdf4;border-radius:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:10px;border-bottom:1px solid #e2e8f0}th{background:#f8fafc}small{color:#64748b}form.inline{display:inline}.checkbox{width:auto}a{color:#284bd3} .narrow{max-width:460px;margin:38px auto}
.ab-grid2,.ab-grid3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ab-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:11px;font:inherit}.ab-error{background:#fef2f2;color:#991b1b;padding:12px;border:1px solid #fecaca;border-radius:9px}.ab-success{background:#f0fdf4;color:#166534;padding:12px;border:1px solid #86efac;border-radius:9px}.ab-class summary{cursor:pointer;padding:3px 0}.hint{font-size:13px;color:#64748b}.ab-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.ab-links a{padding:9px 13px;border-radius:9px;background:#eef2ff}.ab-opt{display:block;padding:12px;border:1px solid #e2e8f0;border-radius:10px;font-weight:400}.ab-opt input{width:auto}.ab-timer{position:sticky;top:0;background:#eef2ff;border-radius:10px;padding:12px;font-weight:bold;z-index:5}.ab-bi{white-space:normal}.ab-tablewrap{overflow:auto}@media(max-width:800px){.ab-grid2,.ab-grid3{grid-template-columns:1fr}}
@media print{button,nav,.ab-links{display:none!important}.card{break-inside:avoid}}
