:root{--text-highlight-1:0 72% 51%;--text-highlight-2:25 95% 53%;--text-highlight-3:45 93% 47%;--text-highlight-4:142 71% 45%;--text-highlight-5:217 91% 60%;--text-highlight-6:271 91% 65%;--text-highlight-7:330 81% 60%;--text-highlight-8:220 8% 45%}.exercise-content-editor{width:100%;max-width:100%}.question-block-json-editor{background:var(--theme-elevation-0)}.question-block-json-editor .question-block-type-badge{display:inline-block;padding:.25rem .5rem;background:var(--theme-info-500);color:white;font-size:.75rem;font-weight:600;border-radius:3px;margin-bottom:.75rem}.question-block-json-editor .json-inspector{border:none;background:transparent}.question-block-json-editor .json-inspector__header{padding:.75rem 0;margin-bottom:.5rem}.question-block-json-editor .json-inspector__textarea{min-height:300px;font-size:.875rem;background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-200)}.question-block-json-editor .json-inspector__pre{font-size:.875rem;background:var(--theme-elevation-0)}.editor-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--theme-elevation-150)}.editor-header-actions{display:flex;align-items:center;gap:.5rem}.editor-save-button{padding:.5rem 1rem;background:var(--theme-success-500);color:white;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s}.editor-save-button:hover{background:var(--theme-success-600)}.editor-save-button:active{background:var(--theme-success-700)}.editor-header h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--theme-elevation-1000)}.editor-description{margin:0;font-size:.875rem;color:var(--theme-elevation-600)}.editor-badge{font-size:.75rem;font-family:monospace;color:var(--theme-elevation-600);background:var(--theme-elevation-100);padding:.25rem .5rem;border-radius:4px}.editor-breadcrumb{margin-bottom:1rem;padding:.5rem 0}.block-list{display:flex;flex-direction:column;gap:1rem}.block-card{border:1px dashed var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);overflow:hidden;transition:border-color .15s}.block-card:hover{border-color:var(--theme-elevation-300)}.block-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--theme-elevation-50);border-bottom:1px solid var(--theme-elevation-150)}.block-card-title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--theme-elevation-700)}.block-card-actions{display:flex;gap:.25rem}.block-card-content{padding:1rem}.rich-text-editor{border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0)}.rich-text-toolbar{display:flex;gap:.25rem;padding:.5rem;border-bottom:1px solid var(--theme-elevation-150);background:var(--theme-elevation-50)}.toolbar-button{padding:.375rem .5rem;border:none;background:transparent;border-radius:3px;cursor:pointer;color:var(--theme-elevation-700);font-size:.875rem;transition:background .15s}.toolbar-button:hover{background:var(--theme-elevation-100)}.toolbar-button:disabled{opacity:.4;cursor:not-allowed}.toolbar-button--media{margin-left:auto}.toolbar-divider{width:1px;background:var(--theme-elevation-200);margin:0 .25rem}.toolbar-button-wrapper{position:relative}.color-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;padding:.5rem;background:var(--theme-elevation-50);border:1px solid var(--theme-elevation-150);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:10}.color-option{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s}.color-option:hover{border-color:var(--theme-elevation-400);transform:scale(1.1)}.color-option--highlight-1{background:hsl(var(--text-highlight-1))}.color-option--highlight-2{background:hsl(var(--text-highlight-2))}.color-option--highlight-3{background:hsl(var(--text-highlight-3))}.color-option--highlight-4{background:hsl(var(--text-highlight-4))}.color-option--highlight-5{background:hsl(var(--text-highlight-5))}.color-option--highlight-6{background:hsl(var(--text-highlight-6))}.color-option--highlight-7{background:hsl(var(--text-highlight-7))}.color-option--highlight-8{background:hsl(var(--text-highlight-8))}.color-option--none{background:linear-gradient(to top right,transparent calc(50% - 1.5px),hsl(var(--text-highlight-1)) calc(50% - 1.5px) calc(50% + 1.5px),transparent calc(50% + 1.5px)),var(--theme-elevation-0,#ffffff);border-color:var(--theme-elevation-300)}.color-option--wine-red{background:hsl(var(--text-highlight-1))}.color-option--blue{background:hsl(var(--text-highlight-5))}.color-option--green{background:hsl(var(--text-highlight-4))}.color-option--dark-orange{background:hsl(var(--text-highlight-2))}.toolbar-color-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--theme-elevation-200,transparent);vertical-align:middle}.toolbar-color-swatch--wine-red{background:hsl(var(--text-highlight-1))}.toolbar-color-swatch--blue{background:hsl(var(--text-highlight-5))}.toolbar-color-swatch--green{background:hsl(var(--text-highlight-4))}.toolbar-color-swatch--dark-orange{background:hsl(var(--text-highlight-2))}.toolbar-button--color{display:inline-flex;align-items:center;justify-content:center}.toolbar-size-group{display:inline-flex;align-items:center;gap:2px;padding:0 2px}.toolbar-button--size{min-width:28px;font-weight:600;font-size:.75rem}.toolbar-spacer{flex:1 1 auto;min-width:.5rem}.toolbar-button--mode{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;color:var(--theme-elevation-700,currentColor);border:1px solid transparent;border-radius:4px}.toolbar-button--mode:hover{background:var(--theme-elevation-100,transparent)}.toolbar-button--mode.toolbar-button--active{background:var(--theme-elevation-200,transparent);border-color:var(--theme-elevation-300,transparent)}.toolbar-button-label{display:inline-block;margin-left:.125rem}.toolbar-mode-label{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:var(--theme-elevation-700,currentColor)}.rich-text-toolbar--view{background:var(--theme-elevation-100,transparent)}.rich-text-preview{width:100%;min-height:200px;padding:1rem;border:none;background:var(--theme-elevation-0,transparent);color:var(--theme-elevation-1000,currentColor)}.rich-text-preview-empty{color:var(--theme-elevation-400,currentColor);font-style:italic}.aguy-text-wine-red{background-color:hsl(var(--text-highlight-1)/.25);color:hsl(var(--text-highlight-1));padding:0 2px;border-radius:2px}.aguy-text-blue{background-color:hsl(var(--text-highlight-5)/.25);color:hsl(var(--text-highlight-5));padding:0 2px;border-radius:2px}.aguy-text-green{background-color:hsl(var(--text-highlight-4)/.25);color:hsl(var(--text-highlight-4));padding:0 2px;border-radius:2px}.aguy-text-dark-orange{background-color:hsl(var(--text-highlight-2)/.25);color:hsl(var(--text-highlight-2));padding:0 2px;border-radius:2px}.aguy-text-size-small{font-size:.75rem;line-height:1.4}.aguy-text-size-normal{font-size:1rem;line-height:1.5}.aguy-text-size-large{font-size:1.25rem;line-height:1.45}.aguy-text-size-xlarge{font-size:1.5rem;line-height:1.4;font-weight:500}.aguy-text-align-right{text-align:right;direction:rtl;unicode-bidi:isolate}.aguy-text-highlight-1,.aguy-text-highlight-2,.aguy-text-highlight-3,.aguy-text-highlight-4,.aguy-text-highlight-5,.aguy-text-highlight-6,.aguy-text-highlight-7,.aguy-text-highlight-8{padding:0 2px;border-radius:2px}.aguy-text-highlight-1{background-color:hsl(var(--text-highlight-1)/.2)}.aguy-text-highlight-2{background-color:hsl(var(--text-highlight-2)/.2)}.aguy-text-highlight-3{background-color:hsl(var(--text-highlight-3)/.2)}.aguy-text-highlight-4{background-color:hsl(var(--text-highlight-4)/.2)}.aguy-text-highlight-5{background-color:hsl(var(--text-highlight-5)/.2)}.aguy-text-highlight-6{background-color:hsl(var(--text-highlight-6)/.2)}.aguy-text-highlight-7{background-color:hsl(var(--text-highlight-7)/.2)}.aguy-text-highlight-8{background-color:hsl(var(--text-highlight-8)/.2)}.rich-text-textarea{width:100%;min-height:200px;padding:1rem;border:none;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;color:var(--theme-elevation-1000);background:transparent;resize:vertical}.rich-text-textarea:focus{outline:none}.rich-text-footer{padding:.5rem .75rem;background:var(--theme-elevation-50);border-top:1px solid var(--theme-elevation-150);font-size:.75rem;color:var(--theme-elevation-600);text-align:right}.add-block-button{width:100%;padding:1rem;border:2px dashed var(--theme-elevation-200);border-radius:6px;background:transparent;color:var(--theme-elevation-600);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.5rem}.add-block-button:hover{border-color:var(--theme-elevation-400);color:var(--theme-elevation-800);background:var(--theme-elevation-50)}.icon-button{padding:.375rem;border:none;background:transparent;border-radius:3px;cursor:pointer;color:var(--theme-elevation-700);transition:all .15s;display:flex;align-items:center;justify-content:center}.icon-button:hover{background:var(--theme-elevation-100);color:var(--theme-elevation-900)}.icon-button:disabled{opacity:.3;cursor:not-allowed}.icon-button.delete{color:var(--theme-error-500)}.icon-button.delete:hover{background:var(--theme-error-50);color:var(--theme-error-600)}.icon-button.active{background:var(--theme-elevation-200);color:var(--theme-elevation-900)}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--theme-elevation-600)}.breadcrumb__separator{color:var(--theme-elevation-400)}.breadcrumb__item{color:var(--theme-elevation-600);border:none;background:none;padding:0;cursor:default;font-size:inherit}.breadcrumb__item--clickable{cursor:pointer;text-decoration:underline;color:var(--theme-elevation-700)}.breadcrumb__item--active,.breadcrumb__item--clickable:hover{color:var(--theme-elevation-900)}.breadcrumb__item--active{font-weight:500}.breadcrumb__item--inactive{color:var(--theme-elevation-500)}.block-tree{display:flex;flex-direction:column;gap:.75rem}.block-tree__empty{padding:2rem;text-align:center;color:var(--theme-elevation-500);font-size:.875rem;border:1px dashed var(--theme-elevation-200);border-radius:6px;background:var(--theme-elevation-50)}.block-tree__add-root{position:relative;padding:.75rem 0;border-top:1px solid var(--theme-elevation-200);margin-top:.5rem}.block-tree__add-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--theme-elevation-300);border-radius:4px;background:var(--theme-elevation-50);color:var(--theme-elevation-700);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.block-tree__add-button:hover{background:var(--theme-elevation-100);border-color:var(--theme-elevation-400);color:var(--theme-elevation-900)}.block-tree__add-root .contextual-toolbar__add-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.25rem}.block-card-wrapper{position:relative;margin-bottom:.75rem}.block-card-wrapper .contextual-toolbar{margin-bottom:.5rem}.block-card-wrapper--level-0{margin-left:0}.block-card-wrapper--level-1{margin-left:1rem}.block-card-wrapper--level-2{margin-left:2rem}.block-card-wrapper.block--selected{outline:2px solid var(--theme-elevation-400);outline-offset:2px;border-radius:4px}.container-block{border:2px solid var(--theme-elevation-300);border-radius:6px;background:var(--theme-elevation-0);overflow:hidden;margin-bottom:.75rem;box-shadow:0 2px 4px rgba(0,0,0,.08)}.container-block--level-0{margin-left:0}.container-block--level-1{margin-left:1rem}.container-block--level-2{margin-left:2rem}.container-block.block--selected{outline:2px solid var(--theme-elevation-400);outline-offset:2px}.container-block__header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--theme-elevation-100);border-bottom:2px solid var(--theme-elevation-200);min-height:48px;font-weight:500}.container-block__header-left{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.container-block__icon{color:var(--theme-elevation-600);flex-shrink:0}.container-block__title{font-size:.875rem;font-weight:600;color:var(--theme-elevation-800);cursor:pointer;padding:.25rem .5rem;border-radius:3px;transition:background .15s}.container-block__title:hover{background:var(--theme-elevation-100)}.container-block__title-input{font-size:.875rem;font-weight:600;color:var(--theme-elevation-800);border:1px solid var(--theme-elevation-300);border-radius:3px;padding:.25rem .5rem;background:var(--theme-elevation-0);width:100%;max-width:300px}.container-block__title-input:focus{outline:none;border-color:var(--theme-elevation-500)}.container-block__actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.container-block__action-group{display:flex;align-items:center;gap:.375rem;padding:0 .5rem;border-right:1px solid var(--theme-elevation-200)}.container-block__action-group:last-child{border-right:none}.container-block__action-label{font-size:.75rem;color:var(--theme-elevation-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600;white-space:nowrap}.icon-button--text{color:var(--theme-elevation-700);border:1px solid var(--theme-elevation-200);padding:.375rem .625rem;gap:.375rem}.icon-button--text:hover{background:var(--theme-elevation-100);border-color:var(--theme-elevation-300)}.icon-button--container{color:var(--theme-elevation-700);border:1px solid var(--theme-elevation-300);background:var(--theme-elevation-50);padding:.375rem .625rem;gap:.375rem}.icon-button--container:hover{background:var(--theme-elevation-100);border-color:var(--theme-elevation-400)}.icon-button span{font-size:.75rem;font-weight:500}.container-block__body{padding:.75rem;background:var(--theme-elevation-50)}.container-block__children{display:flex;flex-direction:column;gap:.5rem}.contextual-toolbar{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--theme-elevation-50);border-radius:4px;border:1px solid var(--theme-elevation-200)}.contextual-toolbar__group{display:flex;align-items:center;gap:.25rem;padding-right:.5rem;border-right:1px solid var(--theme-elevation-200)}.contextual-toolbar__group:last-child{border-right:none;padding-right:0}.contextual-toolbar__add-wrapper{position:relative}.contextual-toolbar__button{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid var(--theme-elevation-200);border-radius:3px;background:var(--theme-elevation-0);color:var(--theme-elevation-700);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.contextual-toolbar__button:hover:not(:disabled){background:var(--theme-elevation-100);border-color:var(--theme-elevation-300)}.contextual-toolbar__button:disabled{opacity:.4;cursor:not-allowed}.contextual-toolbar__button--add{background:var(--theme-elevation-50)}.contextual-toolbar__button--delete{color:var(--theme-error-600);border-color:var(--theme-error-200)}.contextual-toolbar__button--delete:hover:not(:disabled){background:var(--theme-error-50);border-color:var(--theme-error-300)}.contextual-toolbar__add-menu{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-200);border-radius:4px;box-shadow:0 4px 6px rgba(0,0,0,.1);z-index:100;min-width:180px;overflow:hidden}.contextual-toolbar__menu-item{display:block;width:100%;padding:.5rem .75rem;text-align:left;border:none;background:transparent;color:var(--theme-elevation-700);font-size:.875rem;cursor:pointer;transition:background .15s}.contextual-toolbar__menu-item:hover{background:var(--theme-elevation-50)}.contextual-toolbar__menu-divider{height:1px;background:var(--theme-elevation-200);margin:.25rem 0}.contextual-toolbar__button .rotated{transform:rotate(180deg)}.editor-layout{display:flex;position:relative;width:100%;min-height:400px}.editor-main{flex:1;min-width:0;overflow-x:auto}.editor-splitter{width:4px;background:var(--theme-elevation-200);cursor:col-resize;flex-shrink:0;position:relative}.editor-splitter:hover{background:var(--theme-elevation-300)}.editor-splitter:after{content:"";position:absolute;left:-2px;right:-2px;top:0;bottom:0}.editor-json-panel{flex-shrink:0;border-left:1px solid var(--theme-elevation-200);background:var(--theme-elevation-50);display:flex;flex-direction:column;overflow:hidden}.json-inspector{display:flex;flex-direction:column;height:100%;background:var(--theme-elevation-0)}.json-inspector--empty{align-items:center;justify-content:center}.json-inspector__empty-state{text-align:center;color:var(--theme-elevation-500);font-size:.875rem}.json-inspector__header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--theme-elevation-150);background:var(--theme-elevation-50)}.json-inspector__title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--theme-elevation-800)}.json-inspector__block-type{font-size:.75rem;font-family:monospace;color:var(--theme-elevation-600);background:var(--theme-elevation-100);padding:.125rem .375rem;border-radius:3px}.json-inspector__actions{display:flex;gap:.25rem}.json-inspector__content{flex:1;overflow:auto;padding:1rem}.json-inspector__pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;line-height:1.6;color:#d4d4d4;white-space:pre-wrap;word-wrap:break-word;background:#1e1e1e!important;padding:1rem;border-radius:4px}.json-inspector__pre .token.property{color:#9cdcfe!important}.json-inspector__pre .token.string{color:#ce9178!important}.json-inspector__pre .token.number{color:#b5cea8!important}.json-inspector__pre .token.boolean,.json-inspector__pre .token.null{color:#569cd6!important}.json-inspector__pre .token.punctuation{color:#d4d4d4!important}.json-inspector__editor{position:relative;width:100%;height:100%;min-height:400px;background:#1e1e1e}.json-inspector__textarea{width:100%;height:100%;padding:1rem;border:1px solid var(--theme-elevation-200);border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;line-height:1.6;color:#d4d4d4;background:#1e1e1e;resize:none;caret-color:#ffffff;z-index:2;white-space:pre;overflow-wrap:normal;word-wrap:normal}.json-inspector__textarea,.json-inspector__textarea--editable{position:absolute;top:0;left:0}.json-inspector__textarea:focus{outline:none;border-color:var(--theme-elevation-400)}.json-inspector__pre--overlay{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem;border:1px solid var(--theme-elevation-200);border-radius:4px;pointer-events:none;z-index:1;overflow:auto;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;line-height:1.6;white-space:pre;background:#1e1e1e!important;display:none}.json-inspector__pre--overlay *,.json-inspector__pre--overlay code,.json-inspector__pre--overlay div{background:transparent!important}.json-inspector__error{padding:.75rem 1rem;background:var(--theme-error-50);border-bottom:1px solid var(--theme-error-200);color:var(--theme-error-700);font-size:.875rem}.json-inspector__error p{margin:0}.json-inspector__apply{color:var(--theme-success-600)}.json-inspector__apply:hover{background:var(--theme-success-50);color:var(--theme-success-700)}.editor-mobile-tabs{display:none;border-bottom:1px solid var(--theme-elevation-200);margin-bottom:1rem}.editor-mobile-tab{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--theme-elevation-600);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.editor-mobile-tab:hover{color:var(--theme-elevation-800);background:var(--theme-elevation-50)}.editor-mobile-tab.active{color:var(--theme-elevation-900);border-bottom-color:var(--theme-elevation-900)}.editor-json-panel--mobile{width:100%!important;border:none;border-top:1px solid var(--theme-elevation-200);max-height:none}@media (max-width:1023px){.editor-mobile-tabs{display:flex}.editor-layout{flex-direction:column}.editor-splitter{display:none}.editor-json-panel:not(.editor-json-panel--mobile){width:100%!important;border-left:none;border-top:1px solid var(--theme-elevation-200);max-height:50vh}}.block-media-section{padding:.75rem 1rem;border-top:1px solid var(--theme-elevation-150);background:var(--theme-elevation-25)}.block-media-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-200);border-radius:4px;font-size:.875rem;color:var(--theme-elevation-700);cursor:pointer;transition:all .15s}.block-media-button:hover{background:var(--theme-elevation-50);border-color:var(--theme-elevation-300);color:var(--theme-elevation-900)}.block-media-loading{font-size:.875rem;color:var(--theme-elevation-600);padding:.5rem 0}.block-media-preview{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.media-thumbnail-preview{position:relative;width:80px;height:80px;border-radius:4px;overflow:hidden;border:1px solid var(--theme-elevation-200);background:var(--theme-elevation-50)}.media-thumbnail-preview img{width:100%;height:100%;object-fit:cover}.media-thumbnail-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.7);color:white;border:none;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s}.media-thumbnail-remove:hover{background:rgba(0,0,0,.9)}.media-thumbnail-name{position:absolute;bottom:0;left:0;right:0;padding:.25rem;background:rgba(0,0,0,.7);color:white;font-size:.625rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-type-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.block-type-selector-modal{background:var(--theme-elevation-0);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.2);max-width:600px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.block-type-selector-header{padding:1.5rem;border-bottom:1px solid var(--theme-elevation-150);display:flex;justify-content:space-between;align-items:center}.block-type-selector-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--theme-elevation-1000)}.block-type-selector-grid{padding:1.5rem;display:grid;grid-template-columns:1fr;gap:1rem;overflow-y:auto}.block-type-option{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--theme-elevation-50);border:2px solid var(--theme-elevation-200);border-radius:6px;cursor:pointer;transition:all .15s;text-align:left;width:100%}.block-type-option:hover{background:var(--theme-elevation-100);border-color:var(--theme-info-500)}.block-type-option-icon{color:var(--theme-info-500);flex-shrink:0}.block-type-option-content{flex:1}.block-type-option-label{font-size:1rem;font-weight:600;color:var(--theme-elevation-1000);margin-bottom:.25rem}.block-type-option-description{font-size:.875rem;color:var(--theme-elevation-700);line-height:1.4}@media (max-width:640px){.block-type-selector-modal{width:95%}.block-type-option,.block-type-selector-grid{padding:1rem}}.question-block-wrapper{padding:.5rem 0}.question-block-json-toggle{margin-top:1rem}.mcq-editor--compact .question-editor-label{display:none}.mcq-editor--compact .mcq-option-actions{opacity:0;transition:opacity .15s}.mcq-editor--compact .mcq-option-row:focus-within .mcq-option-actions,.mcq-editor--compact .mcq-option-row:hover .mcq-option-actions{opacity:1}.mcq-editor--compact .mcq-add-option-btn{opacity:.5;font-size:12px;padding:4px 8px;transition:opacity .15s}.mcq-editor--compact .mcq-add-option-btn:hover{opacity:1}.mcq-editor--compact .mcq-settings-fold{padding:4px 0 0}.mcq-editor--compact .mcq-settings-fold>summary{cursor:pointer;font-size:12px;color:var(--theme-elevation-500);padding:2px 0;user-select:none;list-style:none}.mcq-editor--compact .mcq-settings-fold>summary::-webkit-details-marker{display:none}.mcq-editor--compact .mcq-settings-fold>summary:before{content:"▸";display:inline-block;margin-right:4px;transition:transform .15s}.mcq-editor--compact .mcq-settings-fold[open]>summary:before{transform:rotate(90deg)}.mcq-editor--compact .mcq-settings-fold[open]>summary{margin-bottom:6px}.inline-rich-text-editor{border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0)}.inline-rich-text-toolbar{display:flex;gap:.25rem;padding:.375rem .5rem;border-bottom:1px solid var(--theme-elevation-150);background:var(--theme-elevation-50)}.inline-rich-text-wysiwyg{width:100%;min-height:80px;padding:.75rem;border:none;font-size:.9375rem;line-height:1.55;color:var(--theme-elevation-1000);background:transparent;outline:none;white-space:pre-wrap;word-break:break-word;position:relative}.inline-rich-text-wysiwyg:focus{outline:none}.inline-rich-text-wysiwyg[data-empty=true]:before{content:attr(data-placeholder);color:var(--theme-elevation-400);font-style:italic;pointer-events:none;position:absolute}.inline-rich-text-wysiwyg p{margin:0 0 .5em}.inline-rich-text-wysiwyg p:last-child{margin-bottom:0}.inline-rich-text-wysiwyg h1{font-size:1.5em;font-weight:600;margin:.25em 0 .5em}.inline-rich-text-footer{padding:.375rem .75rem;font-size:.75rem;color:var(--theme-elevation-600);text-align:right}.inline-rich-text-footer,.inline-rich-text-media{background:var(--theme-elevation-50);border-top:1px solid var(--theme-elevation-150)}.inline-rich-text-media{padding:.5rem .75rem}.inline-rich-text-media-loading{font-size:.75rem;color:var(--theme-elevation-600)}.inline-rich-text-media-list{display:flex;flex-wrap:wrap;gap:.5rem}.inline-rich-text-media-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem .25rem .25rem;background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-200);border-radius:4px;font-size:.75rem}.inline-rich-text-media-thumb{width:32px;height:32px;border-radius:2px;object-fit:cover;border:1px solid var(--theme-elevation-200)}.inline-rich-text-media-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--theme-elevation-100);border-radius:2px;color:var(--theme-elevation-600)}.inline-rich-text-media-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-elevation-800)}.inline-rich-text-media-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--theme-elevation-500);cursor:pointer;border-radius:2px;transition:all .15s}.inline-rich-text-media-remove:hover{background:var(--theme-error-100);color:var(--theme-error-700)}.hint-solution-panel{display:flex;flex-direction:column;gap:.75rem}.hint-solution-field{margin-bottom:.5rem}.hint-solution-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.hint-solution-field-label{font-size:.75rem;font-weight:500;color:var(--theme-elevation-600);text-transform:uppercase;letter-spacing:.05em}.hint-solution-field-empty{padding:.5rem 0}.hint-solution-enable-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px dashed var(--theme-elevation-300);border-radius:4px;background:transparent;color:var(--theme-elevation-600);font-size:.8125rem;cursor:pointer;transition:all .15s}.hint-solution-enable-btn:hover{border-color:var(--theme-info-500);color:var(--theme-info-500);background:var(--theme-info-50)}.hint-solution-remove-btn{padding:.25rem;border:none;background:transparent;color:var(--theme-elevation-500);border-radius:3px;cursor:pointer;transition:all .15s}.hint-solution-remove-btn:hover{background:var(--theme-error-50);color:var(--theme-error-500)}.hint-solution-notebook-toggle{padding:.625rem .75rem;background:var(--theme-elevation-50);border:1px solid var(--theme-elevation-150);border-radius:4px}.hint-solution-notebook-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:var(--theme-elevation-800);cursor:pointer}.hint-solution-notebook-help{margin:.375rem 0 0 1.5rem;font-size:.75rem;color:var(--theme-elevation-600);line-height:1.35}.true-false-editor{display:flex;flex-direction:column;gap:1rem}.tf-option-row,.tf-radio-option{display:flex;gap:.75rem}.tf-radio-option{flex:1;padding:.75rem 1rem;border:2px solid var(--theme-elevation-200);border-radius:6px;background:var(--theme-elevation-0);color:var(--theme-elevation-700);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s;align-items:center}.tf-radio-option:hover{border-color:var(--theme-elevation-300);background:var(--theme-elevation-50)}.tf-radio-option--selected{border-color:var(--theme-success-500);background:var(--theme-success-50);color:var(--theme-success-700)}.tf-radio-indicator{width:18px;height:18px;border:2px solid var(--theme-elevation-300);border-radius:50%;flex-shrink:0;position:relative}.tf-radio-option--selected .tf-radio-indicator{border-color:var(--theme-success-500)}.tf-radio-option--selected .tf-radio-indicator:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--theme-success-500);border-radius:50%}.tf-option-input{flex:1;border:none;background:transparent;font-size:.9375rem;font-weight:500;color:inherit;outline:none;min-width:0;padding:0}.tf-option-input:focus{text-decoration:underline;text-underline-offset:2px}.mcq-editor{display:flex;flex-direction:column;gap:1rem}.mcq-selection-mode{display:flex;gap:.5rem}.mcq-mode-btn{flex:1;padding:.5rem 1rem;border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);color:var(--theme-elevation-700);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.mcq-mode-btn:hover{background:var(--theme-elevation-50)}.mcq-mode-btn--selected{border-color:var(--theme-info-500);background:var(--theme-info-50);color:var(--theme-info-700)}.mcq-options-list{display:flex;flex-direction:column;gap:.75rem}.mcq-option-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--theme-elevation-200);border-radius:6px;background:var(--theme-elevation-0)}.mcq-option-correct{flex-shrink:0;padding-top:.25rem}.mcq-correct-marker{width:20px;height:20px;border:2px solid var(--theme-elevation-300);border-radius:50%;background:var(--theme-elevation-0);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.mcq-correct-marker:hover{border-color:var(--theme-success-400)}.mcq-correct-marker--checked{border-color:var(--theme-success-500);background:var(--theme-success-500)}.mcq-correct-inner{width:8px;height:8px;border-radius:50%;background:white}.mcq-option-content{flex:1;min-width:0}.mcq-option-actions{display:flex;flex-direction:column;gap:.25rem}.mcq-option-action-btn{padding:.375rem;border:none;background:transparent;border-radius:3px;color:var(--theme-elevation-500);cursor:pointer;transition:all .15s}.mcq-option-action-btn:hover:not(:disabled){background:var(--theme-elevation-100);color:var(--theme-elevation-700)}.mcq-option-action-btn:disabled{opacity:.3;cursor:not-allowed}.mcq-option-action-btn--delete:hover:not(:disabled){background:var(--theme-error-50);color:var(--theme-error-500)}.mcq-add-option-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border:1px dashed var(--theme-elevation-300);border-radius:6px;background:transparent;color:var(--theme-elevation-600);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;margin-top:.5rem}.mcq-add-option-btn:hover{border-color:var(--theme-info-500);color:var(--theme-info-500);background:var(--theme-info-50)}.free-response-editor{display:flex;flex-direction:column;gap:1rem}.accepted-answers-list{display:flex;flex-direction:column;gap:.5rem}.accepted-answer-row{display:flex;gap:.5rem}.accepted-answer-input{flex:1;padding:.625rem .875rem;border:1px solid var(--theme-elevation-200);border-radius:4px;font-size:.875rem;background:var(--theme-elevation-0);color:var(--theme-elevation-1000)}.accepted-answer-input:focus{outline:none;border-color:var(--theme-elevation-400)}.accepted-answer-remove-btn{padding:.5rem;border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);color:var(--theme-elevation-500);cursor:pointer;transition:all .15s}.accepted-answer-remove-btn:hover:not(:disabled){background:var(--theme-error-50);border-color:var(--theme-error-200);color:var(--theme-error-500)}.accepted-answer-remove-btn:disabled{opacity:.4;cursor:not-allowed}.accepted-answer-add-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border:1px dashed var(--theme-elevation-300);border-radius:6px;background:transparent;color:var(--theme-elevation-600);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;margin-top:.5rem}.accepted-answer-add-btn:hover{border-color:var(--theme-info-500);color:var(--theme-info-500);background:var(--theme-info-50)}.question-editor-section{margin-bottom:.5rem}.question-editor-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--theme-elevation-600);margin-bottom:.5rem}.html-block-editor{border:1px solid var(--theme-elevation-150);border-radius:4px;overflow:hidden}.html-block-editor-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--theme-elevation-50);border-bottom:1px solid var(--theme-elevation-150)}.html-block-editor-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--theme-elevation-500)}.html-editor-source-toggle{padding:.25rem .5rem;font-size:.75rem;background:var(--theme-elevation-100);border:1px solid var(--theme-elevation-200);border-radius:3px;cursor:pointer}.html-editor-source-toggle--active{background:var(--theme-elevation-200)}.html-block-editor-actions{display:flex;gap:.25rem}.html-block-guided-info{padding:1rem;background:var(--theme-elevation-50);border-top:2px solid var(--theme-success-500)}.html-block-guided-title{font-size:.875rem;font-weight:600;color:var(--theme-text);margin:0}.html-block-guided-meta{font-size:.75rem;color:var(--theme-elevation-500);margin:.25rem 0 0}.html-block-source-textarea{width:100%;font-family:monospace;font-size:.875rem;border:none;resize:vertical}.html-block-preview-pane,.html-block-source-textarea{min-height:200px;padding:1rem;background:var(--theme-elevation-0);color:var(--theme-text)}.html-block-preview-pane{font-size:1rem;overflow:auto}.html-block-preview-frame{display:block;width:100%;min-height:80vh;padding:0;border:0}.html-block-preview-pane:empty:before{content:"Nothing to preview yet.";color:var(--theme-elevation-400);font-style:italic}.table-editor{display:flex;flex-direction:column;gap:1rem}.table-config-options{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem;background:var(--theme-elevation-50);border-radius:6px;border:1px solid var(--theme-elevation-150)}.table-config-option{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--theme-elevation-700);cursor:pointer}.table-config-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}.table-config-option--highlight{color:var(--theme-info-600);font-weight:500}.table-headers-editor{display:flex;flex-direction:column;gap:.5rem}.table-header-row{display:flex;gap:.5rem;align-items:center}.table-header-input{flex:1;padding:.5rem .75rem;border:1px solid var(--theme-elevation-200);border-radius:4px;font-size:.875rem;background:var(--theme-elevation-0)}.table-header-input:focus{outline:none;border-color:var(--theme-elevation-400)}.table-align-select{padding:.5rem .75rem;font-size:.8125rem}.table-align-select,.table-header-remove-btn{border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);cursor:pointer}.table-header-remove-btn{padding:.5rem;color:var(--theme-elevation-500);transition:all .15s}.table-header-remove-btn:hover:not(:disabled){background:var(--theme-error-50);border-color:var(--theme-error-200);color:var(--theme-error-500)}.table-header-remove-btn:disabled{opacity:.4;cursor:not-allowed}.table-add-header-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border:1px dashed var(--theme-elevation-300);border-radius:6px;background:transparent;color:var(--theme-elevation-600);font-size:.8125rem;cursor:pointer;transition:all .15s;margin-top:.25rem}.table-add-header-btn:hover{border-color:var(--theme-info-500);color:var(--theme-info-500);background:var(--theme-info-50)}.table-rows-container{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--theme-elevation-200);border-radius:6px;padding:1rem;background:var(--theme-elevation-0)}.table-row{display:flex;align-items:flex-start;gap:.75rem}.table-row-label{flex-shrink:0;width:50px;padding:.5rem 0;font-size:.75rem;font-weight:500;color:var(--theme-elevation-500)}.table-row-cells{flex:1}.table-cell-wrapper,.table-row-cells{display:flex;flex-direction:column;gap:.25rem}.table-cell-input{width:100%;padding:.5rem .75rem;border:1px solid var(--theme-elevation-200);border-radius:4px;font-size:.875rem;background:var(--theme-elevation-0)}.table-cell-input:focus{outline:none;border-color:var(--theme-elevation-400)}.table-solution-input-wrapper{padding:.25rem 0}.table-solution-input{width:100%;padding:.375rem .75rem;border:1px dashed var(--theme-info-300);border-radius:4px;font-size:.8125rem;background:var(--theme-info-50);color:var(--theme-info-700)}.table-solution-input:focus{outline:none;border-color:var(--theme-info-500);background:var(--theme-info-100)}.table-solution-input::placeholder{color:var(--theme-info-400)}.table-row-remove-btn{padding:.5rem;border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);color:var(--theme-elevation-500);cursor:pointer;transition:all .15s}.table-row-remove-btn:hover:not(:disabled){background:var(--theme-error-50);border-color:var(--theme-error-200);color:var(--theme-error-500)}.table-row-remove-btn:disabled{opacity:.4;cursor:not-allowed}.table-add-row-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border:1px dashed var(--theme-elevation-300);border-radius:6px;background:transparent;color:var(--theme-elevation-600);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;margin-top:.75rem}.table-add-row-btn:hover{border-color:var(--theme-info-500);color:var(--theme-info-500);background:var(--theme-info-50)}.matching-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.matching-column-editor,.matching-column-list{display:flex;flex-direction:column;gap:.5rem}.matching-column-row{display:flex;align-items:flex-start;gap:.5rem}.matching-column-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--theme-elevation-150);color:var(--theme-elevation-600);font-size:.75rem;font-weight:600;flex-shrink:0;margin-top:8px}.matching-column-content{flex:1;min-width:0}.matching-column-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--theme-elevation-400);cursor:pointer;flex-shrink:0;margin-top:6px}.matching-column-remove-btn:hover:not(:disabled){background:var(--theme-error-50);color:var(--theme-error-500)}.matching-column-remove-btn:disabled{opacity:.3;cursor:not-allowed}.matching-column-add-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px dashed var(--theme-elevation-300);border-radius:6px;background:transparent;color:var(--theme-elevation-600);font-size:.8125rem;cursor:pointer;transition:all .15s}.matching-column-add-btn:hover{border-color:var(--theme-info-500);color:var(--theme-info-500);background:var(--theme-info-50)}.matching-pairs-list{display:flex;flex-direction:column;gap:.5rem}.matching-pairs-empty{font-size:.8125rem;color:var(--theme-elevation-500);font-style:italic;margin:0}.matching-pair-number{font-size:.8125rem;font-weight:600;color:var(--theme-elevation-600);min-width:1.5rem}.matching-pair-select{flex:1;min-width:100px}.matching-pair-arrow{font-size:1rem;color:var(--theme-elevation-500);padding:0 .25rem}.matching-shuffle-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--theme-elevation-700);cursor:pointer}.matching-shuffle-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.svg-editor-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.svg-editor-upload-btn{padding:.375rem .75rem;border:1px solid var(--theme-elevation-300);border-radius:4px;background:var(--theme-elevation-0);color:var(--theme-elevation-700);font-size:.75rem;cursor:pointer;transition:all .15s}.svg-editor-upload-btn:hover{border-color:var(--theme-info-500);color:var(--theme-info-500)}.svg-editor-status{font-size:.75rem;font-weight:500}.svg-editor-status--valid{color:var(--theme-success-500)}.svg-editor-status--invalid{color:var(--theme-error-500)}.svg-editor-textarea{width:100%;min-height:200px;padding:.75rem;border:1px solid var(--theme-elevation-200);border-radius:6px;background:var(--theme-elevation-50);font-family:monospace;font-size:.8125rem;line-height:1.5;color:var(--theme-elevation-800);resize:vertical;tab-size:2}.svg-editor-textarea:focus{outline:none;border-color:var(--theme-info-500)}.svg-editor-preview{border:1px solid var(--theme-elevation-200);border-radius:6px;padding:1rem;background:var(--theme-elevation-0);min-height:100px;display:flex;align-items:center;justify-content:center}.svg-editor-preview svg,.svg-editor-preview-img{max-width:100%;max-height:300px;display:block}.svg-editor-preview-error{color:var(--theme-error-500);font-size:.8125rem;font-style:italic}.svg-editor-alt-input{width:100%;padding:.5rem .75rem;border:1px solid var(--theme-elevation-200);border-radius:6px;background:var(--theme-elevation-0);font-size:.8125rem;color:var(--theme-elevation-800)}.svg-editor-alt-input:focus{outline:none;border-color:var(--theme-info-500)}.jsxgraph-board-container{position:relative;border:1px solid var(--theme-elevation-200);border-radius:8px;overflow:hidden;background:var(--theme-elevation-0)}.jsxgraph-board{display:block}.jsxgraph-board-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--theme-elevation-500);font-size:.8125rem}.graph-editor-layout{display:flex;gap:1rem}.graph-editor-form{flex:0 1 45%;max-width:45%;min-width:280px;display:flex;flex-direction:column;gap:0;max-height:600px;overflow-y:auto}.graph-editor-canvas{flex:1 1 55%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.375rem;position:sticky;top:0}@media (max-width:900px){.graph-editor-layout{flex-direction:column}.graph-editor-canvas{position:static}}.geo-toolbar{padding:.375rem;background:var(--theme-elevation-50);border:1px solid var(--theme-elevation-150);border-bottom:none;border-radius:6px 6px 0 0}.geo-toolbar,.geo-toolbar-btn{display:flex;align-items:center;gap:.25rem}.geo-toolbar-btn{padding:.25rem .5rem;border:1px solid transparent;border-radius:4px;background:transparent;font-size:.75rem;color:var(--theme-elevation-600);cursor:pointer;transition:all .15s}.geo-toolbar-btn:hover{background:var(--theme-elevation-100);color:var(--theme-elevation-800)}.geo-toolbar-btn--active{background:var(--theme-info-500);color:white;border-color:var(--theme-info-600)}.geo-toolbar-btn--active:hover{background:var(--theme-info-600);color:white}.geo-toolbar-separator{width:1px;height:20px;background:var(--theme-elevation-200);margin:0 .25rem}.geo-canvas-wrap{border:1px solid var(--theme-elevation-150);border-radius:0 0 6px 6px;overflow:hidden}.geo-canvas-wrap--addPoint{cursor:crosshair}.geo-canvas-wrap--moveSketch{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;touch-action:none}.geo-canvas-wrap--moveSketch,.geo-canvas-wrap--moveSketch *{-webkit-user-drag:none}.geo-canvas-wrap--moveSketch:active{cursor:grabbing}.geo-canvas-hint{padding:.375rem .5rem;background:var(--theme-info-50);color:var(--theme-info-700);font-size:.75rem;text-align:center;border-top:1px solid var(--theme-info-200)}.spec-io-bar{display:flex;align-items:center;gap:.375rem;padding:.5rem;margin-bottom:.5rem;background:var(--theme-elevation-50);border:1px solid var(--theme-elevation-150);border-radius:6px}.spec-io-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);color:var(--theme-elevation-700);font-size:.75rem;cursor:pointer;transition:all .15s}.spec-io-btn:hover:not(:disabled){background:var(--theme-elevation-100);color:var(--theme-elevation-900)}.spec-io-btn:disabled{opacity:.5;cursor:not-allowed}.spec-io-btn--primary{background:var(--theme-info-500);border-color:var(--theme-info-600);color:#fff}.spec-io-btn--primary:hover:not(:disabled){background:var(--theme-info-600);color:#fff}.spec-io-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:transparent;color:var(--theme-elevation-600);cursor:pointer;border-radius:4px}.spec-io-icon-btn:hover{background:var(--theme-elevation-100);color:var(--theme-elevation-900)}.spec-io-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000}.spec-io-modal{width:min(640px,90vw);max-height:80vh;display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-200);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.2)}.spec-io-modal-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--theme-elevation-900)}.spec-io-textarea{flex:1;min-height:280px;padding:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;color:var(--theme-elevation-900);background:var(--theme-elevation-50);border:1px solid var(--theme-elevation-200);border-radius:4px;resize:vertical}.spec-io-error{padding:.4rem .6rem;background:var(--theme-error-50,#fdecea);color:var(--theme-error-700,#a1261b);border:1px solid var(--theme-error-200,#f5b5b0);border-radius:4px;font-size:.75rem}.spec-io-modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.panel-item-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid var(--theme-elevation-150);border-radius:6px;background:var(--theme-elevation-0);flex-wrap:wrap}.panel-item-row--selected{border-color:var(--theme-info-500);background:var(--theme-info-50)}.panel-field{display:flex;flex-direction:column;gap:.25rem}.panel-field-label{font-size:.6875rem;color:var(--theme-elevation-500);text-transform:uppercase;letter-spacing:.02em}.panel-field-input{padding:.375rem .5rem;border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);font-size:.8125rem;color:var(--theme-elevation-800);width:80px}.panel-field-input:focus{outline:none;border-color:var(--theme-info-500)}.panel-field-input--wide{width:100%}.color-swatches-row{display:flex;gap:.25rem;flex-wrap:wrap}.color-swatch{width:18px;height:18px;border-radius:3px;border:1px solid var(--theme-elevation-300);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.color-swatch:hover{transform:scale(1.1)}.color-swatch--selected{box-shadow:0 0 0 2px var(--theme-elevation-0),0 0 0 3px var(--theme-info-500)}.panel-field-select{padding:.375rem .5rem;border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);font-size:.8125rem;color:var(--theme-elevation-800)}.panel-field-inline{display:flex;gap:.25rem;align-items:stretch}.panel-field-select--greek{width:3.25rem;padding:.375rem .25rem;font-family:Times New Roman,Times,serif}.panel-add-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px dashed var(--theme-elevation-300);border-radius:6px;background:transparent;color:var(--theme-elevation-600);font-size:.8125rem;cursor:pointer;transition:all .15s;margin-top:.5rem}.panel-add-btn:hover{border-color:var(--theme-info-500);color:var(--theme-info-500);background:var(--theme-info-50)}.panel-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--theme-elevation-400);cursor:pointer;flex-shrink:0}.panel-remove-btn:hover{background:var(--theme-error-50);color:var(--theme-error-500)}.equalities-panel{display:flex;flex-direction:column;gap:1rem}.panel-subsection{display:flex;flex-direction:column;gap:.5rem}.panel-subsection-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.panel-subsection-title{font-size:.8125rem;font-weight:600;color:var(--theme-elevation-700);text-transform:uppercase;letter-spacing:.03em}.panel-subsection-header .panel-add-btn{margin-top:0;padding:.25rem .5rem}.panel-group{display:flex;flex-direction:column;gap:.375rem;padding:.5rem;border:1px solid var(--theme-elevation-150);border-radius:6px;background:var(--theme-elevation-25)}.panel-group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.panel-group-title{font-size:.75rem;font-weight:500;color:var(--theme-elevation-600)}.panel-empty-hint{font-size:.75rem;color:var(--theme-elevation-450);font-style:italic;padding:.25rem 0}.panel-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--theme-elevation-700);cursor:pointer}.panel-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.panel-color-input{width:32px;height:28px;border:1px solid var(--theme-elevation-200);border-radius:4px;padding:2px;cursor:pointer;background:transparent}.media-block-editor{border:1px solid var(--theme-elevation-150);border-radius:4px;overflow:hidden}.media-block-editor-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--theme-elevation-50);border-bottom:1px solid var(--theme-elevation-150)}.media-block-editor-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--theme-elevation-500)}.media-block-editor-loading{padding:2rem;text-align:center;color:var(--theme-elevation-500)}.media-block-editor-preview{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.media-block-editor-image-container{display:flex;justify-content:center;padding:1rem;background:var(--theme-elevation-50);border-radius:4px;max-height:200px;overflow:hidden}.media-block-editor-image{max-width:100%;max-height:200px;object-fit:contain}.media-block-editor-info{text-align:center}.media-block-editor-filename{font-size:.875rem;color:var(--theme-elevation-700)}.media-block-editor-actions{display:flex;justify-content:center;gap:.5rem}.media-block-editor-action-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.8125rem;background:var(--theme-elevation-100);border:1px solid var(--theme-elevation-200);border-radius:4px;cursor:pointer;color:var(--theme-elevation-700);transition:background-color .15s}.media-block-editor-action-btn:hover{background:var(--theme-elevation-200)}.media-block-editor-action-btn--danger{color:var(--theme-error-500)}.media-block-editor-action-btn--danger:hover{background:var(--theme-error-500);color:white}.media-block-editor-empty{padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--theme-elevation-500)}.media-block-editor-empty-icon{opacity:.5}.media-block-editor-empty p{margin:0;font-size:.875rem}.media-block-editor-select-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;background:var(--theme-elevation-100);border:1px solid var(--theme-elevation-200);border-radius:4px;cursor:pointer;color:var(--theme-elevation-700);transition:background-color .15s}.media-block-editor-select-btn:hover{background:var(--theme-elevation-200)}.viewport-validation-error{font-size:.6875rem;color:var(--theme-error-500);margin-top:2px}.viewport-warning-banner{background:#fff8e1;color:#f57c00;border:1px solid #ffe082;border-radius:4px;padding:.5rem;font-size:.8125rem;margin-top:.5rem}.viewport-fields-disabled{opacity:.5;pointer-events:none}.full-json-editor{display:flex;flex-direction:column;height:100%;min-height:500px}.full-json-editor-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--theme-elevation-150);background:var(--theme-elevation-50)}.full-json-editor-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--theme-elevation-800)}.full-json-editor-actions{display:flex;gap:.5rem}.full-json-editor-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);color:var(--theme-elevation-700);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.full-json-editor-btn:hover{background:var(--theme-elevation-50);border-color:var(--theme-elevation-300)}.full-json-editor-btn--cancel{color:var(--theme-error-600);border-color:var(--theme-error-200)}.full-json-editor-btn--cancel:hover{background:var(--theme-error-50);border-color:var(--theme-error-300)}.full-json-editor-info{padding:.75rem 1rem;background:var(--theme-elevation-50);border-bottom:1px solid var(--theme-elevation-150)}.full-json-editor-info p{margin:0;font-size:.8125rem;color:var(--theme-elevation-600)}.full-json-editor-textarea{flex:1;width:100%;min-height:300px;padding:1rem;border:none;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;line-height:1.6;color:#d4d4d4;background:#1e1e1e;resize:none;caret-color:#ffffff}.full-json-editor-textarea:focus{outline:none}.full-json-editor-errors{padding:.75rem 1rem;background:var(--theme-error-50);border-top:1px solid var(--theme-error-200)}.full-json-editor-error{padding:.5rem .75rem;border-radius:4px;font-size:.8125rem;margin-bottom:.25rem}.full-json-editor-error--json{background:var(--theme-error-100);color:var(--theme-error-700)}.full-json-editor-error--structure{background:var(--theme-error-200);color:var(--theme-error-800)}.full-json-editor-warning{background:#fff8e1;color:#f57c00;padding:.5rem .75rem;border-radius:4px;font-size:.8125rem}.full-json-editor-footer{display:flex;justify-content:flex-end;padding:.75rem 1rem;border-top:1px solid var(--theme-elevation-150);background:var(--theme-elevation-50)}.full-json-editor-apply-btn{padding:.5rem 1rem;border:none;border-radius:4px;background:var(--theme-success-500);color:white;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s}.full-json-editor-apply-btn:hover:not(:disabled){background:var(--theme-success-600)}.full-json-editor-apply-btn:disabled{opacity:.5;cursor:not-allowed}.block-item{position:relative;transition:opacity .15s,border-color .15s,background-color .15s}.block-item--dragging{opacity:.5;background:var(--theme-elevation-50)}.block-item--drop-target{border-top:2px solid var(--theme-info-500)}.block-drag-handle{position:absolute;left:-28px;top:50%;transform:translateY(-50%);padding:4px;cursor:grab;color:var(--theme-elevation-400);opacity:0;transition:opacity .15s}.block-item:hover .block-drag-handle{opacity:1}.block-drag-handle:hover{color:var(--theme-elevation-700)}.block-drag-handle:active{cursor:grabbing}.between-block-add{height:0;overflow:visible;position:relative;margin:0}.between-block-add,.between-block-add-button{display:flex;justify-content:center;align-items:center}.between-block-add-button{position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;border:2px solid var(--theme-elevation-200);background:var(--theme-elevation-0);color:var(--theme-elevation-500);cursor:pointer;opacity:0;transition:opacity .15s,border-color .15s,color .15s,background-color .15s;z-index:10}.between-block-add-button:focus,.block-list:hover .between-block-add-button{opacity:1}.between-block-add-button:hover{border-color:var(--theme-info-500);color:var(--theme-info-500);background:var(--theme-info-50)}.delete-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.delete-confirm-modal{background:var(--theme-elevation-0);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.2);max-width:400px;width:90%;padding:1.5rem}.delete-confirm-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--theme-error-500)}.delete-confirm-header--warning{color:var(--theme-warning-500)}.delete-confirm-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--theme-elevation-1000)}.delete-confirm-body{margin:0 0 1.5rem;font-size:.875rem;color:var(--theme-elevation-700);line-height:1.5}.delete-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.delete-confirm-cancel{padding:.5rem 1rem;border:1px solid var(--theme-elevation-200);border-radius:4px;background:var(--theme-elevation-0);color:var(--theme-elevation-700);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s}.delete-confirm-cancel:hover{background:var(--theme-elevation-50)}.delete-confirm-delete{padding:.5rem 1rem;border:none;border-radius:4px;background:var(--theme-error-500);color:white;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s}.delete-confirm-delete:hover{background:var(--theme-error-600)}.inline-exercise-editor{width:100%;border:1px solid var(--theme-elevation-150);border-radius:6px;overflow:hidden;margin-bottom:8px;background:var(--theme-elevation-0)}.inline-exercise-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--theme-elevation-50);border-bottom:1px solid var(--theme-elevation-150)}.inline-exercise-title{font-size:14px;font-weight:600;color:var(--theme-text)}.inline-exercise-actions{display:flex;align-items:center;gap:8px}.inline-exercise-blocks{padding:16px;display:flex;flex-direction:column;gap:16px}.inline-exercise-editor .editor-save-button{padding:6px 16px;font-size:13px}.import-exercises-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.45)}.import-exercises-modal{width:min(560px,100%);max-height:90vh;display:flex;flex-direction:column;padding:20px;gap:12px;background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-200);border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,.25)}.import-exercises-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.import-exercises-title{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--theme-text);margin:0}.import-exercises-close{padding:4px;background:transparent;border:none;color:var(--theme-elevation-500);cursor:pointer;border-radius:4px}.import-exercises-close:hover:not(:disabled){background:var(--theme-elevation-100);color:var(--theme-text)}.import-exercises-close:disabled{opacity:.4;cursor:not-allowed}.import-exercises-hint{margin:0;font-size:12px;color:var(--theme-elevation-600);line-height:1.5}.import-exercises-hint code{padding:1px 5px;border-radius:3px;background:var(--theme-elevation-100);font-size:11px}.import-exercises-dropzone{display:block;padding:20px;text-align:center;border:2px dashed var(--theme-elevation-300);border-radius:6px;background:var(--theme-elevation-50);color:var(--theme-elevation-700);font-size:13px;cursor:pointer}.import-exercises-dropzone:hover{border-color:var(--theme-elevation-400);background:var(--theme-elevation-100)}.import-exercises-file-input{display:none}.import-exercises-dropzone-fmt{color:var(--theme-elevation-500);font-size:11px}.import-exercises-error{background:var(--theme-error-100,#fee2e2);color:var(--theme-error-700,#b91c1c)}.import-exercises-error,.import-exercises-success{padding:8px 10px;border-radius:4px;font-size:12px;line-height:1.5}.import-exercises-success{background:var(--theme-success-100,#dcfce7);color:var(--theme-success-700,#15803d)}.import-exercises-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.import-exercises-primary,.import-exercises-secondary{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;border-radius:4px;cursor:pointer;border:1px solid transparent}.import-exercises-secondary{color:var(--theme-text);background:var(--theme-elevation-50);border-color:var(--theme-elevation-200)}.import-exercises-secondary:hover:not(:disabled){background:var(--theme-elevation-100)}.import-exercises-primary{color:var(--theme-elevation-0);background:var(--theme-success-500,#22c55e)}.import-exercises-primary:hover:not(:disabled){background:var(--theme-success-600,#16a34a)}.import-exercises-primary:disabled,.import-exercises-secondary:disabled{opacity:.5;cursor:not-allowed}@keyframes import-exercises-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.import-exercises-spin{animation:import-exercises-spin 1s linear infinite}.confirm-delete-modal{width:min(440px,100%)}.confirm-delete-primary{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;border-radius:4px;cursor:pointer;color:var(--theme-elevation-0);background:var(--theme-error-500,#ef4444);border:1px solid transparent}.confirm-delete-primary:hover:not(:disabled){background:var(--theme-error-600,#dc2626)}.confirm-delete-primary:disabled{opacity:.5;cursor:not-allowed}.transfer-lesson-picker{position:relative;display:flex;flex-direction:column;gap:6px}.transfer-lesson-picker-label{font-size:12px;font-weight:500;color:var(--theme-elevation-700)}.transfer-lesson-picker-input{width:100%;padding:8px 10px;font-size:13px;color:var(--theme-text);background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-200);border-radius:4px;box-sizing:border-box}.transfer-lesson-picker-input:focus{outline:none;border-color:var(--theme-elevation-400)}.transfer-lesson-picker-input:disabled{opacity:.6;cursor:not-allowed}.transfer-lesson-picker-status{font-size:12px;color:var(--theme-elevation-500)}.transfer-lesson-picker-dropdown{position:absolute;top:100%;left:0;right:0;margin:4px 0 0;padding:4px 0;list-style:none;max-height:240px;overflow-y:auto;background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-200);border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.12);z-index:10}.transfer-lesson-picker-item{padding:8px 12px;cursor:pointer;font-size:13px}.transfer-lesson-picker-item:hover{background:var(--theme-elevation-100)}.transfer-lesson-picker-item-title{font-weight:500;color:var(--theme-text)}.transfer-lesson-picker-item-chapter{font-size:11px;color:var(--theme-elevation-500);margin-top:2px}.transfer-lesson-picker-selected{font-size:12px;color:var(--theme-elevation-700)}.transfer-lesson-picker-clear{margin-left:8px;padding:0;background:none;border:none;color:var(--theme-elevation-500);font-size:12px;cursor:pointer;text-decoration:underline}.transfer-lesson-picker-clear:hover{color:var(--theme-text)}.transfer-failures-list{margin:6px 0 0 16px;padding:0}