
/**
Feedback stuff
 */
.feedback-btn{font-size:14px;position:fixed;left:12px;bottom:0px;width:auto; border-radius: 4px 4px 0px 0px !important;
    padding-bottom: 0px;}
#feedback-module p{font-size:13px;}
#feedback-note-tmp{width:444px;height:auto;min-height:90px;outline:none;font-family: Arial,sans-serif;padding:4px;}
#feedback-note-tmp:focus,#feedback-overview-note:focus{border:1px solid #64b7cc;}
#feedback-canvas{position:absolute;top:0;left:0;}
#feedback-welcome{top:30%;left:50%;margin-left:-270px;display:block;position:fixed;}
.feedback-logo{background:url(../images/feedback-icons.png) -0px -0px no-repeat;width:220px;margin-bottom:16px;font-size:16px;font-weight:normal;line-height:32px;padding-left:40px;height:32px;}
.feedback-next-btn{width:72px;height:29px;line-height:27px;float:right;font-size:13px;padding:0 8px;}
.feedback-back-btn{width:72px;height:29px;line-height:27px;float:right;font-size:13px;padding:0 8px;margin-right:20px;}
.feedback-submit-btn{width:72px;height:29px;line-height:27px;float:right;font-size:13px;padding:0 8px;}
.feedback-close-btn{width:72px;height:29px;line-height:27px;float:right;font-size:13px;padding:0 8px;}
.feedback-helper{background:rgba(0,0,0,0);cursor:default;}
.feedback-helper[data-type="highlight"]>.feedback-helper-inner{background:rgba(0,68,255,0.1);}
#feedback-close{cursor:pointer;position:absolute;background:url(../images/feedback-icons.png) -0px -64px;width:30px;height:30px;}
.feedback-wizard-close{cursor:pointer;position:absolute;top:2px;right:2px;background:url(../images/feedback-icons.png) -0px -34px;width:30px;height:30px;opacity:0.65;}
.feedback-wizard-close:hover{opacity:1;}
#feedback-welcome-error,#feedback-overview-error{display:none;color:#f13e3e;float:right;margin-right:30px;font-size:13px;line-height:29px;}
#feedback-overview-error{margin-top:20px;}
#feedback-highlighter{display:none;bottom:100px;right:100px;position:fixed;width:540px;height:275px;}
#feedback-overview{display:none;top:10%;left:50%;margin-left:-420px;position:fixed;width:840px!important;height:auto;}
#feedback-submit-error,#feedback-submit-success{top:30%;left:50%;margin-left:-300px;display:block;position:fixed;width:600px;height:auto;}
.feedback-btn{/*padding:2px;*/outline:0;background-clip:padding-box;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.2);-moz-box-shadow:0 4px 16px rgba(0,0,0,.2);box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:40000;}
/*.feedback-btn-gray{text-align:center;cursor:pointer;font-family:'Open sans';border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#444;border-radius:2px;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);}
.feedback-btn-gray:hover{color:#333;border:1px solid #c6c6c6;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);}*/
.feedback-btn-blue{text-align:center;cursor:pointer;font-family:'Open sans';border-radius:2px;background-color:#357ae8;background-image:-webkit-linear-gradient(top,#4d90fe,#357ae8);background-image:-moz-linear-gradient(top,#4d90fe,#357ae8);background-image:-ms-linear-gradient(top,#4d90fe,#357ae8);background-image:-o-linear-gradient(top,#4d90fe,#357ae8);background-image:linear-gradient(top,#4d90fe,#357ae8);border:1px solid #2f5bb7;color:#fff;}
#feedback-note-tmp,#feedback-overview-note{resize:none;}
#feedback-welcome,#feedback-highlighter,#feedback-overview,#feedback-submit-success,#feedback-submit-error{font-family:Arial,sans-serif;z-index:40000;background:#fff;border:1px solid rgba(0,0,0,.333);padding:30px 42px;width:540px;border:1px solid rgba(0,0,0,.333);outline:0;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.2);-moz-box-shadow:0 4px 16px rgba(0,0,0,.2);box-shadow:0 4px 16px rgba(0,0,0,.2);background:#fff;background-clip:padding-box;box-sizing: border-box;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;-webkit-transform: translateZ(0);}
.feedback-sethighlight,.feedback-setblackout{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);color:#444;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:default;font-size:11px;font-weight:bold;text-align:center;white-space:nowrap;margin-right:16px;height:30px;line-height:28px;min-width:90px;outline:0;padding:0 8px;display:inline-block;float:left;
}
.feedback-setblackout{margin-top:10px;clear:both;}
.feedback-sethighlight div{background:url(../images/feedback-icons.png) 0px -94px;width:16px;height:16px;margin-top:7px;float:left;}
.feedback-setblackout div{background:url(../images/feedback-icons.png) -16px -94px;width:16px;height:16px;margin-top:7px;float:left;}
.feedback-sethighlight:hover,.feedback-setblackout:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #c6c6c6;color:#333;}
.feedback-active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#e0e0e0);background-image:-moz-linear-gradient(top,#eee,#e0e0e0);background-image:-ms-linear-gradient(top,#eee,#e0e0e0);background-image:-o-linear-gradient(top,#eee,#e0e0e0);background-image:linear-gradient(top,#eee,#e0e0e0);border:1px solid #ccc;color:#333;}
#feedback-highlighter label {float:left;margin:0 0 0 10px;line-height:30px;font-size:13px;font-weight:normal;}
#feedback-highlighter label.lower{margin-top:10px;}
.feedback-buttons{float:right;margin-top:20px;clear:both;}
#feedback-module h3{font-weight:bold;font-size:15px;margin:8px 0;}
.feedback-additional{margin-bottom:20px!important;}
#feedback-overview-description{float:left;}
#feedback-overview-note{width:314px;padding:4px;height:90px;outline:none;font-family: Arial,sans-serif;}
#feedback-overview-screenshot{float:right;}
.feedback-screenshot{max-width:396px;padding:1px;border:1px solid #adadad;}
#feedback-overview-description-text span{font-size:14px;margin:8px 0;color:#666;padding-left:10px;background:url(../images/feedback-icons.png) -30px -34px no-repeat;margin-left:26px;}
#feedback-browser-info,#feedback-page-info,#feedback-page-structure,#feedback-additional-none{margin-top:16px;display:none;}



[draggable] {
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    /* Required to make elements draggable in old WebKit */
    -khtml-user-drag: element;
    -webkit-user-drag: element;
}

table.amds-container tr td{
    text-align: center;
    height: 35px;
    min-width: 25px;
    font-size: 20px;
}
table.amds-container tr.bar td{
    line-height: 5px;
    height: 1px;
    padding: 0px;
    background-image: url(/online-practice/images/img/hr.png);
    background-size: auto;
    background-position: left center;
    background-repeat: repeat-x;
}
table.amds-container tr td.digit {
    width: 35px;
    border-top: 1px solid #333333;
    border-bottom: 1px solid #333333;
    border-left: 1px dotted #333333;
}
table.amds-container tr td.leftmost-digit { border-left-style: solid; }
table.amds-container tr td.rightmost-digit { border-right: 1px solid #333333; }
table.amds-container tr td.narrow {
    width: 12px;
}
table.amds-container tr td.digit input{
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 0px 4px;
    border:none;
}
table.amds-container tr.row-answer td:first-child {
    border:none;
}

table.amds-container tr.carryover td {
    line-height: 6px !important;
    height: 6px !important;
    padding: 0px auto;
    font-style: italic;
    font-size: 10px;
}

table.amds-container td.text-right {
    text-align: right !important;
}
table.amds-container td.text-left {
    text-align: left !important;
}
table.amds-container td input.answer {
    margin: 0;
}

table.amds-container td.highlight {
    color: #5664e1;
    font-weight: bold;
}
table.table-fixed {table-layout: fixed;}
table.table-fixed td{min-width: 30px;}
table.width-80 td {max-width: 80px;}
table.width-70 td {max-width: 70px;}
table.width-60 td {max-width: 60px;}
table.width-50 td {max-width: 50px;}
table.no-border th {border-bottom: none;}
table.no-border td {border-top: none;}
table.cellpadding-sm td {padding: 3px;}
table.cellpadding-md td {padding: 8px 10px;}
table.text-right td {text-align: right}
table td.border {
    border: 1px solid #333;
    min-width: 60px;
}
table td.border-top {
    border-top: 1px solid #333;
}
table td.border-bottom {
    border-bottom: 1px solid #333;
}
table td.bg-plus-t,
table td.bg-plus-b,
table td.bg-plus-tb,
table td.bg-plus-l,
table td.bg-plus-lr,
table td.bg-plus-r {
    background-size: auto;
    background-repeat: no-repeat;
}
table td.bg-plus-t {
    background-image: url(/online-practice/images/img/plus.png);
    background-position: center -5px;
}
table td.bg-plus-b {
    background-image: url(/online-practice/images/img/plus.png);
    background-position: center calc(100% + 6px);
}
table td.bg-plus-tb {
    background-image: url(/online-practice/images/img/plus.png), url(/online-practice/images/img/plus.png);
    background-position: center -5px, center calc(100% + 6px);
}
table td.bg-plus-r {
    background-image: url(/online-practice/images/img/plus.png);
    background-position: calc(100% + 6px) center;
}
table td.bg-plus-l {
    background-image: url(/online-practice/images/img/plus.png);
    background-position: -5px center;
}
table td.bg-plus-lr {
    background-image: url(/online-practice/images/img/plus.png), url(/online-practice/images/img/plus.png);
    background-position: -5px center, calc(100% + 6px) center;
}
span.highlight {
    color: #c946e1 !important;
    font-weight: bold;
}
.indent {
    margin-bottom: 31px;
    margin-left: 30px;
}
.hbg-panel strong{
    display: inline-block;
    border:1px dotted #fff;
    padding: 5px;

}
.hbg-panel {
    padding:20px 5px;
    font-size: 20px;
}

.border-top {border-top: 1px solid #333; }
.m-t-0 { margin-top: 0px !important; }
.m-t-10 { margin-top: 10px !important; }
.m-b-10 { margin-bottom: 10px !important; }
.m-t-40 { margin-top: 40px !important; }
.m-b-30 { margin-bottom: 30px !important; }
.m-b-40,#problem { margin-bottom: 40px !important; }
.m-l-60 { margin-left: 60px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb0 { margin-bottom: 0px !important; }
.ml10 { margin-left: 10px !important; }
.m-l-20 { margin-left: 20px !important; }
.m-l-30 { margin-left: 30px !important; }
.ml40 { margin-left: 40px !important; }
.mr10 { margin-right: 10px !important; }
.mr20 { margin-right: 20px !important; }
.mr30 { margin-right: 30px !important; }
.mr40 { margin-right: 40px !important; }
.mr60 { margin-right: 60px !important; }
.pl20 { padding-left: 20px !important; }
.pl30 { padding-left: 30px !important; }
.pl40 { padding-left: 40px !important; }
p {
    font-size: 18px;
}
/**
    Get rid of the spins
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.indent {
    margin-left: 30px;
}
.indent-double {
    margin-left: 60px;
}
.indent-triple {
    margin-left: 90px;
}
.indent-quadruple {
    margin-left: 120px;
}

input.answer {
    width: 50px;
    padding: 5px;
}
input.answer.long {
    width:120px
}

input.answer.medium {
    width:85px
}
div.simple-calculation {
    display: inline-block;
    clear: right;
}
div.simple-calculation p {
    text-align: right;
    margin-bottom: 4px !important;
}
div.simple-calculation hr {
    margin-top: 2px;
    margin-bottom: 2px;
    border-top-color: #333333;
}
table.zoom-in td { font-size:24px; padding: 2px; }
table.zoom-in td input.missing-digit { width: 26px; height: 30px; text-align: center }
table.cellpadding-sm td {padding: 3px;}
table.cellpadding-md td {padding: 8px 10px;}
#problem-section h4 {
    margin-bottom: 20px;
    font-weight: normal;
}
#sc-solve-container h4.question,
#problem-section h4.question {
    line-height: 32px;
}
#problem-section h4.more,
#sc-solve-container h4.more {
    line-height: 28px;
}

.sc-btn-one,
.sc-btn-multiple {
    background-color: transparent;
    width: 105px;
    height: 60px;
    border: 1px solid #707070;
    padding:2px 12px;
    margin-right: 15px;
    margin-bottom: 15px;
    font-size: 1em;
    font-weight: bold;
}
#problem-section {
    display: none;
}
.badge {
    border-radius: 50%;
    background: #0a1829;
}
.badge-special {
    background: #1b64e1;
    font-size: 130%;
    color: white;
    border-radius: 50%;
}
.sc-btn-one.medium{
    width: 210px;
    height: 60px;
}
.sc-btn-one.large{
    width: 620px;
    height: 60px;
}
.sc-btn-multiple {
    position: relative;
    width: 120px;
}

#sc-solve-container .explanation {
    padding: 20px 26px;
}
#sc-solve-container .explanation .panel{
    margin-bottom: 20px;
    min-height: 120px;
}
#sc-solve-container .explanation .panel-body{
    padding: 15px 25px 25px 25px;
}
#sc-solve-container p,
#sc-solve-container #solve div {
    line-height: 25px;
    font-size: 18px;
}
#sc-solve-container #solve p {
    margin-bottom: 20px;
}
#sc-solve-container #solve .sc-emphasis {
    line-height: 40px;
    font-size: 30px;
    margin-left: 45px;
}

#sc-solve-container p:not(.text-lowercase)::first-letter {
    text-transform: capitalize;
}
/*background for first row*/
#sc-solve-container table.sc-pv-tbl > tbody > tr:first-child{
    background-color: #d7dcc7;
    min-height: 30px;
}
#sc-solve-container table.sc-pv-tbl > tbody > tr:first-child > td{
    vertical-align: bottom;
}
#sc-solve-container table.sc-pv-tbl > tbody > tr > td{
    width: 135px;
    text-align: center;
    border-color: #009688;
    padding: 10px 0px !important;
    font-weight: bold;
}
#sc-solve-container table.sc-pv-tbl > tbody > tr > td.narrow {
    min-width: 15px;
    width: 15px;
}
.sc-btn-multiple:after {
    content: "☑";
    display: block;
    position: absolute;
    text-align: center;
    top: 0px;
    right: 0px;
    width: 25px;
    height: 100%;
    background-color: #d6d6d6;
    line-height: 57px;
    font-size: 28px;
    font-weight: bold;
    color: #9e9e9e;
}.sc-btn-multiple.active:after {
     color: white;
     background-color: #0a84f3;

 }
