.math-path__guide img { width: 240px; height: 240px; object-fit: cover; border-radius: 24px; }
.math-path .tp-child__cogatCelebrationActions form, .math-path .tp-child__cogatPlanNudgeActions form { margin: 0; min-width: 0; max-width: 100%; }
.math-path .tp-child__cogatPlanNudgeActions .btn, .math-plan .tp-previewPlan__stepAction { white-space: normal; }
.math-growth-page .tp-child__cogatPlanNudge { margin: 24px 0; }
.math-path .tp-child__cogatAction > form { grid-column: 1 / -1; justify-self: start; max-width: 100%; }
.math-path .tp-child__cogatAction .btn { width: auto; max-width: 100%; white-space: normal; word-break: normal; }
.math-path__score-mode { margin: 20px 0; }
.math-path__score-mode form { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-weight: 700; }
.math-path__score-options { display: inline-flex; border: 1px solid #abcfc8; border-radius: 12px; overflow: hidden; }
.math-path__score-options button { padding: 12px 16px; min-height: 44px; border: 0; background: #fff; color: #286d67; font-weight: 700; }
.math-path__score-options button[aria-pressed=true] { background: #397b72; color: white; }
.math-path__score-mode p, .math-path__score-rules { margin: 10px 0; color: #5a7087; font-size: .9rem; }
.math-path .math-path__meta { margin: 8px 0 0; color: #62788e; font-size: .9rem; }
.math-path__progress-link { grid-column: 1 / -1; font-weight: 750; font-size: .9rem; }
.math-path__powers { padding: 30px; }
.math-path__section-head { display: flex; gap: 20px; justify-content: space-between; align-items: center; margin: 14px 0 22px; }
.math-path__section-head h2 { font-size: 1.5rem; }
.math-path__power-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.math-path__skill-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.math-path .math-path__skill-card { display: flex; flex-direction: column; gap: 20px; padding: 24px; border-color: #cfe1e5; border-radius: 22px; }
.math-path__skill-card h3 { margin: 0 0 3px; font-size: 1.1rem; }
.math-path .math-path__skill-card .tp-child__cogatBatteryIcon { width: 44px; height: 44px; font-size: 1rem; }
.math-path__skill-card p { margin: 0; }
.math-path__skill-link { background: none; border: 0; padding: 10px 0; text-align: left; min-height: 44px; }
.math-path__skill-link:disabled { opacity: .5; cursor: default; }
.math-path__power-grid article { padding: 22px; border: 1px solid #cfe1e5; border-radius: 22px; background: #fff; display: flex; flex-direction: column; gap: 8px; }
.math-path__power-grid h3 { font-size: 1.15rem; margin: 0; }
.math-path__power-grid form { margin-top: auto; padding-top: 12px; }
.math-path__trail { padding: 26px 30px; border-top: 1px solid #dce7ed; background: #f7fafb; display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.math-path__trail h2 { font-size: 1.3rem; }
.math-path__trail ol { list-style: none; display: flex; flex-wrap: wrap; gap: 14px; margin: 0; padding: 0; }
.math-path__trail li { display: flex; flex-direction: column; text-align: center; gap: 5px; font-size: .8rem; }
.math-path__day { display: block; width: 30px; height: 30px; border: 2px solid #bacdd6; border-radius: 50%; margin: 0 auto; background: transparent; }
.math-path__day.is-complete { background: #28796e; border-color: #28796e; }
.math-round { max-width: 1120px; margin: 35px auto 60px; padding: 0 24px; color: #203659; }
.math-round a { color: #287774; font-weight: 700; text-underline-offset: 3px; }
.math-round .tp-card { padding: 28px; margin: 24px 0; }
.math-round__header { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin: 25px 0; }
.math-round h1 { font-size: clamp(2rem,4vw,3rem); font-weight: 850; }
.math-round h2 { font-size: 1.5rem; font-weight: 800; }
.math-round__timer { position: fixed; top: calc(var(--tp-header-height,80px) + 12px); right: 24px; z-index: 1100; background: #e3f4ed; color: #16645d; border: 1px solid #92c8b7; border-radius: 16px; padding: 8px 16px; box-shadow: 0 4px 18px #1b4e3f18; font-size: .75rem; }
.math-round__timer strong { display: block; font-size: 1.7rem; font-variant-numeric: tabular-nums; }
.math-round__position { font-weight: 750; color: #387e77; }
.math-round__progress { margin: 0 0 26px; }
.math-round__progress>div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; color: #58718b; font-size: .9rem; margin-bottom: 14px; }
.math-round__progress progress { display: block; appearance: none; width: 100%; height: 9px; border: 0; border-radius: 12px; overflow: hidden; background: #e4edf3; color: #348d80; }
.math-round__progress progress::-webkit-progress-bar { background: #e4edf3; border-radius: 12px; }
.math-round__progress progress::-webkit-progress-value { background: #348d80; border-radius: 12px; }
.math-round__progress progress::-moz-progress-bar { background: #348d80; border-radius: 12px; }
.math-data-visual { margin: 0 auto 18px; max-width: 600px; text-align: center; }
.math-data-visual svg { display: block; margin: 0 auto; }
.math-data-visual figcaption { font-size: .85rem; font-weight: 400; color: #58718b; }
.math-data-table { font-size: .85rem; font-weight: 400; margin: 12px 0 20px; }
.math-data-table table { width: 100%; border-collapse: collapse; }
.math-data-table :is(th,td) { padding: 6px 10px; text-align: left; border-bottom: 1px solid #d8e3ec; }
.math-round__prompt { margin: 20px 0 24px; padding: 22px; background: #f7fafc; border: 1px solid #d8e3ec; border-radius: 15px; font-size: 1.25rem; font-weight: 650; line-height: 1.7; overflow-wrap: anywhere; }
.math-round__prompt :is(svg,img) { max-width: 100%; height: auto; }
#math-question { scroll-margin-top: calc(var(--tp-header-height,80px) + 20px); }
.math-round__buttons { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 18px 0; }
.math-round__navigation-note, .math-round__submit-note { color: #58718b; font-size: .9rem; }
.math-round__question-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin: 24px 0; }
.math-round__question-jump { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 94px; padding: 16px 8px; border: 2px solid #d4dfed; border-radius: 16px; background: #fff; color: #203858; cursor: pointer; }
.math-round__question-jump strong { font-size: 1.15rem; }
.math-round__question-jump span { font-size: .8rem; }
.math-round__question-jump.is-answered { background: #edf9f5; border-color: #81c5b8; }
.math-round__question-jump:hover { border-color: #348d80; }
@media (max-width: 600px) { .math-round__question-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; } .math-round__question-jump { min-height: 80px; } }
@media (max-width: 360px) { .math-round__question-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.math-round__test-review button:focus-visible { outline: 3px solid #6454bf; outline-offset: 3px; }
.math-round__choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 22px 0; }
.math-round__choices legend { float: none; grid-column: 1 / -1; font-size: 1rem; font-weight: 750; margin-bottom: 12px; }
.math-round__choices label { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 14px; border: 1px solid #c6d8df; border-radius: 14px; background: #fff; cursor: pointer; }
.math-round__choices label:where(:has(input:checked)) { background: #f0f3f7; border-color: #687c94; }
.math-round__choices label.is-correct { background: #eaf6f0; border-color: #397c72; }
.math-round__choices label.is-incorrect { background: #fff6e5; border-color: #df941f; }
.math-round__choice-state { margin-left: auto; font-size: .75rem; font-weight: 700; }
.math-round__choices .is-correct .math-round__choice-state { color: #216b52; }
.math-round__choices .is-incorrect .math-round__choice-state { color: #8b560d; }
.math-round__choices input { flex: 0 0 auto; width: 20px; height: 20px; accent-color: #367d73; }
.math-round__choices label span { overflow-wrap: anywhere; min-width: 0; }
.math-round__hint { border: 1px solid #cadfdb; background: #f0f8f4; border-radius: 12px; padding: 16px; }
.math-round summary, .math-round__hint > summary, .math-round__example > summary { cursor: pointer; padding: 8px 0; font-weight: 750; }
.math-round__hint>div { margin: 14px 0; }
.math-round__hint h3 { margin: 14px 0; font-size: 1.05rem; }
.math-round__hint li, .math-round__example li { margin: 10px 0; line-height: 1.7; }
.math-round__example { margin-top: 12px; padding: 16px; border: 1px solid #cfd9ed; border-radius: 12px; background: #f6f8fe; }
.math-round__example-intro { color: #58718b; margin-top: 12px; }
.math-round__example .math-round__prompt { background: #fff; font-size: 1.1rem; }
.math-round__example-choices { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.math-round__example-choices li { padding: 10px; margin: 0; background: #fff; border: 1px solid #d8e3ec; border-radius: 10px; overflow-wrap: anywhere; }
.math-round__example :is(svg,img,table) { max-width: 100%; height: auto; }
.math-round__feedback { border-left: 4px solid #378174; padding: 18px; background: #eff8f4; }
.math-round__feedback.is-incorrect { border-color: #df941f; background: #fff6e5; }
.math-round__feedback.is-skipped { border-color: #bb8a3b; background: #fff6e6; }
.math-round__feedback>div { margin-top: 10px; line-height: 1.7; }
.math-round__review { padding: 15px 0; border-top: 1px solid #d7e4eb; margin-top: 15px; }
.math-round__badge { display: inline-block; margin-left: 10px; padding: 3px 10px; border-radius: 20px; font-size: .85rem; }
.math-round__badge.is-correct { background: #e2f4e9; color: #17603d; }
.math-round__badge.is-incorrect { background: #fff0cf; color: #8b560d; }
.math-round__badge.is-skipped { background: #fff0cf; color: #80500e; }
.math-round__score { font-size: 1.5rem; }
.math-fix-result__eyebrow { margin: 20px 0 8px; text-transform: uppercase; font-size: .8rem; font-weight: 800; letter-spacing: .06em; color: #526985; }
.math-fix-result>h2 { font-size: 1.8rem; font-weight: 850; }
.math-fix-result__score { color: #27766a; font-size: 3rem; font-weight: 850; margin: 24px 0 16px; }
.math-fix-result__counts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 24px 0; }
.math-fix-result__counts>div { padding: 24px 12px; text-align: center; border-radius: 16px; }
.math-fix-result__counts strong { display: block; font-size: 2rem; margin-bottom: 4px; }
.math-fix-result__counts span { display: block; }
.math-fix-result .is-correct { color: #146b49; background: #eff8f5; }
.math-fix-result .is-incorrect { color: #8b560d; background: #fff6e5; }
.math-fix-result .is-skipped { color: #82531a; background: #fff2d8; }
.math-fix-result__table-wrap { overflow-x: auto; }
.math-fix-result__table-wrap:focus-visible { outline: 3px solid #366cbe; outline-offset: 4px; }
.math-fix-result__groups { width: 100%; min-width: 460px; border-collapse: collapse; }
.math-fix-result__groups caption { caption-side: top; text-align: left; color: #20325a; font-weight: 800; margin-bottom: 10px; }
.math-fix-result__groups :is(td,th) { padding: 12px 10px; border-bottom: 1px solid #dce6ef; text-align: left; }
.math-fix-result__groups thead th { font-size: .9rem; }
.math-fix-result__groups thead th:first-child { color: #526985; }
.math-fix-result__groups .is-correct { background: #e5f5ed; }
.math-fix-result__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.math-fix-result__actions form { min-width: 0; max-width: 100%; }
.math-fix-result__actions .btn { max-width: 100%; white-space: normal; }
.math-fix-result__actions a.tp-btn-primary { color: #fff; }
@media(max-width:650px) {
    .math-fix-result__counts { gap: 8px; }
    .math-fix-result__counts>div { padding: 16px 5px; }
    .math-fix-result__counts span { font-size: .85rem; }
    .math-fix-result__actions>form { flex: 1 1 100%; }
    .math-fix-result__actions>form button { width: 100%; }
    .math-fix-result__actions>a { flex: 1 1 140px; }
}
.math-growth-page { max-width: 1248px; }
.math-growth-page .tp-eyebrow { color: #526985; font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.math-growth-page>a.tp-btn-primary { color: #fff; }
.math-growth__header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 24px 0 30px; }
.math-growth__header h1 { font-size: clamp(2rem,4vw,3.1rem); line-height: 1.15; margin: 8px 0 0; }
.math-growth__grade { flex-shrink: 0; padding: 10px 16px; border: 1px solid #b5dad4; border-radius: 24px; background: #f1faf8; font-weight: 750; }
.math-growth__panel { padding: clamp(22px,3vw,32px); border: 1px solid #d2e1ee; border-radius: 24px; background: #fff; margin: 24px 0; }
.math-growth__panel h2 { font-size: 1.6rem; font-weight: 850; margin: 0 0 20px; }
.math-growth__panel p { color: #526985; line-height: 1.6; }
.math-growth__tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.math-growth__tabs a { display: block; padding: 12px 18px; border-radius: 13px; border: 1px solid #d2e1ee; color: #526985; font-weight: 800; text-decoration: none; }
.math-growth__tabs a.is-active { background: #e6f4ef; border-color: #30847c; color: #206c64; }
.math-growth__score { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin: 24px 0 34px; }
.math-growth__score>div { display: flex; flex-direction: column; gap: 8px; color: #526985; }
.math-growth__score strong { color: #27766a; font-size: 3rem; line-height: 1.15; }
.math-growth__best { padding: 10px 16px; border-radius: 22px; background: #e9f6f1; color: #27766a; font-weight: 750; }
.math-growth__chart { margin: 0; }
.math-growth__chart figcaption, .math-growth__note { color: #526985; font-size: .85rem; }
.math-growth__plot { display: flex; gap: 14px; margin-top: 36px; }
.math-growth__axis { flex: 0 0 42px; height: 200px; display: flex; flex-direction: column; justify-content: space-between; font-size: .8rem; color: #526985; }
.math-growth__bars { display: flex; flex: 1; min-width: 0; gap: 22px; overflow-x: auto; padding: 30px 12px 8px; margin-top: -30px; background: repeating-linear-gradient(to bottom,transparent 0,transparent 99px,#e4edf5 99px,#e4edf5 100px); background-position-y: 30px; }
.math-growth__column { flex: 1 0 64px; text-align: center; text-decoration: none; color: #526985; font-size: .8rem; }
.math-growth__column>span:last-child { display: block; margin-top: 12px; }
.math-growth__space { height: 200px; display: flex; align-items: flex-end; justify-content: center; }
.math-growth__bar { position: relative; width: min(60px,100%); min-height: 2px; border-radius: 9px 9px 0 0; background: #31847e; }
.math-growth__bar strong { position: absolute; top: -26px; left: 0; right: 0; color: #203655; font-size: 1rem; white-space: nowrap; }
.math-growth__note { margin: 20px 0; }
.math-growth__latest { border-top: 1px solid #d2e1ee; padding-top: 20px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; }
.math-growth__counts { display: flex; flex-wrap: wrap; gap: 8px; }
.math-growth__counts span { padding: 8px 12px; border-radius: 12px; font-weight: 750; }
.math-growth__counts .is-correct { background: #e4f4ef; color: #206c64; }
.math-growth__counts .is-incorrect { background: #fff1d8; color: #805318; }
.math-growth__counts .is-skipped { background: #eef3fa; color: #526985; }
.math-growth__panel summary { color: #28766b; font-weight: 800; }
.math-growth__saved { margin-top: 24px; }
.math-growth__history { list-style: none; padding: 0; margin-bottom: 0; }
.math-growth__history li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 18px; align-items: center; padding: 15px 0; border-bottom: 1px solid #dce8ed; }
.math-growth__history li:last-child { border-bottom: 0; }
.math-growth__highlights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.math-growth__highlights> :is(div,a) { display: flex; align-items: center; gap: 16px; padding: 20px; border: 1px solid #d2e1ee; border-radius: 18px; background: #fff; color: #203655; text-decoration: none; }
.math-growth__highlights>a { background: #f7f4ff; border-color: #d7cff8; }
.math-growth__highlights> :is(div,a)>span { color: #ae721c; font-size: 2rem; }
.math-growth__highlights :is(small,strong) { display: block; }
.math-growth__highlights small { color: #526985; margin-bottom: 6px; font-weight: 400; }
#mathPowers { scroll-margin-top: calc(var(--tp-header-height,80px) + 20px); }
.math-growth__skill-details[open]>summary { margin-bottom: 20px; }
.math-growth__skills { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.math-growth__skill { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid #bfd6ef; background: #eff6ff; border-radius: 18px; }
.math-growth__skill:nth-child(3n+2) { border-color: #e0d2b9; background: #fff8eb; }
.math-growth__skill:nth-child(3n) { border-color: #d5c7f4; background: #f7f3ff; }
.math-growth__skill>div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 12px; }
.math-growth__skill h3 { flex: 1 1 150px; font-size: 1.1rem; font-weight: 800; margin: 0; overflow-wrap: anywhere; }
.math-growth__skill strong { color: #28766b; font-size: 1.3rem; }
.math-growth__skill progress { display: block; appearance: none; width: 100%; height: 6px; flex-shrink: 0; border: 0; border-radius: 8px; overflow: hidden; background: #e1e7ee; color: #4383bc; margin: 18px 0 20px; }
.math-growth__skill progress::-webkit-progress-bar { background: #e1e7ee; border-radius: 8px; }
.math-growth__skill progress::-webkit-progress-value { background: #4383bc; border-radius: 8px; }
.math-growth__skill progress::-moz-progress-bar { background: #4383bc; border-radius: 8px; }
.math-growth__skill form { margin-top: auto; }
.math-growth__skill button { font-size: .88rem; white-space: normal; }
.math-growth__trail { display: flex; flex-wrap: wrap; gap: 30px; list-style: none; padding: 12px 0; margin: 0; }
.math-growth__trail li { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: .8rem; color: #526985; }
@media(max-width:1000px) {
    .math-growth__skills { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
    .math-growth__header { align-items: flex-start; flex-direction: column; }
    .math-growth__skills, .math-growth__highlights { grid-template-columns: 1fr; }
    .math-growth__tabs a { padding: 12px; font-size: .9rem; }
    .math-growth__panel { padding: 20px; }
}
.math-round :is(a,button,input,select,summary):focus-visible, .math-path :is(a,button,select):focus-visible { outline: 3px solid #366cbe; outline-offset: 4px; }
@media(max-width:700px) {
    .math-bar-graph text { font-size: 24px; }
    .math-coordinate-graph text { font-size: 18px; }
    .math-coordinate-graph .math-grid-odd { display: none; }
    .math-path__guide { display: none; }
    .math-path__power-grid, .math-path__skill-grid, .math-round__choices, .math-round__example-choices { grid-template-columns: 1fr; }
    .math-path__powers, .math-path__trail { padding: 20px; }
    .math-path__section-head, .math-path__trail { align-items: flex-start; flex-wrap: wrap; }
    .math-round { padding: 0 16px; margin-top: 24px; }
    .math-round .tp-card { padding: 18px; }
    .math-round__prompt { padding: 15px; font-size: 1.1rem; }
    .math-round:has([data-remaining]) .math-round__header { padding-right: 92px; }
    .math-round__timer { right: 12px; padding: 7px 12px; }
    .math-round__timer strong { font-size: 1.3rem; }
}

.math-learning-overview { max-width: 1200px; margin: 32px auto; padding-inline: clamp(16px, 3vw, 32px); }

.math-goal-form { padding-block: 32px 48px; }
.math-goal-form .tp-shell__header { margin-block: 20px 28px; }
.math-goal-form .tp-goalWizard__stepHeading { display:flex; gap:.75rem; align-items:flex-start; padding:1rem 1.1rem; border:1px solid #c7e4de; border-radius:.9rem; background:#f2faf8; }
.math-goal-form .tp-goalWizard__stepNumber { display:grid; place-items:center; flex:0 0 auto; width:2.2rem; height:2.2rem; border-radius:50%; background:#1f7c7a; color:#fff; font-weight:800; }
.math-goal-form .tp-goalWizard__stepHeading strong, .math-goal-form .tp-goalWizard__stepHeading div>span { display:block; }
.math-goal-form .tp-goalWizard__stepHeading div>span { color:#526178; }
.math-goal-form [hidden] { display:none!important; }

.math-history--points .tp-p2Progress__columns { grid-template-columns:repeat(var(--bars),minmax(100px,1fr)); min-width:calc(var(--bars)*100px); }
