.spec-index-page{max-width:960px;padding:var(--space-lg)var(--space-lg)var(--space-80);margin:0 auto}.spec-index-hero{padding:60px 0 var(--space-40);text-align:center}.spec-index-hero h1{font-size:var(--font-size-2xl);color:var(--light-primary-text);margin-bottom:var(--space-md);font-weight:700}.spec-index-subtitle{font-size:var(--font-size-md);color:var(--light-secondary-text)}.spec-index-content{margin-top:var(--space-xl)}.spec-subject-group{margin-bottom:var(--space-50)}.spec-subject-heading{font-size:var(--font-size-xl);color:var(--light-primary-text);border-bottom:var(--border-width-2)solid var(--borders-dividers);padding-bottom:var(--space-sm);margin-bottom:var(--space-lg);font-weight:600}.spec-cards-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.spec-card{background:var(--light-secondary-bg);border:var(--border-width-1)solid var(--borders-dividers);border-radius:var(--mild-border-radius);padding:var(--space-lg);color:var(--light-primary-text);text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.spec-card:hover{border-color:var(--sem-action-accent);box-shadow:0 2px 8px #00000014}.spec-card-board{font-size:var(--font-size-sm);color:var(--sem-action-accent);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide-em);margin-bottom:var(--space-xs);font-weight:700}.spec-card-level{font-size:var(--font-size-base);color:var(--light-primary-text);font-weight:600}.spec-card-meta{margin-top:var(--space-sm)}.spec-card-count{font-size:var(--font-size-xs);color:var(--light-tertiary-text)}.spec-index-cta{text-align:center;padding:var(--space-50)var(--space-xl);background:var(--light-secondary-bg);border-radius:var(--space-lg);border:var(--border-width-1)solid var(--borders-dividers);margin-top:60px}.spec-index-cta p{font-size:var(--font-size-md);color:var(--light-secondary-text);margin-bottom:var(--space-20)}.spec-detail-page{max-width:900px;padding:var(--space-lg)var(--space-lg)var(--space-80);margin:0 auto}.spec-detail-hero{padding:var(--space-40)0 var(--space-40)}.spec-breadcrumb{font-size:var(--font-size-sm);color:var(--light-tertiary-text);margin-bottom:var(--space-md)}.spec-breadcrumb a{color:var(--sem-action-accent);text-decoration:none}.spec-breadcrumb a:hover{text-decoration:underline}.spec-breadcrumb-sep{margin:0 var(--space-xs)}.spec-detail-title{font-size:var(--font-size-2xl);color:var(--light-primary-text);margin-bottom:var(--space-md);font-weight:700}.spec-detail-stats{gap:var(--space-lg);display:flex}.spec-stat{font-size:var(--font-size-sm);color:var(--light-secondary-text);background:var(--light-secondary-bg);border:var(--border-width-1)solid var(--borders-dividers);border-radius:var(--slight-border-radius);padding:var(--space-xs)var(--space-10)}.spec-detail-content{margin-top:var(--space-sm)}.spec-unit{border:var(--border-width-1)solid var(--borders-dividers);border-radius:var(--mild-border-radius);margin-bottom:var(--space-lg);overflow:hidden}.spec-unit-header{width:100%;padding:var(--space-lg)var(--space-20);background:var(--light-secondary-bg);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:var(--space-md);border:none;display:flex}.spec-unit-header:hover{background:#cdd5cd}.spec-unit-name{font-size:var(--font-size-base);color:var(--light-primary-text);margin:0;font-weight:600}.spec-unit-meta{font-size:var(--font-size-xs);color:var(--light-tertiary-text);white-space:nowrap;flex-shrink:0}.spec-unit-body{padding:var(--space-md)var(--space-lg)}.spec-topic{margin-bottom:var(--space-sm)}.spec-topic--depth-1{margin-left:var(--space-20)}.spec-topic--depth-2{margin-left:var(--space-40)}.spec-topic-header{width:100%;padding:var(--space-10)var(--space-md);border-radius:var(--slight-border-radius);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--light-primary-text);background:0 0;border:none;display:flex}.spec-topic-header:hover{background:#cdd5cd}.spec-topic-name{font-size:var(--font-size-base);font-weight:500}.spec-topic-toggle{font-size:var(--font-size-xs);color:var(--light-tertiary-text);flex-shrink:0}.spec-topic-body{padding-left:var(--space-md)}.spec-content-list{margin:var(--space-sm)0 var(--space-md);border-left:var(--border-width-3)solid var(--borders-dividers);padding:0;padding-left:var(--space-lg);list-style:none}.spec-content-item{gap:var(--space-10);padding:var(--space-6)0;font-size:var(--font-size-sm);color:var(--light-secondary-text);border-bottom:var(--border-width-1)solid var(--borders-dividers);line-height:1.5;display:flex}.spec-content-item:last-child{border-bottom:none}.spec-content-number{font-size:var(--font-size-xs);color:var(--sem-action-accent);white-space:nowrap;min-width:48px;padding-top:var(--border-width-1);font-weight:600}.spec-content-text{flex:1}.spec-detail-cta{padding:var(--space-50)var(--space-40);text-align:center;background:var(--light-secondary-bg);border:var(--border-width-1)solid var(--borders-dividers);border-radius:var(--space-lg);margin-top:60px}.spec-detail-cta h3{font-size:var(--font-size-xl);margin-bottom:var(--space-md);color:var(--light-primary-text);font-weight:600}.spec-detail-cta p{font-size:var(--font-size-base);color:var(--light-secondary-text);max-width:560px;margin:0 auto var(--space-xl);line-height:1.6}@media (max-width:768px){.spec-index-hero h1{font-size:var(--font-size-2xl)}.spec-cards-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.spec-detail-title{font-size:var(--font-size-xl)}.spec-unit-header{padding:var(--space-md)var(--space-lg)}.spec-detail-cta{padding:var(--space-40)var(--space-20)}}
:is(html:has(.onboarding-wizard),body:has(.onboarding-wizard)){height:auto!important;overflow-y:auto!important}.onboarding-wizard{background:linear-gradient(180deg,var(--sem-surface-dark)0%,var(--sem-surface-dark-elevated)100%);color:var(--sem-text-on-dark);min-height:100vh;padding:60px var(--space-20);flex-direction:column;justify-content:flex-start;align-items:center;display:flex;overflow-y:auto}.wizard-card{background:var(--sem-surface-glass);border:var(--border-width-1)solid var(--sem-border-dark);border-radius:var(--radius-16);padding:var(--space-50)var(--space-40);width:100%;max-width:600px;box-shadow:0 var(--space-sm)var(--space-2xl)var(--color-black-a30);animation:.5s cubic-bezier(.34,1.56,.64,1) wizard-card-enter;position:relative;overflow:visible}@keyframes wizard-card-enter{0%{opacity:0;transform:translateY(var(--space-30))scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.wizard-progress{gap:var(--space-sm);margin-bottom:var(--space-40);justify-content:center;align-items:center;display:flex}.wizard-progress-dot{width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-50);background:var(--color-white-a20);transition:all .3s}.wizard-progress-dot.active{background:var(--sem-action-accent);width:var(--space-10);height:var(--space-10);box-shadow:0 0 var(--space-md)var(--deep-onboard-accent-tint-50)}.wizard-progress-dot.completed{background:var(--sem-action-accent)}.wizard-step-header{text-align:center;margin-bottom:var(--space-40)}.wizard-step-title{font-size:var(--font-size-2xl);letter-spacing:var(--space-2);margin:0 0 var(--space-14)0;color:var(--sem-text-on-dark);font-weight:300;line-height:1.3}.wizard-step-subtitle{font-size:var(--font-size-md);color:var(--sem-text-on-dark-muted);margin:0;line-height:1.6}.wizard-options{gap:var(--space-lg);margin-bottom:var(--space-40);flex-direction:column;display:flex}.wizard-option-card{background:var(--deep-onboard-surface-03);border:var(--border-width-2)solid var(--sem-border-dark);border-radius:var(--radius-12);padding:var(--space-xl);cursor:pointer;text-align:left;min-height:var(--space-80);-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.wizard-option-card:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#0000 0%,#d4a5740d 100%);width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.wizard-option-card:hover{border-color:var(--wizard-accent-glow-40);background:var(--deep-onboard-surface-03);box-shadow:0 var(--space-xs)var(--space-20)var(--color-black-a20);transform:translateY(-2px)scale(1.01)}.wizard-option-card:hover:before{opacity:1}.wizard-option-card:active{transform:translateY(0)scale(.99)}.wizard-option-card.selected{border-color:var(--sem-action-accent);background:var(--app-explainer-accent-tint-10);box-shadow:0 0 var(--space-20)var(--marketing-page-accent-tint-30)}.wizard-option-card.selected:before{opacity:1}.wizard-option-content{flex:1}.wizard-option-title{font-size:var(--font-size-lg);color:var(--sem-text-on-dark);margin:0 0 var(--space-6)0;letter-spacing:var(--letter-spacing-tight);font-weight:500}.wizard-option-description{font-size:var(--font-size-base);color:var(--color-white-a50);margin:0;line-height:1.5}.wizard-option-indicator{width:var(--space-30);height:var(--space-30);border-radius:var(--radius-50);border:var(--border-width-2)solid var(--wizard-border-medium);margin-left:var(--space-lg);flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex}.wizard-option-card.selected .wizard-option-indicator{background:var(--sem-action-accent);border-color:var(--sem-action-accent)}.wizard-option-indicator:after{content:"✓";color:var(--sem-text-on-dark);font-size:var(--font-size-px-16);opacity:0;font-weight:700;transition:all .3s cubic-bezier(.34,1.56,.64,1);transform:scale(0)}.wizard-option-card.selected .wizard-option-indicator:after{opacity:1;transform:scale(1)}.wizard-options.multi-select{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.wizard-options.multi-select .wizard-option-card{flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:120px}.wizard-options.multi-select .wizard-option-indicator{top:var(--space-lg);right:var(--space-lg);margin:0;position:absolute}.wizard-input-group{margin-bottom:var(--space-30)}.wizard-input-label{font-size:var(--font-size-base);color:var(--color-white-a70);margin-bottom:var(--space-10);letter-spacing:var(--letter-spacing-tight);font-weight:500;display:block}.wizard-input{width:100%;padding:var(--space-lg)var(--space-20);font-size:var(--font-size-md);background:var(--color-white-a10);border:var(--border-width-2)solid var(--color-white-a15);border-radius:var(--radius-8);color:var(--sem-text-on-dark);box-sizing:border-box;outline:none;font-family:inherit;transition:all .3s}.wizard-input:focus{border-color:var(--sem-action-accent);background:var(--color-white-a10);box-shadow:0 0 0 var(--space-3)var(--wizard-accent-glow-15)}.wizard-input::placeholder{color:var(--color-white-a30)}.wizard-navigation{gap:var(--space-lg);margin-top:var(--space-40);justify-content:space-between;display:flex}.wizard-button{padding:var(--space-lg)var(--space-2xl);font-size:var(--font-size-px-14);text-transform:uppercase;letter-spacing:var(--space-2);border-radius:var(--radius-8);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;font-family:inherit;font-weight:700;transition:all .3s;position:relative;overflow:hidden}.wizard-button:before{content:"";border-radius:var(--radius-50);background:var(--color-white-a20);width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wizard-button:active:before{width:var(--layout-panel-min-h);height:var(--layout-panel-min-h)}.wizard-button-primary{background:var(--sem-action-accent);color:var(--color-black);flex:1;position:relative}.wizard-button-primary:hover:not(:disabled){background:var(--wizard-accent-hover);box-shadow:0 var(--space-xs)var(--space-lg)var(--wizard-accent-glow-40);transform:translateY(-2px)}.wizard-button-primary:active:not(:disabled){transform:translateY(0)}.wizard-button-primary:disabled{background:var(--color-white-a10);color:var(--color-white-a30);cursor:not-allowed;opacity:.5}.wizard-button-secondary{color:var(--sem-action-accent);border:var(--border-width-2)solid var(--sem-action-accent);background:0 0;flex:none;min-width:140px}.wizard-button-secondary:hover{background:var(--app-explainer-accent-tint-10);transform:translateY(-2px)}.wizard-button-secondary:active{transform:translateY(0)}.wizard-button-skip{color:var(--color-white-a50);padding:var(--space-md)var(--space-xl);font-size:var(--font-size-px-14);cursor:pointer;text-transform:none;letter-spacing:var(--space-1);background:0 0;border:none;text-decoration:underline;transition:all .3s}.wizard-button-skip:hover{color:var(--color-white-a70)}.wizard-step-welcome{text-align:center}.wizard-welcome-icon{width:var(--space-80);height:var(--space-80);margin:0 auto var(--space-30);background:var(--sem-action-accent);border-radius:var(--radius-50);font-size:var(--font-size-3xl);justify-content:center;align-items:center;animation:.6s cubic-bezier(.34,1.56,.64,1) wizard-welcome-icon;display:flex}@keyframes wizard-welcome-icon{0%{opacity:0;transform:scale(0)rotate(-180deg)}to{opacity:1;transform:scale(1)rotate(0)}}.wizard-step-complete{text-align:center}.wizard-complete-icon{width:var(--space-80);height:var(--space-80);margin:0 auto var(--space-30);background:linear-gradient(135deg,var(--sem-action-accent)0%,var(--wizard-accent-hover)100%);border-radius:var(--radius-50);font-size:var(--font-size-3xl);box-shadow:0 var(--space-sm)var(--space-2xl)var(--wizard-accent-glow-40);justify-content:center;align-items:center;animation:.8s cubic-bezier(.34,1.56,.64,1) wizard-complete-icon;display:flex}@keyframes wizard-complete-icon{0%{opacity:0;transform:scale(0)rotate(-180deg)}50%{transform:scale(1.1)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.wizard-loading{padding:var(--space-40)0;flex-direction:column;justify-content:center;align-items:center;display:flex}.wizard-loading-spinner{width:var(--space-50);height:var(--space-50);border:var(--space-xs)solid var(--color-white-a10);border-top-color:var(--sem-action-accent);border-radius:var(--radius-50);margin-bottom:var(--space-20);animation:1s linear infinite wizard-loading-spin}@keyframes wizard-loading-spin{to{transform:rotate(360deg)}}.wizard-loading-text{font-size:var(--font-size-md);color:var(--sem-text-on-dark-muted);letter-spacing:var(--space-1)}.wizard-error{border:var(--border-width-1)solid #ff525266;border-radius:var(--radius-8);padding:var(--space-lg)var(--space-20);margin-bottom:var(--space-30);color:#f99;font-size:var(--font-size-base);align-items:center;gap:var(--space-md);background:#ff525226;line-height:1.5;display:flex}.wizard-error:before{content:"⚠";font-size:var(--font-size-px-20);flex-shrink:0}.wizard-hint{font-size:var(--font-size-sm);color:var(--color-white-a50);text-align:center;margin-top:var(--space-20);line-height:1.6}.wizard-step-exit{animation:.4s wizard-step-exit-animation}@keyframes wizard-step-exit-animation{to{opacity:0;transform:translate(-30px)scale(.95)}}.wizard-step-enter{animation:.5s cubic-bezier(.34,1.56,.64,1) wizard-step-enter-animation}@keyframes wizard-step-enter-animation{0%{opacity:0;transform:translate(30px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@media (max-width:768px){.onboarding-wizard{padding:var(--space-20)var(--space-lg)}.wizard-card{padding:var(--space-40)var(--space-xl)}.wizard-step-title{font-size:var(--font-size-xl);letter-spacing:var(--space-1)}.wizard-step-subtitle{font-size:var(--font-size-base)}.wizard-option-card{padding:var(--space-20);min-height:70px}.wizard-option-title{font-size:var(--font-size-md)}.wizard-option-description{font-size:var(--font-size-sm)}.wizard-options.multi-select{grid-template-columns:1fr}.wizard-navigation{gap:var(--space-md);flex-direction:column-reverse}.wizard-button{width:100%;padding:var(--space-20)var(--space-2xl)}.wizard-button-secondary{min-width:unset}.wizard-welcome-icon{width:70px;height:70px;font-size:3.5rem}.wizard-complete-icon{width:var(--space-80);height:var(--space-80);font-size:var(--font-size-3xl)}}@media (max-width:480px){.wizard-card{padding:var(--space-30)var(--space-20)}.wizard-step-title{font-size:var(--font-size-xl)}.wizard-option-card{padding:var(--space-lg)}.wizard-button{font-size:var(--font-size-px-14);letter-spacing:var(--letter-spacing-wider)}}@media (prefers-reduced-motion:reduce){.wizard-card,.wizard-welcome-icon,.wizard-complete-icon,.wizard-option-card,.wizard-button,.wizard-step-exit,.wizard-step-enter{transition:none;animation:none}.wizard-option-card:hover,.wizard-button-primary:hover:not(:disabled),.wizard-button-secondary:hover{transform:none}}.wizard-option-card:focus-visible{outline:var(--space-3)solid var(--sem-action-accent);outline-offset:var(--space-2)}.wizard-button:focus-visible{outline:var(--space-3)solid var(--sem-action-accent);outline-offset:var(--space-3)}.wizard-input:focus-visible{box-shadow:0 0 0 var(--space-xs)var(--deep-onboard-accent-tint-20);outline:none}@media (prefers-contrast:high){.wizard-card{border:var(--border-width-2)solid var(--color-white-a30)}.wizard-option-card,.wizard-option-card.selected{border-width:var(--border-width-3)}}.wizard-step-subtitle--tight{margin-bottom:var(--space-sm)}.wizard-step-title--question{font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight)}.wizard-question-card{background:var(--color-white-a10);border-radius:var(--radius-12);padding:var(--space-30)var(--space-xl);margin-bottom:var(--space-xl);text-align:left;line-height:1.7;font-size:var(--font-size-md)}.wizard-question-marks{margin-top:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-white-a50)}.wizard-hint--mb-20{margin-bottom:var(--space-20)}.wizard-model-answer-wrapper{margin-bottom:var(--space-xl)}.wizard-model-answer-card{background:var(--color-gold-accent-a10);border:var(--border-width-1)solid var(--color-gold-accent-a30);border-radius:var(--radius-8);padding:var(--space-20)var(--space-xl);text-align:left;line-height:1.7;font-size:var(--font-size-base)}.wizard-model-answer-label{margin:0 0 var(--space-sm);color:var(--sem-action-accent);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.wizard-navigation--vertical{gap:var(--space-md);flex-direction:column}.wizard-button-secondary--compact{min-width:unset}.wizard-dashboard-link{min-width:unset;text-align:center;text-decoration:none}.wizard-fear-options{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.wizard-fear-card{min-height:var(--space-80)}.wizard-assessment-panel{background:var(--sem-surface-glass);border:var(--border-width-1)solid var(--sem-border-dark);border-radius:var(--radius-12);padding:var(--space-xl);margin-bottom:var(--space-xl)}.wizard-mark-badge{display:inline-block}.wizard-mark-badge.awarded{background:var(--canon-success)}.wizard-mark-badge.missed{background:var(--color-orange-300)}.wizard-fluency-badge{text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);font-weight:700}.wizard-narrative-panel{border:var(--border-width-2)solid var(--color-gold-accent-a30)}@media (max-width:768px){.wizard-fear-options{grid-template-columns:1fr}.wizard-assessment-panel{padding:var(--space-20)}}
.onboard-subject-grid{gap:var(--space-xl);margin-bottom:var(--space-40);flex-direction:column;display:flex}.onboard-subject-group{background:var(--deep-onboard-surface-03);border:var(--border-width-1)solid var(--sem-border-dark);border-radius:var(--radius-12);padding:var(--space-20)}.onboard-subject-name{font-size:var(--font-size-lg);color:var(--sem-text-on-dark);margin-bottom:var(--space-md);letter-spacing:var(--letter-spacing-tight);font-weight:500}.onboard-level-chips,.onboard-grade-chips{gap:var(--space-10);flex-wrap:wrap;display:flex}.onboard-chip{padding:var(--space-10)var(--space-20);font-size:var(--font-size-base);background:var(--sem-surface-glass);border:var(--border-width-2)solid var(--deep-onboard-surface-20);border-radius:var(--radius-8);color:var(--marketing-page-text-80);cursor:pointer;-webkit-tap-highlight-color:transparent;letter-spacing:var(--letter-spacing-tight);font-family:inherit;font-weight:500;transition:all .3s}.onboard-chip:hover{background:var(--deep-onboard-surface-08);border-color:var(--deep-onboard-accent-tint-50);transform:translateY(-2px)}.onboard-chip.selected{background:var(--sem-action-accent);border-color:var(--sem-action-accent);color:var(--deep-onboard-text-inverse);font-weight:600}.onboard-chip:disabled{opacity:.3;cursor:not-allowed}.onboard-exam-board-section{margin-bottom:var(--space-30)}.onboard-subject-label{font-size:var(--font-size-base);color:var(--deep-onboard-text-90);margin-bottom:var(--space-md);letter-spacing:var(--letter-spacing-narrow);font-weight:500}.onboard-topic-input-group{margin-bottom:var(--space-30)}.onboard-topic-input-row{gap:var(--space-md);margin-bottom:var(--space-20);display:flex}.onboard-topic-input-row .wizard-input{flex:1}.onboard-add-button{padding:var(--space-lg)var(--space-30);font-size:var(--font-size-px-14);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);background:var(--sem-action-accent);color:var(--deep-onboard-text-inverse);border-radius:var(--radius-8);cursor:pointer;white-space:nowrap;border:none;font-family:inherit;font-weight:600;transition:all .3s}.onboard-add-button:hover:not(:disabled){background:var(--wizard-accent-hover);transform:translateY(-2px)}.onboard-add-button:disabled{opacity:.3;cursor:not-allowed}.onboard-topic-tags{gap:var(--space-10);flex-wrap:wrap;display:flex}.onboard-topic-tag{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-14);background:var(--deep-onboard-accent-tint-20);border:var(--border-width-1)solid var(--wizard-accent-glow-40);border-radius:var(--space-20);color:var(--sem-text-on-dark);font-size:var(--font-size-sm);font-weight:500;display:inline-flex}.onboard-topic-remove{color:var(--marketing-page-text-80);font-size:var(--font-size-px-20);cursor:pointer;width:var(--space-20);height:var(--space-20);border-radius:var(--radius-50);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:all .2s;display:flex}.onboard-topic-remove:hover{background:var(--deep-onboard-surface-20);color:var(--sem-text-on-dark)}.onboard-topic-select-group{gap:var(--space-20);max-height:400px;padding-right:var(--space-xs);flex-direction:column;display:flex;overflow-y:auto}.onboard-topic-unit{gap:var(--space-sm);flex-direction:column;display:flex}.onboard-topic-unit-name{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide-em);color:var(--sem-text-muted);font-weight:600}.onboard-textarea{resize:vertical;min-height:120px;line-height:1.6}.onboard-summary{background:var(--deep-onboard-surface-03);border:var(--border-width-1)solid var(--sem-border-dark);border-radius:var(--radius-12);padding:var(--space-xl);margin-bottom:var(--space-30);text-align:left;max-height:400px;overflow-y:auto}.onboard-summary-section{margin-bottom:var(--space-20)}.onboard-summary-section:last-child{margin-bottom:0}.onboard-summary-label{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--sem-action-accent);margin-bottom:var(--space-sm);font-weight:600}.onboard-summary-content{font-size:var(--font-size-base);color:var(--marketing-page-text-80);line-height:1.6}.onboard-summary::-webkit-scrollbar{width:var(--space-sm)}.onboard-summary::-webkit-scrollbar-track{background:var(--sem-surface-glass);border-radius:var(--slight-border-radius)}.onboard-summary::-webkit-scrollbar-thumb{background:var(--marketing-page-accent-tint-30);border-radius:var(--slight-border-radius)}.onboard-summary::-webkit-scrollbar-thumb:hover{background:var(--deep-onboard-accent-tint-50)}.onboard-topics-list{gap:var(--space-lg);max-height:400px;margin-bottom:var(--space-xl);padding-right:var(--space-xs);flex-direction:column;display:flex;overflow-y:auto}.onboard-topic-group{background:var(--deep-onboard-surface-03);border:var(--border-width-1)solid var(--deep-onboard-surface-08);border-radius:var(--radius-10);overflow:hidden}.onboard-topic-unit-header{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-14)var(--space-lg);background:var(--deep-onboard-surface-04);color:var(--sem-text-on-dark);font-size:var(--font-size-base);cursor:pointer;text-align:left;border:none;font-family:inherit;font-weight:600;transition:background .2s;display:flex}.onboard-topic-unit-header:hover{background:#ffffff12}.onboard-unit-name{flex:1}.onboard-topic-items{flex-direction:column;display:flex}.onboard-topic-item{align-items:center;gap:var(--space-10);width:100%;padding:var(--space-10)var(--space-lg)var(--space-10)var(--space-30);border:none;border-top:var(--border-width-1)solid var(--deep-onboard-surface-04);color:var(--marketing-page-text-75);font-size:var(--font-size-sm);cursor:pointer;text-align:left;background:0 0;font-family:inherit;transition:background .15s,color .15s;display:flex}.onboard-topic-item:hover{background:var(--deep-onboard-surface-04)}.onboard-topic-item.checked{color:var(--color-white-a90)}.onboard-check{width:var(--space-20);height:var(--space-20);min-width:var(--space-20);border:var(--border-width-2)solid var(--wizard-border-medium);border-radius:var(--slight-border-radius);justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.onboard-check.checked{background:var(--sem-action-accent);border-color:var(--sem-action-accent)}.onboard-check.checked:after{content:"✓";color:var(--deep-onboard-text-inverse);font-size:var(--font-size-px-14);font-weight:700}.onboard-grades-section{gap:var(--space-30);margin-bottom:var(--space-30);flex-direction:column;display:flex}.onboard-grade-row{gap:var(--space-md);flex-direction:column;display:flex}.onboard-grade-label{font-size:var(--font-size-base);color:var(--deep-onboard-text-90);letter-spacing:var(--letter-spacing-narrow);font-weight:500}.onboard-goals-grid{gap:var(--space-10);margin-bottom:var(--space-20);flex-wrap:wrap;display:flex}.onboard-goal-chip{padding:var(--space-md)var(--space-20);font-size:var(--font-size-sm);background:var(--sem-surface-glass);border:var(--border-width-2)solid var(--deep-onboard-border-15);border-radius:var(--space-xl);color:var(--marketing-page-text-80);cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit;font-weight:500;transition:all .25s}.onboard-goal-chip:hover{background:var(--deep-onboard-surface-08);border-color:var(--wizard-accent-glow-40)}.onboard-goal-chip.selected{background:var(--deep-onboard-accent-tint-20);border-color:var(--sem-action-accent);color:var(--sem-text-on-dark)}.onboard-text-input{width:100%;padding:var(--space-14)var(--space-lg);font-size:var(--font-size-base);background:var(--deep-onboard-surface-04);border:var(--border-width-1)solid var(--deep-onboard-surface-08);border-radius:var(--radius-10);color:var(--sem-text-on-dark);resize:vertical;font-family:inherit;line-height:1.5;transition:border-color .2s}.onboard-text-input::placeholder{color:var(--wizard-border-medium)}.onboard-text-input:focus{border-color:var(--deep-onboard-accent-tint-50);outline:none}.onboard-interests-section{gap:var(--space-xl);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.onboard-interest-field{gap:var(--space-10);flex-direction:column;display:flex}.onboard-interest-label{font-size:var(--font-size-base);color:var(--deep-onboard-text-90);letter-spacing:var(--letter-spacing-narrow);font-weight:500}.onboard-subject-label--heading{margin-bottom:var(--space-lg);font-size:1.1em}.onboard-grade-section-wrapper{margin-bottom:var(--space-lg)}.onboard-grade-section-wrapper--tight{margin-bottom:var(--space-sm)}.onboard-subject-label--small{margin-bottom:var(--space-sm);font-size:.85em}.onboard-topic-unit-row{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.wizard-button-skip--compact{padding:var(--space-xs)var(--space-md);font-size:var(--font-size-px-12);margin:0}.wizard-hint--empty-state{text-align:center;padding:var(--space-40)0}.wizard-hint--centered{text-align:center;margin-top:var(--space-20)}.wizard-options--mb-30{margin-bottom:var(--space-30)}.wizard-button-primary--full{width:100%}.wizard-navigation--mt-30{margin-top:var(--space-30)}.onboard-topics-list::-webkit-scrollbar{width:var(--space-6)}.onboard-topics-list::-webkit-scrollbar-track{background:var(--deep-onboard-surface-03);border-radius:var(--space-3)}.onboard-topics-list::-webkit-scrollbar-thumb{background:var(--deep-onboard-accent-tint-20);border-radius:var(--space-3)}@media (max-width:768px){.onboard-subject-grid{gap:var(--space-20)}.onboard-subject-group{padding:var(--space-lg)}.onboard-subject-name{font-size:var(--font-size-md)}.onboard-level-chips,.onboard-grade-chips{gap:var(--space-sm)}.onboard-chip{padding:var(--space-sm)var(--space-lg);font-size:var(--font-size-sm)}.onboard-topic-input-row{flex-direction:column}.onboard-add-button{width:100%}.onboard-summary{padding:var(--space-20);max-height:300px}}@media (max-width:480px){.onboard-chip{padding:var(--space-sm)var(--space-14);font-size:var(--font-size-sm)}.onboard-topic-tag{font-size:var(--font-size-sm);padding:var(--space-6)var(--space-md)}}@media (prefers-reduced-motion:reduce){.onboard-chip:hover,.onboard-add-button:hover:not(:disabled){transform:none}}.onboard-chip:focus-visible,.onboard-add-button:focus-visible,.onboard-topic-remove:focus-visible{outline:var(--space-3)solid var(--sem-action-accent);outline-offset:var(--space-2)}
.app-explainer{background:linear-gradient(180deg,var(--sem-surface-dark)0%,var(--sem-surface-dark-elevated)100%);color:var(--sem-text-on-dark);min-height:100vh;padding:var(--space-80)var(--space-20)}.app-explainer-container{max-width:800px;margin:0 auto}.app-explainer-header{text-align:center;margin-bottom:var(--space-80)}.app-explainer-title{font-size:var(--font-size-3xl);letter-spacing:var(--space-3);margin:0 0 var(--space-20)0;color:var(--sem-text-on-dark);font-weight:300;line-height:1.2}.app-explainer-intro{font-size:var(--font-size-lg);color:var(--sem-text-on-dark-muted);max-width:600px;margin:0 auto;line-height:1.6}.app-explainer-sections{margin-bottom:var(--space-80);flex-direction:column;gap:60px;display:flex}.app-explainer-section{gap:var(--space-30);padding:var(--space-40);background:var(--deep-onboard-surface-03);border:var(--border-width-1)solid var(--sem-border-dark);border-radius:var(--radius-16);align-items:flex-start;transition:all .3s;display:flex}.app-explainer-section:hover{background:var(--sem-surface-glass);border-color:var(--marketing-page-accent-tint-30);transform:translateY(-2px)}.app-explainer-section-icon{font-size:var(--font-size-3xl);width:var(--space-80);height:var(--space-80);background:var(--app-explainer-accent-tint-10);border-radius:var(--radius-12);flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-explainer-section-content{flex:1}.app-explainer-section-title{font-size:var(--font-size-2xl);letter-spacing:var(--space-1);margin:0 0 var(--space-lg)0;color:var(--sem-text-on-dark);font-weight:500}.app-explainer-section-text{font-size:var(--font-size-md);color:var(--sem-text-on-dark-muted);margin:0 0 var(--space-md)0;line-height:1.6}.app-explainer-section-text:last-child{margin-bottom:0}.app-explainer-cta{gap:var(--space-20);padding:60px 0 var(--space-40);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.app-explainer-cta-button{padding:var(--space-20)var(--space-40);font-size:var(--font-size-px-14);text-transform:uppercase;letter-spacing:var(--space-2);border-radius:var(--radius-8);cursor:pointer;border:var(--border-width-2)solid transparent;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.app-explainer-cta-button.primary{background:var(--sem-action-accent);color:var(--color-black)}.app-explainer-cta-button.primary:hover{background:var(--wizard-accent-hover);box-shadow:0 var(--space-xs)var(--space-lg)var(--wizard-accent-glow-40);transform:translateY(-2px)}.app-explainer-cta-button.secondary{color:var(--sem-action-accent);border-color:var(--sem-action-accent);background:0 0}.app-explainer-cta-button.secondary:hover{background:var(--app-explainer-accent-tint-10);transform:translateY(-2px)}@media (max-width:768px){.app-explainer{padding:60px var(--space-lg)}.app-explainer-title{font-size:var(--font-size-2xl);letter-spacing:var(--space-2)}.app-explainer-intro{font-size:var(--font-size-md)}.app-explainer-sections{gap:var(--space-40);margin-bottom:60px}.app-explainer-section{gap:var(--space-20);padding:var(--space-30)var(--space-xl);flex-direction:column}.app-explainer-section-icon{width:60px;height:60px;font-size:var(--font-size-2xl)}.app-explainer-section-title{font-size:var(--font-size-xl)}.app-explainer-section-text{font-size:var(--font-size-base)}.app-explainer-cta{gap:var(--space-lg);flex-direction:column}.app-explainer-cta-button{text-align:center;width:100%}}@media (max-width:480px){.app-explainer{padding:var(--space-40)var(--space-lg)}.app-explainer-title{font-size:var(--font-size-2xl)}.app-explainer-header{margin-bottom:60px}.app-explainer-section{padding:var(--space-xl)var(--space-20)}.app-explainer-section-title{font-size:var(--font-size-lg)}}@media (prefers-reduced-motion:reduce){.app-explainer-section,.app-explainer-cta-button{transition:none}.app-explainer-section:hover,.app-explainer-cta-button:hover{transform:none}}.app-explainer-cta-button:focus-visible{outline:var(--space-3)solid var(--sem-action-accent);outline-offset:var(--space-3)}@media (prefers-contrast:high){.app-explainer-section{border:var(--border-width-2)solid var(--color-white-a30)}}
.mobile-practice{background:linear-gradient(180deg,var(--sem-surface-dark)0%,var(--sem-surface-dark-elevated)100%);color:var(--color-white);-webkit-font-smoothing:antialiased;flex-direction:column;align-items:center;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.mobile-practice *,.mobile-practice :before,.mobile-practice :after{box-sizing:border-box}.mobile-practice-header{width:100%;max-width:400px;padding:var(--space-lg)var(--space-20)var(--space-sm);font-size:var(--font-size-px-14);color:var(--color-white-a50);justify-content:space-between;align-items:center;display:flex}.mobile-practice-header-topic{color:var(--color-white-a70);white-space:nowrap;text-overflow:ellipsis;max-width:60%;font-weight:500;overflow:hidden}.mobile-practice-header-stats{gap:var(--space-md);align-items:center;display:flex}.mobile-practice-stat{align-items:center;gap:var(--space-xs);display:flex}.mobile-practice-stat-value{color:var(--sem-action-accent);font-weight:600}.mobile-practice-streak{color:var(--canon-success);font-weight:600}.mobile-practice-content{width:100%;max-width:400px;min-height:0;padding:var(--space-md)var(--space-xs)var(--space-20);flex-direction:column;flex:1;display:flex;overflow-y:auto}.mobile-card{background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a10);border-radius:var(--radius-16);padding:var(--space-30)var(--space-xl);max-width:100%;animation:.4s cubic-bezier(.34,1.56,.64,1) mobile-card-enter}@keyframes mobile-card-enter{0%{opacity:0;transform:translateY(var(--space-20))scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-subject-picker{text-align:center;margin-top:auto;margin-bottom:auto}.mobile-subject-picker h2{font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-sm);font-weight:300}.mobile-subject-picker p{color:var(--color-white-a50);font-size:var(--font-size-px-14);margin:0 0 var(--space-30)}.mobile-picker-grid{gap:var(--space-10);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.mobile-picker-row{gap:var(--space-sm);display:flex}.mobile-picker-option{background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a10);border-radius:var(--radius-10);padding:var(--space-md)var(--space-sm);color:var(--color-white-a70);font-size:var(--font-size-px-14);cursor:pointer;text-align:center;flex:1;transition:all .2s}.mobile-picker-option:hover,.mobile-picker-option.selected{background:var(--color-gold-accent-a15);border-color:var(--sem-action-accent);color:var(--color-white)}.mobile-picker-option.selected{font-weight:600}.mobile-btn-primary{width:100%;padding:var(--space-14)var(--space-xl);background:var(--sem-action-accent);color:var(--sem-surface-dark);border-radius:var(--radius-10);font-size:var(--font-size-px-14);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;font-weight:600;transition:all .2s;display:block}.mobile-btn-primary:hover{background:var(--canon-accent-hover);transform:translateY(-1px)}.mobile-btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.mobile-btn-secondary{width:100%;padding:var(--space-md)var(--space-xl);color:var(--color-white-a70);border:var(--border-width-1)solid var(--color-white-a20);border-radius:var(--radius-10);font-size:var(--font-size-px-14);letter-spacing:var(--letter-spacing-tight);cursor:pointer;background:0 0;font-weight:500;transition:all .2s;display:block}.mobile-btn-secondary:hover{border-color:var(--color-white-a30);color:var(--color-white)}.mobile-question-card{margin-bottom:var(--space-lg)}.mobile-question-meta{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);font-size:var(--font-size-px-12);color:var(--color-white-a30);display:flex}.mobile-question-marks{background:var(--color-gold-accent-a20);color:var(--sem-action-accent);padding:var(--space-2)var(--space-sm);border-radius:var(--radius-6);font-weight:600;font-size:var(--font-size-px-12)}.mobile-question-text{font-size:var(--font-size-px-16);color:var(--color-white);line-height:1.6}.mobile-question-text .katex{font-size:1.1em}.mobile-answer-area{margin-top:var(--space-sm)}.mobile-answer-label{font-size:var(--font-size-px-12);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-white-a30);margin-bottom:var(--space-sm);font-weight:600}.mobile-answer-input{width:100%;max-width:100%;padding:var(--space-14)var(--space-lg);background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a15);border-radius:var(--radius-10);color:var(--color-white);font-size:var(--font-size-px-16);-webkit-appearance:none;outline:none;font-family:inherit;transition:border-color .2s}.mobile-answer-input:focus{border-color:var(--sem-action-accent)}.mobile-answer-input::placeholder{color:var(--color-white-a20)}.mobile-answer-submit{margin-top:var(--space-md)}.mobile-result-card{text-align:center}.mobile-result-icon{font-size:var(--font-size-3xl);margin-bottom:var(--space-md)}.mobile-result-title{font-size:var(--font-size-lg);margin:0 0 var(--space-md);font-weight:300}.mobile-result-title.correct{color:var(--canon-success)}.mobile-result-title.wrong{color:#f97316}.mobile-result-feedback{font-size:var(--font-size-px-14);color:var(--color-white-a70);margin-bottom:var(--space-xl);text-align:left;line-height:1.6}.mobile-result-feedback .katex{font-size:1em}.mobile-result-model-answer{border:var(--border-width-1)solid var(--color-success-bright-a20);border-radius:var(--radius-10);padding:var(--space-md)var(--space-lg);margin-bottom:var(--space-20);text-align:left;background:#4ade8014}.mobile-result-model-answer-label{font-size:var(--font-size-px-12);text-transform:uppercase;letter-spacing:1px;color:var(--color-success-bright-a20);margin-bottom:var(--space-6);font-weight:600}.mobile-result-model-answer-text{font-size:var(--font-size-px-14);color:var(--color-white-a70);line-height:1.5}.mobile-result-buttons{gap:var(--space-10);flex-direction:column;display:flex}.mobile-principle-tree-container{pointer-events:none;z-index:0;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.mobile-principle-tree{opacity:0;max-width:200px;margin:0 auto;animation:.8s .3s forwards mobile-tree-fade-in;display:block}@keyframes mobile-tree-fade-in{0%{opacity:0}to{opacity:1}}.mobile-socratic{z-index:1;flex-direction:column;flex:1;max-width:100%;min-height:0;display:flex;position:relative;overflow-x:hidden}.mobile-socratic--centered{margin-top:auto;margin-bottom:auto}.mobile-socratic-header{font-size:var(--font-size-px-12);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-white-a30);margin-bottom:var(--space-lg);text-align:center;font-weight:600}.mobile-socratic-messages{gap:var(--space-10);margin-bottom:var(--space-md);scrollbar-width:thin;scrollbar-color:var(--color-white-a15)transparent;flex-direction:column;flex:1;max-width:100%;min-height:0;display:flex;overflow:hidden auto}.mobile-socratic-messages::-webkit-scrollbar{width:var(--space-xs)}.mobile-socratic-messages::-webkit-scrollbar-track{background:0 0}.mobile-socratic-messages::-webkit-scrollbar-thumb{background:var(--color-white-a15);border-radius:var(--radius-4)}.mobile-socratic-messages::-webkit-scrollbar-thumb:hover{background:var(--color-white-a20)}.mobile-socratic-message{max-width:85%;padding:var(--space-10)var(--space-14);border-radius:var(--font-size-px-14);font-size:var(--font-size-px-14);overflow-wrap:break-word;word-break:break-word;line-height:1.5;animation:.3s mobile-message-enter}@keyframes mobile-message-enter{0%{opacity:0;transform:translateY(var(--space-sm))}to{opacity:1;transform:translateY(0)}}.mobile-socratic-message.tutor{background:var(--color-white-a10);border:var(--border-width-1)solid var(--color-white-a10);color:var(--color-white-a90);align-self:flex-start}.mobile-socratic-message--warn-border{border-color:#f9731666}.mobile-practice-dev-overlay{padding:var(--space-6)var(--space-sm);gap:var(--space-xs);z-index:9999;background:#000c;flex-wrap:wrap;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-practice-dev-jump-btn{padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-px-12);border-radius:var(--radius-4);border:var(--border-width-1)solid var(--color-gray-dark-label);background:var(--color-white-a10);color:var(--color-dark-text-muted);cursor:pointer}.mobile-practice-dev-jump-btn.is-active{border-color:var(--sem-action-accent);background:var(--color-gold-accent-a30);color:var(--sem-action-accent)}.mobile-socratic-message.student{background:var(--color-gold-accent-a15);border:var(--border-width-1)solid var(--color-gold-accent-a20);color:var(--color-white);align-self:flex-end}.mobile-socratic-message .katex{font-size:.95em}.mobile-socratic-input-row{gap:var(--space-6);align-items:flex-end;max-width:100%;display:flex}.mobile-socratic-input{width:0;min-width:0;padding:var(--space-10)var(--space-10);background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a15);border-radius:var(--radius-10);color:var(--color-white);font-size:var(--font-size-px-16);-webkit-appearance:none;resize:none;outline:none;flex:1;max-height:120px;font-family:inherit;line-height:1.4;overflow:hidden}.mobile-socratic-input:focus{border-color:var(--sem-action-accent)}.mobile-socratic-input::placeholder{color:var(--color-white-a20)}.mobile-socratic-send{padding:var(--space-sm)var(--space-10);background:var(--sem-action-accent);color:var(--sem-surface-dark);border:var(--border-width-1)solid var(--sem-action-accent);border-radius:var(--radius-10);font-size:var(--font-size-px-16);cursor:pointer;white-space:nowrap;flex-shrink:0;font-weight:600;line-height:1.4;transition:opacity .2s}.mobile-socratic-send:disabled{opacity:.3;cursor:not-allowed}.mobile-socratic-thinking{align-items:center;gap:var(--space-6);padding:var(--space-10)var(--space-14);color:var(--color-white-a30);font-size:var(--font-size-px-14);align-self:flex-start;display:flex}.mobile-socratic-dots{gap:var(--space-3);display:flex}.mobile-socratic-dots span{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-50);background:var(--color-white-a30);animation:1.4s ease-in-out infinite both mobile-dot-bounce}.mobile-socratic-dots span:nth-child(2){animation-delay:.2s}.mobile-socratic-dots span:nth-child(3){animation-delay:.4s}@keyframes mobile-dot-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.mobile-socratic-complete{text-align:center;padding:var(--space-lg)0;color:var(--color-white-a50);font-size:var(--font-size-px-14)}.mobile-socratic-complete-btn{margin-top:var(--space-md)}.mobile-topic-picker{text-align:center;margin-top:auto;margin-bottom:auto}.mobile-topic-transition{color:var(--color-white-a50);font-size:var(--font-size-px-14);margin:0 0 var(--space-xl);line-height:1.6}.mobile-topic-heading{font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-lg);color:var(--color-white-a70);font-weight:300}.mobile-topic-options{gap:var(--space-md);display:flex}.mobile-topic-card{align-items:center;gap:var(--space-6);padding:var(--space-20)var(--space-md);background:var(--color-white-a05);border:var(--border-width-1)solid var(--color-white-a10);border-radius:var(--radius-12);cursor:pointer;color:var(--color-white);flex-direction:column;flex:1;transition:all .2s;display:flex}.mobile-topic-card:hover{background:var(--color-gold-accent-a15);border-color:var(--sem-action-accent);transform:translateY(-2px)}.mobile-topic-icon{font-size:var(--font-size-2xl)}.mobile-topic-label{font-size:var(--font-size-px-16);font-weight:600}.mobile-topic-subject{font-size:var(--font-size-px-12);color:var(--color-white-a30);text-transform:uppercase;letter-spacing:1px}.mobile-topic-card-signin{width:100%;margin-top:var(--space-md)}.mobile-signup-cta{text-align:center;margin-top:auto;margin-bottom:auto}.mobile-signup-cta h2{font-size:var(--font-size-lg);margin:0 0 var(--space-md);font-weight:300}.mobile-signup-cta p{color:var(--color-white-a50);font-size:var(--font-size-px-14);margin:0 0 var(--space-xl);line-height:1.5}.mobile-signup-stats{justify-content:center;gap:var(--space-xl);margin-bottom:var(--space-xl);display:flex}.mobile-signup-stat{text-align:center}.mobile-signup-stat-value{font-size:var(--font-size-xl);color:var(--sem-action-accent);font-weight:600;display:block}.mobile-signup-stat-label{font-size:var(--font-size-px-12);color:var(--color-white-a30);text-transform:uppercase;letter-spacing:1px}.mobile-signin-nudge{font-size:var(--font-size-px-12);color:var(--color-white-a30);text-align:center;margin-top:var(--space-20);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--color-white-a20);text-decoration-color:var(--color-white-a20);margin-bottom:0;transition:color .2s}.mobile-signin-nudge:hover{color:var(--color-white-a50);-webkit-text-decoration-color:var(--color-white-a30);text-decoration-color:var(--color-white-a30)}.mobile-loading{padding:var(--space-40)var(--space-20);justify-content:center;align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.mobile-spinner{width:var(--space-2xl);height:var(--space-2xl);border:var(--border-width-3)solid var(--color-white-a10);border-top-color:var(--sem-action-accent);border-radius:var(--radius-50);animation:.8s linear infinite mobile-spin}@keyframes mobile-spin{to{transform:rotate(360deg)}}.mobile-loading-text{color:var(--color-white-a30);font-size:var(--font-size-px-14)}@media (prefers-reduced-motion:reduce){.mobile-card,.mobile-socratic-message,.mobile-socratic-dots span{animation:none}}@media (min-width:600px){.mobile-practice{padding:var(--space-40)var(--space-20)}.mobile-practice-content{padding:var(--space-20)}.mobile-card{padding:var(--space-40)var(--space-2xl)}}
.spec-selector-container{border:var(--border-width-1)solid var(--color-gray-350);border-radius:var(--radius-8);padding:var(--space-md);margin-top:var(--space-md);background-color:var(--sem-surface-elevated)}.spec-selector-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.spec-selector-title{font-weight:600;font-size:var(--font-size-px-14)}.spec-selector-suggest-btn{padding:var(--btn-padding-xs);font-size:var(--font-size-xs);background-color:var(--btn-success-bg);color:var(--btn-success-text);border-radius:var(--btn-radius);cursor:pointer;border:none;font-weight:500;transition:all .2s}.spec-selector-suggest-btn:hover:not(:disabled){background-color:var(--btn-success-hover);transform:translateY(-1px)}.spec-selector-suggest-btn:disabled{background-color:var(--color-gray-400);color:var(--color-gray-700);cursor:not-allowed;transform:none}.spec-selector-suggestions{background-color:var(--color-green-light-100);border:var(--border-width-1)solid var(--color-green-light-300);border-radius:var(--radius-6);padding:var(--space-md);margin-bottom:var(--space-md)}.spec-selector-suggestions-title{font-weight:600;font-size:var(--font-size-px-14);margin-bottom:var(--space-sm);color:var(--color-success-700)}.spec-selector-suggestions-desc{font-size:var(--font-size-px-12);color:var(--color-gray-dark-label);margin-bottom:var(--space-10)}.spec-selector-suggestions-list{max-height:200px;margin-bottom:var(--space-md);overflow-y:auto}.spec-selector-suggestion-item{align-items:flex-start;gap:var(--space-sm);padding:var(--space-6)var(--space-sm);margin-bottom:var(--space-xs);background-color:var(--color-white);border-radius:var(--radius-4);cursor:pointer;display:flex}.spec-selector-checkbox{margin-top:var(--space-3)}.spec-selector-suggestion-topic{font-size:var(--font-size-px-12);color:var(--color-gray-700);margin-bottom:var(--space-2)}.spec-selector-suggestion-text{font-size:var(--font-size-px-12);color:var(--color-gray-900)}.spec-selector-suggestion-number{font-weight:600}.spec-selector-suggestion-confidence{font-size:var(--font-size-px-10);color:var(--color-gray-500);margin-top:var(--space-2)}.spec-selector-suggestions-actions{gap:var(--space-sm);justify-content:flex-end;display:flex}.spec-selector-btn-cancel{padding:var(--btn-padding-xs);font-size:var(--font-size-xs);background-color: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}.spec-selector-btn-cancel:hover{background-color:var(--btn-neutral-hover);transform:translateY(-1px)}.spec-selector-btn-accept{padding:var(--btn-padding-xs);font-size:var(--font-size-xs);background-color:var(--btn-success-bg);color:var(--btn-success-text);border-radius:var(--btn-radius);cursor:pointer;border:none;font-weight:500;transition:all .2s}.spec-selector-btn-accept:hover:not(:disabled){background-color:var(--btn-success-hover);transform:translateY(-1px)}.spec-selector-btn-accept:disabled{background-color:var(--color-gray-400);color:var(--color-gray-700);cursor:not-allowed;transform:none}.spec-selector-search{width:100%;padding:var(--space-sm);border-radius:var(--radius-4);border:var(--border-width-1)solid var(--color-gray-400);font-size:var(--font-size-px-14);margin-bottom:var(--space-md);box-sizing:border-box}.spec-selector-count{font-size:var(--font-size-px-12);color:var(--color-gray-700);margin-bottom:var(--space-sm)}.spec-selector-hierarchy{max-height:300px;overflow-y:auto}.spec-selector-unit{margin-bottom:var(--space-sm)}.spec-selector-unit-header{align-items:center;gap:var(--space-6);padding:var(--space-6)0;cursor:pointer;border-bottom:var(--border-width-1)solid var(--sem-border-soft);display:flex}.spec-selector-expand-icon{font-size:var(--font-size-px-10);color:var(--color-gray-700)}.spec-selector-unit-name{font-weight:600;font-size:var(--font-size-px-14)}.spec-selector-unit-topics{padding-left:var(--space-sm)}.spec-selector-topic{margin-left:var(--spec-selector-topic-indent,0)}.spec-selector-topic-header{align-items:center;gap:var(--space-6);padding:var(--space-xs)0;display:flex}.spec-selector-topic-header--clickable{cursor:pointer}.spec-selector-topic-name{font-weight:500;font-size:var(--font-size-px-14)}.spec-selector-content-item{align-items:flex-start;gap:var(--space-sm);margin-left:var(--space-20);padding:var(--space-xs)0;cursor:pointer;display:flex}.spec-selector-content-text{font-size:var(--font-size-px-12);color:var(--color-gray-900)}.spec-selector-content-number{font-weight:600}.spec-selector-loading{color:var(--color-gray-700);font-size:var(--font-size-px-14)}
.question-card.editing{padding:var(--space-20);border:var(--border-width-2)solid var(--color-info-500);border-radius:var(--mild-border-radius);background:var(--color-white)}.edit-input-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-end;gap:var(--space-xl);display:flex}.edit-number-row{gap:var(--space-lg);display:flex}.edit-marks-input{align-items:center;gap:var(--space-sm);display:flex}.edit-marks-input label{font-size:var(--font-size-px-14);color:var(--color-gray-dark-label);font-weight:500}.edit-marks-input input{width:70px;padding:var(--space-sm)var(--space-md);border:var(--border-width-1)solid var(--color-gray-350);border-radius:var(--radius-6);font-size:var(--font-size-px-14);text-align:center;font-weight:500}.number-box{gap:var(--space-xs);flex-direction:column;display:flex}.number-box label{font-size:var(--font-size-px-12);color:var(--color-gray-700);font-weight:500}.number-box input{width:60px;padding:var(--space-sm)var(--space-md);border:var(--border-width-1)solid var(--color-gray-350);border-radius:var(--radius-6);font-size:var(--font-size-px-14);text-align:center}.edit-section{margin-bottom:var(--space-lg)}.edit-section label{font-weight:600;font-size:var(--font-size-px-14);color:var(--color-gray-dark-label);margin-bottom:var(--space-6);display:block}.edit-section input[type=number],.edit-section textarea{width:100%;padding:var(--space-10);border:var(--border-width-1)solid var(--color-gray-350);border-radius:var(--radius-6);font-size:var(--font-size-px-14);box-sizing:border-box;font-family:inherit}.edit-section textarea{resize:vertical;font-family:monospace}.paste-hint{font-size:var(--font-size-px-12);color:var(--color-admin-text-muted);margin:0 0 var(--space-6)0}.paste-container{position:relative}.paste-container.ocring textarea{opacity:.5}.ocr-overlay{color:var(--color-white);padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-6);font-size:var(--font-size-px-14);background:#000c;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.question-text-preview{padding:var(--space-md);background:var(--color-surface-muted);border-radius:var(--radius-6);border:var(--border-width-1)solid var(--color-gray-300)}.preview-box{margin-top:var(--space-sm);padding:var(--space-10);background:var(--color-gray-warm-100);border-radius:var(--radius-4);border-left:var(--border-width-3)solid var(--color-info-500)}.preview-box small{color:var(--color-gray-700);margin-bottom:var(--space-xs);font-size:var(--font-size-px-12);display:block}.review-section{margin-top:var(--space-lg)}.review-buttons{gap:var(--space-sm);display:flex}.review-btn{padding:var(--space-sm)var(--space-lg);border:var(--border-width-1)solid var(--color-gray-350);border-radius:var(--radius-6);background:var(--color-surface-muted);cursor:pointer;font-size:var(--font-size-px-14);transition:all .2s}.review-btn:hover{background:var(--color-gray-300)}.review-btn.active.not-reviewed{color:#455a64;background:#eceff1;border-color:#78909c}.review-btn.active.reviewed{background:var(--color-surface-success-subtle);border-color:var(--color-success-500);color:var(--color-success-700)}.review-btn.active.needs-revision{background:var(--color-orange-50);border-color:var(--color-qcard-feedback-warning);color:var(--color-amber-deep)}.edit-actions{gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.save-button{padding:var(--space-sm)var(--space-20);background:var(--color-success-500);color:var(--color-white);border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-size-px-14);border:none}.save-button:disabled{background:var(--color-gray-400)}.cancel-button{padding:var(--space-sm)var(--space-20);background:var(--color-surface-muted);border:var(--border-width-1)solid var(--color-gray-350);border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-size-px-14)}.question-card{padding:var(--space-lg);border:var(--border-width-1)solid var(--color-gray-300);border-radius:var(--mild-border-radius);background:var(--sem-surface-elevated)}.question-card-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.question-number{font-weight:700;font-size:var(--font-size-px-14);padding:var(--space-xs)var(--space-sm);background:var(--color-surface-info-subtle);border-radius:var(--radius-4);color:var(--color-info-700)}.marks-badge{font-size:var(--font-size-px-12);color:var(--color-gray-700);background:var(--color-orange-50);padding:var(--space-2)var(--space-sm);border-radius:var(--radius-4)}.review-badge{font-size:var(--font-size-px-12);padding:var(--space-2)var(--space-sm);border-radius:var(--radius-4);font-weight:500}.review-badge.review-not_reviewed{color:#546e7a;background:#eceff1}.review-badge.review-reviewed{background:var(--color-surface-success-subtle);color:var(--color-success-700)}.review-badge.review-needs_revision{background:var(--color-orange-50);color:var(--color-amber-deep)}.spec-badges{gap:var(--space-xs);flex-wrap:wrap;display:flex}.spec-badge{background:var(--color-surface-success-subtle);color:var(--color-success-700);font-size:var(--font-size-px-12);padding:var(--space-2)var(--space-6);border-radius:var(--radius-4);text-overflow:ellipsis;white-space:nowrap;cursor:help;max-width:150px;overflow:hidden}.spec-badge-more{background:var(--color-gray-300);color:var(--color-gray-700);font-size:var(--font-size-px-12);padding:var(--space-2)var(--space-6);border-radius:var(--radius-4)}.card-actions{gap:var(--space-sm);margin-left:auto;display:flex}.edit-button{padding:var(--space-xs)var(--space-md);border:var(--border-width-1)solid var(--color-info-500);color:var(--color-info-500);border-radius:var(--radius-4);cursor:pointer;font-size:var(--font-size-px-12);background:0 0}.edit-button:hover{background:var(--color-surface-info-subtle)}.remove-button{padding:var(--space-xs)var(--space-md);border:var(--border-width-1)solid #ef5350;color:#ef5350;border-radius:var(--radius-4);cursor:pointer;font-size:var(--font-size-px-12);background:0 0}.remove-button:hover{background:var(--color-red-surface)}.question-text{line-height:1.6}.answer-section,.mark-scheme-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-width-1)solid var(--color-gray-300);font-size:var(--font-size-px-14)}.answer-section{background:var(--color-surface-success-subtle);padding:var(--space-md);border-radius:var(--radius-6);border-top:none}.mark-scheme-section{background:var(--color-amber-50);padding:var(--space-md);border-radius:var(--radius-6);margin-top:var(--space-sm);border-top:none}.answer-section strong,.mark-scheme-section strong{margin-bottom:var(--space-6);font-size:var(--font-size-px-12);text-transform:uppercase;color:var(--color-gray-dark-label);display:block}.vision-badge{font-size:var(--font-size-px-12);padding:var(--space-2)var(--space-sm);border-radius:var(--radius-4);color:#283593;background:#e8eaf6;font-weight:500}.existing-comments{margin-top:var(--space-sm);padding:var(--space-sm)var(--space-md);background:var(--color-surface-muted);border-radius:var(--radius-6);border-left:var(--border-width-3)solid #90a4ae}.comment-text-display{font-size:var(--font-size-px-14);color:var(--color-gray-dark-label);line-height:1.4}.comment-text-display+.comment-text-display{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:var(--border-width-1)solid var(--color-gray-300)}.feedback-pills{gap:var(--space-6);margin-top:var(--space-10);flex-wrap:wrap;display:flex}.feedback-pill{padding:var(--space-3)var(--space-10);border:var(--border-width-1)solid var(--color-gray-400);border-radius:var(--space-md);background:var(--color-white);color:var(--color-gray-700);font-size:var(--font-size-px-12);cursor:pointer;font-weight:500;transition:all .15s}.feedback-pill:hover{border-color:var(--color-gray-600);background:var(--color-surface-muted)}.feedback-pill.active{font-weight:600}.feedback-pill.is-submitting{opacity:.5}.feedback-pill.active.feedback-pill--latex-malformed-question,.feedback-pill.active.feedback-pill--latex-malformed-mark-scheme,.feedback-pill.active.feedback-pill--too-easy-for-marks{border-color:var(--color-qcard-feedback-warning);color:var(--color-qcard-feedback-warning);background:#ff980018}.feedback-pill.active.feedback-pill--too-hard-for-marks{color:#ff5722;background:#ff572218;border-color:#ff5722}.feedback-pill.active.feedback-pill--question-incomplete{color:#f44336;background:#f4433618;border-color:#f44336}.feedback-pill.active.feedback-pill--direct-duplicate{color:#e91e63;background:#e91e6318;border-color:#e91e63}.feedback-pill.active.feedback-pill--materially-similar{border-color:var(--color-purple-500);color:var(--color-purple-500);background:#9c27b018}.feedback-pill.active.feedback-pill--based{border-color:var(--color-success-500);color:var(--color-success-500);background:#4caf5018}.feedback-pill.active.feedback-pill--tests-concept-well{color:#2196f3;background:#2196f318;border-color:#2196f3}.mark-scheme-point-row{margin-bottom:var(--space-xs)}.mark-scheme-point-code--method{color:var(--color-info-700)}.mark-scheme-point-code--accuracy{color:var(--color-success-700)}.mark-scheme-point-code--other{color:#6a1b9a}.mark-scheme-point-expected{color:var(--color-gray-700);margin-left:var(--space-sm)}.question-card-vision-toggle{align-items:center;gap:var(--space-sm);cursor:pointer;display:flex}.question-card-vision-toggle-checkbox{width:var(--space-lg);height:var(--space-lg)}
.question-prompt-typing-container{width:var(--prompt-width);padding:var(--space-lg)var(--space-20);margin-bottom:var(--space-md);background-color:var(--color-gray-warm-100);border-radius:var(--radius-8);border:var(--border-width-1)solid #e0e0e0}.question-prompt-typing-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.question-prompt-typing-label{font-size:var(--font-size-px-14);color:var(--color-gray-dark-label);font-weight:500}.question-prompt-cancel-btn{padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-px-12);border:var(--border-width-1)solid #ccc;border-radius:var(--radius-4);cursor:pointer;color:#666;background-color:#0000}.question-prompt-textarea{width:100%;min-height:80px;padding:var(--space-md);font-size:var(--font-size-px-14);border:var(--border-width-1)solid #ddd;border-radius:var(--radius-4);resize:vertical;-webkit-user-select:text;user-select:text;font-family:inherit}.question-prompt-typing-footer{margin-top:var(--space-md);text-align:right}.question-prompt-submit-btn{padding:var(--space-sm)var(--space-lg);font-size:var(--font-size-px-14);border-radius:var(--radius-4);color:var(--color-dark-text-fff);border:none}.question-prompt-submit-btn--active{cursor:pointer;background-color:#2e7d32}.question-prompt-submit-btn--disabled{cursor:not-allowed;background-color:#ccc}.question-prompt-empty{width:var(--prompt-width);padding:var(--space-20);margin-bottom:var(--space-md);background-color:var(--color-gray-warm-100);border-radius:var(--radius-8);border:var(--border-width-1)dashed #bbb;text-align:center}.question-prompt-empty-text{font-size:var(--font-size-px-14);color:#666;margin-bottom:var(--space-lg)}.question-prompt-buttons{justify-content:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.question-prompt-btn{padding:var(--space-10)var(--space-20);font-size:var(--font-size-px-14);border-radius:var(--radius-6);cursor:pointer}.question-prompt-btn--generate{color:var(--color-dark-text-fff);align-items:center;gap:var(--space-sm);background-color:#4caf50;border:none;display:flex}.question-prompt-btn--generate:disabled{background-color:var(--color-green-light-300);cursor:not-allowed}.question-prompt-btn--type{background-color:var(--color-dark-text-fff);border:var(--border-width-1)solid #2196f3;color:#2196f3}.question-prompt-btn--write{background-color:var(--color-dark-text-fff);border:var(--border-width-1)solid #ff9800;color:#ff9800}.question-prompt-btn--write:disabled{color:#999;cursor:not-allowed;border-color:#ccc}.question-prompt-paste-btn{padding:var(--space-10)var(--space-20);font-size:var(--font-size-px-14);background-color:var(--color-dark-text-fff);border:var(--border-width-2)solid var(--color-purple-500);border-radius:var(--radius-6);color:var(--color-purple-500);align-items:center;gap:var(--space-xs);cursor:pointer;transition:all .2s;display:flex}.question-prompt-paste-btn:hover{background-color:var(--color-purple-50)}.question-prompt-paste-btn--active{font-weight:600;animation:1.5s ease-in-out infinite pulse-glow;box-shadow:0 0 0 4px #9c27b04d;background-color:var(--color-purple-700)!important;color:var(--color-dark-text-fff)!important}.question-prompt-paste-btn--active .question-prompt-kbd{font-weight:600;color:var(--color-dark-text-fff)!important;background-color:#ffffff40!important;border-color:#ffffff80!important}.question-prompt-paste-btn--active .question-prompt-paste-text{color:var(--color-dark-text-fff)!important}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 4px #9c27b04d}50%{box-shadow:0 0 0 8px #9c27b026}}.question-prompt-kbd{padding:var(--space-2)var(--space-6);border-radius:var(--space-3);font-size:var(--font-size-px-12);border:var(--border-width-1)solid #ddd;background-color:#f5f5f5}.question-prompt-paste-text{margin-left:var(--space-xs)}.question-prompt-draft-prompt{text-align:center;padding:var(--space-sm)0}.question-prompt-draft-prompt p{margin:0 0 var(--space-lg)0;color:var(--color-gray-dark-label);font-size:var(--font-size-px-14)}.question-prompt-draft-buttons{justify-content:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.question-prompt-btn--primary{color:var(--color-dark-text-fff);background-color:#2e7d32;border:none}.question-prompt-btn--primary:hover{background-color:var(--color-green-900)}.question-prompt-btn--secondary{background-color:var(--color-dark-text-fff);border:var(--border-width-1)solid #666;color:#666}.question-prompt-btn--secondary:hover{background-color:#f5f5f5}.question-prompt-mini-whiteboard{position:relative}.question-prompt-mini-whiteboard-cancel{top:var(--space-20);right:var(--space-xs);padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-px-12);border:var(--border-width-1)solid #ccc;border-radius:var(--radius-4);cursor:pointer;color:#666;z-index:1;background-color:#0000;position:absolute}.question-parts-list{width:var(--parts-list-width);margin-bottom:var(--space-md)}
.user-question-display{padding:var(--space-md)var(--space-lg);background-color:var(--color-gray-warm-100);border-bottom:var(--border-width-1)solid #e0e0e0;align-items:center;gap:var(--space-md);display:flex}.user-question-display-content{flex:1}.user-question-label{font-size:var(--font-size-px-12);color:#666;margin-bottom:var(--space-xs);display:block}.user-question-text{font-size:var(--font-size-px-14);font-weight:500}.user-question-edit-btn{flex-shrink:0}.user-question-form{padding:var(--space-md)var(--space-lg);background-color:var(--color-blue-soft-bg);border-bottom:var(--border-width-1)solid #d0e0f0}.user-question-form-header{margin-bottom:var(--space-sm)}.user-question-input-row{gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.user-question-textarea{padding:var(--space-sm);font-size:var(--font-size-px-14);border:var(--border-width-1)solid #ccc;border-radius:var(--radius-4);resize:vertical;flex:1;min-height:60px;font-family:inherit}.user-question-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.user-question-ocr-btn{background-color:#e8f4e8}.user-question-cancel-btn{background-color:var(--color-gray-warm-200)}.user-question-select{padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-px-12);border:var(--border-width-1)solid #ccc;border-radius:var(--radius-4);background-color:var(--color-dark-text-fff)}.user-question-error{margin-top:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-4);font-size:var(--font-size-px-12);color:#c00;background-color:#fee}.user-question-tip{margin-top:var(--space-sm);font-size:var(--font-size-px-12);color:#888}
.pasted-banner{width:var(--pasted-banner-width,auto);padding:var(--space-lg)var(--space-20);margin-bottom:var(--space-md);border-radius:var(--radius-8);background-color:#f0fff4}.pasted-banner--error{border:var(--border-width-1)solid #f0b8b8}.pasted-banner--normal{border:var(--border-width-1)solid var(--color-pasted-normal-border)}.pasted-banner-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:flex-start;display:flex}.pasted-banner-title{font-size:var(--font-size-px-14);color:#2a6a4a}.pasted-banner-actions{gap:var(--space-sm);display:flex}.pasted-banner-btn{padding:var(--space-xs)var(--space-10);font-size:var(--font-size-px-12);border-radius:var(--radius-4);cursor:pointer}.pasted-banner-btn--edit{border:var(--border-width-1)solid var(--color-pasted-normal-border);color:#2a6a4a;background-color:#0000}.pasted-banner-btn--use{padding:var(--space-xs)var(--space-md);color:var(--color-dark-text-fff);background-color:#2e7d32;border:none}.pasted-banner-btn--use:disabled{cursor:not-allowed;opacity:.7}.pasted-banner-btn--clear{padding:var(--space-xs)var(--space-sm);border:var(--border-width-1)solid var(--color-pasted-normal-border);color:#2a6a4a;background-color:#0000}.pasted-banner-error{padding:var(--space-sm)var(--space-md);margin-bottom:var(--space-sm);border-radius:var(--radius-4);border:var(--border-width-1)solid #f0b8b8;font-size:var(--font-size-px-14);color:#8a2a2a;background-color:#fff0f0}.pasted-banner-textarea{width:100%;min-height:100px;padding:var(--space-md);font-size:var(--font-size-px-14);border:var(--border-width-1)solid var(--color-pasted-normal-border);border-radius:var(--radius-4);resize:vertical;background-color:var(--color-dark-text-fff);font-family:monospace}.pasted-banner-preview{font-size:var(--font-size-px-20);color:#1a4a3a;padding:var(--space-sm)0;line-height:1.5}.pasted-banner-edited-hint{font-size:var(--font-size-px-12);color:#6a8a6a;margin-top:var(--space-xs)}.pasted-banner-source-section{margin-top:var(--space-md);border-top:var(--border-width-1)solid #d4e6d0;padding-top:var(--space-md)}.pasted-banner-source-row{gap:var(--space-sm);align-items:center;display:flex}.pasted-banner-source-input{padding:var(--space-sm)var(--space-md);font-size:var(--font-size-px-14);border:var(--border-width-1)solid #ccc;border-radius:var(--radius-4);flex:1}.pasted-banner-btn--remove-source{padding:var(--space-6)var(--space-10);font-size:var(--font-size-px-12);border:var(--border-width-1)solid #ccc;border-radius:var(--radius-4);cursor:pointer;color:#666;background-color:#0000}.pasted-banner-btn--add-source{padding:var(--space-6)var(--space-md);font-size:var(--font-size-px-12);border:var(--border-width-1)dashed var(--color-pasted-normal-border);border-radius:var(--radius-4);cursor:pointer;color:#4a8a5a;background-color:#0000}
.escalation-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.escalation-modal{background-color:var(--color-dark-text-fff);padding:var(--space-xl);border-radius:var(--radius-12);width:90%;max-width:520px;max-height:80vh;box-shadow:0 4px 20px var(--color-black-a20);overflow:auto}.escalation-modal-title{margin-top:0;margin-bottom:var(--space-lg);color:#333;font-size:var(--font-size-px-20)}.escalation-question-box{padding:var(--space-md);border-radius:var(--radius-8);margin-bottom:var(--space-lg);background-color:#f5f5f5}.escalation-question-label{font-size:var(--font-size-px-12);color:#666;margin-bottom:var(--space-xs)}.escalation-question-text{font-size:var(--font-size-px-16)}.escalation-error{padding:var(--space-md);background-color:var(--color-red-surface);border-radius:var(--radius-8);color:var(--color-red-900);margin-bottom:var(--space-lg);font-size:var(--font-size-px-14)}.escalation-prompt{font-size:var(--font-size-px-14);margin-bottom:var(--space-sm);color:var(--color-gray-dark-label);font-weight:600}.escalation-prompt--positive{margin-top:var(--space-md)}.escalation-tag-grid{gap:var(--space-6);margin-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.escalation-tag-chip{align-items:center;gap:var(--space-xs);padding:var(--space-5)var(--space-10);border-radius:var(--radius-16);border:var(--border-width-1)solid #ddd;font-size:var(--font-size-px-12);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fafafa;transition:all .15s;display:inline-flex}.escalation-tag-chip:hover{background:var(--color-gray-warm-200);border-color:#bbb}.escalation-tag-chip.selected.escalation-tag-chip--issue{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.escalation-tag-chip.selected.escalation-tag-chip--positive{color:#237804;background:#f0fff4;border-color:#87d068}.escalation-tag-checkbox{display:none}.escalation-add-comment-btn{margin-top:var(--space-md);padding:var(--space-6)var(--space-md);border:var(--border-width-1)dashed #ccc;border-radius:var(--radius-6);color:#888;font-size:var(--font-size-px-12);cursor:pointer;background:0 0;transition:all .15s}.escalation-add-comment-btn:hover{color:var(--color-gray-dark-label);border-color:#999}.escalation-textarea{width:100%;min-height:80px;padding:var(--space-10);border-radius:var(--radius-8);border:var(--border-width-1)solid #ddd;font-size:var(--font-size-px-14);resize:vertical;box-sizing:border-box;margin-top:var(--space-md)}.escalation-buttons{margin-top:var(--space-lg);gap:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.escalation-buttons-right{gap:var(--space-sm);display:flex}.escalation-btn--dud{padding:var(--space-sm)var(--space-14);color:#cf1322;border:var(--border-width-1)solid #ffa39e;border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-size-px-12);background-color:#fff1f0;font-weight:500;transition:all .15s}.escalation-btn--dud:hover:not(:disabled){background-color:#ffccc7;border-color:#ff7875}.escalation-btn--dud:disabled{opacity:.5;cursor:not-allowed}.escalation-btn--cancel{padding:var(--space-sm)var(--space-20);color:#333;border:var(--border-width-1)solid #ddd;border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-size-px-14);background-color:#f5f5f5}.escalation-btn--submit{padding:var(--space-sm)var(--space-lg);color:var(--color-dark-text-fff);border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-size-px-14);background-color:#1976d2;border:none}.escalation-btn--submit:disabled{cursor:not-allowed;background-color:#ccc}.escalation-success{padding:var(--space-lg);background-color:var(--color-green-light-100);border-radius:var(--radius-8);color:#2e7d32;text-align:center;margin-bottom:var(--space-lg)}.escalation-close-row{text-align:right}
.bundle-review-screen{max-width:900px;padding:var(--space-xl)var(--space-lg);margin:0 auto}.bundle-review-header{margin-bottom:var(--space-xl)}.bundle-review-title{font-size:var(--font-size-xl);margin:0 0 var(--space-sm)0}.bundle-review-summary{font-size:var(--font-size-sm);color:var(--color-admin-text-muted);margin-bottom:var(--space-md)}.bundle-review-filters{gap:var(--space-6);flex-wrap:wrap;display:flex}.bundle-review-filter-btn{padding:var(--space-xs)var(--space-md);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-4);color:var(--color-dark-text-tertiary);cursor:pointer;font-size:var(--font-size-xs);background:0 0}.bundle-review-filter-btn:hover{background:var(--color-dark-border-333)}.bundle-review-filter-btn.active{background:var(--whiteboard-toolbar-accent);border-color:var(--whiteboard-toolbar-accent);color:var(--color-dark-text-fff)}.bundle-review-loading{text-align:center;padding:var(--space-2xl);color:var(--color-admin-text-muted)}.bundle-review-empty{text-align:center;padding:var(--space-2xl);color:var(--color-gray-700)}.bundle-review-list{gap:var(--space-md);flex-direction:column;display:flex}.bundle-review-card{border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-8);padding:var(--space-md)var(--space-lg);background:var(--color-dark-surface-card)}.bundle-review-card--dud{opacity:.5;border-color:var(--color-gray-dark-label)}.bundle-review-card-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.bundle-review-qid{font-size:var(--font-size-xs);color:var(--color-gray-700);font-family:monospace}.bundle-review-marks{font-size:var(--font-size-xs);color:var(--color-dark-text-muted)}.bundle-review-knowledge-type{font-size:var(--font-size-xs);padding:var(--space-2)var(--space-6);border-radius:var(--radius-4);color:#88c;background:#2a2a4a}.bundle-review-spec-badges{gap:var(--space-xs);flex-wrap:wrap;display:flex}.bundle-review-spec-badge{font-size:var(--font-size-xs);padding:var(--space-2)var(--space-6);border-radius:var(--radius-4);color:#8a8;text-overflow:ellipsis;white-space:nowrap;background:#1a2a1a;max-width:200px;overflow:hidden}.bundle-review-spec-badge-more{font-size:var(--font-size-xs);padding:var(--space-2)var(--space-6);color:var(--color-gray-700)}.bundle-review-status-buttons{gap:var(--space-xs);margin-left:auto;display:flex}.bundle-review-status-btn{width:var(--space-2xl);height:var(--space-xl);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-4);color:var(--color-admin-text-muted);cursor:pointer;font-size:var(--font-size-xs);background:0 0;font-weight:600}.bundle-review-status-btn:hover{background:var(--color-dark-border-333)}.bundle-review-status--not_reviewed.active{background:var(--color-gray-dark-label);color:var(--color-dark-text-fff);border-color:var(--color-gray-700)}.bundle-review-status--reviewed.active{background:var(--color-green-900);color:var(--color-green-light-300);border-color:var(--color-success-700)}.bundle-review-status--needs_revision.active{background:var(--color-amber-deep);color:#ffcc80;border-color:#ef6c00}.bundle-review-status--dud{font-size:var(--font-size-xs);color:#f44336}.bundle-review-status-badge{font-size:var(--font-size-xs);padding:var(--space-2)var(--space-sm);border-radius:var(--radius-4)}.bundle-review-status-badge.bundle-review-status--dud{background:var(--color-dark-error-bg);color:#f44336}.bundle-review-question-text{font-size:var(--font-size-sm);margin-bottom:var(--space-sm);line-height:1.5}.bundle-review-question-text--dud{color:var(--color-gray-700);text-decoration:line-through}.bundle-review-mark-scheme,.bundle-review-model-answer{font-size:var(--font-size-xs);color:var(--color-dark-text-muted);margin-bottom:var(--space-6);padding:var(--space-6)var(--space-sm);background:var(--color-dark-surface-deep);border-radius:var(--radius-4)}.bundle-review-mark-scheme strong,.bundle-review-model-answer strong{color:var(--color-dark-text-tertiary);font-size:var(--font-size-xs)}.bundle-review-actions{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.bundle-review-tags{gap:var(--space-xs);flex-wrap:wrap;display:flex}.bundle-review-tag-pill{padding:var(--space-2)var(--space-sm);border:var(--border-width-1)solid var(--color-dark-border-444);border-radius:var(--radius-12);color:var(--color-dark-text-muted);cursor:pointer;font-size:var(--font-size-xs);background:0 0}.bundle-review-tag-pill:hover{background:var(--color-dark-border-333);color:var(--color-dark-text-fff)}.bundle-review-tag-pill.is-submitting{opacity:.5}.bundle-review-dud-btn{padding:var(--space-xs)var(--space-md);border:var(--border-width-1)solid #f44336;border-radius:var(--radius-4);color:#f44336;cursor:pointer;font-size:var(--font-size-xs);background:0 0;font-weight:600}.bundle-review-dud-btn:hover{background:var(--color-dark-error-bg)}.bundle-review-dud-btn:disabled{opacity:.5;cursor:not-allowed}.bundle-notes{margin-bottom:var(--space-lg)}.bundle-notes-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}.bundle-notes-toggle:hover{background:var(--color-dark-surface-elevated)}.bundle-notes-toggle.open{border-radius:var(--radius-6)var(--radius-6)0 0;border-bottom-color:#0000}.bundle-notes-chevron{font-size:var(--font-size-xs);margin-left:auto}.bundle-notes-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-10)var(--space-md);background:#151515;border-top:none}.bundle-notes-input-row{gap:var(--space-sm);align-items:flex-start;display:flex}.bundle-notes-textarea{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);resize:vertical;flex:1;font-family:inherit}.bundle-notes-textarea::placeholder{color:var(--color-gray-700)}.bundle-notes-add-btn{padding:var(--space-6)var(--space-lg);background:var(--whiteboard-toolbar-accent);border-radius:var(--radius-4);color:var(--color-dark-text-fff);cursor:pointer;font-size:var(--font-size-xs);border:none}.bundle-notes-add-btn:hover{background:var(--color-blue-700)}.bundle-notes-add-btn:disabled{opacity:.5;cursor:not-allowed}.bundle-notes-list{margin-top:var(--space-10);gap:var(--space-6);flex-direction:column;display:flex}.bundle-notes-item{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-6)0;border-bottom:var(--border-width-1)solid var(--color-dark-surface-elevated);display:flex}.bundle-notes-item:last-child{border-bottom:none}.bundle-notes-text{font-size:var(--font-size-xs);color:var(--color-dark-text-tertiary);white-space:pre-wrap}.bundle-notes-time{font-size:var(--font-size-xs);color:var(--color-gray-700);white-space:nowrap;flex-shrink:0}.bundle-review-suggest-specs-btn{padding:var(--space-xs)var(--space-10);border:var(--border-width-1)solid var(--color-practice-branch);border-radius:var(--radius-4);color:var(--color-practice-branch);font-size:var(--font-size-px-12);cursor:pointer;background:0 0;font-weight:500;transition:background .15s,color .15s}.bundle-review-suggest-specs-btn:hover:not(:disabled){background:var(--color-practice-branch);color:var(--color-dark-text-fff)}.bundle-review-suggest-specs-btn:disabled{opacity:.4;cursor:not-allowed}.bundle-review-spec-suggestions{gap:var(--space-xs);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:var(--border-width-1)solid var(--color-dark-surface-elevated);flex-direction:column;display:flex}.bundle-review-spec-suggestion{align-items:center;gap:var(--space-sm);padding:var(--space-6)var(--space-10);border:var(--border-width-1)solid var(--color-dark-border-333);border-radius:var(--radius-6);color:var(--color-dark-text-tertiary);cursor:pointer;font-size:var(--font-size-px-12);text-align:left;background:#0d0d0d;transition:border-color .15s;display:flex}.bundle-review-spec-suggestion:hover:not(:disabled){border-color:var(--color-success-500)}.bundle-review-spec-suggestion:disabled{opacity:.5}.bundle-review-spec-suggestion-number{color:var(--color-practice-branch);white-space:nowrap;min-width:var(--space-2xl);font-weight:700}.bundle-review-spec-suggestion-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.bundle-review-spec-suggestion-confirm{color:var(--color-success-500);font-weight:700;font-size:var(--font-size-px-16);padding:0 var(--space-xs)}
.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(--color-gray-300);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(--color-gray-300);font-size:var(--font-size-px-14);margin-bottom:var(--space-6);box-sizing:border-box}.tensor-generate-search::placeholder{color:var(--color-gray-700)}.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(--color-gray-700);white-space:nowrap}.tensor-spec-loading,.tensor-spec-empty{padding:var(--space-md);text-align:center;color:var(--color-gray-700);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(--color-gray-300);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(--color-gray-700);color:var(--color-gray-300)}.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(--color-gray-700)}.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(--color-gray-700);white-space:nowrap;margin-left:auto}.subtree-spec-loading,.subtree-spec-empty{text-align:center;padding:var(--space-md);color:var(--color-gray-700);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(--color-gray-700)}.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(--color-gray-700);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(--color-dark-text-fff);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);border-top:var(--border-width-1)solid #e0e0e0;background:#f8f8f8;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 #d0d0d0;border-radius:var(--radius-4);background:var(--color-dark-text-fff);color:#444;cursor:pointer}.scratch-ctrl-btn:hover{background:var(--color-gray-warm-200)}.scratch-ctrl-btn.active{color:#1565c0;background:#e3f2fd;border-color:#90caf9;font-weight:600}.scratch-ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.scratch-ctrl-btn--danger{color:var(--color-red-900);border-color:#e0b0b0}.scratch-ctrl-btn--danger:hover{background:#fce4ec}.scratch-ctrl-divider{width:var(--border-width-1);height:var(--space-20);margin:0 var(--space-xs);background:#d0d0d0}.scratch-ctrl-label{font-size:var(--font-size-px-12);color:#666;min-width:var(--space-2xl);text-align:center}
.session-layout{background:#0a0a0a;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}}