.sc-btn-multiple.active:before {
    background-color: #707070;
}
.hbg-5 .badge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 10px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: #777777;
    border-radius: 50%;
    margin: 0px 10px;
}
.hbg-5 {
    background: rgba(219, 217, 247, 0.43);
    border: 2px double #c7b1e7;
    padding: 10px;
    font-size: 20px;
    display: inline-flex;
}
.sc-btn-one:focus,
.sc-btn-one:active,
.sc-btn-one.active,
.sc-btn-multiple.active {
    background-color: rgb(248, 255, 248);
    border-color: #009688;
    box-shadow: 0px 0px 7px 0px #009688;
}
.sc-btn-one:hover:not(.active),
.sc-btn-multiple:hover:not(.active) {
    background-color: rgba(228, 228, 228, 0.6);
}
.sc-btn-picture {
    display: inline-block;
    min-width: 225px;
    min-height: 215px;
    padding: 10px 0px 10px 10px;
}
.sc-btn-picture:before {
    line-height: 200px;
}
.sc-btn-img {
    display: inline-block;
    width: auto;
    height: auto;
    padding: 10px;
}
.sc-btn-one.sc-btn-img {
    padding: 20px;
}
.sc-btn-multiple.sc-btn-img {
    min-height: 135px;
    padding-left: 20px;
    padding-right: 30px;
}
.sc-btn-multiple.sc-btn-img:before {
    line-height: 120px;
}

.sc-btn-stretched {width: 160px;}
.sc-btn-extra-stretched {width: 200px;}
.sc-btn-extra-l-stretched {width: 260px;}
.sc-btn-super-stretched {width:350px;}
.sc-btn-cancel-floats {
    width: auto;
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    clear: both !important;
}
.sc-btn-cancel-floats.active {
    background-color: transparent;
    border-color: #707070;
    box-shadow: 0 0 0 1px #707070;
}
.btn-block {
    min-width: 550px !important;
    width: auto;
    text-align: left;
    white-space: normal;
    padding-left: 28px !important;
    padding-right: 26px;
    margin-bottom: 15px;
    clear: left;
}
.btn-block.sc-btn-small {
    min-width: 350px !important;
}
.sc-btn-multiple.btn-block{
    padding-left: 40px !important;
}
.sc-btn-multiple.btn-block:before {
    padding-left: 4px;
}
.sc-btn-is-draggable {
    background-color: #b3b3b3;
    border: 1px solid #707070;
    box-shadow: 1px 4px 6px rgba(0,95,127,.25);
    text-align: center;
    max-width: 300px;
    min-width: 100px;
    height: 75px;
    border-collapse: separate;
    padding: 16px 16px;
    margin-right: 12px;
    margin-bottom: 15px;
}
.sc-btn-is-draggable:hover {
    cursor: move;
    cursor: -webkit-grabbing;
    background-color: #b3b3b3;
}
.sc-btn-card {
    width: 50px;
    font-size: 2.51em;
    height: 80px;
    margin: 5px;
    border: 1px solid transparent;
    color: white;
    box-shadow: rgba(0, 0, 0, 0.84902) 1px 3px 5px 0px;
}

/*
 * Set the reading size on semantic text containers and let their children
 * inherit it. Styling every span here forced visual counters, emoji, badges,
 * and number cards back to 18px even when a skill supplied its own size.
 */
#container-main p,#container-main li,#container-main a {
    font-size: 18px;
}

/* Foundation tap-to-count activity tray. */
.sc-countable-group {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    min-width: 220px;
    max-width: 100%;
    padding: 16px 18px;
    background: #f8fafc;
    border: 2px dashed #bfdbfe;
    border-radius: 14px;
}
.sc-countable-group .countable {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    padding: 4px;
    border-radius: 12px;
    font-size: 54px;
    line-height: 1;
    cursor: pointer;
    outline: none;
    touch-action: manipulation;
    transition: transform .15s, background-color .15s;
}
.sc-countable-group .countable:hover,
.sc-countable-group .countable:focus-visible {
    background: #e0f2fe;
    transform: scale(1.08);
}
.sc-countable-group .countable.counted {
    background: #dcfce7;
    box-shadow: inset 0 0 0 2px #86efac;
}
.sc-countable-group .count-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #1565c0;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
    pointer-events: none;
}
@media (max-width: 520px) {
    .sc-countable-group {
        width: 100%;
        min-width: 0;
        gap: 8px;
        padding: 12px;
    }
    .sc-countable-group .countable {
        width: 62px;
        height: 62px;
        font-size: 46px;
    }
}

/* Shared number visuals stay fully visible inside a phone-sized question card. */
.sc-double-ten-frame,
.sc-counter-group {
    box-sizing: border-box;
    display: inline-block;
    min-width: 0;
    max-width: 100%;
}
.sc-counter-split {
    box-sizing: border-box;
    max-width: 100%;
}
.sc-double-ten-frame-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}
.sc-ten-frame-part {
    flex: 0 0 auto;
}
.sc-ten-frame-part svg {
    display: block;
    max-width: 100%;
}
.sc-ten-frame-plus {
    color: #333;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
}
.sc-double-ten-frame-label,
.sc-counter-label {
    margin-top: 6px;
    color: #222;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}
.sc-counter-grid {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(var(--sc-counter-cols), minmax(0, 1fr));
    gap: 4px;
    width: calc(var(--sc-counter-cols) * 44px + 8px);
    max-width: 100%;
    padding: 6px;
    background: #fafbfc;
    border: 1px dashed #d0d5db;
    border-radius: 6px;
}
.sc-counter-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 40px;
    aspect-ratio: 1;
    font-size: clamp(20px, 7vw, 28px);
    line-height: 1;
}
.sc-hundred-chart-wrap {
    max-width: 100%;
    padding: 8px;
    overflow-x: auto;
}
.sc-hundred-chart {
    margin: 0 auto;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

/* Responsive Foundation activity visuals. */
.sc-skip-groups,
.sc-compare-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    max-width: 100%;
    gap: 16px;
    padding: 12px;
}
.sc-skip-group {
    position: relative;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    padding: 10px 12px;
    border: 3px solid;
    border-radius: 14px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.sc-skip-group.countable {
    cursor: pointer;
    outline: none;
    touch-action: manipulation;
    transition: transform .2s, box-shadow .2s;
}
.sc-skip-group.countable:hover,
.sc-skip-group.countable:focus-visible {
    transform: scale(1.05);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .15);
}
.sc-skip-group.countable.counted {
    opacity: .9;
    border-style: dashed;
}
.sc-skip-grid,
.sc-compare-emoji-grid {
    display: grid;
    grid-template-columns: repeat(var(--sc-skip-cols), minmax(0, 1fr));
    gap: 4px;
    width: calc(var(--sc-skip-cols) * 50px);
    max-width: 100%;
}
.sc-skip-emoji,
.sc-compare-emoji {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    font-size: var(--sc-skip-emoji-size, 42px);
    line-height: 1.1;
}
.sc-skip-label,
.sc-compare-label {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 8px;
    background: #fff;
    border-radius: 8px;
    color: #1a237e;
    font-size: 15px;
    font-weight: 700;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
}
.sc-skip-label {
    font-size: 16px;
    font-weight: 800;
}
.sc-skip-group .count-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, #1565c0, #42a5f5);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 2px 6px rgba(21, 101, 192, .4);
    pointer-events: none;
}
.sc-compare-row {
    gap: 24px;
    padding: 0;
}
.sc-compare-emoji-card {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    padding: 10px 14px;
    border: 3px solid;
    border-radius: 14px;
    text-align: center;
    vertical-align: top;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.sc-compare-emoji-grid {
    grid-template-columns: repeat(var(--sc-compare-cols), minmax(0, 1fr));
    width: calc(var(--sc-compare-cols) * 50px);
}
.sc-compare-emoji {
    font-size: 42px;
}
.sc-number-compare {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    max-width: 100%;
    padding: 14px;
}
.sc-number-compare-three {
    flex-wrap: wrap;
    gap: 20px;
}
.sc-compare-number-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 3px solid;
    border-radius: 16px;
    vertical-align: middle;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .1);
}
.sc-compare-number-card > span {
    color: #1a237e;
    font-weight: 800;
    line-height: 1;
}
.sc-mixed-dot-wrap {
    max-width: 100%;
    text-align: center;
}
.sc-mixed-dot-card {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    padding: 14px;
    background: #fafbfc;
    border: 2px solid #d0d5db;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}
.sc-mixed-dot-grid {
    display: grid;
    grid-template-columns: repeat(var(--sc-dot-cols), minmax(0, 1fr));
    gap: 8px;
    width: calc(var(--sc-dot-cols) * 50px);
    max-width: 100%;
}
.sc-mixed-dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 42px;
    aspect-ratio: 1;
    border-radius: 50%;
    box-shadow: inset 0 -3px 6px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .1);
}
.sc-mixed-dot-shine {
    width: 33%;
    aspect-ratio: 1;
    margin-top: -15%;
    margin-left: -10%;
    border-radius: 50%;
    background: rgba(255, 255, 255, .4);
}
.sc-mixed-dot-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 700;
}
.sc-length-visual {
    display: flex;
    justify-content: center;
    max-width: 100%;
}
.sc-length-panel {
    display: inline-block;
    max-width: 100%;
    background: #fafbfc;
    border: 2px solid #e0e0e0;
    border-radius: 14px;
}
.sc-length-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    max-width: 100%;
    padding: 16px 12px;
}
.sc-length-row {
    display: flex;
    align-items: center;
    max-width: 100%;
    gap: 10px;
}
.sc-length-bar {
    flex: 0 1 var(--sc-length);
    width: var(--sc-length);
    height: 30px;
    border: 2px solid;
    border-radius: 15px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .12);
    position: relative;
    overflow: hidden;
}
.sc-length-name {
    font-size: 15px;
    font-weight: 700;
}
.sc-position-grid-wrap {
    display: flex;
    justify-content: center;
    max-width: 100%;
    padding: 12px;
}
.sc-position-grid {
    display: inline-grid;
    grid-template-columns: repeat(3, 80px);
    gap: 4px;
    max-width: 100%;
    padding: 8px;
    background: #e0e0e0;
    border-radius: 10px;
}
.sc-position-grid-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 80px;
    height: 80px;
    border-radius: 8px;
}
.sc-position-label-grid {
    display: inline-grid;
    grid-template-columns: repeat(3, 100px);
    gap: 3px;
    box-sizing: border-box;
    max-width: 100%;
    padding: 8px;
}
.sc-position-label-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 50px;
    border-radius: 6px;
    font-size: 11px;
    text-align: center;
}

