/* The numerical canvas is the main subject; other course activities are unchanged. */
body.ai-atelier #activity-stage[data-activity="types"]{background:transparent;border:0;padding:0;box-shadow:none;color:#e0edf6;}
.types-canvas{--tc-one:#9bdac6;--tc-two:#e6c18e;--tc-line:#405e76;--tc-muted:#abc1d7;background:linear-gradient(130deg,#12283b,#0b1929 76%);border:1px solid #46657d;border-radius:16px;padding:18px 20px 12px;}
.types-canvas[data-mode="unsupervised"]{--tc-one:#9fc7ff;--tc-two:#c8aff2;}
.types-canvas .tc-header{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
.types-canvas .tc-eyebrow{font-size:10px;letter-spacing:.11em;color:#9bbbd4;}
.types-canvas .tc-header>strong{font-size:19px;font-weight:500;color:#e8f5fe;}
.types-canvas .tc-data-badge{font-size:10px;color:#bdd3e6;border:1px solid #526d84;padding:4px 9px;border-radius:20px;margin-left:auto;}
.types-canvas .tc-mode-bar{border-bottom:1px solid #4b6680;padding-bottom:13px;margin-bottom:14px;}
body.ai-atelier #activity-stage .types-canvas .tc-mode-bar button{border-color:#5a7a96;color:#bcd4e9;background:#132f45;box-shadow:none;font-size:14px;padding:9px 16px;}
body.ai-atelier #activity-stage .types-canvas .tc-mode-bar button[aria-pressed="true"]{border-color:#addce9;background:#2c4b64;color:#eefaff;box-shadow:inset 0 -2px #a8e1e7;}
.types-canvas .tc-method{display:flex;align-items:center;gap:4px 18px;flex-wrap:wrap;padding:0 0 13px;}
.types-canvas .tc-method>strong{font-size:15px;font-weight:500;color:#d9edf6;}
.types-canvas .tc-method>span{font-size:11px;color:#a8c1d9;}
.types-canvas .tc-method>.pr-group-controls{display:flex;align-items:center;gap:7px;margin:6px 0 0;width:100%;}
.types-canvas .pr-group-controls>span{font-size:12px;color:#b0c9de;}
body.ai-atelier #activity-stage .types-canvas .pr-group-controls button{background:#132b40;border-color:#4c718f;color:#bdd4e8;box-shadow:none;font-size:12px;min-height:37px;padding:7px 16px;}
body.ai-atelier #activity-stage .types-canvas .pr-group-controls button[aria-pressed="true"]{background:#294566;border-color:#b6c9f3;color:#e6efff;box-shadow:inset 0 -2px #b6c9f3;}
.types-canvas .tc-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:24px;align-items:start;}
.types-canvas .tc-visual{min-width:0;}
.types-canvas .tc-plot-frame{width:100%;max-width:720px;margin:0 auto;position:relative;}
.types-canvas .tc-canvas{display:block;width:100%;height:auto;max-height:none;overflow:visible;}
.types-canvas .tc-canvas text{font-family:inherit;fill:#a8c4dc;font-size:18px;}
.types-canvas .tc-grid-bed{fill:#0d2134;stroke:#48627d;stroke-width:1;}
.types-canvas .tc-grid-line{stroke:#39556d;stroke-width:.7;stroke-dasharray:2 5;}
.types-canvas .tc-axis{stroke:#9fb9cc;stroke-width:1.4;}
.types-canvas .tc-unused-axis{stroke:#6c849c;stroke-dasharray:4 5;}
.types-canvas .tc-canvas .tc-axis-number{font-size:18px;fill:#a6bfd3;}
.types-canvas .tc-canvas .tc-axis-label{font-size:18px;fill:#c0d7e9;}
.types-canvas .tc-point.tc-group-1{color:var(--tc-one);}
.types-canvas .tc-point.tc-group-2{color:var(--tc-two);}
.types-canvas .tc-book-cover{fill:#173247;stroke:currentColor;stroke-width:2.4;}
.types-canvas .tc-book-spine{stroke:currentColor;stroke-width:1;opacity:.7;}
.types-canvas .tc-canvas .tc-book-id{font-size:20px;font-weight:500;fill:currentColor;}
.types-canvas .tc-point-mark{fill:currentColor;stroke:#14293c;stroke-width:1.4;}
.types-canvas .tc-canvas .tc-point-group{font-size:15px;fill:currentColor;}
.types-canvas .tc-probe{cursor:grab;outline:none;touch-action:none;}
.types-canvas .tc-dragging .tc-probe{cursor:grabbing;}
.types-canvas .tc-probe-hit{fill:transparent;stroke:none;pointer-events:all;}
.types-canvas .tc-probe-diamond{fill:#183e55;stroke:#d9f9ff;stroke-width:2.5;pointer-events:none;}
.types-canvas .tc-canvas .tc-probe-letter{fill:#f1fcff;font-size:19px;pointer-events:none;}
.types-canvas .tc-probe:focus-visible .tc-probe-diamond{stroke:#f3ce93;stroke-width:4;}
.types-canvas .tc-neighbor-link{stroke:#b2ebeb;stroke-width:2.4;stroke-dasharray:5 4;pointer-events:none;}
.types-canvas .tc-midpoint{stroke:#b9add5;stroke-width:1.3;stroke-dasharray:5 6;}
.types-canvas .tc-canvas .tc-midpoint-label{fill:#bdb5d8;font-size:17px;}
.types-canvas .tc-projection-axis{stroke:#8ca6c1;stroke-width:1;}
.types-canvas .tc-projection{stroke-width:1;stroke-dasharray:2 5;opacity:.35;}
.types-canvas .tc-projection.tc-group-1{stroke:var(--tc-one);}
.types-canvas .tc-projection.tc-group-2{stroke:var(--tc-two);}
.types-canvas .tc-center{stroke:#15293d;stroke-width:2;}
.types-canvas .tc-center.tc-group-1{fill:var(--tc-one);}
.types-canvas .tc-center.tc-group-2{fill:var(--tc-two);}
.types-canvas .tc-canvas .tc-center-label{font-size:17px;}
.types-canvas .tc-canvas .tc-center-label.tc-group-1{fill:var(--tc-one);}
.types-canvas .tc-canvas .tc-center-label.tc-group-2{fill:var(--tc-two);}
.types-canvas .tc-result-link{stroke:#e5d5a7;stroke-width:2.2;stroke-dasharray:6 5;pointer-events:none;}
.types-canvas .tc-legend{display:flex;gap:10px 20px;flex-wrap:wrap;justify-content:center;font-size:12px;color:#bfd2e4;line-height:1.8;margin:2px 0 10px;}
.types-canvas .tc-legend-one,.types-canvas .tc-legend-two{display:inline-flex;align-items:center;gap:7px;}
.types-canvas .tc-legend-one:before,.types-canvas .tc-legend-two:before{content:"";width:11px;height:14px;border:2px solid var(--tc-one);border-radius:2px;}
.types-canvas .tc-legend-two:before{border-color:var(--tc-two);}
body.ai-atelier #activity-stage .types-canvas .tc-controls{border:0;border-left:1px solid #48617c;background:transparent;box-shadow:none;border-radius:0;padding:13px 0 0 20px;min-width:0;}
.types-canvas .tc-control-title{border-bottom:1px solid #3e5972;padding-bottom:12px;margin-bottom:11px;}
body.ai-atelier #activity-stage .types-canvas .tc-control-title h3{font-size:22px;line-height:1.5;font-weight:500;color:#e4f2fb;margin:5px 0 0;}
body.ai-atelier #activity-stage .types-canvas .tc-manipulation-help{font-size:12px;color:#aec7dc;line-height:1.9;margin:0 0 18px;}
.types-canvas .tc-controls .pr-types-ranges{grid-template-columns:1fr;gap:12px;}
.types-canvas .tc-controls .pr-range{font-size:13px;color:#c4d7e7;gap:5px 12px;margin:0;}
.types-canvas .tc-controls .pr-range output{font-size:27px;color:#c0e9ed;line-height:1.4;font-variant-numeric:tabular-nums;}
body.ai-atelier #activity-stage .types-canvas .tc-controls input[type="range"]{background:transparent;accent-color:#a8dbe7;min-height:37px;cursor:ew-resize;}
body.ai-atelier #activity-stage .types-canvas .tc-controls button[data-focus="pr-type-reveal"]{display:block;width:100%;min-height:46px;color:#10283b;background:#b1e6ed;border-color:#b1e6ed;box-shadow:none;margin-top:19px;font-size:15px;}
body.ai-atelier #activity-stage .types-canvas .pr-type-answer{color:#c4d9e9;background:#142d43;border:0;border-left:2px solid #8ebcd2;border-radius:0;min-height:128px;padding:13px 15px;gap:7px;margin-top:17px;}
body.ai-atelier #activity-stage .types-canvas .pr-type-answer strong{color:#d4ecee;font-size:31px;}
body.ai-atelier #activity-stage .types-canvas .pr-type-answer :is(small,span){color:#b4cce1;font-size:12px;line-height:1.8;}
body.ai-atelier #activity-stage .types-canvas .tc-meaning-note{font-size:12px;line-height:1.9;color:#c5bfdc;margin:15px 0 0;}
body.ai-atelier #activity-stage .types-canvas>.ex-question{color:#cde6ed;font-size:19px;line-height:1.7;border-color:#456078;padding-top:14px;margin:5px 0 0;}
body.ai-atelier #activity-stage .types-canvas>:is(.ex-detail,.tc-original-view){font-size:11px;line-height:1.8;color:#acc5da;margin:11px 0 0;}
.types-canvas details>summary{cursor:pointer;min-height:31px;}
.types-canvas .pr-book-table>div{border-color:#49637c;color:#bad2e6;}
body.ai-atelier #activity-stage .types-canvas details .ex-note{background:#162e43;color:#b7cede;border-color:#779dbd;font-size:12px!important;}
.types-canvas .tc-source-plot[hidden]{display:none!important;}
@media(min-width:1600px){
 .types-canvas .tc-plot-frame{max-width:800px;}
 .types-canvas .tc-header>strong{font-size:23px;}
 .types-canvas .tc-method>strong{font-size:19px;}
 .types-canvas .tc-method>span{font-size:14px;}
 .types-canvas .tc-legend{font-size:15px;}
 body.ai-atelier #activity-stage .types-canvas .tc-manipulation-help,body.ai-atelier #activity-stage .types-canvas .tc-meaning-note{font-size:16px;}
}
@media(max-width:1000px){
 .types-canvas .tc-workspace{grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:16px;}
 .types-canvas .tc-header>strong{font-size:17px;}
 .types-canvas .tc-data-badge{margin-left:0;}
 body.ai-atelier #activity-stage .types-canvas .tc-control-title h3{font-size:19px;}
}
@media(max-width:650px){
 .types-canvas{padding:13px 11px 10px;border-radius:12px;}
 .types-canvas .tc-header{gap:5px 10px;}
 .types-canvas .tc-header>.tc-eyebrow{width:100%;}
 .types-canvas .tc-header>strong{font-size:17px;}
 .types-canvas .tc-data-badge{font-size:9px;}
 .types-canvas .tc-mode-bar{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-bottom:10px;margin-bottom:10px;}
 body.ai-atelier #activity-stage .types-canvas .tc-mode-bar button{font-size:12px;padding:9px 6px;min-height:45px;}
 .types-canvas .tc-method>strong{font-size:13px;line-height:1.8;}
 .types-canvas .tc-method>span{font-size:10px;line-height:1.8;}
 .types-canvas .tc-workspace{grid-template-columns:1fr;gap:8px;}
 .types-canvas .tc-canvas .tc-axis-number,.types-canvas .tc-canvas .tc-axis-label{font-size:22px;}
 .types-canvas .tc-canvas .tc-book-id{font-size:23px;}
 .types-canvas .tc-canvas .tc-point-group{font-size:22px;}
 .types-canvas .tc-canvas .tc-center-label{font-size:21px;}
 .types-canvas .tc-legend{font-size:10px;justify-content:flex-start;gap:5px 12px;margin-top:0;}
 body.ai-atelier #activity-stage .types-canvas .tc-controls{border-left:0;border-top:1px solid #48617c;padding:13px 0 0;}
 .types-canvas .tc-controls .pr-types-ranges{grid-template-columns:1fr 1fr;gap:12px;}
 .types-canvas .tc-controls .pr-range{font-size:11px;}
 .types-canvas .tc-controls .pr-range output{font-size:24px;}
 body.ai-atelier #activity-stage .types-canvas .tc-manipulation-help{font-size:11px;margin-bottom:13px;}
 body.ai-atelier #activity-stage .types-canvas .tc-meaning-note{font-size:11px;}
 body.ai-atelier #activity-stage .types-canvas>.ex-question{font-size:16px;}
}
@media(prefers-reduced-motion:reduce){.types-canvas *{animation:none!important;transition:none!important;}}
