:root{font-family:Arial,Helvetica,sans-serif;color:#15253d;background:#edf2f7;font-size:16px;line-height:1.55;--navy:#101f36;--blue:#244cb1;--gold:#d0a65c;--line:#d9e2ee;--muted:#53647b;--green:#146346;--red:#a32c37}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid #bac8db;border-radius:7px;background:white;color:var(--navy);padding:.65rem 1rem;font-weight:600}button:hover:not(:disabled){background:#eaf0fc;border-color:var(--blue)}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a27622;outline-offset:3px}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover:not(:disabled){background:#173b91;color:white}.danger{color:var(--red)}.small{font-size:.875rem}.muted{color:var(--muted)}h1,h2,h3,p{margin:0 0 1rem}h1{font-size:1.7rem;line-height:1.22;letter-spacing:-.025em}h2{font-size:1.25rem;line-height:1.45}h3{font-size:1rem}button .muted{font-weight:normal}.shell{display:grid;grid-template-columns:284px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#f5f7fc;padding:2rem 1.4rem;display:flex;flex-direction:column;gap:1.25rem}.brand{border-bottom:1px solid #35435a;padding-bottom:1.5rem}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:#ad7c2c}.sidebar .eyebrow{color:#e5bd7a}.brand h1{font-size:1.4rem;margin:.55rem 0}.sidebar .muted{color:#b8c5d8}.sidebar button{background:transparent;color:#e9effa;border-color:#4b5970}.sidebar button:hover:not(:disabled){background:#253851;border-color:#b8c5d8}.side-actions{display:grid;gap:.6rem;margin-top:auto}.main{padding:1.8rem 3rem 2.5rem;max-width:1240px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.badge{font-size:.875rem;background:#e5ecf9;color:#264c90;border-radius:4px;padding:.25rem .6rem;font-weight:700}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:2rem;box-shadow:0 5px 20px #172b4810}.welcome{max-width:780px;margin:2rem auto}.welcome h1{font-size:2.3rem;max-width:570px;margin:1rem 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.25rem 0}.stat{border-top:2px solid var(--line);padding-top:.7rem}.stat strong{display:block;font-size:1.8rem;line-height:1.2;font-variant-numeric:tabular-nums}.stat span{font-size:.875rem;color:var(--muted)}.sidebar .stat span{color:#b8c5d8}.sidebar .stats{grid-template-columns:1fr 1fr;margin:0}.sidebar .stat{border-color:#44526a}.sidebar .stat strong{font-size:1.45rem}.progress{width:100%;height:8px;accent-color:var(--blue);display:block}.sidebar .progress{accent-color:var(--gold)}.question-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.question-number{font-size:.9rem;color:var(--muted);font-weight:600}.question-title{white-space:pre-line;font-size:1.2rem;line-height:1.65;margin-bottom:1.6rem}.choices{display:grid;gap:.75rem;border:0;padding:0;margin:0}.choice{position:relative;display:flex;align-items:flex-start;gap:.9rem;border:1px solid #c4d0df;border-radius:8px;padding:1rem;cursor:pointer;background:white;line-height:1.5}.choice:hover{border-color:var(--blue);background:#f5f8ff}.choice input{margin:.3rem 0 0;width:18px;height:18px;flex-shrink:0;accent-color:var(--blue)}.choice .letter{font-weight:700;color:#51657f;flex-shrink:0}.choice.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#f2f6ff}.choice.locked{cursor:default}.choice.correct{background:#ecf8f2;border-color:#4b9175}.choice.wrong{background:#fff0f1;border-color:#b26067}.choice-status{display:block;font-size:.875rem;font-weight:700;margin-top:.25rem}.feedback{padding:1.1rem 1.2rem;background:#edf8f2;border-left:4px solid var(--green);margin-top:1.25rem;border-radius:4px}.feedback.incorrect{background:#fff1f2;border-left-color:var(--red)}.feedback h3{color:var(--green);font-size:1.125rem;margin-bottom:.35rem}.feedback.incorrect h3{color:var(--red)}.feedback p:last-child{margin:0}.actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;margin-top:1.25rem}.spread{justify-content:space-between}.navgrid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.4rem}.navgrid button{min-height:40px;padding:.25rem;font-size:.875rem;position:relative;font-variant-numeric:tabular-nums}.navgrid button.answered{background:#dfeafc;border-color:#416db3;color:#173d79}.navgrid button.current{outline:3px solid var(--gold);outline-offset:1px}.navgrid button.marked:after{content:'★';color:#87580b;position:absolute;top:-5px;right:-1px;font-size:.8rem;background:#fff3d6;border-radius:50%;line-height:1}.navigator{margin-top:1.25rem}.navigator summary{cursor:pointer;padding:.75rem 0;font-weight:700}.legend{font-size:.875rem;color:var(--muted);margin:.6rem 0 1rem}.source{background:#f5f8fc;border:1px solid var(--line);border-radius:8px;margin-top:1rem;padding:1.25rem;overflow-wrap:anywhere}.source dl{margin:0 0 1rem;display:grid;grid-template-columns:100px 1fr;gap:.3rem .5rem;font-size:.875rem}.source dt{font-weight:700}.source dd{margin:0}.source blockquote{margin:.7rem 0;padding:0;line-height:1.75;white-space:pre-wrap;font-family:Georgia,serif;font-size:1.125rem}mark{background:#ffe39b;color:#24291c;padding:0 .1rem}.source img{display:block;width:100%;height:auto;margin-top:1rem;border:1px solid var(--line)}.test-sentence{border-left:3px solid var(--gold);padding:.8rem 1rem;background:#f8f9fc;font-size:1.2rem;font-family:Georgia,serif}.notice{background:#fff7e6;border:1px solid #e7cea0;padding:1rem;border-radius:6px;margin:1rem 0;font-size:.9rem}.notice p:last-child{margin:0}.saved{font-size:.875rem;color:var(--muted)}.sidebar .saved{color:#b8c5d8}.result-list{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.result-list button{min-width:44px;padding:.45rem .6rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.7rem;border-bottom:1px solid var(--line)}th{background:#f4f7fc}td:last-child,th:last-child{text-align:right}.table-wrap{overflow-x:auto}.result-card{margin-bottom:1.5rem}dialog{border:1px solid var(--line);border-radius:12px;max-width:540px;width:calc(100% - 2rem);padding:1.7rem;color:var(--navy);box-shadow:0 20px 80px #0004}dialog::backdrop{background:#0b1829aa}.hidden{display:none!important}footer{margin-top:1.5rem;color:var(--muted);font-size:.875rem}a{color:var(--blue)}.screenreader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.flag.active{background:#fff2d6;border-color:#bd8d37}.separator{border:0;border-top:1px solid var(--line);margin:1.6rem 0}.intro-actions{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.intro-actions .primary{grid-column:1/-1}.source-note{font-size:.875rem;margin-top:1rem;color:var(--muted)}
@media(min-width:1600px){.main{max-width:1320px}}@media(max-width:1000px){.shell{grid-template-columns:230px minmax(0,1fr)}.main{padding:1.5rem}.sidebar{padding:1.5rem 1rem}.card{padding:1.5rem}}@media(max-width:760px){.shell{display:block}.sidebar{padding:1rem 1.2rem;gap:.6rem}.brand{padding:0;border:0}.brand h1{font-size:1.2rem;margin:.25rem 0}.brand .small,.side-actions{display:none}.sidebar .stats{display:flex;gap:2rem}.sidebar .stat{border:0;padding:0}.sidebar .stat strong{font-size:1.2rem}.sidebar .saved{margin:0}.main{padding:1.1rem}.card{padding:1.2rem}.topbar{margin-bottom:.8rem}.welcome{margin:.5rem auto}.welcome h1{font-size:1.8rem}.stats{gap:.6rem}.stat strong{font-size:1.5rem}.question-title{font-size:1.125rem}.navgrid{grid-template-columns:repeat(5,minmax(0,1fr))}.question-meta{align-items:flex-start}.source{padding:1rem}.source dl{display:block}.source dd{margin-bottom:.5rem}.intro-actions{grid-template-columns:1fr}.actions.spread>*{flex:1}.actions.spread button{padding:.6rem}.mobile-tools{display:flex;gap:.5rem;flex-wrap:wrap}}@media(min-width:761px){.mobile-tools{display:none}}
/* Account and owner dashboard surfaces share the original navy/gold exam theme. */
.auth-wrap{max-width:620px;margin:5vh auto;padding:20px}.auth-wrap h1{font-size:2rem}.form-stack{display:grid;gap:16px}.form-stack label{display:grid;gap:7px;font-weight:600}.form-stack input{font:inherit;width:100%;padding:12px;border:1px solid #9ba9b9;border-radius:8px;background:#fff;color:#101f36;box-sizing:border-box}.form-stack input:focus{outline:3px solid #d0a65c;outline-offset:2px}.alert{padding:14px;border:1px solid #c05845;background:#fff1ed;color:#6f271d;border-radius:8px;margin:12px 0;overflow-wrap:anywhere}.success{border-color:#247060;background:#ebf8f3;color:#134c3c}.account-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 24px;background:#101f36;color:white}.account-nav strong{margin-right:auto}.account-nav button{background:#fff;color:#101f36;min-height:42px}.dashboard{max-width:1300px;margin:auto;padding:24px;display:grid;gap:20px}.dashboard .card{margin:0}.dashboard td{vertical-align:top}.dashboard .actions button{font-size:.9rem}.dashboard h1{font-size:2rem}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.token-output{width:100%;font:inherit;padding:12px;box-sizing:border-box;border:1px solid #9ba9b9;border-radius:6px}.compact-table{min-width:560px}.compact-table td,.compact-table th{padding:12px;text-align:left;border-bottom:1px solid #dce2e9}.meta-line{display:flex;gap:18px;flex-wrap:wrap}.account-disclosure{font-size:.9rem;color:#526171}.review-banner{background:#fff4db;padding:12px;border-radius:8px}.details-list{overflow-wrap:anywhere}.admin-badge{background:#d0a65c;color:#101f36;border-radius:5px;padding:4px 8px}.source img{max-width:100%;height:auto}.empty{padding:20px;color:#526171}.small-input{max-width:450px}.button-link{display:inline-block;padding:12px 16px;border-radius:8px;background:#101f36;color:white;text-decoration:none}.status-inline{min-height:1.4em}button:disabled{cursor:wait}footer{overflow-wrap:anywhere}@media(max-width:760px){.two-cols{grid-template-columns:1fr}.dashboard{padding:12px}.account-nav{padding:12px}.account-nav strong{flex-basis:100%}.auth-wrap{margin:12px auto;padding:12px}.card{padding:18px}.dashboard h1{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
