#editorjs{flex:1;padding:24px 40px;background:var(--bg);overflow-y:auto;min-height:150px}br::selection{background:0 0}i[data-lucide]{display:none!important}.ce-header,.ce-paragraph{color:var(--text)}#editorjs a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease;cursor:pointer;pointer-events:auto;position:relative;z-index:1}#editorjs a:hover{border-bottom-color:var(--primary)}#editorjs a[target="_blank"]::after{content:'↗';font-size:1.1em;font-weight:600;margin-left:3px;align-self:center}[data-theme=dark] #editorjs a{color:#818cf8}[data-theme=dark] #editorjs a:hover{border-bottom-color:#818cf8}#editorjs code{background:var(--bg-secondary);color:var(--primary);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:'SF Mono',Monaco,Inconsolata,'Fira Code',monospace}[data-theme=dark] #editorjs code{background:var(--bg-tertiary);color:#a5b4fc}[data-theme=dark] .ce-paragraph[data-placeholder]:empty::before{color:rgba(255,255,255,.4)}.ce-toolbar__plus,.ce-toolbar__settings-btn{background:var(--bg)}.ce-toolbar__plus:hover,.ce-toolbar__settings-btn:hover{background:var(--bg-secondary)}[data-theme=dark] .ce-toolbar__plus,[data-theme=dark] .ce-toolbar__settings-btn{color:var(--text);background:var(--bg)}[data-theme=dark] .ce-toolbar__plus:hover,[data-theme=dark] .ce-toolbar__settings-btn:hover{background:var(--bg-tertiary)}[data-theme=dark] .ce-conversion-toolbar,[data-theme=dark] .ce-inline-toolbar,[data-theme=dark] .ce-popover,[data-theme=dark] .ce-popover__container,[data-theme=dark] .ce-settings,[data-theme=dark] .ce-toolbox{background:var(--bg-secondary);border-color:var(--border);box-shadow:0 4px 20px rgba(0,0,0,.4)}[data-theme=dark] .ce-conversion-tool:hover,[data-theme=dark] .ce-inline-tool:hover,[data-theme=dark] .ce-popover-item:hover,[data-theme=dark] .ce-settings__button:hover,[data-theme=dark] .ce-toolbox__button:hover{background:var(--bg-tertiary)}[data-theme=dark] .ce-conversion-tool__icon,[data-theme=dark] .ce-inline-tool svg,[data-theme=dark] .ce-popover-item__icon svg,[data-theme=dark] .ce-popover-item__title,[data-theme=dark] .ce-toolbox__button svg{color:var(--text)}[data-theme=dark] .ce-popover-item__secondary-title{color:var(--text-muted)}[data-theme=dark] .ce-conversion-tool{color:var(--text)}[data-theme=dark] .ce-conversion-tool:hover{background:var(--bg-tertiary)}[data-theme=dark] .ce-settings{background:var(--bg-secondary)}[data-theme=dark] .ce-settings__button{color:var(--text)}[data-theme=dark] .ce-inline-toolbar__dropdown{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .ce-inline-tool--active{background:var(--bg-tertiary)}[data-theme=dark] .cdx-search-field,[data-theme=dark] .ce-popover__search{background:var(--bg);border-color:var(--border);color:var(--text)}[data-theme=dark] .cdx-search-field__input::placeholder,[data-theme=dark] .ce-popover__search::placeholder{color:var(--text-muted)}[data-theme=dark] .cdx-search-field__input{background:0 0;color:var(--text)}[data-theme=dark] .ce-popover__nothing-found-message{color:var(--text-muted)}.image-tool{position:relative}.image-tool__image{position:relative;width:fit-content;min-width:200px;min-height:150px;cursor:zoom-in}.image-tool__image-picture{max-height:200px;min-width:-webkit-fill-available;object-fit:cover;border-radius:20px}.image-tool__caption{display:none}.image-tool__image .image-delete-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s;z-index:10}.image-tool__image .image-delete-btn svg{width:16px;height:16px}.image-tool__image:hover .image-delete-btn{opacity:1}.image-tool__image .image-delete-btn:hover{background:#ef4444}@media (hover:none) and (pointer:coarse){.image-tool__image .image-delete-btn{opacity:1}}.image-lightbox{display:none;position:fixed;inset:0;z-index:20000;align-items:center;justify-content:center}.image-lightbox.show{display:flex}.image-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(4px)}.image-lightbox-img{position:relative;max-width:95vw;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);animation:lightbox-zoom-in .2s ease-out}@keyframes lightbox-zoom-in{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}body.lightbox-open{overflow:hidden}.image-tool__caption[contenteditable=false]:empty{display:none}.ce-code__textarea{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:16px;font-family:'SF Mono',Monaco,Inconsolata,'Fira Code',monospace;font-size:.875rem;line-height:1.6;min-height:100px;resize:vertical}.ce-code__textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}[data-theme=dark] .ce-code__textarea{background:var(--bg);border-color:var(--border)}.cdx-quote{position:relative;padding:16px 20px 16px 24px;margin:12px 0;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--primary)}.cdx-quote::before{content:'"';position:absolute;top:8px;left:28px;font-size:2.5rem;font-family:Georgia,serif;color:var(--primary);opacity:.25;line-height:1}.cdx-quote__text{font-size:1.05rem;font-style:italic;color:var(--text);line-height:1.7;min-height:auto;padding-left:20px;border:none!important;box-shadow:none!important;background:0 0!important}.cdx-quote__caption{font-size:.85rem;color:var(--text-secondary);margin-top:12px;padding-left:20px;font-weight:500;border:none!important;box-shadow:none!important;background:0 0!important}[data-theme=dark] .cdx-quote{background:var(--bg-tertiary)}.cdx-list__checkbox--checked .cdx-list__checkbox-check{background:#0072ff;border-color:#0072ff}[data-theme=dark] .tc-popover{background:var(--bg-secondary);border-color:var(--border);box-shadow:0 4px 20px rgba(0,0,0,.4)}[data-theme=dark] .tc-popover__item{color:var(--text)}[data-theme=dark] .tc-popover__item:hover{background:var(--bg-tertiary)}[data-theme=dark] .tc-popover__item-icon{background:0 0}[data-theme=dark] .tc-popover__item-icon svg{color:var(--text)}[data-theme=dark] .tc-popover__item-label{color:var(--text)}[data-theme=dark] .tc-add-column,[data-theme=dark] .tc-add-row{background:0 0!important;color:var(--text)}[data-theme=dark] .tc-add-column::after,[data-theme=dark] .tc-add-column::before,[data-theme=dark] .tc-add-row::after,[data-theme=dark] .tc-add-row::before{background:0 0!important}[data-theme=dark] .tc-add-column:hover,[data-theme=dark] .tc-add-row:hover{background:var(--bg-tertiary)!important}[data-theme=dark] .tc-add-column svg,[data-theme=dark] .tc-add-row svg{color:var(--text);background-color:var(--bg-secondary)}[data-theme=dark] .tc-cell{border-color:var(--border);color:var(--text)}[data-theme=dark] .ce-block--selected .ce-block__content,[data-theme=dark] .tc-cell--selected,[data-theme=dark] .tc-row--selected{background:var(--bg-tertiary)}[data-theme=dark] .tc-toolbox__toggler{color:var(--text-secondary);background:0 0}[data-theme=dark] .tc-toolbox__toggler:hover{background:var(--bg-tertiary)}.ce-inline-toolbar:not(.ce-inline-toolbar--showed){display:none!important}.answer-slide{display:flex;flex-direction:column}.answer-slide #editorjs{flex:1;padding:16px 40px 80px;background:var(--bg);overflow-y:auto;min-height:0}.answer-actions{position:absolute;bottom:16px;right:20px;display:flex;gap:10px;z-index:5}.answer-action-btn{width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:var(--shadow-elevated)}.answer-action-btn svg{width:20px;height:20px}.answer-action-btn.secondary-btn{background:var(--bg);color:var(--text-secondary)}.answer-action-btn.secondary-btn:hover{background:rgba(239,68,68,.1);color:#ef4444;transform:translateY(-2px)}.answer-action-btn.primary-btn{background:linear-gradient(135deg in oklab,var(--primary) 0,#6366f1 100%);color:#fff;gap:6px;padding:12px 16px;width:auto;border-radius:24px;font-size:.85rem;font-weight:600}.answer-action-btn.primary-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated),0 6px 20px rgba(99,102,241,.35)}.answer-action-btn.primary-btn .sparkle-icon{width:18px;height:18px;animation:sparkle 2s ease-in-out infinite;animation-play-state:paused}.grading-modal.show .answer-action-btn.primary-btn .sparkle-icon{animation-play-state:running}@keyframes sparkle{0%,100%{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.8;transform:scale(1.1) rotate(10deg)}}.answer-action-btn[data-tooltip]{position:relative}.answer-action-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:6px 12px;background:var(--text);color:var(--bg);font-size:.75rem;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:100}.answer-action-btn[data-tooltip]:hover::after{opacity:1}@media (hover:none) and (pointer:coarse){.answer-action-btn[data-tooltip]::after{display:none}}.math-tool{border-radius:8px;overflow:hidden}.math-tool .math-tool-editor{display:none;border-radius:8px;background:var(--bg-secondary);box-shadow:0 2px 8px rgba(0,0,0,.08)}[data-theme=dark] .math-tool .math-tool-editor{box-shadow:0 2px 8px rgba(0,0,0,.3)}.math-tool-display{cursor:pointer;padding:12px 8px;border-radius:6px;transition:background .15s ease}.math-tool-display:hover{background:var(--bg-secondary)}.math-display-equation{text-align:center;padding:6px 0}.math-tool-empty{color:var(--text-muted);font-style:italic}.math-tool-split{display:grid;grid-template-columns:1fr 1fr;min-height:190px}.math-tool-input{display:flex;flex-direction:column;position:relative;border-right:1px solid var(--border)}.math-tool-preview-container{display:flex;flex-direction:column}.math-tool-label{padding:6px 12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.math-tool-textarea{flex:1;min-height:190px;padding:12px;border:none;resize:vertical;font-family:'SF Mono',Monaco,Inconsolata,'Fira Code',monospace;font-size:.875rem;line-height:1.6;background:var(--bg);color:var(--text)}.math-tool-textarea:focus{outline:0}.math-tool-textarea::placeholder{color:var(--text-muted);font-size:.8rem}.math-tool-preview{flex:1;padding:12px;background:var(--bg);overflow-y:auto;min-height:190px}.math-tool-preview-empty{color:var(--text-muted);font-style:italic;font-size:.85rem}.math-tool-placeholder-examples{position:absolute;top:32px;left:0;right:0;bottom:0;padding:12px;pointer-events:none;overflow:hidden}.math-placeholder-title{font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.03em}.math-placeholder-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:.8rem}.math-placeholder-row code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-family:'SF Mono',Monaco,Inconsolata,'Fira Code',monospace;font-size:.75rem;color:var(--text-secondary)}.math-placeholder-arrow{color:var(--text-muted);font-size:.9rem}.math-placeholder-rendered{color:var(--text-secondary)}.math-demo{display:inline-block;font-family:KaTeX_Main,'Times New Roman',serif;font-style:italic;font-size:.95em;padding:2px 8px;margin-left:2px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border)}[data-theme=dark] .math-demo{background:var(--bg-tertiary)}.math-tool-equation{margin-bottom:8px}.math-tool-equation.block{text-align:center;padding:8px 0}.math-tool-equation.inline{text-align:left}.math-tool-equation.error{color:#ef4444;font-size:.85rem;font-family:monospace;padding:4px 8px;background:rgba(239,68,68,.1);border-radius:4px}.math-error-msg{font-size:.75rem;opacity:.8}.math-tool-placeholder{color:var(--text-muted);font-style:italic;font-size:.85rem}.math-tool-error{color:#ef4444;font-size:.85rem}[data-theme=dark] .math-tool{background:var(--bg-tertiary)}[data-theme=dark] .math-tool-header{background:rgba(0,0,0,.2)}[data-theme=dark] .math-mode-btn{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .math-mode-btn:hover{background:var(--bg-tertiary)}[data-theme=dark] .math-tool-label{background:rgba(0,0,0,.2)}[data-theme=dark] .math-tool-preview,[data-theme=dark] .math-tool-textarea{background:var(--bg-secondary)}@media (max-width:600px){.math-tool-split{grid-template-columns:1fr}.math-tool-input{border-right:none;border-bottom:1px solid var(--border)}}@media (max-width:768px){.answer-slide #editorjs{padding:12px 20px 70px}.answer-actions{bottom:12px;right:16px;gap:8px}.answer-action-btn{width:44px;height:44px}.answer-action-btn svg{width:18px;height:18px}}.error-report-btn{position:fixed;bottom:20px;right:20px;width:40px;height:40px;border-radius:12px;background:var(--bg);border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.08);cursor:pointer;display:flex!important;align-items:center;justify-content:center;transition:all .2s ease;opacity:1!important;visibility:visible!important;z-index:100}.error-report-btn:hover{background:var(--bg-tertiary);border-color:var(--border-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}.error-report-btn:active{transform:translateY(0)}.error-report-btn svg{width:18px;height:18px;color:var(--text-secondary)}.error-modal-overlay{display:none;position:fixed;inset:0;background:0 0;z-index:10000;pointer-events:none}.error-modal-overlay.show{display:block}.error-modal-content{position:fixed;bottom:76px;right:20px;width:340px;max-width:calc(100vw - 40px);background:var(--bg);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUpFade .2s ease-out;pointer-events:all}@keyframes slideUpFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}.error-modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:16px}.error-modal-close{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.error-modal-close:hover{background:var(--bg-tertiary);color:var(--text);border-color:var(--border-dark)}.error-modal-close svg{width:18px;height:18px}.error-modal-body{padding:16px 20px 20px}.error-modal-body .form-group{margin-bottom:12px}.error-modal-body label{display:block;font-size:.75rem;font-weight:600;color:var(--text);margin-bottom:6px;text-transform:uppercase;letter-spacing:.025em}.error-modal-body input[type=text],.error-modal-body input[type=url],.error-modal-body select,.error-modal-body textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:8px;font-size:.9375rem;background-color:var(--bg);color:var(--text);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.error-modal-body input:focus,.error-modal-body select:focus,.error-modal-body textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.08)}.error-modal-body input.invalid,.error-modal-body select.invalid,.error-modal-body textarea.invalid{border-color:#ef4444;background-color:rgba(239,68,68,.05)}.error-modal-body input.invalid:focus,.error-modal-body select.invalid:focus,.error-modal-body textarea.invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.error-modal-body select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='%23475569'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;cursor:pointer}[data-theme=dark] .error-modal-body select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='%23cbd5e1'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E")}.error-modal-body textarea{resize:vertical;min-height:80px}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:10;display:none;box-shadow:0 4px 12px rgba(0,0,0,.1)}.suggestion-item{padding:12px 14px;cursor:pointer;transition:background .15s ease;color:var(--text);font-size:.9375rem}.suggestion-item:hover{background:var(--bg-tertiary)}.suggestion-item:first-child{margin-top:4px}.suggestion-item:last-child{margin-bottom:4px;border-radius:0 0 8px 8px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.form-actions .bttn{width:100%;padding:12px 16px;font-size:.9375rem}.submit-with-progress{display:flex;align-items:center;justify-content:center;gap:10px;position:relative;transition:all .3s ease}.submit-with-progress:disabled{opacity:.5;cursor:not-allowed}.submit-with-progress:not(:disabled){opacity:1;cursor:pointer}.progress-ring{flex-shrink:0;transition:transform .3s ease,opacity .3s ease}.progress-ring-fill{transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .4s ease}.submit-arrow-wrapper{display:none;flex-shrink:0}.progress-ring-wrapper{display:flex;flex-shrink:0}.submit-text{flex-shrink:0}.submit-with-progress.complete .progress-ring-wrapper{display:none}.submit-with-progress.complete .submit-arrow-wrapper{display:flex;animation:arrowSlide .4s cubic-bezier(.34,1.56,.64,1)}@keyframes arrowSlide{from{transform:translateX(-15px) scale(.8);opacity:0}to{transform:translateX(0) scale(1);opacity:1}}.required-indicator{color:#ef4444;font-weight:700}.optional-indicator{color:var(--text-muted);font-weight:400;font-size:.85em}.form-group{position:relative}@media (max-width:768px){.error-report-btn{bottom:16px;right:16px;width:38px;height:38px}.error-report-btn svg{width:17px;height:17px}.error-modal-content{bottom:68px;width:280px;right:16px}}@media (max-width:480px){.error-modal-content{right:12px;width:260px;max-width:calc(100vw - 24px)}.error-modal-body{padding:12px 16px 16px}.error-modal-header{padding:12px 16px}.error-modal-header h3{font-size:.9375rem}.error-modal-body label{font-size:.6875rem}.error-modal-body input[type=text],.error-modal-body input[type=url],.error-modal-body select,.error-modal-body textarea{font-size:.875rem;padding:9px 12px}.suggestion-item{font-size:.875rem;padding:10px 12px}.form-actions .bttn{font-size:.875rem;padding:10px 14px}.optional-indicator{font-size:.75em}}body.modal-open{overflow:hidden}.grading-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);z-index:11000;animation:fadeIn .2s ease-out;touch-action:none}.grading-modal.show{display:flex;align-items:center;justify-content:center}.grading-modal-content{width:96%;height:96%;max-width:1800px;background:var(--bg);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-popup)}.grading-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:16px;overflow:visible;z-index:10}.grading-modal-header h3{font-size:1rem;font-weight:600;color:var(--text);margin:0;flex-shrink:0}.header-view-controls{display:flex;align-items:center;gap:4px;background:var(--bg);padding:6px;border-radius:100px;border:1px solid var(--border)}.header-view-controls .view-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:0 0;color:var(--text-secondary);font-size:.8rem;font-weight:500;border-radius:50px;cursor:pointer;transition:all .2s ease}.header-view-controls .view-btn svg{width:16px;height:16px}.header-view-controls .view-btn:hover{background:var(--bg-secondary);color:var(--text)}.header-view-controls .view-btn.active{background:var(--primary);color:#fff}.header-divider{width:1px;height:24px;background:var(--border);margin:0 8px}.header-view-controls .nav-btn{width:35px;height:35px;border:none;background:0 0;color:var(--text-secondary);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:rgba(0,0,0,0.1);touch-action:manipulation}.header-view-controls .nav-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text)}.header-view-controls .nav-btn.active{background:var(--primary);color:#fff}.header-view-controls .nav-btn:disabled{opacity:.4;cursor:not-allowed}.header-view-controls .nav-btn svg{width:16px;height:16px}.header-view-controls .zoom-controls{display:flex;align-items:center;gap:4px}.header-view-controls .zoom-level{font-size:.8rem;color:var(--text-secondary);min-width:45px;text-align:center;font-weight:500}@media (hover:none) and (pointer:coarse){.header-view-controls .zoom-controls .nav-btn{width:36px;height:36px;min-width:36px}}.grading-modal-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.grading-action-btn:hover,.grading-modal-close:hover{background:var(--bg-tertiary);color:var(--text);transform:translateY(-1px)}.grading-action-btn svg,.grading-modal-close svg{width:18px;height:18px}.grading-close-tooltip{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:5px 10px;border-radius:5px;font-size:.75rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:200}.grading-close-tooltip::after{content:'';position:absolute;top:-4px;left:50%;transform:translateX(-50%) rotate(45deg);width:8px;height:8px;background:var(--text)}.grading-modal-close:hover .grading-close-tooltip{opacity:1}.annotation-pill{position:absolute;top:12px;left:0;right:0;margin:0 auto;width:fit-content;z-index:200;display:flex;align-items:center;background:var(--bg);border:none;border-radius:50px;padding:6px;gap:4px;box-shadow:var(--shadow-elevated);transition:opacity .3s ease,transform .3s ease;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.annotation-pill.hidden{opacity:0;transform:translateY(-10px) scale(.95);pointer-events:none}.annotation-pill .tool-group{display:flex;align-items:center;gap:2px}.annotation-pill .tools-group{position:relative}.tool-slider{position:absolute;width:36px;height:36px;background:var(--primary);border-radius:50%;transition:left .25s cubic-bezier(.4, 0, .2, 1);z-index:0;pointer-events:none;top:0;left:0}.annotation-pill .pill-divider{width:1px;height:24px;background:var(--border);margin:0 8px;flex-shrink:0}.annotation-pill .tool-btn{width:36px;height:36px;border:none;background:0 0;color:var(--text-secondary);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease;position:relative;z-index:1;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.annotation-pill .tool-btn svg{width:18px;height:18px;pointer-events:none}.floating-action-btn svg,.floating-actions svg{pointer-events:none}.annotation-pill .tool-btn:hover:not(.active){background:var(--bg-secondary);color:var(--text)}.annotation-pill .tools-group .tool-btn.active{color:#fff;background:0 0}.size-slider-wrapper{position:relative;display:flex;align-items:center;height:36px;padding:0 4px}.size-slider-wrapper[data-tooltip]::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:5px 10px;background:rgba(0,0,0,.9);color:#fff;font-size:.7rem;font-weight:500;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;z-index:200}.size-slider-wrapper[data-tooltip]:hover::after{opacity:1}.pen-size-slider{--thumb-size:10px;width:64px;height:20px;cursor:pointer;-webkit-appearance:none;appearance:none;background:0 0;margin:0;outline:0;border:none}.pen-size-slider:focus{outline:0}.pen-size-slider::-webkit-slider-runnable-track{width:100%;height:4px;background:var(--border);border-radius:2px;border:none;outline:0}.pen-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--thumb-size);height:var(--thumb-size);background:var(--text);border-radius:50%;cursor:pointer;margin-top:calc(var(--thumb-size)/ -2 + 2px);transition:width .15s ease,height .15s ease,margin-top .15s ease;border:none;outline:0}.pen-size-slider::-moz-range-track{width:100%;height:4px;background:var(--border);border-radius:2px;border:none}.pen-size-slider::-moz-range-thumb{width:var(--thumb-size);height:var(--thumb-size);background:var(--text);border-radius:50%;cursor:pointer;border:none;transition:width .15s ease,height .15s ease}.annotation-pill .color-btn{position:relative;padding:0;outline:0}.annotation-pill .color-btn:focus,.annotation-pill .color-btn:focus-within{outline:0}.annotation-pill .color-btn input[type=color]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;border:none;outline:0;-webkit-appearance:none;appearance:none}.annotation-pill .color-btn input[type=color]::-webkit-color-swatch-wrapper{padding:0}.annotation-pill .color-btn input[type=color]::-webkit-color-swatch{border:none}.annotation-pill .color-btn .color-preview{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);transition:transform .15s ease,border-color .15s ease}.annotation-pill .color-btn:hover .color-preview{transform:scale(1.1);border-color:var(--text-secondary)}.annotation-pill .clear-btn:hover{background:rgba(239,68,68,.1);color:#ef4444}.floating-actions{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;z-index:150}.floating-action-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:50px;cursor:pointer;font-size:.85rem;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.floating-action-btn.annotate-btn{background:linear-gradient(135deg in oklab,#8b5cf6 0,#6366f1 100%);color:#fff}.floating-action-btn.annotate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(139,92,246,.35),0 4px 8px rgba(0,0,0,.1)}.floating-action-btn.annotate-btn:active{transform:translateY(0) scale(.98)}.floating-action-btn.write-btn{background:linear-gradient(135deg in oklab,#06b6d4 0,#0891b2 100%);color:#fff}.floating-action-btn.write-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(6,182,212,.35),0 4px 8px rgba(0,0,0,.1)}.floating-action-btn.write-btn:active{transform:translateY(0) scale(.98)}.floating-action-btn svg{width:18px;height:18px;flex-shrink:0}.floating-action-btn.annotate-btn.active{background:linear-gradient(135deg in oklab,#7c3aed 0,#4f46e5 100%);box-shadow:0 4px 12px rgba(0,0,0,.15),0 0 20px rgba(124,58,237,.4)}.floating-action-btn.write-btn.hidden{opacity:0;pointer-events:none;transform:translateX(20px) scale(.9)}.floating-action-btn.layout-toggle-btn{background:linear-gradient(135deg in oklab,#f59e0b 0,#d97706 100%);color:#fff}.floating-action-btn.layout-toggle-btn svg{width:18px;height:18px}.floating-action-btn.layout-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(245,158,11,.35),0 4px 8px rgba(0,0,0,.1)}.floating-action-btn.layout-toggle-btn.active{background:linear-gradient(135deg in oklab,#d97706 0,#b45309 100%);box-shadow:0 4px 12px rgba(0,0,0,.15),0 0 20px rgba(217,119,6,.4)}.floating-action-btn.layout-toggle-btn.hidden{display:none}.annotation-pill .tool-btn[data-tooltip]{position:relative}.annotation-pill .tool-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:5px 10px;background:rgba(0,0,0,.9);color:#fff;font-size:.7rem;font-weight:500;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;z-index:200}.annotation-pill .tool-btn[data-tooltip]:hover::after{opacity:1}.toolbar-right{flex:0 0 auto}.toolbar-divider{width:1px;height:32px;background:var(--border);margin:0 4px}.tool-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:all .15s ease}.tool-btn svg{width:18px;height:18px}.tool-btn:hover{background:var(--bg-secondary);color:var(--text)}.tool-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.color-btn{width:36px;height:36px;padding:4px}.color-preview{width:100%;height:100%;border-radius:4px;border:2px solid var(--border);transition:all .15s ease}.color-btn:hover .color-preview{border-color:var(--primary);transform:scale(1.1)}.view-btn{position:relative;width:auto;min-width:36px;gap:6px;padding:0 10px;height:36px;flex-direction:row;transition:all .2s ease}.view-btn svg{flex-shrink:0}.view-label{display:none;font-size:.75rem;font-weight:600;white-space:nowrap}.view-btn.active .view-label{display:block}.view-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);padding:0 12px}.view-btn.active::after,.view-btn.active::before{display:none}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.nav-btn:disabled::after,.nav-btn:disabled::before{display:none}.color-btn input[type=color]{position:absolute;width:0;height:0;opacity:0;pointer-events:none;border:none;outline:0}.grading-modal-body{flex:1;display:flex;overflow:hidden;position:relative;background:var(--bg-secondary)}.canvas-container{flex:1;position:relative;overflow:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:0;background:#2a2a2a;-webkit-overflow-scrolling:touch;text-align:center;touch-action:pan-x pan-y}.zoom-wrapper{display:inline-flex;flex-direction:column;align-items:center;position:relative;text-align:left}.canvas-container.scroll-view{padding:20px}.canvas-container.scroll-view .zoom-wrapper{gap:20px;padding:0}.canvas-container.scroll-view .canvas-page-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.3);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.canvas-page-wrapper[data-loaded=false]{background:linear-gradient(90deg,#3a3a3a 0,#4a4a4a 50%,#3a3a3a 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.canvas-container.scroll-view canvas{display:block;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.canvas-container.inverted-pdf canvas{filter:invert(.85) hue-rotate(180deg)}.canvas-container.booklet-view{padding:20px}.canvas-container.booklet-view .zoom-wrapper{display:grid;grid-template-columns:repeat(2,auto);gap:20px;justify-content:start;margin:0 auto}.canvas-container.booklet-view .zoom-wrapper.horizontal-scroll{display:flex;flex-direction:row;flex-wrap:nowrap;margin:0}.canvas-container.booklet-view .canvas-page-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.3);flex-shrink:0}.canvas-container.booklet-view canvas{display:block;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.canvas-page-wrapper canvas{display:block}.grading-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;z-index:10}.grading-loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.grading-loading p{color:#fff;font-size:.9375rem;font-weight:500}.text-input-panel{position:absolute;bottom:0;left:0;right:0;background:var(--bg);border-top:none;border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .3s ease;z-index:100;height:69%;min-height:200px;max-height:90%;display:flex;flex-direction:column;box-shadow:inset 0 1px 0 var(--border-subtle),0 -8px 32px rgba(0,0,0,.25)}.text-input-panel.show{transform:translateY(0)}.text-input-panel.maximized{height:90%;transition:height .3s ease,transform .3s ease}.panel-resize-handle{position:absolute;top:0;left:0;right:0;height:16px;cursor:ns-resize;background:0 0;z-index:10;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y}.panel-resize-handle::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:4px;background:var(--border-dark);border-radius:2px;opacity:.5;transition:opacity .2s ease}@media (hover:none) and (pointer:coarse){.panel-resize-handle{height:24px}.panel-resize-handle::before{opacity:.7;height:5px;width:60px}}.panel-resize-handle:hover::before,.text-input-panel.resizing .panel-resize-handle::before{opacity:1;background:var(--primary)}.panel-tabs{display:flex;align-items:center;gap:4px;padding:12px 20px 8px;background:var(--bg);flex-shrink:0}.panel-tab{padding:8px 16px;font-size:.85rem;font-weight:600;color:var(--text-secondary);background:0 0;border:none;border-radius:50px;cursor:pointer;transition:all .2s ease;position:relative}.panel-tab:hover:not(:disabled){color:var(--text);background:var(--bg-secondary)}.panel-tab.active{color:var(--primary);background:rgba(99,102,241,.1)}.panel-tab:disabled{opacity:.4;cursor:not-allowed}.panel-collapse-btn{margin-left:auto;width:36px;height:36px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.panel-collapse-btn:hover{background:var(--bg-tertiary);color:var(--text);border-color:var(--border-dark)}.panel-collapse-btn svg{width:18px;height:18px}.panel-carousel-container{flex:1;position:relative;overflow:hidden}.editor-watermark{position:absolute;bottom:100%;margin-bottom:10px;right:20px;font-size:.69rem;font-weight:600;letter-spacing:-.015em;padding:6px 12px;border-radius:20px;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 12px rgba(0,0,0,.15);pointer-events:none;z-index:15;user-select:none}.editor-watermark .site-name{display:none}.editor-watermark .divider{display:none}.editor-watermark .product-name{font-size:.85rem;background:linear-gradient(135deg in oklab,#6366f1,#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .editor-watermark{background:rgba(25,25,35,.25);box-shadow:0 2px 12px rgba(0,0,0,.3)}[data-theme=dark] .editor-watermark .divider{color:rgba(255,255,255,.3)}[data-theme=dark] .editor-watermark .product-name{background:linear-gradient(135deg in oklab,#818cf8,#c084fc,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width:768px){.editor-watermark{font-size:.6rem;padding:4px 8px;right:16px;margin-bottom:6px}}@media (max-width:480px){.editor-watermark{font-size:.55rem;padding:3px 6px;right:12px;margin-bottom:5px}}.panel-carousel-track{display:flex;width:200%;height:100%;transition:transform .3s cubic-bezier(.4, 0, .2, 1)}.panel-carousel-track.slide-to-results{transform:translateX(-50%)}.panel-slide{width:50%;height:100%;position:relative;overflow-y:auto}.results-slide{background:var(--bg);overflow-y:auto}.attempts-carousel{padding:16px 40px}.attempts-carousel.hidden{display:none}.attempts-carousel.disabled{opacity:.5;pointer-events:none}.attempts-carousel-inner{display:flex;flex-direction:column;gap:12px}.attempts-header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.attempts-title{font-size:1rem;font-weight:600;color:var(--text)}.attempts-hint{font-size:.9rem;color:var(--text-secondary)}.attempts-pills{display:flex;gap:10px;overflow-x:auto;overflow-y:visible;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;--fade-size:20px;padding:8px var(--fade-size);margin:0 calc(var(--fade-size) * -1);mask-image:linear-gradient(to right,transparent,black var(--fade-size),black calc(100% - var(--fade-size)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,black var(--fade-size),black calc(100% - var(--fade-size)),transparent)}.attempts-pills::-webkit-scrollbar{display:none}.attempt-pill{position:relative;flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:16px 24px;min-width:120px;background:var(--bg);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 3px -1px rgba(0,0,0,.1),0 1px 0 0 rgba(25,28,33,.02),0 0 0 1px rgba(25,28,33,.08)}[data-theme=dark] .attempt-pill{box-shadow:0 2px 4px -1px rgba(0,0,0,.3),0 1px 0 0 rgba(255,255,255,.03),0 0 0 1px rgba(255,255,255,.08)}.attempt-pill:hover{transform:translateY(-2px);box-shadow:0 4px 8px -2px rgba(0,0,0,.15),0 2px 4px 0 rgba(25,28,33,.05),0 0 0 1px rgba(25,28,33,.1)}[data-theme=dark] .attempt-pill:hover{box-shadow:0 4px 12px -2px rgba(0,0,0,.4),0 2px 4px 0 rgba(255,255,255,.02),0 0 0 1px rgba(255,255,255,.12)}.attempt-pill.active::after{content:'';position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:var(--primary);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.75l6 6 9-13.5'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}.attempt-pill.active{transform:translateY(-1px);box-shadow:0 2px 3px -1px rgba(0,0,0,.1),0 1px 0 0 rgba(25,28,33,.02),0 0 0 2px var(--primary)}[data-theme=dark] .attempt-pill.active{box-shadow:0 2px 4px -1px rgba(0,0,0,.3),0 1px 0 0 rgba(255,255,255,.03),0 0 0 2px var(--primary)}.attempt-pill-datetime{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.attempt-pill-score-row{display:flex;align-items:center;gap:8px}.attempt-pill-score{font-size:1rem;font-weight:700;color:var(--text)}.attempt-pill-percentage{font-size:.85rem;font-weight:600;padding:3px 8px;border-radius:4px}.attempt-pill.good .attempt-pill-percentage{background:rgba(22,163,74,.15);color:#16a34a}.attempt-pill.okay .attempt-pill-percentage{background:rgba(202,138,4,.15);color:#ca8a04}.attempt-pill.needs-work .attempt-pill-percentage{background:rgba(220,38,38,.15);color:#dc2626}[data-theme=dark] .attempt-pill.good .attempt-pill-percentage{background:rgba(34,197,94,.2);color:#22c55e}[data-theme=dark] .attempt-pill.okay .attempt-pill-percentage{background:rgba(234,179,8,.2);color:#eab308}[data-theme=dark] .attempt-pill.needs-work .attempt-pill-percentage{background:rgba(239,68,68,.2);color:#ef4444}.grading-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:24px}.grading-loader.hidden{display:none}.loader-icon-wrapper{position:relative;width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg in oklab,#6366f1 0,#8b5cf6 50%,#a855f7 100%);background-size:200% 200%;animation:gradientShift 3s ease infinite;box-shadow:0 8px 32px rgba(99,102,241,.3);display:flex;align-items:center;justify-content:center}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.loader-icon{position:absolute;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .4s ease,transform .4s ease}.loader-icon.active{opacity:1;transform:scale(1)}.loader-icon svg{width:40px;height:40px;color:#fff}.loader-icon-wrapper[data-step="0"]{background:linear-gradient(135deg in oklab,#6366f1 0,#8b5cf6 100%)}.loader-icon-wrapper[data-step="1"]{background:linear-gradient(135deg in oklab,#8b5cf6 0,#a855f7 100%)}.loader-icon-wrapper[data-step="2"]{background:linear-gradient(135deg in oklab,#a855f7 0,#d946ef 100%)}.loader-icon-wrapper[data-step="3"]{background:linear-gradient(135deg in oklab,#f59e0b 0,#f97316 100%)}.loader-icon-wrapper[data-step="4"]{background:linear-gradient(135deg in oklab,#14b8a6 0,#06b6d4 100%)}.loader-icon-wrapper[data-step="5"]{background:linear-gradient(135deg in oklab,#22c55e 0,#10b981 100%)}.loader-icon-wrapper[data-step="6"]{background:linear-gradient(135deg in oklab,#3b82f6 0,#6366f1 100%)}.loader-message{font-size:1rem;font-weight:500;color:var(--text);text-align:center;min-height:1.5em}.answer-preview-modal{position:fixed;inset:0;z-index:13000;display:flex;align-items:center;justify-content:center}.answer-preview-modal.hidden{display:none}.answer-preview-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.answer-preview-content{position:relative;width:90%;max-width:700px;max-height:80vh;background:var(--bg);border-radius:16px;box-shadow:var(--shadow-popup);display:flex;flex-direction:column;overflow:hidden}.answer-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.answer-preview-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.answer-preview-actions{display:flex;align-items:center;gap:8px}.close-preview-btn,.copy-answer-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .15s ease}.copy-answer-btn{background:var(--primary);color:#fff}.copy-answer-btn:hover{background:var(--primary-hover)}.close-preview-btn svg,.copy-answer-btn svg{width:16px;height:16px}.close-preview-btn{background:var(--bg);color:var(--text-secondary);padding:8px}.close-preview-btn:hover{background:var(--bg-tertiary);color:var(--text)}.answer-preview-body{flex:1;overflow-y:auto;padding:20px}.answer-preview-body .preview-block{margin-bottom:12px}.answer-preview-body .preview-block p{margin:0;line-height:1.6;color:var(--text)}.answer-preview-body .preview-block img{max-width:100%;border-radius:8px}.answer-preview-body .preview-block pre{background:var(--bg-secondary);padding:12px;border-radius:8px;overflow-x:auto;font-family:monospace;font-size:.9rem}.answer-preview-body .preview-block.math-block{padding:12px;background:var(--bg-secondary);border-radius:8px;text-align:center}.results-content{padding:20px 40px}.results-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:.95rem}.confirm-modal{display:none;position:fixed;inset:0;z-index:12000;align-items:center;justify-content:center}.confirm-modal.show{display:flex}.confirm-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-modal-content{position:relative;background:var(--bg);border-radius:16px;padding:28px 32px;max-width:420px;width:90%;text-align:center;box-shadow:var(--shadow-popup);animation:modalSlideIn .25s ease-out}@keyframes modalSlideIn{from{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg in oklab,var(--primary) 0,#6366f1 100%);display:flex;align-items:center;justify-content:center}.confirm-modal-icon svg{width:28px;height:28px;color:#fff}.confirm-modal-title{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 12px}.confirm-modal-text{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin:0 0 8px}.confirm-modal-subtext{font-size:.8rem;color:var(--text-muted);margin:0 0 16px}.confirm-modal-notice{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary);background:rgba(245,158,11,.1);padding:6px 12px;border-radius:6px;margin:0 0 20px}.confirm-modal-notice svg{width:14px;height:14px;color:#f59e0b;flex-shrink:0}.confirm-modal-actions{display:flex;gap:12px;justify-content:center}.confirm-modal-btn{padding:12px 24px;border-radius:50px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none;display:flex;align-items:center;gap:6px}.confirm-modal-btn.secondary{background:var(--bg-secondary);color:var(--text-secondary)}.confirm-modal-btn.secondary:hover{background:var(--bg-tertiary);color:var(--text)}.confirm-modal-btn.primary{background:linear-gradient(135deg in oklab,var(--primary) 0,#6366f1 100%);color:#fff}.confirm-modal-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(99,102,241,.4)}.confirm-modal-btn.primary svg{width:16px;height:16px}[data-theme=dark] .confirm-modal-content{background:var(--bg-secondary)}.grading-scope-selector{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.scope-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;border:2px solid var(--border);background:var(--bg);cursor:pointer;transition:all .15s ease;text-align:left}.scope-option:hover{border-color:var(--text-muted)}.scope-option.selected{border-color:var(--primary);background:rgba(99,102,241,.05)}.scope-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;margin-top:2px;position:relative;transition:all .15s ease}.scope-option.selected .scope-radio{border-color:var(--primary);background:var(--primary)}.scope-option.selected .scope-radio::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#fff}.scope-content{display:flex;flex-direction:column;gap:2px}.scope-title{font-size:.95rem;font-weight:600;color:var(--text)}.scope-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}[data-theme=dark] .scope-option{background:var(--bg-tertiary)}[data-theme=dark] .scope-option.selected{background:rgba(99,102,241,.1)}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out forwards}.results-section-title{display:flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 16px 0}.results-section-title .section-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex-shrink:0}.results-section-title svg{width:20px;height:20px;flex-shrink:0;stroke-width:2}.results-rubric .results-section-title .section-icon{background:rgba(99,102,241,.1)}.results-rubric .results-section-title svg{color:var(--primary)}.results-strengths .results-section-title .section-icon{background:rgba(34,197,94,.1)}.results-strengths .results-section-title svg{color:#22c55e}.results-improvements .results-section-title .section-icon{background:rgba(245,158,11,.1)}.results-improvements .results-section-title svg{color:#f59e0b}.results-summary .results-section-title .section-icon{background:rgba(99,102,241,.1)}.results-summary .results-section-title svg{color:var(--primary)}.results-improvements,.results-rubric,.results-strengths,.results-summary{opacity:0;margin-bottom:24px;transition:opacity .3s ease}.results-improvements.visible,.results-rubric.visible,.results-strengths.visible,.results-summary.visible{opacity:1}.results-score{margin-bottom:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.score-display{display:inline-flex;align-items:baseline;gap:8px}.score-fraction{display:flex;align-items:baseline;gap:4px}.score-earned{font-size:3rem;font-weight:700;color:var(--text)}.score-divider{font-size:2rem;color:var(--text-secondary)}.score-possible{font-size:2rem;font-weight:600;color:var(--text-secondary)}.rubric-items{display:flex;flex-direction:column;gap:12px}.rubric-item{padding:16px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border)}.rubric-item.earned{border-left:4px solid #22c55e}.rubric-item.not-earned{border-left:4px solid #ef4444}.rubric-item-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.rubric-status{font-size:1rem;min-width:20px;text-align:center}.rubric-points.hidden,.rubric-status.hidden{opacity:0;visibility:hidden}.rubric-item.earned .rubric-status{color:#22c55e}.rubric-item.not-earned .rubric-status{color:#ef4444}.rubric-label{font-weight:600;color:var(--text);font-size:1rem}.rubric-points{margin-left:auto;font-weight:700;font-size:1rem;padding:4px 10px;border-radius:6px;background:var(--bg-tertiary)}.rubric-item.earned .rubric-points{color:#22c55e;background:rgba(34,197,94,.1)}.rubric-item.not-earned .rubric-points{color:#ef4444;background:rgba(239,68,68,.1)}.rubric-criterion{font-size:1rem;color:var(--text);margin-bottom:8px;font-weight:500}.rubric-reasoning{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.results-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.results-list-item{padding:12px 16px;background:var(--bg-secondary);border-radius:8px;font-size:1rem;color:var(--text);line-height:1.6}.results-strengths .results-list-item{border-left:3px solid #22c55e}.results-improvements .results-list-item{border-left:3px solid #f59e0b}.summary-text{font-size:1rem;color:var(--text);line-height:1.6;margin:0}.results-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.results-error-notice{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(250,204,21,.1);border:1px solid rgba(250,204,21,.3);border-radius:8px;font-size:.85rem;color:#ca8a04}.view-answer-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:60px;background:0 0;color:var(--primary);font-size:1rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease}.view-answer-btn:hover{background:rgba(37,99,235,.1)}.view-answer-btn svg{width:16px;height:16px}.rubric-item.streaming{border-left-color:var(--primary)}#summary-text.streaming::after,.results-list-item.streaming::after,.rubric-criterion.streaming::after,.rubric-reasoning.streaming::after{content:'|';animation:blink .7s infinite;color:var(--primary);font-weight:400;margin-left:1px}@keyframes blink{0%,50%{opacity:1}100%,51%{opacity:0}}@media (max-width:768px){.attempts-carousel{padding:16px 20px}.score-earned{font-size:2.5rem}.score-divider,.score-possible{font-size:1.5rem}.rubric-item{padding:12px}.rubric-criterion,.rubric-reasoning{font-size:.85rem}}@media (min-width:1024px){.rubric-items{flex-direction:row;flex-wrap:wrap}.rubric-item{flex:0 0 calc(50% - 6px)}.results-strengths-improvements-row{display:flex;gap:24px}.results-strengths-improvements-row .results-improvements,.results-strengths-improvements-row .results-strengths{flex:1;min-width:0}.summary-text{max-width:69%;text-wrap:pretty}}.grade-btn,.split-view-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 10px;border-radius:10px;cursor:pointer}.split-view-btn{background:linear-gradient(90deg,rgba(37,99,235,.7) 50%,rgba(22,163,74,.7) 50%);border:none;color:var(--text);position:relative}[data-theme=dark] .split-view-btn{background:linear-gradient(90deg,rgba(59,130,246,.7) 50%,rgba(34,197,94,.7) 50%)}.split-view-btn::before{content:'';position:absolute;inset:0;border-radius:10px;padding:1px;background:linear-gradient(90deg,var(--primary) 50%,var(--success) 50%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.grade-btn{background:radial-gradient(circle at 20% 80%,#f97316 0,transparent 50%),radial-gradient(circle at 80% 20%,#a855f7 0,transparent 50%),radial-gradient(circle at 40% 40%,#8b5cf6 0,transparent 50%),radial-gradient(circle at 60% 60%,#6366f1 0,transparent 50%),radial-gradient(circle at 90% 90%,#3b82f6 0,transparent 50%),radial-gradient(circle at 10% 10%,#14b8a6 0,transparent 50%),radial-gradient(circle at 50% 90%,#f59e0b 0,transparent 50%),linear-gradient(135deg in oklab,#f97316,#a855f7,#6366f1,#3b82f6);background-size:200% 200%;animation:lava-swirl 12s ease-in-out infinite;animation-play-state:paused;border:none;color:#fff;box-shadow:0 2px 8px rgba(236,72,153,.3)}.subject-card.expanded .grade-btn{animation-play-state:running}@media (max-width:1024px){.grade-btn{animation:none;background:linear-gradient(135deg in oklab,#f97316,#a855f7,#6366f1,#3b82f6);background-size:100% 100%}}@keyframes lava-swirl{0%{background-position:0 0}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}100%{background-position:0 0}}.grade-btn:disabled{opacity:.4;cursor:not-allowed}.grade-btn svg,.split-view-btn svg{width:22px;height:22px}.grade-btn .btn-tooltip,.split-view-btn .btn-tooltip{position:absolute;top:-32px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:5px 10px;border-radius:5px;font-size:.75rem;font-weight:600;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;will-change:opacity,visibility;contain:layout style}.grade-btn .btn-tooltip::before,.split-view-btn .btn-tooltip::before{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:var(--text)}.grade-btn:hover:not(:disabled) .btn-tooltip,.split-view-btn:hover .btn-tooltip{opacity:1;visibility:visible}@media (hover:none) and (pointer:coarse){.grade-btn .btn-tooltip,.split-view-btn .btn-tooltip{display:none!important}}@media (max-width:900px){.split-view-btn{display:none!important}}@media (max-width:1024px){.annotation-pill{padding:4px;gap:2px}.annotation-pill .tool-btn{width:32px;height:32px}.tool-slider{width:32px;height:32px}.header-view-controls .view-btn span{display:none}.header-view-controls{flex-wrap:wrap;gap:6px}.header-view-controls .nav-btn{width:32px;height:32px;min-width:32px}.canvas-container.booklet-view .canvas-page-wrapper{flex:0 0 100%;max-width:100%}}@media (max-width:768px){#view-mode-booklet,#view-mode-scroll,.header-view-controls>.header-divider{display:none!important}#annotation-toggle{display:none!important}.annotation-pill{display:none!important}.grading-modal-content{width:100%;height:100%;border-radius:0}.grading-modal-header{flex-wrap:nowrap;gap:8px;padding:10px 12px}.grading-modal-header h3{font-size:.85rem;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.grading-modal-close{width:32px;height:32px;flex-shrink:0}.header-view-controls{justify-content:center;flex-wrap:nowrap;gap:2px;padding:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.header-view-controls .view-btn{padding:4px 8px;min-width:32px;height:32px}.header-view-controls .nav-btn{width:38px;height:38px;min-width:38px}.header-view-controls .zoom-level{font-size:.7rem;min-width:36px}.header-view-controls .header-divider{margin:0 4px;height:20px}.annotation-pill{flex-wrap:wrap;border-radius:20px;gap:4px;padding:8px;justify-content:center;top:8px}.annotation-pill .pill-divider{display:none}.annotation-pill .tool-btn{width:40px;height:40px}.annotation-pill .tool-btn svg{width:20px;height:20px}.tool-slider{width:40px;height:40px}.floating-actions{top:12px;right:12px;gap:8px}.floating-action-btn{padding:10px 16px;font-size:.8rem;border-radius:50px}.floating-action-btn svg{width:16px;height:16px}.annotation-pill .tool-btn[data-tooltip]::after{display:none}.panel-tabs{padding:10px 16px 6px}.panel-tab{padding:6px 12px;font-size:.8rem}.results-content{padding:16px 20px}}.annotation-clear-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:12000;display:flex;align-items:center;justify-content:center;pointer-events:none;visibility:hidden}.annotation-clear-modal.visible{pointer-events:auto;visibility:visible}.clear-modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .2s ease}.annotation-clear-modal.visible .clear-modal-backdrop{opacity:1}.clear-modal-content{position:relative;background:var(--bg);padding:24px;border-radius:12px;min-width:280px;text-align:center;box-shadow:var(--shadow-popup);opacity:0;transform:scale(.9);transition:opacity .2s ease,transform .2s ease}.annotation-clear-modal.visible .clear-modal-content{opacity:1;transform:scale(1)}.clear-modal-content h3{margin:0 0 8px 0;font-size:18px;color:var(--text)}.clear-modal-content p{margin:0 0 20px 0;color:var(--text-secondary);font-size:14px}.clear-modal-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.annotation-clear-modal .clear-btn{padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;outline:0;-webkit-tap-highlight-color:transparent;transition:background .2s,transform .1s}.annotation-clear-modal .clear-btn:focus{outline:0}.annotation-clear-modal .clear-btn:active{transform:scale(.98)}.annotation-clear-modal .clear-btn.clear-page{background:#ff6b6b;color:#fff}.annotation-clear-modal .clear-btn.clear-page:hover{background:#ee5a5a}.annotation-clear-modal .clear-btn.clear-all{background:#dc3545;color:#fff}.annotation-clear-modal .clear-btn.clear-all:hover{background:#c82333}.annotation-clear-modal .clear-btn.cancel{background:#e9ecef;color:#495057;width:100%}.annotation-clear-modal .clear-btn.cancel:hover{background:#dee2e6}.grading-error-popup{position:fixed;top:0;left:0;width:100%;height:100%;z-index:15000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.grading-error-popup.show{opacity:1}.grading-error-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.grading-error-content{position:relative;background:var(--bg);border:none;border-radius:16px;padding:32px;max-width:420px;width:90%;text-align:center;box-shadow:var(--shadow-popup);transform:scale(.9);transition:transform .2s ease}.grading-error-popup.show .grading-error-content{transform:scale(1)}.grading-error-icon{font-size:48px;margin-bottom:16px}.grading-error-content h3{margin:0 0 12px;font-size:20px;color:var(--text,#fff)}.grading-error-content p{margin:0 0 8px;font-size:14px;color:var(--text-secondary,#aaa);line-height:1.5}.grading-error-hint{font-size:13px!important;opacity:.7;margin-top:12px!important}.grading-error-actions{display:flex;gap:12px;margin-top:24px}.grading-error-actions button{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.grading-error-retry{background:var(--accent,#6c5ce7);color:#fff}.grading-error-retry:hover{background:var(--accent-hover,#5b4cdb);transform:translateY(-1px)}.grading-error-dismiss{background:var(--bg-secondary,#2a2a3e);color:var(--text,#fff)}.grading-error-dismiss:hover{background:var(--bg-tertiary,#3a3a4e)}.results-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--border,rgba(255,255,255,.1))}.results-action-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.results-action-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.results-action-btn svg{width:18px;height:18px}.view-score-btn{background:var(--bg-secondary,#2a2a3e);color:var(--text,#fff)}.view-score-btn:hover{background:var(--bg-tertiary,#3a3a4e);transform:translateY(-1px)}.regrade-btn{background:var(--accent,#6c5ce7);color:#fff}.regrade-btn:hover{background:var(--accent-hover,#5b4cdb);transform:translateY(-1px)}.results-stats-footer{margin-top:16px;text-align:center;font-size:12px;color:var(--text-secondary,rgba(255,255,255,.5));letter-spacing:.02em}.support-compact{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;padding:12px 16px;padding-left:40px;margin:25px 0;background:var(--bg-secondary);border-left:3px solid var(--primary)}.support-compact-text{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.support-compact-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 0;border:none;border-radius:60px;background:0 0;color:var(--primary);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,padding .15s ease}.support-compact-btn:hover{background:rgba(37,99,235,.1);padding:8px 16px}.support-compact-btn svg{width:16px;height:16px}@media (max-width:768px){.support-compact{flex-direction:column;align-items:flex-start;gap:8px}}