.numpad-keyboard{display:grid;grid-template-columns:repeat(4,minmax(50px,72px));gap:7px;justify-content:center;width:max-content;max-width:100%;margin:10px auto}
.numpad-keyboard.hidden{display:none}
.numpad-keyboard .key{width:100%;height:58px;background:#f8fbfd!important;border-color:#bccbd4;color:#263943;font-size:1.25rem}
.numpad-keyboard .key[data-key="5"]::after{content:"";position:absolute;bottom:7px;width:15px;height:3px;border-radius:4px;background:#a42840}
.numpad-keyboard .key.target{border-color:#cc0030;background:#ba0030!important;color:white}
.numpad-only-notice{max-width:680px;margin:14px auto 0;padding:14px 18px;border:2px solid #b90025;border-radius:12px;background:#fff3f5;text-align:center;color:#641f2b}
.numpad-only-notice strong,.numpad-only-notice span{display:block}.numpad-only-notice strong{font-size:1.15rem}.numpad-only-notice span{margin-top:4px;font-size:.94rem;font-weight:700;line-height:1.55}
.numpad-only-notice.hidden{display:none}
.numpad-settings{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 20px;margin:12px auto 4px}.numpad-settings.hidden{display:none}.numpad-settings label{display:flex;align-items:center;gap:8px;color:#641f2b;font-size:1rem;font-weight:800}.numpad-settings select{min-width:105px;padding:8px 12px;border:2px solid #d9aab2;border-radius:10px;background:#fff;color:#55232e;font-size:1rem;font-weight:800}.numpad-settings p{flex-basis:100%;margin:2px 0 0!important;font-size:.88rem}.numpad-sequence-status{margin:0 0 8px;color:#a10021;font-weight:900}.numpad-sequence-status.hidden{display:none}
.numpad-mode .japanese-prompt,.numpad-mode .roman-prompt{font-size:clamp(1.45rem,4vw,2.35rem);letter-spacing:.07em;overflow-wrap:anywhere}
.digit-practice-hint{max-width:740px;margin:10px auto 0;padding:8px 12px;border-radius:10px;background:#fff2db;color:#683c17;font-size:.9rem;font-weight:800;line-height:1.5}.digit-practice-hint.hidden{display:none}
.formatted-number-entry{display:none;max-width:560px;margin:20px auto 0;text-align:center}.formatted-number-mode .formatted-number-entry{display:grid;justify-items:center;gap:8px}
.formatted-number-entry label{font-size:1rem;font-weight:900;color:#641f2b}.formatted-number-entry textarea{width:100%;min-height:60px;padding:12px 16px;border:2px solid #d9aab2;border-radius:12px;text-align:center;font:700 1.35rem/1.4 "Noto Sans JP",sans-serif;color:#55232e;resize:vertical}.formatted-number-entry textarea:focus{outline:3px solid #f3bd94;outline-offset:2px}.formatted-number-entry textarea[aria-invalid="true"]{border-color:#c70023;background:#fff3f5}.formatted-number-entry button{margin-top:4px}.formatted-number-entry p{margin:4px 0 0;color:#8d0018;font-weight:800;line-height:1.5}
.formatted-number-mode #typingPanel>.guide-panel,.formatted-number-mode #typingPanel>.hand-zones,.formatted-number-mode #typingPanel>.home-position-guide,.formatted-number-mode #typingPanel>#keyboard,.formatted-number-mode #typingPanel>.finger-legend,.formatted-number-mode #typingPanel>#feedback{display:none}
.formatted-number-mode .roman-prompt{display:none}
.formatted-number-mode .japanese-prompt{font-size:clamp(1.5rem,3.2vw,2rem);letter-spacing:.04em;line-height:1.5;overflow-wrap:anywhere}
.enter-practice-mode .japanese-prompt{white-space:pre-line}.enter-practice-mode .formatted-number-entry textarea{min-height:118px;text-align:left}.correction-mode .formatted-number-entry textarea{font-family:Consolas,monospace}
.thumb-space-mode .roman-prompt{white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:.1em}
.thumb-space-mode .japanese-prompt{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.06em;overflow-wrap:anywhere}
.thumb-space-mode .roman-prompt .space-target{display:inline-block;min-width:.65em;background:#fff0f3;border-radius:4px}
.numpad-mode #keyboard,.numpad-mode .hand-zones,.numpad-mode .home-position-guide{display:none}
.numpad-mode .finger-legend{margin-top:18px}
@media(max-width:450px){.numpad-keyboard{grid-template-columns:repeat(4,minmax(50px,60px))}.numpad-keyboard .key{height:54px}}