/*
 * Keep question visuals and answer groups on the same left edge as the
 * question. Individual cards and controls may still centre their own text.
 */
.page-problem .question,
.page-problem .question > div,
.page-problem .description,
.page-problem .ans_line,
.page-problem .prob,
.page-problem .question > div:first-of-type,
.page-problem .description > div:first-of-type,
.page-problem .ans_line > div:first-of-type,
.page-problem .prob > div:first-of-type {
    text-align: left !important;
}
.page-problem > .col-xs-12,
.page-problem > .description,
.page-problem > .ans_line,
.page-problem > .equation,
.page-problem > .table,
.page-problem > .eq-line,
.page-problem > .equ-line,
.page-problem > .prob {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.page-problem > .btn,
.page-problem > button.btn,
.page-problem .btn.ml20px {
    margin-left: 0 !important;
}
.page-problem .question > div,
.page-problem .question > svg,
.page-problem .question > canvas,
.page-problem .question > img,
.page-problem .question > table,
.page-problem .description > div:first-of-type,
.page-problem .description > svg,
.page-problem .description > canvas,
.page-problem .description > img,
.page-problem .description > table,
.page-problem .description,
.page-problem .ans_line,
.page-problem .prob {
    margin-left: 0 !important;
}
.page-problem .question > svg,
.page-problem .question > canvas,
.page-problem .description > svg,
.page-problem .description > canvas {
    display: block;
}
.page-problem .question table,
.page-problem .description table,
.page-help .question table,
.page-help .description table {
    margin-left: 0 !important;
    margin-right: auto !important;
}
.page-problem .question > div,
.page-problem .description > div:first-of-type,
.page-problem .ans_line > div:first-of-type,
.page-problem .prob > div:first-of-type,
.page-problem .question > div > div[style*="display:flex"],
.page-problem .description > div:first-of-type > div[style*="display:flex"],
.page-problem .ans_line > div:first-of-type > div[style*="display:flex"],
.page-problem .prob > div:first-of-type > div[style*="display:flex"] {
    justify-content: flex-start !important;
}
.page-problem .question > div,
.page-problem .description > div:first-of-type,
.page-problem .ans_line > div:first-of-type,
.page-problem .prob > div:first-of-type {
    text-align: left !important;
}
.page-problem .description > div:first-of-type > :first-child,
.page-problem .ans_line > div:first-of-type > .block:first-child {
    margin-left: 0 !important;
}

.sc-question-frame {
    display: inline-block;
    margin-bottom: 7px;
    color: #4b5563;
    font-size: 0.68em;
    font-weight: 600;
    line-height: 1.45;
}

.sc-equation {
    box-sizing: border-box;
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 14px 0 !important;
    padding: 10px 14px;
    overflow-wrap: anywhere;
    text-align: left !important;
}

.page-problem input:not([type="hidden"]),
.page-problem select,
.page-problem textarea,
.page-problem .block,
.page-problem .sc-btn-one,
.page-problem .sc-btn-multiple {
    box-sizing: border-box;
    min-height: 44px;
}

/*
 * Legacy highlighted equation cards were fixed at 400px and often carried
 * forced left margins. Keep their intended desktop size while allowing them
 * to fit the question and explanation columns on phones.
 */
.page-problem .hbg,
.page-help .hbg {
    box-sizing: border-box;
    width: 400px;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: auto !important;
    overflow-wrap: anywhere;
}

.sc-shape-card {
    display: inline-block;
    max-width: calc(100% - 12px);
    margin: 6px;
    text-align: center;
    vertical-align: top;
}
.sc-shape-card-panel {
    box-sizing: border-box;
    max-width: 100%;
    padding: 10px;
    background: #fff;
    border: 2px solid #e0e0e0;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.sc-shape-card-panel svg,
.sc-shape-option-visual svg {
    max-width: 100%;
    height: auto;
}
.sc-fraction-bar {
    display: block;
    max-width: 100%;
    height: auto;
}
.sc-shape-option-visual {
    display: inline-block;
    max-width: 100%;
    vertical-align: middle;
}
.sc-subtraction-block-row {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    max-width: 100%;
    gap: 3px;
    padding: 4px;
}
.sc-subtraction-block {
    position: relative;
    flex: 0 1 28px;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: 4px;
}
.sc-subtraction-taken {
    opacity: .6;
}
.sc-number-word-display,
.sc-number-word-equation,
.sc-paired-display,
.sc-measure-line-wrap,
.sc-measure-line-panel,
.sc-measure-line-content,
.sc-measure-line-inner,
.sc-measure-line-bar,
.sc-measure-units {
    box-sizing: border-box;
    max-width: 100%;
}
.sc-number-word-equation {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.sc-paired-row {
    display: grid !important;
    grid-template-columns: repeat(var(--sc-pair-cols), minmax(0, 54px));
    max-width: 100%;
}
.sc-paired-cell,
.sc-paired-arrow {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
.sc-measure-line-inner,
.sc-measure-line-bar,
.sc-measure-units {
    width: 100% !important;
}
.sc-measure-units {
    display: grid !important;
    grid-template-columns: repeat(var(--sc-measure-count), minmax(0, 52px));
}
.sc-measure-unit {
    box-sizing: border-box;
    min-width: 0;
    width: auto !important;
}
.sc-mixed-emoji-scene,
.sc-growing-display,
.sc-growing-row,
.sc-growing-shapes,
.sc-growing-option,
.sc-growing-option-shapes,
.sc-height-visual,
.sc-height-panel,
.sc-height-bars,
.sc-colour-block-row {
    box-sizing: border-box;
    max-width: 100%;
}
.sc-growing-shapes,
.sc-growing-option-shapes {
    display: grid !important;
    grid-template-columns: repeat(var(--sc-growing-count), minmax(0, 1fr));
    gap: 3px;
    min-width: 0;
}
.sc-growing-shape,
.sc-growing-shape svg,
.sc-growing-option-shapes svg {
    min-width: 0;
    max-width: 100%;
    height: auto;
}
.sc-height-item,
.sc-height-bar,
.sc-colour-block {
    box-sizing: border-box;
    min-width: 0;
}
.sc-colour-block-row {
    width: 100%;
}
.sc-colour-block {
    flex: 1 1 18px;
    max-width: 24px;
}
.sc-numbered-grid {
    box-sizing: border-box;
    grid-template-columns: repeat(var(--sc-numbered-cols), minmax(0, 44px)) !important;
    max-width: 100%;
}
.sc-numbered-grid-item {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
.sc-skip-count-table,
.sc-comparison-bars,
.sc-shelf-scene,
.sc-calendar-wrap,
.sc-calendar,
.sc-venn-diagram,
.sc-bar-chart,
.sc-bar-chart-svg,
.sc-graph-options,
.sc-graph-option {
    box-sizing: border-box;
    max-width: 100%;
}
.sc-comparison-bar-row {
    display: grid !important;
    grid-template-columns: 70px minmax(10px, 200px) min-content;
}
.sc-comparison-bar {
    min-width: 10px;
}
.sc-shelf-row {
    box-sizing: border-box;
    max-width: 100%;
}
.sc-shelf-item {
    box-sizing: border-box;
    min-width: 0;
}
.sc-shelf-bar {
    box-sizing: border-box;
    max-width: 100%;
}
.sc-calendar {
    table-layout: fixed;
}
.sc-venn-zone {
    box-sizing: border-box;
    min-width: 0;
}
.sc-array-grid,
.sc-array-grid-row,
.sc-array-grid-item,
.sc-skip-count-line,
.sc-skip-count-track,
.sc-skip-count-jump {
    box-sizing: border-box;
    max-width: 100%;
}
.page-problem .ans_line input.inp-ans,
.page-help .ans_line input.inp-ans {
    box-sizing: border-box;
    min-height: 48px;
    height: 48px !important;
    font-size: 18px !important;
}

@media (max-width: 520px) {
    .sc-double-ten-frame-row {
        flex-direction: column;
        gap: 5px;
    }
    .sc-ten-frame-plus {
        font-size: 26px;
    }
    .sc-counter-grid {
        gap: 3px;
    }
    .sc-counter-group {
        width: 100%;
    }
    .sc-numbered-grid {
        grid-template-columns: repeat(var(--sc-numbered-cols), minmax(0, 1fr)) !important;
        width: 100%;
    }
    .sc-numbered-grid-item {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1;
    }
    .sc-counter-split {
        flex-wrap: wrap;
        gap: 6px !important;
    }
    .sc-skip-count-table {
        width: 100%;
        table-layout: fixed;
        font-size: 13px !important;
    }
    .sc-skip-count-table th,
    .sc-skip-count-table td {
        padding: 4px 2px !important;
        text-align: center;
    }
    .sc-comparison-bars {
        display: block !important;
        width: 100%;
    }
    .sc-comparison-bar-row {
        grid-template-columns: 48px minmax(0, 1fr) 24px;
        gap: 5px !important;
        width: 100%;
    }
    .sc-comparison-bar-label {
        min-width: 0 !important;
        overflow-wrap: anywhere;
        font-size: 12px !important;
    }
    .sc-comparison-bar {
        width: calc(var(--sc-comparison-percent) * 1%) !important;
        max-width: 100%;
    }
    .sc-comparison-bar-value {
        font-size: 14px !important;
    }
    .sc-shelf-scene {
        width: 100%;
        padding: 6px 0 !important;
    }
    .sc-shelf-row {
        display: grid !important;
        grid-template-columns: repeat(var(--sc-shelf-count), minmax(0, 70px));
        gap: 6px !important;
        width: 100%;
    }
    .sc-shelf-item img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1;
    }
    .sc-shelf-bar {
        width: 100% !important;
    }
    .sc-calendar-wrap {
        display: block !important;
        width: 100%;
        font-size: 11px !important;
    }
    .sc-calendar th,
    .sc-calendar td {
        box-sizing: border-box;
        min-width: 0 !important;
        padding: 3px 1px !important;
        font-size: 10px !important;
    }
    .sc-calendar {
        display: block;
        width: 100% !important;
        margin: 0;
    }
    .sc-calendar thead,
    .sc-calendar tbody {
        display: block;
        width: 100%;
    }
    .sc-calendar tr {
        display: grid;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        width: calc(100% - 8px);
        margin: 0 auto;
    }
    .sc-calendar th,
    .sc-calendar td {
        display: block;
        width: auto !important;
    }
    .sc-venn-diagram {
        width: calc(100% - 8px);
    }
    .sc-venn-zone {
        padding: 8px 3px !important;
    }
    .sc-venn-middle {
        min-width: 72px !important;
    }
    .sc-venn-zone svg {
        max-width: 100% !important;
        height: auto;
    }
    .sc-graph-options {
        width: 100%;
    }
    .page-problem .ans_line .sc-graph-option,
    .page-help .ans_line .sc-graph-option {
        float: none;
        width: 100% !important;
        height: auto !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding: 8px 2px !important;
        white-space: normal;
    }
    .sc-bar-chart {
        width: 100%;
        padding: 2px 0 !important;
    }
    .page-problem .ans_line input.inp-ans,
    .page-help .ans_line input.inp-ans {
        box-sizing: border-box;
        min-height: 48px;
        height: 48px !important;
        font-size: 18px !important;
    }
    .page-problem .description,
    .page-help .review,
    .page-help .solve {
        box-sizing: border-box;
        min-width: 0;
        max-width: 100%;
    }
    .page-problem .question *,
    .page-problem .description *,
    .page-help .review *,
    .page-help .solve *,
    .page-help .remember * {
        box-sizing: border-box;
        max-width: 100%;
    }
    .page-problem .question svg,
    .page-problem .description svg,
    .page-help .review svg,
    .page-help .solve svg,
    .page-help .remember svg {
        height: auto;
    }
    .page-problem .question table,
    .page-problem .description table,
    .page-help .review table,
    .page-help .solve table,
    .page-help .remember table {
        width: 100% !important;
        table-layout: fixed;
    }
    .page-problem .question th,
    .page-problem .question td,
    .page-problem .description th,
    .page-problem .description td,
    .page-help .review th,
    .page-help .review td,
    .page-help .solve th,
    .page-help .solve td,
    .page-help .remember th,
    .page-help .remember td {
        min-width: 0 !important;
        padding-right: 3px !important;
        padding-left: 3px !important;
        overflow-wrap: anywhere;
    }
    .page-problem .question [style*="display:flex"],
    .page-problem .question [style*="display:inline-flex"],
    .page-problem .description [style*="display:flex"],
    .page-problem .description [style*="display:inline-flex"],
    .page-help .review [style*="display:flex"],
    .page-help .review [style*="display:inline-flex"],
    .page-help .solve [style*="display:flex"],
    .page-help .solve [style*="display:inline-flex"],
    .page-help .remember [style*="display:flex"],
    .page-help .remember [style*="display:inline-flex"] {
        flex-wrap: wrap !important;
    }
    .sc-array-grid {
        width: calc(100% - 12px);
        padding: 6px !important;
    }
    .sc-array-grid-row {
        display: grid !important;
        grid-template-columns: repeat(var(--sc-array-cols), minmax(0, 1fr));
        width: 100%;
        white-space: normal !important;
    }
    .sc-array-grid-item {
        margin: 2px !important;
        font-size: clamp(18px, 7vw, 26px) !important;
        text-align: center;
    }
    .sc-skip-count-line {
        width: 100%;
        padding: 8px 5px !important;
    }
    .sc-skip-count-track {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 4px 0;
        width: 100%;
        white-space: normal !important;
    }
    .sc-skip-count-jump {
        display: inline-flex;
        align-items: center;
    }
    .sc-skip-count-start {
        width: 24px !important;
    }
    .sc-skip-count-connector {
        width: 16px !important;
    }
    .sc-skip-count-value {
        width: 28px !important;
    }
    .page-problem .ans_line .block,
    .page-help .ans_line .block {
        box-sizing: border-box;
        max-width: calc(100% - 12px);
        white-space: normal;
    }
    .page-problem input.ans-inp,
    .page-help input.ans-inp {
        box-sizing: border-box;
        width: 100%;
        min-width: 0 !important;
        max-width: 100%;
    }
    .page-problem .description > div,
    .page-help .review > div,
    .page-help .sc-solve-step-body > div,
    .page-problem .description > div > div,
    .page-help .review > div > div {
        box-sizing: border-box;
        max-width: 100% !important;
        flex-wrap: wrap;
    }
    .page-problem .description img,
    .page-problem .description svg,
    .page-help .review img,
    .page-help .review svg,
    .page-help .solve img,
    .page-help .solve svg {
        max-width: 100% !important;
        height: auto;
    }
    .sc-fraction-bar {
        width: 100% !important;
        max-width: 100%;
        height: auto;
    }
    .page-help .sc-solve-step {
        width: calc(100% - 8px);
        margin-right: 4px !important;
        margin-left: 4px !important;
    }
    .sc-hundred-chart-wrap {
        padding: 4px 0;
    }
    .page-problem .sc-hundred-chart td,
    .page-help .sc-hundred-chart td {
        box-sizing: border-box;
        width: 24px !important;
        height: 28px !important;
        padding: 0 !important;
        font-size: 11px;
    }
    .page-problem .ans_line .block:has(.sc-double-ten-frame),
    .page-help .ans_line .block:has(.sc-double-ten-frame),
    .page-problem .ans_line .block:has(.sc-counter-group),
    .page-help .ans_line .block:has(.sc-counter-group),
    .page-problem .ans_line .block:has(.sc-shape-option-visual),
    .page-help .ans_line .block:has(.sc-shape-option-visual),
    .page-problem .ans_line .block:has(.sc-fraction-bar),
    .page-help .ans_line .block:has(.sc-fraction-bar),
    .page-problem .ans_line .block:has(.sc-subtraction-block-row),
    .page-help .ans_line .block:has(.sc-subtraction-block-row) {
        box-sizing: border-box;
        width: calc(100% - 12px) !important;
        height: auto !important;
        max-width: calc(100% - 12px);
        padding-right: 12px;
        padding-left: 12px;
        float: none;
        white-space: normal;
    }
    .page-problem .ans_line .block:has(.sc-fraction-bar),
    .page-help .ans_line .block:has(.sc-fraction-bar) {
        margin-right: 6px !important;
        margin-left: 6px !important;
    }
    .sc-skip-groups {
        gap: 12px;
        padding: 8px 0;
    }
    .sc-skip-group {
        max-width: 100%;
        padding: 8px;
    }
    .sc-skip-emoji {
        font-size: min(var(--sc-skip-emoji-size, 42px), 8vw);
    }
    .sc-compare-row {
        gap: 12px;
    }
    .sc-compare-emoji-card {
        padding: 8px 10px;
    }
    .sc-compare-emoji {
        font-size: 34px;
    }
    .sc-number-compare {
        gap: 10px;
        padding: 8px 0;
    }
    .sc-compare-number-card {
        padding: 12px 18px !important;
    }
    .sc-compare-number-card > span {
        font-size: 44px !important;
    }
    .sc-mixed-dot-card {
        padding: 10px;
    }
    .sc-mixed-dot-grid {
        gap: 6px;
    }
    .sc-length-panel {
        width: 100%;
    }
    .sc-length-list {
        box-sizing: border-box;
        width: 100%;
        padding: 12px 8px;
    }
    .sc-length-row {
        box-sizing: border-box;
        width: 100%;
        gap: 6px;
    }
    .sc-length-row > span:first-child {
        flex: 0 0 34px;
        font-size: 28px !important;
        text-align: center;
    }
    .sc-length-bar {
        max-width: calc(100% - 105px);
        min-width: 35px;
    }
    .sc-length-name {
        flex: 0 0 59px;
        overflow-wrap: anywhere;
        font-size: 13px;
    }
    .sc-position-grid-wrap {
        padding: 4px 0;
    }
    .sc-position-grid {
        grid-template-columns: repeat(3, 64px);
        padding: 6px;
    }
    .sc-position-grid-cell {
        width: 64px;
        height: 64px;
    }
    .sc-position-grid-cell > span {
        font-size: 30px !important;
    }
    .sc-count-word {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        padding: 12px 4px !important;
        overflow-wrap: anywhere;
        font-size: 38px !important;
        letter-spacing: 2px !important;
    }
    .sc-location-table {
        width: min(100%, 204px) !important;
        table-layout: fixed;
    }
    .sc-location-table td {
        box-sizing: border-box;
        width: auto !important;
        height: 64px !important;
        padding: 4px !important;
    }
    .sc-location-table svg {
        width: 44px !important;
        height: 44px !important;
    }
    .page-help {
        padding-right: 16px;
        padding-left: 16px;
    }
    .page-help .panel .panel-body {
        padding-right: 10px;
        padding-left: 10px;
    }
    .page-help .panel-body > .col-xs-12,
    .page-help .solve {
        padding-right: 0;
        padding-left: 0;
    }
    .page-help .sc-solve-step {
        box-sizing: border-box;
        flex-direction: column;
        width: calc(100% - 16px);
        max-width: calc(100% - 16px);
        margin-right: 8px !important;
        margin-left: 8px !important;
        gap: 8px !important;
        padding: 10px !important;
    }
    .page-help .sc-solve-step-body {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
    }
    .page-help .sc-solve-step-body > div,
    .page-help .sc-solve-step-body svg,
    .page-help .review svg {
        box-sizing: border-box;
        max-width: 100%;
        height: auto;
    }
    .sc-number-word-display {
        padding-right: 0 !important;
        padding-left: 0 !important;
        font-size: clamp(30px, 10vw, 42px) !important;
        letter-spacing: 1px !important;
    }
    .sc-number-word-equation {
        gap: 4px;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .sc-number-word-symbol {
        padding-right: 3px !important;
        padding-left: 3px !important;
        font-size: 26px !important;
    }
    .sc-number-word-number {
        font-size: 34px !important;
    }
    .sc-paired-display {
        width: 100%;
        padding: 8px 0 !important;
    }
    .sc-paired-row {
        grid-template-columns: repeat(var(--sc-pair-cols), minmax(0, 1fr));
        gap: 3px !important;
        min-width: 0;
        width: 100%;
    }
    .sc-paired-cell {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1;
        border-radius: 7px !important;
        font-size: clamp(16px, 6vw, 28px) !important;
    }
    .sc-paired-arrow {
        width: 100% !important;
    }
    .sc-measure-line-panel {
        width: 100%;
    }
    .sc-measure-line-content {
        width: 100%;
        padding: 10px 6px !important;
    }
    .sc-measure-unit {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .sc-measure-unit > span {
        font-size: clamp(16px, 6vw, 24px) !important;
    }
    .sc-mixed-emoji-scene {
        flex-wrap: wrap;
        padding: 8px 4px !important;
    }
    .sc-mixed-emoji-item {
        flex: 0 1 42px;
        width: 42px !important;
        height: 42px !important;
        font-size: 30px !important;
        line-height: 42px !important;
    }
    .sc-growing-display {
        width: 100%;
        padding: 8px 0 !important;
    }
    .sc-growing-row {
        width: 100%;
        gap: 4px !important;
    }
    .sc-growing-label {
        flex: 0 0 48px;
        min-width: 48px !important;
        font-size: 13px !important;
    }
    .sc-growing-shapes {
        flex: 1 1 auto;
        width: calc(100% - 52px);
    }
    .sc-growing-option {
        width: 100%;
        gap: 4px !important;
    }
    .sc-growing-option-shapes {
        flex: 1 1 auto;
        width: 100%;
    }
    .page-problem .ans_line .block:has(.sc-growing-option),
    .page-help .ans_line .block:has(.sc-growing-option),
    .page-problem .ans_line .block:has(.sc-growing-option-shapes),
    .page-help .ans_line .block:has(.sc-growing-option-shapes),
    .page-problem .ans_line .block:has(.sc-colour-block-row),
    .page-help .ans_line .block:has(.sc-colour-block-row) {
        box-sizing: border-box;
        float: none;
        width: calc(100% - 12px) !important;
        height: auto !important;
        max-width: calc(100% - 12px);
        padding-right: 12px;
        padding-left: 12px;
        white-space: normal;
    }
    .sc-height-visual,
    .sc-height-panel {
        width: 100%;
    }
    .sc-height-bars {
        width: 100%;
        gap: 10px !important;
        padding: 12px 8px !important;
    }
    .sc-height-item {
        flex: 1 1 0;
    }
    .sc-colour-block-row {
        gap: 2px !important;
        padding: 3px !important;
    }
    .sc-colour-block {
        flex-basis: 16px;
        width: auto !important;
        height: auto !important;
        aspect-ratio: 1;
    }
    .sc-position-label-grid {
        grid-template-columns: repeat(3, 64px);
        padding: 6px;
    }
    .sc-balance-visual,
    .sc-balance-labels {
        box-sizing: border-box;
        max-width: 100%;
    }
    .sc-shape-card-panel {
        width: 100% !important;
        min-height: 170px !important;
    }
    .sc-shape-option-visual {
        flex: 0 1 90px;
        width: 90px !important;
        height: 90px !important;
    }
    .sc-subtraction-block-row {
        width: 100%;
        gap: 2px;
        padding: 3px;
    }
    .sc-subtraction-block {
        flex: 1 1 18px;
        min-width: 17px;
        max-width: 28px;
        width: auto;
        height: auto;
        aspect-ratio: 1;
    }
}
#sc-progressive-scoring * {
    font-size: 20px;
}
#message-success span {
    font-size: 30px;
}
.wrap {
    position: relative;
    min-height: calc(100vh - 60px);
    padding: 0 0 40px;
}

.wrap > .container {
    padding: 70px 15px 20px;
    display: block;
}

.not-set {
    color: #c55;
    font-style: italic;
}
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: "\e151";
}

a.desc:after {
    content: "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}



li.year_option {
    margin-bottom: 10px;
}

li.year_option a {
    width: 200px;
    font-size: 18px;
    font-weight: 600;
    border:1px solid darkgreen;
}




.display-flex {
    display: flex;
}
.display-inline {
    display: inline-block;
}
.border {border: 1px solid #999999; }
span.border {
    border-color: #333;
    padding-left: 2px;
    padding-right: 2px;

}

.pd-sm { padding: 4px 6px;}

.text-xs { font-size: 9px !important; }
.text-sm { font-size: 11px !important; }
.text-sm-2 { font-size: 14px !important; }
.text-l { font-size: 20px !important; }
.text-xl { font-size: 22px !important; }
.text-xxl { font-size: 32px !important; }
.text-muted { color: #d5d5d5; text-decoration: line-through;}
.text-del { color: #adadad; text-decoration: line-through;}
.text-hint { font-style: italic;}
.text-right {text-align: right;}
.text-center {text-align: center;}
.text-bold {font-weight: bold;}
.text-italic {font-style: italic;}

span.badge {
    margin-top: -4px;
    margin-left: 6px;
    margin-right: 6px;
}
span.highlight {
    color: royalblue !important;
    font-weight: bold;
}
span.question-mark {
    color: #265a88 !important;
    border: 1px solid #265a88;
    padding: 0 2px;
    font-weight: bold;
    letter-spacing: 3px;
    display: inline-block;
    margin:0px 2px;
}
span.blue, .text-blue{
    color: blue;
}
span.green, .text-green{
    color: green;
}
span.bold{
    font-weight: bold;
}

button:focus,
button:active {
    outline: none;
}
.btn-submit {
    min-width: 150px;
    margin-right: 12px;
}
.btn-submit:active,
.btn-submit:focus {
    border-color: transparent;
}


.list-item-enter, .list-item-leave-active {
    opacity: 0;
}


table tr td.highlight {
    color: royalblue !important;
    font-weight: bold;
}

table.table-fixed {table-layout: fixed;}
table.table-fixed td{min-width: 30px;}
table.width-80 td {max-width: 80px;}
table.width-70 td {max-width: 70px;}
table.width-60 td {max-width: 60px;}
table.width-50 td {max-width: 50px;}
table.no-border th {border-bottom: none;}
table.no-border td {border-top: none;}
table.text-right td {text-align: right}
table td.border {
    border: 1px solid #333;
    min-width: 60px;
}
table td.border-top {
    border-top: 1px solid #333;
}
table td.border-bottom {
    border-bottom: 1px solid #333;
}
table td.bg-plus-t,
table td.bg-plus-b,
table td.bg-plus-tb,
table td.bg-plus-l,
table td.bg-plus-lr,
table td.bg-plus-r {
    background-size: auto;
    background-repeat: no-repeat;
}
table td.bg-plus-t {
    background-image: url(/online-practice/images/img/plus.png);
    background-position: center -5px;
}
table td.bg-plus-b {
    background-image: url(/online-practice/images/img/plus.png);
    background-position: center calc(100% + 6px);
}
table td.bg-plus-tb {
    background-image: url(/online-practice/images/img/plus.png), url(/online-practice/images/img/plus.png);
    background-position: center -5px, center calc(100% + 6px);
}
table td.bg-plus-r {
    background-image: url(/online-practice/images/img/plus.png);
    background-position: calc(100% + 6px) center;
}
table td.bg-plus-l {
    background-image: url(/online-practice/images/img/plus.png);
    background-position: -5px center;
}
table td.bg-plus-lr {
    background-image: url(/online-practice/images/img/plus.png), url(/online-practice/images/img/plus.png);
    background-position: -5px center, calc(100% + 6px) center;
}



#problem-section,
#sc-solve-container {
    font-family: Verdana, Arial;
}
#problem-section h4 {
    margin-bottom: 20px;
    font-weight: normal;
}
#problem-section var {
    font-size: 20px;
}
#problem-section div {
    font-size: 16px;
}
#problem-section span:not(.badge) {
    color: rgb(51,51,51);
}
#problem-model hr, div#solve hr {
    margin: 2px;
    border-top: 2px solid #000;
}

#sc-solve-container > div:nth-child(2) {
    border-bottom: 1px solid #f2dede;
}

