.teacher-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-canvas);flex-wrap:wrap;display:flex}.teacher-toolbar>label:not(.teacher-checkbox){gap:var(--space-1);min-width:150px;color:var(--color-muted);font-size:13px;display:grid}.teacher-toolbar button{justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.teacher-toolbar button svg{width:17px;height:17px}.teacher-toolbar button[aria-pressed=true],.teacher-mode button[aria-pressed=true]{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 14%, var(--color-canvas));border-color:var(--color-primary)}.teacher-mode{gap:var(--space-2);margin-left:auto;display:flex}.teacher-notice{color:var(--color-muted);padding:var(--space-2) 0;min-height:24px;margin:0;font-size:13px}.teacher-checkbox{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.teacher-checkbox input{width:17px;height:17px;min-height:17px;accent-color:var(--color-primary)}.unit-equation{align-items:center;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--color-border);background:var(--color-canvas);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.unit-equation>div{gap:var(--space-3);min-width:0;display:grid}.unit-equation label{gap:var(--space-2);color:var(--color-muted);font-size:13px;display:grid}.unit-equation input,.unit-equation output{width:100%;min-width:0;min-height:78px;padding:var(--space-3);font-variant-numeric:tabular-nums;align-items:center;font-size:clamp(22px,3vw,38px);font-weight:750;display:flex}.unit-equation output{color:var(--color-primary);overflow-wrap:anywhere}.unit-swap{place-items:center;width:44px;height:44px;padding:0;display:grid}.unit-explanation{padding:var(--space-4);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-canvas));border-left:3px solid var(--color-primary)}.unit-explanation strong{color:var(--color-primary);overflow-wrap:anywhere;font-size:20px}.unit-explanation p{color:var(--color-muted);margin:var(--space-2) 0 0}.unit-table h2{font-size:18px}.unit-table>div{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.unit-table article{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas);min-width:0;display:grid}.unit-table article.chosen{border-color:var(--color-primary)}.unit-table article strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:23px}.unit-table article small,.unit-table article span{color:var(--color-muted)}.unit-practice{gap:var(--space-4);border:1px solid var(--color-border);padding:var(--space-4);background:var(--color-canvas);display:grid}.unit-practice .teacher-toolbar{border:0;justify-content:space-between;padding:0}.unit-question{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-6) 0;flex-wrap:wrap;font-size:clamp(24px,4vw,40px);display:flex}.unit-question label{align-items:center;gap:var(--space-3);display:flex}.unit-question input{width:180px;max-width:42vw;min-height:72px;font-size:inherit;text-align:center;border-color:var(--color-primary)}.unit-question small{color:var(--color-muted);font-size:18px}.unit-question .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.geometry-lab{min-width:0;display:grid}.geometry-space-tabs{width:fit-content;margin:0 0 var(--space-3);border:1px solid var(--color-border);padding:var(--space-1);background:var(--color-canvas)}.geometry-space-tabs button{min-width:130px}.geometry-tools{gap:var(--space-2)}.geometry-tools>.themed-select{flex:0 0 170px;width:170px;min-width:160px}.geometry-tools button{min-height:38px;padding:var(--space-2) var(--space-3)}.geometry-secondary,.geometry-presets{border-top:0}.geometry-presets>label{min-width:230px!important}.geometry-presets>span{color:var(--color-muted);font-size:12px}.geometry-preset-inline{align-items:center;gap:var(--space-2);white-space:nowrap;color:var(--color-muted);margin-left:0;font-size:12px;display:inline-flex}.geometry-preset-inline select{min-width:190px}.geometry-secondary>span{min-width:200px;color:var(--color-primary);flex:1;font-size:13px}.geometry-secondary>.geometry-context-notice{color:var(--color-muted)}.geometry-canvas-wrap{background:var(--color-canvas);border:1px solid var(--color-border);border-top:0;position:relative;overflow:hidden}.geometry-canvas{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;width:100%;height:clamp(340px,54vh,560px);display:block}.geometry-canvas.tool-select{cursor:grab}.geometry-canvas.tool-select:active{cursor:grabbing}.geometry-canvas:not(.tool-select){cursor:crosshair}.geometry-grid{pointer-events:none}.geometry-grid path{stroke:var(--color-border);stroke-width:.6px;fill:none;opacity:.45}.geometry-object{cursor:pointer;outline:none}.geometry-object.hovered:not(.selected) .geometry-shape{stroke:var(--color-secondary);stroke-width:2.5px}.geometry-object.selected .geometry-shape,.geometry-object:focus-visible .geometry-shape{stroke:var(--color-primary);stroke-width:3px}.geometry-object.geometry-kind-polygon.selected .geometry-shape,.geometry-object.geometry-kind-circle.selected .geometry-shape{fill:color-mix(in srgb, var(--color-primary) 14%, transparent)}.geometry-object.geometry-kind-polygon.selected .geometry-shape{fill-opacity:.9}.geometry-object.geometry-kind-circle.selected .geometry-shape{fill-opacity:.72}.geometry-object.geometry-kind-polygon.related-highlight .geometry-shape,.geometry-object.geometry-kind-circle.related-highlight .geometry-shape{fill:color-mix(in srgb, var(--color-primary) 10%, transparent)}.geometry-object.geometry-kind-polygon.related-highlight .geometry-shape{fill-opacity:.72}.geometry-object.geometry-kind-circle.related-highlight .geometry-shape{fill-opacity:.58}.geometry-object.related-highlight:not(.selected) .geometry-shape{stroke:color-mix(in srgb, var(--color-primary) 62%, var(--color-secondary));stroke-width:2.5px;opacity:.9}.geometry-shape{fill:none;stroke:var(--color-text);stroke-width:2px;vector-effect:non-scaling-stroke}.geometry-angle-ray{pointer-events:none}.geometry-aux .geometry-shape{stroke:var(--color-secondary);stroke-dasharray:7 5}.geometry-dot{fill:var(--color-primary);stroke:var(--color-canvas);stroke-width:2px;vector-effect:non-scaling-stroke}.geometry-object.selected .geometry-dot,.geometry-object:focus-visible .geometry-dot{fill:var(--color-secondary);stroke:var(--color-primary);stroke-width:3px}.geometry-object.hovered:not(.selected) .geometry-dot{fill:var(--color-secondary);stroke:var(--color-primary)}.geometry-object.split-point .geometry-dot{fill:var(--color-danger);stroke:var(--color-canvas)}.geometry-object.split-point.selected .geometry-dot,.geometry-object.split-point:hover .geometry-dot{fill:var(--color-danger);stroke:color-mix(in srgb, var(--color-danger) 60%, white)}.geometry-hit{fill:none;stroke:#0000;stroke-width:18px;vector-effect:non-scaling-stroke;pointer-events:stroke}.geometry-angle-hit{stroke-width:28px}.geometry-hit-area{fill:#4de2c500;pointer-events:all}.geometry-floating-tools{z-index:5;border:1px solid var(--color-primary);background:var(--color-canvas);border-radius:8px;flex-wrap:wrap;gap:4px;max-width:min(92%,920px);padding:5px;display:flex;position:absolute;transform:translate(10px,10px);box-shadow:0 8px 24px #00000047}.geometry-floating-tools button{white-space:nowrap;min-height:30px;padding:3px 8px;font-size:12px}.geometry-floating-tools .geometry-point-relation{display:contents}.geometry-floating-tools button.danger{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 55%, var(--color-border))}.geometry-point-hit{pointer-events:all;stroke-width:10px}.geometry-label{fill:var(--color-text);stroke:var(--color-canvas);stroke-width:4px;paint-order:stroke;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:650}.geometry-preview{pointer-events:none;stroke:var(--color-primary);stroke-dasharray:5 5;stroke-width:1.5px;opacity:.65}.geometry-view-tools{align-items:center;gap:var(--space-2);right:var(--space-3);bottom:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-1);display:flex;position:absolute}.geometry-view-tools button{min-height:32px;padding:var(--space-1) var(--space-2)}.geometry-view-tools span{text-align:center;min-width:44px;color:var(--color-muted);font-size:12px}.geometry-height-control{align-items:center;gap:var(--space-2);color:var(--color-muted);white-space:nowrap;margin-left:auto;font-size:12px;display:flex}.geometry-height-control input{width:120px;accent-color:var(--color-primary)}.geometry-height-control output{min-width:42px;color:var(--color-text);font-variant-numeric:tabular-nums}.geometry-properties{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-canvas);border-top:0;flex-wrap:wrap;align-items:center;display:flex}.geometry-properties>label:not(.teacher-checkbox){gap:var(--space-1);width:175px;color:var(--color-muted);font-size:12px;display:grid}.geometry-properties input:not([type=checkbox]){width:100%}.geometry-properties>small{color:var(--color-muted);flex-basis:100%}.geometry-context-actions{align-items:center;gap:var(--space-2);min-height:62px;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 7%,var(--color-canvas));flex-wrap:nowrap;flex:100%;display:flex;overflow-x:auto}.geometry-context-top{border-top:0}.geometry-context-actions>span{color:var(--color-primary);margin-right:var(--space-2);white-space:nowrap;flex:none;font-size:12px;font-weight:700}.geometry-context-actions button{min-height:34px;padding:var(--space-1) var(--space-3)}.solid-geometry-lab{min-width:0;display:grid}.solid-toolbar label{min-width:180px!important}.solid-toolbar .solid-offset{flex:1;grid-template-columns:1fr auto;min-width:260px!important}.solid-toolbar .solid-offset input{width:100%;accent-color:var(--color-secondary);grid-column:1/-1}.solid-stage{border:1px solid var(--color-border);background:var(--color-canvas);border-top:0;height:clamp(430px,62vh,680px);position:relative;overflow:hidden}.solid-stage canvas{touch-action:none;width:100%!important;height:100%!important}.solid-section-legend{left:var(--space-4);bottom:var(--space-4);align-items:center;gap:var(--space-1) var(--space-2);max-width:min(420px,100% - 32px);padding:var(--space-3);border:1px solid color-mix(in srgb,var(--color-secondary) 55%,var(--color-border));background:color-mix(in srgb,var(--color-canvas) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:auto 1fr;display:grid;position:absolute}.solid-section-legend>span{background:var(--color-secondary);grid-row:1/3;width:13px;height:13px}.solid-section-legend small{color:var(--color-muted)}@media (max-width:680px){.unit-equation{padding:var(--space-3);gap:var(--space-2);grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}.unit-swap{width:32px}.unit-equation input,.unit-equation output{min-height:60px;padding:var(--space-2);font-size:22px}.teacher-mode{margin-left:0}.geometry-canvas{height:350px}.geometry-tools{gap:var(--space-1)}.geometry-tools button{min-height:40px}.geometry-space-tabs{width:100%}.geometry-space-tabs button{flex:1;min-width:0}.solid-stage{height:430px}}
