.ctf{color:#142a3c;background:#edf2f4;min-height:100vh;font:17px/1.6 system-ui,sans-serif}.ctf header{color:#fff;background:#142a3c;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:18px max(20px,50% - 560px);display:flex}.ctf header a{color:#bcedcc}.ctf .wrap{max-width:1120px;margin:auto;padding:24px}.ctf h1{margin:10px 0 20px;font-size:2rem;font-weight:800;line-height:1.2}.ctf h2{margin:8px 0 16px;font-size:1.5rem;font-weight:750}.ctf h3{font-size:1.2rem;font-weight:700}.ctf p{margin:12px 0}.ctf .card{background:#fff;border:1px solid #c7d5dc;border-radius:14px;margin:18px 0;padding:24px}.ctf .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;display:grid}.ctf button,.ctf .button{color:#142a3c;cursor:pointer;background:#fff;border:1px solid #507081;border-radius:8px;padding:12px 18px;font-weight:700;text-decoration:none;display:inline-block}.ctf button:hover,.ctf .button:hover{background:#e4f1eb}.ctf button:disabled{opacity:.5;cursor:default}.ctf .show{color:#142a3c;background:#ffda69;border:2px solid #967000;font-size:1.2rem}.ctf .primary{color:#fff;background:#165d4d}.ctf textarea,.ctf input[type=number]{color:#142a3c;background:#fff;border:1px solid #728a98;border-radius:8px;width:100%;margin:8px 0;padding:12px;display:block}.ctf textarea{min-height:130px}.ctf label{margin:12px 0;display:block}.ctf .savebox{background:#e3f2eb;border-left:6px solid #23765b;padding:18px}.ctf .muted{color:#476070;font-size:.95rem}.ctf .pill{background:#e8edf1;border-radius:30px;padding:4px 12px;font-weight:650;display:inline-block}.ctf progress{accent-color:#23765b;width:100%;height:20px}.ctf .report{z-index:100;overscroll-behavior:contain;background:#f4f7f9;padding:24px;position:fixed;inset:0;overflow:auto}.ctf .report>div{max-width:1050px;margin:auto}.ctf .metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.ctf .metrics div{background:#fff;border:1px solid #b1c6ce;border-radius:12px;padding:20px}.ctf .metrics strong{font-size:2rem;display:block}.ctf .answer{white-space:pre-wrap;overflow-wrap:anywhere}.ctf fieldset{border:1px solid #c5d4dc;border-radius:10px;margin:18px 0;padding:18px}.ctf legend{font-weight:750}.ctf .feedback{background:#e7f1ec;padding:12px}.ctf :focus-visible{outline-offset:3px;outline:3px solid #ad6500}.ctf table{border-collapse:collapse;width:100%}.ctf td,.ctf th{text-align:left;border-bottom:1px solid #b1c6ce;padding:10px}@media print{.ctf button,.ctf header{display:none}.ctf .report{position:static}.ctf .card{break-inside:avoid}}