#sc-solve-container .explanation {
    padding: 20px 26px;
}
#sc-solve-container .explanation .panel{
    margin-bottom: 20px;
    min-height: 120px;
}
#sc-solve-container .explanation .panel-body{
    padding: 15px 25px 25px 25px;
}
#sc-solve-container p,
#sc-solve-container #solve div {
    line-height: 24px;
}
#sc-solve-container #solve p {
    margin-bottom: 20px;
}
#sc-solve-container #solve .sc-emphasis {
    line-height: 50px;
    font-size: 30px;
    margin-left: 50px;
}

#sc-solve-container p:not(.text-lowercase)::first-letter {
    text-transform: capitalize;
}
#sc-solve-container table.sc-pv-tbl > tbody > tr:first-child{
    background-color: #fffcee;
    min-height: 25px;
}
#sc-solve-container table.sc-pv-tbl > tbody > tr:first-child > td{
    vertical-align: bottom;
}
#sc-solve-container table.sc-pv-tbl > tbody > tr > td{
    width: 110px;
    text-align: center;
    border-color: #e3c7b0;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
#sc-solve-container table.sc-pv-tbl > tbody > tr > td.narrow {
    min-width: 15px;
    width: 15px;
}

#sc-solve-container input:disabled {
    border: 1px solid #2e6da4;
    background-color: #f5f5f5;
}


