@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#263b43;--muted:#687c7d;--cream:#f7f7f2;--paper:#fffefa;--green:#2e816f;--green-dark:#236c5d;--mint:#e7f4ec;--peach:#fff0df;--lav:#f0ecff;--line:#e5e9df;--shadow:0 18px 45px rgba(49,78,69,.09);font-family:'Nunito','Noto Sans SC',system-ui,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--cream)}button,input,select{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}a{color:inherit}.skip-link{position:absolute;top:-50px;left:12px;padding:10px 14px;background:#fff;border-radius:10px;z-index:20}.skip-link:focus{top:10px}.page-width{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.practice-topbar{height:76px;width:min(1240px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.practice-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;line-height:1.08;font-size:16px;color:#294c46;white-space:nowrap}.practice-brand small{display:block;margin-top:4px;color:#82918a;font-size:10px;letter-spacing:.08em;font-weight:700}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#377f6b;color:#fff}.brand-mark svg{width:100%;height:100%}.practice-nav{display:flex;align-items:center;gap:8px}.practice-nav a{padding:10px 14px;text-decoration:none;font-size:13px;font-weight:800;color:#667b76;border-radius:999px;transition:.2s}.practice-nav a:hover,.practice-nav a.is-current{background:#e5f1e9;color:#2c7665}
.practice-hero{position:relative;isolation:isolate;overflow:hidden;min-height:350px;padding:56px max(24px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:32px;background:linear-gradient(112deg,#e7f4e9 0%,#f4f5e5 55%,#fff1df 100%)}.hero-copy{position:relative;z-index:1;max-width:760px}.hero-kicker,.section-kicker{display:inline-flex;align-items:center;gap:9px;color:#4a8773;font-size:12px;font-weight:900;letter-spacing:.08em}.hero-kicker i{width:8px;height:8px;border-radius:50%;background:#69b593;box-shadow:0 0 0 5px #d8efe2}.practice-hero h1{margin:17px 0 13px;font-size:clamp(34px,4.2vw,53px);line-height:1.23;letter-spacing:-.035em;color:#263c41}.practice-hero h1 em{font-style:normal;color:#347d68}.practice-hero p{max-width:665px;margin:0;color:#667b75;font-size:16px;line-height:1.85}.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero-facts span{padding:9px 13px;border:1px solid rgba(76,128,105,.14);border-radius:999px;background:rgba(255,255,255,.65);color:#667a73;font-size:12px;font-weight:700}.hero-facts b{font-size:15px;color:#347c67;margin-right:3px}.hero-stamp{position:relative;z-index:1;display:grid;place-items:center;align-content:center;flex:0 0 166px;width:166px;height:166px;border:1.5px dashed #77ad93;border-radius:50%;background:rgba(255,255,255,.58);transform:rotate(5deg);color:#3d806a;text-align:center}.hero-stamp span{font-size:23px;color:#f0b751}.hero-stamp b{font-size:17px;margin:4px 0}.hero-stamp small{font-size:12px;line-height:1.55;color:#6d887a}.hero-orbit{position:absolute;z-index:-1;border:1px solid rgba(93,151,119,.14);border-radius:50%}.orbit-one{width:470px;height:470px;right:3%;top:-210px}.orbit-two{width:320px;height:320px;right:8%;top:-140px}.hero-scribble{position:absolute;right:16%;bottom:24px;color:#86a895;font-size:13px;letter-spacing:.12em;transform:rotate(-7deg)}
.topic-map-section{padding:58px 0 52px}.section-heading,.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}.section-heading h2,.workspace-heading h2{margin:7px 0 0;font-size:26px;letter-spacing:-.025em}.section-heading p,.workspace-heading>p{margin:0;color:#71817b;font-size:13px}.topic-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.topic-tile{position:relative;min-height:105px;padding:16px 16px 14px;border:1px solid #e6e9dd;border-radius:18px;background:#fffefa;text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(51,79,70,.035);transition:transform .18s,box-shadow .18s,border-color .18s}.topic-tile:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(51,79,70,.09)}.topic-tile.is-active{border-color:#6aa98c;box-shadow:0 0 0 3px #dcefe2}.topic-tile .tile-symbol{display:inline-grid;place-items:center;width:28px;height:28px;margin-bottom:7px;border-radius:9px;background:#e9f4e9;color:#47816a;font-size:15px}.topic-tile:nth-child(3n+2) .tile-symbol{background:#fff0df;color:#b07b42}.topic-tile:nth-child(3n+3) .tile-symbol{background:#f0edff;color:#7968a8}.topic-tile b{display:block;max-width:100%;font-size:12px;line-height:1.45;color:#3d5350}.topic-tile small{display:block;margin-top:4px;color:#8a9890;font-size:11px}.tile-arrow{position:absolute;right:13px;top:15px;color:#9aab9e;font-size:14px}
.practice-workspace{padding:42px 0 58px;border-top:1px solid #e6e9df}.workspace-heading{align-items:center;margin-bottom:20px}.privacy-note{display:flex;align-items:center;gap:8px;max-width:450px;padding:10px 13px;border-radius:12px;background:#f0efe5;color:#777969!important;font-size:11px!important;line-height:1.55}.privacy-note span{font-size:15px;color:#9b9d78}.workspace-grid{display:grid;grid-template-columns:265px minmax(0,1fr);gap:22px;align-items:start}.filter-panel{padding:21px;border:1px solid #e5e9df;border-radius:20px;background:#fffefa;box-shadow:0 8px 24px rgba(49,78,69,.045)}.filter-panel-heading{display:flex;align-items:center;gap:11px;margin-bottom:21px}.filter-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:#e8f4ec;color:#43846c;font-size:24px;font-weight:700}.filter-panel-heading b{display:block;font-size:15px}.filter-panel-heading small{display:block;margin-top:3px;color:#93a098;font-size:11px}.filter-panel label{display:block;margin:14px 0 6px;color:#657670;font-size:11px;font-weight:900}.filter-panel select,.filter-panel input{width:100%;min-height:42px;padding:9px 10px;border:1px solid #dfe6dc;border-radius:10px;background:#fff;color:#344943;font-size:12px;outline:none}.filter-panel select:focus,.filter-panel input:focus{border-color:#6daf8e;box-shadow:0 0 0 3px #e0f0e4}.filter-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;border:0;border-radius:11px;cursor:pointer;font-size:12px;font-weight:900;transition:transform .15s,background .15s,box-shadow .15s}.button:hover{transform:translateY(-1px)}.button:focus-visible,.topic-tile:focus-visible,.question-list button:focus-visible,.related-links button:focus-visible{outline:3px solid #f0c56c;outline-offset:2px}.button-quiet{background:#f3f3ed;color:#64766e}.button-random{background:#e9f3e7;color:#39765f}.button-random:hover{background:#deeedf}.filter-tip{margin:13px 0 0;color:#9aa49d;font-size:10px;line-height:1.6}.question-column{min-width:0}.result-bar{display:flex;align-items:center;gap:9px;padding:0 4px 12px;color:#88958d;font-size:11px}.result-bar p{margin:0;color:#526c60;font-size:12px;font-weight:900}.result-dot{width:5px;height:5px;border-radius:50%;background:#95c3a7}.question-card{padding:25px 28px 23px;border:1px solid #e5e9df;border-radius:22px;background:#fffefa;box-shadow:var(--shadow)}.question-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.question-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.question-kind,.question-id,.review-badge{display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900}.question-kind{background:#e6f3ea;color:#42816b}.question-kind.kind-test{background:#fff0df;color:#a77538}.question-id{background:#f2f1e9;color:#74817a;font-variant-numeric:tabular-nums}.review-badge{background:#f0f1e9;color:#78856e;text-align:right}.review-badge.badge-note{background:#fff2de;color:#9a713a}.question-source-title{margin-top:20px;color:#71827a;font-size:12px;font-weight:800}.question-card h3{margin:4px 0 13px;font-size:17px;color:#334b46}.question-text{padding:19px 19px;border-radius:15px;background:#f7f8f0;color:#334744;font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.question-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.topic-chip{padding:5px 9px;border-radius:999px;background:#edf3ee;color:#687f72;font-size:10px;line-height:1.35}.source-provenance{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:13px;color:#8a9790;font-size:10px;line-height:1.6}.source-provenance b{color:#63776d;font-weight:800}.try-first{display:flex;gap:11px;align-items:flex-start;margin-top:19px;padding:12px 15px;border:1px dashed #d9e3d8;border-radius:14px;background:#fbfcf7}.try-first-icon{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:9px;background:#eaf4e7;color:#4b8b70}.try-first p{margin:0;color:#819087;font-size:11px;line-height:1.7}.try-first b{color:#55736a;font-size:12px}.question-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px}.button-outline{background:#fff;color:#66796f;border:1px solid #e2e8de}.button-outline:disabled{opacity:.42;cursor:not-allowed;transform:none}.button-reveal{min-width:185px;background:#3c846d;color:#fff;box-shadow:0 7px 16px rgba(60,132,109,.17)}.button-reveal:hover{background:#2f765f}.answer-panel{margin-top:20px;padding:21px;border-radius:17px;background:#f3f7ef;border:1px solid #dfebdc;animation:answer-in .24s ease-out}@keyframes answer-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.answer-panel-heading{display:flex;gap:11px;align-items:center;margin-bottom:15px}.answer-panel-heading>span{font-size:24px}.answer-panel-heading h4{margin:3px 0 0;font-size:17px}.answer-block{margin:11px 0;padding:14px 15px;border-radius:13px;background:#fffefa;border-left:4px solid #a7c8aa}.answer-block.source-answer{border-left-color:#7cae8b}.answer-block.verified-answer{border-left-color:#d5a04f;background:#fffaf0}.answer-block.source-solution{border-left-color:#a89cce}.answer-block h5{margin:0 0 6px;color:#5c7569;font-size:11px}.answer-block.verified-answer h5{color:#94713f}.answer-block p{margin:0;color:#465e54;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.answer-empty{margin:10px 0;padding:12px 14px;border-radius:12px;background:#fff8ea;color:#806d4e;font-size:12px;line-height:1.7}.review-details{margin-top:14px;padding-top:12px;border-top:1px solid #e0e9dd}.review-details summary{cursor:pointer;color:#62816e;font-size:12px;font-weight:900}.review-body{padding:11px 1px 0;color:#68786f;font-size:11px;line-height:1.8}.review-body p{margin:6px 0}.review-body ul{padding-left:19px;margin:6px 0}.review-body li{margin:3px 0}.review-status-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.status-pill{padding:4px 8px;border-radius:999px;background:#e6efe6;color:#637a66;font-size:10px;font-weight:800}.status-pill.is-caution{background:#fff0d9;color:#906d3e}.review-callout{padding:10px 12px;border-radius:11px;background:#fffefa}.review-callout strong{color:#526f5c}.related-box{margin-top:12px;padding-top:11px;border-top:1px solid #e0e9dd}.related-box>b{color:#667c6c;font-size:11px}.related-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.related-links button{padding:7px 10px;border:1px solid #dbe7db;border-radius:999px;background:#fffefa;color:#4d7561;font-size:10px;font-weight:800;cursor:pointer}.related-links button:hover{background:#e8f3e8}.question-index-wrap{margin-top:12px}.question-index{overflow:hidden;border:1px solid #e5e9df;border-radius:16px;background:#fffefa}.question-index summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;cursor:pointer;color:#597368;font-size:12px;font-weight:900;list-style:none}.question-index summary::-webkit-details-marker{display:none}.question-index summary:after{content:'＋';margin-left:auto;color:#8ca18e}.question-index[open] summary:after{content:'−'}.question-index summary b{color:#93a096;font-size:10px}.question-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 13px 14px;max-height:370px;overflow:auto}.question-list button{min-height:51px;padding:8px 10px;border:1px solid #e9ede4;border-radius:10px;background:#fcfcf8;text-align:left;cursor:pointer}.question-list button:hover{border-color:#b9d4be;background:#f4f8ef}.question-list button.is-current{border-color:#6eaa8a;background:#edf5e9}.question-list small{display:block;color:#94a098;font-size:9px}.question-list b{display:block;margin-top:3px;color:#596e65;font-size:10px}.question-list .list-empty{grid-column:1/-1;padding:10px;color:#8b9890;font-size:12px}.source-note{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:56px;border:1px solid #e5e8db;border-radius:17px;background:#f0f3e8}.source-note-icon{font-size:25px}.source-note>div:nth-child(2){flex:1}.source-note b{color:#526e5d;font-size:13px}.source-note p{margin:5px 0 0;color:#7e8a7f;font-size:11px;line-height:1.7}.source-note>a{white-space:nowrap;color:#4d856b;text-decoration:none;font-size:11px;font-weight:900}.source-note>a:hover{text-decoration:underline}.practice-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(24px,calc((100% - 1160px)/2));border-top:1px solid #e4e8dd;background:#f2f3eb;color:#829087;font-size:11px}.practice-footer .brand-mark{font-size:18px}.practice-footer>a:last-child{text-decoration:none;font-weight:800;color:#608371}.no-script{padding:20px;text-align:center;color:#9a613b}
@media(max-width:980px){.topic-map{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-grid{grid-template-columns:235px minmax(0,1fr);gap:15px}.question-card{padding:22px}.question-list{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-hero{padding-inline:32px}.hero-stamp{flex-basis:135px;width:135px;height:135px}}
@media(max-width:700px){.practice-topbar{width:calc(100% - 28px);height:auto;min-height:67px;align-items:flex-start;padding:13px 0;gap:8px}.practice-brand{font-size:14px}.practice-brand .brand-mark{width:34px;height:34px}.practice-nav{gap:1px;justify-content:flex-end;flex-wrap:wrap}.practice-nav a{padding:8px 9px;font-size:10px}.practice-hero{min-height:330px;padding:39px 22px 46px}.practice-hero p{font-size:14px;max-width:88%}.practice-hero h1{font-size:37px}.hero-stamp{position:absolute;right:19px;bottom:20px;width:92px;height:92px;flex-basis:auto;transform:rotate(5deg)}.hero-stamp span{font-size:16px}.hero-stamp b{font-size:12px;margin:1px}.hero-stamp small{font-size:9px}.hero-scribble{right:27%;bottom:31px;font-size:10px}.hero-facts{gap:6px;max-width:78%}.hero-facts span{font-size:10px;padding:7px 9px}.hero-facts b{font-size:12px}.page-width{width:calc(100% - 30px)}.topic-map-section{padding:39px 0 34px}.section-heading,.workspace-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading h2,.workspace-heading h2{font-size:23px}.topic-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topic-tile{min-height:100px;padding:12px;border-radius:15px}.topic-tile b{font-size:11px}.topic-tile small{font-size:10px}.workspace-grid{grid-template-columns:1fr}.filter-panel{padding:17px}.filter-panel-heading{margin-bottom:12px}.filter-panel select,.filter-panel input{min-height:41px}.filter-panel label{margin-top:11px}.filter-actions{grid-template-columns:1fr 1fr}.privacy-note{max-width:none}.question-card{padding:18px 15px;border-radius:18px}.question-card h3{font-size:15px}.question-text{padding:15px;font-size:14px}.question-controls{display:grid;grid-template-columns:1fr 1fr}.button-reveal{grid-column:1/-1;grid-row:1;min-height:46px}.question-controls .button-outline{min-height:40px}.answer-panel{padding:15px}.source-note{align-items:flex-start;padding:15px;margin-bottom:39px}.source-note-icon{font-size:20px}.source-note>a{font-size:10px}.practice-footer{padding:17px 15px;flex-wrap:wrap;font-size:10px}.practice-footer>span{order:3;width:100%}}
@media(max-width:400px){.practice-nav a{padding-inline:6px;font-size:9px}.practice-hero h1{font-size:33px}.hero-stamp{right:12px}.hero-facts{max-width:75%}.question-list{grid-template-columns:1fr}.question-card-top{align-items:flex-start}.review-badge{max-width:125px;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Short orientation before learners enter the question bank. */
.practice-guide{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:15px 18px;border:1px solid #dfe9df;border-radius:15px;background:#edf5ed}.practice-guide>div{min-width:0}.practice-guide b{color:#2b604d;font-size:13px}.practice-guide p{margin:4px 0 0;color:#5f746a;font-size:11px;line-height:1.7}.practice-guide>a{flex:0 0 auto;padding:9px 12px;border-radius:999px;background:#fff;color:#33715e;font-size:10px;font-weight:900;text-decoration:none}.practice-guide>a:hover{background:#e0eee3}.practice-guide>a span{margin-left:6px}@media(max-width:600px){.practice-guide{align-items:flex-start;flex-direction:column;gap:10px;margin-top:9px;padding:13px}.practice-guide b{font-size:12px}.practice-guide p{font-size:10px}.practice-guide>a{font-size:10px}}

/* Shared display style for formulas in all 192 question prompts and answer records. */
.qbank-rich-math{display:block;width:fit-content;max-width:100%;margin:.4em 0;padding:.32em .65em;border-left:4px solid #6f9e82;border-radius:0 9px 9px 0;background:#edf5ec;color:#315846;font-size:clamp(1.02rem,1.7vw,1.2rem);font-weight:900;line-height:1.8;overflow-wrap:anywhere;font-variant-numeric:lining-nums tabular-nums}
.qbank-rich-prose{color:inherit}
.question-text .qbank-rich-math{background:#eef3e8;color:#334b42}
.answer-block p .qbank-rich-math{background:#f3f8f0}
@media(max-width:650px){.question-text .qbank-rich-math,.answer-block p .qbank-rich-math,.review-body .qbank-rich-math{font-size:1.02rem;line-height:1.85;padding:.3em .52em}}
.review-details .qbank-rich-math,.review-details li .qbank-rich-math{font-size:1.02rem;line-height:1.8}


/* Safe, child-readable math notation rendered from allowlisted source forms. */
.qbank-overline{display:inline-block;padding-top:.04em;white-space:nowrap;text-decoration-line:overline;text-decoration-thickness:.09em;text-decoration-skip-ink:none;text-decoration-color:currentColor}
.qbank-fraction{display:inline-grid;grid-template-rows:auto 2px auto;place-items:center;max-width:100%;margin-inline:.12em;padding:.06em .1em;vertical-align:middle;line-height:1.15;white-space:nowrap;font-size:.9em;font-variant-numeric:lining-nums tabular-nums}
.qbank-fraction-part{max-width:100%;padding-inline:.1em;text-align:center;line-height:1.15;white-space:nowrap}
.qbank-fraction-bar{width:100%;min-width:1.25em;border-top:1px solid currentColor}
.qbank-subscript{font-size:.72em;line-height:0;vertical-align:sub}
.qbank-indexed-power>sup{font-size:.76em;line-height:0;vertical-align:super}
.qbank-math-note{display:block;max-width:100%;margin:.3em 0 .1em;padding:.42em .62em;border-left:2px solid #99bca0;border-radius:0 7px 7px 0;background:#f5f8ee;color:#617665;font-size:.76em;font-weight:700;line-height:1.65;overflow-wrap:anywhere}
@media(max-width:400px){.qbank-math-note{padding:.38em .54em;font-size:.71em}.qbank-fraction{margin-inline:.06em}}
