.number-help-button{font:inherit;line-height:1;color:inherit;border:2px dashed #8da77a;background:#edf2dc;border-radius:14px;padding:6px 12px;min-width:54px;min-height:52px;cursor:pointer}.number-help-button:focus-visible{outline:3px solid #7966bb;outline-offset:3px}.free-help-entry{display:block;margin:9px auto 2px;font-size:13px;font-weight:800;color:#4e467d;background:#f0edf8;border:1px solid #b9afd0;border-radius:12px;padding:9px 14px}.free-help-dialog{width:min(720px,calc(100% - 28px));max-height:calc(var(--app-height,100vh) - 28px);padding:0;border:2px solid #8ca378;border-radius:26px;background:#faf7ec;color:#243f36;box-shadow:0 20px 80px #122c3860;overflow:auto}.free-help-dialog::backdrop{background:#243f3670;backdrop-filter:blur(3px)}.fh-content{padding:24px}.fh-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fh-heading h2{font-size:28px;line-height:1.15;margin:4px 0 12px}.fh-heading .eyebrow{font-size:10px;margin:0}.fh-close{min-width:44px;min-height:44px;border:1px solid #bac5a4;border-radius:50%;background:#fffaf0;color:#35573e;font-size:22px;cursor:pointer}.fh-original{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#e9efd4;border-radius:15px;padding:12px 18px;margin:6px 0 15px}.fh-original>span{font-weight:900;font-size:26px}.fh-clock{white-space:nowrap;color:#536149}.fh-instruction{font-size:15px;line-height:1.55;margin:14px 0}.fh-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fh-option{display:flex;align-items:center;justify-content:center;gap:12px;border:2px solid #7f9b70;border-radius:17px;background:#edf2dc;color:#284a3a;padding:20px 10px;font-weight:900;font-size:29px;cursor:pointer;box-shadow:0 3px 0 #d3ddbd}.fh-option:hover,.fh-option:focus-visible{background:#dfecc2}.fh-plus{font-size:19px;font-weight:600}.fh-custom{margin:17px 0;font-size:14px}.fh-custom summary{cursor:pointer;font-weight:800;min-height:32px}.fh-custom-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0}.fh-custom-form input{width:75px;font:inherit;padding:8px;border:2px solid #b0bfa0;border-radius:9px;background:#fffdf7}.fh-custom-error{flex-basis:100%;margin:0;color:#86512f}.fh-equation{display:flex;align-items:center;justify-content:center;gap:14px;font-size:30px;margin:18px 0 12px}.fh-target,.fh-slot,.fh-empty-answer,.free-help-dialog .answer{display:inline-flex;align-items:center;justify-content:center;min-width:80px;height:78px;border:2px solid #78986a;border-radius:17px;background:#e7edcf;font:900 33px Nunito,'Segoe UI',sans-serif;color:#244432;text-align:center}.fh-target{border-style:dashed;border-width:3px;cursor:pointer;box-shadow:0 0 0 5px #e7edcf70}.fh-slot{background:#faf7ec;color:#7c866e;border:2px dashed #b6c1a0;font-size:16px}.fh-slot.filled{background:#e2ddf1;color:#534478;border:2px solid #a498c3;font-size:33px}.fh-empty-answer,.free-help-dialog .answer{background:#fffdf7;border-color:#bdc5ae;width:88px}.fh-pieces{display:flex;justify-content:center;gap:20px;margin:18px 0}.fh-piece{display:flex;flex-direction:column;justify-content:center;align-items:center;width:142px;min-height:88px;border:2px solid #a69ac5;border-radius:19px;background:#e7e0f4;color:#4c3e72;cursor:grab;touch-action:none;user-select:none;position:relative;box-shadow:0 4px 0 #d0c6e1}.fh-piece strong{font-size:33px;line-height:1.15}.fh-piece small{font-size:11px;font-weight:700;margin-top:5px;pointer-events:none}.fh-piece.selected{outline:3px solid #6e5a98;outline-offset:3px}.fh-piece.used{opacity:.45;box-shadow:none;cursor:default}.fh-piece.dragging{z-index:5;cursor:grabbing;box-shadow:0 10px 20px #38285540}.fh-path{list-style:none;padding:0;text-align:center;font-size:17px;line-height:1.7;margin:8px 0}.fh-check{display:block;margin:8px auto;font-size:14px;padding:10px 16px}.fh-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-width:285px;margin:15px auto}.fh-keypad button{height:45px;border:1px solid #b7c3a6;border-radius:11px;background:#fffdf7;color:#294a37;font-size:23px;font-weight:800;cursor:pointer;box-shadow:0 2px 0 #dce1cd}.fh-keypad button:last-child{background:#e0ecc6}.fh-feedback{min-height:24px;margin:12px 0;font-size:14px;line-height:1.5;font-weight:700;text-align:center}.fh-tip{background:#fff0ce;border:1px solid #d9bd75;padding:15px;border-radius:15px;font-size:14px;margin:12px 0}.fh-tip p{line-height:1.5;margin:8px 0}.fh-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px 0 6px}.fh-controls button{font-size:13px;padding:9px 13px;min-height:42px}.fh-footnote{font-size:11px;text-align:center;color:#64756b;margin:14px 0 0}
@media(max-width:580px){.free-help-dialog{width:calc(100% - 12px);max-height:calc(var(--app-height,100vh) - 12px);border-radius:21px}.fh-content{padding:16px}.fh-heading h2{font-size:24px}.fh-original{padding:10px 13px;margin-bottom:10px}.fh-original>span{font-size:22px}.fh-clock{font-size:11px}.fh-instruction{font-size:13px;margin:11px 0}.fh-options{grid-template-columns:1fr;gap:9px}.fh-option{padding:12px;font-size:27px}.fh-equation{gap:8px;font-size:23px;margin:13px 0}.fh-target,.fh-slot,.fh-empty-answer,.free-help-dialog .answer{min-width:60px;width:60px;height:62px;font-size:27px;border-radius:13px}.fh-slot:not(.filled){font-size:13px}.fh-pieces{margin:14px 0;gap:16px}.fh-piece{width:125px;min-height:76px}.fh-piece strong{font-size:28px}.fh-keypad{gap:6px;margin:10px auto;max-width:270px}.fh-keypad button{height:42px}.fh-feedback{font-size:12px;margin:9px 0}.fh-controls{gap:7px}.fh-controls button{padding:8px 10px;font-size:12px}.fh-custom{margin:12px 0}.fh-footnote{font-size:10px;margin-top:10px}}
/* Keep the dialog anchored and reserve all work controls between steps. */
.free-help-dialog{height:min(850px,calc(var(--app-height,100vh) - 24px));max-height:calc(var(--app-height,100vh) - 24px);overflow:hidden}
.fh-content{height:100%;display:flex;flex-direction:column;position:relative;min-height:0}
.fh-heading,.fh-original,.fh-content>.fh-controls,.fh-footnote{flex-shrink:0}
.fh-main{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 3px}
.fh-instruction{min-height:48px;margin:10px 0}
.fh-answer-form{margin:0}.fh-equation{margin:12px 0;min-height:78px}
.fh-check{height:42px;min-height:42px;margin:7px auto;line-height:1.2}
.fh-check:disabled,.fh-keypad button:disabled{opacity:.45;cursor:default}
.fh-slot{padding:0;cursor:pointer;border-width:3px;font-family:inherit}
.fh-target.drop-ready,.fh-slot.drop-ready{outline:3px solid #7966bb;outline-offset:3px;background:#e0d8f0}
.fh-pieces{min-height:88px;margin:14px 0}.fh-piece{height:88px;min-height:88px}
.fh-piece small{display:block;height:26px;line-height:13px;max-width:115px}
.fh-path{height:29px;min-height:29px;margin:6px 0;overflow:hidden}
.fh-feedback{height:44px;min-height:44px;margin:8px 0;line-height:20px;overflow:auto}
.fh-content>.fh-controls{min-height:44px;flex-wrap:nowrap;margin:10px 0 3px}
.fh-content>.fh-controls button{white-space:nowrap}
.fh-tip{position:absolute;z-index:6;left:20px;right:20px;bottom:92px;max-height:calc(100% - 180px);overflow:auto;box-shadow:0 7px 24px #3e432b50;margin:0}
@media(max-width:580px){
 .free-help-dialog{height:calc(var(--app-height,100vh) - 12px);max-height:calc(var(--app-height,100vh) - 12px)}
 .fh-content{padding:14px}.fh-heading h2{font-size:22px;margin-bottom:8px}
 .fh-original{margin:4px 0 8px}.fh-instruction{min-height:42px;font-size:12px;line-height:18px;margin:7px 0}
 .fh-equation{margin:9px 0;min-height:62px;gap:7px}.fh-check{height:37px;min-height:37px;padding:7px 12px;margin:6px auto}
 .fh-pieces{min-height:76px;margin:10px 0}.fh-piece{height:76px;min-height:76px}
 .fh-path{height:24px;min-height:24px;font-size:14px;line-height:24px;margin:4px 0}
 .fh-keypad{margin:8px auto;gap:5px}.fh-keypad button{height:38px}
 .fh-feedback{height:36px;min-height:36px;margin:6px 0;line-height:18px}
 .fh-content>.fh-controls{margin-top:8px;gap:6px}.fh-content>.fh-controls button{padding:7px 9px;font-size:11px;min-height:38px}
 .fh-tip{left:14px;right:14px;bottom:83px}.fh-footnote{margin-top:7px}
}