table.amds-container {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0px 4px;
    empty-cells: hide;
}
table.compact {
    border-collapse: collapse;
}
table.zoom-in td { font-size:24px; padding: 2px; }
table.zoom-in td input.missing-digit { width: 26px; height: 30px; text-align: center }

div.simple-calculation {
    display: inline-block;
    clear: right;
}
div.simple-calculation p {
    text-align: right;
    margin-bottom: 4px !important;
}
div.simple-calculation hr {
    margin-top: 2px;
    margin-bottom: 2px;
    border-top-color: #333333;
}

.divide_svg_wrap {

    border-top: 1px solid #000;
    min-width: 35px;
}
.divide_svg {
    width: 5px;
    height: 22px;
    background-image: url(/online-practice/images/img/parenthesis.svg);
    background-repeat: no-repeat;
    display: inline-block;
    padding-left: 8px;
}
.divide_svg_front { padding-right: 5px; }
.divide_top_span_wrap {
    text-align: left;
}
.divide_top_span {
    padding-left: 8px;
}
.left_padding {
    padding: 0 5px 0 10px;
}
.padding_td {
    padding: 0 20px;
}
.back_border_top {
    border-top: 1px solid #000;
}
.back_border_bottom {
    border-bottom: 1px solid #000;
}
.blue_highlight{
    color: #5050ff;
    font-weight: bold;
}

.black-arrow-down {
    width: 7px;
    height: 15px;
    background-image: url(/online-practice/images/img/black_down_15.gif);
    display: inline-block;
    background-repeat: no-repeat;
}

div.lattice-multiplication,
div.box-multiplication {
    display: inline-block;
    position: relative;
    border: 1px solid #444;
    padding: 20px 14px;
    margin-top: 50px;
}
div.box-multiplication > p {
    margin-top: -55px;
    margin-bottom: 40px;
}
div.box-multiplication div.addition-blanks {
    margin-top: 38px;
}
div.box-multiplication div.addition-blanks .amds-container {
    border-spacing: 0px 8px;
}
.l-space-2 {
    letter-spacing: 2px;
}
.l-space-3 {
    letter-spacing: 3px;
}
.l-space-4 {
    letter-spacing: 4px;
}
.l-space-5 {
    letter-spacing: 5px;
}
div.lattice-multiplication {
    padding: 0px;
}
div.lattice-multiplication > p {
    margin-top: -35px;
}
div.lattice {
    width: 220px;
    height: 220px;
    background-image: url(/online-practice/images/img/lattice.png);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: auto;
}
div.lattice.colored {
    background-image: url(/online-practice/images/img/lattice-colored.png);
}
div.lattice.arrows {
    background-image: url(/online-practice/images/img/lattice-arrows.png);
}
div.lattice span {
    position: absolute;
    display: block;
    width: 13px;

}
div.lattice span.ht,
div.lattice span.vr
{ font-weight: bold }
div.lattice span.ht{ top: 15px; }
div.lattice span.ht:nth-child(1){ left: 70px;}
div.lattice span.ht:nth-child(2){ left: 130px;}
div.lattice span.vr{ left: 185px; }
div.lattice span.vr:nth-child(3){ top: 70px;}
div.lattice span.vr:nth-child(4){ top: 130px;}

div.lattice span:nth-child(5) {top:55px; left:60px;}
div.lattice span:nth-child(7) {top:55px; left:120px;}
div.lattice span:nth-child(9) {top:120px; left:60px;}
div.lattice span:nth-child(11) {top:120px; left:120px;}
div.lattice span:nth-child(6) {top:80px; left:90px;}
div.lattice span:nth-child(8) {top:80px; left:150px;}
div.lattice span:nth-child(10) {top:145px; left:90px;}
div.lattice span:nth-child(12) {top:145px; left:150px;}

