/* Motorcycle knowledge practice tests. Loads after assets/mit/portal.css and reuses its
   hero, cards, buttons, progress bar, and answer options; this file adds the test engine UI. */

/* Design rule from the owner (2026-10-08): never put a thick colored accent border on one side of a card or box
   (no border-left bars). Use an even 1px border all around, a soft fill, or nothing. */

/* shared colors (same greens/reds as the MIT quiz states) */
.pt-body{--pt-ok:#1B7A50;--pt-ok-bg:#EAF7F0;--pt-ok-line:#22A06B;--pt-no:#C0392B;--pt-no-bg:#FCECEC;--pt-no-line:#D64545;--pt-flag:#B7791F;--pt-flag-bg:#FFF6E0}
.pt-body--test .final-cta{display:none}           /* keep the test page focused */
.pt-panel{background:#fff;border:1px solid var(--wmst-line);border-radius:14px;box-shadow:0 1px 2px rgba(16,42,67,.05)}
.pt-label{font:700 .72rem/1 var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:.07em;color:var(--wmst-text-soft);padding:0;margin:0 0 .7rem}
.pt-side__title{display:flex;align-items:center;gap:.5rem;font:700 1rem/1.2 var(--font-display,sans-serif);color:var(--wmst-blue-deep);margin:0 0 .9rem}
.pt-view{padding-bottom:3.5rem}
.pt-app .mit-crumbs{padding-bottom:1rem}
.pt-app :focus-visible{outline:2px solid var(--focus,#4A90E2);outline-offset:2px}
.pt-app legend:focus{outline:none}

/* ---------- hub ---------- */
.pt-group__lede{margin:-.5rem 0 1.1rem;color:var(--wmst-text);font-size:.95rem;max-width:70ch}
/* card meta: each item stays on one line; items wrap as whole units */
.pt-tcard .mit-card__meta{flex-wrap:wrap;gap:.4rem 1.1rem}
.pt-tcard .mit-card__meta span{white-space:nowrap}
.pt-tcard__kicker{font:700 .7rem/1 var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:.07em;color:var(--wmst-blue);margin:0 0 .55rem}
.pt-tcard__stats{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid #EDF1F5;font-size:.82rem;color:var(--wmst-text-soft)}
.pt-tcard__stats b{font:700 .95rem/1 var(--font-display,sans-serif);color:var(--wmst-black);margin-right:.25rem;font-variant-numeric:tabular-nums}
.pt-tcard .mit-card__foot{justify-content:space-between}
.pt-tcard__cta{font:600 .85rem/1 var(--font-display,sans-serif);color:var(--wmst-blue)}
.pt-tcard .mit-card__go{position:static;opacity:1;transform:none}
.pt-tcard:hover .mit-card__go{transform:translateX(3px)}
.pt-disclaimer{display:flex;gap:.8rem;align-items:flex-start;margin-top:2.4rem;padding:1rem 1.2rem;background:var(--wmst-blue-soft);border:1px solid #CFE2F2;border-radius:12px;color:var(--wmst-blue-deep);font-size:.9rem;line-height:1.55}
.pt-disclaimer p{margin:0;max-width:none}
.pt-disclaimer .mit-ic{width:1.2rem;height:1.2rem;margin-top:.1rem}
.pt-disclaimer a{color:inherit;font-weight:600}

/* link to the study guide (hub banner and the Washington test's intro) */
.pt-guide{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.3rem;margin-bottom:2rem;text-decoration:none;color:inherit;border-color:#CFE2F2;background:linear-gradient(180deg,#F5FAFE,#fff);transition:border-color .16s,box-shadow .2s,transform .2s}
.pt-guide:hover{border-color:var(--wmst-blue);box-shadow:0 10px 24px rgba(16,42,67,.1);transform:translateY(-2px)}
.pt-guide__ic{flex:0 0 2.8rem;height:2.8rem;border-radius:12px;display:grid;place-items:center;background:var(--wmst-blue);color:#fff}
.pt-guide__ic .mit-ic{width:1.3rem;height:1.3rem}
.pt-guide__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
.pt-guide__txt b{font:700 1.05rem/1.3 var(--font-display,sans-serif);color:var(--wmst-black)}
.pt-guide__txt span{font-size:.9rem;line-height:1.5;color:var(--wmst-text)}
.pt-guide__go{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;font:600 .9rem/1 var(--font-display,sans-serif);color:var(--wmst-blue)}
.pt-guide--sm{margin:0;padding:.9rem 1rem}
.pt-guide--sm>.mit-ic{color:var(--wmst-blue);flex:0 0 auto}
.pt-guide--sm .pt-guide__ic{flex-basis:2.3rem;height:2.3rem;border-radius:10px}
.pt-guide--sm .pt-guide__txt b{font-size:.95rem}
.pt-guide--sm .pt-guide__txt span{font-size:.84rem}
@media (max-width:640px){.pt-guide{flex-wrap:wrap}.pt-guide__go{width:100%;padding-left:3.8rem}}

/* ---------- intro ---------- */
.pt-intro{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}
/* no results yet: the side column is empty, so center the main column instead */
.pt-intro:has(.pt-history[hidden]){grid-template-columns:minmax(0,800px);justify-content:center}
.pt-intro:has(.pt-history[hidden]) .pt-intro__side{display:none}
.pt-intro__col{display:flex;flex-direction:column;gap:1rem;min-width:0}
.pt-side__note p{max-width:none}
.pt-side__note{padding:1rem 1.3rem}
.pt-intro__main{padding:clamp(1.4rem,3vw,2.4rem)}
.pt-intro__logo{display:block;width:150px;height:auto;margin:0 0 1.1rem}
.pt-intro__main .mit-lesson__step{margin-top:0}
.pt-intro__main .mit-lesson__title{margin-bottom:.7rem}
.pt-intro__lede{font-size:1.02rem;line-height:1.6;color:#3B4148;margin:0 0 1.5rem;max-width:62ch;text-wrap:pretty}
.pt-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 1.8rem}
.pt-facts>div{background:#F7FAFC;border:1px solid #E4EBF2;border-radius:10px;padding:.8rem .95rem}
.pt-facts dt{display:flex;align-items:center;gap:.4rem;font:700 .7rem/1 var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:.06em;color:var(--wmst-text-soft);margin-bottom:.45rem}
.pt-facts dd{white-space:nowrap;margin:0;font:700 .98rem/1.3 var(--font-display,sans-serif);color:var(--wmst-black)}
.pt-setup{display:flex;flex-direction:column;gap:1.4rem}
.pt-setup fieldset{border:0;margin:0;padding:0;min-width:0}
.pt-modes{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.pt-modes legend{grid-column:1/-1}
.pt-mode{position:relative;display:flex;gap:.7rem;align-items:flex-start;padding:1rem 1.05rem;border:1.5px solid var(--wmst-line);border-radius:10px;cursor:pointer;background:#fff;transition:border-color .14s,background-color .14s,box-shadow .14s}
.pt-mode:hover{border-color:#9CC4E6}
.pt-mode input{position:absolute;opacity:0;width:0;height:0}
.pt-mode input:checked+.mit-opt__box{border-color:var(--wmst-blue);background:var(--wmst-blue)}
.pt-mode input:checked+.mit-opt__box::after{content:"";width:.42rem;height:.42rem;border-radius:50%;background:#fff}
.pt-mode:has(input:checked){border-color:var(--wmst-blue);background:#F3F8FC;box-shadow:0 0 0 3px rgba(0,103,176,.10)}
.pt-mode:has(input:focus-visible){outline:2px solid var(--focus,#4A90E2);outline-offset:2px}
.pt-mode__txt{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem;line-height:1.45;color:var(--wmst-text)}
.pt-mode__txt strong{font:700 .98rem/1.2 var(--font-display,sans-serif);color:var(--wmst-black)}
.pt-start{width:auto;align-self:flex-start;padding:.95em 1.6em;font-size:1rem}
.pt-resume{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.15rem;margin:0 0 1.6rem;background:var(--pt-flag-bg);border:1px solid #F1D99A;border-radius:10px}
.pt-resume__title{font:700 .98rem/1.2 var(--font-display,sans-serif);color:var(--wmst-black);margin:0 0 .25rem}
.pt-resume__meta{margin:0;font-size:.86rem;color:#6B5A2A;font-variant-numeric:tabular-nums}
.pt-resume__btns{display:flex;gap:.5rem;flex-wrap:wrap}
.pt-resume__btns .mit-btn{width:auto;padding:.7em 1.1em}
.pt-intro__side{display:flex;flex-direction:column;gap:1rem}
.pt-intro__side>.pt-panel{padding:1.2rem 1.3rem}
.pt-intro__side{position:sticky;top:5rem}
.pt-history__nums{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.9rem}
.pt-history__nums div{display:flex;flex-direction:column;gap:.3rem;background:#F7FAFC;border:1px solid #E4EBF2;border-radius:9px;padding:.6rem .65rem}
.pt-history__nums b{font:800 1.2rem/1 var(--font-display,sans-serif);color:var(--wmst-black);font-variant-numeric:tabular-nums}
.pt-history__nums span{font-size:.72rem;color:var(--wmst-text-soft);font-weight:600}
.pt-history__list{list-style:none;margin:0;padding:0;font-size:.84rem}
.pt-history__list li{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.45rem 0;border-top:1px solid #EDF1F5}
.pt-history__date{color:var(--wmst-text-soft);font-variant-numeric:tabular-nums;min-width:3.4rem}
.pt-history__mode{color:var(--wmst-text)}
.pt-history__pct{font-weight:700;font-variant-numeric:tabular-nums}
.pt-history__pct.is-pass{color:var(--pt-ok)}.pt-history__pct.is-fail{color:var(--pt-no)}
.pt-side__note p{margin:0;font-size:.84rem;line-height:1.55;color:var(--wmst-text-soft)}
.pt-side__note a{color:var(--wmst-blue)}

/* ---------- runner ---------- */
.pt-run{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.5rem;align-items:start}
.pt-status{margin-bottom:1rem}
.pt-status__row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.pt-status__title{font:700 1.05rem/1.2 var(--font-display,sans-serif);color:var(--wmst-blue-deep)}
.pt-chip{font:700 .68rem/1 var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:.06em;padding:.38em .6em;border-radius:5px;background:#E3F5EC;color:var(--pt-ok)}
.pt-chip.is-exam{background:var(--wmst-blue-soft);color:var(--wmst-blue-deep)}
.pt-status__timer{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font:600 .9rem/1 var(--font-display,sans-serif);color:var(--wmst-text-soft);font-variant-numeric:tabular-nums}
.pt-status__bar{margin:.75rem 0 .55rem;height:8px}
.pt-status__row--meta{justify-content:space-between;font-size:.84rem;color:var(--wmst-text-soft);font-weight:600;font-variant-numeric:tabular-nums}
.pt-tally--ok{color:var(--pt-ok)}.pt-tally--no{color:var(--pt-no)}

.pt-q{padding:clamp(1.3rem,3vw,2.2rem);scroll-margin-top:5rem}
.pt-q__set{border:0;margin:0;padding:0;min-width:0}
.pt-q__text,.pt-rv .mit-q__text{text-wrap:pretty}
.pt-q__text{font-size:clamp(1.08rem,1.9vw,1.25rem);line-height:1.45;margin:0 0 1.2rem;padding:0;float:none;width:100%}
.pt-q__text .mit-q__n{flex:0 0 2rem;height:2rem;font-size:.85rem;margin-top:-.1rem}
/* road-sign pictures */
.pt-q__fig{margin:-.2rem 0 1.3rem 2.6rem;display:inline-grid;place-items:center;padding:1rem 1.4rem;background:#F7FAFC;border:1px solid #E4EBF2;border-radius:12px}
.pt-q__fig img,.pt-rv__fig img{display:block;width:auto;height:auto;max-width:100%;max-height:150px;object-fit:contain}
.pt-rv__fig{margin:-.2rem 0 .8rem var(--rv-in);display:inline-grid;padding:.6rem .9rem;background:#F7FAFC;border:1px solid #E4EBF2;border-radius:10px}
.pt-rv__fig img{max-height:90px}
.pt-q__opts{display:flex;flex-direction:column;gap:.55rem}
.pt-opt{align-items:center;gap:.8rem;margin:0;padding:.85rem 1rem;border-radius:10px;font-size:1rem;flex-wrap:wrap}
.pt-opt .mit-opt__box{margin-top:0}
.pt-opt .mit-opt__txt{flex:1 1 12rem}
.pt-opt__key{flex:0 0 auto;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:6px;background:#EEF2F6;color:var(--wmst-text);font:700 .78rem/1 var(--font-display,sans-serif)}
.pt-opt:has(input:checked:not(:disabled)) .pt-opt__key{background:var(--wmst-blue);color:#fff}
.pt-opt:has(input:checked:not(:disabled)){border-color:var(--wmst-blue);background:#F3F8FC}
.pt-opt:has(input:focus-visible){outline:2px solid var(--focus,#4A90E2);outline-offset:2px}
.pt-opt:has(input:disabled){cursor:default}
.pt-opt.is-correct,.pt-opt.is-missed{background:var(--pt-ok-bg);border-color:var(--pt-ok-line)}
.pt-opt.is-correct .pt-opt__key,.pt-opt.is-missed .pt-opt__key{background:var(--pt-ok-line);color:#fff}
.pt-opt.is-wrong{background:var(--pt-no-bg);border-color:var(--pt-no-line)}
.pt-opt.is-wrong .pt-opt__key{background:var(--pt-no-line);color:#fff}
.pt-opt.is-correct input:checked+.mit-opt__box{border-color:var(--pt-ok-line);background:var(--pt-ok-line)}
.pt-opt.is-wrong input:checked+.mit-opt__box{border-color:var(--pt-no-line);background:var(--pt-no-line)}
.pt-opt__tag{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;font:700 .72rem/1 var(--font-display,sans-serif);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.pt-opt__tag--ok{color:var(--pt-ok)}.pt-opt__tag--no{color:var(--pt-no)}
.pt-fb{margin-top:1.1rem;padding:1rem 1.15rem;border-radius:10px;border:1px solid;animation:ptIn .2s var(--ease,ease)}
.pt-fb.is-ok{background:var(--pt-ok-bg);border-color:#BFE5D0}
.pt-fb.is-no{background:#FFF7F6;border-color:#F3C7C2}
.pt-fb__head{display:flex;align-items:center;gap:.45rem;margin:0;font:700 1rem/1.3 var(--font-display,sans-serif)}
.pt-fb.is-ok .pt-fb__head{color:var(--pt-ok)}.pt-fb.is-no .pt-fb__head{color:var(--pt-no)}
.pt-fb__why{max-width:none;margin:.5rem 0 0;color:#3B4148;line-height:1.55;font-size:.95rem;display:flex;gap:.45rem;align-items:baseline}
.pt-fb__why .mit-ic{flex:0 0 auto;align-self:center;color:var(--wmst-text-soft)}
.pt-fb__why a{color:var(--wmst-blue)}
@keyframes ptIn{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
.pt-q__foot{display:flex;align-items:center;gap:.6rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid #EDF1F5}
.pt-q__foot .mit-btn{width:auto}
.pt-q__foot [data-prev]:disabled{opacity:.4;cursor:default}
.pt-q__next{margin-left:auto;min-width:10.5rem}
.pt-q__next:disabled{opacity:.45;cursor:not-allowed}
.pt-flag{display:inline-flex;align-items:center;gap:.4rem;padding:.7em .9em;border:1.5px solid transparent;border-radius:6px;background:transparent;color:var(--wmst-text-soft);font:600 .9rem/1 var(--font-display,sans-serif);cursor:pointer;transition:background-color .14s,color .14s,border-color .14s}
.pt-flag:hover{background:#F4F6F8;color:var(--wmst-text)}
.pt-flag.is-on{background:var(--pt-flag-bg);border-color:#F1D99A;color:var(--pt-flag)}
.pt-flag.is-on .mit-ic{fill:currentColor}

.pt-nav{padding:1.2rem 1.2rem 1.1rem;position:sticky;top:4.5rem}
.pt-nav__head{display:flex;justify-content:space-between;align-items:center}
.pt-nav__head .pt-side__title{margin:0}
.pt-nav__toggle{display:none;border:0;background:none;color:var(--wmst-blue);font:600 .85rem/1 var(--font-display,sans-serif);cursor:pointer;padding:.4rem}
.pt-nav__body{margin-top:.9rem}
.pt-nav__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(2.35rem,1fr));gap:.35rem}
.pt-cell{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border:1.5px solid #D5DDE5;border-radius:7px;background:#fff;color:var(--wmst-text);font:600 .8rem/1 var(--font-display,sans-serif);cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color .12s,background-color .12s,scale .12s}
.pt-cell:hover{border-color:var(--wmst-blue)}
.pt-cell:active{scale:.94}
.pt-cell.is-answered{background:var(--wmst-blue-soft);border-color:#9CC4E6;color:var(--wmst-blue-deep)}
.pt-cell.is-right{background:var(--pt-ok-bg);border-color:#8FD1AE;color:var(--pt-ok)}
.pt-cell.is-wrong{background:var(--pt-no-bg);border-color:#EFA8A0;color:var(--pt-no)}
.pt-cell.is-current{border-color:var(--wmst-blue);box-shadow:0 0 0 2px var(--wmst-blue);color:var(--wmst-blue-deep);font-weight:800}
.pt-cell.is-flagged::after{content:"";position:absolute;top:-4px;right:-4px;width:9px;height:9px;border-radius:50%;background:#E0A21B;border:2px solid #fff}
.pt-legend{list-style:none;margin:.9rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem;font-size:.76rem;color:var(--wmst-text-soft)}
.pt-legend li{display:flex;align-items:center;gap:.45rem}
.pt-cell--mini{width:.95rem;height:.95rem;aspect-ratio:auto;border-radius:4px;cursor:default;flex:0 0 auto}
.pt-cell--mini.is-current{box-shadow:0 0 0 1px var(--wmst-blue)}
.pt-cell--mini.is-flagged::after{top:-3px;right:-3px;width:7px;height:7px;border-width:1.5px}
.pt-nav__finish{margin-top:1.1rem}
.pt-nav__quit{display:block;width:100%;margin-top:.4rem;padding:.6rem;border:0;background:none;color:var(--wmst-text-soft);font:600 .85rem/1 var(--font-display,sans-serif);cursor:pointer;border-radius:6px}
.pt-nav__quit:hover{color:var(--wmst-text);background:#F4F6F8}

/* ---------- dialog ---------- */
.pt-dialog__body{padding:1.5rem 1.5rem 1.3rem}
.pt-dialog__body h2{font:700 1.2rem/1.25 var(--font-display,sans-serif);color:var(--wmst-black);margin:0 0 .6rem}
.pt-dialog__body p{margin:0 0 1.3rem;color:var(--wmst-text);line-height:1.55;font-size:.95rem}
.pt-dialog__body b{color:var(--wmst-black)}
.pt-dialog__btns{display:flex;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
.pt-dialog__btns .mit-btn{width:auto}

/* ---------- report a problem with a question ---------- */
.pt-report-btn[aria-disabled="true"],.pt-rv__report[aria-disabled="true"]{cursor:default}
.pt-report-btn[aria-disabled="true"]:hover,.pt-rv__report[aria-disabled="true"]:hover{background:transparent;color:var(--wmst-text-soft)}
.pt-rep{width:min(480px,92vw)}
.pt-dialog__body .pt-rep__q{margin:0 0 1.1rem;padding:.6rem .85rem;background:#F7FAFC;border:1px solid #E4EBF2;border-radius:8px;font-size:.92rem;font-weight:600;color:var(--wmst-black)}
.pt-rep__set{border:0;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.4rem;min-width:0}
.pt-rep__opt{display:flex;align-items:center;gap:.65rem;padding:.6rem .8rem;border:1.5px solid var(--wmst-line);border-radius:8px;cursor:pointer;font-size:.93rem;line-height:1.35;color:var(--wmst-text);transition:border-color .14s,background-color .14s}
.pt-rep__opt:hover{border-color:#9CC4E6}
.pt-rep__opt input{flex:0 0 auto;width:1.05rem;height:1.05rem;margin:0;accent-color:var(--wmst-blue)}
.pt-rep__opt:has(input:checked){border-color:var(--wmst-blue);background:#F3F8FC}
.pt-rep__field{display:flex;flex-direction:column;gap:.35rem;margin:0 0 .9rem;font:600 .88rem/1.3 var(--font-display,sans-serif);color:var(--wmst-black)}
.pt-rep__field em{font-style:normal;font-weight:400;color:var(--wmst-text-soft)}
.pt-rep__field textarea,.pt-rep__field input{box-sizing:border-box;width:100%;padding:.6rem .75rem;border:1.5px solid var(--wmst-line);border-radius:8px;background:#fff;color:var(--wmst-text);font:400 .95rem/1.45 var(--font-sans,sans-serif);resize:vertical}
.pt-rep__field textarea:focus,.pt-rep__field input:focus{outline:none;border-color:var(--wmst-blue);box-shadow:0 0 0 3px rgba(0,103,176,.12)}
.pt-rep__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.pt-dialog__body .pt-rep__err{margin:0 0 1rem;padding:.6rem .8rem;border-radius:8px;background:var(--pt-no-bg);color:var(--pt-no);font-size:.9rem}
.pt-rv__foot{margin:.65rem 0 0 var(--rv-in)}
.pt-rv__report{display:inline-flex;align-items:center;gap:.35rem;margin-left:-.5rem;padding:.4rem .5rem;border:0;border-radius:6px;background:none;color:var(--wmst-text-soft);font:600 .82rem/1 var(--font-display,sans-serif);cursor:pointer}
.pt-rv__report:hover{background:#F4F6F8;color:var(--wmst-text)}

/* ---------- results ----------
   The score card: the number beside the verdict, a meter with the pass mark, the counts, then what to do next.
   Kept quiet on purpose: one card, plain type, color only where it carries meaning (owner, 2026-10-26). */
.pt-score{padding:clamp(1.5rem,3.5vw,2.6rem);margin-bottom:1.25rem}
.pt-score__top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.4rem,4vw,3rem);align-items:start}
.pt-score__num{display:flex;flex-direction:column;gap:.45rem;min-width:8rem;margin:0}
.pt-score__num b{font:800 clamp(3rem,7vw,4.2rem)/.9 var(--font-display,sans-serif);letter-spacing:-.02em;color:var(--wmst-black);font-variant-numeric:tabular-nums}
.pt-score__num small{margin-left:.04em;font-size:.48em;font-weight:700;color:var(--wmst-text-soft)}
.is-pass .pt-score__num b{color:var(--pt-ok)}
.pt-score__num span{font-size:.9rem;color:var(--wmst-text-soft);font-variant-numeric:tabular-nums}
.pt-score__eyebrow{max-width:none;margin:0 0 .4rem;font:600 .82rem/1.35 var(--font-display,sans-serif);color:var(--wmst-text-soft)}
.pt-score__title{margin:0 0 .5rem;font:800 clamp(1.6rem,3.2vw,2.05rem)/1.15 var(--font-display,sans-serif);color:var(--wmst-black)}
.pt-score__title:focus{outline:none}
.pt-score__lede{max-width:60ch;margin:0;font-size:1rem;line-height:1.6;color:#3B4148;text-wrap:pretty}
.pt-meter{margin-top:1.9rem}
.pt-meter__bar{position:relative;height:8px;border-radius:99px;background:#E8EDF2}
.pt-meter__bar i{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--wmst-blue)}
.is-pass .pt-meter__bar i{background:var(--pt-ok-line)}
.pt-meter__bar b{position:absolute;top:-5px;bottom:-5px;width:2px;margin-left:-1px;border-radius:2px;background:var(--wmst-black)}
.pt-meter__label{position:relative;height:1.2rem;max-width:none;margin:.5rem 0 0;font-size:.78rem;color:var(--wmst-text-soft);font-variant-numeric:tabular-nums}
.pt-meter__label span{position:absolute;top:0;translate:-50% 0;white-space:nowrap}
.pt-score__stats{display:flex;flex-wrap:wrap;gap:.8rem 2.6rem;margin:1.5rem 0 0;padding-top:1.4rem;border-top:1px solid #EDF1F5}
.pt-score__stats div{display:flex;flex-direction:column;gap:.3rem}
.pt-score__stats dt{font-size:.8rem;color:var(--wmst-text-soft)}
.pt-score__stats dd{margin:0;font:700 1.2rem/1 var(--font-display,sans-serif);color:var(--wmst-black);font-variant-numeric:tabular-nums}
.pt-score__btns{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.6rem}
.pt-score__btns .mit-btn{width:auto}
.pt-score__link{padding:.55rem .5rem;font:600 .92rem/1 var(--font-display,sans-serif);color:var(--wmst-blue);text-decoration:none}
.pt-score__link:hover{text-decoration:underline}

/* review: every question, with your answer and the correct one */
.pt-review{padding:clamp(1.3rem,3vw,2.2rem)}
.pt-review__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.pt-review__title{margin:0;font:700 1.15rem/1.2 var(--font-display,sans-serif);color:var(--wmst-black)}
.pt-tabs{display:inline-flex;gap:2px;padding:3px;background:#EEF2F6;border-radius:9px}
.pt-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.48rem .85rem;border:0;border-radius:7px;background:transparent;font:600 .85rem/1 var(--font-display,sans-serif);color:var(--wmst-text);cursor:pointer;transition:background-color .14s,color .14s}
.pt-tab:hover:not(:disabled){color:var(--wmst-black)}
.pt-tab[aria-selected="true"]{background:#fff;color:var(--wmst-black);box-shadow:0 1px 2px rgba(16,42,67,.14)}
.pt-tab:disabled{opacity:.45;cursor:default}
.pt-tab__n{font-weight:500;color:var(--wmst-text-soft);font-variant-numeric:tabular-nums}
.pt-review__list{--rv-in:2rem;list-style:none;margin:0;padding:0}
.pt-rv{padding:1.5rem 0;border-top:1px solid #EDF1F5}
.pt-rv:first-child{border-top:0}
.pt-rv__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem}
.pt-rv__q{display:flex;max-width:none;margin:0;font-weight:600;line-height:1.5;color:var(--wmst-black);text-wrap:pretty}
.pt-rv__n{flex:0 0 var(--rv-in);font-weight:600;color:var(--wmst-text-soft);font-variant-numeric:tabular-nums}
.pt-rv__status{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:600;white-space:nowrap;color:var(--wmst-text-soft)}
.pt-rv__status::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor}
.pt-rv.is-ok .pt-rv__status{color:var(--pt-ok)}
.pt-rv.is-no .pt-rv__status{color:var(--pt-no)}
.pt-rv__opts{list-style:none;margin:0 0 0 var(--rv-in);padding:0;display:flex;flex-direction:column;gap:2px}
.pt-rv__opt{display:flex;align-items:baseline;gap:.75rem;padding:.55rem .75rem;border-radius:8px;font-size:.95rem;line-height:1.45;color:var(--wmst-text)}
.pt-rv__opt>span:not(.pt-rv__key){flex:1 1 0;min-width:0}
.pt-rv__key{flex:0 0 1rem;font:600 .82rem/1 var(--font-display,sans-serif);color:var(--wmst-text-soft)}
.pt-rv__opt em{margin-left:auto;padding-left:1rem;font-size:.8rem;font-style:normal;font-weight:600;white-space:nowrap}
.pt-rv__opt.is-correct{background:var(--pt-ok-bg);color:var(--wmst-black)}
.pt-rv__opt.is-correct .pt-rv__key,.pt-rv__opt.is-correct em{color:var(--pt-ok)}
.pt-rv__opt.is-wrong{background:var(--pt-no-bg);color:var(--wmst-black)}
.pt-rv__opt.is-wrong .pt-rv__key,.pt-rv__opt.is-wrong em{color:var(--pt-no)}
.pt-rv__why{max-width:none;margin:.8rem 0 0 var(--rv-in);font-size:.93rem;line-height:1.55;color:#3B4148}
.pt-rv__why b{color:var(--wmst-black)}
.pt-rv__why--ref{display:flex;gap:.45rem;align-items:center}
.pt-rv__why--ref .mit-ic{flex:0 0 auto;color:var(--wmst-text-soft)}
.pt-rv__why a{color:var(--wmst-blue)}

/* the law or manual source behind an answer (review, and study-mode feedback) */
.pt-law{margin-top:.85rem;padding:.9rem 1.05rem;background:#F5F7F9;border-radius:10px;font-size:.92rem;line-height:1.55;color:#3B4148}
.pt-rv .pt-law{margin-left:var(--rv-in)}
.pt-fb .pt-law{background:rgba(255,255,255,.75)}
.pt-law__head{display:flex;gap:.45rem;align-items:center;max-width:none;margin:0;font-size:.86rem;color:var(--wmst-text-soft)}
.pt-law__head .mit-ic{flex:0 0 auto;width:1rem;height:1rem}
.pt-law__head b{font-weight:600;color:var(--wmst-black)}
.pt-law__quote{max-width:none;margin:.5rem 0 0;padding:0;border:0;background:none;font-style:italic;color:#3B4148}
.pt-law__note{max-width:none;margin:.5rem 0 0;color:#3B4148}
.pt-law__link{display:inline-flex;align-items:center;gap:.3rem;margin-top:.55rem;font-size:.86rem;font-weight:600;color:var(--wmst-blue);text-decoration:none}
.pt-law__link:hover{text-decoration:underline}
.pt-law__link .mit-ic{width:.9em;height:.9em}
.pt-rv__empty{padding:1.5rem 0;color:var(--wmst-text-soft);text-align:center}
.pt-noscript{padding:1.2rem 1.4rem;margin:1rem auto;max-width:1120px}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .pt-intro{grid-template-columns:1fr}
  .pt-intro__side{position:static}
}
@media(max-width:900px){
  .pt-run{grid-template-columns:1fr}
  .pt-nav{position:static;order:-1;padding:.9rem 1rem}
  .pt-nav__toggle{display:inline-block}
  .pt-nav:not(.is-open) .pt-nav__body{display:none}
  .pt-nav__grid{grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr))}
  .pt-nav__finish,.pt-nav__quit{display:none}
  .pt-nav.is-open .pt-nav__finish,.pt-nav.is-open .pt-nav__quit{display:block}
  .pt-nav.is-open .pt-nav__finish{display:inline-flex}
}
@media(max-width:640px){
  .pt-facts{grid-template-columns:1fr}
  .pt-modes{grid-template-columns:1fr}
  .pt-start{width:100%;align-self:stretch}
  .pt-q__foot{flex-wrap:wrap}
  .pt-q__next{order:-1;width:100%;margin-left:0}
  .pt-q__foot [data-prev]{flex:1}
  .pt-score__top{grid-template-columns:1fr;gap:1rem}
  .pt-score__num{flex-direction:row;align-items:baseline;gap:.75rem}
  .pt-score__stats{gap:.8rem 1.8rem}
  .pt-score__btns .mit-btn{width:100%}
  .pt-score__link{width:100%;text-align:center}
  .pt-review__list{--rv-in:1.6rem}
  .pt-rv__opts,.pt-rv__why,.pt-rv__fig,.pt-rv .pt-law,.pt-rv__foot{margin-left:0}
  .pt-report-btn{flex-basis:100%;justify-content:center}
  .pt-q__fig{margin-left:0;display:grid}
  .pt-rv__head{flex-direction:column;gap:.4rem}
  .pt-rv__status{padding-left:var(--rv-in)}
  .pt-rv__opt{flex-wrap:wrap;row-gap:.2rem}
  .pt-rv__opt em{flex-basis:100%;margin-left:1.75rem;padding-left:0}
  .pt-opt__tag{margin-left:2.4rem}
}
@media (prefers-reduced-motion:reduce){
  .pt-fb{animation:none}
}
