.sm-app{--sm-ink:#13233e;--sm-paper:#fff;--sm-soft:#f3f6fb;--sm-border:#dce4f0;color:var(--sm-ink);background:var(--sm-paper);padding:clamp(16px,3vw,32px);border:1px solid var(--sm-border);border-radius:20px;max-width:100%;min-width:0;line-height:1.65}.sm-app *{box-sizing:border-box}.sm-app [hidden]{display:none!important}.sm-heading h2{font-size:clamp(25px,4vw,38px);line-height:1.15;margin:10px 0}.sm-heading p{max-width:60ch}.sm-eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800}.sm-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px;background:var(--sm-soft);border-radius:14px;margin:22px 0}.sm-app button{font:inherit;min-height:44px;cursor:pointer;white-space:normal;border:1px solid var(--sm-border);border-radius:9px;padding:9px 15px;background:var(--sm-paper);color:var(--sm-ink)}.sm-app button.otk-primary,.sm-modes button[aria-pressed=true]{background:#0053e2;color:#fff;border-color:#0053e2}.sm-app button:disabled{opacity:.6;cursor:wait}.sm-app button:focus-visible,.sm-app input:focus-visible,.sm-app textarea:focus-visible,.sm-app select:focus-visible,.sm-app a:focus-visible,.sm-app summary:focus-visible{outline:3px solid #0053e2;outline-offset:3px}.sm-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px}.sm-app label{display:block;font-weight:650;font-size:14px;margin:10px 0 7px}.sm-app input:not([type=checkbox]),.sm-app select,.sm-app textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #8192ac;border-radius:9px;padding:12px;background:var(--sm-paper);color:var(--sm-ink);font:inherit;min-height:46px}.sm-app textarea{font-size:22px;resize:vertical;line-height:1.5}.sm-preview{background:var(--sm-soft);border-radius:10px;overflow:auto;min-height:65px;margin:12px 0}.sm-math{overflow-wrap:anywhere;overflow-x:auto;padding:12px 4px;font:clamp(18px,3vw,25px)/1.7 Cambria,Georgia,serif;max-width:100%}.sm-math math{font-size:1.1em}.sm-keyboard,.sm-actions,.sm-examples,.sm-nav{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:12px 0}.sm-keyboard button{min-width:44px;padding:8px 13px}.sm-examples button{font-size:12px;padding:7px 10px}.sm-muted,.sm-examples{font-size:13px;color:#52637b}.sm-status{padding:12px 15px;background:var(--sm-soft);border-left:3px solid #0053e2}.sm-result:empty{display:none}.sm-result{padding:18px 0}.sm-result>button{margin:8px 8px 0 0}.sm-result h3{margin-bottom:4px}.sm-steps{padding-left:25px}.sm-steps li{padding:10px 0 18px;border-bottom:1px solid var(--sm-border)}.sm-steps h4{margin:0;font-size:17px}.sm-app summary{cursor:pointer;font-weight:650;padding:10px 0}.sm-domain{border:1px solid #bc8945;border-radius:8px;padding:10px;background:#fff7e9;color:#65440f}.sm-lesson,.sm-challenge,.sm-graphs{padding:22px 0;margin-top:20px;border-top:1px solid var(--sm-border)}.sm-lesson h3,.sm-graphs h3{font-size:23px;margin:0}.sm-lesson>div{background:var(--sm-soft);padding:18px;border-radius:12px;margin-top:14px}.sm-lesson button,.sm-challenge button,.sm-graphs>button{margin:8px 8px 0 0}.sm-consent{display:flex!important;gap:10px;align-items:flex-start}.sm-consent input{width:20px;height:20px;flex:none;margin-top:3px}.sm-graphs svg{display:block;width:100%;height:auto;background:#fff;border-radius:10px;margin-top:15px}.sm-app table{width:100%;font-size:13px;border-collapse:collapse}.sm-app th,.sm-app td{padding:7px;border-bottom:1px solid var(--sm-border);text-align:left}.sm-app output{display:block;font-size:14px}.sm-scope{border-top:1px solid var(--sm-border);padding-top:12px}.sm-nav a{font-size:13px;color:inherit;padding:6px 8px;text-underline-offset:3px}.sm-progress{font-weight:700}.sm-app p{overflow-wrap:anywhere}.sm-app details p{white-space:pre-line}.sm-app input[type=range]{padding:0;accent-color:#0053e2}.sm-challenge{margin-top:0}.sm-lesson h4{margin:0}.sm-app a{color:#0053e2}
.sm-fraction-bars{margin:12px 0;max-width:400px}.sm-fraction-bar{display:grid;gap:2px;border:1px solid #537b62;margin:7px 0;height:28px}.sm-fraction-bar span{background:var(--sm-soft);border-right:1px solid #97b6a2}.sm-fraction-bar .sm-filled{background:#39805a}.sm-fraction-bars figcaption{font-size:13px}
@media(max-width:480px){.sm-app{padding:14px;border-radius:12px}.sm-modes{gap:3px;padding:4px}.sm-modes button{padding:8px 3px;font-size:13px}.sm-app textarea{font-size:19px}.sm-keyboard{gap:5px}.sm-steps{padding-left:21px}.sm-math{font-size:19px}}
[data-theme=dark] .sm-app{--sm-ink:#fafafa;--sm-paper:#212121;--sm-soft:#292929;--sm-border:#656565}.sm-app .sm-domain{color:#65440f}.sm-app .sm-muted{color:inherit;opacity:.85}[data-theme=dark] .sm-app a{color:#80abf7}
@media print{body.sm-printing *{visibility:hidden}body.sm-printing .sm-result,body.sm-printing .sm-result *{visibility:visible}body.sm-printing .sm-result{position:absolute;left:0;top:0;width:100%;color:#000;background:white;padding:15px}body.sm-printing .sm-result button{display:none}.sm-steps li{break-inside:avoid}.sm-result details{display:block}.sm-result details>*{display:block!important}.sm-math{overflow:visible;font-size:18px}}
.sm-app .sm-keyboard button{background:var(--sm-soft)}
