:root{--black:#030303;--red:#d71920;--yellow:#f5c400;--white:#f4f4f4}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif}a{color:inherit}
.topbar{min-height:82px;border-bottom:1px solid #181818;display:flex;align-items:center;justify-content:center;padding:14px 170px;position:relative}.logo{color:var(--red);text-decoration:none;font-weight:900;font-size:clamp(2rem,5vw,4rem);letter-spacing:-.05em}.corner{position:absolute;width:118px;height:145px;object-fit:cover;object-position:50% 20%;border-radius:10px;top:10px;left:18px}.profile{position:absolute;right:18px;top:8px;width:126px;z-index:20;text-align:center}.profile img{width:118px;height:145px;object-fit:cover;object-position:50% 20%;border-radius:10px;display:block;margin-left:auto}.menu-toggle{margin-top:5px;width:118px;min-height:32px;border:1px solid var(--yellow);background:#050505;color:var(--yellow);border-radius:7px;font-weight:900;cursor:pointer}.dropdown{display:none;position:absolute;top:184px;right:0;width:220px;padding:8px;background:#050505;border:1px solid var(--yellow);border-radius:10px;text-align:left}.dropdown.open{display:block}.dropdown a{display:block;text-decoration:none;color:var(--yellow);padding:10px 11px;border-radius:7px;font-weight:800}.dropdown a:hover{background:#191300}
.main{width:min(960px,calc(100% - 36px));margin:0 auto;padding:42px 0 34px}.page-title{color:var(--yellow);text-align:center;font-size:clamp(1.9rem,5vw,3rem);margin:0 0 12px}.topic-description{max-width:790px;margin:0 auto 24px;text-align:center;color:#c5c5c5;line-height:1.5}.back{display:inline-block;margin-bottom:18px;color:var(--yellow);text-decoration:none;font-weight:800;font-size:.88rem}.unit-nav{max-width:790px;margin:0 auto 24px;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.unit-nav label{color:var(--yellow);font-weight:800}.unit-select{min-width:350px;max-width:100%;background:#070707;color:var(--yellow);border:1px solid var(--red);border-radius:7px;padding:9px 11px;font-weight:700}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:790px;margin:0 auto}.card{min-height:82px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;padding:13px;border:1px solid var(--red);border-radius:9px;color:var(--yellow);background:#060606;font-weight:800}.card:hover{background:#120707}.resource-section{max-width:790px;margin:28px auto 0}.resource-section h2{color:var(--yellow);font-size:1.25rem;border-bottom:1px solid #333;padding-bottom:7px}.resource-list{display:grid;gap:10px}.resource-item{border:1px solid #292929;border-radius:9px;background:#080808;padding:12px}.resource-title{font-weight:800;margin-bottom:8px}.resource-actions{display:flex;flex-wrap:wrap;gap:8px}.resource-link{display:inline-block;text-decoration:none;border:1px solid var(--red);border-radius:7px;padding:8px 11px;color:var(--yellow);font-weight:800;background:#080808}.resource-link.key{border-color:#555;color:#ddd}.topic-pager{max-width:790px;margin:36px auto 0;display:flex;justify-content:space-between;gap:12px}.topic-pager-link{display:flex;align-items:center;min-height:48px;max-width:48%;padding:9px 12px;border:1px solid #333;border-radius:8px;background:#080808;color:var(--yellow);text-decoration:none;font-size:.86rem;font-weight:800}.topic-pager-link.next{margin-left:auto;text-align:right;justify-content:flex-end}.footer{width:min(850px,calc(100% - 36px));margin:48px auto 0;padding:16px 0 22px;border-top:1px solid #9e1116;text-align:center;color:var(--yellow);font-size:.78rem}.tm-mark{font-size:.38em;vertical-align:super;margin-left:.08em;line-height:0}
.practice-shell{max-width:820px;margin:0 auto}.practice-filter{max-width:500px;margin:0 auto 16px}.practice-filter label{display:block;margin-bottom:6px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:360px;margin:0 auto 15px}.stat{text-align:center;background:#111;border-radius:9px;padding:10px;color:var(--yellow);font-weight:800}.stat span{display:block;font-size:1.3rem}.question-card{border:1px solid #292929;border-radius:13px;background:#080808;padding:18px}.question{font-size:1.08rem;line-height:1.45;text-align:center;color:var(--white);overflow-x:auto}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.choice-btn{min-height:54px;border:1px solid #444;background:#101010;color:var(--white);border-radius:9px;padding:10px;font-weight:700;cursor:pointer;font-size:.94rem;line-height:1.35}.choice-btn:hover:not(:disabled){border-color:var(--yellow)}.choice-btn.right{border-color:var(--yellow);background:#171300;color:var(--yellow)}.choice-btn.wrong{border-color:var(--red);background:#220707}.question-area{margin-top:16px;text-align:center}.answer-label{display:block;color:var(--yellow);font-weight:800;margin-bottom:7px;font-size:.9rem}.question-area input{display:block;width:min(300px,100%);margin:0 auto 9px;padding:9px 11px;border:1px solid var(--yellow);border-radius:8px;background:#050505;color:#fff;font-size:1.1rem;text-align:center}.check-answer{border:0;border-radius:8px;background:var(--red);color:#fff;padding:10px 16px;font-weight:800;cursor:pointer}.feedback{min-height:48px;margin:14px auto 0;text-align:center;line-height:1.45;font-size:.94rem}.feedback.correct{color:var(--yellow)}.feedback.incorrect{color:#ff7b80}.practice-actions{display:flex;justify-content:center;gap:10px;margin-top:14px}.practice-actions button{border:0;border-radius:8px;padding:10px 15px;font-weight:800;cursor:pointer}.next{background:var(--yellow);color:#050505}.reset{background:var(--red);color:#fff}.bm-u3-graph{max-width:560px;margin:0 auto 14px}.bm-u3-graph svg{display:block;width:100%;height:auto;background:#050505;border:1px solid #333;border-radius:9px}
.bm-u3-grid-line{stroke:#444;stroke-width:1}.bm-u3-highlight-point{fill:#d71920!important;stroke:none!important;stroke-width:0!important}.bm-u3-worked-steps{display:grid;gap:7px;max-width:720px;margin:0 auto;text-align:left}.bm-u3-worked-steps p{margin:0}
.bm-u3-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:660px;margin:0 auto 12px}.bm-u3-field-grid.is-four-fields{grid-template-columns:repeat(4,minmax(0,1fr));max-width:780px}.bm-u3-field-grid.is-many-fields{grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px}.bm-u3-answer-field{min-width:0;padding:9px;border:1px solid #303030;border-radius:9px;background:#0d0d0d}.bm-u3-answer-field.is-active{border-color:#777}.bm-u3-answer-field.is-correct{border-color:var(--yellow);background:#171300}.bm-u3-answer-field.is-incorrect{border-color:var(--red);background:#200707}.bm-u3-answer-field .answer-label{min-height:2.1em;margin-bottom:5px;font-size:.82rem;line-height:1.15}.bm-u3-answer-field input{width:100%;margin:0;padding:8px 7px;font-size:1rem}.bm-u3-field-result{min-height:1.25em;margin-top:5px;font-size:.76rem;font-weight:800;line-height:1.2}.bm-u3-answer-field.is-correct .bm-u3-field-result{color:var(--yellow)}.bm-u3-answer-field.is-incorrect .bm-u3-field-result{color:#ff8a8e}.bm-u3-shared-keypad{width:min(410px,100%);grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(38px,auto);margin-top:10px}.bm-u3-shared-keypad .bm-key.check-key{grid-column:auto;grid-row:auto;min-height:38px}.bm-u3-shared-keypad .bm-spacer{visibility:hidden}
.bm-u3-field-grid.is-single-field{grid-template-columns:minmax(0,360px);justify-content:center;max-width:660px}
.bm-u3-field-grid.is-three-fields{grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px;justify-content:center}
.bm-u3-arithmetic-followup{max-width:360px;margin:16px auto 0}
@media(max-width:760px){.topbar{padding:13px 100px;min-height:74px}.corner{width:72px;height:88px;left:8px}.profile{width:78px;right:8px}.profile img{width:72px;height:88px}.menu-toggle{width:72px;font-size:.65rem}.dropdown{top:122px;width:190px}.unit-select{width:100%;min-width:0}.topic-grid{grid-template-columns:1fr;max-width:390px}.topic-pager{flex-direction:column}.topic-pager-link{max-width:100%;width:100%}.choices{grid-template-columns:1fr}.question-card{padding:13px}.question{font-size:1rem;line-height:1.4}.choice-btn{font-size:.91rem}.bm-u3-field-grid{grid-template-columns:1fr}.bm-u3-field-grid.is-four-fields,.bm-u3-field-grid.is-many-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.bm-u3-answer-field{padding:7px}.bm-u3-answer-field .answer-label{min-height:0;font-size:.78rem}.bm-u3-shared-keypad{grid-auto-rows:minmax(42px,auto)}.bm-u3-shared-keypad .bm-key.check-key{min-height:42px}}
@media(max-width:760px){.bm-u3-field-grid.is-three-fields{grid-template-columns:1fr;max-width:360px}}

/* v10.9.F Unit 3 practice fit. im1-keypad.css loads after this file and has
   intentionally large generic practice rules, so these Unit 3-specific rules
   use higher specificity and !important to keep the actual rendered size compact. */
html.bm-practice-active body #practiceCard.question-card .question{
  font-size:.96rem!important;
  line-height:1.34!important;
  overflow:visible!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
html.bm-practice-active body #practiceCard.question-card .question mjx-container{
  max-width:100%!important;
  font-size:.92em!important;
  overflow:visible!important;
}
html.bm-practice-active body #practiceCard.question-card{
  overflow:visible;
  padding:14px;
}
html.bm-practice-active body #practiceCard.question-card .choices{margin-top:13px}
html.bm-practice-active body #practiceCard.question-card .choice-btn{min-height:48px;padding:8px;font-size:.88rem;line-height:1.28}
html.bm-practice-active body #practiceCard.question-card .question-area{margin-top:12px}
html.bm-practice-active body #practiceCard.question-card .bm-u3-shared-keypad{grid-auto-rows:minmax(34px,auto);gap:4px;margin-top:7px}
html.bm-practice-active body #practiceCard.question-card .bm-u3-shared-keypad .bm-key{min-height:34px;font-size:.84rem;padding:3px 2px}
html.bm-practice-active body #practiceCard.question-card .bm-u3-answer-field{padding:7px}
html.bm-practice-active body #practiceCard.question-card .bm-u3-answer-field input{padding:6px;font-size:.94rem}
@media(max-width:760px){
  html.bm-practice-active body #practiceCard.question-card .question{font-size:.92rem!important;line-height:1.3!important}
  html.bm-practice-active body #practiceCard.question-card{padding:9px}
  html.bm-practice-active body #practiceCard.question-card .choice-btn{font-size:.85rem}
  html.bm-practice-active body #practiceCard.question-card .bm-u3-shared-keypad{grid-auto-rows:minmax(38px,auto)}
  html.bm-practice-active body #practiceCard.question-card .bm-u3-shared-keypad .bm-key{min-height:38px;font-size:.88rem}
}

/* Section B readability adjustment: slightly larger questions and solutions
   without changing headers, navigation, controls, or keypad sizing. */
html.bm-u3-section-b-practice.bm-practice-active body #practiceCard.question-card .question,
html.bm-u3-section-b-problem.bm-practice-active body #practiceCard.question-card .question{
  font-size:1.12rem!important;
  line-height:1.4!important;
}
html.bm-u3-section-b-practice.bm-practice-active body #practiceCard.question-card .feedback,
html.bm-u3-section-b-problem.bm-practice-active body #practiceCard.question-card .feedback{
  font-size:.98rem!important;
  line-height:1.34!important;
}
html.bm-u3-section-b-practice.bm-practice-active body #practiceCard.question-card .question mjx-container,
html.bm-u3-section-b-problem.bm-practice-active body #practiceCard.question-card .question mjx-container{
  font-size:1em!important;
  max-width:100%!important;
}
html.bm-u3-section-b-practice.bm-practice-active body #practiceCard.question-card .feedback mjx-container,
html.bm-u3-section-b-problem.bm-practice-active body #practiceCard.question-card .feedback mjx-container{
  font-size:1.02em!important;
  max-width:100%!important;
}
@media(max-width:760px){
  html.bm-u3-section-b-practice.bm-practice-active body #practiceCard.question-card .question,
  html.bm-u3-section-b-problem.bm-practice-active body #practiceCard.question-card .question{
    font-size:1.06rem!important;
    line-height:1.36!important;
  }
  html.bm-u3-section-b-practice.bm-practice-active body #practiceCard.question-card .feedback,
  html.bm-u3-section-b-problem.bm-practice-active body #practiceCard.question-card .feedback{
    font-size:.96rem!important;
    line-height:1.32!important;
  }
}
