html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f6f7fb;color:#111}
.container{max-width:960px;margin:40px auto;padding:24px;background:#fff;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.title{font-size:24px;font-weight:600;margin-bottom:16px}
.grid{display:grid;gap:8px}
.btn{background:#1f6feb;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer}
.btn.secondary{background:#6c757d}
.btn.small{padding:6px 10px;font-size:12px}
.btn.danger{background:#dc2626}
.btn.light{background:#e5e7eb;color:#111}
.input{width:100%;padding:10px;border:1px solid #cfd2d7;border-radius:8px}
.ans{width:64px;padding:6px;font-size:16px;box-sizing:border-box}
.row{display:flex;gap:12px;align-items:center}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid #e4e7eb;padding:8px;text-align:center}
.table th{background:#f9fafb}
.muted{color:#6c757d}
.nav{display:flex;gap:12px;margin-bottom:16px}
.error{background:#fee2e2;color:#b91c1c;padding:8px;border-radius:8px}
.success{background:#dcfce7;color:#166534;padding:8px;border-radius:8px}
#admin{display:grid;gap:16px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.06);padding:16px}
.card .title{font-size:18px;margin-bottom:10px}
#board{overflow:auto}
.table.sheet{table-layout:fixed}
.table.sheet td{padding:6px}
.cell{min-width:80px;white-space:nowrap}
.num{display:inline-block;width:32px;text-align:center;font-family:monospace;font-size:16px}
.ans{width:64px;padding:6px;font-size:16px;box-sizing:border-box}
.ans:disabled{background:#f3f4f6}
.ans.active{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.15)}
.box{display:flex;align-items:center;gap:8px;justify-content:center}
.rownum{position:sticky;left:0;background:#fff;z-index:2}
.table.sheet th.rownum{z-index:3}
.sep{border-right:3px solid #111 !important}
@media print{
  .nav,.btn{display:none}
  .container{box-shadow:none;margin:0;border-radius:0}
}