/* Salar AP Physics 2 v2.0.0 — full-width, centered learning canvas */
body.sap2-managed-page .widget-area,
body.sap2-managed-page #secondary,
body.sap2-managed-page .sidebar,
body.sap2-managed-page aside.sidebar,
body.sap2-managed-page .content-sidebar-wrap > aside,
body.sap2-managed-page .site-content > .widget-area{display:none!important}
body.sap2-managed-page .content-area,
body.sap2-managed-page #primary,
body.sap2-managed-page main.site-main,
body.sap2-managed-page .site-main,
body.sap2-managed-page article.page,
body.sap2-managed-page article.page .entry-content,
body.sap2-managed-page .entry-content,
body.sap2-managed-page .wp-block-post-content{width:100%!important;max-width:none!important;float:none!important;margin-left:auto!important;margin-right:auto!important}
body.sap2-managed-page article.page>.entry-header,
body.sap2-managed-page .entry-content>.page-title{display:none!important}

.sap2-bleed{position:relative;left:50%;transform:translateX(-50%);width:min(1280px,calc(100vw - 30px));max-width:none!important;margin:0!important;padding:0!important}
.sap2{--navy:#0d1f33;--ink:#17283d;--muted:#617184;--line:#dbe5ee;--paper:#fff;--soft:#f5f8fb;--blue:#176ea6;--cyan:#e7f5fb;--teal:#167e72;--orange:#d96c2b;--gold:#b78615;--violet:#6755a6;--red:#b74242;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:17px;line-height:1.67;letter-spacing:.001em;text-rendering:optimizeLegibility}
.sap2 *{box-sizing:border-box}.sap2 a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}.sap2 img,.sap2 svg{max-width:100%}.sap2 p{margin:.65rem 0 1rem}.sap2 ul,.sap2 ol{padding-left:1.35rem}.sap2 li{margin:.28rem 0}.sap2 strong{color:#102239}.sap2 h1,.sap2 h2,.sap2 h3,.sap2 h4{color:#0e2034;font-weight:800}.sap2 h1{font-size:clamp(2.45rem,5.3vw,5rem);line-height:.98;letter-spacing:-.055em;margin:.25rem 0 1rem}.sap2 h2{font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.13;letter-spacing:-.032em;margin:0 0 .75rem}.sap2 h3{font-size:1.17rem;line-height:1.25;margin:.25rem 0 .55rem}.sap2 h4{font-size:1rem;margin:.3rem 0}.sap2 small{color:var(--muted)}

.sap2-subnav{position:sticky;top:8px;z-index:30;display:flex;align-items:center;gap:18px;justify-content:space-between;margin:8px 0 20px;padding:9px 11px 9px 15px;border:1px solid rgba(198,214,226,.9);border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 9px 30px rgba(35,62,84,.08)}.sap2-subnav>strong{white-space:nowrap;font-size:.92rem}.sap2-subnav>div{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.sap2-subnav a{display:inline-flex;min-height:38px;align-items:center;padding:6px 10px;border-radius:10px;color:#263b50;text-decoration:none;font-size:.84rem;font-weight:720}.sap2-subnav a:hover,.sap2-subnav a.is-current{background:#e8f4fb;color:#075c91}.sap2-subnav .sap2-nav-special{border:1px solid #bfd8e6}
.sap2-crumbs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:5px 2px 12px;color:#758395;font-size:.83rem}.sap2-crumbs a{color:#63788d;text-decoration:none}.sap2-crumbs span:last-child{display:none}

.sap2-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:36px;align-items:center;padding:clamp(28px,5vw,58px);border:1px solid #d3e2eb;border-radius:30px;background:radial-gradient(circle at 78% 14%,rgba(50,157,209,.14),transparent 27%),linear-gradient(135deg,#fbfdff 0%,#eff7fb 58%,#f8fbfd 100%)}.sap2-hero:after{content:"";position:absolute;right:-80px;bottom:-120px;width:340px;height:340px;border:50px solid rgba(23,110,166,.045);border-radius:50%;pointer-events:none}.sap2-kicker{display:inline-flex;align-items:center;gap:9px;font-size:.75rem;letter-spacing:.105em;text-transform:uppercase;font-weight:900;color:#0a668f}.sap2-kicker:before{content:"";width:9px;height:9px;border-radius:50%;background:#25a478;box-shadow:0 0 0 5px rgba(37,164,120,.13)}.sap2-lead{font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.58;color:#344b61;max-width:790px}.sap2-hero-copy{position:relative;z-index:2}.sap2-hero-visual{position:relative;z-index:2;min-width:0}.sap2-hero-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 22px rgba(32,68,94,.08))}
.sap2-actions,.sap2-linkrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}.sap2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border-radius:12px;background:#126ea6;color:#fff!important;text-decoration:none;font-weight:820;box-shadow:0 8px 18px rgba(18,110,166,.14)}.sap2-btn:hover{background:#0c5f93}.sap2-btn-secondary{background:#fff;color:#105f91!important;border:1px solid #b9d2e2;box-shadow:none}.sap2-linkrow a{display:inline-flex;align-items:center;min-height:40px;padding:7px 12px;border:1px solid #c8dbe7;border-radius:999px;background:#fff;text-decoration:none;font-size:.9rem;font-weight:750}.sap2-linkrow a:after{content:"→";margin-left:6px}

.sap2-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 32px}.sap2-stat{padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}.sap2-stat b{display:block;font-size:1.24rem;line-height:1.1}.sap2-stat span{display:block;margin-top:5px;color:var(--muted);font-size:.84rem}.sap2-stat.is-accent{background:#102e46;border-color:#102e46}.sap2-stat.is-accent b,.sap2-stat.is-accent span{color:#fff}.sap2-stat.is-accent span{opacity:.78}

.sap2-section{padding:clamp(28px,5vw,48px) 0;border-bottom:1px solid var(--line)}.sap2-section:last-of-type{border-bottom:0}.sap2-sectionhead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.sap2-sectionhead>div{max-width:820px}.sap2-sectionhead p{color:var(--muted);margin:0}.sap2-answer{font-size:1.08rem;line-height:1.68;color:#34495e;max-width:940px}.sap2-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#668399;font-weight:850}.sap2-rule{height:1px;background:var(--line);margin:18px 0}

.sap2-goalgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sap2-goal{display:block;min-width:0;padding:20px;border:1px solid #d7e3eb;border-radius:18px;background:#fff;text-decoration:none;color:var(--ink)!important;transition:transform .16s ease,border-color .16s ease}.sap2-goal:hover{transform:translateY(-2px);border-color:#8ab9d4}.sap2-goal .sap2-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:13px;border-radius:12px;background:#eaf5fb;color:#0c679b;font-weight:900}.sap2-goal p{color:var(--muted);font-size:.91rem;margin-bottom:0}

.sap2-unitgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sap2-unit{display:block;min-width:0;padding:19px;border:1px solid #d9e4ec;border-radius:18px;background:#fff;text-decoration:none;color:var(--ink)!important;position:relative;overflow:hidden}.sap2-unit:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#9cc9df}.sap2-unit:hover{border-color:#8ab9d4}.sap2-unitnum{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#6d93a9}.sap2-unit h3{margin:.45rem 0 .32rem}.sap2-unit p{font-size:.9rem;color:var(--muted);margin:0}.sap2-weight{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.78rem;color:#536c7f}.sap2-weight i{height:6px;flex:1;border-radius:6px;background:#e8eff3;overflow:hidden}.sap2-weight i:after{content:"";display:block;height:100%;width:var(--w,55%);border-radius:6px;background:#2b8fc2}

.sap2-resourcegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sap2-resource{display:block;min-width:0;padding:19px;border:1px solid #d9e4ec;border-radius:18px;background:#fff;text-decoration:none;color:var(--ink)!important}.sap2-resource:hover{border-color:#8ab9d4}.sap2-resource p{font-size:.9rem;color:var(--muted);margin-bottom:0}.sap2-resource .sap2-tag{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#edf6fb;color:#17658f;font-size:.72rem;font-weight:850;letter-spacing:.03em}.sap2-resource.is-dark{background:#112c42;border-color:#112c42}.sap2-resource.is-dark h3,.sap2-resource.is-dark p,.sap2-resource.is-dark strong{color:#fff}.sap2-resource.is-dark p{opacity:.78}

.sap2-two{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.sap2-visualpanel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:28px;align-items:center}.sap2-panel{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.sap2-panel.soft{background:#f7fafc}.sap2-panel.dark{background:#102c43;border-color:#102c43;color:#fff}.sap2-panel.dark h2,.sap2-panel.dark h3,.sap2-panel.dark strong{color:#fff}.sap2-panel.dark p{color:#d7e6ee}.sap2-callout{padding:18px 20px;border:1px solid #b7d8e8;border-radius:16px;background:#edf8fd;color:#264a5d}.sap2-callout.warning{background:#fff8ef;border-color:#ead1aa}.sap2-callout.success{background:#eff9f5;border-color:#b9dfd1}.sap2-callout strong{display:block;margin-bottom:4px}.sap2-example{padding:18px 20px;border-left:4px solid #dc7b38;border-radius:0 12px 12px 0;background:#fff8f1}.sap2-trap{padding:18px 20px;border-left:4px solid #b94d4d;border-radius:0 12px 12px 0;background:#fff4f4}.sap2-examlink{padding:18px 20px;border-left:4px solid #1a7b72;border-radius:0 12px 12px 0;background:#f0faf7}

.sap2-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.sap2-table{width:100%;border-collapse:collapse;min-width:650px}.sap2-table th,.sap2-table td{padding:12px 13px;border-bottom:1px solid #e3ebf0;text-align:left;vertical-align:top}.sap2-table th{background:#f4f8fa;font-size:.82rem;text-transform:uppercase;letter-spacing:.045em;color:#526b7d}.sap2-table tr:last-child td{border-bottom:0}.sap2-table td strong{display:block}.sap2-table .good{color:#137b62;font-weight:800}.sap2-table .bad{color:#a83e3e;font-weight:800}

.sap2-formula-index{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}.sap2-formula-index a{padding:7px 10px;border-radius:999px;border:1px solid #c6dae6;background:#fff;text-decoration:none;font-size:.84rem;font-weight:740}.sap2-formulagrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sap2-formula{padding:19px;border:1px solid #d9e4ec;border-radius:18px;background:#fff}.sap2-eq{display:flex;align-items:center;justify-content:center;min-height:68px;padding:12px 14px;margin:9px 0;border-radius:12px;background:#f3f7fa;font-family:Cambria,"Times New Roman",serif;font-size:1.43rem;text-align:center;overflow-wrap:anywhere}.sap2-formula p{font-size:.91rem;color:#526578;margin:.45rem 0}.sap2-formula small{display:block}.sap2-formula .sap2-use{margin-top:9px;padding-top:9px;border-top:1px solid #e3ebf0;color:#344e62}.sap2-formula .sap2-unitbadge{font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#4e7c99}

.sap2-choicegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sap2-choice{padding:17px;border-top:4px solid #78acc8;border-radius:10px;background:#f6fafc}.sap2-choice b,.sap2-choice span{display:block}.sap2-choice span{margin-top:5px;color:var(--muted);font-size:.87rem}

.sap2-examviz{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sap2-examhalf{padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff}.sap2-examhalf .pct{display:inline-grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#e8f5fb;color:#0d658f;font-size:1.2rem;font-weight:900}.sap2-examhalf strong,.sap2-examhalf span{display:block}.sap2-examhalf strong{font-size:1.3rem;margin-top:12px}.sap2-examhalf span{color:var(--muted)}
.sap2-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sap2-timeline>div{padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff}.sap2-timeline b{display:block}.sap2-timeline span{display:block;margin-bottom:8px;color:#34799e;font-size:.75rem;font-weight:900;letter-spacing:.06em}.sap2-timeline p{font-size:.89rem;color:var(--muted);margin:0}

.sap2-conceptmap,.sap2-kin-svg,.sap2-projectile-svg,.sap2-vector-svg,.sap2-relative-svg,.sap2-motion-svg{width:100%;height:auto;display:block}.sap2-axis{stroke:#708496;stroke-width:2}.sap2-gridline{stroke:#dfe8ee;stroke-width:1}.sap2-line-blue{fill:none;stroke:#1773aa;stroke-width:4;stroke-linecap:round}.sap2-line-orange{fill:none;stroke:#db732d;stroke-width:4;stroke-linecap:round}.sap2-line-teal{fill:none;stroke:#168173;stroke-width:4;stroke-linecap:round}.sap2-line-violet{fill:none;stroke:#6656a9;stroke-width:4;stroke-linecap:round}.sap2-dash{stroke-dasharray:7 7}.sap2-node{fill:#fff;stroke:#7295aa;stroke-width:2}.sap2-node-dark{fill:#14354e;stroke:#14354e}.sap2-fill-blue{fill:#e7f5fb}.sap2-fill-orange{fill:#fff1e7}.sap2-fill-teal{fill:#eaf7f4}.sap2-vector{stroke:#db732d;stroke-width:4}.sap2-vector-blue{stroke:#1773aa;stroke-width:4}.sap2-label{fill:#243e51;font:600 14px Inter,system-ui,sans-serif}.sap2-label-small{fill:#617587;font:600 12px Inter,system-ui,sans-serif}.sap2-label-light{fill:#fff;font:700 14px Inter,system-ui,sans-serif}.sap2-dot{fill:#126fa6}.sap2-water{fill:#e1f3fb}.sap2-wave{fill:none;stroke:#6755a6;stroke-width:4}

.sap2-question,.sap2-frq{padding:22px;border:1px solid #d9e4ec;border-radius:20px;background:#fff;margin:15px 0}.sap2-question h3,.sap2-frq h3{font-size:1.08rem}.sap2-qnum{display:inline-block;margin-bottom:7px;color:#377da3;font-size:.74rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.sap2-question ol{margin-bottom:10px}.sap2 details{margin-top:12px;padding-top:12px;border-top:1px solid #e3ebf0}.sap2 summary{cursor:pointer;font-weight:820;color:#173b55}.sap2-answerkey{padding:15px 17px;border-radius:12px;background:#f5f9fb}.sap2-rubric{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sap2-rubric div{padding:14px;border-radius:12px;background:#f5f8fa}.sap2-rubric b{display:block}

.sap2-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0;list-style:none}.sap2-checklist li{margin:0;padding:12px 14px 12px 38px;border:1px solid #dce6ed;border-radius:13px;background:#fff;position:relative}.sap2-checklist li:before{content:"✓";position:absolute;left:14px;top:11px;color:#15816a;font-weight:900}.sap2-mistakes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sap2-mistake{padding:17px;border-left:4px solid #c74d4d;background:#fff5f5;border-radius:0 12px 12px 0}.sap2-mistake b{display:block}.sap2-mistake span{font-size:.9rem;color:#6c5656}

.sap2-datecard{display:flex;align-items:center;gap:22px;padding:25px;border:1px solid var(--line);border-radius:20px;background:#f7fbfd}.sap2-datecard>span{font-size:.76rem;font-weight:900;letter-spacing:.11em}.sap2-datecard>b{font-size:3rem;line-height:1}.sap2-datecard strong,.sap2-datecard small{display:block}.sap2-source{margin:32px 0 14px;padding:19px 21px;border:1px solid #d7e3ea;border-left:4px solid #6f9db8;border-radius:0 14px 14px 0;background:#f6f9fb;color:#465b6e}.sap2-source strong{display:block}.sap2-source p{margin:.38rem 0}.sap2-footerlinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sap2-footerlinks a{font-size:.84rem}

.sap2-pagehead{padding:24px 0 22px;max-width:1000px}.sap2-pagehead h1{font-size:clamp(2.35rem,4.8vw,4.4rem)}.sap2-pagehead .sap2-lead{max-width:920px}.sap2-topic-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;align-items:center;padding:27px;border:1px solid #d8e4eb;border-radius:24px;background:#f9fcfd}.sap2-topic-hero h1{font-size:clamp(2.1rem,4vw,3.7rem)}

@media(max-width:1050px){.sap2-hero,.sap2-topic-hero,.sap2-visualpanel{grid-template-columns:1fr}.sap2-hero-visual{max-width:760px;margin-inline:auto}.sap2-unitgrid,.sap2-goalgrid{grid-template-columns:repeat(2,1fr)}.sap2-resourcegrid{grid-template-columns:repeat(2,1fr)}.sap2-choicegrid{grid-template-columns:repeat(2,1fr)}.sap2-timeline{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sap2-bleed{width:calc(100vw - 18px)}.sap2{font-size:16px}.sap2-subnav{position:static;align-items:flex-start;flex-direction:column}.sap2-subnav>div{justify-content:flex-start}.sap2-hero{padding:24px;border-radius:22px}.sap2-statgrid,.sap2-unitgrid,.sap2-goalgrid,.sap2-resourcegrid,.sap2-two,.sap2-formulagrid,.sap2-choicegrid,.sap2-examviz,.sap2-timeline,.sap2-rubric,.sap2-checklist,.sap2-mistakes{grid-template-columns:1fr}.sap2-sectionhead{align-items:start;flex-direction:column}.sap2 h1{font-size:2.55rem}.sap2-pagehead h1{font-size:2.45rem}.sap2-topic-hero{padding:20px}.sap2-table{min-width:600px}.sap2-datecard{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:420px){.sap2-bleed{width:calc(100vw - 12px)}.sap2-hero{padding:19px}.sap2-subnav{border-radius:12px}.sap2-btn{width:100%}.sap2-linkrow a{width:100%;justify-content:space-between}.sap2 h1,.sap2-pagehead h1{font-size:2.15rem}.sap2-section{padding:27px 0}.sap2-panel,.sap2-question,.sap2-frq{padding:17px}}
@media print{body.sap2-managed-page .site-header,body.sap2-managed-page .site-footer,.sap2-subnav,.sap2-actions,.sap2-source{display:none!important}.sap2-bleed{left:auto;transform:none;width:100%;margin:0}.sap2-section{break-inside:avoid}.sap2{font-size:11pt}.sap2 a{text-decoration:none;color:#000}.sap2-hero{background:#fff}}

/* v2.1 review batch: keep dense year/lab content comfortable on large and small screens */
.sap2[data-sap2-page="past-papers"] .sap2-topic-hero,.sap2[data-sap2-page="labs"] .sap2-topic-hero{background:linear-gradient(135deg,#fbfdfe 0%,#f3f9fc 100%)}
.sap2[data-sap2-page="past-papers"] .sap2-resourcegrid,.sap2[data-sap2-page="labs"] .sap2-resourcegrid{align-items:stretch}
.sap2[data-sap2-page="labs"] ol{padding-left:1.35rem}.sap2[data-sap2-page="labs"] ol li{margin:.65rem 0}

/* v2.2.0: substantive Past Papers and Labs */
.sap2-paper-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px;border:1px solid #d5e2ea;border-radius:20px;background:#fff;margin:14px 0}.sap2-paper-card.featured{background:linear-gradient(135deg,#eff8fc,#fff);border-color:#a9cfdf}.sap2-paper-card.compact{background:#f8fafb}.sap2-paper-year{display:inline-grid;place-items:center;min-width:64px;height:34px;padding:0 12px;border-radius:999px;background:#112f48;color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.08em}.sap2-paper-actions{display:flex;flex-direction:column;gap:10px;min-width:220px}.sap2-paper-actions small{text-align:center}.sap2-paper-skills{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.sap2-paper-skills span,.sap2-samplelinks a{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef6fa;border:1px solid #d0e2ec;color:#245d7d;text-decoration:none;font-size:.8rem;font-weight:760}.sap2-samplelinks{display:flex;flex-wrap:wrap;gap:8px}.sap2-subtitle{margin:22px 0 10px!important}.sap2-paper-links{margin-top:14px}
.sap2-labmap{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.sap2-labmap a{min-width:0;padding:14px 9px;border:1px solid #d7e3eb;border-radius:15px;background:#fff;text-align:center;text-decoration:none;color:#234158}.sap2-labmap b{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 7px;border-radius:50%;background:#e8f5fb;color:#126a9d}.sap2-labmap span{display:block;font-size:.78rem;font-weight:760;line-height:1.2}.sap2-lab{scroll-margin-top:80px}.sap2-labnum{display:inline-block;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:#112f48;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.075em}.sap2-lab-analysis{margin-top:16px;padding:20px;border:1px solid #bbd9e7;border-radius:18px;background:#f0f8fc}.sap2-lab-analysis h3{margin-top:0}.sap2-lab .sap2-table{min-width:820px}
@media(max-width:1050px){.sap2-labmap{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.sap2-paper-card{grid-template-columns:1fr}.sap2-paper-actions{min-width:0}.sap2-paper-actions .sap2-btn{width:100%}.sap2-labmap{grid-template-columns:repeat(2,1fr)}}


/* v2.3 interactive virtual labs + MCQs */
.sap2-vlab{scroll-margin-top:24px}.sap2-vlab-head{display:flex;gap:24px;align-items:flex-start;justify-content:space-between}.sap2-vlab-progress{min-width:155px;padding:12px 14px;border:1px solid var(--sap2-border,#d6e0e6);border-radius:14px;background:#f7fafc;text-align:center}.sap2-vlab-progress strong,.sap2-vlab-progress span{display:block}.sap2-vlab-progress span{font-size:.84rem;color:#5d7180;margin-top:4px}.sap2-vlab-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.7fr);gap:20px;margin-top:22px}.sap2-vlab-stage{border:1px solid #d4e0e7;border-radius:20px;overflow:hidden;background:#f7fafc}.sap2-vlab-svg{display:block;width:100%;height:auto}.sap2-vlab-readout{padding:12px 16px;border-top:1px solid #d4e0e7;background:#fff;font-weight:650;color:#304653;min-height:52px}.sap2-vlab-controls{border:1px solid #d4e0e7;border-radius:20px;padding:18px;background:#fff}.sap2-vlab-controls .sap2-btn{width:100%;margin:5px 0;text-align:center}.sap2-vlab-meter{margin-top:16px;font-size:.85rem;color:#5d7180}.sap2-vlab-meter>div{height:10px;border-radius:99px;background:#e8eff3;overflow:hidden;margin-top:6px}.sap2-vlab-meter i{display:block;height:100%;width:0;background:#1773aa;transition:width .3s ease}.sap2-vlab-table{margin-top:20px}.sap2-vlab-analysis{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:22px;margin-top:22px}.sap2-vlab-graph{border:1px solid #d4e0e7;border-radius:20px;background:#fff;padding:12px}.sap2-vlab-graph svg{width:100%;height:auto;display:block}.sap2-vlab-report{display:grid;gap:12px}.sap2-resultbox,.sap2-discussion,.sap2-conclusion,.sap2-feedback{border-radius:16px;padding:16px 18px;border:1px solid #d4e0e7;background:#fff}.sap2-resultbox{border-left:5px solid #1773aa}.sap2-resultbox span{font-size:.74rem;letter-spacing:.12em;font-weight:800;color:#1773aa}.sap2-conclusion{border-left:5px solid #2a8d73}.sap2-discussion{border-left:5px solid #d96c2b}.sap2-feedback{background:#f7fafc}.sap2-feedback ul{margin-bottom:0}.sap2-mcq-options{display:grid;gap:10px;margin:16px 0}.sap2-mcq-option{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border:1px solid #cfdce4;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.sap2-mcq-option:hover{border-color:#7ca9c0}.sap2-mcq-option.is-selected{border-color:#1773aa;background:#edf6fb}.sap2-mcq-option.is-correct{border-color:#2a8d73;background:#edf8f4}.sap2-mcq-option.is-wrong{border-color:#c95048;background:#fff1ef}.sap2-mcq-option input{margin-top:4px;accent-color:#1773aa}.sap2-choice-letter{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#edf2f5;font-weight:800;color:#304653}.sap2-mcq-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sap2-mcq-actions .sap2-btn{border:0}.sap2-text-btn{border:0;background:transparent;color:#1773aa;font-weight:750;padding:10px 6px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.sap2-mcq-feedback{min-height:28px;margin-top:10px}.sap2-mcq-feedback strong{font-size:1rem}.sap2-mcq-explanation{margin-top:10px;padding:14px 16px;border-radius:14px;background:#f7fafc;border:1px solid #d4e0e7}.sap2-scorebar{position:sticky;top:10px;z-index:15;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:13px 16px;margin:0 0 18px;border:1px solid #b8cdd9;background:rgba(255,255,255,.97);border-radius:16px;box-shadow:0 8px 25px rgba(17,44,66,.08)}.sap2-scorebar [data-message]{flex:1;color:#5d7180}.sap2-scorebar .sap2-btn{margin-left:auto}.sap2-mcq button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.sap2-vlab-head{display:block}.sap2-vlab-progress{margin-top:12px}.sap2-vlab-grid,.sap2-vlab-analysis{grid-template-columns:1fr}.sap2-scorebar{position:static}.sap2-scorebar .sap2-btn{width:100%;margin-left:0}.sap2-mcq-actions{display:grid;grid-template-columns:1fr}.sap2-mcq-actions .sap2-btn,.sap2-mcq-actions .sap2-text-btn{width:100%}}

/* v2.3.1+ — mobile-first virtual-lab hardening + accessible interaction */
.sap2{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.sap2 button,.sap2 a,.sap2 input{touch-action:manipulation}
.sap2 button:focus-visible,.sap2 a:focus-visible,.sap2 input:focus-visible,.sap2 [tabindex]:focus-visible{outline:3px solid #0b78b4;outline-offset:3px}
.sap2-vlab,.sap2-vlab-grid,.sap2-vlab-stage,.sap2-vlab-controls,.sap2-vlab-analysis,.sap2-vlab-graph,.sap2-vlab-report{min-width:0;max-width:100%}
.sap2-vlab-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 6px}
.sap2-vlab-brief>div{min-width:0;padding:13px 14px;border:1px solid #d8e4eb;border-radius:14px;background:#f8fbfd}
.sap2-vlab-brief span{display:block;margin-bottom:4px;color:#60798a;font-size:.73rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.sap2-vlab-brief strong{display:block;font-size:.91rem;line-height:1.42}
.sap2-factgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.sap2-factgrid>div{min-width:0;padding:15px 16px;border:1px solid #d8e4eb;border-radius:15px;background:#fff}
.sap2-factgrid b{display:block;font-size:1rem}.sap2-factgrid span{display:block;margin-top:4px;color:#617184;font-size:.84rem;line-height:1.38}
.sap2-vlab-controls .sap2-btn,.sap2-vlab-controls .sap2-text-btn{min-height:48px}
.sap2-vlab-stage,.sap2-vlab-graph{contain:layout paint}
.sap2-vlab-svg,.sap2-vlab-graph svg{max-width:100%;overflow:visible}
.sap2-vlab-readout{overflow-wrap:anywhere}
.sap2-vlab-table{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.sap2-vlab-table .sap2-table{table-layout:auto}
.sap2-vlab-report p,.sap2-vlab-report li{overflow-wrap:anywhere}

@media(max-width:980px){
  .sap2-vlab-brief{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sap2-factgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .sap2-bleed{width:min(100%,calc(100vw - 16px));left:50%;padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  .sap2-subnav{position:relative;top:auto;display:block;padding:10px 10px 8px}
  .sap2-subnav>strong{display:block;margin:0 4px 8px}
  .sap2-subnav>div{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:6px;overflow-x:auto;padding:0 2px 4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .sap2-subnav a{flex:0 0 auto;min-height:44px}
  .sap2-topic-hero{gap:20px;padding:20px 18px;border-radius:20px}
  .sap2-vlab-head{display:grid;grid-template-columns:1fr;gap:12px}
  .sap2-vlab-progress{width:100%;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left}
  .sap2-vlab-progress span{margin-top:0;text-align:right}
  .sap2-vlab-grid,.sap2-vlab-analysis{grid-template-columns:minmax(0,1fr)}
  .sap2-vlab-controls{padding:16px;border-radius:16px}
  .sap2-vlab-stage,.sap2-vlab-graph{border-radius:16px}
  .sap2-vlab-brief{grid-template-columns:1fr 1fr}
  .sap2-factgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .sap2-bleed{width:min(100%,calc(100vw - 10px))}
  .sap2{font-size:16px;line-height:1.62}
  .sap2 h1,.sap2-pagehead h1{font-size:clamp(1.9rem,10vw,2.25rem);line-height:1.03;letter-spacing:-.042em}
  .sap2 h2{font-size:clamp(1.45rem,7.5vw,1.85rem)}
  .sap2-section{padding:26px 0}
  .sap2-vlab-brief,.sap2-factgrid{grid-template-columns:minmax(0,1fr)}
  .sap2-vlab-brief>div,.sap2-factgrid>div{padding:12px 13px}
  .sap2-vlab-progress{display:block}.sap2-vlab-progress span{text-align:left;margin-top:3px}
  .sap2-vlab-svg text{font-size:22px!important}
  .sap2-vlab-graph svg text{font-size:24px!important}
  .sap2-vlab-readout{font-size:.94rem;line-height:1.5;padding:11px 13px}
  .sap2-vlab-table{overflow:visible;border:0;background:transparent}
  .sap2-vlab-table .sap2-table{display:block;min-width:0;width:100%;background:transparent}
  .sap2-vlab-table thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .sap2-vlab-table tbody,.sap2-vlab-table tr,.sap2-vlab-table td{display:block;width:100%}
  .sap2-vlab-table tr{margin:0 0 12px;padding:7px 12px;border:1px solid #dbe5eb;border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(17,44,66,.035)}
  .sap2-vlab-table td{display:grid;grid-template-columns:minmax(105px,40%) minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border:0;border-bottom:1px solid #edf2f5;text-align:right;overflow-wrap:anywhere}
  .sap2-vlab-table td:last-child{border-bottom:0}
  .sap2-vlab-table td:before{content:attr(data-label);font-size:.75rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase;color:#60798a;text-align:left}
  .sap2-vlab-table td.sap2-empty{display:block;text-align:left;padding:12px 2px;border:0}.sap2-vlab-table td.sap2-empty:before{content:none}
  .sap2-resultbox,.sap2-discussion,.sap2-conclusion,.sap2-feedback{padding:14px 15px;border-radius:14px}
  .sap2-vlab-graph{padding:6px}
  .sap2-btn,.sap2-text-btn{font-size:.96rem}
}
@media(max-width:360px){
  .sap2-bleed{width:calc(100vw - 6px)}
  .sap2-topic-hero{padding:17px 14px}
  .sap2-vlab-controls{padding:13px}
  .sap2-vlab-table td{grid-template-columns:1fr;text-align:left;gap:2px}
  .sap2-vlab-svg text{font-size:24px!important}
  .sap2-vlab-graph svg text{font-size:26px!important}
}
@media(hover:none){.sap2-goal:hover,.sap2-unit:hover,.sap2-resource:hover,.sap2-mcq-option:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.sap2 *,.sap2 *:before,.sap2 *:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* v2.4.0 student-controlled virtual laboratory */
.sap2-lab-setup{display:grid;gap:13px;margin:14px 0}.sap2-lab-control{display:grid;gap:7px;padding:11px 12px;border:1px solid #d8e4eb;border-radius:13px;background:#f8fbfd}.sap2-lab-control>span{display:flex;justify-content:space-between;gap:12px;font-size:.86rem;font-weight:800;color:#304653}.sap2-lab-control output{font-variant-numeric:tabular-nums;color:#1773aa}.sap2-lab-control input[type=range]{width:100%;min-height:28px;accent-color:#1773aa}.sap2-lab-control select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #bfcfd9;border-radius:10px;background:#fff;color:#112c42;font:inherit}.sap2-lab-control small{color:#60798a}.sap2-setup-feedback{min-height:48px;margin:10px 0 12px;padding:10px 12px;border-radius:12px;background:#edf7fb;border:1px solid #bcd9e7;font-size:.86rem;line-height:1.45;color:#304653}.sap2-setup-feedback.is-warning{background:#fff4e9;border-color:#e8c39f;color:#70441f}.sap2-btn-success{background:#2a8d73!important;border-color:#2a8d73!important}.sap2-lab-analysis-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start;margin-top:18px;padding:15px;border:1px solid #d6e2e9;border-radius:16px;background:#f8fbfd}.sap2-lab-analysis-controls .sap2-btn{width:100%;margin:0;text-align:center}.sap2-lab-analysis-controls p{grid-column:1/-1;margin:2px 0 0;font-size:.86rem;color:#60798a}.sap2-vlab-graph{overflow:hidden}.sap2-vlab-graph svg{min-height:330px}.sap2-vlab-graph text{font-family:inherit}.sap2-vlab-controls button:disabled,.sap2-lab-analysis-controls button:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.65)}
@media(max-width:760px){.sap2-lab-analysis-controls{grid-template-columns:1fr}.sap2-lab-analysis-controls p{grid-column:1}.sap2-lab-control>span{align-items:flex-start;flex-direction:column;gap:2px}.sap2-vlab-graph svg{min-height:280px}}
@media(max-width:420px){.sap2-lab-setup{gap:10px}.sap2-lab-control{padding:10px}.sap2-lab-analysis-controls{padding:12px}.sap2-vlab-graph svg{min-height:250px}}

/* v2.5.0 — hands-on Kinematics apparatus */
.sap2-real-kinematics{scroll-margin-top:24px}
.sap2-real-instructions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.sap2-real-instructions>div{display:flex;gap:10px;align-items:flex-start;min-width:0;padding:12px 13px;border:1px solid #d8e4eb;border-radius:14px;background:#fff}
.sap2-real-instructions b{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#112c42;color:#fff;font-size:.86rem}
.sap2-real-instructions span{font-size:.86rem;line-height:1.43;color:#405867}
.sap2-real-stage{position:relative;padding:0;overflow:hidden;background:#f7fafc}
.sap2-real-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 15px;border-bottom:1px solid #d8e4eb;background:#fff}
.sap2-real-toolbar strong{color:#112c42}.sap2-real-toolbar span{font-size:.82rem;color:#60798a;text-align:right}
.sap2-real-svg{display:block;width:100%;height:auto;min-height:360px;max-height:590px;touch-action:none;user-select:none;-webkit-user-select:none}
.sap2-real-svg [data-drag]{cursor:grab;touch-action:none;transform-box:fill-box;transform-origin:center}
.sap2-real-svg [data-drag]:hover circle,.sap2-real-svg [data-drag]:focus-visible circle{filter:drop-shadow(0 3px 4px rgba(17,44,66,.22))}
.sap2-real-svg [data-drag].is-dragging{cursor:grabbing}
.sap2-real-svg [data-drag].is-locked{cursor:not-allowed;opacity:.72}
.sap2-real-svg [data-part="kin-gate"].is-crossed line{stroke:#2a8d73;stroke-width:10;filter:drop-shadow(0 0 8px rgba(42,141,115,.55))}
.sap2-real-readout{border-radius:0;border-left:0;border-right:0;border-bottom:0;margin:0;background:#fff;min-height:62px}
.sap2-real-controls{display:flex;flex-direction:column;gap:10px}
.sap2-real-controls .sap2-btn,.sap2-real-controls .sap2-text-btn{width:100%;margin:0;min-height:48px}
.sap2-btn-warning{background:#d96c2b!important;border-color:#d96c2b!important;color:#fff!important}
.sap2-real-meters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:4px}
.sap2-real-meters>div{padding:11px 12px;border:1px solid #d5e1e8;border-radius:13px;background:#f8fbfd;min-width:0}
.sap2-real-meters span{display:block;font-size:.72rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#60798a}
.sap2-real-meters strong{display:block;margin-top:3px;font-size:1.05rem;color:#112c42;font-variant-numeric:tabular-nums}
.sap2-real-meters .sap2-stopwatch{grid-column:1/-1;background:#112c42;border-color:#112c42}
.sap2-real-meters .sap2-stopwatch span{color:#b8cfdd}.sap2-real-meters .sap2-stopwatch strong{font-size:1.9rem;color:#fff;letter-spacing:.02em}
.sap2-real-note{margin:0 0 3px;padding:11px 12px;border-left:4px solid #d96c2b;background:#fff6ee;border-radius:10px;color:#70441f;font-size:.84rem;line-height:1.47}
.sap2-real-grid{align-items:start}
@media(max-width:1100px){.sap2-real-instructions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .sap2-real-instructions{grid-template-columns:1fr 1fr}
  .sap2-real-toolbar{display:block}.sap2-real-toolbar span{display:block;margin-top:4px;text-align:left}
  .sap2-real-svg{min-height:300px}
}
@media(max-width:520px){
  .sap2-real-instructions{grid-template-columns:1fr}
  .sap2-real-svg{min-height:250px}
  .sap2-real-meters{grid-template-columns:1fr}
  .sap2-real-meters .sap2-stopwatch{grid-column:1}
  .sap2-real-meters .sap2-stopwatch strong{font-size:1.55rem}
  .sap2-real-toolbar{padding:10px 12px}
}

/* v2.6.0 — data-mode selector + hands-on Friction apparatus */
.sap2-lab-modebar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;margin:18px 0;padding:12px 14px;border:1px solid #cddde6;border-radius:15px;background:#f8fbfd}
.sap2-lab-modebar>div{min-width:0}.sap2-lab-modebar strong,.sap2-lab-modebar span{display:block}.sap2-lab-modebar strong{color:#112c42}.sap2-lab-modebar span{margin-top:2px;font-size:.82rem;color:#60798a}
.sap2-lab-modebar .sap2-btn{margin:0;white-space:nowrap}.sap2-lab-modebar .sap2-btn.is-active{background:#112c42!important;border-color:#112c42!important;color:#fff!important}
.sap2-real-friction{scroll-margin-top:24px}.sap2-friction-svg [data-drag]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.sap2-friction-svg [data-drag].is-dragging{cursor:grabbing;filter:drop-shadow(0 6px 8px rgba(17,44,66,.22))}.sap2-friction-svg [data-weight]{cursor:grab}.sap2-friction-svg [data-part="fr-handle"]{cursor:ew-resize}.sap2-friction-svg [data-part="fr-block"]{cursor:grab}.sap2-friction-svg{touch-action:none}
@media(max-width:760px){.sap2-lab-modebar{grid-template-columns:1fr 1fr}.sap2-lab-modebar>div{grid-column:1/-1}.sap2-lab-modebar .sap2-btn{width:100%}}
@media(max-width:480px){.sap2-lab-modebar{grid-template-columns:1fr}.sap2-lab-modebar>div{grid-column:1}.sap2-friction-svg{min-height:275px}}

/* v2.7.0 — hands-on Energy apparatus */
.sap2-real-energy{scroll-margin-top:24px}.sap2-energy-svg{touch-action:none}.sap2-energy-svg [data-drag]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.sap2-energy-svg [data-drag].is-dragging{cursor:grabbing;filter:drop-shadow(0 6px 8px rgba(17,44,66,.22))}.sap2-energy-svg [data-drag].is-locked{cursor:not-allowed;opacity:.76}.sap2-energy-svg [data-part="en-gate"]{cursor:ew-resize}.sap2-energy-svg [data-part="en-cart"]{cursor:grab}.sap2-energy-svg [data-part="en-gpe-bar"],.sap2-energy-svg [data-part="en-ke-bar"]{transition:width .08s linear}
@media(max-width:760px){.sap2-energy-svg{min-height:300px}.sap2-energy-svg [data-part="en-energy-bars"]{transform:translate(-25px,10px) scale(.92);transform-origin:center}}
@media(max-width:480px){.sap2-energy-svg{min-height:270px}.sap2-energy-svg [data-part="en-energy-bars"]{transform:translate(-75px,16px) scale(.82);transform-origin:center}}


/* v2.8.0 — direct-manipulation Momentum lab */
.sap2-real-momentum{scroll-margin-top:24px}.sap2-momentum-svg{touch-action:none}.sap2-momentum-svg [data-drag]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.sap2-momentum-svg [data-drag].is-dragging{cursor:grabbing;filter:drop-shadow(0 6px 8px rgba(17,44,66,.22))}.sap2-momentum-svg [data-drag].is-locked{cursor:not-allowed;opacity:.72}.sap2-momentum-svg [data-mass-token]{cursor:grab}.sap2-momentum-svg [data-part="mo-launcher-handle"]{cursor:ew-resize}.sap2-momentum-svg [data-part="mo-cart1"],.sap2-momentum-svg [data-part="mo-cart2"]{cursor:grab}.sap2-momentum-svg .is-gate-hit{filter:drop-shadow(0 0 8px rgba(42,141,115,.65))}.sap2-momentum-svg .is-collision{filter:drop-shadow(0 4px 9px rgba(217,108,43,.5))}
@media(max-width:480px){.sap2-momentum-svg{min-height:285px}.sap2-real-momentum .sap2-real-toolbar span{font-size:.78rem}}

/* v2.9.0 — direct-manipulation Torque / rotational-equilibrium lab */
.sap2-real-torque{scroll-margin-top:24px}.sap2-torque-svg{touch-action:none}.sap2-torque-svg [data-drag]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.sap2-torque-svg [data-drag].is-dragging{cursor:grabbing;filter:drop-shadow(0 6px 8px rgba(17,44,66,.22))}.sap2-torque-svg [data-drag].is-locked{cursor:not-allowed;opacity:.72}.sap2-torque-svg [data-mass-token]{cursor:grab}.sap2-torque-svg [data-part="to-left-hanger"],.sap2-torque-svg [data-part="to-right-hanger"]{cursor:ew-resize}.sap2-torque-svg [data-part="to-beam-group"]{transform-origin:380px 250px}.sap2-torque-svg [data-part="to-bubble"]{transition:cx .12s linear}.sap2-real-torque .sap2-real-meters{grid-template-columns:1fr 1fr}.sap2-real-torque .sap2-stopwatch{grid-column:1/-1}
@media(max-width:760px){.sap2-torque-svg{min-height:320px}}
@media(max-width:480px){.sap2-torque-svg{min-height:290px}.sap2-real-torque .sap2-real-meters{grid-template-columns:1fr}.sap2-real-torque .sap2-stopwatch{grid-column:1}}

/* v2.10.0 — hands-on Rolling / Rotational Motion lab */
.sap2-real-rolling{scroll-margin-top:24px}.sap2-rolling-svg{touch-action:none}.sap2-rolling-svg [data-drag]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.sap2-rolling-svg [data-drag].is-dragging{cursor:grabbing;filter:drop-shadow(0 6px 8px rgba(17,44,66,.22))}.sap2-rolling-svg [data-drag].is-locked{cursor:not-allowed;opacity:.72}.sap2-rolling-svg [data-ro-object]{cursor:grab}.sap2-rolling-svg [data-part="ro-angle-handle"]{cursor:grab}.sap2-real-rolling .sap2-real-meters{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-real-rolling .sap2-vlab-table th{white-space:nowrap}.sap2-real-rolling .sap2-vlab-table td{white-space:normal}
@media(max-width:480px){.sap2-rolling-svg{min-height:300px}.sap2-real-rolling .sap2-real-meters{grid-template-columns:1fr}.sap2-real-rolling .sap2-real-toolbar span{font-size:.78rem}}


/* v2.11.0 · hands-on Simple Harmonic Motion lab */
.sap2-real-shm{scroll-margin-top:24px}.sap2-shm-svg{touch-action:none}.sap2-shm-svg [data-drag]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.sap2-shm-svg [data-drag].is-dragging{cursor:grabbing;filter:drop-shadow(0 6px 8px rgba(17,44,66,.22))}.sap2-shm-svg [data-drag].is-locked{cursor:not-allowed;opacity:.72}.sap2-shm-svg [data-shm-mass-token]{cursor:grab}.sap2-shm-svg [data-part="sh-hanger-group"]{cursor:ns-resize}.sap2-shm-svg [data-part="sh-sensor-light"]{transition:fill .08s linear}.sap2-real-shm .sap2-real-meters{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-real-shm .sap2-vlab-table th{white-space:nowrap}.sap2-real-shm .sap2-vlab-table td{white-space:normal}
@media(max-width:480px){.sap2-shm-svg{min-height:310px}.sap2-real-shm .sap2-real-meters{grid-template-columns:1fr}.sap2-real-shm .sap2-real-toolbar span{font-size:.78rem}}


/* v2.12.0 · hands-on Fluids / Buoyancy lab */
.sap2-real-fluids{scroll-margin-top:24px}.sap2-fluids-svg{touch-action:none}.sap2-fluids-svg [data-drag]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.sap2-fluids-svg [data-drag].is-dragging{cursor:grabbing;filter:drop-shadow(0 6px 8px rgba(17,44,66,.22))}.sap2-fluids-svg [data-drag].is-locked{cursor:not-allowed;opacity:.72}.sap2-real-fluids .sap2-real-meters{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-real-fluids .sap2-vlab-table th{white-space:nowrap}.sap2-real-fluids .sap2-vlab-table td{white-space:normal}.sap2-fluids-svg [data-part="fl-object"]{filter:drop-shadow(0 5px 7px rgba(138,73,30,.18))}.sap2-fluids-svg [data-role="fl-force-live"],.sap2-fluids-svg [data-role="fl-volume-label"]{font-variant-numeric:tabular-nums}
@media(max-width:480px){.sap2-fluids-svg{min-height:330px}.sap2-real-fluids .sap2-real-meters{grid-template-columns:1fr}.sap2-real-fluids .sap2-real-toolbar span{font-size:.78rem}}


/* v2.13.0 · Past Papers / Released FRQ Practice Studio */
.sap2-past-hero{background:linear-gradient(135deg,#f5fbfe 0%,#fff 58%,#f7fafb 100%)!important}
.sap2-align-table td,.sap2-question-map td{vertical-align:top}
.sap2-status{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:850;border:1px solid #cddce5;background:#f4f8fa;color:#284e66}
.sap2-status.current{background:#e8f7f2;border-color:#b3ddcf;color:#176c5d}.sap2-status.legacy{background:#fff4e6;border-color:#ecd0a5;color:#8b5a14}.sap2-status.useful{background:#edf6fc;border-color:#bad9ea;color:#17628c}
.sap2-paper-filter{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(200px,1fr) auto auto;gap:12px;align-items:end;margin:18px 0;padding:16px;border:1px solid #d6e4ec;border-radius:18px;background:#f8fbfd}
.sap2-paper-filter label{display:grid;gap:6px}.sap2-paper-filter label span{font-size:.78rem;font-weight:850;color:#466579;text-transform:uppercase;letter-spacing:.04em}.sap2-paper-filter select{width:100%;min-height:44px;border:1px solid #bdd1dd;border-radius:12px;background:#fff;padding:8px 38px 8px 12px;font:inherit;color:#17354c}.sap2-filter-count{align-self:center;font-weight:850;color:#3b6077;white-space:nowrap}.sap2-question-map tr[hidden]{display:none}
.sap2-year-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sap2-year-card{border:1px solid #d5e3eb;border-radius:20px;background:#fff;padding:22px;box-shadow:0 9px 26px rgba(17,44,66,.05)}.sap2-year-card.featured{background:linear-gradient(145deg,#eff8fc,#fff);border-color:#9fc9dc}.sap2-year-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sap2-year-card h3{margin:.15rem 0 .6rem}.sap2-year-card ul{padding-left:1.15rem;margin:.8rem 0}.sap2-year-card li{margin:.45rem 0}
.sap2-history-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sap2-history-strip>div{padding:16px;border:1px solid #d5e2ea;border-radius:15px;background:#fff;display:grid;gap:5px}.sap2-history-strip b{font-size:1.05rem;color:#15354d}.sap2-history-strip span{font-size:.82rem;color:#5c7181}.sap2-note{margin-top:14px;color:#536c7d}
.sap2-studio-score{position:sticky;top:10px;z-index:5;display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;padding:14px 16px;margin:16px 0 20px;border:1px solid #b8d5e3;border-radius:18px;background:rgba(247,252,254,.96);backdrop-filter:blur(8px);box-shadow:0 10px 28px rgba(17,44,66,.08)}.sap2-studio-score>div{display:grid;gap:2px}.sap2-studio-score span{font-size:.8rem;color:#5c7181}.sap2-studio-score strong{font-size:1.15rem;color:#15354d}
.sap2-past-drill{margin:16px 0;padding:22px;border:1px solid #d5e2ea;border-radius:20px;background:#fff}.sap2-drill-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.sap2-drill-head h3{margin:.45rem 0 .15rem}.sap2-drill-head p{margin:0;color:#5c7181}.sap2-drill-mark{min-width:92px;text-align:center;padding:10px 12px;border-radius:14px;background:#f1f7fa}.sap2-drill-mark span{display:block;font-size:.72rem;color:#668092;text-transform:uppercase;font-weight:850}.sap2-drill-mark strong{font-size:1.05rem;color:#15354d}.sap2-drill-prompt{margin:18px 0;padding:16px;border-left:4px solid #1773aa;background:#f6fafc;border-radius:0 14px 14px 0;font-size:1rem}.sap2-response-label{display:grid;gap:7px;font-weight:850;color:#284e66}.sap2-response-label textarea{width:100%;min-height:140px;resize:vertical;border:1px solid #bfd3df;border-radius:14px;padding:13px;font:inherit;line-height:1.55;background:#fff;color:#17354c}.sap2-response-label textarea:focus{outline:3px solid rgba(23,115,170,.15);border-color:#1773aa}.sap2-drill-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.sap2-drill-guide{margin-top:16px;padding:18px;border-radius:16px;background:#f7fbfd;border:1px solid #cfe1ea}.sap2-drill-guide h4{margin-top:0}.sap2-drill-guide fieldset{border:0;padding:0;margin:16px 0}.sap2-drill-guide legend{font-weight:850;margin-bottom:10px}.sap2-rubric-check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #dce8ee}.sap2-rubric-check input{width:18px;height:18px;margin-top:2px}.sap2-rubric-check span{display:grid;gap:2px;font-weight:500}.sap2-rubric-check b{color:#15354d}.sap2-drill-feedback{margin:12px 0 0;font-weight:800;color:#1b6d5b}.sap2-past-faq details{margin:10px 0;border:1px solid #d5e2ea;border-radius:14px;background:#fff;padding:0 16px}.sap2-past-faq summary{cursor:pointer;font-weight:850;padding:15px 0}.sap2-past-faq details p{padding:0 0 15px;margin:0;color:#455f71}
@media(max-width:900px){.sap2-paper-filter{grid-template-columns:1fr 1fr}.sap2-paper-filter .sap2-btn,.sap2-filter-count{width:100%}.sap2-history-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-studio-score{position:static}}
@media(max-width:680px){.sap2-year-grid{grid-template-columns:1fr}.sap2-paper-filter{grid-template-columns:1fr}.sap2-studio-score{grid-template-columns:1fr 1fr}.sap2-studio-score .sap2-btn{grid-column:1/-1;width:100%}.sap2-drill-head{grid-template-columns:1fr}.sap2-drill-mark{justify-self:start}.sap2-question-map{min-width:760px}}
@media(max-width:480px){.sap2-history-strip{grid-template-columns:1fr 1fr}.sap2-past-drill{padding:17px}.sap2-studio-score{grid-template-columns:1fr}.sap2-studio-score .sap2-btn{grid-column:auto}.sap2-drill-actions .sap2-btn{width:100%}}

/* v2.16.0 — complete Formula Sheet + 2027 Exam Format */
.sap2-formula-hero,.sap2-examformat-hero{align-items:center}
.sap2-formula-svg,.sap2-examformat-svg{min-height:330px}
.sap2-formula-tools{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(190px,.85fr) minmax(180px,.8fr) minmax(120px,.45fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid #d3e1e9;border-radius:17px;background:#f8fbfd}
.sap2-formula-tools label{display:grid;gap:6px;min-width:0}.sap2-formula-tools label>span{font-size:.78rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#567080}
.sap2-formula-tools input,.sap2-formula-tools select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #bfcfd9;border-radius:11px;background:#fff;color:#112c42;font:inherit;outline:none}
.sap2-formula-tools input:focus,.sap2-formula-tools select:focus{border-color:#1773aa;box-shadow:0 0 0 3px rgba(23,115,170,.12)}
.sap2-formula-count{display:flex;align-items:baseline;justify-content:center;gap:6px;min-height:48px;padding:9px 12px;border-radius:11px;background:#112c42;color:#fff;white-space:nowrap}.sap2-formula-count b{font-size:1.35rem}.sap2-formula-count span{font-size:.76rem;color:#c5d8e4}
.sap2-formula-tools .sap2-btn{margin:0;min-height:48px;white-space:nowrap}
.sap2-formula-group[hidden],.sap2-formula-card[hidden]{display:none!important}
.sap2-formula-card{position:relative;min-width:0}.sap2-formula-cardtop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.sap2-kindbadge{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;font-size:.64rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.sap2-kindbadge.is-reference{background:#e5f3fb;color:#0d638c;border:1px solid #b7d9e9}.sap2-kindbadge.is-course{background:#f2edfb;color:#624c97;border:1px solid #d2c7ec}.sap2-math-render{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 0;text-align:center;-webkit-overflow-scrolling:touch}.sap2-math-render math{display:inline-block;min-width:max-content;max-width:none;font-family:'Cambria Math','STIX Two Math','STIXGeneral','Times New Roman',serif;font-size:clamp(1.08rem,1.4vw,1.45rem);line-height:1.35}.sap2-math-plain{margin-top:7px;color:#6b7e8c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.35;text-align:center;overflow-wrap:anywhere}.sap2-eq{display:block;min-height:74px;overflow:hidden}
.sap2-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.sap2-tablewrap{max-width:100%;overflow:auto;border-radius:13px;border:1px solid #d7e2e9;background:#fff}.sap2-data-table{width:100%;border-collapse:collapse;min-width:520px}.sap2-data-table th,.sap2-data-table td{padding:10px 11px;text-align:left;border-bottom:1px solid #e5edf2;vertical-align:top}.sap2-data-table th{background:#112c42;color:#fff;font-size:.78rem;letter-spacing:.025em}.sap2-data-table tbody tr:last-child td{border-bottom:0}.sap2-data-table td{font-size:.88rem;color:#304653}.sap2-data-table tbody tr:nth-child(even){background:#f8fbfd}
.sap2-faqgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sap2-faqgrid details{padding:14px 15px;border:1px solid #d5e1e8;border-radius:14px;background:#fff}.sap2-faqgrid summary{cursor:pointer;font-weight:850;color:#112c42}.sap2-faqgrid details p{margin:10px 0 0;color:#405867;line-height:1.6}
.sap2-format-table td strong{color:#126a9e}
.sap2-format-panel{min-width:0;padding:20px;border:1px solid #d6e2e9;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(17,44,66,.045)}.sap2-format-panel.is-mcq{border-top:5px solid #1773aa}.sap2-format-panel.is-frq{border-top:5px solid #d96c2b}.sap2-format-panel h2{margin:8px 0 6px}.sap2-format-number{font-size:3.3rem;line-height:1;font-weight:950;color:#112c42;margin:10px 0}.sap2-format-number small{font-size:.88rem;font-weight:800;color:#60798a}
.sap2-frq-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-frq-type-grid article{position:relative;padding:19px 18px 18px 76px;border:1px solid #d6e2e9;border-radius:17px;background:#fff;min-height:180px}.sap2-frq-type-grid article>span{position:absolute;left:18px;top:18px;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#112c42;color:#fff;font-weight:900}.sap2-frq-type-grid h3{margin:0 0 7px;color:#112c42}.sap2-frq-type-grid p{margin:0 0 10px;color:#405867;line-height:1.55}.sap2-frq-type-grid b,.sap2-frq-type-grid small{display:block}.sap2-frq-type-grid b{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#60798a}.sap2-frq-type-grid small{margin-top:3px;line-height:1.45;color:#304653}
.sap2-exam-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:9px;align-items:stretch;margin:17px 0}.sap2-exam-flow>div{padding:15px;border:1px solid #d6e2e9;border-radius:15px;background:#fff}.sap2-exam-flow>div span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#1773aa;color:#fff;font-weight:900}.sap2-exam-flow>div b{display:block;margin:8px 0 4px;color:#112c42}.sap2-exam-flow>div p{margin:0;font-size:.84rem;line-height:1.5;color:#526b7a}.sap2-exam-flow>i{display:grid;place-items:center;font-style:normal;font-size:1.4rem;color:#8ca1ae}
.sap2-skill-meter{display:grid;gap:11px}.sap2-skill-meter>div b{display:block;margin-bottom:5px;font-size:.84rem;color:#304653}.sap2-skill-meter>div span{display:block;height:9px;border-radius:99px;background:#dfe8ed;overflow:hidden}.sap2-skill-meter>div i{display:block;width:var(--w);height:100%;border-radius:inherit;background:#1773aa}.sap2-muted{display:block;margin-top:11px;color:#718694;line-height:1.45}
.sap2-pacing-tool{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;padding:18px;border:1px solid #d3e1e9;border-radius:18px;background:#f8fbfd}.sap2-pacing-controls{display:grid;gap:13px}.sap2-pacing-controls label{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;padding:12px;border-radius:13px;background:#fff;border:1px solid #dce6ec}.sap2-pacing-controls label span{font-weight:800;color:#304653}.sap2-pacing-controls input{grid-column:1/-1;width:100%;accent-color:#1773aa}.sap2-pacing-controls output{font-weight:900;color:#1773aa;font-variant-numeric:tabular-nums}.sap2-pacing-results{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sap2-pacing-results>div{padding:16px;border-radius:14px;background:#112c42;color:#fff}.sap2-pacing-results b{display:block;font-size:1.35rem;font-variant-numeric:tabular-nums}.sap2-pacing-results span{display:block;margin-top:4px;font-size:.78rem;color:#bfd2df}
@media(max-width:1050px){.sap2-formula-tools{grid-template-columns:1fr 1fr}.sap2-formula-count{justify-content:flex-start}.sap2-exam-flow{grid-template-columns:1fr 1fr}.sap2-exam-flow>i{display:none}}
@media(max-width:760px){.sap2-formula-tools{grid-template-columns:1fr}.sap2-reference-grid,.sap2-faqgrid,.sap2-frq-type-grid,.sap2-pacing-tool{grid-template-columns:1fr}.sap2-exam-flow{grid-template-columns:1fr}.sap2-pacing-results{grid-template-columns:1fr 1fr}.sap2-formula-svg,.sap2-examformat-svg{min-height:270px}}
@media(max-width:480px){.sap2-pacing-results{grid-template-columns:1fr}.sap2-frq-type-grid article{padding:72px 15px 16px}.sap2-formula-tools{padding:12px}.sap2-format-number{font-size:2.7rem}.sap2-data-table{min-width:480px}}
/* v2.16.0 mobile containment correction */
.sap2-reference-grid>*{min-width:0}.sap2-tablewrap{width:100%;min-width:0;max-width:100%}
@media(max-width:760px){.sap2-reference-grid{min-width:0}.sap2-reference-grid .sap2-panel{min-width:0;width:auto;max-width:100%}.sap2-reference-grid .sap2-data-table{min-width:480px}}

/* v2.16.1 native MathML formula rendering */
.sap2-formula-card .sap2-eq{display:block!important;align-items:initial!important;justify-content:initial!important;overflow:hidden!important;padding:12px 10px!important}.sap2-formula-card .sap2-math-render::-webkit-scrollbar{height:7px}.sap2-formula-card .sap2-math-render::-webkit-scrollbar-thumb{background:#bdd1dd;border-radius:999px}@media(max-width:560px){.sap2-formula-card .sap2-eq{padding:10px 6px!important}.sap2-math-render math{font-size:1.05rem}.sap2-math-plain{font-size:.66rem}.sap2-formula-card{padding:15px}}

/* v2.16.2 formula variable dictionaries */
.sap2-formula-vars{margin-top:14px;padding-top:13px;border-top:1px solid #d8e3eb}.sap2-formula-vars h4{margin:0 0 8px;font-size:.86rem;letter-spacing:.02em;color:#12324a}.sap2-varlist{display:grid;gap:5px}.sap2-varrow{display:grid;grid-template-columns:minmax(64px,.55fr) minmax(130px,1.55fr) minmax(92px,.8fr) auto;gap:7px;align-items:center;padding:7px 8px;border:1px solid #e1e9ef;border-radius:9px;background:#f8fbfd;font-size:.78rem;line-height:1.25}.sap2-varrow code{font-weight:850;font-size:.82rem;color:#0c628d;background:#e9f5fb;border-radius:6px;padding:3px 5px;white-space:nowrap;justify-self:start}.sap2-varrow span{color:#293e51}.sap2-varrow b{font-size:.75rem;color:#122e45;font-variant-numeric:tabular-nums}.sap2-varrow small{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#687b8d;white-space:nowrap}.sap2-symbol-guide{grid-column:1/-1}.sap2-formula-card{align-self:start}.sap2-formula-card .sap2-math-render{overflow-x:auto;overflow-y:hidden;padding-bottom:3px}
@media(max-width:650px){.sap2-varrow{grid-template-columns:minmax(58px,.55fr) minmax(0,1.45fr);gap:5px 8px}.sap2-varrow b{grid-column:1/2}.sap2-varrow small{grid-column:2/3;justify-self:start}.sap2-formula-vars{margin-top:11px;padding-top:10px}}
@media(max-width:390px){.sap2-varrow{grid-template-columns:1fr}.sap2-varrow b,.sap2-varrow small{grid-column:auto}.sap2-varrow small{justify-self:start}}

/* v2.16.2 variable-row width hardening */
.sap2-varrow{grid-template-columns:minmax(52px,.55fr) minmax(0,1.5fr) minmax(68px,.75fr);max-width:100%;box-sizing:border-box}.sap2-varrow span{min-width:0;overflow-wrap:anywhere}.sap2-varrow b{min-width:0;overflow-wrap:anywhere}.sap2-varrow small{display:none}
@media(max-width:650px){.sap2-varrow{grid-template-columns:minmax(52px,.55fr) minmax(0,1.45fr);}.sap2-varrow b{grid-column:1/-1;padding-left:0}.sap2-varrow small{display:none}}
@media(max-width:390px){.sap2-varrow{grid-template-columns:1fr}.sap2-varrow b{grid-column:auto}}

/* v2.18.0 Pass Rate + Difficulty pages */
.sap2-stat strong{display:block;font-size:1.65rem;line-height:1.05;color:#102e46}.sap2-stepgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-step{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.sap2-step>b{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#102e46;color:#fff;margin-bottom:10px}.sap2-step h3{margin:0 0 7px}.sap2-step p{margin:0;color:var(--muted);line-height:1.55}.sap2-faq{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sap2-faq details{padding:14px 15px;border:1px solid #d5e1e8;border-radius:14px;background:#fff}.sap2-faq summary{cursor:pointer;font-weight:850;color:#112c42}.sap2-faq details p{margin:10px 0 0;color:#405867;line-height:1.6}.sap2-pass-hero .sap2-motion-svg{min-height:320px}@media(max-width:980px){.sap2-stepgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sap2-stepgrid,.sap2-faq{grid-template-columns:1fr}.sap2-pass-hero .sap2-motion-svg{min-height:260px}}

/* v2.19.0 Unit 1 Kinematics + Topic 1.1 */
.sap2-quickgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 8px}.sap2-quickgrid .sap2-stat{padding:16px;border:1px solid #d5e1e8;border-radius:15px;background:#fff}.sap2-quickgrid .sap2-stat>span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.055em;font-weight:900;color:#60798a;margin-bottom:7px}.sap2-quickgrid .sap2-stat small{display:block;margin-top:5px;color:#60798a;line-height:1.35}.sap2-stepstack{display:grid;gap:9px}.sap2-stepstack>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:11px 12px;border:1px solid #dbe5eb;border-radius:12px;background:#fff}.sap2-stepstack>div>b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#112c42;color:#fff}.sap2-stepstack>div span{color:#405867;line-height:1.5}.sap2-kin-eqgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-kin-eqgrid article{padding:16px;border:1px solid #d6e2e9;border-radius:15px;background:#fff}.sap2-kin-eqgrid article>span{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef5f9;color:#526b7a;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.sap2-kin-eqgrid article>b{display:block;margin:10px 0 6px;font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-size:1.18rem;color:#102e46;overflow-wrap:anywhere}.sap2-kin-eqgrid article p{margin:0;color:#526b7a;line-height:1.48}.sap2-conceptstack{display:grid;gap:10px}.sap2-conceptstack article{padding:14px;border:1px solid #d9e4ea;border-left:4px solid #1773aa;border-radius:12px;background:#fff}.sap2-conceptstack article b{color:#112c42}.sap2-conceptstack article p{margin:5px 0 0;color:#405867;line-height:1.52}.sap2-vector-lab{padding:18px;border:1px solid #ccdce6;border-radius:18px;background:#f8fbfd}.sap2-vector-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sap2-vector-controls label{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:13px;border:1px solid #d7e3ea;border-radius:13px;background:#fff}.sap2-vector-controls label span{font-weight:850;color:#304653}.sap2-vector-controls output{font-weight:950;color:#1773aa;font-variant-numeric:tabular-nums}.sap2-vector-controls input{grid-column:1/-1;width:100%;accent-color:#1773aa}.sap2-vector-stage{margin:14px 0 10px;border:1px solid #d9e4ea;border-radius:15px;background:#fff;overflow:hidden}.sap2-vector-stage svg{display:block;width:100%;height:auto;min-height:240px}.sap2-vector-readout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sap2-vector-readout>div{padding:13px;border-radius:12px;background:#112c42;color:#fff}.sap2-vector-readout span,.sap2-vector-readout small{display:block}.sap2-vector-readout span{font-size:.69rem;text-transform:uppercase;letter-spacing:.05em;color:#bed0dc;font-weight:800}.sap2-vector-readout strong{display:block;margin:4px 0;font-size:1.3rem;font-variant-numeric:tabular-nums}.sap2-vector-readout small{font-size:.7rem;line-height:1.35;color:#c8d7e1}.sap2-marker-a{fill:#1773aa}.sap2-marker-b{fill:#d96c2b}.sap2-marker-r{fill:#6952a3}.sap2-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-three>*{min-width:0}
@media(max-width:980px){.sap2-quickgrid,.sap2-vector-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-kin-eqgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-quickgrid,.sap2-kin-eqgrid,.sap2-vector-controls,.sap2-vector-readout,.sap2-three{grid-template-columns:1fr}.sap2-vector-stage svg{min-height:210px}.sap2-vector-lab{padding:12px}}
.sap2-kin-router{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:14px;padding:16px;border:1px solid #d2e0e8;border-radius:17px;background:#f8fbfd}.sap2-kin-route-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sap2-kin-route-buttons button{appearance:none;text-align:left;padding:12px 13px;border:1px solid #d7e3ea;border-radius:11px;background:#fff;color:#304653;font:inherit;font-weight:800;cursor:pointer}.sap2-kin-route-buttons button:hover,.sap2-kin-route-buttons button:focus-visible{border-color:#8fbdd5;outline:none}.sap2-kin-route-buttons button.is-active{background:#112c42;color:#fff;border-color:#112c42}.sap2-kin-route-answer{padding:16px;border-radius:13px;background:#fff;border:1px solid #d7e3ea}.sap2-kin-route-answer>span{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.055em;color:#60798a;font-weight:900}.sap2-kin-route-answer>strong{display:block;margin:7px 0;color:#112c42;font-size:1.12rem}.sap2-kin-route-answer p{color:#405867;line-height:1.55}.sap2-kin-route-answer .sap2-btn{margin-top:4px}
@media(max-width:760px){.sap2-kin-router,.sap2-kin-route-buttons{grid-template-columns:1fr}}

/* v2.20.0 — Topics 1.2 and 1.3 */
.sap2-dva-hero .sap2-motion-svg,.sap2-motion-hero .sap2-motion-svg{min-height:310px}
.sap2-eqbox{display:grid;gap:5px;margin-top:14px;padding:14px 15px;border:1px solid #cfe0e9;border-radius:14px;background:#f8fbfd}.sap2-eqbox>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;font-weight:900;color:#60798a}.sap2-eqbox>strong{font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-size:1.25rem;color:#102e46}.sap2-eqbox>small{color:#60798a}.sap2-eqbox.compact{margin:10px 0;padding:11px 12px}.sap2-eqbox.compact>strong{font-size:1.12rem}
.sap2-dva-defgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-dva-defgrid article{padding:17px;border:1px solid #d5e1e8;border-radius:16px;background:#fff}.sap2-dva-defgrid article>span{display:inline-block;padding:3px 7px;border-radius:999px;background:#edf6fb;color:#0c628d;font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.sap2-dva-defgrid h3{margin:9px 0 4px}.sap2-dva-defgrid p{color:#405867;line-height:1.55}.sap2-dva-defgrid dl{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:12px 0 0;padding-top:10px;border-top:1px solid #e4ebef;font-size:.84rem}.sap2-dva-defgrid dt{font-weight:850;color:#60798a}.sap2-dva-defgrid dd{margin:0;font-weight:800;color:#112c42}
.sap2-dva-tool{padding:18px;border:1px solid #cddce5;border-radius:18px;background:#f8fbfd}.sap2-dva-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sap2-dva-controls label{display:grid;gap:6px;padding:12px;border:1px solid #d6e2e9;border-radius:13px;background:#fff}.sap2-dva-controls label>span{font-size:.78rem;font-weight:850;color:#304653}.sap2-dva-controls input{width:100%;min-height:42px;padding:7px 9px;border:1px solid #bfcfd9;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-variant-numeric:tabular-nums}.sap2-dva-controls small{color:#60798a;font-size:.72rem}.sap2-dva-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.sap2-dva-results>div{padding:13px;border-radius:13px;background:#112c42;color:#fff}.sap2-dva-results span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:#bed0dc}.sap2-dva-results strong{display:block;margin:4px 0;font-size:1.16rem;font-variant-numeric:tabular-nums}.sap2-dva-results small{display:block;color:#cad8e2;font-size:.72rem;line-height:1.4}.sap2-dva-interpret{margin-top:12px;padding:13px 14px;border:1px solid #cfe0e9;border-radius:12px;background:#fff;color:#304653;line-height:1.55;font-weight:750}
.sap2-checklist{display:grid;gap:8px;padding-left:0;counter-reset:sap2check;list-style:none}.sap2-checklist li{position:relative;padding:10px 12px 10px 44px;border:1px solid #dbe5eb;border-radius:12px;background:#fff;color:#405867}.sap2-checklist li:before{counter-increment:sap2check;content:counter(sap2check);position:absolute;left:10px;top:9px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#112c42;color:#fff;font-size:.75rem;font-weight:900}
.sap2-motion-scope{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sap2-motion-scope article{padding:15px;border:1px solid #d5e1e8;border-radius:15px;background:#fff}.sap2-motion-scope article>span{display:inline-block;padding:3px 7px;border-radius:999px;background:#112c42;color:#fff;font-size:.67rem;font-weight:900}.sap2-motion-scope h3{margin:9px 0 6px;font-size:1rem}.sap2-motion-scope p{margin:0;color:#405867;line-height:1.5}
.sap2-motion-studio{padding:18px;border:1px solid #cddce5;border-radius:18px;background:#f8fbfd}.sap2-motion-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sap2-motion-controls label{display:grid;grid-template-columns:1fr auto;gap:7px 10px;padding:12px;border:1px solid #d6e2e9;border-radius:13px;background:#fff}.sap2-motion-controls span{font-size:.78rem;font-weight:850;color:#304653}.sap2-motion-controls output{font-size:.82rem;font-weight:900;color:#1773aa;font-variant-numeric:tabular-nums}.sap2-motion-controls input{grid-column:1/-1;width:100%;accent-color:#1773aa}.sap2-motion-studio-readout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.sap2-motion-studio-readout>div{padding:11px 12px;border:1px solid #d4e1e8;border-radius:12px;background:#fff}.sap2-motion-studio-readout span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#60798a;font-weight:850}.sap2-motion-studio-readout strong{display:block;margin-top:4px;color:#112c42;font-size:1rem;font-variant-numeric:tabular-nums}.sap2-motion-canvas{margin-top:12px;padding:6px;border:1px solid #d7e3ea;border-radius:15px;background:#fff;overflow:hidden}.sap2-motion-canvas svg{display:block;width:100%;height:auto;min-height:520px}.sap2-motion-studio-note{margin-top:10px;padding:11px 13px;border-radius:11px;background:#112c42;color:#fff;line-height:1.5}.sap2-ms-area{fill:rgba(217,108,43,.12);stroke:none}.sap2-ms-dot{fill:#1773aa;stroke:#fff;stroke-width:2}.sap2-ms-vel{stroke:#d96c2b;stroke-width:4;fill:none}.sap2-ms-zero{fill:#6952a3}
.sap2-motion-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-motion-cases article{padding:15px;border:1px solid #d7e3ea;border-radius:15px;background:#fff}.sap2-motion-cases h3{margin:12px 0 5px}.sap2-motion-cases p{margin:0;color:#405867;line-height:1.5}.sap2-dotstrip{position:relative;height:48px}.sap2-dotstrip i{position:absolute;top:18px;width:12px;height:12px;border-radius:50%;background:#1773aa}.sap2-dotstrip i:nth-child(1){left:4%}.sap2-dotstrip i:nth-child(2){left:25%}.sap2-dotstrip i:nth-child(3){left:46%}.sap2-dotstrip i:nth-child(4){left:67%}.sap2-dotstrip i:nth-child(5){left:88%}.sap2-motion-cases .is-spread .sap2-dotstrip i:nth-child(1){left:4%}.sap2-motion-cases .is-spread .sap2-dotstrip i:nth-child(2){left:14%}.sap2-motion-cases .is-spread .sap2-dotstrip i:nth-child(3){left:31%}.sap2-motion-cases .is-spread .sap2-dotstrip i:nth-child(4){left:57%}.sap2-motion-cases .is-spread .sap2-dotstrip i:nth-child(5){left:88%}.sap2-motion-cases .is-compress .sap2-dotstrip i:nth-child(1){left:4%}.sap2-motion-cases .is-compress .sap2-dotstrip i:nth-child(2){left:35%}.sap2-motion-cases .is-compress .sap2-dotstrip i:nth-child(3){left:61%}.sap2-motion-cases .is-compress .sap2-dotstrip i:nth-child(4){left:78%}.sap2-motion-cases .is-compress .sap2-dotstrip i:nth-child(5){left:88%}
@media(max-width:980px){.sap2-dva-defgrid,.sap2-motion-scope{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-dva-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.sap2-dva-results,.sap2-motion-studio-readout{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-dva-defgrid,.sap2-dva-controls,.sap2-dva-results,.sap2-motion-scope,.sap2-motion-controls,.sap2-motion-studio-readout,.sap2-motion-cases{grid-template-columns:1fr}.sap2-dva-tool,.sap2-motion-studio{padding:12px}.sap2-motion-canvas svg{min-height:430px}.sap2-dva-hero .sap2-motion-svg,.sap2-motion-hero .sap2-motion-svg{min-height:250px}}

/* v2.21.0: stronger Topic 1.1 examples + guaranteed callout contrast */
.sap2-callout{line-height:1.58}
.sap2-callout p{margin:6px 0 0;color:inherit!important}
.sap2-callout strong{color:inherit!important}
.sap2-callout a{color:inherit!important;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}
.sap2-callout.warning{background:#fff2cc!important;border-color:#d6a83b!important;color:#4a3300!important;box-shadow:inset 4px 0 0 #c98d00}
.sap2-callout.warning p,.sap2-callout.warning strong,.sap2-callout.warning b,.sap2-callout.warning span,.sap2-callout.warning a{color:#4a3300!important}
.sap2-callout-info{background:#eef7fc!important;border-color:#9fcce1!important;color:#173f56!important}
.sap2-callout-info p,.sap2-callout-info strong,.sap2-callout-info a{color:#173f56!important}
.sap2-type-pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:.76rem;font-weight:900;line-height:1;border:1px solid transparent;white-space:nowrap}
.sap2-type-pill.scalar{background:#f0f7fb;color:#155e84;border-color:#b8d8e8}
.sap2-type-pill.vector{background:#f4effb;color:#5d4391;border-color:#d3c3eb}
.sap2-mini-example{display:inline-block;margin-top:4px;color:#526b7a;font-size:.9rem;line-height:1.4}
.sap2-mini-examples{display:grid;gap:6px;margin-top:9px}
.sap2-mini-examples span{display:block;padding:7px 9px;border-radius:9px;background:#f6f9fb;color:#314b5b;font-size:.89rem;line-height:1.45}
.sap2-mini-examples strong{color:#17364b}
.sap2-example-table td{vertical-align:top}
.sap2-rep-cards .sap2-panel{height:100%}
@media(max-width:760px){.sap2-example-table{min-width:760px}.sap2-mini-examples span{font-size:.86rem}}


/* v2.22.0 — topic practice routing, example coverage, and contrast hardening */
.sap2-dva-results>div{background:#112c42!important;color:#fff!important}
.sap2-dva-results>div span{color:#d5e4ee!important}
.sap2-dva-results>div strong{color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.18)}
.sap2-dva-results>div small{color:#e5eef4!important}
.sap2-dva-results>div *{opacity:1!important}
.sap2-practice-picker{margin:24px 0;padding:20px;border:1px solid #cddce5;border-radius:20px;background:#f8fbfd}
.sap2-practice-picker h2{margin:.25rem 0 .45rem}.sap2-practice-picker p{margin:0;color:#536a79}
.sap2-practice-topic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}
.sap2-practice-topic{display:flex;min-height:128px;flex-direction:column;gap:6px;padding:14px;border:1px solid #cddce5;border-radius:15px;background:#fff;color:#112c42;text-decoration:none!important;box-shadow:0 6px 18px rgba(17,44,66,.04)}
.sap2-practice-topic:hover,.sap2-practice-topic.is-active{border-color:#1773aa;background:#edf6fb;transform:translateY(-1px)}
.sap2-practice-topic span{font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#1773aa}.sap2-practice-topic strong{line-height:1.28}.sap2-practice-topic small{margin-top:auto;color:#5d7180;font-weight:750}
.sap2-topic-practice-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;background:#f4f9fc;border:1px solid #cbdde7}
.sap2-topic-practice-cta h2{margin:.25rem 0 .35rem}.sap2-topic-practice-cta p{margin:0;color:#536a79}
.sap2-mini-examples{display:grid;gap:7px;margin-top:10px}.sap2-mini-examples>span{display:block;padding:8px 10px;border-radius:10px;background:#f7fafc;border:1px solid #e1e9ee;color:#304653}
.sap2-example-table td,.sap2-table td{vertical-align:top}
.sap2-callout>strong,.sap2-callout>p,.sap2-trap>strong,.sap2-trap>p{opacity:1!important}
.sap2-callout.warning,.sap2-trap{color:#2b1a17!important}.sap2-callout.warning p,.sap2-trap p,.sap2-callout.warning strong,.sap2-trap strong{color:#2b1a17!important}
@media(max-width:1050px){.sap2-practice-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sap2-practice-topic-grid{grid-template-columns:1fr}.sap2-practice-topic{min-height:0}.sap2-topic-practice-cta{grid-template-columns:1fr}.sap2-topic-practice-cta .sap2-linkrow{justify-content:flex-start}.sap2-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.sap2-table{min-width:720px}}


/* v2.23.0 — practice discoverability + Unit 1 interactive audit */
.sap2-practice-gateway{display:flex;flex-direction:column;gap:8px;min-height:190px;padding:22px;border:1px solid #c9dce7;border-radius:18px;background:#fff;color:#112c42!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(17,44,66,.05)}
.sap2-practice-gateway:hover{border-color:#1773aa;transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,44,66,.08)}
.sap2-practice-gateway>span{font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#1773aa}.sap2-practice-gateway>strong{font-size:1.3rem;color:#112c42}.sap2-practice-gateway p{margin:0;color:#4c6576;line-height:1.55}.sap2-practice-gateway b{margin-top:auto;color:#0f6f9f}
.sap2-practice-directory td{vertical-align:middle}.sap2-mini-practice-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid #bad3e1;border-radius:999px;background:#f5fafc;color:#126f9e!important;text-decoration:none!important;font-weight:850;white-space:nowrap}.sap2-mini-practice-link:hover{background:#e8f4fa;border-color:#1773aa}
.sap2-relative-tool,.sap2-projectile-tool{padding:18px;border:1px solid #cddce5;border-radius:18px;background:#f8fbfd}.sap2-relative-controls,.sap2-projectile-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sap2-relative-controls label,.sap2-projectile-controls label{display:grid;gap:7px;padding:12px;border:1px solid #d6e2e9;border-radius:13px;background:#fff}.sap2-relative-controls label>span,.sap2-projectile-controls label>span{font-size:.78rem;font-weight:850;color:#304653}.sap2-relative-controls input{width:100%;min-height:42px;padding:7px 9px;border:1px solid #bfcfd9;border-radius:9px;background:#fff;color:#112c42;font:inherit}.sap2-projectile-controls input{width:100%;accent-color:#1773aa}.sap2-projectile-controls output{font-size:.82rem;font-weight:900;color:#1773aa}.sap2-relative-controls small{color:#60798a;font-size:.72rem}
.sap2-relative-results,.sap2-projectile-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.sap2-projectile-results{grid-template-columns:repeat(5,minmax(0,1fr))}.sap2-relative-results>div,.sap2-projectile-results>div{padding:13px;border-radius:13px;background:#112c42!important;color:#fff!important}.sap2-relative-results span,.sap2-projectile-results span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:#d5e4ee!important}.sap2-relative-results strong,.sap2-projectile-results strong{display:block;margin:4px 0;color:#fff!important;font-size:1.08rem;font-variant-numeric:tabular-nums}.sap2-relative-results small,.sap2-projectile-results small{display:block;color:#e5eef4!important;font-size:.72rem;line-height:1.4}.sap2-relative-interpret,.sap2-projectile-interpret{margin-top:12px;padding:13px 14px;border:1px solid #cfe0e9;border-radius:12px;background:#fff;color:#304653;line-height:1.55;font-weight:750}
@media(max-width:980px){.sap2-relative-results,.sap2-projectile-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-relative-controls,.sap2-projectile-controls,.sap2-relative-results,.sap2-projectile-results{grid-template-columns:1fr}.sap2-relative-tool,.sap2-projectile-tool{padding:12px}.sap2-practice-directory{min-width:720px}}

/* v2.24.0 — five full 2027 model papers */
.sap2-model-paper-hero{align-items:center}
.sap2-model-badge{display:grid;place-items:center;align-content:center;min-height:250px;padding:28px;border-radius:24px;background:linear-gradient(145deg,#102d43,#184d6b);color:#fff;text-align:center;box-shadow:0 18px 44px rgba(17,44,66,.18)}
.sap2-model-badge b{font-size:4.4rem;line-height:.95}.sap2-model-badge span{margin:8px 0 14px;color:#d7e9f3;font-weight:800}.sap2-model-badge strong{font-size:1rem;color:#fff}
.sap2-practice-gateway.is-model{background:#112c42;color:#fff!important;border-color:#112c42}.sap2-practice-gateway.is-model>strong,.sap2-practice-gateway.is-model b{color:#fff}.sap2-practice-gateway.is-model p{color:#d7e3ea}.sap2-practice-gateway.is-model>span{color:#8fd3f4}
.sap2-model-paper-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.sap2-model-paper-card{display:flex;min-height:130px;flex-direction:column;gap:8px;padding:17px;border:1px solid #cbdce6;border-radius:16px;background:#fff;color:#112c42!important;text-decoration:none!important;box-shadow:0 7px 20px rgba(17,44,66,.04)}
.sap2-model-paper-card:hover,.sap2-model-paper-card.is-active{border-color:#1773aa;background:#edf7fc;transform:translateY(-2px)}
.sap2-model-paper-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;color:#1773aa;font-weight:900}.sap2-model-paper-card strong{font-size:1.08rem;line-height:1.3}.sap2-model-paper-card small{margin-top:auto;color:#60798a;font-weight:750}
.sap2-model-paper-title{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:16px}.sap2-model-paper-title h2{margin-bottom:6px}.sap2-exam-clock{display:grid;place-items:center;min-width:170px;padding:17px 22px;border-radius:16px;background:#112c42;color:#fff;text-align:center}.sap2-exam-clock b{font-size:1.7rem}.sap2-exam-clock span{font-size:.76rem;color:#c8d7e1}
.sap2-model-key details{border:1px solid #cbdce6;border-radius:15px;background:#f8fbfd;padding:15px}.sap2-model-key summary{cursor:pointer;font-weight:900;color:#112c42}.sap2-answer-key-grid{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;margin-top:14px}.sap2-answer-key-grid span{display:grid;grid-template-columns:auto 1fr;gap:4px;align-items:center;padding:7px 6px;border-radius:9px;background:#fff;border:1px solid #d7e4ea;text-align:center;font-weight:800}.sap2-answer-key-grid b{color:#60798a;font-size:.72rem}
.sap2-model-frq{scroll-margin-top:90px}.sap2-frq-parts{margin-top:14px}.sap2-frq-parts li{margin:7px 0;line-height:1.55}.sap2-full-solution{margin-top:16px}.sap2-full-solution>summary{cursor:pointer;font-weight:900;color:#0f6f9f}.sap2-model-visual{display:block;width:100%;height:auto;max-height:280px;margin:14px 0;padding:10px;border:1px solid #d7e4ea;border-radius:14px;background:#fff}.sap2-blueprint-note .sap2-table td:nth-child(2),.sap2-blueprint-note .sap2-table td:nth-child(3),.sap2-blueprint-note .sap2-table td:nth-child(4){text-align:center}
@media(max-width:1050px){.sap2-model-paper-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sap2-answer-key-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:760px){.sap2-model-badge{min-height:190px}.sap2-model-badge b{font-size:3.4rem}.sap2-model-paper-grid{grid-template-columns:1fr}.sap2-model-paper-card{min-height:0}.sap2-model-paper-title{grid-template-columns:1fr}.sap2-exam-clock{min-width:0;width:100%}.sap2-answer-key-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media print{
  .sap2-subnav,.sap2-crumbs,.sap2-practice-gateways,#paper-selector,.sap2-blueprint-note,.sap2-footerlinks,.sap2-source,.sap2-model-key,.sap2-actions,[data-sap2-print]{display:none!important}
  .sap2{max-width:none!important;width:100%!important;padding:0!important}
  .sap2-section,.sap2-question,.sap2-frq{box-shadow:none!important;break-inside:avoid}
  .sap2-mcq-actions,.sap2-mcq-feedback,.sap2-mcq-explanation,.sap2-full-solution{display:none!important}
}

/* v2.25.0: definition-first callouts must remain readable under any theme */
.sap2-callout-info h2,.sap2-callout-info .sap2-eyebrow{color:#173f56!important;opacity:1!important}
.sap2-callout h2{margin:4px 0 8px!important;line-height:1.2}
.sap2-callout .sap2-eyebrow{display:block;margin-bottom:2px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* v2.26.0: complete official syllabus/topic directory */
.sap2-syllabus-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.sap2-syllabus-unit{height:100%;padding:20px;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:#fff}
.sap2-syllabus-unit h3{margin:0 0 6px}.sap2-syllabus-unit>p{margin:0}
.sap2-topic-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0}
.sap2-topic-list li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-top:1px solid rgba(15,23,42,.09)}
.sap2-topic-list li b{font-variant-numeric:tabular-nums}.sap2-topic-list li a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sap2-topic-count{display:inline-flex;margin-top:14px;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#1e293b;font-weight:700;font-size:.88rem}
@media(max-width:780px){.sap2-syllabus-map{grid-template-columns:1fr}.sap2-topic-list li{grid-template-columns:46px minmax(0,1fr)}.sap2-table{min-width:720px}}

/* v2.27.0 — Unit 2 + site-wide visibility hardening */
/* Explicit contrast for every intentionally dark learning surface so theme rules cannot hide text. */
.sap2 .sap2-panel.dark,.sap2 .sap2-resource.is-dark,.sap2 .sap2-stat.is-accent,.sap2 .sap2-model-badge,.sap2 .sap2-exam-clock,.sap2 .sap2-motion-studio-note,.sap2 .sap2-practice-gateway.is-model,.sap2 .sap2-dva-results>div,.sap2 .sap2-relative-results>div,.sap2 .sap2-projectile-results>div,.sap2 .sap2-u2-results>div,.sap2 .sap2-u2-topic-badge{color:#fff!important}
.sap2 .sap2-panel.dark :is(h1,h2,h3,h4,p,strong,b,span,li,dt,dd,a),.sap2 .sap2-resource.is-dark :is(h1,h2,h3,h4,p,strong,b,span,small,a),.sap2 .sap2-stat.is-accent :is(strong,b,span,small),.sap2 .sap2-model-badge :is(strong,b,span,small),.sap2 .sap2-exam-clock :is(strong,b,span,small),.sap2 .sap2-motion-studio-note :is(strong,b,span,small,a),.sap2 .sap2-practice-gateway.is-model :is(strong,b,p,span,small),.sap2 .sap2-u2-results>div :is(strong,b,span,small),.sap2 .sap2-u2-topic-badge :is(strong,b,span,small){color:#fff!important;opacity:1!important}
.sap2 .sap2-panel.dark p,.sap2 .sap2-resource.is-dark p,.sap2 .sap2-model-badge span,.sap2 .sap2-exam-clock span,.sap2 .sap2-u2-results>div span,.sap2 .sap2-u2-results>div small,.sap2 .sap2-u2-topic-badge small{color:#dbeaf3!important}
.sap2 .sap2-callout.success{background:#eaf8f1!important;border-color:#a9d6c5!important;color:#174b3b!important}.sap2 .sap2-callout.success :is(h2,h3,p,strong,b,span,small,a){color:#174b3b!important;opacity:1!important}
.sap2 .sap2-example{background:#fff7ed!important;color:#4a2b12!important}.sap2 .sap2-example :is(h2,h3,p,strong,b,span,small,a){color:#4a2b12!important;opacity:1!important}
.sap2 .sap2-trap{background:#fff0f0!important;color:#4b2020!important}.sap2 .sap2-trap :is(h2,h3,p,strong,b,span,small,a){color:#4b2020!important;opacity:1!important}
.sap2 .sap2-examlink{background:#edf9f6!important;color:#174b45!important}.sap2 .sap2-examlink :is(h2,h3,p,strong,b,span,small,a){color:#174b45!important;opacity:1!important}
.sap2 .sap2-table th{color:#40596b!important}.sap2 .sap2-table td{color:#263d50!important}.sap2 .sap2-table td a{color:#0d6799!important}.sap2 .sap2-table td .good{color:#0d7258!important}.sap2 .sap2-table td .bad{color:#9f3434!important}

.sap2-u2-hero{background:radial-gradient(circle at 82% 18%,rgba(217,108,43,.12),transparent 30%),linear-gradient(135deg,#fbfdff,#f1f7fb 58%,#fff8f1)!important}
.sap2-u2-visual{position:relative;min-height:330px;border:1px solid #cbdde7;border-radius:24px;background:linear-gradient(145deg,#f8fcfe,#eef6fa);overflow:hidden}.sap2-u2-block{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:150px;height:95px;border-radius:18px;background:#112c42;color:#fff;font-weight:900;letter-spacing:.08em;box-shadow:0 16px 30px rgba(17,44,66,.15)}.sap2-u2-arrow{position:absolute;font-weight:900;color:#173f56}.sap2-u2-arrow:after{content:"";position:absolute;background:#1773aa;border-radius:3px}.sap2-u2-arrow.right{left:69%;top:47%}.sap2-u2-arrow.right:after{left:-95px;top:12px;width:80px;height:4px;box-shadow:76px 0 0 0 #1773aa}.sap2-u2-arrow.left{right:69%;top:47%}.sap2-u2-arrow.left:after{right:-95px;top:12px;width:80px;height:4px}.sap2-u2-arrow.up{left:48%;bottom:72%}.sap2-u2-arrow.up:after{left:12px;top:26px;width:4px;height:72px}.sap2-u2-arrow.down{left:48%;top:72%}.sap2-u2-arrow.down:after{left:12px;bottom:26px;width:4px;height:72px}.sap2-u2-visual>strong{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:#fff;color:#153f59;box-shadow:0 5px 16px rgba(17,44,66,.08);white-space:nowrap}
.sap2-u2-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-u2-chain article{padding:18px;border:1px solid #d6e3ea;border-radius:16px;background:#fff}.sap2-u2-chain article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#112c42;color:#fff;font-weight:900}.sap2-u2-chain h3{margin:10px 0 5px}.sap2-u2-chain p{margin:0;color:#476071}
.sap2-u2-topic-hero{align-items:center}.sap2-u2-topic-badge{display:grid;place-items:center;align-content:center;min-height:250px;padding:26px;border-radius:24px;background:linear-gradient(145deg,#102c43,#184f6e);text-align:center;box-shadow:0 18px 40px rgba(17,44,66,.18)}.sap2-u2-topic-badge b{font-size:4rem;line-height:1;color:#fff!important}.sap2-u2-topic-badge span{margin-top:8px;font-weight:850}.sap2-u2-topic-badge strong{margin:14px 0 4px;font-size:1.05rem}
.sap2-u2-tool{padding:20px;border:1px solid #cddde6;border-radius:19px;background:#f8fbfd}.sap2-u2-tool .sap2-sectionhead{margin-bottom:14px}.sap2-u2-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sap2-u2-controls label{display:grid;grid-template-columns:1fr auto;gap:7px 10px;padding:12px;border:1px solid #d5e2e9;border-radius:13px;background:#fff}.sap2-u2-controls label>span{font-size:.78rem;font-weight:850;color:#304b5d}.sap2-u2-controls output{font-size:.8rem;font-weight:900;color:#176ea6}.sap2-u2-controls input{grid-column:1/-1;width:100%;accent-color:#176ea6}.sap2-u2-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.sap2-u2-results>div{padding:14px;border-radius:13px;background:#112c42!important}.sap2-u2-results span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.sap2-u2-results strong{display:block;margin-top:5px;font-size:1.15rem;font-variant-numeric:tabular-nums}.sap2-u2-interpret{margin:12px 0 0;padding:12px 14px;border:1px solid #d2e1e8;border-radius:12px;background:#fff;color:#304b5d;font-weight:700}
.sap2-u2-worked{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-u2-worked article{padding:18px;border:1px solid #d5e2e9;border-radius:17px;background:#fff}.sap2-u2-worked article>span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eaf5fb;color:#126995;font-size:.72rem;font-weight:900}.sap2-u2-worked h3{margin:10px 0 6px}.sap2-u2-worked p{color:#4b6373}.sap2-u2-worked article>div{margin-top:12px;padding:12px;border-left:4px solid #167e72;border-radius:0 11px 11px 0;background:#f0faf7;color:#254b43}.sap2-u2-worked article>div strong{display:block;color:#174b43!important;margin-bottom:4px}
@media(max-width:980px){.sap2-u2-chain{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u2-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u2-worked{grid-template-columns:1fr}.sap2-u2-topic-badge{min-height:190px}}
@media(max-width:680px){.sap2-u2-chain,.sap2-u2-controls,.sap2-u2-results{grid-template-columns:1fr}.sap2-u2-tool{padding:13px}.sap2-u2-visual{min-height:250px}.sap2-u2-block{width:125px;height:78px}.sap2-u2-topic-badge b{font-size:3.2rem}}

/* v2.27.0 final visibility fix — prevent link-row rules from turning primary buttons white-on-white. */
.sap2 a.sap2-btn,.sap2 button.sap2-btn{background:#126ea6!important;border-color:#126ea6!important;color:#fff!important}
.sap2 a.sap2-btn:hover,.sap2 button.sap2-btn:hover{background:#0c5f93!important;border-color:#0c5f93!important;color:#fff!important}
.sap2 a.sap2-btn.sap2-btn-secondary,.sap2 button.sap2-btn.sap2-btn-secondary{background:#fff!important;border-color:#b9d2e2!important;color:#105f91!important}
.sap2 a.sap2-btn.sap2-btn-secondary:hover,.sap2 button.sap2-btn.sap2-btn-secondary:hover{background:#eef7fc!important;border-color:#8fbdd5!important;color:#0b5682!important}
.sap2 .sap2-linkrow a.sap2-btn,.sap2 .sap2-linkrow button.sap2-btn{background:#126ea6!important;border-color:#126ea6!important;color:#fff!important}
.sap2 .sap2-linkrow a.sap2-btn.sap2-btn-secondary,.sap2 .sap2-linkrow button.sap2-btn.sap2-btn-secondary{background:#fff!important;border-color:#b9d2e2!important;color:#105f91!important}
.sap2 .sap2-btn:focus-visible{outline:3px solid rgba(18,110,166,.28)!important;outline-offset:3px}
.sap2 .sap2-btn:after{color:inherit!important}
.sap2 .sap2-table td.good{color:#0d7258!important}.sap2 .sap2-table td.bad{color:#9f3434!important}

/* v2.28.0 — final inherited-text contrast guard for buttons and interactive controls. */
.sap2 .sap2-btn :is(span,strong,b,small,em,i){color:inherit!important;opacity:1!important}
.sap2 .sap2-mini-practice-link :is(span,strong,b,small){color:inherit!important;opacity:1!important}
.sap2 input,.sap2 select,.sap2 textarea,.sap2 button{font-family:inherit}
.sap2 input,.sap2 select,.sap2 textarea{color:#173044!important;background:#fff!important}


/* v2.29.0 — Unit 2 lesson-first architecture */
.sap2-u2-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.sap2-u2-lesson-grid article{border:1px solid #d6e1ec;border-radius:18px;padding:22px;background:#fff;color:#172b44;box-shadow:0 8px 24px rgba(17,43,68,.05)}
.sap2-u2-lesson-grid h3{margin:8px 0 10px;color:#102a46;font-size:1.15rem;line-height:1.3}
.sap2-u2-lesson-grid p{margin:0;color:#31465b;line-height:1.72}
.sap2-topic-step{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#eaf4fb;color:#0f5279;font-weight:800}
.sap2-u2-checkpoint .sap2-callout{max-width:none}
.sap2-u2-checkpoint .sap2-callout p{color:#20384f!important}
@media(max-width:900px){.sap2-u2-lesson-grid{grid-template-columns:1fr}}

/* v2.30.0 — reader-first concept bridges and contextual learning links */
.sap2 .sap2-context-link{color:#0b6797!important;text-decoration:underline!important;text-decoration-thickness:1.5px;text-underline-offset:3px;font-weight:800}
.sap2 .sap2-context-link:hover{color:#084e75!important;text-decoration-thickness:2px!important}
.sap2-concept-bridges{scroll-margin-top:90px}
.sap2-bridge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.sap2-bridge-grid article{display:flex;flex-direction:column;min-height:210px;padding:20px;border:1px solid #d5e3eb;border-radius:17px;background:#fff;color:#20384d;box-shadow:0 7px 20px rgba(16,52,75,.045)}
.sap2-bridge-grid h3{margin:0 0 8px;color:#102f49;font-size:1.08rem;line-height:1.3}
.sap2-bridge-grid p{margin:0 0 12px;color:#334f63;line-height:1.68}
.sap2-bridge-example{margin-top:auto;padding:11px 12px;border-left:4px solid #cf6e2d;border-radius:0 10px 10px 0;background:#fff7ef;color:#4c321f;line-height:1.55}
.sap2-bridge-example strong{color:#5c3518!important}
.sap2 .sap2-context-cta{display:inline-flex;align-items:center;align-self:flex-start;margin-top:13px;padding:8px 11px;border:1px solid #b9d3e1;border-radius:999px;background:#eef7fb;color:#0d638f!important;font-weight:850;text-decoration:none!important;line-height:1.2}
.sap2 .sap2-context-cta:hover{background:#e3f2f8;color:#084e75!important;border-color:#8dbbd2}
@media(max-width:760px){.sap2-bridge-grid{grid-template-columns:1fr}.sap2-bridge-grid article{min-height:0}}

/* v2.31.0: exact contextual-definition landing points */
.sap2-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sap2-definition-card{border:1px solid #d6e2ef;border-radius:18px;background:#fff;padding:20px;scroll-margin-top:120px}
.sap2-definition-card h3{margin:0 0 8px;color:#102a47}
.sap2-definition-card p{margin:0 0 12px;color:#263b50}
.sap2-definition-card:target{outline:3px solid #0b6fa4;outline-offset:4px;background:#f4fbff}
@media(max-width:760px){.sap2-definition-grid{grid-template-columns:1fr}.sap2-definition-card{scroll-margin-top:90px}}

/* v2.34.0 Unit 3–8 source-page vocabulary, representation and practice QA */
.sap2-local-foundations .sap2-panel,
.sap2-representation-section,
.sap2-topic-visual,
.sap2-frq-stem,
.sap2-frq-parts,
.sap2-frq-guide,
.sap2-symbol-key{
  color:#122033 !important;
}
.sap2-topic-visual{
  margin:18px 0 24px;
  padding:18px;
  border:1px solid #c9d7ea;
  border-radius:16px;
  background:#f7fbff !important;
  overflow:hidden;
}
.sap2-topic-visual.is-compact{margin:14px 0 18px;padding:14px;}
.sap2-topic-visual-head{display:flex;gap:10px 20px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;}
.sap2-topic-visual-head strong{font-size:1rem;color:#0e2a52 !important;}
.sap2-topic-visual-head span{font-size:.9rem;color:#3c526d !important;}
.sap2-topic-visual svg{display:block;width:100%;max-width:720px;height:auto;margin:0 auto;background:#fff;border-radius:12px;}
.sap2-topic-visual svg text{fill:#122033 !important;font:600 14px/1.2 system-ui,sans-serif;}
.sap2-topic-visual svg path,
.sap2-topic-visual svg circle,
.sap2-topic-visual svg ellipse,
.sap2-topic-visual svg rect{stroke:#244b78;stroke-width:3;vector-effect:non-scaling-stroke;}
.sap2-topic-visual svg rect,
.sap2-topic-visual svg circle{fill:#eaf3ff;}
.sap2-topic-eq{display:block;font-size:1.03em;color:#102a43 !important;overflow-wrap:anywhere;}
.sap2-symbol-key{display:block;margin-top:8px;padding:8px 10px;border-left:3px solid #5e7ea5;background:#f4f7fb !important;font-size:.88rem;line-height:1.45;}
.sap2-symbol-key strong{color:#0e2a52 !important;}
.sap2-frq-stem{font-size:1.04rem;font-weight:650;margin:12px 0;color:#122033 !important;}
.sap2-frq-parts,.sap2-frq-guide{margin:10px 0 14px;padding-left:1.45rem;}
.sap2-frq-parts li,.sap2-frq-guide li{margin:.55rem 0;line-height:1.55;color:#122033 !important;}
.sap2-frq .sap2-answerkey,.sap2-frq .sap2-answerkey *{color:#122033 !important;}
.sap2-frq .sap2-rubric{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
@media (max-width:640px){.sap2-topic-visual{padding:10px}.sap2-topic-visual svg text{font-size:12px}.sap2-symbol-key{font-size:.82rem}}

/* v2.35.0 — topic-by-topic official mastery layer */
.sap2-topic-mastery{position:relative}
.sap2-topic-mastery .sap2-sectionhead{max-width:980px}
.sap2-mastery-grid,.sap2-mastery-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.sap2-mastery-scope ul{margin:12px 0 0;padding-left:1.25rem}
.sap2-mastery-scope li{margin:.55rem 0;line-height:1.55}
.sap2-mastery-critical{border:2px solid rgba(23,115,170,.24);background:linear-gradient(145deg,#f8fcff,#eef8fd)}
.sap2-mastery-critical p{font-size:1.02rem;line-height:1.65}
.sap2-subhead{margin-top:22px}
.sap2-mastery-examples .sap2-panel{position:relative;padding-top:52px}
.sap2-mastery-examples .sap2-topic-step{position:absolute;top:16px;left:18px}
.sap2-mastery-skills .sap2-panel{min-height:180px}
.sap2-mastery-boundary,.sap2-mastery-synthesis{margin-top:18px}
.sap2-mastery-synthesis .sap2-context-cta{display:inline-flex;margin-top:10px}
.sap2-topic-mastery .sap2-panel,.sap2-topic-mastery .sap2-callout,.sap2-topic-mastery .sap2-panel *,.sap2-topic-mastery .sap2-callout *{color:inherit}
@media(max-width:800px){.sap2-mastery-grid,.sap2-mastery-skills{grid-template-columns:1fr}.sap2-mastery-skills .sap2-panel{min-height:0}}
.sap2-topic-mastery .sap2-panel{color:#142f3f!important}
.sap2-topic-mastery .sap2-panel :is(h2,h3,h4,p,li,strong,b,span,small){color:#142f3f!important;opacity:1!important}
.sap2-topic-mastery .sap2-mastery-symbols{margin-top:14px;padding-top:12px;border-top:1px solid rgba(20,47,63,.14);font-size:.94rem}


/* v2.36.0 — 43-topic competitor-benchmark deep reasoning layer */
.sap2-competitive-depth{scroll-margin-top:95px}
.sap2-depth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.sap2-depth-grid .sap2-panel{position:relative;min-height:190px;padding:24px 24px 22px;background:#fff}
.sap2-depth-number{display:inline-grid;place-items:center;min-width:38px;height:30px;padding:0 10px;border-radius:999px;background:#e8f4fb;color:#0b5d88!important;font-size:.76rem;font-weight:900;letter-spacing:.08em}
.sap2-depth-why{background:linear-gradient(145deg,#fbfdff,#f1f8fc)!important;border-color:#c9dce8!important}
.sap2-transfer-challenge{margin:22px 0;padding:24px;border:1px solid #cfdde7;border-radius:20px;background:linear-gradient(145deg,#102c43,#173b57);box-shadow:0 14px 32px rgba(16,44,67,.10)}
.sap2-transfer-challenge :is(h3,p,strong,summary,span){color:#fff!important}
.sap2-transfer-head{display:flex;gap:12px 24px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}
.sap2-transfer-head .sap2-eyebrow{color:#9ed5f1!important}
.sap2-transfer-prompt{font-size:1.06rem;line-height:1.7;max-width:980px}
.sap2-solution-reveal{margin-top:16px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(255,255,255,.07);overflow:hidden}
.sap2-solution-reveal summary{cursor:pointer;padding:13px 16px;font-weight:850;list-style-position:inside}
.sap2-solution-reveal>div{padding:0 16px 15px;border-top:1px solid rgba(255,255,255,.18)}
.sap2-solution-reveal>div p{margin:.8rem 0}
.sap2-data-depth .sap2-panel{min-height:175px}
.sap2-frq-lenses{margin-top:24px;padding:22px;border:1px solid #d3e1ea;border-radius:20px;background:#f7fafc}
.sap2-frq-lens-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.sap2-frq-lens-grid article{padding:17px;border:1px solid #d9e5ec;border-radius:14px;background:#fff;color:#20384d}
.sap2-frq-lens-grid article b{display:block;margin-bottom:6px;color:#0e4f76!important}
.sap2-frq-lens-grid article p{margin:0;color:#314b5f!important;line-height:1.62}
.sap2-full-credit-move{margin-top:18px}
.sap2-full-credit-move p{margin-bottom:0;color:#21483f!important}
@media(max-width:800px){.sap2-depth-grid,.sap2-frq-lens-grid{grid-template-columns:1fr}.sap2-depth-grid .sap2-panel{min-height:0}.sap2-transfer-challenge{padding:18px}.sap2-frq-lenses{padding:16px}}


/* v2.37 ranking ecosystem: cumulative additions, no prior styles removed */
.sap2-rank-ecosystem .sap2-resourcegrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.sap2-scorecalc-hero,.sap2-topic-hero.sap2-scorecalc-hero{align-items:stretch}
.sap2-score-gauge{display:grid;grid-template-columns:auto auto auto auto auto;align-items:center;gap:10px;background:linear-gradient(145deg,#102c42,#183f5b);color:#fff;border-radius:24px;padding:28px;min-width:280px;box-shadow:0 18px 45px rgba(17,44,66,.18)}
.sap2-score-gauge strong{font-size:44px;line-height:1}.sap2-score-gauge span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sap2-score-gauge b{font-size:28px;color:#ffb36b}
.sap2-scorecalc-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:26px;align-items:start}
.sap2-score-inputs{display:grid;gap:18px}.sap2-score-inputs>label,.sap2-score-frqs label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;background:#f7fafc;border:1px solid #d8e4ec;border-radius:16px;padding:16px}.sap2-score-inputs label span{font-weight:850;color:#17384d}.sap2-score-inputs input[type=range]{grid-column:1/-1;width:100%;accent-color:#1773aa}.sap2-score-inputs output{font-weight:900;color:#1773aa}.sap2-score-frqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-score-frqs input{width:90px;padding:9px;border:1px solid #b8cbd8;border-radius:10px}.sap2-score-frqs small{grid-column:1/-1;color:#60798a}
.sap2-score-result{position:sticky;top:20px;background:linear-gradient(150deg,#112c42,#174b6e);color:#fff;border-radius:24px;padding:26px;box-shadow:0 20px 50px rgba(17,44,66,.2)}.sap2-score-result>span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:850;color:#c7e6f6}.sap2-score-result>strong{font-size:76px;line-height:.95;display:inline-block;margin:12px 2px}.sap2-score-result>small{font-size:22px}.sap2-score-result>div:not(.sap2-linkrow){display:flex;align-items:baseline;gap:8px;margin:12px 0}.sap2-score-result>div b{font-size:28px}.sap2-score-result dl{margin:16px 0}.sap2-score-result dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.15);padding:10px 0}.sap2-score-result dt,.sap2-score-result dd{margin:0}.sap2-score-result dd{font-weight:850}
.sap2-frq-connection-grid,.sap2-atlas-grid,.sap2-glossary-grid,.sap2-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.sap2-frq-connection,.sap2-atlas-grid article,.sap2-glossary-grid article,.sap2-plan-grid article{border:1px solid #d7e4ec;border-radius:18px;padding:20px;background:#fff;box-shadow:0 8px 24px rgba(22,64,89,.06)}.sap2-frq-connection>span,.sap2-atlas-grid article>span,.sap2-plan-grid article>span{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#1773aa;background:#eaf6fc;border-radius:999px;padding:6px 9px}.sap2-frq-connection h3,.sap2-atlas-grid h3,.sap2-plan-grid h2{margin:12px 0 8px;font-size:20px}.sap2-frq-connection small,.sap2-atlas-grid small{display:block;color:#60798a;font-weight:800;margin-top:12px}
.sap2-frq-atlas-controls,.sap2-glossary-controls{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.sap2-frq-atlas-controls label,.sap2-glossary-controls label{display:grid;gap:7px;font-weight:850;min-width:min(100%,420px)}.sap2-frq-atlas-controls input,.sap2-glossary-controls input{width:100%;padding:12px 14px;border:1px solid #b9cbd7;border-radius:12px;background:#fff}.sap2-frq-atlas-controls span,.sap2-glossary-controls span{font-weight:800;color:#526b7b}.sap2-atlas-topic-table td:nth-child(3){min-width:180px}
.sap2-frq-grade-badge{display:grid;grid-template-columns:auto auto;gap:6px 12px;align-content:center;background:#102c42;color:#fff;border-radius:24px;padding:26px;min-width:240px}.sap2-frq-grade-badge strong,.sap2-frq-grade-badge b{font-size:42px;line-height:1;color:#fff}.sap2-frq-grade-badge span{align-self:end;font-weight:800;color:#d7eef9}.sap2-grader-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}.sap2-grader-setup label{display:grid;gap:7px;font-weight:850}.sap2-grader-setup select{padding:12px;border:1px solid #bacdd9;border-radius:12px;background:#fff}.sap2-grader-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:24px;align-items:start}.sap2-grade-check{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:13px 0;border-bottom:1px solid #e3ebf0}.sap2-grade-check input{width:20px;height:20px;margin-top:2px;accent-color:#1773aa}.sap2-grade-check strong{display:block;color:#17384d}.sap2-grade-check small{display:block;color:#60798a;margin-top:3px}.sap2-response-notes{display:grid;gap:8px;margin-top:20px;font-weight:850}.sap2-response-notes textarea{padding:13px;border:1px solid #bdcfda;border-radius:12px;resize:vertical}.sap2-grader-result{position:sticky;top:20px;background:#f5f9fc;border:1px solid #ccdce6;border-radius:22px;padding:24px}.sap2-grader-result>span{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#526b7b}.sap2-grader-result>strong{font-size:64px;color:#1773aa}.sap2-grader-result>small{font-size:18px}.sap2-grader-bar{height:12px;background:#dfeaf0;border-radius:999px;overflow:hidden;margin:18px 0}.sap2-grader-bar i{display:block;height:100%;width:0;background:#1773aa;transition:width .2s ease}
.sap2-glossary-grid article h2{font-size:21px;margin:0 0 8px;color:#17384d}.sap2-glossary-grid article[hidden],.sap2-atlas-grid article[hidden]{display:none!important}.sap2-plan-grid article p{min-height:70px}.sap2-plan-grid.is-week{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media (max-width:820px){.sap2-scorecalc-grid,.sap2-grader-grid{grid-template-columns:1fr}.sap2-score-result,.sap2-grader-result{position:static}.sap2-score-frqs,.sap2-grader-setup{grid-template-columns:1fr}.sap2-score-gauge{min-width:0}.sap2-subnav>div{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}}
@media (max-width:520px){.sap2-score-gauge{grid-template-columns:1fr 1fr;}.sap2-score-gauge b{display:none}.sap2-score-frqs label{grid-template-columns:1fr}.sap2-score-frqs input{width:100%}}

/* v2.38.0 — SEO/AEO/GEO answer-first and source-transparency layer */
.sap2-aeo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);gap:18px;margin:20px 0 28px;padding:22px;border:1px solid #cfe0ea;border-radius:22px;background:linear-gradient(145deg,#fbfdff,#f1f8fc);box-shadow:0 10px 28px rgba(16,44,67,.06);scroll-margin-top:90px}
.sap2-aeo-main{min-width:0}.sap2-aeo-label{display:inline-block;margin-bottom:7px;padding:5px 9px;border-radius:999px;background:#dff3fc;color:#0b5d88!important;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.sap2-aeo h2{margin:0 0 10px;font-size:clamp(1.28rem,2vw,1.7rem);line-height:1.2;color:#102f46!important}.sap2-aeo-answer{margin:0;font-size:1.04rem;line-height:1.7;color:#203d52!important}.sap2-aeo-facts{padding:17px;border:1px solid #d8e5ed;border-radius:16px;background:#fff}.sap2-aeo-facts>strong{display:block;margin-bottom:8px;color:#102f46!important}.sap2-aeo-facts ul{margin:0;padding-left:1.15rem}.sap2-aeo-facts li{margin:.45rem 0;line-height:1.5;color:#2b485c!important}.sap2-aeo-meta{grid-column:1/-1;display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;padding-top:14px;border-top:1px solid #d7e4ec;font-size:.82rem;font-weight:750;color:#60798a}.sap2-aeo-meta span{display:inline-flex;align-items:center;gap:6px}.sap2-aeo-meta span:before{content:'✓';display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e3f5ed;color:#18734c;font-size:.72rem;font-weight:950}.sap2-aeo-meta a{margin-left:auto;color:#0b6596!important;font-weight:850;text-decoration:underline;text-underline-offset:3px}.sap2-source{scroll-margin-top:90px}
@media(max-width:780px){.sap2-aeo{grid-template-columns:1fr;padding:17px}.sap2-aeo-meta{grid-column:auto}.sap2-aeo-meta a{margin-left:0;width:100%}}


/* AP Physics 2 v1.0.1 — compatibility for Physics 2 interactive controls while preserving the Physics 1 visual system */
.sap2 input[type="search"],.sap2 input[type="number"],.sap2 select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #bfcfd9;border-radius:11px;background:#fff!important;color:#112c42!important;font:inherit;outline:none}
.sap2 input:focus,.sap2 select:focus{border-color:#1773aa;box-shadow:0 0 0 3px rgba(23,115,170,.12)}
.sap2-formula-tools{grid-template-columns:minmax(260px,1.35fr) minmax(220px,.85fr) minmax(130px,.45fr)}
.sap2-formulagrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.sap2-formula-card .sap2-eq{padding:13px;border-radius:12px;background:#f5f8fa}.sap2-formula-card code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#102a43}
.sap2-empty{padding:22px;border:1px dashed #b8cbd7;border-radius:15px;background:#f8fbfd;color:#536a79;text-align:center}
.sap2-bankhead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.sap2-bankhead p{color:#617184}
.sap2-options{display:grid;gap:10px;margin:16px 0}.sap2-option{display:flex;width:100%;align-items:flex-start;gap:12px;padding:13px 15px;border:1px solid #cfdce4;border-radius:14px;background:#fff!important;color:#17283d!important;cursor:pointer;text-align:left;font:inherit}.sap2-option:hover{border-color:#83b3cd;background:#f6fbfd!important}.sap2-option.is-correct{border-color:#45a17f!important;background:#eef9f5!important;color:#164c3c!important}.sap2-option.is-wrong{border-color:#cf7474!important;background:#fff4f4!important;color:#6d2c2c!important}.sap2-explain{margin-top:12px;padding:15px 17px;border-radius:12px;background:#f5f9fb;color:#173b55}
.sap2-problem{padding:22px;border:1px solid #d9e4ec;border-radius:20px;background:#fff;margin:15px 0}.sap2-problem>span{display:inline-block;margin-bottom:7px;color:#377da3;font-size:.74rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.sap2-calc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:850px}.sap2-calc .sap2-btn,.sap2-calc .sap2-result{grid-column:1/-1}.sap2-result{padding:18px 20px;border-radius:16px;background:#112c42;color:#fff}.sap2-result *{color:#fff!important}.sap2-gradeout{margin-top:14px;padding:14px;border-radius:12px;background:#edf6fb;color:#173b55}.sap2-plan{display:grid;gap:10px}.sap2-plan article{display:grid;grid-template-columns:110px minmax(180px,1fr) minmax(260px,2fr);gap:14px;padding:14px 16px;border:1px solid #dbe5ee;border-radius:13px;background:#fff}.sap2-checklist label{display:block;padding:12px 14px;border:1px solid #dce6ed;border-radius:13px;background:#fff}.sap2-checklist label input{width:auto!important;min-height:auto;margin-right:8px}.sap2-modelbtn{border:0;cursor:pointer}
.sap2-glossary-controls{padding:16px;border:1px solid #d3e1e9;border-radius:17px;background:#f8fbfd;margin-bottom:18px}.sap2-glossary-controls label{display:grid;gap:6px}.sap2-glossary-controls label>span{font-size:.78rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#567080}
.sap2 .sap2-resource.sap2-gloss{display:block}
@media(max-width:1050px){.sap2-formulagrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-formulagrid,.sap2-calc{grid-template-columns:1fr}.sap2-formula-tools{grid-template-columns:1fr}.sap2-plan article{grid-template-columns:1fr}.sap2-bankhead{display:block}}


/* AP Physics 2 v1.1.0 — Batch 1 hub + equation/formula sheet */
.sap2-hub-hero .sap2-lead{max-width:830px}
.sap2-hub-map td:first-child{min-width:190px}.sap2-hub-map td:nth-child(2){min-width:230px}.sap2-hub-map td:nth-child(3),.sap2-hub-map td:nth-child(4){min-width:260px}
.sap2-stepgrid>div{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.sap2-stepgrid>div>span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:10px;border-radius:50%;background:#102e46;color:#fff;font-size:.76rem;font-weight:900}.sap2-stepgrid>div h3{margin:0 0 7px}.sap2-stepgrid>div p{margin:0;color:var(--muted);line-height:1.55}.sap2-stepgrid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.sap2-formula-map{display:grid;gap:10px}.sap2-formula-maprow{display:grid;grid-template-columns:minmax(210px,.9fr) 70px minmax(320px,1.4fr);gap:16px;align-items:center;padding:14px 16px;border:1px solid #d8e4eb;border-radius:15px;background:#fff;color:var(--ink)!important;text-decoration:none}.sap2-formula-maprow:hover{border-color:#8ab9d4;background:#f9fcfe}.sap2-formula-maprow span{display:grid}.sap2-formula-maprow small{margin-top:2px}.sap2-formula-maprow>strong{font-size:1.4rem;color:#126ea6;text-align:center}.sap2-formula-maprow>p{margin:0;color:var(--muted);font-size:.91rem}
.sap2-constants-table td:nth-child(2),.sap2-constants-table td:nth-child(3){white-space:nowrap}.sap2-constants-table code{font-size:1rem;color:#102e46}.sap2-formula-reset,.sap2-formula-print{border:0;cursor:pointer;font:inherit}.sap2-formula-card[hidden]{display:none!important}.sap2-formula-card .sap2-linkrow{margin-top:12px}.sap2-formula-card .sap2-linkrow a{font-size:.8rem;min-height:34px;padding:5px 10px}
@media(max-width:900px){.sap2-formula-maprow{grid-template-columns:1fr auto}.sap2-formula-maprow>p{grid-column:1/-1}.sap2-stepgrid-compact{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.sap2-formula-maprow{grid-template-columns:1fr}.sap2-formula-maprow>strong{text-align:left}.sap2-stepgrid-compact{grid-template-columns:1fr!important}}
@media print{.sap2-formula-tools,.sap2-formula-card .sap2-linkrow,.sap2-faqgrid{display:none!important}.sap2-formulagrid{grid-template-columns:1fr 1fr!important;gap:8px}.sap2-formula-card{break-inside:avoid;box-shadow:none!important;padding:12px!important}.sap2-formula-card h3{font-size:12pt!important}.sap2-formula-card p,.sap2-formula-card .sap2-example{font-size:9pt!important}.sap2-formula-maprow{break-inside:avoid}.sap2-section{padding:18px 0!important}}

/* AP Physics 2 v1.2.0 — Batch 2 units + syllabus */
.sap2-unit-topiclist{margin:12px 0;border:1px solid #d7e3eb;border-radius:16px;background:#fff;overflow:hidden}
.sap2-unit-topiclist summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;cursor:pointer;color:#17364b;list-style-position:inside}
.sap2-unit-topiclist summary span{font-size:.78rem;font-weight:900;letter-spacing:.05em;color:#367a9f;text-transform:uppercase;white-space:nowrap}
.sap2-unit-topiclist[open] summary{background:#f4f9fc;border-bottom:1px solid #dce7ee}
.sap2-unit-topiclist .sap2-linkrow{padding:14px 18px;margin:0;justify-content:flex-start}
.sap2-unit-topiclist .sap2-linkrow a{font-size:.82rem;min-height:34px;padding:6px 10px}
.sap2-unit-flow{margin:18px 0 24px;padding:12px;border:1px solid #d8e5ed;border-radius:20px;background:linear-gradient(145deg,#fbfdff,#f3f9fc)}
.sap2-syllabus-unit{margin:0 0 24px;height:auto}
.sap2-syllabus-unit .sap2-sectionhead{margin-bottom:14px}
.sap2-syllabus-unit .sap2-resourcegrid{margin-top:0}
.sap2-syllabus-unit .sap2-resource{min-height:170px}
@media(max-width:760px){.sap2-unit-topiclist summary{align-items:flex-start;flex-direction:column}.sap2-unit-topiclist summary span{white-space:normal}.sap2-unit-flow{padding:6px}}


/* AP Physics 2 v1.2.1 — audit fixes for Units + Syllabus */
.sap2-stepgrid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.sap2-timeline-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.sap2-unit-flow-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border-radius:20px;scrollbar-width:thin}
.sap2-unit-flow-scroll:focus-visible{outline:3px solid #0b78b4;outline-offset:3px}
.sap2-mobile-map-hint{display:none;margin:7px 2px 0;color:#60798a;font-size:.82rem}
.sap2-progressbox{padding:18px;border:1px solid #cfdfe8;border-radius:20px;background:#f8fbfd}
.sap2-progress-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.sap2-progress-head strong{display:block;margin-top:3px;font-size:1.25rem;color:#102e46}
.sap2-progressbar{height:12px;border-radius:999px;background:#dfeaf0;overflow:hidden}.sap2-progressbar i{display:block;height:100%;width:0;border-radius:inherit;background:#168173;transition:width .2s ease}
.sap2-progress-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.sap2-progress-unit{min-width:0;padding:16px;border:1px solid #d8e4eb;border-radius:16px;background:#fff}.sap2-progress-unit h3{margin:0 0 10px}
.sap2-progress-list{display:grid;gap:7px}.sap2-progress-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e1e9ee;border-radius:11px;background:#fbfdfe}.sap2-progress-item label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:start;cursor:pointer}.sap2-progress-item input{width:18px;height:18px;margin:2px 0 0;accent-color:#168173}.sap2-progress-item span{min-width:0}.sap2-progress-item b,.sap2-progress-item small{display:block}.sap2-progress-item b{font-size:.84rem;line-height:1.35}.sap2-progress-item small{margin-top:2px;font-size:.7rem;color:#687d8b}.sap2-progress-item>a{white-space:nowrap;font-size:.74rem;font-weight:800;text-decoration:none;padding:5px 7px;border-radius:8px;background:#edf6fb}
.sap2-syllabus-print{border:0;cursor:pointer;font:inherit}
@media(max-width:1050px){.sap2-stepgrid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-timeline-five{grid-template-columns:repeat(3,minmax(0,1fr))}.sap2-progress-units{grid-template-columns:1fr}}
@media(max-width:760px){.sap2-stepgrid-four,.sap2-timeline-five{grid-template-columns:1fr}.sap2-unit-flow-scroll{border:1px solid #d8e5ed;background:#f8fbfd}.sap2-unit-flow-scroll .sap2-unit-flow{width:900px!important;min-width:900px!important;max-width:none!important;margin:0!important}.sap2-mobile-map-hint{display:block}.sap2-progress-head{align-items:flex-start;flex-direction:column}.sap2-progress-head .sap2-btn{width:100%}.sap2-progress-item{grid-template-columns:1fr}.sap2-progress-item>a{justify-self:start}}
@media print{.sap2-syllabus-print,#sap2SyllabusReset,.sap2-progress-item>a,.sap2-mobile-map-hint{display:none!important}.sap2-progressbox{background:#fff!important}.sap2-progress-units{grid-template-columns:1fr 1fr}.sap2-progress-item{break-inside:avoid}.sap2-timeline-five{grid-template-columns:repeat(5,1fr)!important}.sap2-unit-flow-scroll{overflow:visible!important}.sap2-unit-flow-scroll .sap2-unit-flow{width:100%!important;min-width:0!important}}


/* AP Physics 2 v1.3.0 — Exam Format + Exam Date */
.sap2-examformat-hero{align-items:center}.sap2-examformat-svg{min-height:330px}
.sap2-date-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:16px;align-items:stretch;margin-top:18px}
.sap2-countdown{display:grid;align-content:center;padding:24px;border:1px solid #c9dce7;border-radius:20px;background:linear-gradient(145deg,#112c42,#174b6e);color:#fff;box-shadow:0 14px 34px rgba(17,44,66,.12)}
.sap2-countdown>span{font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#bfdae9}.sap2-countdown>strong{display:block;margin:7px 0 5px;font-size:clamp(2rem,5vw,3.5rem);line-height:1;color:#fff}.sap2-countdown>small{color:#d8e7ef;line-height:1.45}
.sap2-examformat-hero .sap2-actions{align-items:center}.sap2-examformat-hero [data-exam-print],.sap2-pagehead [data-exam-print]{border:0;cursor:pointer;font:inherit}
.sap2[data-sap2-page="exam-format"] .sap2-format-panel,.sap2[data-sap2-page="exam-date"] .sap2-panel{min-width:0}
.sap2[data-sap2-page="exam-format"] .sap2-stepgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
.sap2[data-sap2-page="exam-date"] .sap2-timeline{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.sap2[data-sap2-page="exam-format"] .sap2-stepgrid,.sap2[data-sap2-page="exam-date"] .sap2-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-date-grid,.sap2[data-sap2-page="exam-format"] .sap2-stepgrid,.sap2[data-sap2-page="exam-date"] .sap2-timeline{grid-template-columns:1fr}.sap2-examformat-svg{min-height:270px}.sap2-countdown{padding:20px}.sap2-datecard{align-items:flex-start;flex-wrap:wrap}}
@media print{.sap2 [data-exam-print],.sap2[data-sap2-page="exam-format"] .sap2-actions,.sap2[data-sap2-page="exam-date"] .sap2-actions{display:none!important}.sap2-countdown{background:#fff!important;color:#000!important;box-shadow:none!important}.sap2-countdown *{color:#000!important}.sap2[data-sap2-page="exam-date"] .sap2-timeline{grid-template-columns:repeat(4,1fr)!important}}


/* AP Physics 2 v1.4.0 — Score Calculator + five full Practice Tests */
.sap2-model-paper-card{appearance:none;text-align:left;font:inherit;cursor:pointer}
.sap2-model-paper-card.is-active{box-shadow:0 0 0 3px rgba(23,115,170,.12),0 10px 24px rgba(17,44,66,.07)}
.sap2-model-workspace{scroll-margin-top:20px}
.sap2-model-toolbar{position:sticky;top:10px;z-index:12;display:grid;grid-template-columns:auto minmax(115px,auto) 1fr auto auto;gap:10px;align-items:center;margin:16px 0 22px;padding:13px 15px;border:1px solid #bdd3df;border-radius:17px;background:rgba(255,255,255,.97);backdrop-filter:blur(9px);box-shadow:0 9px 28px rgba(17,44,66,.08)}
.sap2-model-toolbar .sap2-model-timer{display:grid;grid-template-columns:auto auto;gap:3px 8px;align-items:baseline;padding:8px 11px;border-radius:12px;background:#112c42;color:#fff}.sap2-model-timer span{grid-column:1/-1;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:#bad0dc;font-weight:850}.sap2-model-timer strong{font-size:1.35rem;color:#fff;font-variant-numeric:tabular-nums}.sap2-model-timer small{color:#d8e6ee}
.sap2-model-progress{display:grid;gap:5px;min-width:150px}.sap2-model-progress>span{font-size:.78rem;font-weight:850;color:#526b7b}.sap2-model-progress>div{height:9px;border-radius:99px;background:#e1ebf0;overflow:hidden}.sap2-model-progress i{display:block;width:0;height:100%;background:#1773aa;transition:width .18s ease}
.sap2-model-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sap2-model-actions .sap2-btn{min-height:42px;padding:8px 12px;border:0;cursor:pointer;font:inherit}
.sap2-model-question-nav{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;margin:12px 0 20px}.sap2-model-question-nav button{min-height:38px;border:1px solid #cadbe5;border-radius:9px;background:#fff;color:#28465a;font:inherit;font-weight:850;cursor:pointer}.sap2-model-question-nav button.is-answered{background:#eaf6fb;border-color:#87bad2}.sap2-model-question-nav button.is-flagged:after{content:'•';color:#d96c2b;margin-left:2px}.sap2-model-question-nav button.is-current{outline:3px solid rgba(23,115,170,.17)}
.sap2-modelq{scroll-margin-top:110px}.sap2-modelq-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.sap2-modelq-unit{font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#1773aa}.sap2-flag-btn{border:1px solid #d1dee6;border-radius:999px;background:#fff;padding:7px 10px;color:#526b7b;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}.sap2-flag-btn.is-flagged{background:#fff3e7;border-color:#e4ba8e;color:#8b4d14}
.sap2-modelq .sap2-option.is-selected{border-color:#1773aa;background:#edf6fb!important;color:#173b55!important}.sap2-modelq.is-submitted .sap2-option{cursor:default}.sap2-modelq.is-submitted .sap2-option.is-correct{border-color:#45a17f!important;background:#eef9f5!important;color:#164c3c!important}.sap2-modelq.is-submitted .sap2-option.is-wrong{border-color:#cf7474!important;background:#fff4f4!important;color:#6d2c2c!important}
.sap2-model-submit-result{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:16px;margin:20px 0;padding:20px;border:1px solid #bdd8e6;border-radius:19px;background:#f6fbfd}.sap2-model-scorebox{padding:20px;border-radius:16px;background:#112c42;color:#fff}.sap2-model-scorebox span,.sap2-model-scorebox strong,.sap2-model-scorebox small{display:block;color:#fff}.sap2-model-scorebox strong{font-size:2.5rem;line-height:1.05;margin:7px 0}.sap2-model-scorebox span,.sap2-model-scorebox small{color:#d5e5ee}.sap2-unit-diagnostic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sap2-unit-diagnostic>div{padding:11px;border:1px solid #d7e4eb;border-radius:12px;background:#fff}.sap2-unit-diagnostic b,.sap2-unit-diagnostic span{display:block}.sap2-unit-diagnostic b{font-size:.8rem}.sap2-unit-diagnostic span{margin-top:3px;font-size:.85rem;color:#526b7b}
.sap2-model-frq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-model-frq{padding:21px;border:1px solid #d4e2ea;border-radius:18px;background:#fff}.sap2-model-frq>span{display:inline-block;padding:5px 8px;border-radius:999px;background:#edf6fb;color:#17638e;font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.sap2-model-frq h3{margin:10px 0 8px}.sap2-model-frq .sap2-frq-parts{padding-left:1.25rem}.sap2-model-frq .sap2-full-solution{margin-top:13px;padding-top:12px;border-top:1px solid #e0e9ee}.sap2-model-frq .sap2-full-solution summary{cursor:pointer;font-weight:850;color:#126a99}.sap2-frq-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.sap2-frq-evidence span{padding:8px 9px;border-radius:9px;background:#f6f9fb;color:#3f596a;font-size:.8rem}
.sap2-score-result p{color:#e6f1f7!important}.sap2-score-result dt{color:#d5e5ee!important}.sap2-score-result dd{color:#fff!important}.sap2-score-result span{color:#d5e5ee}.sap2-score-result strong,.sap2-score-result b,.sap2-score-result small{color:#fff!important}
.sap2-score-result .sap2-linkrow{margin-top:14px}.sap2-score-result .sap2-linkrow a{color:#fff!important}
@media(max-width:1050px){.sap2-model-toolbar{grid-template-columns:auto auto 1fr}.sap2-model-actions{grid-column:1/-1;justify-content:flex-start}.sap2-model-question-nav{grid-template-columns:repeat(10,minmax(0,1fr))}.sap2-unit-diagnostic{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sap2-model-toolbar{position:static;grid-template-columns:1fr 1fr}.sap2-model-progress{grid-column:1/-1}.sap2-model-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.sap2-model-actions .sap2-btn{width:100%}.sap2-model-question-nav{grid-template-columns:repeat(7,minmax(0,1fr))}.sap2-model-submit-result,.sap2-model-frq-grid{grid-template-columns:1fr}.sap2-unit-diagnostic{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sap2-model-toolbar{grid-template-columns:1fr}.sap2-model-progress,.sap2-model-actions{grid-column:auto}.sap2-model-actions{grid-template-columns:1fr}.sap2-model-question-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.sap2-unit-diagnostic,.sap2-frq-evidence{grid-template-columns:1fr}.sap2-score-gauge{padding:20px}.sap2-score-result{padding:20px}}
@media print{.sap2-model-toolbar,.sap2-model-question-nav,.sap2-model-paper-grid,.sap2-practice-gateways,.sap2-blueprint-note,.sap2-model-submit-result,.sap2-modelq .sap2-explain,.sap2-model-frq .sap2-full-solution{display:none!important}.sap2-modelq,.sap2-model-frq{break-inside:avoid}.sap2-modelq .sap2-option{border:0!important;padding:4px 0!important;background:#fff!important}.sap2-scorecalc [data-score-reset],.sap2-scorecalc [data-score-perfect],.sap2-scorecalc [data-score-print]{display:none!important}}

/* AP Physics 2 v1.5.0 — MCQ + FRQ practice rebuild */
.sap2-practice-hero{align-items:center}.sap2-practice-badge{display:grid;place-items:center;align-content:center;min-height:250px;padding:28px;border:1px solid #cddfe8;border-radius:26px;background:radial-gradient(circle at 70% 20%,rgba(23,115,170,.14),transparent 40%),linear-gradient(145deg,#f8fcfe,#edf7fb);text-align:center}.sap2-practice-badge b{font-size:clamp(3rem,7vw,5.7rem);line-height:.9;color:#102e46;letter-spacing:-.06em}.sap2-practice-badge span,.sap2-practice-badge strong{display:block}.sap2-practice-badge span{margin-top:12px;color:#60798a;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sap2-practice-badge strong{margin-top:6px;color:#176ea6;font-size:1.03rem}
.sap2-practice-selectors{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(320px,1.5fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid #d3e1e9;border-radius:18px;background:#f8fbfd}.sap2-practice-selectors label{display:grid;gap:6px;min-width:0}.sap2-practice-selectors label>span{font-size:.76rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#567080}.sap2-practice-selectors select{width:100%;min-height:48px;padding:9px 38px 9px 12px;border:1px solid #bfcfd9;border-radius:11px;background:#fff;color:#112c42;font:inherit}.sap2-practice-selectors .sap2-btn{margin:0;min-height:48px;white-space:nowrap}
.sap2-practice-topic-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:12px;padding:16px 18px;border:1px solid #bdd9e6;border-radius:15px;background:#edf8fd}.sap2-practice-topic-summary span,.sap2-practice-topic-summary strong{display:block}.sap2-practice-topic-summary span{font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#60798a}.sap2-practice-topic-summary strong{margin:4px 0;color:#102e46}.sap2-practice-topic-summary p{margin:0;color:#405867}.sap2-practice-topic-summary .sap2-linkrow{margin:0;justify-content:flex-end}
.sap2-bankhead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end}.sap2-bankhead .sap2-linkrow{margin:0;justify-content:flex-end}.sap2-bank-toolbar{position:sticky;top:10px;z-index:12;display:grid;grid-template-columns:minmax(230px,1fr) 90px 90px auto;gap:12px;align-items:center;margin:18px 0 12px;padding:14px 15px;border:1px solid #b8d2df;border-radius:17px;background:rgba(255,255,255,.97);backdrop-filter:blur(9px);box-shadow:0 9px 28px rgba(17,44,66,.08)}.sap2-bank-toolbar>div>span{display:block;color:#60798a;font-size:.7rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.sap2-bank-toolbar>div>strong{display:block;margin-top:3px;color:#112c42}.sap2-bank-progressbar{height:7px;margin-top:7px;border-radius:99px;background:#e4edf2;overflow:hidden}.sap2-bank-progressbar i{display:block;width:0;height:100%;background:#1773aa;border-radius:inherit;transition:width .15s ease}.sap2-bank-score{text-align:center}.sap2-bank-score strong{font-size:1.25rem}.sap2-bank-toolbar .sap2-btn{margin:0}
.sap2-bank-nav{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 18px}.sap2-bank-nav button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #cbd9e1;border-radius:9px;background:#fff;color:#39566a;font:inherit;font-size:.77rem;font-weight:850;cursor:pointer}.sap2-bank-nav button.is-answered{background:#eef6fa;border-color:#9fc5d8}.sap2-bank-nav button.is-correct{background:#edf8f4;border-color:#7cc0a7;color:#176c5d}.sap2-bank-nav button.is-flagged{box-shadow:inset 0 -4px 0 #d96c2b}.sap2-bank-question{scroll-margin-top:100px}.sap2-bank-question .sap2-option:disabled{cursor:default;opacity:1}.sap2-bank-question .sap2-explain p{margin:.45rem 0}.sap2-bank-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin:22px 0;padding:22px;border:1px solid #acd6c7;border-radius:19px;background:#eff9f5}.sap2-bank-result span,.sap2-bank-result strong{display:block}.sap2-bank-result span{font-size:.73rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#53786d}.sap2-bank-result strong{margin:5px 0;font-size:1.65rem;color:#155e50}.sap2-bank-result p{margin:0;color:#355e53}.sap2-bank-result .sap2-linkrow{margin:0;justify-content:flex-end}
.sap2-frq-workspace{scroll-margin-top:84px}.sap2-frq-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sap2-frq-time{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1f6f9;color:#5f7484;font-size:.72rem;font-weight:850}.sap2-frq-stem{padding:15px 17px;border-left:4px solid #1773aa;border-radius:0 12px 12px 0;background:#f5fafc;color:#304653}.sap2-frq-parts{margin:14px 0 18px;padding-left:1.45rem}.sap2-frq-parts li{margin:.65rem 0}.sap2-response-label{display:grid;gap:7px;margin-top:18px;color:#284e66;font-weight:850}.sap2-response-label textarea{width:100%;min-height:220px;resize:vertical;padding:14px 15px;border:1px solid #bfd3df;border-radius:14px;background:#fff;color:#17354c;font:inherit;line-height:1.58}.sap2-response-label textarea:focus{outline:3px solid rgba(23,115,170,.14);border-color:#1773aa}.sap2-frq-draft-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0 4px}.sap2-frq-draft-actions small{color:#60798a}.sap2-frq-draft-actions .sap2-text-btn{padding:5px}.sap2-full-solution{margin-top:16px}.sap2-full-solution summary{padding:12px 0}.sap2-frq-guide li{margin:.65rem 0}.sap2-frq-workspace .sap2-rubric{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.sap2-practice-selectors{grid-template-columns:1fr 1fr}.sap2-practice-selectors .sap2-btn{width:100%}.sap2-bank-toolbar{grid-template-columns:minmax(220px,1fr) 80px 80px}.sap2-bank-toolbar>.sap2-btn{grid-column:1/-1;width:100%}.sap2-frq-workspace .sap2-rubric{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-practice-selectors,.sap2-practice-topic-summary,.sap2-bankhead,.sap2-bank-result{grid-template-columns:1fr}.sap2-practice-topic-summary .sap2-linkrow,.sap2-bankhead .sap2-linkrow,.sap2-bank-result .sap2-linkrow{justify-content:flex-start}.sap2-bank-toolbar{position:static;grid-template-columns:1fr 1fr}.sap2-bank-toolbar>div:first-child{grid-column:1/-1}.sap2-bank-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.sap2-bank-nav button{flex:0 0 36px}.sap2-frq-workspace .sap2-rubric{grid-template-columns:1fr}.sap2-response-label textarea{min-height:190px}}
@media(max-width:480px){.sap2-practice-badge{min-height:190px;padding:20px}.sap2-bank-toolbar{grid-template-columns:1fr}.sap2-bank-toolbar>div:first-child{grid-column:auto}.sap2-bank-score{text-align:left}.sap2-frq-draft-actions{align-items:flex-start;flex-direction:column}.sap2-response-label textarea{min-height:170px}}
@media print{.sap2-practice-selectors,.sap2-practice-topic-summary,.sap2-bank-toolbar,.sap2-bank-nav,.sap2-frq-draft-actions,.sap2-frq-workspace .sap2-text-btn{display:none!important}.sap2-bank-question,.sap2-frq-workspace{break-inside:avoid}.sap2-frq-workspace textarea{min-height:160px!important;border:1px solid #888!important}.sap2-frq-workspace details{display:block}.sap2-frq-workspace details>summary{display:none}.sap2-frq-workspace details>*{display:block!important}}

/* AP Physics 2 v1.6.0 — FRQ self-grader + first three complete labs */
.sap2-grader-hero,.sap2-labs-hero{align-items:center}
.sap2-grader-badge,.sap2-labs-badge{display:grid;place-items:center;align-content:center;min-height:260px;padding:28px;border:1px solid #c9dce7;border-radius:28px;background:linear-gradient(145deg,#112f48,#174866);color:#fff;text-align:center;box-shadow:0 16px 34px rgba(17,47,72,.12)}
.sap2-grader-badge b,.sap2-labs-badge b{font-size:5rem;line-height:.9;color:#fff}.sap2-grader-badge span,.sap2-labs-badge span{margin-top:12px;font-size:1.05rem;font-weight:850}.sap2-grader-badge strong,.sap2-labs-badge strong{margin-top:5px;color:#c6dbe7;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.sap2-grader-layout{display:grid;grid-template-columns:minmax(250px,.68fr) minmax(0,1.55fr);gap:18px;align-items:start}.sap2-grader-controls{position:sticky;top:86px;padding:18px;border:1px solid #d4e2ea;border-radius:18px;background:#f8fbfd}.sap2-grader-controls label{display:grid;gap:6px;margin-bottom:13px}.sap2-grader-controls label>span{font-size:.75rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;color:#567080}.sap2-grader-controls select{width:100%;min-height:46px;padding:9px 11px;border:1px solid #bdcfda;border-radius:11px;background:#fff;color:#112c42;font:inherit}.sap2-grader-route{display:grid;gap:8px;margin:14px 0}.sap2-grader-route a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #d5e2e9;border-radius:11px;background:#fff;text-decoration:none;font-weight:780}.sap2-grader-score{margin-top:14px;padding:16px;border-radius:15px;background:#112f48;color:#fff}.sap2-grader-score span,.sap2-grader-score strong,.sap2-grader-score small{display:block}.sap2-grader-score span{font-size:.72rem;color:#bfd3df;text-transform:uppercase;letter-spacing:.055em;font-weight:850}.sap2-grader-score strong{margin:5px 0 10px;color:#fff;font-size:1.8rem}.sap2-grader-score>div{height:9px;border-radius:99px;background:#2c536d;overflow:hidden}.sap2-grader-score i{display:block;width:0;height:100%;border-radius:inherit;background:#55c69a;transition:width .2s ease}.sap2-grader-score small{margin-top:8px;color:#d7e7ef;line-height:1.4}
.sap2-grader-rubric{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sap2-grader-group{min-width:0;margin:0;padding:15px;border:1px solid #d5e2e9;border-radius:17px;background:#fff}.sap2-grader-group legend{padding:0 6px;font-weight:900;color:#112f48}.sap2-grader-group .sap2-rubric-check{grid-template-columns:24px minmax(0,1fr);padding:11px 0;background:transparent;border:0;border-bottom:1px solid #e5edf2;border-radius:0}.sap2-grader-group .sap2-rubric-check:last-child{border-bottom:0}.sap2-grader-group input{width:18px;height:18px;accent-color:#1773aa}.sap2-grader-result{margin-top:18px;padding:18px 20px;border:1px solid #cfe0e9;border-left:5px solid #1773aa;border-radius:0 15px 15px 0;background:#f6fbfd}.sap2-grader-result h3{margin:5px 0}.sap2-grader-result ul{margin-bottom:0}.sap2-grader-result.is-strong{border-left-color:#2a8d73;background:#f1faf6}.sap2-grader-result.is-repair{border-left-color:#d96c2b;background:#fff8f1}

.sap2-lab-complete{scroll-margin-top:18px}.sap2-lab-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:15px}.sap2-lab-title h2{margin:.25rem 0 .4rem}.sap2-lab-title p{margin:0;color:#526b7a}.sap2-lab-status{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#eaf7f3;border:1px solid #b8dfd1;color:#176d5b;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.sap2-lab-complete .sap2-lab-brief{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.sap2-lab-tool{margin-top:20px;padding:18px;border:1px solid #cadde7;border-radius:19px;background:#f8fbfd}.sap2-lab-toolhead{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:14px}.sap2-lab-toolhead h3{margin:.25rem 0 .2rem}.sap2-lab-toolhead p{margin:0;color:#60798a}.sap2-input-table{min-width:680px}.sap2-input-table input,.sap2-input-table select,.sap2-lab-inputgrid input{width:100%;min-height:42px;padding:7px 9px;border:1px solid #bdced8;border-radius:9px;background:#fff;color:#112c42;font:inherit}.sap2-input-table input:focus,.sap2-input-table select:focus,.sap2-lab-inputgrid input:focus{outline:3px solid rgba(23,115,170,.12);border-color:#1773aa}.sap2-lab-output{margin-top:14px;padding:15px 17px;border-left:5px solid #1773aa;border-radius:0 13px 13px 0;background:#fff}.sap2-lab-output p{margin:0}.sap2-lab-output strong{color:#112f48}.sap2-lab-output.is-error{border-left-color:#c95048;background:#fff5f4;color:#6d2c2c}.sap2-lab-output.is-success{border-left-color:#2a8d73;background:#f1faf6}.sap2-lab-graph{margin-top:14px;min-height:280px;padding:10px;border:1px solid #d5e2e9;border-radius:15px;background:#fff;overflow:auto}.sap2-lab-graph:empty{display:none}.sap2-lab-graph svg{display:block;width:100%;height:auto;min-width:520px}.sap2-lab-conclusion{margin-top:16px;padding:18px;border:1px solid #d6e3ea;border-radius:17px;background:#fff}.sap2-lab-conclusion h3{margin-top:0}.sap2-lab-conclusion ol{margin-bottom:0}.sap2-lab-inputgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sap2-lab-inputgrid label{display:grid;gap:6px}.sap2-lab-inputgrid label span{font-size:.75rem;font-weight:850;color:#456273}.sap2-lab-tool .sap2-linkrow{margin-top:0}

@media(max-width:980px){.sap2-grader-layout{grid-template-columns:1fr}.sap2-grader-controls{position:static}.sap2-lab-complete .sap2-lab-brief{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-lab-inputgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sap2-grader-rubric{grid-template-columns:1fr}.sap2-lab-title,.sap2-lab-toolhead{display:block}.sap2-lab-status{margin-top:10px}.sap2-lab-toolhead .sap2-linkrow{margin-top:12px}.sap2-lab-inputgrid{grid-template-columns:1fr 1fr}.sap2-grader-badge,.sap2-labs-badge{min-height:210px}.sap2-grader-badge b,.sap2-labs-badge b{font-size:4rem}}
@media(max-width:520px){.sap2-lab-complete .sap2-lab-brief,.sap2-lab-inputgrid{grid-template-columns:1fr}.sap2-lab-tool{padding:12px}.sap2-lab-graph{padding:5px}.sap2-grader-controls{padding:14px}}
@media print{.sap2-grader-controls .sap2-text-btn,.sap2-grader-route,.sap2-lab-toolhead .sap2-linkrow,.sap2-lab-tool button{display:none!important}.sap2-grader-controls{position:static}.sap2-lab-complete{break-before:page}.sap2-lab-graph{break-inside:avoid}}


/* v1.7.0 — Glossary + cumulative Review hub */
.sap2-glossary-hero,.sap2-review-hero{align-items:center}
.sap2-glossary-visual,.sap2-review-visual{display:grid;place-items:center;align-content:center;min-height:280px;padding:28px;border:1px solid #cfe0e9;border-radius:24px;background:linear-gradient(145deg,#f8fcfe,#eaf5fb);text-align:center}.sap2-glossary-visual b,.sap2-review-visual b{font-size:clamp(4rem,8vw,7rem);line-height:.9;color:#112c42}.sap2-glossary-visual span,.sap2-review-visual span{margin-top:10px;color:#526b7a;font-weight:850}.sap2-glossary-visual strong,.sap2-review-visual strong{margin-top:15px;padding:7px 11px;border-radius:999px;background:#112c42;color:#fff;font-size:.78rem}
.sap2-glossary-toolbar{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(220px,.85fr) 130px auto;gap:12px;align-items:end;padding:16px;border:1px solid #d3e1e9;border-radius:18px;background:#f8fbfd}.sap2-glossary-toolbar label{display:grid;gap:6px}.sap2-glossary-toolbar label>span{font-size:.76rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#567080}.sap2-glossary-toolbar input,.sap2-glossary-toolbar select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #bfcfd9;border-radius:11px;background:#fff;color:#112c42;font:inherit}.sap2-glossary-toolbar input:focus,.sap2-glossary-toolbar select:focus{border-color:#1773aa;box-shadow:0 0 0 3px rgba(23,115,170,.12);outline:none}.sap2-glossary-count{display:grid;place-items:center;min-height:48px;padding:7px 10px;border-radius:11px;background:#112c42;color:#fff}.sap2-glossary-count b{font-size:1.25rem;line-height:1}.sap2-glossary-count span{font-size:.68rem;color:#bed0dc}.sap2-alpha{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 18px}.sap2-alpha button{display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border:1px solid #c8d9e3;border-radius:10px;background:#fff;color:#304653;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}.sap2-alpha button:hover,.sap2-alpha button.is-active{background:#112c42;border-color:#112c42;color:#fff}.sap2-glossary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sap2-glossary-card{min-width:0;padding:18px;border:1px solid #d8e4eb;border-radius:18px;background:#fff}.sap2-glossary-card[hidden]{display:none!important}.sap2-glossary-cardtop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sap2-glossary-cardtop>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sap2-alpha-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f5fb;color:#126a9e;font-weight:950}.sap2-glossary-card h3{font-size:1.18rem;margin:12px 0 7px}.sap2-glossary-definition{color:#304653}.sap2-glossary-context,.sap2-glossary-eq{margin-top:12px;padding:11px 12px;border-radius:12px;background:#f7fafc}.sap2-glossary-context>span,.sap2-glossary-eq>span{display:block;margin-bottom:4px;font-size:.67rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#60798a}.sap2-glossary-context p{margin:0;font-size:.87rem;line-height:1.48}.sap2-glossary-eq code{display:block;color:#102e46;font-size:.9rem;font-weight:800;overflow-wrap:anywhere}.sap2-glossary-eq small{display:block;margin-top:4px;line-height:1.4}.sap2-glossary-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.sap2-glossary-links a{display:inline-flex;padding:6px 9px;border:1px solid #c8dbe7;border-radius:999px;background:#fff;text-decoration:none;font-size:.75rem;font-weight:760}
.sap2-review-router{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px;align-items:start}.sap2-review-sliders{display:grid;gap:9px}.sap2-review-unit-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:13px 14px;border:1px solid #d8e4eb;border-radius:14px;background:#fff}.sap2-review-unit-control>span b,.sap2-review-unit-control>span small{display:block}.sap2-review-unit-control>span small{margin-top:2px;color:#60798a}.sap2-review-unit-control output{font-weight:900;color:#1773aa}.sap2-review-unit-control input{grid-column:1/-1;width:100%;accent-color:#1773aa}.sap2-review-unit-control em{grid-column:1/-1;color:#718694;font-size:.72rem;font-style:normal}.sap2-review-priority{position:sticky;top:84px;padding:20px;border:1px solid #bcd7e5;border-radius:18px;background:#f4fbfe}.sap2-review-priority h3{font-size:1.35rem}.sap2-review-priority ol{padding-left:1.25rem}.sap2-review-priority li{margin:.5rem 0}.sap2-review-priority li b{color:#112c42}.sap2-review-unitgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-review-unit{min-width:0;padding:19px;border:1px solid #d7e3eb;border-radius:18px;background:#fff}.sap2-review-unithead{display:flex;align-items:center;justify-content:space-between;gap:12px}.sap2-review-unithead span{font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#1773aa}.sap2-review-unithead b{padding:4px 8px;border-radius:999px;background:#eef6fa;color:#526b7a;font-size:.72rem}.sap2-review-chiprow{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.sap2-review-chiprow span{padding:5px 8px;border-radius:999px;background:#eff7fb;color:#245d7d;font-size:.72rem;font-weight:800}.sap2-review-formulas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sap2-review-formulas code{display:grid;place-items:center;min-height:52px;padding:8px;border-radius:10px;background:#f5f8fa;color:#102e46;text-align:center;overflow-wrap:anywhere;font-size:.78rem}.sap2-review-cycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sap2-review-cycle>div{padding:17px;border:1px solid #d8e4eb;border-radius:16px;background:#fff}.sap2-review-cycle>div>span{display:inline-block;padding:4px 8px;border-radius:999px;background:#112c42;color:#fff;font-size:.72rem;font-weight:900}.sap2-review-cycle h3{margin:10px 0 6px}.sap2-review-cycle p{margin:0;color:#526b7a;line-height:1.5}
@media(max-width:1050px){.sap2-glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-glossary-toolbar{grid-template-columns:1fr 1fr}.sap2-review-router{grid-template-columns:1fr}.sap2-review-priority{position:static}.sap2-review-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-glossary-toolbar,.sap2-glossary-grid,.sap2-review-unitgrid,.sap2-review-cycle{grid-template-columns:1fr}.sap2-glossary-toolbar{padding:12px}.sap2-alpha{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;-webkit-overflow-scrolling:touch}.sap2-alpha button{flex:0 0 auto}.sap2-glossary-card{padding:15px}.sap2-review-formulas{grid-template-columns:1fr}.sap2-glossary-visual,.sap2-review-visual{min-height:220px}}
@media print{.sap2-glossary-toolbar,.sap2-alpha,.sap2-review-router .sap2-review-sliders,.sap2-actions{display:none!important}.sap2-glossary-grid{grid-template-columns:1fr 1fr!important}.sap2-glossary-card,.sap2-review-unit{break-inside:avoid}.sap2-review-priority{position:static}.sap2-review-cycle{grid-template-columns:repeat(4,1fr)!important}}

/* v1.8.0 — Study Plan + 30-Day Plan */
.sap2-study-hero,.sap2-study30-hero{align-items:center}.sap2-study-visual,.sap2-study30-visual{display:grid;place-items:center;align-content:center;min-height:280px;padding:28px;border:1px solid #cfe0e9;border-radius:24px;background:linear-gradient(145deg,#f8fcfe,#eaf5fb);text-align:center}.sap2-study-visual b,.sap2-study30-visual b{font-size:clamp(4rem,8vw,7rem);line-height:.9;color:#112c42}.sap2-study-visual span,.sap2-study30-visual span{margin-top:10px;color:#526b7a;font-weight:850}.sap2-study-visual strong,.sap2-study30-visual strong{margin-top:15px;padding:7px 11px;border-radius:999px;background:#112c42;color:#fff;font-size:.78rem}
.sap2-study-router{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;align-items:stretch}.sap2-study-inputs{display:grid;gap:11px;padding:17px;border:1px solid #d4e2ea;border-radius:18px;background:#f8fbfd}.sap2-study-inputs label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:12px 13px;border:1px solid #dbe5eb;border-radius:13px;background:#fff}.sap2-study-inputs label>span{font-weight:850;color:#304653}.sap2-study-inputs output{font-weight:900;color:#1773aa}.sap2-study-inputs input{grid-column:1/-1;width:100%;accent-color:#1773aa}.sap2-study-inputs select{grid-column:1/-1;width:100%;min-height:46px;padding:8px 10px;border:1px solid #bfd0da;border-radius:10px;background:#fff;color:#112c42;font:inherit}.sap2-study-recommendation{display:flex;flex-direction:column;justify-content:center;padding:22px;border:1px solid #b9d5e3;border-radius:18px;background:linear-gradient(145deg,#eef8fc,#fff)}.sap2-study-recommendation h3{font-size:1.45rem;margin:.35rem 0 .5rem}.sap2-study-recommendation p{color:#456273}.sap2-study-recommendation .sap2-btn{align-self:flex-start}.sap2-study-session{margin:8px 0 14px;padding:12px 13px;border-radius:12px;background:#112c42;color:#fff;font-size:.88rem;line-height:1.5}
.sap2-study-routegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.sap2-study-route{display:block;min-width:0;padding:19px;border:1px solid #d7e3eb;border-radius:18px;background:#fff;color:#17283d!important;text-decoration:none}.sap2-study-route:hover{border-color:#86b5cf;transform:translateY(-2px)}.sap2-study-route>span{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9f5fb;color:#126a9e;font-size:.72rem;font-weight:900}.sap2-study-route h3{margin:11px 0 7px}.sap2-study-route p{color:#607184;line-height:1.52}.sap2-study-route b{display:block;margin-top:12px;color:#126a9e;font-size:.82rem}
.sap2-study-weekgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.sap2-study-weekgrid article{min-width:0;padding:18px;border:1px solid #d7e3eb;border-radius:17px;background:#fff}.sap2-study-weekgrid article>span{font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#1773aa}.sap2-study-weekgrid h3{margin:8px 0 7px}.sap2-study-weekgrid p{color:#526b7a;line-height:1.52}.sap2-study-weekgrid a{font-size:.82rem;font-weight:800}.sap2-study-14{grid-template-columns:repeat(3,minmax(0,1fr))}
.sap2-study-progress{padding:18px;border:1px solid #cfdfe8;border-radius:20px;background:#f8fbfd}.sap2-study-progresshead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.sap2-study-progresshead strong{display:block;margin-top:3px;font-size:1.2rem;color:#102e46}.sap2-study-unitcheckgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.sap2-study-unitcheckgrid article{padding:16px;border:1px solid #d8e4eb;border-radius:16px;background:#fff}.sap2-study-unithead span{display:block;font-size:.7rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#1773aa}.sap2-study-unithead h3{margin:4px 0 10px}.sap2-study-unitcheckgrid label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;padding:8px 0;border-bottom:1px solid #edf2f5;cursor:pointer}.sap2-study-unitcheckgrid label:last-of-type{border-bottom:0}.sap2-study-unitcheckgrid input,.sap2-day-done input{width:18px;height:18px;margin-top:2px;accent-color:#168173}.sap2-study-unitcheckgrid .sap2-linkrow{margin-top:10px}
.sap2-30-controls{display:grid;grid-template-columns:minmax(220px,1fr) 1fr 1fr auto;gap:12px;align-items:end;padding:16px;border:1px solid #d4e2ea;border-radius:18px;background:#f8fbfd}.sap2-30-controls label{display:grid;gap:6px}.sap2-30-controls label>span,.sap2-30-controls>div>span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#60798a}.sap2-30-controls input{width:100%;min-height:46px;padding:8px 10px;border:1px solid #bfd0da;border-radius:10px;background:#fff;color:#112c42;font:inherit}.sap2-30-controls>div{min-height:46px;padding:8px 11px;border:1px solid #dbe5eb;border-radius:11px;background:#fff}.sap2-30-controls>div strong{display:block;margin-top:2px;color:#112c42}.sap2-30-controls .sap2-btn{min-height:46px}
.sap2-daygrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.sap2-day-card{min-width:0;padding:18px;border:1px solid #d8e4eb;border-radius:18px;background:#fff;display:flex;flex-direction:column}.sap2-day-card:has(input:checked){border-color:#9bcfbd;background:#f5fbf8}.sap2-day-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.sap2-day-top>span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#112c42;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.045em}.sap2-day-top time{color:#60798a;font-size:.78rem;font-weight:800}.sap2-day-card h3{margin:11px 0 7px;font-size:1.12rem}.sap2-day-card>p{color:#526b7a;line-height:1.54}.sap2-day-links{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 13px}.sap2-day-links a{display:inline-flex;padding:6px 9px;border:1px solid #c8dbe7;border-radius:999px;background:#fff;text-decoration:none;font-size:.75rem;font-weight:780}.sap2-day-done{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;margin-top:auto;padding:10px 11px;border-radius:11px;background:#f6fafc;cursor:pointer;font-size:.83rem;font-weight:800;color:#304653}.sap2-30-unitstatus{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.sap2-30-unitstatus span{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #d6e2e9;color:#526b7a;font-size:.72rem;font-weight:800}.sap2-30-unitstatus span.is-done{background:#eaf7f1;border-color:#abd6c7;color:#176c5d}
.sap2-study-cycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sap2-study-cycle>div{padding:17px;border:1px solid #d8e4eb;border-radius:16px;background:#fff}.sap2-study-cycle>div>span{display:inline-block;padding:4px 8px;border-radius:999px;background:#112c42;color:#fff;font-size:.72rem;font-weight:900}.sap2-study-cycle h3{margin:10px 0 6px}.sap2-study-cycle p{margin:0;color:#526b7a;line-height:1.5}
@media(max-width:1050px){.sap2-study-routegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-study-weekgrid,.sap2-study-14{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-study-router{grid-template-columns:1fr}.sap2-30-controls{grid-template-columns:1fr 1fr}.sap2-study-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-study-routegrid,.sap2-study-weekgrid,.sap2-study-14,.sap2-study-unitcheckgrid,.sap2-daygrid,.sap2-study-cycle,.sap2-30-controls{grid-template-columns:1fr}.sap2-study-progresshead{align-items:flex-start;flex-direction:column}.sap2-study-progresshead .sap2-btn{width:100%}.sap2-study-visual,.sap2-study30-visual{min-height:220px}.sap2-study-recommendation .sap2-btn{width:100%}.sap2-30-controls .sap2-btn{width:100%}}
@media(max-width:420px){.sap2-study-inputs,.sap2-study-progress,.sap2-study-recommendation{padding:13px}.sap2-day-card{padding:15px}.sap2-day-top{align-items:flex-start;flex-direction:column}}
@media print{.sap2-study-router,.sap2-study-progresshead button,.sap2-30-controls,.sap2-day-done,.sap2-actions{display:none!important}.sap2-study-routegrid,.sap2-study-weekgrid,.sap2-study-unitcheckgrid,.sap2-daygrid,.sap2-study-cycle{grid-template-columns:1fr 1fr!important}.sap2-day-card,.sap2-study-route,.sap2-study-weekgrid article,.sap2-study-unitcheckgrid article{break-inside:avoid}.sap2-study-progress{background:#fff}}


/* v1.9.0 — One-Week + Last-Minute Study Plans */
.sap2-week-hero,.sap2-last-hero{align-items:center}.sap2-week-visual,.sap2-last-visual{display:grid;place-items:center;align-content:center;min-height:280px;padding:28px;border:1px solid #cfe0e9;border-radius:24px;background:linear-gradient(145deg,#f8fcfe,#eaf5fb);text-align:center}.sap2-week-visual b,.sap2-last-visual b{font-size:clamp(4rem,8vw,6.4rem);line-height:.9;color:#112c42}.sap2-last-visual b{font-size:clamp(3.2rem,7vw,5.5rem)}.sap2-week-visual span,.sap2-last-visual span{margin-top:10px;color:#526b7a;font-weight:850}.sap2-week-visual strong,.sap2-last-visual strong{margin-top:15px;padding:7px 11px;border-radius:999px;background:#112c42;color:#fff;font-size:.78rem}
.sap2-week-controls{display:grid;grid-template-columns:minmax(220px,1fr) 1fr 1fr auto;gap:12px;align-items:end;padding:16px;border:1px solid #d4e2ea;border-radius:18px;background:#f8fbfd}.sap2-week-controls label{display:grid;gap:6px}.sap2-week-controls label>span,.sap2-week-controls>div>span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#60798a}.sap2-week-controls input{width:100%;min-height:46px;padding:8px 10px;border:1px solid #bfd0da;border-radius:10px;background:#fff;color:#112c42;font:inherit}.sap2-week-controls>div{min-height:46px;padding:8px 11px;border:1px solid #dbe5eb;border-radius:11px;background:#fff}.sap2-week-controls>div strong{display:block;margin-top:2px;color:#112c42}
.sap2-week-daygrid{display:grid;gap:14px;margin-top:16px}.sap2-week-day{padding:20px;border:1px solid #d7e3eb;border-radius:19px;background:#fff}.sap2-week-day:has(input:checked){border-color:#9bcfbd;background:#f5fbf8}.sap2-week-dayhead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.sap2-week-dayhead h3{margin:10px 0 6px;font-size:1.3rem}.sap2-week-dayhead p{margin:0;color:#526b7a}.sap2-week-dayhead>b{margin-top:10px;padding:6px 9px;border-radius:999px;background:#edf6fb;color:#17678f;font-size:.76rem;white-space:nowrap}.sap2-week-tasks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0}.sap2-week-tasks>div{padding:12px;border:1px solid #dce6ed;border-radius:13px;background:#f8fbfd}.sap2-week-tasks strong,.sap2-week-tasks span{display:block}.sap2-week-tasks strong{color:#112c42}.sap2-week-tasks span{margin-top:4px;color:#607184;font-size:.82rem;line-height:1.43}.sap2-week-topiclinks{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.sap2-week-topiclinks a{display:inline-flex;padding:6px 9px;border:1px solid #c8dbe7;border-radius:999px;background:#fff;text-decoration:none;font-size:.73rem;font-weight:780}
.sap2-last-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:760px;margin:0 0 18px;padding:8px;border:1px solid #d4e2ea;border-radius:16px;background:#f8fbfd}.sap2-last-switch button{min-height:48px;padding:10px 14px;border:1px solid transparent;border-radius:11px;background:transparent;color:#304653;font:inherit;font-weight:850;cursor:pointer}.sap2-last-switch button.is-active{background:#112c42;color:#fff}.sap2-last-panel[hidden]{display:none!important}.sap2-last-blocks{display:grid;gap:10px;margin-top:15px}.sap2-last-blocks article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px 16px;border:1px solid #d8e4eb;border-radius:15px;background:#fff}.sap2-last-blocks article:has(input:checked){border-color:#9bcfbd;background:#f5fbf8}.sap2-last-blocks article>div>span{display:inline-block;margin-bottom:4px;color:#1773aa;font-size:.72rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.sap2-last-blocks h3{margin:3px 0 5px}.sap2-last-blocks p{margin:0;color:#526b7a;line-height:1.5}.sap2-last-blocks label{display:grid;grid-template-columns:20px auto;gap:7px;align-items:center;padding:8px 10px;border-radius:10px;background:#f4f8fa;font-size:.8rem;font-weight:850;cursor:pointer}.sap2-last-blocks input{width:18px;height:18px;accent-color:#168173}
@media(max-width:1050px){.sap2-week-controls{grid-template-columns:1fr 1fr}.sap2-week-tasks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sap2-week-controls,.sap2-week-tasks,.sap2-last-switch{grid-template-columns:1fr}.sap2-week-controls .sap2-btn{width:100%}.sap2-week-dayhead,.sap2-last-blocks article{grid-template-columns:1fr}.sap2-week-dayhead>b{justify-self:start}.sap2-last-blocks label{justify-self:stretch}.sap2-week-visual,.sap2-last-visual{min-height:210px}}
@media(max-width:420px){.sap2-week-day,.sap2-last-blocks article{padding:14px}.sap2-week-hero h1,.sap2-last-hero h1{font-size:clamp(1.9rem,10vw,2.25rem)}}
@media print{.sap2-week-controls,.sap2-last-switch,.sap2-last-blocks label,.sap2-week-day .sap2-day-done{display:none!important}.sap2-week-day,.sap2-last-blocks article{break-inside:avoid}.sap2-last-panel[hidden]{display:block!important}.sap2-last-panel{margin-top:18px}.sap2-week-tasks{grid-template-columns:1fr 1fr!important}}


/* AP Physics 2 v2.0.0 — difficulty + Physics 1 vs Physics 2 */
.sap2-hard-hero,.sap2-compare-hero{align-items:center}
.sap2-hard-visual{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;border:1px solid #cddfe8;border-radius:24px;background:linear-gradient(145deg,#f8fcfe,#eef7fb)}
.sap2-hard-visual>div{min-width:0;padding:17px;border:1px solid #d7e4eb;border-radius:16px;background:#fff}.sap2-hard-visual span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:10px;border-radius:50%;background:#112c42;color:#fff;font-size:.73rem;font-weight:900}.sap2-hard-visual b,.sap2-hard-visual small{display:block}.sap2-hard-visual b{color:#112c42}.sap2-hard-visual small{margin-top:4px;color:#60798a;line-height:1.4}
.sap2-hard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.sap2-hard-grid article{position:relative;min-width:0;padding:20px;border:1px solid #d7e3eb;border-radius:17px;background:#fff}.sap2-hard-grid article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eaf5fb;color:#126a99;font-size:.76rem;font-weight:900}.sap2-hard-grid h3{margin:12px 0 7px}.sap2-hard-grid p{margin:0 0 12px;color:#405867;line-height:1.55}.sap2-hard-grid article>b{display:block;color:#1773aa;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.sap2-hard-grid small{display:block;margin-top:4px;color:#526b7b;line-height:1.45}
.sap2-hard-diagnostic{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start}.sap2-hard-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sap2-hard-checks label{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:13px 14px;border:1px solid #d9e4eb;border-radius:13px;background:#fff;cursor:pointer}.sap2-hard-checks input{width:19px;height:19px;margin-top:2px;accent-color:#1773aa}.sap2-hard-checks span,.sap2-hard-checks b{display:block}.sap2-hard-checks b{margin-bottom:3px;color:#1773aa;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.sap2-hard-result{position:sticky;top:82px;padding:20px;border:1px solid #bdd7e5;border-radius:18px;background:#f4fafc}.sap2-hard-result>strong{display:block;margin:9px 0 3px;font-size:2.4rem;line-height:1;color:#112c42}.sap2-hard-result h3{margin:8px 0}.sap2-hard-result p{color:#405867}.sap2-hard-result .sap2-progressbar{margin:14px 0}.sap2-hard-result .sap2-progressbar i{width:0}.sap2-hard-result button{margin-top:12px;border:0;cursor:pointer;font:inherit}.sap2-hard-table td:last-child{white-space:nowrap}.sap2-hard-table td:last-child a{font-weight:800}.sap2-stepgrid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.sap2-compare-visual{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:13px;align-items:center;padding:18px;border:1px solid #cddfe8;border-radius:24px;background:linear-gradient(145deg,#f8fcfe,#eff7fb)}.sap2-compare-visual>div{min-width:0;padding:24px 18px;border-radius:18px;background:#fff;border:1px solid #d7e4eb;text-align:center}.sap2-compare-visual>div.is-two{background:#112c42;border-color:#112c42}.sap2-compare-visual>div.is-two span,.sap2-compare-visual>div.is-two b,.sap2-compare-visual>div.is-two small{color:#fff}.sap2-compare-visual span,.sap2-compare-visual b,.sap2-compare-visual small{display:block}.sap2-compare-visual span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#1773aa}.sap2-compare-visual b{margin:7px 0;font-size:1.65rem;color:#112c42}.sap2-compare-visual small{color:#60798a;line-height:1.4}.sap2-compare-visual>i{font-style:normal;font-size:1.7rem;color:#1773aa}
.sap2-compare-table td:nth-child(2),.sap2-compare-table td:nth-child(3){min-width:280px}.sap2-compare-unitcols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sap2-compare-unitcols>div{min-width:0;padding:20px;border:1px solid #d7e3eb;border-radius:19px;background:#f8fbfd}.sap2-compare-unitlist{display:grid;gap:8px;margin:14px 0 18px}.sap2-compare-unitlist article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #dce6ec;border-radius:12px;background:#fff}.sap2-compare-unitlist article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#112c42;color:#fff;font-size:.76rem;font-weight:900}.sap2-compare-unitlist b,.sap2-compare-unitlist small{display:block}.sap2-compare-unitlist small{margin-top:2px;color:#60798a;line-height:1.35}.sap2-compare-unitlist article>a{font-size:.76rem;font-weight:850;white-space:nowrap}
.sap2-course-matcher{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start}.sap2-course-questions{display:grid;gap:11px}.sap2-course-questions fieldset{margin:0;padding:16px;border:1px solid #d8e4eb;border-radius:15px;background:#fff}.sap2-course-questions legend{padding:0 5px;font-weight:850;color:#112c42}.sap2-course-questions label{display:block;margin:8px 0;color:#405867}.sap2-course-questions input{margin-right:7px;accent-color:#1773aa}.sap2-course-result{position:sticky;top:82px;padding:20px;border:1px solid #bdd7e5;border-radius:18px;background:#f4fafc}.sap2-course-result h3{margin:9px 0}.sap2-course-result p{color:#405867}.sap2-course-result button{margin-top:10px;border:0;cursor:pointer;font:inherit}
@media(max-width:1050px){.sap2-hard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-stepgrid-five{grid-template-columns:repeat(3,minmax(0,1fr))}.sap2-hard-result,.sap2-course-result{position:static}}
@media(max-width:760px){.sap2-hard-grid,.sap2-hard-diagnostic,.sap2-hard-checks,.sap2-compare-unitcols,.sap2-course-matcher{grid-template-columns:1fr}.sap2-stepgrid-five{grid-template-columns:1fr 1fr}.sap2-compare-visual{grid-template-columns:1fr}.sap2-compare-visual>i{transform:rotate(90deg);text-align:center}.sap2-compare-unitcols>div{padding:15px}.sap2-compare-table{min-width:820px}}
@media(max-width:480px){.sap2-hard-visual,.sap2-stepgrid-five{grid-template-columns:1fr}.sap2-hard-visual{padding:12px}.sap2-hard-result>strong{font-size:2rem}.sap2-compare-unitlist article{grid-template-columns:32px minmax(0,1fr)}.sap2-compare-unitlist article>a{grid-column:2}.sap2-hard-hero h1,.sap2-compare-hero h1{font-size:clamp(1.82rem,9.4vw,2.2rem)}}
@media print{.sap2-hard-result button,.sap2-course-result button,.sap2-course-matcher,.sap2-hard-diagnostic{break-inside:avoid}.sap2-hard-result,.sap2-course-result{position:static}.sap2-hard-checks input,.sap2-course-questions input{appearance:auto}}

/* AP Physics 2 v2.1.0 — Complete Unit 9 Thermodynamics */
.sap2-u9-hero{background:radial-gradient(circle at 82% 10%,rgba(217,108,43,.12),transparent 28%),linear-gradient(135deg,#fbfdff 0%,#f2f9fc 56%,#fff9f3 100%)}
.sap2-u9-hero-svg{display:block;width:100%;height:auto;min-height:330px;filter:drop-shadow(0 18px 24px rgba(17,44,66,.08))}
.sap2-u9-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sap2-u9-sequence>a{display:block;min-width:0;padding:20px;border:1px solid #d6e3eb;border-radius:18px;background:#fff;color:var(--ink)!important;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}
.sap2-u9-sequence>a:hover{transform:translateY(-2px);border-color:#86b5cf;box-shadow:0 10px 24px rgba(17,44,66,.06)}
.sap2-u9-sequence>a>span,.sap2-u9-coregrid article>span,.sap2-u9-worked>span{display:inline-block;margin-bottom:7px;font-size:.7rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase;color:#1773aa}
.sap2-u9-sequence h3{margin:.15rem 0 .5rem}.sap2-u9-sequence p{margin:0;color:#526b7a;font-size:.91rem;line-height:1.5}
.sap2-u9-equations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sap2-u9-equations article{min-width:0;padding:17px;border:1px solid #d6e2e9;border-radius:16px;background:#fff}
.sap2-u9-equations span{display:inline-grid;place-items:center;min-width:38px;height:27px;padding:0 8px;border-radius:999px;background:#e9f5fb;color:#126a9d;font-size:.72rem;font-weight:900}
.sap2-u9-equations code{display:block;margin:10px 0 6px;color:#102e46;font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-size:1.17rem;overflow-wrap:anywhere}
.sap2-u9-equations p{margin:0;color:#536a79;font-size:.89rem}
.sap2-u9-coregrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sap2-u9-coregrid article{min-width:0;padding:17px;border-top:4px solid #1773aa;border-radius:13px;background:#f7fafc}
.sap2-u9-coregrid article:nth-child(2n){border-top-color:#d96c2b}.sap2-u9-coregrid article:nth-child(3n){border-top-color:#167e72}.sap2-u9-coregrid h3{margin:.2rem 0 .45rem}.sap2-u9-coregrid p{margin:0;color:#536a79;line-height:1.5;font-size:.9rem}
.sap2-u9-diagnostic{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px;padding:18px;border:1px solid #d3e1e9;border-radius:19px;background:#f8fbfd}
.sap2-u9-confgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sap2-u9-confgrid label{display:grid;gap:8px;padding:13px;border:1px solid #d8e4eb;border-radius:13px;background:#fff}
.sap2-u9-confgrid label span{font-size:.84rem;line-height:1.38;color:#304653}.sap2-u9-confgrid label b{color:#1773aa}
.sap2-u9-confgrid select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #bfd1dc;border-radius:10px;background:#fff;color:#17354c;font:inherit}
.sap2-u9-diagresult{padding:18px;border-radius:15px;background:#112c42;color:#fff}.sap2-u9-diagresult>span{display:block;font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#bcd1de}.sap2-u9-diagresult>strong{display:block;margin:8px 0;font-size:1.25rem;color:#fff}.sap2-u9-diagresult p{color:#d2e1ea}.sap2-u9-diagresult .sap2-linkrow a{background:#fff;color:#105f91!important}.sap2-u9-diagresult .sap2-text-btn{color:#d8edf7}
.sap2-u9-topicbadge{display:grid;align-content:center;justify-items:center;min-height:260px;padding:28px;border:1px solid #cddfe9;border-radius:24px;background:linear-gradient(145deg,#112c42,#184d6d);color:#fff;text-align:center;box-shadow:0 16px 35px rgba(17,44,66,.12)}
.sap2-u9-topicbadge b{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:#fff;color:#112c42;font-size:2.5rem;line-height:1}.sap2-u9-topicbadge span{margin-top:14px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.sap2-u9-topicbadge strong{margin-top:7px;color:#c7dae6;font-size:.84rem}
.sap2-u9-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.sap2-u9-targets>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;padding:14px;border:1px solid #d8e4eb;border-radius:14px;background:#fff}.sap2-u9-targets span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#112c42;color:#fff;font-size:.73rem;font-weight:900}.sap2-u9-targets p{margin:1px 0 0;color:#405867;line-height:1.5;font-size:.9rem}
.sap2-u9-modeltable code{font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-size:1rem;color:#102e46;font-weight:800}.sap2-u9-modeltable td:first-child{min-width:190px}.sap2-u9-modeltable td:nth-child(2){min-width:260px}
.sap2-u9-tool{padding:19px;border:1px solid #ccdce6;border-radius:20px;background:linear-gradient(145deg,#f8fbfd,#fff)}
.sap2-u9-toolhead{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:16px}.sap2-u9-toolhead h3{font-size:1.3rem;margin:.2rem 0 .4rem}.sap2-u9-toolhead p{margin:0;color:#526b7a;max-width:800px}
.sap2-u9-toolgrid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:18px;align-items:stretch}.sap2-u9-controls{display:grid;align-content:start;gap:10px;padding:15px;border:1px solid #d8e4eb;border-radius:16px;background:#fff}.sap2-u9-controls h4{margin:0 0 4px}.sap2-u9-controls label{display:grid;gap:6px;padding:10px 11px;border:1px solid #e0e8ed;border-radius:11px;background:#f8fbfd}.sap2-u9-controls label>span{display:flex;justify-content:space-between;gap:10px;color:#304653;font-size:.82rem;font-weight:800}.sap2-u9-controls output{color:#1773aa;font-weight:900;font-variant-numeric:tabular-nums}.sap2-u9-controls input[type=range]{width:100%;accent-color:#1773aa}.sap2-u9-controls select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #bfd1dc;border-radius:10px;background:#fff;color:#17354c;font:inherit}
.sap2-u9-readout,.sap2-u9-readouts>div{padding:14px;border-radius:13px;background:#112c42;color:#fff}.sap2-u9-readout span,.sap2-u9-readouts span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:#bdd1dd}.sap2-u9-readout strong,.sap2-u9-readouts strong{display:block;margin:5px 0;color:#fff;font-size:1.3rem;font-variant-numeric:tabular-nums}.sap2-u9-readout small{display:block;color:#d2e1e9;line-height:1.4}.sap2-u9-readouts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sap2-u9-chart{min-width:0;padding:12px;border:1px solid #d8e4eb;border-radius:16px;background:#fff;overflow:hidden}.sap2-u9-chart svg{display:block;width:100%;height:auto;min-height:280px}
.sap2-u9-thermalvis,.sap2-u9-entropyvis{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;min-height:280px;padding:22px;border:1px solid #d8e4eb;border-radius:16px;background:#fff;text-align:center}.sap2-u9-thermalvis>div,.sap2-u9-entropyvis>div{display:grid;place-items:center;gap:8px;min-height:150px;padding:18px;border-radius:22px;background:#eef6fa}.sap2-u9-thermalvis>div.hot{background:#fff0e5}.sap2-u9-thermalvis>div.cold{background:#eaf5fb}.sap2-u9-thermalvis b{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#112c42;color:#fff;font-size:1.35rem}.sap2-u9-thermalvis span{font-size:1.15rem;font-weight:900}.sap2-u9-thermalvis i,.sap2-u9-entropyvis i{font-style:normal;font-size:2.4rem;color:#d96c2b}.sap2-u9-entropyvis b{font-size:1.35rem;letter-spacing:.14em;color:#1773aa}.sap2-u9-entropyvis span{display:block;color:#526b7a;font-size:.82rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.sap2-u9-dual{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sap2-u9-workedgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sap2-u9-worked{min-width:0;padding:20px;border:1px solid #d6e2e9;border-radius:18px;background:#fff}.sap2-u9-worked h3{margin:.15rem 0 .7rem}.sap2-u9-worked p{color:#405867}.sap2-u9-answer{margin-top:14px;padding:14px 16px;border-left:4px solid #167e72;border-radius:0 12px 12px 0;background:#eff9f5}.sap2-u9-answer p{margin:4px 0 0;color:#254d43}
.sap2-u9-experiment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.sap2-u9-experiment>div{padding:13px;border:1px solid #d9e4ea;border-radius:12px;background:#fff}.sap2-u9-experiment b,.sap2-u9-experiment span{display:block}.sap2-u9-experiment span{margin-top:5px;color:#526b7a;font-size:.86rem;line-height:1.45}
@media(max-width:1050px){.sap2-u9-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u9-coregrid,.sap2-u9-targets,.sap2-u9-experiment{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u9-diagnostic,.sap2-u9-toolgrid{grid-template-columns:1fr}.sap2-u9-topicbadge{min-height:220px}.sap2-u9-hero-svg{min-height:280px}}
@media(max-width:760px){.sap2-u9-equations,.sap2-u9-confgrid,.sap2-u9-dual,.sap2-u9-workedgrid{grid-template-columns:1fr}.sap2-u9-coregrid,.sap2-u9-targets,.sap2-u9-experiment{grid-template-columns:1fr 1fr}.sap2-u9-tool{padding:13px}.sap2-u9-chart svg{min-height:235px}.sap2-u9-thermalvis,.sap2-u9-entropyvis{min-height:230px;padding:14px}.sap2-u9-modeltable{min-width:860px}}
@media(max-width:520px){.sap2-u9-sequence,.sap2-u9-coregrid,.sap2-u9-targets,.sap2-u9-experiment{grid-template-columns:1fr}.sap2-u9-topicbadge{min-height:190px}.sap2-u9-topicbadge b{width:95px;height:95px;font-size:2rem}.sap2-u9-readouts{grid-template-columns:1fr}.sap2-u9-thermalvis,.sap2-u9-entropyvis{grid-template-columns:1fr;gap:10px}.sap2-u9-thermalvis i,.sap2-u9-entropyvis i{transform:rotate(90deg)}.sap2-u9-chart{padding:5px}.sap2-u9-chart svg{min-height:210px}.sap2-u9-hero-svg{min-height:240px}}
@media print{.sap2-u9-tool input,.sap2-u9-tool select,.sap2-u9-diagnostic,.sap2-u9-toolhead .sap2-btn{display:none!important}.sap2-u9-sequence,.sap2-u9-equations,.sap2-u9-coregrid,.sap2-u9-workedgrid{grid-template-columns:1fr 1fr!important}.sap2-u9-worked,.sap2-u9-equations article{break-inside:avoid}}

/* AP Physics 2 v2.2.0 — Complete Unit 10 Electric Force, Field, and Potential */
.sap2-u10-hero{background:radial-gradient(circle at 82% 12%,rgba(103,85,166,.11),transparent 28%),linear-gradient(135deg,#fbfdff 0%,#eef8fb 54%,#fbf8ff 100%)}
.sap2-u10-hero-svg{display:block;width:100%;height:auto;min-height:330px;filter:drop-shadow(0 18px 24px rgba(17,44,66,.08))}
.sap2-u10-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sap2-u10-sequence>a{display:block;min-width:0;padding:20px;border:1px solid #d6e3eb;border-radius:18px;background:#fff;color:var(--ink)!important;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}.sap2-u10-sequence>a:hover{transform:translateY(-2px);border-color:#86b5cf;box-shadow:0 10px 24px rgba(17,44,66,.06)}.sap2-u10-sequence>a>span,.sap2-u10-coregrid article>span,.sap2-u10-worked>span{display:inline-block;margin-bottom:7px;font-size:.7rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase;color:#6755a6}.sap2-u10-sequence h3{margin:.15rem 0 .5rem}.sap2-u10-sequence p{margin:0;color:#526b7a;font-size:.91rem;line-height:1.5}
.sap2-u10-equations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-u10-equations article{min-width:0;padding:17px;border:1px solid #d6e2e9;border-radius:16px;background:#fff}.sap2-u10-equations span{display:inline-grid;place-items:center;min-width:40px;height:27px;padding:0 8px;border-radius:999px;background:#f0edfb;color:#6755a6;font-size:.72rem;font-weight:900}.sap2-u10-equations code{display:block;margin:10px 0 6px;color:#102e46;font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-size:1.12rem;overflow-wrap:anywhere}.sap2-u10-equations p{margin:0;color:#536a79;font-size:.88rem}
.sap2-u10-coregrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sap2-u10-coregrid article{min-width:0;padding:17px;border-top:4px solid #6755a6;border-radius:13px;background:#f7fafc}.sap2-u10-coregrid article:nth-child(2n){border-top-color:#1773aa}.sap2-u10-coregrid article:nth-child(3n){border-top-color:#167e72}.sap2-u10-coregrid h3{margin:.2rem 0 .45rem}.sap2-u10-coregrid p{margin:0;color:#536a79;line-height:1.5;font-size:.9rem}.sap2-u10-map td:first-child{min-width:170px}.sap2-u10-map td:nth-child(3),.sap2-u10-map td:nth-child(4){min-width:230px}
.sap2-u10-diagnostic{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;padding:18px;border:1px solid #d3e1e9;border-radius:19px;background:#f8fbfd}.sap2-u10-confgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sap2-u10-confgrid label{display:grid;gap:8px;padding:13px;border:1px solid #d8e4eb;border-radius:13px;background:#fff}.sap2-u10-confgrid label span{font-size:.84rem;line-height:1.38;color:#304653}.sap2-u10-confgrid label b{color:#6755a6}.sap2-u10-confgrid select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #bfd1dc;border-radius:10px;background:#fff;color:#17354c;font:inherit}.sap2-u10-diagresult{padding:18px;border-radius:15px;background:#112c42;color:#fff}.sap2-u10-diagresult>span{display:block;font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#bcd1de}.sap2-u10-diagresult>strong{display:block;margin:8px 0;font-size:1.25rem;color:#fff}.sap2-u10-diagresult p{color:#d2e1ea}.sap2-u10-diagresult .sap2-linkrow a{background:#fff;color:#105f91!important}.sap2-u10-diagresult .sap2-text-btn{color:#d8edf7}
.sap2-u10-topicbadge{display:grid;align-content:center;justify-items:center;min-height:260px;padding:28px;border:1px solid #d4cce9;border-radius:24px;background:linear-gradient(145deg,#302653,#6755a6);color:#fff;text-align:center;box-shadow:0 16px 35px rgba(50,38,83,.14)}.sap2-u10-topicbadge b{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:#fff;color:#302653;font-size:2.35rem;line-height:1}.sap2-u10-topicbadge span{margin-top:14px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.sap2-u10-topicbadge strong{margin-top:7px;color:#ddd7ef;font-size:.84rem}.sap2-u10-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.sap2-u10-targets>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;padding:14px;border:1px solid #d8e4eb;border-radius:14px;background:#fff}.sap2-u10-targets span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#6755a6;color:#fff;font-size:.73rem;font-weight:900}.sap2-u10-targets p{margin:1px 0 0;color:#405867;line-height:1.5;font-size:.9rem}.sap2-u10-modeltable code{font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-size:1rem;color:#102e46;font-weight:800}.sap2-u10-modeltable td:first-child{min-width:210px}.sap2-u10-modeltable td:nth-child(2){min-width:290px}
.sap2-u10-tool{padding:19px;border:1px solid #d3cce8;border-radius:20px;background:linear-gradient(145deg,#faf9ff,#fff)}.sap2-u10-toolhead{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:16px}.sap2-u10-toolhead h3{font-size:1.3rem;margin:.2rem 0 .4rem}.sap2-u10-toolhead p{margin:0;color:#526b7a;max-width:820px}.sap2-u10-toolgrid{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);gap:18px;align-items:stretch}.sap2-u10-controls{display:grid;align-content:start;gap:10px;padding:15px;border:1px solid #d8e4eb;border-radius:16px;background:#fff}.sap2-u10-controls label{display:grid;gap:6px;padding:10px 11px;border:1px solid #e0e8ed;border-radius:11px;background:#f8fbfd}.sap2-u10-controls label>span{display:flex;justify-content:space-between;gap:10px;color:#304653;font-size:.82rem;font-weight:800}.sap2-u10-controls output{color:#6755a6;font-weight:900;font-variant-numeric:tabular-nums}.sap2-u10-controls input[type=range]{width:100%;accent-color:#6755a6}.sap2-u10-controls select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #bfd1dc;border-radius:10px;background:#fff;color:#17354c;font:inherit}.sap2-u10-readout,.sap2-u10-readouts>div{padding:14px;border-radius:13px;background:#112c42;color:#fff}.sap2-u10-readout span,.sap2-u10-readouts span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:#bdd1dd}.sap2-u10-readout strong,.sap2-u10-readouts strong{display:block;margin:5px 0;color:#fff;font-size:1.2rem;font-variant-numeric:tabular-nums}.sap2-u10-readout small{display:block;color:#d2e1e9;line-height:1.4}.sap2-u10-readouts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sap2-u10-chart,.sap2-u10-fieldvis{min-width:0;padding:12px;border:1px solid #d8e4eb;border-radius:16px;background:#fff;overflow:hidden}.sap2-u10-chart svg,.sap2-u10-fieldvis svg{display:block;width:100%;height:auto;min-height:280px}
.sap2-u10-chargevis,.sap2-u10-potentialvis,.sap2-u10-energyvis{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;min-height:280px;padding:22px;border:1px solid #d8e4eb;border-radius:16px;background:#fff;text-align:center}.sap2-u10-chargevis>div,.sap2-u10-potentialvis>div,.sap2-u10-energyvis>div{display:grid;place-items:center;gap:8px;min-height:150px;padding:18px;border-radius:22px;background:#eef6fa}.sap2-u10-chargevis b,.sap2-u10-potentialvis b,.sap2-u10-energyvis b{font-size:1.25rem;color:#302653}.sap2-u10-chargevis span,.sap2-u10-potentialvis span,.sap2-u10-energyvis span{color:#526b7a;font-size:.82rem;font-weight:800}.sap2-u10-chargevis i,.sap2-u10-potentialvis i,.sap2-u10-energyvis i{font-style:normal;font-size:2rem;color:#d96c2b}.sap2-u10-capvis{display:grid;grid-template-columns:42px 1fr 42px;gap:18px;align-items:stretch;min-height:280px;padding:26px;border:1px solid #d8e4eb;border-radius:16px;background:#fff;text-align:center}.sap2-u10-capvis .plate{display:grid;place-items:center;border-radius:8px;font-size:1.8rem;font-weight:900;color:#fff}.sap2-u10-capvis .plus{background:#d96c2b}.sap2-u10-capvis .minus{background:#1773aa}.sap2-u10-capvis>div:nth-child(2){display:grid;place-items:center;align-content:center;gap:8px;background:repeating-linear-gradient(90deg,#eef7fb 0,#eef7fb 34px,#dcecf4 35px,#eef7fb 36px);border-radius:14px}.sap2-u10-capvis span{font-size:1.15rem;font-weight:900;color:#302653}.sap2-u10-capvis b,.sap2-u10-capvis small{display:block;color:#526b7a}
.sap2-u10-workedgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sap2-u10-worked{min-width:0;padding:20px;border:1px solid #d6e2e9;border-radius:18px;background:#fff}.sap2-u10-worked h3{margin:.15rem 0 .7rem}.sap2-u10-worked p{color:#405867}.sap2-u10-answer{margin-top:14px;padding:14px 16px;border-left:4px solid #6755a6;border-radius:0 12px 12px 0;background:#f4f1fb}.sap2-u10-answer p{margin:4px 0 0;color:#40365a}.sap2-u10-experiment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.sap2-u10-experiment>div{padding:13px;border:1px solid #d9e4ea;border-radius:12px;background:#fff}.sap2-u10-experiment b,.sap2-u10-experiment span{display:block}.sap2-u10-experiment span{margin-top:5px;color:#526b7a;font-size:.86rem;line-height:1.45}
@media(max-width:1050px){.sap2-u10-sequence,.sap2-u10-equations,.sap2-u10-coregrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u10-targets,.sap2-u10-experiment{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u10-diagnostic,.sap2-u10-toolgrid{grid-template-columns:1fr}.sap2-u10-topicbadge{min-height:220px}.sap2-u10-hero-svg{min-height:280px}}
@media(max-width:760px){.sap2-u10-confgrid,.sap2-u10-workedgrid{grid-template-columns:1fr}.sap2-u10-coregrid,.sap2-u10-targets,.sap2-u10-experiment{grid-template-columns:1fr 1fr}.sap2-u10-tool{padding:13px}.sap2-u10-chart svg,.sap2-u10-fieldvis svg{min-height:235px}.sap2-u10-chargevis,.sap2-u10-potentialvis,.sap2-u10-energyvis{min-height:230px;padding:14px}.sap2-u10-modeltable{min-width:900px}}
@media(max-width:520px){.sap2-u10-sequence,.sap2-u10-equations,.sap2-u10-coregrid,.sap2-u10-targets,.sap2-u10-experiment{grid-template-columns:1fr}.sap2-u10-topicbadge{min-height:190px}.sap2-u10-topicbadge b{width:95px;height:95px;font-size:1.85rem}.sap2-u10-readouts{grid-template-columns:1fr}.sap2-u10-chargevis,.sap2-u10-potentialvis,.sap2-u10-energyvis{grid-template-columns:1fr;gap:10px}.sap2-u10-chargevis i,.sap2-u10-potentialvis i,.sap2-u10-energyvis i{transform:rotate(90deg)}.sap2-u10-capvis{grid-template-columns:30px 1fr 30px;padding:14px;gap:10px}.sap2-u10-chart,.sap2-u10-fieldvis{padding:5px}.sap2-u10-chart svg,.sap2-u10-fieldvis svg{min-height:210px}.sap2-u10-hero-svg{min-height:240px}}
@media print{.sap2-u10-tool input,.sap2-u10-tool select,.sap2-u10-diagnostic{display:none!important}.sap2-u10-sequence,.sap2-u10-equations,.sap2-u10-coregrid,.sap2-u10-workedgrid{grid-template-columns:1fr 1fr!important}.sap2-u10-worked,.sap2-u10-equations article{break-inside:avoid}}


/* AP Physics 2 v2.3.0 — Complete Unit 11 Electric Circuits */
.sap2-u11-hero .sap2-hero-visual{background:linear-gradient(145deg,#f4fbff,#fff9f4)}
.sap2-u11-hero-svg{width:100%;height:auto}.sap2-u11-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sap2-u11-sequence a,.sap2-u11-labs a{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff;text-decoration:none;color:inherit}.sap2-u11-sequence span,.sap2-u11-labs span{font-size:.78rem;font-weight:800;letter-spacing:.08em}.sap2-u11-equations,.sap2-u11-coregrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-u11-equations article,.sap2-u11-coregrid article{padding:18px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff}.sap2-u11-equations code{display:block;font-size:1.05rem;margin:7px 0}.sap2-u11-diagnostic{display:grid;grid-template-columns:2fr 1fr;gap:20px}.sap2-u11-confgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-u11-confgrid label,.sap2-u11-tool label{display:flex;flex-direction:column;gap:7px;padding:12px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:12px;background:#fff}.sap2-u11-confgrid select,.sap2-u11-tool select{min-height:42px}.sap2-u11-recommend{padding:18px;border-radius:16px;background:#f1f8fb}.sap2-u11-recommend strong{display:block;font-size:1.3rem;margin:6px 0}.sap2-u11-recommend [data-u11-recommend-link]{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.sap2-u11-labs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sap2-u11-topicbadge{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:190px;border-radius:24px;background:linear-gradient(145deg,#102e46,#194b6b);color:#fff;padding:22px}.sap2-u11-topicbadge b{font-size:3rem}.sap2-u11-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-u11-targets>div{display:flex;gap:12px;padding:15px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:14px}.sap2-u11-targets span{font-weight:800}.sap2-u11-workedgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sap2-u11-worked{padding:20px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff}.sap2-u11-answer{padding:12px;border-radius:12px;background:#f1f8fb}.sap2-u11-experiment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.sap2-u11-experiment>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#fff}.sap2-u11-tool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:18px;background:#f8fbfd}.sap2-u11-tool input[type=range]{width:100%}.sap2-u11-readout,.sap2-u11-readouts>div{padding:16px;border-radius:14px;background:#102e46;color:#fff}.sap2-u11-readout span,.sap2-u11-readouts span{display:block;font-size:.78rem;opacity:.8}.sap2-u11-readout strong,.sap2-u11-readouts strong{display:block;font-size:1.35rem;margin:4px 0}.sap2-u11-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sap2-u11-modeltable td:first-child{min-width:155px}
@media(max-width:900px){.sap2-u11-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u11-diagnostic{grid-template-columns:1fr}.sap2-u11-labs{grid-template-columns:1fr}.sap2-u11-equations,.sap2-u11-coregrid,.sap2-u11-workedgrid{grid-template-columns:1fr}}
@media(max-width:600px){.sap2-u11-sequence,.sap2-u11-confgrid,.sap2-u11-targets,.sap2-u11-experiment,.sap2-u11-tool,.sap2-u11-readouts{grid-template-columns:1fr}.sap2-u11-topicbadge{min-height:140px}.sap2-u11-topicbadge b{font-size:2.35rem}}


/* AP Physics 2 v2.4.0 — Complete Unit 12 Magnetism and Electromagnetism */
.sap2-u12-hero .sap2-hero-visual{background:linear-gradient(145deg,#f3fbff,#f7f4ff)}.sap2-u12-hero-svg{width:100%;height:auto}.sap2-u12-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sap2-u12-sequence a,.sap2-u12-labs a{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff;text-decoration:none;color:inherit}.sap2-u12-sequence span,.sap2-u12-labs span{font-size:.78rem;font-weight:800;letter-spacing:.08em}.sap2-u12-equations,.sap2-u12-coregrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-u12-equations article,.sap2-u12-coregrid article{padding:18px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff}.sap2-u12-equations code{display:block;font-size:1.05rem;margin:7px 0;overflow-wrap:anywhere}.sap2-u12-diagnostic{display:grid;grid-template-columns:2fr 1fr;gap:20px}.sap2-u12-confgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-u12-confgrid label,.sap2-u12-tool label{display:flex;flex-direction:column;gap:7px;padding:12px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:12px;background:#fff}.sap2-u12-confgrid select,.sap2-u12-tool select{min-height:42px}.sap2-u12-recommend{padding:18px;border-radius:16px;background:#f1f8fb}.sap2-u12-recommend strong{display:block;font-size:1.3rem;margin:6px 0}.sap2-u12-recommend [data-u12-recommend-link]{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.sap2-u12-labs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-u12-topicbadge{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:190px;border-radius:24px;background:linear-gradient(145deg,#102e46,#4c3b73);color:#fff;padding:22px}.sap2-u12-topicbadge b{font-size:3rem}.sap2-u12-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-u12-targets>div{display:flex;gap:12px;padding:15px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:14px}.sap2-u12-targets span{font-weight:800}.sap2-u12-workedgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sap2-u12-worked{padding:20px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff}.sap2-u12-answer{padding:12px;border-radius:12px;background:#f1f8fb}.sap2-u12-experiment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.sap2-u12-experiment>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#fff}.sap2-u12-tool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:18px;background:#f8fbfd}.sap2-u12-tool input[type=range]{width:100%}.sap2-u12-readout,.sap2-u12-readouts>div{padding:16px;border-radius:14px;background:#102e46;color:#fff}.sap2-u12-readout span,.sap2-u12-readouts span{display:block;font-size:.78rem;opacity:.8}.sap2-u12-readout strong,.sap2-u12-readouts strong{display:block;font-size:1.35rem;margin:4px 0}.sap2-u12-readout small,.sap2-u12-readouts small{display:block;opacity:.88}.sap2-u12-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sap2-u12-modeltable td:first-child{min-width:165px}
@media(max-width:900px){.sap2-u12-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u12-diagnostic{grid-template-columns:1fr}.sap2-u12-equations,.sap2-u12-coregrid,.sap2-u12-workedgrid{grid-template-columns:1fr}}
@media(max-width:600px){.sap2-u12-sequence,.sap2-u12-confgrid,.sap2-u12-targets,.sap2-u12-experiment,.sap2-u12-tool,.sap2-u12-readouts,.sap2-u12-labs{grid-template-columns:1fr}.sap2-u12-topicbadge{min-height:140px}.sap2-u12-topicbadge b{font-size:2.35rem}}


/* AP Physics 2 v2.5.0 — Complete Unit 13 Geometric Optics */
.sap2-u13-hero .sap2-hero-visual{background:linear-gradient(145deg,#f7fbff,#fbf7ff)}.sap2-u13-hero-svg{width:100%;height:auto}.sap2-u13-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sap2-u13-sequence a,.sap2-u13-labs a{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff;text-decoration:none;color:inherit}.sap2-u13-sequence span,.sap2-u13-labs span{font-size:.78rem;font-weight:800;letter-spacing:.08em}.sap2-u13-equations,.sap2-u13-coregrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-u13-equations article,.sap2-u13-coregrid article{padding:18px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff}.sap2-u13-equations code{display:block;font-size:1.05rem;margin:7px 0;overflow-wrap:anywhere}.sap2-u13-diagnostic{display:grid;grid-template-columns:2fr 1fr;gap:20px}.sap2-u13-confgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-u13-confgrid label,.sap2-u13-tool label{display:flex;flex-direction:column;gap:7px;padding:12px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:12px;background:#fff}.sap2-u13-confgrid select,.sap2-u13-tool select{min-height:42px}.sap2-u13-recommend{padding:18px;border-radius:16px;background:#f2f7fb}.sap2-u13-recommend strong{display:block;font-size:1.3rem;margin:6px 0}.sap2-u13-recommend [data-u13-recommend-link]{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.sap2-u13-labs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-u13-topicbadge{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:190px;border-radius:24px;background:linear-gradient(145deg,#12344c,#5a3f76);color:#fff;padding:22px}.sap2-u13-topicbadge b{font-size:3rem}.sap2-u13-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-u13-targets>div{display:flex;gap:12px;padding:15px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:14px}.sap2-u13-targets span{font-weight:800}.sap2-u13-workedgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sap2-u13-worked{padding:20px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:16px;background:#fff}.sap2-u13-answer{padding:12px;border-radius:12px;background:#f2f7fb}.sap2-u13-experiment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.sap2-u13-experiment>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#fff}.sap2-u13-tool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;border:1px solid var(--sap2-border,#d8e3ea);border-radius:18px;background:#f8fbfd}.sap2-u13-tool input[type=range]{width:100%}.sap2-u13-readouts>div{padding:16px;border-radius:14px;background:#12344c;color:#fff}.sap2-u13-readouts span{display:block;font-size:.78rem;opacity:.8}.sap2-u13-readouts strong{display:block;font-size:1.25rem;margin:4px 0;overflow-wrap:anywhere}.sap2-u13-readouts small{display:block;opacity:.88}.sap2-u13-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;grid-column:1/-1}.sap2-u13-modeltable td:first-child{min-width:165px}
@media(max-width:900px){.sap2-u13-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u13-diagnostic{grid-template-columns:1fr}.sap2-u13-equations,.sap2-u13-coregrid,.sap2-u13-workedgrid{grid-template-columns:1fr}.sap2-u13-readouts{grid-template-columns:1fr}}
@media(max-width:600px){.sap2-u13-sequence,.sap2-u13-confgrid,.sap2-u13-targets,.sap2-u13-experiment,.sap2-u13-tool,.sap2-u13-labs{grid-template-columns:1fr}.sap2-u13-topicbadge{min-height:140px}.sap2-u13-topicbadge b{font-size:2.35rem}}


/* AP Physics 2 v2.6.0 — Unit 14 */
.sap2-u14-hero{background:linear-gradient(135deg,#f1fbff 0%,#fff 55%,#f7f1ff 100%)}
.sap2-u14-hero-svg{width:100%;height:auto;display:block}.sap2-u14-hero-svg .sap2-label{font:700 20px/1.2 system-ui,sans-serif;fill:#213a4c}.sap2-u14-hero-svg .sap2-label-small{font:600 15px/1.2 system-ui,sans-serif;fill:#526b7b}
.sap2-u14-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sap2-u14-sequence a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:3px 10px;padding:16px;border:1px solid #d9e7ee;border-radius:16px;text-decoration:none;background:#fff}.sap2-u14-sequence a span{grid-row:1/3;font-weight:900;color:#166a8f}.sap2-u14-sequence a b{color:#213a4c}.sap2-u14-sequence a small{color:#647b89}
.sap2-u14-equations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sap2-u14-equations article{padding:16px;border-radius:16px;background:#f8fbfd;border:1px solid #dbe8ef}.sap2-u14-equations span{display:block;font-size:12px;font-weight:900;color:#166a8f;margin-bottom:8px}.sap2-u14-equations code{display:block;font-size:16px;font-weight:800;overflow-wrap:anywhere}.sap2-u14-equations p{margin:8px 0 0}
.sap2-u14-coregrid,.sap2-u14-workedgrid,.sap2-u14-labs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sap2-u14-coregrid article,.sap2-u14-worked,.sap2-u14-labs>*{padding:18px;border:1px solid #dce8ee;border-radius:18px;background:#fff}.sap2-u14-coregrid article>span,.sap2-u14-worked>span,.sap2-u14-labs>* >span{display:block;font-size:12px;font-weight:900;letter-spacing:.05em;color:#166a8f;text-transform:uppercase}.sap2-u14-worked h3,.sap2-u14-coregrid h3,.sap2-u14-labs h3{margin:6px 0 10px}.sap2-u14-answer{padding:12px 14px;border-radius:12px;background:#eef8fb}.sap2-u14-answer p{margin:4px 0 0}
.sap2-u14-diagnostic{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:18px}.sap2-u14-confgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sap2-u14-confgrid label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #dce8ee;border-radius:14px;background:#fff}.sap2-u14-confgrid select{min-width:145px}.sap2-u14-recommend{padding:18px;border-radius:18px;background:#153b50;color:#fff}.sap2-u14-recommend>span{font-size:12px;text-transform:uppercase;letter-spacing:.07em}.sap2-u14-recommend strong{display:block;font-size:20px;margin:8px 0}.sap2-u14-recommend p{color:#e6f3f8}.sap2-u14-recommend [data-u14-recommend-link]{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.sap2-u14-recommend [data-u14-recommend-link] a{color:#fff;font-weight:700}
.sap2-u14-topicbadge{align-self:center;min-width:220px;padding:24px;border:1px solid #d9e8ef;border-radius:24px;background:rgba(255,255,255,.9);text-align:center}.sap2-u14-topicbadge b{display:block;font-size:50px;line-height:1;color:#166a8f}.sap2-u14-topicbadge span{display:block;font-weight:800;margin:8px 0}.sap2-u14-topicbadge strong{display:block;font-size:13px;color:#647b89}
.sap2-u14-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-u14-targets>div{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:start;padding:14px;border-radius:14px;background:#f8fbfd;border:1px solid #dce8ee}.sap2-u14-targets span{font-weight:900;color:#166a8f}.sap2-u14-targets p{margin:0}
.sap2-u14-tool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border:1px solid #d8e7ee;border-radius:18px;background:#f8fbfd}.sap2-u14-tool label{display:grid;gap:7px;padding:12px;background:#fff;border-radius:12px}.sap2-u14-tool label span{display:flex;justify-content:space-between;gap:12px;font-weight:700}.sap2-u14-tool output{font-weight:900;color:#166a8f}.sap2-u14-readouts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sap2-u14-readouts>div{padding:14px;border-radius:13px;background:#153b50;color:#fff}.sap2-u14-readouts span{display:block;font-size:12px;color:#cce5ef;text-transform:uppercase;letter-spacing:.05em}.sap2-u14-readouts strong{display:block;margin-top:5px;overflow-wrap:anywhere}
.sap2-u14-experiment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.sap2-u14-experiment>div{padding:13px;border-radius:12px;background:#fff;border:1px solid #dce8ee}.sap2-u14-experiment b,.sap2-u14-experiment span{display:block}.sap2-u14-experiment span{margin-top:5px;color:#526b7b}
@media(max-width:900px){.sap2-u14-sequence,.sap2-u14-equations{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u14-diagnostic{grid-template-columns:1fr}.sap2-u14-experiment{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u14-readouts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.sap2-u14-sequence,.sap2-u14-equations,.sap2-u14-coregrid,.sap2-u14-workedgrid,.sap2-u14-labs,.sap2-u14-confgrid,.sap2-u14-targets,.sap2-u14-tool,.sap2-u14-experiment{grid-template-columns:1fr}.sap2-u14-readouts{grid-template-columns:1fr}.sap2-u14-topicbadge{min-width:0;width:100%;box-sizing:border-box}.sap2-u14-confgrid label{align-items:flex-start;flex-direction:column}.sap2-u14-confgrid select{width:100%}}


/* Unit 15 — Modern Physics */
.sap2-u15-hero-svg{width:100%;height:auto;display:block;color:#166a8f}
.sap2-u15-sequence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-u15-sequence article{display:grid;grid-template-columns:44px 1fr;gap:4px 10px;padding:16px;border:1px solid #d9e7ee;border-radius:16px;background:#fff}.sap2-u15-sequence article>span{grid-row:1/3;font-weight:900;color:#166a8f}.sap2-u15-sequence h3,.sap2-u15-sequence p{margin:0}.sap2-u15-sequence p{color:#647b89}
.sap2-u15-equations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap2-u15-equations>div{padding:16px;border-radius:16px;background:#f8fbfd;border:1px solid #dbe8ef}.sap2-u15-equations b{display:block;color:#166a8f;margin-bottom:7px}.sap2-u15-equations code{display:block;font-size:16px;font-weight:800;overflow-wrap:anywhere}.sap2-u15-equations p{margin:8px 0 0}
.sap2-u15-coregrid,.sap2-u15-workedgrid,.sap2-u15-labs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sap2-u15-coregrid>div,.sap2-u15-workedgrid>article,.sap2-u15-labs>div{padding:18px;border:1px solid #dce8ee;border-radius:18px;background:#fff}.sap2-u15-coregrid h3,.sap2-u15-workedgrid h3,.sap2-u15-labs h3{margin:0 0 10px}.sap2-u15-coregrid p,.sap2-u15-labs p{margin:0}
.sap2-u15-diagnostic{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:18px}.sap2-u15-confgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sap2-u15-confgrid label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #dce8ee;border-radius:14px;background:#fff}.sap2-u15-confgrid select{min-width:145px}.sap2-u15-recommend{padding:18px;border-radius:18px;background:#153b50;color:#fff}.sap2-u15-recommend>span{font-size:12px;text-transform:uppercase;letter-spacing:.07em}.sap2-u15-recommend strong{display:block;font-size:20px;margin:8px 0}.sap2-u15-recommend p{color:#e6f3f8}.sap2-u15-recommend [data-u15-recommend-link]{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.sap2-u15-recommend [data-u15-recommend-link] a{color:#fff;font-weight:700}
.sap2-u15-topicbadge{align-self:center;min-width:220px;padding:24px;border:1px solid #d9e8ef;border-radius:24px;background:rgba(255,255,255,.9);text-align:center}.sap2-u15-topicbadge b{display:block;font-size:50px;line-height:1;color:#166a8f}.sap2-u15-topicbadge span{display:block;font-weight:800;margin:8px 0}.sap2-u15-topicbadge strong{display:block;font-size:13px;color:#647b89}
.sap2-u15-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sap2-u15-targets>div{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:start;padding:14px;border-radius:14px;background:#f8fbfd;border:1px solid #dce8ee}.sap2-u15-targets span{font-weight:900;color:#166a8f}.sap2-u15-targets p{margin:0}
.sap2-u15-tool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border:1px solid #d8e7ee;border-radius:18px;background:#f8fbfd}.sap2-u15-tool label{display:grid;gap:7px;padding:12px;background:#fff;border-radius:12px}.sap2-u15-tool label span{display:flex;justify-content:space-between;gap:12px;font-weight:700}.sap2-u15-tool output{font-weight:900;color:#166a8f}.sap2-u15-readouts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sap2-u15-readouts>div{padding:14px;border-radius:13px;background:#153b50;color:#fff}.sap2-u15-readouts span{display:block;font-size:12px;color:#cce5ef;text-transform:uppercase;letter-spacing:.05em}.sap2-u15-readouts strong{display:block;margin-top:5px;overflow-wrap:anywhere}
.sap2-u15-experiment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.sap2-u15-experiment>div{padding:13px;border-radius:12px;background:#fff;border:1px solid #dce8ee}.sap2-u15-experiment b,.sap2-u15-experiment span{display:block}.sap2-u15-experiment span{margin-top:5px;color:#526b7b}
@media(max-width:900px){.sap2-u15-sequence,.sap2-u15-equations{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u15-diagnostic{grid-template-columns:1fr}.sap2-u15-experiment{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-u15-readouts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.sap2-u15-sequence,.sap2-u15-equations,.sap2-u15-coregrid,.sap2-u15-workedgrid,.sap2-u15-labs,.sap2-u15-confgrid,.sap2-u15-targets,.sap2-u15-tool,.sap2-u15-experiment{grid-template-columns:1fr}.sap2-u15-readouts{grid-template-columns:1fr}.sap2-u15-topicbadge{min-width:0;width:100%;box-sizing:border-box}.sap2-u15-confgrid label{align-items:flex-start;flex-direction:column}.sap2-u15-confgrid select{width:100%}}

/* v2.9.0 topic competitor-depth upgrade */
.sap2-depthgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sap2-depthgrid article{border:1px solid var(--sap2-border,#d9e2e8);border-radius:16px;padding:20px;background:var(--sap2-card,#fff)}
.sap2-depthgrid h3{margin:.35rem 0 .55rem;font-size:1.05rem;line-height:1.35}
.sap2-depthgrid p{margin:0;line-height:1.7}
@media(max-width:780px){.sap2-depthgrid{grid-template-columns:1fr}}


/* v3.1.0 contextual internal concept links */
.sap2-context-links{margin-top:1.35rem;padding-top:1.1rem;border-top:1px solid #d9e7ef}.sap2-context-linkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.sap2-context-link{display:flex;flex-direction:column;gap:.4rem;padding:1rem 1.05rem;border:1px solid #cbdde7;border-radius:16px;background:#fff;text-decoration:none!important;box-shadow:0 8px 22px rgba(16,46,70,.06)}.sap2-context-link:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(16,46,70,.1)}.sap2-context-link span{font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#1773aa}.sap2-context-link strong{color:#102e46;font-size:1rem}.sap2-context-link small{color:#4d6574;line-height:1.45}@media(max-width:720px){.sap2-context-linkgrid{grid-template-columns:1fr}}

/* v3.2.0 — Lab navigator + Lab 1 hands-on AP Physics 1-style workflow */
.sap2-lab-jumpgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.sap2-lab-jumpgrid a{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 11px;align-items:center;min-width:0;padding:14px 15px;border:1px solid #cfdee7;border-radius:15px;background:#fff;color:#112c42;text-decoration:none;box-shadow:0 5px 18px rgba(17,44,66,.04);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.sap2-lab-jumpgrid a:hover,.sap2-lab-jumpgrid a:focus-visible{transform:translateY(-2px);border-color:#7fb6d3;box-shadow:0 10px 24px rgba(17,44,66,.09);outline:0}
.sap2-lab-jumpgrid b{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#112c42;color:#fff;font-size:.92rem}
.sap2-lab-jumpgrid span{min-width:0;font-weight:850;line-height:1.25;color:#126fa8;overflow-wrap:anywhere}
.sap2-lab-jumpgrid small{font-size:.76rem;color:#60798a;line-height:1.3}
.sap2-real-gas{scroll-margin-top:24px}.sap2-real-gas .sap2-vlab-brief{grid-template-columns:repeat(3,minmax(0,1fr))}
.sap2-real-gas .sap2-real-stage{border:1px solid #d2e0e8;border-radius:18px;background:#f7fafc}.sap2-real-gas .sap2-vlab-svg{display:block;width:100%;height:auto}
.sap2-real-gas .sap2-real-controls{padding:17px;border:1px solid #d2e0e8;border-radius:18px;background:#fff}.sap2-real-gas .sap2-real-controls>h3{margin:0 0 3px}
.sap2-real-gas .sap2-real-meters{grid-template-columns:1fr 1fr}.sap2-real-gas .sap2-real-meters>div:nth-child(4){background:#edf7f3}
.sap2-real-gas .sap2-vlab-meter{margin-top:4px}.sap2-real-gas .sap2-vlab-meter i{background:#2a8d73}
.sap2-real-gas .sap2-lab-control input:disabled,.sap2-real-gas .sap2-lab-control select:disabled{opacity:.58;cursor:not-allowed}
.sap2-real-gas .sap2-setup-feedback{margin:2px 0 4px}.sap2-real-gas .sap2-text-btn{align-self:flex-start}
.sap2-gas-svg [data-gas-equilibrium-light]{transition:fill .2s ease}.sap2-gas-svg [data-gas-tempbar]{transition:width .08s linear}.sap2-gas-svg [data-gas-particles] circle{transition:r .12s linear,opacity .12s linear}
.sap2-gas-analysis-controls{grid-template-columns:repeat(5,minmax(0,1fr))}.sap2-gas-analysis-controls p{grid-column:1/-1}
@media(max-width:1100px){.sap2-lab-jumpgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sap2-gas-analysis-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sap2-lab-jumpgrid{grid-template-columns:1fr}.sap2-real-gas .sap2-vlab-brief{grid-template-columns:1fr 1fr}.sap2-real-gas .sap2-real-meters{grid-template-columns:1fr 1fr}.sap2-gas-analysis-controls{grid-template-columns:1fr}.sap2-gas-analysis-controls p{grid-column:1}.sap2-lab-jumpgrid a{padding:13px 14px}}
@media(max-width:480px){.sap2-real-gas .sap2-vlab-brief,.sap2-real-gas .sap2-real-meters{grid-template-columns:1fr}.sap2-lab-jumpgrid a{grid-template-columns:38px minmax(0,1fr)}.sap2-lab-jumpgrid b{width:38px;height:38px}.sap2-real-gas .sap2-real-controls{padding:13px}}
.sap2-vlab-analysis[hidden]{display:none!important}

/* v3.3.0 — Lab 1 direct-apparatus parity with AP Physics 1 labs */
.sap2-real-gas .sap2-gas-svg{touch-action:none;user-select:none;-webkit-user-select:none}
.sap2-real-gas [data-gas-temp-handle]{cursor:grab;touch-action:none}
.sap2-real-gas [data-gas-temp-handle].is-dragging{cursor:grabbing;filter:drop-shadow(0 5px 7px rgba(17,44,66,.22))}
.sap2-real-gas [data-gas-temp-handle].is-locked{cursor:not-allowed;opacity:.62}
.sap2-real-gas [data-gas-temp-handle] text{pointer-events:none}
.sap2-real-gas .sap2-real-note{margin:2px 0 4px}
.sap2-real-gas .sap2-feedback ul{margin:8px 0 0;padding-left:1.2rem}
.sap2-real-gas .sap2-feedback li+li{margin-top:6px}
@media(max-width:760px){.sap2-real-gas .sap2-real-meters{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.sap2-real-gas .sap2-real-meters{grid-template-columns:1fr}}
@media(max-width:760px){
  .sap2-real-gas .sap2-vlab-progress{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
  .sap2-real-gas .sap2-tablewrap{width:100%;max-width:100%;box-sizing:border-box;overflow-x:auto}
}
@media(max-width:760px){
  .sap2-vlab-progress{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
  .sap2-tablewrap{width:100%;max-width:100%;box-sizing:border-box;overflow-x:auto}
}


/* v3.3.1 — Lab 1 formatting parity and hostile-theme hardening */
.sap2 .sap2-lab-jumpgrid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin:20px 0 0!important}
.sap2 .sap2-lab-jumpgrid>a{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:2px 10px!important;align-items:center!important;min-width:0!important;min-height:78px!important;padding:12px 13px!important;border:1px solid #cfdee7!important;border-radius:15px!important;background:#fff!important;color:#112c42!important;text-decoration:none!important;box-shadow:0 5px 16px rgba(17,44,66,.045)!important}
.sap2 .sap2-lab-jumpgrid>a:hover,.sap2 .sap2-lab-jumpgrid>a:focus-visible{border-color:#78adca!important;box-shadow:0 9px 22px rgba(17,44,66,.09)!important;transform:translateY(-1px)}
.sap2 .sap2-lab-jumpgrid>a>b{grid-row:1/3!important;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;margin:0!important;border-radius:50%!important;background:#112c42!important;color:#fff!important;font-size:.86rem!important;line-height:1!important}
.sap2 .sap2-lab-jumpgrid>a>span{display:block!important;min-width:0!important;color:#126fa8!important;font-size:.86rem!important;font-weight:850!important;line-height:1.22!important;overflow-wrap:anywhere!important}
.sap2 .sap2-lab-jumpgrid>a>small{display:block!important;margin:0!important;color:#60798a!important;font-size:.7rem!important;line-height:1.25!important}

.sap2 .sap2-real-pattern{padding-top:38px!important}
.sap2 .sap2-real-pattern .sap2-vlab-head{display:grid!important;grid-template-columns:minmax(0,1fr) 190px!important;gap:22px!important;align-items:start!important;margin-bottom:2px!important}
.sap2 .sap2-real-pattern .sap2-vlab-head>div:first-child{max-width:920px}
.sap2 .sap2-real-pattern .sap2-vlab-progress{width:190px!important;min-width:0!important;padding:14px 15px!important;border:1px solid #cbdbe5!important;border-radius:16px!important;background:linear-gradient(180deg,#fff,#f6fafc)!important;box-shadow:0 5px 16px rgba(17,44,66,.04)!important;text-align:center!important}
.sap2 .sap2-real-pattern .sap2-vlab-progress strong{font-size:.92rem!important;line-height:1.25!important}
.sap2 .sap2-real-pattern .sap2-vlab-progress span{font-size:.76rem!important;line-height:1.32!important}
.sap2 .sap2-real-pattern .sap2-answer{margin-bottom:0!important}

.sap2 .sap2-real-pattern .sap2-vlab-brief{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:20px 0 14px!important}
.sap2 .sap2-real-pattern .sap2-vlab-brief>div{min-height:76px!important;padding:12px 13px!important;background:#f8fbfd!important;border-color:#d5e2e9!important}
.sap2 .sap2-real-pattern .sap2-vlab-brief span{font-size:.68rem!important}
.sap2 .sap2-real-pattern .sap2-vlab-brief strong{font-size:.88rem!important;line-height:1.35!important}

.sap2 .sap2-real-pattern .sap2-lab-modebar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(145px,auto) minmax(205px,auto)!important;gap:10px!important;align-items:center!important;margin:14px 0 16px!important;padding:13px 14px!important;border:1px solid #cbdce6!important;border-radius:16px!important;background:#f5f9fc!important;box-shadow:none!important}
.sap2 .sap2-real-pattern .sap2-lab-modebar .sap2-btn{min-height:44px!important;padding:9px 13px!important;border-radius:11px!important;font-size:.86rem!important;white-space:normal!important}
.sap2 .sap2-real-pattern .sap2-lab-modebar .sap2-btn.is-active{box-shadow:0 6px 14px rgba(17,44,66,.12)!important}

.sap2 .sap2-real-pattern .sap2-real-instructions{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;margin:0 0 18px!important}
.sap2 .sap2-real-pattern .sap2-real-instructions>div{min-height:112px!important;padding:12px!important;border-color:#d5e2e9!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 11px rgba(17,44,66,.025)!important}
.sap2 .sap2-real-pattern .sap2-real-instructions b{flex-basis:28px!important;height:28px!important;font-size:.78rem!important}
.sap2 .sap2-real-pattern .sap2-real-instructions span{font-size:.79rem!important;line-height:1.42!important}

.sap2 .sap2-real-pattern .sap2-real-grid{display:grid!important;grid-template-columns:minmax(0,1.62fr) minmax(300px,.72fr)!important;gap:18px!important;align-items:start!important;margin-top:0!important}
.sap2 .sap2-real-pattern .sap2-real-stage{min-width:0!important;border:1px solid #cbdce6!important;border-radius:19px!important;background:#f6fafc!important;box-shadow:0 8px 26px rgba(17,44,66,.055)!important;overflow:hidden!important}
.sap2 .sap2-real-pattern .sap2-real-toolbar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:14px!important;padding:12px 14px!important;background:#fff!important;border-bottom:1px solid #d6e3ea!important}
.sap2 .sap2-real-pattern .sap2-real-toolbar strong{font-size:.9rem!important}
.sap2 .sap2-real-pattern .sap2-real-toolbar span{max-width:62%!important;font-size:.75rem!important;line-height:1.35!important}
.sap2 .sap2-real-pattern .sap2-gas-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:500px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-pattern .sap2-real-readout{min-height:58px!important;padding:12px 14px!important;font-size:.84rem!important;line-height:1.45!important;color:#304653!important;background:#fff!important}

.sap2 .sap2-real-pattern .sap2-real-controls{display:flex!important;flex-direction:column!important;gap:9px!important;min-width:0!important;padding:15px!important;border:1px solid #cbdce6!important;border-radius:19px!important;background:#fff!important;box-shadow:0 8px 26px rgba(17,44,66,.055)!important}
.sap2 .sap2-real-pattern .sap2-real-controls>h3{margin:0 0 2px!important;font-size:1rem!important}
.sap2 .sap2-real-pattern .sap2-real-meters{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 2px!important}
.sap2 .sap2-real-pattern .sap2-real-meters>div{min-height:62px!important;padding:9px 10px!important;border-radius:12px!important;background:#f7fafc!important}
.sap2 .sap2-real-pattern .sap2-real-meters span{font-size:.64rem!important;line-height:1.2!important}
.sap2 .sap2-real-pattern .sap2-real-meters strong{font-size:.91rem!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.sap2 .sap2-real-pattern .sap2-real-note{margin:2px 0!important;padding:10px 11px!important;font-size:.77rem!important;line-height:1.42!important}
.sap2 .sap2-real-pattern .sap2-setup-feedback{min-height:0!important;margin:0!important;padding:10px 11px!important;font-size:.77rem!important;line-height:1.42!important}
.sap2 .sap2-real-pattern .sap2-real-controls>.sap2-btn{width:100%!important;min-height:43px!important;margin:0!important;padding:9px 12px!important;border-radius:11px!important;font-size:.82rem!important;box-shadow:none!important}
.sap2 .sap2-real-pattern .sap2-real-secondary-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 8px!important;margin-top:1px!important;padding-top:8px!important;border-top:1px solid #e1e9ee!important}
.sap2 .sap2-real-pattern .sap2-real-secondary-actions .sap2-text-btn{width:100%!important;min-height:36px!important;margin:0!important;padding:5px 6px!important;font-size:.72rem!important;line-height:1.25!important;border-radius:8px!important;text-align:center!important}
.sap2 .sap2-real-pattern .sap2-vlab-meter{margin-top:3px!important}
.sap2 .sap2-real-pattern .sap2-vlab-meter>span{font-size:.72rem!important;font-weight:800!important}

.sap2 .sap2-real-pattern .sap2-vlab-table{margin-top:18px!important;border-radius:15px!important;box-shadow:0 4px 16px rgba(17,44,66,.035)!important}
.sap2 .sap2-real-pattern .sap2-table th{font-size:.72rem!important;padding:10px 11px!important}
.sap2 .sap2-real-pattern .sap2-table td{font-size:.84rem!important;padding:10px 11px!important}
.sap2 .sap2-real-pattern .sap2-lab-analysis-controls{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-top:14px!important;padding:13px!important;border-radius:15px!important;background:#f6fafc!important}
.sap2 .sap2-real-pattern .sap2-lab-analysis-controls .sap2-btn{min-height:43px!important;padding:8px 11px!important;font-size:.8rem!important;border-radius:10px!important;box-shadow:none!important}
.sap2 .sap2-real-pattern .sap2-lab-analysis-controls p{font-size:.75rem!important;line-height:1.4!important}
.sap2 .sap2-real-pattern .sap2-vlab-analysis{gap:18px!important;margin-top:16px!important}
.sap2 .sap2-real-pattern .sap2-vlab-graph,.sap2 .sap2-real-pattern .sap2-resultbox,.sap2 .sap2-real-pattern .sap2-discussion,.sap2 .sap2-real-pattern .sap2-conclusion,.sap2 .sap2-real-pattern .sap2-feedback{border-radius:15px!important}

@media(max-width:1180px){
  .sap2 .sap2-lab-jumpgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .sap2 .sap2-real-pattern .sap2-real-instructions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .sap2 .sap2-lab-jumpgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sap2 .sap2-real-pattern .sap2-vlab-head{grid-template-columns:1fr!important}
  .sap2 .sap2-real-pattern .sap2-vlab-progress{width:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;text-align:left!important}
  .sap2 .sap2-real-pattern .sap2-vlab-progress span{margin:0!important;text-align:right!important}
  .sap2 .sap2-real-pattern .sap2-real-grid{grid-template-columns:1fr!important}
  .sap2 .sap2-real-pattern .sap2-real-controls{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:start!important}
  .sap2 .sap2-real-pattern .sap2-real-controls>h3,.sap2 .sap2-real-pattern .sap2-real-meters,.sap2 .sap2-real-pattern .sap2-real-note,.sap2 .sap2-real-pattern .sap2-setup-feedback,.sap2 .sap2-real-pattern .sap2-real-secondary-actions,.sap2 .sap2-real-pattern .sap2-vlab-meter{grid-column:1/-1!important}
}
@media(max-width:700px){
  .sap2 .sap2-real-pattern .sap2-vlab-brief{grid-template-columns:1fr 1fr!important}
  .sap2 .sap2-real-pattern .sap2-lab-modebar{grid-template-columns:1fr 1fr!important}
  .sap2 .sap2-real-pattern .sap2-lab-modebar>div{grid-column:1/-1!important}
  .sap2 .sap2-real-pattern .sap2-real-instructions{grid-template-columns:1fr 1fr!important}
  .sap2 .sap2-real-pattern .sap2-real-toolbar{display:block!important}
  .sap2 .sap2-real-pattern .sap2-real-toolbar span{display:block!important;max-width:none!important;margin-top:3px!important;text-align:left!important}
  .sap2 .sap2-real-pattern .sap2-real-controls{grid-template-columns:1fr!important}
  .sap2 .sap2-real-pattern .sap2-real-controls>*{grid-column:1!important}
  .sap2 .sap2-real-pattern .sap2-lab-analysis-controls{grid-template-columns:1fr!important}
  .sap2 .sap2-real-pattern .sap2-lab-analysis-controls p{grid-column:1!important}
}
@media(max-width:520px){
  .sap2 .sap2-lab-jumpgrid{grid-template-columns:1fr!important}
  .sap2 .sap2-lab-jumpgrid>a{min-height:70px!important}
  .sap2 .sap2-real-pattern{padding-top:30px!important}
  .sap2 .sap2-real-pattern .sap2-vlab-brief,.sap2 .sap2-real-pattern .sap2-real-instructions,.sap2 .sap2-real-pattern .sap2-real-meters,.sap2 .sap2-real-pattern .sap2-lab-modebar{grid-template-columns:1fr!important}
  .sap2 .sap2-real-pattern .sap2-real-instructions>div{min-height:0!important}
  .sap2 .sap2-real-pattern .sap2-real-secondary-actions{grid-template-columns:1fr!important}
  .sap2 .sap2-real-pattern .sap2-gas-svg{max-height:none!important}
}


/* v3.4.0 — Lab 2 manual calorimetry parity + final shared Lab 1/2 format */
.sap2 .sap2-real-cal .sap2-cal-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-cal .sap2-cal-settings label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-cal .sap2-cal-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-cal .sap2-cal-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-cal .sap2-cal-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-cal .sap2-cal-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-cal .sap2-cal-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:510px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-cal [data-cal-metal-group],.sap2 .sap2-real-cal [data-cal-metal-in-cup]{transition:opacity .28s ease}
.sap2 .sap2-real-cal .sap2-cal-theory{margin-top:2px;margin-bottom:18px}
.sap2 .sap2-real-cal .sap2-cal-theory .sap2-panel{padding:16px 17px}
.sap2 .sap2-real-cal .sap2-cal-theory h3{font-size:1rem;margin:.15rem 0 .55rem}
.sap2 .sap2-real-cal .sap2-cal-theory p,.sap2 .sap2-real-cal .sap2-cal-theory li{font-size:.84rem;line-height:1.48}
.sap2 .sap2-real-cal .sap2-cal-theory ol{margin:.4rem 0 .8rem 1.1rem}
.sap2 .sap2-real-cal .sap2-eq{font-size:.91rem;line-height:1.5;padding:10px 12px}
@media(max-width:900px){.sap2 .sap2-real-cal .sap2-cal-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-cal .sap2-cal-settings{grid-column:1/-1!important}.sap2 .sap2-real-cal .sap2-cal-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-cal .sap2-cal-settings{grid-template-columns:1fr}.sap2 .sap2-real-cal .sap2-cal-svg{max-height:none!important}.sap2 .sap2-real-cal .sap2-cal-settings label>span{font-size:.72rem}}

/* v3.5.0 — Lab 3 manual P–V path parity */
.sap2 .sap2-real-pv .sap2-pv-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-pv .sap2-pv-settings label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-pv .sap2-pv-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-pv .sap2-pv-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-pv .sap2-pv-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-pv .sap2-pv-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-pv .sap2-pv-checkpoint-control{grid-column:1/-1}
.sap2 .sap2-real-pv .sap2-pv-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:520px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-pv .sap2-pv-theory{margin-top:2px;margin-bottom:18px}
.sap2 .sap2-real-pv .sap2-pv-theory .sap2-panel{padding:16px 17px}
.sap2 .sap2-real-pv .sap2-pv-theory h3{font-size:1rem;margin:.15rem 0 .55rem}
.sap2 .sap2-real-pv .sap2-pv-theory p,.sap2 .sap2-real-pv .sap2-pv-theory li{font-size:.84rem;line-height:1.48}
.sap2 .sap2-real-pv .sap2-pv-theory ol{margin:.4rem 0 .8rem 1.1rem}
.sap2 .sap2-real-pv [data-pv-piston],.sap2 .sap2-real-pv [data-pv-gas],.sap2 .sap2-real-pv [data-pv-rod]{transition:all .25s ease}
@media(max-width:900px){.sap2 .sap2-real-pv .sap2-pv-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-pv .sap2-pv-settings{grid-column:1/-1!important}.sap2 .sap2-real-pv .sap2-pv-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-pv .sap2-pv-settings{grid-template-columns:1fr}.sap2 .sap2-real-pv .sap2-pv-checkpoint-control{grid-column:1}.sap2 .sap2-real-pv .sap2-pv-svg{max-height:none!important}.sap2 .sap2-real-pv .sap2-pv-settings label>span{font-size:.72rem}}

/* v3.6.0 — Lab 4 Physics 1-style manual field-mapping pattern */
.sap2 .sap2-real-field .sap2-field-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-field .sap2-field-settings label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-field .sap2-field-settings label:last-child{grid-column:1/-1}
.sap2 .sap2-real-field .sap2-field-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-field .sap2-field-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-field .sap2-field-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-field .sap2-field-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-field .sap2-field-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:520px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-field [data-field-probe-group]{outline:none;transition:filter .15s ease}
.sap2 .sap2-real-field [data-field-probe-group]:focus-visible{filter:drop-shadow(0 0 5px rgba(103,85,166,.55))}
.sap2 .sap2-real-field .sap2-field-theory{margin-top:2px;margin-bottom:18px}
.sap2 .sap2-real-field .sap2-field-theory .sap2-panel{padding:16px 17px}
.sap2 .sap2-real-field .sap2-field-theory h3{font-size:1rem;margin:.15rem 0 .55rem}
.sap2 .sap2-real-field .sap2-field-theory p,.sap2 .sap2-real-field .sap2-field-theory li{font-size:.84rem;line-height:1.48}
.sap2 .sap2-real-field .sap2-field-theory ol{margin:.4rem 0 .8rem 1.1rem}
.sap2 .sap2-real-field .sap2-eq{font-size:.92rem;line-height:1.5;padding:10px 12px}
@media(max-width:900px){.sap2 .sap2-real-field .sap2-field-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-field .sap2-field-settings{grid-column:1/-1!important}.sap2 .sap2-real-field .sap2-field-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-field .sap2-field-settings{grid-template-columns:1fr}.sap2 .sap2-real-field .sap2-field-settings label:last-child{grid-column:1}.sap2 .sap2-real-field .sap2-field-svg{max-height:none!important}.sap2 .sap2-real-field .sap2-field-settings label>span{font-size:.72rem}}


/* AP Physics 2 v3.7.0 — Lab 5 finalized manual capacitance formatting */
.sap2 .sap2-real-cap .sap2-cap-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-cap .sap2-cap-settings label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-cap .sap2-cap-settings label:first-child,.sap2 .sap2-real-cap .sap2-cap-settings label:last-child{grid-column:1/-1}
.sap2 .sap2-real-cap .sap2-cap-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-cap .sap2-cap-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-cap .sap2-cap-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-cap .sap2-cap-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-cap .sap2-cap-svg{background:linear-gradient(180deg,#f8fbfd,#f3f8fb)}
.sap2 .sap2-real-cap .sap2-cap-theory{margin:0 0 18px}
.sap2 .sap2-real-cap .sap2-real-meters>div:nth-child(3){background:#edf7f3}
.sap2 .sap2-real-cap [data-cap-meter]{display:block;width:0;height:100%;background:linear-gradient(90deg,#1773aa,#2a8d73);transition:width .2s ease}
@media(max-width:900px){.sap2 .sap2-real-cap .sap2-cap-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-cap .sap2-cap-settings{grid-column:1/-1!important}.sap2 .sap2-real-cap .sap2-cap-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-cap .sap2-cap-settings{grid-template-columns:1fr}.sap2 .sap2-real-cap .sap2-cap-settings label:first-child,.sap2 .sap2-real-cap .sap2-cap-settings label:last-child{grid-column:1}.sap2 .sap2-real-cap .sap2-cap-svg{max-height:none!important}.sap2 .sap2-real-cap .sap2-cap-settings label>span{font-size:.72rem}}

/* AP Physics 2 v3.8.0 — Lab 6 hands-on electric-energy apparatus */
.sap2 .sap2-real-ce .sap2-ce-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-ce .sap2-ce-settings label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-ce .sap2-ce-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-ce .sap2-ce-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-ce .sap2-ce-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-ce .sap2-ce-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-ce .sap2-ce-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:520px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-ce .sap2-ce-theory{margin:0 0 18px}
.sap2 .sap2-real-ce .sap2-ce-theory .sap2-panel{padding:16px 17px}
.sap2 .sap2-real-ce .sap2-ce-theory h3{font-size:1rem;margin:.15rem 0 .55rem}
.sap2 .sap2-real-ce .sap2-ce-theory p,.sap2 .sap2-real-ce .sap2-ce-theory li{font-size:.84rem;line-height:1.48}
@media(max-width:900px){.sap2 .sap2-real-ce .sap2-ce-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-ce .sap2-ce-settings{grid-column:1/-1!important}.sap2 .sap2-real-ce .sap2-ce-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-ce .sap2-ce-settings{grid-template-columns:1fr}.sap2 .sap2-real-ce .sap2-ce-svg{max-height:none!important}.sap2 .sap2-real-ce .sap2-ce-settings label>span{font-size:.72rem}}

/* AP Physics 2 v3.9.0 — Lab 7 hands-on I–V apparatus */
.sap2 .sap2-real-iv .sap2-iv-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-iv .sap2-iv-settings label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-iv .sap2-iv-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-iv .sap2-iv-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-iv .sap2-iv-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-iv .sap2-iv-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-iv .sap2-iv-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:520px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-iv .sap2-iv-theory{margin:0 0 18px}
.sap2 .sap2-real-iv .sap2-iv-theory .sap2-panel{padding:16px 17px}
.sap2 .sap2-real-iv .sap2-iv-theory h3{font-size:1rem;margin:.15rem 0 .55rem}
.sap2 .sap2-real-iv .sap2-iv-theory p,.sap2 .sap2-real-iv .sap2-iv-theory li{font-size:.84rem;line-height:1.48}
.sap2 .sap2-real-iv .sap2-iv-graph-stack{display:grid;gap:18px}
.sap2 .sap2-real-iv [data-iv-glow]{transition:opacity .25s ease,r .25s ease}
@media(max-width:900px){.sap2 .sap2-real-iv .sap2-iv-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-iv .sap2-iv-settings{grid-column:1/-1!important}.sap2 .sap2-real-iv .sap2-iv-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-iv .sap2-iv-settings{grid-template-columns:1fr}.sap2 .sap2-real-iv .sap2-iv-svg{max-height:none!important}.sap2 .sap2-real-iv .sap2-iv-settings label>span{font-size:.72rem}}

/* v3.10.0 Lab 8 manual Kirchhoff network */
.sap2 .sap2-real-kirch .sap2-kirch-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-kirch .sap2-kirch-settings label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-kirch .sap2-kirch-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-kirch .sap2-kirch-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-kirch .sap2-kirch-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-kirch .sap2-kirch-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-kirch .sap2-kirch-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:560px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-kirch .sap2-kirch-theory{margin:0 0 18px}
.sap2 .sap2-real-kirch .sap2-kirch-theory .sap2-panel{padding:16px 17px}
.sap2 .sap2-real-kirch .sap2-kirch-theory h3{font-size:1rem;margin:.15rem 0 .55rem}
.sap2 .sap2-real-kirch .sap2-kirch-theory p,.sap2 .sap2-real-kirch .sap2-kirch-theory li{font-size:.84rem;line-height:1.48}
@media(max-width:900px){.sap2 .sap2-real-kirch .sap2-kirch-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-kirch .sap2-kirch-settings{grid-column:1/-1!important}.sap2 .sap2-real-kirch .sap2-kirch-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-kirch .sap2-kirch-settings{grid-template-columns:1fr}.sap2 .sap2-real-kirch .sap2-kirch-svg{max-height:none!important}.sap2 .sap2-real-kirch .sap2-kirch-settings label>span{font-size:.72rem}}
.sap2 .sap2-real-kirch .sap2-vlab-table{box-sizing:border-box!important;width:100%!important;max-width:100%!important}

/* v3.11.0 Lab 9 manual RC landmark experiment */
.sap2 .sap2-real-rc .sap2-rc-svg{display:block;width:100%;height:auto;min-height:360px}
.sap2 .sap2-real-rc .sap2-real-meters>div:nth-child(3){background:#edf7f3}
.sap2 .sap2-real-rc .sap2-stopwatch{background:#112c42!important;border-color:#112c42!important}
@media(max-width:480px){.sap2 .sap2-real-rc .sap2-rc-svg{min-height:300px}.sap2 .sap2-real-rc .sap2-real-toolbar span{font-size:.76rem}}


/* v3.12.0 Lab 10 manual magnetic-force experiment */
.sap2 .sap2-real-mag .sap2-mag-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-mag .sap2-mag-settings label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-mag .sap2-mag-settings label:first-child,.sap2 .sap2-real-mag .sap2-mag-settings label:last-child{grid-column:1/-1}
.sap2 .sap2-real-mag .sap2-mag-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-mag .sap2-mag-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-mag .sap2-mag-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-mag .sap2-mag-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-mag .sap2-mag-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:540px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-mag .sap2-mag-theory{margin:0 0 18px}
.sap2 .sap2-real-mag .sap2-mag-theory .sap2-panel{padding:16px 17px}
.sap2 .sap2-real-mag .sap2-mag-theory h3{font-size:1rem;margin:.15rem 0 .55rem}
.sap2 .sap2-real-mag .sap2-mag-theory p,.sap2 .sap2-real-mag .sap2-mag-theory li{font-size:.84rem;line-height:1.48}
.sap2 .sap2-real-mag [data-mag-wire-group]{transform-origin:430px 245px;transition:transform .18s ease}
@media(max-width:900px){.sap2 .sap2-real-mag .sap2-mag-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-mag .sap2-mag-settings{grid-column:1/-1!important}.sap2 .sap2-real-mag .sap2-mag-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-mag .sap2-mag-settings{grid-template-columns:1fr}.sap2 .sap2-real-mag .sap2-mag-settings label:first-child,.sap2 .sap2-real-mag .sap2-mag-settings label:last-child{grid-column:1}.sap2 .sap2-real-mag .sap2-mag-svg{max-height:none!important}.sap2 .sap2-real-mag .sap2-mag-settings label>span{font-size:.72rem}}


/* v3.17.0 Labs 11–15 manual apparatus pattern */
.sap2 .sap2-real-final .sap2-final-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}
.sap2 .sap2-real-final .sap2-final-settings>label,.sap2 .sap2-real-final .sap2-final-settings>div>label{display:grid;gap:5px;min-width:0;padding:9px 10px;border:1px solid #d5e1e8;border-radius:12px;background:#f7fafc}
.sap2 .sap2-real-final .sap2-final-settings>label:first-child{grid-column:1/-1}
.sap2 .sap2-real-final .sap2-final-settings>div{display:contents}
.sap2 .sap2-real-final .sap2-final-settings label>span{display:flex;justify-content:space-between;gap:8px;color:#304653;font-size:.68rem;font-weight:850;letter-spacing:.02em}
.sap2 .sap2-real-final .sap2-final-settings output{color:#1773aa;font-variant-numeric:tabular-nums}
.sap2 .sap2-real-final .sap2-final-settings input[type=range]{width:100%;min-height:24px;accent-color:#1773aa}
.sap2 .sap2-real-final .sap2-final-settings select{width:100%;min-height:38px;padding:6px 8px;border:1px solid #bfd0da;border-radius:9px;background:#fff;color:#112c42;font:inherit;font-size:.78rem}
.sap2 .sap2-real-final .sap2-final-svg{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:540px!important;background:linear-gradient(180deg,#f8fbfd,#f3f8fb)!important}
.sap2 .sap2-real-final .sap2-final-theory{margin:0 0 18px}.sap2 .sap2-real-final .sap2-final-theory .sap2-panel{padding:16px 17px}.sap2 .sap2-real-final .sap2-final-theory h3{font-size:1rem;margin:.15rem 0 .55rem}.sap2 .sap2-real-final .sap2-final-theory p,.sap2 .sap2-real-final .sap2-final-theory li{font-size:.84rem;line-height:1.48}
@media(max-width:900px){.sap2 .sap2-real-final .sap2-final-settings{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sap2 .sap2-real-final .sap2-final-settings{grid-column:1/-1!important}.sap2 .sap2-real-final .sap2-final-theory{grid-template-columns:1fr}}
@media(max-width:520px){.sap2 .sap2-real-final .sap2-final-settings{grid-template-columns:1fr}.sap2 .sap2-real-final .sap2-final-settings>label:first-child{grid-column:1}.sap2 .sap2-real-final .sap2-final-svg{max-height:none!important}.sap2 .sap2-real-final .sap2-final-settings label>span{font-size:.72rem}}

/* v3.19.0 — unified Physics 1-style laboratory reporting format */
.sap2-lab-standard{padding-top:30px}.sap2-lab-cycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sap2-lab-cycle>div{min-width:0;padding:15px;border:1px solid #d6e2e9;border-radius:15px;background:#fff}.sap2-lab-cycle b{display:grid;place-items:center;width:30px;height:30px;margin-bottom:8px;border-radius:50%;background:#112c42;color:#fff}.sap2-lab-cycle strong,.sap2-lab-cycle span{display:block}.sap2-lab-cycle strong{color:#112c42}.sap2-lab-cycle span{margin-top:5px;color:#60798a;font-size:.84rem;line-height:1.45}
.sap2-lab-reportbar{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:12px 18px;align-items:center;margin:15px 0 18px;padding:14px 16px;border:1px solid #cfdee7;border-radius:16px;background:#f8fbfd}.sap2-lab-reportbar>div:first-child strong,.sap2-lab-reportbar>div:first-child span{display:block}.sap2-lab-reportbar>div:first-child span{margin-top:3px;color:#60798a;font-size:.82rem}.sap2-lab-report-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.sap2-lab-report-actions .sap2-text-btn{display:inline-flex;align-items:center;text-decoration:none}.sap2-lab-report-actions .sap2-btn{min-height:42px;margin:0}.sap2-lab-topiclinks{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding-top:10px;border-top:1px solid #dce7ed}.sap2-lab-topiclinks>span{font-size:.72rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#60798a;margin-right:3px}.sap2-lab-topiclinks a{display:inline-flex;align-items:center;min-height:34px;padding:5px 9px;border:1px solid #c8dce7;border-radius:999px;background:#fff;text-decoration:none;font-size:.79rem;font-weight:780;color:#17658f}
.sap2-uncertainty{border-radius:16px;padding:16px 18px;border:1px solid #d8d0e8;border-left:5px solid #6755a6;background:#f8f5fc}.sap2-uncertainty h3{margin:0 0 7px;color:#4d3e82}.sap2-uncertainty p{margin:.45rem 0;color:#4e4a5c;line-height:1.55}.sap2-uncertainty strong{color:#43366f}
.sap2-gas-theory{margin:18px 0}.sap2-lab-complete{scroll-margin-top:90px}
@media(max-width:1050px){.sap2-lab-cycle{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sap2-lab-cycle{grid-template-columns:1fr 1fr}.sap2-lab-reportbar{grid-template-columns:1fr}.sap2-lab-report-actions{justify-content:flex-start}.sap2-lab-topiclinks{grid-column:1}.sap2-lab-report-actions .sap2-btn{width:auto}}
@media(max-width:520px){.sap2-lab-cycle{grid-template-columns:1fr}.sap2-lab-report-actions{display:grid;grid-template-columns:1fr}.sap2-lab-report-actions .sap2-btn,.sap2-lab-report-actions .sap2-text-btn{width:100%;justify-content:center}.sap2-lab-topiclinks a{flex:1 1 auto;justify-content:center}.sap2-uncertainty{padding:14px}}
@media print{
 body.sap2-print-single-lab .sap2>header,body.sap2-print-single-lab .sap2>nav,body.sap2-print-single-lab .sap2>section{display:none!important}
 body.sap2-print-single-lab .sap2>section.sap2-lab-complete.sap2-print-target{display:block!important;border:0!important;padding:0!important}
 body.sap2-print-single-lab .sap2-print-target .sap2-lab-reportbar,body.sap2-print-single-lab .sap2-print-target .sap2-lab-modebar,body.sap2-print-single-lab .sap2-print-target .sap2-real-controls,body.sap2-print-single-lab .sap2-print-target .sap2-real-secondary-actions,body.sap2-print-single-lab .sap2-print-target .sap2-lab-analysis-controls{display:none!important}
 body.sap2-print-single-lab .sap2-print-target .sap2-vlab-analysis[hidden]{display:grid!important}
 body.sap2-print-single-lab .sap2-print-target .sap2-vlab-stage,body.sap2-print-single-lab .sap2-print-target .sap2-panel,body.sap2-print-single-lab .sap2-print-target .sap2-vlab-graph,body.sap2-print-single-lab .sap2-print-target .sap2-resultbox,body.sap2-print-single-lab .sap2-print-target .sap2-uncertainty,body.sap2-print-single-lab .sap2-print-target .sap2-discussion,body.sap2-print-single-lab .sap2-print-target .sap2-conclusion,body.sap2-print-single-lab .sap2-print-target .sap2-feedback{break-inside:avoid}
}

/* v3.20.0 tablet containment: formula-result counter may wrap inside the compact third column */
.sap2-formula-count{min-width:0;max-width:100%;white-space:normal;flex-wrap:wrap;overflow-wrap:anywhere}
.sap2-formula-count span{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px) and (min-width:761px){.sap2-formula-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sap2-formula-count{justify-content:flex-start}}
