.tensor-generate-panel{margin-bottom:var(--space-lg)}.tensor-generate-toggle{width:100%;padding:var(--space-10)var(--space-lg);background:var(--sem-surface-dark-elevated);color:var(--t-border-default);border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-8);cursor:pointer;font-size:var(--font-size-px-14);justify-content:space-between;align-items:center;font-weight:600;display:flex}.tensor-generate-toggle.open{border-radius:var(--radius-8)var(--radius-8)0 0;border-bottom:none}.tensor-generate-chevron{font-size:var(--font-size-px-10);opacity:.6}.tensor-generate-body{border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:0 0 var(--radius-8)var(--radius-8);padding:var(--space-lg);background:var(--color-dark-surface-deep);border-top:none}.tensor-generate-section{margin-bottom:var(--space-14)}.tensor-generate-label{font-size:var(--font-size-px-12);color:var(--color-dark-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-6);font-weight:600;display:block}.tensor-generate-search{width:100%;padding:var(--space-sm)var(--space-10);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-6);background:var(--color-dark-surface-card);color:var(--t-border-default);font-size:var(--font-size-px-14);margin-bottom:var(--space-6);box-sizing:border-box}.tensor-generate-search::placeholder{color:var(--t-text-secondary)}.tensor-generate-spec-list{border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-6);background:#0d0d0d;max-height:160px;overflow-y:auto}.tensor-spec-item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-6)var(--space-10);border:none;border-bottom:var(--border-width-1)solid var(--color-dark-surface-elevated);color:var(--color-dark-text-tertiary);cursor:pointer;font-size:var(--font-size-px-12);text-align:left;background:0 0;display:flex}.tensor-spec-item:hover{background:var(--sem-surface-dark-elevated)}.tensor-spec-item:last-child{border-bottom:none}.tensor-spec-number{color:var(--color-practice-branch);white-space:nowrap;min-width:var(--space-40);font-weight:700}.tensor-spec-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tensor-spec-topic{font-size:var(--font-size-px-10);color:var(--t-text-secondary);white-space:nowrap}.tensor-spec-loading,.tensor-spec-empty{padding:var(--space-md);text-align:center;color:var(--t-text-secondary);font-size:var(--font-size-px-12)}.tensor-generate-selected-spec{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-10);background:var(--sem-surface-dark-elevated);border:var(--border-width-1)solid var(--color-practice-branch);border-radius:var(--radius-6);font-size:var(--font-size-px-12);color:var(--t-border-default);display:flex}.tensor-spec-clear{color:var(--color-admin-text-muted);cursor:pointer;font-size:var(--font-size-px-14);padding:0 var(--space-xs);background:0 0;border:none;margin-left:auto}.tensor-spec-clear:hover{color:#f44336}.tensor-generate-toggles{gap:var(--space-6);display:flex}.tensor-toggle-btn{padding:var(--space-sm)var(--space-md);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-6);background:var(--color-dark-surface-card);color:var(--color-dark-text-muted);cursor:pointer;font-size:var(--font-size-px-14);flex:1;font-weight:500;transition:background .15s,border-color .15s,color .15s}.tensor-toggle-btn:hover{border-color:var(--t-text-secondary);color:var(--t-border-default)}.tensor-toggle-btn.active{background:var(--sem-surface-dark-elevated);border-color:var(--color-practice-branch);color:var(--color-practice-branch);font-weight:600}.tensor-generate-btn{width:100%;padding:var(--space-10);border-radius:var(--radius-6);background:var(--color-practice-branch);color:var(--color-dark-surface-deep);font-size:var(--font-size-px-14);cursor:pointer;border:none;font-weight:700;transition:opacity .15s}.tensor-generate-btn:hover:not(:disabled){opacity:.9}.tensor-generate-btn:disabled{opacity:.4;cursor:not-allowed}.tensor-generate-error{margin-top:var(--space-sm);padding:var(--space-sm)var(--space-10);border:var(--border-width-1)solid #f44336;border-radius:var(--radius-6);color:#f44336;font-size:var(--font-size-px-12);background:#2a0a0a}.tensor-generate-preview{margin-top:var(--space-sm);padding:var(--space-10);border:var(--border-width-1)solid var(--color-success-500);border-radius:var(--radius-6);color:var(--color-dark-text-tertiary);font-size:var(--font-size-px-14);background:#0a1a0a}.tensor-generate-preview strong{color:var(--color-success-500);margin-bottom:var(--space-xs);font-size:var(--font-size-px-12);text-transform:uppercase;display:block}
.subtree-generate-panel{margin-bottom:var(--space-lg)}.subtree-generate-toggle{align-items:center;gap:var(--space-6);padding:var(--space-sm)var(--space-md);background:var(--color-dark-surface-card);border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-6);width:100%;color:var(--color-dark-text-tertiary);cursor:pointer;font-size:var(--font-size-sm);text-align:left;display:flex}.subtree-generate-toggle:hover{background:var(--color-dark-surface-elevated)}.subtree-generate-toggle.open{border-radius:var(--radius-6)var(--radius-6)0 0;border-bottom-color:#0000}.subtree-generate-chevron{font-size:var(--font-size-xs);margin-left:auto}.subtree-generate-body{border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:0 0 var(--radius-6)var(--radius-6);padding:var(--space-md);background:#151515;border-top:none}.subtree-generate-section{margin-bottom:var(--space-md)}.subtree-generate-label{font-size:var(--font-size-xs);color:var(--color-admin-text-muted);margin-bottom:var(--space-6);display:block}.subtree-generate-search{width:100%;padding:var(--space-6)var(--space-sm);background:var(--color-dark-surface-deep);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-4);color:var(--color-gray-350);font-size:var(--font-size-xs);margin-bottom:var(--space-6)}.subtree-generate-search::placeholder{color:var(--t-text-secondary)}.subtree-generate-selected-spec{align-items:center;gap:var(--space-sm);padding:var(--space-6)var(--space-sm);border:var(--border-width-1)solid var(--whiteboard-toolbar-accent);border-radius:var(--radius-4);background:#1a2a3a;display:flex}.subtree-spec-number{color:var(--color-practice-branch);font-weight:700;font-size:var(--font-size-xs);white-space:nowrap}.subtree-spec-text{font-size:var(--font-size-xs);color:var(--color-dark-text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.subtree-spec-clear{color:var(--color-admin-text-muted);cursor:pointer;font-size:var(--font-size-sm);padding:0 var(--space-xs);background:0 0;border:none}.subtree-spec-clear:hover{color:var(--color-dark-text-fff)}.subtree-generate-spec-list{gap:var(--space-2);flex-direction:column;max-height:180px;display:flex;overflow-y:auto}.subtree-spec-item{align-items:center;gap:var(--space-sm);padding:var(--space-6)var(--space-sm);border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-4);color:var(--color-dark-text-tertiary);cursor:pointer;font-size:var(--font-size-xs);text-align:left;background:0 0;display:flex}.subtree-spec-item:hover{background:var(--color-dark-surface-elevated);border-color:var(--color-gray-dark-label)}.subtree-spec-topic{font-size:var(--font-size-xs);color:var(--t-text-secondary);white-space:nowrap;margin-left:auto}.subtree-spec-loading,.subtree-spec-empty{text-align:center;padding:var(--space-md);color:var(--t-text-secondary);font-size:var(--font-size-xs)}.subtree-scaffolding-options{gap:var(--space-xs);display:flex}.subtree-scaffolding-btn{padding:var(--space-xs)var(--space-10);background:var(--color-dark-surface-elevated);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-4);color:var(--color-dark-text-muted);cursor:pointer;font-size:var(--font-size-xs)}.subtree-scaffolding-btn:hover{background:var(--color-dark-border-333)}.subtree-scaffolding-btn.active{border-color:var(--color-violet-500);color:#c4b5fd;background:#2a1a4a}.subtree-generate-btn{width:100%;padding:var(--space-sm)var(--space-lg);background:var(--color-violet-500);border-radius:var(--radius-4);color:var(--color-dark-text-fff);cursor:pointer;font-size:var(--font-size-sm);border:none;font-weight:600}.subtree-generate-btn:hover:not(:disabled){background:var(--color-violet-600)}.subtree-generate-btn:disabled{opacity:.5;cursor:not-allowed}.subtree-generate-progress{margin-top:var(--space-md)}.subtree-progress-bar{height:var(--space-xs);background:var(--color-dark-border-333);border-radius:var(--space-2);overflow:hidden}.subtree-progress-fill{background:var(--color-violet-500);height:100%;transition:width 1s linear}.subtree-progress-text{font-size:var(--font-size-xs);color:var(--color-admin-text-muted);margin-top:var(--space-6);text-align:center}.subtree-generate-error{margin-top:var(--space-sm);padding:var(--space-sm);background:var(--color-dark-error-bg);border-radius:var(--radius-4);color:#f44336;font-size:var(--font-size-xs)}.subtree-results{margin-top:var(--space-md)}.subtree-results-summary{font-size:var(--font-size-xs);color:var(--color-dark-text-muted);margin-bottom:var(--space-sm)}.subtree-grid{gap:var(--space-2);grid-template-columns:100px repeat(4,1fr);display:grid}.subtree-grid-header,.subtree-grid-row{display:contents}.subtree-grid-cell{padding:var(--space-6)var(--space-xs);text-align:center;font-size:var(--font-size-xs);border-radius:var(--radius-4)}.subtree-grid-corner{background:0 0}.subtree-grid-col-label{color:#88c;background:#1a1a2a;font-weight:600}.subtree-grid-row-label{color:#8a8;text-align:left;padding-left:var(--space-sm);background:#1a2a1a;font-weight:600}.subtree-grid-result{cursor:default}.subtree-grid-result--generated{color:var(--color-green-light-300);background:#1b3a1b;font-weight:600}.subtree-grid-result--skipped{background:var(--color-dark-surface-elevated);color:var(--color-gray-dark-label)}.subtree-grid-result--failed{background:var(--color-dark-error-bg);color:#f44336;font-weight:600}
.triage-panel{margin-bottom:var(--space-lg)}.triage-panel-toggle{align-items:center;gap:var(--space-6);padding:var(--space-sm)var(--space-md);background:var(--color-dark-surface-card);border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-6);width:100%;color:var(--color-dark-text-tertiary);cursor:pointer;font-size:var(--font-size-sm);text-align:left;display:flex}.triage-panel-toggle:hover{background:var(--color-dark-surface-elevated)}.triage-panel-toggle.open{border-radius:var(--radius-6)var(--radius-6)0 0;border-bottom-color:#0000}.triage-panel-chevron{font-size:var(--font-size-xs);margin-left:auto}.triage-panel-body{border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:0 0 var(--radius-6)var(--radius-6);padding:var(--space-md);background:#151515;border-top:none}.triage-panel-loading,.triage-panel-empty{text-align:center;padding:var(--space-lg);color:var(--color-admin-text-muted);font-size:var(--font-size-xs)}.triage-panel-summary{font-size:var(--font-size-xs);color:var(--color-admin-text-muted);margin-bottom:var(--space-md)}.triage-piles{gap:var(--space-6);margin-bottom:var(--space-md);flex-direction:column;display:flex}.triage-pile{border-radius:var(--radius-6);overflow:hidden}.triage-pile-header{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-10)var(--space-md);background:var(--color-dark-surface-card);border:var(--border-width-1)solid var(--color-dark-border-333);border-left:var(--border-width-3)solid var(--triage-pile-color,var(--color-admin-text-muted));border-radius:var(--radius-6);cursor:pointer;text-align:left;display:flex}.triage-pile-header:hover{background:var(--color-dark-surface-elevated)}.triage-pile-info{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.triage-pile-label{font-size:var(--font-size-sm);color:var(--triage-pile-color,var(--color-dark-text-tertiary));font-weight:600}.triage-pile-desc{font-size:var(--font-size-xs);color:var(--t-text-secondary)}.triage-pile-count{font-size:var(--font-size-lg);min-width:var(--space-2xl);text-align:right;color:var(--triage-pile-color,var(--color-dark-text-tertiary));font-weight:700}.triage-pile-scaffolding{align-items:center;gap:var(--space-xs);padding:var(--space-6)var(--space-md);background:var(--color-dark-surface-card);border:var(--border-width-1)solid var(--color-dark-border-333);font-size:var(--font-size-xs);border-top:none;display:flex}.triage-scaffolding-label{color:var(--color-admin-text-muted);margin-right:var(--space-xs)}.triage-scaffolding-btn{padding:var(--space-2)var(--space-sm);background:var(--color-dark-surface-elevated);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-4);color:var(--color-dark-text-muted);cursor:pointer;font-size:var(--font-size-xs)}.triage-scaffolding-btn:hover{background:var(--color-dark-border-333)}.triage-scaffolding-btn.active{border-color:var(--color-violet-500);color:#c4b5fd;background:#2a1a4a}.triage-pile-items{padding:var(--space-sm)var(--space-md);gap:var(--space-xs);border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:0 0 var(--radius-6)var(--radius-6);background-color:var(--triage-pile-bg,transparent);border-top:none;flex-direction:column;display:flex}.triage-pile-item{align-items:center;gap:var(--space-sm);padding:var(--space-xs)0;font-size:var(--font-size-xs);display:flex}.triage-item-topic{color:var(--color-dark-text-tertiary);font-weight:500}.triage-item-number{color:var(--color-practice-branch);font-family:monospace;font-size:var(--font-size-xs)}.triage-item-mastery{color:var(--color-admin-text-muted);font-size:var(--font-size-xs);margin-left:auto}.triage-pile-more{font-size:var(--font-size-xs);color:var(--t-text-secondary);padding:var(--space-xs)0}.triage-generate-btn{width:100%;padding:var(--space-sm)var(--space-lg);background:var(--color-violet-500);border-radius:var(--radius-4);color:var(--color-dark-text-fff);cursor:pointer;font-size:var(--font-size-sm);border:none;font-weight:600}.triage-generate-btn:hover:not(:disabled){background:var(--color-violet-600)}.triage-generate-btn:disabled{opacity:.5;cursor:not-allowed}.triage-progress{margin-top:var(--space-md)}.triage-progress-bar{height:var(--space-xs);background:var(--color-dark-border-333);border-radius:var(--space-2);overflow:hidden}.triage-progress-fill{background:var(--color-violet-500);height:100%;width:var(--triage-progress-width,0%);transition:width 1s linear}.triage-progress-text{font-size:var(--font-size-xs);color:var(--color-admin-text-muted);margin-top:var(--space-6);text-align:center}.triage-error{margin-top:var(--space-sm);padding:var(--space-sm);background:var(--color-dark-error-bg);border-radius:var(--radius-4);color:#f44336;font-size:var(--font-size-xs)}.triage-results{margin-top:var(--space-md);padding:var(--space-10);background:var(--color-dark-surface-deep);border-radius:var(--radius-6)}.triage-results-title{font-size:var(--font-size-sm);color:var(--color-dark-text-tertiary);margin-bottom:var(--space-sm);font-weight:600}.triage-result-row{padding:var(--space-6)var(--space-10);border-left:var(--border-width-3)solid var(--triage-pile-color,var(--color-admin-text-muted));margin-bottom:var(--space-xs);border-radius:0 var(--radius-4)var(--radius-4)0;background:var(--color-dark-surface-card);justify-content:space-between;align-items:center;display:flex}.triage-result-label{font-size:var(--font-size-xs);color:var(--triage-pile-color,var(--color-dark-text-tertiary));font-weight:600}.triage-result-stats{font-size:var(--font-size-xs);color:var(--color-admin-text-muted)}
.figure-svg{max-width:100%;height:auto;margin:var(--space-sm)0;border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-6);background:#0d0d0d;display:block}.figure-axis{stroke:#888;stroke-width:1.5px}.figure-grid-line{stroke:#2a2a2a;stroke-width:.5px}.figure-tick-label{fill:#888;font-size:var(--font-size-px-10)}.figure-curve{stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.figure-curve-1{stroke:var(--color-violet-500)}.figure-key-point{fill:var(--color-danger-bright);stroke:var(--color-dark-text-fff);stroke-width:1px}.figure-point-label{fill:#ddd;font-size:var(--font-size-px-12);font-weight:500}.figure-connect-line{stroke:var(--color-violet-500);stroke-width:1.5px;stroke-dasharray:4 2}
.socratic-panel{border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-6);background:var(--color-dark-surface-deep);flex-direction:column;height:100%;max-height:500px;display:flex;overflow:hidden}.socratic-header{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);border-bottom:var(--border-width-1)solid var(--color-dark-border-333);display:flex}.socratic-title{font-size:var(--font-size-px-14);color:var(--color-dark-text-tertiary);flex:1;font-weight:600}.socratic-exchange-count{font-size:var(--font-size-px-12);color:var(--color-admin-text-muted);font-family:monospace}.socratic-understanding{font-size:var(--font-size-px-12);color:var(--color-green-500);padding:var(--space-1)var(--space-6);border:var(--border-width-1)solid var(--color-green-500);border-radius:var(--radius-4);font-weight:700}.socratic-gap-banner{padding:var(--space-6)var(--space-md);font-size:var(--font-size-px-12);color:var(--sem-warning);border-bottom:var(--border-width-1)solid var(--color-dark-border-333);background:#f59e0b1a}.socratic-messages{padding:var(--space-sm)var(--space-md);gap:var(--space-sm);flex-direction:column;flex:1;display:flex;overflow-y:auto}.socratic-message{max-width:85%;padding:var(--space-6)var(--space-10);border-radius:var(--radius-6);font-size:var(--font-size-px-14);line-height:1.5}.socratic-message-tutor{background:var(--sem-surface-dark-elevated);color:var(--color-gray-350);align-self:flex-start}.socratic-message-student{color:var(--color-gray-350);background:#1e3a2e;align-self:flex-end}.socratic-message-label{font-size:var(--font-size-px-10);color:var(--color-admin-text-muted);margin-bottom:var(--space-2);text-transform:uppercase;font-weight:600}.socratic-message-content{word-break:break-word}.socratic-typing{color:var(--color-admin-text-muted);font-style:italic}.socratic-input-row{gap:var(--space-6);padding:var(--space-sm)var(--space-md);border-top:var(--border-width-1)solid var(--color-dark-border-333);display:flex}.socratic-input{padding:var(--space-6)var(--space-10);font-size:var(--font-size-px-14);background:var(--color-dark-surface-card);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-4);color:var(--color-dark-text-fff);outline:none;flex:1}.socratic-input:focus{border-color:var(--color-violet-500)}.socratic-input::placeholder{color:var(--color-gray-dark-label)}.socratic-send-btn{padding:var(--space-6)var(--space-14);font-size:var(--font-size-px-14);background:var(--color-violet-500);color:var(--color-dark-text-fff);border-radius:var(--radius-4);cursor:pointer;border:none;font-weight:600}.socratic-send-btn:disabled{opacity:.4;cursor:not-allowed}.socratic-finished{padding:var(--space-10)var(--space-md);font-size:var(--font-size-px-14);color:var(--color-admin-text-muted);text-align:center;border-top:var(--border-width-1)solid var(--color-dark-border-333);gap:var(--space-sm);flex-direction:column;align-items:center;display:flex}.socratic-new-session-btn{padding:var(--space-6)var(--space-14);font-size:var(--font-size-px-12);background:var(--color-violet-500);color:var(--color-dark-text-fff);border-radius:var(--radius-4);cursor:pointer;margin-top:var(--space-xs);border:none;font-weight:600}.socratic-new-session-btn:hover{background:var(--color-violet-600)}.socratic-error{padding:var(--space-6)var(--space-md);font-size:var(--font-size-px-12);color:var(--color-danger-bright);border-top:var(--border-width-1)solid var(--color-dark-border-333)}.socratic-drill-btn{padding:var(--space-2)var(--space-sm);font-size:var(--font-size-px-12);color:var(--color-violet-500);border:var(--border-width-1)solid var(--color-violet-500);border-radius:var(--radius-4);cursor:pointer;margin-left:var(--space-sm);background:0 0;flex-shrink:0;font-weight:600}.socratic-drill-btn:hover{background:var(--color-violet-500);color:var(--color-dark-text-fff)}.socratic-welcome{padding:var(--space-20);flex:1;justify-content:center;align-items:center;display:flex}.socratic-welcome-content{text-align:center;max-width:320px}.socratic-welcome-title{font-size:var(--font-size-px-16);color:var(--color-gray-350);margin:0 0 var(--space-md)0;font-weight:600}.socratic-welcome-text{font-size:var(--font-size-px-14);color:var(--color-gray-600);margin:0 0 var(--space-20)0;line-height:1.6}.socratic-start-btn{padding:var(--space-10)var(--space-xl);font-size:var(--font-size-px-14);background:var(--color-violet-500);color:var(--color-dark-text-fff);border-radius:var(--radius-6);cursor:pointer;border:none;font-weight:600;transition:background .2s}.socratic-start-btn:hover{background:var(--color-violet-600)}
.scratch-canvas-wrapper{background:var(--t-bg-surface);border-radius:var(--radius-8);flex-direction:column;height:100%;display:flex;overflow:hidden}.scratch-canvas-area{padding:var(--space-sm);flex:1;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.scratch-canvas-area.cursor-eraser{cursor:crosshair}.scratch-canvas-controls{align-items:center;gap:var(--space-6);padding:var(--space-sm)var(--space-md);background:var(--t-bg-elevated);border-top:var(--border-width-1)solid var(--t-border-default);flex-shrink:0;display:flex}.scratch-ctrl-btn{padding:var(--space-xs)var(--space-10);font-size:var(--font-size-px-12);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--radius-4);background:var(--t-bg-surface);color:var(--t-text-secondary);cursor:pointer}.scratch-ctrl-btn:hover{background:var(--t-bg-hover)}.scratch-ctrl-btn.active{background:var(--t-bg-info);border-color:var(--color-info-300);color:var(--color-info-700);font-weight:600}.scratch-ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.scratch-ctrl-btn--danger{color:var(--t-text-error);border-color:var(--color-red-200)}.scratch-ctrl-btn--danger:hover{background:var(--t-bg-error)}.scratch-ctrl-divider{width:var(--border-width-1);height:var(--space-20);background:var(--t-border-default);margin:0 var(--space-xs)}.scratch-ctrl-label{font-size:var(--font-size-px-12);color:var(--t-text-muted);min-width:var(--space-2xl);text-align:center}
.session-layout{background:var(--t-bg-page);width:100%;height:calc(100vh - 60px);display:flex;overflow:hidden}.session-panel-left{border-right:var(--border-width-1)solid var(--color-dark-border-333);flex-direction:column;flex:0 0 400px;min-width:300px;max-width:600px;display:flex;overflow:hidden}.session-panel-right{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.session-panel-left .socratic-panel{border:none;border-radius:0;height:100%;max-height:none}.socratic-welcome{padding:var(--space-xl);flex:1;justify-content:center;align-items:center;display:flex}.socratic-welcome-content{text-align:center;max-width:280px}.socratic-welcome-title{font-size:var(--font-size-px-16);color:var(--color-dark-text-tertiary);margin:0 0 var(--space-sm)0;font-weight:600}.socratic-welcome-text{font-size:var(--font-size-px-14);color:var(--color-admin-text-muted);margin:0 0 var(--space-lg)0;line-height:1.5}.socratic-start-btn{padding:var(--space-sm)var(--space-20);font-size:var(--font-size-px-14);background:var(--color-violet-500);color:var(--color-dark-text-fff);border-radius:var(--radius-4);cursor:pointer;border:none;font-weight:600}.socratic-start-btn:hover{background:var(--color-violet-600)}.socratic-start-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width:1024px){.session-layout{flex-direction:column}.session-panel-left{min-width:unset;max-width:unset;border-right:none;border-bottom:var(--border-width-1)solid var(--color-dark-border-333);flex:0 0 50%}.session-panel-right{flex:1}}
.right-pane:has(.session-instrument){background:var(--si-bg-primary);max-width:100%;padding:0;overflow:hidden}.right-pane:has(.session-instrument) .breadcrumbs{background:var(--si-bg-primary);color:var(--color-white-a50);padding:var(--space-sm)var(--space-lg);border-bottom:var(--border-width-1)solid var(--color-white-a10)}.right-pane:has(.session-instrument) .breadcrumbs a{color:var(--color-white-a50)}.right-pane:has(.session-instrument) .breadcrumbs a:hover{color:var(--color-white-a70)}.right-pane:has(.session-instrument) .breadcrumb-separator{color:var(--color-white-a30)}:root{--si-bg-primary:var(--sem-surface-dark);--si-bg-secondary:var(--sem-surface-dark-elevated);--si-accent:var(--sem-action-accent);--si-text-primary:var(--color-white);--si-text-secondary:var(--color-white-a70);--si-text-muted:var(--color-white-a30);--si-border:var(--color-white-a10);--si-card-bg:var(--color-white-a05);--si-success:var(--canon-success);--si-error:var(--color-danger-bright);--si-tutor-bg:var(--color-gold-accent-a10);--si-student-bg:var(--color-success-bright-a08);--si-canvas-width:864px;--si-canvas-height:540px;--si-radius:var(--radius-10);--si-spacing:var(--space-20)}.session-instrument{background:linear-gradient(180deg,var(--si-bg-primary)0%,var(--si-bg-secondary)100%);width:100%;max-width:100%;min-height:0;color:var(--si-text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;flex:1;display:flex;overflow:hidden}.session-instrument-main{flex:1;display:flex;overflow:hidden}.session-instrument *,.session-instrument :before,.session-instrument :after{box-sizing:border-box}.session-instrument-left{border-right:var(--border-width-1)solid var(--si-border);flex-direction:column;flex:1;min-width:320px;display:flex;overflow:hidden}.session-instrument-right{width:var(--si-canvas-width);height:var(--si-canvas-height);margin-left:var(--si-spacing);margin-right:var(--si-spacing);border-radius:var(--si-radius);flex-direction:column;flex-shrink:0;align-self:center;display:flex;position:relative;overflow:hidden}.session-instrument-status-bar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-10)var(--space-20);border-bottom:var(--border-width-1)solid var(--si-border);background:var(--color-white-a05);font-size:var(--font-size-px-14);flex-shrink:0;display:flex}.session-instrument-status-left{align-items:center;gap:var(--space-md);flex:1;min-width:0;display:flex}.session-instrument-status-right{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.session-instrument-exchange-count{font-size:var(--font-size-px-12);color:var(--si-text-muted);font-family:monospace}.session-instrument-phase-badge{align-items:center;gap:var(--space-6);padding:var(--space-3)var(--space-10);border-radius:var(--radius-6);font-size:var(--font-size-px-12);text-transform:uppercase;letter-spacing:var(--border-width-1);background:var(--color-gold-accent-a15);color:var(--si-accent);border:var(--border-width-1)solid var(--color-gold-accent-a20);font-weight:600;display:inline-flex}.session-instrument--tutor_thinking .session-instrument-phase-badge{background:var(--color-white-a05);color:var(--si-text-muted);border-color:var(--color-white-a10)}.session-instrument--assessing .session-instrument-phase-badge{background:var(--color-gold-accent-a10);color:var(--si-accent);border-color:var(--color-gold-accent-a20)}.session-instrument--reviewing .session-instrument-phase-badge{background:var(--color-success-bright-a10);color:var(--si-success);border-color:var(--color-success-bright-a20)}.session-instrument--session_complete .session-instrument-phase-badge{background:var(--color-success-bright-a15);color:var(--si-success);border-color:var(--color-success-bright-a25)}.session-instrument-topic-label{color:var(--si-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.session-instrument-status{font-size:var(--font-size-px-12);color:var(--si-text-muted);font-family:monospace}.session-instrument-turn-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.session-instrument-welcome{padding:var(--space-xl);flex:1;justify-content:center;align-items:center;display:flex}.session-instrument-welcome-content{text-align:center;max-width:280px}.session-instrument-welcome-title{font-size:var(--font-size-px-20);color:var(--si-text-primary);margin:0 0 var(--space-sm)0;font-weight:600}.session-instrument-welcome-text{font-size:var(--font-size-px-14);color:var(--si-text-secondary);margin:0 0 var(--space-20)0;line-height:1.6}.session-instrument-start-btn{padding:var(--space-10)var(--space-xl);font-size:var(--font-size-px-14);background:var(--si-accent);color:var(--si-bg-primary);border-radius:var(--radius-10);cursor:pointer;border:none;font-weight:600;transition:all .2s}.session-instrument-start-btn:hover{background:var(--canon-accent-hover);transform:translateY(-1px)}.session-instrument-messages{gap:var(--space-sm);padding:var(--space-md)var(--space-lg);scrollbar-width:none;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.session-instrument-messages::-webkit-scrollbar{display:none}.session-instrument-message{max-width:85%;padding:var(--space-10)var(--space-14);border-radius:var(--space-14);font-size:var(--font-size-px-14);overflow-wrap:break-word;word-break:break-word;line-height:1.5;animation:.3s si-message-enter}@keyframes si-message-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.session-instrument-message-tutor{background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a10);color:var(--color-white-a90);align-self:flex-start}.session-instrument-message-student{background:var(--color-success-bright-a12);border:var(--border-width-1)solid var(--color-success-bright-a20);color:var(--si-text-primary);align-self:flex-end}.session-instrument-message .katex{font-size:.95em}.session-instrument-input-area{gap:var(--space-sm);padding:var(--space-md)var(--space-lg);border-top:var(--border-width-1)solid var(--si-border);align-items:flex-end;max-width:100%;display:flex}.session-instrument-input{width:0;min-width:0;padding:var(--space-10)var(--space-14);background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a15);border-radius:var(--radius-10);color:var(--si-text-primary);font-size:var(--font-size-px-16);-webkit-appearance:none;resize:none;outline:none;flex:1;min-height:42px;max-height:200px;font-family:inherit;line-height:1.4;transition:border-color .2s;overflow-y:hidden}.session-instrument-input:focus{border-color:var(--si-accent)}.session-instrument-input::placeholder{color:var(--color-white-a20)}.session-instrument-send-btn{padding:var(--space-10)var(--space-20);background:var(--si-accent);color:var(--si-bg-primary);border-radius:var(--radius-10);font-size:var(--font-size-px-14);cursor:pointer;letter-spacing:var(--letter-spacing-tight);border:none;flex-shrink:0;font-weight:600;transition:all .2s}.session-instrument-send-btn:hover{background:var(--canon-accent-hover);transform:translateY(-1px)}.session-instrument-send-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.session-instrument-action-btn{padding:var(--space-sm)var(--space-lg);color:var(--si-text-secondary);border:var(--border-width-1)solid var(--color-white-a20);border-radius:var(--radius-10);font-size:var(--font-size-px-14);cursor:pointer;background:0 0;font-weight:500;transition:all .2s}.session-instrument-action-btn:hover{border-color:var(--color-white-a30);color:var(--si-text-primary)}.session-instrument-canvas-pane{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.session-instrument-right .scratch-canvas-wrapper{background:var(--si-bg-secondary);border-radius:0}.session-instrument-right .scratch-canvas-area{background:var(--color-white);padding:0;overflow:hidden}.session-instrument-right .scratch-canvas-controls{background:var(--si-bg-primary);border-top:var(--border-width-1)solid var(--si-border);gap:var(--space-sm);padding:var(--space-sm)var(--space-md)}.session-instrument-right .scratch-ctrl-btn{background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a10);border-radius:var(--radius-8);color:var(--color-white-a50);font-size:var(--font-size-px-12);padding:var(--space-5)var(--space-md);transition:all .2s}.session-instrument-right .scratch-ctrl-btn:hover{background:var(--color-white-a10);color:var(--color-white-a90);border-color:var(--color-white-a20)}.session-instrument-right .scratch-ctrl-btn.active{background:var(--color-gold-accent-a15);border-color:var(--si-accent);color:var(--si-accent);font-weight:600}.session-instrument-right .scratch-ctrl-btn--danger{color:var(--si-error);border-color:var(--color-danger-bright-a30)}.session-instrument-right .scratch-ctrl-btn--danger:hover{background:var(--color-danger-bright-a10)}.session-instrument-right .scratch-ctrl-btn:disabled{opacity:.3}.session-instrument-right .scratch-ctrl-divider{background:var(--color-white-a10)}.session-instrument-right .scratch-ctrl-label{color:var(--color-white-a30)}.session-instrument-canvas-guidance{text-align:center;pointer-events:none;z-index:1;color:var(--si-text-muted);font-size:var(--font-size-px-16);letter-spacing:var(--letter-spacing-narrow);max-width:320px;line-height:1.6;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.session-instrument--answering .session-instrument-canvas-guidance{color:var(--si-text-secondary)}.session-instrument--tutor_thinking .session-instrument-canvas-guidance{opacity:.5}.session-instrument-canvas-controls{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-lg);border-top:var(--border-width-1)solid var(--si-border);background:var(--color-white-a05);display:flex}.session-instrument-canvas-controls button{padding:var(--space-6)var(--space-md);background:var(--color-white-a05);border:var(--border-width-1)solid var(--si-border);border-radius:var(--radius-8);color:var(--si-text-secondary);font-size:var(--font-size-px-12);cursor:pointer;transition:all .2s}.session-instrument-canvas-controls button:hover{background:var(--color-white-a10);color:var(--si-text-primary);border-color:var(--color-white-a20)}.session-instrument-canvas-controls button.active{background:var(--color-gold-accent-a15);border-color:var(--si-accent);color:var(--si-accent)}.session-instrument-loading{padding:var(--space-40)var(--space-20);justify-content:center;align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.session-instrument-spinner{width:var(--space-2xl);height:var(--space-2xl);border:var(--border-width-3)solid var(--color-white-a10);border-top-color:var(--si-accent);border-radius:50%;animation:.8s linear infinite si-spin}@keyframes si-spin{to{transform:rotate(360deg)}}.session-instrument-loading-text{color:var(--si-text-muted);font-size:var(--font-size-px-14);letter-spacing:var(--letter-spacing-narrow)}.session-instrument-thinking{align-items:center;gap:var(--space-6);padding:var(--space-10)var(--space-14);color:var(--si-text-muted);font-size:var(--font-size-px-14);align-self:flex-start;display:flex}.session-instrument-thinking-dots{gap:var(--space-3);display:flex}.session-instrument-thinking-dots span{width:var(--space-6);height:var(--space-6);background:var(--color-white-a30);border-radius:50%;animation:1.4s ease-in-out infinite both si-dot-bounce}.session-instrument-thinking-dots span:nth-child(2){animation-delay:.2s}.session-instrument-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes si-dot-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.session-instrument-assess-action{padding:var(--space-sm)var(--space-lg)var(--space-xs);justify-content:center;display:flex}.session-instrument-assess-btn{padding:var(--space-sm)var(--space-20);font-size:var(--font-size-px-14);color:var(--si-accent);border:var(--border-width-1)solid var(--color-gold-accent-a30);border-radius:var(--radius-10);cursor:pointer;letter-spacing:var(--letter-spacing-narrow);background:0 0;font-weight:500;transition:all .2s}.session-instrument-assess-btn:hover{background:var(--color-gold-accent-a10);border-color:var(--si-accent)}.session-instrument--answering .session-instrument-input{border-color:var(--color-gold-accent-a30)}.session-instrument--tutor_thinking .session-instrument-input-area,.session-instrument--assessing .session-instrument-input-area{opacity:.5;pointer-events:none}.session-instrument--assessing .session-instrument-assess-action{display:none}.session-instrument--reviewing .session-instrument-input-area{opacity:.5;pointer-events:none}.session-instrument--session_complete .session-instrument-input-area,.session-instrument--session_complete .session-instrument-assess-action{display:none}.session-instrument-finished{align-items:center;gap:var(--space-md);padding:var(--space-20)var(--space-lg);border-top:var(--border-width-1)solid var(--si-border);text-align:center;flex-direction:column;display:flex}.session-instrument-finished-text{font-size:var(--font-size-px-14);color:var(--si-text-secondary);margin:0}.session-instrument-error{padding:var(--space-sm)var(--space-lg);font-size:var(--font-size-px-12);color:var(--si-error);border-top:var(--border-width-1)solid var(--si-border)}.si-progress-summary{text-align:left;width:100%;max-width:360px}.si-progress-header{font-size:var(--font-size-px-14);color:var(--si-text-primary);margin-bottom:var(--space-md);font-weight:600;line-height:1.4}.si-progress-facets{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.si-facet{align-items:flex-start;gap:var(--space-sm);font-size:var(--font-size-px-14);color:var(--si-text-secondary);line-height:1.4;display:flex}.si-facet-icon{width:var(--space-20);height:var(--space-20);font-size:var(--font-size-px-12);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.si-facet--demonstrated .si-facet-icon{background:var(--color-success-bright-a15);color:var(--si-success)}.si-facet--demonstrated .si-facet-icon:before{content:"✓"}.si-facet--pending .si-facet-icon{background:var(--color-white-a05);color:var(--si-text-muted)}.si-facet--pending .si-facet-icon:before{content:"?";font-weight:600}.si-facet--demonstrated .si-facet-text{color:var(--si-text-primary)}.si-progress-principles{margin-top:var(--space-md);font-size:var(--font-size-px-12);color:var(--si-text-muted);font-style:italic}@media (prefers-reduced-motion:reduce){.session-instrument-question-card,.session-instrument-transcript-message,.session-instrument-thinking-dots span,.session-instrument-spinner{animation:none}}@media (max-width:1024px){.session-instrument-main{flex-direction:column}.session-instrument-left{max-height:55vh;min-width:unset;border-right:none;border-bottom:var(--border-width-1)solid var(--si-border);flex:none}.session-instrument-right{max-width:unset;flex:1;min-height:200px}}@media (max-width:768px){.right-pane:has(.session-instrument){margin-top:0!important;padding:0!important}.right-pane:has(.session-instrument) .breadcrumbs{display:none}.app-container:has(.session-instrument) .mobile-header-band{background:var(--si-bg-primary)}.app-container:has(.session-instrument) .mobile-menu-button svg rect:first-child{fill:var(--si-bg-primary)!important}.app-container:has(.session-instrument) .mobile-menu-button svg rect:not(:first-child){fill:var(--si-accent)!important}.session-instrument{top:var(--mobile-header-total-height,44px);width:100%;max-width:100%;height:auto;position:fixed;bottom:0;left:0;right:0;overflow-x:hidden}.session-instrument-main{width:100%;max-width:100%;overflow-x:hidden}.session-instrument-left{max-height:unset;flex:1;width:100%;min-width:0;max-width:100%;overflow-x:hidden}.session-instrument-right,.session-instrument-assess-action{display:none}.session-instrument-messages{padding:var(--space-md)var(--space-md);max-width:100%;overflow-x:hidden}.session-instrument-status-bar{padding:var(--space-sm)var(--space-md);font-size:var(--font-size-px-12)}.session-instrument-input-area{padding:var(--space-10)var(--space-md);max-width:100%}}
.engine-card-picker{padding:var(--space-20);scrollbar-width:thin;scrollbar-color:var(--color-white-a15)transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.engine-card-picker-title{font-size:var(--font-size-px-16);color:var(--si-text-primary);margin:0 0 var(--space-20)0;text-align:center;letter-spacing:var(--letter-spacing-tight);font-weight:600}.engine-card-picker-loading{color:var(--si-text-muted);font-size:var(--font-size-px-14);flex:1;justify-content:center;align-items:center;display:flex}.engine-card-picker-group{margin-bottom:var(--space-20)}.engine-card-picker-engine-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.engine-card-picker-engine-icon{font-size:var(--font-size-px-20)}.engine-card-picker-engine-name{font-size:var(--font-size-px-14);color:var(--si-accent);font-weight:600}.engine-card-picker-engine-difficulty{font-size:var(--font-size-px-12);color:var(--si-text-muted);padding:var(--space-1)var(--space-6);border:var(--border-width-1)solid var(--color-white-a10);border-radius:var(--space-3);text-transform:uppercase;letter-spacing:var(--border-width-1)}.engine-card-picker-engine-desc{font-size:var(--font-size-px-12);color:var(--si-text-secondary);margin:0 0 var(--space-md)0;font-style:italic}.engine-card-picker-cards{gap:var(--space-sm);flex-direction:column;display:flex}.engine-card-picker-card{padding:var(--space-10)var(--space-14);background:var(--si-card-bg);border:var(--border-width-1)solid var(--color-white-a10);border-radius:var(--radius-10);color:var(--si-text-primary);font-size:var(--font-size-px-14);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;font-family:inherit;transition:all .2s;display:flex}.engine-card-picker-card:hover{background:var(--color-gold-accent-a15);border-color:var(--si-accent);transform:translateY(-1px)}.engine-card-picker-card-label{flex:1;font-weight:500}.engine-card-picker-card-pin{font-size:var(--font-size-px-10);color:var(--si-accent);text-transform:uppercase;letter-spacing:var(--border-width-1)}
.stp{padding:var(--space-20);scrollbar-width:thin;scrollbar-color:var(--color-white-a15)transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.stp-title{font-size:var(--font-size-px-16);color:var(--si-text-primary);margin:0 0 var(--space-20)0;text-align:center;letter-spacing:var(--letter-spacing-tight);font-weight:600}.stp-loading{color:var(--si-text-muted);font-size:var(--font-size-px-14);flex:1;justify-content:center;align-items:center;display:flex}.stp-cards{gap:var(--space-sm);flex-direction:column;display:flex}.stp-topic-group{flex-direction:column;display:flex}.stp-topic-card{align-items:center;gap:var(--space-sm);padding:var(--space-10)var(--space-14);background:var(--si-card-bg);border:var(--border-width-1)solid var(--color-white-a10);border-radius:var(--radius-10);color:var(--si-text-primary);font-size:var(--font-size-px-14);cursor:pointer;text-align:left;width:100%;font-family:inherit;transition:all .2s;display:flex}.stp-topic-card:hover{background:var(--color-gold-accent-a15);border-color:var(--si-accent);transform:translateY(-1px)}.stp-topic-card--expanded{background:var(--color-gold-accent-a10);border-color:var(--color-gold-accent-a20);border-bottom-right-radius:0;border-bottom-left-radius:0}.stp-topic-icon{font-size:var(--font-size-px-20);flex-shrink:0}.stp-topic-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.stp-topic-progress{font-size:var(--font-size-px-12);color:var(--si-accent);flex-shrink:0;font-family:monospace}.stp-topic-chevron{font-size:var(--font-size-px-10);color:var(--si-text-muted);flex-shrink:0;transition:transform .2s}.stp-spec-list{gap:var(--space-1);padding:var(--space-xs)var(--space-xs)var(--space-sm);background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a10);border-bottom-left-radius:var(--radius-10);border-bottom-right-radius:var(--radius-10);border-top:none;flex-direction:column;animation:.2s stp-expand;display:flex}@keyframes stp-expand{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.stp-spec-card{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-10);border:var(--border-width-1)solid transparent;border-radius:var(--radius-8);color:var(--si-text-secondary);font-size:var(--font-size-px-12);cursor:pointer;text-align:left;background:0 0;width:100%;font-family:inherit;line-height:1.4;transition:all .15s;display:flex}.stp-spec-card:hover{background:var(--color-white-a05);border-color:var(--color-white-a10);color:var(--si-text-primary)}.stp-spec-card:disabled{opacity:.4;cursor:not-allowed}.stp-spec-number{font-family:monospace;font-size:var(--font-size-px-10);color:var(--si-text-muted);min-width:var(--space-40);flex-shrink:0}.stp-spec-text{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.stp-spec-mastery{font-size:var(--font-size-px-10);text-transform:uppercase;letter-spacing:var(--border-width-1);flex-shrink:0;font-weight:600}@media (max-width:768px){.stp{padding:var(--space-md)}.stp-spec-number{min-width:var(--space-2xl)}}
.onboarding-welcome{min-height:60vh;padding:var(--space-40)var(--space-20);justify-content:center;align-items:center;display:flex}.onboarding-card{text-align:center;max-width:400px}.onboarding-heading{font-size:var(--font-size-2xl);margin-bottom:var(--space-md);font-weight:700}.onboarding-description{font-size:var(--font-size-px-16);color:#666;margin-bottom:var(--space-2xl);line-height:1.5}.onboarding-try-btn{width:100%;padding:var(--space-14)var(--space-xl);font-size:var(--font-size-px-16);background:var(--color-violet-500);color:var(--color-dark-text-fff);border-radius:var(--radius-8);cursor:pointer;margin-bottom:var(--space-md);border:none;font-weight:600;display:block}.onboarding-try-btn:hover{background:var(--color-violet-600)}.onboarding-try-btn:disabled{opacity:.6;cursor:not-allowed}.onboarding-skip-btn{width:100%;padding:var(--space-10)var(--space-xl);font-size:var(--font-size-px-14);color:#888;cursor:pointer;background:0 0;border:none;display:block}.onboarding-skip-btn:hover{color:#ccc}
.matchbox-session-loading{background:var(--t-bg-page);min-height:100vh;color:var(--t-text-primary);justify-content:center;align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.matchbox-session-loading__text{font-size:var(--font-size-lg);opacity:.8;animation:1.5s ease-in-out infinite matchbox-pulse}.matchbox-session-loading__error{font-size:var(--font-size-base);color:var(--sem-danger)}.matchbox-session-loading__retry{padding:var(--space-sm)var(--space-xl);background:var(--sem-action-accent);color:var(--color-white);border-radius:var(--sem-radius-sm);font-size:var(--font-size-base);cursor:pointer;border:none}.matchbox-session-loading__fallback{font-size:var(--font-size-sm);color:var(--t-text-secondary)}@keyframes matchbox-pulse{0%,to{opacity:.5}50%{opacity:1}}
.syllabus-overlay-backdrop{--syllabus-overlay-backdrop-bg:var(--t-bg-overlay);background:var(--syllabus-overlay-backdrop-bg);z-index:1000;padding:var(--space-20);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.syllabus-overlay-modal{--syllabus-overlay-surface:var(--t-bg-surface);--syllabus-overlay-surface-subtle:var(--t-bg-card-subtle);--syllabus-overlay-surface-muted:var(--t-bg-hover);--syllabus-overlay-surface-hover:var(--t-bg-hover);--syllabus-overlay-surface-card:var(--t-bg-card);--syllabus-overlay-border-soft:var(--t-border-soft);--syllabus-overlay-border-default:var(--t-border-default);--syllabus-overlay-border-faint:var(--t-border-soft);--syllabus-overlay-text-primary:var(--t-text-secondary);--syllabus-overlay-text-secondary:var(--t-text-muted);--syllabus-overlay-text-muted:var(--t-text-hint);--syllabus-overlay-text-dark:var(--t-text-primary);--syllabus-overlay-error:var(--t-text-error);--syllabus-overlay-warning-text:#b8860b;--syllabus-overlay-warning-bg:#ffc107;--syllabus-overlay-warning-tint:#ffc10726;--syllabus-overlay-blue:var(--color-blue-700);--syllabus-overlay-blue-tint:#2563eb1a;--syllabus-overlay-purple:var(--color-violet-500);--syllabus-overlay-purple-tint:#8b5cf61a;--syllabus-overlay-orange:var(--color-amber-deep);--syllabus-overlay-orange-tint:#e651001a;--syllabus-overlay-shadow:0 20px 60px var(--t-shadow-color);background:var(--syllabus-overlay-surface);border-radius:var(--radius-12);box-shadow:var(--syllabus-overlay-shadow);flex-direction:column;width:100%;max-width:900px;max-height:85vh;display:flex;overflow:hidden}.syllabus-overlay-header{align-items:center;gap:var(--space-lg);padding:var(--space-lg)var(--space-20);border-bottom:var(--border-width-1)solid var(--syllabus-overlay-border-soft);background:var(--syllabus-overlay-surface-subtle);display:flex}.syllabus-overlay-header h2{font-size:var(--font-size-px-16);color:var(--t-text-primary);margin:0;font-weight:600}.syllabus-overlay-header .syllabus-spec-selector{max-width:300px;padding:var(--space-sm)var(--space-md);font-size:var(--font-size-px-14);border:var(--border-width-1)solid var(--syllabus-overlay-border-default);border-radius:var(--radius-6);background:var(--syllabus-overlay-surface);flex:1}.syllabus-overlay-close{font-size:var(--font-size-px-24);color:var(--syllabus-overlay-text-muted);cursor:pointer;padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-4);background:0 0;border:none;margin-left:auto;line-height:1}.syllabus-overlay-close:hover{background:var(--syllabus-overlay-border-soft);color:var(--syllabus-overlay-text-primary)}.syllabus-overlay-content{padding:var(--space-20);flex:1;overflow-y:auto}.syllabus-overlay-modal .syllabus-meta{margin-bottom:var(--space-20);padding-bottom:var(--space-lg);border-bottom:var(--border-width-1)solid var(--syllabus-overlay-border-soft)}.syllabus-overlay-modal .syllabus-meta h3{margin:0 0 var(--space-xs);font-size:var(--font-size-px-16);font-weight:600}.syllabus-overlay-modal .syllabus-meta p{margin:0 0 var(--space-md);font-size:var(--font-size-px-14);color:var(--syllabus-overlay-text-secondary)}.syllabus-overlay-modal .syllabus-unit{margin-bottom:var(--space-sm);border:var(--border-width-1)solid var(--syllabus-overlay-border-soft);border-radius:var(--radius-8);overflow:hidden}.syllabus-overlay-modal .syllabus-unit-header{align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-lg);background:var(--syllabus-overlay-surface-subtle);cursor:pointer;transition:background .15s;display:flex}.syllabus-overlay-modal .syllabus-unit-header:hover{background:var(--syllabus-overlay-surface-hover)}.syllabus-overlay-modal .syllabus-unit-name{font-weight:600;font-size:var(--font-size-px-14);flex:1}.syllabus-overlay-modal .syllabus-unit-content{padding:var(--space-sm)var(--space-lg)var(--space-lg)}.syllabus-overlay-modal .syllabus-topic{margin-top:var(--space-sm);margin-left:var(--syllabus-topic-indent,0)}.syllabus-overlay-modal .syllabus-topic-header{align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-6);cursor:pointer;display:flex}.syllabus-overlay-modal .syllabus-topic-header.clickable:hover{background:var(--syllabus-overlay-surface-hover)}.syllabus-overlay-modal .syllabus-topic-name{font-weight:500;font-size:var(--font-size-px-14);flex:1}.syllabus-overlay-modal .syllabus-topic-content{margin-top:var(--space-xs);padding-left:var(--space-lg)}.syllabus-overlay-modal .syllabus-spec-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);margin:var(--space-xs)0;border-radius:var(--radius-6);background:var(--syllabus-overlay-surface-card);border:var(--border-width-1)solid var(--syllabus-overlay-border-faint);display:flex}.syllabus-overlay-modal .syllabus-spec-item:hover{background:var(--syllabus-overlay-surface-muted);border-color:var(--syllabus-overlay-border-soft)}.syllabus-overlay-modal .syllabus-spec-number{font-size:var(--font-size-px-12);color:var(--syllabus-overlay-text-muted);min-width:var(--space-xl)}.syllabus-overlay-modal .syllabus-spec-text{font-size:var(--font-size-px-14);color:var(--syllabus-overlay-text-primary);flex:1}.syllabus-overlay-modal .syllabus-ability-badge{padding:var(--space-2)var(--space-sm);font-size:var(--font-size-px-10);color:var(--syllabus-overlay-surface);text-transform:uppercase;background-color:var(--ability-badge-bg);border-radius:999px;font-weight:600}.syllabus-overlay-modal .syllabus-practice-btn-group{gap:var(--space-xs);display:flex}.syllabus-overlay-modal .syllabus-practice-btn{padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-px-12);border-radius:var(--radius-4);cursor:pointer;border:none;font-weight:600;transition:all .15s}.syllabus-overlay-modal .syllabus-practice-btn--one-mark{background:var(--syllabus-overlay-warning-tint);color:var(--syllabus-overlay-warning-text)}.syllabus-overlay-modal .syllabus-practice-btn--one-mark:hover:not(:disabled){background:var(--syllabus-overlay-warning-bg);color:var(--syllabus-overlay-text-dark)}.syllabus-overlay-modal .syllabus-practice-btn--conceptual{background:var(--syllabus-overlay-blue-tint);color:var(--syllabus-overlay-blue)}.syllabus-overlay-modal .syllabus-practice-btn--conceptual:hover:not(:disabled){background:var(--syllabus-overlay-blue);color:var(--syllabus-overlay-surface)}.syllabus-overlay-modal .syllabus-practice-btn--quantitative{background:var(--syllabus-overlay-purple-tint);color:var(--syllabus-overlay-purple)}.syllabus-overlay-modal .syllabus-practice-btn--quantitative:hover:not(:disabled){background:var(--syllabus-overlay-purple);color:var(--syllabus-overlay-surface)}.syllabus-overlay-modal .syllabus-practice-btn--practice{background:var(--goals-primary,#4a7c59);color:var(--syllabus-overlay-surface)}.syllabus-overlay-modal .syllabus-practice-btn--practice:hover:not(:disabled){background:var(--goals-primary-dark,#3d6349)}.syllabus-overlay-modal .syllabus-practice-btn--synoptic{background:var(--syllabus-overlay-orange-tint);color:var(--syllabus-overlay-orange)}.syllabus-overlay-modal .syllabus-practice-btn--synoptic:hover:not(:disabled){background:var(--syllabus-overlay-orange);color:var(--syllabus-overlay-surface)}.syllabus-overlay-modal .syllabus-practice-btn:disabled{opacity:.5;cursor:wait}.syllabus-overlay-modal .syllabus-mark-select{padding:var(--space-3)var(--space-6);font-size:var(--font-size-px-12);border:var(--border-width-1)solid var(--syllabus-overlay-border-default);border-radius:var(--radius-4);background:var(--syllabus-overlay-surface);color:var(--syllabus-overlay-text-primary);cursor:pointer;min-width:64px;font-weight:500;transition:border-color .15s}.syllabus-overlay-modal .syllabus-mark-select:hover:not(:disabled){border-color:var(--syllabus-overlay-text-secondary)}.syllabus-overlay-modal .syllabus-mark-select:focus{border-color:var(--syllabus-overlay-blue);outline:none}.syllabus-overlay-modal .syllabus-mark-select:disabled{opacity:.5;cursor:wait}.syllabus-overlay-modal .syllabus-progress-container{align-items:center;gap:var(--space-sm);min-width:120px;display:flex}.syllabus-overlay-modal .syllabus-progress-bar{height:var(--space-6);background:var(--syllabus-overlay-border-soft);border-radius:999px;flex:1;overflow:hidden}.syllabus-overlay-modal .syllabus-progress-fill{border-radius:999px;height:100%;transition:width .3s}.syllabus-overlay-modal .syllabus-progress-text{font-size:var(--font-size-px-12);color:var(--syllabus-overlay-text-secondary);white-space:nowrap}.syllabus-overlay-modal .syllabus-expand-icon{font-size:var(--font-size-px-10);color:var(--syllabus-overlay-text-muted);width:var(--space-md)}.syllabus-overlay-footer{padding:var(--space-md)var(--space-20);border-top:var(--border-width-1)solid var(--syllabus-overlay-border-soft);background:var(--syllabus-overlay-surface-subtle);text-align:center}.syllabus-overlay-hint{font-size:var(--font-size-px-12);color:var(--syllabus-overlay-text-muted)}.syllabus-overlay-modal .syllabus-loading,.syllabus-overlay-modal .syllabus-error{padding:var(--space-40);text-align:center;color:var(--syllabus-overlay-text-secondary)}.syllabus-overlay-modal .syllabus-error{color:var(--syllabus-overlay-error)}
.hotkey-modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hotkey-modal-card{background:var(--color-dark-text-fff);border-radius:var(--radius-12);box-shadow:0 4px 20px var(--color-black-a10);width:320px;max-width:90vw}.hotkey-modal-header{padding:var(--space-lg)var(--space-20);border-bottom:var(--border-width-1)solid var(--color-gray-200);justify-content:space-between;align-items:center;display:flex}.hotkey-modal-header h2{font-size:var(--font-size-px-16);margin:0;font-weight:600}.hotkey-modal-close{font-size:var(--font-size-px-24);color:var(--t-text-hint);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.hotkey-modal-close:hover{color:var(--color-gray-750)}.hotkey-modal-content{padding:var(--space-lg)var(--space-20)}.hotkey-row{align-items:center;gap:var(--space-lg);padding:var(--space-sm)0;display:flex}.hotkey-key{min-width:100px;padding:var(--space-xs)var(--space-sm);background:var(--color-gray-100);border:var(--border-width-1)solid var(--color-gray-250);border-radius:var(--radius-4);font-family:monospace;font-size:var(--font-size-px-14);text-align:center;display:inline-block}.hotkey-action{font-size:var(--font-size-px-14);color:var(--color-gray-750)}.hotkey-modal-footer{padding:var(--space-md)var(--space-20);border-top:var(--border-width-1)solid var(--color-gray-200);text-align:center}.hotkey-hint{font-size:var(--font-size-px-12);color:var(--t-text-hint)}.toolbar-section--help{padding-top:var(--space-sm);border-top:var(--border-width-1)solid var(--color-gray-200);margin-top:auto}.toolbar-help-btn{width:var(--space-2xl);height:var(--space-2xl);font-size:var(--font-size-px-16);justify-content:center;align-items:center;margin:0 auto;font-weight:600;display:flex}
.add-to-bundle-header h3{font-size:var(--font-size-px-20);color:var(--t-text-primary);margin:0}.add-to-bundle-content{padding:var(--space-lg);flex:1;overflow-y:auto}.empty-state{text-align:center;padding:var(--space-2xl)var(--space-lg);color:var(--t-text-muted)}.bundle-list{gap:var(--space-sm);flex-direction:column;display:flex}.bundle-item{padding:var(--space-md)var(--space-lg);background:var(--t-bg-card-subtle);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--radius-8);cursor:pointer;text-align:left;font-size:var(--font-size-px-16);color:var(--t-text-primary);width:100%;transition:all .2s}.bundle-item:hover{background:var(--t-bg-info);border-color:var(--color-info-300)}.cancel-button{padding:var(--space-sm)var(--space-lg);background:var(--t-btn-neutral-bg);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-size-px-14);color:var(--t-text-muted)}.cancel-button:hover{background:var(--t-bg-hover)}
.load-question-set-subtitle{padding:var(--space-md)var(--space-20);background:var(--t-bg-card-subtle);font-size:var(--font-size-px-14);color:var(--t-text-muted);border-bottom:var(--border-width-1)solid var(--t-border-soft);flex-shrink:0}.load-question-set-content{padding:var(--space-lg);flex:1;overflow-y:auto}.loading-state,.error-state,.empty-state{text-align:center;padding:var(--space-2xl)var(--space-lg);color:var(--t-text-muted)}.error-state{color:var(--t-text-error)}.empty-hint{font-size:var(--font-size-px-14);color:var(--t-text-hint);margin-top:var(--space-sm)}.question-set-list{gap:var(--space-sm);flex-direction:column;display:flex}.question-set-item{align-items:flex-start;gap:var(--space-xs);padding:var(--space-md)var(--space-lg);background:var(--t-bg-card-subtle);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--radius-8);cursor:pointer;text-align:left;flex-direction:column;width:100%;transition:all .2s;display:flex}.question-set-item:hover{background:var(--t-bg-info);border-color:var(--color-info-300)}.question-set-name{color:var(--t-text-primary);font-weight:500}.question-set-meta{font-size:var(--font-size-px-14);color:var(--t-text-muted)}.question-set-status{font-size:var(--font-size-px-12);text-transform:uppercase;padding:var(--space-2)var(--space-6);border-radius:var(--radius-4);background:var(--color-orange-50);color:var(--color-amber-deep)}
.add-homework-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.add-homework-modal{background:var(--t-bg-page);border-radius:var(--mild-border-radius,var(--radius-8));padding:var(--space-xl);width:90%;max-width:400px;box-shadow:0 8px 32px var(--color-black-a20)}.add-homework-modal-title{margin:0 0 var(--space-lg);font-size:var(--font-size-px-20);color:var(--t-text-primary);font-weight:600}.add-homework-modal-error{background:var(--color-red-50);border:var(--border-width-1)solid var(--color-red-200);color:var(--color-red-600);padding:var(--space-sm)var(--space-md);border-radius:var(--slight-border-radius,var(--radius-4));margin-bottom:var(--space-md);font-size:var(--font-size-px-14)}.add-homework-modal-field{margin-bottom:var(--space-lg)}.add-homework-modal-field label{margin-bottom:var(--space-sm);color:var(--t-text-secondary);font-weight:500;font-size:var(--font-size-px-14);display:block}.add-homework-modal-loading{color:var(--t-text-secondary);font-size:var(--font-size-px-14);padding:var(--space-md);text-align:center}.add-homework-modal-students{gap:var(--space-sm);flex-direction:column;display:flex}.add-homework-modal-student{align-items:center;gap:var(--space-md);padding:var(--space-md);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--slight-border-radius,var(--radius-4));background:var(--t-bg-page);cursor:pointer;transition:all .15s;display:flex}.add-homework-modal-student:hover{border-color:var(--sem-action-accent);background:var(--t-bg-hover)}.add-homework-modal-student:disabled{opacity:.6;cursor:not-allowed}.add-homework-modal-student-selected{border-color:var(--sem-action-accent);background:var(--t-bg-info);box-shadow:0 0 0 2px #1976d233}.add-homework-modal-student-avatar{width:var(--space-40);height:var(--space-40);border-radius:var(--radius-50);color:var(--color-dark-text-fff);font-weight:600;font-size:var(--font-size-px-14);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;display:flex}.add-homework-modal-student-name{color:var(--t-text-primary);font-weight:500}.add-homework-modal-empty{color:var(--t-text-secondary);font-size:var(--font-size-px-14);text-align:center;padding:var(--space-lg)}.add-homework-modal-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.add-homework-modal-btn{padding:var(--space-sm)var(--space-lg);border-radius:var(--btn-radius,var(--radius-8));background:var(--sem-surface-dark-elevated);color:var(--color-dark-text-fff);cursor:pointer;border:none;font-weight:500;transition:opacity .15s}.add-homework-modal-btn:hover{opacity:.9}.add-homework-modal-btn:disabled{opacity:.5;cursor:not-allowed}.add-homework-modal-btn-cancel{padding:var(--space-sm)var(--space-lg);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--btn-radius,var(--radius-8));background:var(--t-bg-page);color:var(--t-text-secondary);cursor:pointer;font-weight:500;transition:all .15s}.add-homework-modal-btn-cancel:hover{background:var(--t-bg-hover)}.add-homework-modal-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.add-homework-modal-success{text-align:center;padding:var(--space-lg)0}.add-homework-modal-success-icon{width:var(--space-50);height:var(--space-50);border-radius:var(--radius-50);color:var(--color-dark-text-fff);font-size:var(--font-size-px-24);margin:0 auto var(--space-md);background:#10b981;justify-content:center;align-items:center;display:flex}.add-homework-modal-success p{margin:0 0 var(--space-sm);color:var(--t-text-primary)}.add-homework-modal-homework-title{font-weight:600;color:var(--sem-action-accent)!important}
.structured-question-overlay,.structured-question-card{--structured-overlay-bg:var(--t-bg-overlay);--structured-surface:var(--t-bg-surface);--structured-surface-subtle:var(--t-bg-card-subtle);--structured-surface-muted:var(--t-bg-hover);--structured-surface-hover:var(--t-bg-hover);--structured-border-soft:var(--t-border-soft);--structured-border-default:var(--t-border-default);--structured-border-muted:var(--t-border-strong);--structured-text-primary:var(--t-text-primary);--structured-text-secondary:var(--t-text-secondary);--structured-text-tertiary:var(--t-text-muted);--structured-text-neutral-700:var(--t-text-secondary);--structured-text-neutral-600:var(--t-text-secondary);--structured-text-neutral-500:#64748b;--structured-error-bg:var(--t-bg-error);--structured-error-bg-hover:var(--color-red-200);--structured-error-text:var(--t-text-error);--structured-info-bg:#f0f9ff;--structured-info-bg-hover:#e0f2fe;--structured-info-border:#bae6fd;--structured-info-border-hover:#7dd3fc;--structured-info-text:#0369a1;--structured-primary:var(--color-blue-400);--structured-primary-hover:#2563eb;--structured-shadow-card:0 4px 20px var(--t-shadow-color);--structured-shadow-focus:0 0 0 3px #3b82f61a}.structured-question-overlay{background-color:var(--structured-overlay-bg);z-index:1000;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.structured-question-card{background-color:var(--structured-surface);border-radius:var(--radius-12);padding:var(--space-xl);width:96%;max-width:1000px;max-height:90vh;box-shadow:var(--structured-shadow-card);-webkit-user-select:text;user-select:text;position:relative;overflow-y:auto}.structured-question-close{top:var(--space-md);right:var(--space-md);font-size:var(--font-size-2xl);color:var(--structured-text-secondary);cursor:pointer;padding:var(--space-xs)var(--space-10);border-radius:var(--radius-4);background:0 0;border:none;line-height:1;transition:background-color .15s,color .15s;position:absolute}.structured-question-close:hover{background-color:var(--structured-surface-hover);color:var(--structured-text-primary)}.structured-question-title{margin:0 0 var(--space-lg)0;font-size:var(--font-size-xl);color:var(--structured-text-primary);font-weight:600}.structured-question-error{background-color:var(--structured-error-bg);color:var(--structured-error-text);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-8);margin-bottom:var(--space-lg);font-size:var(--font-size-sm)}.structured-question-columns{gap:var(--space-xl);margin-bottom:var(--space-xl);grid-template-columns:1fr 1.5fr;display:grid}.structured-question-columns--single{grid-template-columns:1fr}@media (max-width:768px){.structured-question-columns{grid-template-columns:1fr}}.structured-question-ocr{background-color:var(--structured-surface-subtle);border:var(--border-width-1)solid var(--structured-border-soft);border-radius:var(--radius-8);padding:var(--space-lg)}.structured-question-ocr h3{margin:0 0 var(--space-md)0;font-size:var(--font-size-base);color:var(--structured-text-neutral-700);font-weight:600}.structured-question-ocr-content{font-family:Courier New,monospace;font-size:var(--font-size-sm);white-space:pre-wrap;word-break:break-word;color:var(--structured-text-neutral-600);max-height:400px;overflow-y:auto}.structured-question-form h3{margin:0 0 var(--space-lg)0;font-size:var(--font-size-base);color:var(--structured-text-neutral-700);font-weight:600}.structured-field{margin-bottom:var(--space-lg)}.structured-field label{font-size:var(--font-size-sm);color:var(--structured-text-neutral-700);margin-bottom:var(--space-6);font-weight:500;display:block}.structured-field textarea,.structured-field input[type=text]{width:100%;padding:var(--space-10)var(--space-md);border:var(--border-width-1)solid var(--structured-border-default);border-radius:var(--radius-6);font-size:var(--font-size-sm);resize:vertical;-webkit-user-select:text;user-select:text;font-family:inherit;transition:border-color .15s,box-shadow .15s}.structured-field textarea:focus,.structured-field input[type=text]:focus{border-color:var(--structured-primary);box-shadow:var(--structured-shadow-focus);outline:none}.structured-field-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.structured-field-header label{margin-bottom:0}.structured-hint{font-size:var(--font-size-sm);color:var(--structured-text-tertiary);margin:var(--space-xs)0;font-style:italic}.structured-part-row{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.structured-part-label{color:var(--structured-text-neutral-700);min-width:var(--space-xl);font-weight:600}.structured-part-text{flex:1}.structured-part-marks{text-align:center;width:60px}.structured-mark-items{gap:var(--space-sm);flex-direction:column;display:flex}.structured-mark-row{align-items:center;gap:var(--space-sm);display:flex}.structured-mark-type{width:50px;padding:var(--space-sm);border:var(--border-width-1)solid var(--structured-border-default);border-radius:var(--radius-6);font-size:var(--font-size-sm);background-color:var(--structured-surface)}.structured-mark-value{text-align:center;width:40px;padding:var(--space-sm);border:var(--border-width-1)solid var(--structured-border-default);border-radius:var(--radius-6)}.structured-mark-text{padding:var(--space-sm)var(--space-md);border:var(--border-width-1)solid var(--structured-border-default);border-radius:var(--radius-6);flex:1}.structured-mark-scheme-actions{gap:var(--space-sm);display:flex}.structured-action-btn{padding:var(--space-6)var(--space-md);border:var(--border-width-1)solid var(--structured-border-default);background-color:var(--structured-surface);color:var(--structured-text-neutral-700);font-size:var(--font-size-xs);border-radius:var(--radius-6);cursor:pointer;font-weight:500;transition:background-color .15s,border-color .15s}.structured-action-btn:hover:not(:disabled){background-color:var(--structured-surface-muted);border-color:var(--structured-border-muted)}.structured-action-btn--ai{background-color:var(--structured-info-bg);border-color:var(--structured-info-border);color:var(--structured-info-text)}.structured-action-btn--ai:hover:not(:disabled){background-color:var(--structured-info-bg-hover);border-color:var(--structured-info-border-hover)}.structured-action-btn:disabled{opacity:.5;cursor:not-allowed}.structured-question-loading{background-color:var(--structured-info-bg);color:var(--structured-info-text);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-8);margin-bottom:var(--space-lg);font-size:var(--font-size-sm);border:var(--border-width-1)solid var(--structured-info-border);font-weight:500}.structured-mode-toggle{border:var(--border-width-1)solid var(--structured-border-default);border-radius:var(--radius-6);gap:0;display:flex;overflow:hidden}.structured-mode-toggle button{padding:var(--space-6)var(--space-md);background-color:var(--structured-surface);color:var(--structured-text-neutral-700);font-size:var(--font-size-sm);cursor:pointer;border:none;transition:background-color .15s}.structured-mode-toggle button:not(:last-child){border-right:var(--border-width-1)solid var(--structured-border-default)}.structured-mode-toggle button.active{background-color:var(--structured-primary);color:var(--structured-surface)}.structured-mode-toggle button:hover:not(.active){background-color:var(--structured-surface-muted)}.structured-field-inline{align-items:center;gap:var(--space-md);display:flex}.structured-field-inline label{white-space:nowrap;margin-bottom:0}.structured-total-marks{text-align:center;width:80px}.structured-add-btn{padding:var(--space-6)var(--space-md);border:var(--border-width-1)dashed var(--structured-border-muted);color:var(--structured-text-tertiary);font-size:var(--font-size-sm);border-radius:var(--radius-6);cursor:pointer;background-color:#0000;transition:border-color .15s,color .15s}.structured-add-btn:hover{border-color:var(--structured-primary);color:var(--structured-primary)}.structured-remove-btn{background-color:var(--structured-error-bg);width:28px;height:28px;color:var(--structured-error-text);border-radius:var(--radius-4);cursor:pointer;font-size:var(--font-size-lg);border:none;flex-shrink:0;padding:0;line-height:1;transition:background-color .15s}.structured-remove-btn:hover{background-color:var(--structured-error-bg-hover)}.structured-question-checkbox{margin-top:var(--space-lg);padding:var(--space-md)var(--space-lg);background-color:var(--structured-info-bg);border:var(--border-width-1)solid var(--structured-info-border);border-radius:var(--radius-8)}.structured-question-checkbox label{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--structured-info-text);cursor:pointer;font-weight:500;display:flex}.structured-question-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.structured-question-checkbox .structured-hint{margin:var(--space-6)0 0 26px;color:var(--structured-text-neutral-500)}.structured-question-actions{justify-content:flex-end;gap:var(--space-md);padding-top:var(--space-lg);border-top:var(--border-width-1)solid var(--structured-border-soft);display:flex}.structured-cancel-btn{padding:var(--space-10)var(--space-20);border:var(--border-width-1)solid var(--structured-border-default);background-color:var(--structured-surface);color:var(--structured-text-neutral-700);font-size:var(--font-size-base);border-radius:var(--radius-8);cursor:pointer;font-weight:500;transition:background-color .15s}.structured-cancel-btn:hover:not(:disabled){background-color:var(--structured-surface-muted)}.structured-save-btn{padding:var(--space-10)var(--space-20);background-color:var(--structured-primary);color:var(--structured-surface);font-size:var(--font-size-base);border-radius:var(--radius-8);cursor:pointer;border:none;font-weight:500;transition:background-color .15s,opacity .15s}.structured-save-btn:hover:not(:disabled){background-color:var(--structured-primary-hover)}.structured-save-btn:disabled,.structured-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.structured-ocr-indicator{font-size:var(--font-size-xs);color:var(--structured-info-text);margin-left:var(--space-sm);font-weight:400}.structured-spec-selector{border:var(--border-width-1)solid var(--structured-border-soft);border-radius:var(--radius-8);padding:var(--space-md);margin-top:var(--space-sm);background-color:var(--structured-surface-subtle);max-height:300px;overflow-y:auto}
.minimal-whiteboard-container{flex-direction:row;align-items:flex-start;padding:12px;display:flex}.minimal-whiteboard-controls{flex-direction:column;gap:8px;margin-right:16px;display:flex}.minimal-whiteboard-name-row{margin-bottom:8px}.minimal-whiteboard-rename-input{border:1px solid var(--t-border-default);border-radius:4px;width:100%;padding:4px 8px;font-size:14px}.minimal-whiteboard-name{cursor:pointer;background-color:var(--t-bg-hover);border-radius:4px;padding:4px 8px;font-size:14px;font-weight:700}.minimal-whiteboard-ocr-btn{margin-top:12px}.minimal-whiteboard-ocr-result{background-color:var(--t-bg-hover);word-break:break-word;border-radius:4px;max-width:200px;margin-top:8px;padding:8px;font-size:12px}.minimal-whiteboard-ocr-result pre{white-space:pre-wrap;margin:4px 0 0;font-size:11px}.minimal-whiteboard-canvas-container{justify-content:center;display:flex}.minimal-whiteboard-canvas{border:1px solid var(--t-border-default);background-color:var(--t-bg-surface);touch-action:none}
.user-notes-input-add-btn{margin:var(--space-sm)0;background-color:var(--t-bg-elevated);border:var(--border-width-1)dashed var(--t-border-default)}.user-notes-input{margin:var(--space-sm)0;padding:var(--space-md);background-color:var(--t-bg-warning);border:var(--border-width-1)solid var(--color-amber-100);border-radius:var(--radius-6);box-sizing:border-box;overflow:hidden}.user-notes-input-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.user-notes-input-label{font-size:var(--font-size-px-12);color:var(--t-text-secondary);font-weight:600}.user-notes-input-controls{align-items:center;gap:var(--space-sm);display:flex}.user-notes-input-hide-btn{padding:var(--space-2)var(--space-sm);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--space-3);font-size:var(--font-size-px-12);background:0 0}.user-notes-input-hide-btn--enabled{cursor:pointer;color:var(--t-text-secondary)}.user-notes-input-hide-btn--disabled{cursor:not-allowed;color:var(--t-text-hint)}.user-notes-input-textarea{width:100%;min-height:180px;padding:var(--space-10);font-size:var(--font-size-px-14);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--radius-4);resize:vertical;background-color:var(--t-bg-input);color:var(--t-text-primary);box-sizing:border-box;font-family:inherit}.user-notes-input-status{font-size:var(--font-size-px-12);color:var(--t-text-muted);margin-top:var(--space-xs)}
.brush-style-toggle-container{gap:var(--space-xs);margin-top:var(--space-md);flex-direction:column;display:flex}.brush-style-toggle-label{font-size:var(--font-size-px-12);color:#666}.brush-style-toggle-btn{align-items:center;gap:var(--space-6);padding:var(--space-6)var(--space-10);display:flex}.brush-style-toggle-icon{width:var(--space-lg);height:var(--space-lg);justify-content:center;align-items:center;display:flex}.brush-style-toggle-text{font-size:var(--font-size-px-12)}
.rename-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rename-modal{background:var(--t-bg-surface);border-radius:var(--radius-12);padding:var(--space-xl);width:90%;max-width:400px;box-shadow:0 10px 40px var(--color-black-a20)}.rename-modal h3{margin:0 0 var(--space-lg)0;color:var(--goals-primary-dark);font-size:var(--font-size-px-20)}.rename-modal-input-row{gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.rename-modal-input-row input{padding:var(--space-10)var(--space-md);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--radius-6);font-size:var(--font-size-px-14);flex:1}.rename-modal-input-row input:focus{border-color:var(--color-rename-btn-border);outline:none;box-shadow:0 0 0 2px #4a7c5933}.auto-generate-btn{padding:var(--space-10)var(--space-lg);background:var(--t-bg-success);border:var(--border-width-1)solid var(--color-rename-btn-border);border-radius:var(--radius-6);color:var(--color-rename-btn-border);cursor:pointer;white-space:nowrap;font-weight:600}.auto-generate-btn:hover:not(:disabled){background:var(--color-rename-btn-border);color:var(--color-white)}.auto-generate-btn:disabled{opacity:.6;cursor:wait}.rename-modal .modal-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.rename-modal .modal-actions button{padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-6);font-size:var(--font-size-px-14);cursor:pointer;border:var(--border-width-1)solid var(--t-border-default);background:var(--t-bg-surface)}.rename-modal .modal-actions button:hover{background:var(--t-bg-hover)}.rename-modal .modal-actions button.primary{background:var(--color-rename-btn-border);color:var(--color-white);border-color:var(--color-rename-btn-border)}.rename-modal .modal-actions button.primary:hover:not(:disabled){background:#3d6349}.rename-modal .modal-actions button.primary:disabled{opacity:.5;cursor:not-allowed}
.dashboard-welcome-container{text-align:center;padding:var(--space-50);max-width:800px;margin:0 auto;padding-bottom:400px}.dashboard-welcome-content{text-align:left;margin-top:var(--space-30);line-height:1.6;font-size:var(--font-size-md)}.dashboard-welcome-heading{margin-top:var(--space-20)}.dashboard-welcome-list{padding-left:var(--space-xl)}.dashboard-welcome-btn{padding:var(--btn-padding);font-size:var(--font-size-base);margin-top:var(--space-30);cursor:pointer;border-radius:var(--btn-radius);color:var(--sem-text-on-dark);background-color:var(--sem-surface-dark-elevated);border:none;font-weight:500;transition:all .2s}.dashboard-welcome-btn:hover{background-color:var(--btn-primary-hover);transform:translateY(-2px)}.continue-card{justify-content:space-between;align-items:center;gap:var(--space-xl);background-color:var(--btn-success-bg);color:var(--btn-success-text);border-radius:var(--btn-radius);padding:var(--space-xl)var(--space-2xl);margin-bottom:var(--space-xl);box-shadow:0 var(--space-2)var(--space-sm)#00000026;display:flex}.continue-card__text{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.continue-card__label{font-size:var(--font-size-sm);opacity:.85;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide-em)}.continue-card__bundle-name{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.continue-card__btn{padding:var(--btn-padding-sm);font-size:var(--font-size-base);cursor:pointer;border-radius:var(--btn-radius);border:var(--border-width-2)solid var(--btn-success-text);color:var(--btn-success-bg);background-color:var(--btn-success-text);flex-shrink:0;font-weight:600;transition:background-color .2s,color .2s,transform .2s}.continue-card__btn:hover{color:var(--btn-success-text);background-color:#0000;transform:translateY(-1px)}@media (max-width:480px){.continue-card{flex-direction:column;align-items:flex-start}.continue-card__btn{text-align:center;width:100%}}
.note-photo-page{padding:var(--space-xl);max-width:800px;margin:0 auto}.note-photo-page__title{font-size:var(--font-size-xl);color:var(--t-text-primary);margin:0 0 var(--space-xs)0}.note-photo-page__subtitle{font-size:var(--font-size-sm);color:var(--t-text-muted);margin:0 0 var(--space-xl)0}.note-photo-page__loading{color:var(--t-text-muted);font-size:var(--font-size-sm);padding:var(--space-xl)0;text-align:center}.note-photo-page__error{color:var(--t-text-error);font-size:var(--font-size-sm);padding:var(--space-sm)0}.note-photo-capture{margin-bottom:var(--space-xl)}.note-photo-capture__input{display:none}.note-photo-camera-btn{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-40)var(--space-xl);border:var(--border-width-2)dashed var(--t-border-default);border-radius:var(--radius-12);background:var(--t-bg-card-subtle);color:var(--t-text-secondary);cursor:pointer;flex-direction:column;transition:border-color .15s,background-color .15s;display:flex}.note-photo-camera-btn:hover{border-color:var(--canon-accent);background:var(--color-gold-accent-a10)}.note-photo-camera-btn__icon{font-size:var(--font-size-2xl);color:var(--canon-accent);line-height:1}.note-photo-camera-btn__label{font-size:var(--font-size-sm)}.note-photo-preview-section{margin-bottom:var(--space-xl)}.note-photo-preview{object-fit:contain;border-radius:var(--radius-8);border:var(--border-width-1)solid var(--t-border-default);width:100%;height:auto;max-height:400px;margin-bottom:var(--space-lg);background:var(--t-bg-surface)}.note-photo-preview-controls{gap:var(--space-sm);flex-direction:column;display:flex}.note-photo-subject-select{padding:var(--space-sm)var(--space-md);border-radius:var(--radius-6);border:var(--border-width-1)solid var(--t-border-default);background:var(--t-bg-input);color:var(--t-text-primary);font-size:var(--font-size-sm)}.note-photo-preview-actions{gap:var(--space-sm);display:flex}.note-photo-confirm-btn{padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-6);background:var(--canon-accent);color:var(--canon-bg-primary);font-size:var(--font-size-sm);cursor:pointer;border:none;font-weight:600;transition:background-color .15s}.note-photo-confirm-btn:hover{background:var(--canon-accent-hover)}.note-photo-cancel-btn{padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-6);border:var(--border-width-1)solid var(--t-border-default);color:var(--t-text-secondary);font-size:var(--font-size-sm);cursor:pointer;background:0 0;transition:background-color .15s}.note-photo-cancel-btn:hover{background:var(--t-bg-hover)}.note-photo-progress-section{margin-bottom:var(--space-xl);text-align:center}.note-photo-progress{justify-content:center;align-items:center;gap:var(--space-xl);padding:var(--space-xl)0;display:flex}.note-photo-progress__step{align-items:center;gap:var(--space-xs);color:var(--t-text-hint);font-size:var(--font-size-sm);display:flex}.note-photo-progress__dot{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-50);background:var(--t-border-default);transition:background-color .2s}.note-photo-progress__step--active .note-photo-progress__dot{background:var(--canon-accent);box-shadow:0 0 6px var(--color-gold-accent-a30)}.note-photo-progress__step--active .note-photo-progress__label{color:var(--canon-accent);font-weight:600}.note-photo-progress__step--done .note-photo-progress__dot{background:var(--canon-success)}.note-photo-progress__step--done .note-photo-progress__label{color:var(--t-text-secondary)}.note-photo-progress__step--error{color:var(--t-text-error);font-weight:600}.note-photo-history{margin-top:var(--space-xl)}.note-photo-history__title{font-size:var(--font-size-base);color:var(--t-text-primary);margin:0 0 var(--space-lg)0}.note-photo-history__empty{color:var(--t-text-muted);font-size:var(--font-size-sm);padding:var(--space-xl)0;text-align:center}.note-photo-card-list{gap:var(--space-sm);flex-direction:column;display:flex}.note-photo-card{align-items:flex-start;gap:var(--space-xs);padding:var(--space-lg);border-radius:var(--radius-8);border:var(--border-width-1)solid var(--t-border-soft);background:var(--t-bg-card);cursor:pointer;text-align:left;flex-direction:column;width:100%;transition:border-color .15s,box-shadow .15s;display:flex}.note-photo-card:hover{border-color:var(--canon-accent);box-shadow:var(--t-shadow-card)}.note-photo-card__top{gap:var(--space-xs);display:flex}.note-photo-card__date{font-size:var(--font-size-xs);color:var(--t-text-muted)}.note-photo-card__subject{font-size:var(--font-size-sm);color:var(--t-text-secondary)}.note-photo-card__observations{font-size:var(--font-size-xs);color:var(--t-text-muted)}.note-photo-status-badge{padding:var(--space-1)var(--space-sm);border-radius:var(--radius-4);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);font-weight:600;display:inline-block}.note-photo-status-badge--pending{background:var(--t-bg-warning);color:var(--t-text-warning)}.note-photo-status-badge--traversing{background:var(--t-bg-info);color:var(--t-text-info)}.note-photo-status-badge--complete{background:var(--t-bg-success);color:var(--t-text-success)}.note-photo-status-badge--failed{background:var(--t-bg-error);color:var(--t-text-error)}.note-photo-quality-badge{padding:var(--space-1)var(--space-sm);border-radius:var(--radius-4);font-size:var(--font-size-xs);font-weight:500;display:inline-block}.note-photo-quality-badge--excellent{background:var(--color-success-bright-a15);color:var(--t-text-success)}.note-photo-quality-badge--good{background:var(--color-success-bright-a10);color:var(--t-text-success)}.note-photo-quality-badge--adequate{background:var(--t-bg-warning);color:var(--t-text-warning)}.note-photo-quality-badge--poor{background:var(--t-bg-error);color:var(--t-text-error)}.note-photo-back-btn{align-items:center;gap:var(--space-xs);padding:var(--space-xs)0;color:var(--t-text-muted);font-size:var(--font-size-sm);cursor:pointer;margin-bottom:var(--space-lg);background:0 0;border:none;display:inline-flex}.note-photo-back-btn:hover{color:var(--t-text-primary)}.note-photo-detail__header{margin-bottom:var(--space-xl)}.note-photo-detail__header h2{font-size:var(--font-size-xl);color:var(--t-text-primary);margin:0 0 var(--space-sm)0}.note-photo-detail__meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.note-photo-detail__date{font-size:var(--font-size-xs);color:var(--t-text-muted)}.note-photo-detail__image-container{margin-bottom:var(--space-xl)}.note-photo-detail__image{object-fit:contain;border-radius:var(--radius-8);border:var(--border-width-1)solid var(--t-border-default);background:var(--t-bg-surface);width:100%;height:auto;max-height:500px}.note-photo-detail__summary{padding:var(--space-lg);border-radius:var(--radius-8);background:var(--t-bg-card-subtle);border:var(--border-width-1)solid var(--t-border-soft);margin-bottom:var(--space-xl)}.note-photo-detail__summary h3{font-size:var(--font-size-base);color:var(--t-text-primary);margin:0 0 var(--space-sm)0}.note-photo-detail__summary p{font-size:var(--font-size-sm);color:var(--t-text-secondary);margin:0;line-height:1.6}.note-photo-detail__observations{gap:var(--space-xl);flex-direction:column;display:flex}.note-photo-observation-group__title{font-size:var(--font-size-base);color:var(--t-text-primary);margin:0 0 var(--space-md)0;padding-bottom:var(--space-xs);border-bottom:var(--border-width-1)solid var(--t-border-soft)}.note-photo-observation{padding:var(--space-md);border-radius:var(--radius-6);background:var(--t-bg-card);border:var(--border-width-1)solid var(--t-border-soft);margin-bottom:var(--space-sm)}.note-photo-observation__text{font-size:var(--font-size-sm);color:var(--t-text-primary);margin:0 0 var(--space-sm)0;line-height:1.5}.note-photo-observation__low-confidence{font-size:var(--font-size-xs);color:var(--t-text-warning);margin-bottom:var(--space-sm);display:inline-block}.note-photo-observation__mappings{gap:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.note-photo-spec-tag{padding:var(--space-1)var(--space-sm);border-radius:var(--radius-4);font-size:var(--font-size-xs);font-weight:500;display:inline-block}.note-photo-spec-tag--covered{background:var(--color-success-bright-a12);color:var(--t-text-success)}.note-photo-spec-tag--gap{background:var(--t-bg-warning);color:var(--t-text-warning)}.note-photo-spec-tag--misconception{background:var(--t-bg-error);color:var(--t-text-error)}.note-photo-spec-tag--prerequisite_missing{background:var(--t-bg-info);color:var(--t-text-info)}.note-photo-principle-tag{padding:var(--space-1)var(--space-sm);border-radius:var(--radius-4);font-size:var(--font-size-xs);border:var(--border-width-1)solid var(--t-border-soft);font-weight:500;display:inline-block}.note-photo-principle-tag--demonstrated{background:var(--color-success-bright-a10);color:var(--t-text-success)}.note-photo-principle-tag--referenced{background:var(--t-bg-card-subtle);color:var(--t-text-secondary)}.note-photo-principle-tag--missing{background:var(--t-bg-warning);color:var(--t-text-warning)}.note-photo-principle-tag--misconceived{background:var(--t-bg-error);color:var(--t-text-error)}@media (max-width:768px){.note-photo-page{padding:var(--space-lg)}.note-photo-progress{gap:var(--space-sm);flex-direction:column}.note-photo-preview-actions{flex-direction:column}.note-photo-confirm-btn,.note-photo-cancel-btn{text-align:center;width:100%}}
.analysis-modal-overlay{background-color:var(--t-bg-overlay);z-index:1100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.analysis-modal-card{background-color:var(--t-bg-page);border-radius:var(--space-lg);padding:var(--space-2xl);width:95%;max-width:800px;max-height:85vh;box-shadow:0 8px 32px var(--t-shadow-color);position:relative;overflow-y:auto}.analysis-modal-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.analysis-modal-header h2{color:var(--t-text-primary);margin:0;font-size:1.6rem}.analysis-modal-close{font-size:var(--font-size-2xl);cursor:pointer;color:var(--t-text-secondary);width:var(--space-2xl);height:var(--space-2xl);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .2s;display:flex}.analysis-modal-close:hover{color:var(--t-text-primary)}.analysis-modal-loading{text-align:center;padding:var(--space-50)0}.analysis-spinner{border:var(--space-xs)solid var(--t-bg-hover);border-top:var(--space-xs)solid var(--sem-action-accent);border-radius:var(--radius-50);width:var(--space-40);height:var(--space-40);margin:0 auto var(--space-lg);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analysis-modal-loading p{color:var(--t-text-secondary);font-size:var(--font-size-px-16)}.analysis-modal-error{background-color:var(--t-bg-error);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--mild-border-radius);padding:var(--space-lg);color:var(--t-text-error);text-align:center}.analysis-modal-content{gap:var(--space-lg);flex-direction:column;display:flex}.analysis-section{border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--mild-border-radius);overflow:hidden}.analysis-section-header{background-color:var(--t-bg-card-subtle);padding:var(--space-md)var(--space-lg);font-size:var(--font-size-px-16);color:var(--t-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:var(--space-sm);margin:0;font-weight:600;transition:background-color .2s;display:flex}.analysis-section-header:hover{background-color:var(--t-bg-hover)}.analysis-section-body{padding:var(--space-lg);background-color:var(--t-bg-surface)}.analysis-latex-display{text-align:center;justify-content:center;align-items:center;min-height:60px;font-size:1.3rem;display:flex}.analysis-topics-list{margin:0;padding:0;list-style:none}.analysis-topics-list li{padding:var(--space-sm)var(--space-md);margin-bottom:var(--space-sm);background-color:var(--color-surface-near-white);border-left:var(--space-3)solid var(--sem-action-accent);border-radius:var(--slight-border-radius)}.analysis-problem{padding:var(--space-md);margin-bottom:var(--space-md);background-color:var(--t-bg-card-subtle);border-radius:var(--mild-border-radius);border:var(--border-width-1)solid var(--t-border-default)}.analysis-problem:last-child{margin-bottom:0}.analysis-problem-question{margin-bottom:var(--space-sm);line-height:1.6}.analysis-problem-hint{color:var(--t-text-secondary);font-size:var(--font-size-sm);padding-left:var(--space-20);border-left:var(--border-width-2)solid var(--t-border-default)}.analysis-spec-item{padding:var(--space-10)var(--space-md);margin-bottom:var(--space-sm);background-color:var(--color-blue-soft-bg);border-left:var(--space-3)solid #4a90e2;border-radius:var(--slight-border-radius);gap:var(--space-xs);flex-direction:column;display:flex}.analysis-spec-number{color:var(--color-admin-primary);font-weight:600;font-size:var(--font-size-sm)}.analysis-spec-text{color:var(--t-text-primary);line-height:1.4}.analysis-spec-topic{color:var(--t-text-muted);font-size:var(--font-size-sm);font-style:italic}.analysis-meta{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:var(--border-width-1)solid var(--t-border-soft);text-align:center;color:var(--t-text-muted);font-size:var(--font-size-xs)}.ocr-modal-error{color:var(--t-text-error);font-size:var(--font-size-sm);margin-top:var(--space-sm);padding:var(--space-sm);background-color:var(--t-bg-error);border-radius:var(--slight-border-radius)}
.syllabus-page{max-width:900px;padding:var(--space-xl);margin:0 auto}.syllabus-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.syllabus-header h1{font-size:var(--font-size-xl);color:var(--t-text-primary);margin:0}.syllabus-spec-selector{padding:var(--space-sm)var(--space-lg);font-size:var(--font-size-base);border-radius:var(--radius-6);border:var(--border-width-1)solid var(--t-border-default);background:var(--t-bg-card-subtle);cursor:pointer}.syllabus-loading,.syllabus-error{text-align:center;padding:var(--space-xl);color:var(--t-text-secondary)}.syllabus-error{color:var(--sem-danger)}.syllabus-login-prompt{text-align:center;padding:var(--space-40)var(--space-xl);background:var(--t-bg-card-subtle);border-radius:var(--radius-8);margin:var(--space-xl)0}.syllabus-login-prompt p{margin:0 0 var(--space-lg)0;font-size:var(--font-size-md);color:var(--t-text-secondary)}.syllabus-login-btn{padding:var(--space-md)var(--space-xl);font-size:var(--font-size-base);background:var(--goals-primary,#4a7c59);color:var(--color-white);border-radius:var(--radius-8);cursor:pointer;border:none;font-weight:600;transition:background .2s,transform .15s}.syllabus-login-btn:hover{background:var(--goals-primary-dark,#3d6349);transform:translateY(-1px)}.syllabus-meta{background:var(--t-bg-card-subtle);border-radius:var(--radius-8);padding:var(--space-xl);margin-bottom:var(--space-xl)}.syllabus-meta h2{margin:0 0 var(--space-sm)0;font-size:var(--font-size-lg)}.syllabus-meta p{margin:0 0 var(--space-lg)0;color:var(--t-text-secondary)}.syllabus-overall-progress h3{margin:0 0 var(--space-sm)0;font-size:var(--font-size-base);font-weight:600}.syllabus-progress-container{align-items:center;gap:var(--space-md);min-width:200px;display:flex}.syllabus-progress-bar{height:var(--space-sm);background:var(--t-bg-elevated);border-radius:var(--radius-4);flex:1;overflow:hidden}.syllabus-progress-fill{border-radius:var(--radius-4);height:100%;width:var(--syllabus-progress-width,0%);background-color:var(--syllabus-progress-color,var(--sem-success));transition:width .3s}.syllabus-progress-text{font-size:var(--font-size-xs);color:var(--t-text-secondary);white-space:nowrap}.syllabus-units{gap:var(--space-sm);flex-direction:column;display:flex}.syllabus-unit{background:var(--t-bg-card);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--radius-8);overflow:hidden}.syllabus-unit-header{align-items:center;gap:var(--space-md);padding:var(--space-lg);cursor:pointer;background:var(--t-bg-card-subtle);transition:background .2s;display:flex}.syllabus-unit-header:hover{background:var(--t-bg-hover)}.syllabus-unit-name{flex:1;font-weight:600}.syllabus-unit-content{padding:var(--space-sm)var(--space-lg)var(--space-lg)}.syllabus-topic{margin-bottom:var(--space-xs);margin-left:var(--syllabus-topic-indent,0)}.syllabus-topic-header{align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-4);transition:background .2s;display:flex}.syllabus-topic-header.clickable{cursor:pointer}.syllabus-topic-header.clickable:hover{background:var(--t-bg-card-subtle)}.syllabus-topic-name{flex:1;font-weight:500}.syllabus-topic-content{margin-left:var(--space-xl);padding-left:var(--space-sm);border-left:var(--border-width-2)solid var(--t-border-default)}.syllabus-expand-icon{width:var(--space-lg);height:var(--space-lg);font-size:var(--font-size-xs);color:var(--t-text-secondary);justify-content:center;align-items:center;display:flex}.syllabus-spec-item{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-4);font-size:var(--font-size-sm);line-height:1.4;display:flex}.syllabus-spec-item.touched{background:var(--t-bg-success)}.syllabus-spec-item.untouched{background:var(--t-bg-elevated)}.syllabus-spec-item.ability-strong{background:var(--t-bg-success);border-left:var(--border-width-3)solid var(--sem-success)}.syllabus-spec-item.ability-good{background:var(--t-bg-success);border-left:var(--border-width-3)solid #8bc34a}.syllabus-spec-item.ability-developing{background:var(--t-bg-warning);border-left:var(--border-width-3)solid var(--sem-warning)}.syllabus-spec-item.ability-weak{background:var(--t-bg-error);border-left:var(--border-width-3)solid var(--sem-danger)}.syllabus-spec-item.ability-seen{background:var(--t-bg-hover);border-left:var(--border-width-3)solid var(--t-text-muted)}.syllabus-ability-badge{background-color:var(--syllabus-ability-bg,var(--color-secondary,#6c757d));font-size:var(--font-size-xs);padding:var(--space-2)var(--space-sm);border-radius:var(--radius-12);color:var(--color-white);white-space:nowrap;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);font-weight:600}.syllabus-spec-number{color:var(--t-text-secondary);min-width:2rem;font-weight:600}.syllabus-spec-text{flex:1}.syllabus-spec-stats{font-size:var(--font-size-xs);color:var(--t-text-secondary);white-space:nowrap}.syllabus-practice-btn-group{gap:var(--space-xs);flex-shrink:0;margin-left:auto;display:flex}.syllabus-practice-btn{padding:var(--space-xs)var(--space-10);font-size:var(--font-size-px-12);color:var(--color-white);border-radius:var(--radius-4);cursor:pointer;white-space:nowrap;border:none;font-weight:500;transition:opacity .2s,background .2s}.syllabus-practice-btn--conceptual{background:var(--sem-info)}.syllabus-practice-btn--conceptual:hover:not(:disabled){background:#138496}.syllabus-practice-btn--quantitative{background:var(--sem-success)}.syllabus-practice-btn--quantitative:hover:not(:disabled){background:#218838}.syllabus-practice-btn--one-mark{background:var(--sem-warning);color:var(--t-text-primary)}.syllabus-practice-btn--one-mark:hover:not(:disabled){background:#e0a800}.syllabus-practice-btn--practice{background:var(--goals-primary,#4a7c59)}.syllabus-practice-btn--practice:hover:not(:disabled){background:var(--goals-primary-dark,#3d6349)}.syllabus-practice-btn--synoptic{background:var(--color-amber-deep)}.syllabus-practice-btn--synoptic:hover:not(:disabled){background:#bf360c}.syllabus-practice-btn--session{background:var(--color-violet-500)}.syllabus-practice-btn--session:hover:not(:disabled){background:var(--color-violet-600)}.syllabus-practice-btn--quick{background:var(--color-blue-400)}.syllabus-practice-btn--quick:hover:not(:disabled){background:var(--whiteboard-toolbar-accent)}.syllabus-practice-btn--medium{background:var(--color-errors-resolve-bg)}.syllabus-practice-btn--medium:hover:not(:disabled){background:var(--color-green-emerald)}.syllabus-practice-btn--extended{background:var(--sem-warning)}.syllabus-practice-btn--extended:hover:not(:disabled){background:var(--color-amber-warm-500)}.syllabus-practice-btn--challenge{background:var(--color-danger-bright)}.syllabus-practice-btn--challenge:hover:not(:disabled){background:var(--color-red-600)}.syllabus-practice-btn:disabled{opacity:.5;cursor:wait}.syllabus-mark-select{padding:var(--space-3)var(--space-6);font-size:var(--font-size-px-12);border:var(--border-width-1)solid var(--t-border-default);border-radius:var(--radius-4);background:var(--t-bg-input);color:var(--t-text-primary);cursor:pointer;min-width:64px;font-weight:500;transition:border-color .15s}.syllabus-mark-select:hover:not(:disabled){border-color:var(--t-text-hint)}.syllabus-mark-select:focus{border-color:var(--whiteboard-toolbar-accent);outline:none}.syllabus-mark-select:disabled{opacity:.5;cursor:wait}@media (max-width:600px){.syllabus-page{padding:var(--space-lg)}.syllabus-header{flex-direction:column;align-items:flex-start}.syllabus-spec-selector{width:100%}.syllabus-progress-container{align-items:flex-start;gap:var(--space-xs);flex-direction:column;min-width:auto}.syllabus-progress-bar{width:100%}.syllabus-unit-header{flex-wrap:wrap}.syllabus-practice-btn-group{gap:var(--space-2);flex-direction:column}.syllabus-practice-btn{padding:var(--space-3)var(--space-sm);font-size:var(--font-size-px-10)}}
.progress-dashboard{max-width:1200px;padding:var(--space-xl);margin:0 auto}.progress-dashboard-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:flex-start;display:flex}.progress-dashboard-title{font-size:var(--font-size-2xl);color:var(--t-text-primary);margin:0 0 var(--space-sm)0;font-weight:600}.progress-dashboard-subtitle{font-size:var(--font-size-px-14);color:var(--t-text-secondary);margin:0}.refresh-button{padding:var(--btn-padding-sm);font-size:var(--font-size-sm);background:var(--btn-neutral-bg);color:var(--btn-neutral-text);border:var(--border-width-1)solid var(--btn-neutral-border);border-radius:var(--btn-radius);cursor:pointer;font-weight:500;transition:all .2s}.refresh-button:hover:not(:disabled){background:var(--btn-neutral-hover);transform:translateY(-1px)}.refresh-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.progress-dashboard-loading,.progress-dashboard-error{min-height:var(--layout-panel-min-h);color:var(--t-text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-spinner{width:var(--space-2xl);height:var(--space-2xl);border:var(--space-3)solid var(--t-border-soft);border-top-color:var(--color-success-700);margin-bottom:var(--space-lg);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-encouragement-banner{margin-bottom:var(--space-xl)}.dashboard-encouragement-message{padding:var(--space-lg)var(--space-20);background:linear-gradient(135deg,var(--color-purple-50),#e1bee7  );border-radius:var(--mild-border-radius);margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.dashboard-encouragement-text{font-size:var(--font-size-px-16);color:var(--color-purple-700);flex:1;line-height:1.5}.dashboard-encouragement-dismiss{font-size:var(--font-size-px-20);color:var(--color-purple-700);cursor:pointer;padding:var(--space-xs)var(--space-sm);margin-left:var(--space-md);opacity:.6;background:0 0;border:none;transition:opacity .2s}.dashboard-encouragement-dismiss:hover{opacity:1}.stats-row{gap:var(--space-20);margin-bottom:var(--space-2xl);grid-template-columns:repeat(3,1fr);display:grid}.starred-whiteboards-card{padding:var(--space-xl);margin-bottom:var(--space-xl);border:var(--border-width-1)solid var(--color-amber-warm-200);background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-amber-warm-500)12%,transparent),transparent 32%),linear-gradient(135deg,var(--t-bg-card),var(--color-amber-50))}.starred-whiteboards-teaser{border:var(--border-width-1)solid var(--color-amber-warm-200);background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-amber-warm-500)10%,transparent),transparent 35%),linear-gradient(135deg,var(--t-bg-card),var(--color-amber-50));padding:0;overflow:hidden}.starred-whiteboards-teaser__button{width:100%;height:100%;padding:var(--space-lg)var(--space-xl);cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;display:flex}.starred-whiteboards-teaser__label{font-size:var(--font-size-px-12);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide-em);color:var(--canon-warm-accent);margin-bottom:var(--space-sm);font-weight:700}.starred-whiteboards-teaser__value{font-size:var(--font-size-xl);color:var(--t-text-primary);font-weight:700;line-height:1.1}.starred-whiteboards-teaser__hint{margin-top:var(--space-sm);font-size:var(--font-size-px-12);color:var(--t-text-secondary)}.starred-whiteboards-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.starred-whiteboards-card__eyebrow{margin-bottom:var(--space-xs);font-size:var(--font-size-px-12);letter-spacing:var(--letter-spacing-wide-em);text-transform:uppercase;color:var(--canon-warm-accent);font-weight:700;display:inline-block}.starred-whiteboards-card__title{font-size:var(--font-size-xl);margin:0}.starred-whiteboards-card__button{padding:var(--btn-padding-sm);border:var(--border-width-1)solid var(--color-amber-warm-500);border-radius:var(--btn-radius);background:var(--color-amber-100);color:var(--color-amber-brown-900);cursor:pointer;flex-shrink:0}.starred-whiteboards-card__list{gap:var(--space-sm);display:grid}.starred-whiteboards-card__item{align-items:flex-start;gap:var(--space-md);width:100%;padding:var(--space-md)var(--space-lg);border:var(--border-width-1)solid var(--t-border-soft);border-radius:var(--space-md);background:var(--t-bg-card);text-align:left;cursor:pointer;display:flex}.starred-whiteboards-card__item:hover{border-color:var(--color-amber-warm-500);transform:translateY(-1px)}.starred-whiteboards-card__star{color:var(--canon-warm-accent);font-size:var(--font-size-lg);margin-top:var(--space-xs);line-height:1}.starred-whiteboards-card__text{color:var(--t-text-primary);line-height:1.45}.starred-whiteboards-card__empty{color:var(--t-text-secondary);margin:0}.starred-whiteboards-page__header{margin-bottom:var(--space-xl)}.starred-whiteboards-page__section{gap:var(--space-lg);display:grid}.starred-whiteboards-page__meta{font-size:var(--font-size-px-14);color:var(--t-text-secondary)}.starred-whiteboards-page__list{margin:0}.starred-whiteboards-page__empty{padding:var(--space-2xl);border:var(--border-width-1)dashed var(--t-border-soft);border-radius:var(--space-lg);background:var(--t-bg-card)}.starred-whiteboards-page__empty h2{margin:0 0 var(--space-sm)0}.starred-whiteboards-page__empty p{color:var(--t-text-secondary);margin:0}@media (max-width:768px){.stats-row{grid-template-columns:1fr}.starred-whiteboards-card__header{flex-direction:column}.starred-whiteboards-card__button{width:100%}}.stat-card{background:var(--t-bg-card);border-radius:var(--space-md);padding:var(--space-xl);box-shadow:var(--t-shadow-card);border:var(--border-width-1)solid var(--t-border-soft);position:relative;overflow:hidden}.stat-card--success{border-color:var(--color-green-light-200);background:linear-gradient(135deg,var(--t-bg-card)0%,var(--color-tree-ecf-bg)100%)}.stat-card--warning{border-color:var(--color-orange-100);background:linear-gradient(135deg,var(--t-bg-card)0%,var(--color-amber-50)100%)}.stat-card-content{z-index:1;position:relative}.stat-card-title{font-size:var(--font-size-px-14);color:var(--color-admin-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-sm);font-weight:500}.stat-card-value{font-size:var(--font-size-2xl);color:var(--t-text-primary);font-weight:700;line-height:1.1}.stat-card-subtitle{font-size:var(--font-size-px-12);color:var(--color-admin-text-muted);margin-top:var(--space-6)}.stat-card--compact{padding:var(--space-lg)var(--space-xl)}.stat-card--compact .stat-card-value{font-size:var(--font-size-xl);font-weight:600}.stat-card--compact .stat-card-title{font-size:var(--font-size-px-12)}.stat-card--prominent{padding:var(--space-2xl)var(--space-xl)}.stat-card--prominent .stat-card-value{font-size:var(--font-size-3xl);font-family:var(--font-family-display)}.stat-card--prominent.stat-card--success{border-left:3px solid var(--color-success-700)}.stat-card--prominent.stat-card--warning{border-left:3px solid var(--canon-warm-accent)}.stat-card--needs-practice{border-left:3px solid var(--canon-accent);background:linear-gradient(135deg,var(--t-bg-card)0%,var(--canon-gradient-warning-end)100%)}.stat-card--needs-practice .stat-card-value{color:var(--canon-accent)}.consistency-heatmap-container{background:var(--t-bg-card);border-radius:var(--space-md);padding:var(--space-xl);box-shadow:var(--t-shadow-card);border:var(--border-width-1)solid var(--t-border-soft);margin-bottom:var(--space-2xl)}.consistency-heatmap-header{margin-bottom:var(--space-lg)}.consistency-heatmap-title{font-size:var(--font-size-px-16);color:var(--t-text-primary);margin-bottom:var(--space-2);font-weight:600}.consistency-heatmap-subtitle{font-size:var(--font-size-px-12);color:var(--color-admin-text-muted);font-weight:400}.heatmap-scroll-container{padding-bottom:var(--space-sm);overflow-x:auto}.heatmap-header{gap:var(--space-2);margin-bottom:var(--space-xs);font-size:var(--font-size-px-10);color:var(--color-admin-text-muted);display:grid}.month-label{text-align:left}.heatmap{grid-template-rows:repeat(7,var(--space-md));gap:var(--space-2);display:grid}.day{width:var(--space-10);height:var(--space-10);border-radius:var(--space-2);transition:transform .1s}.day:hover{transform:scale(1.3)}.day.level-0{background:var(--t-bg-hover)}.day.level-1{background:#c6e48b}.day.level-2{background:#7bc96f}.day.level-3{background:#239a3b}.day.level-4{background:#196127}.heatmap-key-container{margin-top:var(--space-md);justify-content:flex-end;display:flex}.heatmap-key{align-items:center;gap:var(--space-xs);font-size:var(--font-size-px-12);color:var(--color-admin-text-muted);display:flex}.heatmap-key-label{margin:0 var(--space-xs)}.next-question-card{padding:var(--space-xl);margin-bottom:var(--space-xl);border:var(--border-width-1)solid var(--color-amber-warm-200);background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-amber-warm-500)12%,transparent),transparent 32%),linear-gradient(135deg,var(--t-bg-card),var(--color-amber-50));gap:var(--space-md);flex-direction:column;display:flex}.next-question-card__eyebrow{font-size:var(--font-size-px-12);text-transform:uppercase;letter-spacing:.08em;color:var(--color-admin-text-muted);font-weight:600}.next-question-card__question{font-size:var(--font-size-px-16);color:var(--t-text-primary);line-height:1.5}.next-question-card__question--placeholder{color:var(--t-text-secondary)}.next-question-card__button{align-self:flex-start;font-weight:600}.mobile-tile-nav{display:none}@media (max-width:900px){.mobile-tile-nav{gap:var(--space-sm);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(104px,1fr));display:grid}.mobile-tile-nav__tile{justify-content:center;align-items:center;gap:var(--space-xs);background:var(--t-bg-card);border:var(--border-width-1)solid var(--t-border-soft);border-radius:var(--space-md);box-shadow:var(--t-shadow-card);padding:var(--space-lg)var(--space-sm);min-height:84px;color:var(--t-text-primary);flex-direction:column;text-decoration:none;display:flex}.mobile-tile-nav__tile:active{background:var(--t-bg-hover)}.mobile-tile-nav__icon{font-size:var(--font-size-px-24);line-height:1}.mobile-tile-nav__label{font-size:var(--font-size-px-12);text-align:center;font-weight:600}}@media (max-width:600px){.progress-dashboard{padding:var(--space-lg)}.progress-dashboard-title{font-size:var(--font-size-px-24)}.stat-card-value{font-size:var(--font-size-2xl)}.consistency-heatmap-container{padding:var(--space-lg)}.heatmap{grid-template-rows:repeat(7,var(--space-sm));gap:var(--space-1)}.day{width:var(--space-sm);height:var(--space-sm)}.day:hover{transform:none}}
.access-page-shell{padding-top:400px;padding-bottom:400px}.subscribe-page-shell{padding:var(--space-50)}.subscribe-page-shell--center{justify-content:center;display:flex}.subscribe-status-page{padding:var(--space-50);text-align:center}.session-new-page-status{padding:var(--space-40);text-align:center;color:var(--color-white-a50)}.generate-error--inline{color:var(--color-admin-error);font-size:var(--font-size-px-12);margin-top:var(--space-xs)}.wizard-action-fullwidth{width:100%}.wizard-navigation--mt-30{margin-top:var(--space-30)}.latex-error{color:var(--color-admin-error);font-family:monospace;font-size:var(--font-size-sm);background-color:var(--t-bg-error);padding:var(--space-2)var(--space-xs);border-radius:var(--space-3);border:var(--border-width-1)solid #fcc}.global-error-boundary{padding:var(--space-2xl);text-align:center;font-family:sans-serif}.global-error-refresh-btn--sized{margin-top:var(--space-lg);padding:var(--space-sm)var(--space-xl);font-size:var(--font-size-base);cursor:pointer}
