/* Guided Learning only: matter and keyboard share the visible workspace. */
.jp-learn-shell{max-width:1450px!important;margin:0 auto!important;padding:14px 18px!important;color:#172b45}.jp-lesson-bar{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-height:42px}.jp-lesson-title{display:grid;gap:2px;min-width:0}.jp-lesson-title small{font-size:11px;color:#687a91}.jp-lesson-title strong{font-size:16px;color:var(--ink,#172b45)}.jp-course-back{padding:8px 12px!important;flex-shrink:0}.jp-posture-tips{margin-left:auto;position:relative;font-size:12px;flex-shrink:0}.jp-posture-tips summary{cursor:pointer;padding:8px 10px;border:1px solid #dce4ee;border-radius:9px;background:#fff;color:#52667f;list-style:none}.jp-posture-tips>div{position:absolute;right:0;top:40px;width:290px;max-width:80vw;padding:16px;background:#fff;color:#172b45;border:1px solid #dbe4ef;border-radius:12px;box-shadow:0 12px 35px #17324d24;z-index:25;line-height:1.65}.jp-posture-tips p{margin:6px 0}.jp-posture-tips ul{padding-left:18px;margin:6px 0 0}.jp-learning-workspace{--jp-work-height:calc(100dvh - 160px);height:var(--jp-work-height);display:grid;grid-template-columns:minmax(290px,.84fr) minmax(0,1.16fr);gap:14px;min-height:0}.jp-learn-shell .card{background:#fff!important;color:#172b45!important;border:1px solid #dfe7ef!important;border-radius:16px!important;box-shadow:0 5px 20px #16375208!important;min-width:0;min-height:0}.jp-matter-card{padding:16px;display:flex;flex-direction:column;gap:10px}.jp-matter-heading,.jp-keyboard-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.jp-panel-kicker{display:block;font-size:9px;letter-spacing:1.6px;font-weight:800;color:#8291a6}.jp-matter-heading h3{margin:4px 0 0;font-size:18px;color:#172b45!important}.jp-clock{font:700 17px ui-monospace,monospace;color:#a55c0b;background:#fff7e9;border:1px solid #f5dfbd;border-radius:9px;padding:8px;white-space:nowrap}.jp-learning-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.jp-learning-controls .select,.jp-learning-controls .btn{padding:7px 9px!important;min-height:32px;font-size:12px!important;width:auto}.jp-key-voice{display:flex;gap:5px;align-items:center;font-size:12px;color:#52667f!important}.jp-key-voice input{accent-color:#df941b}.jp-learn-legend{display:flex;gap:12px;font-size:11px;margin:0}.jp-learn-legend .good{color:#1c8a58}.jp-learn-legend .now{color:#a67b10}.jp-learn-legend .bad{color:#c04d49}.jp-inline-typing{position:relative;flex:1;min-height:65px;border:1px solid #dee7ef;border-radius:11px;overflow:hidden;background:#fafcfe}.jp-inline-typing:focus-within{border-color:#deb355;box-shadow:0 0 0 3px #f5dc9429}.jp-word-passage{height:100%;box-sizing:border-box;overflow:auto;padding:14px;font-size:21px;line-height:1.85;white-space:pre-wrap;overflow-wrap:break-word;color:#21354f!important;scrollbar-width:thin;scrollbar-color:#c9d5e3 transparent}.jp-word-passage span{color:inherit}.jp-word-passage .done{color:#15803d;background:#e9f8ef}.jp-word-passage .current{background:#ffe18a;color:#172033;box-shadow:0 0 0 2px #e7b22e;border-radius:3px}.jp-word-passage .wrong{background:#fecaca;color:#a20d16;box-shadow:0 0 0 2px #e44b50}.jp-inline-capture{position:absolute;left:14px;top:14px;width:2px;height:24px;opacity:.01;padding:0;border:0;resize:none;font-size:18px;pointer-events:none;caret-color:transparent}.jp-learning-status{display:flex;gap:6px;justify-content:space-between;align-items:center;font-size:11px}.jp-type-hint{color:#8c99ab;font-size:10px}.jp-learning-status .badge{font-size:10px;padding:4px 7px}.jp-lesson-actions{display:flex;gap:8px}.jp-lesson-actions .btn{font-size:12px!important;padding:8px 11px!important}.jp-keyboard{padding:16px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.jp-keyboard-heading{width:100%;margin-bottom:auto}.jp-layout-name{margin-top:4px;font-size:14px;font-weight:800;color:#172b45!important}.jp-current-key{display:flex;gap:8px;align-items:center;background:#eff4f9;color:#697d96;border:1px solid #e1e9f2;padding:7px 10px;border-radius:9px;font-size:10px}.jp-current-key b{min-width:15px;font-size:19px;color:#d88714}.jp-key-surface{position:relative;width:100%;max-width:calc((var(--jp-work-height) - 132px)*2.235);aspect-ratio:760/340;flex-shrink:0}.jp-keys{position:absolute;inset:0 0 auto;height:70%;padding:5px;background:#f1f5f9;border:1px solid #dce5ef;border-radius:10px;box-sizing:border-box;box-shadow:0 3px 0 #d5dfe9}.jp-key-row{display:flex;gap:.55%;height:18.65%;margin-bottom:.65%}.jp-key{box-sizing:border-box;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #b9c9d8;border-bottom-width:2px;border-radius:5px;background:color-mix(in srgb,var(--finger-color) 43%,white);color:#30445e;font-weight:700;font-size:clamp(7px,.76vw,12px);line-height:1.1;box-shadow:0 1px 1px #233e5b0d}.jp-key small{font-size:.7em;margin-top:2px;color:#697e95}.jp-key.w15{flex:1.45}.jp-key.w2{flex:1.85}.jp-key.w25{flex:2.25}.jp-key.space{flex:6}.jp-key.active{background:#ffdf88!important;color:#64410d;outline:2px solid #e5a820;outline-offset:1px;z-index:2}.jp-key.shift-needed{outline:2px solid #e5a820;background:#fff0c4}.jp-hand-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;filter:drop-shadow(0 4px 3px #7149241b)}.jp-hand-outline{fill:url(#jpSkin);stroke:#b78765;stroke-width:1.4;stroke-linejoin:round}.jp-finger-path{fill:url(#jpActiveSkin);stroke:none}.jp-palm-line{fill:none;stroke:#b57c57;stroke-width:1.15;opacity:.48;stroke-linecap:round}.jp-nail{fill:#ffe4d1;stroke:#c8997a;stroke-width:.7;opacity:.88}.jp-hand-cuff{fill:#334c67;stroke:#263e56;stroke-width:1}.jp-finger-instruction{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;background:#fff8e9;border:1px solid #f1dfbc;color:#79501b;text-align:center;font-size:13px;font-weight:700;line-height:1.4;margin-top:auto}.jp-hand-hint{font-size:11px;color:#8a99ac!important;margin:0!important;text-align:center}.jp-learn-shell .card label{color:#52667f}.jp-learn-shell .jp-word-passage .done{color:#15803d}.jp-learn-shell .jp-word-passage .current{color:#172033}.jp-learn-shell .jp-word-passage .wrong{color:#a20d16}
@media(max-width:1000px) and (min-width:781px){.jp-learning-workspace{grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr)}.jp-learn-shell{padding:12px!important}.jp-matter-card,.jp-keyboard{padding:12px}.jp-current-key{gap:4px;padding:5px}.jp-layout-name{font-size:12px}.jp-word-passage{font-size:18px}}
@media(max-width:780px){.jp-learn-shell{padding:9px 10px!important}.jp-lesson-bar{gap:8px;margin-bottom:8px;min-height:36px}.jp-lesson-title small{font-size:9px}.jp-lesson-title strong{font-size:12px}.jp-course-back{font-size:11px!important;padding:7px 9px!important}.jp-posture-tips summary{font-size:0;padding:7px}.jp-posture-tips summary:after{content:'ⓘ';font-size:16px}.jp-learning-workspace{grid-template-columns:1fr;grid-template-rows:minmax(170px,1fr) auto;gap:9px}.jp-matter-card{padding:10px;gap:6px}.jp-matter-heading h3{font-size:14px;margin-top:2px}.jp-panel-kicker{font-size:8px}.jp-clock{font-size:13px;padding:5px}.jp-learning-controls .btn,.jp-learning-controls .select{padding:4px 7px!important;min-height:26px;font-size:10px!important}.jp-key-voice{font-size:10px}.jp-learn-legend{font-size:10px;gap:10px}.jp-word-passage{font-size:18px;padding:9px;line-height:1.8}.jp-learning-status{font-size:10px}.jp-keyboard{padding:9px;gap:6px}.jp-keyboard-heading{margin:0}.jp-layout-name{font-size:11px;margin-top:2px}.jp-current-key{font-size:9px;padding:4px 7px}.jp-current-key b{font-size:14px}.jp-key-surface{width:100%;max-width:min(100%,540px)}.jp-key{font-size:clamp(6px,1.7vw,10px);border-radius:3px}.jp-key small{font-size:6px}.jp-keys{padding:3px;border-radius:6px}.jp-finger-instruction{font-size:11px;padding:6px 8px;margin:0}.jp-hand-hint{display:none}.jp-learning-status .badge{font-size:9px}.jp-type-hint{font-size:9px}}
@media(prefers-reduced-motion:reduce){.jp-learn-shell *{scroll-behavior:auto!important}}
@media(max-width:780px){.jp-learning-workspace{grid-template-rows:minmax(225px,1fr) auto}.jp-lesson-actions,.jp-matter-card:focus-within .jp-lesson-actions{position:static;visibility:visible;pointer-events:auto;display:flex;gap:6px}.jp-lesson-actions .btn{padding:5px 8px!important;font-size:10px!important}}
