*{box-sizing:border-box}body{margin:0}button,input{font:inherit}[hidden]{display:none!important}#app{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.test-header,.header-title,.header-tools,.question-status,.test-footer,.footer-right{display:flex}.test-header,.question-status,.test-footer{align-items:center;justify-content:space-between}.header-title{align-items:center}.header-tools{align-items:stretch}.header-button{border:0;color:#fff}.screen{min-height:calc(100dvh - 123px)}.start-screen,.result-screen,.transition-screen{display:grid;place-items:center}.instruction-card,.score-card{background:#fff}.start-actions,.footer-right{display:flex;gap:10px}.primary-button,.footer-button,.secondary-button{min-height:40px;padding:8px 20px}.question-shell{margin:auto}.question-status>div{display:flex;align-items:center;gap:10px}.question-content{font:1.08rem/1.6 Georgia,serif}.passage-card{max-width:980px;margin:0 0 28px;padding:22px;border:1px solid #aaa;background:#fbfbfb}.question-stem{max-width:980px}.blank-token{display:inline-block;min-width:7.2em;height:1em;margin:0 .18em;border-bottom:2px solid currentColor;vertical-align:-.08em}.choices{display:grid;gap:8px;max-width:900px;margin-top:22px}.choice{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;min-height:42px;padding:8px 10px;cursor:pointer}.choice input{position:absolute;width:1px;height:1px;opacity:0}.choice-key{width:25px;height:25px;display:grid;place-items:center;border:1.5px solid #333;background:#fff;font:700 .78rem Arial,sans-serif}.choice input:checked+.choice-key{color:#fff;background:#353231;box-shadow:inset 0 0 0 2px #fff}.transition-screen{background:#b9b9b9}.transition-screen .instruction-card{width:min(760px,100%)}.fraction-entry{display:grid;grid-template-columns:150px;gap:4px;width:150px}.fraction-entry span{height:2px;background:#222}.fraction-entry input{width:150px;padding:10px;text-align:center}.blank-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.blank-group{border:1px solid #aaa;padding:12px}.blank-group h3{font:700 .8rem Arial,sans-serif}.qc-context{text-align:center}.quantity-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0}.quantity-box{text-align:center;border-top:2px solid #222;padding:15px}.quantity-box strong{display:block;margin-bottom:12px;text-decoration:underline}.numeric-entry{display:flex;align-items:center;gap:10px;margin-top:25px}.numeric-entry input{width:180px;padding:12px}.score-display{margin:24px 0}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.test-footer{display:flex}.footer-left,.footer-right{display:flex}.footer-button:disabled{opacity:.45}
.result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px}.secondary-button{border:1px solid #5b6573;background:#fff;color:#242a31;font-weight:700;cursor:pointer}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed}.review-screen{background:#f0f2f4;padding:28px 20px 48px}.review-shell{width:min(1100px,100%);margin:0 auto;background:#fff;border:1px solid #b8bdc3;padding:26px 32px;box-shadow:0 8px 28px rgba(28,35,44,.08)}.review-heading,.review-nav{display:flex;align-items:center;justify-content:space-between;gap:18px}.review-heading h1{margin:.15rem 0 0}.review-progress{margin:16px 0 20px;padding:8px 12px;background:#313944;color:#fff;font:700 .82rem Arial,sans-serif;letter-spacing:.03em}.review-question{font:1.08rem/1.6 Georgia,serif}.review-question .choice{cursor:default}.review-question .choice.review-correct{border:2px solid #1767b2;background:#edf6ff}.review-question .choice.review-correct .choice-key{color:#fff;background:#1767b2;border-color:#1767b2;box-shadow:none}.review-question .choice.review-incorrect{border:2px solid #b8413a;background:#fff2f1}.review-question .choice.review-incorrect .choice-key{color:#fff;background:#b8413a;border-color:#b8413a;box-shadow:none}.review-question .review-entry input{background:#f3f5f7;color:#222;opacity:1}.review-explanation{margin-top:28px;border-top:1px solid #c8cdd2;padding-top:24px;font:1rem/1.65 Arial,sans-serif}.answer-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.answer-comparison>div{padding:15px;border:1px solid #c2c8cf;background:#f8f9fa}.answer-comparison span{display:block;margin-bottom:6px;color:#5a6470;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.answer-comparison strong{display:block;line-height:1.45}.review-translation,.review-vocabulary,.review-rationale{margin-top:18px;padding:18px 20px;background:#f5f7f9;border-left:4px solid #1767b2}.review-explanation h3{margin:0 0 8px;font-size:.94rem}.review-explanation p{margin:0}.review-vocabulary dl{margin:0}.review-vocabulary dl>div{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:16px;padding:7px 0;border-top:1px solid #d9dde1}.review-vocabulary dl>div:first-child{border-top:0}.review-vocabulary dt{font-weight:700}.review-vocabulary dd{margin:0}.review-nav{justify-content:flex-end;margin-top:24px}
.mode-chooser{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;border:0;padding:0}.mode-chooser legend{grid-column:1/-1;margin-bottom:4px;font:700 .82rem Arial,sans-serif;color:#46505c}.mode-option{position:relative;display:block;cursor:pointer}.mode-option input{position:absolute;opacity:0;pointer-events:none}.mode-option span{display:flex;min-height:86px;flex-direction:column;justify-content:center;gap:6px;padding:16px 18px;border:2px solid #b9c0c8;border-radius:8px;background:#f8f9fa}.mode-option strong{font:700 1rem Arial,sans-serif}.mode-option small{color:#58636f;line-height:1.4}.mode-option input:checked+span{border-color:#1767b2;background:#edf6ff;box-shadow:0 0 0 1px #1767b2}.study-button{margin-left:8px}.study-explanation{margin-top:28px;border-top:2px solid #1767b2;padding-top:24px;font:1rem/1.65 Arial,sans-serif}.question-content .choice.review-correct{border:2px solid #1767b2;background:#edf6ff}.question-content .choice.review-correct .choice-key{color:#fff;background:#1767b2;border-color:#1767b2;box-shadow:none}.question-content .choice.review-incorrect{border:2px solid #b8413a;background:#fff2f1}.question-content .choice.review-incorrect .choice-key{color:#fff;background:#b8413a;border-color:#b8413a;box-shadow:none}
.choice-meaning{display:none;grid-column:2 / -1;min-width:0;width:100%;margin:0;padding:2px 0 0;color:#5b6573;font:500 .9rem/1.35 Arial,sans-serif;text-align:left;white-space:normal;overflow-wrap:break-word}.review-question .choice-meaning,.question-content.answers-revealed .choice-meaning{display:block}
@media(max-width:640px){.quantity-grid{grid-template-columns:1fr}.blank-groups{grid-template-columns:1fr}.question-status>div{align-items:flex-start;flex-direction:column}.review-screen{padding:12px 8px 28px}.review-shell{padding:18px 14px}.review-heading{align-items:flex-start;flex-direction:column}.answer-comparison{grid-template-columns:1fr}.review-vocabulary dl>div{grid-template-columns:1fr;gap:2px}.mode-chooser{grid-template-columns:1fr}.study-button{margin-left:4px;padding-inline:10px}}

/* Quant tables, charts, and diagrams retained from the source practice sets. */
.data-block{max-width:920px;margin:0 auto 34px;padding:22px;border:1px solid #9da6ae;background:#fafbfc;font-size:1rem}.data-title{margin:0 0 18px;font-weight:700;text-align:center;letter-spacing:.02em}.data-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:end}.data-table{width:100%;border-collapse:collapse;font-family:Georgia,serif}.data-table th,.data-table td{padding:7px 10px;border:1px solid #2e353b;text-align:center}.data-table th{background:#eef1f3}.data-note{margin:10px 0 0;text-align:center;font-size:.9rem}.compact-data{max-width:690px}.bird-data{max-width:820px}.bird-data .data-table td:first-child{text-align:left;font-weight:700}.table-scroll{overflow-x:auto}.coordinate-plane{width:min(560px,100%);margin:0 auto 32px;padding:10px 18px;border:1px solid #9da6ae;background:#fafbfc}.coordinate-plane svg{display:block;width:100%;height:auto}.normal-figure{width:min(790px,100%);margin:0 auto 30px;padding:12px 18px 4px;border:1px solid #9da6ae;background:#fafbfc}.normal-figure svg{display:block;width:100%;height:auto}.geometry-figure{width:min(620px,100%);margin:0 auto 26px;padding:8px 16px;border:1px solid #9da6ae;background:#fafbfc}.geometry-figure svg{display:block;width:100%;height:auto}.triangle-figure{width:min(470px,100%)}
.internet-visuals{display:grid;grid-template-columns:.8fr 1.4fr;gap:30px;align-items:center}.pie-panel,.europe-panel{min-width:0}.pie-chart{width:min(260px,85vw);aspect-ratio:1;margin:12px auto 0;position:relative;border:2px solid #303840;border-radius:50%;background:conic-gradient(#73869b 0 51%,#a4b1be 51% 80%,#e0e5ea 80% 85%,#c6d0d9 85% 100%)}.pie-chart::after{content:"";position:absolute;inset:46%;border-radius:50%;background:#303840}.pie-label{position:absolute;z-index:1;padding:2px 4px;background:rgba(255,255,255,.84);font-family:Arial,sans-serif;font-size:.76rem;text-align:center}.pie-us{right:5%;top:45%}.pie-europe{left:5%;bottom:23%}.pie-japan{left:7%;top:24%}.pie-rest{left:37%;top:6%}
.bar-chart{height:260px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 34px;gap:0 8px;font-family:Arial,sans-serif}.internet-bars{height:290px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 48px;gap:0 8px;font-family:Arial,sans-serif}.y-label{grid-row:1;writing-mode:vertical-rl;transform:rotate(180deg);display:grid;place-items:center;font-size:.8rem}.plot{grid-column:2;position:relative;display:flex;align-items:end;justify-content:space-around;padding:0 12px;border-left:2px solid #333;border-bottom:2px solid #333;background:repeating-linear-gradient(to top,transparent 0,transparent calc(16.666% - 1px),#ccd2d7 calc(16.666% - 1px),#ccd2d7 16.666%)}.bar-wrap{width:19%;height:100%;display:flex;align-items:end;justify-content:center;position:relative}.bar{width:70%;background:#8995a0;border:1px solid #30383f}.bar-wrap span{position:absolute;bottom:-29px;font-size:.78rem}.x-label{grid-column:2;padding-top:26px;text-align:center;font-size:.8rem}.internet-bars .plot{padding-inline:4px}.internet-bars .bar-wrap{width:13%}.internet-bars .bar-wrap span{bottom:-47px;transform:rotate(-34deg);transform-origin:center;white-space:nowrap;font-size:.68rem}.y-ticks{position:absolute;inset:-8px auto -7px -28px;display:flex;flex-direction:column;justify-content:space-between;align-items:end;width:20px;color:#30383f;font-size:.7rem;line-height:1}
@media(max-width:720px){.data-layout,.internet-visuals{grid-template-columns:1fr}.data-block{padding:12px;overflow-x:auto}}
