
:root{font-family:system-ui,Segoe UI,Arial,sans-serif;color:#1b2940;background:#f1f5fa}*{box-sizing:border-box}body{margin:0}.wrap{max-width:1040px;margin:auto;padding:28px 20px}header{background:#102744;color:white;padding:30px 0}h1{margin:0 0 7px;font-size:2rem}header p{margin:0;color:#d4e6fa}.panel{background:white;border:1px solid #d9e3ef;border-radius:14px;padding:24px;margin:20px 0;box-shadow:0 3px 14px #1c35520a}h2{margin-top:0;font-size:1.3rem}.muted{color:#54657b}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.field{flex:1;min-width:230px}label{display:block;font-weight:650;margin-bottom:6px}input{width:100%;padding:12px;border:1px solid #a8b9ce;border-radius:8px;font-size:1rem}button{background:#155c9e;color:white;border:0;border-radius:8px;padding:12px 17px;font-size:1rem;font-weight:650;cursor:pointer}button:hover{background:#10497f}.secondary{background:#e5edf6;color:#153e69}.secondary:hover{background:#d4e4f4}.error{color:#a32020;font-weight:600}.task{border-top:1px solid #e3eaf3;padding:20px 0}.task:first-child{border-top:0}.task h3{margin:0 0 8px;font-size:1.05rem}.task p{line-height:1.55}.tag{display:inline-block;border-radius:30px;background:#e7f1fc;color:#164d7f;font-size:.8rem;padding:3px 10px;margin-bottom:7px}.ref{border:1px solid #cbd8e7;border-radius:10px;background:#f8fbff;padding:14px;margin-top:12px}.alphabet{font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere;line-height:1.8;font-size:.94rem}.piggrid{display:grid;grid-template-columns:repeat(9,minmax(28px,1fr));gap:6px;margin:12px 0;max-width:610px}.pigcell{border:1px solid #d3deea;border-radius:6px;text-align:center;padding:5px 0;background:white}.pigcell b{display:block;font-size:.82rem}.pigcell svg{display:block;margin:3px auto;width:30px;height:30px}.small{font-size:.85rem}.teacher-tools{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.answer{color:#37516a;font-size:.9rem}.hide{display:none!important}.footer{padding:22px 0;color:#617187;font-size:.85rem}.print-only{display:none}@media print{body{background:white;color:black}.wrap{max-width:none;padding:0 12mm}header{background:white;color:black;padding:8mm 0}header p,.no-print,.footer{display:none!important}.panel{box-shadow:none;border:0;padding:0;margin:8px 0}.task{break-inside:avoid;padding:11px 0}.ref{break-inside:avoid;background:white}.print-only{display:block}#teacherPanel:has(#teacher.hide){display:none}.pigcell{border:1px solid #aaa}h1{font-size:19pt}h2{font-size:14pt}}

.notice{background:#e8f3ff;border-left:4px solid #155c9e;padding:12px 16px;border-radius:6px}.success{color:#17603b}.links a{color:#155c9e}input{max-width:100%}.inline{display:inline-block}.teacher-only{margin-top:15px}
.answers-hidden .answer{display:none} .task p{overflow-wrap:anywhere} .ref{line-height:1.55}
@media print{#teacherPanel:not(:has(.teacher-tools)){display:none}body:has(#studentResult) #teacherPanel{display:none}}
