.tp-start{margin:8px 0 12px}.tp-start select{width:100%;flex:1 1 220px;min-width:0;max-width:100%}.tp-label{font-weight:600}
fieldset.q{border:0;margin:0 0 12px}fieldset.q legend{float:left;width:100%;margin-bottom:8px}
.opts--stack{flex-direction:column;align-items:stretch}.opts--stack label{border-radius:10px;justify-content:flex-start}
.tp-progress{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:18px;margin-top:28px}
.tp-progress h2{margin:0 0 6px;font-size:22px}.tp-progress h3{font-size:15px;margin:16px 0 6px}
.tp-progress ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.tp-progress li{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;border-bottom:1px solid var(--rule);padding:6px 0;font-size:14px}
.tp-progress li span{color:var(--slate)}.tp-progress .is-passed span,.tp-master.is-passed{color:var(--deep);font-weight:600}
.tp-master{font-weight:600}
.tp-cert{background:var(--navy);color:var(--ivory);border-radius:12px;padding:18px;margin-top:20px;display:grid;gap:10px}
.tp-cert h2{margin:0;font-size:20px}.tp-cert .t{font-weight:600}.tp-cert input{max-width:420px}
.tp-cert button{background:var(--saffron);color:var(--navy)}.tp-cert-note{margin:0;color:var(--sand)}
.tp-ask{padding:6px 14px;font-size:13px}
/* one question at a time */
#test{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:20px;margin-top:16px}
.tq-head h2{margin:0;font-size:22px}.tq-meta{margin:4px 0 0;color:var(--slate);font-size:14px}
.tq-dots{list-style:none;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:6px}
.tq-dots button{min-width:36px;height:36px;padding:0 10px;border-radius:999px;background:var(--ivory);color:var(--navy);border:1px solid var(--rule);font-size:14px}
.tq-dots button.is-done{background:var(--sand);border-color:var(--saffron)}
.tq-dots button.is-here{background:var(--navy);color:var(--ivory);border-color:var(--navy)}
fieldset.tq{border:0;margin:0;padding:0;min-width:0}
.tq-q{padding:0;margin:0 0 14px;display:block;width:100%}
.tq-num{display:block;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--deep);margin-bottom:6px}
.tq-text{display:block;font-size:19px;font-weight:600;line-height:1.4}
.tq-opts{display:grid;gap:10px}
.tq-opt{display:grid;grid-template-columns:20px 28px 1fr;align-items:start;column-gap:10px;text-align:left;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--ivory);cursor:pointer;line-height:1.45}
.tq-opt input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--deep)}
.tq-letter{font-weight:700;color:var(--deep)}
.tq-optext{min-width:0}
.tq-opt:has(input:checked){border-color:var(--saffron);background:var(--sand);box-shadow:inset 3px 0 0 var(--saffron)}
.tq-opt:has(input:focus-visible){outline:3px solid var(--saffron);outline-offset:2px}
.tq-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.tq-nav button:disabled{opacity:.45;cursor:not-allowed}
.tq-rev-h{margin:6px 0 0;font-size:18px}
.tq-review{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
.tq-rev{width:100%;display:grid;grid-template-columns:28px 1fr;column-gap:10px;row-gap:2px;text-align:left;background:var(--ivory);color:var(--navy);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;font-weight:400}
.tq-rev-num{grid-row:span 2;font-weight:700;color:var(--deep)}
.tq-rev-q{font-size:14px}.tq-rev-a{font-size:14px;font-weight:600}
.tq-rev.is-missing{border-color:var(--ember)}.tq-rev.is-missing .tq-rev-a{color:var(--deep)}
