/* Shared reading scale for Hasnaa Math learning interfaces. */
:root{--reading-ink:#152c48;--reading-secondary:#495a70;--reading-size:19px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:Tahoma,Arial,sans-serif!important;font-size:var(--reading-size)!important;line-height:1.85}
h1{font-size:clamp(30px,3.5vw,44px);line-height:1.45}
h2{font-size:clamp(25px,2.8vw,32px);line-height:1.55}
h3{font-size:clamp(22px,2.4vw,27px);line-height:1.6}
p,li,label,summary{font-size:19px;line-height:1.9}
small,.hint,.muted,.subtitle,.description,.school,.lab-breadcrumb,.portal-card small,.stage-labs small{font-size:16px!important;line-height:1.85!important}
.hint,.muted,.subtitle,.description,.portal-card small,.stage-labs small{color:var(--reading-secondary)}
button,.button,.btn,input,select,textarea{font-family:Tahoma,Arial,sans-serif!important;font-size:18px!important;line-height:1.6}
button,.button,.btn{min-height:50px;padding:12px 18px;white-space:normal}
input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{min-height:54px;font-size:21px!important;border-width:2px;border-color:#acb7c6;background-color:#fff}
input[type=range]{min-height:34px}input[type=checkbox],input[type=radio]{width:22px;height:22px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #296da9;outline-offset:4px}
.panel,.card,.controls,.surface,.challenge,.challenge-card{border-radius:21px}
.panel,.card,.challenge,.challenge-card{padding:24px}
.toolbar,.actions,.choice-row,.choice-grid,.tabs{gap:12px;row-gap:14px}
.toolbar{margin-block:18px}.toolbar label{max-width:100%}
.toolbar input,.toolbar select{max-width:100%}
.labs,.portal-grid,.stage-labs{gap:22px}
.labs article,.portal-card,.stage-labs a{padding:24px}
.portal-card b,.stage-labs b,.labs b{font-size:23px!important;line-height:1.65}
.feedback,.feedback-box,#feedback,[id$="Feedback"],[id$="feedback"],.coord-feedback{font-size:22px!important;font-weight:800;line-height:1.9!important;min-height:44px;overflow-wrap:break-word}
.bigmath,.big-math,.formula-box{font-size:clamp(30px,4vw,46px)!important;line-height:1.8}
.notice,.explanation,.readout{font-size:20px;line-height:1.95;padding:16px}
.metric strong,.metrics strong{font-size:28px}
table{font-size:18px;line-height:1.8}th,td{padding:12px}
.matrix input{min-width:62px;width:66px;min-height:54px;padding:6px}
.back,.home,.navback{font-size:18px!important;min-height:50px;display:inline-flex;align-items:center;justify-content:center}
.numberline-wide .numberline{min-width:2800px}.numberline-wide .tick{font-size:15px!important}
.coord-steps span{font-size:18px!important}
.controls{scroll-padding:20px}
footer{font-size:17px!important;line-height:1.85}
@media(min-width:851px){.lab-wrap,.wrap,.coord-page{max-width:1280px}.workspace:has(>.controls){grid-template-columns:minmax(300px,340px) minmax(0,1fr)}}
@media(max-width:850px){.workspace:has(>.controls){grid-template-columns:minmax(0,1fr)}.controls{max-height:none!important;overflow:visible!important}.surface{position:static!important}.panel,.card,.challenge,.challenge-card{padding:18px}.toolbar{gap:12px}.labs,.stage-labs{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}}
@media(max-width:560px){:root{--reading-size:18px}p,li,label,summary{font-size:18px}h1{font-size:29px}h2{font-size:25px}button,.button,.btn{padding:12px 14px}.toolbar>label{flex:1 1 100%}.coord-steps span{font-size:16px!important}.matrix input{min-width:52px;width:54px}.bigmath,.big-math,.formula-box{font-size:29px!important}.fields{grid-template-columns:1fr}}