div.lattice span:nth-child(13) {top:80px; left:55px;}
div.lattice span:nth-child(14) {top:145px; left:55px;}

div.lattice input.digit {
    position: absolute;
    width: 20px;
    height: 24px;
    text-align:center;
    border: 1px solid #999;
}
div.lattice input.digit.a {top:75px; left:20px}
div.lattice input.digit.b {top:145px; left:20px}
div.lattice input.digit.c {top:176px; left:55px}
div.lattice input.digit.d {top:176px; left:120px}

#solve div.lattice-multiplication {border: none; margin-top:10px}
#solve .lattice-multiplication > p { margin-bottom: 10px !important; }

table.scale td.scale,
table.scale td.scale-left-arrow,
table.scale td.scale-right-arrow {
    background-image: url(/online-practice/images/img/scale.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position-y: 0px;
    min-width: 50px !important;
    width: 50px;
    height: 30px;
    opacity: 0.7;
}

table.Yscale td.scale,
table.Yscale td.scale-up-arrow,
table.Yscale td.scale-down-arrow  {
    background-image: url(/online-practice/images/img/Yscale.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position-x: 0px;
    min-height: 50px !important;
    width: 30px;
    height: 50px;
    opacity: 0.7;
}

table.Yscale td:nth-child(1) {
    padding-right:4px;
}


table.scale td.scale-left-arrow {
    background-image: url(/online-practice/images/img/scale-left-arrow.png);
}
table.scale td.scale-right-arrow {
    background-image: url(/online-practice/images/img/scale-right-arrow.png);
}
table.Yscale td.scale-up-arrow {
    background-image: url(/online-practice/images/img/scale-up-arrow.png);
}
table.Yscale td.scale-down-arrow {
    background-image: url(/online-practice/images/img/scale-down-arrow.png);
}
table.scale td.scale.active {
    background-image: url(/online-practice/images/img/scale-active.png), url(/online-practice/images/img/scale.png);
}
table.Yscale td.scale.active {
    background-image: url(/online-practice/images/img/Yscale-active.png), url(/online-practice/images/img/Yscale.png);
}
table.scale.hover td.scale:hover {
    cursor: pointer;
    background-image: url(/online-practice/images/img/scale-hover.png), url(/online-practice/images/img/scale.png);
}
table.Yscale.hover td.scale:hover {
    cursor: pointer;
    background-image: url(/online-practice/images/img/Yscale-hover.png), url(/online-practice/images/img/Yscale.png);
}
table.scale.hover td.scale.active:hover {
    background-image: url(/online-practice/images/img/scale-active.png), url(/online-practice/images/img/scale-hover.png), url(/online-practice/images/img/scale.png);
}
table.Yscale.hover td.scale.active:hover {
    background-image: url(/online-practice/images/img/Yscale-active.png), url(/online-practice/images/img/Yscale-hover.png), url(/online-practice/images/img/Yscale.png);
}
table.hundred-cells,
table.ten-cells {
    display: inline-block;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0px;
}
table.hundred-cells tr td,
table.ten-cells tr td {
    width: 25px;
    height: 25px;
    border: 1px solid #464646;
}
table.hundred-cells.filled tr td,
table.hundred-cells tr td.bg-filled {
    background-color: #207c8e;
}

table.hundred-cells tr td.bg-filled.blue {
    background-color: #07318e;
}

table.hundred-cells tr td.bg-filled.green {
    background-color: #178049;
}

table.hundred-cells tr td.yellow {
    background-color: #fff840;
}

table.ten-cells tr td{
    height: 160px;
}
table.ten-cells.filled tr td,
table.ten-cells tr td.bg-filled {
    background-color: #58a1ff;
}
table.hundred-cells.selectable td,
table.ten-cells.selectable td{
    width: 28px;
    height: 28px;
}
table.selectable td {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -ms-user-select:none;
    -webkit-touch-callout:none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
table.ten-cells.selectable td{
    height: 280px;
}
table.selectable td:hover {
    background-color: #ededed;
}



table.hundred-cells-perma{
    display: inline-block;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0px;
}
table.hundred-cells-perma tr td{
    width: 25px;
    height: 25px;
    border: 1px solid #464646;
}
table.hundred-cells-perma.filled tr td,
table.hundred-cells-perma tr td.bg-filled {
    background-color: #b74cb9;
}

table.hundred-cells-perma tr td.bg-filled.blue {
    background-color: blue;
}

table.hundred-cells-perma tr td.bg-filled.green {
    background-color: green;
}

table.hundred-cells-perma tr td.yellow {
    background-color: yellow;
}



table.fraction {
    display: inline-block;
    vertical-align: middle;
    margin: 0 4px;
}
table.fraction td { text-align: center}
table.fraction tr.bar td{
    line-height: 3px;
    height: 1px;
    padding: 0px;
    background-image: url(/online-practice/images/img/hr.png);
    background-size: auto;
    background-position: left center;
    background-repeat: repeat-x;
}

table.dataTable td {
    border: 1px solid #8d8d8d;
    padding: 4px 6px;
}
table.dataTable td.caption{
    background: #d8d8d8;
    font-weight: bold;
}
table.dataTable td.header{
    background: #bdbdbd;
    font-weight: bold;
    padding-left: 14px;
    padding-right: 14px;
}
table.dataTable.grid tr.data-list td:nth-child(odd) {
    background: #b4b4b4;
}
table.stem-and-leaf td.caption,
table.stem-and-leaf td.header {
    padding-top: 2px;
    padding-bottom: 2px;
}
table.stem-and-leaf td.caption {
    font-weight: bold;
    text-align: center;
}
table.stem-and-leaf td.header {
    border-top: 3px solid #9f8150;
    border-bottom: 3px solid #9f8150;
}
table.stem-and-leaf tr td:nth-child(1) {
    padding-right: 16px;
}
table.stem-and-leaf tr td:nth-child(2) {
    border-left: 3px solid #9f8150;
    text-align: left;
    padding-left: 10px;
}
table.stem-and-leaf.blue td.datum {
    color: blue;
    font-weight: bold;
}

div.comparatives-panel {
    display: inline-block;
}
div.comparatives-panel > div:nth-child(1){
    position: relative;
    min-height: 40px;
    padding: 0 12px;
}
div.comparatives-panel > div:nth-child(1) span.left {
    float: left;
}
div.comparatives-panel > div:nth-child(1) span.right {
    float: right;
}
div.comparatives-panel table {
    padding: 0;
    border: 1px solid #FF9800;
    background-color: #fffde7;
}
div.comparatives-panel table td {
    width: 140px;
    text-align: center;
    padding: 10px 0px;
    font-size: 16px;
}

div.venn {
    position: relative;
    display: inline-block;
    width: 420px;
    height: 240px;
}
div.venn span {
    display: inline-block;
    width: 200px;
    border: 2px solid;
    border-radius: 6px;
    text-align: center;
    font-size: 13px;
    padding: 6px 8px;
}
div.venn div.circle {
    position: absolute;
    display: inline-block;
    width: 180px;
    height: 180px;
    border-width: 2px;
    border-style: solid;
    border-radius: 90px;
}
div.venn .left {
    border-color: #0a84f3;
}
div.venn .right {
    border-color: #e3aad8;
}
div.venn div.left {
    left: 80px;
}
div.venn div.right {
    right: 80px;
}
div.venn div.dots {
    /*position: relative;*/
    height: 180px;
}
div.venn img {
    position: absolute;
}

div.fractionBox {
    display: flex;
    width: 400px;
    align-items: stretch;
}
div.fractionBox > div {
    flex-grow: 1;
    height: 50px;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    background-color: #ffffff;
}
div.fractionBox > div > table.fraction {
    margin: 3px auto;
    display: table;
}
div.fractionBox.yellow > div.filled {background-color: #f9d53d;}
div.fractionBox.green > div.filled {background-color: #85e07a;}
div.fractionBox.purple > div.filled {background-color: #8c92ef;}
div.fractionBox.salmon > div.filled {background-color: #ffa161;}
div.fractionBox.light_blue > div.filled {background-color: #ccd9ff;}
div.fractionBox.light_red > div.filled {background-color: #ffcce2;}
div.fractionBox.light_purple > div.filled {background-color: #ffb3ff;}
div.fractionBox.light_yellow > div.filled {background-color: #ffffcc;}


div.fractionBox.nofill > div {outline: 1px solid #52a022;}
div.fractionBox.yellow > div {outline: 1px solid #ff9a15;}
div.fractionBox.green > div {outline: 1px solid #52a022;}
div.fractionBox.purple > div {outline: 1px solid #6252c1;}
div.fractionBox.salmon > div {outline: 1px solid #ef6100;}
div.fractionBox.light_blue > div {outline: 1px solid #f2f2f2;}
div.fractionBox.light_red > div {outline: 1px solid #f2f2f2;}
div.fractionBox.light_purple > div {outline: 1px solid #f2f2f2;}
div.fractionBox.light_yellow > div {outline: 1px solid #f2f2f2;}

div.ruler {
    display: flex;
    width: 460px;
    align-items: stretch;
}
div.ruler > div {
    flex-grow: 1;
    height: 16px;
    position: relative;
    box-sizing: border-box;
    border-top: none;
    border-bottom: none;
    border-left: 1px solid transparent;
    border-right: 1px solid transparent;
}
div.ruler > div:first-child {
    border-left: 2px solid transparent;
}
div.ruler > div:last-child {
    border-right: 2px solid transparent;
}
div.ruler > div.scale {
    border-left: 1px solid #666;
    border-right: 1px solid #666;
    background-image: url(/online-practice/images/img/hr.png);
    background-repeat: repeat-x;
    background-position: left center;
}
div.ruler > div.scale:first-child {
    border-left: 2px solid #666;
}
div.ruler > div.scale:last-child {
    border-right: 2px solid #666;
}
div.ruler div img,
div.ruler div span {
    position: absolute;
    height: 18px;
}
div.ruler div img {
    right: -10px;
    top: -27px;
}
div.ruler div span {left: -16px;}
div.ruler div:first-child span.ends {left: -5px;}
div.ruler div:last-child span.ends {left:unset; right: -5px; margin: 0px;}

div.ruler.h5 div table.fraction{
    margin: 0 -6px;
}

div.holder {
    display: inline-block;
    text-align: center;
    min-width: 101px;
    height: 78px;
    background-color: #f0fbff;
    border-right: 1px solid #bbd8e2;
    border-bottom: 1px solid #bbd8e2;
    box-shadow: 1px 2px 3px #b4cfd8 inset;
    vertical-align: middle;
}
div.holder * {margin: 0}

div#timeline span.event {
    position: absolute;
    width: 90px;
    height: auto;
    padding: 4px;
    background: #5664e1;
    color: white;
    text-align: center;
    box-shadow: 5px 6px 6px 1px #000;
    font-size: 0.8em;
    border: 1px solid #000;
}
div#timeline span.event.hover:hover,
div#timeline span.event.active {
    background: #0075a1;
    cursor: pointer;
    -webkit-user-select: none;
}
div#timeline img {
    position: absolute;
}

table.wall{
    table-layout: fixed;
    border: 2px solid #333;
    border-spacing: 0px;
}
table.wall td {
    width: 42px;
    border: 2px solid #333;
}

table.unitTable {
    border-spacing: 4px;
    border-collapse: separate;
}
table.unitTable td {
    position: relative;
    height: 48px;
    text-align: center;
}
table.unitTable td img,
table.dataTable td img {
    height: auto;
    width: 48px;
}
table.dataTable td > img,
table.dataTable td > span.img-cover {
    position: relative;
    float: left;
    display: block;
    min-width: 48px;
    min-height: 48px;
}
table.dataTable td > span.img-cover {
    margin-right: 60px;
}
table.unitTable td img.img-half,
table.dataTable td img.img-half {
    position: absolute;
    clip: rect(0px,24px,48px,0px);
}
table.dataTable td > span.img-cover img.img-half ,
table.unitTable td img.img-half {
    top: 0px;
    left: 0px;
}

table.dataTable.mul_table td{
    width:150px;
    text-align:center;
}

table img.inactivate {
    filter: grayscale(100%);
    opacity: 0.4;
    cursor: pointer;
}
table img.semi-activate {
    filter: none;
    opacity: 0.7;
    cursor: pointer;
}
table img.activate {
    filter: none;
    opacity: 1;
    cursor: pointer;
}

div.arith_model{
    margin-left: 30px;
}
.arith_operator{
    padding: 4px;
    display: inline-block;
    width: 30px;
}
.arith_blocks{
    display: inline-block;
}

.arith_blocks.ans{
    margin-left: 30px;
}

.arith_blocks div.fractionBox {
    margin: 4px;
}

.c3-title {
    font-size: 1.8em;
}
.c3-axis-x-label,
.c3-axis-y-label {
    font-size: 1.5em;
}

img.int_right_arrow{
    width:50px;
    height:20px;
    margin-bottom:-20px;
}

.answer.short.exp {
    position: absolute;
    top: -15px;
    left: 48px;
}

.relative {
    position: relative;
}

.exp {
    top: 0px;
    position: relative;
    height: 20px;
    width: 25px!important;
    font-size: 10px;
    margin-right:5px;

}

td.purple {
    background: rgb(136,128,229);
    padding: 5px 5px;
    border: 1px solid #aab5b9;
    color: #fff;
}

.green-color {
    color: rgb(0, 132, 53);
}
.red-color {
    color: rgb(132, 14, 0);
}

.evaluate td {
    padding : 5px 5px;
}

.fr-counter {
    display: none;
}

.fr-visible {
    display: none;
}

.fr-toolbar.fr-top {
    order: 4;
    display: block;
    box-shadow :  none;
}

.fr-basic {
    display: grid;
    width: 100px;
}

.fr-box.fr-basic .fr-element {
    padding: 3px;
    height: 30px;
    min-height: 25px;
    overflow: hidden;
}

.fr-box.fr-basic.fr-top .fr-wrapper {
    box-shadow : none;
    border: 1px solid #009aef;
}

.fr-toolbar {
    border-top: 1px;
}

#problem-again .fr-toolbar {
    display: none;
}


.saleTag1,.saleTag2,.saleTag3,.saleTag4,.saleTag5 {
    border: 6px dashed black;
}
.saleTag1 {
    height: 128px;
    width: 520px;
    background: yellowgreen;
}

.saleTag1>.line1Text {
    width: 305px;
    height: 65px;
    margin-left: 20px;
    padding-top: 21px;
    text-align: center;
    font-family: 'Trebuchet MS','Lucida Grande','Lucida Sans Unicode','Lucida Sans',Tahoma,sans-serif;
    font-size: 37px!important;
    font-weight: 700;

}

.saleTag1>.line2Text {
    width: 305px;
    margin-left: 20px;
    text-align: center;
    font-family: 'Trebuchet MS','Lucida Grande','Lucida Sans Unicode','Lucida Sans',Tahoma,sans-serif;
    font-size: 28px!important;

}

.saleTag2 {
    background: #4465cd;
    height: 122px;
    width: 285px;
}

.saleTag2>.line1Text {
    margin-left: 5px;
    padding-top: 130px;
    width: 280px;
    text-align: center;
    font-family: 'Trebuchet MS','Lucida Grande','Lucida Sans Unicode','Lucida Sans',Tahoma,sans-serif;
    font-size: 54px!important;
    font-weight: 700;

}

.saleTag2>.line2Text {
    visibility: hidden;
}

.saleTag3 {
    background: #c93fcd;
    height: 163px;
    width: 325px;
}

.saleTag3>.line2Text {
    padding-right: 10px;
    text-align: right;
    color:#fff
}
.saleTag3>.line1Text {
    margin-left: 75px;
    padding-top: 45px;
    width: 250px;
    text-align: center;
    font-family: 'Trebuchet MS','Lucida Grande','Lucida Sans Unicode','Lucida Sans',Tahoma,sans-serif;
    font-size: 51px!important;
    font-weight: 700;

}

.saleTag4 {
    background: #cd4259;
    height: 111px;
    width: 403px;
}

.saleTag4>.line1Text {
    margin-left: 140px;
    padding-top: 8px;
    width: 254px;
    height: 54px;
    text-align: center;
    font-family: Tahoma,Verdana,Segoe,sans-serif;
    font-size: 44px!important;
    font-weight: 700;

}

.saleTag4>.line2Text {
    margin-left: 140px;
    width: 254px;
    text-align: center;
    font-family: Tahoma,Verdana,Segoe,sans-serif;
    font-size: 24px!important;

}

.saleTag5 {
    width: 630px;
    background: #5ec343;
    height: 112px;
}

.saleTag5>.line1Text {
    margin-left: 153px;
    padding-top: 7px;
    width: 250px;
    height: 59px;
    text-align: center;
    font-family: Tahoma,Verdana,Segoe,sans-serif;
    font-size: 45px!important;
    font-weight: 700;

}

.saleTag5>.line2Text {
    margin-left: 153px;
    width: 250px;
    text-align: center;
    font-family: Tahoma,Verdana,Segoe,sans-serif;
    font-size: 22px!important;
    font-weight: 700;

    line-height: 2;
}

.QMPercentCoupon_EN{
    font-family:'Trebuchet MS','Lucida Grande','Lucida Sans Unicode','Lucida Sans',Tahoma,sans-serif;
    font-weight:700;
    color:#fff;
    text-align:center;
    word-wrap:normal;
    line-height:normal;
    margin-right: 20px;
    margin-bottom: 20px;
    background: transparent;
    border: 1px solid #000;
    padding: 10px;
}
.QMPercentCoupon_EN.active {
    border: 3px solid #840e00;
    box-shadow: 7px 11px 4px 1px #666;
}

.QMPercentCoupon_EN .coupon1 {
    font-family: Tahoma,Verdana,Segoe,sans-serif;
    width: 270px;
    height: 162px;
    background: #0a246a;
}

.QMPercentCoupon_EN .coupon1>.firstLine {
    padding-top: 8px;
}

.QMPercentCoupon_EN .coupon1 .value {
    font-size: 60px!important;
}

.QMPercentCoupon_EN .coupon1 .percentSign {
    font-size: 38px!important;
}

.QMPercentCoupon_EN .coupon1 .text {
    font-size: 58px!important;
}

.QMPercentCoupon_EN .coupon2 {
    font-family: Tahoma,Verdana,Segoe,sans-serif;
    width: 270px;
    height: 123px;
    background: #772a7d;
}

.QMPercentCoupon_EN .coupon2>.firstLine {
    padding-top: 0;
    padding-left: 48px;
    float: left;
    margin-right: -8px;
}

.QMPercentCoupon_EN .coupon2 .value {
    font-size: 100px!important;
    line-height: 125px;
}

.QMPercentCoupon_EN .coupon2>.secondLine {
    float: left;
}

.QMPercentCoupon_EN .coupon2 .percentSign {
    font-size: 60px!important;
    padding-top: 24px;
    padding-left: 13px;
    line-height: 44px;
}

.QMPercentCoupon_EN .coupon2 .text {
    padding-left: 8px;
    font-size: 30px!important;
    font-weight: 400;
}

.QMPercentCoupon_EN .coupon3{
    width:292px;
    height:160px;
    background: #902944;
}
.QMPercentCoupon_EN .coupon3>.firstLine{
    padding-top:4px
}
.QMPercentCoupon_EN .coupon3 .value{
    font-size:73px!important;
}
.QMPercentCoupon_EN .coupon3 .percentSign{
    font-size:73px!important;
}

.QMPercentCoupon_EN .coupon3 .text{
    padding-right:8px;
    font-size:45px!important;
}

.QMPercentCoupon_EN .coupon4 {
    font-family: 'Trebuchet MS','Lucida Grande','Lucida Sans Unicode','Lucida Sans',Tahoma,sans-serif;
    width: 270px;
    height: 161px;
    background: #965731;
}

.QMPercentCoupon_EN .coupon4>.firstLine {
    padding-top: 7px;
    width: 115px;
    padding-left: 20px;
}

.QMPercentCoupon_EN .coupon4 .value {
    font-size: 81px!important;
    line-height: 90px;
}

.QMPercentCoupon_EN .coupon4 .percentSign {
    font-size: 46px!important;
}

.QMPercentCoupon_EN .coupon4>.secondLine {
    padding-left: 20px;
}

.QMPercentCoupon_EN .coupon4 .text {
    font-size: 68px!important;
    line-height: 35px;
    text-align: left;
}

.QMPercentCoupon_EN .coupon5 {
    font-family: Tahoma,Verdana,Segoe,sans-serif;
    width: 270px;
    height: 121px;
    background: #7d742c;
}

.QMPercentCoupon_EN .coupon5 .value {
    font-size: 41px!important;
}

.QMPercentCoupon_EN .coupon5 .percentSign {
    font-size: 34px!important;
    font-weight: 400;
}

.QMPercentCoupon_EN .coupon5>.firstLine {
    padding-left: 55px;
    padding-top: 9px;
    text-align: left;
}

.QMPercentCoupon_EN .coupon6 {
    font-family: Tahoma,Verdana,Segoe,sans-serif;
    width: 312px;
    height: 121px;
    background: #1aab17;
}

.QMPercentCoupon_EN .coupon6>.firstLine {
    float: left;
    padding-left: 25px;
}

.QMPercentCoupon_EN .coupon6 .value {
    font-size: 105px!important;
    line-height: normal;
}

.QMPercentCoupon_EN .coupon6>.secondLine {
    float: left;
    padding-top: 31px;
}

.QMPercentCoupon_EN .coupon6 .percentSign {
    font-size: 50px!important;
    font-weight: 400;
    line-height: 30px;
}

.QMPercentCoupon_EN .coupon6 .text {
    font-size: 37px!important;
    font-weight: 400;
}

.qm-dollar-coupon{
    font-family:'Trebuchet MS','Lucida Grande','Lucida Sans Unicode','Lucida Sans',Tahoma,sans-serif;
    font-weight:700;
    color:#fff;
    text-align:center;
    position:relative;
    word-wrap:normal;
    line-height:normal;
    margin-right: 20px;
    margin-bottom: 20px;
    background: transparent;
    border: 1px solid #000;
    padding: 10px;

}

.qm-dollar-coupon.active {
    border: 3px solid #840e00;
    box-shadow: 7px 11px 4px 1px #666;
}

.qm-dollar-coupon .coupon1{
    width:270px;
    height:181px;
    background: #0a84f3;
}


.qm-dollar-coupon .coupon2{
    width:270px;
    height:164px;
    background: #9332f3;
}

.qm-dollar-coupon .coupon1 .extra-text-table .txt {
    font-size: 20px!important;
}

.qm-dollar-coupon .coupon1>.first-line {
    padding-top: 8px;
}

.qm-dollar-coupon .coupon1 .dollar-sign {
    font-size: 41px!important;
    font-weight: 400;
}

.qm-dollar-coupon .coupon1 .one-digit, .qm-dollar-coupon .coupon1 .two-digits {
    font-size: 72px!important;
}

.qm-dollar-coupon .coupon1 .text {
    padding-left: 8px;
    font-size: 61px!important;
}

.qm-dollar-coupon .coupon2>.first-line {
    padding-top: 0;
}

.qm-dollar-coupon .coupon1 .extra-text-table {
    left: 37px;
    top: 92px;
    width: 198px;
    height: 69px;
    font-size: 21px!important;
}

.qm-dollar-coupon .coupon2 .dollar-sign {
    font-size: 50px!important;
    line-height: 100px;
    vertical-align: top;
    font-family: Arial,Helvetica,sans-serif;
    font-weight: 400;
}

.qm-dollar-coupon .coupon2 .one-digit, .qm-dollar-coupon .coupon2 .two-digits {
    font-size: 100px!important;
    line-height: 125px;
}

.qm-dollar-coupon .coupon2 .extra-text-table {
    left: 35px;
    top: 120px;
    width: 216px;
    height: 32px;
    font-size: 20px;
    white-space: nowrap;
}

.qm-dollar-coupon .coupon2>.second-line {
    float: left;
    padding-top: 6px;
}

.qm-dollar-coupon .coupon2 .text {
    padding-left: 8px;
    font-size: 30px;
    font-weight: 400;
}

.qm-dollar-coupon .coupon2 .txt {
    font-size: 15px!important;
}

.qm-dollar-coupon .coupon3{
    width:292px;
    height:180px;
    background: #2d8c84;
}

.qm-dollar-coupon .coupon3>.first-line {
    padding-top: 3px;
}

.qm-dollar-coupon .coupon3 .text {
    padding-right: 15px;
    font-size: 45px!important;
    vertical-align: super;
}

.qm-dollar-coupon .coupon3 .dollar-sign {
    font-size: 56px!important;
    margin-left: -5px;
    margin-right: -2px;
    font-weight: 400;
}

.qm-dollar-coupon .coupon3 .one-digit, .qm-dollar-coupon .coupon3 .three-digits, .qm-dollar-coupon .coupon3 .two-digits {
    font-size: 72px!important;
}

.qm-dollar-coupon .extra-text-table {
    position: absolute;
    display: table;
    font-weight: 400;
}

.qm-dollar-coupon .coupon3 .extra-text-table {
    left: 43px;
    top: 102px;
    width: 228px;
    height: 62px;
    font-size: 21px!important;
}
.qm-dollar-coupon .extra-text-table .extra-text {
    display: table-cell;
    vertical-align: middle;
}


.qm-dollar-coupon .coupon4{
    width:292px;
    height:161px;
    padding-left:20px;
    background: #379b11;
}
.qm-dollar-coupon .coupon4>.first-line{
    padding-top:7px;
    width:115px;
}

.qm-dollar-coupon .coupon4 .dollar-sign{
    font-size:46px!important;
    font-weight:400;
}

.qm-dollar-coupon .coupon4 .one-digit,.qm-dollar-coupon .coupon4 .two-digits{
    font-size:75px!important;
    line-height:90px
}

.qm-dollar-coupon .coupon4 .text {
    font-size: 63px!important;
    line-height: 35px;
    text-align: left;
}

.qm-dollar-coupon .coupon4 .extra-text-table {
    left: 180px;
    top: 37px;
    width: 93px;
    height: 97px;
    font-size: 20px;
    color: #fff!important;
}
.qm-dollar-coupon .extra-text-table {
    position: absolute;
    display: table;
    font-weight: 400;
}
.qm-dollar-coupon .extra-text-table .extra-text {
    display: table-cell;
    vertical-align: middle;
}

.qm-dollar-coupon .extra-text-table .extra-text span {
    color: #fff!important;
}

.qm-dollar-coupon .coupon5{
    width:310px;
    height:121px;
    padding-left:20px;
    background: #aeaa40;
}

.qm-dollar-coupon .coupon6{
    width:351px;
    height:121px;
    background: #c76a4c;
}

.qm-dollar-coupon .coupon5>.first-line {
    padding-left: 35px;
    padding-top: 9px;
    text-align: left;
}

.qm-dollar-coupon .coupon6>.first-line {
    width: 185px;
    padding-left: 20px;
}

.qm-dollar-coupon .coupon5 .dollar-sign {
    font-size: 36px!important;
    font-weight: 400;
    vertical-align: super;
}

.qm-dollar-coupon .coupon5 .extra-text-table {
    left: 190px;
    top: 30px;
    width: 98px;
    height: 79px;
    font-size: 16px!important;
}

.qm-dollar-coupon .coupon5 .one-digit, .qm-dollar-coupon .coupon5 .two-digits {
    font-size: 44px!important;
}

.qm-dollar-coupon .coupon6 .dollar-sign {
    font-size: 43px!important;
    font-weight: 400;
    line-height: 94px;
    vertical-align: top;
    margin-right: -5px;
}

.qm-dollar-coupon .coupon6 .one-digit, .qm-dollar-coupon .coupon6 .two-digits {
    font-size: 102px!important;
    line-height: normal;
}

.qm-dollar-coupon .coupon6 .text {
    font-size: 35px!important;
    font-weight: 400;
}

.qm-dollar-coupon .coupon6>.second-line {
    float: left;
    padding-top: 4px;
    margin-left: -5px;
}

.qm-dollar-coupon .coupon6 .extra-text-table {
    left: 240px;
    top: 55px;
    width: 94px;
    height: 69px;
    font-size: 15px!important;
}
.qm-dollar-coupon .extra-text-table {
    position: absolute;
    display: table;
    font-weight: 400;
}

.qm-dollar-coupon .extra-text-table .extra-text {
    display: table-cell;
    vertical-align: middle;
}

.express-table td {
    padding: 5px;
}

.jumbotron td {
    min-width: 85px;
}

.div-align-item-center {
    display: inline-flex;
    align-items: center;
}

.graph-btn {
    width: 335px;
    height: 335px;;
}

.axis--y-1 .tick line , .axis--x-1 .tick line{
    visibility: hidden;
}

.width-auto {
    width: auto;
}

.tile-left {
    width:25px;
    background: #08a366;
    color:#fff;
    text-align:center;
    line-height: normal;
}

.tile-body {
    width:25px;
    background: #7ec138;
    color:#fff;
    text-align:center;
    line-height: normal;
}

.tile-white {
    background:transparent;
    line-height: normal;
    color: transparent;
}

.tile-equal {
    background:transparent;
    color:#000;
    text-align: center;
    width: 25px;
    line-height: normal;
}

.style-flex {
    display: flex;
}

#tile-table table {
    border-collapse: inherit!important;
    border-spacing: 3px;
}

.button-auto {
    width:auto;height:auto;
}

.sc-drag-block {
    display: inline-block;
    border: 2px solid #840e00;
    margin-right: 10px;
    margin-bottom: 5px;
    margin-top: 0;
    margin-left: 0;
    position: relative;
    background-color: #fff;
    text-align: center;
    vertical-align: top;
    height: 160px;
    margin-bottom: 40px;
    width: 320px;
}

.sc-block-header {
    font: 16px Verdana;
    color: #57544b;
    padding: 10px;
    text-align: center;
    white-space: normal;
}

.sc-block-header-border {
    height: 2px;
    width: inherit;
    margin-right: 15px;
    margin-left: 15px;
    margin-bottom: 10px;
    background: #840e00;
    width: 288px;
}

.sc-block-body div {
    width: 250px;
    min-height: 100px;
    padding-left: 14px;
    text-align: left;
}

.sc-btn-one-lowest {
    width: auto;
    height: 40px;
    padding:1px;
}

.c3-tooltip-container {
    visibility : hidden !important;
}
.h3 {
    font-size: 24px;
}
.ib {
    display: inline-block;
}
.orange-highlight {background: #e7eace !important;
    border: 1px solid #ff9c33;
    padding: 10px;
}

.ck-editor {
    min-width: 200px;
}
.ck.ck-button .ck.ck-tooltip {
    display: none;
}

/* Year 4 arithmetic review: accessible, left-aligned, mobile-safe layouts. */
.page-problem .ans_line,
.page-help .ans_line,
.page-problem .description,
.page-help .review {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
}

.sc-column-subtraction {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 100%;
    margin: 12px 0 18px;
    padding: 12px;
    overflow-x: auto;
    background: #f8f9fa;
    border: 1px solid #d7dce3;
    border-radius: 10px;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.sc-column-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 48px;
    white-space: nowrap;
}

.sc-column-subtrahend {
    border-bottom: 3px solid #30343b;
}

.sc-column-placeholder {
    visibility: hidden;
}

.sc-column-digit,
.sc-column-operator,
.sc-missing-digit {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 2px;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
}

.sc-missing-digit {
    padding: 4px;
    color: #8f1724;
    background: #fde7ea;
    border: 2px dashed #c62828;
    border-radius: 7px;
}

.sc-pattern-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    max-width: 100%;
    margin: 12px 0 18px;
}

.sc-pattern-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 48px;
    font-size: 20px;
}

.sc-pattern-answer,
.sc-table-answer {
    box-sizing: border-box;
    width: 120px;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 8px;
    font-size: 18px;
    text-align: center;
    background: #fff;
    border: 2px solid #a5d6a7;
    border-radius: 7px;
}

.sc-rule-table-scroll {
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    margin: 12px 0 18px;
    overflow-x: auto;
}

.sc-rule-table {
    width: auto;
    border-collapse: collapse;
    font-size: 18px;
}

.sc-rule-table th,
.sc-rule-table td {
    min-width: 110px;
    padding: 8px 16px;
    text-align: center;
    border: 2px solid #666;
}

.sc-rule-table th {
    background: #e3f2fd;
    font-weight: 700;
}

.sc-number-choice-list {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
    margin: 12px 0;
    text-align: left;
}

.sc-number-card {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 48px;
    padding: 8px 14px;
    font-size: 22px;
    font-weight: 700;
    background: #cfe2ff;
    border: 2px solid #90caf9;
    border-radius: 8px;
}

.sc-difference-answer,
.sc-arithmetic-answer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
    margin: 16px 0;
    text-align: left;
}

.sc-difference-answer input {
    box-sizing: border-box;
    width: 150px;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 8px;
    font-size: 18px;
    text-align: center;
    border: 2px solid #a5d6a7;
    border-radius: 8px;
}

.sc-arithmetic-answer {
    font-size: 22px;
    line-height: 1.7;
}

.sc-arithmetic-answer input {
    box-sizing: border-box;
    width: 110px;
    min-width: 70px;
    min-height: 44px;
    margin: 0 3px;
    padding: 8px;
    font-size: 20px;
    text-align: center;
    border: 2px solid #a5d6a7;
    border-radius: 8px;
}

.sc-task-direction {
    display: inline-block;
    margin-top: 8px;
    color: #374151;
    font-weight: 700;
}

.multi-wrap {
    margin: 0;
    border-collapse: collapse;
}

.multi-wrap td {
    min-width: 44px;
    padding: 2px 5px;
    text-align: right;
}

.multi-wrap .sc-multiply-row {
    border-bottom: 2px solid #333;
}

@media (max-width: 600px) {
    .sc-column-subtraction {
        width: 100%;
    }

    .sc-column-digit,
    .sc-column-operator,
    .sc-missing-digit {
        width: 42px;
        min-width: 42px;
    }

    .sc-rule-table-scroll {
        width: 100%;
    }

    .sc-rule-table {
        width: 100%;
    }

    .sc-rule-table th,
    .sc-rule-table td {
        min-width: 88px;
        padding: 7px 9px;
    }

    .sc-difference-answer input {
        flex: 1 1 120px;
        width: auto;
    }

    .sc-arithmetic-answer {
        font-size: 19px;
    }
}
