:root{--maroon:#782b1b;--maroon-dark:#542015;--maroon-soft:#fbf1ee;--gold:#fec81e;--ink:#242733;--muted:#586372;--border:#e3e6ea;--paper:#fff;--bg:#faf8f3;--shadow:0 4px 22px rgba(19,32,55,.055);--radius:17px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;line-height:1.48}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}input,select{border:1px solid #cbd1d9;border-radius:9px;background:white;color:var(--ink);padding:11px 12px;width:100%;min-height:44px}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}input[aria-invalid="true"],select[aria-invalid="true"]{border-color:#b22b32}.site-header{background:linear-gradient(125deg,var(--maroon-dark) 0%,var(--maroon) 70%,#91422e 100%);color:white;border-bottom:5px solid var(--gold)}.header-inner{max-width:1300px;margin:0 auto;min-height:162px;padding:31px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-row{display:flex;align-items:center;gap:20px}.brand-icon{border:1px solid rgba(255,255,255,.35);border-radius:16px;width:65px;height:65px;flex:0 0 auto;display:grid;place-items:center;color:white}.brand-icon svg{width:45px;height:45px}.eyebrow,.section-kicker,.stat-label{font-size:.7rem;letter-spacing:.14em;font-weight:800}.eyebrow{color:var(--gold)}.site-header h1{font-size:clamp(1.45rem,3vw,2.4rem);letter-spacing:-.035em;margin:3px 0 2px;line-height:1.12}.site-header p{color:#f9e9e8;margin:7px 0 0;font-size:.96rem}.header-pill{white-space:nowrap;border:1px solid rgba(255,255,255,.3);padding:7px 13px;border-radius:50px;font-size:.78rem;color:#fff4e0}.header-pill span{color:#bce7c5}.page-shell{max-width:1300px;margin:28px auto 44px;padding:0 24px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.start-panel{display:grid;grid-template-columns:1.15fr .8fr;gap:40px;padding:clamp(25px,4vw,46px);align-items:center;max-width:1120px;margin:30px auto}.section-kicker{color:var(--maroon);display:block}.intro-copy h2{font-size:clamp(1.6rem,2.6vw,2.25rem);margin:11px 0 12px;line-height:1.15;letter-spacing:-.025em}.intro-copy p{color:var(--muted);font-size:1.04rem;max-width:650px}.intro-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.intro-chips span{background:#f7f0eb;border:1px solid #f0e0d8;padding:7px 12px;border-radius:40px;color:#653b34;font-size:.82rem;font-weight:650}.start-form{padding:20px 0}.start-form label,.conditional-fields label,.settings-card label{font-size:.87rem;font-weight:750;display:block;margin-bottom:7px}.required{color:#bd182b}.field-help{font-size:.77rem;color:var(--muted);margin:7px 0 14px}.button{border-radius:9px;padding:11px 16px;border:1px solid transparent;min-height:43px;font-weight:740;transition:background .12s,border-color .12s,transform .12s}.button:active:not(:disabled){transform:translateY(1px)}.button-primary{background:var(--maroon);color:#fff}.button-primary:hover:not(:disabled){background:var(--maroon-dark)}.button-secondary{background:#fff8df;border-color:#e8cb73;color:var(--maroon-dark)}.button-secondary:hover:not(:disabled){background:#ffefb3}.button-quiet{background:white;border-color:#cfd4dd;color:#3f4856}.button-quiet:hover:not(:disabled){background:#f0f3f7}.button-full{width:100%}.session-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.session-bar h2{font-size:1.25rem;margin:5px 0}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat-card{background:var(--paper);padding:19px 20px 18px;border-radius:13px;border:1px solid var(--border);border-top:4px solid var(--gold);box-shadow:var(--shadow);display:flex;flex-direction:column}.stat-label{color:#555e6d}.stat-card strong{font-size:2.3rem;line-height:1.15;font-variant-numeric:tabular-nums;margin:8px 0 3px;letter-spacing:-.06em}.stat-foot{font-size:.78rem;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(320px,.95fr);gap:19px;align-items:start}.graph-card{padding:20px 20px 17px}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.card-heading h2{margin:6px 0 0;font-size:1.25rem;line-height:1.25;letter-spacing:-.025em}.problem-number{white-space:nowrap;border-radius:40px;background:#f7f3e9;color:#614723;padding:6px 10px;font-size:.76rem;font-weight:750}.legend{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:21px 0 8px;font-weight:690;font-size:.83rem}.legend>span{display:flex;align-items:center;gap:7px}.legend-line{width:21px;height:4px;border-radius:6px;display:inline-block}.legend-black{background:#141820}.legend-red{background:#d62839}.graph-frame{border-radius:11px;border:1px solid #dce1e5;overflow:hidden;background:#fff}.graph-frame svg{width:100%;height:auto;display:block;touch-action:pan-y}.graph-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:14px 2px 0}.graph-footer p{color:var(--muted);font-size:.82rem;max-width:440px;margin:0}.graph-footer strong{color:var(--ink)}.toggle-label{white-space:nowrap;display:flex;align-items:center;gap:7px;font-size:.79rem;font-weight:700;cursor:pointer}.toggle-label input{width:17px;height:17px;min-height:17px;accent-color:var(--maroon)}.control-stack{display:flex;flex-direction:column;gap:17px}.answer-card,.settings-card,.score-card{padding:20px}.answer-card .card-heading{margin-bottom:17px}.transform-picks{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.transform-choice{border:1.5px solid #d5d9df;background:#fff;border-radius:11px;padding:12px 6px 10px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;cursor:pointer;font-size:.74rem;font-weight:730;min-width:0}.transform-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:1px}.transform-choice:has(input:checked){background:var(--maroon-soft);border-color:var(--maroon);color:var(--maroon)}.transform-choice:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.choice-mark{font-size:1.6rem;line-height:1.3;font-weight:400}.selection-prompt{background:#f6f7f9;border-radius:8px;padding:12px;color:var(--muted);font-size:.82rem;margin:14px 0 0}.conditional-fields{margin-top:16px}.conditional-fields[hidden]{display:none}.field-instruction{font-size:.88rem;font-weight:650;margin:0 0 13px}.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-pair>div{min-width:0}.field-pair .field-help{display:block;margin:5px 0 0}.answer-actions{display:grid;gap:9px;margin-top:17px}.text-action{border:0;background:none;color:var(--maroon);text-decoration:underline;text-underline-offset:2px;display:block;margin:13px auto 0;font-size:.8rem;font-weight:700}.text-action:disabled{color:#6c7179;text-decoration:none}.feedback{padding:12px 13px;border-radius:9px;margin-top:15px;font-size:.88rem;line-height:1.45}.feedback.good{color:#175b33;background:#e9f6ee;border:1px solid #b6dcc6}.feedback.bad{color:#814624;background:#fff4e7;border:1px solid #f2d4aa}.feedback.info{color:#1a516d;background:#ecf5fc;border:1px solid #c0ddeb}.feedback strong{display:block;margin-bottom:3px}.feedback p{margin:2px 0}.compact-heading{margin-bottom:13px}.compact-heading h2{font-size:1.12rem}.settings-card .field-help{margin-bottom:0}.score-table{border-collapse:collapse;width:100%;font-size:.82rem}.score-table th,.score-table td{padding:10px 5px;border-bottom:1px solid var(--border)}.score-table thead th{color:#57606d;font-size:.73rem;font-weight:700}.score-table tbody th{text-align:left;font-weight:630}.score-table tr:last-child th,.score-table tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.score-note{border-top:1px solid var(--border);padding-top:11px;margin-bottom:0}.report-status{font-size:.78rem;color:#425c50;margin:10px 0 0;min-height:1em}.page-footer{text-align:center;color:#7b838d;padding:10px 18px 34px;font-size:.75rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:980px){.workspace{grid-template-columns:minmax(0,1fr)}.control-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.answer-card{grid-row:span 2}.graph-footer p{max-width:none}}@media(max-width:640px){.header-inner{padding:25px 18px;min-height:0}.brand-icon{height:51px;width:51px}.brand-icon svg{height:36px;width:36px}.brand-row{gap:12px}.header-pill{display:none}.site-header p{font-size:.84rem}.page-shell{margin:17px auto;padding:0 13px}.start-panel{grid-template-columns:1fr;gap:7px;padding:22px}.session-bar{align-items:flex-start;flex-direction:column}.session-actions .button{font-size:.81rem}.stats-grid{gap:7px}.stat-card{padding:12px 10px}.stat-label{font-size:.59rem;letter-spacing:.06em}.stat-card strong{font-size:1.75rem}.stat-foot{font-size:.68rem}.graph-card,.answer-card,.settings-card,.score-card{padding:14px}.graph-heading{align-items:center}.graph-heading h2{font-size:1.05rem}.problem-number{font-size:.68rem}.graph-footer{flex-direction:column;align-items:flex-start;gap:12px}.control-stack{display:flex}.transform-choice{font-size:.72rem;padding:8px 3px}.score-table{font-size:.79rem}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

.coordinates-panel{margin-top:12px;border:1px solid #dce1e5;border-radius:9px;background:#f8f9fb;padding:12px 15px;font-size:.82rem}.coordinates-panel strong{display:block;margin-bottom:6px}.coord-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.coord-col{display:flex;flex-direction:column;gap:3px}.coord-col span{font-variant-numeric:tabular-nums}.coord-black{color:#20242a}.coord-red{color:#be2234}

/* Dashed, unfilled guesses leave both reference triangles visible on a match. */
.legend-green{height:0;border-top:3px dashed #16803c;background:none;border-radius:0}
.coord-green{color:#126b33}

.translation-icon{width:1em;height:1em;vertical-align:-.12em}

.step-summary{padding:12px;border:1px solid #b6dcc6;border-radius:9px;background:#e9f6ee;color:#175b33;font-size:.85rem;overflow-wrap:anywhere}
#resetFirstBtn{margin-top:12px}
#modeLabel{max-width:145px;text-align:right;margin-bottom:0}

#progressCapture{background:#fff;color:var(--ink);overflow-wrap:anywhere}
.progress-identity{display:flex;flex-direction:column;gap:5px;margin:0 0 14px;font-size:.85rem}
.progress-identity strong{font-size:1.05rem;overflow-wrap:anywhere}
.progress-identity span{color:var(--muted);font-size:.78rem}
.score-table tfoot th{text-align:left}
.score-table tfoot th,.score-table tfoot td{font-weight:800;border-top:2px solid var(--border);border-bottom:0}
.progress-actions{border-top:1px solid var(--border);padding-top:15px;margin-top:15px}
.progress-actions .field-help{margin-bottom:0}
.progress-preview{margin:14px 0 0}
.progress-preview img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:8px}
.progress-preview figcaption{font-size:.78rem;color:var(--muted);margin-top:8px}
.session-bar>div{min-width:0;max-width:100%}
.session-bar h2{overflow-wrap:anywhere}
#downloadProgressBtn{margin-top:9px}

/* Salisbury-inspired maroon, gold and white; preserve the supplied logo artwork. */
.page-footer{background:#fff;border-top:4px solid var(--gold);padding:24px;color:var(--muted)}
.footer-inner{max-width:920px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:36px}
.university-link{display:block;flex:0 0 200px;line-height:0;border-radius:6px}
.university-link img{display:block;width:200px;max-width:100%;height:auto}
.university-link:focus-visible,.author-credit a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.footer-copy{text-align:left;max-width:440px;font-size:.85rem;line-height:1.65}
.footer-copy p{margin:8px 0}
.footer-title{font-size:1.15rem;font-weight:800;color:var(--maroon)}
.author-credit{color:var(--ink);font-size:.95rem}
.author-credit a{color:var(--maroon);font-weight:750;text-underline-offset:3px}
.author-credit a:hover{color:var(--maroon-dark)}
@media(max-width:640px){.footer-inner{flex-direction:column;gap:8px}.university-link{flex-basis:auto}.university-link img{width:180px}.footer-copy{text-align:center}}
