.ca-journey{display:flex;flex-wrap:wrap;gap:6px 12px;margin:20px 0;color:#4a5968;font-size:14px}.ca-journey span:not(:last-child)::after{content:' →';color:#087e83}.ca-panel{padding:24px 0;border-top:2px solid #d4e2e8;margin:28px 0}.ca-panel h2{margin:4px 0 14px;font-size:26px}.ca-kicker{text-transform:uppercase;letter-spacing:.09em;color:#056e73;font-size:13px!important;font-weight:750}.ca-panel p{font-size:18px;line-height:1.65}.ca-form,.ca-controls,.ca-type-tabs{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}.ca-form label,.ca-controls label,.ca-tdo-row label{display:grid;gap:6px;font-size:17px;min-width:0;flex:1 1 150px}.ca-panel input,.ca-panel select{min-height:46px;max-width:100%;width:100%;font-size:18px;padding:9px;border:1px solid #91a8b5;border-radius:8px;background:white;color:#17324d}.ca-panel button{min-height:44px;min-width:44px}.ca-memory,.ca-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0}.ca-cell{background:#eff7f7;border:2px solid #b7d4d6;border-radius:12px;padding:16px;display:grid;gap:9px;min-width:0;text-align:left;color:#17324d}.ca-cell[aria-pressed=true]{border:3px solid #007a80;background:#e1f2f1}.ca-cell strong{font-size:24px;overflow:auto;min-width:0;max-width:100%}.ca-cell small{font-size:15px}.ca-panel code{font-size:16px;white-space:pre;max-width:100%}.ca-panel p code{display:inline-block;vertical-align:middle;overflow-x:auto}.ca-cell strong code{font-size:inherit}.ca-raster{margin:20px 0;display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px;align-items:center}.ca-raster img{width:100%;height:auto;border-radius:12px}.ca-raster figcaption{font-size:17px;line-height:1.6}.ca-type-tabs [aria-pressed=true]{background:#17324d;color:white}.ca-type-detail{background:#f3f7fb;border-left:4px solid #147d85;padding:16px}.ca-type-detail h3{margin-top:0}.ca-mindmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.ca-mindmap>strong{grid-column:1/-1;text-align:center}.ca-mindmap>div{border-top:3px solid #21858c;display:grid;gap:8px;padding:12px;background:#f4f7fa}.ca-word{background:#e5f3f3;color:#075a63;font:inherit;text-decoration:underline;border:1px solid #85b5b9;border-radius:6px;padding:4px 8px}.ca-tdo-row{display:flex;flex-wrap:wrap;gap:12px;padding:16px;margin:16px 0;border:1px solid #b7cad5;border-radius:8px}.ca-tdo-row legend{font-size:20px;font-weight:750;padding:0 8px}.ca-tdo-row p{width:100%;margin:0}.ca-stage{padding:20px;background:#eef6f8;border-radius:12px}.ca-equation{font-size:24px;overflow-x:auto;white-space:nowrap;padding:14px 0}.ca-equation code{font-size:inherit}.ca-tree{text-align:center;margin:16px auto;max-width:280px}.ca-tree strong,.ca-tree b{display:block;background:#d5eaea;border:1px solid #8baeb4;padding:12px}.ca-tree>div{display:flex;justify-content:space-around;border-top:2px solid #658895;margin-top:20px}.ca-tree section{min-width:80px;display:grid;gap:12px}.ca-balance{max-width:320px;margin:34px auto 12px;text-align:center}.ca-balance>div{border-bottom:5px solid #17324d;display:flex;justify-content:space-between;transform:rotate(var(--tilt));transition:transform .35s ease}.ca-balance span{display:grid;gap:8px;padding:12px;background:#e4f3f3;border:2px solid #7babb1;border-radius:12px;font-size:30px;transform:rotate(calc(-1 * var(--tilt)))}.ca-balance small{font-size:16px}.ca-balance>b{font-size:36px}.ca-scroll{overflow-x:auto;max-width:100%}.ca-scroll table{border-collapse:collapse;min-width:430px;width:100%;font-size:17px}.ca-scroll td,.ca-scroll th{padding:12px;border:1px solid #acbfc9;text-align:left;white-space:nowrap}.ca-scroll [aria-current]{background:#d2eeee}.ca-console{background:#17324d;color:white;border-radius:8px;padding:16px;margin-top:16px;font:18px/1.6 monospace}.ca-panel :focus-visible{outline:3px solid #a15d00;outline-offset:3px}.ca-panel [role=status]:not(:empty){margin:16px 0;padding:12px;border-left:3px solid #198189;background:#f4f8fa}.ca-controls .btn{flex-grow:1}.ca-controls label{flex-grow:0}.ca-visual-print{margin:16px 0}.ca-visual-print img{width:100%;height:auto}.ca-visual-print summary{min-height:44px;padding:8px;font-size:17px;cursor:pointer}.ca-formalize{font-size:24px;margin:32px 0 16px}.cp-presenting [data-course-active],.cp-presenting .ca-journey,.cp-presenting .ca-formalize{display:none}.cp-presenting #lesson-main[data-presentation-step="2"] [data-course-active]{display:block}.cp-presenting .ca-panel p{font-size:23px}.cp-presenting .ca-raster{display:none}
@media(max-width:600px){.ca-panel{padding:18px 0}.ca-panel h2{font-size:23px}.ca-form,.ca-controls{gap:10px}.ca-form label{flex-basis:120px}.ca-tdo-row label{flex-basis:100%}.ca-raster{grid-template-columns:1fr}.ca-raster img{max-width:320px}.ca-mindmap{grid-template-columns:1fr}.ca-memory{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-cell{padding:12px}.ca-cell strong{font-size:23px}.ca-stage{padding:14px}.ca-equation{font-size:20px}.ca-type-tabs .btn{flex-grow:1}}
@media(prefers-reduced-motion:reduce){.ca-balance>div{transition:none}}
@media print{.ca-controls,.ca-form,.ca-type-tabs{display:none}.ca-panel{break-inside:avoid}.ca-scroll{overflow:visible}}

.study-char-row button{display:grid;gap:4px;place-items:center;min-height:52px;min-width:44px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.study-char-row button:focus-visible{outline:3px solid #a15d00;outline-offset:2px}
.ca-panel .btn{font-size:16px;white-space:normal}.ca-panel .ca-controls .btn{width:auto}.ca-svg-scroll{max-width:100%;overflow:auto}.ca-svg-scroll img{min-width:640px}.ca-visual-print>p{font-size:16px}
.ca-action-row{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.ca-cell strong:focus-visible{outline:3px solid #a15d00;outline-offset:2px}.ca-scroll-hint{font-size:15px!important;color:#4a5968}
@media(max-width:600px){.ca-cells{grid-template-columns:1fr}.ca-action-row .btn{flex:1 1 160px}}
@media(max-width:600px){.ca-panel .ca-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ca-controls label{grid-column:1/-1}.ca-controls label select{max-width:170px}}
/* Shared DIV/MOD speed control also appears inside recall help dialogs. */
[data-group-speed]{min-height:44px;min-width:80px;font:inherit;font-size:16px;padding:8px;border:1px solid #8daab4;border-radius:6px;background:#fff;color:#17324d}
